@chainlink/ccip-cli 0.91.1 → 0.92.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.
- package/README.md +60 -55
- package/dist/commands/manual-exec.d.ts +7 -1
- package/dist/commands/manual-exec.d.ts.map +1 -1
- package/dist/commands/manual-exec.js +16 -7
- package/dist/commands/manual-exec.js.map +1 -1
- package/dist/commands/parse.d.ts.map +1 -1
- package/dist/commands/parse.js +6 -5
- package/dist/commands/parse.js.map +1 -1
- package/dist/commands/send.d.ts +6 -1
- package/dist/commands/send.d.ts.map +1 -1
- package/dist/commands/send.js +27 -22
- package/dist/commands/send.js.map +1 -1
- package/dist/commands/show.d.ts +10 -1
- package/dist/commands/show.d.ts.map +1 -1
- package/dist/commands/show.js +85 -27
- package/dist/commands/show.js.map +1 -1
- package/dist/commands/supported-tokens.d.ts.map +1 -1
- package/dist/commands/supported-tokens.js +6 -6
- package/dist/commands/supported-tokens.js.map +1 -1
- package/dist/commands/types.d.ts +3 -2
- package/dist/commands/types.d.ts.map +1 -1
- package/dist/commands/utils.d.ts +27 -7
- package/dist/commands/utils.d.ts.map +1 -1
- package/dist/commands/utils.js +97 -35
- package/dist/commands/utils.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/providers/aptos.d.ts.map +1 -1
- package/dist/providers/aptos.js +3 -5
- package/dist/providers/aptos.js.map +1 -1
- package/dist/providers/evm.d.ts.map +1 -1
- package/dist/providers/evm.js +2 -4
- package/dist/providers/evm.js.map +1 -1
- package/dist/providers/index.d.ts +6 -5
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +104 -71
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/solana.d.ts.map +1 -1
- package/dist/providers/solana.js +5 -4
- package/dist/providers/solana.js.map +1 -1
- package/dist/providers/sui.d.ts +10 -0
- package/dist/providers/sui.d.ts.map +1 -0
- package/dist/providers/sui.js +15 -0
- package/dist/providers/sui.js.map +1 -0
- package/dist/providers/ton.d.ts +10 -0
- package/dist/providers/ton.d.ts.map +1 -0
- package/dist/providers/ton.js +55 -0
- package/dist/providers/ton.js.map +1 -0
- package/package.json +13 -13
- package/src/commands/manual-exec.ts +18 -6
- package/src/commands/parse.ts +9 -5
- package/src/commands/send.ts +36 -28
- package/src/commands/show.ts +94 -31
- package/src/commands/supported-tokens.ts +6 -9
- package/src/commands/types.ts +3 -2
- package/src/commands/utils.ts +118 -43
- package/src/index.ts +4 -4
- package/src/providers/aptos.ts +3 -5
- package/src/providers/evm.ts +2 -4
- package/src/providers/index.ts +120 -94
- package/src/providers/solana.ts +5 -6
- package/src/providers/sui.ts +15 -0
- package/src/providers/ton.ts +68 -0
package/dist/commands/show.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { bigIntReplacer, discoverOffRamp, networkInfo, } from '@chainlink/ccip-sdk';
|
|
1
|
+
import { CCIPExecTxRevertedError, CCIPNotImplementedError, bigIntReplacer, discoverOffRamp, isSupportedTxHash, networkInfo, } from '@chainlink/ccip-sdk';
|
|
3
2
|
import { Format } from "./types.js";
|
|
4
|
-
import { getCtx, logParsedError, prettyCommit, prettyReceipt, prettyRequest, selectRequest, withDateTimestamp, } from "./utils.js";
|
|
3
|
+
import { getCtx, logParsedError, prettyCommit, prettyReceipt, prettyRequest, prettyTable, selectRequest, withDateTimestamp, } from "./utils.js";
|
|
5
4
|
import { fetchChainsFromRpcs } from "../providers/index.js";
|
|
6
5
|
export const command = ['show <tx-hash>', '* <tx-hash>'];
|
|
7
6
|
export const describe = 'Show details of a CCIP request';
|
|
@@ -16,6 +15,7 @@ export const builder = (yargs) => yargs
|
|
|
16
15
|
demandOption: true,
|
|
17
16
|
describe: 'transaction hash of the request (source) message',
|
|
18
17
|
})
|
|
18
|
+
.check(({ txHash }) => isSupportedTxHash(txHash))
|
|
19
19
|
.options({
|
|
20
20
|
'log-index': {
|
|
21
21
|
type: 'number',
|
|
@@ -25,22 +25,29 @@ export const builder = (yargs) => yargs
|
|
|
25
25
|
type: 'string',
|
|
26
26
|
describe: 'Search by messageId instead of txHash; requires `[onRamp@]sourceNetwork` (onRamp address may be required in some chains)',
|
|
27
27
|
},
|
|
28
|
+
wait: {
|
|
29
|
+
type: 'boolean',
|
|
30
|
+
describe: 'Wait for (first) execution',
|
|
31
|
+
},
|
|
28
32
|
});
|
|
29
33
|
/**
|
|
30
34
|
* Handler for the show command.
|
|
31
35
|
* @param argv - Command line arguments.
|
|
32
36
|
*/
|
|
33
37
|
export async function handler(argv) {
|
|
34
|
-
const [
|
|
38
|
+
const [ctx, destroy] = getCtx(argv);
|
|
35
39
|
return showRequests(ctx, argv)
|
|
36
40
|
.catch((err) => {
|
|
37
41
|
process.exitCode = 1;
|
|
38
42
|
if (!logParsedError.call(ctx, err))
|
|
39
43
|
ctx.logger.error(err);
|
|
40
44
|
})
|
|
41
|
-
.finally(
|
|
45
|
+
.finally(destroy);
|
|
42
46
|
}
|
|
43
|
-
|
|
47
|
+
/**
|
|
48
|
+
* Show details of a request.
|
|
49
|
+
*/
|
|
50
|
+
export async function showRequests(ctx, argv) {
|
|
44
51
|
const { logger } = ctx;
|
|
45
52
|
let source, getChain, tx, request;
|
|
46
53
|
// messageId not yet implemented for Solana
|
|
@@ -56,7 +63,7 @@ async function showRequests(ctx, argv) {
|
|
|
56
63
|
const sourceNetwork = networkInfo(idFromSource);
|
|
57
64
|
source = await getChain(sourceNetwork.chainId);
|
|
58
65
|
if (!source.fetchRequestById)
|
|
59
|
-
throw new
|
|
66
|
+
throw new CCIPNotImplementedError(`fetchRequestById for ${source.constructor.name}`);
|
|
60
67
|
request = await source.fetchRequestById(argv.txHash, onRamp, argv);
|
|
61
68
|
}
|
|
62
69
|
else {
|
|
@@ -65,45 +72,94 @@ async function showRequests(ctx, argv) {
|
|
|
65
72
|
[source, tx] = await tx$;
|
|
66
73
|
request = await selectRequest(await source.fetchRequestsInTx(tx), 'to know more', argv);
|
|
67
74
|
}
|
|
68
|
-
const offchainTokenData = await source.fetchOffchainTokenData(request);
|
|
69
75
|
switch (argv.format) {
|
|
70
76
|
case Format.log: {
|
|
71
|
-
logger.log(`message ${request.log.index} =`, withDateTimestamp(request)
|
|
77
|
+
logger.log(`message ${request.log.index} =`, withDateTimestamp(request));
|
|
72
78
|
break;
|
|
73
79
|
}
|
|
74
80
|
case Format.pretty:
|
|
75
|
-
await prettyRequest.call(ctx, source, request
|
|
81
|
+
await prettyRequest.call(ctx, source, request);
|
|
76
82
|
break;
|
|
77
83
|
case Format.json:
|
|
78
|
-
logger.info(JSON.stringify(
|
|
84
|
+
logger.info(JSON.stringify(request, bigIntReplacer, 2));
|
|
79
85
|
break;
|
|
80
86
|
}
|
|
81
87
|
if (request.tx.error)
|
|
82
|
-
throw new
|
|
88
|
+
throw new CCIPExecTxRevertedError(request.log.transactionHash, {
|
|
89
|
+
context: { error: request.tx.error },
|
|
90
|
+
});
|
|
91
|
+
if (argv.wait === false)
|
|
92
|
+
return; // `false` used by call at end of `send` command without `--wait`
|
|
93
|
+
let cancelWaitFinalized;
|
|
94
|
+
const finalized$ = (async () => {
|
|
95
|
+
if (argv.wait) {
|
|
96
|
+
logger.info('Waiting for finalization...');
|
|
97
|
+
await source.waitFinalized(request, undefined, new Promise((resolve) => (cancelWaitFinalized = resolve)));
|
|
98
|
+
logger.info(`Transaction "${request.log.transactionHash}" finalized ✅`);
|
|
99
|
+
}
|
|
100
|
+
const offchainTokenData = await source.fetchOffchainTokenData(request);
|
|
101
|
+
if (offchainTokenData?.length && offchainTokenData.some((d) => !!d)) {
|
|
102
|
+
switch (argv.format) {
|
|
103
|
+
case Format.log: {
|
|
104
|
+
logger.log('attestations =', offchainTokenData);
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
107
|
+
case Format.pretty:
|
|
108
|
+
logger.info('Attestations:');
|
|
109
|
+
for (const attestation of offchainTokenData) {
|
|
110
|
+
const { _tag: type, ...rest } = attestation;
|
|
111
|
+
prettyTable.call(ctx, { type, ...rest });
|
|
112
|
+
}
|
|
113
|
+
break;
|
|
114
|
+
case Format.json:
|
|
115
|
+
logger.info(JSON.stringify({ attestations: offchainTokenData }, bigIntReplacer, 2));
|
|
116
|
+
break;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
if (argv.wait)
|
|
120
|
+
logger.info('Waiting for Commit (dest)...');
|
|
121
|
+
else
|
|
122
|
+
logger.info('Commit (dest):');
|
|
123
|
+
})();
|
|
83
124
|
const dest = await getChain(request.lane.destChainSelector);
|
|
84
125
|
const offRamp = await discoverOffRamp(source, dest, request.lane.onRamp, source);
|
|
85
126
|
const commitStore = await dest.getCommitStoreForOffRamp(offRamp);
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
127
|
+
let cancelWaitCommit;
|
|
128
|
+
const commit$ = (async () => {
|
|
129
|
+
const commit = await dest.fetchCommitReport(commitStore, request, {
|
|
130
|
+
...argv,
|
|
131
|
+
watch: argv.wait && new Promise((resolve) => (cancelWaitCommit = resolve)),
|
|
132
|
+
});
|
|
133
|
+
cancelWaitFinalized?.();
|
|
134
|
+
if (!commit)
|
|
135
|
+
return;
|
|
136
|
+
await finalized$;
|
|
137
|
+
switch (argv.format) {
|
|
138
|
+
case Format.log:
|
|
139
|
+
logger.log('commit =', commit);
|
|
140
|
+
break;
|
|
141
|
+
case Format.pretty:
|
|
142
|
+
await prettyCommit.call(ctx, dest, commit, request);
|
|
143
|
+
break;
|
|
144
|
+
case Format.json:
|
|
145
|
+
logger.info(JSON.stringify(commit, bigIntReplacer, 2));
|
|
146
|
+
break;
|
|
147
|
+
}
|
|
148
|
+
if (argv.wait)
|
|
149
|
+
logger.info('Waiting for Receipt (dest):');
|
|
150
|
+
else
|
|
151
|
+
logger.info('Receipts (dest):');
|
|
152
|
+
return commit;
|
|
153
|
+
})();
|
|
98
154
|
let found = false;
|
|
99
|
-
for await (const receipt of dest.fetchExecutionReceipts(offRamp, request, commit, argv)) {
|
|
155
|
+
for await (const receipt of dest.fetchExecutionReceipts(offRamp, request, !argv.wait ? await commit$ : undefined, { ...argv, watch: argv.wait && ctx.destroy$ })) {
|
|
156
|
+
cancelWaitCommit?.();
|
|
157
|
+
await commit$;
|
|
100
158
|
switch (argv.format) {
|
|
101
159
|
case Format.log:
|
|
102
160
|
logger.log('receipt =', withDateTimestamp(receipt));
|
|
103
161
|
break;
|
|
104
162
|
case Format.pretty:
|
|
105
|
-
if (!found)
|
|
106
|
-
logger.info('Receipts (dest):');
|
|
107
163
|
prettyReceipt.call(ctx, receipt, request, receipt.log.tx?.from ??
|
|
108
164
|
(await dest.getTransaction(receipt.log.transactionHash).catch(() => null))?.from);
|
|
109
165
|
break;
|
|
@@ -112,6 +168,8 @@ async function showRequests(ctx, argv) {
|
|
|
112
168
|
break;
|
|
113
169
|
}
|
|
114
170
|
found = true;
|
|
171
|
+
if (argv.wait)
|
|
172
|
+
break;
|
|
115
173
|
}
|
|
116
174
|
if (!found)
|
|
117
175
|
logger.warn(`No execution receipt found for request`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"show.js","sourceRoot":"","sources":["../../src/commands/show.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"show.js","sourceRoot":"","sources":["../../src/commands/show.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supported-tokens.d.ts","sourceRoot":"","sources":["../../src/commands/supported-tokens.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;
|
|
1
|
+
{"version":3,"file":"supported-tokens.d.ts","sourceRoot":"","sources":["../../src/commands/supported-tokens.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAWH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAIjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAG7C,eAAO,MAAM,OAAO,UAAoD,CAAA;AACxE,eAAO,MAAM,QAAQ,yGACmF,CAAA;AAExG;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,OAAO,IAAI;;;;;;EAkB7B,CAAA;AAEN;;;GAGG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,iBAQ3F"}
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* - Errors are collected and reported comprehensively
|
|
21
21
|
* - Detailed error reporting for debugging
|
|
22
22
|
*/
|
|
23
|
-
import { bigIntReplacer, networkInfo, } from '@chainlink/ccip-sdk';
|
|
23
|
+
import { CCIPTokenNotConfiguredError, bigIntReplacer, networkInfo, } from '@chainlink/ccip-sdk';
|
|
24
24
|
import { search } from '@inquirer/prompts';
|
|
25
25
|
import { formatUnits } from 'ethers';
|
|
26
26
|
import { Format } from "./types.js";
|
|
@@ -55,14 +55,14 @@ export const builder = (yargs) => yargs
|
|
|
55
55
|
* @param argv - Command line arguments.
|
|
56
56
|
*/
|
|
57
57
|
export async function handler(argv) {
|
|
58
|
-
const [
|
|
58
|
+
const [ctx, destroy] = getCtx(argv);
|
|
59
59
|
return getSupportedTokens(ctx, argv)
|
|
60
60
|
.catch((err) => {
|
|
61
61
|
process.exitCode = 1;
|
|
62
62
|
if (!logParsedError.call(ctx, err))
|
|
63
63
|
ctx.logger.error(err);
|
|
64
64
|
})
|
|
65
|
-
.finally(
|
|
65
|
+
.finally(destroy);
|
|
66
66
|
}
|
|
67
67
|
async function getSupportedTokens(ctx, argv) {
|
|
68
68
|
const { logger } = ctx;
|
|
@@ -97,7 +97,7 @@ async function getSupportedTokens(ctx, argv) {
|
|
|
97
97
|
registryConfig = await source.getRegistryTokenConfig(registry, info.token);
|
|
98
98
|
tokenPool = registryConfig.tokenPool;
|
|
99
99
|
if (!tokenPool)
|
|
100
|
-
throw new
|
|
100
|
+
throw new CCIPTokenNotConfiguredError(info.token, registry);
|
|
101
101
|
poolConfigs = await source.getTokenPoolConfigs(tokenPool);
|
|
102
102
|
}
|
|
103
103
|
else {
|
|
@@ -118,7 +118,7 @@ async function getSupportedTokens(ctx, argv) {
|
|
|
118
118
|
registryConfig = await source.getRegistryTokenConfig(registry, argv.token);
|
|
119
119
|
tokenPool = registryConfig.tokenPool;
|
|
120
120
|
if (!tokenPool)
|
|
121
|
-
throw new
|
|
121
|
+
throw new CCIPTokenNotConfiguredError(argv.token, registry);
|
|
122
122
|
poolConfigs = await source.getTokenPoolConfigs(tokenPool);
|
|
123
123
|
}
|
|
124
124
|
if (argv.format === Format.json) {
|
|
@@ -186,7 +186,7 @@ async function listTokens({ logger }, source, registry, argv) {
|
|
|
186
186
|
if (argv.format !== Format.pretty)
|
|
187
187
|
return; // Format.pretty interactive search and details
|
|
188
188
|
return search({
|
|
189
|
-
message: 'Select a token to know more:',
|
|
189
|
+
message: 'Select a supported token to know more:',
|
|
190
190
|
pageSize: 20,
|
|
191
191
|
source: (term) => {
|
|
192
192
|
const filtered = infos.filter((info) => !term ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supported-tokens.js","sourceRoot":"","sources":["../../src/commands/supported-tokens.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAGL,cAAc,EACd,WAAW,GACZ,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAGpC,OAAO,EAAY,MAAM,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAEhF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,+CAA+C,CAAC,CAAA;AACxE,MAAM,CAAC,MAAM,QAAQ,GACnB,sGAAsG,CAAA;AAExG;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAW,EAAE,EAAE,CACrC,KAAK;KACF,UAAU,CAAC,QAAQ,EAAE;IACpB,IAAI,EAAE,QAAQ;IACd,YAAY,EAAE,IAAI;IAClB,QAAQ,EAAE,iCAAiC;IAC3C,OAAO,EAAE,0BAA0B;CACpC,CAAC;KACD,UAAU,CAAC,SAAS,EAAE;IACrB,IAAI,EAAE,QAAQ;IACd,YAAY,EAAE,IAAI;IAClB,QAAQ,EAAE,uEAAuE;CAClF,CAAC;KACD,UAAU,CAAC,OAAO,EAAE;IACnB,IAAI,EAAE,QAAQ;IACd,YAAY,EAAE,KAAK;IACnB,QAAQ,EACN,iHAAiH;CACpH,CAAC,CAAA;AAEN;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAA8D;IAC1F,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"supported-tokens.js","sourceRoot":"","sources":["../../src/commands/supported-tokens.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/types.d.ts
CHANGED
|
@@ -11,10 +11,11 @@ export type Format = (typeof Format)[keyof typeof Format];
|
|
|
11
11
|
* Command context
|
|
12
12
|
*/
|
|
13
13
|
export type Ctx = {
|
|
14
|
-
destroy$:
|
|
14
|
+
destroy$: Promise<unknown>;
|
|
15
15
|
logger: Logger & {
|
|
16
|
-
table: (tabularData: unknown, properties?:
|
|
16
|
+
table: (tabularData: unknown, properties?: string[]) => void;
|
|
17
17
|
log: (...args: unknown[]) => void;
|
|
18
18
|
};
|
|
19
|
+
verbose?: boolean;
|
|
19
20
|
};
|
|
20
21
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/commands/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AAE9D,8CAA8C;AAC9C,eAAO,MAAM,MAAM;;;;CAIT,CAAA;AACV,wCAAwC;AACxC,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAA;AAEzD;;GAEG;AACH,MAAM,MAAM,GAAG,GAAG;IAChB,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/commands/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AAE9D,8CAA8C;AAC9C,eAAO,MAAM,MAAM;;;;CAIT,CAAA;AACV,wCAAwC;AACxC,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAA;AAEzD;;GAEG;AACH,MAAM,MAAM,GAAG,GAAG;IAChB,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;IAC1B,MAAM,EAAE,MAAM,GAAG;QACf,KAAK,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;QAC5D,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;KAClC,CAAA;IACD,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA"}
|
package/dist/commands/utils.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type CCIPCommit, type CCIPExecution, type CCIPRequest, type Chain, type
|
|
1
|
+
import { type CCIPCommit, type CCIPExecution, type CCIPRequest, type Chain, type ChainFamily, type Lane } from '@chainlink/ccip-sdk/src/index.ts';
|
|
2
2
|
import type { PickDeep } from 'type-fest';
|
|
3
3
|
import type { Ctx } from './types.ts';
|
|
4
4
|
/**
|
|
@@ -30,6 +30,20 @@ export declare function withDateTimestamp<T extends {
|
|
|
30
30
|
* @param lane - Lane configuration.
|
|
31
31
|
*/
|
|
32
32
|
export declare function prettyLane(this: Ctx, lane: Lane): void;
|
|
33
|
+
/**
|
|
34
|
+
* Format an address for display using chain-specific formatting.
|
|
35
|
+
* @param address - Address string
|
|
36
|
+
* @param family - Chain family for formatting
|
|
37
|
+
* @returns Formatted address for display
|
|
38
|
+
*/
|
|
39
|
+
export declare function formatDisplayAddress(address: string, family: ChainFamily): string;
|
|
40
|
+
/**
|
|
41
|
+
* Format a transaction hash for display using chain-specific formatting.
|
|
42
|
+
* @param hash - Transaction hash string
|
|
43
|
+
* @param family - Chain family for formatting
|
|
44
|
+
* @returns Formatted hash for display
|
|
45
|
+
*/
|
|
46
|
+
export declare function formatDisplayTxHash(hash: string, family: ChainFamily): string;
|
|
33
47
|
/**
|
|
34
48
|
* Formats an array into a record with indexed keys.
|
|
35
49
|
* @param name - Base name for the keys.
|
|
@@ -40,23 +54,22 @@ export declare function formatArray<T>(name: string, values: readonly T[]): Reco
|
|
|
40
54
|
/**
|
|
41
55
|
* Formats duration in seconds to human-readable string.
|
|
42
56
|
* @param secs - Duration in seconds.
|
|
43
|
-
* @returns Formatted duration string (e.g., "
|
|
57
|
+
* @returns Formatted duration string (e.g., "2d 1h30m").
|
|
44
58
|
*/
|
|
45
59
|
export declare function formatDuration(secs: number): string;
|
|
46
60
|
/**
|
|
47
61
|
* Prints a CCIP request in a human-readable format.
|
|
48
62
|
* @param source - Source chain instance.
|
|
49
63
|
* @param request - CCIP request to print.
|
|
50
|
-
* @param offchainTokenData - Optional offchain token data.
|
|
51
64
|
*/
|
|
52
|
-
export declare function prettyRequest(this: Ctx, source: Chain, request: CCIPRequest
|
|
65
|
+
export declare function prettyRequest(this: Ctx, source: Chain, request: CCIPRequest): Promise<void>;
|
|
53
66
|
/**
|
|
54
67
|
* Prints a CCIP commit in a human-readable format.
|
|
55
68
|
* @param dest - Destination chain instance.
|
|
56
69
|
* @param commit - CCIP commit to print.
|
|
57
70
|
* @param request - CCIP request for timestamp comparison.
|
|
58
71
|
*/
|
|
59
|
-
export declare function prettyCommit(this: Ctx, dest: Chain, commit: CCIPCommit, request: PickDeep<CCIPRequest, 'tx.timestamp'>): Promise<void>;
|
|
72
|
+
export declare function prettyCommit(this: Ctx, dest: Chain, commit: CCIPCommit, request: PickDeep<CCIPRequest, 'tx.timestamp' | 'lane.destChainSelector'>): Promise<void>;
|
|
60
73
|
/**
|
|
61
74
|
* Prints a formatted table of key-value pairs.
|
|
62
75
|
* @param args - Key-value pairs to print.
|
|
@@ -72,7 +85,14 @@ export declare function prettyTable(this: Ctx, args: Record<string, unknown>, op
|
|
|
72
85
|
* @param request - CCIP request for timestamp comparison.
|
|
73
86
|
* @param origin - Optional transaction origin address.
|
|
74
87
|
*/
|
|
75
|
-
export declare function prettyReceipt(this: Ctx, receipt: CCIPExecution, request: PickDeep<CCIPRequest, 'tx.timestamp'>, origin?: string): void;
|
|
88
|
+
export declare function prettyReceipt(this: Ctx, receipt: CCIPExecution, request: PickDeep<CCIPRequest, 'tx.timestamp' | 'lane.destChainSelector'>, origin?: string): void;
|
|
89
|
+
/**
|
|
90
|
+
* Format a CCIPError with recovery hints for user-friendly display.
|
|
91
|
+
* @param err - Error to format.
|
|
92
|
+
* @param verbose - If true, include stack trace for debugging.
|
|
93
|
+
* @returns Formatted error string if CCIPError, null otherwise.
|
|
94
|
+
*/
|
|
95
|
+
export declare function formatCCIPError(err: unknown, verbose?: boolean): string | null;
|
|
76
96
|
/**
|
|
77
97
|
* Logs a parsed error message if the error can be decoded.
|
|
78
98
|
* @param err - Error to parse and log.
|
|
@@ -101,5 +121,5 @@ export declare function yieldResolved<T>(promises: readonly Promise<T>[]): Async
|
|
|
101
121
|
*/
|
|
102
122
|
export declare function getCtx(argv: {
|
|
103
123
|
verbose?: boolean;
|
|
104
|
-
}): [
|
|
124
|
+
}): [ctx: Ctx, destroy: () => void];
|
|
105
125
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/commands/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,KAAK,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/commands/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,KAAK,EACV,KAAK,WAAW,EAEhB,KAAK,IAAI,EAMV,MAAM,kCAAkC,CAAA;AAYzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEzC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAErC;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,SAAS,WAAW,EAAE,EAChC,YAAY,CAAC,EAAE,MAAM,EACrB,KAAK,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5B,OAAO,CAAC,WAAW,CAAC,CA2BtB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,CAAC,SAAS;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,EAC1F,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG;IAAE,SAAS,EAAE,IAAI,CAAA;CAAE,CAKpD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,QAa/C;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,MAAM,CAEjF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,MAAM,CAE7E;AAeD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAGpF;AAqCD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,UAe1C;AAaD;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,iBA6EjF;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,GAAG,EACT,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,QAAQ,CAAC,WAAW,EAAE,cAAc,GAAG,wBAAwB,CAAC,iBAgB1E;AA0DD;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,GAAG,EACT,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI;;;CAAiD,QAuBtD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,GAAG,EACT,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,QAAQ,CAAC,WAAW,EAAE,cAAc,GAAG,wBAAwB,CAAC,EACzE,MAAM,CAAC,EAAE,MAAM,QAkBhB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,UAAQ,GAAG,MAAM,GAAG,IAAI,CA6B5E;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CA0B/D;AAED;;IAEI;AACJ,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,MAAM,EAAE;;;KASvF;AAED;;;;;;IAMI;AACJ,wBAAuB,aAAa,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAO1F;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,CAYnF"}
|