@chainlink/ccip-cli 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 (44) hide show
  1. package/README.md +52 -2
  2. package/dist/commands/lane-latency.d.ts +17 -0
  3. package/dist/commands/lane-latency.d.ts.map +1 -1
  4. package/dist/commands/lane-latency.js +18 -1
  5. package/dist/commands/lane-latency.js.map +1 -1
  6. package/dist/commands/manual-exec.d.ts +21 -1
  7. package/dist/commands/manual-exec.d.ts.map +1 -1
  8. package/dist/commands/manual-exec.js +35 -19
  9. package/dist/commands/manual-exec.js.map +1 -1
  10. package/dist/commands/parse.d.ts +17 -0
  11. package/dist/commands/parse.d.ts.map +1 -1
  12. package/dist/commands/parse.js +25 -2
  13. package/dist/commands/parse.js.map +1 -1
  14. package/dist/commands/send.d.ts +20 -0
  15. package/dist/commands/send.d.ts.map +1 -1
  16. package/dist/commands/send.js +39 -5
  17. package/dist/commands/send.js.map +1 -1
  18. package/dist/commands/show.d.ts +22 -6
  19. package/dist/commands/show.d.ts.map +1 -1
  20. package/dist/commands/show.js +77 -43
  21. package/dist/commands/show.js.map +1 -1
  22. package/dist/commands/supported-tokens.d.ts +3 -1
  23. package/dist/commands/supported-tokens.d.ts.map +1 -1
  24. package/dist/commands/supported-tokens.js +15 -6
  25. package/dist/commands/supported-tokens.js.map +1 -1
  26. package/dist/commands/utils.d.ts +7 -7
  27. package/dist/commands/utils.d.ts.map +1 -1
  28. package/dist/commands/utils.js +89 -43
  29. package/dist/commands/utils.js.map +1 -1
  30. package/dist/index.js +1 -1
  31. package/dist/loadtest.d.ts +2 -0
  32. package/dist/loadtest.d.ts.map +1 -0
  33. package/dist/loadtest.js +132 -0
  34. package/dist/loadtest.js.map +1 -0
  35. package/package.json +9 -9
  36. package/src/commands/lane-latency.ts +19 -1
  37. package/src/commands/manual-exec.ts +36 -28
  38. package/src/commands/parse.ts +26 -2
  39. package/src/commands/send.ts +45 -4
  40. package/src/commands/show.ts +85 -44
  41. package/src/commands/supported-tokens.ts +15 -6
  42. package/src/commands/utils.ts +105 -43
  43. package/src/index.ts +1 -1
  44. package/src/loadtest.ts +171 -0
package/README.md CHANGED
@@ -74,7 +74,7 @@ to reply for each network.
74
74
  ## Wallet
75
75
 
76
76
  Commands which need to send transactions try to get a private key from a `PRIVATE_KEY` environment
77
- variable.
77
+ variable. Alternative names `USER_KEY` and `OWNER_KEY` are also supported (checked in that order).
78
78
 
79
79
  Wallet options can also be passed as `--wallet`, where each chain family may interpret it however it
80
80
  can:
@@ -108,6 +108,13 @@ ChainIDs depend on the chain family and must be passed using this pattern:
108
108
  - `--format=json`: Machine-readable JSON
109
109
  - `--page=10000`: limits `eth_getLogs` (and others) pagination/scanning ranges (e.g. for RPCs which
110
110
  don't support large ranges)
111
+ - `--no-api`: Disable CCIP API integration (fully decentralized mode, RPC-only)
112
+
113
+ **Environment variable prefix:** All CLI options can be set via environment variables using the
114
+ `CCIP_` prefix. For example:
115
+ - `CCIP_NO_API=true` → same as `--no-api`
116
+ - `CCIP_VERBOSE=true` → same as `--verbose`
117
+ - `CCIP_FORMAT=json` → same as `--format=json`
111
118
 
112
119
  ### `send`
113
120
 
@@ -220,6 +227,10 @@ table. The former gets auto-cleared upon successful execution, while the latter
220
227
  to be cleared.
221
228
  `--clear-leftover-accounts` can be used to scan and wait for the accounts to be cleared, after exec.
222
229
 
230
+ #### Sui Special Cases
231
+
232
+ `--receiver-object-ids` specifies receiver object IDs required for Sui execution (e.g., `--receiver-object-ids 0xabc... 0xdef...`).
233
+
223
234
  #### Example
224
235
  ```sh
225
236
  ccip-cli manualExec 0xafd36a0b99d5457e403c918194cb69cd070d991dcbadc99576acfce5020c0b6b \
@@ -239,7 +250,7 @@ Error: EVM2EVMOnRamp_1.2.0.UnsupportedToken(address)
239
250
  Args: { token: '0x779877A7B0D9E8603169DdbD7836e478b4624789' }
240
251
  ```
241
252
 
242
- Attempts to parse hex-encoded function call data, error and revert reasons, for our known contracts.
253
+ Attempts to parse function call data, error and revert reasons for CCIP contracts. Supports hex (EVM), base64 (Solana), and other chain-specific formats.
243
254
 
244
255
  It'll recursively try to decode `returnData` and `error` arguments.
245
256
 
@@ -316,3 +327,42 @@ ccip-cli token -n ethereum-mainnet -H 0x1234...abcd -t 0xA0b86991c6218b36c1d19D4
316
327
  # Solana native SOL balance
317
328
  ccip-cli token -n solana-devnet -H EPUjBP3Xf76K1VKsDSc6GupBWE8uykNksCLJgXZn87CB
318
329
  ```
330
+
331
+ ### `laneLatency`
332
+
333
+ ```sh
334
+ ccip-cli laneLatency <source> <dest> [--api-url <url>]
335
+ ```
336
+
337
+ Query real-time lane latency between source and destination chains using the CCIP API.
338
+
339
+ **Arguments:**
340
+
341
+ | Argument | Description |
342
+ |----------|-------------|
343
+ | `<source>` | Source network (chainId, selector, or name) |
344
+ | `<dest>` | Destination network (chainId, selector, or name) |
345
+
346
+ **Options:**
347
+
348
+ | Option | Description |
349
+ |--------|-------------|
350
+ | `--api-url` | Custom CCIP API URL (default: api.ccip.chain.link) |
351
+
352
+ > **Note:** This command requires CCIP API access and respects the `--no-api` flag.
353
+
354
+ #### Example
355
+
356
+ ```sh
357
+ ccip-cli laneLatency ethereum-mainnet arbitrum-mainnet
358
+ ```
359
+
360
+ ## Supported Chains
361
+
362
+ | Chain Family | Status | Notes |
363
+ |--------------|--------|-------|
364
+ | EVM | Supported | Full functionality |
365
+ | Solana | Supported | Full functionality |
366
+ | Aptos | Supported | Full functionality |
367
+ | Sui | Partial | Manual execution only |
368
+ | TON | Partial | Manual execution only |
@@ -1,3 +1,20 @@
1
+ /**
2
+ * CCIP CLI Lane Latency Command
3
+ *
4
+ * Queries real-time lane latency statistics between source and destination chains
5
+ * using the CCIP API. Shows average, median, and percentile latencies.
6
+ *
7
+ * @example
8
+ * ```bash
9
+ * # Get latency between Ethereum and Arbitrum
10
+ * ccip-cli laneLatency ethereum-mainnet arbitrum-mainnet
11
+ *
12
+ * # Use custom API URL
13
+ * ccip-cli laneLatency sepolia fuji --api-url https://custom-api.example.com
14
+ * ```
15
+ *
16
+ * @packageDocumentation
17
+ */
1
18
  import type { Argv } from 'yargs';
2
19
  import type { GlobalOpts } from '../index.ts';
3
20
  import { type Ctx } from './types.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"lane-latency.d.ts","sourceRoot":"","sources":["../../src/commands/lane-latency.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,KAAK,GAAG,EAAU,MAAM,YAAY,CAAA;AAG7C,eAAO,MAAM,OAAO,UAAkE,CAAA;AACtF,eAAO,MAAM,QAAQ,uEAAuE,CAAA;AAC5F,eAAO,MAAM,OAAO,UAAc,CAAA;AAElC;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,OAAO,IAAI;;;;;;EAe7B,CAAA;AAEN;;;GAGG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,iBAQ3F;AAED,2BAA2B;AAC3B,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,iBAuCpF"}
1
+ {"version":3,"file":"lane-latency.d.ts","sourceRoot":"","sources":["../../src/commands/lane-latency.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAQH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,KAAK,GAAG,EAAU,MAAM,YAAY,CAAA;AAG7C,eAAO,MAAM,OAAO,UAAkE,CAAA;AACtF,eAAO,MAAM,QAAQ,uEAAuE,CAAA;AAC5F,eAAO,MAAM,OAAO,UAAc,CAAA;AAElC;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,OAAO,IAAI;;;;;;EAe7B,CAAA;AAEN;;;GAGG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,iBAQ3F;AAED,2BAA2B;AAC3B,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,iBAuCpF"}
@@ -1,3 +1,20 @@
1
+ /**
2
+ * CCIP CLI Lane Latency Command
3
+ *
4
+ * Queries real-time lane latency statistics between source and destination chains
5
+ * using the CCIP API. Shows average, median, and percentile latencies.
6
+ *
7
+ * @example
8
+ * ```bash
9
+ * # Get latency between Ethereum and Arbitrum
10
+ * ccip-cli laneLatency ethereum-mainnet arbitrum-mainnet
11
+ *
12
+ * # Use custom API URL
13
+ * ccip-cli laneLatency sepolia fuji --api-url https://custom-api.example.com
14
+ * ```
15
+ *
16
+ * @packageDocumentation
17
+ */
1
18
  import { CCIPAPIClient, CCIPApiClientNotAvailableError, bigIntReplacer, networkInfo, } from '@chainlink/ccip-sdk';
2
19
  import { Format } from "./types.js";
3
20
  import { formatDuration, getCtx, logParsedError, prettyTable } from "./utils.js";
@@ -51,7 +68,7 @@ export async function getLaneLatencyCmd(ctx, argv) {
51
68
  }
52
69
  const sourceNetwork = networkInfo(argv.source);
53
70
  const destNetwork = networkInfo(argv.dest);
54
- const apiClient = new CCIPAPIClient(argv.apiUrl, { logger });
71
+ const apiClient = CCIPAPIClient.fromUrl(argv.apiUrl, { logger });
55
72
  const result = await apiClient.getLaneLatency(sourceNetwork.chainSelector, destNetwork.chainSelector);
56
73
  switch (argv.format) {
57
74
  case Format.json:
@@ -1 +1 @@
1
- {"version":3,"file":"lane-latency.js","sourceRoot":"","sources":["../../src/commands/lane-latency.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lane-latency.js","sourceRoot":"","sources":["../../src/commands/lane-latency.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,26 @@
1
+ /**
2
+ * CCIP CLI Manual Execution Command
3
+ *
4
+ * Manually executes pending or failed CCIP messages on the destination chain.
5
+ * Use this when automatic execution fails or is delayed.
6
+ *
7
+ * @example
8
+ * ```bash
9
+ * # Execute a stuck message
10
+ * ccip-cli manualExec 0xSourceTxHash... --wallet $PRIVATE_KEY
11
+ *
12
+ * # Execute with custom gas limit
13
+ * ccip-cli manualExec 0xSourceTxHash... --gas-limit 500000
14
+ *
15
+ * # Execute all messages in sender queue
16
+ * ccip-cli manualExec 0xSourceTxHash... --sender-queue
17
+ * ```
18
+ *
19
+ * @packageDocumentation
20
+ */
1
21
  import type { Argv } from 'yargs';
2
22
  import type { GlobalOpts } from '../index.ts';
3
- export declare const command = "manualExec <tx-hash>";
23
+ export declare const command: string[];
4
24
  export declare const describe = "Execute manually pending or failed messages";
5
25
  /**
6
26
  * Yargs builder for the manual-exec command.
@@ -1 +1 @@
1
- {"version":3,"file":"manual-exec.d.ts","sourceRoot":"","sources":["../../src/commands/manual-exec.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAiB7C,eAAO,MAAM,OAAO,yBAAyB,CAAA;AAC7C,eAAO,MAAM,QAAQ,gDAAgD,CAAA;AAErE;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,OAAO,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiE7B,CAAA;AAEN;;;GAGG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,iBAW3F"}
1
+ {"version":3,"file":"manual-exec.d.ts","sourceRoot":"","sources":["../../src/commands/manual-exec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAQH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAiB7C,eAAO,MAAM,OAAO,UAAoD,CAAA;AACxE,eAAO,MAAM,QAAQ,gDAAgD,CAAA;AAErE;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,OAAO,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiE7B,CAAA;AAEN;;;GAGG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,iBAW3F"}
@@ -1,11 +1,31 @@
1
- import { bigIntReplacer, calculateManualExecProof, discoverOffRamp, estimateReceiveExecution, isSupportedTxHash, } from '@chainlink/ccip-sdk';
1
+ /**
2
+ * CCIP CLI Manual Execution Command
3
+ *
4
+ * Manually executes pending or failed CCIP messages on the destination chain.
5
+ * Use this when automatic execution fails or is delayed.
6
+ *
7
+ * @example
8
+ * ```bash
9
+ * # Execute a stuck message
10
+ * ccip-cli manualExec 0xSourceTxHash... --wallet $PRIVATE_KEY
11
+ *
12
+ * # Execute with custom gas limit
13
+ * ccip-cli manualExec 0xSourceTxHash... --gas-limit 500000
14
+ *
15
+ * # Execute all messages in sender queue
16
+ * ccip-cli manualExec 0xSourceTxHash... --sender-queue
17
+ * ```
18
+ *
19
+ * @packageDocumentation
20
+ */
21
+ import { bigIntReplacer, discoverOffRamp, estimateReceiveExecution, isSupportedTxHash, } from '@chainlink/ccip-sdk';
2
22
  import { Format } from "./types.js";
3
- import { getCtx, logParsedError, prettyCommit, prettyReceipt, prettyRequest, selectRequest, withDateTimestamp, } from "./utils.js";
23
+ import { getCtx, logParsedError, prettyReceipt, prettyRequest, prettyVerifications, selectRequest, withDateTimestamp, } from "./utils.js";
4
24
  import { fetchChainsFromRpcs, loadChainWallet } from "../providers/index.js";
5
25
  // const MAX_QUEUE = 1000
6
26
  // const MAX_EXECS_IN_BATCH = 1
7
27
  // const MAX_PENDING_TXS = 25
8
- export const command = 'manualExec <tx-hash>';
28
+ export const command = ['manualExec <tx-hash>', 'manual-exec <tx-hash>'];
9
29
  export const describe = 'Execute manually pending or failed messages';
10
30
  /**
11
31
  * Yargs builder for the manual-exec command.
@@ -103,7 +123,7 @@ async function manualExec(ctx, argv) {
103
123
  break;
104
124
  }
105
125
  case Format.pretty:
106
- await prettyRequest.call(ctx, source, request);
126
+ await prettyRequest.call(ctx, request, source);
107
127
  break;
108
128
  case Format.json:
109
129
  logger.info(JSON.stringify(request, bigIntReplacer, 2));
@@ -111,28 +131,19 @@ async function manualExec(ctx, argv) {
111
131
  }
112
132
  const dest = await getChain(request.lane.destChainSelector);
113
133
  const offRamp = await discoverOffRamp(source, dest, request.lane.onRamp, source);
114
- const commitStore = await dest.getCommitStoreForOffRamp(offRamp);
115
- const commit = await dest.getCommitReport({ ...argv, commitStore, request });
134
+ const verifications = await dest.getVerifications({ ...argv, offRamp, request });
116
135
  switch (argv.format) {
117
136
  case Format.log:
118
- logger.log('commit =', commit);
137
+ logger.log('commit =', verifications);
119
138
  break;
120
139
  case Format.pretty:
121
140
  logger.info('Commit (dest):');
122
- await prettyCommit.call(ctx, dest, commit, request);
141
+ await prettyVerifications.call(ctx, dest, verifications, request);
123
142
  break;
124
143
  case Format.json:
125
- logger.info(JSON.stringify(commit, bigIntReplacer, 2));
144
+ logger.info(JSON.stringify(verifications, bigIntReplacer, 2));
126
145
  break;
127
146
  }
128
- const messagesInBatch = await source.getMessagesInBatch(request, commit.report, argv);
129
- const execReportProof = calculateManualExecProof(messagesInBatch, request.lane, request.message.messageId, commit.report.merkleRoot, dest);
130
- const offchainTokenData = await source.getOffchainTokenData(request);
131
- const execReport = {
132
- ...execReportProof,
133
- message: request.message,
134
- offchainTokenData,
135
- };
136
147
  if (argv.estimateGasLimit != null) {
137
148
  let estimated = await estimateReceiveExecution({
138
149
  source,
@@ -142,7 +153,11 @@ async function manualExec(ctx, argv) {
142
153
  });
143
154
  logger.info('Estimated gasLimit override:', estimated);
144
155
  estimated += Math.ceil((estimated * argv.estimateGasLimit) / 100);
145
- const origLimit = Number('gasLimit' in request.message ? request.message.gasLimit : request.message.computeUnits);
156
+ const origLimit = Number('ccipReceiveGasLimit' in request.message
157
+ ? request.message.ccipReceiveGasLimit
158
+ : 'gasLimit' in request.message
159
+ ? request.message.gasLimit
160
+ : request.message.computeUnits);
146
161
  if (origLimit >= estimated) {
147
162
  logger.warn('Estimated +', argv.estimateGasLimit, '% =', estimated, '< original gasLimit =', origLimit, '. Leaving unchanged.');
148
163
  }
@@ -150,8 +165,9 @@ async function manualExec(ctx, argv) {
150
165
  argv.gasLimit = estimated;
151
166
  }
152
167
  }
168
+ const input = await source.getExecutionInput({ ...argv, request, verifications });
153
169
  const [, wallet] = await loadChainWallet(dest, argv);
154
- const receipt = await dest.executeReport({ ...argv, offRamp, execReport, wallet });
170
+ const receipt = await dest.execute({ ...argv, offRamp, input, wallet });
155
171
  switch (argv.format) {
156
172
  case Format.log:
157
173
  logger.log('receipt =', withDateTimestamp(receipt));
@@ -1 +1 @@
1
- {"version":3,"file":"manual-exec.js","sourceRoot":"","sources":["../../src/commands/manual-exec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manual-exec.js","sourceRoot":"","sources":["../../src/commands/manual-exec.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,20 @@
1
+ /**
2
+ * CCIP CLI Parse Command
3
+ *
4
+ * Parses and decodes various data formats including errors, revert reasons,
5
+ * function calls, and event data. Supports hex, base64, and chain-specific formats.
6
+ *
7
+ * @example
8
+ * ```bash
9
+ * # Parse a revert reason
10
+ * ccip-cli parse 0x08c379a0...
11
+ *
12
+ * # Parse event data
13
+ * ccip-cli parse 0xEventData...
14
+ * ```
15
+ *
16
+ * @packageDocumentation
17
+ */
1
18
  import type { Argv } from 'yargs';
2
19
  import type { GlobalOpts } from '../index.ts';
3
20
  export declare const command: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/commands/parse.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAI7C,eAAO,MAAM,OAAO,UAA4D,CAAA;AAChF,eAAO,MAAM,QAAQ,iFAC2D,CAAA;AAEhF;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,OAAO,IAAI;;EAK/B,CAAA;AAEJ;;;GAGG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,QAQrF"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/commands/parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAOH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAI7C,eAAO,MAAM,OAAO,UAMnB,CAAA;AACD,eAAO,MAAM,QAAQ,iFAC2D,CAAA;AAEhF;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,OAAO,IAAI;;EAK/B,CAAA;AAEJ;;;GAGG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,QAQrF"}
@@ -1,7 +1,30 @@
1
+ /**
2
+ * CCIP CLI Parse Command
3
+ *
4
+ * Parses and decodes various data formats including errors, revert reasons,
5
+ * function calls, and event data. Supports hex, base64, and chain-specific formats.
6
+ *
7
+ * @example
8
+ * ```bash
9
+ * # Parse a revert reason
10
+ * ccip-cli parse 0x08c379a0...
11
+ *
12
+ * # Parse event data
13
+ * ccip-cli parse 0xEventData...
14
+ * ```
15
+ *
16
+ * @packageDocumentation
17
+ */
1
18
  import { CCIPDataParseError, bigIntReplacer, supportedChains, } from '@chainlink/ccip-sdk';
2
19
  import { Format } from "./types.js";
3
20
  import { getCtx, logParsedError, prettyTable } from "./utils.js";
4
- export const command = ['parse <data>', 'parseBytes <data>', 'parseData <data>'];
21
+ export const command = [
22
+ 'parse <data>',
23
+ 'parseBytes <data>',
24
+ 'parse-bytes <data>',
25
+ 'parseData <data>',
26
+ 'parse-data <data>',
27
+ ];
5
28
  export const describe = 'Try to parse and print errors, revert reasons or function call or event data';
6
29
  /**
7
30
  * Yargs builder for the parse command.
@@ -11,7 +34,7 @@ export const describe = 'Try to parse and print errors, revert reasons or functi
11
34
  export const builder = (yargs) => yargs.positional('data', {
12
35
  type: 'string',
13
36
  demandOption: true,
14
- describe: 'router contract address on source',
37
+ describe: 'Data to parse (hex, base64, or chain-specific format)',
15
38
  });
16
39
  /**
17
40
  * Handler for the parse command.
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/commands/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,eAAe,GAChB,MAAM,kCAAkC,CAAA;AAIzC,OAAO,EAAY,MAAM,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAEhE,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,CAAC,CAAA;AAChF,MAAM,CAAC,MAAM,QAAQ,GACnB,8EAA8E,CAAA;AAEhF;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAW,EAAE,EAAE,CACrC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE;IACvB,IAAI,EAAE,QAAQ;IACd,YAAY,EAAE,IAAI;IAClB,QAAQ,EAAE,mCAAmC;CAC9C,CAAC,CAAA;AAEJ;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAC,IAA8D;IACpF,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAC1B,IAAI,CAAC;QACH,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACvB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;YAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC3D,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,GAAQ,EAAE,IAAmC;IAC/D,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAA;IACtB,IAAI,MAAM,CAAA;IACV,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC;YACH,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACjC,IAAI,MAAM;gBAAE,MAAK;QACnB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO;QACT,CAAC;IACH,CAAC;IACD,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEpD,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAChB,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;YAC9B,MAAK;QACP,CAAC;QACD,KAAK,MAAM,CAAC,MAAM;YAChB,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;YAC7B,MAAK;QACP,KAAK,MAAM,CAAC,IAAI;YACd,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,CAAA;YACtD,MAAK;IACT,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/commands/parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,eAAe,GAChB,MAAM,kCAAkC,CAAA;AAIzC,OAAO,EAAY,MAAM,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAEhE,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,cAAc;IACd,mBAAmB;IACnB,oBAAoB;IACpB,kBAAkB;IAClB,mBAAmB;CACpB,CAAA;AACD,MAAM,CAAC,MAAM,QAAQ,GACnB,8EAA8E,CAAA;AAEhF;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAW,EAAE,EAAE,CACrC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE;IACvB,IAAI,EAAE,QAAQ;IACd,YAAY,EAAE,IAAI;IAClB,QAAQ,EAAE,uDAAuD;CAClE,CAAC,CAAA;AAEJ;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAC,IAA8D;IACpF,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAC1B,IAAI,CAAC;QACH,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACvB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;YAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC3D,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,GAAQ,EAAE,IAAmC;IAC/D,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAA;IACtB,IAAI,MAAM,CAAA;IACV,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC;YACH,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACjC,IAAI,MAAM;gBAAE,MAAK;QACnB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO;QACT,CAAC;IACH,CAAC;IACD,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEpD,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAChB,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;YAC9B,MAAK;QACP,CAAC;QACD,KAAK,MAAM,CAAC,MAAM;YAChB,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;YAC7B,MAAK;QACP,KAAK,MAAM,CAAC,IAAI;YACd,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,CAAA;YACtD,MAAK;IACT,CAAC;AACH,CAAC"}
@@ -1,3 +1,23 @@
1
+ /**
2
+ * CCIP CLI Send Command
3
+ *
4
+ * Sends a cross-chain message via CCIP. Supports data payloads, token transfers,
5
+ * custom gas limits, and various fee payment options.
6
+ *
7
+ * @example
8
+ * ```bash
9
+ * # Send a message with data
10
+ * ccip-cli send -s sepolia -d fuji -r 0xRouter... --to 0xReceiver... --data "hello"
11
+ *
12
+ * # Send tokens
13
+ * ccip-cli send -s sepolia -d fuji -r 0xRouter... -t 0xToken=1.5
14
+ *
15
+ * # Pay fee in LINK
16
+ * ccip-cli send -s sepolia -d fuji -r 0xRouter... --fee-token LINK
17
+ * ```
18
+ *
19
+ * @packageDocumentation
20
+ */
1
21
  import type { Argv } from 'yargs';
2
22
  import type { GlobalOpts } from '../index.ts';
3
23
  export declare const command = "send";
@@ -1 +1 @@
1
- {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../src/commands/send.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAM7C,eAAO,MAAM,OAAO,SAAS,CAAA;AAC7B,eAAO,MAAM,QAAQ,yDAAyD,CAAA;AAE9E;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,OAAO,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsG7B,CAAA;AAEN;;;GAGG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,iBAQ3F"}
1
+ {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../src/commands/send.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAeH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAM7C,eAAO,MAAM,OAAO,SAAS,CAAA;AAC7B,eAAO,MAAM,QAAQ,yDAAyD,CAAA;AAE9E;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,OAAO,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsG7B,CAAA;AAEN;;;GAGG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,iBAQ3F"}
@@ -1,4 +1,24 @@
1
- import { CCIPArgumentInvalidError, CCIPTokenNotFoundError, ChainFamily, estimateReceiveExecution, getDataBytes, networkInfo, } from '@chainlink/ccip-sdk';
1
+ /**
2
+ * CCIP CLI Send Command
3
+ *
4
+ * Sends a cross-chain message via CCIP. Supports data payloads, token transfers,
5
+ * custom gas limits, and various fee payment options.
6
+ *
7
+ * @example
8
+ * ```bash
9
+ * # Send a message with data
10
+ * ccip-cli send -s sepolia -d fuji -r 0xRouter... --to 0xReceiver... --data "hello"
11
+ *
12
+ * # Send tokens
13
+ * ccip-cli send -s sepolia -d fuji -r 0xRouter... -t 0xToken=1.5
14
+ *
15
+ * # Pay fee in LINK
16
+ * ccip-cli send -s sepolia -d fuji -r 0xRouter... --fee-token LINK
17
+ * ```
18
+ *
19
+ * @packageDocumentation
20
+ */
21
+ import { CCIPArgumentInvalidError, CCIPInsufficientBalanceError, CCIPTokenNotFoundError, ChainFamily, estimateReceiveExecution, getDataBytes, networkInfo, } from '@chainlink/ccip-sdk';
2
22
  import { formatUnits, toUtf8Bytes } from 'ethers';
3
23
  import { showRequests } from "./show.js";
4
24
  import { getCtx, logParsedError, parseTokenAmounts } from "./utils.js";
@@ -248,6 +268,22 @@ async function sendMessage(ctx, argv) {
248
268
  return;
249
269
  if (!walletAddress)
250
270
  [walletAddress, wallet] = await loadChainWallet(source, argv);
271
+ // Check sender has sufficient balance for fee
272
+ try {
273
+ const balance = await source.getBalance({ holder: walletAddress, token: feeToken });
274
+ if (balance < fee) {
275
+ const symbol = feeTokenInfo.symbol.startsWith('W') && !feeToken
276
+ ? feeTokenInfo.symbol.substring(1)
277
+ : feeTokenInfo.symbol;
278
+ throw new CCIPInsufficientBalanceError(formatUnits(balance, feeTokenInfo.decimals), formatUnits(fee, feeTokenInfo.decimals), symbol);
279
+ }
280
+ }
281
+ catch (e) {
282
+ // may fail for chains that don't implement getBalance yet; log and continue
283
+ if (e instanceof CCIPInsufficientBalanceError)
284
+ throw e;
285
+ logger.debug('Balance check skipped:', e);
286
+ }
251
287
  const request = await source.sendMessage({
252
288
  ...argv,
253
289
  destChainSelector: destNetwork.chainSelector,
@@ -257,10 +293,8 @@ async function sendMessage(ctx, argv) {
257
293
  logger.info('🚀 Sending message to', receiver, '@', destNetwork.name, ', tx =>', request.tx.hash, ', messageId =>', request.message.messageId);
258
294
  await showRequests(ctx, {
259
295
  ...argv,
260
- txHash: request.tx.hash,
261
- 'tx-hash': request.tx.hash,
262
- 'id-from-source': undefined,
263
- idFromSource: undefined,
296
+ txHashOrId: request.tx.hash,
297
+ 'tx-hash-or-id': request.tx.hash,
264
298
  'log-index': undefined,
265
299
  logIndex: undefined,
266
300
  });
@@ -1 +1 @@
1
- {"version":3,"file":"send.js","sourceRoot":"","sources":["../../src/commands/send.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"send.js","sourceRoot":"","sources":["../../src/commands/send.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,23 @@
1
+ /**
2
+ * CCIP CLI Show Command
3
+ *
4
+ * Displays detailed information about a CCIP message, including its status,
5
+ * commit report, and execution receipts across source and destination chains.
6
+ *
7
+ * @example
8
+ * ```bash
9
+ * # Show message details
10
+ * ccip-cli show 0xSourceTxHash...
11
+ *
12
+ * # Wait for execution
13
+ * ccip-cli show 0xSourceTxHash... --wait
14
+ *
15
+ * # Output as JSON
16
+ * ccip-cli show 0xSourceTxHash... --format json
17
+ * ```
18
+ *
19
+ * @packageDocumentation
20
+ */
1
21
  import type { Argv } from 'yargs';
2
22
  import type { GlobalOpts } from '../index.ts';
3
23
  import { type Ctx } from './types.ts';
@@ -9,16 +29,12 @@ export declare const describe = "Show details of a CCIP request";
9
29
  * @returns Configured yargs instance with command options.
10
30
  */
11
31
  export declare const builder: (yargs: Argv) => Argv<import("yargs").Omit<{
12
- "tx-hash": string;
13
- }, "log-index" | "id-from-source" | "wait"> & import("yargs").InferredOptionTypes<{
32
+ "tx-hash-or-id": string;
33
+ }, "log-index" | "wait"> & import("yargs").InferredOptionTypes<{
14
34
  'log-index': {
15
35
  type: "number";
16
36
  describe: string;
17
37
  };
18
- 'id-from-source': {
19
- type: "string";
20
- describe: string;
21
- };
22
38
  wait: {
23
39
  type: "boolean";
24
40
  describe: string;
@@ -1 +1 @@
1
- {"version":3,"file":"show.d.ts","sourceRoot":"","sources":["../../src/commands/show.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,KAAK,GAAG,EAAU,MAAM,YAAY,CAAA;AAa7C,eAAO,MAAM,OAAO,UAAoC,CAAA;AACxD,eAAO,MAAM,QAAQ,mCAAmC,CAAA;AAExD;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,OAAO,IAAI;;;;;;;;;;;;;;;GAuB7B,CAAA;AAEN;;;GAGG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,iBAQ3F;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,iBAsJ/E"}
1
+ {"version":3,"file":"show.d.ts","sourceRoot":"","sources":["../../src/commands/show.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAeH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,KAAK,GAAG,EAAU,MAAM,YAAY,CAAA;AAa7C,eAAO,MAAM,OAAO,UAAgD,CAAA;AACpE,eAAO,MAAM,QAAQ,mCAAmC,CAAA;AAExD;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,OAAO,IAAI;;;;;;;;;;;GAkB7B,CAAA;AAEN;;;GAGG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,iBAQ3F;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,iBA6K/E"}