Context
Portals is enabled in the public API and returns rates, but the widget discards them. SwapperName.Portals is commented out of the widget's own enum (packages/swap-widget/src/types/index.ts:42-57), and useSwapRates.ts:58-62 filters every API response through new Set(Object.values(SwapperName)).
No capability gap: Portals emits evm tx data, already handled by useSwapExecution. This is a staging decision from 4c28f7fbbc (#12317), not a technical block.
Work
- Uncomment
Portals = 'Portals' in the widget's SwapperName enum
- Verify execution end to end on an EVM route
- Confirm approval handling works — Portals routes are ERC20-heavy, so this exercises the approval path harder than the currently-enabled swappers
Context
Portals is enabled in the public API and returns rates, but the widget discards them.
SwapperName.Portalsis commented out of the widget's own enum (packages/swap-widget/src/types/index.ts:42-57), anduseSwapRates.ts:58-62filters every API response throughnew Set(Object.values(SwapperName)).No capability gap: Portals emits
evmtx data, already handled byuseSwapExecution. This is a staging decision from4c28f7fbbc(#12317), not a technical block.Work
Portals = 'Portals'in the widget'sSwapperNameenum