@chainlink/ccip-sdk 1.0.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/dist/api/index.d.ts +4 -4
  2. package/dist/api/index.d.ts.map +1 -1
  3. package/dist/api/index.js +110 -11
  4. package/dist/api/index.js.map +1 -1
  5. package/dist/api/types.d.ts +34 -0
  6. package/dist/api/types.d.ts.map +1 -1
  7. package/dist/aptos/index.d.ts.map +1 -1
  8. package/dist/aptos/index.js +5 -5
  9. package/dist/aptos/index.js.map +1 -1
  10. package/dist/chain.d.ts +109 -5
  11. package/dist/chain.d.ts.map +1 -1
  12. package/dist/chain.js +96 -8
  13. package/dist/chain.js.map +1 -1
  14. package/dist/errors/codes.d.ts +1 -1
  15. package/dist/errors/codes.d.ts.map +1 -1
  16. package/dist/errors/codes.js +2 -1
  17. package/dist/errors/codes.js.map +1 -1
  18. package/dist/errors/index.d.ts +2 -2
  19. package/dist/errors/index.d.ts.map +1 -1
  20. package/dist/errors/index.js +2 -2
  21. package/dist/errors/index.js.map +1 -1
  22. package/dist/errors/recovery.js +1 -1
  23. package/dist/errors/recovery.js.map +1 -1
  24. package/dist/errors/specialized.d.ts +22 -19
  25. package/dist/errors/specialized.d.ts.map +1 -1
  26. package/dist/errors/specialized.js +30 -25
  27. package/dist/errors/specialized.js.map +1 -1
  28. package/dist/evm/abi/OffRamp_2_0.d.ts +24 -12
  29. package/dist/evm/abi/OffRamp_2_0.d.ts.map +1 -1
  30. package/dist/evm/abi/OffRamp_2_0.js +16 -8
  31. package/dist/evm/abi/OffRamp_2_0.js.map +1 -1
  32. package/dist/evm/abi/TokenPool_2_0.d.ts +1552 -0
  33. package/dist/evm/abi/TokenPool_2_0.d.ts.map +1 -0
  34. package/dist/evm/abi/TokenPool_2_0.js +1637 -0
  35. package/dist/evm/abi/TokenPool_2_0.js.map +1 -0
  36. package/dist/evm/const.d.ts +1 -0
  37. package/dist/evm/const.d.ts.map +1 -1
  38. package/dist/evm/const.js +2 -0
  39. package/dist/evm/const.js.map +1 -1
  40. package/dist/evm/index.d.ts +10 -4
  41. package/dist/evm/index.d.ts.map +1 -1
  42. package/dist/evm/index.js +139 -51
  43. package/dist/evm/index.js.map +1 -1
  44. package/dist/evm/messages.d.ts +2 -33
  45. package/dist/evm/messages.d.ts.map +1 -1
  46. package/dist/evm/messages.js +0 -210
  47. package/dist/evm/messages.js.map +1 -1
  48. package/dist/gas.d.ts +4 -0
  49. package/dist/gas.d.ts.map +1 -1
  50. package/dist/gas.js +27 -21
  51. package/dist/gas.js.map +1 -1
  52. package/dist/index.d.ts +3 -2
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.js +1 -1
  55. package/dist/index.js.map +1 -1
  56. package/dist/messages.d.ts +34 -0
  57. package/dist/messages.d.ts.map +1 -0
  58. package/dist/messages.js +211 -0
  59. package/dist/messages.js.map +1 -0
  60. package/dist/solana/cleanup.js +2 -2
  61. package/dist/solana/cleanup.js.map +1 -1
  62. package/dist/solana/exec.js +1 -1
  63. package/dist/solana/exec.js.map +1 -1
  64. package/dist/solana/index.d.ts +19 -19
  65. package/dist/solana/index.d.ts.map +1 -1
  66. package/dist/solana/index.js +17 -2
  67. package/dist/solana/index.js.map +1 -1
  68. package/dist/sui/exec.d.ts +30 -0
  69. package/dist/sui/exec.d.ts.map +1 -0
  70. package/dist/sui/exec.js +92 -0
  71. package/dist/sui/exec.js.map +1 -0
  72. package/dist/sui/index.d.ts +7 -2
  73. package/dist/sui/index.d.ts.map +1 -1
  74. package/dist/sui/index.js +36 -65
  75. package/dist/sui/index.js.map +1 -1
  76. package/dist/sui/manuallyExec/index.d.ts.map +1 -1
  77. package/dist/sui/manuallyExec/index.js +10 -13
  78. package/dist/sui/manuallyExec/index.js.map +1 -1
  79. package/dist/sui/objects.d.ts.map +1 -1
  80. package/dist/sui/objects.js +4 -2
  81. package/dist/sui/objects.js.map +1 -1
  82. package/dist/sui/types.d.ts +9 -1
  83. package/dist/sui/types.d.ts.map +1 -1
  84. package/dist/sui/types.js.map +1 -1
  85. package/dist/ton/index.d.ts.map +1 -1
  86. package/dist/ton/index.js +3 -1
  87. package/dist/ton/index.js.map +1 -1
  88. package/package.json +5 -5
  89. package/src/api/index.ts +126 -11
  90. package/src/api/types.ts +43 -0
  91. package/src/aptos/index.ts +7 -9
  92. package/src/chain.ts +152 -12
  93. package/src/errors/codes.ts +2 -1
  94. package/src/errors/index.ts +1 -1
  95. package/src/errors/recovery.ts +1 -1
  96. package/src/errors/specialized.ts +35 -30
  97. package/src/evm/abi/OffRamp_2_0.ts +16 -8
  98. package/src/evm/abi/TokenPool_2_0.ts +1636 -0
  99. package/src/evm/const.ts +2 -0
  100. package/src/evm/index.ts +231 -84
  101. package/src/evm/messages.ts +3 -285
  102. package/src/gas.ts +27 -19
  103. package/src/index.ts +3 -1
  104. package/src/messages.ts +278 -0
  105. package/src/solana/cleanup.ts +2 -2
  106. package/src/solana/exec.ts +1 -1
  107. package/src/solana/index.ts +20 -2
  108. package/src/sui/exec.ts +131 -0
  109. package/src/sui/index.ts +50 -98
  110. package/src/sui/manuallyExec/index.ts +11 -17
  111. package/src/sui/objects.ts +4 -2
  112. package/src/sui/types.ts +10 -1
  113. package/src/ton/index.ts +5 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenPool_2_0.js","sourceRoot":"","sources":["../../../src/evm/abi/TokenPool_2_0.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ export declare const interfaces: {
16
16
  readonly FeeQuoter: Interface;
17
17
  readonly TokenPool_v1_5_1: Interface;
18
18
  readonly TokenPool_v1_5: Interface;
19
+ readonly TokenPool_v2_0: Interface;
19
20
  readonly TokenPool_v1_6: Interface;
20
21
  readonly CommitStore_v1_5: Interface;
21
22
  readonly CommitStore_v1_2: Interface;
@@ -1 +1 @@
1
- {"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../src/evm/const.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAqBhE,eAAO,MAAM,eAAe,UAA6B,CAAA;AASzD,eAAO,MAAM,oBAAoB;;;;;;;;EAAgE,CAAA;AAEjG,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;CAoBb,CAAA;AAEV;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,SAAS,MAAM,EAAE,GACxB,MAAM,CAAC,KAAK,MAAM,EAAE,EAAE,aAAa,CAAC,CAStC;AACD,eAAO,MAAM,iBAAiB,sCAG5B,CAAA;AACF,eAAO,MAAM,gBAAgB,sCAG3B,CAAA;AACF,eAAO,MAAM,iBAAiB,sCAA2D,CAAA;AAEzF,eAAO,MAAM,eAAe,qEAAqE,CAAA"}
1
+ {"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../src/evm/const.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAsBhE,eAAO,MAAM,eAAe,UAA6B,CAAA;AASzD,eAAO,MAAM,oBAAoB;;;;;;;;EAAgE,CAAA;AAEjG,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;CAqBb,CAAA;AAEV;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,SAAS,MAAM,EAAE,GACxB,MAAM,CAAC,KAAK,MAAM,EAAE,EAAE,aAAa,CAAC,CAStC;AACD,eAAO,MAAM,iBAAiB,sCAG5B,CAAA;AACF,eAAO,MAAM,gBAAgB,sCAG3B,CAAA;AACF,eAAO,MAAM,iBAAiB,sCAA2D,CAAA;AAEzF,eAAO,MAAM,eAAe,qEAAqE,CAAA"}
package/dist/evm/const.js CHANGED
@@ -18,6 +18,7 @@ import OnRamp_2_0_ABI from "./abi/OnRamp_2_0.js";
18
18
  import PriceRegistry_1_2_ABI from "./abi/PriceRegistry_1_2.js";
19
19
  import Router_ABI from "./abi/Router.js";
20
20
  import TokenAdminRegistry_ABI from "./abi/TokenAdminRegistry_1_5.js";
21
+ import TokenPool_2_0_ABI from "./abi/TokenPool_2_0.js";
21
22
  export const defaultAbiCoder = AbiCoder.defaultAbiCoder();
22
23
  const customErrors = [
23
24
  'error NoContract()',
@@ -33,6 +34,7 @@ export const interfaces = {
33
34
  FeeQuoter: new Interface(FeeQuoter_ABI),
34
35
  TokenPool_v1_5_1: new Interface(TokenPool_1_5_1_ABI),
35
36
  TokenPool_v1_5: new Interface(TokenPool_1_5_ABI),
37
+ TokenPool_v2_0: new Interface(TokenPool_2_0_ABI),
36
38
  TokenPool_v1_6: new Interface(TokenPool_1_6_ABI),
37
39
  CommitStore_v1_5: new Interface(CommitStore_1_5_ABI),
38
40
  CommitStore_v1_2: new Interface(CommitStore_1_2_ABI),
@@ -1 +1 @@
1
- {"version":3,"file":"const.js","sourceRoot":"","sources":["../../src/evm/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAsB,QAAQ,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAEhE,OAAO,SAAS,MAAM,8BAA8B,CAAA;AACpD,OAAO,mBAAmB,MAAM,0BAA0B,CAAA;AAC1D,OAAO,mBAAmB,MAAM,0BAA0B,CAAA;AAC1D,OAAO,aAAa,MAAM,wBAAwB,CAAA;AAClD,OAAO,iBAAiB,MAAM,mCAAmC,CAAA;AACjE,OAAO,mBAAmB,MAAM,qCAAqC,CAAA;AACrE,OAAO,iBAAiB,MAAM,qCAAqC,CAAA;AACnE,OAAO,sBAAsB,MAAM,sBAAsB,CAAA;AACzD,OAAO,sBAAsB,MAAM,sBAAsB,CAAA;AACzD,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAClD,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAClD,OAAO,qBAAqB,MAAM,qBAAqB,CAAA;AACvD,OAAO,qBAAqB,MAAM,qBAAqB,CAAA;AACvD,OAAO,cAAc,MAAM,qBAAqB,CAAA;AAChD,OAAO,cAAc,MAAM,qBAAqB,CAAA;AAChD,OAAO,qBAAqB,MAAM,4BAA4B,CAAA;AAC9D,OAAO,UAAU,MAAM,iBAAiB,CAAA;AACxC,OAAO,sBAAsB,MAAM,iCAAiC,CAAA;AAEpE,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAA;AAEzD,MAAM,YAAY,GAAG;IACnB,oBAAoB;IACpB,gCAAgC;IAChC,6BAA6B;IAC7B,0CAA0C;CAClC,CAAA;AAEV,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAQ,CAAC,CAAC,iDAAiD,CAAC,CAAC,CAAA;AAEjG,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,MAAM,EAAE,IAAI,SAAS,CAAC,UAAU,CAAC;IACjC,KAAK,EAAE,IAAI,SAAS,CAAC,SAAS,CAAC;IAC/B,kBAAkB,EAAE,IAAI,SAAS,CAAC,sBAAsB,CAAC;IACzD,SAAS,EAAE,IAAI,SAAS,CAAC,aAAa,CAAC;IACvC,gBAAgB,EAAE,IAAI,SAAS,CAAC,mBAAmB,CAAC;IACpD,cAAc,EAAE,IAAI,SAAS,CAAC,iBAAiB,CAAC;IAChD,cAAc,EAAE,IAAI,SAAS,CAAC,iBAAiB,CAAC;IAChD,gBAAgB,EAAE,IAAI,SAAS,CAAC,mBAAmB,CAAC;IACpD,gBAAgB,EAAE,IAAI,SAAS,CAAC,mBAAmB,CAAC;IACpD,YAAY,EAAE,IAAI,SAAS,CAAC,eAAe,CAAC;IAC5C,YAAY,EAAE,IAAI,SAAS,CAAC,eAAe,CAAC;IAC5C,mBAAmB,EAAE,IAAI,SAAS,CAAC,sBAAsB,CAAC;IAC1D,mBAAmB,EAAE,IAAI,SAAS,CAAC,sBAAsB,CAAC;IAC1D,WAAW,EAAE,IAAI,SAAS,CAAC,cAAc,CAAC;IAC1C,WAAW,EAAE,IAAI,SAAS,CAAC,cAAc,CAAC;IAC1C,kBAAkB,EAAE,IAAI,SAAS,CAAC,qBAAqB,CAAC;IACxD,kBAAkB,EAAE,IAAI,SAAS,CAAC,qBAAqB,CAAC;IACxD,kBAAkB,EAAE,IAAI,SAAS,CAAC,qBAAqB,CAAC;IACxD,MAAM,EAAE,IAAI,SAAS,CAAC,YAAY,CAAC;CAC3B,CAAA;AAEV;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAC3C,MAAyB;IAEzB,MAAM,SAAS,GAAkC,EAAE,CAAA;IACnD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YACtC,IAAI,QAAQ;gBAAE,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAA;QAC1D,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AACD,MAAM,CAAC,MAAM,iBAAiB,GAAG,6BAA6B,CAAC;IAC7D,mBAAmB;IACnB,iBAAiB;CAClB,CAAC,CAAA;AACF,MAAM,CAAC,MAAM,gBAAgB,GAAG,6BAA6B,CAAC;IAC5D,gBAAgB;IAChB,sBAAsB;CACvB,CAAC,CAAA;AACF,MAAM,CAAC,MAAM,iBAAiB,GAAG,6BAA6B,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAA;AAEzF,MAAM,CAAC,MAAM,eAAe,GAAG,kEAAkE,CAAA"}
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../../src/evm/const.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,9 @@
1
1
  import { type BytesLike, type JsonRpcApiProvider, type Log, type TransactionReceipt } from 'ethers';
2
2
  import type { PickDeep } from 'type-fest';
3
- import { type ChainContext, type GetBalanceOpts, type LogFilter, type TokenPoolRemote, Chain } from '../chain.ts';
3
+ import { type ChainContext, type GetBalanceOpts, type LaneFeatures, type LogFilter, type TokenPoolRemote, Chain } from '../chain.ts';
4
4
  import type { ExtraArgs } from '../extra-args.ts';
5
5
  import type { LeafHasher } from '../hasher/common.ts';
6
6
  import { type CCIPExecution, type CCIPMessage, type CCIPRequest, type CCIPVerifications, type ChainTransaction, type CommitReport, type ExecutionReceipt, type Lane, type NetworkInfo, type WithLogger, ChainFamily } from '../types.ts';
7
- import { type MessageV1, type TokenTransferV1, decodeMessageV1 } from './messages.ts';
8
- export { decodeMessageV1 };
9
- export type { MessageV1, TokenTransferV1 };
10
7
  import { type UnsignedEVMTx } from './types.ts';
11
8
  export type { UnsignedEVMTx };
12
9
  /**
@@ -189,6 +186,14 @@ export declare class EVMChain extends Chain<typeof ChainFamily.EVM> {
189
186
  * @throws {@link CCIPVersionUnsupportedError} if OnRamp version is not supported
190
187
  */
191
188
  getRouterForOnRamp(onRamp: string, destChainSelector: bigint): Promise<string>;
189
+ /**
190
+ * {@inheritDoc Chain.getLaneFeatures}
191
+ */
192
+ getLaneFeatures(opts: {
193
+ router: string;
194
+ destChainSelector: bigint;
195
+ token?: string;
196
+ }): Promise<Partial<LaneFeatures>>;
192
197
  /**
193
198
  * {@inheritDoc Chain.getRouterForOffRamp}
194
199
  * @throws {@link CCIPVersionUnsupportedError} if OffRamp version is not supported
@@ -315,6 +320,7 @@ export declare class EVMChain extends Chain<typeof ChainFamily.EVM> {
315
320
  token: string;
316
321
  router: string;
317
322
  typeAndVersion: string;
323
+ minBlockConfirmations?: number;
318
324
  }>;
319
325
  /** {@inheritDoc Chain.getTokenPoolRemotes} */
320
326
  getTokenPoolRemotes(tokenPool: string, remoteChainSelector?: bigint): Promise<Record<string, TokenPoolRemote>>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/evm/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/evm/index.ts"],"names":[],"mappings":"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"}
package/dist/evm/index.js CHANGED
@@ -1,7 +1,7 @@
1
- import { Contract, JsonRpcProvider, WebSocketProvider, ZeroAddress, getAddress, hexlify, isBytesLike, isHexString, keccak256, toBeHex, zeroPadValue, } from 'ethers';
1
+ import { Contract, JsonRpcProvider, WebSocketProvider, ZeroAddress, getAddress, hexlify, isBytesLike, isError, isHexString, keccak256, toBeHex, zeroPadValue, } from 'ethers';
2
2
  import { memoize } from 'micro-memoize';
3
- import { Chain, } from "../chain.js";
4
- import { CCIPAddressInvalidEvmError, CCIPApiClientNotAvailableError, CCIPBlockNotFoundError, CCIPContractNotRouterError, CCIPContractTypeInvalidError, CCIPDataFormatUnsupportedError, CCIPExecTxNotConfirmedError, CCIPExecTxRevertedError, CCIPHasherVersionUnsupportedError, CCIPLogDataInvalidError, CCIPNotImplementedError, CCIPSourceChainUnsupportedError, CCIPTokenNotConfiguredError, CCIPTokenPoolChainConfigNotFoundError, CCIPTransactionNotFoundError, CCIPVersionFeatureUnavailableError, CCIPVersionRequiresLaneError, CCIPVersionUnsupportedError, CCIPWalletInvalidError, } from "../errors/index.js";
3
+ import { Chain, LaneFeature, } from "../chain.js";
4
+ import { CCIPAddressInvalidEvmError, CCIPBlockNotFoundError, CCIPContractNotRouterError, CCIPContractTypeInvalidError, CCIPDataFormatUnsupportedError, CCIPError, CCIPExecTxNotConfirmedError, CCIPExecTxRevertedError, CCIPHasherVersionUnsupportedError, CCIPLogDataInvalidError, CCIPSourceChainUnsupportedError, CCIPTokenNotConfiguredError, CCIPTokenPoolChainConfigNotFoundError, CCIPTransactionNotFoundError, CCIPVersionFeatureUnavailableError, CCIPVersionRequiresLaneError, CCIPVersionUnsupportedError, CCIPWalletInvalidError, } from "../errors/index.js";
5
5
  import { supportedChains } from "../supported-chains.js";
6
6
  import { CCIPVersion, ChainFamily, NetworkType, } from "../types.js";
7
7
  import { decodeAddress, decodeOnRampAddress, getAddressBytes, getDataBytes, networkInfo, parseTypeAndVersion, } from "../utils.js";
@@ -17,11 +17,14 @@ import { decodeExtraArgs as decodeExtraArgs_, encodeExtraArgs as encodeExtraArgs
17
17
  import { estimateExecGas } from "./gas.js";
18
18
  import { getV12LeafHasher, getV16LeafHasher } from "./hasher.js";
19
19
  import { getEvmLogs } from "./logs.js";
20
- import { decodeMessageV1, } from "./messages.js";
21
- export { decodeMessageV1 };
22
20
  import { encodeEVMOffchainTokenData } from "./offchain.js";
23
21
  import { buildMessageForDest, decodeMessage, getMessagesInBatch } from "../requests.js";
24
22
  import { resultToObject } from "./types.js";
23
+ import { decodeMessageV1 } from "../messages.js";
24
+ /** Converts an on-chain bucket to the public RateLimiterState, stripping `isEnabled`. */
25
+ function toRateLimiterState(b) {
26
+ return b.isEnabled ? { tokens: b.tokens, capacity: b.capacity, rate: b.rate } : null;
27
+ }
25
28
  /** typeguard for ethers Signer interface (used for `wallet`s) */
26
29
  function isSigner(wallet) {
27
30
  return (typeof wallet === 'object' &&
@@ -482,6 +485,33 @@ export class EVMChain extends Chain {
482
485
  throw new CCIPVersionUnsupportedError(version);
483
486
  }
484
487
  }
488
+ /**
489
+ * {@inheritDoc Chain.getLaneFeatures}
490
+ */
491
+ async getLaneFeatures(opts) {
492
+ const onRamp = await this.getOnRampForRouter(opts.router, opts.destChainSelector);
493
+ const [, version] = await this.typeAndVersion(onRamp);
494
+ const result = {};
495
+ // default FTF value for V2_0+ lanes if no token/pool or pool doesn't specify
496
+ if (version >= CCIPVersion.V2_0)
497
+ result[LaneFeature.MIN_BLOCK_CONFIRMATIONS] = 1;
498
+ // MIN_BLOCK_CONFIRMATIONS — V2_0+ only
499
+ if (opts.token) {
500
+ const { tokenPool } = await this.getRegistryTokenConfig(await this.getTokenAdminRegistryFor(onRamp), opts.token);
501
+ if (tokenPool) {
502
+ const { minBlockConfirmations } = await this.getTokenPoolConfig(tokenPool);
503
+ if (minBlockConfirmations != null)
504
+ result[LaneFeature.MIN_BLOCK_CONFIRMATIONS] = minBlockConfirmations;
505
+ const remote = await this.getTokenPoolRemote(tokenPool, opts.destChainSelector);
506
+ result[LaneFeature.RATE_LIMITS] = remote.outboundRateLimiterState;
507
+ if (minBlockConfirmations && 'customBlockConfirmationsOutboundRateLimiterState' in remote) {
508
+ result[LaneFeature.CUSTOM_BLOCK_CONFIRMATIONS_RATE_LIMITS] =
509
+ remote.customBlockConfirmationsOutboundRateLimiterState;
510
+ }
511
+ }
512
+ }
513
+ return result;
514
+ }
485
515
  /**
486
516
  * {@inheritDoc Chain.getRouterForOffRamp}
487
517
  * @throws {@link CCIPVersionUnsupportedError} if OffRamp version is not supported
@@ -680,9 +710,13 @@ export class EVMChain extends Chain {
680
710
  ? type.includes('OnRamp')
681
711
  ? interfaces.EVM2EVMOnRamp_v1_5
682
712
  : interfaces.EVM2EVMOffRamp_v1_5
683
- : type.includes('OnRamp')
684
- ? interfaces.OnRamp_v1_6
685
- : interfaces.OffRamp_v1_6, this.provider);
713
+ : version < CCIPVersion.V2_0
714
+ ? type.includes('OnRamp')
715
+ ? interfaces.OnRamp_v1_6
716
+ : interfaces.OffRamp_v1_6
717
+ : type.includes('OnRamp')
718
+ ? interfaces.OnRamp_v2_0
719
+ : interfaces.OffRamp_v2_0, this.provider);
686
720
  const { tokenAdminRegistry } = await contract.getStaticConfig();
687
721
  return tokenAdminRegistry;
688
722
  }
@@ -741,7 +775,9 @@ export class EVMChain extends Chain {
741
775
  const data = hexlify(message.data ?? '0x');
742
776
  const extraArgs = hexlify(this.constructor.encodeExtraArgs(message.extraArgs));
743
777
  // make sure to approve once per token, for the total amount (including fee, if needed)
744
- const amountsToApprove = (message.tokenAmounts ?? []).reduce((acc, { token, amount }) => ({ ...acc, [token]: (acc[token] ?? 0n) + amount }), {});
778
+ const amountsToApprove = (message.tokenAmounts ?? [])
779
+ .filter(({ token }) => token && token !== ZeroAddress)
780
+ .reduce((acc, { token, amount }) => ({ ...acc, [token]: (acc[token] ?? 0n) + amount }), {});
745
781
  if (feeToken !== ZeroAddress)
746
782
  amountsToApprove[feeToken] = (amountsToApprove[feeToken] ?? 0n) + message.fee;
747
783
  const approveTxs = (await Promise.all(Object.entries(amountsToApprove).map(async ([token, amount]) => {
@@ -749,21 +785,22 @@ export class EVMChain extends Chain {
749
785
  const allowance = await contract.allowance(sender, router);
750
786
  if (allowance >= amount)
751
787
  return;
752
- const amnt = opts.approveMax ? 2n ** 256n - 1n : amount;
788
+ const amnt = opts.approveMax ? BigInt(2) ** BigInt(256) - BigInt(1) : amount;
753
789
  return contract.approve.populateTransaction(router, amnt, { from: sender });
754
790
  }))).filter((tx) => tx != null);
755
791
  const contract = new Contract(router, interfaces.Router, this.provider);
792
+ // if `token` is ZeroAddress, send its `amount` as `value` to router/EtherSenderReceiver (plus possibly native fee)
793
+ // if native fee, include it in value; otherwise, it's transferedFrom feeToken
794
+ const value = (message.tokenAmounts ?? [])
795
+ .filter(({ token }) => token === ZeroAddress)
796
+ .reduce((acc, { amount }) => acc + amount, feeToken === ZeroAddress ? message.fee : 0n);
756
797
  const sendTx = await contract.ccipSend.populateTransaction(destChainSelector, {
757
798
  receiver,
758
799
  data,
759
800
  tokenAmounts: message.tokenAmounts ?? [],
760
801
  extraArgs,
761
802
  feeToken,
762
- }, {
763
- from: sender,
764
- // if native fee, include it in value; otherwise, it's transferedFrom feeToken
765
- ...(feeToken === ZeroAddress && { value: message.fee }),
766
- });
803
+ }, { from: sender, ...(value > 0n ? { value } : {}) });
767
804
  const txRequests = [...approveTxs, sendTx];
768
805
  return {
769
806
  family: ChainFamily.EVM,
@@ -821,16 +858,7 @@ export class EVMChain extends Chain {
821
858
  * @throws {@link CCIPVersionUnsupportedError} if OffRamp version is not supported
822
859
  */
823
860
  async generateUnsignedExecute(opts) {
824
- let input, offRamp;
825
- if (!('input' in opts)) {
826
- if (!this.apiClient)
827
- throw new CCIPApiClientNotAvailableError();
828
- ({ offRamp, ...input } = await this.apiClient.getExecutionInput(opts.messageId));
829
- }
830
- else {
831
- ;
832
- ({ offRamp, input } = opts);
833
- }
861
+ const { offRamp, input } = await this.resolveExecuteOpts(opts);
834
862
  if ('verifications' in input) {
835
863
  const contract = new Contract(offRamp, interfaces.OffRamp_v2_0, this.provider);
836
864
  const message = decodeMessageV1(input.encodedMessage);
@@ -838,6 +866,13 @@ export class EVMChain extends Chain {
838
866
  // `execute` doesn't revert on failure, so we need to estimate using `executeSingleMessage`
839
867
  const txGasLimit = await contract.executeSingleMessage.estimateGas({
840
868
  ...message,
869
+ onRampAddress: zeroPadValue(getAddressBytes(message.onRampAddress), 32),
870
+ sender: zeroPadValue(getAddressBytes(message.sender), 32),
871
+ tokenTransfer: message.tokenTransfer.map((ta) => ({
872
+ ...ta,
873
+ sourcePoolAddress: zeroPadValue(getAddressBytes(ta.sourcePoolAddress), 32),
874
+ sourceTokenAddress: zeroPadValue(getAddressBytes(ta.sourceTokenAddress), 32),
875
+ })),
841
876
  executionGasLimit: BigInt(message.executionGasLimit),
842
877
  ccipReceiveGasLimit: BigInt(message.ccipReceiveGasLimit),
843
878
  finality: BigInt(message.finality),
@@ -925,6 +960,18 @@ export class EVMChain extends Chain {
925
960
  default:
926
961
  throw new CCIPVersionUnsupportedError(version);
927
962
  }
963
+ /* Executing a message for the first time has some hard try/catches on-chain
964
+ * so we need to ensure some lower-bounds gasLimits */
965
+ let gasLimit = await this.provider.estimateGas(manualExecTx);
966
+ if ('gasLimit' in input.message &&
967
+ input.message.gasLimit &&
968
+ gasLimit < input.message.gasLimit + 100000n)
969
+ // if message requested gasLimit, ensure execution more than 100k above requested, otherwise it's clearly a try/catch fail
970
+ gasLimit = BigInt(input.message.gasLimit) + 200000n;
971
+ else if ('gasLimit' in input.message && !input.message.gasLimit && gasLimit < 240000n)
972
+ // if message didn't request gasLimit, ensure execution gasLimit is above 240k (empiric)
973
+ gasLimit = 240000n;
974
+ manualExecTx.gasLimit = gasLimit;
928
975
  return { family: ChainFamily.EVM, transactions: [manualExecTx] };
929
976
  }
930
977
  /**
@@ -947,7 +994,9 @@ export class EVMChain extends Chain {
947
994
  populatedTx.from = undefined; // some signers don't like receiving pre-populated `from`
948
995
  const response = await submitTransaction(wallet, populatedTx, this.provider);
949
996
  this.logger.debug('manuallyExecute =>', response.hash);
950
- const receipt = await response.wait(1, 60_000);
997
+ let receipt = await response.wait(0);
998
+ if (!receipt)
999
+ receipt = await response.wait(1, 240_000);
951
1000
  if (!receipt?.hash)
952
1001
  throw new CCIPExecTxNotConfirmedError(response.hash);
953
1002
  if (!receipt.status)
@@ -1000,15 +1049,30 @@ export class EVMChain extends Chain {
1000
1049
  }
1001
1050
  /** {@inheritDoc Chain.getTokenPoolConfig} */
1002
1051
  async getTokenPoolConfig(tokenPool) {
1003
- const [_, , typeAndVersion] = await this.typeAndVersion(tokenPool);
1004
- const contract = new Contract(tokenPool, interfaces.TokenPool_v1_6, this.provider);
1052
+ const [_, version, typeAndVersion] = await this.typeAndVersion(tokenPool);
1053
+ let contract, router, minBlockConfirmations;
1054
+ if (version < CCIPVersion.V2_0) {
1055
+ contract = new Contract(tokenPool, interfaces.TokenPool_v1_6, this.provider);
1056
+ router = contract.getRouter();
1057
+ }
1058
+ else {
1059
+ contract = new Contract(tokenPool, interfaces.TokenPool_v2_0, this.provider);
1060
+ router = contract.getDynamicConfig().then(([router]) => router);
1061
+ minBlockConfirmations = contract.getMinBlockConfirmations().catch((err) => {
1062
+ if (isError(err, 'CALL_EXCEPTION'))
1063
+ return 0;
1064
+ throw CCIPError.from(err);
1065
+ });
1066
+ }
1005
1067
  const token = contract.getToken();
1006
- const router = contract.getRouter();
1007
- return Promise.all([token, router]).then(([token, router]) => {
1068
+ return Promise.all([token, router, minBlockConfirmations]).then(([token, router, minBlockConfirmations]) => {
1008
1069
  return {
1009
1070
  token: token,
1010
1071
  router: router,
1011
1072
  typeAndVersion,
1073
+ ...(minBlockConfirmations != null && {
1074
+ minBlockConfirmations: Number(minBlockConfirmations),
1075
+ }),
1012
1076
  };
1013
1077
  });
1014
1078
  }
@@ -1019,28 +1083,45 @@ export class EVMChain extends Chain {
1019
1083
  if (remoteChainSelector)
1020
1084
  supportedChains = Promise.resolve([networkInfo(remoteChainSelector)]);
1021
1085
  let remotePools;
1022
- let contract;
1086
+ let remoteInfo;
1023
1087
  if (version < '1.5.1') {
1024
- const contract_ = new Contract(tokenPool, interfaces.TokenPool_v1_5, this.provider);
1025
- contract = contract_;
1088
+ const contract = new Contract(tokenPool, interfaces.TokenPool_v1_5, this.provider);
1026
1089
  supportedChains ??= contract.getSupportedChains().then((chains) => chains.map(networkInfo));
1027
- remotePools = supportedChains.then((chains) => Promise.all(chains.map((chain) => contract_
1090
+ remotePools = supportedChains.then((chains) => Promise.all(chains.map((chain) => contract
1028
1091
  .getRemotePool(chain.chainSelector)
1029
1092
  .then((remotePool) => [decodeAddress(remotePool, chain.family)]))));
1093
+ remoteInfo = supportedChains.then((chains) => Promise.all(chains.map((chain) => Promise.all([
1094
+ contract.getRemoteToken(chain.chainSelector),
1095
+ resultToObject(contract.getCurrentOutboundRateLimiterState(chain.chainSelector)),
1096
+ resultToObject(contract.getCurrentInboundRateLimiterState(chain.chainSelector)),
1097
+ ]))));
1098
+ }
1099
+ else if (version < CCIPVersion.V2_0) {
1100
+ const contract = new Contract(tokenPool, interfaces.TokenPool_v1_6, this.provider);
1101
+ supportedChains ??= contract.getSupportedChains().then((chains) => chains.map(networkInfo));
1102
+ remotePools = supportedChains.then((chains) => Promise.all(chains.map((chain) => contract
1103
+ .getRemotePools(chain.chainSelector)
1104
+ .then((pools) => pools.map((remotePool) => decodeAddress(remotePool, chain.family))))));
1105
+ remoteInfo = supportedChains.then((chains) => Promise.all(chains.map((chain) => Promise.all([
1106
+ contract.getRemoteToken(chain.chainSelector),
1107
+ resultToObject(contract.getCurrentOutboundRateLimiterState(chain.chainSelector)),
1108
+ resultToObject(contract.getCurrentInboundRateLimiterState(chain.chainSelector)),
1109
+ ]))));
1030
1110
  }
1031
1111
  else {
1032
- const contract_ = new Contract(tokenPool, interfaces.TokenPool_v1_6, this.provider);
1033
- contract = contract_;
1112
+ const contract = new Contract(tokenPool, interfaces.TokenPool_v2_0, this.provider);
1034
1113
  supportedChains ??= contract.getSupportedChains().then((chains) => chains.map(networkInfo));
1035
- remotePools = supportedChains.then((chains) => Promise.all(chains.map((chain) => contract_
1114
+ remotePools = supportedChains.then((chains) => Promise.all(chains.map((chain) => contract
1036
1115
  .getRemotePools(chain.chainSelector)
1037
1116
  .then((pools) => pools.map((remotePool) => decodeAddress(remotePool, chain.family))))));
1117
+ remoteInfo = supportedChains.then((chains) => Promise.all(chains.map((chain) => Promise.all([
1118
+ contract.getRemoteToken(chain.chainSelector),
1119
+ contract.getCurrentRateLimiterState(chain.chainSelector, false),
1120
+ contract.getCurrentRateLimiterState(chain.chainSelector, true),
1121
+ ]).then(([remoteToken, [outbound, inbound], [customOutbound, customInbound]]) => {
1122
+ return [remoteToken, outbound, inbound, customOutbound, customInbound];
1123
+ }))));
1038
1124
  }
1039
- const remoteInfo = supportedChains.then((chains) => Promise.all(chains.map((chain) => Promise.all([
1040
- contract.getRemoteToken(chain.chainSelector),
1041
- resultToObject(contract.getCurrentInboundRateLimiterState(chain.chainSelector)),
1042
- resultToObject(contract.getCurrentOutboundRateLimiterState(chain.chainSelector)),
1043
- ]))));
1044
1125
  return Promise.all([supportedChains, remotePools, remoteInfo]).then(([supportedChains, remotePools, remoteInfo]) => Object.fromEntries(supportedChains.map((chain, i) => {
1045
1126
  const remoteTokenRaw = remoteInfo[i][0];
1046
1127
  if (!remoteTokenRaw || remoteTokenRaw.match(/^(0x)?0*$/))
@@ -1050,8 +1131,12 @@ export class EVMChain extends Chain {
1050
1131
  {
1051
1132
  remoteToken: decodeAddress(remoteTokenRaw, chain.family),
1052
1133
  remotePools: remotePools[i].map((pool) => decodeAddress(pool, chain.family)),
1053
- inboundRateLimiterState: remoteInfo[i][1].isEnabled ? remoteInfo[i][1] : null,
1054
- outboundRateLimiterState: remoteInfo[i][2].isEnabled ? remoteInfo[i][2] : null,
1134
+ outboundRateLimiterState: toRateLimiterState(remoteInfo[i][1]),
1135
+ inboundRateLimiterState: toRateLimiterState(remoteInfo[i][2]),
1136
+ ...(remoteInfo[i].length === 5 && {
1137
+ customBlockConfirmationsOutboundRateLimiterState: toRateLimiterState(remoteInfo[i][3]),
1138
+ customBlockConfirmationsInboundRateLimiterState: toRateLimiterState(remoteInfo[i][4]),
1139
+ }),
1055
1140
  },
1056
1141
  ];
1057
1142
  })));
@@ -1085,7 +1170,8 @@ export class EVMChain extends Chain {
1085
1170
  tokens = Array.from(tokens_);
1086
1171
  break;
1087
1172
  }
1088
- case CCIPVersion.V1_6: {
1173
+ case CCIPVersion.V1_6:
1174
+ case CCIPVersion.V2_0: {
1089
1175
  const feeQuoter = await this.getFeeQuoterFor(onRamp);
1090
1176
  const contract = new Contract(feeQuoter, interfaces.FeeQuoter, this.provider);
1091
1177
  tokens = await contract.getFeeTokens();
@@ -1100,11 +1186,9 @@ export class EVMChain extends Chain {
1100
1186
  async getVerifications(opts) {
1101
1187
  const { offRamp, request } = opts;
1102
1188
  if (request.lane.version >= CCIPVersion.V2_0) {
1103
- const message = request.message;
1104
- if (!message.encodedMessage)
1105
- throw new CCIPNotImplementedError(`CCIPAPIClient getMessageById v2 encodedMessage`);
1189
+ const { encodedMessage } = request.message;
1106
1190
  const contract = new Contract(offRamp, interfaces.OffRamp_v2_0, this.provider);
1107
- const ccvs = await contract.getCCVsForMessage(message.encodedMessage);
1191
+ const ccvs = await contract.getCCVsForMessage(encodedMessage);
1108
1192
  const [requiredCCVs, optionalCCVs, optionalThreshold] = ccvs.map(resultToObject);
1109
1193
  const verificationPolicy = {
1110
1194
  requiredCCVs,
@@ -1117,11 +1201,15 @@ export class EVMChain extends Chain {
1117
1201
  const verifiers = apiRes.message.verifiers;
1118
1202
  return {
1119
1203
  verificationPolicy,
1120
- verifications: verifiers.items.map((item) => ({
1204
+ verifications: (verifiers.items ?? [])
1205
+ .filter((item) => item.verification?.data)
1206
+ .map((item) => ({
1121
1207
  destAddress: item.destAddress,
1122
1208
  sourceAddress: item.sourceAddress,
1123
1209
  ccvData: item.verification.data,
1124
- timestamp: new Date(item.verification.timestamp).getTime() / 1e3,
1210
+ ...(!!item.verification?.timestamp && {
1211
+ timestamp: new Date(item.verification.timestamp).getTime() / 1e3,
1212
+ }),
1125
1213
  })),
1126
1214
  };
1127
1215
  }