@lifi/widget 0.0.0-preview-6cc63bac
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +312 -0
- package/dist/esm/App.d.ts +9 -0
- package/dist/esm/App.d.ts.map +1 -0
- package/dist/esm/App.js +44 -0
- package/dist/esm/App.js.map +1 -0
- package/dist/esm/AppDefault.js +214 -0
- package/dist/esm/AppDefault.js.map +1 -0
- package/dist/esm/AppDrawer.d.ts +12 -0
- package/dist/esm/AppDrawer.d.ts.map +1 -0
- package/dist/esm/AppDrawer.js +63 -0
- package/dist/esm/AppDrawer.js.map +1 -0
- package/dist/esm/AppDrawerContext.js +8 -0
- package/dist/esm/AppDrawerContext.js.map +1 -0
- package/dist/esm/AppLayout.js +33 -0
- package/dist/esm/AppLayout.js.map +1 -0
- package/dist/esm/AppProvider.js +30 -0
- package/dist/esm/AppProvider.js.map +1 -0
- package/dist/esm/components/ActionRow/ActionRow.js +17 -0
- package/dist/esm/components/ActionRow/ActionRow.js.map +1 -0
- package/dist/esm/components/ActionRow/ActionRow.style.js +21 -0
- package/dist/esm/components/ActionRow/ActionRow.style.js.map +1 -0
- package/dist/esm/components/AmountInput/AmountInput.js +117 -0
- package/dist/esm/components/AmountInput/AmountInput.js.map +1 -0
- package/dist/esm/components/AmountInput/AmountInput.style.js +38 -0
- package/dist/esm/components/AmountInput/AmountInput.style.js.map +1 -0
- package/dist/esm/components/AmountInput/AmountInputEndAdornment.js +64 -0
- package/dist/esm/components/AmountInput/AmountInputEndAdornment.js.map +1 -0
- package/dist/esm/components/AmountInput/AmountInputEndAdornment.style.js +21 -0
- package/dist/esm/components/AmountInput/AmountInputEndAdornment.style.js.map +1 -0
- package/dist/esm/components/AmountInput/AmountInputStartAdornment.js +21 -0
- package/dist/esm/components/AmountInput/AmountInputStartAdornment.js.map +1 -0
- package/dist/esm/components/AmountInput/PriceFormHelperText.js +98 -0
- package/dist/esm/components/AmountInput/PriceFormHelperText.js.map +1 -0
- package/dist/esm/components/AmountInput/PriceFormHelperText.style.js +28 -0
- package/dist/esm/components/AmountInput/PriceFormHelperText.style.js.map +1 -0
- package/dist/esm/components/AppContainer.js +93 -0
- package/dist/esm/components/AppContainer.js.map +1 -0
- package/dist/esm/components/Avatar/AccountAvatar.js +29 -0
- package/dist/esm/components/Avatar/AccountAvatar.js.map +1 -0
- package/dist/esm/components/Avatar/Avatar.js +47 -0
- package/dist/esm/components/Avatar/Avatar.js.map +1 -0
- package/dist/esm/components/Avatar/Avatar.style.js +57 -0
- package/dist/esm/components/Avatar/Avatar.style.js.map +1 -0
- package/dist/esm/components/Avatar/ChainBadgeContent.js +17 -0
- package/dist/esm/components/Avatar/ChainBadgeContent.js.map +1 -0
- package/dist/esm/components/Avatar/SmallAvatar.js +20 -0
- package/dist/esm/components/Avatar/SmallAvatar.js.map +1 -0
- package/dist/esm/components/Avatar/TokenAvatar.js +65 -0
- package/dist/esm/components/Avatar/TokenAvatar.js.map +1 -0
- package/dist/esm/components/Avatar/utils.js +9 -0
- package/dist/esm/components/Avatar/utils.js.map +1 -0
- package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.js +51 -0
- package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.js.map +1 -0
- package/dist/esm/components/BottomSheet/BottomSheet.js +46 -0
- package/dist/esm/components/BottomSheet/BottomSheet.js.map +1 -0
- package/dist/esm/components/ButtonTertiary.js +21 -0
- package/dist/esm/components/ButtonTertiary.js.map +1 -0
- package/dist/esm/components/Card/Card.js +65 -0
- package/dist/esm/components/Card/Card.js.map +1 -0
- package/dist/esm/components/Card/CardButton.js +13 -0
- package/dist/esm/components/Card/CardButton.js.map +1 -0
- package/dist/esm/components/Card/CardButton.style.js +29 -0
- package/dist/esm/components/Card/CardButton.style.js.map +1 -0
- package/dist/esm/components/Card/CardHeader.js +26 -0
- package/dist/esm/components/Card/CardHeader.js.map +1 -0
- package/dist/esm/components/Card/CardIconButton.js +14 -0
- package/dist/esm/components/Card/CardIconButton.js.map +1 -0
- package/dist/esm/components/Card/CardLabel.js +62 -0
- package/dist/esm/components/Card/CardLabel.js.map +1 -0
- package/dist/esm/components/Card/CardTitle.js +22 -0
- package/dist/esm/components/Card/CardTitle.js.map +1 -0
- package/dist/esm/components/Card/InputCard.js +11 -0
- package/dist/esm/components/Card/InputCard.js.map +1 -0
- package/dist/esm/components/ChainSelect/ChainSelect.js +124 -0
- package/dist/esm/components/ChainSelect/ChainSelect.js.map +1 -0
- package/dist/esm/components/ChainSelect/ChainSelect.style.js +62 -0
- package/dist/esm/components/ChainSelect/ChainSelect.style.js.map +1 -0
- package/dist/esm/components/ChainSelect/useChainSelect.js +59 -0
- package/dist/esm/components/ChainSelect/useChainSelect.js.map +1 -0
- package/dist/esm/components/Chains/AllChainsAvatar.js +106 -0
- package/dist/esm/components/Chains/AllChainsAvatar.js.map +1 -0
- package/dist/esm/components/Chains/ChainList.js +50 -0
- package/dist/esm/components/Chains/ChainList.js.map +1 -0
- package/dist/esm/components/Chains/ChainList.style.js +43 -0
- package/dist/esm/components/Chains/ChainList.style.js.map +1 -0
- package/dist/esm/components/Chains/ChainListItem.js +55 -0
- package/dist/esm/components/Chains/ChainListItem.js.map +1 -0
- package/dist/esm/components/Chains/ChainsExpanded.js +23 -0
- package/dist/esm/components/Chains/ChainsExpanded.js.map +1 -0
- package/dist/esm/components/Chains/ChainsExpanded.style.js +19 -0
- package/dist/esm/components/Chains/ChainsExpanded.style.js.map +1 -0
- package/dist/esm/components/Chains/PinChainButton.js +43 -0
- package/dist/esm/components/Chains/PinChainButton.js.map +1 -0
- package/dist/esm/components/Chains/SelectChainExpansionContent.js +65 -0
- package/dist/esm/components/Chains/SelectChainExpansionContent.js.map +1 -0
- package/dist/esm/components/Chains/SelectChainPageContent.js +60 -0
- package/dist/esm/components/Chains/SelectChainPageContent.js.map +1 -0
- package/dist/esm/components/Chains/VirtualizedChainList.js +143 -0
- package/dist/esm/components/Chains/VirtualizedChainList.js.map +1 -0
- package/dist/esm/components/ContextMenu.js +59 -0
- package/dist/esm/components/ContextMenu.js.map +1 -0
- package/dist/esm/components/ContextMenu.style.js +12 -0
- package/dist/esm/components/ContextMenu.style.js.map +1 -0
- package/dist/esm/components/ContractComponent/ContractComponent.js +14 -0
- package/dist/esm/components/ContractComponent/ContractComponent.js.map +1 -0
- package/dist/esm/components/ContractComponent/ItemPrice.d.ts +12 -0
- package/dist/esm/components/ContractComponent/ItemPrice.d.ts.map +1 -0
- package/dist/esm/components/ContractComponent/ItemPrice.js +29 -0
- package/dist/esm/components/ContractComponent/ItemPrice.js.map +1 -0
- package/dist/esm/components/ContractComponent/NFT/NFT.d.ts +7 -0
- package/dist/esm/components/ContractComponent/NFT/NFT.d.ts.map +1 -0
- package/dist/esm/components/ContractComponent/NFT/NFT.js +33 -0
- package/dist/esm/components/ContractComponent/NFT/NFT.js.map +1 -0
- package/dist/esm/components/ContractComponent/NFT/NFT.style.js +12 -0
- package/dist/esm/components/ContractComponent/NFT/NFT.style.js.map +1 -0
- package/dist/esm/components/ContractComponent/NFT/NFTBase.d.ts +7 -0
- package/dist/esm/components/ContractComponent/NFT/NFTBase.d.ts.map +1 -0
- package/dist/esm/components/ContractComponent/NFT/NFTBase.js +76 -0
- package/dist/esm/components/ContractComponent/NFT/NFTBase.js.map +1 -0
- package/dist/esm/components/ContractComponent/NFT/types.d.ts +21 -0
- package/dist/esm/components/ContractComponent/NFT/types.d.ts.map +1 -0
- package/dist/esm/components/Dialog/Dialog.js +36 -0
- package/dist/esm/components/Dialog/Dialog.js.map +1 -0
- package/dist/esm/components/Dialog/Dialog.style.js +42 -0
- package/dist/esm/components/Dialog/Dialog.style.js.map +1 -0
- package/dist/esm/components/EmptyListIndicator/EmptyListIndicator.js +12 -0
- package/dist/esm/components/EmptyListIndicator/EmptyListIndicator.js.map +1 -0
- package/dist/esm/components/EmptyListIndicator/EmptyListIndicator.style.js +30 -0
- package/dist/esm/components/EmptyListIndicator/EmptyListIndicator.style.js.map +1 -0
- package/dist/esm/components/ExecutionStatusCard/ExecutionChecklist.js +65 -0
- package/dist/esm/components/ExecutionStatusCard/ExecutionChecklist.js.map +1 -0
- package/dist/esm/components/ExecutionStatusCard/ExecutionStatusCard.js +273 -0
- package/dist/esm/components/ExecutionStatusCard/ExecutionStatusCard.js.map +1 -0
- package/dist/esm/components/ExecutionStatusCard/StaggeredRevealTypography.js +47 -0
- package/dist/esm/components/ExecutionStatusCard/StaggeredRevealTypography.js.map +1 -0
- package/dist/esm/components/ExecutionStatusCard/StatusIcon.js +122 -0
- package/dist/esm/components/ExecutionStatusCard/StatusIcon.js.map +1 -0
- package/dist/esm/components/ExecutionStatusCard/StatusIcon.style.js +14 -0
- package/dist/esm/components/ExecutionStatusCard/StatusIcon.style.js.map +1 -0
- package/dist/esm/components/ExecutionStatusCard/iconKey.js +13 -0
- package/dist/esm/components/ExecutionStatusCard/iconKey.js.map +1 -0
- package/dist/esm/components/Expansion/Expansion.js +32 -0
- package/dist/esm/components/Expansion/Expansion.js.map +1 -0
- package/dist/esm/components/Expansion/Expansion.style.js +40 -0
- package/dist/esm/components/Expansion/Expansion.style.js.map +1 -0
- package/dist/esm/components/Expansion/ExpansionTransition.js +32 -0
- package/dist/esm/components/Expansion/ExpansionTransition.js.map +1 -0
- package/dist/esm/components/FeeBreakdownTooltip.js +39 -0
- package/dist/esm/components/FeeBreakdownTooltip.js.map +1 -0
- package/dist/esm/components/Header/ActivitiesButton.js +61 -0
- package/dist/esm/components/Header/ActivitiesButton.js.map +1 -0
- package/dist/esm/components/Header/ActivitiesButton.style.js +39 -0
- package/dist/esm/components/Header/ActivitiesButton.style.js.map +1 -0
- package/dist/esm/components/Header/BackButton.js +24 -0
- package/dist/esm/components/Header/BackButton.js.map +1 -0
- package/dist/esm/components/Header/CloseDrawerButton.js +25 -0
- package/dist/esm/components/Header/CloseDrawerButton.js.map +1 -0
- package/dist/esm/components/Header/DisconnectIconButton.js +20 -0
- package/dist/esm/components/Header/DisconnectIconButton.js.map +1 -0
- package/dist/esm/components/Header/Header.js +44 -0
- package/dist/esm/components/Header/Header.js.map +1 -0
- package/dist/esm/components/Header/Header.style.js +71 -0
- package/dist/esm/components/Header/Header.style.js.map +1 -0
- package/dist/esm/components/Header/NavigationHeader.js +62 -0
- package/dist/esm/components/Header/NavigationHeader.js.map +1 -0
- package/dist/esm/components/Header/SettingsButton.js +32 -0
- package/dist/esm/components/Header/SettingsButton.js.map +1 -0
- package/dist/esm/components/Header/SettingsButton.style.js +38 -0
- package/dist/esm/components/Header/SettingsButton.style.js.map +1 -0
- package/dist/esm/components/Header/SplitNavigationTabs.js +33 -0
- package/dist/esm/components/Header/SplitNavigationTabs.js.map +1 -0
- package/dist/esm/components/Header/WalletHeader.js +118 -0
- package/dist/esm/components/Header/WalletHeader.js.map +1 -0
- package/dist/esm/components/Header/WalletMenu.js +100 -0
- package/dist/esm/components/Header/WalletMenu.js.map +1 -0
- package/dist/esm/components/Header/WalletMenu.style.js +25 -0
- package/dist/esm/components/Header/WalletMenu.style.js.map +1 -0
- package/dist/esm/components/IconCircle/IconCircle.js +19 -0
- package/dist/esm/components/IconCircle/IconCircle.js.map +1 -0
- package/dist/esm/components/IconCircle/IconCircle.style.js +57 -0
- package/dist/esm/components/IconCircle/IconCircle.style.js.map +1 -0
- package/dist/esm/components/IconCircle/statusIcons.js +15 -0
- package/dist/esm/components/IconCircle/statusIcons.js.map +1 -0
- package/dist/esm/components/IconTypography.js +11 -0
- package/dist/esm/components/IconTypography.js.map +1 -0
- package/dist/esm/components/Initializer.js +10 -0
- package/dist/esm/components/Initializer.js.map +1 -0
- package/dist/esm/components/Input.js +15 -0
- package/dist/esm/components/Input.js.map +1 -0
- package/dist/esm/components/ListItem/ListItem.js +23 -0
- package/dist/esm/components/ListItem/ListItem.js.map +1 -0
- package/dist/esm/components/ListItem/ListItemButton.js +13 -0
- package/dist/esm/components/ListItem/ListItemButton.js.map +1 -0
- package/dist/esm/components/ListItemButton.js +30 -0
- package/dist/esm/components/ListItemButton.js.map +1 -0
- package/dist/esm/components/ListItemText.js +7 -0
- package/dist/esm/components/ListItemText.js.map +1 -0
- package/dist/esm/components/Menu.js +21 -0
- package/dist/esm/components/Menu.js.map +1 -0
- package/dist/esm/components/Messages/AccountDeployedMessage.js +27 -0
- package/dist/esm/components/Messages/AccountDeployedMessage.js.map +1 -0
- package/dist/esm/components/Messages/AccountNotDeployedMessage.js +24 -0
- package/dist/esm/components/Messages/AccountNotDeployedMessage.js.map +1 -0
- package/dist/esm/components/Messages/AlertMessage.js +16 -0
- package/dist/esm/components/Messages/AlertMessage.js.map +1 -0
- package/dist/esm/components/Messages/AlertMessage.style.js +38 -0
- package/dist/esm/components/Messages/AlertMessage.style.js.map +1 -0
- package/dist/esm/components/Messages/FundsSufficiencyMessage.js +24 -0
- package/dist/esm/components/Messages/FundsSufficiencyMessage.js.map +1 -0
- package/dist/esm/components/Messages/GasRefuelMessage.js +63 -0
- package/dist/esm/components/Messages/GasRefuelMessage.js.map +1 -0
- package/dist/esm/components/Messages/GasRefuelMessage.style.js +17 -0
- package/dist/esm/components/Messages/GasRefuelMessage.style.js.map +1 -0
- package/dist/esm/components/Messages/GasSufficiencyMessage.js +43 -0
- package/dist/esm/components/Messages/GasSufficiencyMessage.js.map +1 -0
- package/dist/esm/components/Messages/MinFromAmountUSDMessage.js +27 -0
- package/dist/esm/components/Messages/MinFromAmountUSDMessage.js.map +1 -0
- package/dist/esm/components/Messages/MissingRouteRequiredAccountMessage.js +31 -0
- package/dist/esm/components/Messages/MissingRouteRequiredAccountMessage.js.map +1 -0
- package/dist/esm/components/Messages/WarningMessages.js +45 -0
- package/dist/esm/components/Messages/WarningMessages.js.map +1 -0
- package/dist/esm/components/Messages/useMessageQueue.js +68 -0
- package/dist/esm/components/Messages/useMessageQueue.js.map +1 -0
- package/dist/esm/components/NotFound.js +44 -0
- package/dist/esm/components/NotFound.js.map +1 -0
- package/dist/esm/components/PageContainer.js +20 -0
- package/dist/esm/components/PageContainer.js.map +1 -0
- package/dist/esm/components/PageEntered.js +17 -0
- package/dist/esm/components/PageEntered.js.map +1 -0
- package/dist/esm/components/PoweredBy/PoweredBy.js +59 -0
- package/dist/esm/components/PoweredBy/PoweredBy.js.map +1 -0
- package/dist/esm/components/PoweredBy/PoweredBy.style.js +12 -0
- package/dist/esm/components/PoweredBy/PoweredBy.style.js.map +1 -0
- package/dist/esm/components/ProgressToNextUpdate.js +66 -0
- package/dist/esm/components/ProgressToNextUpdate.js.map +1 -0
- package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.js +40 -0
- package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.js.map +1 -0
- package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.style.js +33 -0
- package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.style.js.map +1 -0
- package/dist/esm/components/RouteCard/RouteCard.js +86 -0
- package/dist/esm/components/RouteCard/RouteCard.js.map +1 -0
- package/dist/esm/components/RouteCard/RouteCardEssentials.js +92 -0
- package/dist/esm/components/RouteCard/RouteCardEssentials.js.map +1 -0
- package/dist/esm/components/RouteCard/RouteCardSkeleton.js +53 -0
- package/dist/esm/components/RouteCard/RouteCardSkeleton.js.map +1 -0
- package/dist/esm/components/RouteCard/RouteDetails.js +100 -0
- package/dist/esm/components/RouteCard/RouteDetails.js.map +1 -0
- package/dist/esm/components/RouteCard/RouteDetails.style.js +35 -0
- package/dist/esm/components/RouteCard/RouteDetails.style.js.map +1 -0
- package/dist/esm/components/RouteCard/RouteNotFoundCard.js +45 -0
- package/dist/esm/components/RouteCard/RouteNotFoundCard.js.map +1 -0
- package/dist/esm/components/RouteCard/RouteToken.js +49 -0
- package/dist/esm/components/RouteCard/RouteToken.js.map +1 -0
- package/dist/esm/components/RouteCard/RouteToken.style.js +11 -0
- package/dist/esm/components/RouteCard/RouteToken.style.js.map +1 -0
- package/dist/esm/components/RouteCard/RouteTokens.js +50 -0
- package/dist/esm/components/RouteCard/RouteTokens.js.map +1 -0
- package/dist/esm/components/RouteCard/getMatchingLabels.js +24 -0
- package/dist/esm/components/RouteCard/getMatchingLabels.js.map +1 -0
- package/dist/esm/components/Routes/Routes.js +70 -0
- package/dist/esm/components/Routes/Routes.js.map +1 -0
- package/dist/esm/components/Routes/RoutesContent.js +74 -0
- package/dist/esm/components/Routes/RoutesContent.js.map +1 -0
- package/dist/esm/components/Routes/RoutesExpanded.js +69 -0
- package/dist/esm/components/Routes/RoutesExpanded.js.map +1 -0
- package/dist/esm/components/Routes/RoutesExpanded.style.js +34 -0
- package/dist/esm/components/Routes/RoutesExpanded.style.js.map +1 -0
- package/dist/esm/components/Search/SearchInput.js +46 -0
- package/dist/esm/components/Search/SearchInput.js.map +1 -0
- package/dist/esm/components/Search/SearchInput.style.js +27 -0
- package/dist/esm/components/Search/SearchInput.style.js.map +1 -0
- package/dist/esm/components/Search/SearchNotFound.js +9 -0
- package/dist/esm/components/Search/SearchNotFound.js.map +1 -0
- package/dist/esm/components/Search/SearchNotFound.style.js +28 -0
- package/dist/esm/components/Search/SearchNotFound.style.js.map +1 -0
- package/dist/esm/components/SelectChainAndToken.js +36 -0
- package/dist/esm/components/SelectChainAndToken.js.map +1 -0
- package/dist/esm/components/SelectTokenButton/SelectTokenButton.js +70 -0
- package/dist/esm/components/SelectTokenButton/SelectTokenButton.js.map +1 -0
- package/dist/esm/components/SelectTokenButton/SelectTokenButton.style.js +67 -0
- package/dist/esm/components/SelectTokenButton/SelectTokenButton.style.js.map +1 -0
- package/dist/esm/components/SendToWallet/SendToWalletButton.js +115 -0
- package/dist/esm/components/SendToWallet/SendToWalletButton.js.map +1 -0
- package/dist/esm/components/SendToWallet/SendToWalletButton.style.js +53 -0
- package/dist/esm/components/SendToWallet/SendToWalletButton.style.js.map +1 -0
- package/dist/esm/components/SendToWallet/SendToWalletExpandButton.js +49 -0
- package/dist/esm/components/SendToWallet/SendToWalletExpandButton.js.map +1 -0
- package/dist/esm/components/SettingsListItemButton.js +8 -0
- package/dist/esm/components/SettingsListItemButton.js.map +1 -0
- package/dist/esm/components/Skeleton/WidgetSkeleton.d.ts +10 -0
- package/dist/esm/components/Skeleton/WidgetSkeleton.d.ts.map +1 -0
- package/dist/esm/components/Skeleton/WidgetSkeleton.js +124 -0
- package/dist/esm/components/Skeleton/WidgetSkeleton.js.map +1 -0
- package/dist/esm/components/Skeleton/WidgetSkeleton.style.js +73 -0
- package/dist/esm/components/Skeleton/WidgetSkeleton.style.js.map +1 -0
- package/dist/esm/components/Step/StepActions.js +198 -0
- package/dist/esm/components/Step/StepActions.js.map +1 -0
- package/dist/esm/components/Step/StepActions.style.js +27 -0
- package/dist/esm/components/Step/StepActions.style.js.map +1 -0
- package/dist/esm/components/StepActions/SentToWalletRow.js +49 -0
- package/dist/esm/components/StepActions/SentToWalletRow.js.map +1 -0
- package/dist/esm/components/StepActions/SentToWalletRow.style.js +26 -0
- package/dist/esm/components/StepActions/SentToWalletRow.style.js.map +1 -0
- package/dist/esm/components/StepActions/StepActionRow.js +27 -0
- package/dist/esm/components/StepActions/StepActionRow.js.map +1 -0
- package/dist/esm/components/StepActions/StepActionRow.style.js +17 -0
- package/dist/esm/components/StepActions/StepActionRow.style.js.map +1 -0
- package/dist/esm/components/StepActions/StepActionsList.js +23 -0
- package/dist/esm/components/StepActions/StepActionsList.js.map +1 -0
- package/dist/esm/components/StepActions/executionRows.js +67 -0
- package/dist/esm/components/StepActions/executionRows.js.map +1 -0
- package/dist/esm/components/Switch.js +47 -0
- package/dist/esm/components/Switch.js.map +1 -0
- package/dist/esm/components/Tabs/NavigationTabs.js +39 -0
- package/dist/esm/components/Tabs/NavigationTabs.js.map +1 -0
- package/dist/esm/components/Tabs/Tabs.style.js +31 -0
- package/dist/esm/components/Tabs/Tabs.style.js.map +1 -0
- package/dist/esm/components/TextFitter/TextFitter.js +62 -0
- package/dist/esm/components/TextFitter/TextFitter.js.map +1 -0
- package/dist/esm/components/Timer/ExecutionTimerText.js +10 -0
- package/dist/esm/components/Timer/ExecutionTimerText.js.map +1 -0
- package/dist/esm/components/Timer/StepStatusTimer.js +56 -0
- package/dist/esm/components/Timer/StepStatusTimer.js.map +1 -0
- package/dist/esm/components/Timer/StepStatusTimer.style.js +67 -0
- package/dist/esm/components/Timer/StepStatusTimer.style.js.map +1 -0
- package/dist/esm/components/Token/Token.js +208 -0
- package/dist/esm/components/Token/Token.js.map +1 -0
- package/dist/esm/components/Token/Token.style.js +31 -0
- package/dist/esm/components/Token/Token.style.js.map +1 -0
- package/dist/esm/components/TokenList/PinTokenButton.js +36 -0
- package/dist/esm/components/TokenList/PinTokenButton.js.map +1 -0
- package/dist/esm/components/TokenList/TokenDetailsSheet.js +37 -0
- package/dist/esm/components/TokenList/TokenDetailsSheet.js.map +1 -0
- package/dist/esm/components/TokenList/TokenDetailsSheetContent.js +177 -0
- package/dist/esm/components/TokenList/TokenDetailsSheetContent.js.map +1 -0
- package/dist/esm/components/TokenList/TokenDetailsSheetContent.style.js +32 -0
- package/dist/esm/components/TokenList/TokenDetailsSheetContent.style.js.map +1 -0
- package/dist/esm/components/TokenList/TokenList.js +65 -0
- package/dist/esm/components/TokenList/TokenList.js.map +1 -0
- package/dist/esm/components/TokenList/TokenList.style.js +30 -0
- package/dist/esm/components/TokenList/TokenList.style.js.map +1 -0
- package/dist/esm/components/TokenList/TokenListItem.js +274 -0
- package/dist/esm/components/TokenList/TokenListItem.js.map +1 -0
- package/dist/esm/components/TokenList/TokenNotFound.js +12 -0
- package/dist/esm/components/TokenList/TokenNotFound.js.map +1 -0
- package/dist/esm/components/TokenList/VirtualizedTokenList.js +123 -0
- package/dist/esm/components/TokenList/VirtualizedTokenList.js.map +1 -0
- package/dist/esm/components/TokenList/useTokenSelect.js +78 -0
- package/dist/esm/components/TokenList/useTokenSelect.js.map +1 -0
- package/dist/esm/components/TokenRate/TokenRate.js +38 -0
- package/dist/esm/components/TokenRate/TokenRate.js.map +1 -0
- package/dist/esm/components/TokenRate/TokenRate.style.js +19 -0
- package/dist/esm/components/TokenRate/TokenRate.style.js.map +1 -0
- package/dist/esm/components/Tools/ToolItem.js +37 -0
- package/dist/esm/components/Tools/ToolItem.js.map +1 -0
- package/dist/esm/components/Tools/Tools.js +50 -0
- package/dist/esm/components/Tools/Tools.js.map +1 -0
- package/dist/esm/components/TransactionCard/ActiveTransactionCard.js +68 -0
- package/dist/esm/components/TransactionCard/ActiveTransactionCard.js.map +1 -0
- package/dist/esm/components/TransactionCard/ActiveTransactionCard.style.js +21 -0
- package/dist/esm/components/TransactionCard/ActiveTransactionCard.style.js.map +1 -0
- package/dist/esm/components/TransactionCard/TransactionCard.js +32 -0
- package/dist/esm/components/TransactionCard/TransactionCard.js.map +1 -0
- package/dist/esm/components/TransactionCard/TransactionCard.style.js +14 -0
- package/dist/esm/components/TransactionCard/TransactionCard.style.js.map +1 -0
- package/dist/esm/components/TransactionCard/TransactionCardSkeleton.js +63 -0
- package/dist/esm/components/TransactionCard/TransactionCardSkeleton.js.map +1 -0
- package/dist/esm/config/constants.d.ts +5 -0
- package/dist/esm/config/constants.d.ts.map +1 -0
- package/dist/esm/config/constants.js +7 -0
- package/dist/esm/config/constants.js.map +1 -0
- package/dist/esm/config/queryClient.js +18 -0
- package/dist/esm/config/queryClient.js.map +1 -0
- package/dist/esm/config/version.d.ts +6 -0
- package/dist/esm/config/version.d.ts.map +1 -0
- package/dist/esm/config/version.js +7 -0
- package/dist/esm/config/version.js.map +1 -0
- package/dist/esm/hooks/timer/time.js +26 -0
- package/dist/esm/hooks/timer/time.js.map +1 -0
- package/dist/esm/hooks/timer/useExecutionTimer.js +29 -0
- package/dist/esm/hooks/timer/useExecutionTimer.js.map +1 -0
- package/dist/esm/hooks/timer/useInterval.js +19 -0
- package/dist/esm/hooks/timer/useInterval.js.map +1 -0
- package/dist/esm/hooks/timer/useTimer.js +67 -0
- package/dist/esm/hooks/timer/useTimer.js.map +1 -0
- package/dist/esm/hooks/timer/validate.js +15 -0
- package/dist/esm/hooks/timer/validate.js.map +1 -0
- package/dist/esm/hooks/useAccountsBalancesData.js +70 -0
- package/dist/esm/hooks/useAccountsBalancesData.js.map +1 -0
- package/dist/esm/hooks/useActionMessage.js +18 -0
- package/dist/esm/hooks/useActionMessage.js.map +1 -0
- package/dist/esm/hooks/useAddressActivity.js +36 -0
- package/dist/esm/hooks/useAddressActivity.js.map +1 -0
- package/dist/esm/hooks/useAddressValidation.js +50 -0
- package/dist/esm/hooks/useAddressValidation.js.map +1 -0
- package/dist/esm/hooks/useAvailableChains.js +69 -0
- package/dist/esm/hooks/useAvailableChains.js.map +1 -0
- package/dist/esm/hooks/useChain.js +15 -0
- package/dist/esm/hooks/useChain.js.map +1 -0
- package/dist/esm/hooks/useChainSearch.js +39 -0
- package/dist/esm/hooks/useChainSearch.js.map +1 -0
- package/dist/esm/hooks/useChains.js +26 -0
- package/dist/esm/hooks/useChains.js.map +1 -0
- package/dist/esm/hooks/useContactSupport.js +15 -0
- package/dist/esm/hooks/useContactSupport.js.map +1 -0
- package/dist/esm/hooks/useDebouncedWatch.js +28 -0
- package/dist/esm/hooks/useDebouncedWatch.js.map +1 -0
- package/dist/esm/hooks/useDefaultElementId.js +10 -0
- package/dist/esm/hooks/useDefaultElementId.js.map +1 -0
- package/dist/esm/hooks/useExplorer.js +59 -0
- package/dist/esm/hooks/useExplorer.js.map +1 -0
- package/dist/esm/hooks/useFilteredByTokenBalances.js +71 -0
- package/dist/esm/hooks/useFilteredByTokenBalances.js.map +1 -0
- package/dist/esm/hooks/useFromAmountThreshold.js +29 -0
- package/dist/esm/hooks/useFromAmountThreshold.js.map +1 -0
- package/dist/esm/hooks/useFromTokenSufficiency.js +56 -0
- package/dist/esm/hooks/useFromTokenSufficiency.js.map +1 -0
- package/dist/esm/hooks/useGasRecommendation.js +38 -0
- package/dist/esm/hooks/useGasRecommendation.js.map +1 -0
- package/dist/esm/hooks/useGasRefuel.js +45 -0
- package/dist/esm/hooks/useGasRefuel.js.map +1 -0
- package/dist/esm/hooks/useGasSufficiency.js +104 -0
- package/dist/esm/hooks/useGasSufficiency.js.map +1 -0
- package/dist/esm/hooks/useHasChainExpansion.js +17 -0
- package/dist/esm/hooks/useHasChainExpansion.js.map +1 -0
- package/dist/esm/hooks/useHeader.js +23 -0
- package/dist/esm/hooks/useHeader.js.map +1 -0
- package/dist/esm/hooks/useInitializeSDKProviders.js +15 -0
- package/dist/esm/hooks/useInitializeSDKProviders.js.map +1 -0
- package/dist/esm/hooks/useInitializer.js +19 -0
- package/dist/esm/hooks/useInitializer.js.map +1 -0
- package/dist/esm/hooks/useIsBatchingSupported.js +37 -0
- package/dist/esm/hooks/useIsBatchingSupported.js.map +1 -0
- package/dist/esm/hooks/useIsContractAddress.js +30 -0
- package/dist/esm/hooks/useIsContractAddress.js.map +1 -0
- package/dist/esm/hooks/useLanguages.js +53 -0
- package/dist/esm/hooks/useLanguages.js.map +1 -0
- package/dist/esm/hooks/useListHeight.js +52 -0
- package/dist/esm/hooks/useListHeight.js.map +1 -0
- package/dist/esm/hooks/useLongPress.js +40 -0
- package/dist/esm/hooks/useLongPress.js.map +1 -0
- package/dist/esm/hooks/useNavigateBack.js +18 -0
- package/dist/esm/hooks/useNavigateBack.js.map +1 -0
- package/dist/esm/hooks/usePacedRouteExecution.js +30 -0
- package/dist/esm/hooks/usePacedRouteExecution.js.map +1 -0
- package/dist/esm/hooks/usePacedValue.js +42 -0
- package/dist/esm/hooks/usePacedValue.js.map +1 -0
- package/dist/esm/hooks/useRouteExecution.js +156 -0
- package/dist/esm/hooks/useRouteExecution.js.map +1 -0
- package/dist/esm/hooks/useRouteExecutionMessage.js +61 -0
- package/dist/esm/hooks/useRouteExecutionMessage.js.map +1 -0
- package/dist/esm/hooks/useRouteRequiredAccountConnection.js +37 -0
- package/dist/esm/hooks/useRouteRequiredAccountConnection.js.map +1 -0
- package/dist/esm/hooks/useRoutes.js +303 -0
- package/dist/esm/hooks/useRoutes.js.map +1 -0
- package/dist/esm/hooks/useScrollableContainer.js +12 -0
- package/dist/esm/hooks/useScrollableContainer.js.map +1 -0
- package/dist/esm/hooks/useSetContentHeight.js +23 -0
- package/dist/esm/hooks/useSetContentHeight.js.map +1 -0
- package/dist/esm/hooks/useSettingMonitor.js +51 -0
- package/dist/esm/hooks/useSettingMonitor.js.map +1 -0
- package/dist/esm/hooks/useSwapOnly.js +9 -0
- package/dist/esm/hooks/useSwapOnly.js.map +1 -0
- package/dist/esm/hooks/useToAddressAutoPopulate.js +51 -0
- package/dist/esm/hooks/useToAddressAutoPopulate.js.map +1 -0
- package/dist/esm/hooks/useToAddressRequirements.js +41 -0
- package/dist/esm/hooks/useToAddressRequirements.js.map +1 -0
- package/dist/esm/hooks/useToAddressReset.js +29 -0
- package/dist/esm/hooks/useToAddressReset.js.map +1 -0
- package/dist/esm/hooks/useToken.js +23 -0
- package/dist/esm/hooks/useToken.js.map +1 -0
- package/dist/esm/hooks/useTokenAddressBalance.js +21 -0
- package/dist/esm/hooks/useTokenAddressBalance.js.map +1 -0
- package/dist/esm/hooks/useTokenBalance.js +93 -0
- package/dist/esm/hooks/useTokenBalance.js.map +1 -0
- package/dist/esm/hooks/useTokenBalances.js +111 -0
- package/dist/esm/hooks/useTokenBalances.js.map +1 -0
- package/dist/esm/hooks/useTokenBalancesQueries.js +63 -0
- package/dist/esm/hooks/useTokenBalancesQueries.js.map +1 -0
- package/dist/esm/hooks/useTokenRateText.js +36 -0
- package/dist/esm/hooks/useTokenRateText.js.map +1 -0
- package/dist/esm/hooks/useTokenSearch.js +48 -0
- package/dist/esm/hooks/useTokenSearch.js.map +1 -0
- package/dist/esm/hooks/useTokens.js +100 -0
- package/dist/esm/hooks/useTokens.js.map +1 -0
- package/dist/esm/hooks/useTools.js +42 -0
- package/dist/esm/hooks/useTools.js.map +1 -0
- package/dist/esm/hooks/useTransactionDetails.js +49 -0
- package/dist/esm/hooks/useTransactionDetails.js.map +1 -0
- package/dist/esm/hooks/useTransactionHistory.js +68 -0
- package/dist/esm/hooks/useTransactionHistory.js.map +1 -0
- package/dist/esm/hooks/useTransactionList.js +57 -0
- package/dist/esm/hooks/useTransactionList.js.map +1 -0
- package/dist/esm/hooks/useWideVariant.js +13 -0
- package/dist/esm/hooks/useWideVariant.js.map +1 -0
- package/dist/esm/hooks/useWidgetChains.d.ts +12 -0
- package/dist/esm/hooks/useWidgetChains.d.ts.map +1 -0
- package/dist/esm/hooks/useWidgetChains.js +9 -0
- package/dist/esm/hooks/useWidgetChains.js.map +1 -0
- package/dist/esm/hooks/useWidgetEvents.d.ts +10 -0
- package/dist/esm/hooks/useWidgetEvents.d.ts.map +1 -0
- package/dist/esm/hooks/useWidgetEvents.js +8 -0
- package/dist/esm/hooks/useWidgetEvents.js.map +1 -0
- package/dist/esm/i18n/bn.json +362 -0
- package/dist/esm/i18n/de.json +362 -0
- package/dist/esm/i18n/en.json +360 -0
- package/dist/esm/i18n/es.json +362 -0
- package/dist/esm/i18n/fr.json +362 -0
- package/dist/esm/i18n/hi.json +362 -0
- package/dist/esm/i18n/id.json +362 -0
- package/dist/esm/i18n/it.json +362 -0
- package/dist/esm/i18n/ja.json +362 -0
- package/dist/esm/i18n/ko.json +362 -0
- package/dist/esm/i18n/pl.json +362 -0
- package/dist/esm/i18n/pt.json +362 -0
- package/dist/esm/i18n/th.json +362 -0
- package/dist/esm/i18n/tr.json +362 -0
- package/dist/esm/i18n/uk.json +362 -0
- package/dist/esm/i18n/vi.json +362 -0
- package/dist/esm/i18n/zh.json +362 -0
- package/dist/esm/index.d.ts +33 -0
- package/dist/esm/index.js +28 -0
- package/dist/esm/pages/ActivitiesPage/ActiveTransactionItem.js +36 -0
- package/dist/esm/pages/ActivitiesPage/ActiveTransactionItem.js.map +1 -0
- package/dist/esm/pages/ActivitiesPage/ActivitiesPage.js +101 -0
- package/dist/esm/pages/ActivitiesPage/ActivitiesPage.js.map +1 -0
- package/dist/esm/pages/ActivitiesPage/ActivitiesPageMenuButton.js +55 -0
- package/dist/esm/pages/ActivitiesPage/ActivitiesPageMenuButton.js.map +1 -0
- package/dist/esm/pages/ActivitiesPage/TransactionHistoryEmpty.js +17 -0
- package/dist/esm/pages/ActivitiesPage/TransactionHistoryEmpty.js.map +1 -0
- package/dist/esm/pages/ActivitiesPage/TransactionHistoryItem.js +24 -0
- package/dist/esm/pages/ActivitiesPage/TransactionHistoryItem.js.map +1 -0
- package/dist/esm/pages/LanguagesPage.js +31 -0
- package/dist/esm/pages/LanguagesPage.js.map +1 -0
- package/dist/esm/pages/MainPage/MainPage.js +59 -0
- package/dist/esm/pages/MainPage/MainPage.js.map +1 -0
- package/dist/esm/pages/MainPage/MainWarningMessages.js +16 -0
- package/dist/esm/pages/MainPage/MainWarningMessages.js.map +1 -0
- package/dist/esm/pages/MainPage/ReviewButton.js +60 -0
- package/dist/esm/pages/MainPage/ReviewButton.js.map +1 -0
- package/dist/esm/pages/RoutesPage/RoutesPage.js +74 -0
- package/dist/esm/pages/RoutesPage/RoutesPage.js.map +1 -0
- package/dist/esm/pages/RoutesPage/RoutesPage.style.js +10 -0
- package/dist/esm/pages/RoutesPage/RoutesPage.style.js.map +1 -0
- package/dist/esm/pages/SelectChainPage/SelectChainPage.js +35 -0
- package/dist/esm/pages/SelectChainPage/SelectChainPage.js.map +1 -0
- package/dist/esm/pages/SelectEnabledToolsPage.js +105 -0
- package/dist/esm/pages/SelectEnabledToolsPage.js.map +1 -0
- package/dist/esm/pages/SelectTokenPage/SearchTokenInput.js +40 -0
- package/dist/esm/pages/SelectTokenPage/SearchTokenInput.js.map +1 -0
- package/dist/esm/pages/SelectTokenPage/SelectTokenPage.js +46 -0
- package/dist/esm/pages/SelectTokenPage/SelectTokenPage.js.map +1 -0
- package/dist/esm/pages/SendToWallet/BookmarkAddressSheet.js +176 -0
- package/dist/esm/pages/SendToWallet/BookmarkAddressSheet.js.map +1 -0
- package/dist/esm/pages/SendToWallet/BookmarksPage.js +124 -0
- package/dist/esm/pages/SendToWallet/BookmarksPage.js.map +1 -0
- package/dist/esm/pages/SendToWallet/ConfirmAddressSheet.js +82 -0
- package/dist/esm/pages/SendToWallet/ConfirmAddressSheet.js.map +1 -0
- package/dist/esm/pages/SendToWallet/ConnectedWalletsPage.js +106 -0
- package/dist/esm/pages/SendToWallet/ConnectedWalletsPage.js.map +1 -0
- package/dist/esm/pages/SendToWallet/RecentWalletsPage.js +124 -0
- package/dist/esm/pages/SendToWallet/RecentWalletsPage.js.map +1 -0
- package/dist/esm/pages/SendToWallet/SendToConfiguredWalletPage.js +84 -0
- package/dist/esm/pages/SendToWallet/SendToConfiguredWalletPage.js.map +1 -0
- package/dist/esm/pages/SendToWallet/SendToWalletPage.js +237 -0
- package/dist/esm/pages/SendToWallet/SendToWalletPage.js.map +1 -0
- package/dist/esm/pages/SendToWallet/SendToWalletPage.style.js +90 -0
- package/dist/esm/pages/SendToWallet/SendToWalletPage.style.js.map +1 -0
- package/dist/esm/pages/SettingsPage/BridgeAndExchangeSettings.js +49 -0
- package/dist/esm/pages/SettingsPage/BridgeAndExchangeSettings.js.map +1 -0
- package/dist/esm/pages/SettingsPage/GasPriceSettings.js +56 -0
- package/dist/esm/pages/SettingsPage/GasPriceSettings.js.map +1 -0
- package/dist/esm/pages/SettingsPage/LanguageSetting.js +31 -0
- package/dist/esm/pages/SettingsPage/LanguageSetting.js.map +1 -0
- package/dist/esm/pages/SettingsPage/ResetSettingsButton.js +64 -0
- package/dist/esm/pages/SettingsPage/ResetSettingsButton.js.map +1 -0
- package/dist/esm/pages/SettingsPage/ResetSettingsButton.style.js +12 -0
- package/dist/esm/pages/SettingsPage/ResetSettingsButton.style.js.map +1 -0
- package/dist/esm/pages/SettingsPage/RoutePrioritySettings.js +48 -0
- package/dist/esm/pages/SettingsPage/RoutePrioritySettings.js.map +1 -0
- package/dist/esm/pages/SettingsPage/SettingsCard/BadgedValue.js +13 -0
- package/dist/esm/pages/SettingsPage/SettingsCard/BadgedValue.js.map +1 -0
- package/dist/esm/pages/SettingsPage/SettingsCard/SettingCard.style.js +23 -0
- package/dist/esm/pages/SettingsPage/SettingsCard/SettingCard.style.js.map +1 -0
- package/dist/esm/pages/SettingsPage/SettingsCard/SettingCardExpandable.js +47 -0
- package/dist/esm/pages/SettingsPage/SettingsCard/SettingCardExpandable.js.map +1 -0
- package/dist/esm/pages/SettingsPage/SettingsCard/SettingsAccordian.js +38 -0
- package/dist/esm/pages/SettingsPage/SettingsCard/SettingsAccordian.js.map +1 -0
- package/dist/esm/pages/SettingsPage/SettingsPage.js +39 -0
- package/dist/esm/pages/SettingsPage/SettingsPage.js.map +1 -0
- package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.js +92 -0
- package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.js.map +1 -0
- package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.style.js +62 -0
- package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.style.js.map +1 -0
- package/dist/esm/pages/SettingsPage/SmallBalanceFilterSettings.js +75 -0
- package/dist/esm/pages/SettingsPage/SmallBalanceFilterSettings.js.map +1 -0
- package/dist/esm/pages/SettingsPage/ThemeSettings.js +60 -0
- package/dist/esm/pages/SettingsPage/ThemeSettings.js.map +1 -0
- package/dist/esm/pages/TransactionDetailsPage/ContactSupportButton.js +16 -0
- package/dist/esm/pages/TransactionDetailsPage/ContactSupportButton.js.map +1 -0
- package/dist/esm/pages/TransactionDetailsPage/ContactSupportButton.style.js +14 -0
- package/dist/esm/pages/TransactionDetailsPage/ContactSupportButton.style.js.map +1 -0
- package/dist/esm/pages/TransactionDetailsPage/ReceiptsCard.js +28 -0
- package/dist/esm/pages/TransactionDetailsPage/ReceiptsCard.js.map +1 -0
- package/dist/esm/pages/TransactionDetailsPage/TransactionDetailsPage.js +84 -0
- package/dist/esm/pages/TransactionDetailsPage/TransactionDetailsPage.js.map +1 -0
- package/dist/esm/pages/TransactionDetailsPage/TransactionDetailsSkeleton.js +80 -0
- package/dist/esm/pages/TransactionDetailsPage/TransactionDetailsSkeleton.js.map +1 -0
- package/dist/esm/pages/TransactionDetailsPage/TransferIdCard.js +65 -0
- package/dist/esm/pages/TransactionDetailsPage/TransferIdCard.js.map +1 -0
- package/dist/esm/pages/TransactionPage/ConfirmToAddressSheet.js +81 -0
- package/dist/esm/pages/TransactionPage/ConfirmToAddressSheet.js.map +1 -0
- package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.js +146 -0
- package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.js.map +1 -0
- package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.style.js +11 -0
- package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.style.js.map +1 -0
- package/dist/esm/pages/TransactionPage/ExecutionDoneCard.js +38 -0
- package/dist/esm/pages/TransactionPage/ExecutionDoneCard.js.map +1 -0
- package/dist/esm/pages/TransactionPage/RouteTracker.js +47 -0
- package/dist/esm/pages/TransactionPage/RouteTracker.js.map +1 -0
- package/dist/esm/pages/TransactionPage/StartTransactionButton.js +21 -0
- package/dist/esm/pages/TransactionPage/StartTransactionButton.js.map +1 -0
- package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.js +82 -0
- package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.js.map +1 -0
- package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.style.js +44 -0
- package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.style.js.map +1 -0
- package/dist/esm/pages/TransactionPage/TransactionContent.js +21 -0
- package/dist/esm/pages/TransactionPage/TransactionContent.js.map +1 -0
- package/dist/esm/pages/TransactionPage/TransactionDoneButtons.js +46 -0
- package/dist/esm/pages/TransactionPage/TransactionDoneButtons.js.map +1 -0
- package/dist/esm/pages/TransactionPage/TransactionExecutionContent.js +78 -0
- package/dist/esm/pages/TransactionPage/TransactionExecutionContent.js.map +1 -0
- package/dist/esm/pages/TransactionPage/TransactionFailedButtons.js +80 -0
- package/dist/esm/pages/TransactionPage/TransactionFailedButtons.js.map +1 -0
- package/dist/esm/pages/TransactionPage/TransactionPage.js +79 -0
- package/dist/esm/pages/TransactionPage/TransactionPage.js.map +1 -0
- package/dist/esm/pages/TransactionPage/TransactionReview.js +115 -0
- package/dist/esm/pages/TransactionPage/TransactionReview.js.map +1 -0
- package/dist/esm/pages/TransactionPage/utils.js +12 -0
- package/dist/esm/pages/TransactionPage/utils.js.map +1 -0
- package/dist/esm/providers/I18nProvider/I18nProvider.js +83 -0
- package/dist/esm/providers/I18nProvider/I18nProvider.js.map +1 -0
- package/dist/esm/providers/I18nProvider/constants.js +43 -0
- package/dist/esm/providers/I18nProvider/constants.js.map +1 -0
- package/dist/esm/providers/I18nProvider/enResource.d.ts +2 -0
- package/dist/esm/providers/I18nProvider/enResource.js +2 -0
- package/dist/esm/providers/I18nProvider/i18n.js +18 -0
- package/dist/esm/providers/I18nProvider/i18n.js.map +1 -0
- package/dist/esm/providers/I18nProvider/types.d.ts +12 -0
- package/dist/esm/providers/I18nProvider/types.d.ts.map +1 -0
- package/dist/esm/providers/QueryClientProvider.js +15 -0
- package/dist/esm/providers/QueryClientProvider.js.map +1 -0
- package/dist/esm/providers/SDKClientProvider.js +43 -0
- package/dist/esm/providers/SDKClientProvider.js.map +1 -0
- package/dist/esm/providers/ThemeProvider/ThemeProvider.js +25 -0
- package/dist/esm/providers/ThemeProvider/ThemeProvider.js.map +1 -0
- package/dist/esm/providers/WalletProvider/WalletProvider.js +40 -0
- package/dist/esm/providers/WalletProvider/WalletProvider.js.map +1 -0
- package/dist/esm/providers/WalletProvider/useExternalWalletProvider.js +45 -0
- package/dist/esm/providers/WalletProvider/useExternalWalletProvider.js.map +1 -0
- package/dist/esm/providers/WidgetProvider/WidgetProvider.js +43 -0
- package/dist/esm/providers/WidgetProvider/WidgetProvider.js.map +1 -0
- package/dist/esm/stores/StoreProvider.js +38 -0
- package/dist/esm/stores/StoreProvider.js.map +1 -0
- package/dist/esm/stores/bookmarks/BookmarkStore.js +28 -0
- package/dist/esm/stores/bookmarks/BookmarkStore.js.map +1 -0
- package/dist/esm/stores/bookmarks/createBookmarkStore.js +45 -0
- package/dist/esm/stores/bookmarks/createBookmarkStore.js.map +1 -0
- package/dist/esm/stores/bookmarks/types.d.ts +26 -0
- package/dist/esm/stores/bookmarks/types.d.ts.map +1 -0
- package/dist/esm/stores/bookmarks/useBookmarkActions.js +17 -0
- package/dist/esm/stores/bookmarks/useBookmarkActions.js.map +1 -0
- package/dist/esm/stores/bookmarks/useBookmarks.js +18 -0
- package/dist/esm/stores/bookmarks/useBookmarks.js.map +1 -0
- package/dist/esm/stores/chains/ChainOrderStore.js +82 -0
- package/dist/esm/stores/chains/ChainOrderStore.js.map +1 -0
- package/dist/esm/stores/chains/createChainOrderStore.js +87 -0
- package/dist/esm/stores/chains/createChainOrderStore.js.map +1 -0
- package/dist/esm/stores/chains/useChainOrder.js +11 -0
- package/dist/esm/stores/chains/useChainOrder.js.map +1 -0
- package/dist/esm/stores/form/FormStore.js +72 -0
- package/dist/esm/stores/form/FormStore.js.map +1 -0
- package/dist/esm/stores/form/FormStoreContext.js +7 -0
- package/dist/esm/stores/form/FormStoreContext.js.map +1 -0
- package/dist/esm/stores/form/FormUpdater.js +37 -0
- package/dist/esm/stores/form/FormUpdater.js.map +1 -0
- package/dist/esm/stores/form/URLSearchParamsBuilder.js +79 -0
- package/dist/esm/stores/form/URLSearchParamsBuilder.js.map +1 -0
- package/dist/esm/stores/form/createFormStore.js +176 -0
- package/dist/esm/stores/form/createFormStore.js.map +1 -0
- package/dist/esm/stores/form/getDefaultValuesFromQueryString.js +22 -0
- package/dist/esm/stores/form/getDefaultValuesFromQueryString.js.map +1 -0
- package/dist/esm/stores/form/types.d.ts +76 -0
- package/dist/esm/stores/form/types.d.ts.map +1 -0
- package/dist/esm/stores/form/types.js +10 -0
- package/dist/esm/stores/form/types.js.map +1 -0
- package/dist/esm/stores/form/useClearAmountFields.js +14 -0
- package/dist/esm/stores/form/useClearAmountFields.js.map +1 -0
- package/dist/esm/stores/form/useFieldActions.d.ts +7 -0
- package/dist/esm/stores/form/useFieldActions.d.ts.map +1 -0
- package/dist/esm/stores/form/useFieldActions.js +61 -0
- package/dist/esm/stores/form/useFieldActions.js.map +1 -0
- package/dist/esm/stores/form/useFieldValues.d.ts +7 -0
- package/dist/esm/stores/form/useFieldValues.d.ts.map +1 -0
- package/dist/esm/stores/form/useFieldValues.js +9 -0
- package/dist/esm/stores/form/useFieldValues.js.map +1 -0
- package/dist/esm/stores/form/useFormRef.js +36 -0
- package/dist/esm/stores/form/useFormRef.js.map +1 -0
- package/dist/esm/stores/form/useFormStore.js +13 -0
- package/dist/esm/stores/form/useFormStore.js.map +1 -0
- package/dist/esm/stores/form/useTouchedFields.js +9 -0
- package/dist/esm/stores/form/useTouchedFields.js.map +1 -0
- package/dist/esm/stores/header/useHeaderStore.js +62 -0
- package/dist/esm/stores/header/useHeaderStore.js.map +1 -0
- package/dist/esm/stores/inputMode/useInputModeStore.js +20 -0
- package/dist/esm/stores/inputMode/useInputModeStore.js.map +1 -0
- package/dist/esm/stores/pinnedTokens/PinnedTokensStore.js +23 -0
- package/dist/esm/stores/pinnedTokens/PinnedTokensStore.js.map +1 -0
- package/dist/esm/stores/pinnedTokens/createPinnedTokensStore.js +57 -0
- package/dist/esm/stores/pinnedTokens/createPinnedTokensStore.js.map +1 -0
- package/dist/esm/stores/routes/RouteExecutionStore.js +26 -0
- package/dist/esm/stores/routes/RouteExecutionStore.js.map +1 -0
- package/dist/esm/stores/routes/createRouteExecutionStore.js +85 -0
- package/dist/esm/stores/routes/createRouteExecutionStore.js.map +1 -0
- package/dist/esm/stores/routes/useIntermediateRoutesStore.js +19 -0
- package/dist/esm/stores/routes/useIntermediateRoutesStore.js.map +1 -0
- package/dist/esm/stores/routes/useRouteExecutionIndicator.js +23 -0
- package/dist/esm/stores/routes/useRouteExecutionIndicator.js.map +1 -0
- package/dist/esm/stores/routes/useSetExecutableRoute.js +9 -0
- package/dist/esm/stores/routes/useSetExecutableRoute.js.map +1 -0
- package/dist/esm/stores/routes/utils.js +35 -0
- package/dist/esm/stores/routes/utils.js.map +1 -0
- package/dist/esm/stores/settings/SettingsStore.js +26 -0
- package/dist/esm/stores/settings/SettingsStore.js.map +1 -0
- package/dist/esm/stores/settings/createSettingsStore.js +126 -0
- package/dist/esm/stores/settings/createSettingsStore.js.map +1 -0
- package/dist/esm/stores/settings/types.d.ts +25 -0
- package/dist/esm/stores/settings/types.d.ts.map +1 -0
- package/dist/esm/stores/settings/types.js +6 -0
- package/dist/esm/stores/settings/types.js.map +1 -0
- package/dist/esm/stores/settings/useSettings.js +12 -0
- package/dist/esm/stores/settings/useSettings.js.map +1 -0
- package/dist/esm/stores/settings/useSettingsActions.js +70 -0
- package/dist/esm/stores/settings/useSettingsActions.js.map +1 -0
- package/dist/esm/stores/settings/useSplitModeStore.js +36 -0
- package/dist/esm/stores/settings/useSplitModeStore.js.map +1 -0
- package/dist/esm/stores/settings/utils/getStateValues.js +20 -0
- package/dist/esm/stores/settings/utils/getStateValues.js.map +1 -0
- package/dist/esm/themes/azureLight.d.ts +7 -0
- package/dist/esm/themes/azureLight.d.ts.map +1 -0
- package/dist/esm/themes/azureLight.js +41 -0
- package/dist/esm/themes/azureLight.js.map +1 -0
- package/dist/esm/themes/createTheme.d.ts +8 -0
- package/dist/esm/themes/createTheme.d.ts.map +1 -0
- package/dist/esm/themes/createTheme.js +322 -0
- package/dist/esm/themes/createTheme.js.map +1 -0
- package/dist/esm/themes/jumper.d.ts +7 -0
- package/dist/esm/themes/jumper.d.ts.map +1 -0
- package/dist/esm/themes/jumper.js +58 -0
- package/dist/esm/themes/jumper.js.map +1 -0
- package/dist/esm/themes/palettes.d.ts +54 -0
- package/dist/esm/themes/palettes.d.ts.map +1 -0
- package/dist/esm/themes/palettes.js +43 -0
- package/dist/esm/themes/palettes.js.map +1 -0
- package/dist/esm/themes/types.d.ts +67 -0
- package/dist/esm/themes/types.d.ts.map +1 -0
- package/dist/esm/themes/utils.js +13 -0
- package/dist/esm/themes/utils.js.map +1 -0
- package/dist/esm/themes/watermelonLight.d.ts +7 -0
- package/dist/esm/themes/watermelonLight.d.ts.map +1 -0
- package/dist/esm/themes/watermelonLight.js +45 -0
- package/dist/esm/themes/watermelonLight.js.map +1 -0
- package/dist/esm/themes/windows95.d.ts +7 -0
- package/dist/esm/themes/windows95.d.ts.map +1 -0
- package/dist/esm/themes/windows95.js +76 -0
- package/dist/esm/themes/windows95.js.map +1 -0
- package/dist/esm/types/events.d.ts +96 -0
- package/dist/esm/types/events.d.ts.map +1 -0
- package/dist/esm/types/events.js +26 -0
- package/dist/esm/types/events.js.map +1 -0
- package/dist/esm/types/token.d.ts +13 -0
- package/dist/esm/types/token.d.ts.map +1 -0
- package/dist/esm/types/widget.d.ts +332 -0
- package/dist/esm/types/widget.d.ts.map +1 -0
- package/dist/esm/types/widget.js +11 -0
- package/dist/esm/types/widget.js.map +1 -0
- package/dist/esm/utils/chainType.js +14 -0
- package/dist/esm/utils/chainType.js.map +1 -0
- package/dist/esm/utils/compactNumberFormatter.d.ts +14 -0
- package/dist/esm/utils/compactNumberFormatter.d.ts.map +1 -0
- package/dist/esm/utils/compactNumberFormatter.js +67 -0
- package/dist/esm/utils/compactNumberFormatter.js.map +1 -0
- package/dist/esm/utils/converters.js +168 -0
- package/dist/esm/utils/converters.js.map +1 -0
- package/dist/esm/utils/currencyExtendedFormatter.d.ts +5 -0
- package/dist/esm/utils/currencyExtendedFormatter.d.ts.map +1 -0
- package/dist/esm/utils/currencyExtendedFormatter.js +15 -0
- package/dist/esm/utils/currencyExtendedFormatter.js.map +1 -0
- package/dist/esm/utils/deepEqual.js +32 -0
- package/dist/esm/utils/deepEqual.js.map +1 -0
- package/dist/esm/utils/deepMerge.js +13 -0
- package/dist/esm/utils/deepMerge.js.map +1 -0
- package/dist/esm/utils/elements.js +10 -0
- package/dist/esm/utils/elements.js.map +1 -0
- package/dist/esm/utils/enum.js +6 -0
- package/dist/esm/utils/enum.js.map +1 -0
- package/dist/esm/utils/fees.js +74 -0
- package/dist/esm/utils/fees.js.map +1 -0
- package/dist/esm/utils/format.d.ts +29 -0
- package/dist/esm/utils/format.d.ts.map +1 -0
- package/dist/esm/utils/format.js +100 -0
- package/dist/esm/utils/format.js.map +1 -0
- package/dist/esm/utils/getActionMessage.js +68 -0
- package/dist/esm/utils/getActionMessage.js.map +1 -0
- package/dist/esm/utils/getErrorMessage.js +117 -0
- package/dist/esm/utils/getErrorMessage.js.map +1 -0
- package/dist/esm/utils/getPriceImpact.d.ts +18 -0
- package/dist/esm/utils/getPriceImpact.d.ts.map +1 -0
- package/dist/esm/utils/getPriceImpact.js +12 -0
- package/dist/esm/utils/getPriceImpact.js.map +1 -0
- package/dist/esm/utils/input.js +23 -0
- package/dist/esm/utils/input.js.map +1 -0
- package/dist/esm/utils/item.js +27 -0
- package/dist/esm/utils/item.js.map +1 -0
- package/dist/esm/utils/navigationRoutes.d.ts +27 -0
- package/dist/esm/utils/navigationRoutes.d.ts.map +1 -0
- package/dist/esm/utils/navigationRoutes.js +65 -0
- package/dist/esm/utils/navigationRoutes.js.map +1 -0
- package/dist/esm/utils/percentFormatter.d.ts +11 -0
- package/dist/esm/utils/percentFormatter.d.ts.map +1 -0
- package/dist/esm/utils/percentFormatter.js +23 -0
- package/dist/esm/utils/percentFormatter.js.map +1 -0
- package/dist/esm/utils/prepareActions.js +21 -0
- package/dist/esm/utils/prepareActions.js.map +1 -0
- package/dist/esm/utils/queries.js +6 -0
- package/dist/esm/utils/queries.js.map +1 -0
- package/dist/esm/utils/timer.js +23 -0
- package/dist/esm/utils/timer.js.map +1 -0
- package/dist/esm/utils/token.js +59 -0
- package/dist/esm/utils/token.js.map +1 -0
- package/dist/esm/utils/tokenList.js +147 -0
- package/dist/esm/utils/tokenList.js.map +1 -0
- package/dist/esm/utils/variant.js +10 -0
- package/dist/esm/utils/variant.js.map +1 -0
- package/dist/esm/utils/wallet.js +6 -0
- package/dist/esm/utils/wallet.js.map +1 -0
- package/dist/esm/utils/widgetSize.js +11 -0
- package/dist/esm/utils/widgetSize.js.map +1 -0
- package/package.json +95 -0
- package/src/App.tsx +48 -0
- package/src/AppDefault.tsx +266 -0
- package/src/AppDrawer.tsx +104 -0
- package/src/AppDrawerContext.ts +10 -0
- package/src/AppLayout.tsx +36 -0
- package/src/AppProvider.tsx +36 -0
- package/src/components/ActionRow/ActionRow.style.tsx +21 -0
- package/src/components/ActionRow/ActionRow.tsx +25 -0
- package/src/components/AmountInput/AmountInput.style.tsx +68 -0
- package/src/components/AmountInput/AmountInput.tsx +203 -0
- package/src/components/AmountInput/AmountInputEndAdornment.style.ts +22 -0
- package/src/components/AmountInput/AmountInputEndAdornment.tsx +96 -0
- package/src/components/AmountInput/AmountInputStartAdornment.tsx +26 -0
- package/src/components/AmountInput/PriceFormHelperText.style.tsx +34 -0
- package/src/components/AmountInput/PriceFormHelperText.tsx +135 -0
- package/src/components/AppContainer.tsx +154 -0
- package/src/components/Avatar/AccountAvatar.tsx +50 -0
- package/src/components/Avatar/Avatar.style.tsx +100 -0
- package/src/components/Avatar/Avatar.tsx +50 -0
- package/src/components/Avatar/ChainBadgeContent.tsx +22 -0
- package/src/components/Avatar/SmallAvatar.tsx +27 -0
- package/src/components/Avatar/TokenAvatar.tsx +99 -0
- package/src/components/Avatar/utils.ts +6 -0
- package/src/components/BaseTransactionButton/BaseTransactionButton.tsx +72 -0
- package/src/components/BaseTransactionButton/types.ts +11 -0
- package/src/components/BottomSheet/BottomSheet.tsx +67 -0
- package/src/components/BottomSheet/types.ts +14 -0
- package/src/components/ButtonTertiary.tsx +29 -0
- package/src/components/Card/Card.tsx +81 -0
- package/src/components/Card/CardButton.style.tsx +31 -0
- package/src/components/Card/CardButton.tsx +26 -0
- package/src/components/Card/CardHeader.tsx +28 -0
- package/src/components/Card/CardIconButton.tsx +20 -0
- package/src/components/Card/CardLabel.tsx +80 -0
- package/src/components/Card/CardTitle.tsx +29 -0
- package/src/components/Card/InputCard.tsx +11 -0
- package/src/components/ChainSelect/ChainSelect.style.tsx +84 -0
- package/src/components/ChainSelect/ChainSelect.tsx +183 -0
- package/src/components/ChainSelect/useChainSelect.ts +98 -0
- package/src/components/Chains/AllChainsAvatar.tsx +167 -0
- package/src/components/Chains/ChainList.style.tsx +91 -0
- package/src/components/Chains/ChainList.tsx +89 -0
- package/src/components/Chains/ChainListItem.tsx +83 -0
- package/src/components/Chains/ChainsExpanded.style.tsx +25 -0
- package/src/components/Chains/ChainsExpanded.tsx +31 -0
- package/src/components/Chains/PinChainButton.tsx +55 -0
- package/src/components/Chains/SelectChainExpansionContent.tsx +84 -0
- package/src/components/Chains/SelectChainPageContent.tsx +66 -0
- package/src/components/Chains/VirtualizedChainList.tsx +222 -0
- package/src/components/ContextMenu.style.tsx +13 -0
- package/src/components/ContextMenu.tsx +75 -0
- package/src/components/ContractComponent/ContractComponent.tsx +14 -0
- package/src/components/ContractComponent/ItemPrice.tsx +37 -0
- package/src/components/ContractComponent/NFT/NFT.style.ts +10 -0
- package/src/components/ContractComponent/NFT/NFT.tsx +46 -0
- package/src/components/ContractComponent/NFT/NFTBase.tsx +91 -0
- package/src/components/ContractComponent/NFT/types.ts +19 -0
- package/src/components/Dialog/Dialog.style.tsx +59 -0
- package/src/components/Dialog/Dialog.tsx +49 -0
- package/src/components/EmptyListIndicator/EmptyListIndicator.style.tsx +38 -0
- package/src/components/EmptyListIndicator/EmptyListIndicator.tsx +25 -0
- package/src/components/ExecutionStatusCard/ExecutionChecklist.tsx +61 -0
- package/src/components/ExecutionStatusCard/ExecutionStatusCard.tsx +242 -0
- package/src/components/ExecutionStatusCard/StaggeredRevealTypography.tsx +59 -0
- package/src/components/ExecutionStatusCard/StatusIcon.style.tsx +13 -0
- package/src/components/ExecutionStatusCard/StatusIcon.tsx +99 -0
- package/src/components/ExecutionStatusCard/iconKey.ts +37 -0
- package/src/components/Expansion/Expansion.style.tsx +46 -0
- package/src/components/Expansion/Expansion.tsx +47 -0
- package/src/components/Expansion/ExpansionTransition.tsx +48 -0
- package/src/components/FeeBreakdownTooltip.tsx +68 -0
- package/src/components/Header/ActivitiesButton.style.tsx +67 -0
- package/src/components/Header/ActivitiesButton.tsx +59 -0
- package/src/components/Header/BackButton.tsx +29 -0
- package/src/components/Header/CloseDrawerButton.tsx +35 -0
- package/src/components/Header/DisconnectIconButton.tsx +24 -0
- package/src/components/Header/Header.style.ts +126 -0
- package/src/components/Header/Header.tsx +59 -0
- package/src/components/Header/NavigationHeader.tsx +77 -0
- package/src/components/Header/SettingsButton.style.tsx +62 -0
- package/src/components/Header/SettingsButton.tsx +47 -0
- package/src/components/Header/SplitNavigationTabs.tsx +32 -0
- package/src/components/Header/WalletHeader.tsx +184 -0
- package/src/components/Header/WalletMenu.style.tsx +34 -0
- package/src/components/Header/WalletMenu.tsx +129 -0
- package/src/components/IconCircle/IconCircle.style.tsx +85 -0
- package/src/components/IconCircle/IconCircle.tsx +29 -0
- package/src/components/IconCircle/statusIcons.ts +14 -0
- package/src/components/IconTypography.ts +11 -0
- package/src/components/Initializer.tsx +6 -0
- package/src/components/Input.tsx +14 -0
- package/src/components/ListItem/ListItem.tsx +29 -0
- package/src/components/ListItem/ListItemButton.tsx +12 -0
- package/src/components/ListItemButton.tsx +43 -0
- package/src/components/ListItemText.tsx +14 -0
- package/src/components/Menu.tsx +30 -0
- package/src/components/Messages/AccountDeployedMessage.tsx +28 -0
- package/src/components/Messages/AccountNotDeployedMessage.tsx +22 -0
- package/src/components/Messages/AlertMessage.style.tsx +65 -0
- package/src/components/Messages/AlertMessage.tsx +34 -0
- package/src/components/Messages/FundsSufficiencyMessage.tsx +26 -0
- package/src/components/Messages/GasRefuelMessage.style.ts +23 -0
- package/src/components/Messages/GasRefuelMessage.tsx +81 -0
- package/src/components/Messages/GasSufficiencyMessage.tsx +63 -0
- package/src/components/Messages/MinFromAmountUSDMessage.tsx +35 -0
- package/src/components/Messages/MissingRouteRequiredAccountMessage.tsx +44 -0
- package/src/components/Messages/WarningMessages.tsx +64 -0
- package/src/components/Messages/types.ts +1 -0
- package/src/components/Messages/useMessageQueue.ts +111 -0
- package/src/components/NotFound.tsx +45 -0
- package/src/components/PageContainer.ts +34 -0
- package/src/components/PageEntered.ts +14 -0
- package/src/components/PoweredBy/PoweredBy.style.ts +13 -0
- package/src/components/PoweredBy/PoweredBy.tsx +61 -0
- package/src/components/ProgressToNextUpdate.tsx +92 -0
- package/src/components/ReverseTokensButton/ReverseTokensButton.style.tsx +37 -0
- package/src/components/ReverseTokensButton/ReverseTokensButton.tsx +61 -0
- package/src/components/RouteCard/RouteCard.tsx +128 -0
- package/src/components/RouteCard/RouteCardEssentials.tsx +101 -0
- package/src/components/RouteCard/RouteCardSkeleton.tsx +58 -0
- package/src/components/RouteCard/RouteDetails.style.tsx +43 -0
- package/src/components/RouteCard/RouteDetails.tsx +214 -0
- package/src/components/RouteCard/RouteNotFoundCard.tsx +46 -0
- package/src/components/RouteCard/RouteToken.style.tsx +9 -0
- package/src/components/RouteCard/RouteToken.tsx +68 -0
- package/src/components/RouteCard/RouteTokens.tsx +56 -0
- package/src/components/RouteCard/getMatchingLabels.ts +66 -0
- package/src/components/RouteCard/types.ts +16 -0
- package/src/components/Routes/Routes.tsx +93 -0
- package/src/components/Routes/RoutesContent.tsx +117 -0
- package/src/components/Routes/RoutesExpanded.style.ts +46 -0
- package/src/components/Routes/RoutesExpanded.tsx +102 -0
- package/src/components/Search/SearchInput.style.tsx +43 -0
- package/src/components/Search/SearchInput.tsx +80 -0
- package/src/components/Search/SearchNotFound.style.tsx +34 -0
- package/src/components/Search/SearchNotFound.tsx +22 -0
- package/src/components/SelectChainAndToken.tsx +41 -0
- package/src/components/SelectTokenButton/SelectTokenButton.style.tsx +108 -0
- package/src/components/SelectTokenButton/SelectTokenButton.tsx +100 -0
- package/src/components/SendToWallet/SendToWalletButton.style.tsx +81 -0
- package/src/components/SendToWallet/SendToWalletButton.tsx +179 -0
- package/src/components/SendToWallet/SendToWalletExpandButton.tsx +59 -0
- package/src/components/SettingsListItemButton.tsx +9 -0
- package/src/components/Skeleton/WidgetSkeleton.style.tsx +102 -0
- package/src/components/Skeleton/WidgetSkeleton.tsx +140 -0
- package/src/components/Step/StepActions.style.tsx +33 -0
- package/src/components/Step/StepActions.tsx +329 -0
- package/src/components/StepActions/SentToWalletRow.style.tsx +29 -0
- package/src/components/StepActions/SentToWalletRow.tsx +56 -0
- package/src/components/StepActions/StepActionRow.style.tsx +18 -0
- package/src/components/StepActions/StepActionRow.tsx +30 -0
- package/src/components/StepActions/StepActionsList.tsx +40 -0
- package/src/components/StepActions/executionRows.tsx +86 -0
- package/src/components/Switch.tsx +54 -0
- package/src/components/Tabs/NavigationTabs.tsx +45 -0
- package/src/components/Tabs/Tabs.style.tsx +51 -0
- package/src/components/TextFitter/TextFitter.tsx +87 -0
- package/src/components/TextFitter/types.ts +13 -0
- package/src/components/Timer/ExecutionTimerText.tsx +10 -0
- package/src/components/Timer/StepStatusTimer.style.tsx +98 -0
- package/src/components/Timer/StepStatusTimer.tsx +85 -0
- package/src/components/Token/Token.style.tsx +44 -0
- package/src/components/Token/Token.tsx +317 -0
- package/src/components/TokenList/PinTokenButton.tsx +51 -0
- package/src/components/TokenList/TokenDetailsSheet.tsx +45 -0
- package/src/components/TokenList/TokenDetailsSheetContent.style.tsx +40 -0
- package/src/components/TokenList/TokenDetailsSheetContent.tsx +247 -0
- package/src/components/TokenList/TokenList.style.tsx +44 -0
- package/src/components/TokenList/TokenList.tsx +88 -0
- package/src/components/TokenList/TokenListItem.tsx +418 -0
- package/src/components/TokenList/TokenNotFound.tsx +11 -0
- package/src/components/TokenList/VirtualizedTokenList.tsx +253 -0
- package/src/components/TokenList/types.ts +65 -0
- package/src/components/TokenList/useTokenSelect.ts +135 -0
- package/src/components/TokenRate/TokenRate.style.ts +20 -0
- package/src/components/TokenRate/TokenRate.tsx +62 -0
- package/src/components/Tools/ToolItem.tsx +41 -0
- package/src/components/Tools/Tools.tsx +61 -0
- package/src/components/TransactionCard/ActiveTransactionCard.style.tsx +24 -0
- package/src/components/TransactionCard/ActiveTransactionCard.tsx +81 -0
- package/src/components/TransactionCard/TransactionCard.style.tsx +14 -0
- package/src/components/TransactionCard/TransactionCard.tsx +37 -0
- package/src/components/TransactionCard/TransactionCardSkeleton.tsx +68 -0
- package/src/config/constants.ts +3 -0
- package/src/config/queryClient.ts +21 -0
- package/src/config/version.ts +2 -0
- package/src/hooks/timer/time.ts +39 -0
- package/src/hooks/timer/useExecutionTimer.ts +21 -0
- package/src/hooks/timer/useInterval.ts +21 -0
- package/src/hooks/timer/useTimer.ts +107 -0
- package/src/hooks/timer/validate.ts +15 -0
- package/src/hooks/useAccountsBalancesData.ts +104 -0
- package/src/hooks/useActionMessage.ts +34 -0
- package/src/hooks/useAddressActivity.ts +47 -0
- package/src/hooks/useAddressValidation.ts +101 -0
- package/src/hooks/useAvailableChains.ts +108 -0
- package/src/hooks/useChain.ts +24 -0
- package/src/hooks/useChainSearch.ts +70 -0
- package/src/hooks/useChains.ts +50 -0
- package/src/hooks/useContactSupport.ts +16 -0
- package/src/hooks/useDebouncedWatch.ts +32 -0
- package/src/hooks/useDefaultElementId.ts +6 -0
- package/src/hooks/useExplorer.ts +104 -0
- package/src/hooks/useFilteredByTokenBalances.ts +140 -0
- package/src/hooks/useFromAmountThreshold.ts +38 -0
- package/src/hooks/useFromTokenSufficiency.ts +98 -0
- package/src/hooks/useGasRecommendation.ts +60 -0
- package/src/hooks/useGasRefuel.ts +98 -0
- package/src/hooks/useGasSufficiency.ts +233 -0
- package/src/hooks/useHasChainExpansion.ts +32 -0
- package/src/hooks/useHeader.ts +21 -0
- package/src/hooks/useInitializeSDKProviders.ts +12 -0
- package/src/hooks/useInitializer.ts +16 -0
- package/src/hooks/useIsBatchingSupported.ts +46 -0
- package/src/hooks/useIsContractAddress.ts +39 -0
- package/src/hooks/useLanguages.ts +93 -0
- package/src/hooks/useListHeight.ts +107 -0
- package/src/hooks/useLongPress.ts +60 -0
- package/src/hooks/useNavigateBack.ts +17 -0
- package/src/hooks/usePacedRouteExecution.ts +45 -0
- package/src/hooks/usePacedValue.ts +45 -0
- package/src/hooks/useRouteExecution.ts +246 -0
- package/src/hooks/useRouteExecutionMessage.ts +100 -0
- package/src/hooks/useRouteRequiredAccountConnection.ts +62 -0
- package/src/hooks/useRoutes.ts +578 -0
- package/src/hooks/useScrollableContainer.ts +29 -0
- package/src/hooks/useSetContentHeight.ts +30 -0
- package/src/hooks/useSettingMonitor.ts +93 -0
- package/src/hooks/useSwapOnly.ts +6 -0
- package/src/hooks/useToAddressAutoPopulate.ts +95 -0
- package/src/hooks/useToAddressRequirements.ts +103 -0
- package/src/hooks/useToAddressReset.ts +39 -0
- package/src/hooks/useToken.ts +45 -0
- package/src/hooks/useTokenAddressBalance.ts +32 -0
- package/src/hooks/useTokenBalance.ts +148 -0
- package/src/hooks/useTokenBalances.ts +191 -0
- package/src/hooks/useTokenBalancesQueries.ts +100 -0
- package/src/hooks/useTokenRateText.ts +55 -0
- package/src/hooks/useTokenSearch.ts +98 -0
- package/src/hooks/useTokens.ts +159 -0
- package/src/hooks/useTools.ts +56 -0
- package/src/hooks/useTransactionDetails.ts +93 -0
- package/src/hooks/useTransactionHistory.ts +120 -0
- package/src/hooks/useTransactionList.ts +83 -0
- package/src/hooks/useWideVariant.ts +13 -0
- package/src/hooks/useWidgetChains.ts +16 -0
- package/src/hooks/useWidgetEvents.ts +8 -0
- package/src/i18n/i18next.d.ts +10 -0
- package/src/index.ts +37 -0
- package/src/pages/ActivitiesPage/ActiveTransactionItem.tsx +43 -0
- package/src/pages/ActivitiesPage/ActivitiesPage.tsx +148 -0
- package/src/pages/ActivitiesPage/ActivitiesPageMenuButton.tsx +71 -0
- package/src/pages/ActivitiesPage/TransactionHistoryEmpty.tsx +14 -0
- package/src/pages/ActivitiesPage/TransactionHistoryItem.tsx +30 -0
- package/src/pages/ActivitiesPage/types.ts +16 -0
- package/src/pages/LanguagesPage.tsx +49 -0
- package/src/pages/MainPage/MainPage.tsx +70 -0
- package/src/pages/MainPage/MainWarningMessages.tsx +17 -0
- package/src/pages/MainPage/ReviewButton.tsx +81 -0
- package/src/pages/RoutesPage/RoutesPage.style.ts +9 -0
- package/src/pages/RoutesPage/RoutesPage.tsx +99 -0
- package/src/pages/SelectChainPage/SelectChainPage.tsx +36 -0
- package/src/pages/SelectChainPage/types.ts +5 -0
- package/src/pages/SelectEnabledToolsPage.tsx +131 -0
- package/src/pages/SelectTokenPage/SearchTokenInput.tsx +58 -0
- package/src/pages/SelectTokenPage/SelectTokenPage.tsx +80 -0
- package/src/pages/SendToWallet/BookmarkAddressSheet.tsx +247 -0
- package/src/pages/SendToWallet/BookmarksPage.tsx +145 -0
- package/src/pages/SendToWallet/ConfirmAddressSheet.tsx +107 -0
- package/src/pages/SendToWallet/ConnectedWalletsPage.tsx +134 -0
- package/src/pages/SendToWallet/RecentWalletsPage.tsx +161 -0
- package/src/pages/SendToWallet/SendToConfiguredWalletPage.tsx +110 -0
- package/src/pages/SendToWallet/SendToWalletPage.style.tsx +137 -0
- package/src/pages/SendToWallet/SendToWalletPage.tsx +308 -0
- package/src/pages/SendToWallet/types.ts +4 -0
- package/src/pages/SettingsPage/BridgeAndExchangeSettings.tsx +59 -0
- package/src/pages/SettingsPage/GasPriceSettings.tsx +47 -0
- package/src/pages/SettingsPage/LanguageSetting.tsx +40 -0
- package/src/pages/SettingsPage/ResetSettingsButton.style.tsx +12 -0
- package/src/pages/SettingsPage/ResetSettingsButton.tsx +83 -0
- package/src/pages/SettingsPage/RoutePrioritySettings.tsx +57 -0
- package/src/pages/SettingsPage/SettingsCard/BadgedValue.tsx +22 -0
- package/src/pages/SettingsPage/SettingsCard/SettingCard.style.tsx +26 -0
- package/src/pages/SettingsPage/SettingsCard/SettingCardExpandable.tsx +90 -0
- package/src/pages/SettingsPage/SettingsCard/SettingsAccordian.tsx +48 -0
- package/src/pages/SettingsPage/SettingsCard/types.ts +6 -0
- package/src/pages/SettingsPage/SettingsPage.tsx +39 -0
- package/src/pages/SettingsPage/SlippageSettings/SlippageSettings.style.tsx +102 -0
- package/src/pages/SettingsPage/SlippageSettings/SlippageSettings.tsx +151 -0
- package/src/pages/SettingsPage/SmallBalanceFilterSettings.tsx +116 -0
- package/src/pages/SettingsPage/ThemeSettings.tsx +85 -0
- package/src/pages/TransactionDetailsPage/ContactSupportButton.style.tsx +12 -0
- package/src/pages/TransactionDetailsPage/ContactSupportButton.tsx +21 -0
- package/src/pages/TransactionDetailsPage/ReceiptsCard.tsx +22 -0
- package/src/pages/TransactionDetailsPage/TransactionDetailsPage.tsx +111 -0
- package/src/pages/TransactionDetailsPage/TransactionDetailsSkeleton.tsx +91 -0
- package/src/pages/TransactionDetailsPage/TransferIdCard.tsx +72 -0
- package/src/pages/TransactionPage/ConfirmToAddressSheet.tsx +96 -0
- package/src/pages/TransactionPage/ExchangeRateBottomSheet.style.tsx +9 -0
- package/src/pages/TransactionPage/ExchangeRateBottomSheet.tsx +214 -0
- package/src/pages/TransactionPage/ExecutionDoneCard.tsx +43 -0
- package/src/pages/TransactionPage/RouteTracker.tsx +68 -0
- package/src/pages/TransactionPage/StartTransactionButton.tsx +27 -0
- package/src/pages/TransactionPage/TokenValueBottomSheet.style.tsx +60 -0
- package/src/pages/TransactionPage/TokenValueBottomSheet.tsx +141 -0
- package/src/pages/TransactionPage/TransactionContent.tsx +42 -0
- package/src/pages/TransactionPage/TransactionDoneButtons.tsx +70 -0
- package/src/pages/TransactionPage/TransactionExecutionContent.tsx +93 -0
- package/src/pages/TransactionPage/TransactionFailedButtons.tsx +105 -0
- package/src/pages/TransactionPage/TransactionPage.tsx +111 -0
- package/src/pages/TransactionPage/TransactionReview.tsx +163 -0
- package/src/pages/TransactionPage/types.ts +7 -0
- package/src/pages/TransactionPage/utils.ts +25 -0
- package/src/providers/I18nProvider/I18nProvider.tsx +133 -0
- package/src/providers/I18nProvider/constants.ts +41 -0
- package/src/providers/I18nProvider/enResource.ts +4 -0
- package/src/providers/I18nProvider/i18n.ts +26 -0
- package/src/providers/I18nProvider/types.ts +36 -0
- package/src/providers/QueryClientProvider.tsx +20 -0
- package/src/providers/SDKClientProvider.tsx +59 -0
- package/src/providers/ThemeProvider/ThemeProvider.tsx +35 -0
- package/src/providers/WalletProvider/WalletProvider.tsx +70 -0
- package/src/providers/WalletProvider/useExternalWalletProvider.ts +79 -0
- package/src/providers/WidgetProvider/WidgetProvider.tsx +49 -0
- package/src/providers/WidgetProvider/types.ts +9 -0
- package/src/stores/StoreProvider.tsx +40 -0
- package/src/stores/bookmarks/BookmarkStore.tsx +38 -0
- package/src/stores/bookmarks/createBookmarkStore.ts +80 -0
- package/src/stores/bookmarks/types.ts +26 -0
- package/src/stores/bookmarks/useBookmarkActions.ts +16 -0
- package/src/stores/bookmarks/useBookmarks.ts +14 -0
- package/src/stores/chains/ChainOrderStore.tsx +165 -0
- package/src/stores/chains/createChainOrderStore.ts +128 -0
- package/src/stores/chains/types.ts +25 -0
- package/src/stores/chains/useChainOrder.ts +20 -0
- package/src/stores/form/FormStore.tsx +133 -0
- package/src/stores/form/FormStoreContext.ts +5 -0
- package/src/stores/form/FormUpdater.tsx +52 -0
- package/src/stores/form/URLSearchParamsBuilder.tsx +93 -0
- package/src/stores/form/createFormStore.ts +237 -0
- package/src/stores/form/getDefaultValuesFromQueryString.ts +48 -0
- package/src/stores/form/types.ts +107 -0
- package/src/stores/form/useClearAmountFields.ts +10 -0
- package/src/stores/form/useFieldActions.ts +93 -0
- package/src/stores/form/useFieldValues.ts +14 -0
- package/src/stores/form/useFormRef.ts +76 -0
- package/src/stores/form/useFormStore.ts +14 -0
- package/src/stores/form/useTouchedFields.ts +8 -0
- package/src/stores/header/types.ts +20 -0
- package/src/stores/header/useHeaderStore.tsx +103 -0
- package/src/stores/inputMode/useInputModeStore.ts +31 -0
- package/src/stores/pinnedTokens/PinnedTokensStore.tsx +38 -0
- package/src/stores/pinnedTokens/createPinnedTokensStore.ts +74 -0
- package/src/stores/pinnedTokens/types.ts +20 -0
- package/src/stores/routes/RouteExecutionStore.tsx +44 -0
- package/src/stores/routes/createRouteExecutionStore.ts +167 -0
- package/src/stores/routes/types.ts +26 -0
- package/src/stores/routes/useIntermediateRoutesStore.ts +29 -0
- package/src/stores/routes/useRouteExecutionIndicator.ts +43 -0
- package/src/stores/routes/useSetExecutableRoute.ts +7 -0
- package/src/stores/routes/utils.ts +63 -0
- package/src/stores/settings/SettingsStore.tsx +45 -0
- package/src/stores/settings/createSettingsStore.ts +219 -0
- package/src/stores/settings/types.ts +66 -0
- package/src/stores/settings/useSettings.ts +16 -0
- package/src/stores/settings/useSettingsActions.ts +165 -0
- package/src/stores/settings/useSplitModeStore.tsx +58 -0
- package/src/stores/settings/utils/getStateValues.ts +17 -0
- package/src/stores/types.ts +7 -0
- package/src/themes/azureLight.ts +61 -0
- package/src/themes/createTheme.ts +489 -0
- package/src/themes/jumper.ts +77 -0
- package/src/themes/palettes.ts +52 -0
- package/src/themes/types.ts +82 -0
- package/src/themes/utils.ts +18 -0
- package/src/themes/watermelonLight.ts +80 -0
- package/src/themes/windows95.ts +133 -0
- package/src/types/events.ts +114 -0
- package/src/types/token.ts +21 -0
- package/src/types/widget.ts +441 -0
- package/src/utils/chainType.ts +10 -0
- package/src/utils/compactNumberFormatter.ts +91 -0
- package/src/utils/converters.ts +238 -0
- package/src/utils/currencyExtendedFormatter.ts +15 -0
- package/src/utils/deepEqual.ts +62 -0
- package/src/utils/deepMerge.ts +14 -0
- package/src/utils/elements.ts +32 -0
- package/src/utils/enum.ts +4 -0
- package/src/utils/fees.ts +136 -0
- package/src/utils/format.ts +195 -0
- package/src/utils/getActionMessage.ts +163 -0
- package/src/utils/getErrorMessage.ts +144 -0
- package/src/utils/getPriceImpact.ts +35 -0
- package/src/utils/input.ts +29 -0
- package/src/utils/item.ts +65 -0
- package/src/utils/navigationRoutes.ts +68 -0
- package/src/utils/percentFormatter.ts +28 -0
- package/src/utils/prepareActions.ts +27 -0
- package/src/utils/queries.ts +2 -0
- package/src/utils/timer.ts +45 -0
- package/src/utils/token.ts +143 -0
- package/src/utils/tokenList.ts +284 -0
- package/src/utils/variant.ts +13 -0
- package/src/utils/wallet.ts +4 -0
- package/src/utils/widgetSize.ts +17 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { ChainType, ExtendedChain } from '@lifi/sdk'
|
|
2
|
+
import { useMemo } from 'react'
|
|
3
|
+
import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'
|
|
4
|
+
import type { FormType } from '../stores/form/types.js'
|
|
5
|
+
import { getConfigItemSets, isFormItemAllowed } from '../utils/item.js'
|
|
6
|
+
import { useAvailableChains } from './useAvailableChains.js'
|
|
7
|
+
|
|
8
|
+
export const useChains = (
|
|
9
|
+
type?: FormType,
|
|
10
|
+
chainTypes?: ChainType[]
|
|
11
|
+
): {
|
|
12
|
+
chains: ExtendedChain[] | undefined
|
|
13
|
+
getChainById: (
|
|
14
|
+
chainId?: number,
|
|
15
|
+
chains?: ExtendedChain[]
|
|
16
|
+
) => ExtendedChain | undefined
|
|
17
|
+
isLoading: boolean
|
|
18
|
+
} => {
|
|
19
|
+
const { chains } = useWidgetConfig()
|
|
20
|
+
const {
|
|
21
|
+
chains: availableChains,
|
|
22
|
+
isLoading: isLoadingAvailableChains,
|
|
23
|
+
getChainById,
|
|
24
|
+
} = useAvailableChains()
|
|
25
|
+
|
|
26
|
+
const filteredChains = useMemo(() => {
|
|
27
|
+
const chainsConfigSets = getConfigItemSets(
|
|
28
|
+
chains,
|
|
29
|
+
(chains) => new Set(chains),
|
|
30
|
+
type
|
|
31
|
+
)
|
|
32
|
+
const filteredChains = type
|
|
33
|
+
? availableChains?.filter(
|
|
34
|
+
(chain) =>
|
|
35
|
+
isFormItemAllowed(chain.id, chainsConfigSets, type) &&
|
|
36
|
+
// Check against chain types if they are provided
|
|
37
|
+
(chainTypes?.includes(chain.chainType) ?? true)
|
|
38
|
+
)
|
|
39
|
+
: availableChains?.filter((chain) =>
|
|
40
|
+
isFormItemAllowed(chain.id, chainsConfigSets)
|
|
41
|
+
)
|
|
42
|
+
return filteredChains
|
|
43
|
+
}, [availableChains, chainTypes, chains, type])
|
|
44
|
+
|
|
45
|
+
return {
|
|
46
|
+
chains: filteredChains,
|
|
47
|
+
getChainById,
|
|
48
|
+
isLoading: isLoadingAvailableChains,
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { WidgetEvent } from '../types/events.js'
|
|
2
|
+
import { useWidgetEvents } from './useWidgetEvents.js'
|
|
3
|
+
|
|
4
|
+
export const useContactSupport = (supportId?: string): (() => void) => {
|
|
5
|
+
const widgetEvents = useWidgetEvents()
|
|
6
|
+
|
|
7
|
+
const handleContactSupport = () => {
|
|
8
|
+
if (widgetEvents.listenerCount(WidgetEvent.ContactSupport) === 0) {
|
|
9
|
+
window.open('https://help.li.fi', '_blank', 'nofollow noreferrer')
|
|
10
|
+
} else {
|
|
11
|
+
widgetEvents.emit(WidgetEvent.ContactSupport, { supportId })
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
return handleContactSupport
|
|
16
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { useEffect, useRef, useState } from 'react'
|
|
2
|
+
import type { FormFieldArray, FormFieldNames } from '../stores/form/types.js'
|
|
3
|
+
import { useFieldValues } from '../stores/form/useFieldValues.js'
|
|
4
|
+
|
|
5
|
+
export const useDebouncedWatch = <T extends FormFieldNames[]>(
|
|
6
|
+
delay: number,
|
|
7
|
+
...name: T
|
|
8
|
+
): FormFieldArray<T> => {
|
|
9
|
+
const watchedValue = useFieldValues(...name)
|
|
10
|
+
const [debouncedValue, setDebouncedValue] = useState(watchedValue)
|
|
11
|
+
const debouncedValueRef = useRef<typeof watchedValue>(null)
|
|
12
|
+
const isMounted = useRef(false)
|
|
13
|
+
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
if (isMounted.current) {
|
|
16
|
+
const hasWatchedValue = watchedValue.some((value) => value)
|
|
17
|
+
if (hasWatchedValue) {
|
|
18
|
+
const handler = setTimeout(() => {
|
|
19
|
+
setDebouncedValue(watchedValue)
|
|
20
|
+
}, delay)
|
|
21
|
+
return () => clearTimeout(handler)
|
|
22
|
+
}
|
|
23
|
+
debouncedValueRef.current = watchedValue
|
|
24
|
+
setDebouncedValue(watchedValue)
|
|
25
|
+
return undefined
|
|
26
|
+
}
|
|
27
|
+
isMounted.current = true
|
|
28
|
+
return undefined
|
|
29
|
+
}, [delay, watchedValue])
|
|
30
|
+
|
|
31
|
+
return debouncedValue
|
|
32
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import type { Chain } from '@lifi/sdk'
|
|
2
|
+
import { ChainId, ChainType, isHex } from '@lifi/sdk'
|
|
3
|
+
import { useCallback } from 'react'
|
|
4
|
+
import { internalExplorerUrl } from '../config/constants.js'
|
|
5
|
+
import { useAvailableChains } from '../hooks/useAvailableChains.js'
|
|
6
|
+
import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'
|
|
7
|
+
|
|
8
|
+
const sanitiseBaseUrl = (baseUrl: string) => baseUrl.trim().replace(/\/+$/, '')
|
|
9
|
+
|
|
10
|
+
const explorerPathOverrides: Partial<
|
|
11
|
+
Record<ChainType | ChainId, { txPath: string; addressPath: string }>
|
|
12
|
+
> = {
|
|
13
|
+
[ChainId.SUI]: { txPath: 'txblock', addressPath: 'coin' },
|
|
14
|
+
[ChainId.LTR]: { txPath: 'logs', addressPath: 'accounts' },
|
|
15
|
+
[ChainType.TVM]: { txPath: '#/transaction', addressPath: '#/address' },
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
type TransactionLinkProps = {
|
|
19
|
+
chain?: Chain | number
|
|
20
|
+
txHash?: string
|
|
21
|
+
txLink?: string
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export const useExplorer = (): {
|
|
25
|
+
getTransactionLink: (props: TransactionLinkProps) => string | undefined
|
|
26
|
+
getAddressLink: (address: string, chain?: Chain | number) => string
|
|
27
|
+
} => {
|
|
28
|
+
const { explorerUrls } = useWidgetConfig()
|
|
29
|
+
const { getChainById } = useAvailableChains()
|
|
30
|
+
|
|
31
|
+
const getExplorerConfig = useCallback(
|
|
32
|
+
(chain?: Chain | number) => {
|
|
33
|
+
const resolvedChain = Number.isFinite(chain)
|
|
34
|
+
? getChainById(chain as number)
|
|
35
|
+
: (chain as Chain)
|
|
36
|
+
|
|
37
|
+
const explorerUrl =
|
|
38
|
+
(resolvedChain
|
|
39
|
+
? (explorerUrls?.[resolvedChain.id]?.[0] ??
|
|
40
|
+
resolvedChain.metamask.blockExplorerUrls[0])
|
|
41
|
+
: explorerUrls?.internal?.[0]) || internalExplorerUrl
|
|
42
|
+
|
|
43
|
+
const baseUrl =
|
|
44
|
+
typeof explorerUrl === 'string' ? explorerUrl : explorerUrl.url
|
|
45
|
+
|
|
46
|
+
const overrides =
|
|
47
|
+
explorerPathOverrides[resolvedChain?.id as ChainId] ??
|
|
48
|
+
explorerPathOverrides[resolvedChain?.chainType as ChainType]
|
|
49
|
+
|
|
50
|
+
const defaultTxPath = overrides?.txPath ?? 'tx'
|
|
51
|
+
const defaultAddressPath = overrides?.addressPath ?? 'address'
|
|
52
|
+
const txPath =
|
|
53
|
+
typeof explorerUrl === 'string'
|
|
54
|
+
? defaultTxPath
|
|
55
|
+
: explorerUrl.txPath || defaultTxPath
|
|
56
|
+
const addressPath =
|
|
57
|
+
typeof explorerUrl === 'string'
|
|
58
|
+
? defaultAddressPath
|
|
59
|
+
: explorerUrl.addressPath || defaultAddressPath
|
|
60
|
+
|
|
61
|
+
return {
|
|
62
|
+
url: sanitiseBaseUrl(baseUrl),
|
|
63
|
+
txPath,
|
|
64
|
+
addressPath,
|
|
65
|
+
resolvedChain,
|
|
66
|
+
hasOverride: Boolean(overrides),
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
[explorerUrls, getChainById]
|
|
70
|
+
)
|
|
71
|
+
|
|
72
|
+
const getTransactionLink = useCallback(
|
|
73
|
+
({ txHash, txLink, chain }: TransactionLinkProps): string | undefined => {
|
|
74
|
+
if (txHash) {
|
|
75
|
+
const config = getExplorerConfig(chain)
|
|
76
|
+
// For EVM chains, sanity-check the transaction hash as some relayers return custom task hashes that are not visible on-chain.
|
|
77
|
+
// Skip the check when a chain-specific path override is registered — that's an explicit signal the chain's
|
|
78
|
+
// explorer accepts a non-hex hash (e.g. Lighter, whose hash has no 0x prefix).
|
|
79
|
+
const validForEvm =
|
|
80
|
+
config.resolvedChain?.chainType !== ChainType.EVM ||
|
|
81
|
+
config.hasOverride ||
|
|
82
|
+
isHex(txHash, { strict: true })
|
|
83
|
+
if (validForEvm) {
|
|
84
|
+
return `${config.url}/${config.txPath}/${txHash}`
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return txLink
|
|
88
|
+
},
|
|
89
|
+
[getExplorerConfig]
|
|
90
|
+
)
|
|
91
|
+
|
|
92
|
+
const getAddressLink = useCallback(
|
|
93
|
+
(address: string, chain?: Chain | number) => {
|
|
94
|
+
const config = getExplorerConfig(chain)
|
|
95
|
+
return `${config.url}/${config.addressPath}/${address}`
|
|
96
|
+
},
|
|
97
|
+
[getExplorerConfig]
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
return {
|
|
101
|
+
getTransactionLink,
|
|
102
|
+
getAddressLink,
|
|
103
|
+
}
|
|
104
|
+
}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type BaseToken,
|
|
3
|
+
ChainType,
|
|
4
|
+
getWalletBalances,
|
|
5
|
+
type TokenExtended,
|
|
6
|
+
type WalletTokenExtended,
|
|
7
|
+
} from '@lifi/sdk'
|
|
8
|
+
import { useQuery } from '@tanstack/react-query'
|
|
9
|
+
import { useMemo } from 'react'
|
|
10
|
+
import { useSDKClient } from '../providers/SDKClientProvider.js'
|
|
11
|
+
import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'
|
|
12
|
+
import type { FormType } from '../stores/form/types.js'
|
|
13
|
+
import { getConfigItemSets, isFormItemAllowed } from '../utils/item.js'
|
|
14
|
+
import { isSupportedToken } from '../utils/tokenList.js'
|
|
15
|
+
|
|
16
|
+
export const useFilteredTokensByBalance = (
|
|
17
|
+
accountsWithTokens?: Record<
|
|
18
|
+
string,
|
|
19
|
+
{ chainType: ChainType; tokens: Record<number, TokenExtended[]> }
|
|
20
|
+
>,
|
|
21
|
+
formType?: FormType
|
|
22
|
+
): {
|
|
23
|
+
data: Record<string, Record<number, TokenExtended[]>> | undefined
|
|
24
|
+
isLoading: boolean
|
|
25
|
+
} => {
|
|
26
|
+
const { tokens: configTokens } = useWidgetConfig()
|
|
27
|
+
const sdkClient = useSDKClient()
|
|
28
|
+
|
|
29
|
+
const evmAddress = useMemo(() => {
|
|
30
|
+
const evmAccount = Object.entries(accountsWithTokens ?? {}).find(
|
|
31
|
+
([_, { chainType }]) => chainType === ChainType.EVM
|
|
32
|
+
)
|
|
33
|
+
return evmAccount?.[0]
|
|
34
|
+
}, [accountsWithTokens])
|
|
35
|
+
|
|
36
|
+
const { data: existingBalances, isLoading } = useQuery({
|
|
37
|
+
queryKey: ['existing-evm-balances', evmAddress],
|
|
38
|
+
queryFn: () => getWalletBalances(sdkClient, evmAddress ?? ''),
|
|
39
|
+
enabled: !!evmAddress,
|
|
40
|
+
refetchInterval: 30_000, // 30 seconds
|
|
41
|
+
staleTime: 30_000, // 30 seconds
|
|
42
|
+
retry: false,
|
|
43
|
+
})
|
|
44
|
+
|
|
45
|
+
const accountsWithFilteredTokens = useMemo(() => {
|
|
46
|
+
if (!accountsWithTokens) {
|
|
47
|
+
return undefined
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// Early return if no existing balances - return all tokens
|
|
51
|
+
const result: Record<string, Record<number, TokenExtended[]>> = {}
|
|
52
|
+
if (!existingBalances) {
|
|
53
|
+
for (const [address, { tokens }] of Object.entries(accountsWithTokens)) {
|
|
54
|
+
result[address] = tokens
|
|
55
|
+
}
|
|
56
|
+
return result
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
for (const [address, { tokens }] of Object.entries(accountsWithTokens)) {
|
|
60
|
+
result[address] = {}
|
|
61
|
+
|
|
62
|
+
for (const [chainIdStr, chainTokens] of Object.entries(tokens)) {
|
|
63
|
+
const chainId = Number(chainIdStr)
|
|
64
|
+
// Get balances for this specific chain
|
|
65
|
+
const balances = existingBalances?.[chainId]
|
|
66
|
+
// If no balances, RPC all tokens of the chain
|
|
67
|
+
if (!balances?.length) {
|
|
68
|
+
if (chainTokens.length) {
|
|
69
|
+
result[address][chainId] = chainTokens
|
|
70
|
+
}
|
|
71
|
+
continue
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// Optimize token matching with Set for O(1) lookup
|
|
75
|
+
const balanceSet = new Set(
|
|
76
|
+
balances.map((balance: WalletTokenExtended) =>
|
|
77
|
+
balance.address.toLowerCase()
|
|
78
|
+
)
|
|
79
|
+
)
|
|
80
|
+
|
|
81
|
+
// Get tokens that are in chainTokens and have balances
|
|
82
|
+
const filteredTokens = chainTokens.filter((token) => {
|
|
83
|
+
const tokenKey = token.address.toLowerCase()
|
|
84
|
+
return balanceSet.has(tokenKey)
|
|
85
|
+
})
|
|
86
|
+
|
|
87
|
+
// Get tokens that are in balances but not in chainTokens
|
|
88
|
+
const chainTokenSet = new Set(
|
|
89
|
+
chainTokens.map((token) => token.address.toLowerCase())
|
|
90
|
+
)
|
|
91
|
+
|
|
92
|
+
// Get allowed addresses from config tokens
|
|
93
|
+
const allowedAddressesConfig = getConfigItemSets(
|
|
94
|
+
configTokens,
|
|
95
|
+
(tokens: BaseToken[]) =>
|
|
96
|
+
new Set(
|
|
97
|
+
tokens
|
|
98
|
+
.filter((t) => Number(t.chainId) === chainId)
|
|
99
|
+
.map((t) => t.address.toLowerCase())
|
|
100
|
+
),
|
|
101
|
+
formType
|
|
102
|
+
)
|
|
103
|
+
|
|
104
|
+
const additionalTokens = balances
|
|
105
|
+
.filter((balance: WalletTokenExtended) => {
|
|
106
|
+
const balanceKey = balance.address.toLowerCase()
|
|
107
|
+
return (
|
|
108
|
+
!chainTokenSet.has(balanceKey) &&
|
|
109
|
+
isSupportedToken(balance) &&
|
|
110
|
+
isFormItemAllowed(
|
|
111
|
+
balance,
|
|
112
|
+
allowedAddressesConfig,
|
|
113
|
+
formType,
|
|
114
|
+
(t) => t.address.toLowerCase()
|
|
115
|
+
)
|
|
116
|
+
)
|
|
117
|
+
})
|
|
118
|
+
// Mark tokens from wallet balances as unverified
|
|
119
|
+
.map((token: WalletTokenExtended) => ({
|
|
120
|
+
...token,
|
|
121
|
+
verified: false,
|
|
122
|
+
})) as TokenExtended[]
|
|
123
|
+
|
|
124
|
+
// Combine both sets of tokens - convert WalletTokenExtended to TokenAmount
|
|
125
|
+
const allTokens = [
|
|
126
|
+
...filteredTokens,
|
|
127
|
+
...additionalTokens,
|
|
128
|
+
] as TokenExtended[]
|
|
129
|
+
|
|
130
|
+
if (allTokens.length) {
|
|
131
|
+
result[address][chainId] = allTokens
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
return result
|
|
137
|
+
}, [accountsWithTokens, existingBalances, configTokens, formType])
|
|
138
|
+
|
|
139
|
+
return { data: accountsWithFilteredTokens, isLoading }
|
|
140
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { useMemo } from 'react'
|
|
2
|
+
import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'
|
|
3
|
+
import { FormKeyHelper } from '../stores/form/types.js'
|
|
4
|
+
import { useFieldValues } from '../stores/form/useFieldValues.js'
|
|
5
|
+
import { formatTokenPrice } from '../utils/format.js'
|
|
6
|
+
import { useToken } from './useToken.js'
|
|
7
|
+
|
|
8
|
+
export const useFromAmountThreshold = (): {
|
|
9
|
+
belowMinFromAmountUSD: boolean
|
|
10
|
+
minFromAmountUSD: number | undefined
|
|
11
|
+
} => {
|
|
12
|
+
const { minFromAmountUSD } = useWidgetConfig()
|
|
13
|
+
|
|
14
|
+
const [chainId, tokenAddress, fromAmount] = useFieldValues(
|
|
15
|
+
FormKeyHelper.getChainKey('from'),
|
|
16
|
+
FormKeyHelper.getTokenKey('from'),
|
|
17
|
+
FormKeyHelper.getAmountKey('from')
|
|
18
|
+
)
|
|
19
|
+
const { token } = useToken(chainId, tokenAddress)
|
|
20
|
+
|
|
21
|
+
const belowMinFromAmountUSD = useMemo(() => {
|
|
22
|
+
const fromAmountUSD = formatTokenPrice(
|
|
23
|
+
fromAmount,
|
|
24
|
+
token?.priceUSD,
|
|
25
|
+
token?.decimals
|
|
26
|
+
)
|
|
27
|
+
|
|
28
|
+
if (!minFromAmountUSD || !fromAmountUSD) {
|
|
29
|
+
return false
|
|
30
|
+
}
|
|
31
|
+
return fromAmountUSD < minFromAmountUSD
|
|
32
|
+
}, [minFromAmountUSD, fromAmount, token?.priceUSD, token?.decimals])
|
|
33
|
+
|
|
34
|
+
return {
|
|
35
|
+
belowMinFromAmountUSD,
|
|
36
|
+
minFromAmountUSD,
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { parseUnits, type RouteExtended } from '@lifi/sdk'
|
|
2
|
+
import { useAccount } from '@lifi/wallet-management'
|
|
3
|
+
import { keepPreviousData, useQuery } from '@tanstack/react-query'
|
|
4
|
+
import { useSDKClient } from '../providers/SDKClientProvider.js'
|
|
5
|
+
import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'
|
|
6
|
+
import { useFieldValues } from '../stores/form/useFieldValues.js'
|
|
7
|
+
import { isRouteDone } from '../stores/routes/utils.js'
|
|
8
|
+
import { getQueryKey } from '../utils/queries.js'
|
|
9
|
+
import { useTokenAddressBalance } from './useTokenAddressBalance.js'
|
|
10
|
+
import { getTokenBalancesWithRetry } from './useTokenBalance.js'
|
|
11
|
+
|
|
12
|
+
const refetchInterval = 30_000
|
|
13
|
+
|
|
14
|
+
export const useFromTokenSufficiency = (
|
|
15
|
+
route?: RouteExtended
|
|
16
|
+
): {
|
|
17
|
+
insufficientFromToken: boolean | undefined
|
|
18
|
+
isLoading: boolean
|
|
19
|
+
} => {
|
|
20
|
+
const [fromChainId, fromTokenAddress, fromAmount] = useFieldValues(
|
|
21
|
+
'fromChain',
|
|
22
|
+
'fromToken',
|
|
23
|
+
'fromAmount'
|
|
24
|
+
)
|
|
25
|
+
const { keyPrefix } = useWidgetConfig()
|
|
26
|
+
const sdkClient = useSDKClient()
|
|
27
|
+
|
|
28
|
+
let chainId = fromChainId
|
|
29
|
+
let tokenAddress = fromTokenAddress
|
|
30
|
+
if (route) {
|
|
31
|
+
chainId = route.fromToken.chainId
|
|
32
|
+
tokenAddress = route.fromToken.address
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const {
|
|
36
|
+
token,
|
|
37
|
+
chain,
|
|
38
|
+
isLoading: isTokenAddressBalanceLoading,
|
|
39
|
+
} = useTokenAddressBalance(chainId, tokenAddress)
|
|
40
|
+
|
|
41
|
+
const { account } = useAccount({ chainType: chain?.chainType })
|
|
42
|
+
|
|
43
|
+
const { data: insufficientFromToken, isLoading } = useQuery({
|
|
44
|
+
queryKey: [
|
|
45
|
+
getQueryKey('from-token-sufficiency-check', keyPrefix),
|
|
46
|
+
account.address,
|
|
47
|
+
chainId,
|
|
48
|
+
tokenAddress,
|
|
49
|
+
route?.id ?? fromAmount,
|
|
50
|
+
] as const,
|
|
51
|
+
queryFn: async ({ queryKey: [, accountAddress] }) => {
|
|
52
|
+
if (!accountAddress || !token) {
|
|
53
|
+
return
|
|
54
|
+
}
|
|
55
|
+
const parsedFromAmount = parseUnits(fromAmount, token.decimals)
|
|
56
|
+
let currentTokenBalance = token.amount ?? 0n
|
|
57
|
+
|
|
58
|
+
if (!route || isRouteDone(route)) {
|
|
59
|
+
const insufficientFunds = currentTokenBalance < parsedFromAmount
|
|
60
|
+
return insufficientFunds
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
const currentAction = route.steps.filter(
|
|
64
|
+
(step) => step.execution?.status !== 'DONE'
|
|
65
|
+
)[0]?.action
|
|
66
|
+
|
|
67
|
+
if (
|
|
68
|
+
token.chainId === currentAction.fromToken.chainId &&
|
|
69
|
+
token.address === currentAction.fromToken.address &&
|
|
70
|
+
currentTokenBalance > 0
|
|
71
|
+
) {
|
|
72
|
+
const insufficientFunds = BigInt(route.fromAmount) > currentTokenBalance
|
|
73
|
+
return insufficientFunds
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
const tokenBalances = await getTokenBalancesWithRetry(
|
|
77
|
+
sdkClient,
|
|
78
|
+
accountAddress,
|
|
79
|
+
[currentAction.fromToken]
|
|
80
|
+
)
|
|
81
|
+
|
|
82
|
+
currentTokenBalance = tokenBalances?.[0]?.amount ?? 0n
|
|
83
|
+
const insufficientFunds =
|
|
84
|
+
BigInt(currentAction.fromAmount) > currentTokenBalance
|
|
85
|
+
return insufficientFunds
|
|
86
|
+
},
|
|
87
|
+
|
|
88
|
+
enabled: Boolean(account.address && token && !isTokenAddressBalanceLoading),
|
|
89
|
+
refetchInterval,
|
|
90
|
+
staleTime: refetchInterval,
|
|
91
|
+
placeholderData: account.address ? keepPreviousData : undefined,
|
|
92
|
+
})
|
|
93
|
+
|
|
94
|
+
return {
|
|
95
|
+
insufficientFromToken,
|
|
96
|
+
isLoading,
|
|
97
|
+
}
|
|
98
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { type ChainId, getGasRecommendation } from '@lifi/sdk'
|
|
2
|
+
import type { UseQueryResult } from '@tanstack/react-query'
|
|
3
|
+
import { useQuery } from '@tanstack/react-query'
|
|
4
|
+
import { useSDKClient } from '../providers/SDKClientProvider.js'
|
|
5
|
+
import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'
|
|
6
|
+
import { getQueryKey } from '../utils/queries.js'
|
|
7
|
+
import { useAvailableChains } from './useAvailableChains.js'
|
|
8
|
+
|
|
9
|
+
const refetchInterval = 60_000
|
|
10
|
+
|
|
11
|
+
export const useGasRecommendation = (
|
|
12
|
+
toChainId?: ChainId,
|
|
13
|
+
fromChain?: ChainId,
|
|
14
|
+
fromToken?: string
|
|
15
|
+
): UseQueryResult<Awaited<ReturnType<typeof getGasRecommendation>> | null> => {
|
|
16
|
+
const { chains } = useAvailableChains()
|
|
17
|
+
const { keyPrefix, hiddenUI } = useWidgetConfig()
|
|
18
|
+
const sdkClient = useSDKClient()
|
|
19
|
+
|
|
20
|
+
const checkRecommendationLiFuel =
|
|
21
|
+
Boolean(toChainId) &&
|
|
22
|
+
Boolean(fromChain) &&
|
|
23
|
+
Boolean(fromToken) &&
|
|
24
|
+
Boolean(chains?.length)
|
|
25
|
+
|
|
26
|
+
const checkRecommendationMaxButton =
|
|
27
|
+
Boolean(toChainId) && !fromChain && !fromToken && Boolean(chains?.length)
|
|
28
|
+
|
|
29
|
+
return useQuery({
|
|
30
|
+
queryKey: [
|
|
31
|
+
getQueryKey('gas-recommendation', keyPrefix),
|
|
32
|
+
toChainId,
|
|
33
|
+
fromChain,
|
|
34
|
+
fromToken,
|
|
35
|
+
],
|
|
36
|
+
queryFn: async ({
|
|
37
|
+
queryKey: [_, toChainId, fromChain, fromToken],
|
|
38
|
+
signal,
|
|
39
|
+
}) => {
|
|
40
|
+
if (!chains?.some((chain) => chain.id === toChainId)) {
|
|
41
|
+
return null
|
|
42
|
+
}
|
|
43
|
+
const gasRecommendation = await getGasRecommendation(
|
|
44
|
+
sdkClient,
|
|
45
|
+
{
|
|
46
|
+
chainId: toChainId as ChainId,
|
|
47
|
+
fromChain: fromChain as ChainId,
|
|
48
|
+
fromToken: fromToken as string,
|
|
49
|
+
},
|
|
50
|
+
{ signal }
|
|
51
|
+
)
|
|
52
|
+
return gasRecommendation
|
|
53
|
+
},
|
|
54
|
+
enabled:
|
|
55
|
+
(checkRecommendationLiFuel || checkRecommendationMaxButton) &&
|
|
56
|
+
!hiddenUI?.gasRefuelMessage,
|
|
57
|
+
refetchInterval,
|
|
58
|
+
staleTime: refetchInterval,
|
|
59
|
+
})
|
|
60
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import type { ExtendedChain } from '@lifi/sdk'
|
|
2
|
+
import { useAccount } from '@lifi/wallet-management'
|
|
3
|
+
import { useMemo } from 'react'
|
|
4
|
+
import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'
|
|
5
|
+
import { useFieldValues } from '../stores/form/useFieldValues.js'
|
|
6
|
+
import { useAvailableChains } from './useAvailableChains.js'
|
|
7
|
+
import { useGasRecommendation } from './useGasRecommendation.js'
|
|
8
|
+
import { useIsContractAddress } from './useIsContractAddress.js'
|
|
9
|
+
import { useTokenBalance } from './useTokenBalance.js'
|
|
10
|
+
|
|
11
|
+
export const useGasRefuel = (): {
|
|
12
|
+
enabled: boolean
|
|
13
|
+
availble: boolean | undefined
|
|
14
|
+
isLoading: boolean
|
|
15
|
+
chain: ExtendedChain | undefined
|
|
16
|
+
fromAmount: string | undefined
|
|
17
|
+
} => {
|
|
18
|
+
const { getChainById } = useAvailableChains()
|
|
19
|
+
const { hiddenUI } = useWidgetConfig()
|
|
20
|
+
const [fromChainId, fromTokenAddress, toChainId, toAddress] = useFieldValues(
|
|
21
|
+
'fromChain',
|
|
22
|
+
'fromToken',
|
|
23
|
+
'toChain',
|
|
24
|
+
'toAddress'
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
const toChain = getChainById(toChainId)
|
|
28
|
+
const fromChain = getChainById(fromChainId)
|
|
29
|
+
|
|
30
|
+
const { account: toAccount } = useAccount({ chainType: toChain?.chainType })
|
|
31
|
+
|
|
32
|
+
const effectiveToAddress = toAddress || toAccount?.address
|
|
33
|
+
|
|
34
|
+
const { isContractAddress: isToContractAddress } = useIsContractAddress(
|
|
35
|
+
effectiveToAddress,
|
|
36
|
+
toChainId,
|
|
37
|
+
toChain?.chainType
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
const { token: destinationNativeToken } = useTokenBalance(
|
|
41
|
+
effectiveToAddress,
|
|
42
|
+
toChainId ? toChain?.nativeToken : undefined
|
|
43
|
+
)
|
|
44
|
+
|
|
45
|
+
const { data: gasRecommendation, isLoading } = useGasRecommendation(
|
|
46
|
+
toChainId,
|
|
47
|
+
fromChainId,
|
|
48
|
+
fromTokenAddress
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
// When we bridge between ecosystems we need to be sure toAddress is set
|
|
52
|
+
const isChainTypeSatisfied =
|
|
53
|
+
fromChain?.chainType !== toChain?.chainType ? Boolean(toAddress) : true
|
|
54
|
+
|
|
55
|
+
// We should not refuel to the contract address
|
|
56
|
+
const isToAddressSatisfied = effectiveToAddress && !isToContractAddress
|
|
57
|
+
|
|
58
|
+
const enabled = useMemo(() => {
|
|
59
|
+
if (
|
|
60
|
+
// Same chain refuel is not allowed since users need gas on source chain to initiate transaction
|
|
61
|
+
// We allow refuel when bridging to native token since bridging routes may require gas for destination swaps
|
|
62
|
+
fromChainId === toChainId ||
|
|
63
|
+
!gasRecommendation?.available ||
|
|
64
|
+
!gasRecommendation?.recommended ||
|
|
65
|
+
!destinationNativeToken ||
|
|
66
|
+
!isChainTypeSatisfied ||
|
|
67
|
+
!isToAddressSatisfied ||
|
|
68
|
+
hiddenUI?.gasRefuelMessage
|
|
69
|
+
) {
|
|
70
|
+
return false
|
|
71
|
+
}
|
|
72
|
+
const tokenBalance = destinationNativeToken.amount ?? 0n
|
|
73
|
+
|
|
74
|
+
// Check if the user balance < 50% of the recommended amount
|
|
75
|
+
const recommendedAmount = BigInt(gasRecommendation.recommended.amount) / 2n
|
|
76
|
+
|
|
77
|
+
const insufficientGas = tokenBalance < recommendedAmount
|
|
78
|
+
return insufficientGas
|
|
79
|
+
}, [
|
|
80
|
+
fromChainId,
|
|
81
|
+
gasRecommendation,
|
|
82
|
+
isChainTypeSatisfied,
|
|
83
|
+
isToAddressSatisfied,
|
|
84
|
+
destinationNativeToken,
|
|
85
|
+
toChainId,
|
|
86
|
+
hiddenUI,
|
|
87
|
+
])
|
|
88
|
+
|
|
89
|
+
return {
|
|
90
|
+
enabled: enabled,
|
|
91
|
+
availble: gasRecommendation?.available,
|
|
92
|
+
isLoading: isLoading,
|
|
93
|
+
chain: toChain,
|
|
94
|
+
fromAmount: gasRecommendation?.available
|
|
95
|
+
? gasRecommendation.fromAmount
|
|
96
|
+
: undefined,
|
|
97
|
+
}
|
|
98
|
+
}
|