@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
@@ -4,7 +4,7 @@ import type { PickDeep } from 'type-fest';
4
4
  import { type ChainContext, type ChainStatic, type GetBalanceOpts, type LogFilter, type TokenInfo, type TokenPoolRemote, Chain } from '../chain.ts';
5
5
  import { type EVMExtraArgsV2, type ExtraArgs, type SVMExtraArgsV1 } from '../extra-args.ts';
6
6
  import type { LeafHasher } from '../hasher/common.ts';
7
- import { type AnyMessage, type CCIPCommit, type CCIPExecution, type CCIPMessage, type CCIPRequest, type ChainTransaction, type CommitReport, type ExecutionReceipt, type Lane, type Log_, type MergeArrayElements, type NetworkInfo, type OffchainTokenData, type WithLogger, CCIPVersion, ChainFamily } from '../types.ts';
7
+ import { type AnyMessage, type CCIPExecution, type CCIPMessage, type CCIPRequest, type CCIPVerifications, type ChainTransaction, type CommitReport, type ExecutionReceipt, type Lane, type Log_, type MergeArrayElements, type NetworkInfo, type OffchainTokenData, type WithLogger, CCIPVersion, ChainFamily } from '../types.ts';
8
8
  import { type CCIPMessage_V1_6_Solana, type UnsignedSolanaTx } from './types.ts';
9
9
  export type { UnsignedSolanaTx };
10
10
  /** Solana-specific log structure with transaction reference and log level. */
@@ -20,6 +20,29 @@ export type SolanaTransaction = MergeArrayElements<ChainTransaction, {
20
20
  }>;
21
21
  /**
22
22
  * Solana chain implementation supporting Solana networks.
23
+ *
24
+ * Provides methods for sending CCIP cross-chain messages, querying message
25
+ * status, fetching fee quotes, and manually executing pending messages on
26
+ * Solana networks.
27
+ *
28
+ * @remarks
29
+ * Solana uses CCIP v1.6+ protocol only.
30
+ *
31
+ * @example Create from RPC URL
32
+ * ```typescript
33
+ * import { SolanaChain } from '@chainlink/ccip-sdk'
34
+ *
35
+ * const chain = await SolanaChain.fromUrl('https://api.devnet.solana.com')
36
+ * console.log(`Connected to: ${chain.network.name}`)
37
+ * ```
38
+ *
39
+ * @example Query messages in a transaction
40
+ * ```typescript
41
+ * const requests = await chain.getMessagesInTx('5abc123...')
42
+ * for (const req of requests) {
43
+ * console.log(`Message ID: ${req.message.messageId}`)
44
+ * }
45
+ * ```
23
46
  */
24
47
  export declare class SolanaChain extends Chain<typeof ChainFamily.Solana> {
25
48
  static readonly family: "SVM";
@@ -38,6 +61,7 @@ export declare class SolanaChain extends Chain<typeof ChainFamily.Solana> {
38
61
  * @param url - RPC endpoint URL (https://, http://, wss://, or ws://).
39
62
  * @param ctx - context containing logger.
40
63
  * @returns Solana Connection instance.
64
+ * @throws {@link CCIPDataFormatUnsupportedError} if URL format is invalid
41
65
  */
42
66
  static _getConnection(url: string, ctx?: WithLogger): Connection;
43
67
  /**
@@ -49,14 +73,31 @@ export declare class SolanaChain extends Chain<typeof ChainFamily.Solana> {
49
73
  static fromConnection(connection: Connection, ctx?: ChainContext): Promise<SolanaChain>;
50
74
  /**
51
75
  * Creates a SolanaChain instance from an RPC URL.
52
- * @param url - RPC endpoint URL.
53
- * @param ctx - context containing logger.
54
- * @returns A new SolanaChain instance.
76
+ *
77
+ * @param url - RPC endpoint URL (https://, http://, wss://, or ws://).
78
+ * @param ctx - Optional context containing logger and API client configuration.
79
+ * @returns A new SolanaChain instance connected to the specified network.
80
+ * @throws {@link CCIPChainNotFoundError} if chain cannot be identified from genesis hash
81
+ *
82
+ * @example
83
+ * ```typescript
84
+ * // Create from devnet URL
85
+ * const chain = await SolanaChain.fromUrl('https://api.devnet.solana.com')
86
+ *
87
+ * // With custom logger
88
+ * const chain = await SolanaChain.fromUrl(url, { logger: customLogger })
89
+ * ```
55
90
  */
56
91
  static fromUrl(url: string, ctx?: ChainContext): Promise<SolanaChain>;
57
- /** {@inheritDoc Chain.getBlockTimestamp} */
92
+ /**
93
+ * {@inheritDoc Chain.getBlockTimestamp}
94
+ * @throws {@link CCIPBlockTimeNotFoundError} if block time cannot be retrieved
95
+ */
58
96
  getBlockTimestamp(block: number | 'latest' | 'finalized'): Promise<number>;
59
- /** {@inheritDoc Chain.getTransaction} */
97
+ /**
98
+ * {@inheritDoc Chain.getTransaction}
99
+ * @throws {@link CCIPTransactionNotFoundError} if transaction not found
100
+ */
60
101
  getTransaction(hash: string): Promise<SolanaTransaction>;
61
102
  /**
62
103
  * Internal method to get transactions for an address with pagination.
@@ -89,6 +130,8 @@ export declare class SolanaChain extends Chain<typeof ChainFamily.Solana> {
89
130
  * - `programs`: Special option to allow querying by address of interest, but yielding matching
90
131
  * logs from specific (string address) program or any (true)
91
132
  * @returns AsyncIterableIterator of parsed Log_ objects.
133
+ * @throws {@link CCIPLogsAddressRequiredError} if address is not provided
134
+ * @throws {@link CCIPTopicsInvalidError} if topics contain invalid values
92
135
  */
93
136
  getLogs(opts: LogFilter & {
94
137
  programs?: string[] | true;
@@ -96,30 +139,42 @@ export declare class SolanaChain extends Chain<typeof ChainFamily.Solana> {
96
139
  tx: SolanaTransaction;
97
140
  }>;
98
141
  /** {@inheritDoc Chain.getMessagesInBatch} */
99
- getMessagesInBatch<R extends PickDeep<CCIPRequest, 'lane' | `log.${'topics' | 'address' | 'blockNumber'}` | 'message.sequenceNumber'>>(request: R, commit: Pick<CommitReport, 'minSeqNr' | 'maxSeqNr'>, opts?: {
100
- page?: number;
101
- }): Promise<R['message'][]>;
142
+ getMessagesInBatch<R extends PickDeep<CCIPRequest, 'lane' | `log.${'topics' | 'address' | 'blockNumber'}` | 'message.sequenceNumber'>>(request: R, range: Pick<CommitReport, 'minSeqNr' | 'maxSeqNr'>, opts?: Pick<LogFilter, 'page'>): Promise<R['message'][]>;
102
143
  /** {@inheritDoc Chain.typeAndVersion} */
103
144
  typeAndVersion(address: string): Promise<[type: string, version: string, typeAndVersion: string, suffix?: string | undefined]>;
104
145
  /** {@inheritDoc Chain.getRouterForOnRamp} */
105
146
  getRouterForOnRamp(onRamp: string, _destChainSelector: bigint): Promise<string>;
106
- /** {@inheritDoc Chain.getRouterForOffRamp} */
147
+ /**
148
+ * {@inheritDoc Chain.getRouterForOffRamp}
149
+ * @throws {@link CCIPSolanaRefAddressesNotFoundError} if reference addresses PDA not found
150
+ */
107
151
  getRouterForOffRamp(offRamp: string, _sourceChainSelector: bigint): Promise<string>;
108
152
  /** {@inheritDoc Chain.getNativeTokenForRouter} */
109
153
  getNativeTokenForRouter(_router: string): Promise<string>;
110
- /** {@inheritDoc Chain.getOffRampsForRouter} */
154
+ /**
155
+ * {@inheritDoc Chain.getOffRampsForRouter}
156
+ * @throws {@link CCIPSolanaOffRampEventsNotFoundError} if no OffRamp events found
157
+ */
111
158
  getOffRampsForRouter(router: string, sourceChainSelector: bigint): Promise<string[]>;
112
159
  /** {@inheritDoc Chain.getOnRampForRouter} */
113
160
  getOnRampForRouter(router: string, _destChainSelector: bigint): Promise<string>;
114
- /** {@inheritDoc Chain.getOnRampForOffRamp} */
115
- getOnRampForOffRamp(offRamp: string, sourceChainSelector: bigint): Promise<string>;
116
- /** {@inheritDoc Chain.getCommitStoreForOffRamp} */
117
- getCommitStoreForOffRamp(offRamp: string): Promise<string>;
118
- /** {@inheritDoc Chain.getTokenForTokenPool} */
161
+ /** {@inheritDoc Chain.getOnRampsForOffRamp} */
162
+ getOnRampsForOffRamp(offRamp: string, sourceChainSelector: bigint): Promise<string[]>;
163
+ /**
164
+ * {@inheritDoc Chain.getTokenForTokenPool}
165
+ * @throws {@link CCIPTokenPoolInfoNotFoundError} if token pool info not found
166
+ */
119
167
  getTokenForTokenPool(tokenPool: string): Promise<string>;
120
- /** {@inheritDoc Chain.getTokenInfo} */
168
+ /**
169
+ * {@inheritDoc Chain.getTokenInfo}
170
+ * @throws {@link CCIPSplTokenInvalidError} if token is not a valid SPL token
171
+ * @throws {@link CCIPTokenDataParseError} if token data cannot be parsed
172
+ */
121
173
  getTokenInfo(token: string): Promise<TokenInfo>;
122
- /** {@inheritDoc Chain.getBalance} */
174
+ /**
175
+ * {@inheritDoc Chain.getBalance}
176
+ * @throws {@link CCIPTokenAccountNotFoundError} if token account not found
177
+ */
123
178
  getBalance(opts: GetBalanceOpts): Promise<bigint>;
124
179
  /**
125
180
  * Fetches token metadata from Metaplex.
@@ -134,6 +189,7 @@ export declare class SolanaChain extends Chain<typeof ChainFamily.Solana> {
134
189
  * Decodes a CCIP message from a Solana log event.
135
190
  * @param log - Log with data field.
136
191
  * @returns Decoded CCIPMessage or undefined if not valid.
192
+ * @throws {@link CCIPExtraArgsInvalidError} if extra args cannot be decoded
137
193
  */
138
194
  static decodeMessage({ data }: {
139
195
  data: unknown;
@@ -142,6 +198,7 @@ export declare class SolanaChain extends Chain<typeof ChainFamily.Solana> {
142
198
  * Decodes extra arguments from Solana CCIP messages.
143
199
  * @param extraArgs - Encoded extra arguments bytes.
144
200
  * @returns Decoded EVMExtraArgsV2 or undefined if unknown format.
201
+ * @throws {@link CCIPExtraArgsLengthInvalidError} if extra args length is invalid
145
202
  */
146
203
  static decodeExtraArgs(extraArgs: BytesLike): (EVMExtraArgsV2 & {
147
204
  _tag: 'EVMExtraArgsV2';
@@ -150,6 +207,7 @@ export declare class SolanaChain extends Chain<typeof ChainFamily.Solana> {
150
207
  * Encodes extra arguments for Solana CCIP messages.
151
208
  * @param args - Extra arguments to encode.
152
209
  * @returns Encoded extra arguments as hex string.
210
+ * @throws {@link CCIPSolanaExtraArgsEncodingError} if SVMExtraArgsV1 encoding is attempted
153
211
  */
154
212
  static encodeExtraArgs(args: ExtraArgs): string;
155
213
  /**
@@ -157,12 +215,15 @@ export declare class SolanaChain extends Chain<typeof ChainFamily.Solana> {
157
215
  * @param log - Log with data field.
158
216
  * @param lane - Lane info for filtering.
159
217
  * @returns Array of CommitReport or undefined if not valid.
218
+ * @throws {@link CCIPLogDataMissingError} if log data is missing
160
219
  */
161
220
  static decodeCommits(log: Pick<Log_, 'data'>, lane?: Omit<Lane, 'destChainSelector'>): CommitReport[] | undefined;
162
221
  /**
163
222
  * Decodes an execution receipt from a Solana log event.
164
223
  * @param log - Log with data, tx, and index fields.
165
224
  * @returns ExecutionReceipt or undefined if not valid.
225
+ * @throws {@link CCIPLogDataMissingError} if log data is missing
226
+ * @throws {@link CCIPExecutionStateInvalidError} if execution state is invalid
166
227
  */
167
228
  static decodeReceipt(log: Pick<Log_, 'data' | 'tx' | 'index'>): ExecutionReceipt | undefined;
168
229
  /**
@@ -181,7 +242,10 @@ export declare class SolanaChain extends Chain<typeof ChainFamily.Solana> {
181
242
  * @returns Leaf hasher function.
182
243
  */
183
244
  static getDestLeafHasher(lane: Lane, ctx?: WithLogger): LeafHasher<typeof CCIPVersion.V1_6>;
184
- /** {@inheritDoc Chain.getTokenAdminRegistryFor} */
245
+ /**
246
+ * {@inheritDoc Chain.getTokenAdminRegistryFor}
247
+ * @throws {@link CCIPContractNotRouterError} if address is not a Router
248
+ */
185
249
  getTokenAdminRegistryFor(address: string): Promise<string>;
186
250
  /** {@inheritDoc Chain.getFee} */
187
251
  getFee({ router, destChainSelector, message }: Parameters<Chain['getFee']>[0]): Promise<bigint>;
@@ -192,21 +256,28 @@ export declare class SolanaChain extends Chain<typeof ChainFamily.Solana> {
192
256
  * mainIndex - instructions.length - 1
193
257
  */
194
258
  generateUnsignedSendMessage(opts: Parameters<Chain['generateUnsignedSendMessage']>[0]): Promise<UnsignedSolanaTx>;
195
- /** {@inheritDoc Chain.sendMessage} */
259
+ /**
260
+ * {@inheritDoc Chain.sendMessage}
261
+ * @throws {@link CCIPWalletInvalidError} if wallet is not a valid Solana wallet
262
+ */
196
263
  sendMessage(opts: Parameters<Chain['sendMessage']>[0]): Promise<CCIPRequest>;
197
264
  /** {@inheritDoc Chain.getOffchainTokenData} */
198
265
  getOffchainTokenData(request: CCIPRequest): Promise<OffchainTokenData[]>;
199
266
  /**
200
- * {@inheritDoc Chain.generateUnsignedExecuteReport}
267
+ * {@inheritDoc Chain.generateUnsignedExecute}
201
268
  * @returns instructions - array of instructions to execute the report
202
269
  * lookupTables - array of lookup tables for `manuallyExecute` call
203
270
  * mainIndex - index of the `manuallyExecute` instruction in the array; last unless
204
271
  * forceLookupTable is set, in which case last is ALT deactivation tx, and manuallyExecute is
205
272
  * second to last
273
+ * @throws {@link CCIPExecutionReportChainMismatchError} if message is not a Solana message
274
+ */
275
+ generateUnsignedExecute({ payer, ...opts }: Parameters<Chain['generateUnsignedExecute']>[0]): Promise<UnsignedSolanaTx>;
276
+ /**
277
+ * {@inheritDoc Chain.execute}
278
+ * @throws {@link CCIPWalletInvalidError} if wallet is not a valid Solana wallet
206
279
  */
207
- generateUnsignedExecuteReport({ payer, offRamp, execReport, ...opts }: Parameters<Chain['generateUnsignedExecuteReport']>[0]): Promise<UnsignedSolanaTx>;
208
- /** {@inheritDoc Chain.executeReport} */
209
- executeReport(opts: Parameters<Chain['executeReport']>[0] & {
280
+ execute(opts: Parameters<Chain['execute']>[0] & {
210
281
  waitDeactivation?: boolean;
211
282
  }): Promise<CCIPExecution>;
212
283
  /**
@@ -216,6 +287,7 @@ export declare class SolanaChain extends Chain<typeof ChainFamily.Solana> {
216
287
  * - waitDeactivation - Whether to wait for lookup table deactivation cool down period
217
288
  * (513 slots) to pass before closing; by default, we deactivate (if needed) and move on, to
218
289
  * close other ready ALTs
290
+ * @throws {@link CCIPWalletInvalidError} if wallet is not a valid Solana wallet
219
291
  */
220
292
  cleanUpBuffers(opts: {
221
293
  wallet: unknown;
@@ -227,6 +299,35 @@ export declare class SolanaChain extends Chain<typeof ChainFamily.Solana> {
227
299
  * @returns Parsed data or undefined.
228
300
  */
229
301
  static parse(data: unknown): {
302
+ messageId: string;
303
+ destChainSelector: bigint;
304
+ sender: string;
305
+ feeToken: string;
306
+ tokenAmountBeforeTokenPoolFees: bigint;
307
+ encodedMessage: string;
308
+ receipts: readonly {
309
+ issuer: string;
310
+ destGasLimit: bigint;
311
+ destBytesOverhead: bigint;
312
+ feeTokenAmount: bigint;
313
+ extraArgs: string;
314
+ }[];
315
+ verifierBlobs: readonly string[];
316
+ data: string;
317
+ sourceChainSelector: bigint;
318
+ receiver: string;
319
+ onRampAddress: string;
320
+ messageNumber: bigint;
321
+ executionGasLimit: number;
322
+ ccipReceiveGasLimit: number;
323
+ finality: number;
324
+ ccvAndExecutorHash: string;
325
+ offRampAddress: string;
326
+ destBlob: string;
327
+ tokenAmounts: import("../evm/messages.ts").MessageV1["tokenTransfer"];
328
+ sequenceNumber: import("../evm/messages.ts").MessageV1["messageNumber"];
329
+ feeTokenAmount: bigint;
330
+ } | {
230
331
  sourceChainSelector: bigint;
231
332
  sender: string;
232
333
  receiver: string;
@@ -257,23 +358,33 @@ export declare class SolanaChain extends Chain<typeof ChainFamily.Solana> {
257
358
  /**
258
359
  * Solana specialization: use getProgramAccounts to fetch commit reports from PDAs
259
360
  */
260
- getCommitReport(opts: Parameters<Chain['getCommitReport']>[0]): Promise<CCIPCommit>;
361
+ getVerifications(opts: Parameters<Chain['getVerifications']>[0]): Promise<CCIPVerifications>;
261
362
  /** {@inheritDoc Chain.getExecutionReceipts} */
262
363
  getExecutionReceipts(opts: Parameters<Chain['getExecutionReceipts']>[0]): AsyncIterableIterator<CCIPExecution>;
263
- /** {@inheritDoc Chain.getRegistryTokenConfig} */
364
+ /**
365
+ * {@inheritDoc Chain.getRegistryTokenConfig}
366
+ * @throws {@link CCIPTokenNotConfiguredError} if token is not configured in registry
367
+ */
264
368
  getRegistryTokenConfig(registry: string, token: string): Promise<{
265
369
  administrator: string;
266
370
  pendingAdministrator?: string;
267
371
  tokenPool?: string;
268
372
  }>;
269
- /** {@inheritDoc Chain.getTokenPoolConfigs} */
270
- getTokenPoolConfigs(tokenPool: string): Promise<{
373
+ /**
374
+ * {@inheritDoc Chain.getTokenPoolConfig}
375
+ * @throws {@link CCIPTokenPoolStateNotFoundError} if token pool state not found
376
+ */
377
+ getTokenPoolConfig(tokenPool: string): Promise<{
271
378
  token: string;
272
379
  router: string;
273
380
  tokenPoolProgram: string;
274
381
  typeAndVersion?: string;
275
382
  }>;
276
- /** {@inheritDoc Chain.getTokenPoolRemotes} */
383
+ /**
384
+ * {@inheritDoc Chain.getTokenPoolRemotes}
385
+ * @throws {@link CCIPTokenPoolStateNotFoundError} if token pool state not found
386
+ * @throws {@link CCIPTokenPoolChainConfigNotFoundError} if chain config not found for specified selector
387
+ */
277
388
  getTokenPoolRemotes(tokenPool: string, remoteChainSelector?: bigint): Promise<Record<string, TokenPoolRemote>>;
278
389
  /** {@inheritDoc Chain.getSupportedTokens} */
279
390
  getSupportedTokens(router: string): Promise<string[]>;
@@ -303,7 +414,14 @@ export declare class SolanaChain extends Chain<typeof ChainFamily.Solana> {
303
414
  linkTokenMint: PublicKey;
304
415
  feeAggregator: PublicKey;
305
416
  }>;
306
- /** {@inheritDoc ChainStatic.buildMessageForDest} */
417
+ /**
418
+ * Returns a copy of a message, populating missing fields like `extraArgs` with defaults.
419
+ * It's expected to return a message suitable at least for basic token transfers.
420
+ *
421
+ * @param message - AnyMessage (from source), containing at least `receiver`
422
+ * @returns A message suitable for `sendMessage` to this destination chain family
423
+ * @throws {@link CCIPArgumentInvalidError} if tokenReceiver missing when sending tokens with data
424
+ */
307
425
  static buildMessageForDest(message: Parameters<ChainStatic['buildMessageForDest']>[0]): AnyMessage & {
308
426
  extraArgs: SVMExtraArgsV1;
309
427
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/solana/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,UAAU,EAIf,KAAK,4BAA4B,EACjC,UAAU,EACV,SAAS,EAGV,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,KAAK,SAAS,EASf,MAAM,QAAQ,CAAA;AAEf,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEzC,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,EACN,MAAM,aAAa,CAAA;AA0BpB,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,cAAc,EAEpB,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAGrD,OAAO,EACL,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EAErB,KAAK,IAAI,EACT,KAAK,IAAI,EACT,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,WAAW,EACX,WAAW,EAEZ,MAAM,aAAa,CAAA;AAwBpB,OAAO,EAAE,KAAK,uBAAuB,EAAE,KAAK,gBAAgB,EAAY,MAAM,YAAY,CAAA;AAa1F,YAAY,EAAE,gBAAgB,EAAE,CAAA;AA+BhC,8EAA8E;AAC9E,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG;IAAE,EAAE,EAAE,iBAAiB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AACrF,iFAAiF;AACjF,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,CAChD,gBAAgB,EAChB;IACE,EAAE,EAAE,4BAA4B,CAAA;IAChC,IAAI,EAAE,SAAS,SAAS,EAAE,CAAA;CAC3B,CACF,CAAA;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,KAAK,CAAC,OAAO,WAAW,CAAC,MAAM,CAAC;IAK/D,MAAM,CAAC,QAAQ,CAAC,MAAM,QAAqB;IAC3C,MAAM,CAAC,QAAQ,CAAC,QAAQ,KAAI;IAE5B,UAAU,EAAE,UAAU,CAAA;IACtB,UAAU,EAAE,UAAU,CAAc;IACpC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IAEhC;;;;OAIG;gBACS,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE,YAAY;IA0D5E;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,UAAU;IAiBhE;;;;;OAKG;WACU,cAAc,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAK7F;;;;;OAKG;WACU,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAM3E,4CAA4C;IACtC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBhF,yCAAyC;IACnC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAqC9D;;;;OAIG;IACI,yBAAyB,CAC9B,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,GAC9B,cAAc,CAAC,iBAAiB,CAAC;IAMpC;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACI,OAAO,CACZ,IAAI,EAAE,SAAS,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;KAAE,GAC/C,cAAc,CAAC,IAAI,GAAG;QAAE,EAAE,EAAE,iBAAiB,CAAA;KAAE,CAAC;IAwCnD,6CAA6C;IACvC,kBAAkB,CACtB,CAAC,SAAS,QAAQ,CAChB,WAAW,EACX,MAAM,GAAG,OAAO,QAAQ,GAAG,SAAS,GAAG,aAAa,EAAE,GAAG,wBAAwB,CAClF,EAED,OAAO,EAAE,CAAC,EACV,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,GAAG,UAAU,CAAC,EACnD,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACvB,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;IAe1B,yCAAyC;IACnC,cAAc,CAAC,OAAO,EAAE,MAAM;IAiBpC,6CAA6C;IAC7C,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/E,8CAA8C;IACxC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBzF,kDAAkD;IAClD,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIzD,+CAA+C;IACzC,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAoB1F,6CAA6C;IAC7C,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/E,8CAA8C;IACxC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAoBxF,mDAAmD;IACnD,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1D,+CAA+C;IACzC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAU9D,uCAAuC;IACjC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAgDrD,qCAAqC;IAC/B,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBvD;;;;OAIG;IACG,mBAAmB,CACvB,aAAa,EAAE,SAAS,GACvB,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IA4DnD;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GAAG,WAAW,GAAG,SAAS;IAwE1E;;;;OAIG;IACH,MAAM,CAAC,eAAe,CACpB,SAAS,EAAE,SAAS,GACnB,CAAC,cAAc,GAAG;QAAE,IAAI,EAAE,gBAAgB,CAAA;KAAE,CAAC,GAAG,SAAS;IAoB5D;;;;OAIG;IACH,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM;IAU/C;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAClB,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EACvB,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC,GACrC,YAAY,EAAE,GAAG,SAAS;IA8C7B;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,GAAG,gBAAgB,GAAG,SAAS;IA6D5F;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM;IAS3C;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,MAAM;IAUxC;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,IAAI,CAAC;IAI3F,mDAAmD;IAC7C,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOhE,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAK/F;;;;;OAKG;IACG,2BAA2B,CAC/B,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,GACxD,OAAO,CAAC,gBAAgB,CAAC;IAoB5B,sCAAsC;IAChC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IAWlF,+CAA+C;IACzC,oBAAoB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAI9E;;;;;;;OAOG;IACG,6BAA6B,CAAC,EAClC,KAAK,EACL,OAAO,EACP,UAAU,EACV,GAAG,IAAI,EACR,EAAE,UAAU,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAapF,wCAAwC;IAClC,aAAa,CACjB,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QAE5C,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAC3B,GACA,OAAO,CAAC,aAAa,CAAC;IAoCzB;;;;;;;OAOG;IACG,cAAc,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAM1F;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;cAlVG,gBAAgB;;;;;IA0W7C;;OAEG;IACY,eAAe,CAC5B,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,GAC5C,OAAO,CAAC,UAAU,CAAC;IAwDtB,+CAA+C;IAC/B,oBAAoB,CAClC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,GACjD,qBAAqB,CAAC,aAAa,CAAC;IAuBvC,iDAAiD;IAC3C,sBAAsB,CAC1B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QACT,aAAa,EAAE,MAAM,CAAA;QACrB,oBAAoB,CAAC,EAAE,MAAM,CAAA;QAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,CAAC;IA8CF,8CAA8C;IACxC,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QACpD,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;QACd,gBAAgB,EAAE,MAAM,CAAA;QACxB,cAAc,CAAC,EAAE,MAAM,CAAA;KACxB,CAAC;IA2BF,8CAA8C;IACxC,mBAAmB,CACvB,SAAS,EAAE,MAAM,EACjB,mBAAmB,CAAC,EAAE,MAAM,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAwG3C,6CAA6C;IACvC,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA2B3D,uCAAuC;IACjC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAwBtE;;;;OAIG;IACG,gBAAgB,CAAC,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;IAYrC,oDAAoD;WACpC,mBAAmB,CACjC,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,GACzD,UAAU,GAAG;QAAE,SAAS,EAAE,cAAc,CAAA;KAAE;CAkE9C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/solana/index.ts"],"names":[],"mappings":"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"}