From 79e74e1d13d6f94480bda939dfc91e8a084a5626 Mon Sep 17 00:00:00 2001 From: Tina <59578595+tinaszheng@users.noreply.github.com> Date: Wed, 15 Nov 2023 13:24:13 -0500 Subject: [PATCH] fix: disable showing approve cost for arbitrum (#7594) disable showing approve cost for arbitrum --- src/state/routing/gas.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/state/routing/gas.ts b/src/state/routing/gas.ts index e09369e9b3..59fb443e53 100644 --- a/src/state/routing/gas.ts +++ b/src/state/routing/gas.ts @@ -1,5 +1,5 @@ import { MaxUint256, PERMIT2_ADDRESS } from '@uniswap/permit2-sdk' -import { Currency } from '@uniswap/sdk-core' +import { ChainId, Currency } from '@uniswap/sdk-core' import ERC20_ABI from 'abis/erc20.json' import { Erc20, Weth } from 'abis/types' import WETH_ABI from 'abis/weth.json' @@ -26,6 +26,12 @@ export async function getApproveInfo( // If any of these arguments aren't provided, then we cannot generate approval cost info if (!account || !usdCostPerGas) return { needsApprove: false } + // routing-api under estimates gas for Arbitrum swaps so it inflates cost per gas by a lot + // so disable showing approves for Arbitrum until routing-api gives more accurate gas estimates + if (currency.chainId === ChainId.ARBITRUM_ONE || currency.chainId === ChainId.ARBITRUM_GOERLI) { + return { needsApprove: false } + } + const provider = DEPRECATED_RPC_PROVIDERS[currency.chainId as SupportedInterfaceChain] const tokenContract = getContract(currency.address, ERC20_ABI, provider) as Erc20