From 1103695fa77265b8670be4ecaee2a5ead8e8e5c0 Mon Sep 17 00:00:00 2001 From: Korbinian Date: Mon, 18 Sep 2023 18:13:42 +0200 Subject: [PATCH] fix(bridge-ui-v2): processing fee (#14696) --- .../components/Bridge/ProcessingFee/NoneOption.svelte | 4 ++-- .../src/libs/bridge/checkBalanceToBridge.ts | 11 +++++++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/packages/bridge-ui-v2/src/components/Bridge/ProcessingFee/NoneOption.svelte b/packages/bridge-ui-v2/src/components/Bridge/ProcessingFee/NoneOption.svelte index 7a96104630..603c6aaf41 100644 --- a/packages/bridge-ui-v2/src/components/Bridge/ProcessingFee/NoneOption.svelte +++ b/packages/bridge-ui-v2/src/components/Bridge/ProcessingFee/NoneOption.svelte @@ -21,9 +21,9 @@ error = false; try { + let destBalance; // Get the balance of the user on the destination chain - const destBalance = await getBalance({ - token, + destBalance = await getBalance({ userAddress, srcChainId: destChainId, }); diff --git a/packages/bridge-ui-v2/src/libs/bridge/checkBalanceToBridge.ts b/packages/bridge-ui-v2/src/libs/bridge/checkBalanceToBridge.ts index 5c43093f43..cb23d6254b 100644 --- a/packages/bridge-ui-v2/src/libs/bridge/checkBalanceToBridge.ts +++ b/packages/bridge-ui-v2/src/libs/bridge/checkBalanceToBridge.ts @@ -1,4 +1,4 @@ -import { getPublicClient } from '@wagmi/core'; +import { fetchBalance, getPublicClient } from '@wagmi/core'; import { type Address, zeroAddress } from 'viem'; import { routingContractsMap } from '$bridgeConfig'; @@ -72,7 +72,14 @@ export async function checkBalanceToBridge({ // since we are briding a token, we need the ETH balance of the wallet balance = await getPublicClient().getBalance(wallet.account); - if (!tokenAddress || tokenAddress === zeroAddress || balance === BigInt(0)) return false; + const tokenBalance = await fetchBalance({ + address: wallet.account.address, + token: tokenAddress, + chainId: srcChainId, + }); + + if (!tokenAddress || tokenAddress === zeroAddress || balance === BigInt(0) || tokenBalance.value <= amount) + throw new InsufficientBalanceError('you do not have enough balance to bridge'); const bridge = bridges[token.type];