@chainlink/ccip-sdk 0.95.0 → 0.96.0

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 (115) hide show
  1. package/README.md +2 -2
  2. package/dist/all-chains.d.ts +23 -0
  3. package/dist/all-chains.d.ts.map +1 -0
  4. package/dist/all-chains.js +24 -0
  5. package/dist/all-chains.js.map +1 -0
  6. package/dist/api/index.d.ts +15 -12
  7. package/dist/api/index.d.ts.map +1 -1
  8. package/dist/api/index.js +20 -16
  9. package/dist/api/index.js.map +1 -1
  10. package/dist/api/types.d.ts +25 -29
  11. package/dist/api/types.d.ts.map +1 -1
  12. package/dist/aptos/index.d.ts +33 -8
  13. package/dist/aptos/index.d.ts.map +1 -1
  14. package/dist/aptos/index.js +74 -41
  15. package/dist/aptos/index.js.map +1 -1
  16. package/dist/chain.d.ts +220 -41
  17. package/dist/chain.d.ts.map +1 -1
  18. package/dist/chain.js +105 -15
  19. package/dist/chain.js.map +1 -1
  20. package/dist/errors/codes.d.ts +2 -0
  21. package/dist/errors/codes.d.ts.map +1 -1
  22. package/dist/errors/codes.js +2 -0
  23. package/dist/errors/codes.js.map +1 -1
  24. package/dist/errors/index.d.ts +1 -1
  25. package/dist/errors/index.d.ts.map +1 -1
  26. package/dist/errors/index.js +1 -1
  27. package/dist/errors/index.js.map +1 -1
  28. package/dist/errors/recovery.d.ts.map +1 -1
  29. package/dist/errors/recovery.js +2 -0
  30. package/dist/errors/recovery.js.map +1 -1
  31. package/dist/errors/specialized.d.ts +12 -6
  32. package/dist/errors/specialized.d.ts.map +1 -1
  33. package/dist/errors/specialized.js +19 -7
  34. package/dist/errors/specialized.js.map +1 -1
  35. package/dist/evm/extra-args.d.ts +25 -0
  36. package/dist/evm/extra-args.d.ts.map +1 -0
  37. package/dist/evm/extra-args.js +328 -0
  38. package/dist/evm/extra-args.js.map +1 -0
  39. package/dist/evm/gas.d.ts.map +1 -1
  40. package/dist/evm/gas.js +7 -12
  41. package/dist/evm/gas.js.map +1 -1
  42. package/dist/evm/index.d.ts +70 -24
  43. package/dist/evm/index.d.ts.map +1 -1
  44. package/dist/evm/index.js +72 -91
  45. package/dist/evm/index.js.map +1 -1
  46. package/dist/execution.d.ts.map +1 -1
  47. package/dist/execution.js +16 -2
  48. package/dist/execution.js.map +1 -1
  49. package/dist/extra-args.d.ts +103 -4
  50. package/dist/extra-args.d.ts.map +1 -1
  51. package/dist/extra-args.js +28 -3
  52. package/dist/extra-args.js.map +1 -1
  53. package/dist/gas.d.ts +6 -3
  54. package/dist/gas.d.ts.map +1 -1
  55. package/dist/gas.js +14 -6
  56. package/dist/gas.js.map +1 -1
  57. package/dist/index.d.ts +10 -9
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +8 -8
  60. package/dist/index.js.map +1 -1
  61. package/dist/requests.d.ts +17 -9
  62. package/dist/requests.d.ts.map +1 -1
  63. package/dist/requests.js +17 -9
  64. package/dist/requests.js.map +1 -1
  65. package/dist/selectors.d.ts.map +1 -1
  66. package/dist/selectors.js +12 -0
  67. package/dist/selectors.js.map +1 -1
  68. package/dist/solana/index.d.ts +70 -15
  69. package/dist/solana/index.d.ts.map +1 -1
  70. package/dist/solana/index.js +72 -16
  71. package/dist/solana/index.js.map +1 -1
  72. package/dist/sui/index.d.ts +37 -9
  73. package/dist/sui/index.d.ts.map +1 -1
  74. package/dist/sui/index.js +40 -11
  75. package/dist/sui/index.js.map +1 -1
  76. package/dist/ton/index.d.ts +65 -19
  77. package/dist/ton/index.d.ts.map +1 -1
  78. package/dist/ton/index.js +155 -25
  79. package/dist/ton/index.js.map +1 -1
  80. package/dist/ton/send.d.ts +52 -0
  81. package/dist/ton/send.d.ts.map +1 -0
  82. package/dist/ton/send.js +166 -0
  83. package/dist/ton/send.js.map +1 -0
  84. package/dist/types.d.ts +102 -1
  85. package/dist/types.d.ts.map +1 -1
  86. package/dist/types.js.map +1 -1
  87. package/dist/utils.d.ts +15 -3
  88. package/dist/utils.d.ts.map +1 -1
  89. package/dist/utils.js +19 -6
  90. package/dist/utils.js.map +1 -1
  91. package/package.json +12 -7
  92. package/src/all-chains.ts +26 -0
  93. package/src/api/index.ts +26 -25
  94. package/src/api/types.ts +25 -30
  95. package/src/aptos/index.ts +79 -43
  96. package/src/chain.ts +274 -46
  97. package/src/errors/codes.ts +2 -0
  98. package/src/errors/index.ts +1 -1
  99. package/src/errors/recovery.ts +2 -0
  100. package/src/errors/specialized.ts +24 -7
  101. package/src/evm/extra-args.ts +377 -0
  102. package/src/evm/gas.ts +14 -13
  103. package/src/evm/index.ts +76 -125
  104. package/src/execution.ts +18 -2
  105. package/src/extra-args.ts +108 -4
  106. package/src/gas.ts +16 -9
  107. package/src/index.ts +12 -9
  108. package/src/requests.ts +17 -9
  109. package/src/selectors.ts +12 -0
  110. package/src/solana/index.ts +72 -16
  111. package/src/sui/index.ts +40 -11
  112. package/src/ton/index.ts +192 -27
  113. package/src/ton/send.ts +222 -0
  114. package/src/types.ts +103 -1
  115. package/src/utils.ts +19 -6
@@ -4,9 +4,9 @@ import { type BytesLike } from 'ethers';
4
4
  import type { PickDeep } from 'type-fest';
5
5
  import { type ChainContext, type GetBalanceOpts, type LogFilter, Chain } from '../chain.ts';
6
6
  import { type EVMExtraArgsV2, type ExtraArgs } from '../extra-args.ts';
7
+ import type { LeafHasher } from '../hasher/common.ts';
7
8
  import { type CCIPExecution, type CCIPRequest, type ChainTransaction, type CommitReport, type ExecutionReceipt, type Lane, type Log_, type NetworkInfo, type OffchainTokenData, type WithLogger, ChainFamily } from '../types.ts';
8
9
  import { type CCIPMessage_V1_6_TON, type UnsignedTONTx } from './types.ts';
9
- import type { LeafHasher } from '../hasher/common.ts';
10
10
  export type { TONWallet, UnsignedTONTx } from './types.ts';
11
11
  /**
12
12
  * TON chain implementation supporting TON networks.
@@ -46,6 +46,7 @@ export declare class TONChain extends Chain<typeof ChainFamily.TON> {
46
46
  * @param url - RPC endpoint URL for TonClient (v2).
47
47
  * @param ctx - Context containing logger.
48
48
  * @returns A new TONChain instance.
49
+ * @throws {@link CCIPHttpError} if connection to the RPC endpoint fails
49
50
  */
50
51
  static fromUrl(url: string, ctx?: ChainContext): Promise<TONChain>;
51
52
  /**
@@ -57,6 +58,7 @@ export declare class TONChain extends Chain<typeof ChainFamily.TON> {
57
58
  *
58
59
  * @param block - Logical time (lt) as number, or 'finalized' for latest block timestamp
59
60
  * @returns Unix timestamp in seconds
61
+ * @throws {@link CCIPNotImplementedError} if lt is not in cache
60
62
  */
61
63
  getBlockTimestamp(block: number | 'finalized'): Promise<number>;
62
64
  /**
@@ -72,6 +74,8 @@ export declare class TONChain extends Chain<typeof ChainFamily.TON> {
72
74
  * @param tx - Transaction identifier in either format
73
75
  * @returns ChainTransaction with transaction details
74
76
  * Note: `blockNumber` contains logical time (lt), not block seqno
77
+ * @throws {@link CCIPArgumentInvalidError} if hash format is invalid
78
+ * @throws {@link CCIPTransactionNotFoundError} if transaction not found
75
79
  */
76
80
  getTransaction(tx: string | Transaction): Promise<ChainTransaction>;
77
81
  /**
@@ -81,9 +85,13 @@ export declare class TONChain extends Chain<typeof ChainFamily.TON> {
81
85
  * not block sequence numbers. This is because TON transaction APIs are indexed by lt.
82
86
  *
83
87
  * @param opts - Log filter options (startBlock/endBlock are interpreted as lt values)
88
+ * @throws {@link CCIPTopicsInvalidError} if topics format is invalid
84
89
  */
85
90
  getLogs(opts: LogFilter): AsyncIterableIterator<Log_>;
86
- /** {@inheritDoc Chain.getMessagesInBatch} */
91
+ /**
92
+ * {@inheritDoc Chain.getMessagesInBatch}
93
+ * @throws {@link CCIPNotImplementedError} always (not implemented for TON)
94
+ */
87
95
  getMessagesInBatch<R extends PickDeep<CCIPRequest, 'lane' | `log.${'topics' | 'address' | 'blockNumber'}` | 'message.sequenceNumber'>>(_request: R, _commit: Pick<CommitReport, 'minSeqNr' | 'maxSeqNr'>, _opts?: {
88
96
  page?: number;
89
97
  }): Promise<R['message'][]>;
@@ -93,26 +101,41 @@ export declare class TONChain extends Chain<typeof ChainFamily.TON> {
93
101
  getRouterForOnRamp(onRamp: string, destChainSelector: bigint): Promise<string>;
94
102
  /** {@inheritDoc Chain.getRouterForOffRamp} */
95
103
  getRouterForOffRamp(offRamp: string, sourceChainSelector: bigint): Promise<string>;
96
- /** {@inheritDoc Chain.getNativeTokenForRouter} */
104
+ /**
105
+ * {@inheritDoc Chain.getNativeTokenForRouter}
106
+ * @throws {@link CCIPNotImplementedError} always (not implemented for TON)
107
+ */
97
108
  getNativeTokenForRouter(_router: string): Promise<string>;
98
109
  /** {@inheritDoc Chain.getOffRampsForRouter} */
99
110
  getOffRampsForRouter(router: string, sourceChainSelector: bigint): Promise<string[]>;
100
111
  /** {@inheritDoc Chain.getOnRampForRouter} */
101
112
  getOnRampForRouter(router: string, destChainSelector: bigint): Promise<string>;
102
- /** {@inheritDoc Chain.getOnRampForOffRamp} */
113
+ /**
114
+ * {@inheritDoc Chain.getOnRampForOffRamp}
115
+ * @throws {@link CCIPSourceChainUnsupportedError} if source chain is not configured
116
+ */
103
117
  getOnRampForOffRamp(offRamp: string, sourceChainSelector: bigint): Promise<string>;
104
118
  /** {@inheritDoc Chain.getCommitStoreForOffRamp} */
105
119
  getCommitStoreForOffRamp(offRamp: string): Promise<string>;
106
- /** {@inheritDoc Chain.getTokenForTokenPool} */
120
+ /**
121
+ * {@inheritDoc Chain.getTokenForTokenPool}
122
+ * @throws {@link CCIPNotImplementedError} always (not implemented for TON)
123
+ */
107
124
  getTokenForTokenPool(_tokenPool: string): Promise<string>;
108
125
  /** {@inheritDoc Chain.getTokenInfo} */
109
126
  getTokenInfo(token: string): Promise<{
110
127
  symbol: string;
111
128
  decimals: number;
112
129
  }>;
113
- /** {@inheritDoc Chain.getBalance} */
114
- getBalance(_opts: GetBalanceOpts): Promise<bigint>;
115
- /** {@inheritDoc Chain.getTokenAdminRegistryFor} */
130
+ /**
131
+ * {@inheritDoc Chain.getBalance}
132
+ * @throws {@link CCIPNotImplementedError} always (not implemented for TON)
133
+ */
134
+ getBalance(opts: GetBalanceOpts): Promise<bigint>;
135
+ /**
136
+ * {@inheritDoc Chain.getTokenAdminRegistryFor}
137
+ * @throws {@link CCIPNotImplementedError} always (not implemented for TON)
138
+ */
116
139
  getTokenAdminRegistryFor(_address: string): Promise<string>;
117
140
  /**
118
141
  * Decodes a CCIP message from a TON log event.
@@ -186,6 +209,7 @@ export declare class TONChain extends Chain<typeof ChainFamily.TON> {
186
209
  * and raw format strings ("workchain:hash").
187
210
  * @param bytes - Bytes or string to convert.
188
211
  * @returns TON raw address string in format "workchain:hash".
212
+ * @throws {@link CCIPArgumentInvalidError} if bytes length is invalid
189
213
  */
190
214
  static getAddress(bytes: BytesLike): string;
191
215
  /**
@@ -217,16 +241,23 @@ export declare class TONChain extends Chain<typeof ChainFamily.TON> {
217
241
  */
218
242
  static getDestLeafHasher(lane: Lane, _ctx?: WithLogger): LeafHasher;
219
243
  /** {@inheritDoc Chain.getFee} */
220
- getFee(_opts: Parameters<Chain['getFee']>[0]): Promise<bigint>;
244
+ getFee({ router, destChainSelector, message, }: Parameters<Chain['getFee']>[0]): Promise<bigint>;
221
245
  /** {@inheritDoc Chain.generateUnsignedSendMessage} */
222
- generateUnsignedSendMessage(_opts: Parameters<Chain['generateUnsignedSendMessage']>[0]): Promise<never>;
246
+ generateUnsignedSendMessage({ router, destChainSelector, message, sender, }: Parameters<Chain['generateUnsignedSendMessage']>[0]): Promise<UnsignedTONTx>;
223
247
  /** {@inheritDoc Chain.sendMessage} */
224
- sendMessage(_opts: Parameters<Chain['sendMessage']>[0]): Promise<CCIPRequest>;
248
+ sendMessage({ router, destChainSelector, message, wallet, }: Parameters<Chain['sendMessage']>[0]): Promise<CCIPRequest>;
225
249
  /** {@inheritDoc Chain.getOffchainTokenData} */
226
250
  getOffchainTokenData(request: CCIPRequest): Promise<OffchainTokenData[]>;
227
- /** {@inheritDoc Chain.generateUnsignedExecuteReport} */
251
+ /**
252
+ * {@inheritDoc Chain.generateUnsignedExecuteReport}
253
+ * @throws {@link CCIPExtraArgsInvalidError} if extra args are not EVMExtraArgsV2 format
254
+ */
228
255
  generateUnsignedExecuteReport({ offRamp, execReport, ...opts }: Parameters<Chain['generateUnsignedExecuteReport']>[0]): Promise<UnsignedTONTx>;
229
- /** {@inheritDoc Chain.executeReport} */
256
+ /**
257
+ * {@inheritDoc Chain.executeReport}
258
+ * @throws {@link CCIPWalletInvalidError} if wallet is not a valid TON wallet
259
+ * @throws {@link CCIPReceiptNotFoundError} if execution receipt not found within timeout
260
+ */
230
261
  executeReport(opts: Parameters<Chain['executeReport']>[0]): Promise<CCIPExecution>;
231
262
  /**
232
263
  * Parses raw TON data into typed structures.
@@ -238,15 +269,30 @@ export declare class TONChain extends Chain<typeof ChainFamily.TON> {
238
269
  } & {
239
270
  _tag: "EVMExtraArgsV2";
240
271
  }) | undefined;
241
- /** {@inheritDoc Chain.getSupportedTokens} */
272
+ /**
273
+ * {@inheritDoc Chain.getSupportedTokens}
274
+ * @throws {@link CCIPNotImplementedError} always (not implemented for TON)
275
+ */
242
276
  getSupportedTokens(_address: string): Promise<string[]>;
243
- /** {@inheritDoc Chain.getRegistryTokenConfig} */
277
+ /**
278
+ * {@inheritDoc Chain.getRegistryTokenConfig}
279
+ * @throws {@link CCIPNotImplementedError} always (not implemented for TON)
280
+ */
244
281
  getRegistryTokenConfig(_address: string, _tokenName: string): Promise<never>;
245
- /** {@inheritDoc Chain.getTokenPoolConfigs} */
246
- getTokenPoolConfigs(_tokenPool: string): Promise<never>;
247
- /** {@inheritDoc Chain.getTokenPoolRemotes} */
282
+ /**
283
+ * {@inheritDoc Chain.getTokenPoolConfig}
284
+ * @throws {@link CCIPNotImplementedError} always (not implemented for TON)
285
+ */
286
+ getTokenPoolConfig(_tokenPool: string): Promise<never>;
287
+ /**
288
+ * {@inheritDoc Chain.getTokenPoolRemotes}
289
+ * @throws {@link CCIPNotImplementedError} always (not implemented for TON)
290
+ */
248
291
  getTokenPoolRemotes(_tokenPool: string): Promise<never>;
249
- /** {@inheritDoc Chain.getFeeTokens} */
292
+ /**
293
+ * {@inheritDoc Chain.getFeeTokens}
294
+ * @throws {@link CCIPNotImplementedError} always (not implemented for TON)
295
+ */
250
296
  getFeeTokens(_router: string): Promise<never>;
251
297
  }
252
298
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ton/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ton/index.ts"],"names":[],"mappings":"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"}
package/dist/ton/index.js CHANGED
@@ -5,11 +5,13 @@ import { getAdapter } from 'axios';
5
5
  import { hexlify, isBytesLike, isHexString, toBeArray, toBeHex } from 'ethers';
6
6
  import { memoize } from 'micro-memoize';
7
7
  import { streamTransactionsForAddress } from "./logs.js";
8
+ import { generateUnsignedCcipSend, getFee as getFeeImpl } from "./send.js";
8
9
  import { Chain } from "../chain.js";
9
10
  import { CCIPArgumentInvalidError, CCIPExtraArgsInvalidError, CCIPHttpError, CCIPNotImplementedError, CCIPReceiptNotFoundError, CCIPSourceChainUnsupportedError, CCIPTopicsInvalidError, CCIPTransactionNotFoundError, CCIPWalletInvalidError, } from "../errors/specialized.js";
10
11
  import { EVMExtraArgsV2Tag } from "../extra-args.js";
12
+ import { buildMessageForDest } from "../requests.js";
11
13
  import { supportedChains } from "../supported-chains.js";
12
- import { ChainFamily, ExecutionState, } from "../types.js";
14
+ import { CCIPVersion, ChainFamily, ExecutionState, } from "../types.js";
13
15
  import { bytesToBuffer, createRateLimitedFetch, decodeAddress, networkInfo, parseTypeAndVersion, sleep, } from "../utils.js";
14
16
  import { generateUnsignedExecuteReport as generateUnsignedExecuteReportImpl } from "./exec.js";
15
17
  import { getTONLeafHasher } from "./hasher.js";
@@ -122,6 +124,7 @@ export class TONChain extends Chain {
122
124
  * @param url - RPC endpoint URL for TonClient (v2).
123
125
  * @param ctx - Context containing logger.
124
126
  * @returns A new TONChain instance.
127
+ * @throws {@link CCIPHttpError} if connection to the RPC endpoint fails
125
128
  */
126
129
  static async fromUrl(url, ctx) {
127
130
  const { logger = console } = ctx ?? {};
@@ -159,6 +162,7 @@ export class TONChain extends Chain {
159
162
  *
160
163
  * @param block - Logical time (lt) as number, or 'finalized' for latest block timestamp
161
164
  * @returns Unix timestamp in seconds
165
+ * @throws {@link CCIPNotImplementedError} if lt is not in cache
162
166
  */
163
167
  async getBlockTimestamp(block) {
164
168
  if (typeof block != 'number') {
@@ -182,6 +186,8 @@ export class TONChain extends Chain {
182
186
  * @param tx - Transaction identifier in either format
183
187
  * @returns ChainTransaction with transaction details
184
188
  * Note: `blockNumber` contains logical time (lt), not block seqno
189
+ * @throws {@link CCIPArgumentInvalidError} if hash format is invalid
190
+ * @throws {@link CCIPTransactionNotFoundError} if transaction not found
185
191
  */
186
192
  async getTransaction(tx) {
187
193
  let address;
@@ -258,6 +264,7 @@ export class TONChain extends Chain {
258
264
  * not block sequence numbers. This is because TON transaction APIs are indexed by lt.
259
265
  *
260
266
  * @param opts - Log filter options (startBlock/endBlock are interpreted as lt values)
267
+ * @throws {@link CCIPTopicsInvalidError} if topics format is invalid
261
268
  */
262
269
  async *getLogs(opts) {
263
270
  let topics;
@@ -279,7 +286,10 @@ export class TONChain extends Chain {
279
286
  }
280
287
  }
281
288
  }
282
- /** {@inheritDoc Chain.getMessagesInBatch} */
289
+ /**
290
+ * {@inheritDoc Chain.getMessagesInBatch}
291
+ * @throws {@link CCIPNotImplementedError} always (not implemented for TON)
292
+ */
283
293
  async getMessagesInBatch(_request, _commit, _opts) {
284
294
  return Promise.reject(new CCIPNotImplementedError('getMessagesInBatch'));
285
295
  }
@@ -314,9 +324,14 @@ export class TONChain extends Chain {
314
324
  ]);
315
325
  return stack.readAddress().toRawString();
316
326
  }
317
- /** {@inheritDoc Chain.getNativeTokenForRouter} */
327
+ /**
328
+ * {@inheritDoc Chain.getNativeTokenForRouter}
329
+ * @throws {@link CCIPNotImplementedError} always (not implemented for TON)
330
+ */
318
331
  getNativeTokenForRouter(_router) {
319
- return Promise.reject(new CCIPNotImplementedError('getNativeTokenForRouter'));
332
+ // TON native token is represented as address 0:0...01 (workchain 0, hash = 1)
333
+ // This is a convention for representing native TON in CCIP
334
+ return Promise.resolve('0:0000000000000000000000000000000000000000000000000000000000000001');
320
335
  }
321
336
  /** {@inheritDoc Chain.getOffRampsForRouter} */
322
337
  async getOffRampsForRouter(router, sourceChainSelector) {
@@ -336,7 +351,10 @@ export class TONChain extends Chain {
336
351
  ]);
337
352
  return stack.readAddress().toRawString();
338
353
  }
339
- /** {@inheritDoc Chain.getOnRampForOffRamp} */
354
+ /**
355
+ * {@inheritDoc Chain.getOnRampForOffRamp}
356
+ * @throws {@link CCIPSourceChainUnsupportedError} if source chain is not configured
357
+ */
340
358
  async getOnRampForOffRamp(offRamp, sourceChainSelector) {
341
359
  try {
342
360
  const offRampContract = this.provider.provider(Address.parse(offRamp));
@@ -378,7 +396,10 @@ export class TONChain extends Chain {
378
396
  // TODO: FIXME: check assumption
379
397
  return Promise.resolve(offRamp);
380
398
  }
381
- /** {@inheritDoc Chain.getTokenForTokenPool} */
399
+ /**
400
+ * {@inheritDoc Chain.getTokenForTokenPool}
401
+ * @throws {@link CCIPNotImplementedError} always (not implemented for TON)
402
+ */
382
403
  async getTokenForTokenPool(_tokenPool) {
383
404
  return Promise.reject(new CCIPNotImplementedError('getTokenForTokenPool'));
384
405
  }
@@ -402,11 +423,39 @@ export class TONChain extends Chain {
402
423
  return { symbol: '', decimals: this.constructor.decimals };
403
424
  }
404
425
  }
405
- /** {@inheritDoc Chain.getBalance} */
406
- async getBalance(_opts) {
407
- return Promise.reject(new CCIPNotImplementedError('TONChain.getBalance'));
426
+ /**
427
+ * {@inheritDoc Chain.getBalance}
428
+ * @throws {@link CCIPNotImplementedError} always (not implemented for TON)
429
+ */
430
+ async getBalance(opts) {
431
+ const { holder, token } = opts;
432
+ const holderAddress = Address.parse(holder);
433
+ if (!token) {
434
+ // Get native TON balance
435
+ const state = await this.provider.getContractState(holderAddress);
436
+ return state.balance;
437
+ }
438
+ // For jetton balance, we need to:
439
+ // 1. Derive the jetton wallet address for this holder
440
+ // 2. Query the balance from that wallet contract
441
+ const jettonMaster = Address.parse(token);
442
+ const { stack } = await this.provider.runMethod(jettonMaster, 'get_wallet_address', [
443
+ { type: 'slice', cell: beginCell().storeAddress(holderAddress).endCell() },
444
+ ]);
445
+ const jettonWalletAddress = stack.readAddress();
446
+ try {
447
+ const { stack: balanceStack } = await this.provider.runMethod(jettonWalletAddress, 'get_wallet_data');
448
+ return balanceStack.readBigNumber(); // First value is balance
449
+ }
450
+ catch {
451
+ // Wallet doesn't exist yet = 0 balance
452
+ return 0n;
453
+ }
408
454
  }
409
- /** {@inheritDoc Chain.getTokenAdminRegistryFor} */
455
+ /**
456
+ * {@inheritDoc Chain.getTokenAdminRegistryFor}
457
+ * @throws {@link CCIPNotImplementedError} always (not implemented for TON)
458
+ */
410
459
  getTokenAdminRegistryFor(_address) {
411
460
  return Promise.reject(new CCIPNotImplementedError('getTokenAdminRegistryFor'));
412
461
  }
@@ -671,6 +720,7 @@ export class TONChain extends Chain {
671
720
  * and raw format strings ("workchain:hash").
672
721
  * @param bytes - Bytes or string to convert.
673
722
  * @returns TON raw address string in format "workchain:hash".
723
+ * @throws {@link CCIPArgumentInvalidError} if bytes length is invalid
674
724
  */
675
725
  static getAddress(bytes) {
676
726
  // If it's already a string address, try to parse and return raw format
@@ -785,22 +835,83 @@ export class TONChain extends Chain {
785
835
  return getTONLeafHasher(lane);
786
836
  }
787
837
  /** {@inheritDoc Chain.getFee} */
788
- async getFee(_opts) {
789
- return Promise.reject(new CCIPNotImplementedError('getFee'));
838
+ async getFee({ router, destChainSelector, message, }) {
839
+ return getFeeImpl(this, router, destChainSelector, buildMessageForDest(message, networkInfo(destChainSelector).family));
790
840
  }
791
841
  /** {@inheritDoc Chain.generateUnsignedSendMessage} */
792
- generateUnsignedSendMessage(_opts) {
793
- return Promise.reject(new CCIPNotImplementedError('generateUnsignedSendMessage'));
842
+ async generateUnsignedSendMessage({ router, destChainSelector, message, sender, }) {
843
+ // Convert MessageInput to AnyMessage with defaults
844
+ const populatedMessage = buildMessageForDest(message, networkInfo(destChainSelector).family);
845
+ // Calculate fee if not provided
846
+ const fee = message.fee ??
847
+ (await this.getFee({
848
+ router,
849
+ destChainSelector,
850
+ message: populatedMessage,
851
+ }));
852
+ const unsigned = generateUnsignedCcipSend(this, sender, router, destChainSelector, {
853
+ ...populatedMessage,
854
+ fee,
855
+ });
856
+ return {
857
+ family: ChainFamily.TON,
858
+ ...unsigned,
859
+ };
794
860
  }
795
861
  /** {@inheritDoc Chain.sendMessage} */
796
- async sendMessage(_opts) {
797
- return Promise.reject(new CCIPNotImplementedError('sendMessage'));
862
+ async sendMessage({ router, destChainSelector, message, wallet, }) {
863
+ if (!isTONWallet(wallet)) {
864
+ throw new CCIPWalletInvalidError(wallet);
865
+ }
866
+ const sender = await wallet.getAddress();
867
+ // Generate unsigned transaction with fee calculation if needed
868
+ const { family: _, ...unsigned } = await this.generateUnsignedSendMessage({
869
+ router,
870
+ destChainSelector,
871
+ message,
872
+ sender,
873
+ });
874
+ // Send transaction
875
+ const startTime = Math.floor(Date.now() / 1000);
876
+ const seqno = await wallet.sendTransaction(unsigned);
877
+ this.logger.info('CCIP send transaction submitted, seqno:', seqno);
878
+ // Wait for CCIPMessageSent event and extract the request
879
+ // Query the OnRamp for the CCIPMessageSent event
880
+ const onRamp = await this.getOnRampForRouter(router, destChainSelector);
881
+ // Poll for the message in recent logs
882
+ for await (const log of this.getLogs({
883
+ address: onRamp,
884
+ topics: [crc32('CCIPMessageSent')],
885
+ startTime,
886
+ watch: sleep(5 * 60e3 /* 5m timeout */),
887
+ })) {
888
+ const msg = TONChain.decodeMessage(log);
889
+ if (!msg)
890
+ continue;
891
+ // Found our message: construct and return the CCIPRequest
892
+ const tx = log.tx ?? (await this.getTransaction(log.transactionHash));
893
+ return {
894
+ lane: {
895
+ sourceChainSelector: this.network.chainSelector,
896
+ destChainSelector,
897
+ onRamp,
898
+ version: CCIPVersion.V1_6,
899
+ },
900
+ message: msg,
901
+ log,
902
+ tx,
903
+ };
904
+ }
905
+ throw new CCIPTransactionNotFoundError(seqno.toString());
798
906
  }
799
907
  /** {@inheritDoc Chain.getOffchainTokenData} */
800
908
  getOffchainTokenData(request) {
801
909
  return Promise.resolve(request.message.tokenAmounts.map(() => undefined));
802
910
  }
803
- /** {@inheritDoc Chain.generateUnsignedExecuteReport} */
911
+ /**
912
+ * {@inheritDoc Chain.generateUnsignedExecuteReport}
913
+ * @throws {@link CCIPExtraArgsInvalidError} if extra args are not EVMExtraArgsV2 format
914
+ */
804
915
  generateUnsignedExecuteReport({ offRamp, execReport, ...opts }) {
805
916
  if (!('allowOutOfOrderExecution' in execReport.message && 'gasLimit' in execReport.message)) {
806
917
  throw new CCIPExtraArgsInvalidError('TON');
@@ -811,7 +922,11 @@ export class TONChain extends Chain {
811
922
  ...unsigned,
812
923
  });
813
924
  }
814
- /** {@inheritDoc Chain.executeReport} */
925
+ /**
926
+ * {@inheritDoc Chain.executeReport}
927
+ * @throws {@link CCIPWalletInvalidError} if wallet is not a valid TON wallet
928
+ * @throws {@link CCIPReceiptNotFoundError} if execution receipt not found within timeout
929
+ */
815
930
  async executeReport(opts) {
816
931
  const { offRamp, wallet } = opts;
817
932
  if (!isTONWallet(wallet)) {
@@ -852,23 +967,38 @@ export class TONChain extends Chain {
852
967
  return parsedExtraArgs;
853
968
  }
854
969
  }
855
- /** {@inheritDoc Chain.getSupportedTokens} */
970
+ /**
971
+ * {@inheritDoc Chain.getSupportedTokens}
972
+ * @throws {@link CCIPNotImplementedError} always (not implemented for TON)
973
+ */
856
974
  async getSupportedTokens(_address) {
857
975
  return Promise.reject(new CCIPNotImplementedError('getSupportedTokens'));
858
976
  }
859
- /** {@inheritDoc Chain.getRegistryTokenConfig} */
977
+ /**
978
+ * {@inheritDoc Chain.getRegistryTokenConfig}
979
+ * @throws {@link CCIPNotImplementedError} always (not implemented for TON)
980
+ */
860
981
  async getRegistryTokenConfig(_address, _tokenName) {
861
982
  return Promise.reject(new CCIPNotImplementedError('getRegistryTokenConfig'));
862
983
  }
863
- /** {@inheritDoc Chain.getTokenPoolConfigs} */
864
- async getTokenPoolConfigs(_tokenPool) {
865
- return Promise.reject(new CCIPNotImplementedError('getTokenPoolConfigs'));
984
+ /**
985
+ * {@inheritDoc Chain.getTokenPoolConfig}
986
+ * @throws {@link CCIPNotImplementedError} always (not implemented for TON)
987
+ */
988
+ async getTokenPoolConfig(_tokenPool) {
989
+ return Promise.reject(new CCIPNotImplementedError('getTokenPoolConfig'));
866
990
  }
867
- /** {@inheritDoc Chain.getTokenPoolRemotes} */
991
+ /**
992
+ * {@inheritDoc Chain.getTokenPoolRemotes}
993
+ * @throws {@link CCIPNotImplementedError} always (not implemented for TON)
994
+ */
868
995
  async getTokenPoolRemotes(_tokenPool) {
869
996
  return Promise.reject(new CCIPNotImplementedError('getTokenPoolRemotes'));
870
997
  }
871
- /** {@inheritDoc Chain.getFeeTokens} */
998
+ /**
999
+ * {@inheritDoc Chain.getFeeTokens}
1000
+ * @throws {@link CCIPNotImplementedError} always (not implemented for TON)
1001
+ */
872
1002
  async getFeeTokens(_router) {
873
1003
  return Promise.reject(new CCIPNotImplementedError('getFeeTokens'));
874
1004
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ton/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ton/index.ts"],"names":[],"mappings":"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"}