@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,100 @@
|
|
|
1
|
+
import { formatUnits } from "@lifi/sdk";
|
|
2
|
+
//#region src/utils/format.ts
|
|
3
|
+
const usdDecimals = 2;
|
|
4
|
+
/**
|
|
5
|
+
* Format token amount to at least 6 decimals.
|
|
6
|
+
* @param amount amount to format.
|
|
7
|
+
* @returns formatted amount.
|
|
8
|
+
*/
|
|
9
|
+
function formatTokenAmount(amount, decimals) {
|
|
10
|
+
const formattedAmount = amount ? formatUnits(amount, decimals) : "0";
|
|
11
|
+
if (!Number.parseFloat(formattedAmount) || Number.isNaN(Number(formattedAmount))) return "0";
|
|
12
|
+
return formattedAmount;
|
|
13
|
+
}
|
|
14
|
+
function formatSlippage(slippage = "", defaultValue = "", returnInitial = false) {
|
|
15
|
+
if (!slippage) return slippage;
|
|
16
|
+
const parsedSlippage = Number.parseFloat(slippage);
|
|
17
|
+
if (Number.isNaN(Number(slippage)) && !Number.isNaN(parsedSlippage)) return parsedSlippage.toString();
|
|
18
|
+
if (Number.isNaN(parsedSlippage)) return defaultValue;
|
|
19
|
+
if (parsedSlippage >= 100) return "100";
|
|
20
|
+
if (parsedSlippage < 0) return Math.abs(parsedSlippage).toString();
|
|
21
|
+
if (returnInitial) return slippage;
|
|
22
|
+
return parsedSlippage.toString();
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Formats a user input amount string, normalizing it and optionally limiting decimal places.
|
|
26
|
+
* @param amount - The amount string to format (e.g., '123.45', '1,23', '0..')
|
|
27
|
+
* @param decimals - Maximum number of decimal places to allow. If null, no limit is applied.
|
|
28
|
+
* @param returnInitial - If true, preserves the input format during typing (e.g., keeps trailing dots,
|
|
29
|
+
* preserves leading zeros, keeps negative signs). If false (default), cleans up the
|
|
30
|
+
* format on blur (removes leading/trailing zeros, removes negative signs).
|
|
31
|
+
* @returns The formatted amount string, or empty string for invalid input.
|
|
32
|
+
*/
|
|
33
|
+
function formatInputAmount(amount, decimals = null, returnInitial = false) {
|
|
34
|
+
if (!amount) return amount;
|
|
35
|
+
let formattedAmount = amount.trim().replaceAll(",", ".");
|
|
36
|
+
const dotIndex = formattedAmount.indexOf(".");
|
|
37
|
+
if (dotIndex !== -1) formattedAmount = `${formattedAmount.slice(0, dotIndex + 1)}${formattedAmount.slice(dotIndex + 1).replaceAll(".", "")}`;
|
|
38
|
+
if (!returnInitial && formattedAmount.startsWith(".") || formattedAmount === ".") formattedAmount = `0${formattedAmount}`;
|
|
39
|
+
const parsedAmount = Number.parseFloat(formattedAmount);
|
|
40
|
+
if (Number.isNaN(Number(formattedAmount)) && !Number.isNaN(parsedAmount)) formattedAmount = parsedAmount.toString();
|
|
41
|
+
if (Number.isNaN(Math.abs(Number(formattedAmount)))) return "";
|
|
42
|
+
let [integer, fraction = ""] = formattedAmount.split(".");
|
|
43
|
+
if (decimals !== null && fraction.length > decimals) fraction = fraction.slice(0, decimals);
|
|
44
|
+
if (returnInitial) {
|
|
45
|
+
if (!fraction) return formattedAmount;
|
|
46
|
+
return `${integer}${fraction ? `.${fraction}` : ""}`;
|
|
47
|
+
}
|
|
48
|
+
integer = integer.replace(/^0+|-/, "");
|
|
49
|
+
fraction = fraction.replace(/(0+)$/, "");
|
|
50
|
+
return `${integer || (fraction ? "0" : "")}${fraction ? `.${fraction}` : ""}`;
|
|
51
|
+
}
|
|
52
|
+
function formatTokenPrice(amount, price, decimals) {
|
|
53
|
+
if (!amount || !price) return 0;
|
|
54
|
+
const formattedAmount = typeof amount === "bigint" && decimals !== void 0 ? formatUnits(amount, decimals) : amount.toString();
|
|
55
|
+
if (Number.isNaN(Number(formattedAmount)) || Number.isNaN(Number(price))) return 0;
|
|
56
|
+
return Number.parseFloat(formattedAmount) * Number.parseFloat(price);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Formatter for price value to token amount
|
|
60
|
+
*/
|
|
61
|
+
const formatter = new Intl.NumberFormat("en", {
|
|
62
|
+
notation: "standard",
|
|
63
|
+
roundingPriority: "morePrecision",
|
|
64
|
+
maximumSignificantDigits: 20,
|
|
65
|
+
maximumFractionDigits: 20,
|
|
66
|
+
useGrouping: false
|
|
67
|
+
});
|
|
68
|
+
/**
|
|
69
|
+
* Convert price value to token amount
|
|
70
|
+
*/
|
|
71
|
+
function priceToTokenAmount(priceValue, priceUSD) {
|
|
72
|
+
if (!priceValue || !priceUSD) return "0";
|
|
73
|
+
const numericPriceValue = Number.parseFloat(priceValue);
|
|
74
|
+
const numericPrice = Number.parseFloat(priceUSD);
|
|
75
|
+
if (Number.isNaN(numericPriceValue) || Number.isNaN(numericPrice) || !numericPrice) return "0";
|
|
76
|
+
return formatter.format(numericPriceValue / numericPrice);
|
|
77
|
+
}
|
|
78
|
+
const units = [
|
|
79
|
+
["day", 86400],
|
|
80
|
+
["hour", 3600],
|
|
81
|
+
["minute", 60],
|
|
82
|
+
["second", 1]
|
|
83
|
+
];
|
|
84
|
+
function formatDuration(seconds, locale) {
|
|
85
|
+
const match = units.find(([, v]) => seconds >= v);
|
|
86
|
+
const amount = match ? Math.floor(seconds / match[1]) : 0;
|
|
87
|
+
const unit = match?.[0] ?? "second";
|
|
88
|
+
return amount.toLocaleString(locale, {
|
|
89
|
+
style: "unit",
|
|
90
|
+
unit,
|
|
91
|
+
unitDisplay: "narrow"
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
function wrapLongWords(text) {
|
|
95
|
+
return text.replace(/\S{32,}/g, (word) => `${word.slice(0, 8)}...${word.slice(-4)}`);
|
|
96
|
+
}
|
|
97
|
+
//#endregion
|
|
98
|
+
export { formatDuration, formatInputAmount, formatSlippage, formatTokenAmount, formatTokenPrice, priceToTokenAmount, usdDecimals, wrapLongWords };
|
|
99
|
+
|
|
100
|
+
//# sourceMappingURL=format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.js","names":[],"sources":["../../../src/utils/format.ts"],"sourcesContent":["import { formatUnits } from '@lifi/sdk'\n\nexport const usdDecimals = 2\n\n/**\n * Format token amount to at least 6 decimals.\n * @param amount amount to format.\n * @returns formatted amount.\n */\nexport function formatTokenAmount(\n amount: bigint | undefined,\n decimals: number\n): string {\n const formattedAmount = amount ? formatUnits(amount, decimals) : '0'\n const parsedAmount = Number.parseFloat(formattedAmount)\n if (!parsedAmount || Number.isNaN(Number(formattedAmount))) {\n return '0'\n }\n\n return formattedAmount\n}\n\nexport function formatSlippage(\n slippage = '',\n defaultValue = '',\n returnInitial = false\n): string {\n if (!slippage) {\n return slippage\n }\n const parsedSlippage = Number.parseFloat(slippage)\n if (Number.isNaN(Number(slippage)) && !Number.isNaN(parsedSlippage)) {\n return parsedSlippage.toString()\n }\n if (Number.isNaN(parsedSlippage)) {\n return defaultValue\n }\n if (parsedSlippage >= 100) {\n return '100'\n }\n if (parsedSlippage < 0) {\n return Math.abs(parsedSlippage).toString()\n }\n if (returnInitial) {\n return slippage\n }\n return parsedSlippage.toString()\n}\n\n/**\n * Formats a user input amount string, normalizing it and optionally limiting decimal places.\n * @param amount - The amount string to format (e.g., '123.45', '1,23', '0..')\n * @param decimals - Maximum number of decimal places to allow. If null, no limit is applied.\n * @param returnInitial - If true, preserves the input format during typing (e.g., keeps trailing dots,\n * preserves leading zeros, keeps negative signs). If false (default), cleans up the\n * format on blur (removes leading/trailing zeros, removes negative signs).\n * @returns The formatted amount string, or empty string for invalid input.\n */\nexport function formatInputAmount(\n amount: string,\n decimals: number | null = null,\n returnInitial: boolean = false\n): string {\n if (!amount) {\n return amount\n }\n\n // Replace commas with dots\n let formattedAmount = amount.trim().replaceAll(',', '.')\n\n // Keep only the first dot, remove all subsequent dots\n const dotIndex = formattedAmount.indexOf('.')\n if (dotIndex !== -1) {\n formattedAmount = `${formattedAmount.slice(0, dotIndex + 1)}${formattedAmount.slice(dotIndex + 1).replaceAll('.', '')}`\n }\n\n // If the amount starts with a dot, prepend 0\n if (\n (!returnInitial && formattedAmount.startsWith('.')) ||\n formattedAmount === '.'\n ) {\n formattedAmount = `0${formattedAmount}`\n }\n\n // Parse the valid part of the amount\n const parsedAmount = Number.parseFloat(formattedAmount)\n if (Number.isNaN(Number(formattedAmount)) && !Number.isNaN(parsedAmount)) {\n formattedAmount = parsedAmount.toString()\n }\n if (Number.isNaN(Math.abs(Number(formattedAmount)))) {\n return ''\n }\n\n // Split and limit decimals\n let [integer, fraction = ''] = formattedAmount.split('.')\n if (decimals !== null && fraction.length > decimals) {\n fraction = fraction.slice(0, decimals)\n }\n\n if (returnInitial) {\n if (!fraction) {\n return formattedAmount\n }\n return `${integer}${fraction ? `.${fraction}` : ''}`\n }\n\n // Remove leading zeros and minus sign\n integer = integer.replace(/^0+|-/, '')\n // Remove trailing zeros\n fraction = fraction.replace(/(0+)$/, '')\n\n return `${integer || (fraction ? '0' : '')}${fraction ? `.${fraction}` : ''}`\n}\n\nexport function formatTokenPrice(\n amount?: string | bigint,\n price?: string,\n decimals?: number\n): number {\n if (!amount || !price) {\n return 0\n }\n\n const formattedAmount =\n typeof amount === 'bigint' && decimals !== undefined\n ? formatUnits(amount, decimals)\n : amount.toString()\n\n if (Number.isNaN(Number(formattedAmount)) || Number.isNaN(Number(price))) {\n return 0\n }\n return Number.parseFloat(formattedAmount) * Number.parseFloat(price)\n}\n\n/**\n * Formatter for price value to token amount\n */\nconst formatter = new Intl.NumberFormat('en', {\n notation: 'standard',\n roundingPriority: 'morePrecision',\n maximumSignificantDigits: 20,\n maximumFractionDigits: 20,\n useGrouping: false,\n})\n\n/**\n * Convert price value to token amount\n */\nexport function priceToTokenAmount(\n priceValue: string,\n priceUSD?: string\n): string {\n if (!priceValue || !priceUSD) {\n return '0'\n }\n\n const numericPriceValue = Number.parseFloat(priceValue)\n const numericPrice = Number.parseFloat(priceUSD)\n\n if (\n Number.isNaN(numericPriceValue) ||\n Number.isNaN(numericPrice) ||\n !numericPrice\n ) {\n return '0'\n }\n\n return formatter.format(numericPriceValue / numericPrice)\n}\n\nconst units = [\n ['day', 86400],\n ['hour', 3600],\n ['minute', 60],\n ['second', 1],\n] as const\n\nexport function formatDuration(seconds: number, locale: string): string {\n const match = units.find(([, v]) => seconds >= v)\n const amount = match ? Math.floor(seconds / match[1]) : 0\n const unit = match?.[0] ?? 'second'\n\n return amount.toLocaleString(locale, {\n style: 'unit',\n unit,\n unitDisplay: 'narrow',\n })\n}\n\nexport function wrapLongWords(text: string): string {\n return text.replace(\n /\\S{32,}/g,\n (word) => `${word.slice(0, 8)}...${word.slice(-4)}`\n )\n}\n"],"mappings":";;AAEA,MAAa,cAAc;;;;;;AAO3B,SAAgB,kBACd,QACA,UACQ;CACR,MAAM,kBAAkB,SAAS,YAAY,QAAQ,QAAQ,IAAI;CAEjE,IAAI,CADiB,OAAO,WAAW,eACvB,KAAK,OAAO,MAAM,OAAO,eAAe,CAAC,GACvD,OAAO;CAGT,OAAO;AACT;AAEA,SAAgB,eACd,WAAW,IACX,eAAe,IACf,gBAAgB,OACR;CACR,IAAI,CAAC,UACH,OAAO;CAET,MAAM,iBAAiB,OAAO,WAAW,QAAQ;CACjD,IAAI,OAAO,MAAM,OAAO,QAAQ,CAAC,KAAK,CAAC,OAAO,MAAM,cAAc,GAChE,OAAO,eAAe,SAAS;CAEjC,IAAI,OAAO,MAAM,cAAc,GAC7B,OAAO;CAET,IAAI,kBAAkB,KACpB,OAAO;CAET,IAAI,iBAAiB,GACnB,OAAO,KAAK,IAAI,cAAc,EAAE,SAAS;CAE3C,IAAI,eACF,OAAO;CAET,OAAO,eAAe,SAAS;AACjC;;;;;;;;;;AAWA,SAAgB,kBACd,QACA,WAA0B,MAC1B,gBAAyB,OACjB;CACR,IAAI,CAAC,QACH,OAAO;CAIT,IAAI,kBAAkB,OAAO,KAAK,EAAE,WAAW,KAAK,GAAG;CAGvD,MAAM,WAAW,gBAAgB,QAAQ,GAAG;CAC5C,IAAI,aAAa,IACf,kBAAkB,GAAG,gBAAgB,MAAM,GAAG,WAAW,CAAC,IAAI,gBAAgB,MAAM,WAAW,CAAC,EAAE,WAAW,KAAK,EAAE;CAItH,IACG,CAAC,iBAAiB,gBAAgB,WAAW,GAAG,KACjD,oBAAoB,KAEpB,kBAAkB,IAAI;CAIxB,MAAM,eAAe,OAAO,WAAW,eAAe;CACtD,IAAI,OAAO,MAAM,OAAO,eAAe,CAAC,KAAK,CAAC,OAAO,MAAM,YAAY,GACrE,kBAAkB,aAAa,SAAS;CAE1C,IAAI,OAAO,MAAM,KAAK,IAAI,OAAO,eAAe,CAAC,CAAC,GAChD,OAAO;CAIT,IAAI,CAAC,SAAS,WAAW,MAAM,gBAAgB,MAAM,GAAG;CACxD,IAAI,aAAa,QAAQ,SAAS,SAAS,UACzC,WAAW,SAAS,MAAM,GAAG,QAAQ;CAGvC,IAAI,eAAe;EACjB,IAAI,CAAC,UACH,OAAO;EAET,OAAO,GAAG,UAAU,WAAW,IAAI,aAAa;CAClD;CAGA,UAAU,QAAQ,QAAQ,SAAS,EAAE;CAErC,WAAW,SAAS,QAAQ,SAAS,EAAE;CAEvC,OAAO,GAAG,YAAY,WAAW,MAAM,MAAM,WAAW,IAAI,aAAa;AAC3E;AAEA,SAAgB,iBACd,QACA,OACA,UACQ;CACR,IAAI,CAAC,UAAU,CAAC,OACd,OAAO;CAGT,MAAM,kBACJ,OAAO,WAAW,YAAY,aAAa,KAAA,IACvC,YAAY,QAAQ,QAAQ,IAC5B,OAAO,SAAS;CAEtB,IAAI,OAAO,MAAM,OAAO,eAAe,CAAC,KAAK,OAAO,MAAM,OAAO,KAAK,CAAC,GACrE,OAAO;CAET,OAAO,OAAO,WAAW,eAAe,IAAI,OAAO,WAAW,KAAK;AACrE;;;;AAKA,MAAM,YAAY,IAAI,KAAK,aAAa,MAAM;CAC5C,UAAU;CACV,kBAAkB;CAClB,0BAA0B;CAC1B,uBAAuB;CACvB,aAAa;AACf,CAAC;;;;AAKD,SAAgB,mBACd,YACA,UACQ;CACR,IAAI,CAAC,cAAc,CAAC,UAClB,OAAO;CAGT,MAAM,oBAAoB,OAAO,WAAW,UAAU;CACtD,MAAM,eAAe,OAAO,WAAW,QAAQ;CAE/C,IACE,OAAO,MAAM,iBAAiB,KAC9B,OAAO,MAAM,YAAY,KACzB,CAAC,cAED,OAAO;CAGT,OAAO,UAAU,OAAO,oBAAoB,YAAY;AAC1D;AAEA,MAAM,QAAQ;CACZ,CAAC,OAAO,KAAK;CACb,CAAC,QAAQ,IAAI;CACb,CAAC,UAAU,EAAE;CACb,CAAC,UAAU,CAAC;AACd;AAEA,SAAgB,eAAe,SAAiB,QAAwB;CACtE,MAAM,QAAQ,MAAM,MAAM,GAAG,OAAO,WAAW,CAAC;CAChD,MAAM,SAAS,QAAQ,KAAK,MAAM,UAAU,MAAM,EAAE,IAAI;CACxD,MAAM,OAAO,QAAQ,MAAM;CAE3B,OAAO,OAAO,eAAe,QAAQ;EACnC,OAAO;EACP;EACA,aAAa;CACf,CAAC;AACH;AAEA,SAAgB,cAAc,MAAsB;CAClD,OAAO,KAAK,QACV,aACC,SAAS,GAAG,KAAK,MAAM,GAAG,CAAC,EAAE,KAAK,KAAK,MAAM,EAAE,GAClD;AACF"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
//#region src/utils/getActionMessage.ts
|
|
2
|
+
function getActionMessage(t, step, type, status, substatus, mode, modeOptions) {
|
|
3
|
+
return { title: (substatus ? actionSubstatusMessages[status]?.[substatus]?.(t) : void 0) ?? actionStatusMessages[type]?.[status]?.(t, step, mode, modeOptions) };
|
|
4
|
+
}
|
|
5
|
+
const actionStatusMessages = {
|
|
6
|
+
CHECK_ALLOWANCE: {
|
|
7
|
+
STARTED: (t, step) => t("main.process.tokenAllowance.started", { tokenSymbol: step.action.fromToken.symbol }),
|
|
8
|
+
PENDING: (t, step) => t("main.process.tokenAllowance.pending", { tokenSymbol: step.action.fromToken.symbol }),
|
|
9
|
+
DONE: (t, step) => t("main.process.tokenAllowance.done", { tokenSymbol: step.action.fromToken.symbol })
|
|
10
|
+
},
|
|
11
|
+
NATIVE_PERMIT: {
|
|
12
|
+
STARTED: (t) => t("main.process.permit.started"),
|
|
13
|
+
ACTION_REQUIRED: (t) => t("main.process.permit.actionRequired"),
|
|
14
|
+
PENDING: (t) => t("main.process.permit.pending"),
|
|
15
|
+
DONE: (t) => t("main.process.permit.done")
|
|
16
|
+
},
|
|
17
|
+
RESET_ALLOWANCE: {
|
|
18
|
+
STARTED: (t, step) => t("main.process.tokenAllowance.pending", { tokenSymbol: step.action.fromToken.symbol }),
|
|
19
|
+
RESET_REQUIRED: (t, step) => t("main.process.tokenAllowance.resetRequired", { tokenSymbol: step.action.fromToken.symbol }),
|
|
20
|
+
PENDING: (t, step) => t("main.process.tokenAllowance.pending", { tokenSymbol: step.action.fromToken.symbol }),
|
|
21
|
+
DONE: (t, step) => t("main.process.tokenAllowance.pending", { tokenSymbol: step.action.fromToken.symbol })
|
|
22
|
+
},
|
|
23
|
+
SET_ALLOWANCE: {
|
|
24
|
+
STARTED: (t, step) => t("main.process.tokenAllowance.pending", { tokenSymbol: step.action.fromToken.symbol }),
|
|
25
|
+
ACTION_REQUIRED: (t, step) => t("main.process.tokenAllowance.actionRequired", { tokenSymbol: step.action.fromToken.symbol }),
|
|
26
|
+
PENDING: (t, step) => t("main.process.tokenAllowance.pending", { tokenSymbol: step.action.fromToken.symbol }),
|
|
27
|
+
DONE: (t, step) => t("main.process.tokenAllowance.done", { tokenSymbol: step.action.fromToken.symbol })
|
|
28
|
+
},
|
|
29
|
+
PERMIT: {
|
|
30
|
+
STARTED: (t) => t("main.process.permit.started"),
|
|
31
|
+
ACTION_REQUIRED: (t) => t("main.process.permit.actionRequired"),
|
|
32
|
+
PENDING: (t) => t("main.process.permit.pending"),
|
|
33
|
+
DONE: (t) => t("main.process.permit.done")
|
|
34
|
+
},
|
|
35
|
+
SWAP: {
|
|
36
|
+
STARTED: (t) => t("main.process.swap.started"),
|
|
37
|
+
ACTION_REQUIRED: (t) => t("main.process.swap.actionRequired"),
|
|
38
|
+
MESSAGE_REQUIRED: (t) => t("main.process.swap.messageRequired"),
|
|
39
|
+
PENDING: (t) => t("main.process.swap.pending"),
|
|
40
|
+
DONE: (t, _, mode, modeOptions) => mode === "custom" ? t(`main.process.${modeOptions?.custom?.type ?? "checkout"}.done`) : t("main.process.swap.done")
|
|
41
|
+
},
|
|
42
|
+
CROSS_CHAIN: {
|
|
43
|
+
STARTED: (t) => t("main.process.bridge.started"),
|
|
44
|
+
ACTION_REQUIRED: (t) => t("main.process.bridge.actionRequired"),
|
|
45
|
+
MESSAGE_REQUIRED: (t) => t("main.process.bridge.messageRequired"),
|
|
46
|
+
PENDING: (t) => t("main.process.bridge.pending"),
|
|
47
|
+
DONE: (t) => t("main.process.bridge.done")
|
|
48
|
+
},
|
|
49
|
+
RECEIVING_CHAIN: {
|
|
50
|
+
STARTED: (t) => t("main.process.receivingChain.pending"),
|
|
51
|
+
PENDING: (t) => t("main.process.receivingChain.pending"),
|
|
52
|
+
DONE: (t, _, mode, modeOptions) => mode === "custom" ? t(`main.process.${modeOptions?.custom?.type ?? "checkout"}.done`) : t("main.process.receivingChain.done")
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
const actionSubstatusMessages = {
|
|
56
|
+
PENDING: {},
|
|
57
|
+
DONE: {
|
|
58
|
+
PARTIAL: (t) => t("main.process.receivingChain.partial"),
|
|
59
|
+
REFUNDED: (t) => t("main.process.receivingChain.partial")
|
|
60
|
+
},
|
|
61
|
+
FAILED: {},
|
|
62
|
+
INVALID: {},
|
|
63
|
+
NOT_FOUND: {}
|
|
64
|
+
};
|
|
65
|
+
//#endregion
|
|
66
|
+
export { getActionMessage };
|
|
67
|
+
|
|
68
|
+
//# sourceMappingURL=getActionMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getActionMessage.js","names":[],"sources":["../../../src/utils/getActionMessage.ts"],"sourcesContent":["import type {\n ExecutionActionStatus,\n ExecutionActionType,\n LiFiStepExtended,\n StatusMessage,\n Substatus,\n} from '@lifi/sdk'\nimport type { TFunction } from 'i18next'\nimport type { ModeOptions, WidgetMode } from '../types/widget.js'\n\nexport function getActionMessage(\n t: TFunction,\n step: LiFiStepExtended,\n type: ExecutionActionType,\n status: ExecutionActionStatus,\n substatus?: Substatus,\n mode?: WidgetMode,\n modeOptions?: ModeOptions\n): {\n title?: string\n message?: string\n} {\n const messageWithSubstatus = substatus\n ? actionSubstatusMessages[status as StatusMessage]?.[substatus]?.(t)\n : undefined\n const title =\n messageWithSubstatus ??\n actionStatusMessages[type]?.[status]?.(t, step, mode, modeOptions)\n return { title }\n}\n\nconst actionStatusMessages: Record<\n ExecutionActionType,\n Partial<\n Record<\n ExecutionActionStatus,\n (\n t: TFunction,\n step: LiFiStepExtended,\n mode?: WidgetMode,\n modeOptions?: ModeOptions\n ) => string\n >\n >\n> = {\n CHECK_ALLOWANCE: {\n STARTED: (t, step) =>\n t('main.process.tokenAllowance.started', {\n tokenSymbol: step.action.fromToken.symbol,\n }),\n PENDING: (t, step) =>\n t('main.process.tokenAllowance.pending', {\n tokenSymbol: step.action.fromToken.symbol,\n }),\n DONE: (t, step) =>\n t('main.process.tokenAllowance.done', {\n tokenSymbol: step.action.fromToken.symbol,\n }),\n },\n NATIVE_PERMIT: {\n STARTED: (t) => t('main.process.permit.started'),\n ACTION_REQUIRED: (t) => t('main.process.permit.actionRequired'),\n PENDING: (t) => t('main.process.permit.pending'),\n DONE: (t) => t('main.process.permit.done'),\n },\n RESET_ALLOWANCE: {\n STARTED: (t, step) =>\n t('main.process.tokenAllowance.pending', {\n tokenSymbol: step.action.fromToken.symbol,\n }),\n RESET_REQUIRED: (t, step) =>\n t('main.process.tokenAllowance.resetRequired', {\n tokenSymbol: step.action.fromToken.symbol,\n }),\n PENDING: (t, step) =>\n t('main.process.tokenAllowance.pending', {\n tokenSymbol: step.action.fromToken.symbol,\n }),\n DONE: (t, step) =>\n t('main.process.tokenAllowance.pending', {\n tokenSymbol: step.action.fromToken.symbol,\n }),\n },\n SET_ALLOWANCE: {\n STARTED: (t, step) =>\n t('main.process.tokenAllowance.pending', {\n tokenSymbol: step.action.fromToken.symbol,\n }),\n ACTION_REQUIRED: (t, step) =>\n t('main.process.tokenAllowance.actionRequired', {\n tokenSymbol: step.action.fromToken.symbol,\n }),\n PENDING: (t, step) =>\n t('main.process.tokenAllowance.pending', {\n tokenSymbol: step.action.fromToken.symbol,\n }),\n DONE: (t, step) =>\n t('main.process.tokenAllowance.done', {\n tokenSymbol: step.action.fromToken.symbol,\n }),\n },\n PERMIT: {\n STARTED: (t) => t('main.process.permit.started'),\n ACTION_REQUIRED: (t) => t('main.process.permit.actionRequired'),\n PENDING: (t) => t('main.process.permit.pending'),\n DONE: (t) => t('main.process.permit.done'),\n },\n SWAP: {\n STARTED: (t) => t('main.process.swap.started'),\n ACTION_REQUIRED: (t) => t('main.process.swap.actionRequired'),\n MESSAGE_REQUIRED: (t) => t('main.process.swap.messageRequired'),\n PENDING: (t) => t('main.process.swap.pending'),\n DONE: (t, _, mode, modeOptions) =>\n mode === 'custom'\n ? t(`main.process.${modeOptions?.custom?.type ?? 'checkout'}.done`)\n : t('main.process.swap.done'),\n },\n CROSS_CHAIN: {\n STARTED: (t) => t('main.process.bridge.started'),\n ACTION_REQUIRED: (t) => t('main.process.bridge.actionRequired'),\n MESSAGE_REQUIRED: (t) => t('main.process.bridge.messageRequired'),\n PENDING: (t) => t('main.process.bridge.pending'),\n DONE: (t) => t('main.process.bridge.done'),\n },\n RECEIVING_CHAIN: {\n STARTED: (t) => t('main.process.receivingChain.pending'),\n PENDING: (t) => t('main.process.receivingChain.pending'),\n DONE: (t, _, mode, modeOptions) =>\n mode === 'custom'\n ? t(`main.process.${modeOptions?.custom?.type ?? 'checkout'}.done`)\n : t('main.process.receivingChain.done'),\n },\n}\n\nconst actionSubstatusMessages: Record<\n StatusMessage,\n Partial<Record<Substatus, (t: TFunction) => string>>\n> = {\n PENDING: {\n // BRIDGE_NOT_AVAILABLE: 'Bridge communication is temporarily unavailable.',\n // CHAIN_NOT_AVAILABLE: 'RPC communication is temporarily unavailable.',\n // REFUND_IN_PROGRESS:\n // \"The refund has been requested and it's being processed\",\n // WAIT_DESTINATION_TRANSACTION:\n // 'The bridge off-chain logic is being executed. Wait for the transaction to appear on the destination chain.',\n // WAIT_SOURCE_CONFIRMATIONS:\n // 'The bridge deposit has been received. The bridge is waiting for more confirmations to start the off-chain logic.',\n },\n DONE: {\n // COMPLETED: 'The transfer is complete.',\n PARTIAL: (t) => t('main.process.receivingChain.partial'),\n REFUNDED: (t) => t('main.process.receivingChain.partial'),\n },\n FAILED: {\n // TODO: should be moved to failed status\n // NOT_PROCESSABLE_REFUND_NEEDED:\n // 'The transfer cannot be completed successfully. A refund operation is required.',\n // UNKNOWN_ERROR:\n // 'An unexpected error occurred. Please seek assistance in the LI.FI discord server.',\n },\n INVALID: {},\n NOT_FOUND: {},\n}\n"],"mappings":";AAUA,SAAgB,iBACd,GACA,MACA,MACA,QACA,WACA,MACA,aAIA;CAOA,OAAO,EAAE,QANoB,YACzB,wBAAwB,UAA2B,aAAa,CAAC,IACjE,KAAA,MAGF,qBAAqB,QAAQ,UAAU,GAAG,MAAM,MAAM,WAAW,EACpD;AACjB;AAEA,MAAM,uBAaF;CACF,iBAAiB;EACf,UAAU,GAAG,SACX,EAAE,uCAAuC,EACvC,aAAa,KAAK,OAAO,UAAU,OACrC,CAAC;EACH,UAAU,GAAG,SACX,EAAE,uCAAuC,EACvC,aAAa,KAAK,OAAO,UAAU,OACrC,CAAC;EACH,OAAO,GAAG,SACR,EAAE,oCAAoC,EACpC,aAAa,KAAK,OAAO,UAAU,OACrC,CAAC;CACL;CACA,eAAe;EACb,UAAU,MAAM,EAAE,6BAA6B;EAC/C,kBAAkB,MAAM,EAAE,oCAAoC;EAC9D,UAAU,MAAM,EAAE,6BAA6B;EAC/C,OAAO,MAAM,EAAE,0BAA0B;CAC3C;CACA,iBAAiB;EACf,UAAU,GAAG,SACX,EAAE,uCAAuC,EACvC,aAAa,KAAK,OAAO,UAAU,OACrC,CAAC;EACH,iBAAiB,GAAG,SAClB,EAAE,6CAA6C,EAC7C,aAAa,KAAK,OAAO,UAAU,OACrC,CAAC;EACH,UAAU,GAAG,SACX,EAAE,uCAAuC,EACvC,aAAa,KAAK,OAAO,UAAU,OACrC,CAAC;EACH,OAAO,GAAG,SACR,EAAE,uCAAuC,EACvC,aAAa,KAAK,OAAO,UAAU,OACrC,CAAC;CACL;CACA,eAAe;EACb,UAAU,GAAG,SACX,EAAE,uCAAuC,EACvC,aAAa,KAAK,OAAO,UAAU,OACrC,CAAC;EACH,kBAAkB,GAAG,SACnB,EAAE,8CAA8C,EAC9C,aAAa,KAAK,OAAO,UAAU,OACrC,CAAC;EACH,UAAU,GAAG,SACX,EAAE,uCAAuC,EACvC,aAAa,KAAK,OAAO,UAAU,OACrC,CAAC;EACH,OAAO,GAAG,SACR,EAAE,oCAAoC,EACpC,aAAa,KAAK,OAAO,UAAU,OACrC,CAAC;CACL;CACA,QAAQ;EACN,UAAU,MAAM,EAAE,6BAA6B;EAC/C,kBAAkB,MAAM,EAAE,oCAAoC;EAC9D,UAAU,MAAM,EAAE,6BAA6B;EAC/C,OAAO,MAAM,EAAE,0BAA0B;CAC3C;CACA,MAAM;EACJ,UAAU,MAAM,EAAE,2BAA2B;EAC7C,kBAAkB,MAAM,EAAE,kCAAkC;EAC5D,mBAAmB,MAAM,EAAE,mCAAmC;EAC9D,UAAU,MAAM,EAAE,2BAA2B;EAC7C,OAAO,GAAG,GAAG,MAAM,gBACjB,SAAS,WACL,EAAE,gBAAgB,aAAa,QAAQ,QAAQ,WAAW,MAAM,IAChE,EAAE,wBAAwB;CAClC;CACA,aAAa;EACX,UAAU,MAAM,EAAE,6BAA6B;EAC/C,kBAAkB,MAAM,EAAE,oCAAoC;EAC9D,mBAAmB,MAAM,EAAE,qCAAqC;EAChE,UAAU,MAAM,EAAE,6BAA6B;EAC/C,OAAO,MAAM,EAAE,0BAA0B;CAC3C;CACA,iBAAiB;EACf,UAAU,MAAM,EAAE,qCAAqC;EACvD,UAAU,MAAM,EAAE,qCAAqC;EACvD,OAAO,GAAG,GAAG,MAAM,gBACjB,SAAS,WACL,EAAE,gBAAgB,aAAa,QAAQ,QAAQ,WAAW,MAAM,IAChE,EAAE,kCAAkC;CAC5C;AACF;AAEA,MAAM,0BAGF;CACF,SAAS,CAST;CACA,MAAM;EAEJ,UAAU,MAAM,EAAE,qCAAqC;EACvD,WAAW,MAAM,EAAE,qCAAqC;CAC1D;CACA,QAAQ,CAMR;CACA,SAAS,CAAC;CACV,WAAW,CAAC;AACd"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { formatTokenAmount, wrapLongWords } from "./format.js";
|
|
2
|
+
import { LiFiErrorCode } from "@lifi/sdk";
|
|
3
|
+
//#region src/utils/getErrorMessage.ts
|
|
4
|
+
function getErrorMessage(t, getChainById, step, failedAction) {
|
|
5
|
+
const error = failedAction?.error;
|
|
6
|
+
if (!error) return {
|
|
7
|
+
title: t("error.title.unknown"),
|
|
8
|
+
message: t("error.message.unknown")
|
|
9
|
+
};
|
|
10
|
+
const getDefaultErrorMessage = (key) => `${t(key ?? "error.message.transactionNotSent")} ${t("error.message.remainInYourWallet", {
|
|
11
|
+
amount: formatTokenAmount(BigInt(step.action.fromAmount), step.action.fromToken.decimals),
|
|
12
|
+
tokenSymbol: step.action.fromToken.symbol,
|
|
13
|
+
chainName: getChainById(step.action.fromChainId)?.name ?? ""
|
|
14
|
+
})}`;
|
|
15
|
+
let title = "";
|
|
16
|
+
let message = "";
|
|
17
|
+
switch (error.code) {
|
|
18
|
+
case LiFiErrorCode.AllowanceRequired:
|
|
19
|
+
title = t("error.title.allowanceRequired");
|
|
20
|
+
message = t("error.message.allowanceRequired", { tokenSymbol: step.action.fromToken.symbol });
|
|
21
|
+
break;
|
|
22
|
+
case LiFiErrorCode.BalanceError:
|
|
23
|
+
title = t("error.title.balanceIsTooLow");
|
|
24
|
+
message = getDefaultErrorMessage();
|
|
25
|
+
break;
|
|
26
|
+
case LiFiErrorCode.ChainSwitchError:
|
|
27
|
+
title = t("error.title.chainSwitch");
|
|
28
|
+
message = getDefaultErrorMessage();
|
|
29
|
+
break;
|
|
30
|
+
case LiFiErrorCode.GasLimitError:
|
|
31
|
+
title = t("error.title.gasLimitIsTooLow");
|
|
32
|
+
message = getDefaultErrorMessage();
|
|
33
|
+
break;
|
|
34
|
+
case LiFiErrorCode.InsufficientFunds:
|
|
35
|
+
title = t("error.title.insufficientFunds");
|
|
36
|
+
message = `${t("error.message.insufficientFunds")} ${getDefaultErrorMessage()}`;
|
|
37
|
+
break;
|
|
38
|
+
case LiFiErrorCode.InsufficientGas:
|
|
39
|
+
title = t("error.title.insufficientGas");
|
|
40
|
+
message = `${t("error.message.insufficientFunds")} ${getDefaultErrorMessage()}`;
|
|
41
|
+
break;
|
|
42
|
+
case LiFiErrorCode.SlippageError:
|
|
43
|
+
title = t("error.title.slippageNotMet");
|
|
44
|
+
message = t("error.message.slippageThreshold");
|
|
45
|
+
break;
|
|
46
|
+
case LiFiErrorCode.TransactionFailed:
|
|
47
|
+
title = t("error.title.transactionFailed");
|
|
48
|
+
message = t("error.message.transactionFailed");
|
|
49
|
+
break;
|
|
50
|
+
case LiFiErrorCode.TransactionExpired:
|
|
51
|
+
title = t("error.title.transactionExpired");
|
|
52
|
+
message = t("error.message.transactionExpired");
|
|
53
|
+
break;
|
|
54
|
+
case LiFiErrorCode.TransactionSimulationFailed:
|
|
55
|
+
title = t("error.title.transactionSimulationFailed");
|
|
56
|
+
message = t("error.message.transactionSimulationFailed");
|
|
57
|
+
break;
|
|
58
|
+
case LiFiErrorCode.WalletChangedDuringExecution:
|
|
59
|
+
title = t("error.title.walletMismatch");
|
|
60
|
+
message = t("error.message.walletChangedDuringExecution");
|
|
61
|
+
break;
|
|
62
|
+
case LiFiErrorCode.RateLimitExceeded:
|
|
63
|
+
title = t("error.title.rateLimitExceeded");
|
|
64
|
+
message = t("error.message.rateLimitExceeded");
|
|
65
|
+
break;
|
|
66
|
+
case LiFiErrorCode.ThirdPartyError:
|
|
67
|
+
title = t("error.title.thirdPartyError");
|
|
68
|
+
message = t("error.message.thirdPartyError");
|
|
69
|
+
break;
|
|
70
|
+
case LiFiErrorCode.TransactionUnderpriced:
|
|
71
|
+
title = t("error.title.transactionUnderpriced");
|
|
72
|
+
message = getDefaultErrorMessage();
|
|
73
|
+
break;
|
|
74
|
+
case LiFiErrorCode.TransactionUnprepared:
|
|
75
|
+
title = t("error.title.transactionUnprepared");
|
|
76
|
+
message = getDefaultErrorMessage();
|
|
77
|
+
break;
|
|
78
|
+
case LiFiErrorCode.TransactionCanceled:
|
|
79
|
+
title = t("error.title.transactionCanceled");
|
|
80
|
+
message = getDefaultErrorMessage("error.message.transactionCanceled");
|
|
81
|
+
break;
|
|
82
|
+
case LiFiErrorCode.TransactionRejected:
|
|
83
|
+
title = t("error.title.transactionRejected");
|
|
84
|
+
message = getDefaultErrorMessage("error.message.transactionRejected");
|
|
85
|
+
break;
|
|
86
|
+
case LiFiErrorCode.TransactionConflict:
|
|
87
|
+
title = t("error.title.transactionConflict");
|
|
88
|
+
message = getDefaultErrorMessage("error.message.transactionConflict");
|
|
89
|
+
break;
|
|
90
|
+
case LiFiErrorCode.ExchangeRateUpdateCanceled:
|
|
91
|
+
title = t("error.title.exchangeRateUpdateCanceled");
|
|
92
|
+
message = getDefaultErrorMessage();
|
|
93
|
+
break;
|
|
94
|
+
case LiFiErrorCode.SignatureRejected:
|
|
95
|
+
title = t("error.title.signatureRejected");
|
|
96
|
+
message = t("error.message.signatureRejected", {
|
|
97
|
+
amount: formatTokenAmount(BigInt(step.action.fromAmount), step.action.fromToken.decimals),
|
|
98
|
+
tokenSymbol: step.action.fromToken.symbol,
|
|
99
|
+
chainName: getChainById(step.action.fromChainId)?.name ?? ""
|
|
100
|
+
});
|
|
101
|
+
break;
|
|
102
|
+
default:
|
|
103
|
+
title = t("error.title.unknown");
|
|
104
|
+
if (failedAction?.txHash) message = t("error.message.transactionFailed");
|
|
105
|
+
else message = error.message || t("error.message.unknown");
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
message = wrapLongWords(message);
|
|
109
|
+
return {
|
|
110
|
+
title,
|
|
111
|
+
message
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
//#endregion
|
|
115
|
+
export { getErrorMessage };
|
|
116
|
+
|
|
117
|
+
//# sourceMappingURL=getErrorMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getErrorMessage.js","names":[],"sources":["../../../src/utils/getErrorMessage.ts"],"sourcesContent":["import {\n type EVMChain,\n type ExecutionAction,\n LiFiErrorCode,\n type LiFiStepExtended,\n} from '@lifi/sdk'\nimport type { TFunction } from 'i18next'\nimport { formatTokenAmount, wrapLongWords } from '../utils/format.js'\n\nexport function getErrorMessage(\n t: TFunction,\n getChainById: (chainId: number) => EVMChain | undefined,\n step: LiFiStepExtended,\n failedAction?: ExecutionAction\n): { title: string; message: string } {\n const error = failedAction?.error\n if (!error) {\n return {\n title: t('error.title.unknown'),\n message: t('error.message.unknown'),\n }\n }\n\n const getDefaultErrorMessage = (key?: string) =>\n `${t((key as any) ?? 'error.message.transactionNotSent')} ${t(\n 'error.message.remainInYourWallet',\n {\n amount: formatTokenAmount(\n BigInt(step.action.fromAmount),\n step.action.fromToken.decimals\n ),\n tokenSymbol: step.action.fromToken.symbol,\n chainName: getChainById(step.action.fromChainId)?.name ?? '',\n }\n )}`\n\n let title = ''\n let message = ''\n switch (error.code) {\n case LiFiErrorCode.AllowanceRequired:\n title = t('error.title.allowanceRequired')\n message = t('error.message.allowanceRequired', {\n tokenSymbol: step.action.fromToken.symbol,\n })\n break\n case LiFiErrorCode.BalanceError:\n title = t('error.title.balanceIsTooLow')\n message = getDefaultErrorMessage()\n break\n case LiFiErrorCode.ChainSwitchError:\n title = t('error.title.chainSwitch')\n message = getDefaultErrorMessage()\n break\n case LiFiErrorCode.GasLimitError:\n title = t('error.title.gasLimitIsTooLow')\n message = getDefaultErrorMessage()\n break\n case LiFiErrorCode.InsufficientFunds:\n title = t('error.title.insufficientFunds')\n message = `${t(\n 'error.message.insufficientFunds'\n )} ${getDefaultErrorMessage()}`\n break\n case LiFiErrorCode.InsufficientGas:\n title = t('error.title.insufficientGas')\n message = `${t(\n 'error.message.insufficientFunds'\n )} ${getDefaultErrorMessage()}`\n break\n case LiFiErrorCode.SlippageError:\n title = t('error.title.slippageNotMet')\n message = t('error.message.slippageThreshold')\n break\n case LiFiErrorCode.TransactionFailed:\n title = t('error.title.transactionFailed')\n message = t('error.message.transactionFailed')\n break\n case LiFiErrorCode.TransactionExpired:\n title = t('error.title.transactionExpired')\n message = t('error.message.transactionExpired')\n break\n case LiFiErrorCode.TransactionSimulationFailed:\n title = t('error.title.transactionSimulationFailed')\n message = t('error.message.transactionSimulationFailed')\n break\n case LiFiErrorCode.WalletChangedDuringExecution:\n title = t('error.title.walletMismatch')\n message = t('error.message.walletChangedDuringExecution')\n break\n case LiFiErrorCode.RateLimitExceeded:\n title = t('error.title.rateLimitExceeded')\n message = t('error.message.rateLimitExceeded')\n break\n case LiFiErrorCode.ThirdPartyError:\n title = t('error.title.thirdPartyError')\n message = t('error.message.thirdPartyError')\n break\n case LiFiErrorCode.TransactionUnderpriced:\n title = t('error.title.transactionUnderpriced')\n message = getDefaultErrorMessage()\n break\n case LiFiErrorCode.TransactionUnprepared:\n title = t('error.title.transactionUnprepared')\n message = getDefaultErrorMessage()\n break\n case LiFiErrorCode.TransactionCanceled:\n title = t('error.title.transactionCanceled')\n message = getDefaultErrorMessage('error.message.transactionCanceled')\n break\n case LiFiErrorCode.TransactionRejected:\n title = t('error.title.transactionRejected')\n message = getDefaultErrorMessage('error.message.transactionRejected')\n break\n case LiFiErrorCode.TransactionConflict:\n title = t('error.title.transactionConflict')\n message = getDefaultErrorMessage('error.message.transactionConflict')\n break\n case LiFiErrorCode.ExchangeRateUpdateCanceled:\n title = t('error.title.exchangeRateUpdateCanceled')\n message = getDefaultErrorMessage()\n break\n case LiFiErrorCode.SignatureRejected:\n title = t('error.title.signatureRejected')\n message = t('error.message.signatureRejected', {\n amount: formatTokenAmount(\n BigInt(step.action.fromAmount),\n step.action.fromToken.decimals\n ),\n tokenSymbol: step.action.fromToken.symbol,\n chainName: getChainById(step.action.fromChainId)?.name ?? '',\n })\n break\n default:\n title = t('error.title.unknown')\n if (failedAction?.txHash) {\n message = t('error.message.transactionFailed')\n } else {\n message = error.message || t('error.message.unknown')\n }\n break\n }\n message = wrapLongWords(message)\n return { title, message }\n}\n"],"mappings":";;;AASA,SAAgB,gBACd,GACA,cACA,MACA,cACoC;CACpC,MAAM,QAAQ,cAAc;CAC5B,IAAI,CAAC,OACH,OAAO;EACL,OAAO,EAAE,qBAAqB;EAC9B,SAAS,EAAE,uBAAuB;CACpC;CAGF,MAAM,0BAA0B,QAC9B,GAAG,EAAG,OAAe,kCAAkC,EAAE,GAAG,EAC1D,oCACA;EACE,QAAQ,kBACN,OAAO,KAAK,OAAO,UAAU,GAC7B,KAAK,OAAO,UAAU,QACxB;EACA,aAAa,KAAK,OAAO,UAAU;EACnC,WAAW,aAAa,KAAK,OAAO,WAAW,GAAG,QAAQ;CAC5D,CACF;CAEF,IAAI,QAAQ;CACZ,IAAI,UAAU;CACd,QAAQ,MAAM,MAAd;EACE,KAAK,cAAc;GACjB,QAAQ,EAAE,+BAA+B;GACzC,UAAU,EAAE,mCAAmC,EAC7C,aAAa,KAAK,OAAO,UAAU,OACrC,CAAC;GACD;EACF,KAAK,cAAc;GACjB,QAAQ,EAAE,6BAA6B;GACvC,UAAU,uBAAuB;GACjC;EACF,KAAK,cAAc;GACjB,QAAQ,EAAE,yBAAyB;GACnC,UAAU,uBAAuB;GACjC;EACF,KAAK,cAAc;GACjB,QAAQ,EAAE,8BAA8B;GACxC,UAAU,uBAAuB;GACjC;EACF,KAAK,cAAc;GACjB,QAAQ,EAAE,+BAA+B;GACzC,UAAU,GAAG,EACX,iCACF,EAAE,GAAG,uBAAuB;GAC5B;EACF,KAAK,cAAc;GACjB,QAAQ,EAAE,6BAA6B;GACvC,UAAU,GAAG,EACX,iCACF,EAAE,GAAG,uBAAuB;GAC5B;EACF,KAAK,cAAc;GACjB,QAAQ,EAAE,4BAA4B;GACtC,UAAU,EAAE,iCAAiC;GAC7C;EACF,KAAK,cAAc;GACjB,QAAQ,EAAE,+BAA+B;GACzC,UAAU,EAAE,iCAAiC;GAC7C;EACF,KAAK,cAAc;GACjB,QAAQ,EAAE,gCAAgC;GAC1C,UAAU,EAAE,kCAAkC;GAC9C;EACF,KAAK,cAAc;GACjB,QAAQ,EAAE,yCAAyC;GACnD,UAAU,EAAE,2CAA2C;GACvD;EACF,KAAK,cAAc;GACjB,QAAQ,EAAE,4BAA4B;GACtC,UAAU,EAAE,4CAA4C;GACxD;EACF,KAAK,cAAc;GACjB,QAAQ,EAAE,+BAA+B;GACzC,UAAU,EAAE,iCAAiC;GAC7C;EACF,KAAK,cAAc;GACjB,QAAQ,EAAE,6BAA6B;GACvC,UAAU,EAAE,+BAA+B;GAC3C;EACF,KAAK,cAAc;GACjB,QAAQ,EAAE,oCAAoC;GAC9C,UAAU,uBAAuB;GACjC;EACF,KAAK,cAAc;GACjB,QAAQ,EAAE,mCAAmC;GAC7C,UAAU,uBAAuB;GACjC;EACF,KAAK,cAAc;GACjB,QAAQ,EAAE,iCAAiC;GAC3C,UAAU,uBAAuB,mCAAmC;GACpE;EACF,KAAK,cAAc;GACjB,QAAQ,EAAE,iCAAiC;GAC3C,UAAU,uBAAuB,mCAAmC;GACpE;EACF,KAAK,cAAc;GACjB,QAAQ,EAAE,iCAAiC;GAC3C,UAAU,uBAAuB,mCAAmC;GACpE;EACF,KAAK,cAAc;GACjB,QAAQ,EAAE,wCAAwC;GAClD,UAAU,uBAAuB;GACjC;EACF,KAAK,cAAc;GACjB,QAAQ,EAAE,+BAA+B;GACzC,UAAU,EAAE,mCAAmC;IAC7C,QAAQ,kBACN,OAAO,KAAK,OAAO,UAAU,GAC7B,KAAK,OAAO,UAAU,QACxB;IACA,aAAa,KAAK,OAAO,UAAU;IACnC,WAAW,aAAa,KAAK,OAAO,WAAW,GAAG,QAAQ;GAC5D,CAAC;GACD;EACF;GACE,QAAQ,EAAE,qBAAqB;GAC/B,IAAI,cAAc,QAChB,UAAU,EAAE,iCAAiC;QAE7C,UAAU,MAAM,WAAW,EAAE,uBAAuB;GAEtD;CACJ;CACA,UAAU,cAAc,OAAO;CAC/B,OAAO;EAAE;EAAO;CAAQ;AAC1B"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Token } from "@lifi/sdk";
|
|
2
|
+
|
|
3
|
+
//#region src/utils/getPriceImpact.d.ts
|
|
4
|
+
interface GetPriceImpactProps {
|
|
5
|
+
fromToken: Token;
|
|
6
|
+
toToken: Token;
|
|
7
|
+
fromAmount?: bigint;
|
|
8
|
+
toAmount?: bigint;
|
|
9
|
+
}
|
|
10
|
+
declare const getPriceImpact: ({
|
|
11
|
+
fromToken,
|
|
12
|
+
toToken,
|
|
13
|
+
fromAmount,
|
|
14
|
+
toAmount
|
|
15
|
+
}: GetPriceImpactProps) => number;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { getPriceImpact };
|
|
18
|
+
//# sourceMappingURL=getPriceImpact.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPriceImpact.d.ts","names":[],"sources":["../../../src/utils/getPriceImpact.ts"],"mappings":";;;UAGU,mBAAA;EACR,SAAA,EAAW,KAAA;EACX,OAAA,EAAS,KAAA;EACT,UAAA;EACA,QAAA;AAAA;AAAA,cAGW,cAAA;EACX,SAAA;EACA,OAAA;EACA,UAAA;EACA;AAAA,GACC,mBAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { formatTokenPrice } from "./format.js";
|
|
2
|
+
//#region src/utils/getPriceImpact.ts
|
|
3
|
+
const getPriceImpact = ({ fromToken, toToken, fromAmount, toAmount }) => {
|
|
4
|
+
const fromTokenPrice = formatTokenPrice(fromAmount, fromToken.priceUSD, fromToken.decimals);
|
|
5
|
+
const toTokenPrice = formatTokenPrice(toAmount, toToken.priceUSD, toToken.decimals);
|
|
6
|
+
if (!fromTokenPrice) return 0;
|
|
7
|
+
return toTokenPrice / fromTokenPrice - 1;
|
|
8
|
+
};
|
|
9
|
+
//#endregion
|
|
10
|
+
export { getPriceImpact };
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=getPriceImpact.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPriceImpact.js","names":[],"sources":["../../../src/utils/getPriceImpact.ts"],"sourcesContent":["import type { Token } from '@lifi/sdk'\nimport { formatTokenPrice } from './format.js'\n\ninterface GetPriceImpactProps {\n fromToken: Token\n toToken: Token\n fromAmount?: bigint\n toAmount?: bigint\n}\n\nexport const getPriceImpact = ({\n fromToken,\n toToken,\n fromAmount,\n toAmount,\n}: GetPriceImpactProps): number => {\n const fromTokenPrice = formatTokenPrice(\n fromAmount,\n fromToken.priceUSD,\n fromToken.decimals\n )\n const toTokenPrice = formatTokenPrice(\n toAmount,\n toToken.priceUSD,\n toToken.decimals\n )\n\n if (!fromTokenPrice) {\n return 0\n }\n\n const priceImpact = toTokenPrice / fromTokenPrice - 1\n\n return priceImpact\n}\n"],"mappings":";;AAUA,MAAa,kBAAkB,EAC7B,WACA,SACA,YACA,eACiC;CACjC,MAAM,iBAAiB,iBACrB,YACA,UAAU,UACV,UAAU,QACZ;CACA,MAAM,eAAe,iBACnB,UACA,QAAQ,UACR,QAAQ,QACV;CAEA,IAAI,CAAC,gBACH,OAAO;CAKT,OAFoB,eAAe,iBAAiB;AAGtD"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
//#region src/utils/input.ts
|
|
2
|
+
const fitInputText = (maxFontSize, minFontSize, element) => {
|
|
3
|
+
if (!element) return;
|
|
4
|
+
let high = maxFontSize;
|
|
5
|
+
let low = minFontSize;
|
|
6
|
+
let size = minFontSize;
|
|
7
|
+
let mid = 0;
|
|
8
|
+
while (low <= high) {
|
|
9
|
+
mid = high + low >> 1;
|
|
10
|
+
const fontSize = `${mid + 1}px`;
|
|
11
|
+
element.style.fontSize = fontSize;
|
|
12
|
+
if (element.scrollWidth - 1 <= element.clientWidth) {
|
|
13
|
+
size = mid;
|
|
14
|
+
low = mid + 1;
|
|
15
|
+
} else high = mid - 1;
|
|
16
|
+
}
|
|
17
|
+
const fontSize = `${size}px`;
|
|
18
|
+
element.style.fontSize = fontSize;
|
|
19
|
+
};
|
|
20
|
+
//#endregion
|
|
21
|
+
export { fitInputText };
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input.js","names":[],"sources":["../../../src/utils/input.ts"],"sourcesContent":["export const fitInputText = (\n maxFontSize: number,\n minFontSize: number,\n element: HTMLElement\n): void => {\n if (!element) {\n return\n }\n let high = maxFontSize\n let low = minFontSize\n let size = minFontSize\n let mid = 0\n // Binary search for highest font size best fit\n while (low <= high) {\n mid = (high + low) >> 1\n const fontSize = `${mid + 1}px`\n element.style.fontSize = fontSize\n // scrollWidth has different rounding than clientWidth, remove 1px for consistency\n const scrollWidth = element.scrollWidth - 1\n if (scrollWidth <= element.clientWidth) {\n size = mid\n low = mid + 1\n } else {\n high = mid - 1\n }\n }\n const fontSize = `${size}px`\n element.style.fontSize = fontSize\n}\n"],"mappings":";AAAA,MAAa,gBACX,aACA,aACA,YACS;CACT,IAAI,CAAC,SACH;CAEF,IAAI,OAAO;CACX,IAAI,MAAM;CACV,IAAI,OAAO;CACX,IAAI,MAAM;CAEV,OAAO,OAAO,MAAM;EAClB,MAAO,OAAO,OAAQ;EACtB,MAAM,WAAW,GAAG,MAAM,EAAE;EAC5B,QAAQ,MAAM,WAAW;EAGzB,IADoB,QAAQ,cAAc,KACvB,QAAQ,aAAa;GACtC,OAAO;GACP,MAAM,MAAM;EACd,OACE,OAAO,MAAM;CAEjB;CACA,MAAM,WAAW,GAAG,KAAK;CACzB,QAAQ,MAAM,WAAW;AAC3B"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//#region src/utils/item.ts
|
|
2
|
+
const isItemAllowed = (item, items) => {
|
|
3
|
+
if (items?.allow?.length) return items.allow.includes(item);
|
|
4
|
+
return !items?.deny?.includes(item);
|
|
5
|
+
};
|
|
6
|
+
const isItemAllowedForSets = (item, items, getKey) => {
|
|
7
|
+
if (items?.allow?.size) return items.allow.has(getKey?.(item) ?? item);
|
|
8
|
+
return !items?.deny?.has(getKey?.(item) ?? item);
|
|
9
|
+
};
|
|
10
|
+
const getConfigItemSets = (items, getSet, formType) => {
|
|
11
|
+
if (!items) return;
|
|
12
|
+
return {
|
|
13
|
+
allow: getSet(items.allow ?? []),
|
|
14
|
+
deny: getSet(items.deny ?? []),
|
|
15
|
+
...formType && { [formType]: {
|
|
16
|
+
allow: getSet(items[formType]?.allow ?? []),
|
|
17
|
+
deny: getSet(items[formType]?.deny ?? [])
|
|
18
|
+
} }
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
const isFormItemAllowed = (item, configTokens, formType, getKey) => {
|
|
22
|
+
return isItemAllowedForSets(item, configTokens, getKey) && (formType ? isItemAllowedForSets(item, configTokens?.[formType], getKey) : true);
|
|
23
|
+
};
|
|
24
|
+
//#endregion
|
|
25
|
+
export { getConfigItemSets, isFormItemAllowed, isItemAllowed, isItemAllowedForSets };
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"item.js","names":[],"sources":["../../../src/utils/item.ts"],"sourcesContent":["import type { FormType } from '../stores/form/types.js'\nimport type {\n AllowDeny,\n AllowDenyItems,\n AllowDenySet,\n AllowDenySetItem,\n AllowDenySets,\n} from '../types/widget.js'\n\n// Use for a single item check\nexport const isItemAllowed = <T>(\n item: T,\n items: AllowDeny<T> | undefined\n): boolean => {\n if (items?.allow?.length) {\n return items.allow.includes(item)\n }\n return !items?.deny?.includes(item)\n}\n\n// Use for a O(1) set lookup of multiple items check\nexport const isItemAllowedForSets = <T>(\n item: T,\n items: AllowDenySet | undefined,\n getKey?: (item: T) => AllowDenySetItem\n): boolean => {\n if (items?.allow?.size) {\n return items.allow.has(getKey?.(item) ?? (item as AllowDenySetItem))\n }\n return !items?.deny?.has(getKey?.(item) ?? (item as AllowDenySetItem))\n}\n\nexport const getConfigItemSets = <T>(\n items: AllowDenyItems<T> | undefined,\n getSet: (items: T[]) => Set<AllowDenySetItem>,\n formType?: FormType\n): AllowDenySets | undefined => {\n if (!items) {\n return undefined\n }\n return {\n allow: getSet(items.allow ?? []),\n deny: getSet(items.deny ?? []),\n ...(formType && {\n [formType]: {\n allow: getSet(items[formType]?.allow ?? []),\n deny: getSet(items[formType]?.deny ?? []),\n },\n }),\n }\n}\n\nexport const isFormItemAllowed = <T>(\n item: T,\n configTokens: AllowDenySets | undefined,\n formType?: FormType,\n getKey?: (item: T) => AllowDenySetItem\n): boolean => {\n return (\n isItemAllowedForSets(item, configTokens, getKey) &&\n (formType\n ? isItemAllowedForSets(item, configTokens?.[formType], getKey)\n : true)\n )\n}\n"],"mappings":";AAUA,MAAa,iBACX,MACA,UACY;CACZ,IAAI,OAAO,OAAO,QAChB,OAAO,MAAM,MAAM,SAAS,IAAI;CAElC,OAAO,CAAC,OAAO,MAAM,SAAS,IAAI;AACpC;AAGA,MAAa,wBACX,MACA,OACA,WACY;CACZ,IAAI,OAAO,OAAO,MAChB,OAAO,MAAM,MAAM,IAAI,SAAS,IAAI,KAAM,IAAyB;CAErE,OAAO,CAAC,OAAO,MAAM,IAAI,SAAS,IAAI,KAAM,IAAyB;AACvE;AAEA,MAAa,qBACX,OACA,QACA,aAC8B;CAC9B,IAAI,CAAC,OACH;CAEF,OAAO;EACL,OAAO,OAAO,MAAM,SAAS,CAAC,CAAC;EAC/B,MAAM,OAAO,MAAM,QAAQ,CAAC,CAAC;EAC7B,GAAI,YAAY,GACb,WAAW;GACV,OAAO,OAAO,MAAM,WAAW,SAAS,CAAC,CAAC;GAC1C,MAAM,OAAO,MAAM,WAAW,QAAQ,CAAC,CAAC;EAC1C,EACF;CACF;AACF;AAEA,MAAa,qBACX,MACA,cACA,UACA,WACY;CACZ,OACE,qBAAqB,MAAM,cAAc,MAAM,MAC9C,WACG,qBAAqB,MAAM,eAAe,WAAW,MAAM,IAC3D;AAER"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//#region src/utils/navigationRoutes.d.ts
|
|
2
|
+
declare const navigationRoutes: {
|
|
3
|
+
home: string;
|
|
4
|
+
activities: string;
|
|
5
|
+
bridges: string;
|
|
6
|
+
exchanges: string;
|
|
7
|
+
fromChain: string;
|
|
8
|
+
fromToken: string;
|
|
9
|
+
languages: string;
|
|
10
|
+
routes: string;
|
|
11
|
+
settings: string;
|
|
12
|
+
toChain: string;
|
|
13
|
+
toToken: string;
|
|
14
|
+
toTokenNative: string;
|
|
15
|
+
transactionDetails: string;
|
|
16
|
+
transactionExecution: string;
|
|
17
|
+
sendToWallet: string;
|
|
18
|
+
bookmarks: string;
|
|
19
|
+
recentWallets: string;
|
|
20
|
+
connectedWallets: string;
|
|
21
|
+
configuredWallets: string;
|
|
22
|
+
};
|
|
23
|
+
type NavigationRouteTypeKeys = keyof typeof navigationRoutes;
|
|
24
|
+
type NavigationRouteType = (typeof navigationRoutes)[NavigationRouteTypeKeys];
|
|
25
|
+
//#endregion
|
|
26
|
+
export { NavigationRouteType, navigationRoutes };
|
|
27
|
+
//# sourceMappingURL=navigationRoutes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigationRoutes.d.ts","names":[],"sources":["../../../src/utils/navigationRoutes.ts"],"mappings":";cAAa,gBAAA;EACX,IAAA;EACA,UAAA;EACA,OAAA;EACA,SAAA;EACA,SAAA;EACA,SAAA;EACA,SAAA;EACA,MAAA;EACA,QAAA;EACA,OAAA;EACA,OAAA;EACA,aAAA;EACA,kBAAA;EACA,oBAAA;EACA,YAAA;EACA,SAAA;EACA,aAAA;EACA,gBAAA;EACA,iBAAA;AAAA;AAAA,KA6CG,uBAAA,gBAAuC,gBAAA;AAAA,KAEhC,mBAAA,WACF,gBAAA,EAAkB,uBAAA"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
//#region src/utils/navigationRoutes.ts
|
|
2
|
+
const navigationRoutes = {
|
|
3
|
+
home: "/",
|
|
4
|
+
activities: "activities",
|
|
5
|
+
bridges: "bridges",
|
|
6
|
+
exchanges: "exchanges",
|
|
7
|
+
fromChain: "from-chain",
|
|
8
|
+
fromToken: "from-token",
|
|
9
|
+
languages: "languages",
|
|
10
|
+
routes: "routes",
|
|
11
|
+
settings: "settings",
|
|
12
|
+
toChain: "to-chain",
|
|
13
|
+
toToken: "to-token",
|
|
14
|
+
toTokenNative: "to-token-native",
|
|
15
|
+
transactionDetails: "transaction-details",
|
|
16
|
+
transactionExecution: "transaction-execution",
|
|
17
|
+
sendToWallet: "send-to-wallet",
|
|
18
|
+
bookmarks: "bookmarks",
|
|
19
|
+
recentWallets: "recent-wallets",
|
|
20
|
+
connectedWallets: "connected-wallets",
|
|
21
|
+
configuredWallets: "configured-wallets"
|
|
22
|
+
};
|
|
23
|
+
const navigationRoutesValues = Object.values(navigationRoutes);
|
|
24
|
+
const stickyHeaderRoutes = [
|
|
25
|
+
navigationRoutes.activities,
|
|
26
|
+
navigationRoutes.bridges,
|
|
27
|
+
navigationRoutes.exchanges,
|
|
28
|
+
navigationRoutes.fromChain,
|
|
29
|
+
navigationRoutes.home,
|
|
30
|
+
navigationRoutes.routes,
|
|
31
|
+
navigationRoutes.settings,
|
|
32
|
+
navigationRoutes.toChain,
|
|
33
|
+
navigationRoutes.toTokenNative,
|
|
34
|
+
navigationRoutes.transactionDetails,
|
|
35
|
+
navigationRoutes.transactionExecution,
|
|
36
|
+
navigationRoutes.sendToWallet,
|
|
37
|
+
navigationRoutes.bookmarks,
|
|
38
|
+
navigationRoutes.recentWallets,
|
|
39
|
+
navigationRoutes.connectedWallets,
|
|
40
|
+
navigationRoutes.configuredWallets
|
|
41
|
+
];
|
|
42
|
+
const backButtonRoutes = [
|
|
43
|
+
navigationRoutes.activities,
|
|
44
|
+
navigationRoutes.bridges,
|
|
45
|
+
navigationRoutes.exchanges,
|
|
46
|
+
navigationRoutes.languages,
|
|
47
|
+
navigationRoutes.fromChain,
|
|
48
|
+
navigationRoutes.fromToken,
|
|
49
|
+
navigationRoutes.routes,
|
|
50
|
+
navigationRoutes.settings,
|
|
51
|
+
navigationRoutes.toChain,
|
|
52
|
+
navigationRoutes.toToken,
|
|
53
|
+
navigationRoutes.toTokenNative,
|
|
54
|
+
navigationRoutes.transactionDetails,
|
|
55
|
+
navigationRoutes.transactionExecution,
|
|
56
|
+
navigationRoutes.sendToWallet,
|
|
57
|
+
navigationRoutes.bookmarks,
|
|
58
|
+
navigationRoutes.recentWallets,
|
|
59
|
+
navigationRoutes.connectedWallets,
|
|
60
|
+
navigationRoutes.configuredWallets
|
|
61
|
+
];
|
|
62
|
+
//#endregion
|
|
63
|
+
export { backButtonRoutes, navigationRoutes, navigationRoutesValues, stickyHeaderRoutes };
|
|
64
|
+
|
|
65
|
+
//# sourceMappingURL=navigationRoutes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigationRoutes.js","names":[],"sources":["../../../src/utils/navigationRoutes.ts"],"sourcesContent":["export const navigationRoutes = {\n home: '/',\n activities: 'activities',\n bridges: 'bridges',\n exchanges: 'exchanges',\n fromChain: 'from-chain',\n fromToken: 'from-token',\n languages: 'languages',\n routes: 'routes',\n settings: 'settings',\n toChain: 'to-chain',\n toToken: 'to-token',\n toTokenNative: 'to-token-native',\n transactionDetails: 'transaction-details',\n transactionExecution: 'transaction-execution',\n sendToWallet: 'send-to-wallet',\n bookmarks: 'bookmarks',\n recentWallets: 'recent-wallets',\n connectedWallets: 'connected-wallets',\n configuredWallets: 'configured-wallets',\n}\n\nexport const navigationRoutesValues: string[] = Object.values(navigationRoutes)\n\nexport const stickyHeaderRoutes: string[] = [\n navigationRoutes.activities,\n navigationRoutes.bridges,\n navigationRoutes.exchanges,\n navigationRoutes.fromChain,\n navigationRoutes.home,\n navigationRoutes.routes,\n navigationRoutes.settings,\n navigationRoutes.toChain,\n navigationRoutes.toTokenNative,\n navigationRoutes.transactionDetails,\n navigationRoutes.transactionExecution,\n navigationRoutes.sendToWallet,\n navigationRoutes.bookmarks,\n navigationRoutes.recentWallets,\n navigationRoutes.connectedWallets,\n navigationRoutes.configuredWallets,\n]\n\nexport const backButtonRoutes: string[] = [\n navigationRoutes.activities,\n navigationRoutes.bridges,\n navigationRoutes.exchanges,\n navigationRoutes.languages,\n navigationRoutes.fromChain,\n navigationRoutes.fromToken,\n navigationRoutes.routes,\n navigationRoutes.settings,\n navigationRoutes.toChain,\n navigationRoutes.toToken,\n navigationRoutes.toTokenNative,\n navigationRoutes.transactionDetails,\n navigationRoutes.transactionExecution,\n navigationRoutes.sendToWallet,\n navigationRoutes.bookmarks,\n navigationRoutes.recentWallets,\n navigationRoutes.connectedWallets,\n navigationRoutes.configuredWallets,\n]\n\ntype NavigationRouteTypeKeys = keyof typeof navigationRoutes\n\nexport type NavigationRouteType =\n (typeof navigationRoutes)[NavigationRouteTypeKeys]\n"],"mappings":";AAAA,MAAa,mBAAmB;CAC9B,MAAM;CACN,YAAY;CACZ,SAAS;CACT,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,QAAQ;CACR,UAAU;CACV,SAAS;CACT,SAAS;CACT,eAAe;CACf,oBAAoB;CACpB,sBAAsB;CACtB,cAAc;CACd,WAAW;CACX,eAAe;CACf,kBAAkB;CAClB,mBAAmB;AACrB;AAEA,MAAa,yBAAmC,OAAO,OAAO,gBAAgB;AAE9E,MAAa,qBAA+B;CAC1C,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;AACnB;AAEA,MAAa,mBAA6B;CACxC,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;AACnB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
//#region src/utils/percentFormatter.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* We use <0.01% for both small positive and negative changes to keep it simple and clear, focusing on minimal impact rather than direction.
|
|
4
|
+
* Examples:
|
|
5
|
+
* +0.007% -> <0.01%
|
|
6
|
+
* -0.003% -> <0.01%
|
|
7
|
+
*/
|
|
8
|
+
declare const percentFormatter: (lng: string | undefined, options: any) => ((value: any) => string);
|
|
9
|
+
//#endregion
|
|
10
|
+
export { percentFormatter };
|
|
11
|
+
//# sourceMappingURL=percentFormatter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"percentFormatter.d.ts","names":[],"sources":["../../../src/utils/percentFormatter.ts"],"mappings":";;AAMA;;;;;cAAa,gBAAA,GACX,GAAA,sBACA,OAAA,YACG,KAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
//#region src/utils/percentFormatter.ts
|
|
2
|
+
/**
|
|
3
|
+
* We use <0.01% for both small positive and negative changes to keep it simple and clear, focusing on minimal impact rather than direction.
|
|
4
|
+
* Examples:
|
|
5
|
+
* +0.007% -> <0.01%
|
|
6
|
+
* -0.003% -> <0.01%
|
|
7
|
+
*/
|
|
8
|
+
const percentFormatter = (lng, options) => {
|
|
9
|
+
const formatter = new Intl.NumberFormat(lng, {
|
|
10
|
+
...options,
|
|
11
|
+
style: "percent"
|
|
12
|
+
});
|
|
13
|
+
return (value) => {
|
|
14
|
+
if (value > 0 && value < 1e-4 || value < 0 && value > -1e-4) return `<${formatter.format(1e-4)}`;
|
|
15
|
+
const formattedValue = formatter.format(value);
|
|
16
|
+
if (options?.usePlusSign && value > 0) return `+${formattedValue}`;
|
|
17
|
+
return formattedValue;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
//#endregion
|
|
21
|
+
export { percentFormatter };
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=percentFormatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"percentFormatter.js","names":[],"sources":["../../../src/utils/percentFormatter.ts"],"sourcesContent":["/**\n * We use <0.01% for both small positive and negative changes to keep it simple and clear, focusing on minimal impact rather than direction.\n * Examples:\n * +0.007% -> <0.01%\n * -0.003% -> <0.01%\n */\nexport const percentFormatter = (\n lng: string | undefined,\n options: any\n): ((value: any) => string) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...options,\n style: 'percent',\n })\n return (value: any) => {\n if ((value > 0 && value < 0.0001) || (value < 0 && value > -0.0001)) {\n return `<${formatter.format(0.0001)}`\n }\n\n const formattedValue = formatter.format(value)\n\n if (options?.usePlusSign && value > 0) {\n return `+${formattedValue}`\n }\n\n return formattedValue\n }\n}\n"],"mappings":";;;;;;;AAMA,MAAa,oBACX,KACA,YAC6B;CAC7B,MAAM,YAAY,IAAI,KAAK,aAAa,KAAK;EAC3C,GAAG;EACH,OAAO;CACT,CAAC;CACD,QAAQ,UAAe;EACrB,IAAK,QAAQ,KAAK,QAAQ,QAAY,QAAQ,KAAK,QAAQ,OACzD,OAAO,IAAI,UAAU,OAAO,IAAM;EAGpC,MAAM,iBAAiB,UAAU,OAAO,KAAK;EAE7C,IAAI,SAAS,eAAe,QAAQ,GAClC,OAAO,IAAI;EAGb,OAAO;CACT;AACF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
//#region src/utils/prepareActions.ts
|
|
2
|
+
const allowanceTypes = new Set([
|
|
3
|
+
"NATIVE_PERMIT",
|
|
4
|
+
"CHECK_ALLOWANCE",
|
|
5
|
+
"RESET_ALLOWANCE",
|
|
6
|
+
"SET_ALLOWANCE"
|
|
7
|
+
]);
|
|
8
|
+
function prepareActions(actions) {
|
|
9
|
+
const groups = /* @__PURE__ */ new Map();
|
|
10
|
+
for (const action of actions) {
|
|
11
|
+
const key = allowanceTypes.has(action.type) ? "TOKEN_ALLOWANCE" : action.type;
|
|
12
|
+
const group = groups.get(key);
|
|
13
|
+
if (group) group.push(action);
|
|
14
|
+
else groups.set(key, [action]);
|
|
15
|
+
}
|
|
16
|
+
return [...groups.values()];
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { prepareActions };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=prepareActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepareActions.js","names":[],"sources":["../../../src/utils/prepareActions.ts"],"sourcesContent":["import type { ExecutionAction } from '@lifi/sdk'\n\n// NB: New SDK adds new actions - merge them into old TOKEN_ALLOWANCE before UI changes\nconst allowanceTypes = new Set([\n 'NATIVE_PERMIT',\n 'CHECK_ALLOWANCE',\n 'RESET_ALLOWANCE',\n 'SET_ALLOWANCE',\n])\n\nexport function prepareActions(\n actions: ExecutionAction[]\n): ExecutionAction[][] {\n const groups = new Map<string | number, ExecutionAction[]>()\n for (const action of actions) {\n const key = allowanceTypes.has(action.type)\n ? 'TOKEN_ALLOWANCE'\n : action.type\n const group = groups.get(key)\n if (group) {\n group.push(action)\n } else {\n groups.set(key, [action])\n }\n }\n return [...groups.values()]\n}\n"],"mappings":";AAGA,MAAM,iBAAiB,IAAI,IAAI;CAC7B;CACA;CACA;CACA;AACF,CAAC;AAED,SAAgB,eACd,SACqB;CACrB,MAAM,yBAAS,IAAI,IAAwC;CAC3D,KAAK,MAAM,UAAU,SAAS;EAC5B,MAAM,MAAM,eAAe,IAAI,OAAO,IAAI,IACtC,oBACA,OAAO;EACX,MAAM,QAAQ,OAAO,IAAI,GAAG;EAC5B,IAAI,OACF,MAAM,KAAK,MAAM;OAEjB,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC;CAE5B;CACA,OAAO,CAAC,GAAG,OAAO,OAAO,CAAC;AAC5B"}
|