@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
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chainlink/ccip-sdk",
3
- "version": "0.95.0",
3
+ "version": "0.97.0",
4
4
  "description": "SDK/Library to interact with CCIP",
5
5
  "author": "Chainlink devs",
6
6
  "license": "MIT",
@@ -19,6 +19,10 @@
19
19
  "types": "./dist/viem.d.ts",
20
20
  "default": "./dist/viem.js"
21
21
  },
22
+ "./all": {
23
+ "types": "./dist/all-chains.d.ts",
24
+ "default": "./dist/all-chains.js"
25
+ },
22
26
  "./src/*": "./src/*"
23
27
  },
24
28
  "scripts": {
@@ -49,22 +53,23 @@
49
53
  },
50
54
  "devDependencies": {
51
55
  "@depay/web3-mock": "^15.3.0",
52
- "@eslint/js": "^9.39.2",
56
+ "@eslint/js": "^9.39.3",
53
57
  "@types/bn.js": "^5.2.0",
54
- "@types/node": "25.0.10",
58
+ "@types/node": "25.3.0",
55
59
  "@types/yargs": "17.0.35",
56
- "eslint": "^9.39.2",
60
+ "eslint": "^9.39.3",
57
61
  "eslint-config-prettier": "10.1.8",
58
62
  "eslint-import-resolver-typescript": "4.4.4",
59
63
  "eslint-plugin-import": "^2.32.0",
60
- "eslint-plugin-jsdoc": "^62.4.1",
64
+ "eslint-plugin-jsdoc": "^62.7.0",
61
65
  "eslint-plugin-prettier": "^5.5.5",
62
66
  "eslint-plugin-tsdoc": "^0.5.0",
63
67
  "ethers-abitype": "1.0.3",
64
68
  "prettier": "^3.8.1",
69
+ "prool": "^0.0.17",
65
70
  "typescript": "5.9.3",
66
- "typescript-eslint": "8.54.0",
67
- "viem": "^2.45.0"
71
+ "typescript-eslint": "8.56.0",
72
+ "viem": "^2.46.2"
68
73
  },
69
74
  "dependencies": {
70
75
  "@aptos-labs/ts-sdk": "^5.2.1",
@@ -74,17 +79,17 @@
74
79
  "@mysten/sui": "^1.45.2",
75
80
  "@solana/spl-token": "0.4.14",
76
81
  "@solana/web3.js": "^1.98.4",
77
- "@ton/core": "0.63.0",
82
+ "@ton/core": "0.63.1",
78
83
  "@ton/crypto": "^3.3.0",
79
- "@ton/ton": "^16.1.0",
84
+ "@ton/ton": "^16.2.2",
80
85
  "abitype": "1.2.3",
81
- "bn.js": "^5.2.2",
86
+ "bn.js": "^5.2.3",
82
87
  "borsh": "^2.0.0",
83
88
  "bs58": "^6.0.0",
84
89
  "ethers": "6.16.0",
85
90
  "got": "^11.8.6",
86
91
  "micro-memoize": "^5.1.1",
87
- "type-fest": "^5.4.2",
92
+ "type-fest": "^5.4.4",
88
93
  "yaml": "2.8.2"
89
94
  },
90
95
  "overrides": {
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Entry point for importing all supported chain implementations.
3
+ *
4
+ * @packageDocumentation
5
+ */
6
+
7
+ import { AptosChain } from './aptos/index.ts'
8
+ import { EVMChain } from './evm/index.ts'
9
+ import { SolanaChain } from './solana/index.ts'
10
+ import { SuiChain } from './sui/index.ts'
11
+ import { TONChain } from './ton/index.ts'
12
+ import { ChainFamily } from './types.ts'
13
+
14
+ /**
15
+ * Map of all supported chain families to their implementations.
16
+ * Importing this includes all chain dependencies in the bundle.
17
+ */
18
+ export const allSupportedChains = {
19
+ [ChainFamily.EVM]: EVMChain,
20
+ [ChainFamily.Solana]: SolanaChain,
21
+ [ChainFamily.Aptos]: AptosChain,
22
+ [ChainFamily.Sui]: SuiChain,
23
+ [ChainFamily.TON]: TONChain,
24
+ }
25
+
26
+ export { supportedChains } from './supported-chains.ts'
package/src/api/index.ts CHANGED
@@ -1,8 +1,12 @@
1
+ import { memoize } from 'micro-memoize'
2
+ import type { SetRequired } from 'type-fest'
3
+
1
4
  import {
2
5
  CCIPHttpError,
3
6
  CCIPLaneNotFoundError,
4
7
  CCIPMessageIdNotFoundError,
5
8
  CCIPMessageNotFoundInTxError,
9
+ CCIPNotImplementedError,
6
10
  CCIPTimeoutError,
7
11
  CCIPUnexpectedPaginationError,
8
12
  } from '../errors/index.ts'
@@ -10,7 +14,9 @@ import { HttpStatus } from '../http-status.ts'
10
14
  import { decodeMessage } from '../requests.ts'
11
15
  import {
12
16
  type CCIPMessage,
17
+ type CCIPRequest,
13
18
  type ChainTransaction,
19
+ type ExecutionInput,
14
20
  type Log_,
15
21
  type Logger,
16
22
  type NetworkInfo,
@@ -22,7 +28,6 @@ import {
22
28
  } from '../types.ts'
23
29
  import { bigIntReviver, parseJson } from '../utils.ts'
24
30
  import type {
25
- APICCIPRequest,
26
31
  APIErrorResponse,
27
32
  LaneLatencyResponse,
28
33
  RawLaneLatencyResponse,
@@ -31,15 +36,10 @@ import type {
31
36
  RawNetworkInfo,
32
37
  } from './types.ts'
33
38
 
34
- export type {
35
- APICCIPRequest,
36
- APICCIPRequestMetadata,
37
- APIErrorResponse,
38
- LaneLatencyResponse,
39
- } from './types.ts'
39
+ export type { APICCIPRequestMetadata, APIErrorResponse, LaneLatencyResponse } from './types.ts'
40
40
 
41
41
  /** Default CCIP API base URL */
42
- export const DEFAULT_API_BASE_URL = 'https://api.ccip.cldev.cloud'
42
+ export const DEFAULT_API_BASE_URL = 'https://api.ccip.chain.link'
43
43
 
44
44
  /** Default timeout for API requests in milliseconds */
45
45
  export const DEFAULT_TIMEOUT_MS = 30000
@@ -86,14 +86,14 @@ const ensureNetworkInfo = (o: RawNetworkInfo, logger: Logger): NetworkInfo => {
86
86
  *
87
87
  * @example Standalone usage
88
88
  * ```typescript
89
- * const api = new CCIPAPIClient()
89
+ * const api = CCIPAPIClient.fromUrl()
90
90
  * const latency = await api.getLaneLatency(sourceSelector, destSelector)
91
91
  * console.log(`Latency: ${latency.totalMs}ms`)
92
92
  * ```
93
93
  *
94
94
  * @example With custom options
95
95
  * ```typescript
96
- * const api = new CCIPAPIClient('https://custom.api.url', {
96
+ * const api = CCIPAPIClient.fromUrl('https://custom.api.url', {
97
97
  * logger: myLogger,
98
98
  * fetch: myCustomFetch,
99
99
  * })
@@ -123,9 +123,16 @@ export class CCIPAPIClient {
123
123
  /** Fetch function used for HTTP requests */
124
124
  private readonly _fetch: typeof fetch
125
125
 
126
+ static {
127
+ CCIPAPIClient.fromUrl = memoize(
128
+ (baseUrl?: string, ctx?: CCIPAPIClientContext) => new CCIPAPIClient(baseUrl, ctx),
129
+ { maxArgs: 1 },
130
+ )
131
+ }
132
+
126
133
  /**
127
134
  * Creates a new CCIPAPIClient instance.
128
- * @param baseUrl - Base URL for the CCIP API (defaults to https://api.ccip.chain.link)
135
+ * @param baseUrl - Base URL for the CCIP API (defaults to {@link DEFAULT_API_BASE_URL})
129
136
  * @param ctx - Optional context with logger and custom fetch
130
137
  */
131
138
  constructor(baseUrl?: string, ctx?: CCIPAPIClientContext) {
@@ -136,14 +143,15 @@ export class CCIPAPIClient {
136
143
  }
137
144
 
138
145
  /**
139
- * Factory method for creating CCIPAPIClient.
140
- * Currently equivalent to constructor; reserved for future preflight checks.
146
+ * Factory method for creating memoized CCIPAPIClient.
147
+ * Should be preferred over constructor, to avoid multiple fetch/retry/rate-limits instances,
148
+ * unless that's specifically required.
141
149
  * @param baseUrl - Base URL for the CCIP API
142
150
  * @param ctx - Optional context
143
151
  * @returns New CCIPAPIClient instance
144
152
  */
145
- static fromUrl(baseUrl?: string, ctx?: CCIPAPIClientContext): Promise<CCIPAPIClient> {
146
- return Promise.resolve(new CCIPAPIClient(baseUrl, ctx))
153
+ static fromUrl(baseUrl?: string, ctx?: CCIPAPIClientContext): CCIPAPIClient {
154
+ return new CCIPAPIClient(baseUrl, ctx)
147
155
  }
148
156
 
149
157
  /**
@@ -177,10 +185,12 @@ export class CCIPAPIClient {
177
185
  * @param destChainSelector - Destination chain selector (bigint)
178
186
  * @returns Promise resolving to {@link LaneLatencyResponse} with totalMs
179
187
  *
180
- * @throws {@link CCIPHttpError} on HTTP errors with context:
181
- * - `status` - HTTP status code (e.g., 404, 500)
188
+ * @throws {@link CCIPLaneNotFoundError} when lane not found (404)
189
+ * @throws {@link CCIPTimeoutError} if request times out
190
+ * @throws {@link CCIPHttpError} on other HTTP errors with context:
191
+ * - `status` - HTTP status code (e.g., 500)
182
192
  * - `statusText` - HTTP status message
183
- * - `apiErrorCode` - API error code (e.g., "LANE_NOT_FOUND", "INVALID_PARAMETERS")
193
+ * - `apiErrorCode` - API error code (e.g., "INVALID_PARAMETERS")
184
194
  * - `apiErrorMessage` - Human-readable error message from API
185
195
  *
186
196
  * @example Basic usage
@@ -261,8 +271,8 @@ export class CCIPAPIClient {
261
271
  * @param messageId - The message ID (0x prefix + 64 hex characters, e.g., "0x1234...abcd")
262
272
  * @returns Promise resolving to {@link APICCIPRequest} with message details
263
273
  *
264
- * @throws {@link CCIPMessageIdValidationError} when messageId format is invalid
265
274
  * @throws {@link CCIPMessageIdNotFoundError} when message not found (404)
275
+ * @throws {@link CCIPTimeoutError} if request times out
266
276
  * @throws {@link CCIPHttpError} on HTTP errors with context:
267
277
  * - `status` - HTTP status code
268
278
  * - `statusText` - HTTP status message
@@ -274,7 +284,7 @@ export class CCIPAPIClient {
274
284
  * const request = await api.getMessageById(
275
285
  * '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef'
276
286
  * )
277
- * console.log(`Status: ${request.status}`)
287
+ * console.log(`Status: ${request.metadata.status}`)
278
288
  * console.log(`From: ${request.message?.sender}`)
279
289
  * ```
280
290
  *
@@ -289,7 +299,7 @@ export class CCIPAPIClient {
289
299
  * }
290
300
  * ```
291
301
  */
292
- async getMessageById(messageId: string): Promise<APICCIPRequest> {
302
+ async getMessageById(messageId: string): Promise<SetRequired<CCIPRequest, 'metadata'>> {
293
303
  const url = `${this.baseUrl}/v2/messages/${encodeURIComponent(messageId)}`
294
304
 
295
305
  this.logger.debug(`CCIPAPIClient: GET ${url}`)
@@ -339,9 +349,9 @@ export class CCIPAPIClient {
339
349
  * @param txHash - Source transaction hash (EVM hex or Solana Base58)
340
350
  * @returns Promise resolving to array of message IDs
341
351
  *
342
- * @throws {@link CCIPArgumentInvalidError} when txHash format is invalid
343
352
  * @throws {@link CCIPMessageNotFoundInTxError} when no messages found (404 or empty)
344
353
  * @throws {@link CCIPUnexpectedPaginationError} when hasNextPage is true
354
+ * @throws {@link CCIPTimeoutError} if request times out
345
355
  * @throws {@link CCIPHttpError} on HTTP errors
346
356
  *
347
357
  * @example Basic usage
@@ -411,11 +421,25 @@ export class CCIPAPIClient {
411
421
  }
412
422
 
413
423
  /**
414
- * Transforms raw API response to APICCIPRequest.
424
+ * Fetches the execution input for a given message by id.
425
+ * @param messageId - The ID of the message to fetch the execution input for.
426
+ * @returns Either `{ encodedMessage, verifications }` or `{ message, offchainTokenData, ...proof }`, and offRamp
427
+ */
428
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
429
+ getExecutionInput(messageId: string): Promise<ExecutionInput & { offRamp: string }> {
430
+ throw new CCIPNotImplementedError(`CCIPAPIClient.getExecutionInput`)
431
+ // TODO: fetch (memoized) request with metadata from `getMessageById`
432
+ // TODO: if request doesn't contain averything needed (e.g. <v2.0), fetch `batch` and
433
+ // `offchainTokenData` from `/execution-input`
434
+ // TODO: if <v2.0, `calculateManualExecProof` and return `offRamp` and `input`
435
+ }
436
+
437
+ /**
438
+ * Transforms raw API response to CCIPRequest with metadata.
415
439
  * Populates all derivable CCIPRequest fields from API data.
416
440
  * @internal
417
441
  */
418
- private _transformMessageResponse(text: string): APICCIPRequest {
442
+ _transformMessageResponse(text: string): SetRequired<CCIPRequest, 'metadata'> {
419
443
  // Build message with extraArgs spread and tokenAmounts included
420
444
  const raw = decodeMessage(text) as CCIPMessage & Omit<RawMessageResponse, keyof CCIPMessage>
421
445
 
@@ -427,7 +451,6 @@ export class CCIPAPIClient {
427
451
  onramp,
428
452
  version,
429
453
  readyForManualExecution,
430
- finality,
431
454
  sendTransactionHash,
432
455
  receiptTransactionHash,
433
456
  sendTimestamp,
@@ -487,15 +510,16 @@ export class CCIPAPIClient {
487
510
  message,
488
511
  log,
489
512
  tx,
490
- // API-specific fields
491
- status: validateMessageStatus(status, this.logger),
492
- readyForManualExecution,
493
- finality,
494
- receiptTransactionHash,
495
- receiptTimestamp: receiptTimestamp_,
496
- deliveryTime,
497
- sourceNetworkInfo: ensureNetworkInfo(sourceNetworkInfo, this.logger),
498
- destNetworkInfo: ensureNetworkInfo(destNetworkInfo, this.logger),
513
+ // API-specific metadata
514
+ metadata: {
515
+ status: validateMessageStatus(status, this.logger),
516
+ readyForManualExecution,
517
+ receiptTransactionHash,
518
+ receiptTimestamp: receiptTimestamp_,
519
+ deliveryTime,
520
+ sourceNetworkInfo: ensureNetworkInfo(sourceNetworkInfo, this.logger),
521
+ destNetworkInfo: ensureNetworkInfo(destNetworkInfo, this.logger),
522
+ },
499
523
  }
500
524
  }
501
525
  }
package/src/api/types.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { CCIPRequest, MessageStatus, NetworkInfo } from '../types.ts'
1
+ import type { MessageStatus, NetworkInfo } from '../types.ts'
2
2
 
3
3
  /**
4
4
  * Response from GET /v2/lanes/latency endpoint.
@@ -149,43 +149,36 @@ export type RawMessagesResponse = {
149
149
  // ============================================================================
150
150
 
151
151
  /**
152
- * API-specific metadata fields not present in CCIPRequest.
153
- * These fields are only available when fetching message details from the CCIP API.
152
+ * API-specific metadata fields for CCIP requests.
153
+ *
154
+ * @remarks
155
+ * These fields are only available when fetching via the CCIP API.
156
+ * This type is the value of the `metadata` field on {@link CCIPRequest}.
157
+ *
158
+ * @example
159
+ * ```typescript
160
+ * const request = await chain.getMessageById(messageId)
161
+ * if (request.metadata) {
162
+ * console.log(`Status: ${request.metadata.status}`)
163
+ * if (request.metadata.receiptTransactionHash) {
164
+ * console.log(`Executed in tx: ${request.metadata.receiptTransactionHash}`)
165
+ * }
166
+ * }
167
+ * ```
154
168
  */
155
169
  export type APICCIPRequestMetadata = {
156
- /** Message lifecycle status from API */
170
+ /** Message lifecycle status from API. */
157
171
  status: MessageStatus
158
- /** Whether message is ready for manual execution */
172
+ /** Whether message is ready for manual execution. */
159
173
  readyForManualExecution: boolean
160
- /** Finality block confirmations */
161
- finality: bigint
162
- /** Receipt transaction hash if executed */
174
+ /** Transaction hash of execution receipt (if executed). */
163
175
  receiptTransactionHash?: string
164
- /** Receipt timestamp (Unix) if executed */
176
+ /** Unix timestamp of execution receipt (if executed). */
165
177
  receiptTimestamp?: number
166
- /** End-to-end delivery time in ms if completed */
178
+ /** End-to-end delivery time in milliseconds (if completed). */
167
179
  deliveryTime?: bigint
168
- /** Source network info */
180
+ /** Source network metadata. */
169
181
  sourceNetworkInfo: NetworkInfo
170
- /** Destination network info */
182
+ /** Destination network metadata. */
171
183
  destNetworkInfo: NetworkInfo
172
184
  }
173
-
174
- /**
175
- * CCIP request information retrieved from API.
176
- *
177
- * Combines standard {@link CCIPRequest} fields with API-specific metadata.
178
- *
179
- * **Complete fields:**
180
- * - `lane`: All fields available (sourceChainSelector, destChainSelector, onRamp, version)
181
- * - `message`: All core fields (messageId, sender, receiver, data, sequenceNumber, nonce,
182
- * tokenAmounts, feeToken, feeTokenAmount) plus extraArgs (EVM or SVM depending on chain)
183
- * - `log`: transactionHash, address, index, blockNumber, topics, data
184
- * - `tx`: hash, timestamp, from, logs, blockNumber
185
- *
186
- * **API-only fields** (in {@link APICCIPRequestMetadata}):
187
- * - `status`, `readyForManualExecution`, `finality`
188
- * - `receiptTransactionHash`, `receiptTimestamp`, `deliveryTime`
189
- * - `sourceNetworkInfo`, `destNetworkInfo`
190
- */
191
- export type APICCIPRequest = CCIPRequest & APICCIPRequestMetadata
package/src/aptos/exec.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { type Aptos, AccountAddress } from '@aptos-labs/ts-sdk'
2
2
 
3
- import type { ExecutionReport } from '../types.ts'
3
+ import type { ExecutionInput } from '../types.ts'
4
4
  import { serializeExecutionReport } from './types.ts'
5
5
  import type { CCIPMessage_V1_6_EVM } from '../evm/messages.ts'
6
6
 
@@ -18,7 +18,7 @@ export async function generateUnsignedExecuteReport(
18
18
  provider: Aptos,
19
19
  payer: string,
20
20
  offRamp: string,
21
- execReport: ExecutionReport<CCIPMessage_V1_6_EVM>,
21
+ execReport: ExecutionInput<CCIPMessage_V1_6_EVM>,
22
22
  opts?: { gasLimit?: number },
23
23
  ) {
24
24
  // Prepare proofs as byte arrays
@@ -6,9 +6,9 @@ import {
6
6
  } from '../errors/index.ts'
7
7
  import { decodeExtraArgs } from '../extra-args.ts'
8
8
  import { type LeafHasher, LEAF_DOMAIN_SEPARATOR } from '../hasher/common.ts'
9
+ import { encodeNumber, encodeRawBytes } from '../shared/bcs-codecs.ts'
9
10
  import { type CCIPMessage, type CCIPMessage_V1_6, CCIPVersion } from '../types.ts'
10
11
  import { getAddressBytes, networkInfo } from '../utils.ts'
11
- import { encodeNumber, encodeRawBytes } from './utils.ts'
12
12
 
13
13
  /**
14
14
  * Creates a leaf hasher for Aptos CCIP messages.