@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,48 @@
|
|
|
1
|
+
import { type Chain, type ChainTransaction, type LogFilter } from './chain.ts';
|
|
2
|
+
import type { CCIPMessage, CCIPRequest } from './types.ts';
|
|
3
|
+
/**
|
|
4
|
+
* Decodes hex strings, bytearrays, JSON strings and raw objects as CCIPMessages
|
|
5
|
+
* Does minimal validation, but converts objects in the format expected by ccip-tools-ts
|
|
6
|
+
**/
|
|
7
|
+
export declare function decodeMessage(data: string | Uint8Array | Record<string, unknown>): CCIPMessage;
|
|
8
|
+
/**
|
|
9
|
+
* Fetch all CCIP messages in a transaction
|
|
10
|
+
* @param tx - TransactionReceipt to search in
|
|
11
|
+
* @returns CCIP messages in the transaction (at least one)
|
|
12
|
+
**/
|
|
13
|
+
export declare function fetchCCIPRequestsInTx(tx: ChainTransaction): Promise<CCIPRequest[]>;
|
|
14
|
+
/**
|
|
15
|
+
* Fetch a CCIP message by its messageId
|
|
16
|
+
* Can be slow due to having to paginate backwards through logs
|
|
17
|
+
*
|
|
18
|
+
* @param source - Provider to fetch logs from
|
|
19
|
+
* @param messageId - messageId to search for
|
|
20
|
+
* @param hints - Optional hints for pagination
|
|
21
|
+
* @returns CCIPRequest with given messageId
|
|
22
|
+
**/
|
|
23
|
+
export declare function fetchCCIPMessageById(source: Chain, messageId: string, hints?: {
|
|
24
|
+
page?: number;
|
|
25
|
+
onRamp?: string;
|
|
26
|
+
}): Promise<CCIPRequest>;
|
|
27
|
+
export declare function fetchAllMessagesInBatch<R extends Omit<CCIPRequest, 'tx' | 'timestamp'>>(source: Chain, request: R, { minSeqNr, maxSeqNr }: {
|
|
28
|
+
minSeqNr: bigint;
|
|
29
|
+
maxSeqNr: bigint;
|
|
30
|
+
}, { page: eventsBatchSize }?: {
|
|
31
|
+
page?: number;
|
|
32
|
+
}): Promise<R['message'][]>;
|
|
33
|
+
export declare function fetchRequestsForSender(source: Chain, sender: string, filter: Pick<LogFilter, 'address' | 'startBlock' | 'startTime' | 'endBlock'>): AsyncGenerator<Omit<CCIPRequest, 'tx' | 'timestamp'>, void, unknown>;
|
|
34
|
+
/**
|
|
35
|
+
* Map source `token` to `sourcePoolAddress + destTokenAddress`
|
|
36
|
+
* @param source - source chain
|
|
37
|
+
* @param destChainSelector - dest network
|
|
38
|
+
* @param onRamp - contract address
|
|
39
|
+
* @param sourceTokenAmounts - usually `{ token, amount }`
|
|
40
|
+
* @returns - { sourcePoolAddress, destTokenAddress, ...rest } objects
|
|
41
|
+
*/
|
|
42
|
+
export declare function sourceToDestTokenAmounts<S extends {
|
|
43
|
+
token: string;
|
|
44
|
+
}>(source: Chain, destChainSelector: bigint, onRamp: string, sourceTokenAmounts: readonly S[]): Promise<(Omit<S, 'token'> & {
|
|
45
|
+
sourcePoolAddress: string;
|
|
46
|
+
destTokenAddress: string;
|
|
47
|
+
})[]>;
|
|
48
|
+
//# sourceMappingURL=requests.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requests.d.ts","sourceRoot":"","sources":["../src/requests.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,KAAK,EAEV,KAAK,gBAAgB,EACrB,KAAK,SAAS,EAEf,MAAM,YAAY,CAAA;AAInB,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAqB,MAAM,YAAY,CAAA;AAwE7E;;;IAGI;AACJ,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,CAoB9F;AAED;;;;IAII;AACJ,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CA8BxF;AAED;;;;;;;;IAQI;AACJ,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,KAAK,EACb,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACzC,OAAO,CAAC,WAAW,CAAC,CAgCtB;AAMD,wBAAsB,uBAAuB,CAAC,CAAC,SAAS,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,WAAW,CAAC,EAC3F,MAAM,EAAE,KAAK,EACb,OAAO,EAAE,CAAC,EACV,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAC9D,EAAE,IAAI,EAAE,eAAuC,EAAE,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GACxE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAgEzB;AAED,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
ADDED
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
import util from 'util';
|
|
2
|
+
import { isBytesLike, toBigInt } from 'ethers';
|
|
3
|
+
import yaml from 'yaml';
|
|
4
|
+
import { ChainFamily, } from "./chain.js";
|
|
5
|
+
import { decodeExtraArgs } from "./extra-args.js";
|
|
6
|
+
import { supportedChains } from "./supported-chains.js";
|
|
7
|
+
import { convertKeysToCamelCase, decodeAddress, leToBigInt, networkInfo } from "./utils.js";
|
|
8
|
+
function decodeJsonMessage(data) {
|
|
9
|
+
if (!data || typeof data != 'object')
|
|
10
|
+
throw new Error(`invalid msg: ${util.inspect(data)}`);
|
|
11
|
+
if (data.message)
|
|
12
|
+
data = data.message;
|
|
13
|
+
let data_ = data;
|
|
14
|
+
const sourceChainSelector = data_.header?.sourceChainSelector ??
|
|
15
|
+
data_.header?.source_chain_selector ??
|
|
16
|
+
data_.sourceChainSelector;
|
|
17
|
+
if (!sourceChainSelector)
|
|
18
|
+
throw new Error(`invalid msg: ${util.inspect(data)}`);
|
|
19
|
+
const sourceNetwork = networkInfo(sourceChainSelector);
|
|
20
|
+
if (!data_.header) {
|
|
21
|
+
const header = {
|
|
22
|
+
sourceChainSelector: data_.sourceChainSelector,
|
|
23
|
+
messageId: data_.messageId,
|
|
24
|
+
nonce: data_.nonce,
|
|
25
|
+
sequenceNumber: data_.sequenceNumber,
|
|
26
|
+
};
|
|
27
|
+
data_.header = header;
|
|
28
|
+
}
|
|
29
|
+
const destChainSelector = data_.header.dest_chain_selector ?? data_.header.destChainSelector;
|
|
30
|
+
if (destChainSelector) {
|
|
31
|
+
const destFamily = networkInfo(destChainSelector).family;
|
|
32
|
+
data_ = convertKeysToCamelCase(data_, (v, k) => typeof v === 'string' && v.match(/^\d+$/)
|
|
33
|
+
? BigInt(v)
|
|
34
|
+
: k === 'receiver' || k === 'destTokenAddress'
|
|
35
|
+
? decodeAddress(v, destFamily)
|
|
36
|
+
: v);
|
|
37
|
+
}
|
|
38
|
+
for (const ta of data_.tokenAmounts) {
|
|
39
|
+
if (ta.destGasAmount != null || ta.destExecData == null)
|
|
40
|
+
continue;
|
|
41
|
+
switch (sourceNetwork.family) {
|
|
42
|
+
// EVM & Solana encode destExecData as big-endian
|
|
43
|
+
case ChainFamily.EVM:
|
|
44
|
+
case ChainFamily.Solana:
|
|
45
|
+
ta.destGasAmount = toBigInt(ta.destExecData);
|
|
46
|
+
break;
|
|
47
|
+
// Aptos & Sui, as little-endian
|
|
48
|
+
default:
|
|
49
|
+
ta.destGasAmount = leToBigInt(ta.destExecData);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
if (data_.extraArgs) {
|
|
53
|
+
const extraArgs = decodeExtraArgs(data_.extraArgs ?? '', sourceNetwork.family);
|
|
54
|
+
if (extraArgs) {
|
|
55
|
+
const { _tag, ...rest } = extraArgs;
|
|
56
|
+
Object.assign(data_, rest);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return data_;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Decodes hex strings, bytearrays, JSON strings and raw objects as CCIPMessages
|
|
63
|
+
* Does minimal validation, but converts objects in the format expected by ccip-tools-ts
|
|
64
|
+
**/
|
|
65
|
+
export function decodeMessage(data) {
|
|
66
|
+
if ((typeof data === 'string' && data.startsWith('{')) ||
|
|
67
|
+
(typeof data === 'object' && data !== null && !isBytesLike(data))) {
|
|
68
|
+
if (typeof data === 'string')
|
|
69
|
+
data = yaml.parse(data, { intAsBigInt: true });
|
|
70
|
+
return decodeJsonMessage(data);
|
|
71
|
+
}
|
|
72
|
+
// try bytearray decoding on each supported chain
|
|
73
|
+
for (const chain of Object.values(supportedChains)) {
|
|
74
|
+
try {
|
|
75
|
+
const decoded = chain.decodeMessage({ data });
|
|
76
|
+
if (decoded)
|
|
77
|
+
return decoded;
|
|
78
|
+
}
|
|
79
|
+
catch (_) {
|
|
80
|
+
// continue
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
throw new Error('Failed to decode message');
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Fetch all CCIP messages in a transaction
|
|
87
|
+
* @param tx - TransactionReceipt to search in
|
|
88
|
+
* @returns CCIP messages in the transaction (at least one)
|
|
89
|
+
**/
|
|
90
|
+
export async function fetchCCIPRequestsInTx(tx) {
|
|
91
|
+
const source = tx.chain;
|
|
92
|
+
const txHash = tx.hash;
|
|
93
|
+
const timestamp = tx.timestamp;
|
|
94
|
+
const requests = [];
|
|
95
|
+
for (const log of tx.logs) {
|
|
96
|
+
let lane;
|
|
97
|
+
const message = source.constructor.decodeMessage(log);
|
|
98
|
+
if (!message)
|
|
99
|
+
continue;
|
|
100
|
+
if ('destChainSelector' in message.header) {
|
|
101
|
+
const [_, version] = await source.typeAndVersion(log.address);
|
|
102
|
+
lane = {
|
|
103
|
+
sourceChainSelector: message.header.sourceChainSelector,
|
|
104
|
+
destChainSelector: message.header.destChainSelector,
|
|
105
|
+
onRamp: log.address,
|
|
106
|
+
version: version,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
else if (source.network.family !== ChainFamily.EVM) {
|
|
110
|
+
throw new Error(`Unsupported network family: ${source.network.family}`);
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
lane = await source.getLaneForOnRamp(log.address);
|
|
114
|
+
}
|
|
115
|
+
requests.push({ lane, message, log, tx, timestamp });
|
|
116
|
+
}
|
|
117
|
+
if (!requests.length) {
|
|
118
|
+
throw new Error(`Could not find any CCIPSendRequested message in tx: ${txHash}`);
|
|
119
|
+
}
|
|
120
|
+
return requests;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Fetch a CCIP message by its messageId
|
|
124
|
+
* Can be slow due to having to paginate backwards through logs
|
|
125
|
+
*
|
|
126
|
+
* @param source - Provider to fetch logs from
|
|
127
|
+
* @param messageId - messageId to search for
|
|
128
|
+
* @param hints - Optional hints for pagination
|
|
129
|
+
* @returns CCIPRequest with given messageId
|
|
130
|
+
**/
|
|
131
|
+
export async function fetchCCIPMessageById(source, messageId, hints) {
|
|
132
|
+
for await (const log of source.getLogs({
|
|
133
|
+
...hints,
|
|
134
|
+
...(hints?.onRamp ? { address: hints.onRamp } : {}),
|
|
135
|
+
topics: ['CCIPSendRequested', 'CCIPMessageSent'],
|
|
136
|
+
})) {
|
|
137
|
+
const message = source.constructor.decodeMessage(log);
|
|
138
|
+
if (message?.header.messageId !== messageId)
|
|
139
|
+
continue;
|
|
140
|
+
let destChainSelector, version;
|
|
141
|
+
if ('destChainSelector' in message.header) {
|
|
142
|
+
destChainSelector = message.header.destChainSelector;
|
|
143
|
+
[, version] = await source.typeAndVersion(log.address);
|
|
144
|
+
}
|
|
145
|
+
else if (source.network.family !== ChainFamily.EVM) {
|
|
146
|
+
throw new Error(`Unsupported network family: ${source.network.family}`);
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
;
|
|
150
|
+
({ destChainSelector, version } = await source.getLaneForOnRamp(log.address));
|
|
151
|
+
}
|
|
152
|
+
const tx = await source.getTransaction(log.transactionHash);
|
|
153
|
+
return {
|
|
154
|
+
lane: {
|
|
155
|
+
sourceChainSelector: source.network.chainSelector,
|
|
156
|
+
destChainSelector,
|
|
157
|
+
onRamp: log.address,
|
|
158
|
+
version: version,
|
|
159
|
+
},
|
|
160
|
+
message,
|
|
161
|
+
log,
|
|
162
|
+
tx,
|
|
163
|
+
timestamp: tx.timestamp,
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
throw new Error('Could not find a CCIPSendRequested message with messageId: ' + messageId);
|
|
167
|
+
}
|
|
168
|
+
// Number of blocks to expand the search window for logs
|
|
169
|
+
const BLOCK_LOG_WINDOW_SIZE = 5000;
|
|
170
|
+
// Helper function to find the sequence number from CCIPSendRequested event logs
|
|
171
|
+
export async function fetchAllMessagesInBatch(source, request, { minSeqNr, maxSeqNr }, { page: eventsBatchSize = BLOCK_LOG_WINDOW_SIZE } = {}) {
|
|
172
|
+
if (minSeqNr === maxSeqNr)
|
|
173
|
+
return [request.message];
|
|
174
|
+
const filter = {
|
|
175
|
+
page: eventsBatchSize,
|
|
176
|
+
topics: [request.log.topics[0]],
|
|
177
|
+
address: request.log.address,
|
|
178
|
+
};
|
|
179
|
+
if (request.message.header.sequenceNumber === maxSeqNr)
|
|
180
|
+
filter.endBlock = request.log.blockNumber;
|
|
181
|
+
else
|
|
182
|
+
// start proportionally before send request block, including case when seqNum==min => startBlock
|
|
183
|
+
filter.startBlock =
|
|
184
|
+
request.log.blockNumber -
|
|
185
|
+
Math.ceil((Number(request.message.header.sequenceNumber - minSeqNr) / Number(maxSeqNr - minSeqNr)) *
|
|
186
|
+
eventsBatchSize);
|
|
187
|
+
const messages = [];
|
|
188
|
+
if (filter.startBlock) {
|
|
189
|
+
// forward
|
|
190
|
+
let backwardsBefore, backwardsEndBlock;
|
|
191
|
+
for await (const log of source.getLogs(filter)) {
|
|
192
|
+
backwardsBefore ??= log.transactionHash;
|
|
193
|
+
backwardsEndBlock ??= log.blockNumber - 1;
|
|
194
|
+
const message = source.constructor.decodeMessage(log);
|
|
195
|
+
if (!message ||
|
|
196
|
+
('destChainSelector' in message.header &&
|
|
197
|
+
message.header.destChainSelector !== request.lane.destChainSelector))
|
|
198
|
+
continue;
|
|
199
|
+
if (message.header.sequenceNumber < minSeqNr)
|
|
200
|
+
continue;
|
|
201
|
+
messages.push(message);
|
|
202
|
+
if (message.header.sequenceNumber >= maxSeqNr)
|
|
203
|
+
break;
|
|
204
|
+
}
|
|
205
|
+
if (messages.length && messages[0].header.sequenceNumber > minSeqNr) {
|
|
206
|
+
// still work to be done backwards
|
|
207
|
+
delete filter['startBlock'];
|
|
208
|
+
filter['endBlock'] = backwardsEndBlock;
|
|
209
|
+
filter['endBefore'] = backwardsBefore;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
if (filter.endBlock) {
|
|
213
|
+
// backwards
|
|
214
|
+
for await (const log of source.getLogs(filter)) {
|
|
215
|
+
const message = source.constructor.decodeMessage(log);
|
|
216
|
+
if (!message ||
|
|
217
|
+
('destChainSelector' in message.header &&
|
|
218
|
+
message.header.destChainSelector !== request.lane.destChainSelector))
|
|
219
|
+
continue;
|
|
220
|
+
messages.unshift(message);
|
|
221
|
+
if (message.header.sequenceNumber <= minSeqNr)
|
|
222
|
+
break;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
if (messages.length != Number(maxSeqNr - minSeqNr) + 1) {
|
|
226
|
+
throw new Error(`Could not find all expected request events: from=${request.log.blockNumber}, wanted=[${Number(minSeqNr)}..${Number(maxSeqNr)}:${Number(maxSeqNr - minSeqNr) + 1}], got=[${messages.map((e) => Number(e.header.sequenceNumber)).join(',')}]`);
|
|
227
|
+
}
|
|
228
|
+
return messages;
|
|
229
|
+
}
|
|
230
|
+
export async function* fetchRequestsForSender(source, sender, filter) {
|
|
231
|
+
const filterWithSender = {
|
|
232
|
+
...filter,
|
|
233
|
+
sender, // some chain families may use this to look for account lookup/narrow down the search
|
|
234
|
+
topics: ['CCIPSendRequested', 'CCIPMessageSent'],
|
|
235
|
+
};
|
|
236
|
+
for await (const log of source.getLogs(filterWithSender)) {
|
|
237
|
+
const message = source.constructor.decodeMessage(log);
|
|
238
|
+
if (message?.sender !== sender)
|
|
239
|
+
continue;
|
|
240
|
+
let destChainSelector, version;
|
|
241
|
+
if ('destChainSelector' in message.header) {
|
|
242
|
+
destChainSelector = message.header.destChainSelector;
|
|
243
|
+
[, version] = await source.typeAndVersion(log.address);
|
|
244
|
+
}
|
|
245
|
+
else if (source.network.family === ChainFamily.EVM) {
|
|
246
|
+
;
|
|
247
|
+
({ destChainSelector, version } = await source.getLaneForOnRamp(log.address));
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
throw new Error(`Unsupported network family: ${source.network.family}`);
|
|
251
|
+
}
|
|
252
|
+
yield {
|
|
253
|
+
lane: {
|
|
254
|
+
sourceChainSelector: source.network.chainSelector,
|
|
255
|
+
destChainSelector,
|
|
256
|
+
onRamp: log.address,
|
|
257
|
+
version: version,
|
|
258
|
+
},
|
|
259
|
+
message,
|
|
260
|
+
log,
|
|
261
|
+
};
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Map source `token` to `sourcePoolAddress + destTokenAddress`
|
|
266
|
+
* @param source - source chain
|
|
267
|
+
* @param destChainSelector - dest network
|
|
268
|
+
* @param onRamp - contract address
|
|
269
|
+
* @param sourceTokenAmounts - usually `{ token, amount }`
|
|
270
|
+
* @returns - { sourcePoolAddress, destTokenAddress, ...rest } objects
|
|
271
|
+
*/
|
|
272
|
+
export async function sourceToDestTokenAmounts(source, destChainSelector, onRamp, sourceTokenAmounts) {
|
|
273
|
+
const tokenAdminRegistry = await source.getTokenAdminRegistryFor(onRamp);
|
|
274
|
+
return Promise.all(sourceTokenAmounts.map(async ({ token, ...rest }) => {
|
|
275
|
+
const { tokenPool: sourcePoolAddress } = await source.getRegistryTokenConfig(tokenAdminRegistry, token);
|
|
276
|
+
if (!sourcePoolAddress)
|
|
277
|
+
throw new Error(`Token=${token} not found in registry=${tokenAdminRegistry}`);
|
|
278
|
+
const remotes = await source.getTokenPoolRemotes(sourcePoolAddress, destChainSelector);
|
|
279
|
+
return {
|
|
280
|
+
...rest,
|
|
281
|
+
sourcePoolAddress,
|
|
282
|
+
destTokenAddress: remotes[networkInfo(destChainSelector).name].remoteToken,
|
|
283
|
+
};
|
|
284
|
+
}));
|
|
285
|
+
}
|
|
286
|
+
//# sourceMappingURL=requests.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requests.js","sourceRoot":"","sources":["../src/requests.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ChainFamily } from './chain.ts';
|
|
2
|
+
type Selectors = Record<string, {
|
|
3
|
+
readonly selector: bigint;
|
|
4
|
+
readonly name?: string;
|
|
5
|
+
family: ChainFamily;
|
|
6
|
+
}>;
|
|
7
|
+
declare const selectors: Selectors;
|
|
8
|
+
export default selectors;
|
|
9
|
+
//# sourceMappingURL=selectors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C,KAAK,SAAS,GAAG,MAAM,CACrB,MAAM,EACN;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE,CAC3E,CAAA;AAED,QAAA,MAAM,SAAS,EAAE,SAkzChB,CAAA;AAED,eAAe,SAAS,CAAA"}
|