@wormhole-foundation/sdk-evm-tokenbridge 1.14.1 → 1.14.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/automaticTokenBridge.d.ts +2 -0
- package/dist/cjs/automaticTokenBridge.d.ts.map +1 -1
- package/dist/cjs/automaticTokenBridge.js +6 -2
- package/dist/cjs/automaticTokenBridge.js.map +1 -1
- package/dist/cjs/tokenBridge.d.ts +2 -0
- package/dist/cjs/tokenBridge.d.ts.map +1 -1
- package/dist/cjs/tokenBridge.js +12 -5
- package/dist/cjs/tokenBridge.js.map +1 -1
- package/dist/esm/automaticTokenBridge.d.ts +2 -0
- package/dist/esm/automaticTokenBridge.d.ts.map +1 -1
- package/dist/esm/automaticTokenBridge.js +6 -2
- package/dist/esm/automaticTokenBridge.js.map +1 -1
- package/dist/esm/tokenBridge.d.ts +2 -0
- package/dist/esm/tokenBridge.d.ts.map +1 -1
- package/dist/esm/tokenBridge.js +12 -5
- package/dist/esm/tokenBridge.js.map +1 -1
- package/package.json +4 -4
|
@@ -4,6 +4,7 @@ import { EvmUnsignedTransaction } from '@wormhole-foundation/sdk-evm';
|
|
|
4
4
|
import type { Provider } from 'ethers';
|
|
5
5
|
import { ethers_contracts } from './index.js';
|
|
6
6
|
import '@wormhole-foundation/sdk-evm-core';
|
|
7
|
+
import { EvmWormholeCore } from '@wormhole-foundation/sdk-evm-core';
|
|
7
8
|
export declare class EvmAutomaticTokenBridge<N extends Network, C extends EvmChains> implements AutomaticTokenBridge<N, C> {
|
|
8
9
|
readonly network: N;
|
|
9
10
|
readonly chain: C;
|
|
@@ -11,6 +12,7 @@ export declare class EvmAutomaticTokenBridge<N extends Network, C extends EvmCha
|
|
|
11
12
|
readonly contracts: Contracts;
|
|
12
13
|
readonly tokenBridgeRelayer: ethers_contracts.TokenBridgeRelayer;
|
|
13
14
|
readonly tokenBridge: ethers_contracts.TokenBridgeContract;
|
|
15
|
+
readonly core: EvmWormholeCore<N, C>;
|
|
14
16
|
readonly chainId: bigint;
|
|
15
17
|
constructor(network: N, chain: C, provider: Provider, contracts: Contracts);
|
|
16
18
|
redeem(sender: AccountAddress<C>, vaa: AutomaticTokenBridge.VAA): AsyncGenerator<EvmUnsignedTransaction<N, C>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"automaticTokenBridge.d.ts","sourceRoot":"","sources":["../../src/automaticTokenBridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,aAAa,EACb,OAAO,EACP,YAAY,EACb,MAAM,kCAAkC,CAAC;AAQ1C,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,EAGL,sBAAsB,EAGvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAsB,MAAM,QAAQ,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"automaticTokenBridge.d.ts","sourceRoot":"","sources":["../../src/automaticTokenBridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,aAAa,EACb,OAAO,EACP,YAAY,EACb,MAAM,kCAAkC,CAAC;AAQ1C,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,EAGL,sBAAsB,EAGvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAsB,MAAM,QAAQ,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,mCAAmC,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEpE,qBAAa,uBAAuB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,SAAS,CACzE,YAAW,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC;IAQnC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,QAAQ,CAAC,QAAQ,EAAE,QAAQ;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS;IAT/B,QAAQ,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,kBAAkB,CAAC;IACjE,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC,mBAAmB,CAAC;IAC3D,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAGd,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS;IAkCxB,MAAM,CACX,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,GAAG,EAAE,oBAAoB,CAAC,GAAG,GAC5B,cAAc,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;WAalC,OAAO,CAAC,CAAC,SAAS,OAAO,EACpC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,YAAY,CAAC,CAAC,EAAE,eAAe,CAAC,GACvC,OAAO,CAAC,uBAAuB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAgB1C,QAAQ,CACb,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,SAAS,EAAE,YAAY,EACvB,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EACtB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB,cAAc,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAmEzC,aAAa,CACjB,WAAW,EAAE,KAAK,EAClB,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GACrB,OAAO,CAAC,MAAM,CAAC;IAoBZ,iBAAiB,CACrB,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC;IAQZ,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAKtD,mBAAmB,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IAKlD,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;YAKnD,YAAY;IAM1B,OAAO,CAAC,gBAAgB;CAazB"}
|
|
@@ -5,6 +5,7 @@ const sdk_connect_1 = require("@wormhole-foundation/sdk-connect");
|
|
|
5
5
|
const sdk_evm_1 = require("@wormhole-foundation/sdk-evm");
|
|
6
6
|
const index_js_1 = require("./index.js");
|
|
7
7
|
require("@wormhole-foundation/sdk-evm-core");
|
|
8
|
+
const sdk_evm_core_1 = require("@wormhole-foundation/sdk-evm-core");
|
|
8
9
|
class EvmAutomaticTokenBridge {
|
|
9
10
|
network;
|
|
10
11
|
chain;
|
|
@@ -12,6 +13,7 @@ class EvmAutomaticTokenBridge {
|
|
|
12
13
|
contracts;
|
|
13
14
|
tokenBridgeRelayer;
|
|
14
15
|
tokenBridge;
|
|
16
|
+
core;
|
|
15
17
|
chainId;
|
|
16
18
|
constructor(network, chain, provider, contracts) {
|
|
17
19
|
this.network = network;
|
|
@@ -30,6 +32,7 @@ class EvmAutomaticTokenBridge {
|
|
|
30
32
|
throw new Error(`Wormhole Token Bridge Relayer contract for domain ${chain} not found`);
|
|
31
33
|
this.tokenBridgeRelayer =
|
|
32
34
|
index_js_1.ethers_contracts.TokenBridgeRelayer__factory.connect(relayerAddress, provider);
|
|
35
|
+
this.core = new sdk_evm_core_1.EvmWormholeCore(network, chain, provider, contracts);
|
|
33
36
|
}
|
|
34
37
|
async *redeem(sender, vaa) {
|
|
35
38
|
const senderAddr = new sdk_evm_1.EvmAddress(sender).toString();
|
|
@@ -47,13 +50,14 @@ class EvmAutomaticTokenBridge {
|
|
|
47
50
|
async *transfer(sender, recipient, token, amount, nativeGas) {
|
|
48
51
|
const senderAddr = new sdk_evm_1.EvmAddress(sender).toString();
|
|
49
52
|
const recipientChainId = (0, sdk_connect_1.toChainId)(recipient.chain);
|
|
53
|
+
const messageFee = await this.core.getMessageFee();
|
|
50
54
|
const recipientAddress = recipient.address
|
|
51
55
|
.toUniversalAddress()
|
|
52
56
|
.toUint8Array();
|
|
53
57
|
const nativeTokenGas = nativeGas ? nativeGas : 0n;
|
|
54
58
|
if ((0, sdk_connect_1.isNative)(token)) {
|
|
55
59
|
const txReq = await this.tokenBridgeRelayer.wrapAndTransferEthWithRelay.populateTransaction(nativeTokenGas, recipientChainId, recipientAddress, 0, // skip batching
|
|
56
|
-
{ value: amount });
|
|
60
|
+
{ value: amount + messageFee });
|
|
57
61
|
yield this.createUnsignedTx((0, sdk_evm_1.addFrom)(txReq, senderAddr), 'TokenBridgeRelayer.wrapAndTransferETHWithRelay');
|
|
58
62
|
}
|
|
59
63
|
else {
|
|
@@ -65,7 +69,7 @@ class EvmAutomaticTokenBridge {
|
|
|
65
69
|
const txReq = await tokenContract.approve.populateTransaction(this.tokenBridgeRelayer.target, amount);
|
|
66
70
|
yield this.createUnsignedTx((0, sdk_evm_1.addFrom)(txReq, senderAddr), 'AutomaticTokenBridge.Approve');
|
|
67
71
|
}
|
|
68
|
-
const txReq = await this.tokenBridgeRelayer.transferTokensWithRelay.populateTransaction(tokenAddr, amount, nativeTokenGas, recipientChainId, recipientAddress, 0);
|
|
72
|
+
const txReq = await this.tokenBridgeRelayer.transferTokensWithRelay.populateTransaction(tokenAddr, amount, nativeTokenGas, recipientChainId, recipientAddress, 0, { value: messageFee });
|
|
69
73
|
yield this.createUnsignedTx((0, sdk_evm_1.addFrom)(txReq, senderAddr), 'TokenBridgeRelayer.TransferTokensWithRelay');
|
|
70
74
|
}
|
|
71
75
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"automaticTokenBridge.js","sourceRoot":"","sources":["../../src/automaticTokenBridge.ts"],"names":[],"mappings":";;;AAWA,kEAM0C;AAE1C,0DAMsC;AAEtC,yCAA8C;AAE9C,6CAA2C;
|
|
1
|
+
{"version":3,"file":"automaticTokenBridge.js","sourceRoot":"","sources":["../../src/automaticTokenBridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,12 +5,14 @@ import type { TokenBridgeContract } from './ethers-contracts/index.js';
|
|
|
5
5
|
import type { EvmChains } from '@wormhole-foundation/sdk-evm';
|
|
6
6
|
import { EvmUnsignedTransaction } from '@wormhole-foundation/sdk-evm';
|
|
7
7
|
import '@wormhole-foundation/sdk-evm-core';
|
|
8
|
+
import { EvmWormholeCore } from '@wormhole-foundation/sdk-evm-core';
|
|
8
9
|
export declare class EvmTokenBridge<N extends Network, C extends EvmChains> implements TokenBridge<N, C> {
|
|
9
10
|
readonly network: N;
|
|
10
11
|
readonly chain: C;
|
|
11
12
|
readonly provider: Provider;
|
|
12
13
|
readonly contracts: Contracts;
|
|
13
14
|
readonly tokenBridge: TokenBridgeContract;
|
|
15
|
+
readonly core: EvmWormholeCore<N, C>;
|
|
14
16
|
readonly tokenBridgeAddress: string;
|
|
15
17
|
readonly chainId: bigint;
|
|
16
18
|
constructor(network: N, chain: C, provider: Provider, contracts: Contracts);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenBridge.d.ts","sourceRoot":"","sources":["../../src/tokenBridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,aAAa,EACb,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,OAAO,EACR,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAEL,gBAAgB,EAQjB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAsB,MAAM,QAAQ,CAAC;AAG3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAGL,sBAAsB,EAMvB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"tokenBridge.d.ts","sourceRoot":"","sources":["../../src/tokenBridge.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/tokenBridge.js
CHANGED
|
@@ -5,12 +5,14 @@ const sdk_connect_1 = require("@wormhole-foundation/sdk-connect");
|
|
|
5
5
|
const index_js_1 = require("./index.js");
|
|
6
6
|
const sdk_evm_1 = require("@wormhole-foundation/sdk-evm");
|
|
7
7
|
require("@wormhole-foundation/sdk-evm-core");
|
|
8
|
+
const sdk_evm_core_1 = require("@wormhole-foundation/sdk-evm-core");
|
|
8
9
|
class EvmTokenBridge {
|
|
9
10
|
network;
|
|
10
11
|
chain;
|
|
11
12
|
provider;
|
|
12
13
|
contracts;
|
|
13
14
|
tokenBridge;
|
|
15
|
+
core;
|
|
14
16
|
tokenBridgeAddress;
|
|
15
17
|
chainId;
|
|
16
18
|
constructor(network, chain, provider, contracts) {
|
|
@@ -24,6 +26,7 @@ class EvmTokenBridge {
|
|
|
24
26
|
throw new Error(`Wormhole Token Bridge contract for domain ${chain} not found`);
|
|
25
27
|
this.tokenBridgeAddress = tokenBridgeAddress;
|
|
26
28
|
this.tokenBridge = index_js_1.ethers_contracts.Bridge__factory.connect(this.tokenBridgeAddress, provider);
|
|
29
|
+
this.core = new sdk_evm_core_1.EvmWormholeCore(network, chain, provider, contracts);
|
|
27
30
|
}
|
|
28
31
|
static async fromRpc(provider, config) {
|
|
29
32
|
const [network, chain] = await sdk_evm_1.EvmPlatform.chainFromRpc(provider);
|
|
@@ -83,8 +86,11 @@ class EvmTokenBridge {
|
|
|
83
86
|
return this.tokenBridge.isTransferCompleted((0, sdk_connect_1.keccak256)(vaa.hash));
|
|
84
87
|
}
|
|
85
88
|
async *createAttestation(token) {
|
|
89
|
+
const messageFee = await this.core.getMessageFee();
|
|
86
90
|
const ignoredNonce = 0;
|
|
87
|
-
yield this.createUnsignedTx(await this.tokenBridge.attestToken.populateTransaction(token.toString(), ignoredNonce
|
|
91
|
+
yield this.createUnsignedTx(await this.tokenBridge.attestToken.populateTransaction(token.toString(), ignoredNonce, {
|
|
92
|
+
value: messageFee,
|
|
93
|
+
}), 'TokenBridge.createAttestation');
|
|
88
94
|
}
|
|
89
95
|
async *submitAttestation(vaa) {
|
|
90
96
|
const func = (await this.hasWrappedAsset({
|
|
@@ -100,10 +106,11 @@ class EvmTokenBridge {
|
|
|
100
106
|
const recipientAddress = recipient.address
|
|
101
107
|
.toUniversalAddress()
|
|
102
108
|
.toUint8Array();
|
|
109
|
+
const messageFee = await this.core.getMessageFee();
|
|
103
110
|
if ((0, sdk_connect_1.isNative)(token)) {
|
|
104
111
|
const txReq = await (payload === undefined
|
|
105
|
-
? this.tokenBridge.wrapAndTransferETH.populateTransaction(recipientChainId, recipientAddress, sdk_evm_1.unusedArbiterFee, sdk_evm_1.unusedNonce, { value: amount })
|
|
106
|
-
: this.tokenBridge.wrapAndTransferETHWithPayload.populateTransaction(recipientChainId, recipientAddress, sdk_evm_1.unusedNonce, payload, { value: amount }));
|
|
112
|
+
? this.tokenBridge.wrapAndTransferETH.populateTransaction(recipientChainId, recipientAddress, sdk_evm_1.unusedArbiterFee, sdk_evm_1.unusedNonce, { value: amount + messageFee })
|
|
113
|
+
: this.tokenBridge.wrapAndTransferETHWithPayload.populateTransaction(recipientChainId, recipientAddress, sdk_evm_1.unusedNonce, payload, { value: amount + messageFee }));
|
|
107
114
|
yield this.createUnsignedTx((0, sdk_evm_1.addFrom)(txReq, senderAddr), 'TokenBridge.wrapAndTransferETH' +
|
|
108
115
|
(payload === undefined ? '' : 'WithPayload'));
|
|
109
116
|
}
|
|
@@ -123,8 +130,8 @@ class EvmTokenBridge {
|
|
|
123
130
|
recipientAddress,
|
|
124
131
|
];
|
|
125
132
|
const txReq = await (payload === undefined
|
|
126
|
-
? this.tokenBridge.transferTokens.populateTransaction(...sharedParams, sdk_evm_1.unusedArbiterFee, sdk_evm_1.unusedNonce)
|
|
127
|
-
: this.tokenBridge.transferTokensWithPayload.populateTransaction(...sharedParams, sdk_evm_1.unusedNonce, payload));
|
|
133
|
+
? this.tokenBridge.transferTokens.populateTransaction(...sharedParams, sdk_evm_1.unusedArbiterFee, sdk_evm_1.unusedNonce, { value: messageFee })
|
|
134
|
+
: this.tokenBridge.transferTokensWithPayload.populateTransaction(...sharedParams, sdk_evm_1.unusedNonce, payload, { value: messageFee }));
|
|
128
135
|
yield this.createUnsignedTx((0, sdk_evm_1.addFrom)(txReq, senderAddr), 'TokenBridge.transferTokens' +
|
|
129
136
|
(payload === undefined ? '' : 'WithPayload'));
|
|
130
137
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenBridge.js","sourceRoot":"","sources":["../../src/tokenBridge.ts"],"names":[],"mappings":";;;AAaA,kEAU0C;AAG1C,yCAA8C;AAI9C,0DASsC;AAEtC,6CAA2C;
|
|
1
|
+
{"version":3,"file":"tokenBridge.js","sourceRoot":"","sources":["../../src/tokenBridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { EvmUnsignedTransaction } from '@wormhole-foundation/sdk-evm';
|
|
|
4
4
|
import type { Provider } from 'ethers';
|
|
5
5
|
import { ethers_contracts } from './index.js';
|
|
6
6
|
import '@wormhole-foundation/sdk-evm-core';
|
|
7
|
+
import { EvmWormholeCore } from '@wormhole-foundation/sdk-evm-core';
|
|
7
8
|
export declare class EvmAutomaticTokenBridge<N extends Network, C extends EvmChains> implements AutomaticTokenBridge<N, C> {
|
|
8
9
|
readonly network: N;
|
|
9
10
|
readonly chain: C;
|
|
@@ -11,6 +12,7 @@ export declare class EvmAutomaticTokenBridge<N extends Network, C extends EvmCha
|
|
|
11
12
|
readonly contracts: Contracts;
|
|
12
13
|
readonly tokenBridgeRelayer: ethers_contracts.TokenBridgeRelayer;
|
|
13
14
|
readonly tokenBridge: ethers_contracts.TokenBridgeContract;
|
|
15
|
+
readonly core: EvmWormholeCore<N, C>;
|
|
14
16
|
readonly chainId: bigint;
|
|
15
17
|
constructor(network: N, chain: C, provider: Provider, contracts: Contracts);
|
|
16
18
|
redeem(sender: AccountAddress<C>, vaa: AutomaticTokenBridge.VAA): AsyncGenerator<EvmUnsignedTransaction<N, C>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"automaticTokenBridge.d.ts","sourceRoot":"","sources":["../../src/automaticTokenBridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,aAAa,EACb,OAAO,EACP,YAAY,EACb,MAAM,kCAAkC,CAAC;AAQ1C,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,EAGL,sBAAsB,EAGvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAsB,MAAM,QAAQ,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"automaticTokenBridge.d.ts","sourceRoot":"","sources":["../../src/automaticTokenBridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,aAAa,EACb,OAAO,EACP,YAAY,EACb,MAAM,kCAAkC,CAAC;AAQ1C,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,EAGL,sBAAsB,EAGvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAsB,MAAM,QAAQ,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,mCAAmC,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEpE,qBAAa,uBAAuB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,SAAS,CACzE,YAAW,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC;IAQnC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,QAAQ,CAAC,QAAQ,EAAE,QAAQ;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS;IAT/B,QAAQ,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,kBAAkB,CAAC;IACjE,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC,mBAAmB,CAAC;IAC3D,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAGd,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS;IAkCxB,MAAM,CACX,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,GAAG,EAAE,oBAAoB,CAAC,GAAG,GAC5B,cAAc,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;WAalC,OAAO,CAAC,CAAC,SAAS,OAAO,EACpC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,YAAY,CAAC,CAAC,EAAE,eAAe,CAAC,GACvC,OAAO,CAAC,uBAAuB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAgB1C,QAAQ,CACb,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,SAAS,EAAE,YAAY,EACvB,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EACtB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB,cAAc,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAmEzC,aAAa,CACjB,WAAW,EAAE,KAAK,EAClB,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GACrB,OAAO,CAAC,MAAM,CAAC;IAoBZ,iBAAiB,CACrB,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC;IAQZ,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAKtD,mBAAmB,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IAKlD,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;YAKnD,YAAY;IAM1B,OAAO,CAAC,gBAAgB;CAazB"}
|
|
@@ -2,6 +2,7 @@ import { isNative, serialize, toNative, nativeChainIds, toChainId, } from '@worm
|
|
|
2
2
|
import { EvmAddress, EvmPlatform, EvmUnsignedTransaction, addChainId, addFrom, } from '@wormhole-foundation/sdk-evm';
|
|
3
3
|
import { ethers_contracts } from './index.js';
|
|
4
4
|
import '@wormhole-foundation/sdk-evm-core';
|
|
5
|
+
import { EvmWormholeCore } from '@wormhole-foundation/sdk-evm-core';
|
|
5
6
|
export class EvmAutomaticTokenBridge {
|
|
6
7
|
network;
|
|
7
8
|
chain;
|
|
@@ -9,6 +10,7 @@ export class EvmAutomaticTokenBridge {
|
|
|
9
10
|
contracts;
|
|
10
11
|
tokenBridgeRelayer;
|
|
11
12
|
tokenBridge;
|
|
13
|
+
core;
|
|
12
14
|
chainId;
|
|
13
15
|
constructor(network, chain, provider, contracts) {
|
|
14
16
|
this.network = network;
|
|
@@ -27,6 +29,7 @@ export class EvmAutomaticTokenBridge {
|
|
|
27
29
|
throw new Error(`Wormhole Token Bridge Relayer contract for domain ${chain} not found`);
|
|
28
30
|
this.tokenBridgeRelayer =
|
|
29
31
|
ethers_contracts.TokenBridgeRelayer__factory.connect(relayerAddress, provider);
|
|
32
|
+
this.core = new EvmWormholeCore(network, chain, provider, contracts);
|
|
30
33
|
}
|
|
31
34
|
async *redeem(sender, vaa) {
|
|
32
35
|
const senderAddr = new EvmAddress(sender).toString();
|
|
@@ -44,13 +47,14 @@ export class EvmAutomaticTokenBridge {
|
|
|
44
47
|
async *transfer(sender, recipient, token, amount, nativeGas) {
|
|
45
48
|
const senderAddr = new EvmAddress(sender).toString();
|
|
46
49
|
const recipientChainId = toChainId(recipient.chain);
|
|
50
|
+
const messageFee = await this.core.getMessageFee();
|
|
47
51
|
const recipientAddress = recipient.address
|
|
48
52
|
.toUniversalAddress()
|
|
49
53
|
.toUint8Array();
|
|
50
54
|
const nativeTokenGas = nativeGas ? nativeGas : 0n;
|
|
51
55
|
if (isNative(token)) {
|
|
52
56
|
const txReq = await this.tokenBridgeRelayer.wrapAndTransferEthWithRelay.populateTransaction(nativeTokenGas, recipientChainId, recipientAddress, 0, // skip batching
|
|
53
|
-
{ value: amount });
|
|
57
|
+
{ value: amount + messageFee });
|
|
54
58
|
yield this.createUnsignedTx(addFrom(txReq, senderAddr), 'TokenBridgeRelayer.wrapAndTransferETHWithRelay');
|
|
55
59
|
}
|
|
56
60
|
else {
|
|
@@ -62,7 +66,7 @@ export class EvmAutomaticTokenBridge {
|
|
|
62
66
|
const txReq = await tokenContract.approve.populateTransaction(this.tokenBridgeRelayer.target, amount);
|
|
63
67
|
yield this.createUnsignedTx(addFrom(txReq, senderAddr), 'AutomaticTokenBridge.Approve');
|
|
64
68
|
}
|
|
65
|
-
const txReq = await this.tokenBridgeRelayer.transferTokensWithRelay.populateTransaction(tokenAddr, amount, nativeTokenGas, recipientChainId, recipientAddress, 0);
|
|
69
|
+
const txReq = await this.tokenBridgeRelayer.transferTokensWithRelay.populateTransaction(tokenAddr, amount, nativeTokenGas, recipientChainId, recipientAddress, 0, { value: messageFee });
|
|
66
70
|
yield this.createUnsignedTx(addFrom(txReq, senderAddr), 'TokenBridgeRelayer.TransferTokensWithRelay');
|
|
67
71
|
}
|
|
68
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"automaticTokenBridge.js","sourceRoot":"","sources":["../../src/automaticTokenBridge.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,cAAc,EACd,SAAS,GACV,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,UAAU,EACV,WAAW,EACX,sBAAsB,EACtB,UAAU,EACV,OAAO,GACR,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"automaticTokenBridge.js","sourceRoot":"","sources":["../../src/automaticTokenBridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,12 +5,14 @@ import type { TokenBridgeContract } from './ethers-contracts/index.js';
|
|
|
5
5
|
import type { EvmChains } from '@wormhole-foundation/sdk-evm';
|
|
6
6
|
import { EvmUnsignedTransaction } from '@wormhole-foundation/sdk-evm';
|
|
7
7
|
import '@wormhole-foundation/sdk-evm-core';
|
|
8
|
+
import { EvmWormholeCore } from '@wormhole-foundation/sdk-evm-core';
|
|
8
9
|
export declare class EvmTokenBridge<N extends Network, C extends EvmChains> implements TokenBridge<N, C> {
|
|
9
10
|
readonly network: N;
|
|
10
11
|
readonly chain: C;
|
|
11
12
|
readonly provider: Provider;
|
|
12
13
|
readonly contracts: Contracts;
|
|
13
14
|
readonly tokenBridge: TokenBridgeContract;
|
|
15
|
+
readonly core: EvmWormholeCore<N, C>;
|
|
14
16
|
readonly tokenBridgeAddress: string;
|
|
15
17
|
readonly chainId: bigint;
|
|
16
18
|
constructor(network: N, chain: C, provider: Provider, contracts: Contracts);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenBridge.d.ts","sourceRoot":"","sources":["../../src/tokenBridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,aAAa,EACb,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,OAAO,EACR,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAEL,gBAAgB,EAQjB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAsB,MAAM,QAAQ,CAAC;AAG3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAGL,sBAAsB,EAMvB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"tokenBridge.d.ts","sourceRoot":"","sources":["../../src/tokenBridge.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/tokenBridge.js
CHANGED
|
@@ -2,12 +2,14 @@ import { ErrNotWrapped, UniversalAddress, isNative, keccak256, nativeChainIds, s
|
|
|
2
2
|
import { ethers_contracts } from './index.js';
|
|
3
3
|
import { EvmAddress, EvmPlatform, EvmUnsignedTransaction, EvmZeroAddress, addChainId, addFrom, unusedArbiterFee, unusedNonce, } from '@wormhole-foundation/sdk-evm';
|
|
4
4
|
import '@wormhole-foundation/sdk-evm-core';
|
|
5
|
+
import { EvmWormholeCore } from '@wormhole-foundation/sdk-evm-core';
|
|
5
6
|
export class EvmTokenBridge {
|
|
6
7
|
network;
|
|
7
8
|
chain;
|
|
8
9
|
provider;
|
|
9
10
|
contracts;
|
|
10
11
|
tokenBridge;
|
|
12
|
+
core;
|
|
11
13
|
tokenBridgeAddress;
|
|
12
14
|
chainId;
|
|
13
15
|
constructor(network, chain, provider, contracts) {
|
|
@@ -21,6 +23,7 @@ export class EvmTokenBridge {
|
|
|
21
23
|
throw new Error(`Wormhole Token Bridge contract for domain ${chain} not found`);
|
|
22
24
|
this.tokenBridgeAddress = tokenBridgeAddress;
|
|
23
25
|
this.tokenBridge = ethers_contracts.Bridge__factory.connect(this.tokenBridgeAddress, provider);
|
|
26
|
+
this.core = new EvmWormholeCore(network, chain, provider, contracts);
|
|
24
27
|
}
|
|
25
28
|
static async fromRpc(provider, config) {
|
|
26
29
|
const [network, chain] = await EvmPlatform.chainFromRpc(provider);
|
|
@@ -80,8 +83,11 @@ export class EvmTokenBridge {
|
|
|
80
83
|
return this.tokenBridge.isTransferCompleted(keccak256(vaa.hash));
|
|
81
84
|
}
|
|
82
85
|
async *createAttestation(token) {
|
|
86
|
+
const messageFee = await this.core.getMessageFee();
|
|
83
87
|
const ignoredNonce = 0;
|
|
84
|
-
yield this.createUnsignedTx(await this.tokenBridge.attestToken.populateTransaction(token.toString(), ignoredNonce
|
|
88
|
+
yield this.createUnsignedTx(await this.tokenBridge.attestToken.populateTransaction(token.toString(), ignoredNonce, {
|
|
89
|
+
value: messageFee,
|
|
90
|
+
}), 'TokenBridge.createAttestation');
|
|
85
91
|
}
|
|
86
92
|
async *submitAttestation(vaa) {
|
|
87
93
|
const func = (await this.hasWrappedAsset({
|
|
@@ -97,10 +103,11 @@ export class EvmTokenBridge {
|
|
|
97
103
|
const recipientAddress = recipient.address
|
|
98
104
|
.toUniversalAddress()
|
|
99
105
|
.toUint8Array();
|
|
106
|
+
const messageFee = await this.core.getMessageFee();
|
|
100
107
|
if (isNative(token)) {
|
|
101
108
|
const txReq = await (payload === undefined
|
|
102
|
-
? this.tokenBridge.wrapAndTransferETH.populateTransaction(recipientChainId, recipientAddress, unusedArbiterFee, unusedNonce, { value: amount })
|
|
103
|
-
: this.tokenBridge.wrapAndTransferETHWithPayload.populateTransaction(recipientChainId, recipientAddress, unusedNonce, payload, { value: amount }));
|
|
109
|
+
? this.tokenBridge.wrapAndTransferETH.populateTransaction(recipientChainId, recipientAddress, unusedArbiterFee, unusedNonce, { value: amount + messageFee })
|
|
110
|
+
: this.tokenBridge.wrapAndTransferETHWithPayload.populateTransaction(recipientChainId, recipientAddress, unusedNonce, payload, { value: amount + messageFee }));
|
|
104
111
|
yield this.createUnsignedTx(addFrom(txReq, senderAddr), 'TokenBridge.wrapAndTransferETH' +
|
|
105
112
|
(payload === undefined ? '' : 'WithPayload'));
|
|
106
113
|
}
|
|
@@ -120,8 +127,8 @@ export class EvmTokenBridge {
|
|
|
120
127
|
recipientAddress,
|
|
121
128
|
];
|
|
122
129
|
const txReq = await (payload === undefined
|
|
123
|
-
? this.tokenBridge.transferTokens.populateTransaction(...sharedParams, unusedArbiterFee, unusedNonce)
|
|
124
|
-
: this.tokenBridge.transferTokensWithPayload.populateTransaction(...sharedParams, unusedNonce, payload));
|
|
130
|
+
? this.tokenBridge.transferTokens.populateTransaction(...sharedParams, unusedArbiterFee, unusedNonce, { value: messageFee })
|
|
131
|
+
: this.tokenBridge.transferTokensWithPayload.populateTransaction(...sharedParams, unusedNonce, payload, { value: messageFee }));
|
|
125
132
|
yield this.createUnsignedTx(addFrom(txReq, senderAddr), 'TokenBridge.transferTokens' +
|
|
126
133
|
(payload === undefined ? '' : 'WithPayload'));
|
|
127
134
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenBridge.js","sourceRoot":"","sources":["../../src/tokenBridge.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,cAAc,EACd,SAAS,EACT,OAAO,EACP,SAAS,EACT,QAAQ,GACT,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAI9C,OAAO,EACL,UAAU,EACV,WAAW,EACX,sBAAsB,EACtB,cAAc,EACd,UAAU,EACV,OAAO,EACP,gBAAgB,EAChB,WAAW,GACZ,MAAM,8BAA8B,CAAC;AAEtC,OAAO,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"tokenBridge.js","sourceRoot":"","sources":["../../src/tokenBridge.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wormhole-foundation/sdk-evm-tokenbridge",
|
|
3
|
-
"version": "1.14.
|
|
3
|
+
"version": "1.14.2",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/wormhole-foundation/connect-sdk.git"
|
|
@@ -52,9 +52,9 @@
|
|
|
52
52
|
"prettier": "prettier --write ./src"
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@wormhole-foundation/sdk-connect": "1.14.
|
|
56
|
-
"@wormhole-foundation/sdk-evm": "1.14.
|
|
57
|
-
"@wormhole-foundation/sdk-evm-core": "1.14.
|
|
55
|
+
"@wormhole-foundation/sdk-connect": "1.14.2",
|
|
56
|
+
"@wormhole-foundation/sdk-evm": "1.14.2",
|
|
57
|
+
"@wormhole-foundation/sdk-evm-core": "1.14.2",
|
|
58
58
|
"ethers": "^6.5.1"
|
|
59
59
|
},
|
|
60
60
|
"type": "module",
|