@chainlink/ccip-sdk 0.90.2 → 0.91.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 +35 -26
- package/dist/aptos/exec.d.ts +4 -5
- package/dist/aptos/exec.d.ts.map +1 -1
- package/dist/aptos/exec.js +5 -14
- package/dist/aptos/exec.js.map +1 -1
- package/dist/aptos/hasher.d.ts +18 -0
- package/dist/aptos/hasher.d.ts.map +1 -1
- package/dist/aptos/hasher.js +18 -0
- package/dist/aptos/hasher.js.map +1 -1
- package/dist/aptos/index.d.ts +127 -28
- package/dist/aptos/index.d.ts.map +1 -1
- package/dist/aptos/index.js +199 -70
- package/dist/aptos/index.js.map +1 -1
- package/dist/aptos/logs.d.ts +18 -0
- package/dist/aptos/logs.d.ts.map +1 -1
- package/dist/aptos/logs.js +21 -3
- package/dist/aptos/logs.js.map +1 -1
- package/dist/aptos/send.d.ts +22 -5
- package/dist/aptos/send.d.ts.map +1 -1
- package/dist/aptos/send.js +23 -15
- package/dist/aptos/send.js.map +1 -1
- package/dist/aptos/token.d.ts +6 -0
- package/dist/aptos/token.d.ts.map +1 -1
- package/dist/aptos/token.js +6 -0
- package/dist/aptos/token.js.map +1 -1
- package/dist/aptos/types.d.ts +16 -1
- package/dist/aptos/types.d.ts.map +1 -1
- package/dist/aptos/types.js +13 -0
- package/dist/aptos/types.js.map +1 -1
- package/dist/aptos/utils.d.ts +1 -1
- package/dist/aptos/utils.js +1 -1
- package/dist/chain.d.ts +185 -99
- package/dist/chain.d.ts.map +1 -1
- package/dist/chain.js +38 -15
- package/dist/chain.js.map +1 -1
- package/dist/commits.d.ts +4 -10
- package/dist/commits.d.ts.map +1 -1
- package/dist/commits.js +2 -1
- package/dist/commits.js.map +1 -1
- package/dist/evm/const.d.ts +5 -0
- package/dist/evm/const.d.ts.map +1 -1
- package/dist/evm/const.js +5 -0
- package/dist/evm/const.js.map +1 -1
- package/dist/evm/errors.d.ts +5 -0
- package/dist/evm/errors.d.ts.map +1 -1
- package/dist/evm/errors.js +6 -1
- package/dist/evm/errors.js.map +1 -1
- package/dist/evm/hasher.d.ts +16 -2
- package/dist/evm/hasher.d.ts.map +1 -1
- package/dist/evm/hasher.js +17 -3
- package/dist/evm/hasher.js.map +1 -1
- package/dist/evm/index.d.ts +176 -31
- package/dist/evm/index.d.ts.map +1 -1
- package/dist/evm/index.js +312 -154
- package/dist/evm/index.js.map +1 -1
- package/dist/evm/logs.d.ts +20 -0
- package/dist/evm/logs.d.ts.map +1 -0
- package/dist/evm/logs.js +194 -0
- package/dist/evm/logs.js.map +1 -0
- package/dist/evm/messages.d.ts +11 -2
- package/dist/evm/messages.d.ts.map +1 -1
- package/dist/evm/messages.js +4 -2
- package/dist/evm/messages.js.map +1 -1
- package/dist/evm/offchain.d.ts +7 -2
- package/dist/evm/offchain.d.ts.map +1 -1
- package/dist/evm/offchain.js +12 -7
- package/dist/evm/offchain.js.map +1 -1
- package/dist/execution.d.ts +19 -62
- package/dist/execution.d.ts.map +1 -1
- package/dist/execution.js +28 -31
- package/dist/execution.js.map +1 -1
- package/dist/extra-args.d.ts +35 -5
- package/dist/extra-args.d.ts.map +1 -1
- package/dist/extra-args.js +10 -5
- package/dist/extra-args.js.map +1 -1
- package/dist/gas.d.ts +6 -8
- package/dist/gas.d.ts.map +1 -1
- package/dist/gas.js +7 -9
- package/dist/gas.js.map +1 -1
- package/dist/hasher/common.d.ts +3 -2
- package/dist/hasher/common.d.ts.map +1 -1
- package/dist/hasher/common.js +2 -2
- package/dist/hasher/common.js.map +1 -1
- package/dist/hasher/hasher.d.ts +8 -2
- package/dist/hasher/hasher.d.ts.map +1 -1
- package/dist/hasher/hasher.js +8 -3
- package/dist/hasher/hasher.js.map +1 -1
- package/dist/hasher/merklemulti.d.ts +11 -9
- package/dist/hasher/merklemulti.d.ts.map +1 -1
- package/dist/hasher/merklemulti.js +17 -16
- package/dist/hasher/merklemulti.js.map +1 -1
- package/dist/index.d.ts +16 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -7
- package/dist/index.js.map +1 -1
- package/dist/requests.d.ts +39 -25
- package/dist/requests.d.ts.map +1 -1
- package/dist/requests.js +42 -35
- package/dist/requests.js.map +1 -1
- package/dist/selectors.d.ts +1 -1
- package/dist/solana/cleanup.d.ts +14 -10
- package/dist/solana/cleanup.d.ts.map +1 -1
- package/dist/solana/cleanup.js +35 -33
- package/dist/solana/cleanup.js.map +1 -1
- package/dist/solana/exec.d.ts +19 -11
- package/dist/solana/exec.d.ts.map +1 -1
- package/dist/solana/exec.js +86 -163
- package/dist/solana/exec.js.map +1 -1
- package/dist/solana/hasher.d.ts +7 -2
- package/dist/solana/hasher.d.ts.map +1 -1
- package/dist/solana/hasher.js +7 -2
- package/dist/solana/hasher.js.map +1 -1
- package/dist/solana/index.d.ts +202 -84
- package/dist/solana/index.d.ts.map +1 -1
- package/dist/solana/index.js +367 -252
- package/dist/solana/index.js.map +1 -1
- package/dist/solana/offchain.d.ts +8 -18
- package/dist/solana/offchain.d.ts.map +1 -1
- package/dist/solana/offchain.js +29 -83
- package/dist/solana/offchain.js.map +1 -1
- package/dist/solana/patchBorsh.d.ts +5 -1
- package/dist/solana/patchBorsh.d.ts.map +1 -1
- package/dist/solana/patchBorsh.js +57 -46
- package/dist/solana/patchBorsh.js.map +1 -1
- package/dist/solana/send.d.ts +28 -10
- package/dist/solana/send.d.ts.map +1 -1
- package/dist/solana/send.js +44 -77
- package/dist/solana/send.js.map +1 -1
- package/dist/solana/types.d.ts +22 -1
- package/dist/solana/types.d.ts.map +1 -1
- package/dist/solana/types.js +12 -1
- package/dist/solana/types.js.map +1 -1
- package/dist/solana/utils.d.ts +58 -4
- package/dist/solana/utils.d.ts.map +1 -1
- package/dist/solana/utils.js +110 -7
- package/dist/solana/utils.js.map +1 -1
- package/dist/sui/hasher.d.ts +18 -0
- package/dist/sui/hasher.d.ts.map +1 -1
- package/dist/sui/hasher.js +18 -0
- package/dist/sui/hasher.js.map +1 -1
- package/dist/sui/index.d.ts +99 -12
- package/dist/sui/index.d.ts.map +1 -1
- package/dist/sui/index.js +108 -19
- package/dist/sui/index.js.map +1 -1
- package/dist/sui/types.d.ts +6 -0
- package/dist/sui/types.d.ts.map +1 -1
- package/dist/sui/types.js +5 -0
- package/dist/sui/types.js.map +1 -1
- package/dist/supported-chains.d.ts +2 -1
- package/dist/supported-chains.d.ts.map +1 -1
- package/dist/supported-chains.js.map +1 -1
- package/dist/types.d.ts +127 -16
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +18 -0
- package/dist/types.js.map +1 -1
- package/dist/utils.d.ts +67 -46
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +143 -21
- package/dist/utils.js.map +1 -1
- package/package.json +13 -9
- package/src/aptos/exec.ts +7 -18
- package/src/aptos/hasher.ts +18 -0
- package/src/aptos/index.ts +288 -110
- package/src/aptos/logs.ts +21 -3
- package/src/aptos/send.ts +25 -22
- package/src/aptos/token.ts +6 -0
- package/src/aptos/types.ts +26 -2
- package/src/aptos/utils.ts +1 -1
- package/src/chain.ts +243 -108
- package/src/commits.ts +6 -7
- package/src/evm/const.ts +5 -0
- package/src/evm/errors.ts +6 -1
- package/src/evm/hasher.ts +20 -4
- package/src/evm/index.ts +416 -214
- package/src/evm/logs.ts +255 -0
- package/src/evm/messages.ts +11 -5
- package/src/evm/offchain.ts +13 -4
- package/src/execution.ts +40 -32
- package/src/extra-args.ts +38 -6
- package/src/gas.ts +7 -9
- package/src/hasher/common.ts +3 -2
- package/src/hasher/hasher.ts +12 -4
- package/src/hasher/merklemulti.ts +17 -16
- package/src/index.ts +29 -23
- package/src/requests.ts +64 -46
- package/src/selectors.ts +1 -1
- package/src/solana/cleanup.ts +49 -34
- package/src/solana/exec.ts +128 -272
- package/src/solana/hasher.ts +13 -4
- package/src/solana/index.ts +483 -356
- package/src/solana/offchain.ts +32 -102
- package/src/solana/patchBorsh.ts +65 -50
- package/src/solana/send.ts +52 -111
- package/src/solana/types.ts +44 -3
- package/src/solana/utils.ts +143 -19
- package/src/sui/hasher.ts +18 -0
- package/src/sui/index.ts +143 -31
- package/src/sui/types.ts +6 -0
- package/src/supported-chains.ts +2 -1
- package/src/types.ts +130 -18
- package/src/utils.ts +168 -26
- package/tsconfig.json +2 -1
|
@@ -3,18 +3,22 @@ import { ZERO_HASH, hashInternal } from "./common.js";
|
|
|
3
3
|
export const MAX_NUMBER_TREE_LEAVES = 256;
|
|
4
4
|
/**
|
|
5
5
|
* Proof represents a proof data structure with hashes and source flags.
|
|
6
|
-
* @template Hash The hash type.
|
|
7
6
|
*/
|
|
8
7
|
export class Proof {
|
|
9
8
|
hashes = [];
|
|
10
9
|
sourceFlags = [];
|
|
10
|
+
/**
|
|
11
|
+
* Creates a new Proof instance.
|
|
12
|
+
* @param hashes - Proof hashes.
|
|
13
|
+
* @param sourceFlags - Source flags indicating leaf vs internal nodes.
|
|
14
|
+
*/
|
|
11
15
|
constructor(hashes = [], sourceFlags = []) {
|
|
12
16
|
this.hashes = hashes;
|
|
13
17
|
this.sourceFlags = sourceFlags;
|
|
14
18
|
}
|
|
15
19
|
/**
|
|
16
20
|
* Counts the number of source flags that match the given boolean value.
|
|
17
|
-
* @param b The boolean value to count.
|
|
21
|
+
* @param b - The boolean value to count.
|
|
18
22
|
* @returns The count of source flags matching the provided boolean value.
|
|
19
23
|
*/
|
|
20
24
|
countSourceFlags(b) {
|
|
@@ -28,9 +32,8 @@ export class Proof {
|
|
|
28
32
|
* It processes the `layer` to generate the next layer of hash values, pairing adjacent values
|
|
29
33
|
* and applying the hashing function provided by the context.
|
|
30
34
|
*
|
|
31
|
-
* @
|
|
32
|
-
* @
|
|
33
|
-
* @returns {[Hash[], Hash[]]} A tuple containing two arrays:
|
|
35
|
+
* @param layer - An array of hash values representing the current layer of the binary tree.
|
|
36
|
+
* @returns A tuple containing two arrays:
|
|
34
37
|
* - The first array contains the original input layer.
|
|
35
38
|
* - The second array contains the next layer of hash values generated by combining pairs of hashes.
|
|
36
39
|
*/
|
|
@@ -49,7 +52,7 @@ function computeNextLayer(layer) {
|
|
|
49
52
|
}
|
|
50
53
|
/**
|
|
51
54
|
* Calculates the parent index of a given index in a binary tree.
|
|
52
|
-
* @param idx The index for which to calculate the parent index.
|
|
55
|
+
* @param idx - The index for which to calculate the parent index.
|
|
53
56
|
* @returns The parent index.
|
|
54
57
|
*/
|
|
55
58
|
function parentIndex(idx) {
|
|
@@ -57,7 +60,7 @@ function parentIndex(idx) {
|
|
|
57
60
|
}
|
|
58
61
|
/**
|
|
59
62
|
* Calculates the sibling index of a given index in a binary tree.
|
|
60
|
-
* @param idx The index for which to calculate the sibling index.
|
|
63
|
+
* @param idx - The index for which to calculate the sibling index.
|
|
61
64
|
* @returns The sibling index.
|
|
62
65
|
*/
|
|
63
66
|
function siblingIndex(idx) {
|
|
@@ -65,8 +68,8 @@ function siblingIndex(idx) {
|
|
|
65
68
|
}
|
|
66
69
|
/**
|
|
67
70
|
* Generates a single-layer Merkle proof for a given set of indices within a layer.
|
|
68
|
-
* @param layer The layer of data for which to generate the proof.
|
|
69
|
-
* @param indices The indices within the layer for which to generate the proof.
|
|
71
|
+
* @param layer - The layer of data for which to generate the proof.
|
|
72
|
+
* @param indices - The indices within the layer for which to generate the proof.
|
|
70
73
|
* @returns A single-layer proof object containing nextIndices, subProof, and sourceFlags.
|
|
71
74
|
*/
|
|
72
75
|
function proveSingleLayer(layer, indices) {
|
|
@@ -107,13 +110,12 @@ function proveSingleLayer(layer, indices) {
|
|
|
107
110
|
}
|
|
108
111
|
/**
|
|
109
112
|
* Represents a Merkle Tree data structure.
|
|
110
|
-
* @typeparam Hash The type of hash used in the tree.
|
|
111
113
|
*/
|
|
112
114
|
export class Tree {
|
|
113
115
|
layers;
|
|
114
116
|
/**
|
|
115
117
|
* Creates a new Merkle Tree using the provided context and leaf hashes.
|
|
116
|
-
* @param leafHashes An array of leaf hashes to construct the tree.
|
|
118
|
+
* @param leafHashes - An array of leaf hashes to construct the tree.
|
|
117
119
|
* @returns A new Merkle Tree instance.
|
|
118
120
|
* @throws Error if there are no leaf hashes provided.
|
|
119
121
|
*/
|
|
@@ -145,7 +147,7 @@ export class Tree {
|
|
|
145
147
|
}
|
|
146
148
|
/**
|
|
147
149
|
* Generates a Merkle proof for a set of indices in the tree.
|
|
148
|
-
* @param indices The indices for which to generate the proof.
|
|
150
|
+
* @param indices - The indices for which to generate the proof.
|
|
149
151
|
* @returns A proof object containing hashes and source flags.
|
|
150
152
|
*/
|
|
151
153
|
prove(indices) {
|
|
@@ -161,7 +163,7 @@ export class Tree {
|
|
|
161
163
|
}
|
|
162
164
|
/**
|
|
163
165
|
* Converts an array of boolean proof flags to a BigNumber where each flag represents a bit.
|
|
164
|
-
* @param proofFlags An array of boolean proof flags.
|
|
166
|
+
* @param proofFlags - An array of boolean proof flags.
|
|
165
167
|
* @returns A BigNumber representing the encoded flags.
|
|
166
168
|
*/
|
|
167
169
|
export function proofFlagsToBits(proofFlags) {
|
|
@@ -178,9 +180,8 @@ export function proofFlagsToBits(proofFlags) {
|
|
|
178
180
|
}
|
|
179
181
|
/**
|
|
180
182
|
* Verifies and computes the Merkle root hash based on provided leaf hashes and a Merkle proof.
|
|
181
|
-
* @param
|
|
182
|
-
* @param
|
|
183
|
-
* @param proof The Merkle proof containing hashes and source flags.
|
|
183
|
+
* @param leafHashes - An array of leaf hashes.
|
|
184
|
+
* @param proof - The Merkle proof containing hashes and source flags.
|
|
184
185
|
* @returns The computed Merkle root hash.
|
|
185
186
|
*/
|
|
186
187
|
export function verifyComputeRoot(leafHashes, proof) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merklemulti.js","sourceRoot":"","sources":["../../src/hasher/merklemulti.ts"],"names":[],"mappings":"AAAA,2JAA2J;AAC3J,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAErD,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAA;AAUzC
|
|
1
|
+
{"version":3,"file":"merklemulti.js","sourceRoot":"","sources":["../../src/hasher/merklemulti.ts"],"names":[],"mappings":"AAAA,2JAA2J;AAC3J,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAErD,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAA;AAUzC;;GAEG;AACH,MAAM,OAAO,KAAK;IAChB,MAAM,GAAW,EAAE,CAAA;IACnB,WAAW,GAAc,EAAE,CAAA;IAE3B;;;;OAIG;IACH,YAAY,SAAiB,EAAE,EAAE,cAAyB,EAAE;QAC1D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;IAChC,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,CAAU;QACzB,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAAA;IAC7D,CAAC;CACF;AAED;;;;;;;;;;;GAWG;AACH,SAAS,gBAAgB,CAAC,KAAa;IACrC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACvB,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACvB,CAAC;IAED,MAAM,SAAS,GAAW,EAAE,CAAA;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACtD,CAAC;IAED,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;AAC3B,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,GAAW;IAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;AAC5B,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,GAAW;IAC/B,OAAO,GAAG,GAAG,CAAC,CAAA;AAChB,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,KAAa,EAAE,OAAiB;IACxD,MAAM,WAAW,GAAa,EAAE,CAAA;IAChC,MAAM,WAAW,GAAa,EAAE,CAAA;IAChC,MAAM,WAAW,GAAc,EAAE,CAAA;IAEjC,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QAEpB,wFAAwF;QACxF,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;QAEhC,iEAAiE;QACjE,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,qFAAqF;YACrF,CAAC,EAAE,CAAA;YACH,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACxB,CAAC;aAAM,CAAC;YACN,qFAAqF;YACrF,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;YACjC,6DAA6D;YAC7D,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACzB,CAAC;QAED,CAAC,EAAE,CAAA;IACL,CAAC;IAED,6CAA6C;IAC7C,MAAM,QAAQ,GAAW,EAAE,CAAA;IAC3B,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5B,4FAA4F;QAC5F,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACzB,CAAC;IAED,0FAA0F;IAC1F,OAAO;QACL,WAAW;QACX,QAAQ;QACR,WAAW;KACZ,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,IAAI;IACf,MAAM,CAAU;IAEhB;;;;;OAKG;IACH,YAAY,UAAkB;QAC5B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;QAC3D,CAAC;QAED,+CAA+C;QAC/C,IAAI,KAAK,GAAW,CAAC,GAAG,UAAU,CAAC,CAAA;QAEnC,uCAAuC;QACvC,MAAM,MAAM,GAAa,CAAC,KAAK,CAAC,CAAA;QAEhC,IAAI,IAAI,GAAG,CAAC,CAAA;QAEZ,mEAAmE;QACnE,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;YACxD,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAA;YAC1B,IAAI,EAAE,CAAA;YACN,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACtB,KAAK,GAAG,SAAS,CAAA;QACnB,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED;;;OAGG;IACH,IAAI;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAiB;QACrB,MAAM,KAAK,GAAU,IAAI,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QAEtC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;YACjE,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YAE5C,OAAO,GAAG,GAAG,CAAC,WAAW,CAAA;YACzB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAA;YAClC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,CAAA;QAC5C,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAAqB;IACpD,IAAI,YAAY,GAAG,EAAE,CAAA;IAErB,4DAA4D;IAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YAClB,gFAAgF;YAChF,YAAY,IAAI,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,CAAA;QACjC,CAAC;IACH,CAAC;IACD,6DAA6D;IAC7D,OAAO,YAAY,CAAA;AACrB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAkB,EAAE,KAAY;IAChE,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAA;IACtC,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAA;IAExC,IAAI,YAAY,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;IAChD,CAAC;IAED,IAAI,YAAY,GAAG,sBAAsB,GAAG,CAAC,IAAI,YAAY,GAAG,sBAAsB,GAAG,CAAC,EAAE,CAAC;QAC3F,MAAM,IAAI,KAAK,CAAC,+CAA+C,sBAAsB,EAAE,CAAC,CAAA;IAC1F,CAAC;IAED,MAAM,WAAW,GAAG,YAAY,GAAG,YAAY,GAAG,CAAC,CAAA;IAEnD,IAAI,WAAW,GAAG,sBAAsB,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,6CAA6C,sBAAsB,EAAE,CAAC,CAAA;IACxF,CAAC;IAED,IAAI,WAAW,KAAK,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,UAAU,WAAW,mBAAmB,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAA;IACrF,CAAC;IAED,sDAAsD;IACtD,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,UAAU,CAAC,CAAC,CAAC,CAAA;IACtB,CAAC;IAED,uDAAuD;IACvD,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;IAEtD,IAAI,gBAAgB,KAAK,YAAY,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,sBAAsB,gBAAgB,oBAAoB,YAAY,EAAE,CAAC,CAAA;IAC3F,CAAC;IAED,MAAM,MAAM,GAAW,IAAI,KAAK,CAAO,WAAW,CAAC,CAAA;IAEnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,wDAAwD;QACxD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5B,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,IAAI,QAAQ,GAAG,CAAC,CAAA;IAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,CAAC,GAAqB,SAAS,CAAA;QACnC,IAAI,CAAC,GAAqB,SAAS,CAAA;QAEnC,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAClC,IAAI,OAAO,GAAG,YAAY,EAAE,CAAC;gBAC3B,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;gBACvB,OAAO,EAAE,CAAA;YACX,CAAC;iBAAM,CAAC;gBACN,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;gBACnB,OAAO,EAAE,CAAA;YACX,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;YAC1C,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAC1B,QAAQ,EAAE,CAAA;QACZ,CAAC;QAED,IAAI,OAAO,GAAG,YAAY,EAAE,CAAC;YAC3B,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;YACvB,OAAO,EAAE,CAAA;QACX,CAAC;aAAM,CAAC;YACN,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;YACnB,OAAO,EAAE,CAAA;QACX,CAAC;QAED,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;QACxC,CAAC;QAED,gEAAgE;QAChE,MAAM,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAChC,CAAC;IAED,mDAAmD;IACnD,IAAI,OAAO,KAAK,WAAW,GAAG,CAAC,IAAI,OAAO,KAAK,YAAY,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;QACzF,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;IAC1D,CAAC;IAED,wCAAwC;IACxC,OAAO,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,CAAA;AAChC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,21 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export { type Chain, type ChainGetter, type ChainStatic, type ChainTransaction, type LogFilter, type RateLimiterState, type TokenInfo, type TokenPoolRemote, ChainFamily, } from './chain.ts';
|
|
3
|
-
export { EVMChain } from './evm/index.ts';
|
|
1
|
+
export type { Chain, ChainGetter, ChainStatic, LogFilter, RateLimiterState, TokenInfo, TokenPoolRemote, } from './chain.ts';
|
|
4
2
|
export { calculateManualExecProof, discoverOffRamp } from './execution.ts';
|
|
5
3
|
export { type EVMExtraArgsV1, type EVMExtraArgsV2, type ExtraArgs, type SVMExtraArgsV1, type SuiExtraArgsV1, decodeExtraArgs, encodeExtraArgs, } from './extra-args.ts';
|
|
6
4
|
export { estimateExecGasForRequest } from './gas.ts';
|
|
7
|
-
export { decodeMessage,
|
|
8
|
-
export {
|
|
9
|
-
export { SuiChain } from './sui/index.ts';
|
|
10
|
-
export { supportedChains } from './supported-chains.ts';
|
|
11
|
-
export { type AnyMessage, type CCIPCommit, type CCIPExecution, type CCIPMessage, type CCIPRequest, type CommitReport, type ExecutionReceipt, type ExecutionReport, type Lane, type NetworkInfo, type OffchainTokenData, CCIPVersion, ExecutionState, } from './types.ts';
|
|
5
|
+
export { decodeMessage, fetchRequestsForSender, sourceToDestTokenAmounts } from './requests.ts';
|
|
6
|
+
export { type AnyMessage, type CCIPCommit, type CCIPExecution, type CCIPMessage, type CCIPRequest, type ChainTransaction, type CommitReport, type ExecutionReceipt, type ExecutionReport, type Lane, type Logger, type NetworkInfo, type OffchainTokenData, type WithLogger, CCIPVersion, ExecutionState, } from './types.ts';
|
|
12
7
|
export { bigIntReplacer, bigIntReviver, decodeAddress, getDataBytes, networkInfo } from './utils.ts';
|
|
8
|
+
import { AptosChain } from './aptos/index.ts';
|
|
9
|
+
import { EVMChain } from './evm/index.ts';
|
|
10
|
+
import { SolanaChain } from './solana/index.ts';
|
|
11
|
+
import { SuiChain } from './sui/index.ts';
|
|
12
|
+
import { ChainFamily } from './types.ts';
|
|
13
|
+
export { AptosChain, ChainFamily, EVMChain, SolanaChain, SuiChain };
|
|
14
|
+
export { supportedChains } from './supported-chains.ts';
|
|
15
|
+
export declare const allSupportedChains: {
|
|
16
|
+
evm: typeof EVMChain;
|
|
17
|
+
solana: typeof SolanaChain;
|
|
18
|
+
aptos: typeof AptosChain;
|
|
19
|
+
sui: typeof SuiChain;
|
|
20
|
+
};
|
|
13
21
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,KAAK,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,SAAS,EACT,eAAe,GAChB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAC1E,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,eAAe,EACf,eAAe,GAChB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAA;AAC/F,OAAO,EACL,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,IAAI,EACT,KAAK,MAAM,EACX,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,WAAW,EACX,cAAc,GACf,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAGpG,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAA;AAEnE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,eAAO,MAAM,kBAAkB;;;;;CAK9B,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,13 +1,23 @@
|
|
|
1
|
-
export { AptosChain } from "./aptos/index.js";
|
|
2
|
-
export { ChainFamily, } from "./chain.js";
|
|
3
|
-
export { EVMChain } from "./evm/index.js";
|
|
4
1
|
export { calculateManualExecProof, discoverOffRamp } from "./execution.js";
|
|
5
2
|
export { decodeExtraArgs, encodeExtraArgs, } from "./extra-args.js";
|
|
6
3
|
export { estimateExecGasForRequest } from "./gas.js";
|
|
7
|
-
export { decodeMessage,
|
|
8
|
-
export { SolanaChain } from "./solana/index.js";
|
|
9
|
-
export { SuiChain } from "./sui/index.js";
|
|
10
|
-
export { supportedChains } from "./supported-chains.js";
|
|
4
|
+
export { decodeMessage, fetchRequestsForSender, sourceToDestTokenAmounts } from "./requests.js";
|
|
11
5
|
export { CCIPVersion, ExecutionState, } from "./types.js";
|
|
12
6
|
export { bigIntReplacer, bigIntReviver, decodeAddress, getDataBytes, networkInfo } from "./utils.js";
|
|
7
|
+
// chains
|
|
8
|
+
import { AptosChain } from "./aptos/index.js";
|
|
9
|
+
import { EVMChain } from "./evm/index.js";
|
|
10
|
+
import { SolanaChain } from "./solana/index.js";
|
|
11
|
+
import { SuiChain } from "./sui/index.js";
|
|
12
|
+
import { ChainFamily } from "./types.js";
|
|
13
|
+
export { AptosChain, ChainFamily, EVMChain, SolanaChain, SuiChain };
|
|
14
|
+
// use `supportedChains` to override/register derived classes, if needed
|
|
15
|
+
export { supportedChains } from "./supported-chains.js";
|
|
16
|
+
// import `allSupportedChains` to get them all registered, in tree-shaken environments
|
|
17
|
+
export const allSupportedChains = {
|
|
18
|
+
[ChainFamily.EVM]: EVMChain,
|
|
19
|
+
[ChainFamily.Solana]: SolanaChain,
|
|
20
|
+
[ChainFamily.Aptos]: AptosChain,
|
|
21
|
+
[ChainFamily.Sui]: SuiChain,
|
|
22
|
+
};
|
|
13
23
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAC1E,OAAO,EAML,eAAe,EACf,eAAe,GAChB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAA;AAC/F,OAAO,EAeL,WAAW,EACX,cAAc,GACf,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAEpG,SAAS;AACT,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAA;AACnE,wEAAwE;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,sFAAsF;AACtF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,QAAQ;IAC3B,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,WAAW;IACjC,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,UAAU;IAC/B,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,QAAQ;CAC5B,CAAA"}
|
package/dist/requests.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type {
|
|
1
|
+
import type { PickDeep } from 'type-fest';
|
|
2
|
+
import type { Chain, LogFilter } from './chain.ts';
|
|
3
|
+
import { type CCIPMessage, type CCIPRequest, type ChainTransaction } from './types.ts';
|
|
3
4
|
/**
|
|
4
5
|
* Decodes hex strings, bytearrays, JSON strings and raw objects as CCIPMessages
|
|
5
6
|
* Does minimal validation, but converts objects in the format expected by ccip-tools-ts
|
|
@@ -7,37 +8,50 @@ import type { CCIPMessage, CCIPRequest } from './types.ts';
|
|
|
7
8
|
export declare function decodeMessage(data: string | Uint8Array | Record<string, unknown>): CCIPMessage;
|
|
8
9
|
/**
|
|
9
10
|
* Fetch all CCIP messages in a transaction
|
|
10
|
-
* @param
|
|
11
|
-
* @
|
|
11
|
+
* @param source - Chain
|
|
12
|
+
* @param tx - ChainTransaction to search in
|
|
13
|
+
* @returns CCIP requests (messages) in the transaction (at least one)
|
|
12
14
|
**/
|
|
13
|
-
export declare function fetchCCIPRequestsInTx(tx: ChainTransaction): Promise<CCIPRequest[]>;
|
|
15
|
+
export declare function fetchCCIPRequestsInTx(source: Chain, tx: ChainTransaction): Promise<CCIPRequest[]>;
|
|
14
16
|
/**
|
|
15
|
-
* Fetch a CCIP message by its messageId
|
|
16
|
-
* Can be slow due to having to paginate backwards through logs
|
|
17
|
-
*
|
|
18
|
-
* @param
|
|
19
|
-
* @param
|
|
20
|
-
* @
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
export declare function fetchCCIPMessageById(source: Chain, messageId: string, hints?: {
|
|
17
|
+
* Fetch a CCIP message by its messageId.
|
|
18
|
+
* Can be slow due to having to paginate backwards through logs.
|
|
19
|
+
* @param source - Provider to fetch logs from.
|
|
20
|
+
* @param messageId - MessageId to search for.
|
|
21
|
+
* @param hints - Optional hints for pagination (e.g., `address` for onRamp, `page` for pagination size).
|
|
22
|
+
* @returns CCIPRequest with given messageId.
|
|
23
|
+
*/
|
|
24
|
+
export declare function fetchCCIPRequestById(source: Chain, messageId: string, hints?: {
|
|
24
25
|
page?: number;
|
|
25
|
-
|
|
26
|
+
address?: string;
|
|
26
27
|
}): Promise<CCIPRequest>;
|
|
27
|
-
|
|
28
|
+
/**
|
|
29
|
+
* Fetches all CCIP messages contained in a given commit batch.
|
|
30
|
+
* @param source - The source chain.
|
|
31
|
+
* @param request - The CCIP request containing lane and message info.
|
|
32
|
+
* @param seqNrRange - Object containing minSeqNr and maxSeqNr for the batch range.
|
|
33
|
+
* @param opts - Optional log filtering parameters.
|
|
34
|
+
* @returns Array of messages in the batch.
|
|
35
|
+
*/
|
|
36
|
+
export declare function fetchAllMessagesInBatch<C extends Chain, R extends PickDeep<CCIPRequest, 'lane' | `log.${'topics' | 'address' | 'blockNumber'}` | 'message.header.sequenceNumber'>>(source: C, request: R, { minSeqNr, maxSeqNr }: {
|
|
28
37
|
minSeqNr: bigint;
|
|
29
38
|
maxSeqNr: bigint;
|
|
30
|
-
},
|
|
31
|
-
|
|
32
|
-
|
|
39
|
+
}, opts?: Parameters<C['getLogs']>[0]): Promise<R['message'][]>;
|
|
40
|
+
/**
|
|
41
|
+
* Fetches CCIP requests originated by a specific sender.
|
|
42
|
+
* @param source - Source chain instance.
|
|
43
|
+
* @param sender - Sender address.
|
|
44
|
+
* @param filter - Log filter options.
|
|
45
|
+
* @returns Async generator of CCIP requests.
|
|
46
|
+
*/
|
|
33
47
|
export declare function fetchRequestsForSender(source: Chain, sender: string, filter: Pick<LogFilter, 'address' | 'startBlock' | 'startTime' | 'endBlock'>): AsyncGenerator<Omit<CCIPRequest, 'tx' | 'timestamp'>, void, unknown>;
|
|
34
48
|
/**
|
|
35
|
-
* Map source `token` to `sourcePoolAddress + destTokenAddress
|
|
36
|
-
* @param source -
|
|
37
|
-
* @param destChainSelector -
|
|
38
|
-
* @param onRamp -
|
|
39
|
-
* @param sourceTokenAmounts -
|
|
40
|
-
* @returns
|
|
49
|
+
* Map source `token` to `sourcePoolAddress + destTokenAddress`.
|
|
50
|
+
* @param source - Source chain.
|
|
51
|
+
* @param destChainSelector - Destination network selector.
|
|
52
|
+
* @param onRamp - Contract address.
|
|
53
|
+
* @param sourceTokenAmounts - Array of token amounts, usually containing `token` and `amount` properties.
|
|
54
|
+
* @returns Array of objects with `sourcePoolAddress`, `destTokenAddress`, and remaining properties.
|
|
41
55
|
*/
|
|
42
56
|
export declare function sourceToDestTokenAmounts<S extends {
|
|
43
57
|
token: string;
|
package/dist/requests.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requests.d.ts","sourceRoot":"","sources":["../src/requests.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"requests.d.ts","sourceRoot":"","sources":["../src/requests.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAGzC,OAAO,KAAK,EAAE,KAAK,EAAe,SAAS,EAAE,MAAM,YAAY,CAAA;AAI/D,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,WAAW,EAEhB,KAAK,gBAAgB,EAGtB,MAAM,YAAY,CAAA;AAwEnB;;;IAGI;AACJ,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,CAoB9F;AAED;;;;;IAKI;AACJ,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,KAAK,EACb,EAAE,EAAE,gBAAgB,GACnB,OAAO,CAAC,WAAW,EAAE,CAAC,CA4BxB;AAED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,KAAK,EACb,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1C,OAAO,CAAC,WAAW,CAAC,CA4BtB;AAKD;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,CAAC,SAAS,KAAK,EACf,CAAC,SAAS,QAAQ,CAChB,WAAW,EACX,MAAM,GAAG,OAAO,QAAQ,GAAG,SAAS,GAAG,aAAa,EAAE,GAAG,+BAA+B,CACzF,EAED,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,CAAC,EACV,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAC9D,IAAI,GAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAmC,GAClE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAiEzB;AAED;;;;;;GAMG;AACH,wBAAuB,sBAAsB,CAC3C,MAAM,EAAE,KAAK,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,UAAU,CAAC,GAC3E,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CA6BtE;AAED;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAAC,CAAC,SAAS;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EACxE,MAAM,EAAE,KAAK,EACb,iBAAiB,EAAE,MAAM,EACzB,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE,SAAS,CAAC,EAAE,GAC/B,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,CAAC,CAkBzF"}
|
package/dist/requests.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import util from 'util';
|
|
2
1
|
import { isBytesLike, toBigInt } from 'ethers';
|
|
3
2
|
import yaml from 'yaml';
|
|
4
|
-
import { ChainFamily, } from "./chain.js";
|
|
5
3
|
import { decodeExtraArgs } from "./extra-args.js";
|
|
6
4
|
import { supportedChains } from "./supported-chains.js";
|
|
7
|
-
import {
|
|
5
|
+
import { ChainFamily, } from "./types.js";
|
|
6
|
+
import { convertKeysToCamelCase, decodeAddress, leToBigInt, networkInfo, util } from "./utils.js";
|
|
8
7
|
function decodeJsonMessage(data) {
|
|
9
8
|
if (!data || typeof data != 'object')
|
|
10
9
|
throw new Error(`invalid msg: ${util.inspect(data)}`);
|
|
@@ -84,13 +83,12 @@ export function decodeMessage(data) {
|
|
|
84
83
|
}
|
|
85
84
|
/**
|
|
86
85
|
* Fetch all CCIP messages in a transaction
|
|
87
|
-
* @param
|
|
88
|
-
* @
|
|
86
|
+
* @param source - Chain
|
|
87
|
+
* @param tx - ChainTransaction to search in
|
|
88
|
+
* @returns CCIP requests (messages) in the transaction (at least one)
|
|
89
89
|
**/
|
|
90
|
-
export async function fetchCCIPRequestsInTx(tx) {
|
|
91
|
-
const source = tx.chain;
|
|
90
|
+
export async function fetchCCIPRequestsInTx(source, tx) {
|
|
92
91
|
const txHash = tx.hash;
|
|
93
|
-
const timestamp = tx.timestamp;
|
|
94
92
|
const requests = [];
|
|
95
93
|
for (const log of tx.logs) {
|
|
96
94
|
let lane;
|
|
@@ -112,7 +110,7 @@ export async function fetchCCIPRequestsInTx(tx) {
|
|
|
112
110
|
else {
|
|
113
111
|
lane = await source.getLaneForOnRamp(log.address);
|
|
114
112
|
}
|
|
115
|
-
requests.push({ lane, message, log, tx
|
|
113
|
+
requests.push({ lane, message, log, tx });
|
|
116
114
|
}
|
|
117
115
|
if (!requests.length) {
|
|
118
116
|
throw new Error(`Could not find any CCIPSendRequested message in tx: ${txHash}`);
|
|
@@ -120,19 +118,17 @@ export async function fetchCCIPRequestsInTx(tx) {
|
|
|
120
118
|
return requests;
|
|
121
119
|
}
|
|
122
120
|
/**
|
|
123
|
-
* Fetch a CCIP message by its messageId
|
|
124
|
-
* Can be slow due to having to paginate backwards through logs
|
|
125
|
-
*
|
|
126
|
-
* @param
|
|
127
|
-
* @param
|
|
128
|
-
* @
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
export async function fetchCCIPMessageById(source, messageId, hints) {
|
|
121
|
+
* Fetch a CCIP message by its messageId.
|
|
122
|
+
* Can be slow due to having to paginate backwards through logs.
|
|
123
|
+
* @param source - Provider to fetch logs from.
|
|
124
|
+
* @param messageId - MessageId to search for.
|
|
125
|
+
* @param hints - Optional hints for pagination (e.g., `address` for onRamp, `page` for pagination size).
|
|
126
|
+
* @returns CCIPRequest with given messageId.
|
|
127
|
+
*/
|
|
128
|
+
export async function fetchCCIPRequestById(source, messageId, hints) {
|
|
132
129
|
for await (const log of source.getLogs({
|
|
133
|
-
...hints,
|
|
134
|
-
...(hints?.onRamp ? { address: hints.onRamp } : {}),
|
|
135
130
|
topics: ['CCIPSendRequested', 'CCIPMessageSent'],
|
|
131
|
+
...hints,
|
|
136
132
|
})) {
|
|
137
133
|
const message = source.constructor.decodeMessage(log);
|
|
138
134
|
if (message?.header.messageId !== messageId)
|
|
@@ -142,14 +138,11 @@ export async function fetchCCIPMessageById(source, messageId, hints) {
|
|
|
142
138
|
destChainSelector = message.header.destChainSelector;
|
|
143
139
|
[, version] = await source.typeAndVersion(log.address);
|
|
144
140
|
}
|
|
145
|
-
else if (source.network.family !== ChainFamily.EVM) {
|
|
146
|
-
throw new Error(`Unsupported network family: ${source.network.family}`);
|
|
147
|
-
}
|
|
148
141
|
else {
|
|
149
142
|
;
|
|
150
143
|
({ destChainSelector, version } = await source.getLaneForOnRamp(log.address));
|
|
151
144
|
}
|
|
152
|
-
const tx = await source.getTransaction(log.transactionHash);
|
|
145
|
+
const tx = log.tx ?? (await source.getTransaction(log.transactionHash));
|
|
153
146
|
return {
|
|
154
147
|
lane: {
|
|
155
148
|
sourceChainSelector: source.network.chainSelector,
|
|
@@ -160,21 +153,28 @@ export async function fetchCCIPMessageById(source, messageId, hints) {
|
|
|
160
153
|
message,
|
|
161
154
|
log,
|
|
162
155
|
tx,
|
|
163
|
-
timestamp: tx.timestamp,
|
|
164
156
|
};
|
|
165
157
|
}
|
|
166
158
|
throw new Error('Could not find a CCIPSendRequested message with messageId: ' + messageId);
|
|
167
159
|
}
|
|
168
160
|
// Number of blocks to expand the search window for logs
|
|
169
161
|
const BLOCK_LOG_WINDOW_SIZE = 5000;
|
|
170
|
-
|
|
171
|
-
|
|
162
|
+
/**
|
|
163
|
+
* Fetches all CCIP messages contained in a given commit batch.
|
|
164
|
+
* @param source - The source chain.
|
|
165
|
+
* @param request - The CCIP request containing lane and message info.
|
|
166
|
+
* @param seqNrRange - Object containing minSeqNr and maxSeqNr for the batch range.
|
|
167
|
+
* @param opts - Optional log filtering parameters.
|
|
168
|
+
* @returns Array of messages in the batch.
|
|
169
|
+
*/
|
|
170
|
+
export async function fetchAllMessagesInBatch(source, request, { minSeqNr, maxSeqNr }, opts = { page: BLOCK_LOG_WINDOW_SIZE }) {
|
|
172
171
|
if (minSeqNr === maxSeqNr)
|
|
173
172
|
return [request.message];
|
|
174
173
|
const filter = {
|
|
175
|
-
page:
|
|
174
|
+
page: BLOCK_LOG_WINDOW_SIZE,
|
|
176
175
|
topics: [request.log.topics[0]],
|
|
177
176
|
address: request.log.address,
|
|
177
|
+
...opts,
|
|
178
178
|
};
|
|
179
179
|
if (request.message.header.sequenceNumber === maxSeqNr)
|
|
180
180
|
filter.endBlock = request.log.blockNumber;
|
|
@@ -183,7 +183,7 @@ export async function fetchAllMessagesInBatch(source, request, { minSeqNr, maxSe
|
|
|
183
183
|
filter.startBlock =
|
|
184
184
|
request.log.blockNumber -
|
|
185
185
|
Math.ceil((Number(request.message.header.sequenceNumber - minSeqNr) / Number(maxSeqNr - minSeqNr)) *
|
|
186
|
-
|
|
186
|
+
filter.page);
|
|
187
187
|
const messages = [];
|
|
188
188
|
if (filter.startBlock) {
|
|
189
189
|
// forward
|
|
@@ -227,6 +227,13 @@ export async function fetchAllMessagesInBatch(source, request, { minSeqNr, maxSe
|
|
|
227
227
|
}
|
|
228
228
|
return messages;
|
|
229
229
|
}
|
|
230
|
+
/**
|
|
231
|
+
* Fetches CCIP requests originated by a specific sender.
|
|
232
|
+
* @param source - Source chain instance.
|
|
233
|
+
* @param sender - Sender address.
|
|
234
|
+
* @param filter - Log filter options.
|
|
235
|
+
* @returns Async generator of CCIP requests.
|
|
236
|
+
*/
|
|
230
237
|
export async function* fetchRequestsForSender(source, sender, filter) {
|
|
231
238
|
const filterWithSender = {
|
|
232
239
|
...filter,
|
|
@@ -262,12 +269,12 @@ export async function* fetchRequestsForSender(source, sender, filter) {
|
|
|
262
269
|
}
|
|
263
270
|
}
|
|
264
271
|
/**
|
|
265
|
-
* Map source `token` to `sourcePoolAddress + destTokenAddress
|
|
266
|
-
* @param source -
|
|
267
|
-
* @param destChainSelector -
|
|
268
|
-
* @param onRamp -
|
|
269
|
-
* @param sourceTokenAmounts -
|
|
270
|
-
* @returns
|
|
272
|
+
* Map source `token` to `sourcePoolAddress + destTokenAddress`.
|
|
273
|
+
* @param source - Source chain.
|
|
274
|
+
* @param destChainSelector - Destination network selector.
|
|
275
|
+
* @param onRamp - Contract address.
|
|
276
|
+
* @param sourceTokenAmounts - Array of token amounts, usually containing `token` and `amount` properties.
|
|
277
|
+
* @returns Array of objects with `sourcePoolAddress`, `destTokenAddress`, and remaining properties.
|
|
271
278
|
*/
|
|
272
279
|
export async function sourceToDestTokenAmounts(source, destChainSelector, onRamp, sourceTokenAmounts) {
|
|
273
280
|
const tokenAdminRegistry = await source.getTokenAdminRegistryFor(onRamp);
|
package/dist/requests.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requests.js","sourceRoot":"","sources":["../src/requests.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"requests.js","sourceRoot":"","sources":["../src/requests.ts"],"names":[],"mappings":"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"}
|
package/dist/selectors.d.ts
CHANGED
package/dist/solana/cleanup.d.ts
CHANGED
|
@@ -1,15 +1,19 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type Connection } from '@solana/web3.js';
|
|
2
2
|
import type { SolanaChain } from './index.ts';
|
|
3
|
+
import type { Wallet } from './types.ts';
|
|
4
|
+
import type { WithLogger } from '../types.ts';
|
|
3
5
|
/**
|
|
4
|
-
* Clean up and recycle buffers and
|
|
5
|
-
*
|
|
6
|
-
* @param
|
|
7
|
-
* @param getLogs - SolanaChain-compatible getLogs function (to scan for Buffers and ALTs)
|
|
8
|
-
* @param opts
|
|
9
|
-
* (513 slots) to pass before closing; by default, we deactivate (if needed)
|
|
10
|
-
*
|
|
6
|
+
* Clean up and recycle buffers and Address Lookup Tables owned by wallet.
|
|
7
|
+
* @param ctx - Context object containing the Solana connection instance and logger.
|
|
8
|
+
* @param wallet - Wallet instance to sign txs.
|
|
9
|
+
* @param getLogs - SolanaChain-compatible getLogs function (to scan for Buffers and ALTs).
|
|
10
|
+
* @param opts - Optional parameters. Set `waitDeactivation` to wait for lookup table deactivation
|
|
11
|
+
* cool down period (513 slots) to pass before closing; by default, we deactivate (if needed)
|
|
12
|
+
* and leave close to be done in the future.
|
|
11
13
|
*/
|
|
12
|
-
export declare function cleanUpBuffers(
|
|
13
|
-
|
|
14
|
+
export declare function cleanUpBuffers(ctx: {
|
|
15
|
+
connection: Connection;
|
|
16
|
+
} & WithLogger, wallet: Wallet, getLogs: SolanaChain['getLogs'], opts?: {
|
|
17
|
+
waitDeactivation?: boolean;
|
|
14
18
|
}): Promise<void>;
|
|
15
19
|
//# sourceMappingURL=cleanup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../src/solana/cleanup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../src/solana/cleanup.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,UAAU,EAIhB,MAAM,iBAAiB,CAAA;AAMxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAExC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE;IAAE,UAAU,EAAE,UAAU,CAAA;CAAE,GAAG,UAAU,EAC5C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,EAC/B,IAAI,CAAC,EAAE;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE,GACpC,OAAO,CAAC,IAAI,CAAC,CAqMf"}
|