@chainlink/ccip-sdk 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.
- package/README.md +2 -2
- package/dist/all-chains.d.ts +23 -0
- package/dist/all-chains.d.ts.map +1 -0
- package/dist/all-chains.js +24 -0
- package/dist/all-chains.js.map +1 -0
- package/dist/api/index.d.ts +31 -19
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +46 -25
- package/dist/api/index.js.map +1 -1
- package/dist/api/types.d.ts +24 -30
- package/dist/api/types.d.ts.map +1 -1
- package/dist/aptos/exec.d.ts +2 -2
- package/dist/aptos/exec.d.ts.map +1 -1
- package/dist/aptos/exec.js.map +1 -1
- package/dist/aptos/hasher.d.ts.map +1 -1
- package/dist/aptos/hasher.js +1 -1
- package/dist/aptos/hasher.js.map +1 -1
- package/dist/aptos/index.d.ts +43 -15
- package/dist/aptos/index.d.ts.map +1 -1
- package/dist/aptos/index.js +112 -105
- package/dist/aptos/index.js.map +1 -1
- package/dist/aptos/types.d.ts +2 -19
- package/dist/aptos/types.d.ts.map +1 -1
- package/dist/aptos/types.js +0 -11
- package/dist/aptos/types.js.map +1 -1
- package/dist/chain.d.ts +734 -174
- package/dist/chain.d.ts.map +1 -1
- package/dist/chain.js +216 -31
- package/dist/chain.js.map +1 -1
- package/dist/commits.d.ts +4 -6
- package/dist/commits.d.ts.map +1 -1
- package/dist/commits.js +4 -4
- package/dist/commits.js.map +1 -1
- package/dist/errors/CCIPError.d.ts +33 -4
- package/dist/errors/CCIPError.d.ts.map +1 -1
- package/dist/errors/CCIPError.js +33 -4
- package/dist/errors/CCIPError.js.map +1 -1
- package/dist/errors/codes.d.ts +5 -0
- package/dist/errors/codes.d.ts.map +1 -1
- package/dist/errors/codes.js +5 -1
- package/dist/errors/codes.js.map +1 -1
- package/dist/errors/index.d.ts +2 -2
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +2 -2
- package/dist/errors/index.js.map +1 -1
- package/dist/errors/recovery.d.ts.map +1 -1
- package/dist/errors/recovery.js +6 -1
- package/dist/errors/recovery.js.map +1 -1
- package/dist/errors/specialized.d.ts +1702 -121
- package/dist/errors/specialized.d.ts.map +1 -1
- package/dist/errors/specialized.js +1729 -125
- package/dist/errors/specialized.js.map +1 -1
- package/dist/errors/utils.d.ts.map +1 -1
- package/dist/errors/utils.js +0 -1
- package/dist/errors/utils.js.map +1 -1
- package/dist/evm/abi/OffRamp_2_0.d.ts +764 -0
- package/dist/evm/abi/OffRamp_2_0.d.ts.map +1 -0
- package/dist/evm/abi/OffRamp_2_0.js +744 -0
- package/dist/evm/abi/OffRamp_2_0.js.map +1 -0
- package/dist/evm/abi/OnRamp_2_0.d.ts +925 -0
- package/dist/evm/abi/OnRamp_2_0.d.ts.map +1 -0
- package/dist/evm/abi/OnRamp_2_0.js +992 -0
- package/dist/evm/abi/OnRamp_2_0.js.map +1 -0
- package/dist/evm/const.d.ts +12 -2
- package/dist/evm/const.d.ts.map +1 -1
- package/dist/evm/const.js +8 -2
- package/dist/evm/const.js.map +1 -1
- package/dist/evm/errors.d.ts.map +1 -1
- package/dist/evm/errors.js +7 -2
- package/dist/evm/errors.js.map +1 -1
- package/dist/evm/extra-args.d.ts +25 -0
- package/dist/evm/extra-args.d.ts.map +1 -0
- package/dist/evm/extra-args.js +309 -0
- package/dist/evm/extra-args.js.map +1 -0
- package/dist/evm/gas.d.ts.map +1 -1
- package/dist/evm/gas.js +7 -12
- package/dist/evm/gas.js.map +1 -1
- package/dist/evm/hasher.d.ts.map +1 -1
- package/dist/evm/hasher.js +23 -13
- package/dist/evm/hasher.js.map +1 -1
- package/dist/evm/index.d.ts +140 -35
- package/dist/evm/index.d.ts.map +1 -1
- package/dist/evm/index.js +306 -226
- package/dist/evm/index.js.map +1 -1
- package/dist/evm/messages.d.ts +59 -5
- package/dist/evm/messages.d.ts.map +1 -1
- package/dist/evm/messages.js +210 -0
- package/dist/evm/messages.js.map +1 -1
- package/dist/evm/offchain.js.map +1 -1
- package/dist/evm/types.d.ts +7 -2
- package/dist/evm/types.d.ts.map +1 -1
- package/dist/evm/types.js +22 -1
- package/dist/evm/types.js.map +1 -1
- package/dist/execution.d.ts +62 -22
- package/dist/execution.d.ts.map +1 -1
- package/dist/execution.js +102 -51
- package/dist/execution.js.map +1 -1
- package/dist/extra-args.d.ts +113 -4
- package/dist/extra-args.d.ts.map +1 -1
- package/dist/extra-args.js +38 -3
- package/dist/extra-args.js.map +1 -1
- package/dist/gas.d.ts +31 -5
- package/dist/gas.d.ts.map +1 -1
- package/dist/gas.js +43 -9
- package/dist/gas.js.map +1 -1
- package/dist/index.d.ts +11 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -8
- package/dist/index.js.map +1 -1
- package/dist/requests.d.ts +101 -22
- package/dist/requests.d.ts.map +1 -1
- package/dist/requests.js +115 -24
- package/dist/requests.js.map +1 -1
- package/dist/selectors.d.ts.map +1 -1
- package/dist/selectors.js +24 -0
- package/dist/selectors.js.map +1 -1
- package/dist/shared/bcs-codecs.d.ts +61 -0
- package/dist/shared/bcs-codecs.d.ts.map +1 -0
- package/dist/shared/bcs-codecs.js +102 -0
- package/dist/shared/bcs-codecs.js.map +1 -0
- package/dist/shared/constants.d.ts +3 -0
- package/dist/shared/constants.d.ts.map +1 -0
- package/dist/shared/constants.js +3 -0
- package/dist/shared/constants.js.map +1 -0
- package/dist/solana/exec.d.ts +2 -2
- package/dist/solana/exec.d.ts.map +1 -1
- package/dist/solana/exec.js.map +1 -1
- package/dist/solana/index.d.ts +148 -30
- package/dist/solana/index.d.ts.map +1 -1
- package/dist/solana/index.js +137 -44
- package/dist/solana/index.js.map +1 -1
- package/dist/sui/hasher.d.ts.map +1 -1
- package/dist/sui/hasher.js +1 -1
- package/dist/sui/hasher.js.map +1 -1
- package/dist/sui/index.d.ts +49 -19
- package/dist/sui/index.d.ts.map +1 -1
- package/dist/sui/index.js +76 -43
- package/dist/sui/index.js.map +1 -1
- package/dist/sui/manuallyExec/encoder.d.ts +2 -2
- package/dist/sui/manuallyExec/encoder.d.ts.map +1 -1
- package/dist/sui/manuallyExec/encoder.js.map +1 -1
- package/dist/sui/manuallyExec/index.d.ts +2 -2
- package/dist/sui/manuallyExec/index.d.ts.map +1 -1
- package/dist/ton/exec.d.ts +2 -2
- package/dist/ton/exec.d.ts.map +1 -1
- package/dist/ton/exec.js.map +1 -1
- package/dist/ton/index.d.ts +66 -27
- package/dist/ton/index.d.ts.map +1 -1
- package/dist/ton/index.js +172 -47
- package/dist/ton/index.js.map +1 -1
- package/dist/ton/send.d.ts +52 -0
- package/dist/ton/send.d.ts.map +1 -0
- package/dist/ton/send.js +166 -0
- package/dist/ton/send.js.map +1 -0
- package/dist/ton/types.d.ts +2 -2
- package/dist/ton/types.d.ts.map +1 -1
- package/dist/ton/types.js.map +1 -1
- package/dist/types.d.ts +148 -12
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +6 -1
- package/dist/types.js.map +1 -1
- package/dist/utils.d.ts +79 -4
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +92 -7
- package/dist/utils.js.map +1 -1
- package/package.json +16 -11
- package/src/all-chains.ts +26 -0
- package/src/api/index.ts +58 -34
- package/src/api/types.ts +24 -31
- package/src/aptos/exec.ts +2 -2
- package/src/aptos/hasher.ts +1 -1
- package/src/aptos/index.ts +127 -129
- package/src/aptos/types.ts +2 -15
- package/src/chain.ts +837 -191
- package/src/commits.ts +9 -9
- package/src/errors/CCIPError.ts +33 -4
- package/src/errors/codes.ts +5 -1
- package/src/errors/index.ts +2 -1
- package/src/errors/recovery.ts +9 -1
- package/src/errors/specialized.ts +1745 -132
- package/src/errors/utils.ts +0 -1
- package/src/evm/abi/OffRamp_2_0.ts +743 -0
- package/src/evm/abi/OnRamp_2_0.ts +991 -0
- package/src/evm/const.ts +10 -3
- package/src/evm/errors.ts +6 -2
- package/src/evm/extra-args.ts +360 -0
- package/src/evm/gas.ts +14 -13
- package/src/evm/hasher.ts +30 -18
- package/src/evm/index.ts +376 -281
- package/src/evm/messages.ts +323 -11
- package/src/evm/offchain.ts +2 -2
- package/src/evm/types.ts +20 -2
- package/src/execution.ts +126 -71
- package/src/extra-args.ts +118 -4
- package/src/gas.ts +44 -11
- package/src/index.ts +14 -11
- package/src/requests.ts +128 -24
- package/src/selectors.ts +24 -0
- package/src/shared/bcs-codecs.ts +132 -0
- package/src/shared/constants.ts +2 -0
- package/src/solana/exec.ts +4 -4
- package/src/solana/index.ts +170 -82
- package/src/sui/hasher.ts +1 -1
- package/src/sui/index.ts +88 -56
- package/src/sui/manuallyExec/encoder.ts +2 -2
- package/src/sui/manuallyExec/index.ts +2 -2
- package/src/ton/exec.ts +2 -2
- package/src/ton/index.ts +220 -58
- package/src/ton/send.ts +222 -0
- package/src/ton/types.ts +2 -2
- package/src/types.ts +173 -30
- package/src/utils.ts +91 -7
- package/dist/aptos/utils.d.ts +0 -12
- package/dist/aptos/utils.d.ts.map +0 -1
- package/dist/aptos/utils.js +0 -15
- package/dist/aptos/utils.js.map +0 -1
- package/src/aptos/utils.ts +0 -24
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OnRamp_2_0.js","sourceRoot":"","sources":["../../../src/evm/abi/OnRamp_2_0.ts"],"names":[],"mappings":"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"}
|
package/dist/evm/const.d.ts
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
import { type EventFragment, AbiCoder, Interface } from 'ethers';
|
|
2
2
|
export declare const defaultAbiCoder: AbiCoder;
|
|
3
|
-
export declare const
|
|
4
|
-
|
|
3
|
+
export declare const VersionedContractABI: readonly [{
|
|
4
|
+
readonly name: "typeAndVersion";
|
|
5
|
+
readonly type: "function";
|
|
6
|
+
readonly stateMutability: "view";
|
|
7
|
+
readonly inputs: readonly [];
|
|
8
|
+
readonly outputs: readonly [{
|
|
9
|
+
readonly type: "string";
|
|
10
|
+
}];
|
|
11
|
+
}];
|
|
5
12
|
export declare const interfaces: {
|
|
6
13
|
readonly Router: Interface;
|
|
7
14
|
readonly Token: Interface;
|
|
@@ -12,9 +19,11 @@ export declare const interfaces: {
|
|
|
12
19
|
readonly TokenPool_v1_6: Interface;
|
|
13
20
|
readonly CommitStore_v1_5: Interface;
|
|
14
21
|
readonly CommitStore_v1_2: Interface;
|
|
22
|
+
readonly OffRamp_v2_0: Interface;
|
|
15
23
|
readonly OffRamp_v1_6: Interface;
|
|
16
24
|
readonly EVM2EVMOffRamp_v1_5: Interface;
|
|
17
25
|
readonly EVM2EVMOffRamp_v1_2: Interface;
|
|
26
|
+
readonly OnRamp_v2_0: Interface;
|
|
18
27
|
readonly OnRamp_v1_6: Interface;
|
|
19
28
|
readonly EVM2EVMOnRamp_v1_5: Interface;
|
|
20
29
|
readonly EVM2EVMOnRamp_v1_2: Interface;
|
|
@@ -30,4 +39,5 @@ export declare function getAllFragmentsMatchingEvents(events: readonly string[])
|
|
|
30
39
|
export declare const requestsFragments: Record<`0x${string}`, EventFragment>;
|
|
31
40
|
export declare const commitsFragments: Record<`0x${string}`, EventFragment>;
|
|
32
41
|
export declare const receiptsFragments: Record<`0x${string}`, EventFragment>;
|
|
42
|
+
export declare const CCV_INDEXER_URL = "https://chainlink-ccv-indexer.ccip.stage.external.griddle.sh/all";
|
|
33
43
|
//# sourceMappingURL=const.d.ts.map
|
package/dist/evm/const.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../src/evm/const.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../src/evm/const.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAqBhE,eAAO,MAAM,eAAe,UAA6B,CAAA;AASzD,eAAO,MAAM,oBAAoB;;;;;;;;EAAgE,CAAA;AAEjG,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;CAoBb,CAAA;AAEV;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,SAAS,MAAM,EAAE,GACxB,MAAM,CAAC,KAAK,MAAM,EAAE,EAAE,aAAa,CAAC,CAStC;AACD,eAAO,MAAM,iBAAiB,sCAG5B,CAAA;AACF,eAAO,MAAM,gBAAgB,sCAG3B,CAAA;AACF,eAAO,MAAM,iBAAiB,sCAA2D,CAAA;AAEzF,eAAO,MAAM,eAAe,qEAAqE,CAAA"}
|
package/dist/evm/const.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { parseAbi } from 'abitype';
|
|
1
2
|
import { AbiCoder, Interface } from 'ethers';
|
|
2
3
|
import Token_ABI from "./abi/BurnMintERC677Token.js";
|
|
3
4
|
import CommitStore_1_2_ABI from "./abi/CommitStore_1_2.js";
|
|
@@ -9,20 +10,22 @@ import TokenPool_1_6_ABI from "./abi/LockReleaseTokenPool_1_6_1.js";
|
|
|
9
10
|
import EVM2EVMOffRamp_1_2_ABI from "./abi/OffRamp_1_2.js";
|
|
10
11
|
import EVM2EVMOffRamp_1_5_ABI from "./abi/OffRamp_1_5.js";
|
|
11
12
|
import OffRamp_1_6_ABI from "./abi/OffRamp_1_6.js";
|
|
13
|
+
import OffRamp_2_0_ABI from "./abi/OffRamp_2_0.js";
|
|
12
14
|
import EVM2EVMOnRamp_1_2_ABI from "./abi/OnRamp_1_2.js";
|
|
13
15
|
import EVM2EVMOnRamp_1_5_ABI from "./abi/OnRamp_1_5.js";
|
|
14
16
|
import OnRamp_1_6_ABI from "./abi/OnRamp_1_6.js";
|
|
17
|
+
import OnRamp_2_0_ABI from "./abi/OnRamp_2_0.js";
|
|
15
18
|
import PriceRegistry_1_2_ABI from "./abi/PriceRegistry_1_2.js";
|
|
16
19
|
import Router_ABI from "./abi/Router.js";
|
|
17
20
|
import TokenAdminRegistry_ABI from "./abi/TokenAdminRegistry_1_5.js";
|
|
18
21
|
export const defaultAbiCoder = AbiCoder.defaultAbiCoder();
|
|
19
|
-
export const DEFAULT_GAS_LIMIT = 200000n;
|
|
20
|
-
export const DEFAULT_APPROVE_GAS_LIMIT = 120000n;
|
|
21
22
|
const customErrors = [
|
|
22
23
|
'error NoContract()',
|
|
23
24
|
'error NoGasForCallExactCheck()',
|
|
24
25
|
'error NotEnoughGasForCall()',
|
|
26
|
+
'error InvalidChain(uint64 chainSelector)',
|
|
25
27
|
];
|
|
28
|
+
export const VersionedContractABI = parseAbi(['function typeAndVersion() view returns (string)']);
|
|
26
29
|
export const interfaces = {
|
|
27
30
|
Router: new Interface(Router_ABI),
|
|
28
31
|
Token: new Interface(Token_ABI),
|
|
@@ -33,9 +36,11 @@ export const interfaces = {
|
|
|
33
36
|
TokenPool_v1_6: new Interface(TokenPool_1_6_ABI),
|
|
34
37
|
CommitStore_v1_5: new Interface(CommitStore_1_5_ABI),
|
|
35
38
|
CommitStore_v1_2: new Interface(CommitStore_1_2_ABI),
|
|
39
|
+
OffRamp_v2_0: new Interface(OffRamp_2_0_ABI),
|
|
36
40
|
OffRamp_v1_6: new Interface(OffRamp_1_6_ABI),
|
|
37
41
|
EVM2EVMOffRamp_v1_5: new Interface(EVM2EVMOffRamp_1_5_ABI),
|
|
38
42
|
EVM2EVMOffRamp_v1_2: new Interface(EVM2EVMOffRamp_1_2_ABI),
|
|
43
|
+
OnRamp_v2_0: new Interface(OnRamp_2_0_ABI),
|
|
39
44
|
OnRamp_v1_6: new Interface(OnRamp_1_6_ABI),
|
|
40
45
|
EVM2EVMOnRamp_v1_5: new Interface(EVM2EVMOnRamp_1_5_ABI),
|
|
41
46
|
EVM2EVMOnRamp_v1_2: new Interface(EVM2EVMOnRamp_1_2_ABI),
|
|
@@ -67,4 +72,5 @@ export const commitsFragments = getAllFragmentsMatchingEvents([
|
|
|
67
72
|
'CommitReportAccepted',
|
|
68
73
|
]);
|
|
69
74
|
export const receiptsFragments = getAllFragmentsMatchingEvents(['ExecutionStateChanged']);
|
|
75
|
+
export const CCV_INDEXER_URL = 'https://chainlink-ccv-indexer.ccip.stage.external.griddle.sh/all';
|
|
70
76
|
//# sourceMappingURL=const.js.map
|
package/dist/evm/const.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../src/evm/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,QAAQ,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAEhE,OAAO,SAAS,MAAM,8BAA8B,CAAA;AACpD,OAAO,mBAAmB,MAAM,0BAA0B,CAAA;AAC1D,OAAO,mBAAmB,MAAM,0BAA0B,CAAA;AAC1D,OAAO,aAAa,MAAM,wBAAwB,CAAA;AAClD,OAAO,iBAAiB,MAAM,mCAAmC,CAAA;AACjE,OAAO,mBAAmB,MAAM,qCAAqC,CAAA;AACrE,OAAO,iBAAiB,MAAM,qCAAqC,CAAA;AACnE,OAAO,sBAAsB,MAAM,sBAAsB,CAAA;AACzD,OAAO,sBAAsB,MAAM,sBAAsB,CAAA;AACzD,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAClD,OAAO,qBAAqB,MAAM,qBAAqB,CAAA;AACvD,OAAO,qBAAqB,MAAM,qBAAqB,CAAA;AACvD,OAAO,cAAc,MAAM,qBAAqB,CAAA;AAChD,OAAO,qBAAqB,MAAM,4BAA4B,CAAA;AAC9D,OAAO,UAAU,MAAM,iBAAiB,CAAA;AACxC,OAAO,sBAAsB,MAAM,iCAAiC,CAAA;AAEpE,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAA;AAEzD,MAAM,
|
|
1
|
+
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../src/evm/const.ts"],"names":[],"mappings":"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"}
|
package/dist/evm/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/evm/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,MAAM,EAMP,MAAM,QAAQ,CAAA;AAMf;;;;IAII;AACJ,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAkB7D;AAED;;;;;;;;;;;;IAYI;AACJ,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,SAAS,GAEd,SAAS;IACP,QAAQ,EAAE,aAAa,GAAG,gBAAgB,GAAG,aAAa;IAC1D,YAAY,EAAE,MAAM;IACpB,MAAM,CAAC,EAAE,MAAM;CAChB,GACD,SAAS,CAoDZ;AAOD;;;;;;;IAOI;AACJ,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,OAAO,GACZ,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/evm/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,MAAM,EAMP,MAAM,QAAQ,CAAA;AAMf;;;;IAII;AACJ,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAkB7D;AAED;;;;;;;;;;;;IAYI;AACJ,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,SAAS,GAEd,SAAS;IACP,QAAQ,EAAE,aAAa,GAAG,gBAAgB,GAAG,aAAa;IAC1D,YAAY,EAAE,MAAM;IACpB,MAAM,CAAC,EAAE,MAAM;CAChB,GACD,SAAS,CAoDZ;AAOD;;;;;;;IAOI;AACJ,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,OAAO,GACZ,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE,CA2C5C;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAoC5E"}
|
package/dist/evm/errors.js
CHANGED
|
@@ -97,7 +97,7 @@ export function parseWithFragment(selector, data) {
|
|
|
97
97
|
}
|
|
98
98
|
// join truthy property names, separated by a dot
|
|
99
99
|
function j(...args) {
|
|
100
|
-
return args.
|
|
100
|
+
return args.reduce((acc, v) => (!v ? acc : acc ? acc + (v.match(/^\w/) ? '.' : '') + v : v), '');
|
|
101
101
|
}
|
|
102
102
|
/**
|
|
103
103
|
* Recursively parse error data, returning an array of key/value pairs, where key is the path to
|
|
@@ -113,7 +113,12 @@ export function recursiveParseError(key, data) {
|
|
|
113
113
|
return key ? [[key, data.toArray()]] : [];
|
|
114
114
|
let kv;
|
|
115
115
|
try {
|
|
116
|
-
|
|
116
|
+
const obj = data.toObject();
|
|
117
|
+
const keys = Object.keys(obj);
|
|
118
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
119
|
+
if (keys.length > 0 && keys.every((k) => k.startsWith('_')))
|
|
120
|
+
throw new Error('not an obj');
|
|
121
|
+
kv = Object.entries(obj).map(([k, v]) => [j(key, k), v]);
|
|
117
122
|
}
|
|
118
123
|
catch (_) {
|
|
119
124
|
kv = data.toArray().map((v, i) => [j(key, `[${i}]`), v]);
|
package/dist/evm/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/evm/errors.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/evm/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type BytesLike } from 'ethers';
|
|
2
|
+
import { type EVMExtraArgsV1, type EVMExtraArgsV2, type ExtraArgs, type GenericExtraArgsV3, type SVMExtraArgsV1, type SuiExtraArgsV1 } from '../extra-args.ts';
|
|
3
|
+
/**
|
|
4
|
+
* Decodes extra arguments from a CCIP message.
|
|
5
|
+
* @param extraArgs - Encoded extra arguments bytes.
|
|
6
|
+
* @returns Decoded extra arguments with tag, or undefined if unknown format.
|
|
7
|
+
*/
|
|
8
|
+
export declare function decodeExtraArgs(extraArgs: BytesLike): (EVMExtraArgsV1 & {
|
|
9
|
+
_tag: 'EVMExtraArgsV1';
|
|
10
|
+
}) | (EVMExtraArgsV2 & {
|
|
11
|
+
_tag: 'EVMExtraArgsV2';
|
|
12
|
+
}) | (GenericExtraArgsV3 & {
|
|
13
|
+
_tag: 'GenericExtraArgsV3';
|
|
14
|
+
}) | (SVMExtraArgsV1 & {
|
|
15
|
+
_tag: 'SVMExtraArgsV1';
|
|
16
|
+
}) | (SuiExtraArgsV1 & {
|
|
17
|
+
_tag: 'SuiExtraArgsV1';
|
|
18
|
+
}) | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* Encodes extra arguments for a CCIP message.
|
|
21
|
+
* @param args - Extra arguments to encode.
|
|
22
|
+
* @returns Encoded extra arguments as hex string.
|
|
23
|
+
*/
|
|
24
|
+
export declare function encodeExtraArgs(args: ExtraArgs | undefined): string;
|
|
25
|
+
//# sourceMappingURL=extra-args.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extra-args.d.ts","sourceRoot":"","sources":["../../src/evm/extra-args.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EAUf,MAAM,QAAQ,CAAA;AAEf,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,cAAc,EAMpB,MAAM,kBAAkB,CAAA;AA+OzB;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,SAAS,GAElB,CAAC,cAAc,GAAG;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC,GAC7C,CAAC,cAAc,GAAG;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC,GAC7C,CAAC,kBAAkB,GAAG;IAAE,IAAI,EAAE,oBAAoB,CAAA;CAAE,CAAC,GACrD,CAAC,cAAc,GAAG;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC,GAC7C,CAAC,cAAc,GAAG;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC,GAC7C,SAAS,CAmCZ;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAwCnE"}
|
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
import { concat, dataSlice, encodeBase58, getAddress, hexlify, toBeHex, toBigInt, toNumber, zeroPadValue, } from 'ethers';
|
|
2
|
+
import { EVMExtraArgsV1Tag, EVMExtraArgsV2Tag, GenericExtraArgsV3Tag, SVMExtraArgsV1Tag, SuiExtraArgsV1Tag, } from "../extra-args.js";
|
|
3
|
+
import { DEFAULT_GAS_LIMIT } from "../shared/constants.js";
|
|
4
|
+
import { getAddressBytes, getDataBytes } from "../utils.js";
|
|
5
|
+
import { defaultAbiCoder } from "./const.js";
|
|
6
|
+
import { resultToObject } from "./types.js";
|
|
7
|
+
// ABI type strings for extra args encoding
|
|
8
|
+
const EVMExtraArgsV1ABI = 'tuple(uint256 gasLimit)';
|
|
9
|
+
const EVMExtraArgsV2ABI = 'tuple(uint256 gasLimit, bool allowOutOfOrderExecution)';
|
|
10
|
+
const SVMExtraArgsV1ABI = 'tuple(uint32 computeUnits, uint64 accountIsWritableBitmap, bool allowOutOfOrderExecution, bytes32 tokenReceiver, bytes32[] accounts)';
|
|
11
|
+
const SuiExtraArgsV1ABI = 'tuple(uint256 gasLimit, bool allowOutOfOrderExecution, bytes32 tokenReceiver, bytes32[] receiverObjectIds)';
|
|
12
|
+
/**
|
|
13
|
+
* Encodes GenericExtraArgsV3 using tightly packed binary format.
|
|
14
|
+
*
|
|
15
|
+
* Binary format:
|
|
16
|
+
* - tag (4 bytes): 0xa69dd4aa
|
|
17
|
+
* - gasLimit (4 bytes): uint32 big-endian
|
|
18
|
+
* - blockConfirmations (2 bytes): uint16 big-endian
|
|
19
|
+
* - ccvsLength (1 byte): uint8
|
|
20
|
+
* - For each CCV:
|
|
21
|
+
* - ccvAddressLength (1 byte): 0 or 20
|
|
22
|
+
* - ccvAddress (0 or 20 bytes)
|
|
23
|
+
* - ccvArgsLength (2 bytes): uint16 big-endian
|
|
24
|
+
* - ccvArgs (variable)
|
|
25
|
+
* - executorLength (1 byte): 0 or 20
|
|
26
|
+
* - executor (0 or 20 bytes)
|
|
27
|
+
* - executorArgsLength (2 bytes): uint16 big-endian
|
|
28
|
+
* - executorArgs (variable)
|
|
29
|
+
* - tokenReceiverLength (1 byte): uint8
|
|
30
|
+
* - tokenReceiver (variable)
|
|
31
|
+
* - tokenArgsLength (2 bytes): uint16 big-endian
|
|
32
|
+
* - tokenArgs (variable)
|
|
33
|
+
*/
|
|
34
|
+
function encodeExtraArgsV3(args) {
|
|
35
|
+
const parts = [];
|
|
36
|
+
// Tag (4 bytes)
|
|
37
|
+
parts.push(getDataBytes(GenericExtraArgsV3Tag));
|
|
38
|
+
// gasLimit (4 bytes, uint32 big-endian)
|
|
39
|
+
parts.push(getDataBytes(toBeHex(args.gasLimit, 4)));
|
|
40
|
+
// blockConfirmations (2 bytes, uint16 big-endian)
|
|
41
|
+
parts.push(getDataBytes(toBeHex(args.blockConfirmations, 2)));
|
|
42
|
+
// ccvsLength (1 byte)
|
|
43
|
+
parts.push(new Uint8Array([args.ccvs.length]));
|
|
44
|
+
// For each CCV
|
|
45
|
+
for (let i = 0; i < args.ccvs.length; i++) {
|
|
46
|
+
const ccvAddress = args.ccvs[i];
|
|
47
|
+
const ccvArgsBytes = getDataBytes(args.ccvArgs[i] ?? '0x');
|
|
48
|
+
if (ccvAddress && ccvAddress !== '' && ccvAddress !== '0x') {
|
|
49
|
+
// ccvAddressLength = 20
|
|
50
|
+
parts.push(new Uint8Array([20]));
|
|
51
|
+
// ccvAddress (20 bytes)
|
|
52
|
+
parts.push(getDataBytes(ccvAddress));
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
// ccvAddressLength = 0
|
|
56
|
+
parts.push(new Uint8Array([0]));
|
|
57
|
+
}
|
|
58
|
+
// ccvArgsLength (2 bytes, uint16 big-endian)
|
|
59
|
+
parts.push(getDataBytes(toBeHex(ccvArgsBytes.length, 2)));
|
|
60
|
+
// ccvArgs (variable)
|
|
61
|
+
if (ccvArgsBytes.length > 0) {
|
|
62
|
+
parts.push(ccvArgsBytes);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
// executorLength (1 byte)
|
|
66
|
+
if (args.executor && args.executor !== '' && args.executor !== '0x') {
|
|
67
|
+
parts.push(new Uint8Array([20]));
|
|
68
|
+
parts.push(getDataBytes(args.executor));
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
parts.push(new Uint8Array([0]));
|
|
72
|
+
}
|
|
73
|
+
// Convert BytesLike fields to Uint8Array
|
|
74
|
+
const executorArgsBytes = getDataBytes(args.executorArgs);
|
|
75
|
+
const tokenReceiverBytes = getDataBytes(args.tokenReceiver);
|
|
76
|
+
const tokenArgsBytes = getDataBytes(args.tokenArgs);
|
|
77
|
+
// executorArgsLength (2 bytes, uint16 big-endian)
|
|
78
|
+
parts.push(getDataBytes(toBeHex(executorArgsBytes.length, 2)));
|
|
79
|
+
// executorArgs (variable)
|
|
80
|
+
if (executorArgsBytes.length > 0) {
|
|
81
|
+
parts.push(executorArgsBytes);
|
|
82
|
+
}
|
|
83
|
+
// tokenReceiverLength (1 byte)
|
|
84
|
+
parts.push(new Uint8Array([tokenReceiverBytes.length]));
|
|
85
|
+
// tokenReceiver (variable)
|
|
86
|
+
if (tokenReceiverBytes.length > 0) {
|
|
87
|
+
parts.push(tokenReceiverBytes);
|
|
88
|
+
}
|
|
89
|
+
// tokenArgsLength (2 bytes, uint16 big-endian)
|
|
90
|
+
parts.push(getDataBytes(toBeHex(tokenArgsBytes.length, 2)));
|
|
91
|
+
// tokenArgs (variable)
|
|
92
|
+
if (tokenArgsBytes.length > 0) {
|
|
93
|
+
parts.push(tokenArgsBytes);
|
|
94
|
+
}
|
|
95
|
+
return hexlify(concat(parts));
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Decodes GenericExtraArgsV3 from tightly packed binary format.
|
|
99
|
+
* @param data - Bytes to decode (without the tag prefix).
|
|
100
|
+
* @returns Decoded GenericExtraArgsV3 or undefined if parsing fails.
|
|
101
|
+
*/
|
|
102
|
+
function decodeExtraArgsV3(data) {
|
|
103
|
+
let offset = 0;
|
|
104
|
+
// gasLimit (4 bytes, uint32 big-endian)
|
|
105
|
+
if (offset + 4 > data.length)
|
|
106
|
+
return undefined;
|
|
107
|
+
const gasLimit = toBigInt(data.subarray(offset, offset + 4));
|
|
108
|
+
offset += 4;
|
|
109
|
+
// blockConfirmations (2 bytes, uint16 big-endian)
|
|
110
|
+
if (offset + 2 > data.length)
|
|
111
|
+
return undefined;
|
|
112
|
+
const blockConfirmations = toNumber(data.subarray(offset, offset + 2));
|
|
113
|
+
offset += 2;
|
|
114
|
+
// ccvsLength (1 byte)
|
|
115
|
+
if (offset + 1 > data.length)
|
|
116
|
+
return undefined;
|
|
117
|
+
const ccvsLength = data[offset];
|
|
118
|
+
offset += 1;
|
|
119
|
+
const ccvs = [];
|
|
120
|
+
const ccvArgs = [];
|
|
121
|
+
// For each CCV
|
|
122
|
+
for (let i = 0; i < ccvsLength; i++) {
|
|
123
|
+
// ccvAddressLength (1 byte)
|
|
124
|
+
if (offset + 1 > data.length)
|
|
125
|
+
return undefined;
|
|
126
|
+
const ccvAddrLen = data[offset];
|
|
127
|
+
offset += 1;
|
|
128
|
+
// ccvAddress (0 or 20 bytes)
|
|
129
|
+
if (ccvAddrLen === 20) {
|
|
130
|
+
if (offset + 20 > data.length)
|
|
131
|
+
return undefined;
|
|
132
|
+
ccvs.push(getAddress(hexlify(data.slice(offset, offset + 20))));
|
|
133
|
+
offset += 20;
|
|
134
|
+
}
|
|
135
|
+
else if (ccvAddrLen === 0) {
|
|
136
|
+
ccvs.push('');
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
return undefined; // Invalid address length
|
|
140
|
+
}
|
|
141
|
+
// ccvArgsLength (2 bytes, uint16 big-endian)
|
|
142
|
+
if (offset + 2 > data.length)
|
|
143
|
+
return undefined;
|
|
144
|
+
const ccvArgsLen = toNumber(data.subarray(offset, offset + 2));
|
|
145
|
+
offset += 2;
|
|
146
|
+
// ccvArgs (variable)
|
|
147
|
+
if (offset + ccvArgsLen > data.length)
|
|
148
|
+
return undefined;
|
|
149
|
+
ccvArgs.push(hexlify(data.slice(offset, offset + ccvArgsLen)));
|
|
150
|
+
offset += ccvArgsLen;
|
|
151
|
+
}
|
|
152
|
+
// executorLength (1 byte)
|
|
153
|
+
if (offset + 1 > data.length)
|
|
154
|
+
return undefined;
|
|
155
|
+
const executorLen = data[offset];
|
|
156
|
+
offset += 1;
|
|
157
|
+
// executor (0 or 20 bytes)
|
|
158
|
+
let executor = '';
|
|
159
|
+
if (executorLen === 20) {
|
|
160
|
+
if (offset + 20 > data.length)
|
|
161
|
+
return undefined;
|
|
162
|
+
executor = getAddress(hexlify(data.slice(offset, offset + 20)));
|
|
163
|
+
offset += 20;
|
|
164
|
+
}
|
|
165
|
+
else if (executorLen !== 0) {
|
|
166
|
+
return undefined; // Invalid executor length
|
|
167
|
+
}
|
|
168
|
+
// executorArgsLength (2 bytes, uint16 big-endian)
|
|
169
|
+
if (offset + 2 > data.length)
|
|
170
|
+
return undefined;
|
|
171
|
+
const executorArgsLen = toNumber(data.subarray(offset, offset + 2));
|
|
172
|
+
offset += 2;
|
|
173
|
+
// executorArgs (variable)
|
|
174
|
+
if (offset + executorArgsLen > data.length)
|
|
175
|
+
return undefined;
|
|
176
|
+
const executorArgs = hexlify(data.slice(offset, offset + executorArgsLen));
|
|
177
|
+
offset += executorArgsLen;
|
|
178
|
+
// tokenReceiverLength (1 byte)
|
|
179
|
+
if (offset + 1 > data.length)
|
|
180
|
+
return undefined;
|
|
181
|
+
const tokenReceiverLen = data[offset];
|
|
182
|
+
offset += 1;
|
|
183
|
+
// tokenReceiver (variable)
|
|
184
|
+
if (offset + tokenReceiverLen > data.length)
|
|
185
|
+
return undefined;
|
|
186
|
+
const tokenReceiverBytes = data.slice(offset, offset + tokenReceiverLen);
|
|
187
|
+
offset += tokenReceiverLen;
|
|
188
|
+
// Convert tokenReceiver bytes to string
|
|
189
|
+
let tokenReceiver;
|
|
190
|
+
if (tokenReceiverLen === 0) {
|
|
191
|
+
tokenReceiver = '';
|
|
192
|
+
}
|
|
193
|
+
else if (tokenReceiverLen === 20) {
|
|
194
|
+
// 20 bytes = EVM address, return checksummed
|
|
195
|
+
tokenReceiver = getAddress(hexlify(tokenReceiverBytes));
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
// Other lengths: return as hex string
|
|
199
|
+
tokenReceiver = hexlify(tokenReceiverBytes);
|
|
200
|
+
}
|
|
201
|
+
// tokenArgsLength (2 bytes, uint16 big-endian)
|
|
202
|
+
if (offset + 2 > data.length)
|
|
203
|
+
return undefined;
|
|
204
|
+
const tokenArgsLen = toNumber(data.subarray(offset, offset + 2));
|
|
205
|
+
offset += 2;
|
|
206
|
+
// tokenArgs (variable)
|
|
207
|
+
if (offset + tokenArgsLen > data.length)
|
|
208
|
+
return undefined;
|
|
209
|
+
const tokenArgs = hexlify(data.slice(offset, offset + tokenArgsLen));
|
|
210
|
+
offset += tokenArgsLen;
|
|
211
|
+
return {
|
|
212
|
+
gasLimit,
|
|
213
|
+
blockConfirmations,
|
|
214
|
+
ccvs,
|
|
215
|
+
ccvArgs,
|
|
216
|
+
executor,
|
|
217
|
+
executorArgs,
|
|
218
|
+
tokenReceiver,
|
|
219
|
+
tokenArgs,
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Decodes extra arguments from a CCIP message.
|
|
224
|
+
* @param extraArgs - Encoded extra arguments bytes.
|
|
225
|
+
* @returns Decoded extra arguments with tag, or undefined if unknown format.
|
|
226
|
+
*/
|
|
227
|
+
export function decodeExtraArgs(extraArgs) {
|
|
228
|
+
const data = getDataBytes(extraArgs), tag = dataSlice(data, 0, 4);
|
|
229
|
+
switch (tag) {
|
|
230
|
+
case EVMExtraArgsV1Tag: {
|
|
231
|
+
const args = defaultAbiCoder.decode([EVMExtraArgsV1ABI], dataSlice(data, 4));
|
|
232
|
+
return { ...resultToObject(args[0]), _tag: 'EVMExtraArgsV1' };
|
|
233
|
+
}
|
|
234
|
+
case EVMExtraArgsV2Tag: {
|
|
235
|
+
const args = defaultAbiCoder.decode([EVMExtraArgsV2ABI], dataSlice(data, 4));
|
|
236
|
+
return { ...resultToObject(args[0]), _tag: 'EVMExtraArgsV2' };
|
|
237
|
+
}
|
|
238
|
+
case GenericExtraArgsV3Tag: {
|
|
239
|
+
const parsed = decodeExtraArgsV3(data.slice(4));
|
|
240
|
+
if (!parsed)
|
|
241
|
+
return undefined;
|
|
242
|
+
return { ...parsed, _tag: 'GenericExtraArgsV3' };
|
|
243
|
+
}
|
|
244
|
+
case SVMExtraArgsV1Tag: {
|
|
245
|
+
const args = defaultAbiCoder.decode([SVMExtraArgsV1ABI], dataSlice(data, 4));
|
|
246
|
+
const parsed = resultToObject(args[0]);
|
|
247
|
+
parsed.tokenReceiver = encodeBase58(parsed.tokenReceiver);
|
|
248
|
+
parsed.accounts = parsed.accounts.map((a) => encodeBase58(a));
|
|
249
|
+
return { ...parsed, _tag: 'SVMExtraArgsV1' };
|
|
250
|
+
}
|
|
251
|
+
case SuiExtraArgsV1Tag: {
|
|
252
|
+
const args = defaultAbiCoder.decode([SuiExtraArgsV1ABI], dataSlice(data, 4));
|
|
253
|
+
const parsed = resultToObject(args[0]);
|
|
254
|
+
return {
|
|
255
|
+
...parsed,
|
|
256
|
+
_tag: 'SuiExtraArgsV1',
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
default:
|
|
260
|
+
return undefined;
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Encodes extra arguments for a CCIP message.
|
|
265
|
+
* @param args - Extra arguments to encode.
|
|
266
|
+
* @returns Encoded extra arguments as hex string.
|
|
267
|
+
*/
|
|
268
|
+
export function encodeExtraArgs(args) {
|
|
269
|
+
if (!args)
|
|
270
|
+
return '0x';
|
|
271
|
+
if ('blockConfirmations' in args) {
|
|
272
|
+
// GenericExtraArgsV3 - tightly packed binary encoding
|
|
273
|
+
return encodeExtraArgsV3(args);
|
|
274
|
+
}
|
|
275
|
+
else if ('computeUnits' in args) {
|
|
276
|
+
return concat([
|
|
277
|
+
SVMExtraArgsV1Tag,
|
|
278
|
+
defaultAbiCoder.encode([SVMExtraArgsV1ABI], [
|
|
279
|
+
{
|
|
280
|
+
...args,
|
|
281
|
+
tokenReceiver: getAddressBytes(args.tokenReceiver),
|
|
282
|
+
accounts: args.accounts.map((a) => getAddressBytes(a)),
|
|
283
|
+
},
|
|
284
|
+
]),
|
|
285
|
+
]);
|
|
286
|
+
}
|
|
287
|
+
else if ('receiverObjectIds' in args) {
|
|
288
|
+
return concat([
|
|
289
|
+
SuiExtraArgsV1Tag,
|
|
290
|
+
defaultAbiCoder.encode([SuiExtraArgsV1ABI], [
|
|
291
|
+
{
|
|
292
|
+
...args,
|
|
293
|
+
tokenReceiver: zeroPadValue(getAddressBytes(args.tokenReceiver), 32),
|
|
294
|
+
receiverObjectIds: args.receiverObjectIds.map((a) => getDataBytes(a)),
|
|
295
|
+
},
|
|
296
|
+
]),
|
|
297
|
+
]);
|
|
298
|
+
}
|
|
299
|
+
else if ('allowOutOfOrderExecution' in args) {
|
|
300
|
+
if (args.gasLimit == null)
|
|
301
|
+
args.gasLimit = DEFAULT_GAS_LIMIT;
|
|
302
|
+
return concat([EVMExtraArgsV2Tag, defaultAbiCoder.encode([EVMExtraArgsV2ABI], [args])]);
|
|
303
|
+
}
|
|
304
|
+
else if (args.gasLimit != null) {
|
|
305
|
+
return concat([EVMExtraArgsV1Tag, defaultAbiCoder.encode([EVMExtraArgsV1ABI], [args])]);
|
|
306
|
+
}
|
|
307
|
+
return '0x';
|
|
308
|
+
}
|
|
309
|
+
//# sourceMappingURL=extra-args.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extra-args.js","sourceRoot":"","sources":["../../src/evm/extra-args.ts"],"names":[],"mappings":"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"}
|
package/dist/evm/gas.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gas.d.ts","sourceRoot":"","sources":["../../src/evm/gas.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EAWxB,MAAM,QAAQ,CAAA;AAIf,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"gas.d.ts","sourceRoot":"","sources":["../../src/evm/gas.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EAWxB,MAAM,QAAQ,CAAA;AAIf,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AA+DxC,KAAK,mBAAmB,GAAG,IAAI,CAC7B,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC7D,SAAS,GAAG,UAAU,CACvB,GAAG;IAEF,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,EACpC,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,OAAO,GACR,EAAE,mBAAmB,mBAmDrB"}
|
package/dist/evm/gas.js
CHANGED
|
@@ -11,30 +11,25 @@ const ccipReceive = FunctionFragment.from({
|
|
|
11
11
|
inputs: RouterABI.find((v) => v.type === 'function' && v.name === 'routeMessage').inputs.slice(0, 1),
|
|
12
12
|
outputs: [],
|
|
13
13
|
});
|
|
14
|
-
const transferFragment = interfaces.Token.getFunction('transfer');
|
|
15
14
|
/**
|
|
16
15
|
* Finds suitable token balance slot by simulating a fake transfer between 2 non-existent accounts,
|
|
17
16
|
* with state overrides for the holders' balance, which reverts if override slot is wrong
|
|
18
17
|
*/
|
|
19
|
-
const findBalancesSlot = memoize(async function findBalancesSlot_(token, provider) {
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
const calldata = concat([
|
|
24
|
-
transferFragment.selector,
|
|
25
|
-
defaultAbiCoder.encode(transferFragment.inputs, [fakeRecipient, fakeAmount]),
|
|
26
|
-
]);
|
|
18
|
+
const findBalancesSlot = memoize(async function findBalancesSlot_(token, provider, holder = getAddress(hexlify(randomBytes(20))), recipient = getAddress(hexlify(randomBytes(20)))) {
|
|
19
|
+
const contract = new Contract(token, interfaces.Token, provider);
|
|
20
|
+
const fakeAmount = (await contract.totalSupply()) + 1n;
|
|
21
|
+
const calldata = interfaces.Token.encodeFunctionData('transfer', [recipient, fakeAmount]);
|
|
27
22
|
let firstErr;
|
|
28
23
|
// try range(0..15), but start with most probable 0 (common ERC20) and 9 (USDC)
|
|
29
24
|
for (const slot of [0, 9, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15]) {
|
|
30
25
|
try {
|
|
31
26
|
await provider.send('eth_estimateGas', [
|
|
32
|
-
{ from:
|
|
27
|
+
{ from: holder, to: token, data: calldata },
|
|
33
28
|
'latest',
|
|
34
29
|
{
|
|
35
30
|
[token]: {
|
|
36
31
|
stateDiff: {
|
|
37
|
-
[solidityPackedKeccak256(['uint256', 'uint256'], [
|
|
32
|
+
[solidityPackedKeccak256(['uint256', 'uint256'], [holder, slot])]: toBeHex(fakeAmount, 32),
|
|
38
33
|
},
|
|
39
34
|
},
|
|
40
35
|
},
|
|
@@ -64,7 +59,7 @@ export async function estimateExecGas({ provider, router, receiver, message, })
|
|
|
64
59
|
destAmounts[token] = currentBalance;
|
|
65
60
|
}
|
|
66
61
|
destAmounts[token] += amount;
|
|
67
|
-
const balancesSlot = await findBalancesSlot(token, provider);
|
|
62
|
+
const balancesSlot = await findBalancesSlot(token, provider, receiver, router);
|
|
68
63
|
stateOverrides[token] = {
|
|
69
64
|
stateDiff: {
|
|
70
65
|
[solidityPackedKeccak256(['uint256', 'uint256'], [receiver, balancesSlot])]: toBeHex(destAmounts[token], 32),
|