@chainlink/ccip-sdk 1.4.0 → 1.4.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 (56) hide show
  1. package/dist/api/index.d.ts +1 -1
  2. package/dist/api/index.js +1 -1
  3. package/dist/chain.d.ts +1 -1
  4. package/dist/chain.d.ts.map +1 -1
  5. package/dist/chain.js +10 -1
  6. package/dist/chain.js.map +1 -1
  7. package/dist/errors/codes.d.ts +1 -2
  8. package/dist/errors/codes.d.ts.map +1 -1
  9. package/dist/errors/codes.js +1 -2
  10. package/dist/errors/codes.js.map +1 -1
  11. package/dist/errors/index.d.ts +2 -2
  12. package/dist/errors/index.d.ts.map +1 -1
  13. package/dist/errors/index.js +2 -2
  14. package/dist/errors/index.js.map +1 -1
  15. package/dist/errors/recovery.d.ts.map +1 -1
  16. package/dist/errors/recovery.js +1 -2
  17. package/dist/errors/recovery.js.map +1 -1
  18. package/dist/errors/specialized.d.ts +6 -25
  19. package/dist/errors/specialized.d.ts.map +1 -1
  20. package/dist/errors/specialized.js +16 -34
  21. package/dist/errors/specialized.js.map +1 -1
  22. package/dist/evm/extra-args.d.ts.map +1 -1
  23. package/dist/evm/extra-args.js +14 -13
  24. package/dist/evm/extra-args.js.map +1 -1
  25. package/dist/evm/index.js +9 -9
  26. package/dist/evm/index.js.map +1 -1
  27. package/dist/requests.d.ts +1 -1
  28. package/dist/requests.d.ts.map +1 -1
  29. package/dist/requests.js +1 -3
  30. package/dist/requests.js.map +1 -1
  31. package/dist/solana/index.d.ts +17 -17
  32. package/dist/solana/index.d.ts.map +1 -1
  33. package/dist/solana/index.js +13 -5
  34. package/dist/solana/index.js.map +1 -1
  35. package/dist/sui/index.d.ts.map +1 -1
  36. package/dist/sui/index.js +13 -13
  37. package/dist/sui/index.js.map +1 -1
  38. package/dist/ton/index.d.ts.map +1 -1
  39. package/dist/ton/index.js +13 -17
  40. package/dist/ton/index.js.map +1 -1
  41. package/dist/utils.js +1 -1
  42. package/dist/utils.js.map +1 -1
  43. package/package.json +3 -3
  44. package/src/api/index.ts +1 -1
  45. package/src/chain.ts +13 -1
  46. package/src/errors/codes.ts +1 -2
  47. package/src/errors/index.ts +1 -2
  48. package/src/errors/recovery.ts +1 -2
  49. package/src/errors/specialized.ts +18 -35
  50. package/src/evm/extra-args.ts +15 -14
  51. package/src/evm/index.ts +8 -8
  52. package/src/requests.ts +2 -3
  53. package/src/solana/index.ts +11 -4
  54. package/src/sui/index.ts +16 -14
  55. package/src/ton/index.ts +12 -22
  56. package/src/utils.ts +1 -1
package/dist/utils.js CHANGED
@@ -430,7 +430,7 @@ export function snakeToCamel(str) {
430
430
  * Only converts keys that actually have snake_case format
431
431
  */
432
432
  export function convertKeysToCamelCase(obj, mapValues, key) {
433
- if (Array.isArray(obj) && obj.every((v) => typeof v === 'number')) {
433
+ if (Array.isArray(obj) && obj.length && obj.every((v) => typeof v === 'number')) {
434
434
  return mapValues ? mapValues(obj, key) : obj;
435
435
  }
436
436
  else if (Array.isArray(obj)) {
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chainlink/ccip-sdk",
3
- "version": "1.4.0",
3
+ "version": "1.4.1",
4
4
  "description": "SDK/Library to interact with CCIP",
5
5
  "author": "Chainlink devs",
6
6
  "license": "MIT",
@@ -72,7 +72,7 @@
72
72
  "prettier": "^3.8.1",
73
73
  "prool": "^0.2.4",
74
74
  "typescript": "5.9.3",
75
- "typescript-eslint": "8.57.2",
75
+ "typescript-eslint": "8.58.0",
76
76
  "viem": "^2.47.6"
77
77
  },
78
78
  "dependencies": {
@@ -98,6 +98,6 @@
98
98
  },
99
99
  "overrides": {
100
100
  "bigint-buffer": "npm:@trufflesuite/bigint-buffer@1.1.10",
101
- "axios": "^1.13.6"
101
+ "axios": "1.13.6"
102
102
  }
103
103
  }
package/src/api/index.ts CHANGED
@@ -60,7 +60,7 @@ export const DEFAULT_TIMEOUT_MS = 30000
60
60
  /** SDK version string for telemetry header */
61
61
  // generate:nofail
62
62
  // `export const SDK_VERSION = '${require('./package.json').version}-${require('child_process').execSync('git rev-parse --short HEAD').toString().trim()}'`
63
- export const SDK_VERSION = '1.4.0-e31c07e'
63
+ export const SDK_VERSION = '1.4.1-a69411f'
64
64
  // generate:end
65
65
 
66
66
  /** SDK telemetry header name */
package/src/chain.ts CHANGED
@@ -1598,17 +1598,28 @@ export abstract class Chain<F extends ChainFamily = ChainFamily> {
1598
1598
  * @throws {@link CCIPArgumentInvalidError} if extraArgs contains unknown fields for the detected version.
1599
1599
  */
1600
1600
  static buildMessageForDest(
1601
+ this: ChainStatic,
1601
1602
  message: Parameters<ChainStatic['buildMessageForDest']>[0],
1602
1603
  ): AnyMessage {
1604
+ const receiver = this.getAddress(message.receiver) // validate receiver address for dest chain family
1603
1605
  const gasLimit = message.data && dataLength(message.data) ? DEFAULT_GAS_LIMIT : 0n
1604
1606
 
1605
1607
  // Detect if user wants V3 by checking for any V3-only field
1606
1608
  if (hasV3ExtraArgs(message.extraArgs)) {
1607
1609
  if (message.extraArgs)
1608
1610
  assertNoUnknownFields(message.extraArgs, V3_FIELDS, 'GenericExtraArgsV3')
1611
+ let tokenReceiver = ''
1612
+ if (
1613
+ message.extraArgs &&
1614
+ 'tokenReceiver' in message.extraArgs &&
1615
+ message.extraArgs.tokenReceiver
1616
+ ) {
1617
+ tokenReceiver = this.getAddress(message.extraArgs.tokenReceiver) // validate
1618
+ }
1609
1619
  // V3 defaults (GenericExtraArgsV3)
1610
1620
  return {
1611
1621
  ...message,
1622
+ receiver,
1612
1623
  extraArgs: {
1613
1624
  gasLimit,
1614
1625
  blockConfirmations: 0,
@@ -1616,9 +1627,9 @@ export abstract class Chain<F extends ChainFamily = ChainFamily> {
1616
1627
  ccvArgs: [],
1617
1628
  executor: '',
1618
1629
  executorArgs: '0x',
1619
- tokenReceiver: '',
1620
1630
  tokenArgs: '0x',
1621
1631
  ...message.extraArgs,
1632
+ tokenReceiver,
1622
1633
  },
1623
1634
  }
1624
1635
  }
@@ -1627,6 +1638,7 @@ export abstract class Chain<F extends ChainFamily = ChainFamily> {
1627
1638
  // Default to V2 (GenericExtraArgsV2, aka EVMExtraArgsV2)
1628
1639
  return {
1629
1640
  ...message,
1641
+ receiver,
1630
1642
  extraArgs: {
1631
1643
  gasLimit,
1632
1644
  allowOutOfOrderExecution: true,
@@ -74,8 +74,7 @@ export const CCIPErrorCode = {
74
74
  REGISTRY_TYPE_INVALID: 'REGISTRY_TYPE_INVALID',
75
75
 
76
76
  // Address Validation
77
- ADDRESS_INVALID_EVM: 'ADDRESS_INVALID_EVM',
78
- ADDRESS_INVALID_APTOS: 'ADDRESS_INVALID_APTOS',
77
+ ADDRESS_INVALID: 'ADDRESS_INVALID',
79
78
 
80
79
  // Token & Registry
81
80
  TOKEN_NOT_FOUND: 'TOKEN_NOT_FOUND',
@@ -129,7 +129,6 @@ export {
129
129
 
130
130
  // Specialized errors - Aptos-specific
131
131
  export {
132
- CCIPAptosAddressInvalidError,
133
132
  CCIPAptosAddressModuleRequiredError,
134
133
  CCIPAptosExtraArgsEncodingError,
135
134
  CCIPAptosExtraArgsV2RequiredError,
@@ -179,7 +178,7 @@ export { CCIPApiClientNotAvailableError, CCIPUnexpectedPaginationError } from '.
179
178
  export { CCIPViemAdapterError } from './specialized.ts'
180
179
 
181
180
  // Specialized errors - Address Validation
182
- export { CCIPAddressInvalidEvmError } from './specialized.ts'
181
+ export { CCIPAddressInvalidError } from './specialized.ts'
183
182
 
184
183
  // Specialized errors - Source Chain
185
184
  export { CCIPSourceChainUnsupportedError } from './specialized.ts'
@@ -92,8 +92,7 @@ export const DEFAULT_RECOVERY_HINTS: Partial<Record<CCIPErrorCode, string>> = {
92
92
  'The contract does not expose typeAndVersion(). Verify this is a valid CCIP contract.',
93
93
  REGISTRY_TYPE_INVALID: 'The contract is not a TokenAdminRegistry.',
94
94
 
95
- ADDRESS_INVALID_EVM: 'Invalid EVM address. Must be 20 bytes.',
96
- ADDRESS_INVALID_APTOS: 'Invalid Aptos address. Must be 32 bytes or less.',
95
+ ADDRESS_INVALID: 'Invalid address. Check chain family format and value.',
97
96
 
98
97
  TOKEN_NOT_FOUND: 'Token not found in supported tokens list. Verify the token address or symbol.',
99
98
  TOKEN_NOT_IN_REGISTRY: 'Token not found in TokenAdminRegistry.',
@@ -1,7 +1,10 @@
1
+ import type { BytesLike } from 'ethers'
2
+
1
3
  import { type CCIPErrorOptions, CCIPError } from './CCIPError.ts'
2
4
  import { CCIPErrorCode } from './codes.ts'
3
5
  import { isTransientHttpStatus } from '../http-status.ts'
4
- import { bigIntReplacer } from '../utils.ts'
6
+ import type { ChainFamily } from '../types.ts'
7
+ import { bigIntReplacer, getAddressBytes, util } from '../utils.ts'
5
8
 
6
9
  // Chain/Network
7
10
 
@@ -1862,14 +1865,22 @@ export class CCIPMerkleInternalError extends CCIPError {
1862
1865
  * }
1863
1866
  * ```
1864
1867
  */
1865
- export class CCIPAddressInvalidEvmError extends CCIPError {
1866
- override readonly name = 'CCIPAddressInvalidEvmError'
1867
- /** Creates an EVM address invalid error. */
1868
- constructor(address: string, options?: CCIPErrorOptions) {
1869
- super(CCIPErrorCode.ADDRESS_INVALID_EVM, `Invalid EVM address: ${address}`, {
1868
+ export class CCIPAddressInvalidError extends CCIPError {
1869
+ override readonly name = 'CCIPAddressInvalidError'
1870
+ /** Creates an address invalid error for the given chain family. */
1871
+ constructor(address: BytesLike, family: ChainFamily, options?: CCIPErrorOptions) {
1872
+ const len = address.length
1873
+ const type = typeof address === 'object' ? address.constructor.name : typeof address
1874
+ let bytesLen
1875
+ try {
1876
+ bytesLen = getAddressBytes(address).length
1877
+ } catch (err) {
1878
+ bytesLen = (err as Error).message
1879
+ }
1880
+ super(CCIPErrorCode.ADDRESS_INVALID, `Invalid ${family} address: ${util.inspect(address)}`, {
1870
1881
  ...options,
1871
1882
  isTransient: false,
1872
- context: { ...options?.context, address },
1883
+ context: { ...options?.context, address, family, len, type, bytesLen },
1873
1884
  })
1874
1885
  }
1875
1886
  }
@@ -2565,34 +2576,6 @@ export class CCIPAptosLogInvalidError extends CCIPError {
2565
2576
  }
2566
2577
  }
2567
2578
 
2568
- /**
2569
- * Thrown when Aptos address is invalid.
2570
- *
2571
- * @example
2572
- * ```typescript
2573
- * import { CCIPDataFormatUnsupportedError } from '@chainlink/ccip-sdk'
2574
- *
2575
- * try {
2576
- * AptosChain.getAddress('invalid-address')
2577
- * } catch (error) {
2578
- * if (error instanceof CCIPDataFormatUnsupportedError) {
2579
- * console.log(`Invalid address: ${error.message}`)
2580
- * }
2581
- * }
2582
- * ```
2583
- */
2584
- export class CCIPAptosAddressInvalidError extends CCIPError {
2585
- override readonly name = 'CCIPAptosAddressInvalidError'
2586
- /** Creates an Aptos address invalid error. */
2587
- constructor(address: string, options?: CCIPErrorOptions) {
2588
- super(CCIPErrorCode.ADDRESS_INVALID_APTOS, `Invalid aptos address: "${address}"`, {
2589
- ...options,
2590
- isTransient: false,
2591
- context: { ...options?.context, address },
2592
- })
2593
- }
2594
- }
2595
-
2596
2579
  /**
2597
2580
  * Thrown when Aptos can only encode specific extra args types.
2598
2581
  *
@@ -5,7 +5,7 @@ import {
5
5
  encodeBase58,
6
6
  getAddress,
7
7
  hexlify,
8
- toBeHex,
8
+ toBeArray,
9
9
  toBigInt,
10
10
  toNumber,
11
11
  zeroPadValue,
@@ -25,7 +25,8 @@ import {
25
25
  SuiExtraArgsV1Tag,
26
26
  } from '../extra-args.ts'
27
27
  import { DEFAULT_GAS_LIMIT } from '../shared/constants.ts'
28
- import { getAddressBytes, getDataBytes } from '../utils.ts'
28
+ import { ChainFamily } from '../types.ts'
29
+ import { decodeAddress, getAddressBytes, getDataBytes } from '../utils.ts'
29
30
  import { defaultAbiCoder } from './const.ts'
30
31
  import { resultToObject } from './types.ts'
31
32
 
@@ -60,16 +61,16 @@ const SuiExtraArgsV1ABI =
60
61
  * - tokenArgs (variable)
61
62
  */
62
63
  function encodeExtraArgsV3(args: GenericExtraArgsV3): string {
63
- const parts: Uint8Array[] = []
64
+ const parts: BytesLike[] = []
64
65
 
65
66
  // Tag (4 bytes)
66
- parts.push(getDataBytes(GenericExtraArgsV3Tag))
67
+ parts.push(GenericExtraArgsV3Tag)
67
68
 
68
69
  // gasLimit (4 bytes, uint32 big-endian)
69
- parts.push(getDataBytes(toBeHex(args.gasLimit, 4)))
70
+ parts.push(toBeArray(args.gasLimit, 4))
70
71
 
71
72
  // blockConfirmations (2 bytes, uint16 big-endian)
72
- parts.push(getDataBytes(toBeHex(args.blockConfirmations, 2)))
73
+ parts.push(toBeArray(args.blockConfirmations, 2))
73
74
 
74
75
  // ccvsLength (1 byte)
75
76
  parts.push(new Uint8Array([args.ccvs.length]))
@@ -83,14 +84,14 @@ function encodeExtraArgsV3(args: GenericExtraArgsV3): string {
83
84
  // ccvAddressLength = 20
84
85
  parts.push(new Uint8Array([20]))
85
86
  // ccvAddress (20 bytes)
86
- parts.push(getDataBytes(ccvAddress))
87
+ parts.push(decodeAddress(ccvAddress, ChainFamily.EVM))
87
88
  } else {
88
89
  // ccvAddressLength = 0
89
90
  parts.push(new Uint8Array([0]))
90
91
  }
91
92
 
92
93
  // ccvArgsLength (2 bytes, uint16 big-endian)
93
- parts.push(getDataBytes(toBeHex(ccvArgsBytes.length, 2)))
94
+ parts.push(toBeArray(ccvArgsBytes.length, 2))
94
95
 
95
96
  // ccvArgs (variable)
96
97
  if (ccvArgsBytes.length > 0) {
@@ -99,26 +100,25 @@ function encodeExtraArgsV3(args: GenericExtraArgsV3): string {
99
100
  }
100
101
 
101
102
  // executorLength (1 byte)
102
- if (args.executor && args.executor !== '' && args.executor !== '0x') {
103
+ if (args.executor && args.executor !== '0x') {
103
104
  parts.push(new Uint8Array([20]))
104
- parts.push(getDataBytes(args.executor))
105
+ parts.push(decodeAddress(args.executor, ChainFamily.EVM))
105
106
  } else {
106
107
  parts.push(new Uint8Array([0]))
107
108
  }
108
109
 
109
110
  // Convert BytesLike fields to Uint8Array
110
111
  const executorArgsBytes = getDataBytes(args.executorArgs)
111
- const tokenReceiverBytes = getDataBytes(args.tokenReceiver)
112
- const tokenArgsBytes = getDataBytes(args.tokenArgs)
113
112
 
114
113
  // executorArgsLength (2 bytes, uint16 big-endian)
115
- parts.push(getDataBytes(toBeHex(executorArgsBytes.length, 2)))
114
+ parts.push(toBeArray(executorArgsBytes.length, 2))
116
115
 
117
116
  // executorArgs (variable)
118
117
  if (executorArgsBytes.length > 0) {
119
118
  parts.push(executorArgsBytes)
120
119
  }
121
120
 
121
+ const tokenReceiverBytes = getAddressBytes(args.tokenReceiver)
122
122
  // tokenReceiverLength (1 byte)
123
123
  parts.push(new Uint8Array([tokenReceiverBytes.length]))
124
124
 
@@ -127,8 +127,9 @@ function encodeExtraArgsV3(args: GenericExtraArgsV3): string {
127
127
  parts.push(tokenReceiverBytes)
128
128
  }
129
129
 
130
+ const tokenArgsBytes = getDataBytes(args.tokenArgs)
130
131
  // tokenArgsLength (2 bytes, uint16 big-endian)
131
- parts.push(getDataBytes(toBeHex(tokenArgsBytes.length, 2)))
132
+ parts.push(toBeArray(tokenArgsBytes.length, 2))
132
133
 
133
134
  // tokenArgs (variable)
134
135
  if (tokenArgsBytes.length > 0) {
package/src/evm/index.ts CHANGED
@@ -42,7 +42,7 @@ import {
42
42
  LaneFeature,
43
43
  } from '../chain.ts'
44
44
  import {
45
- CCIPAddressInvalidEvmError,
45
+ CCIPAddressInvalidError,
46
46
  CCIPBlockNotFoundError,
47
47
  CCIPContractNotRouterError,
48
48
  CCIPContractTypeInvalidError,
@@ -560,16 +560,16 @@ export class EVMChain extends Chain<typeof ChainFamily.EVM> {
560
560
  */
561
561
  static getAddress(bytes: BytesLike): string {
562
562
  if (isHexString(bytes, 20)) return getAddress(bytes)
563
- bytes = getAddressBytes(bytes)
564
- if (bytes.length < 20) throw new CCIPAddressInvalidEvmError(hexlify(bytes))
565
- else if (bytes.length > 20) {
566
- if (bytes.slice(0, bytes.length - 20).every((b) => b === 0)) {
567
- bytes = bytes.slice(-20)
563
+ let bytes_ = getAddressBytes(bytes)
564
+ if (bytes_.length < 20) throw new CCIPAddressInvalidError(bytes, this.family)
565
+ else if (bytes_.length > 20) {
566
+ if (bytes_.slice(0, bytes_.length - 20).every((b) => b === 0)) {
567
+ bytes_ = bytes_.slice(-20)
568
568
  } else {
569
- throw new CCIPAddressInvalidEvmError(hexlify(bytes))
569
+ throw new CCIPAddressInvalidError(hexlify(bytes_), this.family)
570
570
  }
571
571
  }
572
- return getAddress(hexlify(bytes))
572
+ return getAddress(hexlify(bytes_))
573
573
  }
574
574
 
575
575
  /**
package/src/requests.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { type BytesLike, hexlify, isBytesLike, toBigInt } from 'ethers'
2
2
  import type { PickDeep } from 'type-fest'
3
3
 
4
- import { type ChainStatic, Chain } from './chain.ts'
4
+ import type { Chain, ChainStatic } from './chain.ts'
5
5
  import {
6
6
  CCIPChainFamilyUnsupportedError,
7
7
  CCIPMessageBatchIncompleteError,
@@ -196,9 +196,8 @@ export function decodeMessage(data: string | Uint8Array | Record<string, unknown
196
196
  * @returns Original message or shallow copy with defaults for required fields
197
197
  */
198
198
  export function buildMessageForDest(message: MessageInput, dest: ChainFamily): AnyMessage {
199
- const chain = supportedChains[dest] ?? Chain
200
199
  if (message.extraArgs && '_tag' in message.extraArgs) delete message.extraArgs._tag
201
- return chain.buildMessageForDest(message)
200
+ return supportedChains[dest]!.buildMessageForDest(message)
202
201
  }
203
202
 
204
203
  /**
@@ -40,6 +40,7 @@ import {
40
40
  Chain,
41
41
  } from '../chain.ts'
42
42
  import {
43
+ CCIPAddressInvalidError,
43
44
  CCIPArgumentInvalidError,
44
45
  CCIPBlockTimeNotFoundError,
45
46
  CCIPContractNotRouterError,
@@ -1023,7 +1024,13 @@ export class SolanaChain extends Chain<typeof ChainFamily.Solana> {
1023
1024
  } catch (_) {
1024
1025
  // pass
1025
1026
  }
1026
- return encodeBase58(getDataBytes(bytes))
1027
+ try {
1028
+ const decoded = getDataBytes(bytes)
1029
+ if (decoded.length === 32) return encodeBase58(decoded)
1030
+ } catch {
1031
+ // pass
1032
+ }
1033
+ throw new CCIPAddressInvalidError(bytes, this.family)
1027
1034
  }
1028
1035
 
1029
1036
  /**
@@ -1696,13 +1703,13 @@ export class SolanaChain extends Chain<typeof ChainFamily.Solana> {
1696
1703
  : true
1697
1704
  const [tokenReceiver, receiver] =
1698
1705
  message.extraArgs && 'tokenReceiver' in message.extraArgs && !!message.extraArgs.tokenReceiver
1699
- ? [message.extraArgs.tokenReceiver, message.receiver] // explicit tokenReceiver, keep both
1706
+ ? [this.getAddress(message.extraArgs.tokenReceiver), this.getAddress(message.receiver)] // explicit tokenReceiver, keep both
1700
1707
  : message.tokenAmounts?.length
1701
1708
  ? [this.getAddress(message.receiver), PublicKey.default.toBase58()] // if sending tokens without tokenReceiver, set receiver to default and tokenReceiver to message.receiver
1702
- : [PublicKey.default.toBase58(), message.receiver] // otherwise, tokenReceiver is default and receiver is message.receiver
1709
+ : [PublicKey.default.toBase58(), this.getAddress(message.receiver)] // otherwise, tokenReceiver is default and receiver is message.receiver
1703
1710
  const accounts =
1704
1711
  message.extraArgs && 'accounts' in message.extraArgs && message.extraArgs.accounts != null
1705
- ? message.extraArgs.accounts
1712
+ ? message.extraArgs.accounts.map(this.getAddress.bind(this))
1706
1713
  : []
1707
1714
  const accountIsWritableBitmap =
1708
1715
  message.extraArgs &&
package/src/sui/index.ts CHANGED
@@ -848,36 +848,38 @@ export class SuiChain extends Chain<typeof ChainFamily.Sui> {
848
848
  message.extraArgs.allowOutOfOrderExecution != null
849
849
  ? message.extraArgs.allowOutOfOrderExecution
850
850
  : true
851
- const tokenReceiver =
852
- message.extraArgs &&
853
- 'tokenReceiver' in message.extraArgs &&
854
- message.extraArgs.tokenReceiver != null &&
855
- typeof message.extraArgs.tokenReceiver === 'string'
856
- ? message.extraArgs.tokenReceiver
851
+ const [tokenReceiver, receiver] =
852
+ message.extraArgs && 'tokenReceiver' in message.extraArgs && !!message.extraArgs.tokenReceiver
853
+ ? [this.getAddress(message.extraArgs.tokenReceiver), this.getAddress(message.receiver)] // explicit tokenReceiver, keep both
857
854
  : message.tokenAmounts?.length
858
- ? this.getAddress(message.receiver)
859
- : '0x0000000000000000000000000000000000000000000000000000000000000000'
855
+ ? [
856
+ this.getAddress(message.receiver),
857
+ '0x0000000000000000000000000000000000000000000000000000000000000000',
858
+ ] // if sending tokens without tokenReceiver, set receiver to default and tokenReceiver to message.receiver
859
+ : [
860
+ '0x0000000000000000000000000000000000000000000000000000000000000000',
861
+ this.getAddress(message.receiver),
862
+ ] // otherwise, tokenReceiver is default and receiver is message.receiver
860
863
  const receiverObjectIds =
861
864
  message.extraArgs &&
862
865
  'receiverObjectIds' in message.extraArgs &&
863
866
  message.extraArgs.receiverObjectIds?.length
864
- ? message.extraArgs.receiverObjectIds
867
+ ? message.extraArgs.receiverObjectIds.map(this.getAddress.bind(this))
865
868
  : message.extraArgs && 'accounts' in message.extraArgs && message.extraArgs.accounts?.length
866
- ? message.extraArgs.accounts // populates receiverObjectIds from accounts
869
+ ? message.extraArgs.accounts.map(this.getAddress.bind(this)) // populates receiverObjectIds from accounts
867
870
  : []
871
+
868
872
  const extraArgs: SuiExtraArgsV1 = {
869
873
  gasLimit,
870
874
  allowOutOfOrderExecution,
871
875
  tokenReceiver,
872
876
  receiverObjectIds,
873
877
  }
878
+
874
879
  return {
875
880
  ...message,
881
+ receiver,
876
882
  extraArgs,
877
- // if tokenReceiver, then message.receiver can (must?) be default
878
- ...(!!message.tokenAmounts?.length && {
879
- receiver: '0x0000000000000000000000000000000000000000000000000000000000000000',
880
- }),
881
883
  }
882
884
  }
883
885
  }
package/src/ton/index.ts CHANGED
@@ -36,7 +36,6 @@ import {
36
36
  import {
37
37
  CCIPArgumentInvalidError,
38
38
  CCIPExecutionReportChainMismatchError,
39
- CCIPExtraArgsInvalidError,
40
39
  CCIPHttpError,
41
40
  CCIPNotImplementedError,
42
41
  CCIPReceiptNotFoundError,
@@ -1115,25 +1114,16 @@ export class TONChain extends Chain<typeof ChainFamily.TON> {
1115
1114
  * {@inheritDoc Chain.generateUnsignedExecute}
1116
1115
  * @throws {@link CCIPExtraArgsInvalidError} if extra args are not EVMExtraArgsV2 format
1117
1116
  */
1118
- generateUnsignedExecute(
1117
+ async generateUnsignedExecute(
1119
1118
  opts: Parameters<Chain['generateUnsignedExecute']>[0],
1120
1119
  ): Promise<UnsignedTONTx> {
1121
- if (
1122
- !(
1123
- 'input' in opts &&
1124
- 'message' in opts.input &&
1125
- 'allowOutOfOrderExecution' in opts.input.message &&
1126
- 'gasLimit' in opts.input.message
1127
- )
1128
- ) {
1129
- throw new CCIPExtraArgsInvalidError('TON')
1130
- }
1131
- const { offRamp, input } = opts
1120
+ const resolved = await this.resolveExecuteOpts(opts)
1121
+ const { offRamp, input } = resolved
1132
1122
 
1133
1123
  const unsigned = generateUnsignedExecuteReport(
1134
1124
  offRamp,
1135
1125
  input as ExecutionInput<CCIPMessage_V1_6_EVM>,
1136
- opts,
1126
+ resolved,
1137
1127
  )
1138
1128
 
1139
1129
  return Promise.resolve({
@@ -1148,16 +1138,17 @@ export class TONChain extends Chain<typeof ChainFamily.TON> {
1148
1138
  * @throws {@link CCIPReceiptNotFoundError} if execution receipt not found within timeout
1149
1139
  */
1150
1140
  async execute(opts: Parameters<Chain['execute']>[0]): Promise<CCIPExecution> {
1151
- if (!('input' in opts && 'message' in opts.input))
1152
- throw new CCIPExecutionReportChainMismatchError('TON')
1153
- const { offRamp, wallet } = opts
1154
- if (!isTONWallet(wallet)) {
1155
- throw new CCIPWalletInvalidError(wallet)
1156
- }
1141
+ const { wallet } = opts
1142
+ if (!isTONWallet(wallet)) throw new CCIPWalletInvalidError(wallet)
1157
1143
  const payer = await wallet.getAddress()
1158
1144
 
1145
+ const resolved = await this.resolveExecuteOpts(opts)
1146
+ const { offRamp } = resolved
1147
+ if (!('message' in resolved.input)) throw new CCIPExecutionReportChainMismatchError('TON')
1148
+ const message = resolved.input.message as CCIPMessage_V1_6_EVM
1149
+
1159
1150
  const { family: _, ...unsigned } = await this.generateUnsignedExecute({
1160
- ...opts,
1151
+ ...resolved,
1161
1152
  payer,
1162
1153
  })
1163
1154
 
@@ -1168,7 +1159,6 @@ export class TONChain extends Chain<typeof ChainFamily.TON> {
1168
1159
  ...unsigned,
1169
1160
  })
1170
1161
 
1171
- const message = opts.input.message as CCIPMessage_V1_6_EVM
1172
1162
  for await (const exec of this.getExecutionReceipts({
1173
1163
  offRamp,
1174
1164
  messageId: message.messageId,
package/src/utils.ts CHANGED
@@ -476,7 +476,7 @@ export function convertKeysToCamelCase(
476
476
  mapValues?: (value: unknown, key?: string) => unknown,
477
477
  key?: string,
478
478
  ): unknown {
479
- if (Array.isArray(obj) && obj.every((v) => typeof v === 'number')) {
479
+ if (Array.isArray(obj) && obj.length && obj.every((v) => typeof v === 'number')) {
480
480
  return mapValues ? mapValues(obj, key) : obj
481
481
  } else if (Array.isArray(obj)) {
482
482
  return obj.map((v) => convertKeysToCamelCase(v, mapValues, key))