@wormhole-foundation/sdk-evm-tokenbridge 4.21.0 → 4.22.0-beta.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/dist/cjs/executorTokenBridge.d.ts.map +1 -1
- package/dist/cjs/executorTokenBridge.js +35 -18
- package/dist/cjs/executorTokenBridge.js.map +1 -1
- package/dist/esm/executorTokenBridge.d.ts.map +1 -1
- package/dist/esm/executorTokenBridge.js +35 -18
- package/dist/esm/executorTokenBridge.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executorTokenBridge.d.ts","sourceRoot":"","sources":["../../src/executorTokenBridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,mBAAmB,EACnB,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,OAAO,EACR,MAAM,kCAAkC,CAAC;AAW1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAGL,sBAAsB,EAGvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAkBpE,qBAAa,sBAAsB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,SAAS,CACxE,YAAW,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC;IASlC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,QAAQ,CAAC,QAAQ,EAAE,QAAQ;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS;IAV/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,2BAA2B,EAAE,QAAQ,CAAC;IAC/C,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAG1B,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS;WA+BlB,OAAO,CAAC,CAAC,SAAS,OAAO,EACpC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,GAChC,OAAO,CAAC,sBAAsB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAezC,QAAQ,CACb,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,SAAS,EAAE,YAAY,EACvB,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EACtB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,mBAAmB,CAAC,aAAa,EAChD,WAAW,CAAC,EAAE,mBAAmB,CAAC,WAAW,GAC5C,cAAc,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"executorTokenBridge.d.ts","sourceRoot":"","sources":["../../src/executorTokenBridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,mBAAmB,EACnB,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,OAAO,EACR,MAAM,kCAAkC,CAAC;AAW1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAGL,sBAAsB,EAGvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAkBpE,qBAAa,sBAAsB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,SAAS,CACxE,YAAW,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC;IASlC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,QAAQ,CAAC,QAAQ,EAAE,QAAQ;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS;IAV/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,2BAA2B,EAAE,QAAQ,CAAC;IAC/C,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAG1B,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS;WA+BlB,OAAO,CAAC,CAAC,SAAS,OAAO,EACpC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,GAChC,OAAO,CAAC,sBAAsB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAezC,QAAQ,CACb,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,SAAS,EAAE,YAAY,EACvB,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EACtB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,mBAAmB,CAAC,aAAa,EAChD,WAAW,CAAC,EAAE,mBAAmB,CAAC,WAAW,GAC5C,cAAc,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IA2IxC,MAAM,CACX,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,GAAG,EAAE,mBAAmB,CAAC,GAAG,GAC3B,cAAc,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAyBzC,2BAA2B,CAC/B,aAAa,EAAE,OAAO,EACtB,SAAS,CAAC,EAAE,YAAY,GACvB,OAAO,CAAC;QACT,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IAqBF,gBAAgB,CACd,KAAK,EAAE,kBAAkB,EACzB,WAAW,EAAE,MAAM,GAClB,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC;CAQhC"}
|
|
@@ -14,8 +14,8 @@ const RELAYER_ABI = [
|
|
|
14
14
|
'function executeVAAv1(bytes calldata encodedTransferMessage) payable',
|
|
15
15
|
];
|
|
16
16
|
const RELAYER_WITH_REFERRER_ABI = [
|
|
17
|
-
'function transferTokensWithRelay(address tokenBridgeRelayer, address token, uint256 amount, uint16 targetChain, bytes32 targetRecipient, uint32 nonce, bytes32 dstTransferRecipient, bytes32 dstExecutionAddress, uint256 executionAmount, address refundAddr, bytes calldata signedQuoteBytes, bytes calldata relayInstructions, tuple(
|
|
18
|
-
'function wrapAndTransferEthWithRelay(address tokenBridgeRelayer, uint256 amount, uint16 targetChain, bytes32 targetRecipient, uint32 nonce, bytes32 dstTransferRecipient, bytes32 dstExecutionAddress, uint256 executionAmount, address refundAddr, bytes calldata signedQuoteBytes, bytes calldata relayInstructions, tuple(
|
|
17
|
+
'function transferTokensWithRelay(address tokenBridgeRelayer, address token, uint256 amount, uint16 targetChain, bytes32 targetRecipient, uint32 nonce, bytes32 dstTransferRecipient, bytes32 dstExecutionAddress, uint256 executionAmount, address refundAddr, bytes calldata signedQuoteBytes, bytes calldata relayInstructions, tuple(uint256 transferTokenFee, uint256 nativeTokenFee, address payee) feeArgs) payable returns (uint64)',
|
|
18
|
+
'function wrapAndTransferEthWithRelay(address tokenBridgeRelayer, uint256 amount, uint16 targetChain, bytes32 targetRecipient, uint32 nonce, bytes32 dstTransferRecipient, bytes32 dstExecutionAddress, uint256 executionAmount, address refundAddr, bytes calldata signedQuoteBytes, bytes calldata relayInstructions, tuple(uint256 transferTokenFee, uint256 nativeTokenFee, address payee) feeArgs) payable returns (uint64)',
|
|
19
19
|
];
|
|
20
20
|
class EvmExecutorTokenBridge {
|
|
21
21
|
network;
|
|
@@ -71,34 +71,51 @@ class EvmExecutorTokenBridge {
|
|
|
71
71
|
const executionAmount = estimatedCost;
|
|
72
72
|
const refundAddr = senderAddr;
|
|
73
73
|
let txReq;
|
|
74
|
-
|
|
75
|
-
const
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
payee: ethers_2.ZeroAddress,
|
|
83
|
-
};
|
|
74
|
+
const referrerTransferTokenFee = referrerFee?.transferTokenFee ?? 0n;
|
|
75
|
+
const referrerNativeTokenFee = referrerFee?.nativeTokenFee ?? 0n;
|
|
76
|
+
const payee = referrerFee?.referrer.address.toString() ?? ethers_2.ZeroAddress;
|
|
77
|
+
// The helper contract bridges exactly what we pass as `amount` and then
|
|
78
|
+
// pulls transferTokenFee separately via _payFee. If we pass the gross
|
|
79
|
+
// amount we'd double-charge the user. Pass the post-fee remainder so the
|
|
80
|
+
// helper bridges the right amount; the fee transfers happen on top.
|
|
81
|
+
const bridgedAmount = referrerFee?.remainingAmount ?? amount;
|
|
84
82
|
if ((0, sdk_connect_1.isNative)(token)) {
|
|
83
|
+
// The source token is native gas, so the contract can't pull
|
|
84
|
+
// transferTokenFee as ERC20 from msg.sender (no WETH approval exists).
|
|
85
|
+
// Fold it into nativeTokenFee — denominated in the same units — so the
|
|
86
|
+
// referrer is paid out of msg.value directly.
|
|
87
|
+
const combinedNativeFee = referrerNativeTokenFee + referrerTransferTokenFee;
|
|
88
|
+
const feeArgs = {
|
|
89
|
+
transferTokenFee: 0n,
|
|
90
|
+
nativeTokenFee: combinedNativeFee,
|
|
91
|
+
payee,
|
|
92
|
+
};
|
|
85
93
|
txReq = await this.relayerWithReferrerContract
|
|
86
94
|
.getFunction('wrapAndTransferEthWithRelay')
|
|
87
|
-
.populateTransaction(this.relayerAddress,
|
|
88
|
-
value:
|
|
95
|
+
.populateTransaction(this.relayerAddress, bridgedAmount, targetChain, targetRecipient.toUint8Array(), nonce, dstTransferRecipient.toUint8Array(), dstExecutionAddress.toUint8Array(), executionAmount, refundAddr, signedQuoteBytes, relayInstructionsBytes, feeArgs, {
|
|
96
|
+
value: bridgedAmount + wormholeFee + executionAmount + combinedNativeFee,
|
|
89
97
|
});
|
|
90
98
|
}
|
|
91
99
|
else {
|
|
100
|
+
const feeArgs = {
|
|
101
|
+
transferTokenFee: referrerTransferTokenFee,
|
|
102
|
+
nativeTokenFee: referrerNativeTokenFee,
|
|
103
|
+
payee,
|
|
104
|
+
};
|
|
92
105
|
const tokenContract = sdk_evm_1.EvmPlatform.getTokenImplementation(this.provider, token.toString());
|
|
106
|
+
// Approval must cover the bridged remainder plus any ERC20-denominated
|
|
107
|
+
// fee the helper contract will pull via a second safeTransferFrom.
|
|
108
|
+
// Together this equals the user's original gross input amount.
|
|
109
|
+
const requiredAllowance = bridgedAmount + referrerTransferTokenFee;
|
|
93
110
|
const allowance = await tokenContract.allowance(senderAddr, this.relayerWithReferrerAddress);
|
|
94
|
-
if (allowance <
|
|
95
|
-
const txReq = await tokenContract.approve.populateTransaction(this.relayerWithReferrerAddress,
|
|
111
|
+
if (allowance < requiredAllowance) {
|
|
112
|
+
const txReq = await tokenContract.approve.populateTransaction(this.relayerWithReferrerAddress, requiredAllowance);
|
|
96
113
|
yield this.createUnsignedTx(txReq, 'approve');
|
|
97
114
|
}
|
|
98
115
|
txReq = await this.relayerWithReferrerContract
|
|
99
116
|
.getFunction('transferTokensWithRelay')
|
|
100
|
-
.populateTransaction(this.relayerAddress, token.toString(),
|
|
101
|
-
value: wormholeFee + executionAmount,
|
|
117
|
+
.populateTransaction(this.relayerAddress, token.toString(), bridgedAmount, targetChain, targetRecipient.toUint8Array(), nonce, dstTransferRecipient.toUint8Array(), dstExecutionAddress.toUint8Array(), executionAmount, refundAddr, signedQuoteBytes, relayInstructionsBytes, feeArgs, {
|
|
118
|
+
value: wormholeFee + executionAmount + referrerNativeTokenFee,
|
|
102
119
|
});
|
|
103
120
|
}
|
|
104
121
|
yield this.createUnsignedTx((0, sdk_evm_1.addFrom)(txReq, senderAddr), (0, sdk_connect_1.isNative)(token)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executorTokenBridge.js","sourceRoot":"","sources":["../../src/executorTokenBridge.ts"],"names":[],"mappings":";;;AAWA,kEAS0C;AAE1C,0DAMsC;AAEtC,mCAAkC;AAClC,6CAA2C;AAC3C,oEAAoE;AACpE,0EAG8C;AAC9C,mCAAqC;AAErC,MAAM,WAAW,GAAG;IAClB,gUAAgU;IAChU,qSAAqS;IACrS,sEAAsE;CACvE,CAAC;AAEF,MAAM,yBAAyB,GAAG;IAChC,
|
|
1
|
+
{"version":3,"file":"executorTokenBridge.js","sourceRoot":"","sources":["../../src/executorTokenBridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executorTokenBridge.d.ts","sourceRoot":"","sources":["../../src/executorTokenBridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,mBAAmB,EACnB,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,OAAO,EACR,MAAM,kCAAkC,CAAC;AAW1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAGL,sBAAsB,EAGvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAkBpE,qBAAa,sBAAsB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,SAAS,CACxE,YAAW,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC;IASlC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,QAAQ,CAAC,QAAQ,EAAE,QAAQ;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS;IAV/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,2BAA2B,EAAE,QAAQ,CAAC;IAC/C,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAG1B,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS;WA+BlB,OAAO,CAAC,CAAC,SAAS,OAAO,EACpC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,GAChC,OAAO,CAAC,sBAAsB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAezC,QAAQ,CACb,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,SAAS,EAAE,YAAY,EACvB,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EACtB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,mBAAmB,CAAC,aAAa,EAChD,WAAW,CAAC,EAAE,mBAAmB,CAAC,WAAW,GAC5C,cAAc,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"executorTokenBridge.d.ts","sourceRoot":"","sources":["../../src/executorTokenBridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,mBAAmB,EACnB,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,OAAO,EACR,MAAM,kCAAkC,CAAC;AAW1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAGL,sBAAsB,EAGvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAkBpE,qBAAa,sBAAsB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,SAAS,CACxE,YAAW,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC;IASlC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,QAAQ,CAAC,QAAQ,EAAE,QAAQ;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS;IAV/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,2BAA2B,EAAE,QAAQ,CAAC;IAC/C,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAG1B,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS;WA+BlB,OAAO,CAAC,CAAC,SAAS,OAAO,EACpC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,GAChC,OAAO,CAAC,sBAAsB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAezC,QAAQ,CACb,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,SAAS,EAAE,YAAY,EACvB,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EACtB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,mBAAmB,CAAC,aAAa,EAChD,WAAW,CAAC,EAAE,mBAAmB,CAAC,WAAW,GAC5C,cAAc,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IA2IxC,MAAM,CACX,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,GAAG,EAAE,mBAAmB,CAAC,GAAG,GAC3B,cAAc,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAyBzC,2BAA2B,CAC/B,aAAa,EAAE,OAAO,EACtB,SAAS,CAAC,EAAE,YAAY,GACvB,OAAO,CAAC;QACT,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IAqBF,gBAAgB,CACd,KAAK,EAAE,kBAAkB,EACzB,WAAW,EAAE,MAAM,GAClB,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC;CAQhC"}
|
|
@@ -11,8 +11,8 @@ const RELAYER_ABI = [
|
|
|
11
11
|
'function executeVAAv1(bytes calldata encodedTransferMessage) payable',
|
|
12
12
|
];
|
|
13
13
|
const RELAYER_WITH_REFERRER_ABI = [
|
|
14
|
-
'function transferTokensWithRelay(address tokenBridgeRelayer, address token, uint256 amount, uint16 targetChain, bytes32 targetRecipient, uint32 nonce, bytes32 dstTransferRecipient, bytes32 dstExecutionAddress, uint256 executionAmount, address refundAddr, bytes calldata signedQuoteBytes, bytes calldata relayInstructions, tuple(
|
|
15
|
-
'function wrapAndTransferEthWithRelay(address tokenBridgeRelayer, uint256 amount, uint16 targetChain, bytes32 targetRecipient, uint32 nonce, bytes32 dstTransferRecipient, bytes32 dstExecutionAddress, uint256 executionAmount, address refundAddr, bytes calldata signedQuoteBytes, bytes calldata relayInstructions, tuple(
|
|
14
|
+
'function transferTokensWithRelay(address tokenBridgeRelayer, address token, uint256 amount, uint16 targetChain, bytes32 targetRecipient, uint32 nonce, bytes32 dstTransferRecipient, bytes32 dstExecutionAddress, uint256 executionAmount, address refundAddr, bytes calldata signedQuoteBytes, bytes calldata relayInstructions, tuple(uint256 transferTokenFee, uint256 nativeTokenFee, address payee) feeArgs) payable returns (uint64)',
|
|
15
|
+
'function wrapAndTransferEthWithRelay(address tokenBridgeRelayer, uint256 amount, uint16 targetChain, bytes32 targetRecipient, uint32 nonce, bytes32 dstTransferRecipient, bytes32 dstExecutionAddress, uint256 executionAmount, address refundAddr, bytes calldata signedQuoteBytes, bytes calldata relayInstructions, tuple(uint256 transferTokenFee, uint256 nativeTokenFee, address payee) feeArgs) payable returns (uint64)',
|
|
16
16
|
];
|
|
17
17
|
export class EvmExecutorTokenBridge {
|
|
18
18
|
network;
|
|
@@ -68,34 +68,51 @@ export class EvmExecutorTokenBridge {
|
|
|
68
68
|
const executionAmount = estimatedCost;
|
|
69
69
|
const refundAddr = senderAddr;
|
|
70
70
|
let txReq;
|
|
71
|
-
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
payee: ZeroAddress,
|
|
80
|
-
};
|
|
71
|
+
const referrerTransferTokenFee = referrerFee?.transferTokenFee ?? 0n;
|
|
72
|
+
const referrerNativeTokenFee = referrerFee?.nativeTokenFee ?? 0n;
|
|
73
|
+
const payee = referrerFee?.referrer.address.toString() ?? ZeroAddress;
|
|
74
|
+
// The helper contract bridges exactly what we pass as `amount` and then
|
|
75
|
+
// pulls transferTokenFee separately via _payFee. If we pass the gross
|
|
76
|
+
// amount we'd double-charge the user. Pass the post-fee remainder so the
|
|
77
|
+
// helper bridges the right amount; the fee transfers happen on top.
|
|
78
|
+
const bridgedAmount = referrerFee?.remainingAmount ?? amount;
|
|
81
79
|
if (isNative(token)) {
|
|
80
|
+
// The source token is native gas, so the contract can't pull
|
|
81
|
+
// transferTokenFee as ERC20 from msg.sender (no WETH approval exists).
|
|
82
|
+
// Fold it into nativeTokenFee — denominated in the same units — so the
|
|
83
|
+
// referrer is paid out of msg.value directly.
|
|
84
|
+
const combinedNativeFee = referrerNativeTokenFee + referrerTransferTokenFee;
|
|
85
|
+
const feeArgs = {
|
|
86
|
+
transferTokenFee: 0n,
|
|
87
|
+
nativeTokenFee: combinedNativeFee,
|
|
88
|
+
payee,
|
|
89
|
+
};
|
|
82
90
|
txReq = await this.relayerWithReferrerContract
|
|
83
91
|
.getFunction('wrapAndTransferEthWithRelay')
|
|
84
|
-
.populateTransaction(this.relayerAddress,
|
|
85
|
-
value:
|
|
92
|
+
.populateTransaction(this.relayerAddress, bridgedAmount, targetChain, targetRecipient.toUint8Array(), nonce, dstTransferRecipient.toUint8Array(), dstExecutionAddress.toUint8Array(), executionAmount, refundAddr, signedQuoteBytes, relayInstructionsBytes, feeArgs, {
|
|
93
|
+
value: bridgedAmount + wormholeFee + executionAmount + combinedNativeFee,
|
|
86
94
|
});
|
|
87
95
|
}
|
|
88
96
|
else {
|
|
97
|
+
const feeArgs = {
|
|
98
|
+
transferTokenFee: referrerTransferTokenFee,
|
|
99
|
+
nativeTokenFee: referrerNativeTokenFee,
|
|
100
|
+
payee,
|
|
101
|
+
};
|
|
89
102
|
const tokenContract = EvmPlatform.getTokenImplementation(this.provider, token.toString());
|
|
103
|
+
// Approval must cover the bridged remainder plus any ERC20-denominated
|
|
104
|
+
// fee the helper contract will pull via a second safeTransferFrom.
|
|
105
|
+
// Together this equals the user's original gross input amount.
|
|
106
|
+
const requiredAllowance = bridgedAmount + referrerTransferTokenFee;
|
|
90
107
|
const allowance = await tokenContract.allowance(senderAddr, this.relayerWithReferrerAddress);
|
|
91
|
-
if (allowance <
|
|
92
|
-
const txReq = await tokenContract.approve.populateTransaction(this.relayerWithReferrerAddress,
|
|
108
|
+
if (allowance < requiredAllowance) {
|
|
109
|
+
const txReq = await tokenContract.approve.populateTransaction(this.relayerWithReferrerAddress, requiredAllowance);
|
|
93
110
|
yield this.createUnsignedTx(txReq, 'approve');
|
|
94
111
|
}
|
|
95
112
|
txReq = await this.relayerWithReferrerContract
|
|
96
113
|
.getFunction('transferTokensWithRelay')
|
|
97
|
-
.populateTransaction(this.relayerAddress, token.toString(),
|
|
98
|
-
value: wormholeFee + executionAmount,
|
|
114
|
+
.populateTransaction(this.relayerAddress, token.toString(), bridgedAmount, targetChain, targetRecipient.toUint8Array(), nonce, dstTransferRecipient.toUint8Array(), dstExecutionAddress.toUint8Array(), executionAmount, refundAddr, signedQuoteBytes, relayInstructionsBytes, feeArgs, {
|
|
115
|
+
value: wormholeFee + executionAmount + referrerNativeTokenFee,
|
|
99
116
|
});
|
|
100
117
|
}
|
|
101
118
|
yield this.createUnsignedTx(addFrom(txReq, senderAddr), isNative(token)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executorTokenBridge.js","sourceRoot":"","sources":["../../src/executorTokenBridge.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,QAAQ,EACR,eAAe,EACf,SAAS,EACT,SAAS,EACT,0CAA0C,GAC3C,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,UAAU,EACV,WAAW,EACX,sBAAsB,EACtB,UAAU,EACV,OAAO,GACR,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EACL,uBAAuB,EACvB,WAAW,GACZ,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,MAAM,WAAW,GAAG;IAClB,gUAAgU;IAChU,qSAAqS;IACrS,sEAAsE;CACvE,CAAC;AAEF,MAAM,yBAAyB,GAAG;IAChC,
|
|
1
|
+
{"version":3,"file":"executorTokenBridge.js","sourceRoot":"","sources":["../../src/executorTokenBridge.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": "4.
|
|
3
|
+
"version": "4.22.0-beta.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/wormhole-foundation/wormhole-sdk-ts.git"
|
|
@@ -51,9 +51,9 @@
|
|
|
51
51
|
"prettier": "prettier --write ./src"
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
|
-
"@wormhole-foundation/sdk-connect": "4.
|
|
55
|
-
"@wormhole-foundation/sdk-evm": "4.
|
|
56
|
-
"@wormhole-foundation/sdk-evm-core": "4.
|
|
54
|
+
"@wormhole-foundation/sdk-connect": "4.22.0-beta.0",
|
|
55
|
+
"@wormhole-foundation/sdk-evm": "4.22.0-beta.0",
|
|
56
|
+
"@wormhole-foundation/sdk-evm-core": "4.22.0-beta.0",
|
|
57
57
|
"ethers": "^6.5.1"
|
|
58
58
|
},
|
|
59
59
|
"type": "module",
|