@wormhole-foundation/sdk-evm-ntt 3.0.0-multi-token.beta.0 → 3.0.0-multi-token.beta.2
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/dist/cjs/axelar.d.ts +35 -0
- package/dist/cjs/axelar.d.ts.map +1 -0
- package/dist/cjs/axelar.js +168 -0
- package/dist/cjs/axelar.js.map +1 -0
- package/dist/cjs/ethers-contracts/{multiTokenNtt/1_1_0/GmpManager.sol → 1_1_0}/GmpManager.d.ts +55 -2
- package/dist/cjs/ethers-contracts/1_1_0/GmpManager.d.ts.map +1 -0
- package/dist/cjs/ethers-contracts/1_1_0/GmpManager.js.map +1 -0
- package/dist/cjs/ethers-contracts/{multiTokenNtt/1_1_0/MultiTokenNtt.sol → 1_1_0}/MultiTokenNtt.d.ts +59 -51
- package/dist/cjs/ethers-contracts/1_1_0/MultiTokenNtt.d.ts.map +1 -0
- package/dist/cjs/ethers-contracts/1_1_0/MultiTokenNtt.js.map +1 -0
- package/dist/cjs/ethers-contracts/1_1_0/factories/GmpManager__factory.d.ts +1301 -0
- package/dist/cjs/ethers-contracts/{multiTokenNtt/1_1_0/factories/GmpManager.sol → 1_1_0/factories}/GmpManager__factory.d.ts.map +1 -1
- package/dist/cjs/ethers-contracts/1_1_0/factories/GmpManager__factory.js +1704 -0
- package/dist/cjs/ethers-contracts/1_1_0/factories/GmpManager__factory.js.map +1 -0
- package/dist/cjs/ethers-contracts/1_1_0/factories/MultiTokenNtt__factory.d.ts +1350 -0
- package/dist/cjs/ethers-contracts/1_1_0/factories/MultiTokenNtt__factory.d.ts.map +1 -0
- package/dist/cjs/ethers-contracts/1_1_0/factories/MultiTokenNtt__factory.js +1777 -0
- package/dist/cjs/ethers-contracts/1_1_0/factories/MultiTokenNtt__factory.js.map +1 -0
- package/dist/cjs/ethers-contracts/1_1_0/factories/NttManager__factory.d.ts +374 -14
- package/dist/cjs/ethers-contracts/1_1_0/factories/NttManager__factory.d.ts.map +1 -1
- package/dist/cjs/ethers-contracts/1_1_0/factories/NttManager__factory.js +487 -23
- package/dist/cjs/ethers-contracts/1_1_0/factories/NttManager__factory.js.map +1 -1
- package/dist/cjs/ethers-contracts/1_1_0/index.d.ts +4 -0
- package/dist/cjs/ethers-contracts/1_1_0/index.d.ts.map +1 -1
- package/dist/cjs/ethers-contracts/1_1_0/index.js +5 -1
- package/dist/cjs/ethers-contracts/1_1_0/index.js.map +1 -1
- package/dist/cjs/ethers-contracts/multiTokenNtt/index.d.ts +3 -4
- package/dist/cjs/ethers-contracts/multiTokenNtt/index.d.ts.map +1 -1
- package/dist/cjs/ethers-contracts/multiTokenNtt/index.js +3 -4
- package/dist/cjs/ethers-contracts/multiTokenNtt/index.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/multiTokenNtt.d.ts +18 -14
- package/dist/cjs/multiTokenNtt.d.ts.map +1 -1
- package/dist/cjs/multiTokenNtt.js +151 -95
- package/dist/cjs/multiTokenNtt.js.map +1 -1
- package/dist/cjs/multiTokenNttBindings.d.ts +11 -11
- package/dist/cjs/multiTokenNttBindings.d.ts.map +1 -1
- package/dist/cjs/multiTokenNttWithExecutor.d.ts +5 -8
- package/dist/cjs/multiTokenNttWithExecutor.d.ts.map +1 -1
- package/dist/cjs/multiTokenNttWithExecutor.js +19 -40
- package/dist/cjs/multiTokenNttWithExecutor.js.map +1 -1
- package/dist/cjs/ntt.d.ts.map +1 -1
- package/dist/cjs/ntt.js +4 -5
- package/dist/cjs/ntt.js.map +1 -1
- package/dist/cjs/nttWithExecutor.d.ts +6 -6
- package/dist/cjs/nttWithExecutor.d.ts.map +1 -1
- package/dist/cjs/nttWithExecutor.js +36 -32
- package/dist/cjs/nttWithExecutor.js.map +1 -1
- package/dist/esm/axelar.d.ts +35 -0
- package/dist/esm/axelar.d.ts.map +1 -0
- package/dist/esm/axelar.js +158 -0
- package/dist/esm/axelar.js.map +1 -0
- package/dist/esm/ethers-contracts/{multiTokenNtt/1_1_0/GmpManager.sol → 1_1_0}/GmpManager.d.ts +55 -2
- package/dist/esm/ethers-contracts/1_1_0/GmpManager.d.ts.map +1 -0
- package/dist/esm/ethers-contracts/1_1_0/GmpManager.js.map +1 -0
- package/dist/esm/ethers-contracts/{multiTokenNtt/1_1_0/MultiTokenNtt.sol → 1_1_0}/MultiTokenNtt.d.ts +59 -51
- package/dist/esm/ethers-contracts/1_1_0/MultiTokenNtt.d.ts.map +1 -0
- package/dist/esm/ethers-contracts/1_1_0/MultiTokenNtt.js.map +1 -0
- package/dist/esm/ethers-contracts/1_1_0/factories/GmpManager__factory.d.ts +1301 -0
- package/dist/esm/ethers-contracts/{multiTokenNtt/1_1_0/factories/GmpManager.sol → 1_1_0/factories}/GmpManager__factory.d.ts.map +1 -1
- package/dist/esm/ethers-contracts/1_1_0/factories/GmpManager__factory.js +1700 -0
- package/dist/esm/ethers-contracts/1_1_0/factories/GmpManager__factory.js.map +1 -0
- package/dist/esm/ethers-contracts/1_1_0/factories/MultiTokenNtt__factory.d.ts +1350 -0
- package/dist/esm/ethers-contracts/1_1_0/factories/MultiTokenNtt__factory.d.ts.map +1 -0
- package/dist/esm/ethers-contracts/1_1_0/factories/MultiTokenNtt__factory.js +1773 -0
- package/dist/esm/ethers-contracts/1_1_0/factories/MultiTokenNtt__factory.js.map +1 -0
- package/dist/esm/ethers-contracts/1_1_0/factories/NttManager__factory.d.ts +374 -14
- package/dist/esm/ethers-contracts/1_1_0/factories/NttManager__factory.d.ts.map +1 -1
- package/dist/esm/ethers-contracts/1_1_0/factories/NttManager__factory.js +487 -23
- package/dist/esm/ethers-contracts/1_1_0/factories/NttManager__factory.js.map +1 -1
- package/dist/esm/ethers-contracts/1_1_0/index.d.ts +4 -0
- package/dist/esm/ethers-contracts/1_1_0/index.d.ts.map +1 -1
- package/dist/esm/ethers-contracts/1_1_0/index.js +2 -0
- package/dist/esm/ethers-contracts/1_1_0/index.js.map +1 -1
- package/dist/esm/ethers-contracts/multiTokenNtt/index.d.ts +3 -4
- package/dist/esm/ethers-contracts/multiTokenNtt/index.d.ts.map +1 -1
- package/dist/esm/ethers-contracts/multiTokenNtt/index.js +3 -4
- package/dist/esm/ethers-contracts/multiTokenNtt/index.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/multiTokenNtt.d.ts +18 -14
- package/dist/esm/multiTokenNtt.d.ts.map +1 -1
- package/dist/esm/multiTokenNtt.js +151 -95
- package/dist/esm/multiTokenNtt.js.map +1 -1
- package/dist/esm/multiTokenNttBindings.d.ts +11 -11
- package/dist/esm/multiTokenNttBindings.d.ts.map +1 -1
- package/dist/esm/multiTokenNttWithExecutor.d.ts +5 -8
- package/dist/esm/multiTokenNttWithExecutor.d.ts.map +1 -1
- package/dist/esm/multiTokenNttWithExecutor.js +20 -41
- package/dist/esm/multiTokenNttWithExecutor.js.map +1 -1
- package/dist/esm/ntt.d.ts.map +1 -1
- package/dist/esm/ntt.js +1 -2
- package/dist/esm/ntt.js.map +1 -1
- package/dist/esm/nttWithExecutor.d.ts +6 -6
- package/dist/esm/nttWithExecutor.d.ts.map +1 -1
- package/dist/esm/nttWithExecutor.js +40 -36
- package/dist/esm/nttWithExecutor.js.map +1 -1
- package/package.json +6 -6
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/GmpManager.sol/GmpManager.d.ts.map +0 -1
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/GmpManager.sol/GmpManager.js.map +0 -1
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/GmpManager.sol/index.d.ts +0 -2
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/GmpManager.sol/index.d.ts.map +0 -1
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/GmpManager.sol/index.js +0 -3
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/GmpManager.sol/index.js.map +0 -1
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/MultiTokenNtt.sol/MultiTokenNtt.d.ts.map +0 -1
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/MultiTokenNtt.sol/MultiTokenNtt.js.map +0 -1
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/MultiTokenNtt.sol/index.d.ts +0 -2
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/MultiTokenNtt.sol/index.d.ts.map +0 -1
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/MultiTokenNtt.sol/index.js +0 -3
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/MultiTokenNtt.sol/index.js.map +0 -1
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/common.d.ts +0 -51
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/common.d.ts.map +0 -1
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/common.js +0 -3
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/common.js.map +0 -1
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/GmpManager.sol/GmpManager__factory.d.ts +0 -1231
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/GmpManager.sol/GmpManager__factory.js +0 -1611
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/GmpManager.sol/GmpManager__factory.js.map +0 -1
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/GmpManager.sol/index.d.ts +0 -2
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/GmpManager.sol/index.d.ts.map +0 -1
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/GmpManager.sol/index.js +0 -9
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/GmpManager.sol/index.js.map +0 -1
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/MultiTokenNtt.sol/MultiTokenNtt__factory.d.ts +0 -1354
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/MultiTokenNtt.sol/MultiTokenNtt__factory.d.ts.map +0 -1
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/MultiTokenNtt.sol/MultiTokenNtt__factory.js +0 -1781
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/MultiTokenNtt.sol/MultiTokenNtt__factory.js.map +0 -1
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/MultiTokenNtt.sol/index.d.ts +0 -2
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/MultiTokenNtt.sol/index.d.ts.map +0 -1
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/MultiTokenNtt.sol/index.js +0 -9
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/MultiTokenNtt.sol/index.js.map +0 -1
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/index.d.ts +0 -3
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/index.d.ts.map +0 -1
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/index.js +0 -32
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/index.js.map +0 -1
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/index.d.ts +0 -5
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/index.d.ts.map +0 -1
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/index.js +0 -8
- package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/index.js.map +0 -1
- package/dist/cjs/trimmedAmount.d.ts +0 -9
- package/dist/cjs/trimmedAmount.d.ts.map +0 -1
- package/dist/cjs/trimmedAmount.js +0 -30
- package/dist/cjs/trimmedAmount.js.map +0 -1
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/GmpManager.sol/GmpManager.d.ts.map +0 -1
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/GmpManager.sol/GmpManager.js.map +0 -1
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/GmpManager.sol/index.d.ts +0 -2
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/GmpManager.sol/index.d.ts.map +0 -1
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/GmpManager.sol/index.js +0 -2
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/GmpManager.sol/index.js.map +0 -1
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/MultiTokenNtt.sol/MultiTokenNtt.d.ts.map +0 -1
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/MultiTokenNtt.sol/MultiTokenNtt.js.map +0 -1
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/MultiTokenNtt.sol/index.d.ts +0 -2
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/MultiTokenNtt.sol/index.d.ts.map +0 -1
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/MultiTokenNtt.sol/index.js +0 -2
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/MultiTokenNtt.sol/index.js.map +0 -1
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/common.d.ts +0 -51
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/common.d.ts.map +0 -1
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/common.js +0 -2
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/common.js.map +0 -1
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/GmpManager.sol/GmpManager__factory.d.ts +0 -1231
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/GmpManager.sol/GmpManager__factory.js +0 -1607
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/GmpManager.sol/GmpManager__factory.js.map +0 -1
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/GmpManager.sol/index.d.ts +0 -2
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/GmpManager.sol/index.d.ts.map +0 -1
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/GmpManager.sol/index.js +0 -5
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/GmpManager.sol/index.js.map +0 -1
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/MultiTokenNtt.sol/MultiTokenNtt__factory.d.ts +0 -1354
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/MultiTokenNtt.sol/MultiTokenNtt__factory.d.ts.map +0 -1
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/MultiTokenNtt.sol/MultiTokenNtt__factory.js +0 -1777
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/MultiTokenNtt.sol/MultiTokenNtt__factory.js.map +0 -1
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/MultiTokenNtt.sol/index.d.ts +0 -2
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/MultiTokenNtt.sol/index.d.ts.map +0 -1
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/MultiTokenNtt.sol/index.js +0 -5
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/MultiTokenNtt.sol/index.js.map +0 -1
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/index.d.ts +0 -3
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/index.d.ts.map +0 -1
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/index.js +0 -6
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/index.js.map +0 -1
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/index.d.ts +0 -5
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/index.d.ts.map +0 -1
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/index.js +0 -3
- package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/index.js.map +0 -1
- package/dist/esm/trimmedAmount.d.ts +0 -9
- package/dist/esm/trimmedAmount.d.ts.map +0 -1
- package/dist/esm/trimmedAmount.js +0 -24
- package/dist/esm/trimmedAmount.js.map +0 -1
- /package/dist/cjs/ethers-contracts/{multiTokenNtt/1_1_0/GmpManager.sol → 1_1_0}/GmpManager.js +0 -0
- /package/dist/cjs/ethers-contracts/{multiTokenNtt/1_1_0/MultiTokenNtt.sol → 1_1_0}/MultiTokenNtt.js +0 -0
- /package/dist/esm/ethers-contracts/{multiTokenNtt/1_1_0/GmpManager.sol → 1_1_0}/GmpManager.js +0 -0
- /package/dist/esm/ethers-contracts/{multiTokenNtt/1_1_0/MultiTokenNtt.sol → 1_1_0}/MultiTokenNtt.js +0 -0
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
import { nativeChainIds, toChain, toChainId, } from "@wormhole-foundation/sdk-base";
|
|
2
|
-
import { isNative, toNative, toUniversal, universalAddress, } from "@wormhole-foundation/sdk-definitions";
|
|
1
|
+
import { encoding, nativeChainIds, toChain, toChainId, } from "@wormhole-foundation/sdk-base";
|
|
2
|
+
import { isNative, serialize, toNative, toUniversal, universalAddress, } from "@wormhole-foundation/sdk-definitions";
|
|
3
3
|
import { EvmAddress, EvmPlatform, EvmUnsignedTransaction, addChainId, addFrom, } from "@wormhole-foundation/sdk-evm";
|
|
4
4
|
import "@wormhole-foundation/sdk-evm-core";
|
|
5
|
-
import { MultiTokenNtt, Ntt, } from "@wormhole-foundation/sdk-definitions-ntt";
|
|
6
|
-
import { ethers } from "ethers";
|
|
7
|
-
import { EvmNttWormholeTranceiver } from "./ntt.js";
|
|
8
|
-
import { Wormhole } from "@wormhole-foundation/sdk-connect";
|
|
5
|
+
import { decodeTrimmedAmount, MultiTokenNtt, Ntt, untrim, } from "@wormhole-foundation/sdk-definitions-ntt";
|
|
6
|
+
import { Contract, ethers, Interface } from "ethers";
|
|
9
7
|
import { loadAbiVersion, } from "./multiTokenNttBindings.js";
|
|
10
|
-
import {
|
|
8
|
+
import { getAxelarGasFee } from "./axelar.js";
|
|
11
9
|
export class EvmMultiTokenNtt {
|
|
12
10
|
network;
|
|
13
11
|
chain;
|
|
@@ -15,10 +13,10 @@ export class EvmMultiTokenNtt {
|
|
|
15
13
|
contracts;
|
|
16
14
|
version;
|
|
17
15
|
chainId;
|
|
18
|
-
manager;
|
|
19
|
-
gmpManager;
|
|
20
|
-
xcvrs;
|
|
21
16
|
managerAddress;
|
|
17
|
+
multiTokenNtt;
|
|
18
|
+
gmpManager;
|
|
19
|
+
abiBindings;
|
|
22
20
|
constructor(network, chain, provider, contracts, version = "1.0.0") {
|
|
23
21
|
this.network = network;
|
|
24
22
|
this.chain = chain;
|
|
@@ -28,29 +26,13 @@ export class EvmMultiTokenNtt {
|
|
|
28
26
|
if (!contracts.multiTokenNtt)
|
|
29
27
|
throw new Error("No Ntt Contracts provided");
|
|
30
28
|
this.chainId = nativeChainIds.networkChainToNativeChainId.get(network, chain);
|
|
29
|
+
this.abiBindings = loadAbiVersion(this.version);
|
|
31
30
|
this.managerAddress = contracts.multiTokenNtt.manager;
|
|
32
|
-
|
|
33
|
-
this.
|
|
34
|
-
this.gmpManager = abiBindings.GmpManager.connect(contracts.multiTokenNtt.gmpManager, this.provider);
|
|
35
|
-
if (contracts.multiTokenNtt.transceiver.wormhole) {
|
|
36
|
-
this.xcvrs = [
|
|
37
|
-
// Enable more Transceivers here
|
|
38
|
-
new EvmNttWormholeTranceiver(
|
|
39
|
-
// TODO: make this compatible
|
|
40
|
-
// @ts-ignore
|
|
41
|
-
this, contracts.multiTokenNtt.transceiver.wormhole, abiBindings),
|
|
42
|
-
];
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
this.xcvrs = [];
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
async getTransceiver(ix) {
|
|
49
|
-
// TODO: should we make an RPC call here, or just trust that the xcvrs are set up correctly?
|
|
50
|
-
return this.xcvrs[ix] || null;
|
|
31
|
+
this.multiTokenNtt = this.abiBindings.MultiTokenNtt.connect(contracts.multiTokenNtt.manager, this.provider);
|
|
32
|
+
this.gmpManager = this.abiBindings.GmpManager.connect(contracts.multiTokenNtt.gmpManager, this.provider);
|
|
51
33
|
}
|
|
52
34
|
async isPaused() {
|
|
53
|
-
return await this.
|
|
35
|
+
return await this.multiTokenNtt.isPaused();
|
|
54
36
|
}
|
|
55
37
|
async getIsExecuted(attestation) {
|
|
56
38
|
const isExecuted = await this.gmpManager.isMessageExecuted(MultiTokenNtt.messageDigest(attestation.emitterChain, attestation.payload.nttManagerPayload));
|
|
@@ -74,17 +56,19 @@ export class EvmMultiTokenNtt {
|
|
|
74
56
|
const version = await EvmMultiTokenNtt.getVersion(provider, conf.contracts);
|
|
75
57
|
return new EvmMultiTokenNtt(network, chain, provider, conf.contracts, version);
|
|
76
58
|
}
|
|
77
|
-
|
|
78
|
-
const ixs = [];
|
|
79
|
-
// TODO: add comment about how if you want to use relaying, then use the executor route
|
|
80
|
-
ixs.push({
|
|
81
|
-
index: 0,
|
|
82
|
-
payload: this.xcvrs[0].encodeFlags({ skipRelay: true }),
|
|
83
|
-
});
|
|
84
|
-
return ixs;
|
|
85
|
-
}
|
|
59
|
+
static versionCache = new Map();
|
|
86
60
|
static async getVersion(provider, contracts) {
|
|
87
|
-
const
|
|
61
|
+
const multiTokenNtt = contracts.multiTokenNtt;
|
|
62
|
+
if (!multiTokenNtt) {
|
|
63
|
+
throw new Error("No multiTokenNtt contracts configured");
|
|
64
|
+
}
|
|
65
|
+
// Use cached version to save on RPC calls
|
|
66
|
+
const cacheKey = `${multiTokenNtt.chain}-${multiTokenNtt.manager}`;
|
|
67
|
+
const cached = EvmMultiTokenNtt.versionCache.get(cacheKey);
|
|
68
|
+
if (cached) {
|
|
69
|
+
return cached;
|
|
70
|
+
}
|
|
71
|
+
const contract = new ethers.Contract(multiTokenNtt.manager, ["function NTT_MANAGER_VERSION() public view returns (string)"], provider);
|
|
88
72
|
try {
|
|
89
73
|
const abiVersion = await contract
|
|
90
74
|
.getFunction("NTT_MANAGER_VERSION")
|
|
@@ -92,6 +76,7 @@ export class EvmMultiTokenNtt {
|
|
|
92
76
|
if (!abiVersion) {
|
|
93
77
|
throw new Error("NTT_MANAGER_VERSION not found");
|
|
94
78
|
}
|
|
79
|
+
EvmMultiTokenNtt.versionCache.set(cacheKey, abiVersion);
|
|
95
80
|
return abiVersion;
|
|
96
81
|
}
|
|
97
82
|
catch (e) {
|
|
@@ -99,17 +84,78 @@ export class EvmMultiTokenNtt {
|
|
|
99
84
|
throw e;
|
|
100
85
|
}
|
|
101
86
|
}
|
|
102
|
-
async
|
|
103
|
-
const
|
|
87
|
+
async getSendTransceivers(destinationChain) {
|
|
88
|
+
const sendTransceivers = await this.gmpManager.getSendTransceiversWithIndicesForChain(toChainId(destinationChain));
|
|
89
|
+
return await Promise.all(sendTransceivers.map(async (transceiver) => {
|
|
90
|
+
const type = await this.getTransceiverType(transceiver.transceiver);
|
|
91
|
+
return {
|
|
92
|
+
address: transceiver.transceiver,
|
|
93
|
+
index: Number(transceiver.index),
|
|
94
|
+
type,
|
|
95
|
+
};
|
|
96
|
+
}));
|
|
97
|
+
}
|
|
98
|
+
async getReceiveTransceivers(sourceChain) {
|
|
99
|
+
const receiveTransceivers = await this.gmpManager.getReceiveTransceiversWithIndicesForChain(toChainId(sourceChain));
|
|
100
|
+
return await Promise.all(receiveTransceivers.map(async (transceiver) => {
|
|
101
|
+
const type = await this.getTransceiverType(transceiver.transceiver);
|
|
102
|
+
return {
|
|
103
|
+
address: transceiver.transceiver,
|
|
104
|
+
index: Number(transceiver.index),
|
|
105
|
+
type,
|
|
106
|
+
};
|
|
107
|
+
}));
|
|
108
|
+
}
|
|
109
|
+
async transceiverAttestedToMessage(fromChain, transceiverMessage, index) {
|
|
110
|
+
return await this.gmpManager.transceiverAttestedToMessage(MultiTokenNtt.messageDigest(fromChain, transceiverMessage), index);
|
|
111
|
+
}
|
|
112
|
+
async getTransceiverType(transceiverAddress) {
|
|
113
|
+
const transceiverInterface = new Interface([
|
|
114
|
+
"function getTransceiverType() external view returns (string memory)",
|
|
115
|
+
]);
|
|
116
|
+
const transceiverContract = new Contract(transceiverAddress, transceiverInterface, this.provider);
|
|
117
|
+
return await transceiverContract
|
|
118
|
+
.getFunction("getTransceiverType")
|
|
119
|
+
.staticCall();
|
|
120
|
+
}
|
|
121
|
+
async createTransceiverInstructions(dstChain, gasLimit) {
|
|
122
|
+
const sendTransceivers = await this.getSendTransceivers(dstChain);
|
|
123
|
+
const instructions = await Promise.all(sendTransceivers.map(async (transceiver) => {
|
|
124
|
+
switch (transceiver.type.toLowerCase()) {
|
|
125
|
+
case "wormhole":
|
|
126
|
+
return {
|
|
127
|
+
index: transceiver.index,
|
|
128
|
+
payload: new Uint8Array([1]), // disable standard relayer, use executor route for automatic relay
|
|
129
|
+
};
|
|
130
|
+
case "axelar": {
|
|
131
|
+
// If we fail to fetch the gas fee, then use 1 wei as a fallback.
|
|
132
|
+
// Do *NOT* use 0 wei as the Axelar status API will not return an error.
|
|
133
|
+
// The Axelar relay status should return an invalid gas fee error
|
|
134
|
+
// and the track() method will surface a RelayFailedError for the user
|
|
135
|
+
// to top up the gas fee.
|
|
136
|
+
const gasFee = await getAxelarGasFee(this.network, this.chain, dstChain, gasLimit).catch(() => 1n);
|
|
137
|
+
return {
|
|
138
|
+
index: transceiver.index,
|
|
139
|
+
payload: encoding.bignum.toBytes(gasFee, 32),
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
default:
|
|
143
|
+
throw new Error(`Unsupported transceiver type: ${transceiver.type} at index ${transceiver.index}`);
|
|
144
|
+
}
|
|
145
|
+
}));
|
|
146
|
+
// The contract expects the instructions to be sorted by transceiver index.
|
|
147
|
+
instructions.sort((a, b) => a.index - b.index);
|
|
148
|
+
return instructions;
|
|
149
|
+
}
|
|
150
|
+
async quoteDeliveryPrice(dstChain, instructions) {
|
|
151
|
+
const [, totalPrice] = await this.gmpManager.quoteDeliveryPrice(toChainId(dstChain), Ntt.encodeTransceiverInstructions(instructions));
|
|
104
152
|
return totalPrice;
|
|
105
153
|
}
|
|
106
|
-
async *transfer(sender, token, amount, destination) {
|
|
154
|
+
async *transfer(sender, token, amount, destination, destinationGasLimit) {
|
|
107
155
|
const senderAddress = new EvmAddress(sender).toString();
|
|
108
|
-
|
|
109
|
-
const
|
|
110
|
-
const totalPrice = await this.quoteDeliveryPrice(destination.chain, options);
|
|
156
|
+
const transceiverInstructions = await this.createTransceiverInstructions(destination.chain, destinationGasLimit);
|
|
157
|
+
const totalPrice = await this.quoteDeliveryPrice(destination.chain, transceiverInstructions);
|
|
111
158
|
const receiver = universalAddress(destination);
|
|
112
|
-
const transceiverInstructions = Ntt.encodeTransceiverInstructions(this.encodeOptions(options));
|
|
113
159
|
let transferTx;
|
|
114
160
|
if (isNative(token)) {
|
|
115
161
|
const gasTokenTransferArgs = {
|
|
@@ -118,11 +164,11 @@ export class EvmMultiTokenNtt {
|
|
|
118
164
|
recipient: receiver,
|
|
119
165
|
refundAddress: receiver,
|
|
120
166
|
shouldQueue: false,
|
|
121
|
-
transceiverInstructions,
|
|
167
|
+
transceiverInstructions: Ntt.encodeTransceiverInstructions(transceiverInstructions),
|
|
122
168
|
additionalPayload: "0x",
|
|
123
169
|
};
|
|
124
170
|
transferTx =
|
|
125
|
-
await this.
|
|
171
|
+
await this.multiTokenNtt.wrapAndTransferGasToken.populateTransaction(gasTokenTransferArgs, { value: amount + totalPrice });
|
|
126
172
|
}
|
|
127
173
|
else {
|
|
128
174
|
//TODO check for ERC-2612 (permit) support on token?
|
|
@@ -139,39 +185,23 @@ export class EvmMultiTokenNtt {
|
|
|
139
185
|
recipient: receiver,
|
|
140
186
|
refundAddress: receiver,
|
|
141
187
|
shouldQueue: false,
|
|
142
|
-
transceiverInstructions,
|
|
143
|
-
permit: {
|
|
144
|
-
permitted: {
|
|
145
|
-
token: token.toString(),
|
|
146
|
-
amount: 0n,
|
|
147
|
-
},
|
|
148
|
-
nonce: 0n,
|
|
149
|
-
deadline: 0n,
|
|
150
|
-
},
|
|
151
|
-
permitOwner: ethers.ZeroAddress,
|
|
152
|
-
permitSignature: "0x",
|
|
188
|
+
transceiverInstructions: Ntt.encodeTransceiverInstructions(transceiverInstructions),
|
|
153
189
|
additionalPayload: "0x",
|
|
154
190
|
};
|
|
155
|
-
transferTx = await this.
|
|
191
|
+
transferTx = await this.multiTokenNtt.transfer.populateTransaction(transferArgs, { value: totalPrice });
|
|
156
192
|
}
|
|
157
193
|
yield this.createUnsignedTx(addFrom(transferTx, senderAddress), "Ntt.transfer");
|
|
158
194
|
}
|
|
159
|
-
async *redeem(
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
if (attestation?.payloadName !== "WormholeTransfer") {
|
|
166
|
-
// TODO: support standard relayer attestations
|
|
167
|
-
// which must be submitted to the delivery provider
|
|
168
|
-
throw new Error("Invalid attestation type for redeem");
|
|
169
|
-
}
|
|
170
|
-
// TODO: deserialize is throwing. casting is fine for now
|
|
171
|
-
// const serialized = serialize(attestation);
|
|
172
|
-
// const vaa = deserialize("Ntt:WormholeTransfer", serialized);
|
|
173
|
-
yield* xcvr.receive(attestation);
|
|
195
|
+
async *redeem(attestation) {
|
|
196
|
+
const transceivers = await this.getReceiveTransceivers(attestation.emitterChain);
|
|
197
|
+
// TODO: support other transceiver types
|
|
198
|
+
const wormholeTransceiver = transceivers.find((t) => t.type === "wormhole");
|
|
199
|
+
if (!wormholeTransceiver) {
|
|
200
|
+
throw new Error("No Wormhole transceiver registered for this chain");
|
|
174
201
|
}
|
|
202
|
+
const transceiver = this.abiBindings.NttTransceiver.connect(wormholeTransceiver.address, this.provider);
|
|
203
|
+
const tx = await transceiver.receiveMessage.populateTransaction(serialize(attestation));
|
|
204
|
+
yield this.createUnsignedTx(tx, "NttTransceiver.receiveMessage");
|
|
175
205
|
}
|
|
176
206
|
async getTokenMeta(token) {
|
|
177
207
|
const tokenAddress = token.address.toString();
|
|
@@ -186,14 +216,14 @@ export class EvmMultiTokenNtt {
|
|
|
186
216
|
}
|
|
187
217
|
async getCurrentOutboundCapacity(localToken) {
|
|
188
218
|
const { chain, address } = await this.getOriginalToken(localToken);
|
|
189
|
-
return await this.
|
|
219
|
+
return await this.multiTokenNtt.getCurrentOutboundCapacity({
|
|
190
220
|
chainId: toChainId(chain),
|
|
191
221
|
tokenAddress: address.toUint8Array(),
|
|
192
222
|
});
|
|
193
223
|
}
|
|
194
224
|
async getOutboundLimit(localToken) {
|
|
195
225
|
const { chain, address } = await this.getOriginalToken(localToken);
|
|
196
|
-
const encoded = (await this.
|
|
226
|
+
const encoded = (await this.multiTokenNtt.getOutboundLimitParams({
|
|
197
227
|
chainId: toChainId(chain),
|
|
198
228
|
tokenAddress: address.toUint8Array(),
|
|
199
229
|
})).limit;
|
|
@@ -202,7 +232,7 @@ export class EvmMultiTokenNtt {
|
|
|
202
232
|
return untrim(trimmedAmount, tokenMeta.decimals);
|
|
203
233
|
}
|
|
204
234
|
async getCurrentInboundCapacity(originalToken, fromChain) {
|
|
205
|
-
return await this.
|
|
235
|
+
return await this.multiTokenNtt.getCurrentInboundCapacity({
|
|
206
236
|
chainId: toChainId(originalToken.chain),
|
|
207
237
|
tokenAddress: originalToken.address.toUint8Array(),
|
|
208
238
|
}, toChainId(fromChain));
|
|
@@ -211,7 +241,7 @@ export class EvmMultiTokenNtt {
|
|
|
211
241
|
const localToken = await this.getLocalToken(originalToken);
|
|
212
242
|
if (localToken === null)
|
|
213
243
|
return null; // Token not yet created
|
|
214
|
-
const encoded = (await this.
|
|
244
|
+
const encoded = (await this.multiTokenNtt.getInboundLimitParams({
|
|
215
245
|
chainId: toChainId(originalToken.chain),
|
|
216
246
|
tokenAddress: originalToken.address.toUint8Array(),
|
|
217
247
|
}, toChainId(fromChain))).limit;
|
|
@@ -222,27 +252,41 @@ export class EvmMultiTokenNtt {
|
|
|
222
252
|
return untrim(trimmedAmount, tokenMeta.decimals);
|
|
223
253
|
}
|
|
224
254
|
async getRateLimitDuration() {
|
|
225
|
-
return await this.
|
|
255
|
+
return await this.multiTokenNtt.rateLimitDuration();
|
|
226
256
|
}
|
|
227
257
|
async getInboundQueuedTransfer(fromChain, transceiverMessage) {
|
|
228
|
-
const
|
|
258
|
+
const digest = MultiTokenNtt.messageDigest(fromChain, transceiverMessage);
|
|
259
|
+
const queuedTransfer = await this.multiTokenNtt.getInboundQueuedTransfer(digest);
|
|
229
260
|
if (queuedTransfer.txTimestamp > 0n) {
|
|
230
|
-
const {
|
|
261
|
+
const { sourceChainId, txTimestamp } = queuedTransfer;
|
|
231
262
|
const duration = await this.getRateLimitDuration();
|
|
232
263
|
return {
|
|
233
|
-
|
|
234
|
-
amount: amount,
|
|
264
|
+
sourceChain: toChain(sourceChainId),
|
|
235
265
|
rateLimitExpiryTimestamp: Number(txTimestamp + duration),
|
|
236
266
|
};
|
|
237
267
|
}
|
|
238
268
|
return null;
|
|
239
269
|
}
|
|
240
|
-
async *completeInboundQueuedTransfer(fromChain, transceiverMessage
|
|
241
|
-
const
|
|
270
|
+
async *completeInboundQueuedTransfer(fromChain, transceiverMessage) {
|
|
271
|
+
const { trimmedAmount, token, sender, to } = transceiverMessage.payload.data;
|
|
272
|
+
const nttStruct = {
|
|
273
|
+
amount: trimmedAmount.amount,
|
|
274
|
+
token: {
|
|
275
|
+
meta: token.meta,
|
|
276
|
+
token: {
|
|
277
|
+
chainId: toChainId(token.token.chainId),
|
|
278
|
+
tokenAddress: token.token.tokenAddress.toString(),
|
|
279
|
+
},
|
|
280
|
+
},
|
|
281
|
+
sender: sender.toString(),
|
|
282
|
+
to: to.toString(),
|
|
283
|
+
additionalPayload: "0x",
|
|
284
|
+
};
|
|
285
|
+
const tx = await this.multiTokenNtt.completeInboundQueuedTransfer.populateTransaction(nttStruct);
|
|
242
286
|
yield this.createUnsignedTx(tx, "Ntt.completeInboundQueuedTransfer");
|
|
243
287
|
}
|
|
244
288
|
async getOriginalToken(localToken) {
|
|
245
|
-
const [tokenId] = await this.
|
|
289
|
+
const [tokenId] = await this.multiTokenNtt.getTokenId(localToken.address.toString());
|
|
246
290
|
const chain = toChain(tokenId.chainId);
|
|
247
291
|
const address = toUniversal(chain, tokenId.tokenAddress);
|
|
248
292
|
return {
|
|
@@ -250,22 +294,23 @@ export class EvmMultiTokenNtt {
|
|
|
250
294
|
address,
|
|
251
295
|
};
|
|
252
296
|
}
|
|
253
|
-
// This will return null if the token
|
|
297
|
+
// This will return null if the token doesn't exist
|
|
254
298
|
async getLocalToken(originalToken) {
|
|
255
|
-
const localToken = await this.
|
|
299
|
+
const localToken = await this.multiTokenNtt.getToken({
|
|
256
300
|
chainId: toChainId(originalToken.chain),
|
|
257
301
|
tokenAddress: originalToken.address.toUint8Array(),
|
|
258
302
|
});
|
|
259
303
|
if (localToken === ethers.ZeroAddress)
|
|
260
304
|
return null;
|
|
261
|
-
return
|
|
305
|
+
return { chain: this.chain, address: toNative(this.chain, localToken) };
|
|
262
306
|
}
|
|
263
307
|
async getWrappedNativeToken() {
|
|
264
|
-
const wethAddress = await this.
|
|
265
|
-
return
|
|
308
|
+
const wethAddress = await this.multiTokenNtt.WETH();
|
|
309
|
+
return { chain: this.chain, address: toNative(this.chain, wethAddress) };
|
|
266
310
|
}
|
|
311
|
+
// If the local token doesn't exist yet, this will return the address where it will be deployed
|
|
267
312
|
async calculateLocalTokenAddress(originalToken, tokenMeta) {
|
|
268
|
-
const tokenImplementation = await this.
|
|
313
|
+
const tokenImplementation = await this.multiTokenNtt.tokenImplementation();
|
|
269
314
|
const initializeSelector = ethers.id("initialize(string,string,uint8)");
|
|
270
315
|
const coder = ethers.AbiCoder.defaultAbiCoder();
|
|
271
316
|
const constructorArgs = coder.encode(["address", "bytes"], [
|
|
@@ -279,7 +324,7 @@ export class EvmMultiTokenNtt {
|
|
|
279
324
|
]),
|
|
280
325
|
]),
|
|
281
326
|
]);
|
|
282
|
-
const creationCode = await this.
|
|
327
|
+
const creationCode = await this.multiTokenNtt.tokenProxyCreationCode();
|
|
283
328
|
const initCode = ethers.concat([creationCode, constructorArgs]);
|
|
284
329
|
const initCodeHash = ethers.keccak256(initCode);
|
|
285
330
|
const salt = ethers.solidityPackedKeccak256(["uint16", "bytes32"], [toChainId(originalToken.chain), originalToken.address.toUint8Array()]);
|
|
@@ -290,5 +335,16 @@ export class EvmMultiTokenNtt {
|
|
|
290
335
|
createUnsignedTx(txReq, description, parallelizable = false) {
|
|
291
336
|
return new EvmUnsignedTransaction(addChainId(txReq, this.chainId), this.network, this.chain, description, parallelizable);
|
|
292
337
|
}
|
|
338
|
+
// Upper bound estimate of gas limit needed for transfer on the destination chain
|
|
339
|
+
async estimateGasLimit(originalToken) {
|
|
340
|
+
const GAS_LIMIT = 500000n;
|
|
341
|
+
// More gas is needed to create the token on the destination chain
|
|
342
|
+
const GAS_LIMIT_CREATE_TOKEN = 1000000n;
|
|
343
|
+
// Check if the token already exists on the destination chain
|
|
344
|
+
const existingToken = await this.getLocalToken(originalToken);
|
|
345
|
+
const isUnattested = existingToken === null;
|
|
346
|
+
const gasLimit = isUnattested ? GAS_LIMIT_CREATE_TOKEN : GAS_LIMIT;
|
|
347
|
+
return gasLimit;
|
|
348
|
+
}
|
|
293
349
|
}
|
|
294
350
|
//# sourceMappingURL=multiTokenNtt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multiTokenNtt.js","sourceRoot":"","sources":["../../src/multiTokenNtt.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"multiTokenNtt.js","sourceRoot":"","sources":["../../src/multiTokenNtt.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,27 +2,27 @@ import { Provider } from "ethers";
|
|
|
2
2
|
import { _1_1_0 } from "./ethers-contracts/multiTokenNtt/index.js";
|
|
3
3
|
import { NttTransceiverBindings } from "./bindings.js";
|
|
4
4
|
export declare const abiVersions: readonly [readonly ["1.1.0", {
|
|
5
|
-
|
|
6
|
-
connect: typeof import("./ethers-contracts/
|
|
5
|
+
MultiTokenNtt: {
|
|
6
|
+
connect: typeof import("./ethers-contracts/1_1_0/index.js").MultiTokenNtt__factory.connect;
|
|
7
7
|
};
|
|
8
8
|
NttTransceiver: {
|
|
9
9
|
connect: typeof import("./ethers-contracts/1_1_0/index.js").WormholeTransceiver__factory.connect;
|
|
10
10
|
};
|
|
11
11
|
GmpManager: {
|
|
12
|
-
connect: typeof import("./ethers-contracts/
|
|
12
|
+
connect: typeof import("./ethers-contracts/1_1_0/index.js").GmpManager__factory.connect;
|
|
13
13
|
};
|
|
14
14
|
}]];
|
|
15
15
|
export type AbiVersion = (typeof abiVersions)[number][0];
|
|
16
16
|
export interface MultiTokenNttBindings {
|
|
17
|
-
|
|
17
|
+
MultiTokenNtt: MultiTokenNttBindings;
|
|
18
18
|
GmpManager: GmpManagerBindings;
|
|
19
19
|
NttTransceiver: NttTransceiverBindings;
|
|
20
20
|
}
|
|
21
|
-
export declare namespace
|
|
22
|
-
type
|
|
21
|
+
export declare namespace MultiTokenNttBindings {
|
|
22
|
+
type MultiTokenNtt = ReturnType<typeof _1_1_0.MultiTokenNtt.connect>;
|
|
23
23
|
}
|
|
24
|
-
export interface
|
|
25
|
-
connect(address: string, provider: Provider):
|
|
24
|
+
export interface MultiTokenNttBindings {
|
|
25
|
+
connect(address: string, provider: Provider): MultiTokenNttBindings.MultiTokenNtt;
|
|
26
26
|
}
|
|
27
27
|
export declare namespace GmpManagerBindings {
|
|
28
28
|
type GmpManager = ReturnType<typeof _1_1_0.GmpManager.connect>;
|
|
@@ -31,14 +31,14 @@ export interface GmpManagerBindings {
|
|
|
31
31
|
connect(address: string, provider: Provider): GmpManagerBindings.GmpManager;
|
|
32
32
|
}
|
|
33
33
|
export declare function loadAbiVersion(targetVersion: string): {
|
|
34
|
-
|
|
35
|
-
connect: typeof import("./ethers-contracts/
|
|
34
|
+
MultiTokenNtt: {
|
|
35
|
+
connect: typeof import("./ethers-contracts/1_1_0/index.js").MultiTokenNtt__factory.connect;
|
|
36
36
|
};
|
|
37
37
|
NttTransceiver: {
|
|
38
38
|
connect: typeof import("./ethers-contracts/1_1_0/index.js").WormholeTransceiver__factory.connect;
|
|
39
39
|
};
|
|
40
40
|
GmpManager: {
|
|
41
|
-
connect: typeof import("./ethers-contracts/
|
|
41
|
+
connect: typeof import("./ethers-contracts/1_1_0/index.js").GmpManager__factory.connect;
|
|
42
42
|
};
|
|
43
43
|
};
|
|
44
44
|
//# sourceMappingURL=multiTokenNttBindings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multiTokenNttBindings.d.ts","sourceRoot":"","sources":["../../src/multiTokenNttBindings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAEnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAKvD,eAAO,MAAM,WAAW;;;;;;;;;;GAA+B,CAAC;AACxD,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAEzD,MAAM,WAAW,qBAAqB;IACpC,
|
|
1
|
+
{"version":3,"file":"multiTokenNttBindings.d.ts","sourceRoot":"","sources":["../../src/multiTokenNttBindings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAEnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAKvD,eAAO,MAAM,WAAW;;;;;;;;;;GAA+B,CAAC;AACxD,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAEzD,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,qBAAqB,CAAC;IACrC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,cAAc,EAAE,sBAAsB,CAAC;CACxC;AAED,yBAAiB,qBAAqB,CAAC;IACrC,KAAY,aAAa,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;CAC7E;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,CACL,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,QAAQ,GACjB,qBAAqB,CAAC,aAAa,CAAC;CACxC;AAED,yBAAiB,kBAAkB,CAAC;IAClC,KAAY,UAAU,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;CACvE;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,kBAAkB,CAAC,UAAU,CAAC;CAC7E;AAED,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM;;;;;;;;;;EAOnD"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { type Provider } from "ethers";
|
|
1
|
+
import { type Provider, type TransactionRequest } from "ethers";
|
|
2
2
|
import { AccountAddress, ChainAddress, ChainsConfig, Contracts, Network, TokenId, UnsignedTransaction } from "@wormhole-foundation/sdk-connect";
|
|
3
|
-
import { EvmChains, EvmPlatformType } from "@wormhole-foundation/sdk-evm";
|
|
3
|
+
import { EvmChains, EvmPlatformType, EvmUnsignedTransaction } from "@wormhole-foundation/sdk-evm";
|
|
4
4
|
import { type MultiTokenNtt, type MultiTokenNttWithExecutor } from "@wormhole-foundation/sdk-definitions-ntt";
|
|
5
|
-
import { EvmMultiTokenNtt } from "./multiTokenNtt.js";
|
|
6
5
|
export declare class EvmMultiTokenNttWithExecutor<N extends Network, C extends EvmChains = EvmChains> implements MultiTokenNttWithExecutor<N, C> {
|
|
7
6
|
readonly network: N;
|
|
8
7
|
readonly chain: C;
|
|
@@ -11,15 +10,13 @@ export declare class EvmMultiTokenNttWithExecutor<N extends Network, C extends E
|
|
|
11
10
|
multiTokenNtt?: MultiTokenNtt.Contracts;
|
|
12
11
|
};
|
|
13
12
|
readonly chainId: bigint;
|
|
13
|
+
readonly managerAddress: string;
|
|
14
14
|
readonly multiTokenNttWithExecutorAddress: string;
|
|
15
15
|
constructor(network: N, chain: C, provider: Provider, contracts: Contracts & {
|
|
16
16
|
multiTokenNtt?: MultiTokenNtt.Contracts;
|
|
17
17
|
});
|
|
18
18
|
static fromRpc<N extends Network>(provider: Provider, config: ChainsConfig<N, EvmPlatformType>): Promise<EvmMultiTokenNttWithExecutor<N, EvmChains>>;
|
|
19
|
-
transfer(sender: AccountAddress<C>, destination: ChainAddress, token: TokenId<C>, amount: bigint, quote: MultiTokenNttWithExecutor.Quote
|
|
20
|
-
|
|
21
|
-
msgValue: bigint;
|
|
22
|
-
gasLimit: bigint;
|
|
23
|
-
}>;
|
|
19
|
+
transfer(sender: AccountAddress<C>, destination: ChainAddress, token: TokenId<C>, amount: bigint, quote: MultiTokenNttWithExecutor.Quote): AsyncGenerator<UnsignedTransaction<N, C>>;
|
|
20
|
+
createUnsignedTx(txReq: TransactionRequest, description: string, parallelizable?: boolean): EvmUnsignedTransaction<N, C>;
|
|
24
21
|
}
|
|
25
22
|
//# sourceMappingURL=multiTokenNttWithExecutor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multiTokenNttWithExecutor.d.ts","sourceRoot":"","sources":["../../src/multiTokenNttWithExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,QAAQ,
|
|
1
|
+
{"version":3,"file":"multiTokenNttWithExecutor.d.ts","sourceRoot":"","sources":["../../src/multiTokenNttWithExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,QAAQ,EAAE,KAAK,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAC3E,OAAO,EACL,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,OAAO,EACP,OAAO,EACP,mBAAmB,EAIpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,SAAS,EAET,eAAe,EAEf,sBAAsB,EAEvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,yBAAyB,EAC/B,MAAM,0CAA0C,CAAC;AAWlD,qBAAa,4BAA4B,CACvC,CAAC,SAAS,OAAO,EACjB,CAAC,SAAS,SAAS,GAAG,SAAS,CAC/B,YAAW,yBAAyB,CAAC,CAAC,EAAE,CAAC,CAAC;IAOxC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,QAAQ,CAAC,QAAQ,EAAE,QAAQ;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG;QAAE,aAAa,CAAC,EAAE,aAAa,CAAC,SAAS,CAAA;KAAE;IAR7E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gCAAgC,EAAE,MAAM,CAAC;gBAGvC,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,GAAG;QAAE,aAAa,CAAC,EAAE,aAAa,CAAC,SAAS,CAAA;KAAE;WAyBhE,OAAO,CAAC,CAAC,SAAS,OAAO,EACpC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,YAAY,CAAC,CAAC,EAAE,eAAe,CAAC,GACvC,OAAO,CAAC,4BAA4B,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAc/C,QAAQ,CACb,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,WAAW,EAAE,YAAY,EACzB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EACjB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,yBAAyB,CAAC,KAAK,GACrC,cAAc,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAkG5C,gBAAgB,CACd,KAAK,EAAE,kBAAkB,EACzB,WAAW,EAAE,MAAM,EACnB,cAAc,GAAE,OAAe,GAC9B,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC;CAShC"}
|