@chainlink/ccip-sdk 0.90.1 → 0.91.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -26
- package/dist/aptos/exec.d.ts +4 -5
- package/dist/aptos/exec.d.ts.map +1 -1
- package/dist/aptos/exec.js +5 -14
- package/dist/aptos/exec.js.map +1 -1
- package/dist/aptos/hasher.d.ts +18 -0
- package/dist/aptos/hasher.d.ts.map +1 -1
- package/dist/aptos/hasher.js +18 -0
- package/dist/aptos/hasher.js.map +1 -1
- package/dist/aptos/index.d.ts +127 -28
- package/dist/aptos/index.d.ts.map +1 -1
- package/dist/aptos/index.js +199 -70
- package/dist/aptos/index.js.map +1 -1
- package/dist/aptos/logs.d.ts +18 -0
- package/dist/aptos/logs.d.ts.map +1 -1
- package/dist/aptos/logs.js +21 -3
- package/dist/aptos/logs.js.map +1 -1
- package/dist/aptos/send.d.ts +22 -5
- package/dist/aptos/send.d.ts.map +1 -1
- package/dist/aptos/send.js +23 -15
- package/dist/aptos/send.js.map +1 -1
- package/dist/aptos/token.d.ts +6 -0
- package/dist/aptos/token.d.ts.map +1 -1
- package/dist/aptos/token.js +6 -0
- package/dist/aptos/token.js.map +1 -1
- package/dist/aptos/types.d.ts +16 -1
- package/dist/aptos/types.d.ts.map +1 -1
- package/dist/aptos/types.js +13 -0
- package/dist/aptos/types.js.map +1 -1
- package/dist/aptos/utils.d.ts +1 -1
- package/dist/aptos/utils.js +1 -1
- package/dist/chain.d.ts +185 -99
- package/dist/chain.d.ts.map +1 -1
- package/dist/chain.js +38 -15
- package/dist/chain.js.map +1 -1
- package/dist/commits.d.ts +4 -10
- package/dist/commits.d.ts.map +1 -1
- package/dist/commits.js +2 -1
- package/dist/commits.js.map +1 -1
- package/dist/evm/const.d.ts +5 -0
- package/dist/evm/const.d.ts.map +1 -1
- package/dist/evm/const.js +5 -0
- package/dist/evm/const.js.map +1 -1
- package/dist/evm/errors.d.ts +5 -0
- package/dist/evm/errors.d.ts.map +1 -1
- package/dist/evm/errors.js +6 -1
- package/dist/evm/errors.js.map +1 -1
- package/dist/evm/hasher.d.ts +16 -2
- package/dist/evm/hasher.d.ts.map +1 -1
- package/dist/evm/hasher.js +17 -3
- package/dist/evm/hasher.js.map +1 -1
- package/dist/evm/index.d.ts +176 -31
- package/dist/evm/index.d.ts.map +1 -1
- package/dist/evm/index.js +312 -154
- package/dist/evm/index.js.map +1 -1
- package/dist/evm/logs.d.ts +20 -0
- package/dist/evm/logs.d.ts.map +1 -0
- package/dist/evm/logs.js +194 -0
- package/dist/evm/logs.js.map +1 -0
- package/dist/evm/messages.d.ts +11 -2
- package/dist/evm/messages.d.ts.map +1 -1
- package/dist/evm/messages.js +4 -2
- package/dist/evm/messages.js.map +1 -1
- package/dist/evm/offchain.d.ts +7 -2
- package/dist/evm/offchain.d.ts.map +1 -1
- package/dist/evm/offchain.js +12 -7
- package/dist/evm/offchain.js.map +1 -1
- package/dist/execution.d.ts +19 -62
- package/dist/execution.d.ts.map +1 -1
- package/dist/execution.js +28 -31
- package/dist/execution.js.map +1 -1
- package/dist/extra-args.d.ts +35 -5
- package/dist/extra-args.d.ts.map +1 -1
- package/dist/extra-args.js +10 -5
- package/dist/extra-args.js.map +1 -1
- package/dist/gas.d.ts +6 -8
- package/dist/gas.d.ts.map +1 -1
- package/dist/gas.js +7 -9
- package/dist/gas.js.map +1 -1
- package/dist/hasher/common.d.ts +3 -2
- package/dist/hasher/common.d.ts.map +1 -1
- package/dist/hasher/common.js +2 -2
- package/dist/hasher/common.js.map +1 -1
- package/dist/hasher/hasher.d.ts +8 -2
- package/dist/hasher/hasher.d.ts.map +1 -1
- package/dist/hasher/hasher.js +8 -3
- package/dist/hasher/hasher.js.map +1 -1
- package/dist/hasher/merklemulti.d.ts +11 -9
- package/dist/hasher/merklemulti.d.ts.map +1 -1
- package/dist/hasher/merklemulti.js +17 -16
- package/dist/hasher/merklemulti.js.map +1 -1
- package/dist/index.d.ts +16 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -7
- package/dist/index.js.map +1 -1
- package/dist/requests.d.ts +39 -25
- package/dist/requests.d.ts.map +1 -1
- package/dist/requests.js +42 -35
- package/dist/requests.js.map +1 -1
- package/dist/selectors.d.ts +1 -1
- package/dist/solana/cleanup.d.ts +14 -10
- package/dist/solana/cleanup.d.ts.map +1 -1
- package/dist/solana/cleanup.js +35 -33
- package/dist/solana/cleanup.js.map +1 -1
- package/dist/solana/exec.d.ts +19 -11
- package/dist/solana/exec.d.ts.map +1 -1
- package/dist/solana/exec.js +86 -163
- package/dist/solana/exec.js.map +1 -1
- package/dist/solana/hasher.d.ts +7 -2
- package/dist/solana/hasher.d.ts.map +1 -1
- package/dist/solana/hasher.js +7 -2
- package/dist/solana/hasher.js.map +1 -1
- package/dist/solana/index.d.ts +202 -84
- package/dist/solana/index.d.ts.map +1 -1
- package/dist/solana/index.js +367 -252
- package/dist/solana/index.js.map +1 -1
- package/dist/solana/offchain.d.ts +8 -18
- package/dist/solana/offchain.d.ts.map +1 -1
- package/dist/solana/offchain.js +29 -83
- package/dist/solana/offchain.js.map +1 -1
- package/dist/solana/patchBorsh.d.ts +5 -1
- package/dist/solana/patchBorsh.d.ts.map +1 -1
- package/dist/solana/patchBorsh.js +57 -46
- package/dist/solana/patchBorsh.js.map +1 -1
- package/dist/solana/send.d.ts +28 -10
- package/dist/solana/send.d.ts.map +1 -1
- package/dist/solana/send.js +44 -77
- package/dist/solana/send.js.map +1 -1
- package/dist/solana/types.d.ts +22 -1
- package/dist/solana/types.d.ts.map +1 -1
- package/dist/solana/types.js +12 -1
- package/dist/solana/types.js.map +1 -1
- package/dist/solana/utils.d.ts +58 -4
- package/dist/solana/utils.d.ts.map +1 -1
- package/dist/solana/utils.js +110 -7
- package/dist/solana/utils.js.map +1 -1
- package/dist/sui/hasher.d.ts +18 -0
- package/dist/sui/hasher.d.ts.map +1 -1
- package/dist/sui/hasher.js +18 -0
- package/dist/sui/hasher.js.map +1 -1
- package/dist/sui/index.d.ts +99 -12
- package/dist/sui/index.d.ts.map +1 -1
- package/dist/sui/index.js +108 -19
- package/dist/sui/index.js.map +1 -1
- package/dist/sui/types.d.ts +6 -0
- package/dist/sui/types.d.ts.map +1 -1
- package/dist/sui/types.js +5 -0
- package/dist/sui/types.js.map +1 -1
- package/dist/supported-chains.d.ts +2 -1
- package/dist/supported-chains.d.ts.map +1 -1
- package/dist/supported-chains.js.map +1 -1
- package/dist/types.d.ts +127 -16
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +18 -0
- package/dist/types.js.map +1 -1
- package/dist/utils.d.ts +67 -46
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +143 -21
- package/dist/utils.js.map +1 -1
- package/package.json +13 -9
- package/src/aptos/exec.ts +7 -18
- package/src/aptos/hasher.ts +18 -0
- package/src/aptos/index.ts +288 -110
- package/src/aptos/logs.ts +21 -3
- package/src/aptos/send.ts +25 -22
- package/src/aptos/token.ts +6 -0
- package/src/aptos/types.ts +26 -2
- package/src/aptos/utils.ts +1 -1
- package/src/chain.ts +243 -108
- package/src/commits.ts +6 -7
- package/src/evm/const.ts +5 -0
- package/src/evm/errors.ts +6 -1
- package/src/evm/hasher.ts +20 -4
- package/src/evm/index.ts +416 -214
- package/src/evm/logs.ts +255 -0
- package/src/evm/messages.ts +11 -5
- package/src/evm/offchain.ts +13 -4
- package/src/execution.ts +40 -32
- package/src/extra-args.ts +38 -6
- package/src/gas.ts +7 -9
- package/src/hasher/common.ts +3 -2
- package/src/hasher/hasher.ts +12 -4
- package/src/hasher/merklemulti.ts +17 -16
- package/src/index.ts +29 -23
- package/src/requests.ts +64 -46
- package/src/selectors.ts +1 -1
- package/src/solana/cleanup.ts +49 -34
- package/src/solana/exec.ts +128 -272
- package/src/solana/hasher.ts +13 -4
- package/src/solana/index.ts +483 -356
- package/src/solana/offchain.ts +32 -102
- package/src/solana/patchBorsh.ts +65 -50
- package/src/solana/send.ts +52 -111
- package/src/solana/types.ts +44 -3
- package/src/solana/utils.ts +143 -19
- package/src/sui/hasher.ts +18 -0
- package/src/sui/index.ts +143 -31
- package/src/sui/types.ts +6 -0
- package/src/supported-chains.ts +2 -1
- package/src/types.ts +130 -18
- package/src/utils.ts +168 -26
- package/tsconfig.json +2 -1
package/README.md
CHANGED
|
@@ -55,55 +55,64 @@ constructor from the specific library provider (e.g. `EVMChain.fromProvider(prov
|
|
|
55
55
|
|
|
56
56
|
## Wallet
|
|
57
57
|
|
|
58
|
-
|
|
59
|
-
wallet
|
|
60
|
-
|
|
58
|
+
Transaction-sending high-level methods, namely `Chain.sendMessage` and `Chain.executeReport`,
|
|
59
|
+
require a `wallet` property in last `opts` parameter. This is marked as `unknown` in generic Chain
|
|
60
|
+
abstract class, but required to be an asynchronous signer wallet respective to each chain family:
|
|
61
61
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
requiring a full class inheritance.
|
|
62
|
+
- `EVMChain` requires an `ethers` `Signer`
|
|
63
|
+
- `SolanaChain` requires an `anchor` `Wallet`
|
|
64
|
+
- `AptosChain` requires an `aptos-ts-sdk` `Account`
|
|
66
65
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
66
|
+
These signers are used in the simplest way possible (i.e. using address accessors where needed,
|
|
67
|
+
and `async signTransaction`-like methods), so developers may be able to easily inject their own
|
|
68
|
+
implementations, to get called or intercept signature requests by these methods.
|
|
70
69
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
70
|
+
Optionally, `sendMessage` and `executeReport` also have companion `generateUnsignedSendMessage` and
|
|
71
|
+
`generateUnsignedExecuteReport` methods, returning chain-family-specific unsigned data, which one
|
|
72
|
+
can use to sign and send the transactions manually.
|
|
73
|
+
|
|
74
|
+
Notice that these are lower-level methods, and require the developer to handle the signing and
|
|
75
|
+
sending of the transactions themselves, skipping niceties from the higher-level methods, like
|
|
76
|
+
retries, gas estimation and transactions batching.
|
|
75
77
|
|
|
76
78
|
> [!TIP]
|
|
77
|
-
> For EVMChain on Browsers,
|
|
79
|
+
> For EVMChain on Browsers, one can use `chain.provider.getSigner(numberOrAddress)` to fetch a
|
|
80
|
+
provider-backed signer from compatible wallets, like Metamask.
|
|
81
|
+
|
|
82
|
+
## Tree-shakers
|
|
83
|
+
|
|
84
|
+
If you're using a tree-shaking bundler, make sure to `import { allSupportedChains } from '@chainlink/ccip-sdk'`,
|
|
85
|
+
or only the chains you want to support, e.g. `import { EVMChain, SolanaChain } from '@chainlink/ccip-sdk'`.
|
|
86
|
+
This should ensure those chain family implementations are registered and used by utility functions.
|
|
78
87
|
|
|
79
88
|
## Recipes
|
|
80
89
|
|
|
81
|
-
### Fetching details of a
|
|
90
|
+
### Fetching details of a CCIP message
|
|
82
91
|
```ts
|
|
83
|
-
import { AptosChain
|
|
92
|
+
import { AptosChain } from '@chainlink/ccip-sdk'
|
|
84
93
|
const source = await AptosChain.fromUrl('mainnet')
|
|
85
|
-
const
|
|
86
|
-
|
|
87
|
-
console.log(messages[0])
|
|
94
|
+
const requests = await source.fetchRequestsInTx('0xTransactionHash')
|
|
95
|
+
console.log(requests[0])
|
|
88
96
|
```
|
|
89
97
|
|
|
90
98
|
### Sending a message
|
|
91
99
|
```ts
|
|
92
|
-
import {
|
|
100
|
+
import { type AnyMessage, SolanaChain, networkInfo } from '@chainlink/ccip-sdk'
|
|
93
101
|
const source = await SolanaChain.fromUrl('https://api.mainnet-beta.solana.com')
|
|
94
102
|
const router = 'Ccip842gzYHhvdDkSyi2YVCoAWPbYJoApMFzSxQroE9C' // https://docs.chain.link/ccip/directory/mainnet
|
|
95
|
-
const dest = networkInfo('ethereum-mainnet')
|
|
103
|
+
const dest = networkInfo('ethereum-mainnet').chainSelector
|
|
96
104
|
const message: AnyMessage = {
|
|
97
105
|
receiver: '0xReceiverAddress',
|
|
98
106
|
data: '0xbeef',
|
|
99
107
|
extraArgs: { gasLimit: 250000, allowOutOfOrderExecution: true },
|
|
100
108
|
}
|
|
101
|
-
const fee = await source.getFee(router, dest
|
|
102
|
-
const
|
|
109
|
+
const fee = await source.getFee(router, dest, message)
|
|
110
|
+
const request = await source.sendMessage(
|
|
103
111
|
router,
|
|
104
|
-
dest
|
|
112
|
+
dest,
|
|
105
113
|
{ ...message, fee },
|
|
106
114
|
{ wallet: process.env['SOLANA_PRIVATE_KEY'] },
|
|
107
115
|
)
|
|
108
|
-
const messageId =
|
|
116
|
+
const messageId = request.message.header.messageId
|
|
117
|
+
const txHash = request.tx.hash
|
|
109
118
|
```
|
package/dist/aptos/exec.d.ts
CHANGED
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type Aptos } from '@aptos-labs/ts-sdk';
|
|
2
2
|
import type { ExecutionReport } from '../types.ts';
|
|
3
|
-
import { type AptosAsyncAccount } from './types.ts';
|
|
4
3
|
import type { CCIPMessage_V1_6_EVM } from '../evm/messages.ts';
|
|
5
4
|
/**
|
|
6
5
|
* Executes as single message report in offramp
|
|
7
6
|
*
|
|
8
7
|
* @param provider - Aptos provider instance
|
|
9
|
-
* @param
|
|
8
|
+
* @param payer - async Account
|
|
10
9
|
* @param offRamp - Offramp contract address (with or without `::offramp` suffix)
|
|
11
10
|
* @param execReport - Aptos uses EVMExtraArgsV2, so same message as EVM v1.6
|
|
12
11
|
* @param opts - options like gasLimit override
|
|
13
12
|
* @returns exec txHash
|
|
14
13
|
*/
|
|
15
|
-
export declare function
|
|
14
|
+
export declare function generateUnsignedExecuteReport(provider: Aptos, payer: string, offRamp: string, execReport: ExecutionReport<CCIPMessage_V1_6_EVM>, opts?: {
|
|
16
15
|
gasLimit?: number;
|
|
17
|
-
}): Promise<
|
|
16
|
+
}): Promise<Uint8Array<ArrayBufferLike>>;
|
|
18
17
|
//# sourceMappingURL=exec.d.ts.map
|
package/dist/aptos/exec.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../src/aptos/exec.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../src/aptos/exec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAkB,MAAM,oBAAoB,CAAA;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAE9D;;;;;;;;;GASG;AACH,wBAAsB,6BAA6B,CACjD,QAAQ,EAAE,KAAK,EACf,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,eAAe,CAAC,oBAAoB,CAAC,EACjD,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,wCAoC7B"}
|
package/dist/aptos/exec.js
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
|
+
import { AccountAddress } from '@aptos-labs/ts-sdk';
|
|
1
2
|
import { serializeExecutionReport } from "./types.js";
|
|
2
3
|
/**
|
|
3
4
|
* Executes as single message report in offramp
|
|
4
5
|
*
|
|
5
6
|
* @param provider - Aptos provider instance
|
|
6
|
-
* @param
|
|
7
|
+
* @param payer - async Account
|
|
7
8
|
* @param offRamp - Offramp contract address (with or without `::offramp` suffix)
|
|
8
9
|
* @param execReport - Aptos uses EVMExtraArgsV2, so same message as EVM v1.6
|
|
9
10
|
* @param opts - options like gasLimit override
|
|
10
11
|
* @returns exec txHash
|
|
11
12
|
*/
|
|
12
|
-
export async function
|
|
13
|
+
export async function generateUnsignedExecuteReport(provider, payer, offRamp, execReport, opts) {
|
|
13
14
|
// Prepare proofs as byte arrays
|
|
14
15
|
const serialized = serializeExecutionReport(execReport);
|
|
15
16
|
// Build the transaction to call manually_execute
|
|
@@ -33,23 +34,13 @@ export async function executeReport(provider, account, offRamp, execReport, opts
|
|
|
33
34
|
// gas_limit: u256
|
|
34
35
|
// )
|
|
35
36
|
const transaction = await provider.transaction.build.simple({
|
|
36
|
-
sender:
|
|
37
|
+
sender: AccountAddress.fromString(payer),
|
|
37
38
|
data: {
|
|
38
39
|
function: `${offRamp.includes('::') ? offRamp : offRamp + '::offramp'}::manually_execute`,
|
|
39
40
|
functionArguments: [serialized],
|
|
40
41
|
},
|
|
41
42
|
options: { maxGasAmount: opts?.gasLimit },
|
|
42
43
|
});
|
|
43
|
-
|
|
44
|
-
const signed = await account.signTransactionWithAuthenticator(transaction);
|
|
45
|
-
const pendingTxn = await provider.transaction.submit.simple({
|
|
46
|
-
transaction,
|
|
47
|
-
senderAuthenticator: signed,
|
|
48
|
-
});
|
|
49
|
-
// Wait for the transaction to be confirmed
|
|
50
|
-
const { hash } = await provider.waitForTransaction({
|
|
51
|
-
transactionHash: pendingTxn.hash,
|
|
52
|
-
});
|
|
53
|
-
return hash;
|
|
44
|
+
return transaction.bcsToBytes();
|
|
54
45
|
}
|
|
55
46
|
//# sourceMappingURL=exec.js.map
|
package/dist/aptos/exec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/aptos/exec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/aptos/exec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAG/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAGrD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,QAAe,EACf,KAAa,EACb,OAAe,EACf,UAAiD,EACjD,IAA4B;IAE5B,gCAAgC;IAChC,MAAM,UAAU,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAA;IAEvD,iDAAiD;IACjD,mDAAmD;IACnD,qCAAqC;IACrC,uBAAuB;IACvB,+BAA+B;IAC/B,kCAAkC;IAClC,6BAA6B;IAC7B,8BAA8B;IAC9B,kCAAkC;IAClC,gCAAgC;IAChC,4BAA4B;IAC5B,kBAAkB;IAClB,0BAA0B;IAC1B,4BAA4B;IAC5B,wBAAwB;IACxB,wCAAwC;IACxC,mCAAmC;IACnC,+CAA+C;IAC/C,sBAAsB;IACtB,IAAI;IACJ,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;QAC1D,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC;QACxC,IAAI,EAAE;YACJ,QAAQ,EACN,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,WAAW,oBAAyD;YACtH,iBAAiB,EAAE,CAAC,UAAU,CAAC;SAChC;QACD,OAAO,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC1C,CAAC,CAAA;IAEF,OAAO,WAAW,CAAC,UAAU,EAAE,CAAA;AACjC,CAAC"}
|
package/dist/aptos/hasher.d.ts
CHANGED
|
@@ -1,11 +1,29 @@
|
|
|
1
1
|
import { type LeafHasher } from '../hasher/common.ts';
|
|
2
2
|
import { type CCIPMessage, type CCIPMessage_V1_6, CCIPVersion } from '../types.ts';
|
|
3
|
+
/**
|
|
4
|
+
* Creates a leaf hasher for Aptos CCIP messages.
|
|
5
|
+
* @param lane - Lane configuration with selectors and onRamp.
|
|
6
|
+
* @returns Leaf hasher function for the specified version.
|
|
7
|
+
*/
|
|
3
8
|
export declare function getAptosLeafHasher<V extends CCIPVersion = CCIPVersion>({ sourceChainSelector, destChainSelector, onRamp, version, }: {
|
|
4
9
|
sourceChainSelector: bigint;
|
|
5
10
|
destChainSelector: bigint;
|
|
6
11
|
onRamp: string;
|
|
7
12
|
version: V;
|
|
8
13
|
}): LeafHasher<V>;
|
|
14
|
+
/**
|
|
15
|
+
* Computes the leaf hash for a v1.6 Aptos CCIP message.
|
|
16
|
+
* @param message - CCIP message to hash.
|
|
17
|
+
* @param metadataHash - Pre-computed metadata hash for the lane.
|
|
18
|
+
* @returns Keccak256 hash of the message.
|
|
19
|
+
*/
|
|
9
20
|
export declare function hashV16AptosMessage(message: CCIPMessage_V1_6 | CCIPMessage<typeof CCIPVersion.V1_6>, metadataHash: string): string;
|
|
21
|
+
/**
|
|
22
|
+
* Computes the metadata hash for Aptos CCIP lane.
|
|
23
|
+
* @param sourceChainSelector - Source chain selector.
|
|
24
|
+
* @param destChainSelector - Destination chain selector.
|
|
25
|
+
* @param onRamp - OnRamp address.
|
|
26
|
+
* @returns Keccak256 hash of the lane metadata.
|
|
27
|
+
*/
|
|
10
28
|
export declare const hashAptosMetadata: (sourceChainSelector: bigint, destChainSelector: bigint, onRamp: string) => string;
|
|
11
29
|
//# sourceMappingURL=hasher.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hasher.d.ts","sourceRoot":"","sources":["../../src/aptos/hasher.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,UAAU,EAAyB,MAAM,qBAAqB,CAAA;AAC5E,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAIlF,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,EACtE,mBAAmB,EACnB,iBAAiB,EACjB,MAAM,EACN,OAAO,GACR,EAAE;IACD,mBAAmB,EAAE,MAAM,CAAA;IAC3B,iBAAiB,EAAE,MAAM,CAAA;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,CAAC,CAAA;CACX,GAAG,UAAU,CAAC,CAAC,CAAC,CAUhB;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,gBAAgB,GAAG,WAAW,CAAC,OAAO,WAAW,CAAC,IAAI,CAAC,EAChE,YAAY,EAAE,MAAM,GACnB,MAAM,CA6CR;AAED,eAAO,MAAM,iBAAiB,GAC5B,qBAAqB,MAAM,EAC3B,mBAAmB,MAAM,EACzB,QAAQ,MAAM,KACb,MAOF,CAAA"}
|
|
1
|
+
{"version":3,"file":"hasher.d.ts","sourceRoot":"","sources":["../../src/aptos/hasher.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,UAAU,EAAyB,MAAM,qBAAqB,CAAA;AAC5E,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAIlF;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,EACtE,mBAAmB,EACnB,iBAAiB,EACjB,MAAM,EACN,OAAO,GACR,EAAE;IACD,mBAAmB,EAAE,MAAM,CAAA;IAC3B,iBAAiB,EAAE,MAAM,CAAA;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,CAAC,CAAA;CACX,GAAG,UAAU,CAAC,CAAC,CAAC,CAUhB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,gBAAgB,GAAG,WAAW,CAAC,OAAO,WAAW,CAAC,IAAI,CAAC,EAChE,YAAY,EAAE,MAAM,GACnB,MAAM,CA6CR;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAC5B,qBAAqB,MAAM,EAC3B,mBAAmB,MAAM,EACzB,QAAQ,MAAM,KACb,MAOF,CAAA"}
|
package/dist/aptos/hasher.js
CHANGED
|
@@ -4,6 +4,11 @@ import { LEAF_DOMAIN_SEPARATOR } from "../hasher/common.js";
|
|
|
4
4
|
import { CCIPVersion } from "../types.js";
|
|
5
5
|
import { getAddressBytes, networkInfo } from "../utils.js";
|
|
6
6
|
import { encodeNumber, encodeRawBytes } from "./utils.js";
|
|
7
|
+
/**
|
|
8
|
+
* Creates a leaf hasher for Aptos CCIP messages.
|
|
9
|
+
* @param lane - Lane configuration with selectors and onRamp.
|
|
10
|
+
* @returns Leaf hasher function for the specified version.
|
|
11
|
+
*/
|
|
7
12
|
export function getAptosLeafHasher({ sourceChainSelector, destChainSelector, onRamp, version, }) {
|
|
8
13
|
let metadataHash;
|
|
9
14
|
switch (version) {
|
|
@@ -14,6 +19,12 @@ export function getAptosLeafHasher({ sourceChainSelector, destChainSelector, onR
|
|
|
14
19
|
throw new Error(`Unsupported hasher version for Aptos: ${version}`);
|
|
15
20
|
}
|
|
16
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Computes the leaf hash for a v1.6 Aptos CCIP message.
|
|
24
|
+
* @param message - CCIP message to hash.
|
|
25
|
+
* @param metadataHash - Pre-computed metadata hash for the lane.
|
|
26
|
+
* @returns Keccak256 hash of the message.
|
|
27
|
+
*/
|
|
17
28
|
export function hashV16AptosMessage(message, metadataHash) {
|
|
18
29
|
let gasLimit;
|
|
19
30
|
if (!('gasLimit' in message)) {
|
|
@@ -52,6 +63,13 @@ export function hashV16AptosMessage(message, metadataHash) {
|
|
|
52
63
|
]);
|
|
53
64
|
return keccak256(outerHash);
|
|
54
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Computes the metadata hash for Aptos CCIP lane.
|
|
68
|
+
* @param sourceChainSelector - Source chain selector.
|
|
69
|
+
* @param destChainSelector - Destination chain selector.
|
|
70
|
+
* @param onRamp - OnRamp address.
|
|
71
|
+
* @returns Keccak256 hash of the lane metadata.
|
|
72
|
+
*/
|
|
55
73
|
export const hashAptosMetadata = (sourceChainSelector, destChainSelector, onRamp) => {
|
|
56
74
|
const versionHash = id('Any2AptosMessageHashV1');
|
|
57
75
|
const encodedSource = encodeNumber(sourceChainSelector);
|
package/dist/aptos/hasher.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hasher.js","sourceRoot":"","sources":["../../src/aptos/hasher.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hasher.js","sourceRoot":"","sources":["../../src/aptos/hasher.ts"],"names":[],"mappings":"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"}
|
package/dist/aptos/index.d.ts
CHANGED
|
@@ -1,71 +1,165 @@
|
|
|
1
1
|
import { Aptos, AptosConfig, Network } from '@aptos-labs/ts-sdk';
|
|
2
2
|
import { type BytesLike } from 'ethers';
|
|
3
|
-
import
|
|
3
|
+
import type { PickDeep } from 'type-fest';
|
|
4
|
+
import { type LogFilter, type TokenInfo, type TokenPoolRemote, Chain } from '../chain.ts';
|
|
4
5
|
import { type EVMExtraArgsV2, type ExtraArgs, type SVMExtraArgsV1 } from '../extra-args.ts';
|
|
5
6
|
import type { LeafHasher } from '../hasher/common.ts';
|
|
6
|
-
import type
|
|
7
|
-
import { type
|
|
7
|
+
import { type AnyMessage, type CCIPMessage, type CCIPRequest, type ChainTransaction, type CommitReport, type ExecutionReceipt, type ExecutionReport, type Lane, type Log_, type NetworkInfo, type OffchainTokenData, type WithLogger, ChainFamily } from '../types.ts';
|
|
8
|
+
import { type UnsignedAptosTx } from './types.ts';
|
|
9
|
+
/**
|
|
10
|
+
* Aptos chain implementation supporting Aptos networks.
|
|
11
|
+
*/
|
|
8
12
|
export declare class AptosChain extends Chain<typeof ChainFamily.Aptos> {
|
|
9
13
|
static readonly family: "aptos";
|
|
10
14
|
static readonly decimals = 8;
|
|
11
|
-
|
|
12
|
-
readonly provider: Aptos;
|
|
15
|
+
provider: Aptos;
|
|
13
16
|
getTokenInfo: (token: string) => Promise<TokenInfo>;
|
|
14
17
|
_getAccountModulesNames: (address: string) => Promise<string[]>;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Creates a new AptosChain instance.
|
|
20
|
+
* @param provider - Aptos SDK provider instance.
|
|
21
|
+
* @param network - Network information for this chain.
|
|
22
|
+
*/
|
|
23
|
+
constructor(provider: Aptos, network: NetworkInfo, ctx?: WithLogger);
|
|
24
|
+
/**
|
|
25
|
+
* Creates an AptosChain instance from an existing Aptos provider.
|
|
26
|
+
* @param provider - Aptos SDK provider instance.
|
|
27
|
+
* @param ctx - context containing logger.
|
|
28
|
+
* @returns A new AptosChain instance.
|
|
29
|
+
*/
|
|
30
|
+
static fromProvider(provider: Aptos, ctx?: WithLogger): Promise<AptosChain>;
|
|
31
|
+
/**
|
|
32
|
+
* Creates an AptosChain instance from an Aptos configuration.
|
|
33
|
+
* @param config - Aptos configuration object.
|
|
34
|
+
* @param ctx - context containing logger.
|
|
35
|
+
* @returns A new AptosChain instance.
|
|
36
|
+
*/
|
|
37
|
+
static fromAptosConfig(config: AptosConfig, ctx?: WithLogger): Promise<AptosChain>;
|
|
38
|
+
/**
|
|
39
|
+
* Creates an AptosChain instance from a URL or network identifier.
|
|
40
|
+
* @param url - RPC URL, Aptos Network enum value or [fullNodeUrl, Network] tuple.
|
|
41
|
+
* @param ctx - context containing logger
|
|
42
|
+
* @returns A new AptosChain instance.
|
|
43
|
+
*/
|
|
44
|
+
static fromUrl(url: string | Network | readonly [string, Network], ctx?: WithLogger): Promise<AptosChain>;
|
|
45
|
+
/** {@inheritDoc Chain.getBlockTimestamp} */
|
|
20
46
|
getBlockTimestamp(version: number | 'finalized'): Promise<number>;
|
|
47
|
+
/** {@inheritDoc Chain.getTransaction} */
|
|
21
48
|
getTransaction(hashOrVersion: string | number): Promise<ChainTransaction>;
|
|
49
|
+
/** {@inheritDoc Chain.getLogs} */
|
|
22
50
|
getLogs(opts: LogFilter & {
|
|
23
51
|
versionAsHash?: boolean;
|
|
24
52
|
}): AsyncIterableIterator<Log_>;
|
|
25
|
-
|
|
53
|
+
/** {@inheritDoc Chain.fetchRequestsInTx} */
|
|
54
|
+
fetchRequestsInTx(tx: string | ChainTransaction): Promise<CCIPRequest[]>;
|
|
55
|
+
/** {@inheritDoc Chain.fetchRequestById} */
|
|
56
|
+
fetchRequestById(messageId: string, onRamp?: string, opts?: {
|
|
57
|
+
page?: number;
|
|
58
|
+
}): Promise<CCIPRequest>;
|
|
59
|
+
/** {@inheritDoc Chain.fetchAllMessagesInBatch} */
|
|
60
|
+
fetchAllMessagesInBatch<R extends PickDeep<CCIPRequest, 'lane' | `log.${'topics' | 'address' | 'blockNumber'}` | 'message.header.sequenceNumber'>>(request: R, commit: Pick<CommitReport, 'minSeqNr' | 'maxSeqNr'>, opts?: {
|
|
61
|
+
page?: number;
|
|
62
|
+
}): Promise<R['message'][]>;
|
|
63
|
+
/** {@inheritDoc Chain.typeAndVersion} */
|
|
64
|
+
typeAndVersion(address: string): Promise<[type: string, version: string, typeAndVersion: string, suffix?: string | undefined]>;
|
|
65
|
+
/** {@inheritDoc Chain.getRouterForOnRamp} */
|
|
26
66
|
getRouterForOnRamp(onRamp: string, _destChainSelector: bigint): Promise<string>;
|
|
67
|
+
/** {@inheritDoc Chain.getRouterForOffRamp} */
|
|
27
68
|
getRouterForOffRamp(offRamp: string, _sourceChainSelector: bigint): Promise<string>;
|
|
69
|
+
/** {@inheritDoc Chain.getNativeTokenForRouter} */
|
|
28
70
|
getNativeTokenForRouter(_router: string): Promise<string>;
|
|
71
|
+
/** {@inheritDoc Chain.getOffRampsForRouter} */
|
|
29
72
|
getOffRampsForRouter(router: string, _sourceChainSelector: bigint): Promise<string[]>;
|
|
73
|
+
/** {@inheritDoc Chain.getOnRampForRouter} */
|
|
30
74
|
getOnRampForRouter(router: string, _destChainSelector: bigint): Promise<string>;
|
|
75
|
+
/** {@inheritDoc Chain.getOnRampForOffRamp} */
|
|
31
76
|
getOnRampForOffRamp(offRamp: string, sourceChainSelector: bigint): Promise<string>;
|
|
77
|
+
/** {@inheritDoc Chain.getCommitStoreForOffRamp} */
|
|
32
78
|
getCommitStoreForOffRamp(offRamp: string): Promise<string>;
|
|
79
|
+
/** {@inheritDoc Chain.getTokenForTokenPool} */
|
|
33
80
|
getTokenForTokenPool(tokenPool: string): Promise<string>;
|
|
81
|
+
/** {@inheritDoc Chain.getTokenAdminRegistryFor} */
|
|
34
82
|
getTokenAdminRegistryFor(address: string): Promise<string>;
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}): Promise<AptosAsyncAccount>;
|
|
41
|
-
getWalletAddress(opts?: {
|
|
42
|
-
wallet?: unknown;
|
|
43
|
-
}): Promise<string>;
|
|
83
|
+
/**
|
|
84
|
+
* Decodes a CCIP message from an Aptos log event.
|
|
85
|
+
* @param log - Log with data field.
|
|
86
|
+
* @returns Decoded CCIPMessage or undefined if not valid.
|
|
87
|
+
*/
|
|
44
88
|
static decodeMessage(log: {
|
|
45
89
|
data: BytesLike | Record<string, unknown>;
|
|
46
90
|
}): CCIPMessage | undefined;
|
|
91
|
+
/**
|
|
92
|
+
* Decodes extra arguments from Aptos CCIP messages.
|
|
93
|
+
* @param extraArgs - Encoded extra arguments bytes.
|
|
94
|
+
* @returns Decoded extra arguments or undefined if unknown format.
|
|
95
|
+
*/
|
|
47
96
|
static decodeExtraArgs(extraArgs: BytesLike): (EVMExtraArgsV2 & {
|
|
48
97
|
_tag: 'EVMExtraArgsV2';
|
|
49
98
|
}) | (SVMExtraArgsV1 & {
|
|
50
99
|
_tag: 'SVMExtraArgsV1';
|
|
51
100
|
}) | undefined;
|
|
101
|
+
/**
|
|
102
|
+
* Encodes extra arguments for Aptos CCIP messages.
|
|
103
|
+
* @param extraArgs - Extra arguments to encode.
|
|
104
|
+
* @returns Encoded extra arguments as hex string.
|
|
105
|
+
*/
|
|
52
106
|
static encodeExtraArgs(extraArgs: ExtraArgs): string;
|
|
107
|
+
/**
|
|
108
|
+
* Decodes commit reports from an Aptos log event.
|
|
109
|
+
* @param log - Log with data field.
|
|
110
|
+
* @param lane - Lane info for filtering.
|
|
111
|
+
* @returns Array of CommitReport or undefined if not valid.
|
|
112
|
+
*/
|
|
53
113
|
static decodeCommits({ data }: Pick<Log_, 'data'>, lane?: Lane): CommitReport[] | undefined;
|
|
114
|
+
/**
|
|
115
|
+
* Decodes an execution receipt from an Aptos log event.
|
|
116
|
+
* @param log - Log with data field.
|
|
117
|
+
* @returns ExecutionReceipt or undefined if not valid.
|
|
118
|
+
*/
|
|
54
119
|
static decodeReceipt({ data }: Pick<Log_, 'data'>): ExecutionReceipt | undefined;
|
|
120
|
+
/**
|
|
121
|
+
* Converts bytes to an Aptos address.
|
|
122
|
+
* @param bytes - Bytes to convert.
|
|
123
|
+
* @returns Aptos address (0x-prefixed hex, 32 bytes padded).
|
|
124
|
+
*/
|
|
55
125
|
static getAddress(bytes: BytesLike): string;
|
|
56
|
-
|
|
126
|
+
/**
|
|
127
|
+
* Gets the leaf hasher for Aptos destination chains.
|
|
128
|
+
* @param lane - Lane configuration.
|
|
129
|
+
* @returns Leaf hasher function.
|
|
130
|
+
*/
|
|
131
|
+
static getDestLeafHasher(lane: Lane, _ctx?: WithLogger): LeafHasher;
|
|
132
|
+
/** {@inheritDoc Chain.getFee} */
|
|
57
133
|
getFee(router: string, destChainSelector: bigint, message: AnyMessage): Promise<bigint>;
|
|
134
|
+
/** generate raw/unsigned `ccip_send` transaction */
|
|
135
|
+
generateUnsignedSendMessage(sender: string, router: string, destChainSelector: bigint, message: AnyMessage & {
|
|
136
|
+
fee?: bigint;
|
|
137
|
+
}, opts: {
|
|
138
|
+
approveMax?: boolean;
|
|
139
|
+
}): Promise<UnsignedAptosTx>;
|
|
140
|
+
/** {@inheritDoc Chain.sendMessage} */
|
|
58
141
|
sendMessage(router: string, destChainSelector: bigint, message: AnyMessage & {
|
|
59
|
-
fee
|
|
60
|
-
}, opts
|
|
61
|
-
wallet
|
|
142
|
+
fee?: bigint;
|
|
143
|
+
}, opts: {
|
|
144
|
+
wallet: unknown;
|
|
62
145
|
approveMax?: boolean;
|
|
63
|
-
}): Promise<
|
|
146
|
+
}): Promise<CCIPRequest>;
|
|
147
|
+
/** {@inheritDoc Chain.fetchOffchainTokenData} */
|
|
64
148
|
fetchOffchainTokenData(request: CCIPRequest): Promise<OffchainTokenData[]>;
|
|
65
|
-
|
|
66
|
-
|
|
149
|
+
/** generate raw/unsigned `manually_execute` transaction data */
|
|
150
|
+
generateUnsignedExecuteReport(payer: string, offRamp: string, execReport: ExecutionReport, opts: {
|
|
151
|
+
gasLimit?: number;
|
|
152
|
+
}): Promise<UnsignedAptosTx>;
|
|
153
|
+
/** {@inheritDoc Chain.executeReport} */
|
|
154
|
+
executeReport(offRamp: string, execReport: ExecutionReport, opts: {
|
|
155
|
+
wallet: unknown;
|
|
67
156
|
gasLimit?: number;
|
|
68
157
|
}): Promise<ChainTransaction>;
|
|
158
|
+
/**
|
|
159
|
+
* Parses raw Aptos data into typed structures.
|
|
160
|
+
* @param data - Raw data to parse.
|
|
161
|
+
* @returns Parsed data or undefined.
|
|
162
|
+
*/
|
|
69
163
|
static parse(data: unknown): (import("../extra-args.ts").EVMExtraArgsV1 & {
|
|
70
164
|
allowOutOfOrderExecution: boolean;
|
|
71
165
|
} & {
|
|
@@ -73,20 +167,25 @@ export declare class AptosChain extends Chain<typeof ChainFamily.Aptos> {
|
|
|
73
167
|
}) | (SVMExtraArgsV1 & {
|
|
74
168
|
_tag: "SVMExtraArgsV1";
|
|
75
169
|
}) | undefined;
|
|
170
|
+
/** {@inheritDoc Chain.getSupportedTokens} */
|
|
76
171
|
getSupportedTokens(address: string, opts?: {
|
|
77
172
|
page?: number;
|
|
78
173
|
}): Promise<string[]>;
|
|
174
|
+
/** {@inheritDoc Chain.getRegistryTokenConfig} */
|
|
79
175
|
getRegistryTokenConfig(registry: string, token: string): Promise<{
|
|
80
176
|
administrator: string;
|
|
81
177
|
pendingAdministrator?: string;
|
|
82
178
|
tokenPool?: string;
|
|
83
179
|
}>;
|
|
180
|
+
/** {@inheritDoc Chain.getTokenPoolConfigs} */
|
|
84
181
|
getTokenPoolConfigs(tokenPool: string): Promise<{
|
|
85
182
|
token: string;
|
|
86
183
|
router: string;
|
|
87
184
|
typeAndVersion?: string;
|
|
88
185
|
}>;
|
|
186
|
+
/** {@inheritDoc Chain.getTokenPoolRemotes} */
|
|
89
187
|
getTokenPoolRemotes(tokenPool: string, remoteChainSelector?: bigint): Promise<Record<string, TokenPoolRemote>>;
|
|
90
|
-
|
|
188
|
+
/** {@inheritDoc Chain.getFeeTokens} */
|
|
189
|
+
getFeeTokens(router: string): Promise<Record<string, TokenInfo>>;
|
|
91
190
|
}
|
|
92
191
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/aptos/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/aptos/index.ts"],"names":[],"mappings":"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"}
|