@chainlink/ccip-cli 0.93.0 → 0.94.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.
@@ -29,7 +29,6 @@ export declare const builder: (yargs: Argv) => Argv<import("yargs").Omit<{
29
29
  alias: string[];
30
30
  type: "number";
31
31
  describe: string;
32
- default: number;
33
32
  };
34
33
  'estimate-gas-limit': {
35
34
  type: "number";
@@ -63,6 +62,7 @@ export declare const builder: (yargs: Argv) => Argv<import("yargs").Omit<{
63
62
  describe: string;
64
63
  };
65
64
  account: {
65
+ alias: string;
66
66
  type: "array";
67
67
  string: true;
68
68
  describe: string;
@@ -1,5 +1,5 @@
1
1
  import { CCIPArgumentInvalidError, CCIPChainFamilyUnsupportedError, CCIPTokenNotFoundError, ChainFamily, estimateExecGasForRequest, getDataBytes, networkInfo, sourceToDestTokenAmounts, } from '@chainlink/ccip-sdk';
2
- import { dataLength, formatUnits, toUtf8Bytes } from 'ethers';
2
+ import { formatUnits, toUtf8Bytes } from 'ethers';
3
3
  import { showRequests } from "./show.js";
4
4
  import { getCtx, logParsedError, parseTokenAmounts } from "./utils.js";
5
5
  import { fetchChainsFromRpcs, loadChainWallet } from "../providers/index.js";
@@ -44,7 +44,6 @@ export const builder = (yargs) => yargs
44
44
  alias: ['L', 'compute-units'],
45
45
  type: 'number',
46
46
  describe: 'Gas limit for receiver callback execution; defaults to default configured on ramps',
47
- default: 0,
48
47
  },
49
48
  'estimate-gas-limit': {
50
49
  type: 'number',
@@ -78,9 +77,10 @@ export const builder = (yargs) => yargs
78
77
  describe: "Address of the Solana tokenReceiver (if different than program's receiver)",
79
78
  },
80
79
  account: {
80
+ alias: 'receiver-object-id',
81
81
  type: 'array',
82
82
  string: true,
83
- describe: 'List of accounts needed by Solana receiver program; append `=rw` to specify account as writable; can be specified multiple times',
83
+ describe: 'List of accounts needed by Solana receiver program, or receiverObjectIds needed by Sui; On Solana, append `=rw` to specify account as writable; can be specified multiple times',
84
84
  example: 'requiredPdaAddress=rw',
85
85
  },
86
86
  'only-get-fee': {
@@ -131,30 +131,14 @@ async function sendMessage(ctx, argv) {
131
131
  data = toUtf8Bytes(argv.data);
132
132
  }
133
133
  }
134
- else {
135
- data = '0x';
136
- }
137
134
  const tokenAmounts = argv.transferTokens?.length
138
135
  ? await parseTokenAmounts(source, argv.transferTokens)
139
136
  : [];
140
137
  let receiver = argv.receiver;
141
- let tokenReceiver;
142
138
  let accounts, accountIsWritableBitmap = 0n;
143
139
  if (destNetwork.family === ChainFamily.Solana) {
144
- if (argv.tokenReceiver)
145
- tokenReceiver = argv.tokenReceiver;
146
- else if (!tokenAmounts.length) {
147
- tokenReceiver = '11111111111111111111111111111111';
148
- }
149
- else if (!dataLength(data)) {
150
- // sending tokens without data, i.e. not for a receiver contract
151
- tokenReceiver = receiver;
152
- receiver = '11111111111111111111111111111111';
153
- }
154
- else {
155
- throw new CCIPArgumentInvalidError('token-receiver', 'required when sending tokens with data to Solana');
156
- }
157
- if (argv.account) {
140
+ // parse accounts with or without `=rw` suffix
141
+ if (argv.account?.length) {
158
142
  accounts = argv.account.map((account, i) => {
159
143
  if (account.endsWith('=rw')) {
160
144
  accountIsWritableBitmap |= 1n << BigInt(i);
@@ -163,11 +147,6 @@ async function sendMessage(ctx, argv) {
163
147
  return account;
164
148
  });
165
149
  }
166
- else
167
- accounts = [];
168
- }
169
- else if (argv.tokenReceiver || argv.account?.length) {
170
- throw new CCIPArgumentInvalidError('token-receiver/account', 'only valid for Solana destination');
171
150
  }
172
151
  let walletAddress, wallet;
173
152
  if (!receiver) {
@@ -198,7 +177,7 @@ async function sendMessage(ctx, argv) {
198
177
  message: {
199
178
  sender: walletAddress,
200
179
  receiver,
201
- data,
180
+ data: data || '0x',
202
181
  tokenAmounts: destTokenAmounts,
203
182
  },
204
183
  });
@@ -207,17 +186,19 @@ async function sendMessage(ctx, argv) {
207
186
  if (argv.onlyEstimate)
208
187
  return;
209
188
  }
210
- // `--allow-out-of-order-exec` forces EVMExtraArgsV2, which shouldn't work on v1.2 lanes;
211
- // otherwise, fallsback to EVMExtraArgsV1 (compatible with v1.2 & v1.5)
189
+ // builds a catch-all extraArgs object, which can be massaged by
190
+ // [[Chain.buildMessageForDest]] to create suitable extraArgs with defaults if needed
212
191
  const extraArgs = {
213
- ...(argv.allowOutOfOrderExec != null || destNetwork.family !== ChainFamily.EVM
214
- ? { allowOutOfOrderExecution: !!argv.allowOutOfOrderExec }
215
- : {}),
216
- ...(destNetwork.family === ChainFamily.Solana
217
- ? { computeUnits: BigInt(argv.gasLimit) }
218
- : { gasLimit: BigInt(argv.gasLimit) }),
219
- ...(tokenReceiver ? { tokenReceiver } : {}),
220
- ...(accounts ? { accounts, accountIsWritableBitmap } : {}),
192
+ ...(argv.allowOutOfOrderExec != null && {
193
+ allowOutOfOrderExecution: !!argv.allowOutOfOrderExec,
194
+ }),
195
+ ...(argv.gasLimit == null
196
+ ? {}
197
+ : destNetwork.family === ChainFamily.Solana
198
+ ? { computeUnits: BigInt(argv.gasLimit) }
199
+ : { gasLimit: BigInt(argv.gasLimit) }),
200
+ ...(!!argv.tokenReceiver && { tokenReceiver: argv.tokenReceiver }),
201
+ ...(!!accounts && { accounts, accountIsWritableBitmap }), // accounts also used as Sui receiverObjectIds
221
202
  };
222
203
  let feeToken, feeTokenInfo;
223
204
  if (argv.feeToken) {
@@ -269,9 +250,7 @@ async function sendMessage(ctx, argv) {
269
250
  message: { ...message, fee },
270
251
  wallet,
271
252
  });
272
- logger.info('🚀 Sending message to', tokenReceiver && tokenReceiver !== '11111111111111111111111111111111'
273
- ? tokenReceiver
274
- : receiver, '@', destNetwork.name, ', tx =>', request.tx.hash, ', messageId =>', request.message.messageId);
253
+ logger.info('🚀 Sending message to', receiver, '@', destNetwork.name, ', tx =>', request.tx.hash, ', messageId =>', request.message.messageId);
275
254
  await showRequests(ctx, {
276
255
  ...argv,
277
256
  txHash: request.tx.hash,
@@ -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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"}
package/dist/index.js CHANGED
@@ -8,7 +8,7 @@ import { Format } from "./commands/index.js";
8
8
  util.inspect.defaultOptions.depth = 6; // print down to tokenAmounts in requests
9
9
  // generate:nofail
10
10
  // `const VERSION = '${require('./package.json').version}-${require('child_process').execSync('git rev-parse --short HEAD').toString().trim()}'`
11
- const VERSION = '0.93.0-e6b317b';
11
+ const VERSION = '0.94.0-aac4ae6';
12
12
  // generate:end
13
13
  const globalOpts = {
14
14
  rpcs: {
package/package.json CHANGED
@@ -1,10 +1,13 @@
1
1
  {
2
2
  "name": "@chainlink/ccip-cli",
3
- "version": "0.93.0",
3
+ "version": "0.94.0",
4
4
  "description": "CCIP Command Line Interface, based on @chainlink/ccip-sdk",
5
5
  "author": "Chainlink devs",
6
6
  "license": "MIT",
7
- "repository": "git://github.com/smartcontractkit/ccip-tools-ts.git",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/smartcontractkit/ccip-tools-ts.git"
10
+ },
8
11
  "type": "module",
9
12
  "bin": "dist/index.js",
10
13
  "scripts": {
@@ -29,34 +32,34 @@
29
32
  ],
30
33
  "devDependencies": {
31
34
  "@eslint/js": "^9.39.2",
32
- "@types/node": "25.0.3",
35
+ "@types/node": "25.0.8",
33
36
  "@types/yargs": "17.0.35",
34
37
  "eslint": "^9.39.2",
35
38
  "eslint-config-prettier": "10.1.8",
36
39
  "eslint-import-resolver-typescript": "4.4.4",
37
40
  "eslint-plugin-import": "^2.32.0",
38
- "eslint-plugin-jsdoc": "^61.5.0",
39
- "eslint-plugin-prettier": "^5.5.4",
41
+ "eslint-plugin-jsdoc": "^62.0.0",
42
+ "eslint-plugin-prettier": "^5.5.5",
40
43
  "eslint-plugin-tsdoc": "^0.5.0",
41
44
  "prettier": "^3.7.4",
42
45
  "tsx": "4.21.0",
43
46
  "typescript": "5.9.3",
44
- "typescript-eslint": "8.51.0"
47
+ "typescript-eslint": "8.53.0"
45
48
  },
46
49
  "dependencies": {
47
- "@aptos-labs/ts-sdk": "^5.2.0",
48
- "@chainlink/ccip-sdk": "^0.93.0",
50
+ "@aptos-labs/ts-sdk": "^5.2.1",
51
+ "@chainlink/ccip-sdk": "^0.94.0",
49
52
  "@coral-xyz/anchor": "^0.29.0",
50
53
  "@ethers-ext/signer-ledger": "^6.0.0-beta.1",
51
- "@inquirer/prompts": "8.1.0",
52
- "@ledgerhq/hw-app-aptos": "^6.34.11",
53
- "@ledgerhq/hw-app-solana": "^7.6.2",
54
- "@ledgerhq/hw-transport-node-hid": "^6.29.16",
54
+ "@inquirer/prompts": "8.2.0",
55
+ "@ledgerhq/hw-app-aptos": "^6.34.12",
56
+ "@ledgerhq/hw-app-solana": "^7.6.3",
57
+ "@ledgerhq/hw-transport-node-hid": "^6.29.17",
55
58
  "@solana/web3.js": "^1.98.4",
56
59
  "@ton-community/ton-ledger": "^7.3.0",
57
60
  "bs58": "^6.0.0",
58
61
  "ethers": "6.16.0",
59
- "type-fest": "^5.3.1",
62
+ "type-fest": "^5.4.1",
60
63
  "yargs": "18.0.0"
61
64
  },
62
65
  "overrides": {
@@ -1,9 +1,9 @@
1
1
  import {
2
- type AnyMessage,
3
2
  type CCIPVersion,
4
3
  type ChainStatic,
5
4
  type EVMChain,
6
5
  type ExtraArgs,
6
+ type MessageInput,
7
7
  CCIPArgumentInvalidError,
8
8
  CCIPChainFamilyUnsupportedError,
9
9
  CCIPTokenNotFoundError,
@@ -13,7 +13,7 @@ import {
13
13
  networkInfo,
14
14
  sourceToDestTokenAmounts,
15
15
  } from '@chainlink/ccip-sdk/src/index.ts'
16
- import { type BytesLike, dataLength, formatUnits, toUtf8Bytes } from 'ethers'
16
+ import { type BytesLike, formatUnits, toUtf8Bytes } from 'ethers'
17
17
  import type { Argv } from 'yargs'
18
18
 
19
19
  import type { GlobalOpts } from '../index.ts'
@@ -67,7 +67,6 @@ export const builder = (yargs: Argv) =>
67
67
  type: 'number',
68
68
  describe:
69
69
  'Gas limit for receiver callback execution; defaults to default configured on ramps',
70
- default: 0,
71
70
  },
72
71
  'estimate-gas-limit': {
73
72
  type: 'number',
@@ -105,10 +104,11 @@ export const builder = (yargs: Argv) =>
105
104
  describe: "Address of the Solana tokenReceiver (if different than program's receiver)",
106
105
  },
107
106
  account: {
107
+ alias: 'receiver-object-id',
108
108
  type: 'array',
109
109
  string: true,
110
110
  describe:
111
- 'List of accounts needed by Solana receiver program; append `=rw` to specify account as writable; can be specified multiple times',
111
+ 'List of accounts needed by Solana receiver program, or receiverObjectIds needed by Sui; On Solana, append `=rw` to specify account as writable; can be specified multiple times',
112
112
  example: 'requiredPdaAddress=rw',
113
113
  },
114
114
  'only-get-fee': {
@@ -159,15 +159,13 @@ async function sendMessage(
159
159
  const getChain = fetchChainsFromRpcs(ctx, argv)
160
160
  const source = await getChain(sourceNetwork.name)
161
161
 
162
- let data: BytesLike
162
+ let data: BytesLike | undefined
163
163
  if (argv.data) {
164
164
  try {
165
165
  data = getDataBytes(argv.data)
166
166
  } catch (_) {
167
167
  data = toUtf8Bytes(argv.data)
168
168
  }
169
- } else {
170
- data = '0x'
171
169
  }
172
170
 
173
171
  const tokenAmounts: { token: string; amount: bigint }[] = argv.transferTokens?.length
@@ -175,25 +173,11 @@ async function sendMessage(
175
173
  : []
176
174
 
177
175
  let receiver = argv.receiver
178
- let tokenReceiver
179
176
  let accounts,
180
177
  accountIsWritableBitmap = 0n
181
178
  if (destNetwork.family === ChainFamily.Solana) {
182
- if (argv.tokenReceiver) tokenReceiver = argv.tokenReceiver
183
- else if (!tokenAmounts.length) {
184
- tokenReceiver = '11111111111111111111111111111111'
185
- } else if (!dataLength(data)) {
186
- // sending tokens without data, i.e. not for a receiver contract
187
- tokenReceiver = receiver
188
- receiver = '11111111111111111111111111111111'
189
- } else {
190
- throw new CCIPArgumentInvalidError(
191
- 'token-receiver',
192
- 'required when sending tokens with data to Solana',
193
- )
194
- }
195
-
196
- if (argv.account) {
179
+ // parse accounts with or without `=rw` suffix
180
+ if (argv.account?.length) {
197
181
  accounts = argv.account.map((account, i) => {
198
182
  if (account.endsWith('=rw')) {
199
183
  accountIsWritableBitmap |= 1n << BigInt(i)
@@ -201,12 +185,7 @@ async function sendMessage(
201
185
  }
202
186
  return account
203
187
  })
204
- } else accounts = [] as string[]
205
- } else if (argv.tokenReceiver || argv.account?.length) {
206
- throw new CCIPArgumentInvalidError(
207
- 'token-receiver/account',
208
- 'only valid for Solana destination',
209
- )
188
+ }
210
189
  }
211
190
 
212
191
  let walletAddress, wallet
@@ -244,7 +223,7 @@ async function sendMessage(
244
223
  message: {
245
224
  sender: walletAddress,
246
225
  receiver,
247
- data,
226
+ data: data || '0x',
248
227
  tokenAmounts: destTokenAmounts,
249
228
  },
250
229
  })
@@ -253,17 +232,19 @@ async function sendMessage(
253
232
  if (argv.onlyEstimate) return
254
233
  }
255
234
 
256
- // `--allow-out-of-order-exec` forces EVMExtraArgsV2, which shouldn't work on v1.2 lanes;
257
- // otherwise, fallsback to EVMExtraArgsV1 (compatible with v1.2 & v1.5)
235
+ // builds a catch-all extraArgs object, which can be massaged by
236
+ // [[Chain.buildMessageForDest]] to create suitable extraArgs with defaults if needed
258
237
  const extraArgs = {
259
- ...(argv.allowOutOfOrderExec != null || destNetwork.family !== ChainFamily.EVM
260
- ? { allowOutOfOrderExecution: !!argv.allowOutOfOrderExec }
261
- : {}),
262
- ...(destNetwork.family === ChainFamily.Solana
263
- ? { computeUnits: BigInt(argv.gasLimit) }
264
- : { gasLimit: BigInt(argv.gasLimit) }),
265
- ...(tokenReceiver ? { tokenReceiver } : {}),
266
- ...(accounts ? { accounts, accountIsWritableBitmap } : {}),
238
+ ...(argv.allowOutOfOrderExec != null && {
239
+ allowOutOfOrderExecution: !!argv.allowOutOfOrderExec,
240
+ }),
241
+ ...(argv.gasLimit == null
242
+ ? {}
243
+ : destNetwork.family === ChainFamily.Solana
244
+ ? { computeUnits: BigInt(argv.gasLimit) }
245
+ : { gasLimit: BigInt(argv.gasLimit) }),
246
+ ...(!!argv.tokenReceiver && { tokenReceiver: argv.tokenReceiver }),
247
+ ...(!!accounts && { accounts, accountIsWritableBitmap }), // accounts also used as Sui receiverObjectIds
267
248
  }
268
249
 
269
250
  let feeToken, feeTokenInfo
@@ -287,7 +268,7 @@ async function sendMessage(
287
268
  feeTokenInfo = await source.getTokenInfo(nativeToken)
288
269
  }
289
270
 
290
- const message: AnyMessage = {
271
+ const message: MessageInput = {
291
272
  receiver,
292
273
  data,
293
274
  extraArgs: extraArgs as ExtraArgs,
@@ -322,9 +303,7 @@ async function sendMessage(
322
303
  })
323
304
  logger.info(
324
305
  '🚀 Sending message to',
325
- tokenReceiver && tokenReceiver !== '11111111111111111111111111111111'
326
- ? tokenReceiver
327
- : receiver,
306
+ receiver,
328
307
  '@',
329
308
  destNetwork.name,
330
309
  ', tx =>',
package/src/index.ts CHANGED
@@ -11,7 +11,7 @@ import { Format } from './commands/index.ts'
11
11
  util.inspect.defaultOptions.depth = 6 // print down to tokenAmounts in requests
12
12
  // generate:nofail
13
13
  // `const VERSION = '${require('./package.json').version}-${require('child_process').execSync('git rev-parse --short HEAD').toString().trim()}'`
14
- const VERSION = '0.93.0-e6b317b'
14
+ const VERSION = '0.94.0-aac4ae6'
15
15
  // generate:end
16
16
 
17
17
  const globalOpts = {