From 39217550e82f9f019218013b7fa517b9a4bf3596 Mon Sep 17 00:00:00 2001 From: Korbinian Date: Mon, 13 May 2024 10:32:47 +0200 Subject: [PATCH] merge main --- .../configuredCustomTokens.schema.json | 3 + .../src/components/Alert/FlatAlert.svelte | 2 +- .../ReviewStep/ReviewStep.svelte | 10 + .../AddressInput/AddressInput.svelte | 2 +- .../components/DialogTabs/DialogTab.svelte | 40 + .../components/DialogTabs/DialogTabs.svelte | 24 + .../src/components/DialogTabs/index.ts | 2 + .../bridge-ui/src/components/Icon/Icon.svelte | 2 +- .../src/components/InputBox/InputBox.svelte | 2 +- .../TokenDropdown/AddCustomERC20.svelte | 27 +- .../TokenDropdown/DialogView.svelte | 172 +- .../TokenDropdown/DropdownView.svelte | 199 +- .../TokenDropdown/TokenDropdown.svelte | 48 +- .../src/components/TokenDropdown/types.ts | 9 + .../src/components/Tooltip/Tooltip.svelte | 7 +- .../Transactions/MobileDetailsDialog.svelte | 5 +- packages/bridge-ui/src/i18n/en.json | 14 +- .../bridge-ui/src/libs/connect/web3modal.ts | 2 +- .../src/libs/fee/recommendProcessingFee.ts | 12 - packages/bridge-ui/src/libs/token/tokens.ts | 4 + packages/bridge-ui/src/libs/token/types.ts | 1 + packages/bridge-ui/src/styles/components.css | 5 +- pnpm-lock.yaml | 17248 ---------------- 23 files changed, 419 insertions(+), 17421 deletions(-) create mode 100644 packages/bridge-ui/src/components/DialogTabs/DialogTab.svelte create mode 100644 packages/bridge-ui/src/components/DialogTabs/DialogTabs.svelte create mode 100644 packages/bridge-ui/src/components/DialogTabs/index.ts create mode 100644 packages/bridge-ui/src/components/TokenDropdown/types.ts delete mode 100644 pnpm-lock.yaml diff --git a/packages/bridge-ui/config/schemas/configuredCustomTokens.schema.json b/packages/bridge-ui/config/schemas/configuredCustomTokens.schema.json index 044be0aff9..1a92562b13 100644 --- a/packages/bridge-ui/config/schemas/configuredCustomTokens.schema.json +++ b/packages/bridge-ui/config/schemas/configuredCustomTokens.schema.json @@ -30,6 +30,9 @@ }, "mintable": { "type": "boolean" + }, + "wrapped": { + "type": "boolean" } }, "required": ["name", "addresses", "symbol", "decimals", "type", "logoURI"] diff --git a/packages/bridge-ui/src/components/Alert/FlatAlert.svelte b/packages/bridge-ui/src/components/Alert/FlatAlert.svelte index 6fc7fd4d02..a82472fe18 100644 --- a/packages/bridge-ui/src/components/Alert/FlatAlert.svelte +++ b/packages/bridge-ui/src/components/Alert/FlatAlert.svelte @@ -30,7 +30,7 @@ info: { textClass: 'text-secondary-content', iconType: 'info-circle', - iconFillClass: 'fill-info-content', + iconFillClass: 'fill-secondary-content', }, }; diff --git a/packages/bridge-ui/src/components/Bridge/FungibleBridgeComponents/ReviewStep/ReviewStep.svelte b/packages/bridge-ui/src/components/Bridge/FungibleBridgeComponents/ReviewStep/ReviewStep.svelte index 17a5dd1a86..099573e7cf 100644 --- a/packages/bridge-ui/src/components/Bridge/FungibleBridgeComponents/ReviewStep/ReviewStep.svelte +++ b/packages/bridge-ui/src/components/Bridge/FungibleBridgeComponents/ReviewStep/ReviewStep.svelte @@ -9,6 +9,7 @@ import { destNetwork as destChain, enteredAmount, selectedToken } from '$components/Bridge/state'; import { PUBLIC_SLOW_L1_BRIDGING_WARNING } from '$env/static/public'; import { LayerType } from '$libs/chain'; + import { isWrapped, type Token } from '$libs/token'; import { connectedSourceChain } from '$stores/network'; export let hasEnoughEth: boolean = false; @@ -21,6 +22,10 @@ $: displayL1Warning = slowL1Warning && $destChain?.id && chainConfig[$destChain.id].type === LayerType.L1; + $: wrapped = $selectedToken !== null && isWrapped($selectedToken as Token); + + $: wrappedAssetWarning = $t('bridge.alerts.wrapped_eth'); + const dispatch = createEventDispatcher(); const editTransactionDetails = () => { @@ -64,6 +69,11 @@ {$t('bridge.alerts.slow_bridging')} {/if} +{#if wrapped} + + {@html wrappedAssetWarning} +{/if} +
{#if !quiet} -
+
{#if state === State.INVALID && ethereumAddress} {:else if state === State.TOO_SHORT && ethereumAddress} diff --git a/packages/bridge-ui/src/components/DialogTabs/DialogTab.svelte b/packages/bridge-ui/src/components/DialogTabs/DialogTab.svelte new file mode 100644 index 0000000000..9c1ab0557f --- /dev/null +++ b/packages/bridge-ui/src/components/DialogTabs/DialogTab.svelte @@ -0,0 +1,40 @@ + + + + + diff --git a/packages/bridge-ui/src/components/DialogTabs/DialogTabs.svelte b/packages/bridge-ui/src/components/DialogTabs/DialogTabs.svelte new file mode 100644 index 0000000000..919434c01d --- /dev/null +++ b/packages/bridge-ui/src/components/DialogTabs/DialogTabs.svelte @@ -0,0 +1,24 @@ + + +
+ {#each tabs as tab} + setActiveTab(tab.id)}> + {tab.title} + + {/each} +
diff --git a/packages/bridge-ui/src/components/DialogTabs/index.ts b/packages/bridge-ui/src/components/DialogTabs/index.ts new file mode 100644 index 0000000000..1db8f2a45c --- /dev/null +++ b/packages/bridge-ui/src/components/DialogTabs/index.ts @@ -0,0 +1,2 @@ +export { default as DialogTab } from './DialogTab.svelte'; +export { default as DialogTabs } from './DialogTabs.svelte'; diff --git a/packages/bridge-ui/src/components/Icon/Icon.svelte b/packages/bridge-ui/src/components/Icon/Icon.svelte index 95e37b2de9..87b3de139e 100644 --- a/packages/bridge-ui/src/components/Icon/Icon.svelte +++ b/packages/bridge-ui/src/components/Icon/Icon.svelte @@ -202,7 +202,7 @@ class={fillClass} fill-rule="evenodd" clip-rule="evenodd" - d="M20,6H16V5a3,3,0,0,0-3-3H11A3,3,0,0,0,8,5V6H4A1,1,0,0,0,4,8H5V19a3,3,0,0,0,3,3h8a3,3,0,0,0,3-3V8h1a1,1,0,0,0,0-2ZM10,5a1,1,0,0,1,1-1h2a1,1,0,0,1,1,1V6H10Zm7,14a1,1,0,0,1-1,1H8a1,1,0,0,1-1-1V8H17Z" /> + d="M6.12461 0.699951C5.06146 0.699951 4.19961 1.5618 4.19961 2.62495V2.93484C3.64291 2.98875 3.09083 3.05858 2.54381 3.14386C2.25733 3.18852 2.06129 3.45697 2.10595 3.74346C2.15061 4.02995 2.41907 4.22599 2.70556 4.18132L2.80909 4.16538L3.39814 11.5285C3.47817 12.5289 4.31339 13.2999 5.31701 13.2999H8.68206C9.68568 13.2999 10.5209 12.5289 10.6009 11.5285L11.19 4.16534L11.2938 4.18132C11.5803 4.22599 11.8488 4.02995 11.8934 3.74346C11.9381 3.45697 11.742 3.18852 11.4556 3.14386C10.9085 3.05857 10.3564 2.98874 9.79961 2.93482V2.62495C9.79961 1.5618 8.93776 0.699951 7.87461 0.699951H6.12461ZM6.99968 2.79995C7.58723 2.79995 8.17071 2.81761 8.74961 2.85244V2.62495C8.74961 2.1417 8.35786 1.74995 7.87461 1.74995H6.12461C5.64136 1.74995 5.24961 2.1417 5.24961 2.62495V2.85245C5.82856 2.81762 6.41208 2.79995 6.99968 2.79995ZM5.94903 5.40625C5.93868 5.14758 5.72059 4.94626 5.46192 4.95661C5.20324 4.96696 5.00193 5.18505 5.01228 5.44372L5.22229 10.6937C5.23263 10.9524 5.45072 11.1537 5.7094 11.1434C5.96807 11.133 6.16938 10.9149 6.15904 10.6563L5.94903 5.40625ZM8.98704 5.44372C8.99738 5.18505 8.79607 4.96696 8.5374 4.95661C8.27872 4.94627 8.06063 5.14758 8.05029 5.40625L7.84029 10.6563C7.82994 10.9149 8.03125 11.133 8.28993 11.1434C8.5486 11.1537 8.76669 10.9524 8.77704 10.6937L8.98704 5.44372Z" /> {:else if type === 'adjustments'} { - log('remove token', token); - const address = $account.address; - tokenService.removeToken(token, address as Address); - customTokens = tokenService.getTokens(address as Address); dispatch('tokenRemoved', { token }); }; @@ -155,8 +151,6 @@ ? formatUnits(customTokenWithDetails.balance, customTokenWithDetails.decimals) : 0; - $: customTokens = tokenService.getTokens($account?.address as Address); - $: disabled = state !== AddressInputState.VALID || tokenAddress === '' || tokenAddress.length !== 42; const closeModalIfClickedOutside = (e: MouseEvent) => { @@ -186,7 +180,7 @@ on:addressvalidation={onAddressValidation} bind:state onDialog /> -
+
{#if customTokenWithDetails} {$t('common.name')}: {customTokenWithDetails.symbol} {$t('common.balance')}: {formattedBalance} @@ -194,16 +188,12 @@ {:else if loadingTokenDetails} - {:else} -
+ {:else if state === AddressInputState.DEFAULT} + {/if}
- - - {$t('token_dropdown.custom_token.button')} - - +
{#if customTokens.length > 0}

{$t('token_dropdown.imported_tokens')}

@@ -217,10 +207,15 @@
-
{/each}
+ {:else} + {$t('token_dropdown.no_imported_token')} {/if} +
+ + {$t('token_dropdown.custom_token.button')} +
diff --git a/packages/bridge-ui/src/components/TokenDropdown/DialogView.svelte b/packages/bridge-ui/src/components/TokenDropdown/DialogView.svelte index cf199d2b11..cb355971ce 100644 --- a/packages/bridge-ui/src/components/TokenDropdown/DialogView.svelte +++ b/packages/bridge-ui/src/components/TokenDropdown/DialogView.svelte @@ -1,34 +1,49 @@ -
    - {#each tokens as t (t.symbol)} -
  • selectToken(t)} - on:keydown={getTokenKeydownHandler(t)}> -
    - - {#if symbolToIconMap[t.symbol] && !t.imported} - - - - {:else} - - - - {/if} - {t.symbol} -
    -
  • - {/each} - {#if !onlyMintable} - {#each customTokens as ct, index (index)} -
  • selectToken(ct)} - on:keydown={getTokenKeydownHandler(ct)}> -
    - - - - {truncateString(ct.symbol, 10)} -
    -
  • - {/each} -
    -
  • - -
  • - {/if} -
- + {$t('token_dropdown.add_custom')} + + + + {/if} + {/if} + +
diff --git a/packages/bridge-ui/src/components/TokenDropdown/TokenDropdown.svelte b/packages/bridge-ui/src/components/TokenDropdown/TokenDropdown.svelte index f20dac2776..5b40f1e2b8 100644 --- a/packages/bridge-ui/src/components/TokenDropdown/TokenDropdown.svelte +++ b/packages/bridge-ui/src/components/TokenDropdown/TokenDropdown.svelte @@ -1,4 +1,5 @@