diff --git a/packages/mask/src/extension/popups/pages/Wallet/GasSetting/GasSetting1559.tsx b/packages/mask/src/extension/popups/pages/Wallet/GasSetting/GasSetting1559.tsx index e9d3ad65a185..2dc5a0ff7ec5 100644 --- a/packages/mask/src/extension/popups/pages/Wallet/GasSetting/GasSetting1559.tsx +++ b/packages/mask/src/extension/popups/pages/Wallet/GasSetting/GasSetting1559.tsx @@ -236,16 +236,7 @@ export const GasSetting1559 = memo(() => { value?.formatterTransaction?.type === TransactionDescriptorType.TRANSFER || value?.formatterTransaction?.type === TransactionDescriptorType.INTERACTION ) { - if ( - value?.formatterTransaction?.type === TransactionDescriptorType.INTERACTION && - value?.transactionContext?.name && - !['transfer', 'transferFrom', 'approve'].includes(value?.transactionContext?.name) - ) { - setOption(1) - } else if ( - value?.formatterTransaction._tx.maxFeePerGas && - value?.formatterTransaction._tx.maxPriorityFeePerGas - ) { + if (value?.formatterTransaction._tx.maxFeePerGas && value?.formatterTransaction._tx.maxPriorityFeePerGas) { setValue( 'maxPriorityFeePerGas', fromWei(toFixed(value.formatterTransaction._tx.maxPriorityFeePerGas as string), 'gwei'), diff --git a/packages/mask/src/plugins/Trader/SNSAdaptor/trader/hooks/useUpdateBalance.ts b/packages/mask/src/plugins/Trader/SNSAdaptor/trader/hooks/useUpdateBalance.ts index cd67adff90f9..674d557bcee1 100644 --- a/packages/mask/src/plugins/Trader/SNSAdaptor/trader/hooks/useUpdateBalance.ts +++ b/packages/mask/src/plugins/Trader/SNSAdaptor/trader/hooks/useUpdateBalance.ts @@ -36,7 +36,7 @@ export function useUpdateBalance(chainId: ChainId) { type: AllProviderTradeActionType.UPDATE_INPUT_TOKEN_BALANCE, balance: value || '0', }) - }, [currentAccount, inputToken?.type, balance.value]) + }, [currentAccount, inputToken?.schema, balance.value]) useEffect(() => { if (!currentAccount) return @@ -48,5 +48,5 @@ export function useUpdateBalance(chainId: ChainId) { type: AllProviderTradeActionType.UPDATE_OUTPUT_TOKEN_BALANCE, balance: value || '0', }) - }, [currentAccount, outputToken?.type, outputToken?.address, balance.value]) + }, [currentAccount, outputToken?.schema, outputToken?.address, balance.value]) } diff --git a/packages/mask/src/plugins/Trader/trader/0x/useTradeCallback.ts b/packages/mask/src/plugins/Trader/trader/0x/useTradeCallback.ts index 21cb63220a97..3bcd3ca0b4d0 100644 --- a/packages/mask/src/plugins/Trader/trader/0x/useTradeCallback.ts +++ b/packages/mask/src/plugins/Trader/trader/0x/useTradeCallback.ts @@ -23,7 +23,7 @@ export function useTradeCallback(tradeComputed: TradeComputed ...pick(tradeComputed.trade_, ['to', 'data', 'value']), ...gasConfig, } as TransactionConfig - }, [account, tradeComputed]) + }, [account, tradeComputed, gasConfig]) return useAsyncFn(async () => { // validate config diff --git a/packages/mask/src/plugins/Trader/trader/uniswap/useTradeBreakdown.ts b/packages/mask/src/plugins/Trader/trader/uniswap/useTradeBreakdown.ts index 0c492b38499d..9b3a0df2e892 100644 --- a/packages/mask/src/plugins/Trader/trader/uniswap/useTradeBreakdown.ts +++ b/packages/mask/src/plugins/Trader/trader/uniswap/useTradeBreakdown.ts @@ -54,16 +54,20 @@ function computeRealizedLPFeeAmount(trade?: Trade | null): CurrencyAmount { - if (!trade) return null - const realizedLPFeePercent = computeRealizedLPFeePercent(trade) - const realizedLPFeeAmount = computeRealizedLPFeeAmount(trade) - return { - realizedLPFeePercent, - realizedLPFeeAmount, + try { + if (!trade) return null + const realizedLPFeePercent = computeRealizedLPFeePercent(trade) + const realizedLPFeeAmount = computeRealizedLPFeeAmount(trade) + return { + realizedLPFeePercent, + realizedLPFeeAmount, - // different ver of @uniswap/sdk-core were used by @uniswap/v2-sdk and @uniswap/v3-sdk - realizedLPFee: trade.inputAmount.multiply(realizedLPFeePercent) as CurrencyAmount, - priceImpact: trade.priceImpact.subtract(realizedLPFeePercent) as Percent, + // different ver of @uniswap/sdk-core were used by @uniswap/v2-sdk and @uniswap/v3-sdk + realizedLPFee: trade.inputAmount.multiply(realizedLPFeePercent) as CurrencyAmount, + priceImpact: trade.priceImpact.subtract(realizedLPFeePercent) as Percent, + } + } catch { + return null } }, [trade]) } diff --git a/packages/plugins/EVM/src/state/NameService.ts b/packages/plugins/EVM/src/state/NameService.ts index 24d230d147dc..e0ce1039b1c8 100644 --- a/packages/plugins/EVM/src/state/NameService.ts +++ b/packages/plugins/EVM/src/state/NameService.ts @@ -49,14 +49,18 @@ export class NameService extends NameServiceState { } override async reverse(chainId: ChainId, address: string) { - if (chainId !== ChainId.Mainnet) return + try { + if (chainId !== ChainId.Mainnet) return - const cachedDomain = await super.reverse(chainId, address) - if (cachedDomain) return cachedDomain + const cachedDomain = await super.reverse(chainId, address) + if (cachedDomain) return cachedDomain - const ens = await this.createENS() - const name = await ens.reverse(address) - await super.addName(chainId, address, name) - return super.reverse(chainId, address) + const ens = await this.createENS() + const name = await ens.reverse(address) + await super.addName(chainId, address, name) + return super.reverse(chainId, address) + } catch { + return + } } } diff --git a/packages/plugins/EVM/src/state/TransactionFormatter/descriptors/Swap.ts b/packages/plugins/EVM/src/state/TransactionFormatter/descriptors/Swap.ts index 13a93fe77e9a..ce21e5429614 100644 --- a/packages/plugins/EVM/src/state/TransactionFormatter/descriptors/Swap.ts +++ b/packages/plugins/EVM/src/state/TransactionFormatter/descriptors/Swap.ts @@ -26,7 +26,7 @@ export class SwapDescriptor implements TransactionDescriptor { }`, } case 'swapExactTokensForETH': - const inToken = await connection?.getFungibleToken(last(context.parameters!.path) ?? '') + const inToken = await connection?.getFungibleToken(first(context.parameters!.path) ?? '') const inAmount = formatBalance(context.parameters!.amountIn, inToken?.decimals, 2) const outAmount = formatBalance(context.parameters!.amountOutMin, nativeToken?.decimals, 2) @@ -49,6 +49,12 @@ export class SwapDescriptor implements TransactionDescriptor { title: 'SwapToken', description: `Swap ${amountIn} ${tokenIn?.symbol ?? ''} for ${amountOut} ${tokenOut?.symbol ?? ''}`, } + case 'multicall': + return { + chainId: context.chainId, + title: 'SwapToken', + description: 'Swap with UniSwap V3', + } default: return }