From f7714f9f24661bc1974d48ce267fed268c0ed960 Mon Sep 17 00:00:00 2001 From: nuanyang233 Date: Sat, 4 Jun 2022 13:35:18 +0800 Subject: [PATCH 1/4] fix: incorrect hook deps --- .../Trader/SNSAdaptor/trader/hooks/useUpdateBalance.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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]) } From 929cf51e1b00d88255112eb73019a46aab4b92c9 Mon Sep 17 00:00:00 2001 From: nuanyang233 Date: Sat, 4 Jun 2022 14:55:56 +0800 Subject: [PATCH 2/4] fix: gas config --- .../popups/pages/Wallet/GasSetting/GasSetting1559.tsx | 11 +---------- .../src/plugins/Trader/trader/0x/useTradeCallback.ts | 2 +- 2 files changed, 2 insertions(+), 11 deletions(-) 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/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 From 9f3c21992d706681d8efc8c3b21fda815c7e06ed Mon Sep 17 00:00:00 2001 From: nuanyang233 Date: Sat, 4 Jun 2022 16:12:17 +0800 Subject: [PATCH 3/4] fix: bugfix for trader --- .../trader/uniswap/useTradeBreakdown.ts | 22 +++++++++++-------- packages/plugins/EVM/src/state/NameService.ts | 18 +++++++++------ .../TransactionFormatter/descriptors/Swap.ts | 9 +++++++- 3 files changed, 32 insertions(+), 17 deletions(-) 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..a6f9f829e750 100644 --- a/packages/plugins/EVM/src/state/TransactionFormatter/descriptors/Swap.ts +++ b/packages/plugins/EVM/src/state/TransactionFormatter/descriptors/Swap.ts @@ -13,6 +13,7 @@ export class SwapDescriptor implements TransactionDescriptor { const nativeToken = await connection?.getNativeToken({ chainId: context.chainId }) + console.log(context) switch (context.name) { case 'swapExactETHForTokens': const outputToken = await connection?.getFungibleToken(last(context.parameters!.path) ?? '') @@ -26,7 +27,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 +50,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 } From 5e017794fa48b11a0acde1f777d90aa383f48ff3 Mon Sep 17 00:00:00 2001 From: guanbinrui <52657989+guanbinrui@users.noreply.github.com> Date: Sun, 5 Jun 2022 23:04:26 +0800 Subject: [PATCH 4/4] refactor: remove log --- .../EVM/src/state/TransactionFormatter/descriptors/Swap.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/plugins/EVM/src/state/TransactionFormatter/descriptors/Swap.ts b/packages/plugins/EVM/src/state/TransactionFormatter/descriptors/Swap.ts index a6f9f829e750..ce21e5429614 100644 --- a/packages/plugins/EVM/src/state/TransactionFormatter/descriptors/Swap.ts +++ b/packages/plugins/EVM/src/state/TransactionFormatter/descriptors/Swap.ts @@ -13,7 +13,6 @@ export class SwapDescriptor implements TransactionDescriptor { const nativeToken = await connection?.getNativeToken({ chainId: context.chainId }) - console.log(context) switch (context.name) { case 'swapExactETHForTokens': const outputToken = await connection?.getFungibleToken(last(context.parameters!.path) ?? '')