Releases: smartcontractkit/ccip-tools-ts
Releases · smartcontractkit/ccip-tools-ts
v0.95.0 - Major refactoring beta.5
PRs
- feat: add Chain.getBalance() for token balance queries by @aelmanaa in #99
- Fix generateUnsignedExecuteReport for solana by @marek-sadura in #109
- Add token transfer documentation to SDK docs by @aelmanaa in #110
- Expose message retrieval by ID or TxHash (API) by @PabloMansanet in #97
- SDK: fix EVM estimate gas for token transfers with balance slot!=0 by @andrevmatos in #114
- improve estimateReceiveExecution options by @andrevmatos in #115
- Enable Sui -> Any manual exec by @RodrigoAD in #107
- adapt commands cli by @aelmanaa in #116
- Fallback to API with retries for
getMessagesInTxby @PabloMansanet in #112 - Add Sui getTokenForTokenPool by @RodrigoAD in #118
- Sui: working
show, improve events fetching by @andrevmatos in #117
Changelog
- SDK:
Chain.getBalance()method for querying native and token balances (EVM, Solana, Aptos) - SDK: Solana
resolveATA()utility for ATA derivation with automatic SPL Token vs Token-2022 detection - CLI:
tokencommand for balance queries - SDK: fix EVM estimate gas for token transfers with balance slot!=0 (e.g. USDC)
- SDK: Add
NetworkTypeenum ('MAINNET' | 'TESTNET') andnetworkTypeproperty toNetworkInfo, in place ofisTestnetboolean - SDK: Selector generation scripts now validate
network_typepresence from upstream chain-selectors - CLI: Breaking:
send,getSupportedTokens, andtokencommands now use named arguments instead of positional (e.g.,send -s <source> -d <dest> -r <router>) - CLI: Breaking:
-ralias removed from global--rpcsoption (use--rpcinstead);-rnow used for--routerinsendcommand
Full Changelog: v0.94.0...v0.95.0
v0.94.0 - Major refactoring beta.4
What's Changed
- add cross-platform browser compatibility by @aelmanaa in #95
- Fix from Sui extra args by @RodrigoAD in #103
- implement Chain.buildMessageForDest and allow partial extraArgs by @andrevmatos in #102
- Rename RequestMessage by @PabloMansanet in #105
- Add missing dependencies by @PabloMansanet in #106
Changelog
- SDK: Browser compatibility - explicit
bufferdependency and imports for cross-platform support - CI: Added
publintand@arethetypeswrong/clivalidation for package exports - ESLint:
import/no-nodejs-modulesrule prevents Node.js-only imports in SDK - Docs: Cross-Platform Portability guidelines in CONTRIBUTING.md
- SDK: Populate default extraArgs for getFee, sendMessage methods, requiring minimal parameters to use these methods
Full Changelog: v0.93.0...v0.94.0
v0.93.0 - Major refactoring beta.3
What's Changed
- feat: add lane-latency command and CCIP API client by @aelmanaa in #89
- feat(sdk,cli): add MessageStatus/IntentStatus enums and enhance CLI logging by @aelmanaa in #91
- decode receipts for TON by @Farber98 in #90
- feat(sdk): add viem client and wallet adapters by @aelmanaa in #92
- refactor: rename fetch to get, object arguments for >2 args methods by @andrevmatos in #93
- TON: ledger support, TonClient v2, noUncheckedIndexedAccess by @andrevmatos in #94
- SDK:
CCIPAPIClientandChain.getLaneLatency()for querying lane delivery times via CCIP API - CLI:
lane-latency <source> <dest>command;--no-apiflag for decentralized mode - SDK:
MessageStatusenum for message lifecycle tracking - CLI:
show --waitdisplays status progression during message tracking - SDK: Rename
fetch*toget*for message methods (getMessagesInTx,getMessageById,getMessagesForSender) - SDK: Viem adapter via
@chainlink/ccip-sdk/viem- usefromViemClient()andviemWallet()for viem users - SDK:
getCCIPExplorerUrl()andgetCCIPExplorerLinks()for CCIP Explorer URL generation - CLI:
sendandshowcommands now display CCIP Explorer links for visual transaction tracking - SDK: Added
sideEffects: falseto package.json for improved tree-shaking support - SDK: Breaking: Rename
fetch*toget*for message methods (getMessagesInTx,getMessageById,getMessagesForSender,getAllMessagesInBatch,getOffchainTokenData,getCommitReport,getExecutionReceipts) - SDK: Breaking: Convert methods with >2 arguments (besides opts/ctx) to single destructured object argument (
getFee,generateUnsignedSendMessage,sendMessage,generateUnsignedExecuteReport,executeReport,getCommitReport,getExecutionReceipts,waitFinalized) - SDK: simplify
getExecutionReceiptsfilters (acceptmessageIdandsourceChainSelector, instead of wholerequest) - SDK:
executeReportresolves toCCIPExecution, instead of genericChainTransaction - SDK: rename
getAllMessagesInBatchtogetMessagesInBatch(for consistency with other method names) - SDK: migrate TONChain to TonClient (from TonClient4) and TON HTTP V2 endpoints (more common)
- CLI: implement Ledger hardwallet support for TON
Full Changelog: v0.92.1...v0.93.0
v0.92.1 - Major refactoring beta.2
What's Changed
- Basic TON Chain support for CCIP SDK by @Farber98 in #69
- TON follow ups by @Farber98 in #79
- Decoding unit tests by @PabloMansanet in #78
- Feat/error handling by @aelmanaa in #77
- cli improvements, getLogs watch by @andrevmatos in #76
- docs: add chain implementation guide, refactor evm types for consistency by @aelmanaa in #84
- merge CCIPMessage.header into message root by @andrevmatos in #85
- central docs by @aelmanaa in #87
- ton manual exec work + tests by @Farber98 in #80
- Sui manual exec by @RodrigoAD in #83
SDK:
- typed Error classes
Chain.getLogscan receivewatchboolean or cancel promise, to enter continuous logs fetchingChain.waitFinalitymethod to receive alogand wait for its tx to finalizeChain.isTxHashstatic method to typeguard chain-specific txHash string formatisSupportedTxHashfunction exported to check any supported chain- Breaking::
CCIPMessagelosesheader; properties now are merged tomessageroot (e.g.message.messageId)
CLI:
show --waitandsend --waitwaits for finality, commit and first execution of pending requests- RPC endpoint url racer now triggers chain-families on-demand
--rpcs/-rnow can split CSV strings- if
--walletis omitted and--rpcs-file=['./.env]has aUSER_KEY=orPRIVATE_KEY=variable, it will be used as wallet
Full Changelog: v0.91.1...v0.92.1
v0.91.1 - Major refactoring beta.1
What's Changed (from v0.90.2 - beta.0)
- EVM: fix getFeeTokens in v1.5 lanes by @andrevmatos in #68
- Sui basic hasher support by @RodrigoAD in #71
- docs: enforce TSDoc/JSDoc quality gates via ESLint by @aelmanaa in #72
Chain.sendMessagenow callsgetFeeby itself, if not provided; it also returns aCCIPRequest- Fix USDC/CCTP attestation fetching in Solana
CCIPRequestlosestimestampproperty, available inrequest.tx.timestampinstead- Rename
Chain.listFeeTokenstogetFeeTokens, fix for v1.5 lanes - Move
fetchCCIPRequestsInTxfunction toChain.fetchRequestsInTxmethod - Move
fetchCCIPRequestByIdfunction toChain.fetchRequestByIdmethod; it now can optionally receive OnRamp address to narrow search, required in non-EVM chains (which can't scan whole chain); cli'sshow --id-from-sourcereceives<address>@<network>onramp address format in these cases - Move
fetchAllMessagesInBatchfunction toChain.fetchAllMessagesInBatchmethod getWalletstatic and cached methods are gone;walletcompatible signer instance should be passed directly as option to the read-write methods,sendMessageandexecuteReport- Chains now expose
generateUnsignedSendMessageandgenerateUnsignedExecuteReport, which expose raw/unsigned tx data forsendMessageandexecuteReportrespectively, in case one needs to sign and broadcast manually - All methods which logs now may receive a
{ logger }context object, to inject a logger other thanconsole(which is still the default) - Remove some more node-isms from SDK (better browser compat)
Full Changelog: v0.90.2...v0.91.1
v0.90.2 - Major refactoring beta.0
- Major overhaul of the tool, split into ccip-sdk and ccip-cli packages
- SDK now exposes
Chainfamily specific classes, with initial full support to EVM, Solana and Aptos - NodeJS specific bits moved out of SDK and into the CLI, SDK now is environment agnostic
- CLI implements Ledger support for all 3 chains
- See each package's README for more details
v0.2.12
What's Changed
- Add Sui message hasher by @RodrigoAD in #59
- chore: bump actions and use new publish workflow by @andrevmatos in #60
Full Changelog: v0.2.11...v0.2.12
v0.2.11
What's Changed
- Add dest exec data parser per chain by @RodrigoAD in #56
- bump version by @RodrigoAD in #57
Full Changelog: v0.2.10...v0.2.11
v0.2.10
What's Changed
- support for show command for Solana source txes by @Farber98 in #45
- Manual exec from/to Solana with CCTP attestations by @toblich in #49
- Improve manualExec --sender-queue by @andrevmatos in #53
- Change from bundled import to direct ESM import by @apedrob in #54
- Add getUSDCAttestationStatus command by @ogtownsend in #48
- chore: bump selectors, deps, prepare release by @andrevmatos in #55
New Contributors
- @Farber98 made their first contribution in #45
- @apedrob made their first contribution in #54
- @ogtownsend made their first contribution in #48
Full Changelog: v0.2.9...v0.2.10
v0.2.9
What's Changed
- Add broader Aptos support in utils by @RodrigoAD in #50
- fix: manualExec --sender-queue for large queues by @andrevmatos in #51
Full Changelog: v0.2.8...v0.2.9