@chainlink/ccip-sdk 0.0.0 → 0.90.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/LICENSE +21 -0
- package/README.md +109 -0
- package/dist/aptos/exec.d.ts +18 -0
- package/dist/aptos/exec.d.ts.map +1 -0
- package/dist/aptos/exec.js +55 -0
- package/dist/aptos/exec.js.map +1 -0
- package/dist/aptos/hasher.d.ts +11 -0
- package/dist/aptos/hasher.d.ts.map +1 -0
- package/dist/aptos/hasher.js +62 -0
- package/dist/aptos/hasher.js.map +1 -0
- package/dist/aptos/index.d.ts +92 -0
- package/dist/aptos/index.d.ts.map +1 -0
- package/dist/aptos/index.js +482 -0
- package/dist/aptos/index.js.map +1 -0
- package/dist/aptos/logs.d.ts +9 -0
- package/dist/aptos/logs.d.ts.map +1 -0
- package/dist/aptos/logs.js +167 -0
- package/dist/aptos/logs.js.map +1 -0
- package/dist/aptos/send.d.ts +11 -0
- package/dist/aptos/send.d.ts.map +1 -0
- package/dist/aptos/send.js +78 -0
- package/dist/aptos/send.js.map +1 -0
- package/dist/aptos/token.d.ts +4 -0
- package/dist/aptos/token.d.ts.map +1 -0
- package/dist/aptos/token.js +134 -0
- package/dist/aptos/token.js.map +1 -0
- package/dist/aptos/types.d.ts +78 -0
- package/dist/aptos/types.d.ts.map +1 -0
- package/dist/aptos/types.js +60 -0
- package/dist/aptos/types.js.map +1 -0
- package/dist/aptos/utils.d.ts +12 -0
- package/dist/aptos/utils.d.ts.map +1 -0
- package/dist/aptos/utils.js +15 -0
- package/dist/aptos/utils.js.map +1 -0
- package/dist/chain.d.ts +344 -0
- package/dist/chain.d.ts.map +1 -0
- package/dist/chain.js +41 -0
- package/dist/chain.js.map +1 -0
- package/dist/commits.d.ts +25 -0
- package/dist/commits.d.ts.map +1 -0
- package/dist/commits.js +29 -0
- package/dist/commits.js.map +1 -0
- package/dist/evm/abi/BurnMintERC677Token.d.ts +602 -0
- package/dist/evm/abi/BurnMintERC677Token.d.ts.map +1 -0
- package/dist/evm/abi/BurnMintERC677Token.js +488 -0
- package/dist/evm/abi/BurnMintERC677Token.js.map +1 -0
- package/dist/evm/abi/CommitStore_1_2.d.ts +688 -0
- package/dist/evm/abi/CommitStore_1_2.d.ts.map +1 -0
- package/dist/evm/abi/CommitStore_1_2.js +638 -0
- package/dist/evm/abi/CommitStore_1_2.js.map +1 -0
- package/dist/evm/abi/CommitStore_1_5.d.ts +708 -0
- package/dist/evm/abi/CommitStore_1_5.d.ts.map +1 -0
- package/dist/evm/abi/CommitStore_1_5.js +675 -0
- package/dist/evm/abi/CommitStore_1_5.js.map +1 -0
- package/dist/evm/abi/FeeQuoter_1_6.d.ts +1770 -0
- package/dist/evm/abi/FeeQuoter_1_6.d.ts.map +1 -0
- package/dist/evm/abi/FeeQuoter_1_6.js +1904 -0
- package/dist/evm/abi/FeeQuoter_1_6.js.map +1 -0
- package/dist/evm/abi/LockReleaseTokenPool_1_5.d.ts +1116 -0
- package/dist/evm/abi/LockReleaseTokenPool_1_5.d.ts.map +1 -0
- package/dist/evm/abi/LockReleaseTokenPool_1_5.js +1096 -0
- package/dist/evm/abi/LockReleaseTokenPool_1_5.js.map +1 -0
- package/dist/evm/abi/LockReleaseTokenPool_1_5_1.d.ts +1306 -0
- package/dist/evm/abi/LockReleaseTokenPool_1_5_1.d.ts.map +1 -0
- package/dist/evm/abi/LockReleaseTokenPool_1_5_1.js +1278 -0
- package/dist/evm/abi/LockReleaseTokenPool_1_5_1.js.map +1 -0
- package/dist/evm/abi/LockReleaseTokenPool_1_6_1.d.ts +1290 -0
- package/dist/evm/abi/LockReleaseTokenPool_1_6_1.d.ts.map +1 -0
- package/dist/evm/abi/LockReleaseTokenPool_1_6_1.js +1288 -0
- package/dist/evm/abi/LockReleaseTokenPool_1_6_1.js.map +1 -0
- package/dist/evm/abi/OffRamp_1_2.d.ts +1217 -0
- package/dist/evm/abi/OffRamp_1_2.d.ts.map +1 -0
- package/dist/evm/abi/OffRamp_1_2.js +1204 -0
- package/dist/evm/abi/OffRamp_1_2.js.map +1 -0
- package/dist/evm/abi/OffRamp_1_5.d.ts +1271 -0
- package/dist/evm/abi/OffRamp_1_5.d.ts.map +1 -0
- package/dist/evm/abi/OffRamp_1_5.js +1273 -0
- package/dist/evm/abi/OffRamp_1_5.js.map +1 -0
- package/dist/evm/abi/OffRamp_1_6.d.ts +1472 -0
- package/dist/evm/abi/OffRamp_1_6.d.ts.map +1 -0
- package/dist/evm/abi/OffRamp_1_6.js +1529 -0
- package/dist/evm/abi/OffRamp_1_6.js.map +1 -0
- package/dist/evm/abi/OnRamp_1_2.d.ts +1391 -0
- package/dist/evm/abi/OnRamp_1_2.d.ts.map +1 -0
- package/dist/evm/abi/OnRamp_1_2.js +1343 -0
- package/dist/evm/abi/OnRamp_1_2.js.map +1 -0
- package/dist/evm/abi/OnRamp_1_5.d.ts +1443 -0
- package/dist/evm/abi/OnRamp_1_5.d.ts.map +1 -0
- package/dist/evm/abi/OnRamp_1_5.js +1427 -0
- package/dist/evm/abi/OnRamp_1_5.js.map +1 -0
- package/dist/evm/abi/OnRamp_1_6.d.ts +796 -0
- package/dist/evm/abi/OnRamp_1_6.d.ts.map +1 -0
- package/dist/evm/abi/OnRamp_1_6.js +880 -0
- package/dist/evm/abi/OnRamp_1_6.js.map +1 -0
- package/dist/evm/abi/Router.d.ts +541 -0
- package/dist/evm/abi/Router.d.ts.map +1 -0
- package/dist/evm/abi/Router.js +508 -0
- package/dist/evm/abi/Router.js.map +1 -0
- package/dist/evm/abi/TokenAdminRegistry_1_5.d.ts +373 -0
- package/dist/evm/abi/TokenAdminRegistry_1_5.d.ts.map +1 -0
- package/dist/evm/abi/TokenAdminRegistry_1_5.js +333 -0
- package/dist/evm/abi/TokenAdminRegistry_1_5.js.map +1 -0
- package/dist/evm/const.d.ts +27 -0
- package/dist/evm/const.d.ts.map +1 -0
- package/dist/evm/const.js +63 -0
- package/dist/evm/const.js.map +1 -0
- package/dist/evm/errors.d.ts +36 -0
- package/dist/evm/errors.d.ts.map +1 -0
- package/dist/evm/errors.js +192 -0
- package/dist/evm/errors.js.map +1 -0
- package/dist/evm/hasher.d.ts +5 -0
- package/dist/evm/hasher.d.ts.map +1 -0
- package/dist/evm/hasher.js +116 -0
- package/dist/evm/hasher.js.map +1 -0
- package/dist/evm/index.d.ts +121 -0
- package/dist/evm/index.d.ts.map +1 -0
- package/dist/evm/index.js +904 -0
- package/dist/evm/index.js.map +1 -0
- package/dist/evm/messages.d.ts +35 -0
- package/dist/evm/messages.d.ts.map +1 -0
- package/dist/evm/messages.js +11 -0
- package/dist/evm/messages.js.map +1 -0
- package/dist/evm/offchain.d.ts +16 -0
- package/dist/evm/offchain.d.ts.map +1 -0
- package/dist/evm/offchain.js +142 -0
- package/dist/evm/offchain.js.map +1 -0
- package/dist/execution.d.ts +80 -0
- package/dist/execution.d.ts.map +1 -0
- package/dist/execution.js +91 -0
- package/dist/execution.js.map +1 -0
- package/dist/extra-args.d.ts +45 -0
- package/dist/extra-args.d.ts.map +1 -0
- package/dist/extra-args.js +44 -0
- package/dist/extra-args.js.map +1 -0
- package/dist/gas.d.ts +27 -0
- package/dist/gas.d.ts.map +1 -0
- package/dist/gas.js +80 -0
- package/dist/gas.js.map +1 -0
- package/dist/hasher/common.d.ts +12 -0
- package/dist/hasher/common.d.ts.map +1 -0
- package/dist/hasher/common.js +19 -0
- package/dist/hasher/common.js.map +1 -0
- package/dist/hasher/hasher.d.ts +4 -0
- package/dist/hasher/hasher.d.ts.map +1 -0
- package/dist/hasher/hasher.js +11 -0
- package/dist/hasher/hasher.js.map +1 -0
- package/dist/hasher/index.d.ts +4 -0
- package/dist/hasher/index.d.ts.map +1 -0
- package/dist/hasher/index.js +4 -0
- package/dist/hasher/index.js.map +1 -0
- package/dist/hasher/merklemulti.d.ts +58 -0
- package/dist/hasher/merklemulti.d.ts.map +1 -0
- package/dist/hasher/merklemulti.js +257 -0
- package/dist/hasher/merklemulti.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/offchain.d.ts +20 -0
- package/dist/offchain.d.ts.map +1 -0
- package/dist/offchain.js +59 -0
- package/dist/offchain.js.map +1 -0
- package/dist/requests.d.ts +48 -0
- package/dist/requests.d.ts.map +1 -0
- package/dist/requests.js +286 -0
- package/dist/requests.js.map +1 -0
- package/dist/selectors.d.ts +9 -0
- package/dist/selectors.d.ts.map +1 -0
- package/dist/selectors.js +1330 -0
- package/dist/selectors.js.map +1 -0
- package/dist/solana/cleanup.d.ts +15 -0
- package/dist/solana/cleanup.d.ts.map +1 -0
- package/dist/solana/cleanup.js +159 -0
- package/dist/solana/cleanup.js.map +1 -0
- package/dist/solana/exec.d.ts +15 -0
- package/dist/solana/exec.d.ts.map +1 -0
- package/dist/solana/exec.js +417 -0
- package/dist/solana/exec.js.map +1 -0
- package/dist/solana/hasher.d.ts +4 -0
- package/dist/solana/hasher.d.ts.map +1 -0
- package/dist/solana/hasher.js +81 -0
- package/dist/solana/hasher.js.map +1 -0
- package/dist/solana/idl/1.6.0/BASE_TOKEN_POOL.d.ts +866 -0
- package/dist/solana/idl/1.6.0/BASE_TOKEN_POOL.d.ts.map +1 -0
- package/dist/solana/idl/1.6.0/BASE_TOKEN_POOL.js +866 -0
- package/dist/solana/idl/1.6.0/BASE_TOKEN_POOL.js.map +1 -0
- package/dist/solana/idl/1.6.0/BURN_MINT_TOKEN_POOL.d.ts +949 -0
- package/dist/solana/idl/1.6.0/BURN_MINT_TOKEN_POOL.d.ts.map +1 -0
- package/dist/solana/idl/1.6.0/BURN_MINT_TOKEN_POOL.js +949 -0
- package/dist/solana/idl/1.6.0/BURN_MINT_TOKEN_POOL.js.map +1 -0
- package/dist/solana/idl/1.6.0/CCIP_CCTP_TOKEN_POOL.d.ts +1374 -0
- package/dist/solana/idl/1.6.0/CCIP_CCTP_TOKEN_POOL.d.ts.map +1 -0
- package/dist/solana/idl/1.6.0/CCIP_CCTP_TOKEN_POOL.js +1374 -0
- package/dist/solana/idl/1.6.0/CCIP_CCTP_TOKEN_POOL.js.map +1 -0
- package/dist/solana/idl/1.6.0/CCIP_COMMON.d.ts +104 -0
- package/dist/solana/idl/1.6.0/CCIP_COMMON.d.ts.map +1 -0
- package/dist/solana/idl/1.6.0/CCIP_COMMON.js +104 -0
- package/dist/solana/idl/1.6.0/CCIP_COMMON.js.map +1 -0
- package/dist/solana/idl/1.6.0/CCIP_OFFRAMP.d.ts +2746 -0
- package/dist/solana/idl/1.6.0/CCIP_OFFRAMP.d.ts.map +1 -0
- package/dist/solana/idl/1.6.0/CCIP_OFFRAMP.js +2746 -0
- package/dist/solana/idl/1.6.0/CCIP_OFFRAMP.js.map +1 -0
- package/dist/solana/idl/1.6.0/CCIP_ROUTER.d.ts +2332 -0
- package/dist/solana/idl/1.6.0/CCIP_ROUTER.d.ts.map +1 -0
- package/dist/solana/idl/1.6.0/CCIP_ROUTER.js +2332 -0
- package/dist/solana/idl/1.6.0/CCIP_ROUTER.js.map +1 -0
- package/dist/solana/index.d.ts +205 -0
- package/dist/solana/index.d.ts.map +1 -0
- package/dist/solana/index.js +1085 -0
- package/dist/solana/index.js.map +1 -0
- package/dist/solana/offchain.d.ts +31 -0
- package/dist/solana/offchain.d.ts.map +1 -0
- package/dist/solana/offchain.js +152 -0
- package/dist/solana/offchain.js.map +1 -0
- package/dist/solana/patchBorsh.d.ts +2 -0
- package/dist/solana/patchBorsh.d.ts.map +1 -0
- package/dist/solana/patchBorsh.js +60 -0
- package/dist/solana/patchBorsh.js.map +1 -0
- package/dist/solana/send.d.ts +14 -0
- package/dist/solana/send.d.ts.map +1 -0
- package/dist/solana/send.js +272 -0
- package/dist/solana/send.js.map +1 -0
- package/dist/solana/types.d.ts +4 -0
- package/dist/solana/types.d.ts.map +1 -0
- package/dist/solana/types.js +2 -0
- package/dist/solana/types.js.map +1 -0
- package/dist/solana/utils.d.ts +58 -0
- package/dist/solana/utils.d.ts.map +1 -0
- package/dist/solana/utils.js +211 -0
- package/dist/solana/utils.js.map +1 -0
- package/dist/sui/hasher.d.ts +12 -0
- package/dist/sui/hasher.d.ts.map +1 -0
- package/dist/sui/hasher.js +63 -0
- package/dist/sui/hasher.js.map +1 -0
- package/dist/sui/index.d.ts +72 -0
- package/dist/sui/index.d.ts.map +1 -0
- package/dist/sui/index.js +128 -0
- package/dist/sui/index.js.map +1 -0
- package/dist/sui/types.d.ts +17 -0
- package/dist/sui/types.d.ts.map +1 -0
- package/dist/sui/types.js +17 -0
- package/dist/sui/types.js.map +1 -0
- package/dist/supported-chains.d.ts +5 -0
- package/dist/supported-chains.d.ts.map +1 -0
- package/dist/supported-chains.js +3 -0
- package/dist/supported-chains.js.map +1 -0
- package/dist/types.d.ts +118 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +11 -0
- package/dist/types.js.map +1 -0
- package/dist/utils.d.ts +117 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +336 -0
- package/dist/utils.js.map +1 -0
- package/package.json +66 -8
- package/src/aptos/exec.ts +69 -0
- package/src/aptos/hasher.ts +92 -0
- package/src/aptos/index.ts +660 -0
- package/src/aptos/logs.ts +210 -0
- package/src/aptos/send.ts +120 -0
- package/src/aptos/token.ts +150 -0
- package/src/aptos/types.ts +85 -0
- package/src/aptos/utils.ts +24 -0
- package/src/chain.ts +398 -0
- package/src/commits.ts +44 -0
- package/src/evm/abi/BurnMintERC677Token.ts +487 -0
- package/src/evm/abi/CommitStore_1_2.ts +637 -0
- package/src/evm/abi/CommitStore_1_5.ts +674 -0
- package/src/evm/abi/FeeQuoter_1_6.ts +1903 -0
- package/src/evm/abi/LockReleaseTokenPool_1_5.ts +1095 -0
- package/src/evm/abi/LockReleaseTokenPool_1_5_1.ts +1277 -0
- package/src/evm/abi/LockReleaseTokenPool_1_6_1.ts +1287 -0
- package/src/evm/abi/OffRamp_1_2.ts +1203 -0
- package/src/evm/abi/OffRamp_1_5.ts +1272 -0
- package/src/evm/abi/OffRamp_1_6.ts +1528 -0
- package/src/evm/abi/OnRamp_1_2.ts +1342 -0
- package/src/evm/abi/OnRamp_1_5.ts +1426 -0
- package/src/evm/abi/OnRamp_1_6.ts +879 -0
- package/src/evm/abi/Router.ts +507 -0
- package/src/evm/abi/TokenAdminRegistry_1_5.ts +332 -0
- package/src/evm/const.ts +69 -0
- package/src/evm/errors.ts +212 -0
- package/src/evm/hasher.ts +166 -0
- package/src/evm/index.ts +1262 -0
- package/src/evm/messages.ts +73 -0
- package/src/evm/offchain.ts +189 -0
- package/src/execution.ts +131 -0
- package/src/extra-args.ts +71 -0
- package/src/gas.ts +135 -0
- package/src/hasher/common.ts +23 -0
- package/src/hasher/hasher.ts +12 -0
- package/src/hasher/index.ts +3 -0
- package/src/hasher/merklemulti.ts +309 -0
- package/src/index.ts +51 -0
- package/src/offchain.ts +86 -0
- package/src/requests.ts +339 -0
- package/src/selectors.ts +1340 -0
- package/src/solana/cleanup.ts +216 -0
- package/src/solana/exec.ts +645 -0
- package/src/solana/hasher.ts +104 -0
- package/src/solana/idl/1.6.0/BASE_TOKEN_POOL.ts +1734 -0
- package/src/solana/idl/1.6.0/BURN_MINT_TOKEN_POOL.ts +1900 -0
- package/src/solana/idl/1.6.0/CCIP_CCTP_TOKEN_POOL.ts +2750 -0
- package/src/solana/idl/1.6.0/CCIP_COMMON.ts +210 -0
- package/src/solana/idl/1.6.0/CCIP_OFFRAMP.ts +5494 -0
- package/src/solana/idl/1.6.0/CCIP_ROUTER.ts +4671 -0
- package/src/solana/index.ts +1454 -0
- package/src/solana/offchain.ts +209 -0
- package/src/solana/patchBorsh.ts +67 -0
- package/src/solana/send.ts +436 -0
- package/src/solana/types.ts +6 -0
- package/src/solana/utils.ts +272 -0
- package/src/sui/hasher.ts +90 -0
- package/src/sui/index.ts +198 -0
- package/src/sui/types.ts +22 -0
- package/src/supported-chains.ts +4 -0
- package/src/types.ts +153 -0
- package/src/utils.ts +405 -0
- package/tsconfig.json +18 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TokenAdminRegistry_1_5.js","sourceRoot":"","sources":["../../../src/evm/abi/TokenAdminRegistry_1_5.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type EventFragment, AbiCoder, Interface } from 'ethers';
|
|
2
|
+
export declare const defaultAbiCoder: AbiCoder;
|
|
3
|
+
export declare const DEFAULT_GAS_LIMIT = 200000n;
|
|
4
|
+
export declare const DEFAULT_APPROVE_GAS_LIMIT = 120000n;
|
|
5
|
+
export declare const interfaces: {
|
|
6
|
+
readonly Router: Interface;
|
|
7
|
+
readonly Token: Interface;
|
|
8
|
+
readonly TokenAdminRegistry: Interface;
|
|
9
|
+
readonly FeeQuoter: Interface;
|
|
10
|
+
readonly TokenPool_v1_5_1: Interface;
|
|
11
|
+
readonly TokenPool_v1_5: Interface;
|
|
12
|
+
readonly TokenPool_v1_6: Interface;
|
|
13
|
+
readonly CommitStore_v1_5: Interface;
|
|
14
|
+
readonly CommitStore_v1_2: Interface;
|
|
15
|
+
readonly OffRamp_v1_6: Interface;
|
|
16
|
+
readonly EVM2EVMOffRamp_v1_5: Interface;
|
|
17
|
+
readonly EVM2EVMOffRamp_v1_2: Interface;
|
|
18
|
+
readonly OnRamp_v1_6: Interface;
|
|
19
|
+
readonly EVM2EVMOnRamp_v1_5: Interface;
|
|
20
|
+
readonly EVM2EVMOnRamp_v1_2: Interface;
|
|
21
|
+
readonly Custom: Interface;
|
|
22
|
+
};
|
|
23
|
+
export declare function getAllFragmentsMatchingEvents(events: readonly string[]): Record<`0x${string}`, EventFragment>;
|
|
24
|
+
export declare const requestsFragments: Record<`0x${string}`, EventFragment>;
|
|
25
|
+
export declare const commitsFragments: Record<`0x${string}`, EventFragment>;
|
|
26
|
+
export declare const receiptsFragments: Record<`0x${string}`, EventFragment>;
|
|
27
|
+
//# sourceMappingURL=const.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../src/evm/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAkBhE,eAAO,MAAM,eAAe,UAA6B,CAAA;AAEzD,eAAO,MAAM,iBAAiB,UAAW,CAAA;AACzC,eAAO,MAAM,yBAAyB,UAAW,CAAA;AAQjD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;CAiBb,CAAA;AAEV,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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { AbiCoder, Interface } from 'ethers';
|
|
2
|
+
import Token_ABI from "./abi/BurnMintERC677Token.js";
|
|
3
|
+
import CommitStore_1_2_ABI from "./abi/CommitStore_1_2.js";
|
|
4
|
+
import CommitStore_1_5_ABI from "./abi/CommitStore_1_5.js";
|
|
5
|
+
import FeeQuoter_ABI from "./abi/FeeQuoter_1_6.js";
|
|
6
|
+
import TokenPool_1_5_ABI from "./abi/LockReleaseTokenPool_1_5.js";
|
|
7
|
+
import TokenPool_1_5_1_ABI from "./abi/LockReleaseTokenPool_1_5_1.js";
|
|
8
|
+
import TokenPool_1_6_ABI from "./abi/LockReleaseTokenPool_1_6_1.js";
|
|
9
|
+
import EVM2EVMOffRamp_1_2_ABI from "./abi/OffRamp_1_2.js";
|
|
10
|
+
import EVM2EVMOffRamp_1_5_ABI from "./abi/OffRamp_1_5.js";
|
|
11
|
+
import OffRamp_1_6_ABI from "./abi/OffRamp_1_6.js";
|
|
12
|
+
import EVM2EVMOnRamp_1_2_ABI from "./abi/OnRamp_1_2.js";
|
|
13
|
+
import EVM2EVMOnRamp_1_5_ABI from "./abi/OnRamp_1_5.js";
|
|
14
|
+
import OnRamp_1_6_ABI from "./abi/OnRamp_1_6.js";
|
|
15
|
+
import Router_ABI from "./abi/Router.js";
|
|
16
|
+
import TokenAdminRegistry_ABI from "./abi/TokenAdminRegistry_1_5.js";
|
|
17
|
+
export const defaultAbiCoder = AbiCoder.defaultAbiCoder();
|
|
18
|
+
export const DEFAULT_GAS_LIMIT = 200000n;
|
|
19
|
+
export const DEFAULT_APPROVE_GAS_LIMIT = 120000n;
|
|
20
|
+
const customErrors = [
|
|
21
|
+
'error NoContract()',
|
|
22
|
+
'error NoGasForCallExactCheck()',
|
|
23
|
+
'error NotEnoughGasForCall()',
|
|
24
|
+
];
|
|
25
|
+
export const interfaces = {
|
|
26
|
+
Router: new Interface(Router_ABI),
|
|
27
|
+
Token: new Interface(Token_ABI),
|
|
28
|
+
TokenAdminRegistry: new Interface(TokenAdminRegistry_ABI),
|
|
29
|
+
FeeQuoter: new Interface(FeeQuoter_ABI),
|
|
30
|
+
TokenPool_v1_5_1: new Interface(TokenPool_1_5_1_ABI),
|
|
31
|
+
TokenPool_v1_5: new Interface(TokenPool_1_5_ABI),
|
|
32
|
+
TokenPool_v1_6: new Interface(TokenPool_1_6_ABI),
|
|
33
|
+
CommitStore_v1_5: new Interface(CommitStore_1_5_ABI),
|
|
34
|
+
CommitStore_v1_2: new Interface(CommitStore_1_2_ABI),
|
|
35
|
+
OffRamp_v1_6: new Interface(OffRamp_1_6_ABI),
|
|
36
|
+
EVM2EVMOffRamp_v1_5: new Interface(EVM2EVMOffRamp_1_5_ABI),
|
|
37
|
+
EVM2EVMOffRamp_v1_2: new Interface(EVM2EVMOffRamp_1_2_ABI),
|
|
38
|
+
OnRamp_v1_6: new Interface(OnRamp_1_6_ABI),
|
|
39
|
+
EVM2EVMOnRamp_v1_5: new Interface(EVM2EVMOnRamp_1_5_ABI),
|
|
40
|
+
EVM2EVMOnRamp_v1_2: new Interface(EVM2EVMOnRamp_1_2_ABI),
|
|
41
|
+
Custom: new Interface(customErrors),
|
|
42
|
+
};
|
|
43
|
+
export function getAllFragmentsMatchingEvents(events) {
|
|
44
|
+
const fragments = {};
|
|
45
|
+
for (const iface of Object.values(interfaces)) {
|
|
46
|
+
for (const event of events) {
|
|
47
|
+
const fragment = iface.getEvent(event);
|
|
48
|
+
if (fragment)
|
|
49
|
+
fragments[fragment.topicHash] ??= fragment;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return fragments;
|
|
53
|
+
}
|
|
54
|
+
export const requestsFragments = getAllFragmentsMatchingEvents([
|
|
55
|
+
'CCIPSendRequested',
|
|
56
|
+
'CCIPMessageSent',
|
|
57
|
+
]);
|
|
58
|
+
export const commitsFragments = getAllFragmentsMatchingEvents([
|
|
59
|
+
'ReportAccepted',
|
|
60
|
+
'CommitReportAccepted',
|
|
61
|
+
]);
|
|
62
|
+
export const receiptsFragments = getAllFragmentsMatchingEvents(['ExecutionStateChanged']);
|
|
63
|
+
//# sourceMappingURL=const.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../src/evm/const.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type BytesLike, type ErrorFragment, type EventFragment, type FunctionFragment, Result } from 'ethers';
|
|
2
|
+
/**
|
|
3
|
+
* Get error data from an error object, if possible
|
|
4
|
+
* @param err - error object
|
|
5
|
+
* @returns error data if found
|
|
6
|
+
**/
|
|
7
|
+
export declare function getErrorData(err: unknown): string | undefined;
|
|
8
|
+
/**
|
|
9
|
+
* Try to parse selector and data with any known ABI
|
|
10
|
+
* selector must be either:
|
|
11
|
+
* - Error, Function or Event name or signature
|
|
12
|
+
* - 4-byte for Error or Function selector (first 4B of its keccak256(signature))
|
|
13
|
+
* - 32-byte for Event topicHash (keccak256(signature))
|
|
14
|
+
* If data is provided, it will be parsed with the fragment's inputs. For events, only the
|
|
15
|
+
* non-indexed arguments are parsed.
|
|
16
|
+
*
|
|
17
|
+
* @param selector - error, function or event selector
|
|
18
|
+
* @param data - data to parse as fragment's inputs
|
|
19
|
+
* @returns Fragment and contract name, if found, and parsed data if possible
|
|
20
|
+
**/
|
|
21
|
+
export declare function parseWithFragment(selector: string, data?: BytesLike): readonly [
|
|
22
|
+
fragment: ErrorFragment | FunctionFragment | EventFragment,
|
|
23
|
+
contractName: string,
|
|
24
|
+
parsed?: Result
|
|
25
|
+
] | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Recursively parse error data, returning an array of key/value pairs, where key is the path to
|
|
28
|
+
* error, and error maybe an error description or format, or the raw data if not parsable.
|
|
29
|
+
*
|
|
30
|
+
* @param key - key to use for the error data
|
|
31
|
+
* @param data - error bytearray data to parse
|
|
32
|
+
* @returns array of key/value pairs
|
|
33
|
+
**/
|
|
34
|
+
export declare function recursiveParseError(key: string, data: unknown): (readonly [key: string, error: unknown])[];
|
|
35
|
+
export declare function parseData(data: unknown): Record<string, unknown> | undefined;
|
|
36
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +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,CAuC5C;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAoC5E"}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import { Result, dataLength, dataSlice, hexlify, isBytesLike, isHexString, } from 'ethers';
|
|
2
|
+
import { defaultAbiCoder, interfaces } from "./const.js";
|
|
3
|
+
import { ChainFamily } from "../chain.js";
|
|
4
|
+
import { decodeExtraArgs } from "../extra-args.js";
|
|
5
|
+
/**
|
|
6
|
+
* Get error data from an error object, if possible
|
|
7
|
+
* @param err - error object
|
|
8
|
+
* @returns error data if found
|
|
9
|
+
**/
|
|
10
|
+
export function getErrorData(err) {
|
|
11
|
+
if (!err || typeof err != 'object')
|
|
12
|
+
return;
|
|
13
|
+
if ('data' in err && err.data && isHexString(err.data))
|
|
14
|
+
return err.data;
|
|
15
|
+
if (!('info' in err) ||
|
|
16
|
+
!err.info ||
|
|
17
|
+
typeof err.info != 'object' ||
|
|
18
|
+
!('error' in err.info) ||
|
|
19
|
+
!err.info.error ||
|
|
20
|
+
typeof err.info.error != 'object' ||
|
|
21
|
+
!('data' in err.info.error) ||
|
|
22
|
+
typeof err.info.error.data !== 'string' ||
|
|
23
|
+
!err.info.error.data)
|
|
24
|
+
return;
|
|
25
|
+
const match = err.info.error.data.match(/\b0x[0-9a-fA-F]+\b/);
|
|
26
|
+
if (!match)
|
|
27
|
+
return;
|
|
28
|
+
return match[0];
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Try to parse selector and data with any known ABI
|
|
32
|
+
* selector must be either:
|
|
33
|
+
* - Error, Function or Event name or signature
|
|
34
|
+
* - 4-byte for Error or Function selector (first 4B of its keccak256(signature))
|
|
35
|
+
* - 32-byte for Event topicHash (keccak256(signature))
|
|
36
|
+
* If data is provided, it will be parsed with the fragment's inputs. For events, only the
|
|
37
|
+
* non-indexed arguments are parsed.
|
|
38
|
+
*
|
|
39
|
+
* @param selector - error, function or event selector
|
|
40
|
+
* @param data - data to parse as fragment's inputs
|
|
41
|
+
* @returns Fragment and contract name, if found, and parsed data if possible
|
|
42
|
+
**/
|
|
43
|
+
export function parseWithFragment(selector, data) {
|
|
44
|
+
if (!dataLength(data ?? '0x') && isBytesLike(selector)) {
|
|
45
|
+
const len = dataLength(selector);
|
|
46
|
+
if (len >= 4 && len !== 32) {
|
|
47
|
+
data = dataSlice(selector, 4);
|
|
48
|
+
selector = dataSlice(selector, 0, 4);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
let res;
|
|
52
|
+
for (const [name, iface] of Object.entries(interfaces)) {
|
|
53
|
+
try {
|
|
54
|
+
const error = iface.getError(selector);
|
|
55
|
+
if (error) {
|
|
56
|
+
res = [error, name];
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
catch (_) {
|
|
61
|
+
// test all abis
|
|
62
|
+
}
|
|
63
|
+
try {
|
|
64
|
+
const func = iface.getFunction(selector);
|
|
65
|
+
if (func) {
|
|
66
|
+
res = [func, name];
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
catch (_) {
|
|
71
|
+
// test all abis
|
|
72
|
+
}
|
|
73
|
+
try {
|
|
74
|
+
const event = iface.getEvent(selector);
|
|
75
|
+
if (event) {
|
|
76
|
+
res = [event, name];
|
|
77
|
+
break;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
catch (_) {
|
|
81
|
+
// test all abis
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
if (res && data) {
|
|
85
|
+
let parsed;
|
|
86
|
+
const [fragment] = res;
|
|
87
|
+
try {
|
|
88
|
+
parsed = defaultAbiCoder.decode(fragment.inputs.filter(({ indexed }) => !indexed), data);
|
|
89
|
+
}
|
|
90
|
+
catch (_) {
|
|
91
|
+
// ignore
|
|
92
|
+
}
|
|
93
|
+
if (parsed)
|
|
94
|
+
return [...res, parsed];
|
|
95
|
+
}
|
|
96
|
+
return res;
|
|
97
|
+
}
|
|
98
|
+
// join truthy property names, separated by a dot
|
|
99
|
+
function j(...args) {
|
|
100
|
+
return args.filter(Boolean).join('.');
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Recursively parse error data, returning an array of key/value pairs, where key is the path to
|
|
104
|
+
* error, and error maybe an error description or format, or the raw data if not parsable.
|
|
105
|
+
*
|
|
106
|
+
* @param key - key to use for the error data
|
|
107
|
+
* @param data - error bytearray data to parse
|
|
108
|
+
* @returns array of key/value pairs
|
|
109
|
+
**/
|
|
110
|
+
export function recursiveParseError(key, data) {
|
|
111
|
+
if (data instanceof Result) {
|
|
112
|
+
if (data.length === 0)
|
|
113
|
+
return key ? [[key, data.toArray()]] : [];
|
|
114
|
+
let kv;
|
|
115
|
+
try {
|
|
116
|
+
kv = Object.entries(data.toObject()).map(([k, v]) => [j(key, k), v]);
|
|
117
|
+
}
|
|
118
|
+
catch (_) {
|
|
119
|
+
kv = data.toArray().map((v, i) => [j(key, `[${i}]`), v]);
|
|
120
|
+
}
|
|
121
|
+
return kv.reduce((acc, [k, v]) => [...acc, ...recursiveParseError(k, v)], []);
|
|
122
|
+
}
|
|
123
|
+
if (!isBytesLike(data) || [0, 20].includes(dataLength(data))) {
|
|
124
|
+
return [[key, data]];
|
|
125
|
+
}
|
|
126
|
+
try {
|
|
127
|
+
const parsed = decodeExtraArgs(data, ChainFamily.EVM);
|
|
128
|
+
if (parsed) {
|
|
129
|
+
const { _tag, ...rest } = parsed;
|
|
130
|
+
return [[key, _tag], ...Object.entries(rest).map(([k, v]) => [j(key, k), v])];
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
catch (_) {
|
|
134
|
+
// pass
|
|
135
|
+
}
|
|
136
|
+
const parsed = parseWithFragment(hexlify(data));
|
|
137
|
+
if (!parsed)
|
|
138
|
+
return [[key, data]];
|
|
139
|
+
const [fragment, _, args] = parsed;
|
|
140
|
+
const desc = fragment.format('full');
|
|
141
|
+
key = desc.split(' ')[0];
|
|
142
|
+
const res = [[key, desc.substring(key.length + 1)]];
|
|
143
|
+
if (!args)
|
|
144
|
+
return res;
|
|
145
|
+
if (['ReceiverError', 'TokenHandlingError'].includes(fragment.name) && args.err === '0x') {
|
|
146
|
+
res.push([`${key}.err`, '0x [possibly out-of-gas or abi.decode error]']);
|
|
147
|
+
return res;
|
|
148
|
+
}
|
|
149
|
+
res.push(...recursiveParseError('', args));
|
|
150
|
+
return res;
|
|
151
|
+
}
|
|
152
|
+
export function parseData(data) {
|
|
153
|
+
if (!data)
|
|
154
|
+
return;
|
|
155
|
+
if (isHexString(data)) {
|
|
156
|
+
const parsed = recursiveParseError('', data);
|
|
157
|
+
if (parsed.length === 1 && parsed[0][1] === data)
|
|
158
|
+
return;
|
|
159
|
+
return Object.fromEntries(parsed);
|
|
160
|
+
}
|
|
161
|
+
if (typeof data !== 'object')
|
|
162
|
+
return;
|
|
163
|
+
// ethers tx/simulation/call errors
|
|
164
|
+
const err_ = data;
|
|
165
|
+
const shortMessage = err_.shortMessage || err_.message;
|
|
166
|
+
const transaction = err_.transaction;
|
|
167
|
+
if (!shortMessage || !transaction?.data)
|
|
168
|
+
return;
|
|
169
|
+
let method, invocation;
|
|
170
|
+
const invocation_ = data.invocation;
|
|
171
|
+
if (invocation_) {
|
|
172
|
+
;
|
|
173
|
+
({ method, ...invocation } = invocation_);
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
method = dataSlice(transaction.data, 0, 4);
|
|
177
|
+
const func = parseWithFragment(method)?.[0];
|
|
178
|
+
if (func)
|
|
179
|
+
method = func.name;
|
|
180
|
+
}
|
|
181
|
+
let reason;
|
|
182
|
+
const errorData = getErrorData(data);
|
|
183
|
+
if (errorData)
|
|
184
|
+
reason = Object.fromEntries(recursiveParseError('revert', errorData));
|
|
185
|
+
return {
|
|
186
|
+
method,
|
|
187
|
+
error: shortMessage,
|
|
188
|
+
...reason,
|
|
189
|
+
call: { ...transaction, ...invocation },
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/evm/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type LeafHasher } from '../hasher/common.ts';
|
|
2
|
+
import type { CCIPVersion } from '../types.ts';
|
|
3
|
+
export declare function getV12LeafHasher(sourceChainSelector: bigint, destChainSelector: bigint, onRamp: string): LeafHasher<typeof CCIPVersion.V1_2 | typeof CCIPVersion.V1_5>;
|
|
4
|
+
export declare function getV16LeafHasher(sourceChainSelector: bigint, destChainSelector: bigint, onRamp: string): LeafHasher<typeof CCIPVersion.V1_6>;
|
|
5
|
+
//# sourceMappingURL=hasher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hasher.d.ts","sourceRoot":"","sources":["../../src/evm/hasher.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,UAAU,EAAyB,MAAM,qBAAqB,CAAA;AAC5E,OAAO,KAAK,EAAe,WAAW,EAAgB,MAAM,aAAa,CAAA;AAMzE,wBAAgB,gBAAgB,CAC9B,mBAAmB,EAAE,MAAM,EAC3B,iBAAiB,EAAE,MAAM,EACzB,MAAM,EAAE,MAAM,GACb,UAAU,CAAC,OAAO,WAAW,CAAC,IAAI,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC,CAgE/D;AAID,wBAAgB,gBAAgB,CAC9B,mBAAmB,EAAE,MAAM,EAC3B,iBAAiB,EAAE,MAAM,EACzB,MAAM,EAAE,MAAM,GACb,UAAU,CAAC,OAAO,WAAW,CAAC,IAAI,CAAC,CA+ErC"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { concat, id, keccak256, toBeHex, zeroPadValue } from 'ethers';
|
|
2
|
+
import { decodeExtraArgs } from "../extra-args.js";
|
|
3
|
+
import { LEAF_DOMAIN_SEPARATOR } from "../hasher/common.js";
|
|
4
|
+
import { getAddressBytes, getDataBytes, networkInfo } from "../utils.js";
|
|
5
|
+
import { defaultAbiCoder } from "./const.js";
|
|
6
|
+
const METADATA_PREFIX_1_2 = id('EVM2EVMMessageHashV2');
|
|
7
|
+
export function getV12LeafHasher(sourceChainSelector, destChainSelector, onRamp) {
|
|
8
|
+
const metadataHash = keccak256(concat([
|
|
9
|
+
METADATA_PREFIX_1_2,
|
|
10
|
+
toBeHex(sourceChainSelector, 32),
|
|
11
|
+
toBeHex(destChainSelector, 32),
|
|
12
|
+
zeroPadValue(onRamp, 32),
|
|
13
|
+
]));
|
|
14
|
+
return (message) => {
|
|
15
|
+
const encodedTokens = defaultAbiCoder.encode(['tuple(address token, uint256 amount)[]'], [message.tokenAmounts]);
|
|
16
|
+
const encodedSourceTokenData = defaultAbiCoder.encode(['bytes[]'], [message.sourceTokenData]);
|
|
17
|
+
const fixedSizeValues = defaultAbiCoder.encode([
|
|
18
|
+
'address sender',
|
|
19
|
+
'address receiver',
|
|
20
|
+
'uint64 sequenceNumber',
|
|
21
|
+
'uint256 gasLimit',
|
|
22
|
+
'bool strict',
|
|
23
|
+
'uint64 nonce',
|
|
24
|
+
'address feeToken',
|
|
25
|
+
'uint256 feeTokenAmount',
|
|
26
|
+
], [
|
|
27
|
+
message.sender,
|
|
28
|
+
message.receiver,
|
|
29
|
+
message.sequenceNumber,
|
|
30
|
+
message.gasLimit,
|
|
31
|
+
message.strict,
|
|
32
|
+
message.nonce,
|
|
33
|
+
message.feeToken,
|
|
34
|
+
message.feeTokenAmount,
|
|
35
|
+
]);
|
|
36
|
+
const fixedSizeValuesHash = keccak256(fixedSizeValues);
|
|
37
|
+
const packedValues = defaultAbiCoder.encode([
|
|
38
|
+
'bytes1 leafDomainSeparator',
|
|
39
|
+
'bytes32 metadataHash',
|
|
40
|
+
'bytes32 fixedSizeValuesHash',
|
|
41
|
+
'bytes32 dataHash',
|
|
42
|
+
'bytes32 tokenAmountsHash',
|
|
43
|
+
'bytes32 sourceTokenDataHash',
|
|
44
|
+
], [
|
|
45
|
+
LEAF_DOMAIN_SEPARATOR,
|
|
46
|
+
metadataHash,
|
|
47
|
+
fixedSizeValuesHash,
|
|
48
|
+
keccak256(message.data),
|
|
49
|
+
keccak256(encodedTokens),
|
|
50
|
+
keccak256(encodedSourceTokenData),
|
|
51
|
+
]);
|
|
52
|
+
return keccak256(packedValues);
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
const ANY_2_EVM_MESSAGE_HASH = id('Any2EVMMessageHashV1');
|
|
56
|
+
export function getV16LeafHasher(sourceChainSelector, destChainSelector, onRamp) {
|
|
57
|
+
const metadataInput = concat([
|
|
58
|
+
ANY_2_EVM_MESSAGE_HASH,
|
|
59
|
+
toBeHex(sourceChainSelector, 32),
|
|
60
|
+
toBeHex(destChainSelector, 32),
|
|
61
|
+
keccak256(zeroPadValue(getAddressBytes(onRamp), 32)),
|
|
62
|
+
]);
|
|
63
|
+
return (message) => {
|
|
64
|
+
console.debug('Message', message);
|
|
65
|
+
const parsedArgs = decodeExtraArgs(message.extraArgs, networkInfo(message.header.sourceChainSelector).family);
|
|
66
|
+
if (!parsedArgs ||
|
|
67
|
+
(parsedArgs._tag !== 'EVMExtraArgsV1' && parsedArgs._tag !== 'EVMExtraArgsV2'))
|
|
68
|
+
throw new Error('Invalid extraArgs, not EVMExtraArgsV1|2');
|
|
69
|
+
const tokenAmounts = message.tokenAmounts.map((ta) => ({
|
|
70
|
+
...ta,
|
|
71
|
+
sourcePoolAddress: zeroPadValue(getAddressBytes(ta.sourcePoolAddress), 32),
|
|
72
|
+
extraData: getDataBytes(ta.extraData),
|
|
73
|
+
}));
|
|
74
|
+
const encodedTokens = defaultAbiCoder.encode([
|
|
75
|
+
'tuple(bytes sourcePoolAddress, address destTokenAddress, uint32 destGasAmount, bytes extraData, uint256 amount)[]',
|
|
76
|
+
], [tokenAmounts]);
|
|
77
|
+
const fixedSizeValues = defaultAbiCoder.encode([
|
|
78
|
+
'bytes32 messageId',
|
|
79
|
+
'address receiver',
|
|
80
|
+
'uint64 sequenceNumber',
|
|
81
|
+
'uint256 gasLimit',
|
|
82
|
+
'uint64 nonce',
|
|
83
|
+
], [
|
|
84
|
+
message.header.messageId,
|
|
85
|
+
message.receiver,
|
|
86
|
+
message.header.sequenceNumber,
|
|
87
|
+
parsedArgs.gasLimit,
|
|
88
|
+
message.header.nonce,
|
|
89
|
+
]);
|
|
90
|
+
const sender = zeroPadValue(getAddressBytes(message.sender), 32);
|
|
91
|
+
const packedValues = defaultAbiCoder.encode([
|
|
92
|
+
'bytes32 leafDomainSeparator',
|
|
93
|
+
'bytes32 metadataHash',
|
|
94
|
+
'bytes32 fixedSizeValuesHash',
|
|
95
|
+
'bytes32 sender',
|
|
96
|
+
'bytes32 dataHash',
|
|
97
|
+
'bytes32 tokenAmountsHash',
|
|
98
|
+
], [
|
|
99
|
+
zeroPadValue(LEAF_DOMAIN_SEPARATOR, 32),
|
|
100
|
+
keccak256(metadataInput),
|
|
101
|
+
keccak256(fixedSizeValues),
|
|
102
|
+
keccak256(sender),
|
|
103
|
+
keccak256(getDataBytes(message.data)),
|
|
104
|
+
keccak256(encodedTokens),
|
|
105
|
+
]);
|
|
106
|
+
console.debug('v1.6 leafHasher:', {
|
|
107
|
+
messageId: message.header.messageId,
|
|
108
|
+
encodedTokens,
|
|
109
|
+
fixedSizeValues,
|
|
110
|
+
packedValues,
|
|
111
|
+
metadataInput,
|
|
112
|
+
});
|
|
113
|
+
return keccak256(packedValues);
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=hasher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hasher.js","sourceRoot":"","sources":["../../src/evm/hasher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { type BytesLike, type JsonRpcApiProvider, type Log, type Provider, type Signer, type TransactionReceipt } from 'ethers';
|
|
2
|
+
import { type ChainTransaction, type LogFilter, type TokenPoolRemote, Chain, ChainFamily } from '../chain.ts';
|
|
3
|
+
import { type EVMExtraArgsV1, type EVMExtraArgsV2, type ExtraArgs, type SVMExtraArgsV1, type SuiExtraArgsV1 } from '../extra-args.ts';
|
|
4
|
+
import type { LeafHasher } from '../hasher/common.ts';
|
|
5
|
+
import { type AnyMessage, type CCIPMessage, type CCIPRequest, type CommitReport, type ExecutionReceipt, type ExecutionReport, type Lane, type NetworkInfo, type OffchainTokenData } from '../types.ts';
|
|
6
|
+
declare const EVMExtraArgsV1 = "tuple(uint256 gasLimit)";
|
|
7
|
+
declare const EVMExtraArgsV2 = "tuple(uint256 gasLimit, bool allowOutOfOrderExecution)";
|
|
8
|
+
declare const SVMExtraArgsV1 = "tuple(uint32 computeUnits, uint64 accountIsWritableBitmap, bool allowOutOfOrderExecution, bytes32 tokenReceiver, bytes32[] accounts)";
|
|
9
|
+
declare const SuiExtraArgsV1 = "tuple(uint256 gasLimit, bool allowOutOfOrderExecution, bytes32 tokenReceiver, bytes32[] receiverObjectIds)";
|
|
10
|
+
export declare class EVMChain extends Chain<typeof ChainFamily.EVM> {
|
|
11
|
+
static readonly family: "evm";
|
|
12
|
+
static readonly decimals = 18;
|
|
13
|
+
readonly network: NetworkInfo<typeof ChainFamily.EVM>;
|
|
14
|
+
readonly provider: JsonRpcApiProvider;
|
|
15
|
+
constructor(provider: JsonRpcApiProvider, network: NetworkInfo);
|
|
16
|
+
static getWallet(_provider: Provider, _opts: {
|
|
17
|
+
wallet?: unknown;
|
|
18
|
+
}): Promise<Signer>;
|
|
19
|
+
getWallet(opts?: {
|
|
20
|
+
wallet?: unknown;
|
|
21
|
+
}): Promise<Signer>;
|
|
22
|
+
/**
|
|
23
|
+
* Expose ethers provider's `listAccounts`, if provider supports it
|
|
24
|
+
*/
|
|
25
|
+
listAccounts(): Promise<string[]>;
|
|
26
|
+
getWalletAddress(opts?: {
|
|
27
|
+
wallet?: unknown;
|
|
28
|
+
}): Promise<string>;
|
|
29
|
+
static _getProvider(url: string): Promise<JsonRpcApiProvider>;
|
|
30
|
+
static fromProvider(provider: JsonRpcApiProvider): Promise<EVMChain>;
|
|
31
|
+
static fromUrl(url: string): Promise<EVMChain>;
|
|
32
|
+
destroy(): Promise<void>;
|
|
33
|
+
getBlockTimestamp(block: number | 'finalized'): Promise<number>;
|
|
34
|
+
getTransaction(hash: string | TransactionReceipt): Promise<ChainTransaction>;
|
|
35
|
+
getLogs(filter: LogFilter): AsyncIterableIterator<Log>;
|
|
36
|
+
static decodeMessage(log: {
|
|
37
|
+
topics?: readonly string[];
|
|
38
|
+
data: unknown;
|
|
39
|
+
}): CCIPMessage | undefined;
|
|
40
|
+
static decodeCommits(log: {
|
|
41
|
+
topics?: readonly string[];
|
|
42
|
+
data: unknown;
|
|
43
|
+
}, lane?: Omit<Lane, 'destChainSelector'>): CommitReport[] | undefined;
|
|
44
|
+
static decodeReceipt(log: {
|
|
45
|
+
topics?: readonly string[];
|
|
46
|
+
data: unknown;
|
|
47
|
+
}): ExecutionReceipt | undefined;
|
|
48
|
+
static decodeExtraArgs(extraArgs: BytesLike): (EVMExtraArgsV1 & {
|
|
49
|
+
_tag: 'EVMExtraArgsV1';
|
|
50
|
+
}) | (EVMExtraArgsV2 & {
|
|
51
|
+
_tag: 'EVMExtraArgsV2';
|
|
52
|
+
}) | (SVMExtraArgsV1 & {
|
|
53
|
+
_tag: 'SVMExtraArgsV1';
|
|
54
|
+
}) | (SuiExtraArgsV1 & {
|
|
55
|
+
_tag: 'SuiExtraArgsV1';
|
|
56
|
+
}) | undefined;
|
|
57
|
+
static encodeExtraArgs(args: ExtraArgs): string;
|
|
58
|
+
static getAddress(bytes: BytesLike): string;
|
|
59
|
+
typeAndVersion(address: string): Promise<[type_: string, version: string, typeAndVersion: string] | [type_: string, version: string, typeAndVersion: string, suffix: string]>;
|
|
60
|
+
getLaneForOnRamp(onRamp: string): Promise<Lane>;
|
|
61
|
+
getRouterForOnRamp(onRamp: string, destChainSelector: bigint): Promise<string>;
|
|
62
|
+
getRouterForOffRamp(offRamp: string, sourceChainSelector: bigint): Promise<string>;
|
|
63
|
+
getNativeTokenForRouter(router: string): Promise<string>;
|
|
64
|
+
getOffRampsForRouter(router: string, sourceChainSelector: bigint): Promise<string[]>;
|
|
65
|
+
getOnRampForRouter(router: string, destChainSelector: bigint): Promise<string>;
|
|
66
|
+
getOnRampForOffRamp(offRamp: string, sourceChainSelector: bigint): Promise<string>;
|
|
67
|
+
getCommitStoreForOffRamp(offRamp: string): Promise<string>;
|
|
68
|
+
getTokenForTokenPool(tokenPool: string): Promise<string>;
|
|
69
|
+
getTokenInfo(token: string): Promise<{
|
|
70
|
+
decimals: number;
|
|
71
|
+
symbol: string;
|
|
72
|
+
name: string;
|
|
73
|
+
}>;
|
|
74
|
+
static getDestLeafHasher({ sourceChainSelector, destChainSelector, onRamp, version, }: Lane): LeafHasher;
|
|
75
|
+
_getSomeOnRampFor(router: string): Promise<string>;
|
|
76
|
+
getTokenAdminRegistryFor(address: string): Promise<string>;
|
|
77
|
+
getFeeQuoterFor(address: string): Promise<string>;
|
|
78
|
+
getFee(router_: string, destChainSelector: bigint, message: AnyMessage): Promise<bigint>;
|
|
79
|
+
sendMessage(router_: string, destChainSelector: bigint, message: AnyMessage & {
|
|
80
|
+
fee: bigint;
|
|
81
|
+
}, opts?: {
|
|
82
|
+
wallet?: unknown;
|
|
83
|
+
approveMax?: boolean;
|
|
84
|
+
}): Promise<ChainTransaction>;
|
|
85
|
+
fetchOffchainTokenData(request: CCIPRequest): Promise<OffchainTokenData[]>;
|
|
86
|
+
executeReport(offRamp: string, execReport: ExecutionReport, opts?: {
|
|
87
|
+
wallet?: string;
|
|
88
|
+
gasLimit?: number;
|
|
89
|
+
tokensGasLimit?: number;
|
|
90
|
+
}): Promise<ChainTransaction>;
|
|
91
|
+
static parse(data: unknown): Record<string, unknown> | undefined;
|
|
92
|
+
/**
|
|
93
|
+
* Get the supported tokens for a given contract address
|
|
94
|
+
*
|
|
95
|
+
* @param address Router, OnRamp, OffRamp or TokenAdminRegistry contract
|
|
96
|
+
* @returns An array of supported token addresses.
|
|
97
|
+
*/
|
|
98
|
+
getSupportedTokens(registry: string, opts?: {
|
|
99
|
+
page?: number;
|
|
100
|
+
}): Promise<string[]>;
|
|
101
|
+
getRegistryTokenConfig(registry: string, token: string): Promise<{
|
|
102
|
+
administrator: string;
|
|
103
|
+
pendingAdministrator?: string;
|
|
104
|
+
tokenPool?: string;
|
|
105
|
+
}>;
|
|
106
|
+
getTokenPoolConfigs(tokenPool: string): Promise<{
|
|
107
|
+
token: string;
|
|
108
|
+
router: string;
|
|
109
|
+
typeAndVersion: string;
|
|
110
|
+
}>;
|
|
111
|
+
getTokenPoolRemotes(tokenPool: string, remoteChainSelector?: bigint): Promise<Record<string, TokenPoolRemote>>;
|
|
112
|
+
listFeeTokens(router: string): Promise<{
|
|
113
|
+
[k: string]: {
|
|
114
|
+
decimals: number;
|
|
115
|
+
symbol: string;
|
|
116
|
+
name: string;
|
|
117
|
+
};
|
|
118
|
+
}>;
|
|
119
|
+
}
|
|
120
|
+
export {};
|
|
121
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/evm/index.ts"],"names":[],"mappings":"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"}
|