Fix contract method calls using new method names in contracts
This commit is contained in:
parent
e62b9b050d
commit
ff8ed82cd4
|
@ -14,7 +14,7 @@ import { grpc } from "@improbable-eng/grpc-web";
|
||||||
import { UniEvmToken } from "../route/uniswap-core";
|
import { UniEvmToken } from "../route/uniswap-core";
|
||||||
import {
|
import {
|
||||||
PROTOCOL_UNISWAP_V2,
|
PROTOCOL_UNISWAP_V2,
|
||||||
PROTOCOL_UNISWAP_V3,
|
// PROTOCOL_UNISWAP_V3,
|
||||||
ExactInCrossParameters,
|
ExactInCrossParameters,
|
||||||
ExactOutCrossParameters,
|
ExactOutCrossParameters,
|
||||||
QuoteType,
|
QuoteType,
|
||||||
|
@ -32,16 +32,11 @@ import {
|
||||||
WMATIC_TOKEN_INFO,
|
WMATIC_TOKEN_INFO,
|
||||||
} from "../utils/consts";
|
} from "../utils/consts";
|
||||||
import {
|
import {
|
||||||
CROSSCHAINSWAP_GAS_PARAMETERS_UNISWAP_V2,
|
CROSSCHAINSWAP_GAS_PARAMETERS,
|
||||||
CROSSCHAINSWAP_GAS_PARAMETERS_UNISWAP_V3,
|
swapExactInFromVaaNative,
|
||||||
swapExactInFromVaaNativeV2,
|
swapExactInFromVaaToken,
|
||||||
swapExactInFromVaaNativeV3,
|
swapExactOutFromVaaNative,
|
||||||
swapExactInFromVaaTokenV2,
|
swapExactOutFromVaaToken,
|
||||||
swapExactInFromVaaTokenV3,
|
|
||||||
swapExactOutFromVaaNativeV2,
|
|
||||||
swapExactOutFromVaaNativeV3,
|
|
||||||
swapExactOutFromVaaTokenV2,
|
|
||||||
swapExactOutFromVaaTokenV3,
|
|
||||||
} from "./util";
|
} from "./util";
|
||||||
import { abi as SWAP_CONTRACT_V2_ABI } from "../abi/contracts/CrossChainSwapV2.json";
|
import { abi as SWAP_CONTRACT_V2_ABI } from "../abi/contracts/CrossChainSwapV2.json";
|
||||||
import { abi as SWAP_CONTRACT_V3_ABI } from "../abi/contracts/CrossChainSwapV3.json";
|
import { abi as SWAP_CONTRACT_V3_ABI } from "../abi/contracts/CrossChainSwapV3.json";
|
||||||
|
@ -211,8 +206,26 @@ async function approveAndSwapExactIn(
|
||||||
const bridgeNonce = 69;
|
const bridgeNonce = 69;
|
||||||
|
|
||||||
// do the swap
|
// do the swap
|
||||||
if (protocol === PROTOCOL_UNISWAP_V2) {
|
if (isNative) {
|
||||||
// approve swap contract to spend our tokens
|
const gasPlusValue = {
|
||||||
|
value: amountIn,
|
||||||
|
gasLimit: CROSSCHAINSWAP_GAS_PARAMETERS.gasLimit,
|
||||||
|
maxFeePerGas: CROSSCHAINSWAP_GAS_PARAMETERS.maxFeePerGas,
|
||||||
|
maxPriorityFeePerGas: CROSSCHAINSWAP_GAS_PARAMETERS.maxPriorityFeePerGas,
|
||||||
|
};
|
||||||
|
|
||||||
|
console.info("swapExactNativeInAndTransfer");
|
||||||
|
const tx = await contractWithSigner.swapExactNativeInAndTransfer(
|
||||||
|
swapParams,
|
||||||
|
pathArray,
|
||||||
|
quoteParams.relayerFee.amount,
|
||||||
|
dstWormholeChainId,
|
||||||
|
dstContractAddress,
|
||||||
|
bridgeNonce,
|
||||||
|
gasPlusValue
|
||||||
|
);
|
||||||
|
return tx.wait();
|
||||||
|
} else {
|
||||||
console.info("approving contract to spend token in");
|
console.info("approving contract to spend token in");
|
||||||
await approveContractTokenSpend(
|
await approveContractTokenSpend(
|
||||||
srcProvider,
|
srcProvider,
|
||||||
|
@ -222,82 +235,17 @@ async function approveAndSwapExactIn(
|
||||||
amountIn
|
amountIn
|
||||||
);
|
);
|
||||||
|
|
||||||
if (isNative) {
|
console.info("swapExactInAndTransfer");
|
||||||
const gasPlusValue = {
|
const tx = await contractWithSigner.swapExactInAndTransfer(
|
||||||
value: amountIn,
|
swapParams,
|
||||||
gasLimit: CROSSCHAINSWAP_GAS_PARAMETERS_UNISWAP_V2.gasLimit,
|
pathArray,
|
||||||
maxFeePerGas: CROSSCHAINSWAP_GAS_PARAMETERS_UNISWAP_V2.maxFeePerGas,
|
quoteParams.relayerFee.amount,
|
||||||
maxPriorityFeePerGas:
|
dstWormholeChainId,
|
||||||
CROSSCHAINSWAP_GAS_PARAMETERS_UNISWAP_V2.maxPriorityFeePerGas,
|
dstContractAddress,
|
||||||
};
|
bridgeNonce,
|
||||||
|
CROSSCHAINSWAP_GAS_PARAMETERS
|
||||||
console.info("swapExactNativeInAndTransfer");
|
);
|
||||||
const tx = await contractWithSigner.swapExactNativeInAndTransfer(
|
return tx.wait();
|
||||||
swapParams,
|
|
||||||
pathArray,
|
|
||||||
quoteParams.relayerFee.amount,
|
|
||||||
dstWormholeChainId,
|
|
||||||
dstContractAddress,
|
|
||||||
bridgeNonce,
|
|
||||||
gasPlusValue
|
|
||||||
);
|
|
||||||
return tx.wait();
|
|
||||||
} else {
|
|
||||||
console.info("swapExactInAndTransfer");
|
|
||||||
const tx = await contractWithSigner.swapExactInAndTransfer(
|
|
||||||
swapParams,
|
|
||||||
pathArray,
|
|
||||||
quoteParams.relayerFee.amount,
|
|
||||||
dstWormholeChainId,
|
|
||||||
dstContractAddress,
|
|
||||||
bridgeNonce,
|
|
||||||
CROSSCHAINSWAP_GAS_PARAMETERS_UNISWAP_V2
|
|
||||||
);
|
|
||||||
return tx.wait();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (isNative) {
|
|
||||||
const gasPlusValue = {
|
|
||||||
value: amountIn,
|
|
||||||
gasLimit: CROSSCHAINSWAP_GAS_PARAMETERS_UNISWAP_V3.gasLimit,
|
|
||||||
maxFeePerGas: CROSSCHAINSWAP_GAS_PARAMETERS_UNISWAP_V3.maxFeePerGas,
|
|
||||||
maxPriorityFeePerGas:
|
|
||||||
CROSSCHAINSWAP_GAS_PARAMETERS_UNISWAP_V3.maxPriorityFeePerGas,
|
|
||||||
};
|
|
||||||
|
|
||||||
console.info("swapExactNativeInAndTransfer");
|
|
||||||
const tx = await contractWithSigner.swapExactNativeInAndTransfer(
|
|
||||||
swapParams,
|
|
||||||
pathArray,
|
|
||||||
quoteParams.relayerFee.amount,
|
|
||||||
dstWormholeChainId,
|
|
||||||
dstContractAddress,
|
|
||||||
bridgeNonce,
|
|
||||||
gasPlusValue
|
|
||||||
);
|
|
||||||
return tx.wait();
|
|
||||||
} else {
|
|
||||||
// approve swap contract to spend our tokens
|
|
||||||
console.info("approving contract to spend token in");
|
|
||||||
await approveContractTokenSpend(
|
|
||||||
srcProvider,
|
|
||||||
srcWallet,
|
|
||||||
srcTokenIn.getContract(),
|
|
||||||
swapContract.address,
|
|
||||||
amountIn
|
|
||||||
);
|
|
||||||
console.info("swapExactInAndTransfer");
|
|
||||||
const tx = await contractWithSigner.swapExactInAndTransfer(
|
|
||||||
swapParams,
|
|
||||||
pathArray,
|
|
||||||
quoteParams.relayerFee.amount,
|
|
||||||
dstWormholeChainId,
|
|
||||||
dstContractAddress,
|
|
||||||
bridgeNonce,
|
|
||||||
CROSSCHAINSWAP_GAS_PARAMETERS_UNISWAP_V3
|
|
||||||
);
|
|
||||||
return tx.wait();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -344,7 +292,26 @@ async function approveAndSwapExactOut(
|
||||||
const bridgeNonce = 69;
|
const bridgeNonce = 69;
|
||||||
|
|
||||||
// do the swap
|
// do the swap
|
||||||
if (protocol === PROTOCOL_UNISWAP_V2) {
|
if (isNative) {
|
||||||
|
const gasPlusValue = {
|
||||||
|
value: maxAmountIn,
|
||||||
|
gasLimit: CROSSCHAINSWAP_GAS_PARAMETERS.gasLimit,
|
||||||
|
maxFeePerGas: CROSSCHAINSWAP_GAS_PARAMETERS.maxFeePerGas,
|
||||||
|
maxPriorityFeePerGas: CROSSCHAINSWAP_GAS_PARAMETERS.maxPriorityFeePerGas,
|
||||||
|
};
|
||||||
|
|
||||||
|
console.info("swapExactNativeOutAndTransfer");
|
||||||
|
const tx = await contractWithSigner.swapExactNativeOutAndTransfer(
|
||||||
|
swapParams,
|
||||||
|
pathArray,
|
||||||
|
quoteParams.relayerFee.amount,
|
||||||
|
dstWormholeChainId,
|
||||||
|
dstContractAddress,
|
||||||
|
bridgeNonce,
|
||||||
|
gasPlusValue
|
||||||
|
);
|
||||||
|
return tx.wait();
|
||||||
|
} else {
|
||||||
console.info("approving contract to spend token in");
|
console.info("approving contract to spend token in");
|
||||||
await approveContractTokenSpend(
|
await approveContractTokenSpend(
|
||||||
srcProvider,
|
srcProvider,
|
||||||
|
@ -354,82 +321,17 @@ async function approveAndSwapExactOut(
|
||||||
maxAmountIn
|
maxAmountIn
|
||||||
);
|
);
|
||||||
|
|
||||||
if (isNative) {
|
console.info("swapExactOutAndTransfer");
|
||||||
const gasPlusValue = {
|
const tx = await contractWithSigner.swapExactOutAndTransfer(
|
||||||
value: maxAmountIn,
|
swapParams,
|
||||||
gasLimit: CROSSCHAINSWAP_GAS_PARAMETERS_UNISWAP_V2.gasLimit,
|
pathArray,
|
||||||
maxFeePerGas: CROSSCHAINSWAP_GAS_PARAMETERS_UNISWAP_V2.maxFeePerGas,
|
quoteParams.relayerFee.amount,
|
||||||
maxPriorityFeePerGas:
|
dstWormholeChainId,
|
||||||
CROSSCHAINSWAP_GAS_PARAMETERS_UNISWAP_V2.maxPriorityFeePerGas,
|
dstContractAddress,
|
||||||
};
|
bridgeNonce,
|
||||||
|
CROSSCHAINSWAP_GAS_PARAMETERS
|
||||||
console.info("swapExactNativeOutAndTransfer");
|
);
|
||||||
const tx = await contractWithSigner.swapExactNativeOutAndTransfer(
|
return tx.wait();
|
||||||
swapParams,
|
|
||||||
pathArray,
|
|
||||||
quoteParams.relayerFee.amount,
|
|
||||||
dstWormholeChainId,
|
|
||||||
dstContractAddress,
|
|
||||||
bridgeNonce,
|
|
||||||
gasPlusValue
|
|
||||||
);
|
|
||||||
return tx.wait();
|
|
||||||
} else {
|
|
||||||
console.info("swapExactOutAndTransfer");
|
|
||||||
const tx = await contractWithSigner.swapExactOutAndTransfer(
|
|
||||||
swapParams,
|
|
||||||
pathArray,
|
|
||||||
quoteParams.relayerFee.amount,
|
|
||||||
dstWormholeChainId,
|
|
||||||
dstContractAddress,
|
|
||||||
bridgeNonce,
|
|
||||||
CROSSCHAINSWAP_GAS_PARAMETERS_UNISWAP_V2
|
|
||||||
);
|
|
||||||
return tx.wait();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (isNative) {
|
|
||||||
const gasPlusValue = {
|
|
||||||
value: maxAmountIn,
|
|
||||||
gasLimit: CROSSCHAINSWAP_GAS_PARAMETERS_UNISWAP_V3.gasLimit,
|
|
||||||
maxFeePerGas: CROSSCHAINSWAP_GAS_PARAMETERS_UNISWAP_V3.maxFeePerGas,
|
|
||||||
maxPriorityFeePerGas:
|
|
||||||
CROSSCHAINSWAP_GAS_PARAMETERS_UNISWAP_V3.maxPriorityFeePerGas,
|
|
||||||
};
|
|
||||||
|
|
||||||
console.info("swapExactNativeOutAndTransfer");
|
|
||||||
const tx = await contractWithSigner.swapExactNativeOutAndTransfer(
|
|
||||||
swapParams,
|
|
||||||
pathArray,
|
|
||||||
quoteParams.relayerFee.amount,
|
|
||||||
dstWormholeChainId,
|
|
||||||
dstContractAddress,
|
|
||||||
bridgeNonce,
|
|
||||||
gasPlusValue
|
|
||||||
);
|
|
||||||
return tx.wait();
|
|
||||||
} else {
|
|
||||||
console.info("approving contract to spend token in");
|
|
||||||
await approveContractTokenSpend(
|
|
||||||
srcProvider,
|
|
||||||
srcWallet,
|
|
||||||
srcTokenIn.getContract(),
|
|
||||||
swapContract.address,
|
|
||||||
maxAmountIn
|
|
||||||
);
|
|
||||||
|
|
||||||
console.info("swapExactOutAndTransfer");
|
|
||||||
const tx = await contractWithSigner.swapExactOutAndTransfer(
|
|
||||||
swapParams,
|
|
||||||
pathArray,
|
|
||||||
quoteParams.relayerFee.amount,
|
|
||||||
dstWormholeChainId,
|
|
||||||
dstContractAddress,
|
|
||||||
bridgeNonce,
|
|
||||||
CROSSCHAINSWAP_GAS_PARAMETERS_UNISWAP_V3
|
|
||||||
);
|
|
||||||
return tx.wait();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -450,22 +352,12 @@ async function swapExactInFromVaa(
|
||||||
);
|
);
|
||||||
const contractWithSigner = swapContract.connect(dstWallet);
|
const contractWithSigner = swapContract.connect(dstWallet);
|
||||||
|
|
||||||
if (dstProtocol === PROTOCOL_UNISWAP_V3) {
|
if (isNative) {
|
||||||
if (isNative) {
|
console.info("swapExactInFromVaaNative");
|
||||||
console.info("swapExactNativeInFromV2");
|
return swapExactInFromVaaNative(contractWithSigner, signedVaa);
|
||||||
return swapExactInFromVaaNativeV3(contractWithSigner, signedVaa);
|
|
||||||
} else {
|
|
||||||
console.info("swapExactInFromV2");
|
|
||||||
return swapExactInFromVaaTokenV3(contractWithSigner, signedVaa);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
if (isNative) {
|
console.info("swapExactInFromVaaToken");
|
||||||
console.info("swapExactNativeInFromV3");
|
return swapExactInFromVaaToken(contractWithSigner, signedVaa);
|
||||||
return swapExactInFromVaaNativeV2(contractWithSigner, signedVaa);
|
|
||||||
} else {
|
|
||||||
console.info("swapExactInFromV3");
|
|
||||||
return swapExactInFromVaaTokenV2(contractWithSigner, signedVaa);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -486,22 +378,12 @@ async function swapExactOutFromVaa(
|
||||||
);
|
);
|
||||||
const contractWithSigner = swapContract.connect(dstWallet);
|
const contractWithSigner = swapContract.connect(dstWallet);
|
||||||
|
|
||||||
if (dstProtocol === PROTOCOL_UNISWAP_V3) {
|
if (isNative) {
|
||||||
if (isNative) {
|
console.info("swapExactOutFromVaaNative");
|
||||||
console.info("swapExactNativeInFromV2");
|
return swapExactOutFromVaaNative(contractWithSigner, signedVaa);
|
||||||
return swapExactOutFromVaaNativeV3(contractWithSigner, signedVaa);
|
|
||||||
} else {
|
|
||||||
console.info("swapExactInFromV2");
|
|
||||||
return swapExactOutFromVaaTokenV3(contractWithSigner, signedVaa);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
if (isNative) {
|
console.info("swapExactOutFromVaaToken");
|
||||||
console.info("swapExactNativeInFromV3");
|
return swapExactOutFromVaaToken(contractWithSigner, signedVaa);
|
||||||
return swapExactOutFromVaaNativeV2(contractWithSigner, signedVaa);
|
|
||||||
} else {
|
|
||||||
console.info("swapExactInFromV3");
|
|
||||||
return swapExactOutFromVaaTokenV2(contractWithSigner, signedVaa);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,7 @@
|
||||||
import { ethers } from "ethers";
|
import { ethers } from "ethers";
|
||||||
import { TransactionReceipt } from "@ethersproject/abstract-provider";
|
import { TransactionReceipt } from "@ethersproject/abstract-provider";
|
||||||
|
|
||||||
export const CROSSCHAINSWAP_GAS_PARAMETERS_UNISWAP_V3 = {
|
export const CROSSCHAINSWAP_GAS_PARAMETERS = {
|
||||||
gasLimit: "550000",
|
|
||||||
maxFeePerGas: "250000000000",
|
|
||||||
maxPriorityFeePerGas: "1690000000",
|
|
||||||
};
|
|
||||||
|
|
||||||
export const CROSSCHAINSWAP_GAS_PARAMETERS_UNISWAP_V2 = {
|
|
||||||
gasLimit: "550000",
|
gasLimit: "550000",
|
||||||
maxFeePerGas: "250000000000",
|
maxFeePerGas: "250000000000",
|
||||||
maxPriorityFeePerGas: "1690000000",
|
maxPriorityFeePerGas: "1690000000",
|
||||||
|
@ -15,92 +9,48 @@ export const CROSSCHAINSWAP_GAS_PARAMETERS_UNISWAP_V2 = {
|
||||||
|
|
||||||
// exact in
|
// exact in
|
||||||
//
|
//
|
||||||
export async function swapExactInFromVaaNativeV3(
|
export async function swapExactInFromVaaNative(
|
||||||
swapContractWithSigner: ethers.Contract,
|
swapContractWithSigner: ethers.Contract,
|
||||||
signedVaa: Uint8Array
|
signedVaa: Uint8Array
|
||||||
): Promise<TransactionReceipt> {
|
): Promise<TransactionReceipt> {
|
||||||
const tx = await swapContractWithSigner.recvAndSwapExactNativeIn(
|
const tx = await swapContractWithSigner.recvAndSwapExactNativeIn(
|
||||||
signedVaa,
|
signedVaa,
|
||||||
CROSSCHAINSWAP_GAS_PARAMETERS_UNISWAP_V3
|
CROSSCHAINSWAP_GAS_PARAMETERS
|
||||||
);
|
);
|
||||||
return tx.wait();
|
return tx.wait();
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function swapExactInFromVaaNativeV2(
|
export async function swapExactInFromVaaToken(
|
||||||
swapContractWithSigner: ethers.Contract,
|
|
||||||
signedVaa: Uint8Array
|
|
||||||
): Promise<TransactionReceipt> {
|
|
||||||
const tx = await swapContractWithSigner.recvAndSwapExactNativeIn(
|
|
||||||
signedVaa,
|
|
||||||
CROSSCHAINSWAP_GAS_PARAMETERS_UNISWAP_V2
|
|
||||||
);
|
|
||||||
return tx.wait();
|
|
||||||
}
|
|
||||||
|
|
||||||
export async function swapExactInFromVaaTokenV3(
|
|
||||||
swapContractWithSigner: ethers.Contract,
|
swapContractWithSigner: ethers.Contract,
|
||||||
signedVaa: Uint8Array
|
signedVaa: Uint8Array
|
||||||
): Promise<TransactionReceipt> {
|
): Promise<TransactionReceipt> {
|
||||||
const tx = await swapContractWithSigner.recvAndSwapExactIn(
|
const tx = await swapContractWithSigner.recvAndSwapExactIn(
|
||||||
signedVaa,
|
signedVaa,
|
||||||
CROSSCHAINSWAP_GAS_PARAMETERS_UNISWAP_V3
|
CROSSCHAINSWAP_GAS_PARAMETERS
|
||||||
);
|
|
||||||
return tx.wait();
|
|
||||||
}
|
|
||||||
|
|
||||||
export async function swapExactInFromVaaTokenV2(
|
|
||||||
swapContractWithSigner: ethers.Contract,
|
|
||||||
signedVaa: Uint8Array
|
|
||||||
): Promise<TransactionReceipt> {
|
|
||||||
const tx = await swapContractWithSigner.recvAndSwapExactIn(
|
|
||||||
signedVaa,
|
|
||||||
CROSSCHAINSWAP_GAS_PARAMETERS_UNISWAP_V2
|
|
||||||
);
|
);
|
||||||
return tx.wait();
|
return tx.wait();
|
||||||
}
|
}
|
||||||
|
|
||||||
// exact out (TODO: add to util)
|
// exact out (TODO: add to util)
|
||||||
//
|
//
|
||||||
export async function swapExactOutFromVaaNativeV3(
|
export async function swapExactOutFromVaaNative(
|
||||||
swapContractWithSigner: ethers.Contract,
|
swapContractWithSigner: ethers.Contract,
|
||||||
signedVaa: Uint8Array
|
signedVaa: Uint8Array
|
||||||
): Promise<TransactionReceipt> {
|
): Promise<TransactionReceipt> {
|
||||||
const tx = await swapContractWithSigner.recvAndSwapExactNativeOut(
|
const tx = await swapContractWithSigner.recvAndSwapExactNativeOut(
|
||||||
signedVaa,
|
signedVaa,
|
||||||
CROSSCHAINSWAP_GAS_PARAMETERS_UNISWAP_V3
|
CROSSCHAINSWAP_GAS_PARAMETERS
|
||||||
);
|
);
|
||||||
return tx.wait();
|
return tx.wait();
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function swapExactOutFromVaaNativeV2(
|
export async function swapExactOutFromVaaToken(
|
||||||
swapContractWithSigner: ethers.Contract,
|
|
||||||
signedVaa: Uint8Array
|
|
||||||
): Promise<TransactionReceipt> {
|
|
||||||
const tx = await swapContractWithSigner.recvAndSwapExactNativeOut(
|
|
||||||
signedVaa,
|
|
||||||
CROSSCHAINSWAP_GAS_PARAMETERS_UNISWAP_V2
|
|
||||||
);
|
|
||||||
return tx.wait();
|
|
||||||
}
|
|
||||||
|
|
||||||
export async function swapExactOutFromVaaTokenV3(
|
|
||||||
swapContractWithSigner: ethers.Contract,
|
swapContractWithSigner: ethers.Contract,
|
||||||
signedVaa: Uint8Array
|
signedVaa: Uint8Array
|
||||||
): Promise<TransactionReceipt> {
|
): Promise<TransactionReceipt> {
|
||||||
const tx = await swapContractWithSigner.recvAndSwapExactOut(
|
const tx = await swapContractWithSigner.recvAndSwapExactOut(
|
||||||
signedVaa,
|
signedVaa,
|
||||||
CROSSCHAINSWAP_GAS_PARAMETERS_UNISWAP_V3
|
CROSSCHAINSWAP_GAS_PARAMETERS
|
||||||
);
|
|
||||||
return tx.wait();
|
|
||||||
}
|
|
||||||
|
|
||||||
export async function swapExactOutFromVaaTokenV2(
|
|
||||||
swapContractWithSigner: ethers.Contract,
|
|
||||||
signedVaa: Uint8Array
|
|
||||||
): Promise<TransactionReceipt> {
|
|
||||||
const tx = await swapContractWithSigner.recvAndSwapExactOut(
|
|
||||||
signedVaa,
|
|
||||||
CROSSCHAINSWAP_GAS_PARAMETERS_UNISWAP_V2
|
|
||||||
);
|
);
|
||||||
return tx.wait();
|
return tx.wait();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue