Major Features
New Integrations & Routes
- LiFi route integration for expanded cross-chain bridging options
- Mayan Fast MCTP route with Linea support
- Fee offsetting support for Mayan, CCTP, NTT, and Token Bridge routes
- MTT (Multi-Token Transfers) transaction history support
Chain Support Expansion
- Added support for: Plume, Ink, Creditcoin, HyperCore, Monad (mainnet), Fogo (mainnet)
- Enhanced Solana integration including native token transfers to HyperCore
- Sui to HyperCore integration
UI/UX Improvements
- Complete redesign of Asset Picker with skeleton loaders and improved filtering
- New wallet selection modal with configurable wallet actions
- Light mode theme support
- Enhanced transaction history with chain filtering
- Route details display with provider information
- Improved responsive layouts and mobile views
Key Enhancements
Performance & Architecture
- Changed build output to ESM format
- Optimized token price fetching (lazy loading, on-demand)
- Improved balance indexers for new chains
- Better caching and context management
Wallet & Transaction Management
- Updated wallet aggregator SDK to 0.9.1
- Fixed Solana transaction signing and sending
- Better error messaging for declined transactions
- Improved insufficient gas/funds detection and messaging
Developer Features
- Configurable Terms of Service URL
- Customizable route sort priority
- Token and chain filtering options (source/destination specific)
- Theme override capabilities for forms
Notable Fixes
- Fixed Solana CCTPv2 redeem support
- Resolved double quoting in transaction initiation
- Fixed native gas toggle resetting on chain/token switches
- Corrected number formatting for international locales
- Fixed fee offsetting for same-chain swaps
SDK Updates
- Wormhole SDK: 3.8.7
- NTT SDK: 4.0.0
- Various chain-specific SDK updates for new integrations
Breaking Changes
- Removed v2 UI and all related components
- Disabled auto-connect for destination wallets
- Changed default gas drop-off behavior
List of all changes
- refactor: prepare for mayan route cleanup by @priyajeet in #3792
- chore: improve low gas balance message on Solana by @kyleleighton in #3796
- fix: solana CCTPv2 redeem support by @evan-gray in #3797
- fix: remove double quoting when initiating a transaction by @priyajeet in #3787
- feat: Update wallet aggregator sdk to 0.9.1 by @bradleyplaydon in #3801
- fix: findBySymbol not returning a token on multiple symbols by @bradleyplaydon in #3802
- feat: mayan fast mctp route with linea support by @priyajeet in #3793
- chore: change build lib to output library in esm by @priyajeet in #3771
- chore: fix padding in asset picker by @kyleleighton in #3806
- chore: update NTT sdk to 3.0.0 by @bradleyplaydon in #3803
- feat: Additional Fogo wallet support by @kev1n-peters in #3805
- feat: add Plume network support with SDK 3.6 and executor route 0.17 by @DBosley in #3813
- feat: add Plume Network CoinGecko support by @DBosley in #3815
- fix: the lingering quote after token switch by @emreboga in #3819
- chore: update ofac sdn list by @kev1n-peters in #3820
- feat: add Ink chain support by @DBosley in #3816
- fix: add CoinGecko ID for Ink native token (ETH) by @DBosley in #3821
- feat: Update sdkv2 script with new routes by @emreboga in #3818
- Integrate LiFi Route by @artursapek in #3642
- fix: fixed and refactored signAndSendTransaction on solana by @bradleyplaydon in #3812
- feat: Remove link icon from explorer URLs, left align by @kev1n-peters in #3826
- chore: update balance indexers for new chain by @priyajeet in #3828
- chore: Remove v2 UI and all related components by @emreboga in #3830
- fix: filter asset picker tokens by @kyleleighton in #3831
- Revert "fix: filter asset picker tokens" by @kyleleighton in #3832
- fix: filter asset picker tokens properly by @kyleleighton in #3833
- fix: resume aptos and sui native token transfers by @kev1n-peters in #3834
- feat: add sdk update script by @kyleleighton in #3836
- Update sdk to 3.8.5 by @kyleleighton in #3837
- feat: Add HyperCore by @kyleleighton in #3827
- chore: update Mui & fix issues from it by @bradleyplaydon in #3835
- feat: added configurable termsOfService url by @kev1n-peters in #3841
- feat: Asset picker design changes by @emreboga in #3839
- fix: Styling for chain icon and close and back icons is asset picker by @emreboga in #3845
- Add CreditCoin chain support by @DBosley in #3840
- feat: make LiFi route apiUrl and integrator ID configurable by @kev1n-peters in #3844
- fix: reset native gas toggle when switching chains or tokens by @priyajeet in #3848
- LiFi Tx History by @emreboga in #3825
- fix: swapping token not wiping nativeToken gas by @nascob in #3853
- feat: Fee offsetting for Mayan and Executor routes (CCTP, NTT, Token Bridge) by @emreboga in #3850
- fix: Addressing follow up items from Asset Picker design changes by @emreboga in #3856
- fix: Missing prop to calculate fee-offset for Mayan routes by @emreboga in #3855
- fix: Chain short list mobile view by @emreboga in #3854
- fix: Remove invalid WebSearch setting by @emreboga in #3857
- fix: Addressing UX follow up items by @emreboga in #3858
- feat: Center asset picker modal vertically by @emreboga in #3860
- fix: Chain list single row layout for 5 or fewer chains by @kev1n-peters in #3859
- feat: Add skeleton loader for Token List by @emreboga in #3861
- fix: Exclude same-chain swaps from fee-offsetting by @emreboga in #3862
- fix: Fee offsetting with max balance selection by @emreboga in #3864
- chore: update Creditcoin icons and bump SDK to 3.8.7 by @DBosley in #3863
- fix: standardize Creditcoin chain icon to 36x36 with rounded corners by @DBosley in #3866
- fix: remove WCTC token configuration from mainnet tokens list by @DBosley in #3867
- chore: update Creditcoin icon background color by @DBosley in #3868
- feat: Creditcoin gas estimate buffer by @kev1n-peters in #3865
- Update chain display names and NTT SDK packages by @DBosley in #3871
- fix: Filter frankenstein tokens in asset picker by @kev1n-peters in #3870
- feat: Show info message when user declines tx in wallet by @emreboga in #3873
- fix: Lazy load token prices only when asset picker is opened by @kev1n-peters in #3872
- fix: transaction history inconsistencies by @nascob in #3843
- Add SUI -> Hypercore integration by @nascob in #3869
- feat: do not eagerly fetch prices for tokens with no balance by @kev1n-peters in #3874
- feat: add route details by @nascob in #3842
- fix: bump NTT SDK for sui CoinMetadata fix by @kev1n-peters in #3875
- fix: eta should be aligned to the right fix by @kev1n-peters in #3876
- fix: Fee-offsetting diff should not be visible when disabled by @emreboga in #3877
- fix: clear WormholeV2 context cache on config update by @kev1n-peters in #3880
- fix: text size and pointer style by @nascob in #3878
- chore: Update README image by @tonyjin in #3882
- feat: Light mode theme for Connect by @emreboga in #3883
- chore: bump ntt sdk to 4.0.0 by @kev1n-peters in #3886
- fix: bump ntt sdk for solana 3.0.0 legacy transceiver idl fix by @kev1n-peters in #3888
- fix: Number formatting for different locales by @emreboga in #3887
- chore: bump lifi sdk, add monad chain mapping by @kev1n-peters in #3885
- chore: bump wallet agg sdk for monad mainnet support by @kev1n-peters in #3892
- fix: add referrer for mayan with 0 bps for tracking purposes by @priyajeet in #3890
- chore: bump cctp executor sdk for monad mainnet support by @kev1n-peters in #3893
- fix: properly externalize peer dependencies in minimal build by @DBosley in #3894
- enable gas drop off by default when recipient gas token by @kev1n-peters in #3889
- fix: Number formatting for intl locales by @emreboga in #3895
- fix: Update SDN list by @emreboga in #3896
- feat: Enable Solana routes to HyperCore by @nascob in #3849
- feat: monad bridge by @artursapek in #3725
- fix: Destination token sorting by @emreboga in #3891
- chore: bump ts-sdk and ntt-sdk by @kev1n-peters in #3897
- feat: Fogo mainnet support by @kev1n-peters in #3898
- feat: wallets in modal by @priyajeet in #3884
- chore: Remove FTM, wFTM & USDC.e from Fantom from default token config by @tonyjin in #3902
- chore: update sdn list by @priyajeet in #3903
- feat: allow filtering of tokens based on source or destination list by @priyajeet in #3901
- fix: Separate insufficient gas and funds error messaging by @emreboga in #3904
- chore: add Fogo WSOL wrapped address by @kev1n-peters in #3906
- fix: Number precision for large amounts by @emreboga in #3899
- feat: allow chain filtering in the UI based on source or destination by @priyajeet in #3905
- feat: disable auto gas dropoff by @kev1n-peters in #3907
- creditcoin lowercase in readme by @aadam-10 in #3915
- chore: add Ink Sepolia by @aapclark in #3913
- feat: include network in connect event meta by @kev1n-peters in #3912
- feat: Monad mainnet support by @kev1n-peters in #3916
- chore: bump ts and ntt sdks for monad mainnet executor gas limit incr… by @kev1n-peters in #3917
- fix: specify token chain when getting fee override by @kev1n-peters in #3918
- feat: allow theme overrides for form background and border by @priyajeet in #3921
- feat: add ability to hide wallet actions in the wallet drop down by @priyajeet in #3920
- feat: Add optional oppositeChain parameter to chain filtering handler by @kev1n-peters in #3922
- fix: updated args for indexers by @priyajeet in #3919
- chore: change header text for failed relay by @kev1n-peters in #3923
- fix: apply token whitelist to balance fetching requests by @kev1n-peters in #3924
- chore: bump ts and ntt sdks by @kev1n-peters in #3925
- chore: add missing usdt tokens for unichain and monad by @kev1n-peters in #3926
- feat: add AUSD tokens to built-in list by @kev1n-peters in #3927
- feat: Update Connect widths and improve insufficient gas error detection by @emreboga in #3928
- chore: bump track transfer polling interval to 3 seconds by @kev1n-peters in #3932
- feat: add transaction history chain filtering by @kev1n-peters in #3929
- feat: add new flags to disable token selectors by @priyajeet in #3930
- fix: more consistent layouts by @evan-gray in #3931
- chore: update CCTP transfer limit text by @kev1n-peters in #3935
- chore: use MonadVision explorer by @kev1n-peters in #3936
- chore: bump cctp package by @kev1n-peters in #3938
- feat: Add description for WalletConnect by @emreboga in #3933
- feat: Add spinner to MCA when transaction is in progress or fetching quotes by @emreboga in #3937
- feat: MTT tx history by @kev1n-peters in #3934
- feat: MON NTT support by @kev1n-peters in #3939
- feat: Add more parsing logic for gas/funds errors from Monad by @emreboga in #3941
- Configure default gas dropoff by @kev1n-peters in #3942
- fix: more consistent button styles by @evan-gray in #3944
- fix: Refunded transfer doesn't get cleared from in progress widget by @kev1n-peters in #3945
- chore: bump monad in chain order by @kev1n-peters in #3946
- feat: mayan monad support by @kev1n-peters in #3940
- fix: lifi tx history response may have missing fields by @kev1n-peters in #3947
- feat: show placeholder for no wallet connected by @priyajeet in #3948
- fix: remove uppercase styling by @priyajeet in #3949
- feat: wallet menu icons by @evan-gray in #3950
- chore: change lifi route provider text by @kev1n-peters in #3951
- feat: added routeSortPriority config by @kev1n-peters in #3952
- feat: remove auto connect destination wallet by @kev1n-peters in #3953
- chore: add WBTC on Monad by @kev1n-peters in #3954
- feat: better slippage exceeded error message by @kev1n-peters in #3955
New Contributors
Full Changelog: https://github.com/wormhole-foundation/wormhole-connect/compare/production@4.0.0...production@5.0.0