gitextract_wrqmm7zr/ ├── .claude/ │ ├── agents/ │ │ ├── pr-review-coordinator.md │ │ ├── pr-reviewer-architecture.md │ │ ├── pr-reviewer-bugs.md │ │ ├── pr-reviewer-performance.md │ │ ├── pr-reviewer-quality.md │ │ ├── pr-reviewer-react.md │ │ ├── pr-reviewer-security.md │ │ └── pr-reviewer.md │ ├── commands/ │ │ └── reviewchanges.md │ └── skills/ │ └── vercel-react-best-practices/ │ ├── SKILL.md │ └── rules/ │ ├── advanced-event-handler-refs.md │ ├── advanced-use-latest.md │ ├── async-api-routes.md │ ├── async-defer-await.md │ ├── async-dependencies.md │ ├── async-parallel.md │ ├── async-suspense-boundaries.md │ ├── bundle-barrel-imports.md │ ├── bundle-conditional.md │ ├── bundle-defer-third-party.md │ ├── bundle-dynamic-imports.md │ ├── bundle-preload.md │ ├── client-event-listeners.md │ ├── client-localstorage-schema.md │ ├── client-passive-event-listeners.md │ ├── client-swr-dedup.md │ ├── js-batch-dom-css.md │ ├── js-cache-function-results.md │ ├── js-cache-property-access.md │ ├── js-cache-storage.md │ ├── js-combine-iterations.md │ ├── js-early-exit.md │ ├── js-hoist-regexp.md │ ├── js-index-maps.md │ ├── js-length-check-first.md │ ├── js-min-max-loop.md │ ├── js-set-map-lookups.md │ ├── js-tosorted-immutable.md │ ├── rendering-activity.md │ ├── rendering-animate-svg-wrapper.md │ ├── rendering-conditional-render.md │ ├── rendering-content-visibility.md │ ├── rendering-hoist-jsx.md │ ├── rendering-hydration-no-flicker.md │ ├── rendering-svg-precision.md │ ├── rerender-defer-reads.md │ ├── rerender-dependencies.md │ ├── rerender-derived-state.md │ ├── rerender-functional-setstate.md │ ├── rerender-lazy-state-init.md │ ├── rerender-memo.md │ ├── rerender-simple-expression-in-memo.md │ ├── rerender-transitions.md │ ├── server-after-nonblocking.md │ ├── server-auth-actions.md │ ├── server-cache-lru.md │ ├── server-cache-react.md │ ├── server-dedup-props.md │ ├── server-parallel-fetching.md │ ├── server-serialization.md │ └── unused-detection.md ├── .eslintrc.json ├── .github/ │ └── workflows/ │ ├── chromatic.yml │ ├── deploy.yml │ └── rebase-main-sandbox.yml ├── .gitignore ├── .storybook/ │ ├── main.ts │ ├── manager.js │ └── preview.ts ├── .vscode/ │ ├── launch.json │ └── settings.json ├── AGENTS.md ├── CLAUDE.md ├── Models/ │ ├── ApiError.ts │ ├── ApiResponse.ts │ ├── Balance.ts │ ├── BalanceProvider.ts │ ├── Exchange.ts │ ├── LayerSwapAppSettings.ts │ ├── LayerSwapAuth.ts │ ├── LayerSwapSettings.ts │ ├── Network.ts │ ├── Partner.ts │ ├── QueryParams.ts │ ├── RangeError.ts │ ├── Route.ts │ ├── SwapStatus.ts │ ├── Theme.ts │ ├── WalletConnectWallet.ts │ ├── WalletProvider.ts │ └── Wizard.ts ├── README.md ├── components/ │ ├── AddressIcon/ │ │ ├── colors.mjs │ │ ├── index.tsx │ │ ├── jazzicon/ │ │ │ ├── colors.js │ │ │ ├── index.js │ │ │ ├── mersenne-twister.js │ │ │ └── paper.js │ │ ├── jazzicon.mjs │ │ ├── mersenne-twister.mjs │ │ └── paper.mjs │ ├── AvatarGroup.tsx │ ├── Campaigns/ │ │ ├── Details/ │ │ │ ├── Leaderboard.tsx │ │ │ ├── Rewards.tsx │ │ │ └── index.tsx │ │ └── index.tsx │ ├── Carousel.tsx │ ├── ColorSchema.tsx │ ├── Common/ │ │ ├── AnimatedValue.tsx │ │ ├── AverageCompletionTime.tsx │ │ ├── ConnectWalletButton.tsx │ │ ├── CountDownTimer.tsx │ │ ├── FormattedAverageCompletionTime.tsx │ │ ├── FormattedDate.tsx │ │ ├── ImageWithFallback.tsx │ │ ├── LinkWithIcon.tsx │ │ ├── NumFlowWithFallback.tsx │ │ ├── ReactPortal.tsx │ │ └── TypingEffect.tsx │ ├── ConnectNetwork.tsx │ ├── ContactSupport.tsx │ ├── DTOs/ │ │ ├── SwapConfirmationFormValues.ts │ │ └── SwapFormValues.ts │ ├── ErrorFallback.tsx │ ├── FeeDetails/ │ │ ├── DepositMethod/ │ │ │ └── index.tsx │ │ ├── Rate.tsx │ │ ├── ReceiveAmounts.tsx │ │ ├── Refuel.tsx │ │ ├── RefuelModal.tsx │ │ ├── Slippage.tsx │ │ ├── SwapQuote/ │ │ │ ├── DetailedEstimates.tsx │ │ │ ├── SummaryRow.tsx │ │ │ └── index.tsx │ │ └── index.tsx │ ├── HeaderWithMenu/ │ │ └── index.tsx │ ├── Input/ │ │ ├── Address/ │ │ │ ├── AddressPicker/ │ │ │ │ ├── AddressBook.tsx │ │ │ │ ├── AddressButton.tsx │ │ │ │ ├── AddressWithIcon.tsx │ │ │ │ ├── ConnectedWallets.tsx │ │ │ │ ├── ManualAddressInput.tsx │ │ │ │ └── index.tsx │ │ │ ├── ContractAddressNote.tsx │ │ │ ├── UrlAddressNote.tsx │ │ │ └── index.tsx │ │ ├── Amount/ │ │ │ ├── Balance.tsx │ │ │ ├── ExchangeAmountField.tsx │ │ │ ├── ExchangeReceiveAmount.tsx │ │ │ ├── MinMax.tsx │ │ │ ├── PriceImpact.tsx │ │ │ ├── ReceiveAmount.tsx │ │ │ ├── helpers.ts │ │ │ └── index.tsx │ │ ├── CexPicker.tsx │ │ ├── DestinationPicker.tsx │ │ ├── DestinationWalletPicker.tsx │ │ ├── NumericInput.tsx │ │ ├── RoutePicker/ │ │ │ ├── Content.tsx │ │ │ ├── RouteSearch.tsx │ │ │ ├── RouteSortingMenu.tsx │ │ │ ├── RouteTokenSwitch.tsx │ │ │ ├── RouterPickerWalletConnect.tsx │ │ │ ├── Routes.tsx │ │ │ ├── Rows/ │ │ │ │ ├── CollapsableHeader.tsx │ │ │ │ ├── CollapsibleRow.tsx │ │ │ │ ├── StickyHeader.tsx │ │ │ │ ├── SuggestionsHeader.tsx │ │ │ │ ├── TitleRow.tsx │ │ │ │ └── index.tsx │ │ │ ├── TokenTitleDetails.tsx │ │ │ └── index.tsx │ │ ├── Search.tsx │ │ ├── SourcePicker.tsx │ │ ├── SourceWalletPicker.tsx │ │ └── TransferCEX.tsx │ ├── LayerswapMenu/ │ │ ├── Menu.tsx │ │ ├── MenuList.tsx │ │ └── index.tsx │ ├── LinkWraapper.tsx │ ├── LoadingCard.tsx │ ├── MessageComponent.tsx │ ├── NavigatableList/ │ │ ├── NavigatableItem.tsx │ │ ├── NavigatableList.tsx │ │ ├── context.ts │ │ ├── hooks.ts │ │ └── index.tsx │ ├── NoCookies.tsx │ ├── ProgressBar.tsx │ ├── QRCodeWallet.tsx │ ├── ReserveGasNote.tsx │ ├── ResizablePanel.tsx │ ├── Sceletons.tsx │ ├── Select/ │ │ ├── Command/ │ │ │ ├── CommandSelectWrapper.tsx │ │ │ └── commandSelect.tsx │ │ ├── Popover/ │ │ │ ├── PopoverSelect.tsx │ │ │ └── PopoverSelectWrapper.tsx │ │ ├── Selector/ │ │ │ ├── Index.tsx │ │ │ └── SelectItem.tsx │ │ └── Shared/ │ │ ├── Props/ │ │ │ ├── SelectProps.tsx │ │ │ └── selectMenuItem.tsx │ │ └── SelectItem.tsx │ ├── Swap/ │ │ ├── Form/ │ │ │ ├── ExchangeForm.tsx │ │ │ ├── FormWrapper.tsx │ │ │ ├── NetworkExchangeTabs.tsx │ │ │ ├── NetworkForm.tsx │ │ │ ├── index.tsx │ │ │ └── updateForm.ts │ │ ├── FormButton.tsx │ │ ├── NotFound.tsx │ │ ├── Step.tsx │ │ ├── StepsComponent.tsx │ │ ├── Summary/ │ │ │ ├── Summary.tsx │ │ │ └── index.tsx │ │ ├── Withdraw/ │ │ │ ├── Failed.tsx │ │ │ ├── ManualWithdraw.tsx │ │ │ ├── Processing/ │ │ │ │ ├── Processing.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── types.ts │ │ │ ├── QuoteUpdate.tsx │ │ │ ├── Success.tsx │ │ │ ├── SwapQuoteDetails.tsx │ │ │ ├── Wallet/ │ │ │ │ ├── Common/ │ │ │ │ │ ├── buttons.tsx │ │ │ │ │ └── sharedTypes.ts │ │ │ │ ├── WithdrawalProviders/ │ │ │ │ │ ├── BitcoinWalletWithdraw/ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── sendTransaction.ts │ │ │ │ │ │ └── transactionBuilder/ │ │ │ │ │ │ ├── buildPsbt.ts │ │ │ │ │ │ ├── estimateFee.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── types.ts │ │ │ │ │ ├── EVMWalletWithdraw/ │ │ │ │ │ │ ├── RPCUnhealthyMessage.tsx │ │ │ │ │ │ ├── TransferToken.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── resolveError.tsx │ │ │ │ │ │ └── transactionMessage.tsx │ │ │ │ │ ├── FuelWalletWithdrawal.tsx │ │ │ │ │ ├── Loopring/ │ │ │ │ │ │ ├── ActivationTokentPicker.tsx │ │ │ │ │ │ ├── hooks.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── SVMWalletWithdraw/ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── transactionSender.ts │ │ │ │ │ ├── StarknetWalletWithdraw.tsx │ │ │ │ │ ├── TempoWalletWithdraw/ │ │ │ │ │ │ ├── TransferToken.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── TonWalletWithdraw.tsx │ │ │ │ │ ├── TronWalletWithdraw.tsx │ │ │ │ │ ├── ZKsyncWalletWithdraw.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── paradex/ │ │ │ │ │ ├── Evm.tsx │ │ │ │ │ ├── Starknet.tsx │ │ │ │ │ └── index.tsx │ │ │ │ └── index.tsx │ │ │ ├── WalletTransferButton.tsx │ │ │ ├── WalletTransferContent.tsx │ │ │ ├── index.tsx │ │ │ └── messages/ │ │ │ ├── Message.tsx │ │ │ └── TransactionMessages.tsx │ │ └── index.tsx │ ├── SwapGuide.tsx │ ├── SwapHistory/ │ │ ├── Filters/ │ │ │ ├── CheckboxRow.tsx │ │ │ ├── ClearAllButton.tsx │ │ │ ├── NetworksDropdown.tsx │ │ │ ├── NoMatches.tsx │ │ │ ├── SearchResult.tsx │ │ │ ├── WalletsDropdown.tsx │ │ │ ├── chipStyles.ts │ │ │ ├── filterSwaps.ts │ │ │ ├── index.tsx │ │ │ └── types.ts │ │ ├── Header.tsx │ │ ├── History.tsx │ │ ├── HistorySummary.tsx │ │ ├── Snippet.tsx │ │ ├── StatusIcons.tsx │ │ ├── SwapDetailsComponent.tsx │ │ └── index.tsx │ ├── SwapWithdrawal.tsx │ ├── Tooltips/ │ │ └── ClickTooltip.tsx │ ├── Wallet/ │ │ ├── ConnectedWallets.tsx │ │ └── WalletsList.tsx │ ├── WalletModal/ │ │ ├── Connector.tsx │ │ ├── ConnectorsList.tsx │ │ ├── InstalledExtensionNotFound.tsx │ │ ├── LoadingConnect.tsx │ │ ├── MultichainConnectorPicker.tsx │ │ ├── ProviderPicker.tsx │ │ ├── WalletQrCode.tsx │ │ ├── index.tsx │ │ └── utils.ts │ ├── WalletProviders/ │ │ ├── ActiveEvmAccount.tsx │ │ ├── ActiveParadexAccount.tsx │ │ ├── BitcoinProvider.tsx │ │ ├── FuelProvider.tsx │ │ ├── ImtblPassportProvider.tsx │ │ ├── SolanaProvider.tsx │ │ ├── StarknetProvider.tsx │ │ ├── TonConnectProvider.tsx │ │ ├── TronProvider.tsx │ │ ├── Wagmi.tsx │ │ └── index.tsx │ ├── WarningMessage.tsx │ ├── Widget/ │ │ ├── Content.tsx │ │ ├── Footer.tsx │ │ └── Index.tsx │ ├── Wizard/ │ │ ├── Wizard.tsx │ │ └── WizardItem.tsx │ ├── backgroundField.tsx │ ├── banner.tsx │ ├── buttons/ │ │ ├── connectButton.tsx │ │ ├── copyButton.tsx │ │ ├── exploreButton.tsx │ │ ├── iconButton.tsx │ │ ├── secondaryButton.tsx │ │ ├── submitButton.tsx │ │ └── toggleButton.tsx │ ├── cardContainer.tsx │ ├── docInIframe.tsx │ ├── gauge.tsx │ ├── globalFooter.tsx │ ├── guideLink.tsx │ ├── icons/ │ │ ├── AlertIcon.tsx │ │ ├── CancelIcon.tsx │ │ ├── ChatIcon.tsx │ │ ├── CheckIcon.tsx │ │ ├── CircleCheckIcon.tsx │ │ ├── CircularLoader.tsx │ │ ├── Clock.tsx │ │ ├── ConnectorIcons.tsx │ │ ├── CopyIcon.tsx │ │ ├── DelayIcon.tsx │ │ ├── DiscordLogo.tsx │ │ ├── ExchangeGasIcon.tsx │ │ ├── ExchangeTabIcon.tsx │ │ ├── FailIcon.tsx │ │ ├── FeeIcon.tsx │ │ ├── FilledCheck.tsx │ │ ├── FilledX.tsx │ │ ├── GasIcon.tsx │ │ ├── GitHubLogo.tsx │ │ ├── GlobeIcon.tsx │ │ ├── InfoIcon.tsx │ │ ├── LogoPlaceholder.tsx │ │ ├── MenuIcon.tsx │ │ ├── NetworkTabIcon.tsx │ │ ├── NotFoundIcon.tsx │ │ ├── QRIcon.tsx │ │ ├── Question.tsx │ │ ├── RouteIcon.tsx │ │ ├── RoutePickerPlaceholder.tsx │ │ ├── SearchIcon.tsx │ │ ├── SignatureIcon.tsx │ │ ├── SubstackLogo.tsx │ │ ├── SuccessIcon.tsx │ │ ├── SvgWithImg.tsx │ │ ├── TokenIcon.tsx │ │ ├── TwitterLogo.tsx │ │ ├── WalletIcon.tsx │ │ ├── Wallets/ │ │ │ ├── Argent.tsx │ │ │ ├── ArgentX.tsx │ │ │ ├── BakoSafe.tsx │ │ │ ├── BitKeep.tsx │ │ │ ├── Bitget.tsx │ │ │ ├── Braavos.tsx │ │ │ ├── BrowserWallet.tsx │ │ │ ├── Coinbase.tsx │ │ │ ├── Controller.tsx │ │ │ ├── Ethereum.tsx │ │ │ ├── Fuel.tsx │ │ │ ├── Fuelet.tsx │ │ │ ├── Glow.tsx │ │ │ ├── IMX.tsx │ │ │ ├── ImtblPassport.tsx │ │ │ ├── Keplr.tsx │ │ │ ├── MetaMask.tsx │ │ │ ├── MyTonWallet.tsx │ │ │ ├── OpenMask.tsx │ │ │ ├── Phantom.tsx │ │ │ ├── Rainbow.tsx │ │ │ ├── Solana.tsx │ │ │ ├── Solflare.tsx │ │ │ ├── Starknet.tsx │ │ │ ├── TON.tsx │ │ │ ├── TonKeeper.tsx │ │ │ ├── WalletConnect.tsx │ │ │ └── Xverse.tsx │ │ ├── YoutubeLogo.tsx │ │ ├── layerSwapLogo.tsx │ │ ├── layerSwapLogoSmall.tsx │ │ ├── layerSwapMobileLogo.tsx │ │ └── spinIcon.tsx │ ├── layout.tsx │ ├── maintanance/ │ │ └── maintanance.tsx │ ├── modal/ │ │ ├── leaflet.tsx │ │ ├── modal.tsx │ │ ├── modalWithoutAnimation.tsx │ │ ├── vaul/ │ │ │ ├── browser.ts │ │ │ ├── constants.ts │ │ │ ├── context.ts │ │ │ ├── helpers.ts │ │ │ ├── index.tsx │ │ │ ├── types.ts │ │ │ ├── use-composed-refs.ts │ │ │ ├── use-controllable-state.ts │ │ │ ├── use-position-fixed.ts │ │ │ ├── use-prevent-scroll.ts │ │ │ ├── use-scale-background.ts │ │ │ └── use-snap-points.ts │ │ └── vaulModal.tsx │ ├── navbar.tsx │ ├── sendFeedback.tsx │ ├── shadcn/ │ │ ├── accordion.tsx │ │ ├── checkbox.tsx │ │ ├── command.tsx │ │ ├── dialog.tsx │ │ ├── popover.tsx │ │ ├── select.tsx │ │ ├── tab.tsx │ │ └── tooltip.tsx │ ├── swapComponent.tsx │ ├── themeWrapper.tsx │ ├── utils/ │ │ ├── GoHome.tsx │ │ ├── RoundDecimals.ts │ │ ├── ShortenString.tsx │ │ ├── classNames.ts │ │ ├── convertSvgComponentToBase64.tsx │ │ ├── dateDifference.ts │ │ ├── formatUsdAmount.ts │ │ ├── groupBy.ts │ │ ├── inIframe.ts │ │ ├── isGuid.ts │ │ ├── numbers.ts │ │ ├── resolveSwapPhase.ts │ │ ├── swapUtils.ts │ │ ├── timeCalculations.ts │ │ └── upperCaseKeys.ts │ └── validationError/ │ ├── AdjustAmountButton.tsx │ ├── ContractAddressValidationCache.tsx │ ├── ErrorDisplay.tsx │ ├── RefreshBalanceButton.tsx │ ├── constants.ts │ └── index.tsx ├── context/ │ ├── asyncModal.tsx │ ├── formWizardProvider.tsx │ ├── loadingContext.tsx │ ├── query.tsx │ ├── settings.tsx │ ├── snapPointsContext.tsx │ ├── swap.tsx │ ├── swapAccounts.tsx │ ├── timerContext.tsx │ ├── validationContext.tsx │ ├── walletProviders.tsx │ └── withdrawalContext.tsx ├── eslint-plugins/ │ └── eslint-plugin-no-conditional-literals-in-jsx/ │ ├── index.js │ ├── package.json │ ├── rules/ │ │ ├── no-conditional-literals-in-jsx.js │ │ └── no-unwrapped-jsx-text.js │ ├── tests.js │ └── utils/ │ ├── constants.js │ └── jsx.js ├── funding.json ├── helpers/ │ ├── accountSelectHelper.ts │ ├── balanceHelper.ts │ ├── errorHelper.ts │ ├── getSettings.ts │ ├── querryHelper.ts │ ├── routes.ts │ ├── settingsCompression.ts │ ├── settingsHelper.ts │ ├── storageAvailable.ts │ ├── tokenHelper.tsx │ └── validateSignature.ts ├── hooks/ │ ├── useAllWithdrawalBalances.tsx │ ├── useAutoSlippageTest.tsx │ ├── useClickOutside.ts │ ├── useConnectors.ts │ ├── useCopyClipboard.ts │ ├── useExchangeNetworks.ts │ ├── useFee.tsx │ ├── useFormRoutes.ts │ ├── useFormValidation.ts │ ├── useGoHome.ts │ ├── useHistoryFilters.ts │ ├── useInterval.ts │ ├── useIsWindowVisible.ts │ ├── useKeyboardNavigation.ts │ ├── useNavigatableList.ts │ ├── usePersistedState.ts │ ├── useResolvedSwapStatus.ts │ ├── useRouteValidation.tsx │ ├── useStorage.ts │ ├── useSuggestionsLimit.tsx │ ├── useSwapByTransactionHash.ts │ ├── useSwapHistoryData.ts │ ├── useSwrSwaps.ts │ ├── useUsdTokenSync.ts │ ├── useWallet.ts │ ├── useWalletRpcHealth.tsx │ ├── useWalletTransferOptions.ts │ └── useWindowDimensions.tsx ├── lib/ │ ├── AnimatedNumber.tsx │ ├── AppSettings.ts │ ├── CurrencySettings.ts │ ├── Errors/ │ │ └── AuthRefreshFailedError.ts │ ├── ExchangeSettings.ts │ ├── NetworkSettings.ts │ ├── SwapSettings.ts │ ├── abis/ │ │ ├── BALANCEGETTERABI.json │ │ ├── ERC20.json │ │ ├── FUELWATCHDOG.json │ │ ├── LSWATCHDOG.json │ │ └── usdt.json │ ├── address/ │ │ ├── Address.ts │ │ ├── explorerUrl.ts │ │ ├── formatter.ts │ │ ├── index.ts │ │ └── validator/ │ │ ├── index.ts │ │ └── starkNetAddressValidator.ts │ ├── apiClients/ │ │ ├── hyperliquidClient.ts │ │ ├── jsonRpcClient.ts │ │ └── layerSwapApiClient.ts │ ├── axiosInterceptor.ts │ ├── balances/ │ │ ├── balanceResolver.ts │ │ ├── errorUtils.ts │ │ ├── helpers.ts │ │ ├── nodeErrorClassifier.ts │ │ ├── providers/ │ │ │ ├── bitcoinBalanceProvider.ts │ │ │ ├── evmBalanceProvider.ts │ │ │ ├── fuelBalanceProvider.ts │ │ │ ├── hyperliquidBalanceProvider.ts │ │ │ ├── index.ts │ │ │ ├── loopringBalanceProvider.ts │ │ │ ├── paradexBalanceProvider.ts │ │ │ ├── queryBalanceProvider.ts │ │ │ ├── solanaBalanceProvider.ts │ │ │ ├── starknetBalanceProvider.ts │ │ │ ├── tonBalanceProvider.ts │ │ │ ├── tronBalanceProvider.ts │ │ │ └── zkSyncBalanceProvider.ts │ │ └── useBalance.ts │ ├── calculateDatesDifference.ts │ ├── dynamicWithRetries/ │ │ └── defaultError.tsx │ ├── ethersToViem/ │ │ └── ethers.ts │ ├── external/ │ │ └── nameof/ │ │ ├── index.ts │ │ ├── name-of.ts │ │ ├── path-of.ts │ │ ├── separated-path-of.ts │ │ └── types.ts │ ├── fees.ts │ ├── fetchWithTimeout.ts │ ├── fuels/ │ │ ├── common/ │ │ │ ├── FakeAccount.ts │ │ │ ├── PredicateConnector.ts │ │ │ ├── PredicateFactory.ts │ │ │ ├── PredicateWalletAdapter.ts │ │ │ ├── index.ts │ │ │ ├── networks.ts │ │ │ ├── types.ts │ │ │ └── utils.ts │ │ ├── connectors/ │ │ │ ├── bako-safe/ │ │ │ │ ├── BakoSafeConnector.ts │ │ │ │ ├── BakoSafeStorage.ts │ │ │ │ ├── DAPPWindow.ts │ │ │ │ ├── SocketClient.ts │ │ │ │ ├── constants.ts │ │ │ │ ├── index.ts │ │ │ │ ├── request.ts │ │ │ │ └── types.ts │ │ │ ├── fuel-wallet/ │ │ │ │ ├── FuelWalletConnector.ts │ │ │ │ ├── constants.ts │ │ │ │ ├── index.ts │ │ │ │ └── types.ts │ │ │ ├── fuelet-wallet/ │ │ │ │ ├── FueletWalletConnector.ts │ │ │ │ ├── constants.ts │ │ │ │ └── index.ts │ │ │ └── walletConnect/ │ │ │ ├── WalletConnectConnector.ts │ │ │ ├── constants.ts │ │ │ ├── index.ts │ │ │ ├── types.ts │ │ │ ├── utils/ │ │ │ │ ├── index.ts │ │ │ │ └── subscribeAndEnforceChain.ts │ │ │ └── web3Modal.ts │ │ └── evm-predicates/ │ │ ├── 0xbbae06500cd11e6c1d024ac587198cb30c504bf14ba16548f19e21fa9e8f5f95/ │ │ │ └── index.ts │ │ ├── 0xfdac03fc617c264fa6f325fd6f4d2a5470bf44cfbd33bc11efb3bf8b7ee2e938/ │ │ │ └── index.ts │ │ └── index.ts │ ├── gases/ │ │ ├── gasResolver.ts │ │ ├── providers/ │ │ │ ├── bitcoinGasProvider.ts │ │ │ ├── evmGasProvider.ts │ │ │ ├── fuelGasProvider.ts │ │ │ ├── loopringGasProvider.ts │ │ │ ├── solanaGasProvider.ts │ │ │ ├── starknetGasProvider.ts │ │ │ ├── tonGasProvider.ts │ │ │ ├── tronGasProvider.ts │ │ │ ├── types.ts │ │ │ └── zkSyncGasProvider.ts │ │ ├── useOutOfGas.ts │ │ └── useSWRGas.tsx │ ├── generateSwapInitialValues.ts │ ├── isMobile.ts │ ├── jwtParser.ts │ ├── knownIds.ts │ ├── logError.ts │ ├── loopring/ │ │ ├── LoopringAPI.ts │ │ ├── defs.ts │ │ ├── eddsa.ts │ │ ├── field.ts │ │ ├── formatter.ts │ │ ├── helpers.ts │ │ ├── jubjub.ts │ │ ├── permutation.ts │ │ ├── poseidon/ │ │ │ ├── EDDSAUtil.ts │ │ │ ├── babyJub.ts │ │ │ └── eddsa.ts │ │ └── utils.ts │ ├── nft/ │ │ ├── nftBalanceResolver.ts │ │ ├── providers/ │ │ │ ├── starknetNftProvider.ts │ │ │ └── types.ts │ │ └── useSWRNftBalance.tsx │ ├── openLink.ts │ ├── resolveChain.ts │ ├── resolveTransports.ts │ ├── retry.ts │ ├── telegram.ts │ ├── virtual/ │ │ ├── core/ │ │ │ ├── index.ts │ │ │ └── utils.ts │ │ └── index.tsx │ └── wallets/ │ ├── bitcoin/ │ │ ├── getConnections.ts │ │ ├── useAccount.ts │ │ ├── useBitcoin.ts │ │ └── useSyncExternalStoreWithTracked.ts │ ├── connectors/ │ │ ├── browserInjected/ │ │ │ └── index.ts │ │ ├── explicitInjectedProviderDetected.ts │ │ ├── resolveConnectors/ │ │ │ └── walletConnect.ts │ │ ├── types.ts │ │ ├── useSyncProviders/ │ │ │ ├── EthereumProviderTypes.d.ts │ │ │ ├── index.ts │ │ │ └── store.ts │ │ └── utils/ │ │ └── isMobile.ts │ ├── evm/ │ │ ├── KnownEVMConnectors.tsx │ │ ├── constants.ts │ │ └── useEVM.ts │ ├── fuel/ │ │ ├── Bako.ts │ │ ├── KnownFuelConnectors.tsx │ │ └── useFuel.ts │ ├── paradex/ │ │ ├── Authorize/ │ │ │ ├── Ethereum.ts │ │ │ └── Starknet.ts │ │ ├── lib/ │ │ │ ├── account.ts │ │ │ ├── config.ts │ │ │ ├── constants.ts │ │ │ ├── ethereum-signer.ts │ │ │ ├── index.ts │ │ │ ├── paraclear-provider.ts │ │ │ ├── paraclear.ts │ │ │ ├── starknet-account-support.ts │ │ │ ├── starknet-signer.ts │ │ │ └── types.ts │ │ └── useParadex.ts │ ├── solana/ │ │ ├── KnownSolanaConnectors.tsx │ │ ├── SolanaWalletConnectAdapter.ts │ │ ├── transactionBuilder.ts │ │ └── useSVM.tsx │ ├── starknet/ │ │ ├── KnownStarknetConnectors.tsx │ │ └── useStarknet.ts │ ├── ton/ │ │ ├── client.ts │ │ └── useTON.ts │ ├── tron/ │ │ └── useTron.ts │ ├── utils/ │ │ ├── resolveWalletIcon.tsx │ │ └── sleep.ts │ └── walletConnect/ │ ├── api.ts │ ├── buildDeepLink.ts │ ├── config.ts │ ├── createRegistryConnector.ts │ ├── decorateForWagmi.ts │ ├── dynamicMetadata.ts │ ├── mapConnectError.ts │ ├── mapWallet.ts │ ├── registry.ts │ ├── subscribeDisplayUri.ts │ ├── types.ts │ └── useAdditionalConnectors.ts ├── next.config.js ├── package.json ├── pages/ │ ├── 404.tsx │ ├── _app.js │ ├── _document.tsx │ ├── _error.jsx │ ├── campaigns/ │ │ ├── [campaign].tsx │ │ └── index.tsx │ ├── imtblRedirect.tsx │ ├── index.tsx │ ├── nocookies.tsx │ ├── salon.tsx │ ├── swap/ │ │ └── [swapId].tsx │ └── transactions.tsx ├── postcss.config.js ├── public/ │ ├── doc/ │ │ └── userGuide.md │ ├── favicon/ │ │ ├── browserconfig.xml │ │ └── site.webmanifest │ ├── manualTransfer.json │ ├── robots.txt │ ├── sitemap.xml │ └── tonconnect-manifest.json ├── stores/ │ ├── balanceStore.ts │ ├── contractAddressStore.ts │ ├── contractWalletsStore.ts │ ├── manualDestAddressesStore.ts │ ├── recentRoutesStore.ts │ ├── routeSortingStore.ts │ ├── routeTokenSwitchStore.ts │ ├── slippageStore.ts │ ├── starknetWalletStore.ts │ ├── swapTransactionStore.tsx │ ├── usdModeStore.ts │ └── walletStore.ts ├── stories/ │ ├── Data/ │ │ ├── initialValues.ts │ │ ├── settings.ts │ │ └── swaps.tsx │ ├── Docs/ │ │ ├── MessageDocs/ │ │ │ └── Docs.mdx │ │ └── ProcessDocs/ │ │ └── Docs.mdx │ ├── Message.stories.tsx │ ├── Mocks/ │ │ └── context/ │ │ └── SwapDataUpdate.ts │ ├── PriceImpact.stories.tsx │ ├── Process.stories.tsx │ └── SwapNotFound.stories.tsx ├── styles/ │ ├── dialog-transition.css │ ├── globals.css │ ├── manual-trasnfer-svg.css │ └── vaul.css ├── tailwind.config.js ├── tsconfig.json └── vercel.json