From 579a1a05c9d343111aadadd00ff93d2d0553678a Mon Sep 17 00:00:00 2001 From: Genaro Bonavita <98661193+genaroibc@users.noreply.github.com> Date: Tue, 7 Jan 2025 12:06:53 -0300 Subject: [PATCH] feat: return tx response in approveRoute handler (#353) --- src/handlers/evm/index.ts | 10 +++------- src/index.ts | 8 ++++++-- src/types/ethers.ts | 3 ++- 3 files changed, 11 insertions(+), 10 deletions(-) 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 = {