@chainlink/ccip-sdk 0.95.0 → 0.97.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 (217) 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 +31 -19
  7. package/dist/api/index.d.ts.map +1 -1
  8. package/dist/api/index.js +46 -25
  9. package/dist/api/index.js.map +1 -1
  10. package/dist/api/types.d.ts +24 -30
  11. package/dist/api/types.d.ts.map +1 -1
  12. package/dist/aptos/exec.d.ts +2 -2
  13. package/dist/aptos/exec.d.ts.map +1 -1
  14. package/dist/aptos/exec.js.map +1 -1
  15. package/dist/aptos/hasher.d.ts.map +1 -1
  16. package/dist/aptos/hasher.js +1 -1
  17. package/dist/aptos/hasher.js.map +1 -1
  18. package/dist/aptos/index.d.ts +43 -15
  19. package/dist/aptos/index.d.ts.map +1 -1
  20. package/dist/aptos/index.js +112 -105
  21. package/dist/aptos/index.js.map +1 -1
  22. package/dist/aptos/types.d.ts +2 -19
  23. package/dist/aptos/types.d.ts.map +1 -1
  24. package/dist/aptos/types.js +0 -11
  25. package/dist/aptos/types.js.map +1 -1
  26. package/dist/chain.d.ts +734 -174
  27. package/dist/chain.d.ts.map +1 -1
  28. package/dist/chain.js +216 -31
  29. package/dist/chain.js.map +1 -1
  30. package/dist/commits.d.ts +4 -6
  31. package/dist/commits.d.ts.map +1 -1
  32. package/dist/commits.js +4 -4
  33. package/dist/commits.js.map +1 -1
  34. package/dist/errors/CCIPError.d.ts +33 -4
  35. package/dist/errors/CCIPError.d.ts.map +1 -1
  36. package/dist/errors/CCIPError.js +33 -4
  37. package/dist/errors/CCIPError.js.map +1 -1
  38. package/dist/errors/codes.d.ts +5 -0
  39. package/dist/errors/codes.d.ts.map +1 -1
  40. package/dist/errors/codes.js +5 -1
  41. package/dist/errors/codes.js.map +1 -1
  42. package/dist/errors/index.d.ts +2 -2
  43. package/dist/errors/index.d.ts.map +1 -1
  44. package/dist/errors/index.js +2 -2
  45. package/dist/errors/index.js.map +1 -1
  46. package/dist/errors/recovery.d.ts.map +1 -1
  47. package/dist/errors/recovery.js +6 -1
  48. package/dist/errors/recovery.js.map +1 -1
  49. package/dist/errors/specialized.d.ts +1702 -121
  50. package/dist/errors/specialized.d.ts.map +1 -1
  51. package/dist/errors/specialized.js +1729 -125
  52. package/dist/errors/specialized.js.map +1 -1
  53. package/dist/errors/utils.d.ts.map +1 -1
  54. package/dist/errors/utils.js +0 -1
  55. package/dist/errors/utils.js.map +1 -1
  56. package/dist/evm/abi/OffRamp_2_0.d.ts +764 -0
  57. package/dist/evm/abi/OffRamp_2_0.d.ts.map +1 -0
  58. package/dist/evm/abi/OffRamp_2_0.js +744 -0
  59. package/dist/evm/abi/OffRamp_2_0.js.map +1 -0
  60. package/dist/evm/abi/OnRamp_2_0.d.ts +925 -0
  61. package/dist/evm/abi/OnRamp_2_0.d.ts.map +1 -0
  62. package/dist/evm/abi/OnRamp_2_0.js +992 -0
  63. package/dist/evm/abi/OnRamp_2_0.js.map +1 -0
  64. package/dist/evm/const.d.ts +12 -2
  65. package/dist/evm/const.d.ts.map +1 -1
  66. package/dist/evm/const.js +8 -2
  67. package/dist/evm/const.js.map +1 -1
  68. package/dist/evm/errors.d.ts.map +1 -1
  69. package/dist/evm/errors.js +7 -2
  70. package/dist/evm/errors.js.map +1 -1
  71. package/dist/evm/extra-args.d.ts +25 -0
  72. package/dist/evm/extra-args.d.ts.map +1 -0
  73. package/dist/evm/extra-args.js +309 -0
  74. package/dist/evm/extra-args.js.map +1 -0
  75. package/dist/evm/gas.d.ts.map +1 -1
  76. package/dist/evm/gas.js +7 -12
  77. package/dist/evm/gas.js.map +1 -1
  78. package/dist/evm/hasher.d.ts.map +1 -1
  79. package/dist/evm/hasher.js +23 -13
  80. package/dist/evm/hasher.js.map +1 -1
  81. package/dist/evm/index.d.ts +140 -35
  82. package/dist/evm/index.d.ts.map +1 -1
  83. package/dist/evm/index.js +306 -226
  84. package/dist/evm/index.js.map +1 -1
  85. package/dist/evm/messages.d.ts +59 -5
  86. package/dist/evm/messages.d.ts.map +1 -1
  87. package/dist/evm/messages.js +210 -0
  88. package/dist/evm/messages.js.map +1 -1
  89. package/dist/evm/offchain.js.map +1 -1
  90. package/dist/evm/types.d.ts +7 -2
  91. package/dist/evm/types.d.ts.map +1 -1
  92. package/dist/evm/types.js +22 -1
  93. package/dist/evm/types.js.map +1 -1
  94. package/dist/execution.d.ts +62 -22
  95. package/dist/execution.d.ts.map +1 -1
  96. package/dist/execution.js +102 -51
  97. package/dist/execution.js.map +1 -1
  98. package/dist/extra-args.d.ts +113 -4
  99. package/dist/extra-args.d.ts.map +1 -1
  100. package/dist/extra-args.js +38 -3
  101. package/dist/extra-args.js.map +1 -1
  102. package/dist/gas.d.ts +31 -5
  103. package/dist/gas.d.ts.map +1 -1
  104. package/dist/gas.js +43 -9
  105. package/dist/gas.js.map +1 -1
  106. package/dist/index.d.ts +11 -10
  107. package/dist/index.d.ts.map +1 -1
  108. package/dist/index.js +8 -8
  109. package/dist/index.js.map +1 -1
  110. package/dist/requests.d.ts +101 -22
  111. package/dist/requests.d.ts.map +1 -1
  112. package/dist/requests.js +115 -24
  113. package/dist/requests.js.map +1 -1
  114. package/dist/selectors.d.ts.map +1 -1
  115. package/dist/selectors.js +24 -0
  116. package/dist/selectors.js.map +1 -1
  117. package/dist/shared/bcs-codecs.d.ts +61 -0
  118. package/dist/shared/bcs-codecs.d.ts.map +1 -0
  119. package/dist/shared/bcs-codecs.js +102 -0
  120. package/dist/shared/bcs-codecs.js.map +1 -0
  121. package/dist/shared/constants.d.ts +3 -0
  122. package/dist/shared/constants.d.ts.map +1 -0
  123. package/dist/shared/constants.js +3 -0
  124. package/dist/shared/constants.js.map +1 -0
  125. package/dist/solana/exec.d.ts +2 -2
  126. package/dist/solana/exec.d.ts.map +1 -1
  127. package/dist/solana/exec.js.map +1 -1
  128. package/dist/solana/index.d.ts +148 -30
  129. package/dist/solana/index.d.ts.map +1 -1
  130. package/dist/solana/index.js +137 -44
  131. package/dist/solana/index.js.map +1 -1
  132. package/dist/sui/hasher.d.ts.map +1 -1
  133. package/dist/sui/hasher.js +1 -1
  134. package/dist/sui/hasher.js.map +1 -1
  135. package/dist/sui/index.d.ts +49 -19
  136. package/dist/sui/index.d.ts.map +1 -1
  137. package/dist/sui/index.js +76 -43
  138. package/dist/sui/index.js.map +1 -1
  139. package/dist/sui/manuallyExec/encoder.d.ts +2 -2
  140. package/dist/sui/manuallyExec/encoder.d.ts.map +1 -1
  141. package/dist/sui/manuallyExec/encoder.js.map +1 -1
  142. package/dist/sui/manuallyExec/index.d.ts +2 -2
  143. package/dist/sui/manuallyExec/index.d.ts.map +1 -1
  144. package/dist/ton/exec.d.ts +2 -2
  145. package/dist/ton/exec.d.ts.map +1 -1
  146. package/dist/ton/exec.js.map +1 -1
  147. package/dist/ton/index.d.ts +66 -27
  148. package/dist/ton/index.d.ts.map +1 -1
  149. package/dist/ton/index.js +172 -47
  150. package/dist/ton/index.js.map +1 -1
  151. package/dist/ton/send.d.ts +52 -0
  152. package/dist/ton/send.d.ts.map +1 -0
  153. package/dist/ton/send.js +166 -0
  154. package/dist/ton/send.js.map +1 -0
  155. package/dist/ton/types.d.ts +2 -2
  156. package/dist/ton/types.d.ts.map +1 -1
  157. package/dist/ton/types.js.map +1 -1
  158. package/dist/types.d.ts +148 -12
  159. package/dist/types.d.ts.map +1 -1
  160. package/dist/types.js +6 -1
  161. package/dist/types.js.map +1 -1
  162. package/dist/utils.d.ts +79 -4
  163. package/dist/utils.d.ts.map +1 -1
  164. package/dist/utils.js +92 -7
  165. package/dist/utils.js.map +1 -1
  166. package/package.json +16 -11
  167. package/src/all-chains.ts +26 -0
  168. package/src/api/index.ts +58 -34
  169. package/src/api/types.ts +24 -31
  170. package/src/aptos/exec.ts +2 -2
  171. package/src/aptos/hasher.ts +1 -1
  172. package/src/aptos/index.ts +127 -129
  173. package/src/aptos/types.ts +2 -15
  174. package/src/chain.ts +837 -191
  175. package/src/commits.ts +9 -9
  176. package/src/errors/CCIPError.ts +33 -4
  177. package/src/errors/codes.ts +5 -1
  178. package/src/errors/index.ts +2 -1
  179. package/src/errors/recovery.ts +9 -1
  180. package/src/errors/specialized.ts +1745 -132
  181. package/src/errors/utils.ts +0 -1
  182. package/src/evm/abi/OffRamp_2_0.ts +743 -0
  183. package/src/evm/abi/OnRamp_2_0.ts +991 -0
  184. package/src/evm/const.ts +10 -3
  185. package/src/evm/errors.ts +6 -2
  186. package/src/evm/extra-args.ts +360 -0
  187. package/src/evm/gas.ts +14 -13
  188. package/src/evm/hasher.ts +30 -18
  189. package/src/evm/index.ts +376 -281
  190. package/src/evm/messages.ts +323 -11
  191. package/src/evm/offchain.ts +2 -2
  192. package/src/evm/types.ts +20 -2
  193. package/src/execution.ts +126 -71
  194. package/src/extra-args.ts +118 -4
  195. package/src/gas.ts +44 -11
  196. package/src/index.ts +14 -11
  197. package/src/requests.ts +128 -24
  198. package/src/selectors.ts +24 -0
  199. package/src/shared/bcs-codecs.ts +132 -0
  200. package/src/shared/constants.ts +2 -0
  201. package/src/solana/exec.ts +4 -4
  202. package/src/solana/index.ts +170 -82
  203. package/src/sui/hasher.ts +1 -1
  204. package/src/sui/index.ts +88 -56
  205. package/src/sui/manuallyExec/encoder.ts +2 -2
  206. package/src/sui/manuallyExec/index.ts +2 -2
  207. package/src/ton/exec.ts +2 -2
  208. package/src/ton/index.ts +220 -58
  209. package/src/ton/send.ts +222 -0
  210. package/src/ton/types.ts +2 -2
  211. package/src/types.ts +173 -30
  212. package/src/utils.ts +91 -7
  213. package/dist/aptos/utils.d.ts +0 -12
  214. package/dist/aptos/utils.d.ts.map +0 -1
  215. package/dist/aptos/utils.js +0 -15
  216. package/dist/aptos/utils.js.map +0 -1
  217. package/src/aptos/utils.ts +0 -24
@@ -11,7 +11,7 @@ import { EVMExtraArgsV2Tag, } from "../extra-args.js";
11
11
  import SELECTORS from "../selectors.js";
12
12
  import { supportedChains } from "../supported-chains.js";
13
13
  import { CCIPVersion, ChainFamily, ExecutionState, } from "../types.js";
14
- import { bytesToBuffer, createRateLimitedFetch, decodeAddress, decodeOnRampAddress, getDataBytes, leToBigInt, networkInfo, parseTypeAndVersion, toLeArray, util, } from "../utils.js";
14
+ import { bytesToBuffer, createRateLimitedFetch, decodeAddress, decodeOnRampAddress, getAddressBytes, getDataBytes, leToBigInt, networkInfo, parseTypeAndVersion, toLeArray, util, } from "../utils.js";
15
15
  import { cleanUpBuffers } from "./cleanup.js";
16
16
  import { generateUnsignedExecuteReport } from "./exec.js";
17
17
  import { getV16SolanaLeafHasher } from "./hasher.js";
@@ -27,7 +27,7 @@ import { isWallet } from "./types.js";
27
27
  import { convertRateLimiter, getErrorFromLogs, hexDiscriminator, parseSolanaLogs, resolveATA, simulateAndSendTxs, simulationProvider, } from "./utils.js";
28
28
  import { buildMessageForDest, getMessagesInBatch } from "../requests.js";
29
29
  import { patchBorsh } from "./patchBorsh.js";
30
- import { DEFAULT_GAS_LIMIT } from "../evm/const.js";
30
+ import { DEFAULT_GAS_LIMIT } from "../shared/constants.js";
31
31
  const routerCoder = new BorshCoder(CCIP_ROUTER_IDL);
32
32
  const offrampCoder = new BorshCoder(CCIP_OFFRAMP_IDL);
33
33
  const TOKEN_POOL_IDL = {
@@ -50,6 +50,29 @@ const unknownTokens = {
50
50
  };
51
51
  /**
52
52
  * Solana chain implementation supporting Solana networks.
53
+ *
54
+ * Provides methods for sending CCIP cross-chain messages, querying message
55
+ * status, fetching fee quotes, and manually executing pending messages on
56
+ * Solana networks.
57
+ *
58
+ * @remarks
59
+ * Solana uses CCIP v1.6+ protocol only.
60
+ *
61
+ * @example Create from RPC URL
62
+ * ```typescript
63
+ * import { SolanaChain } from '@chainlink/ccip-sdk'
64
+ *
65
+ * const chain = await SolanaChain.fromUrl('https://api.devnet.solana.com')
66
+ * console.log(`Connected to: ${chain.network.name}`)
67
+ * ```
68
+ *
69
+ * @example Query messages in a transaction
70
+ * ```typescript
71
+ * const requests = await chain.getMessagesInTx('5abc123...')
72
+ * for (const req of requests) {
73
+ * console.log(`Message ID: ${req.message.messageId}`)
74
+ * }
75
+ * ```
53
76
  */
54
77
  export class SolanaChain extends Chain {
55
78
  static {
@@ -115,6 +138,7 @@ export class SolanaChain extends Chain {
115
138
  * @param url - RPC endpoint URL (https://, http://, wss://, or ws://).
116
139
  * @param ctx - context containing logger.
117
140
  * @returns Solana Connection instance.
141
+ * @throws {@link CCIPDataFormatUnsupportedError} if URL format is invalid
118
142
  */
119
143
  static _getConnection(url, ctx) {
120
144
  const { logger = console } = ctx ?? {};
@@ -140,16 +164,30 @@ export class SolanaChain extends Chain {
140
164
  }
141
165
  /**
142
166
  * Creates a SolanaChain instance from an RPC URL.
143
- * @param url - RPC endpoint URL.
144
- * @param ctx - context containing logger.
145
- * @returns A new SolanaChain instance.
167
+ *
168
+ * @param url - RPC endpoint URL (https://, http://, wss://, or ws://).
169
+ * @param ctx - Optional context containing logger and API client configuration.
170
+ * @returns A new SolanaChain instance connected to the specified network.
171
+ * @throws {@link CCIPChainNotFoundError} if chain cannot be identified from genesis hash
172
+ *
173
+ * @example
174
+ * ```typescript
175
+ * // Create from devnet URL
176
+ * const chain = await SolanaChain.fromUrl('https://api.devnet.solana.com')
177
+ *
178
+ * // With custom logger
179
+ * const chain = await SolanaChain.fromUrl(url, { logger: customLogger })
180
+ * ```
146
181
  */
147
182
  static async fromUrl(url, ctx) {
148
183
  const connection = this._getConnection(url, ctx);
149
184
  return this.fromConnection(connection, ctx);
150
185
  }
151
186
  // cached
152
- /** {@inheritDoc Chain.getBlockTimestamp} */
187
+ /**
188
+ * {@inheritDoc Chain.getBlockTimestamp}
189
+ * @throws {@link CCIPBlockTimeNotFoundError} if block time cannot be retrieved
190
+ */
153
191
  async getBlockTimestamp(block) {
154
192
  if (typeof block !== 'number') {
155
193
  const slot = await this.connection.getSlot(block === 'latest' ? 'confirmed' : block);
@@ -168,7 +206,10 @@ export class SolanaChain extends Chain {
168
206
  }
169
207
  return blockTime;
170
208
  }
171
- /** {@inheritDoc Chain.getTransaction} */
209
+ /**
210
+ * {@inheritDoc Chain.getTransaction}
211
+ * @throws {@link CCIPTransactionNotFoundError} if transaction not found
212
+ */
172
213
  async getTransaction(hash) {
173
214
  const tx = await this.connection.getTransaction(hash, {
174
215
  commitment: 'confirmed',
@@ -239,6 +280,8 @@ export class SolanaChain extends Chain {
239
280
  * - `programs`: Special option to allow querying by address of interest, but yielding matching
240
281
  * logs from specific (string address) program or any (true)
241
282
  * @returns AsyncIterableIterator of parsed Log_ objects.
283
+ * @throws {@link CCIPLogsAddressRequiredError} if address is not provided
284
+ * @throws {@link CCIPTopicsInvalidError} if topics contain invalid values
242
285
  */
243
286
  async *getLogs(opts) {
244
287
  let programs;
@@ -277,7 +320,7 @@ export class SolanaChain extends Chain {
277
320
  }
278
321
  }
279
322
  /** {@inheritDoc Chain.getMessagesInBatch} */
280
- async getMessagesInBatch(request, commit, opts) {
323
+ async getMessagesInBatch(request, range, opts) {
281
324
  const [destChainStatePda] = PublicKey.findProgramAddressSync([Buffer.from('dest_chain_state'), toLeArray(request.lane.destChainSelector, 8)], new PublicKey(request.log.address));
282
325
  // getMessagesInBatch pass opts back to getLogs; use it to narrow getLogs filter only to
283
326
  // txs touching destChainStatePda
@@ -286,7 +329,7 @@ export class SolanaChain extends Chain {
286
329
  programs: [request.log.address],
287
330
  address: destChainStatePda.toBase58(),
288
331
  };
289
- return getMessagesInBatch(this, request, commit, opts_);
332
+ return getMessagesInBatch(this, request, range, opts_);
290
333
  }
291
334
  /** {@inheritDoc Chain.typeAndVersion} */
292
335
  async typeAndVersion(address) {
@@ -306,7 +349,10 @@ export class SolanaChain extends Chain {
306
349
  getRouterForOnRamp(onRamp, _destChainSelector) {
307
350
  return Promise.resolve(onRamp); // Solana's router is also the onRamp
308
351
  }
309
- /** {@inheritDoc Chain.getRouterForOffRamp} */
352
+ /**
353
+ * {@inheritDoc Chain.getRouterForOffRamp}
354
+ * @throws {@link CCIPSolanaRefAddressesNotFoundError} if reference addresses PDA not found
355
+ */
310
356
  async getRouterForOffRamp(offRamp, _sourceChainSelector) {
311
357
  const offRamp_ = new PublicKey(offRamp);
312
358
  const program = new Program(CCIP_OFFRAMP_IDL, offRamp_, {
@@ -324,7 +370,10 @@ export class SolanaChain extends Chain {
324
370
  getNativeTokenForRouter(_router) {
325
371
  return Promise.resolve(NATIVE_MINT.toBase58());
326
372
  }
327
- /** {@inheritDoc Chain.getOffRampsForRouter} */
373
+ /**
374
+ * {@inheritDoc Chain.getOffRampsForRouter}
375
+ * @throws {@link CCIPSolanaOffRampEventsNotFoundError} if no OffRamp events found
376
+ */
328
377
  async getOffRampsForRouter(router, sourceChainSelector) {
329
378
  // feeQuoter is present in router's config, and has a DestChainState account which is updated by
330
379
  // the offramps, so we can use it to narrow the search for the offramp
@@ -343,21 +392,22 @@ export class SolanaChain extends Chain {
343
392
  getOnRampForRouter(router, _destChainSelector) {
344
393
  return Promise.resolve(router); // solana's Router is also the OnRamp
345
394
  }
346
- /** {@inheritDoc Chain.getOnRampForOffRamp} */
347
- async getOnRampForOffRamp(offRamp, sourceChainSelector) {
395
+ /** {@inheritDoc Chain.getOnRampsForOffRamp} */
396
+ async getOnRampsForOffRamp(offRamp, sourceChainSelector) {
348
397
  const program = new Program(CCIP_OFFRAMP_IDL, new PublicKey(offRamp), {
349
398
  connection: this.connection,
350
399
  });
351
400
  const [statePda] = PublicKey.findProgramAddressSync([Buffer.from('source_chain_state'), toLeArray(sourceChainSelector, 8)], program.programId);
352
401
  // Decode the config account using the program's coder
353
402
  const { config: { onRamp }, } = await program.account.sourceChain.fetch(statePda);
354
- return decodeAddress(new Uint8Array(onRamp.bytes.slice(0, onRamp.len)), networkInfo(sourceChainSelector).family);
355
- }
356
- /** {@inheritDoc Chain.getCommitStoreForOffRamp} */
357
- getCommitStoreForOffRamp(offRamp) {
358
- return Promise.resolve(offRamp); // Solana supports only CCIP>=1.6, for which OffRamp and CommitStore are the same
403
+ return [
404
+ decodeAddress(getAddressBytes(onRamp.bytes).subarray(0, onRamp.len), networkInfo(sourceChainSelector).family),
405
+ ];
359
406
  }
360
- /** {@inheritDoc Chain.getTokenForTokenPool} */
407
+ /**
408
+ * {@inheritDoc Chain.getTokenForTokenPool}
409
+ * @throws {@link CCIPTokenPoolInfoNotFoundError} if token pool info not found
410
+ */
361
411
  async getTokenForTokenPool(tokenPool) {
362
412
  const tokenPoolInfo = await this.connection.getAccountInfo(new PublicKey(tokenPool));
363
413
  if (!tokenPoolInfo)
@@ -365,7 +415,11 @@ export class SolanaChain extends Chain {
365
415
  const { config } = tokenPoolCoder.accounts.decode('state', tokenPoolInfo.data);
366
416
  return config.mint.toString();
367
417
  }
368
- /** {@inheritDoc Chain.getTokenInfo} */
418
+ /**
419
+ * {@inheritDoc Chain.getTokenInfo}
420
+ * @throws {@link CCIPSplTokenInvalidError} if token is not a valid SPL token
421
+ * @throws {@link CCIPTokenDataParseError} if token data cannot be parsed
422
+ */
369
423
  async getTokenInfo(token) {
370
424
  const mint = new PublicKey(token);
371
425
  const mintInfo = await this.connection.getParsedAccountInfo(mint);
@@ -409,7 +463,10 @@ export class SolanaChain extends Chain {
409
463
  throw new CCIPTokenDataParseError(token);
410
464
  }
411
465
  }
412
- /** {@inheritDoc Chain.getBalance} */
466
+ /**
467
+ * {@inheritDoc Chain.getBalance}
468
+ * @throws {@link CCIPTokenAccountNotFoundError} if token account not found
469
+ */
413
470
  async getBalance(opts) {
414
471
  const { holder, token } = opts;
415
472
  const holderPubkey = new PublicKey(holder);
@@ -485,6 +542,7 @@ export class SolanaChain extends Chain {
485
542
  * Decodes a CCIP message from a Solana log event.
486
543
  * @param log - Log with data field.
487
544
  * @returns Decoded CCIPMessage or undefined if not valid.
545
+ * @throws {@link CCIPExtraArgsInvalidError} if extra args cannot be decoded
488
546
  */
489
547
  static decodeMessage({ data }) {
490
548
  if (!data || typeof data !== 'string')
@@ -555,6 +613,7 @@ export class SolanaChain extends Chain {
555
613
  * Decodes extra arguments from Solana CCIP messages.
556
614
  * @param extraArgs - Encoded extra arguments bytes.
557
615
  * @returns Decoded EVMExtraArgsV2 or undefined if unknown format.
616
+ * @throws {@link CCIPExtraArgsLengthInvalidError} if extra args length is invalid
558
617
  */
559
618
  static decodeExtraArgs(extraArgs) {
560
619
  const data = getDataBytes(extraArgs), tag = dataSlice(data, 0, 4);
@@ -578,6 +637,7 @@ export class SolanaChain extends Chain {
578
637
  * Encodes extra arguments for Solana CCIP messages.
579
638
  * @param args - Extra arguments to encode.
580
639
  * @returns Encoded extra arguments as hex string.
640
+ * @throws {@link CCIPSolanaExtraArgsEncodingError} if SVMExtraArgsV1 encoding is attempted
581
641
  */
582
642
  static encodeExtraArgs(args) {
583
643
  if ('computeUnits' in args)
@@ -594,6 +654,7 @@ export class SolanaChain extends Chain {
594
654
  * @param log - Log with data field.
595
655
  * @param lane - Lane info for filtering.
596
656
  * @returns Array of CommitReport or undefined if not valid.
657
+ * @throws {@link CCIPLogDataMissingError} if log data is missing
597
658
  */
598
659
  static decodeCommits(log, lane) {
599
660
  // Check if this is a CommitReportAccepted event by looking at the discriminant
@@ -637,6 +698,8 @@ export class SolanaChain extends Chain {
637
698
  * Decodes an execution receipt from a Solana log event.
638
699
  * @param log - Log with data, tx, and index fields.
639
700
  * @returns ExecutionReceipt or undefined if not valid.
701
+ * @throws {@link CCIPLogDataMissingError} if log data is missing
702
+ * @throws {@link CCIPExecutionStateInvalidError} if execution state is invalid
640
703
  */
641
704
  static decodeReceipt(log) {
642
705
  // Check if this is a ExecutionStateChanged event by looking at the discriminant
@@ -735,7 +798,10 @@ export class SolanaChain extends Chain {
735
798
  static getDestLeafHasher(lane, ctx) {
736
799
  return getV16SolanaLeafHasher(lane, ctx);
737
800
  }
738
- /** {@inheritDoc Chain.getTokenAdminRegistryFor} */
801
+ /**
802
+ * {@inheritDoc Chain.getTokenAdminRegistryFor}
803
+ * @throws {@link CCIPContractNotRouterError} if address is not a Router
804
+ */
739
805
  async getTokenAdminRegistryFor(address) {
740
806
  const [type] = await this.typeAndVersion(address);
741
807
  if (!type.includes('Router'))
@@ -763,7 +829,10 @@ export class SolanaChain extends Chain {
763
829
  };
764
830
  return generateUnsignedCcipSend(this, new PublicKey(sender), new PublicKey(router), destChainSelector, message, opts);
765
831
  }
766
- /** {@inheritDoc Chain.sendMessage} */
832
+ /**
833
+ * {@inheritDoc Chain.sendMessage}
834
+ * @throws {@link CCIPWalletInvalidError} if wallet is not a valid Solana wallet
835
+ */
767
836
  async sendMessage(opts) {
768
837
  if (!isWallet(opts.wallet))
769
838
  throw new CCIPWalletInvalidError(util.inspect(opts.wallet));
@@ -779,28 +848,33 @@ export class SolanaChain extends Chain {
779
848
  return fetchSolanaOffchainTokenData(request, this);
780
849
  }
781
850
  /**
782
- * {@inheritDoc Chain.generateUnsignedExecuteReport}
851
+ * {@inheritDoc Chain.generateUnsignedExecute}
783
852
  * @returns instructions - array of instructions to execute the report
784
853
  * lookupTables - array of lookup tables for `manuallyExecute` call
785
854
  * mainIndex - index of the `manuallyExecute` instruction in the array; last unless
786
855
  * forceLookupTable is set, in which case last is ALT deactivation tx, and manuallyExecute is
787
856
  * second to last
857
+ * @throws {@link CCIPExecutionReportChainMismatchError} if message is not a Solana message
788
858
  */
789
- async generateUnsignedExecuteReport({ payer, offRamp, execReport, ...opts }) {
790
- if (!('computeUnits' in execReport.message))
859
+ async generateUnsignedExecute({ payer, ...opts }) {
860
+ if (!('input' in opts) || !('message' in opts.input) || !('computeUnits' in opts.input.message))
791
861
  throw new CCIPExecutionReportChainMismatchError('Solana');
792
- const execReport_ = execReport;
862
+ const { offRamp, input } = opts;
863
+ const execReport_ = input;
793
864
  return generateUnsignedExecuteReport(this, new PublicKey(payer), new PublicKey(offRamp), execReport_, opts);
794
865
  }
795
- /** {@inheritDoc Chain.executeReport} */
796
- async executeReport(opts) {
866
+ /**
867
+ * {@inheritDoc Chain.execute}
868
+ * @throws {@link CCIPWalletInvalidError} if wallet is not a valid Solana wallet
869
+ */
870
+ async execute(opts) {
797
871
  const wallet = opts.wallet;
798
872
  if (!isWallet(wallet))
799
873
  throw new CCIPWalletInvalidError(util.inspect(wallet));
800
874
  let hash;
801
875
  do {
802
876
  try {
803
- const unsigned = await this.generateUnsignedExecuteReport({
877
+ const unsigned = await this.generateUnsignedExecute({
804
878
  ...opts,
805
879
  payer: wallet.publicKey.toBase58(),
806
880
  });
@@ -837,6 +911,7 @@ export class SolanaChain extends Chain {
837
911
  * - waitDeactivation - Whether to wait for lookup table deactivation cool down period
838
912
  * (513 slots) to pass before closing; by default, we deactivate (if needed) and move on, to
839
913
  * close other ready ALTs
914
+ * @throws {@link CCIPWalletInvalidError} if wallet is not a valid Solana wallet
840
915
  */
841
916
  async cleanUpBuffers(opts) {
842
917
  const wallet = opts.wallet;
@@ -884,9 +959,9 @@ export class SolanaChain extends Chain {
884
959
  /**
885
960
  * Solana specialization: use getProgramAccounts to fetch commit reports from PDAs
886
961
  */
887
- async getCommitReport(opts) {
888
- const { commitStore, request } = opts;
889
- const commitsAroundSeqNum = await this.connection.getProgramAccounts(new PublicKey(commitStore), {
962
+ async getVerifications(opts) {
963
+ const { offRamp, request } = opts;
964
+ const commitsAroundSeqNum = await this.connection.getProgramAccounts(new PublicKey(offRamp), {
890
965
  filters: [
891
966
  {
892
967
  // commit report account discriminator filter
@@ -921,7 +996,7 @@ export class SolanaChain extends Chain {
921
996
  // we have all the commit report info, but we also need log details (txHash, etc)
922
997
  for await (const log of this.getLogs({
923
998
  startTime: 1, // just to force getting the oldest log first
924
- programs: [commitStore],
999
+ programs: [offRamp],
925
1000
  address: acc.pubkey.toBase58(),
926
1001
  topics: ['CommitReportAccepted'],
927
1002
  })) {
@@ -932,18 +1007,18 @@ export class SolanaChain extends Chain {
932
1007
  }
933
1008
  }
934
1009
  // in case we can't find it, fallback to generic iterating txs
935
- return super.getCommitReport(opts);
1010
+ return super.getVerifications(opts);
936
1011
  }
937
1012
  /** {@inheritDoc Chain.getExecutionReceipts} */
938
1013
  async *getExecutionReceipts(opts) {
939
- const { offRamp, sourceChainSelector, commit } = opts;
1014
+ const { offRamp, sourceChainSelector, verifications } = opts;
940
1015
  let opts_ = opts;
941
- if (commit && sourceChainSelector) {
1016
+ if (sourceChainSelector && verifications && 'report' in verifications) {
942
1017
  // if we know of commit, use `commit_report` PDA as more specialized address
943
1018
  const [commitReportPda] = PublicKey.findProgramAddressSync([
944
1019
  Buffer.from('commit_report'),
945
1020
  toLeArray(sourceChainSelector, 8),
946
- bytesToBuffer(commit.report.merkleRoot),
1021
+ bytesToBuffer(verifications.report.merkleRoot),
947
1022
  ], new PublicKey(offRamp));
948
1023
  opts_ = {
949
1024
  ...opts,
@@ -953,7 +1028,10 @@ export class SolanaChain extends Chain {
953
1028
  }
954
1029
  yield* super.getExecutionReceipts(opts_);
955
1030
  }
956
- /** {@inheritDoc Chain.getRegistryTokenConfig} */
1031
+ /**
1032
+ * {@inheritDoc Chain.getRegistryTokenConfig}
1033
+ * @throws {@link CCIPTokenNotConfiguredError} if token is not configured in registry
1034
+ */
957
1035
  async getRegistryTokenConfig(registry, token) {
958
1036
  const registry_ = new PublicKey(registry);
959
1037
  const tokenMint = new PublicKey(token);
@@ -987,8 +1065,11 @@ export class SolanaChain extends Chain {
987
1065
  }
988
1066
  return config;
989
1067
  }
990
- /** {@inheritDoc Chain.getTokenPoolConfigs} */
991
- async getTokenPoolConfigs(tokenPool) {
1068
+ /**
1069
+ * {@inheritDoc Chain.getTokenPoolConfig}
1070
+ * @throws {@link CCIPTokenPoolStateNotFoundError} if token pool state not found
1071
+ */
1072
+ async getTokenPoolConfig(tokenPool) {
992
1073
  // `tokenPool` is actually a State PDA in the tokenPoolProgram
993
1074
  const tokenPoolState = await this.connection.getAccountInfo(new PublicKey(tokenPool));
994
1075
  if (!tokenPoolState || tokenPoolState.data.length < 266 + 32)
@@ -1013,7 +1094,11 @@ export class SolanaChain extends Chain {
1013
1094
  typeAndVersion,
1014
1095
  };
1015
1096
  }
1016
- /** {@inheritDoc Chain.getTokenPoolRemotes} */
1097
+ /**
1098
+ * {@inheritDoc Chain.getTokenPoolRemotes}
1099
+ * @throws {@link CCIPTokenPoolStateNotFoundError} if token pool state not found
1100
+ * @throws {@link CCIPTokenPoolChainConfigNotFoundError} if chain config not found for specified selector
1101
+ */
1017
1102
  async getTokenPoolRemotes(tokenPool, remoteChainSelector) {
1018
1103
  // `tokenPool` is actually a State PDA in the tokenPoolProgram
1019
1104
  const tokenPoolState = await this.connection.getAccountInfo(new PublicKey(tokenPool));
@@ -1157,7 +1242,14 @@ export class SolanaChain extends Chain {
1157
1242
  // the offramps, so we can use it to narrow the search for the offramp
1158
1243
  return program.account.config.fetch(configPda);
1159
1244
  }
1160
- /** {@inheritDoc ChainStatic.buildMessageForDest} */
1245
+ /**
1246
+ * Returns a copy of a message, populating missing fields like `extraArgs` with defaults.
1247
+ * It's expected to return a message suitable at least for basic token transfers.
1248
+ *
1249
+ * @param message - AnyMessage (from source), containing at least `receiver`
1250
+ * @returns A message suitable for `sendMessage` to this destination chain family
1251
+ * @throws {@link CCIPArgumentInvalidError} if tokenReceiver missing when sending tokens with data
1252
+ */
1161
1253
  static buildMessageForDest(message) {
1162
1254
  if (!(message.extraArgs &&
1163
1255
  'tokenReceiver' in message.extraArgs &&
@@ -1182,7 +1274,8 @@ export class SolanaChain extends Chain {
1182
1274
  : true;
1183
1275
  const tokenReceiver = message.extraArgs &&
1184
1276
  'tokenReceiver' in message.extraArgs &&
1185
- message.extraArgs.tokenReceiver != null
1277
+ message.extraArgs.tokenReceiver != null &&
1278
+ typeof message.extraArgs.tokenReceiver === 'string'
1186
1279
  ? message.extraArgs.tokenReceiver
1187
1280
  : message.tokenAmounts?.length
1188
1281
  ? this.getAddress(message.receiver)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/solana/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/solana/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hasher.d.ts","sourceRoot":"","sources":["../../src/sui/hasher.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,UAAU,EAAyB,MAAM,qBAAqB,CAAA;AAC5E,OAAO,EAAoB,KAAK,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAClF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEtD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,EACpE,mBAAmB,EACnB,iBAAiB,EACjB,MAAM,EACN,OAAO,GACR,EAAE;IACD,mBAAmB,EAAE,MAAM,CAAA;IAC3B,iBAAiB,EAAE,MAAM,CAAA;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,CAAC,CAAA;CACX,GAAG,UAAU,CAAC,CAAC,CAAC,CAUhB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,gBAAgB,GAAG,oBAAoB,EAChD,YAAY,EAAE,MAAM,GACnB,MAAM,CA2CR;AAED;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAC1B,qBAAqB,MAAM,EAC3B,mBAAmB,MAAM,EACzB,QAAQ,MAAM,KACb,MAOF,CAAA"}
1
+ {"version":3,"file":"hasher.d.ts","sourceRoot":"","sources":["../../src/sui/hasher.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAyB,MAAM,qBAAqB,CAAA;AAC5E,OAAO,EAAoB,KAAK,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAClF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAGtD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,EACpE,mBAAmB,EACnB,iBAAiB,EACjB,MAAM,EACN,OAAO,GACR,EAAE;IACD,mBAAmB,EAAE,MAAM,CAAA;IAC3B,iBAAiB,EAAE,MAAM,CAAA;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,CAAC,CAAA;CACX,GAAG,UAAU,CAAC,CAAC,CAAC,CAUhB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,gBAAgB,GAAG,oBAAoB,EAChD,YAAY,EAAE,MAAM,GACnB,MAAM,CA2CR;AAED;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAC1B,qBAAqB,MAAM,EAC3B,mBAAmB,MAAM,EACzB,QAAQ,MAAM,KACb,MAOF,CAAA"}
@@ -1,9 +1,9 @@
1
1
  import { concat, id, keccak256, zeroPadValue } from 'ethers';
2
- import { encodeNumber, encodeRawBytes } from "../aptos/utils.js";
3
2
  import { CCIPExtraArgsInvalidError, CCIPSuiHasherVersionUnsupportedError } from "../errors/index.js";
4
3
  import { decodeExtraArgs } from "../extra-args.js";
5
4
  import { LEAF_DOMAIN_SEPARATOR } from "../hasher/common.js";
6
5
  import { CCIPVersion } from "../types.js";
6
+ import { encodeNumber, encodeRawBytes } from "../shared/bcs-codecs.js";
7
7
  /**
8
8
  * Creates a leaf hasher for Sui CCIP messages.
9
9
  * @param lane - Lane configuration with selectors and onRamp.