Key changes
🎨UI Refresh
The new UI refresh is now enabled by default and no configuration needed to enable it.
🌐New Chain Support
HyperEVM -> Mainnet support
Mezo -> Mainnet support
XRPL-EVM -> Mainnet support
Fogo -> Testnet support
💱Same-Chain Swaps
Support for same chain swaps - users can now select the same chain for source and destination for Solana and Evm chains.
🔄Sui NTT Integration
Native Token Transfer (NTT) support for Sui chains is now available.
⚠️Breaking Changes
The Portico route (ETH liquidity bridge) has been removed. For integrators using this route, please switch to the Mayan routes. Migration Required:
// Before (will no longer work)
const config = {
routes: [AutomaticPorticoRoute, cctpExecutorRoute, MayanRoute]
};
// After - Remove portico from your routes
const config = {
routes: [cctpExecutorRoute, MayanRoute]
};
If you were relying on Portico for specific transfers, you'll need to switch to alternative routes like Mayan.
What's Changed
- feat: added Fogo testnet by @kev1n-peters in #3630
- chore: Remove Portico route by @tonyjin in #3643
- UI refresh fixes by @emreboga in #3645
- fix: Prevent action for subsequent clicks on selected route by @emreboga in #3651
- fix: fogo token explorer url fix by @kev1n-peters in #3652
- update plume icons by @aapclark in #3649
- update jupiter link in readme by @aadam-10 in #3644
- feat: Add SeiEVM CCTPv2 support by @tonyjin in #3646
- fix: svm add simulation compute budget instruction last by @kev1n-peters in #3660
- Route badges redesign by @emreboga in #3658
- chore: Update SDK to v3.0.4 to fix missing SeiEVM block time by @tonyjin in #3665
- fix: Address issues after Connect UI refresh is integrated in Portal by @emreboga in #3666
- chore: Refactored getExplorerUrl to handle query params in baseUrl by @tonyjin in #3650
- feat: Do not show fastest/cheapest pills when no distinct fastest and cheapest routes by @emreboga in #3668
- Various fixes for Connect UI refresh by @emreboga in #3671
- fix: mayan referrer fee for solana by @priyajeet in #3669
- fix: Reset amount value when user changes source token by @emreboga in #3673
- fix: ensure tbtc routes are shown by @kyleleighton in #3675
- chore: force include manual tbtc when tbtc is involved by @kyleleighton in #3676
- fix: Routing text and eta alignment by @emreboga in #3677
- feat: support comma separators in the bridge amount input by @kyleleighton in #3663
- chore: bump ntt packages for more executor addresses to be included by @evgeniko in #3681
- Only apply spam filter on mainnet by @artursapek in #3657
- fix: mayan referrer fee for evm and sui by @priyajeet in #3678
- Fix min amt error by @artursapek in #3679
- chore: add commit linting with commitlint and commitizen by @DBosley in #3686
- chore: add comprehensive code quality checks by @DBosley in #3687
- chore: added Mezo mainnet rpc by @kev1n-peters in #3670
- fix: remove extra comma formatting from pre-formatted value by @kyleleighton in #3688
- Token loading time improvements by @artursapek in #3667
- feat: Allow same chain to be selected for mono chain swaps by @priyajeet in #3634
- fix: clear cached balances when making a transfer by @artursapek in #3691
- fix: mayan same chain errors by @priyajeet in #3692
- Fix ESLint React import warnings by @DBosley in #3694
- Addressing Design QA feedback by @emreboga in #3695
- chore: update @wormhole-foundation/sdk and related dependencies to version 3.2.0 by @DBosley in #3696
- fix: Adjust spacing for Routes section by @emreboga in #3699
- fix: Direct navigation to history view by @emreboga in #3700
- feat: add HyperEVM chain support by @DBosley in #3697
- fix: resolve dynamic chain support in RouteOperator by @DBosley in #3702
- fix: update Bridge memoization to reflect dynamic route changes by @DBosley in #3703
- chore: Add default for WORK_ROOT in sdkv2.js by @emreboga in #3707
- fix: add HyperEVM RPC endpoint to MAINNET config by @DBosley in #3701
- fix: Add Resume transaction link for v2 UI by @emreboga in #3709
- fix: Prevent request pile up for track calls by @emreboga in #3721
- fix: update Kaio explorer url & gitignore by @bradleyplaydon in #3708
- feat: Update vite.config.ts to ESM by @bradleyplaydon in #3717
- chore: bump sdk to 3.3.0 for aptos getOriginalAsset fix by @kev1n-peters in #3713
- chore: Add manual tBTC to V2 route by @kyleleighton in #3722
- chore: Add husky install script by @bradleyplaydon in #3723
- feat: Migrate Mayan route into Connect by @bradleyplaydon in #3718
- chore: add cctpv2 to connect by @kyleleighton in #3726
- Revert "chore: add cctpv2 to connect" by @kyleleighton in #3728
- Revert "feat: Migrate Mayan route into Connect (#3718)" by @bradleyplaydon in #3729
- feat: added wallet provider interface by @kev1n-peters in #3698
- feat: pull in Mayan route sdk by @bradleyplaydon in #3730
- fix: handle thrown error gracefully if a route throws by @priyajeet in #3735
- refactor: update error message for no routes found by @bradleyplaydon in #3732
- feat: bump @mayanfinance/swap-sdk to version 11.0.0 by @bradleyplaydon in #3737
- chore: update SDK version by @kyleleighton in #3738
- feat: add HyperEVM to mayan chainNameMap by @bradleyplaydon in #3739
- Sui NTT integration by @emreboga in #3720
- fix: resolve repeated USDC output amount warning by @kyleleighton in #3740
- fix: Disallow unsupported routes from popping up by @priyajeet in #3741
- feat: whitelist HYPE, wHYPE, USDT0 by @kyleleighton in #3743
- feat: Bump NTT SDK version to pick up latest changes by @emreboga in #3744
- fix: prevent high has fee alert flicker between value changes by @kyleleighton in #3745
- feat: Bump NTT SDK version to 2.0.2 by @emreboga in #3749
- feat: Add XRP Ledger testnet by @bradleyplaydon in #3733
- chore: sort routes by speed/ETA rather than price by @kyleleighton in #3748
- [Feat]: Add XRPL mainnet & bump NTT sdk to 2.0.3 by @bradleyplaydon in #3746
- chore: update SDK by @kyleleighton in #3750
- feat: Change Asset picker layout LTR to align with Monad designs by @emreboga in #3755
- fix: update copy for restricted wallets by @priyajeet in #3756
- Fix destination token search and filtering by @kyleleighton in #3747
- test: Migrate e2e tests to UI refresh changes by @emreboga in #3734
- fix: E2E tests by @emreboga in #3758
- chore: add WSOL to UNI source and rename to SOL by @kyleleighton in #3759
- Chore: Improve searching in V3 asset pickers and update tx display token name by @kyleleighton in #3762
- chore: show SOL instead of WSOL by @kyleleighton in #3763
- fix: mezo add chain fix by @kev1n-peters in #3764
- feat: Add Solana mobile wallet adapter by @emreboga in #3690
- chore: Cleanup vite config by @emreboga in #3768
- test: Add e2e tests for more routes by @emreboga in #3761
- fix: Update SDN list by @emreboga in #3769
- fix: UI polish per product feedback by @emreboga in #3767
- feat: group assets in selector by owned vs all by @kyleleighton in #3770
- feat: add new event type to WormholeConnectEventCore by @bradleyplaydon in #3754
- chore!: package.json updates by @priyajeet in #3774
- test: Remove MCTP test case as we will replace it with FAST_MCTP by @emreboga in #3773
- test: Add unit test for AmountInput by @emreboga in #3772
- chore: bump wallet aggregator evm by @bradleyplaydon in #3777
- chore: bump ts sdk by @bradleyplaydon in #3778
- feat: Enabling new UI by default by @emreboga in #3780
- chore: fix loading spinner jank in v3 asset picker by @kyleleighton in #3781
- github: Add screenshot callout to bug template by @aadam-10 in #3782
- chore: update ntt sdk by @bradleyplaydon in #3784
- fix: type imports by @priyajeet in #3785
- Globally Replace WSOL with SOL by @kyleleighton in #3786
- Add HyperEVM USDC support by @DBosley in #3788
- feat: update ntt sdk for mezo testnet executor by @priyajeet in #3789
- fix: terms of service by @priyajeet in #3791
- feat: Add wallet address to wallet.connect event by @emreboga in #3794
Full Changelog: https://github.com/wormhole-foundation/wormhole-connect/compare/production@3.1.0...production@4.0.0