From 0f8225a46765146dafba9ab373b630294c20d515 Mon Sep 17 00:00:00 2001 From: Korbinian Date: Mon, 18 Dec 2023 21:16:53 +0100 Subject: [PATCH 1/4] fix approve btn for ERC20, add test nft --- .../src/components/Bridge/Actions.svelte | 39 +++++++++++++++++-- .../NFTBridgeSteps/ConfirmationStep.svelte | 6 +++ .../src/components/Faucet/Faucet.svelte | 7 +++- .../TokenDropdown/AddCustomERC20.svelte | 13 ++++++- .../bridge-ui-v2/src/libs/token/tokens.ts | 6 ++- 5 files changed, 63 insertions(+), 8 deletions(-) diff --git a/packages/bridge-ui-v2/src/components/Bridge/Actions.svelte b/packages/bridge-ui-v2/src/components/Bridge/Actions.svelte index e11ab7f87c..65cbba4e59 100644 --- a/packages/bridge-ui-v2/src/components/Bridge/Actions.svelte +++ b/packages/bridge-ui-v2/src/components/Bridge/Actions.svelte @@ -1,9 +1,11 @@
diff --git a/packages/bridge-ui-v2/src/components/Bridge/Bridge.svelte b/packages/bridge-ui-v2/src/components/Bridge/Bridge.svelte index 22f342c784..6917df30f8 100644 --- a/packages/bridge-ui-v2/src/components/Bridge/Bridge.svelte +++ b/packages/bridge-ui-v2/src/components/Bridge/Bridge.svelte @@ -54,6 +54,7 @@ function onNetworkChange(newNetwork: Network, oldNetwork: Network) { resetForm(); + $selectedToken = ETHToken; if (newNetwork) { const destChainId = $destinationChain?.id; @@ -216,8 +217,11 @@ // Reset the form resetForm(); - // Refresh user's balance + // Refresh user's ETH balance refreshUserBalance(); + + // Update amount balance after bridging + if (amountComponent) amountComponent.updateBalance(); } catch (err) { console.error(err); handleBridgeError(err as Error); @@ -230,10 +234,6 @@ if (recipientComponent) recipientComponent.clearRecipient(); if (processingFeeComponent) processingFeeComponent.resetProcessingFee(); - // Update balance after bridging - if (amountComponent) amountComponent.updateBalance(); - - $selectedToken = ETHToken; bridging = false; }; diff --git a/packages/bridge-ui-v2/src/components/Bridge/IDInput/IDInput.svelte b/packages/bridge-ui-v2/src/components/Bridge/IDInput/IDInput.svelte index 5931ded1c3..61b6c1a569 100644 --- a/packages/bridge-ui-v2/src/components/Bridge/IDInput/IDInput.svelte +++ b/packages/bridge-ui-v2/src/components/Bridge/IDInput/IDInput.svelte @@ -1,5 +1,5 @@
diff --git a/packages/bridge-ui-v2/src/components/Bridge/NFTBridge.svelte b/packages/bridge-ui-v2/src/components/Bridge/NFTBridge.svelte index c462db68a1..f0ce40d970 100644 --- a/packages/bridge-ui-v2/src/components/Bridge/NFTBridge.svelte +++ b/packages/bridge-ui-v2/src/components/Bridge/NFTBridge.svelte @@ -111,7 +111,6 @@ $recipientAddress = $account?.address || null; bridgingStatus = 'pending'; - $selectedToken = ETHToken; importMethod === null; scanned = false; @@ -126,7 +125,9 @@ let activeStep: NFTSteps = NFTSteps.IMPORT; const nextStep = () => (activeStep = Math.min(activeStep + 1, NFTSteps.CONFIRM)); - const previousStep = () => (activeStep = Math.max(activeStep - 1, NFTSteps.IMPORT)); + const previousStep = () => { + activeStep = Math.max(activeStep - 1, NFTSteps.IMPORT); + }; let nftStepTitle: string; let nftStepDescription: string; @@ -316,7 +317,7 @@ >{$t('bridge.nft.step.confirm.button.back')} {:else} - {/if} diff --git a/packages/bridge-ui-v2/src/components/Bridge/NFTBridgeSteps/ImportStep.svelte b/packages/bridge-ui-v2/src/components/Bridge/NFTBridgeSteps/ImportStep.svelte index ec1e442601..ee76cc98c6 100644 --- a/packages/bridge-ui-v2/src/components/Bridge/NFTBridgeSteps/ImportStep.svelte +++ b/packages/bridge-ui-v2/src/components/Bridge/NFTBridgeSteps/ImportStep.svelte @@ -1,7 +1,7 @@
@@ -243,13 +246,10 @@ Manual NFT Input class="bg-neutral-background border-0 h-[56px]" on:addressvalidation={onAddressValidation} labelText={$t('inputs.address_input.label.contract')} /> - - {#if !interfaceSupported} +
- {#if !isOwnerOfAllToken && nftIdArray?.length > 0 && !validating} - + {#if displayOwnershipError} + {/if}
diff --git a/packages/bridge-ui-v2/src/components/Bridge/NFTBridgeSteps/ReviewStep.svelte b/packages/bridge-ui-v2/src/components/Bridge/NFTBridgeSteps/ReviewStep.svelte index 1e402ccfd5..f5c95f09ec 100644 --- a/packages/bridge-ui-v2/src/components/Bridge/NFTBridgeSteps/ReviewStep.svelte +++ b/packages/bridge-ui-v2/src/components/Bridge/NFTBridgeSteps/ReviewStep.svelte @@ -12,18 +12,18 @@ import { shortenAddress } from '$libs/util/shortenAddress'; import { network } from '$stores/network'; + export let hasEnoughEth: boolean = false; + let recipientComponent: Recipient; let processingFeeComponent: ProcessingFee; - export let hasEnoughEth: boolean = false; const dispatch = createEventDispatcher(); - $: nftsToDisplay = $selectedNFTs ? $selectedNFTs : []; - enum NFTView { CARDS, LIST, } + let nftView: NFTView = NFTView.CARDS; const changeNFTView = () => { @@ -38,6 +38,8 @@ dispatch('editTransactionDetails'); }; + $: nftsToDisplay = $selectedNFTs ? $selectedNFTs : []; + // check if any of the selected NFTs are ERC1155 tokens $: isERC1155 = $selectedNFTs ? $selectedNFTs.some((nft) => nft.type === 'ERC1155') : false; diff --git a/packages/bridge-ui-v2/src/i18n/en.json b/packages/bridge-ui-v2/src/i18n/en.json index 6d8c2ed876..ca9442a37f 100644 --- a/packages/bridge-ui-v2/src/i18n/en.json +++ b/packages/bridge-ui-v2/src/i18n/en.json @@ -77,6 +77,7 @@ "title": "Allowance already set" }, "no_decimals_allowed": "Decimals are not supported for this token", + "not_the_owner_of_all": "You must be the owner of all tokens", "send_erc20_error": { "message": "There was an issue attempting to send ERC20 token.", "title": "Failed to send"