diff --git a/src/handlers/evm/index.ts b/src/handlers/evm/index.ts index 94ad4bb..b6f5302 100644 --- a/src/handlers/evm/index.ts +++ b/src/handlers/evm/index.ts @@ -146,7 +146,7 @@ export class EvmHandler extends Utils { }: { data: ExecuteRoute; params: RouteParamsPopulated; - }): Promise { + }): Promise { const { route: { transactionRequest }, executionSettings, @@ -157,7 +157,7 @@ export class EvmHandler extends Utils { const fromTokenContract = params.fromTokenContract as Contract; if (fromIsNative) { - return true; + return null; } let amountToApprove = BigInt(uint256MaxValue); @@ -175,15 +175,11 @@ export class EvmHandler extends Utils { amountToApprove, ]); - const approveTx = await (data.signer as EvmWallet).sendTransaction({ + return (data.signer as EvmWallet).sendTransaction({ to: params.preHook ? params.preHook.fundToken : params.fromToken.address, data: approveData, ...overrides, }); - - await approveTx.wait(); - - return true; } async isRouteApproved({ diff --git a/src/index.ts b/src/index.ts index 841bd3e..97089d6 100644 --- a/src/index.ts +++ b/src/index.ts @@ -5,6 +5,10 @@ import { CosmosAddress, CosmosBalance, DepositAddressResponse, + Config, + ExecuteRoute, + GetStatus, + TransactionResponses, EvmWallet, OnChainExecutionData, RouteRequest, @@ -13,10 +17,10 @@ import { StatusResponse, Token, TokenBalance, + TransactionResponse, } from "./types"; import HttpAdapter from "./adapter/HttpAdapter"; -import { Config, ExecuteRoute, GetStatus, TransactionResponses } from "./types"; import { CosmosHandler, EvmHandler, SolanaHandler } from "./handlers"; import { TokensChains } from "./utils/TokensChains"; @@ -225,7 +229,7 @@ export class Squid extends TokensChains { } } - async approveRoute(data: ExecuteRoute): Promise { + async approveRoute(data: ExecuteRoute): Promise { this.validateInit(); this.validateTransactionRequest(data.route); diff --git a/src/types/ethers.ts b/src/types/ethers.ts index dbbd536..db76082 100644 --- a/src/types/ethers.ts +++ b/src/types/ethers.ts @@ -1,3 +1,4 @@ +import { TransactionResponse as TransactionResponseV5 } from "@ethersproject/abstract-provider"; import { Signer } from "@ethersproject/abstract-signer"; import { Wallet } from "@ethersproject/wallet"; import { ethers } from "ethers"; @@ -13,7 +14,7 @@ export type WalletV6 = ethers.Signer | ethers.Wallet; export type EvmWallet = WalletV6 | WalletV5; export type Transaction = ethers.Transaction; -export type TransactionResponse = ethers.TransactionResponse; +export type TransactionResponse = ethers.TransactionResponse | TransactionResponseV5; export type TransactionRequest = ethers.TransactionRequest; export type GasData = {