Skip to content

Releases: smartcontractkit/ccip-tools-ts

v0.95.0 - Major refactoring beta.5

28 Jan 12:09
5f1a7cb

Choose a tag to compare

Pre-release

PRs

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: token command for balance queries
  • SDK: fix EVM estimate gas for token transfers with balance slot!=0 (e.g. USDC)
  • SDK: Add NetworkType enum ('MAINNET' | 'TESTNET') and networkType property to NetworkInfo, in place of isTestnet boolean
  • SDK: Selector generation scripts now validate network_type presence from upstream chain-selectors
  • CLI: Breaking: send, getSupportedTokens, and token commands now use named arguments instead of positional (e.g., send -s <source> -d <dest> -r <router>)
  • CLI: Breaking: -r alias removed from global --rpcs option (use --rpc instead); -r now used for --router in send command

Full Changelog: v0.94.0...v0.95.0

v0.94.0 - Major refactoring beta.4

14 Jan 17:14
aac4ae6

Choose a tag to compare

Pre-release

What's Changed

Changelog

  • SDK: Browser compatibility - explicit buffer dependency and imports for cross-platform support
  • CI: Added publint and @arethetypeswrong/cli validation for package exports
  • ESLint: import/no-nodejs-modules rule 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

31 Dec 17:09
e6b317b

Choose a tag to compare

Pre-release

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: CCIPAPIClient and Chain.getLaneLatency() for querying lane delivery times via CCIP API
  • CLI: lane-latency <source> <dest> command; --no-api flag for decentralized mode
  • SDK: MessageStatus enum for message lifecycle tracking
  • CLI: show --wait displays status progression during message tracking
  • SDK: Rename fetch* to get* for message methods (getMessagesInTx, getMessageById, getMessagesForSender)
  • SDK: Viem adapter via @chainlink/ccip-sdk/viem - use fromViemClient() and viemWallet() for viem users
  • SDK: getCCIPExplorerUrl() and getCCIPExplorerLinks() for CCIP Explorer URL generation
  • CLI: send and show commands now display CCIP Explorer links for visual transaction tracking
  • SDK: Added sideEffects: false to package.json for improved tree-shaking support
  • SDK: Breaking: Rename fetch* to get* 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 getExecutionReceipts filters (accept messageId and sourceChainSelector, instead of whole request)
  • SDK: executeReport resolves to CCIPExecution, instead of generic ChainTransaction
  • SDK: rename getAllMessagesInBatch to getMessagesInBatch (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

20 Dec 17:04
22759cb

Choose a tag to compare

Pre-release

What's Changed

SDK:

  • typed Error classes
  • Chain.getLogs can receive watch boolean or cancel promise, to enter continuous logs fetching
  • Chain.waitFinality method to receive a log and wait for its tx to finalize
  • Chain.isTxHash static method to typeguard chain-specific txHash string format
  • isSupportedTxHash function exported to check any supported chain
  • Breaking::CCIPMessage loses header; properties now are merged to message root (e.g. message.messageId)

CLI:

  • show --wait and send --wait waits for finality, commit and first execution of pending requests
  • RPC endpoint url racer now triggers chain-families on-demand
  • --rpcs/-r now can split CSV strings
  • if --wallet is omitted and --rpcs-file=['./.env] has a USER_KEY= or PRIVATE_KEY= variable, it will be used as wallet

Full Changelog: v0.91.1...v0.92.1

v0.91.1 - Major refactoring beta.1

09 Dec 14:29
e1fb60a

Choose a tag to compare

Pre-release

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.sendMessage now calls getFee by itself, if not provided; it also returns a CCIPRequest
  • Fix USDC/CCTP attestation fetching in Solana
  • CCIPRequest loses timestamp property, available in request.tx.timestamp instead
  • Rename Chain.listFeeTokens to getFeeTokens, fix for v1.5 lanes
  • Move fetchCCIPRequestsInTx function to Chain.fetchRequestsInTx method
  • Move fetchCCIPRequestById function to Chain.fetchRequestById method; it now can optionally receive OnRamp address to narrow search, required in non-EVM chains (which can't scan whole chain); cli's show --id-from-source receives <address>@<network> onramp address format in these cases
  • Move fetchAllMessagesInBatch function to Chain.fetchAllMessagesInBatch method
  • getWallet static and cached methods are gone; wallet compatible signer instance should be passed directly as option to the read-write methods, sendMessage and executeReport
  • Chains now expose generateUnsignedSendMessage and generateUnsignedExecuteReport, which expose raw/unsigned tx data for sendMessage and executeReport respectively, 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 than console (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

28 Nov 17:30
e2dea99

Choose a tag to compare

Pre-release
  • Major overhaul of the tool, split into ccip-sdk and ccip-cli packages
  • SDK now exposes Chain family 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

06 Nov 12:54
0979dfd

Choose a tag to compare

What's Changed

Full Changelog: v0.2.11...v0.2.12

v0.2.11

18 Sep 16:18
8503d05

Choose a tag to compare

What's Changed

Full Changelog: v0.2.10...v0.2.11

v0.2.10

10 Sep 13:15
4876110

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.2.9...v0.2.10

v0.2.9

20 Aug 23:33
75f18e9

Choose a tag to compare

What's Changed

Full Changelog: v0.2.8...v0.2.9