@chainlink/ccip-sdk 0.92.0 → 0.93.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 (223) hide show
  1. package/README.md +20 -18
  2. package/dist/api/index.d.ts +103 -0
  3. package/dist/api/index.d.ts.map +1 -0
  4. package/dist/api/index.js +141 -0
  5. package/dist/api/index.js.map +1 -0
  6. package/dist/api/types.d.ts +38 -0
  7. package/dist/api/types.d.ts.map +1 -0
  8. package/dist/api/types.js +2 -0
  9. package/dist/api/types.js.map +1 -0
  10. package/dist/aptos/index.d.ts +20 -33
  11. package/dist/aptos/index.d.ts.map +1 -1
  12. package/dist/aptos/index.js +34 -26
  13. package/dist/aptos/index.js.map +1 -1
  14. package/dist/aptos/logs.js +1 -1
  15. package/dist/aptos/logs.js.map +1 -1
  16. package/dist/aptos/token.js.map +1 -1
  17. package/dist/chain.d.ts +206 -71
  18. package/dist/chain.d.ts.map +1 -1
  19. package/dist/chain.js +89 -20
  20. package/dist/chain.js.map +1 -1
  21. package/dist/commits.d.ts +2 -2
  22. package/dist/commits.d.ts.map +1 -1
  23. package/dist/commits.js +4 -4
  24. package/dist/commits.js.map +1 -1
  25. package/dist/errors/CCIPError.d.ts.map +1 -1
  26. package/dist/errors/CCIPError.js +3 -2
  27. package/dist/errors/CCIPError.js.map +1 -1
  28. package/dist/errors/codes.d.ts +4 -1
  29. package/dist/errors/codes.d.ts.map +1 -1
  30. package/dist/errors/codes.js +6 -1
  31. package/dist/errors/codes.js.map +1 -1
  32. package/dist/errors/index.d.ts +5 -2
  33. package/dist/errors/index.d.ts.map +1 -1
  34. package/dist/errors/index.js +8 -2
  35. package/dist/errors/index.js.map +1 -1
  36. package/dist/errors/recovery.d.ts.map +1 -1
  37. package/dist/errors/recovery.js +4 -1
  38. package/dist/errors/recovery.js.map +1 -1
  39. package/dist/errors/specialized.d.ts +29 -4
  40. package/dist/errors/specialized.d.ts.map +1 -1
  41. package/dist/errors/specialized.js +48 -6
  42. package/dist/errors/specialized.js.map +1 -1
  43. package/dist/evm/errors.js.map +1 -1
  44. package/dist/evm/index.d.ts +24 -48
  45. package/dist/evm/index.d.ts.map +1 -1
  46. package/dist/evm/index.js +71 -59
  47. package/dist/evm/index.js.map +1 -1
  48. package/dist/evm/logs.js.map +1 -1
  49. package/dist/evm/offchain.js +3 -2
  50. package/dist/evm/offchain.js.map +1 -1
  51. package/dist/evm/viem/client-adapter.d.ts +68 -0
  52. package/dist/evm/viem/client-adapter.d.ts.map +1 -0
  53. package/dist/evm/viem/client-adapter.js +104 -0
  54. package/dist/evm/viem/client-adapter.js.map +1 -0
  55. package/dist/evm/viem/index.d.ts +29 -0
  56. package/dist/evm/viem/index.d.ts.map +1 -0
  57. package/dist/evm/viem/index.js +28 -0
  58. package/dist/evm/viem/index.js.map +1 -0
  59. package/dist/evm/viem/types.d.ts +13 -0
  60. package/dist/evm/viem/types.d.ts.map +1 -0
  61. package/dist/evm/viem/types.js +2 -0
  62. package/dist/evm/viem/types.js.map +1 -0
  63. package/dist/evm/viem/wallet-adapter.d.ts +58 -0
  64. package/dist/evm/viem/wallet-adapter.d.ts.map +1 -0
  65. package/dist/evm/viem/wallet-adapter.js +197 -0
  66. package/dist/evm/viem/wallet-adapter.js.map +1 -0
  67. package/dist/execution.d.ts +1 -1
  68. package/dist/execution.d.ts.map +1 -1
  69. package/dist/execution.js +2 -2
  70. package/dist/execution.js.map +1 -1
  71. package/dist/explorer.d.ts +74 -0
  72. package/dist/explorer.d.ts.map +1 -0
  73. package/dist/explorer.js +67 -0
  74. package/dist/explorer.js.map +1 -0
  75. package/dist/gas.js.map +1 -1
  76. package/dist/hasher/merklemulti.js.map +1 -1
  77. package/dist/http-status.d.ts +20 -0
  78. package/dist/http-status.d.ts.map +1 -0
  79. package/dist/http-status.js +25 -0
  80. package/dist/http-status.js.map +1 -0
  81. package/dist/index.d.ts +11 -4
  82. package/dist/index.d.ts.map +1 -1
  83. package/dist/index.js +5 -3
  84. package/dist/index.js.map +1 -1
  85. package/dist/offchain.js.map +1 -1
  86. package/dist/requests.d.ts +4 -4
  87. package/dist/requests.d.ts.map +1 -1
  88. package/dist/requests.js +6 -6
  89. package/dist/requests.js.map +1 -1
  90. package/dist/solana/cleanup.js +2 -2
  91. package/dist/solana/cleanup.js.map +1 -1
  92. package/dist/solana/exec.js +1 -5
  93. package/dist/solana/exec.js.map +1 -1
  94. package/dist/solana/index.d.ts +28 -57
  95. package/dist/solana/index.d.ts.map +1 -1
  96. package/dist/solana/index.js +66 -70
  97. package/dist/solana/index.js.map +1 -1
  98. package/dist/solana/logs.js +2 -2
  99. package/dist/solana/logs.js.map +1 -1
  100. package/dist/solana/offchain.js +3 -3
  101. package/dist/solana/offchain.js.map +1 -1
  102. package/dist/solana/send.js +1 -1
  103. package/dist/solana/send.js.map +1 -1
  104. package/dist/solana/utils.js +1 -1
  105. package/dist/solana/utils.js.map +1 -1
  106. package/dist/sui/discovery.d.ts.map +1 -1
  107. package/dist/sui/discovery.js +2 -5
  108. package/dist/sui/discovery.js.map +1 -1
  109. package/dist/sui/events.d.ts.map +1 -1
  110. package/dist/sui/events.js +2 -8
  111. package/dist/sui/events.js.map +1 -1
  112. package/dist/sui/index.d.ts +18 -29
  113. package/dist/sui/index.d.ts.map +1 -1
  114. package/dist/sui/index.js +24 -26
  115. package/dist/sui/index.js.map +1 -1
  116. package/dist/sui/manuallyExec/encoder.d.ts.map +1 -1
  117. package/dist/sui/manuallyExec/encoder.js +0 -3
  118. package/dist/sui/manuallyExec/encoder.js.map +1 -1
  119. package/dist/sui/manuallyExec/index.d.ts.map +1 -1
  120. package/dist/sui/manuallyExec/index.js +1 -2
  121. package/dist/sui/manuallyExec/index.js.map +1 -1
  122. package/dist/sui/objects.js +4 -4
  123. package/dist/sui/objects.js.map +1 -1
  124. package/dist/ton/exec.d.ts +2 -2
  125. package/dist/ton/exec.d.ts.map +1 -1
  126. package/dist/ton/exec.js.map +1 -1
  127. package/dist/ton/hasher.js +5 -5
  128. package/dist/ton/hasher.js.map +1 -1
  129. package/dist/ton/index.d.ts +54 -49
  130. package/dist/ton/index.d.ts.map +1 -1
  131. package/dist/ton/index.js +331 -236
  132. package/dist/ton/index.js.map +1 -1
  133. package/dist/ton/logs.d.ts +11 -22
  134. package/dist/ton/logs.d.ts.map +1 -1
  135. package/dist/ton/logs.js +95 -118
  136. package/dist/ton/logs.js.map +1 -1
  137. package/dist/ton/types.d.ts +9 -9
  138. package/dist/ton/types.d.ts.map +1 -1
  139. package/dist/ton/types.js +5 -9
  140. package/dist/ton/types.js.map +1 -1
  141. package/dist/ton/utils.d.ts +8 -27
  142. package/dist/ton/utils.d.ts.map +1 -1
  143. package/dist/ton/utils.js +31 -111
  144. package/dist/ton/utils.js.map +1 -1
  145. package/dist/types.d.ts +34 -0
  146. package/dist/types.d.ts.map +1 -1
  147. package/dist/types.js +30 -0
  148. package/dist/types.js.map +1 -1
  149. package/dist/utils.d.ts +6 -5
  150. package/dist/utils.d.ts.map +1 -1
  151. package/dist/utils.js +76 -52
  152. package/dist/utils.js.map +1 -1
  153. package/dist/viem.d.ts +6 -0
  154. package/dist/viem.d.ts.map +1 -0
  155. package/dist/viem.js +6 -0
  156. package/dist/viem.js.map +1 -0
  157. package/package.json +18 -3
  158. package/src/api/index.ts +167 -0
  159. package/src/api/types.ts +39 -0
  160. package/src/aptos/index.ts +57 -64
  161. package/src/aptos/logs.ts +10 -10
  162. package/src/aptos/token.ts +1 -1
  163. package/src/chain.ts +274 -97
  164. package/src/commits.ts +5 -5
  165. package/src/errors/CCIPError.ts +5 -2
  166. package/src/errors/codes.ts +8 -1
  167. package/src/errors/index.ts +15 -2
  168. package/src/errors/recovery.ts +9 -1
  169. package/src/errors/specialized.ts +61 -6
  170. package/src/evm/errors.ts +2 -2
  171. package/src/evm/index.ts +107 -120
  172. package/src/evm/logs.ts +4 -4
  173. package/src/evm/offchain.ts +5 -4
  174. package/src/evm/viem/client-adapter.ts +124 -0
  175. package/src/evm/viem/index.ts +29 -0
  176. package/src/evm/viem/types.ts +14 -0
  177. package/src/evm/viem/wallet-adapter.ts +233 -0
  178. package/src/execution.ts +9 -9
  179. package/src/explorer.ts +90 -0
  180. package/src/gas.ts +2 -2
  181. package/src/hasher/merklemulti.ts +7 -7
  182. package/src/http-status.ts +31 -0
  183. package/src/index.ts +19 -1
  184. package/src/offchain.ts +1 -1
  185. package/src/requests.ts +9 -12
  186. package/src/solana/cleanup.ts +4 -4
  187. package/src/solana/exec.ts +13 -18
  188. package/src/solana/index.ts +92 -117
  189. package/src/solana/logs.ts +8 -8
  190. package/src/solana/offchain.ts +3 -3
  191. package/src/solana/send.ts +20 -20
  192. package/src/solana/utils.ts +4 -4
  193. package/src/sui/discovery.ts +4 -10
  194. package/src/sui/events.ts +5 -12
  195. package/src/sui/index.ts +36 -48
  196. package/src/sui/manuallyExec/encoder.ts +0 -4
  197. package/src/sui/manuallyExec/index.ts +1 -3
  198. package/src/sui/objects.ts +14 -14
  199. package/src/ton/exec.ts +2 -5
  200. package/src/ton/hasher.ts +5 -5
  201. package/src/ton/index.ts +392 -316
  202. package/src/ton/logs.ts +122 -143
  203. package/src/ton/types.ts +17 -21
  204. package/src/ton/utils.ts +39 -145
  205. package/src/types.ts +36 -0
  206. package/src/utils.ts +96 -66
  207. package/src/viem.ts +5 -0
  208. package/tsconfig.json +3 -2
  209. package/dist/ton/bindings/offramp.d.ts +0 -48
  210. package/dist/ton/bindings/offramp.d.ts.map +0 -1
  211. package/dist/ton/bindings/offramp.js +0 -63
  212. package/dist/ton/bindings/offramp.js.map +0 -1
  213. package/dist/ton/bindings/onramp.d.ts +0 -40
  214. package/dist/ton/bindings/onramp.d.ts.map +0 -1
  215. package/dist/ton/bindings/onramp.js +0 -51
  216. package/dist/ton/bindings/onramp.js.map +0 -1
  217. package/dist/ton/bindings/router.d.ts +0 -47
  218. package/dist/ton/bindings/router.d.ts.map +0 -1
  219. package/dist/ton/bindings/router.js +0 -51
  220. package/dist/ton/bindings/router.js.map +0 -1
  221. package/src/ton/bindings/offramp.ts +0 -96
  222. package/src/ton/bindings/onramp.ts +0 -72
  223. package/src/ton/bindings/router.ts +0 -65
package/README.md CHANGED
@@ -43,7 +43,7 @@ import { EVMChain } from '@chainlink/ccip-sdk'
43
43
  const source = await EVMChain.fromUrl('https://ethereum-sepolia-rpc.publicnode.com')
44
44
 
45
45
  // Fetch message details from a transaction
46
- const requests = await source.fetchRequestsInTx(
46
+ const requests = await source.getMessagesInTx(
47
47
  '0xb8b27d9811509e3c364c9afaf8f14d8ebc65dec06327493981d7f7f4a00f2918'
48
48
  )
49
49
 
@@ -60,13 +60,13 @@ import { EVMChain, networkInfo } from '@chainlink/ccip-sdk'
60
60
 
61
61
  const source = await EVMChain.fromUrl('https://ethereum-sepolia-rpc.publicnode.com')
62
62
  const router = '0x0BF3dE8c5D3e8A2B34D2BEeB17ABfCeBaf363A59' // Sepolia Router
63
- const destSelector = networkInfo('ethereum-testnet-sepolia-arbitrum-1').chainSelector
63
+ const destChainSelector = networkInfo('ethereum-testnet-sepolia-arbitrum-1').chainSelector
64
64
 
65
- const fee = await source.getFee(router, destSelector, {
65
+ const fee = await source.getFee({ router, destChainSelector, message: {
66
66
  receiver: '0xYourReceiverAddress',
67
67
  data: '0x48656c6c6f', // "Hello" in hex
68
68
  extraArgs: { gasLimit: 200_000 }, // Gas limit for receiver's ccipReceive callback
69
- })
69
+ } })
70
70
 
71
71
  console.log('Fee in native token:', fee.toString())
72
72
  ```
@@ -81,10 +81,10 @@ const source = await EVMChain.fromUrl('https://ethereum-sepolia-rpc.publicnode.c
81
81
  const wallet = new Wallet('YOUR_PRIVATE_KEY', source.provider)
82
82
 
83
83
  const router = '0x0BF3dE8c5D3e8A2B34D2BEeB17ABfCeBaf363A59'
84
- const destSelector = networkInfo('ethereum-testnet-sepolia-arbitrum-1').chainSelector
84
+ const destChainSelector = networkInfo('ethereum-testnet-sepolia-arbitrum-1').chainSelector
85
85
 
86
86
  // Get fee first
87
- const fee = await source.getFee(router, destSelector, {
87
+ const fee = await source.getFee({ router, destChainSelector, message: {
88
88
  receiver: '0xYourReceiverAddress',
89
89
  data: '0x48656c6c6f',
90
90
  extraArgs: {
@@ -94,17 +94,17 @@ const fee = await source.getFee(router, destSelector, {
94
94
  })
95
95
 
96
96
  // Send the message
97
- const request = await source.sendMessage(
97
+ const request = await source.sendMessage({
98
98
  router,
99
- destSelector,
100
- {
99
+ destChainSelector,
100
+ message: {
101
101
  receiver: '0xYourReceiverAddress',
102
102
  data: '0x48656c6c6f',
103
103
  extraArgs: { gasLimit: 200_000, allowOutOfOrderExecution: true },
104
104
  fee,
105
105
  },
106
- { wallet }
107
- )
106
+ wallet,
107
+ })
108
108
 
109
109
  console.log('Transaction hash:', request.tx.hash)
110
110
  console.log('Message ID:', request.message.messageId)
@@ -126,22 +126,24 @@ For custom signing workflows (e.g., browser wallets, hardware wallets), use the
126
126
 
127
127
  ```ts
128
128
  // Generate unsigned transaction data
129
- const unsignedTx = await source.generateUnsignedSendMessage(
130
- senderAddress, // Your wallet address
129
+ const unsignedTx = await source.generateUnsignedSendMessage({
130
+ sender, // Your wallet address
131
131
  router,
132
- destSelector,
132
+ destChainSelector,
133
133
  message
134
- )
134
+ })
135
135
 
136
136
  // Sign and send with your own logic
137
- const signedTx = await customSigner.sign(unsignedTx)
138
- await customSender.broadcast(signedTx)
137
+ for (const tx of unsignedTx.transactions) {
138
+ const signed = await customSigner.sign(tx)
139
+ await customSender.broadcast(signed)
140
+ }
139
141
  ```
140
142
 
141
143
  For EVM chains in browsers, get a signer from the connected wallet:
142
144
 
143
145
  ```ts
144
- const signer = await source.provider.getSigner()
146
+ const signer = await source.provider.getSigner(0)
145
147
  ```
146
148
 
147
149
  ## Supported Chains
@@ -0,0 +1,103 @@
1
+ import type { LaneLatencyResponse } from './types.ts';
2
+ import type { Logger, WithLogger } from '../types.ts';
3
+ export type { APIErrorResponse, LaneLatencyResponse } from './types.ts';
4
+ /** Default CCIP API base URL */
5
+ export declare const DEFAULT_API_BASE_URL = "https://api.ccip.chain.link";
6
+ /**
7
+ * Context for CCIPAPIClient initialization.
8
+ */
9
+ export type CCIPAPIClientContext = WithLogger & {
10
+ /** Custom fetch function (defaults to globalThis.fetch) */
11
+ fetch?: typeof fetch;
12
+ };
13
+ /**
14
+ * Client for interacting with the CCIP REST API.
15
+ *
16
+ * Can be used standalone or injected into Chain classes.
17
+ *
18
+ * @example Standalone usage
19
+ * ```typescript
20
+ * const api = new CCIPAPIClient()
21
+ * const latency = await api.getLaneLatency(sourceSelector, destSelector)
22
+ * console.log(`Latency: ${latency.totalMs}ms`)
23
+ * ```
24
+ *
25
+ * @example With custom options
26
+ * ```typescript
27
+ * const api = new CCIPAPIClient('https://custom.api.url', {
28
+ * logger: myLogger,
29
+ * fetch: myCustomFetch,
30
+ * })
31
+ * ```
32
+ *
33
+ * @example Error handling
34
+ * ```typescript
35
+ * try {
36
+ * const latency = await api.getLaneLatency(sourceSelector, destSelector)
37
+ * } catch (err) {
38
+ * if (err instanceof CCIPHttpError) {
39
+ * console.error(`API error ${err.context.status}: ${err.context.apiErrorMessage}`)
40
+ * if (err.isTransient) {
41
+ * // Retry after delay
42
+ * }
43
+ * }
44
+ * }
45
+ * ```
46
+ */
47
+ export declare class CCIPAPIClient {
48
+ /** Base URL for API requests */
49
+ readonly baseUrl: string;
50
+ /** Logger instance */
51
+ readonly logger: Logger;
52
+ /** Fetch function used for HTTP requests */
53
+ private readonly _fetch;
54
+ /**
55
+ * Creates a new CCIPAPIClient instance.
56
+ * @param baseUrl - Base URL for the CCIP API (defaults to https://api.ccip.chain.link)
57
+ * @param ctx - Optional context with logger and custom fetch
58
+ */
59
+ constructor(baseUrl?: string, ctx?: CCIPAPIClientContext);
60
+ /**
61
+ * Factory method for creating CCIPAPIClient.
62
+ * Currently equivalent to constructor; reserved for future preflight checks.
63
+ * @param baseUrl - Base URL for the CCIP API
64
+ * @param ctx - Optional context
65
+ * @returns New CCIPAPIClient instance
66
+ */
67
+ static fromUrl(baseUrl?: string, ctx?: CCIPAPIClientContext): Promise<CCIPAPIClient>;
68
+ /**
69
+ * Fetches estimated lane latency between source and destination chains.
70
+ *
71
+ * @param sourceChainSelector - Source chain selector (bigint)
72
+ * @param destChainSelector - Destination chain selector (bigint)
73
+ * @returns Promise resolving to {@link LaneLatencyResponse} with totalMs
74
+ *
75
+ * @throws {@link CCIPHttpError} on HTTP errors with context:
76
+ * - `status` - HTTP status code (e.g., 404, 500)
77
+ * - `statusText` - HTTP status message
78
+ * - `apiErrorCode` - API error code (e.g., "LANE_NOT_FOUND", "INVALID_PARAMETERS")
79
+ * - `apiErrorMessage` - Human-readable error message from API
80
+ *
81
+ * @example Basic usage
82
+ * ```typescript
83
+ * const latency = await api.getLaneLatency(
84
+ * 5009297550715157269n, // Ethereum mainnet
85
+ * 4949039107694359620n, // Arbitrum mainnet
86
+ * )
87
+ * console.log(`Estimated delivery: ${Math.round(latency.totalMs / 60000)} minutes`)
88
+ * ```
89
+ *
90
+ * @example Handling specific API errors
91
+ * ```typescript
92
+ * try {
93
+ * const latency = await api.getLaneLatency(sourceSelector, destSelector)
94
+ * } catch (err) {
95
+ * if (err instanceof CCIPHttpError && err.context.apiErrorCode === 'LANE_NOT_FOUND') {
96
+ * console.error('This lane does not exist')
97
+ * }
98
+ * }
99
+ * ```
100
+ */
101
+ getLaneLatency(sourceChainSelector: bigint, destChainSelector: bigint): Promise<LaneLatencyResponse>;
102
+ }
103
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,mBAAmB,EAA0B,MAAM,YAAY,CAAA;AAG/F,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAErD,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAEvE,gCAAgC;AAChC,eAAO,MAAM,oBAAoB,gCAAgC,CAAA;AAEjE;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG;IAC9C,2DAA2D;IAC3D,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;CACrB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,qBAAa,aAAa;IACxB,gCAAgC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,sBAAsB;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,4CAA4C;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IAErC;;;;OAIG;gBACS,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,oBAAoB;IAMxD;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC;IAIpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACG,cAAc,CAClB,mBAAmB,EAAE,MAAM,EAC3B,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,mBAAmB,CAAC;CAgDhC"}
@@ -0,0 +1,141 @@
1
+ import { CCIPHttpError, CCIPLaneNotFoundError } from "../errors/index.js";
2
+ import { HttpStatus } from "../http-status.js";
3
+ /** Default CCIP API base URL */
4
+ export const DEFAULT_API_BASE_URL = 'https://api.ccip.chain.link';
5
+ /**
6
+ * Client for interacting with the CCIP REST API.
7
+ *
8
+ * Can be used standalone or injected into Chain classes.
9
+ *
10
+ * @example Standalone usage
11
+ * ```typescript
12
+ * const api = new CCIPAPIClient()
13
+ * const latency = await api.getLaneLatency(sourceSelector, destSelector)
14
+ * console.log(`Latency: ${latency.totalMs}ms`)
15
+ * ```
16
+ *
17
+ * @example With custom options
18
+ * ```typescript
19
+ * const api = new CCIPAPIClient('https://custom.api.url', {
20
+ * logger: myLogger,
21
+ * fetch: myCustomFetch,
22
+ * })
23
+ * ```
24
+ *
25
+ * @example Error handling
26
+ * ```typescript
27
+ * try {
28
+ * const latency = await api.getLaneLatency(sourceSelector, destSelector)
29
+ * } catch (err) {
30
+ * if (err instanceof CCIPHttpError) {
31
+ * console.error(`API error ${err.context.status}: ${err.context.apiErrorMessage}`)
32
+ * if (err.isTransient) {
33
+ * // Retry after delay
34
+ * }
35
+ * }
36
+ * }
37
+ * ```
38
+ */
39
+ export class CCIPAPIClient {
40
+ /** Base URL for API requests */
41
+ baseUrl;
42
+ /** Logger instance */
43
+ logger;
44
+ /** Fetch function used for HTTP requests */
45
+ _fetch;
46
+ /**
47
+ * Creates a new CCIPAPIClient instance.
48
+ * @param baseUrl - Base URL for the CCIP API (defaults to https://api.ccip.chain.link)
49
+ * @param ctx - Optional context with logger and custom fetch
50
+ */
51
+ constructor(baseUrl, ctx) {
52
+ this.baseUrl = baseUrl ?? DEFAULT_API_BASE_URL;
53
+ this.logger = ctx?.logger ?? console;
54
+ this._fetch = ctx?.fetch ?? globalThis.fetch;
55
+ }
56
+ /**
57
+ * Factory method for creating CCIPAPIClient.
58
+ * Currently equivalent to constructor; reserved for future preflight checks.
59
+ * @param baseUrl - Base URL for the CCIP API
60
+ * @param ctx - Optional context
61
+ * @returns New CCIPAPIClient instance
62
+ */
63
+ static fromUrl(baseUrl, ctx) {
64
+ return Promise.resolve(new CCIPAPIClient(baseUrl, ctx));
65
+ }
66
+ /**
67
+ * Fetches estimated lane latency between source and destination chains.
68
+ *
69
+ * @param sourceChainSelector - Source chain selector (bigint)
70
+ * @param destChainSelector - Destination chain selector (bigint)
71
+ * @returns Promise resolving to {@link LaneLatencyResponse} with totalMs
72
+ *
73
+ * @throws {@link CCIPHttpError} on HTTP errors with context:
74
+ * - `status` - HTTP status code (e.g., 404, 500)
75
+ * - `statusText` - HTTP status message
76
+ * - `apiErrorCode` - API error code (e.g., "LANE_NOT_FOUND", "INVALID_PARAMETERS")
77
+ * - `apiErrorMessage` - Human-readable error message from API
78
+ *
79
+ * @example Basic usage
80
+ * ```typescript
81
+ * const latency = await api.getLaneLatency(
82
+ * 5009297550715157269n, // Ethereum mainnet
83
+ * 4949039107694359620n, // Arbitrum mainnet
84
+ * )
85
+ * console.log(`Estimated delivery: ${Math.round(latency.totalMs / 60000)} minutes`)
86
+ * ```
87
+ *
88
+ * @example Handling specific API errors
89
+ * ```typescript
90
+ * try {
91
+ * const latency = await api.getLaneLatency(sourceSelector, destSelector)
92
+ * } catch (err) {
93
+ * if (err instanceof CCIPHttpError && err.context.apiErrorCode === 'LANE_NOT_FOUND') {
94
+ * console.error('This lane does not exist')
95
+ * }
96
+ * }
97
+ * ```
98
+ */
99
+ async getLaneLatency(sourceChainSelector, destChainSelector) {
100
+ const url = new URL(`${this.baseUrl}/v1/lanes/latency`);
101
+ url.searchParams.set('sourceChainSelector', sourceChainSelector.toString());
102
+ url.searchParams.set('destChainSelector', destChainSelector.toString());
103
+ this.logger.debug(`CCIPAPIClient: GET ${url.toString()}`);
104
+ const response = await this._fetch(url.toString());
105
+ if (!response.ok) {
106
+ // Try to parse structured error response from API
107
+ let apiError;
108
+ try {
109
+ apiError = (await response.json());
110
+ }
111
+ catch {
112
+ // Response body not JSON, use HTTP status only
113
+ }
114
+ // Throw specific error for lane not found
115
+ if (response.status === HttpStatus.NOT_FOUND) {
116
+ throw new CCIPLaneNotFoundError(sourceChainSelector, destChainSelector, {
117
+ context: apiError
118
+ ? {
119
+ apiErrorCode: apiError.error,
120
+ apiErrorMessage: apiError.message,
121
+ }
122
+ : undefined,
123
+ });
124
+ }
125
+ // Generic HTTP error for other cases
126
+ throw new CCIPHttpError(response.status, response.statusText, {
127
+ context: apiError
128
+ ? {
129
+ apiErrorCode: apiError.error,
130
+ apiErrorMessage: apiError.message,
131
+ }
132
+ : undefined,
133
+ });
134
+ }
135
+ const raw = (await response.json());
136
+ // Log full raw response for debugging
137
+ this.logger.debug('getLaneLatency raw response:', raw);
138
+ return { totalMs: raw.totalMs };
139
+ }
140
+ }
141
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Response from GET /v1/lanes/latency endpoint.
3
+ * Returns only the latency value - caller already knows source/dest chains.
4
+ */
5
+ export type LaneLatencyResponse = {
6
+ /** Estimated delivery time in milliseconds */
7
+ totalMs: number;
8
+ };
9
+ /** Raw API response (string selectors, before conversion) */
10
+ export type RawLaneLatencyResponse = {
11
+ lane: {
12
+ sourceNetworkInfo: {
13
+ name: string;
14
+ chainSelector: string;
15
+ chainId: string;
16
+ chainFamily: string;
17
+ };
18
+ destNetworkInfo: {
19
+ name: string;
20
+ chainSelector: string;
21
+ chainId: string;
22
+ chainFamily: string;
23
+ };
24
+ routerAddress: string;
25
+ };
26
+ totalMs: number;
27
+ };
28
+ /**
29
+ * API error response structure from CCIP API.
30
+ * Returned when API requests fail with 4xx/5xx status codes.
31
+ */
32
+ export type APIErrorResponse = {
33
+ /** Machine-readable error code (e.g., "LANE_NOT_FOUND", "INVALID_PARAMETERS") */
34
+ error: string;
35
+ /** Human-readable error message with details */
36
+ message: string;
37
+ };
38
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,6DAA6D;AAC7D,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE;QACJ,iBAAiB,EAAE;YACjB,IAAI,EAAE,MAAM,CAAA;YACZ,aAAa,EAAE,MAAM,CAAA;YACrB,OAAO,EAAE,MAAM,CAAA;YACf,WAAW,EAAE,MAAM,CAAA;SACpB,CAAA;QACD,eAAe,EAAE;YACf,IAAI,EAAE,MAAM,CAAA;YACZ,aAAa,EAAE,MAAM,CAAA;YACrB,OAAO,EAAE,MAAM,CAAA;YACf,WAAW,EAAE,MAAM,CAAA;SACpB,CAAA;QACD,aAAa,EAAE,MAAM,CAAA;KACtB,CAAA;IACD,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,iFAAiF;IACjF,KAAK,EAAE,MAAM,CAAA;IACb,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":""}
@@ -1,11 +1,12 @@
1
1
  import { Aptos, AptosConfig, Network } from '@aptos-labs/ts-sdk';
2
2
  import { type BytesLike } from 'ethers';
3
3
  import type { PickDeep } from 'type-fest';
4
- import { type LogFilter, type TokenInfo, type TokenPoolRemote, Chain } from '../chain.ts';
4
+ import { type ChainContext, 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 UnsignedAptosTx } from './types.ts';
7
7
  import type { LeafHasher } from '../hasher/common.ts';
8
- import { type AnyMessage, type CCIPMessage, type CCIPRequest, type ChainTransaction, type CommitReport, type ExecutionReceipt, type ExecutionReport, type Lane, type Log_, type NetworkInfo, type OffchainTokenData, type WithLogger, ChainFamily } from '../types.ts';
8
+ import { type CCIPExecution, type CCIPMessage, type CCIPRequest, type ChainTransaction, type CommitReport, type ExecutionReceipt, type Lane, type Log_, type NetworkInfo, type OffchainTokenData, type WithLogger, ChainFamily } from '../types.ts';
9
+ export type { UnsignedAptosTx };
9
10
  /**
10
11
  * Aptos chain implementation supporting Aptos networks.
11
12
  */
@@ -21,7 +22,7 @@ export declare class AptosChain extends Chain<typeof ChainFamily.Aptos> {
21
22
  * @param provider - Aptos SDK provider instance.
22
23
  * @param network - Network information for this chain.
23
24
  */
24
- constructor(provider: Aptos, network: NetworkInfo, ctx?: WithLogger);
25
+ constructor(provider: Aptos, network: NetworkInfo, ctx?: ChainContext);
25
26
  /**
26
27
  * Creates an AptosChain instance from an existing Aptos provider.
27
28
  * @param provider - Aptos SDK provider instance.
@@ -42,7 +43,7 @@ export declare class AptosChain extends Chain<typeof ChainFamily.Aptos> {
42
43
  * @param ctx - context containing logger
43
44
  * @returns A new AptosChain instance.
44
45
  */
45
- static fromUrl(url: string | Network | readonly [string, Network], ctx?: WithLogger): Promise<AptosChain>;
46
+ static fromUrl(url: string | Network | readonly [string, Network], ctx?: ChainContext): Promise<AptosChain>;
46
47
  /** {@inheritDoc Chain.getBlockTimestamp} */
47
48
  getBlockTimestamp(version: number | 'finalized'): Promise<number>;
48
49
  /** {@inheritDoc Chain.getTransaction} */
@@ -51,14 +52,14 @@ export declare class AptosChain extends Chain<typeof ChainFamily.Aptos> {
51
52
  getLogs(opts: LogFilter & {
52
53
  versionAsHash?: boolean;
53
54
  }): AsyncIterableIterator<Log_>;
54
- /** {@inheritDoc Chain.fetchRequestsInTx} */
55
- fetchRequestsInTx(tx: string | ChainTransaction): Promise<CCIPRequest[]>;
56
- /** {@inheritDoc Chain.fetchRequestById} */
57
- fetchRequestById(messageId: string, onRamp?: string, opts?: {
55
+ /** {@inheritDoc Chain.getMessagesInTx} */
56
+ getMessagesInTx(tx: string | ChainTransaction): Promise<CCIPRequest[]>;
57
+ /** {@inheritDoc Chain.getMessageById} */
58
+ getMessageById(messageId: string, onRamp?: string, opts?: {
58
59
  page?: number;
59
60
  }): Promise<CCIPRequest>;
60
- /** {@inheritDoc Chain.fetchAllMessagesInBatch} */
61
- fetchAllMessagesInBatch<R extends PickDeep<CCIPRequest, 'lane' | `log.${'topics' | 'address' | 'blockNumber'}` | 'message.sequenceNumber'>>(request: R, commit: Pick<CommitReport, 'minSeqNr' | 'maxSeqNr'>, opts?: {
61
+ /** {@inheritDoc Chain.getMessagesInBatch} */
62
+ getMessagesInBatch<R extends PickDeep<CCIPRequest, 'lane' | `log.${'topics' | 'address' | 'blockNumber'}` | 'message.sequenceNumber'>>(request: R, commit: Pick<CommitReport, 'minSeqNr' | 'maxSeqNr'>, opts?: {
62
63
  page?: number;
63
64
  }): Promise<R['message'][]>;
64
65
  /** {@inheritDoc Chain.typeAndVersion} */
@@ -135,31 +136,17 @@ export declare class AptosChain extends Chain<typeof ChainFamily.Aptos> {
135
136
  */
136
137
  static getDestLeafHasher(lane: Lane, _ctx?: WithLogger): LeafHasher;
137
138
  /** {@inheritDoc Chain.getFee} */
138
- getFee(router: string, destChainSelector: bigint, message: AnyMessage): Promise<bigint>;
139
- /** generate raw/unsigned `ccip_send` transaction */
140
- generateUnsignedSendMessage(sender: string, router: string, destChainSelector: bigint, message: AnyMessage & {
141
- fee?: bigint;
142
- }, opts: {
143
- approveMax?: boolean;
144
- }): Promise<UnsignedAptosTx>;
139
+ getFee({ router, destChainSelector, message, }: Parameters<Chain['getFee']>[0]): Promise<bigint>;
140
+ /** {@inheritDoc Chain.generateUnsignedSendMessage} */
141
+ generateUnsignedSendMessage(opts: Parameters<Chain['generateUnsignedSendMessage']>[0]): Promise<UnsignedAptosTx>;
145
142
  /** {@inheritDoc Chain.sendMessage} */
146
- sendMessage(router: string, destChainSelector: bigint, message: AnyMessage & {
147
- fee?: bigint;
148
- }, opts: {
149
- wallet: unknown;
150
- approveMax?: boolean;
151
- }): Promise<CCIPRequest>;
152
- /** {@inheritDoc Chain.fetchOffchainTokenData} */
153
- fetchOffchainTokenData(request: CCIPRequest): Promise<OffchainTokenData[]>;
154
- /** generate raw/unsigned `manually_execute` transaction data */
155
- generateUnsignedExecuteReport(payer: string, offRamp: string, execReport: ExecutionReport, opts: {
156
- gasLimit?: number;
157
- }): Promise<UnsignedAptosTx>;
143
+ sendMessage(opts: Parameters<Chain['sendMessage']>[0]): Promise<CCIPRequest>;
144
+ /** {@inheritDoc Chain.getOffchainTokenData} */
145
+ getOffchainTokenData(request: CCIPRequest): Promise<OffchainTokenData[]>;
146
+ /** {@inheritDoc Chain.generateUnsignedExecuteReport} */
147
+ generateUnsignedExecuteReport({ payer, offRamp, execReport, ...opts }: Parameters<Chain['generateUnsignedExecuteReport']>[0]): Promise<UnsignedAptosTx>;
158
148
  /** {@inheritDoc Chain.executeReport} */
159
- executeReport(offRamp: string, execReport: ExecutionReport, opts: {
160
- wallet: unknown;
161
- gasLimit?: number;
162
- }): Promise<ChainTransaction>;
149
+ executeReport(opts: Parameters<Chain['executeReport']>[0]): Promise<CCIPExecution>;
163
150
  /**
164
151
  * Parses raw Aptos data into typed structures.
165
152
  * @param data - Raw data to parse.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/aptos/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,WAAW,EAEX,OAAO,EAGR,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,KAAK,SAAS,EAUf,MAAM,QAAQ,CAAA;AAEf,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,WAAW,CAAA;AAEtD,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,eAAe,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAgBzF,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,cAAc,EAGpB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,KAAK,eAAe,EAIrB,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAErD,OAAO,EACL,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,IAAI,EACT,KAAK,IAAI,EACT,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,WAAW,EACZ,MAAM,aAAa,CAAA;AAuBpB;;GAEG;AACH,qBAAa,UAAW,SAAQ,KAAK,CAAC,OAAO,WAAW,CAAC,KAAK,CAAC;IAI7D,MAAM,CAAC,QAAQ,CAAC,MAAM,UAAoB;IAC1C,MAAM,CAAC,QAAQ,CAAC,QAAQ,KAAI;IAE5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IAChC,QAAQ,EAAE,KAAK,CAAA;IAEf,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,CAAA;IACnD,uBAAuB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAE/D;;;;OAIG;gBACS,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE,UAAU;IAyCnE;;;;;OAKG;WACU,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAIjF;;;;;OAKG;WACU,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAKxF;;;;;OAKG;WACU,OAAO,CAClB,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,EAClD,GAAG,CAAC,EAAE,UAAU,GACf,OAAO,CAAC,UAAU,CAAC;IAiBtB,4CAA4C;IACtC,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAIvE,yCAAyC;IACnC,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA6B/E,kCAAkC;IAC3B,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,qBAAqB,CAAC,IAAI,CAAC;IAI1F,4CAA4C;IACtC,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAI9E,2CAA2C;IAC5B,gBAAgB,CAC7B,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACvB,OAAO,CAAC,WAAW,CAAC;IAQvB,kDAAkD;IAC5C,uBAAuB,CAC3B,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;IAI1B,yCAAyC;IACnC,cAAc,CAAC,OAAO,EAAE,MAAM;IAUpC,6CAA6C;IAC7C,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK/E,8CAA8C;IAC9C,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAInF,kDAAkD;IAClD,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIzD,+CAA+C;IAC/C,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIrF,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;IAWxF,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;IAoB9D,mDAAmD;IAC7C,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAShE;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE;QACxB,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAC1C,GAAG,WAAW,GAAG,SAAS;IAe3B;;;;OAIG;IACH,MAAM,CAAC,eAAe,CACpB,SAAS,EAAE,SAAS,GAElB,CAAC,cAAc,GAAG;QAAE,IAAI,EAAE,gBAAgB,CAAA;KAAE,CAAC,GAC7C,CAAC,cAAc,GAAG;QAAE,IAAI,EAAE,gBAAgB,CAAA;KAAE,CAAC,GAC7C,SAAS;IA8Bb;;;;OAIG;IACH,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;IAgBpD;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,YAAY,EAAE,GAAG,SAAS;IAyB3F;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,gBAAgB,GAAG,SAAS;IAShF;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM;IAe3C;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE;IAI/C;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,UAAU;IAInE,iCAAiC;IAC3B,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAI7F,oDAAoD;IAC9C,2BAA2B,CAC/B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,MAAM,EACzB,OAAO,EAAE,UAAU,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,EACtC,IAAI,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GAC7B,OAAO,CAAC,eAAe,CAAC;IAgB3B,sCAAsC;IAChC,WAAW,CACf,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,MAAM,EACzB,OAAO,EAAE,UAAU,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,EACtC,IAAI,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GAC9C,OAAO,CAAC,WAAW,CAAC;IA+BvB,iDAAiD;IACjD,sBAAsB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAK1E,gEAAgE;IAC1D,6BAA6B,CACjC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,eAAe,EAC3B,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1B,OAAO,CAAC,eAAe,CAAC;IAkB3B,wCAAwC;IAClC,aAAa,CACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,eAAe,EAC3B,IAAI,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3C,OAAO,CAAC,gBAAgB,CAAC;IA4B5B;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO;;;cA3QI,gBAAgB;;cAChB,gBAAgB;;IAiR9C,6CAA6C;IACvC,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAkBtF,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;IAkBF,8CAA8C;IACxC,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QACpD,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;QACd,cAAc,CAAC,EAAE,MAAM,CAAA;KACxB,CAAC;IAkCF,8CAA8C;IACxC,mBAAmB,CACvB,SAAS,EAAE,MAAM,EACjB,mBAAmB,CAAC,EAAE,MAAM,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IA6F3C,uCAAuC;IACjC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAavE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/aptos/index.ts"],"names":[],"mappings":"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"}