Releases: wormhole-foundation/native-token-transfers
v2.0.0+evm
What's Changed
- ci: Fix call didn't revert at a lower depth than cheatcode call depth forge error in EVM tests by @nvsriram in #591
- Tests and fixes when core bridge messageFee is > 0 by @fergarrui in #609
- [wip] NttOwner support by @elee1766 in #612
- Update INttToken.sol by @nik-suri in #653
- evm: fix test_transceiverIncompatibleNttManager by @kcsongor in #672
- feat: add WETH unwrap manager by @evan-gray in #722
- evm/test: fix broken end-to-end relayer test by @kev1n-peters in #734
- docs: Update and clarify invariants by @johnsaigle in #694
- Add CONTRIBUTING with security-relevant info by @johnsaigle in #765
- Foundry 1.5.0 Support by @dvgui in #748
- SR removal and CCL by @dvgui in #772
- Add EVM v2.0.0 SDK bindings by @dvgui in #816
New Contributors
Full Changelog: v1.2.0+evm...v2.0.0+evm
v1.7.0+cli
What's Changed
- solana: Add Cargo integration tests for standalone shim transceiver by @nvsriram in #728
- feat: add ink, bsc and polygon testnet nttWithExecutor by @douglasgalico in #736
- evm/ts: increase default MTT executor gas limit by @kev1n-peters in #738
- sdk: MTT - Remove Axelar gas fee fallback, throw on zero or error by @kev1n-peters in #743
- chore: update package-lock.json by @kev1n-peters in #746
- sdk: pin publish-ts-sdk job to node 24.11.0 by @kev1n-peters in #747
- docs: Update and clarify invariants by @johnsaigle in #694
- sui: gate executor destinations by platform by @martin0995 in #749
- sdk: monad transferETH and unwrapsOnRedeem support by @kev1n-peters in #751
- feat: add unichain sepolia - executor by @douglasgalico in #752
- cli: support deploying different EVM variants by @kcsongor in #750
- cli: add token transfer by @martin0995 in #732
- cli: add output message to init command and move example-overrides.json to root by @evgeniko in #754
- chore: bump ts sdk by @evan-gray in #759
- svm: build ntt the proper way on other svms by @kcsongor in #730
- Add CONTRIBUTING with security-relevant info by @johnsaigle in #765
- cli: remove chalk & ora deps and replace with minimal color utility by @evgeniko in #763
- feat: add megaeth nttWithExecutor by @douglasgalico in #753
- Foundry 1.5.0 Support by @dvgui in #748
- chore: update @wormhole-foundation/sdk packages to ^4.7.0 by @DBosley in #771
- cli: remove all SR related code by @evgeniko in #760
- cli: fix forge command RPC parsing & run prettier by @evgeniko in #767
- cli: improve error message when the configured wallet does not own the interacted ntt contracts by @evgeniko in #774
- cli: adjust the description for solana ata command by @evgeniko in #776
- chore(ci): optimize workflow performance with caching and path filters by @DBosley in #773
- chore(ci): remove conditional ci by @evan-gray in #782
- feat: add moca mainnet executor shim by @douglasgalico in #780
- cli: bump to 1.7.0 by @evgeniko in #777
- feat: add moca testnet ntt with executor address by @connorstake in #744
- cli: remove redundant ntt manual transfer command - token-transfer can be used instead by @evgeniko in #779
- cli: validation refactor by @evgeniko in #778
- chore(deps)(deps): bump actions/setup-node from 4 to 6 by @dependabot[bot] in #775
- feat: Solana should use createTransferCheckedInstruction by @kev1n-peters in #783
- chore(deps)(deps): bump actions/checkout from 5 to 6 by @dependabot[bot] in #770
- chore(deps)(deps): bump actions/cache from 3 to 5 by @dependabot[bot] in #768
- chore(deps)(deps): bump actions/cache from 4 to 5 by @dependabot[bot] in #785
- fix(ci): simplify CLI workflow to fix fork PR permissions by @DBosley in #787
- feat: migrate from npm to bun package manager by @DBosley in #766
- fix(ci): pin bun version and improve CLI install reliability by @DBosley in #789
- chore: bump ts sdk by @evgeniko in #786
- cli: prompt for Solana Mainnet RPC override during add-chain by @evgeniko in #791
- SR removal and CCL by @dvgui in #772
- cli: bump to 1.8.0 by @evgeniko in #793
- revert 1.8.0 bump, cause 1.7.0 was never released by @evgeniko in #795
New Contributors
- @douglasgalico made their first contribution in #736
- @martin0995 made their first contribution in #749
- @dependabot[bot] made their first contribution in #775
Full Changelog: v1.6.0+cli...v1.7.0+cli
v1.6.0+cli
What's Changed
- feat: add --gas-estimamte-multiplier option to push command of the CLI by @evgeniko in #710
- feat: set CreditCoin gas limit to 1.5M by @kev1n-peters in #712
dockerfile: pin bun for cli by @evan-gray in #713 - sdk/sui: fix for rpc returning Currency instead of CoinMedata by @kev1n-peters in #714
- format: Configure Prettier for all workspaces by @nvsriram in #650
- ci: Update workflows to Node 24 and enable OIDC publishing by @DBosley in #716
- cli: remove unnecessary sui package dependency by @kev1n-peters in #717
- sdk: Add svmShims to Ntt.Contracts to configure Wormhole Shims by @nvsriram in #718
- cli: improve RPC error detection by @evgeniko in #720
- sdk: multi-token-ntt protocol support by @kev1n-peters in #674
- sdk/solana: use pre-shim ntt-transceiver IDL when svmShims is not set by @kev1n-peters in #723
- cli: add generic & sui specific error handling by @evgeniko in #721
- cli: add Solana Wormhole transceiver registration to the add-chain command by @evgeniko in #727
- sdk/ts: Fogo mainnet support by @kev1n-peters in #726
- sdk/ts: MTT executor route resume should check executor status by @kev1n-peters in #729
Sourcify Support for Monad by @dvgui in #731 - evm/test: fix broken end-to-end relayer test by @kev1n-peters in #734
- evm/ts: added monad mainnet addresses by @kev1n-peters in #733
- cli: bump to 1.6.0 by @nik-suri in #737
Full Changelog: v1.5.0+cli...v1.6.0+cli
v1.5.0+cli
What's Changed
- fix: Executor *transfer function should yield instead of return by @emreboga in #675
- sdk: Increase default Sui executor gas limit from 10M to 20M by @kev1n-peters in #677
- Add Sui NTT OtterSec audit report by @tonyjin in #678
- Fix splitCoins call for non-native tokens by @emreboga in #683
- Use borrow_inbox_item to retrieve inbox item by @emreboga in #685
- Feat: Add XRPLEVM testnet & mainnet NTT executors by @bradleyplaydon in #687
- ts sdk: 2.5.0 version bump by @evan-gray in #689
- Feature/blockscout verification by @aapclark in #690
- docs: add INVARIANTS.md to assist with security assessments by @johnsaigle in #684
- Fix: fixed seievm mainnet missing ntt executor by @bradleyplaydon in #696
- Mezo: add testnet NTT with executor address by @panoel in #701
- Chore: Bump ts sdk to latest version by @bradleyplaydon in #702
- feat: add ink nttManagerWithExecutorAddress by @connorstake in #705
- Bump ts sdk to latest version + add CreditCoin nttExecutor address by @evgeniko in #706
- bump ts-sdk to latest version for CreditCoin support by @evgeniko in #707
- Add --gas-estimate-multiplier option for EVM deployments by @DBosley in #708
- cli: version update by @dvgui in #709
New Contributors
- @emreboga made their first contribution in #675
- @bradleyplaydon made their first contribution in #687
- @connorstake made their first contribution in #705
- @DBosley made their first contribution in #708
- @dvgui made their first contribution in #709
Full Changelog: v1.4.0+cli...v1.5.0+cli
v1.4.0+cli
NTT CLI Release Highlights
- Adds support for Sui
- Adds
transfer-ownershipfunctionality for EVM deployments
What's Changed
- feat: add more testnet executor addresses by @CurtBryan in #661
- sdk: added ntt exec msgValue override by @kev1n-peters in #659
- add more evm testnet executor addresses by @evgeniko in #662
- add celo testnet executor address by @evgeniko in #664
- add HyperEVM deployment requirements and slow flag by @evgeniko in #665
- cli: fix mint authority check for locking mode by @evgeniko in #670
- add transfer ownership functionality for evm to the CLI by @evgeniko in #668
- evm: fix test_transceiverIncompatibleNttManager by @kcsongor in #672
- ntt: sui implementation by @kcsongor in #613
New Contributors
- @CurtBryan made their first contribution in #661
Full Changelog: v1.3.0+cli...v1.4.0+cli
v1.0.0+sui
This is the first NTT release for Sui 💧
v1.3.0+cli
NTT CLI Release Highlights
- Adds support for Mezo, Fogo, and Plume
- Perform deployments using the new Executor relaying system by default
- Fixes the
set-mint-authoritycommand - Adds more validation steps and better error logging when deploying to Solana
What's Changed
- Executor route by @kev1n-peters in #630
- docs: Update READMEs by @nvsriram in #631
- solana/ts/sdk: token 2022 get ATA fix by @kev1n-peters in #634
- ts/sdk: executor per token gas limit overrides by @kev1n-peters in #637
- [pipeline fix] Change test from chainId 6 to chainId 14 by @fergarrui in #640
- cli: add executor support by @kcsongor in #643
- cli: continue on clone error by @kcsongor in #644
- cli: check solana-cli version by @kcsongor in #645
- Fix nonce synchronization issues in EVM deployments by adding slow flag to forge by @evgeniko in #647
- Bump Wormhole TS SDK to version 2.4.0 by @aapclark in #651
- cli: Handle Solana initialization flow for undeployed program and SPL Multisig mint authority by @nvsriram in #649
- sdk: svm platform check by @kev1n-peters in #652
- Add mezo executor referrer contract by @priyajeet in #654
- Add Plume manager with executor address by @kev1n-peters in #655
- cli: make set-mint-authority a top-level command with chain parameter support by @evgeniko in #657
- set wormhole address in solana binary by patching it, to enable other SVM chains to work with the CLI by @evgeniko in #658
- bump cli version after new tagged release by @evgeniko in #660
New Contributors
- @aapclark made their first contribution in #651
- @priyajeet made their first contribution in #654
Full Changelog: v1.2.0+cli...v1.3.0+cli
v3.0.0+solana
v3.0.0+solana adds several new features to the NTT Solana implementation:
- Solana Multi-Transceiver support
- SPL Multisig support
- Ability to transfer mint authority after deployment
- Ability to update peers
- Smaller enhancements & optimizations
The Solana smart contracts for this release were audited by Ottersec. The reports can be found here:
- https://github.com/wormhole-foundation/wormhole-audits/blob/main/2025-04-18-wormhole-ottersec-ntt-v3.pdf
- https://github.com/wormhole-foundation/wormhole-audits/blob/main/2025-05-05-wormhole-ottersec-ntt-v3-solana.pdf
What's Changed
- solana: Multi Transceiver Support by @nvsriram in #528
- solana: make peers upgradable by @evgeniko in #559
- solana: Allow transferring mint authority by @nvsriram in #570
- solana: Add SPL multisig support by @nvsriram in #568
- solana: Handle transferring mint authority using SPL Multisig by @nvsriram in #587
- solana: Add
set_thresholdix by @nvsriram in #589 - solana: Update documentation for v3.0.0 changes by @nvsriram in #592
- solana: Remove
*_multisiginstruction variants by @nvsriram in #593 - solana: Fix rate limit reset on peer upgrade by @nvsriram in #607
- solana: Make
initialize_lutinstruction permissioned byownerby @nvsriram in #608 - solana: Skip upgrade authority CPI if current owner is
upgrade_lockby @nvsriram in #617 - solana: Have
written_sizematch actual size written forTransceiverMessage,WormholeTransceiverInfo, andWormholeTransceiverRegistrationby @nvsriram in #621 - solana: Prevent
rent_payerfrom being overwritten in consecutiveset_token_authoritycalls by @nvsriram in #614 - solana: Remove unused
transceiveraccount inDeregisterTransceiverstruct by @nvsriram in #616 - solana: Ensure
SetPeerArgs.chain_id != config.chain_idinset_peerby @nvsriram in #615
Full Changelog: v2.1.0+solana...v3.0.0+solana
v1.2.0+cli
This minor CLI release adds support for NTT v3.0.0+solana, which includes SPL Multisig and Multi-transceiver support, among other improvements.
What's Changed
- bump @solana/web3.js to ^1.95.8 by @kev1n-peters in #571
- sdk: automatic route is available fix by @kev1n-peters in #569
- cli: use finalized commitment level for solana program deploy by @evan-gray in #574
- sdk: evm - support gas token transfers by @kev1n-peters in #601
- sdk: solana - support gas token transfers by @kev1n-peters in #603
- solana: Bump Solana CLI version to
1.18.26by @nvsriram in #599 - bump wormhole-sdk version and fix failing CI by @evgeniko in #606
- Tests and fixes when core bridge messageFee is > 0 by @fergarrui in #609
- ci: Use
release.anza.xyzinstead ofrelease.solana.comto install Solana CLI by @nvsriram in #619 - bump CLI version for release by @fergarrui in #625
- [wip] NttOwner support by @elee1766 in #612
- cli: Add commands to create valid SPL Multisig and set mint authority by @nvsriram in #628
New Contributors
- @fergarrui made their first contribution in #609
- @elee1766 made their first contribution in #612
Full Changelog: v1.1.0+cli...v1.2.0+cli
v1.2.0+evm
In addition to QoL improvements, this release adds support for including a custom payload with NTT transfers. The custom payload can be set on the source chain by overriding _prepareNativeTokenTransfer, and can be handled on the destination chain via _handleMsg and/or _handleAdditionalPayload.
NOTE: Using these new hooks requires writing custom code, which should undergo a thorough security review + audits.
What's Changed
- evm: adding contract verification to forge deploy scripts by @jtfirek in #461
- evm: More minor natspec improvements by @djb15 in #495
- evm: add additional natspec in ManagerBase.sol by @nik-suri in #494
- evm: forge fmt by @kcsongor in #505
- EVM: NttManagerNoRateLimiting implementation by @bruce-riley in #520
- evm: TransferSent(bytes32), fixes #503 by @evan-gray in #525
- NativeTokenTransfer additional payload by @evan-gray in #522
- evm: update _prepareNativeTokenTransfer params by @evan-gray in #536
- evm: Add indexing in TransferSent event by @nvsriram in #547
- evm: Emit events when updating inbound and outbound limits by @nvsriram in #546
- evm: pass consistencyLevel to WormholeRelayer during send by @0xIryna in #538
New Contributors
- @jtfirek made their first contribution in #460
- @bruce-riley made their first contribution in #520
- @artursapek made their first contribution in #544
- @jooohneth made their first contribution in #552
- @0xIryna made their first contribution in #538
Full Changelog: v1.1.0+evm...v1.2.0+evm