@0xsequence/wallet-widget 0.0.0-20250314205219
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 +219 -0
- package/README.md +53 -0
- package/dist/cjs/components/Alert.js +15 -0
- package/dist/cjs/components/Alert.js.map +1 -0
- package/dist/cjs/components/CoinRow.js +19 -0
- package/dist/cjs/components/CoinRow.js.map +1 -0
- package/dist/cjs/components/CollectibleTileImage.js +10 -0
- package/dist/cjs/components/CollectibleTileImage.js.map +1 -0
- package/dist/cjs/components/CopyButton.js +25 -0
- package/dist/cjs/components/CopyButton.js.map +1 -0
- package/dist/cjs/components/DefaultIcon.js +13 -0
- package/dist/cjs/components/DefaultIcon.js.map +1 -0
- package/dist/cjs/components/FeeOptionSelector.js +48 -0
- package/dist/cjs/components/FeeOptionSelector.js.map +1 -0
- package/dist/cjs/components/InfiniteScroll.js +42 -0
- package/dist/cjs/components/InfiniteScroll.js.map +1 -0
- package/dist/cjs/components/Loader.js +10 -0
- package/dist/cjs/components/Loader.js.map +1 -0
- package/dist/cjs/components/NavigationHeader/index.js +26 -0
- package/dist/cjs/components/NavigationHeader/index.js.map +1 -0
- package/dist/cjs/components/NetworkBadge.js +18 -0
- package/dist/cjs/components/NetworkBadge.js.map +1 -0
- package/dist/cjs/components/SelectButton/SelectButton.js +12 -0
- package/dist/cjs/components/SelectButton/SelectButton.js.map +1 -0
- package/dist/cjs/components/SelectButton/SelectedIndicator.js +12 -0
- package/dist/cjs/components/SelectButton/SelectedIndicator.js.map +1 -0
- package/dist/cjs/components/SelectButton/index.js +6 -0
- package/dist/cjs/components/SelectButton/index.js.map +1 -0
- package/dist/cjs/components/SendItemInfo.js +21 -0
- package/dist/cjs/components/SendItemInfo.js.map +1 -0
- package/dist/cjs/components/SequenceWalletProvider/SequenceWalletProvider.js +55 -0
- package/dist/cjs/components/SequenceWalletProvider/SequenceWalletProvider.js.map +1 -0
- package/dist/cjs/components/SequenceWalletProvider/index.js +18 -0
- package/dist/cjs/components/SequenceWalletProvider/index.js.map +1 -0
- package/dist/cjs/components/SequenceWalletProvider/utils/index.js +84 -0
- package/dist/cjs/components/SequenceWalletProvider/utils/index.js.map +1 -0
- package/dist/cjs/components/TransactionConfirmation.js +65 -0
- package/dist/cjs/components/TransactionConfirmation.js.map +1 -0
- package/dist/cjs/components/TransactionHistoryList/TransactionHistoryItem.js +117 -0
- package/dist/cjs/components/TransactionHistoryList/TransactionHistoryItem.js.map +1 -0
- package/dist/cjs/components/TransactionHistoryList/TransactionHistorySkeleton.js +17 -0
- package/dist/cjs/components/TransactionHistoryList/TransactionHistorySkeleton.js.map +1 -0
- package/dist/cjs/components/TransactionHistoryList/index.js +97 -0
- package/dist/cjs/components/TransactionHistoryList/index.js.map +1 -0
- package/dist/cjs/components/WalletHeader/components/AccountInformation.js +15 -0
- package/dist/cjs/components/WalletHeader/components/AccountInformation.js.map +1 -0
- package/dist/cjs/components/WalletHeader/components/WalletDropdownContent.js +57 -0
- package/dist/cjs/components/WalletHeader/components/WalletDropdownContent.js.map +1 -0
- package/dist/cjs/components/WalletHeader/index.js +87 -0
- package/dist/cjs/components/WalletHeader/index.js.map +1 -0
- package/dist/cjs/constants/abi.js +92 -0
- package/dist/cjs/constants/abi.js.map +1 -0
- package/dist/cjs/constants/currency.js +29 -0
- package/dist/cjs/constants/currency.js.map +1 -0
- package/dist/cjs/constants/index.js +20 -0
- package/dist/cjs/constants/index.js.map +1 -0
- package/dist/cjs/constants/sizing.js +5 -0
- package/dist/cjs/constants/sizing.js.map +1 -0
- package/dist/cjs/contexts/Navigation.js +8 -0
- package/dist/cjs/contexts/Navigation.js.map +1 -0
- package/dist/cjs/contexts/WalletModal.js +8 -0
- package/dist/cjs/contexts/WalletModal.js.map +1 -0
- package/dist/cjs/contexts/genericContext.js +20 -0
- package/dist/cjs/contexts/genericContext.js.map +1 -0
- package/dist/cjs/contexts/index.js +19 -0
- package/dist/cjs/contexts/index.js.map +1 -0
- package/dist/cjs/hooks/index.js +20 -0
- package/dist/cjs/hooks/index.js.map +1 -0
- package/dist/cjs/hooks/useNavigation.js +23 -0
- package/dist/cjs/hooks/useNavigation.js.map +1 -0
- package/dist/cjs/hooks/useOpenWalletModal.js +10 -0
- package/dist/cjs/hooks/useOpenWalletModal.js.map +1 -0
- package/dist/cjs/hooks/useScrollbarWidth.js +13 -0
- package/dist/cjs/hooks/useScrollbarWidth.js.map +1 -0
- package/dist/cjs/hooks/useSettings.js +100 -0
- package/dist/cjs/hooks/useSettings.js.map +1 -0
- package/dist/cjs/index.js +12 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/utils/helpers.js +49 -0
- package/dist/cjs/utils/helpers.js.map +1 -0
- package/dist/cjs/utils/index.js +19 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/cjs/utils/tokens.js +78 -0
- package/dist/cjs/utils/tokens.js.map +1 -0
- package/dist/cjs/views/CoinDetails/Skeleton.js +13 -0
- package/dist/cjs/views/CoinDetails/Skeleton.js.map +1 -0
- package/dist/cjs/views/CoinDetails/index.js +90 -0
- package/dist/cjs/views/CoinDetails/index.js.map +1 -0
- package/dist/cjs/views/CollectibleDetails/Skeleton.js +14 -0
- package/dist/cjs/views/CollectibleDetails/Skeleton.js.map +1 -0
- package/dist/cjs/views/CollectibleDetails/index.js +83 -0
- package/dist/cjs/views/CollectibleDetails/index.js.map +1 -0
- package/dist/cjs/views/CollectionDetails/Skeleton.js +15 -0
- package/dist/cjs/views/CollectionDetails/Skeleton.js.map +1 -0
- package/dist/cjs/views/CollectionDetails/index.js +50 -0
- package/dist/cjs/views/CollectionDetails/index.js.map +1 -0
- package/dist/cjs/views/History.js +19 -0
- package/dist/cjs/views/History.js.map +1 -0
- package/dist/cjs/views/Home/components/AssetSummary/CoinTile/CoinTileContent.js +14 -0
- package/dist/cjs/views/Home/components/AssetSummary/CoinTile/CoinTileContent.js.map +1 -0
- package/dist/cjs/views/Home/components/AssetSummary/CoinTile/index.js +60 -0
- package/dist/cjs/views/Home/components/AssetSummary/CoinTile/index.js.map +1 -0
- package/dist/cjs/views/Home/components/AssetSummary/CollectibleTile/index.js +17 -0
- package/dist/cjs/views/Home/components/AssetSummary/CollectibleTile/index.js.map +1 -0
- package/dist/cjs/views/Home/components/AssetSummary/SkeletonTiles.js +14 -0
- package/dist/cjs/views/Home/components/AssetSummary/SkeletonTiles.js.map +1 -0
- package/dist/cjs/views/Home/components/AssetSummary/index.js +98 -0
- package/dist/cjs/views/Home/components/AssetSummary/index.js.map +1 -0
- package/dist/cjs/views/Home/index.js +10 -0
- package/dist/cjs/views/Home/index.js.map +1 -0
- package/dist/cjs/views/Receive.js +42 -0
- package/dist/cjs/views/Receive.js.map +1 -0
- package/dist/cjs/views/Search/SearchWallet.js +112 -0
- package/dist/cjs/views/Search/SearchWallet.js.map +1 -0
- package/dist/cjs/views/Search/SearchWalletViewAll.js +169 -0
- package/dist/cjs/views/Search/SearchWalletViewAll.js.map +1 -0
- package/dist/cjs/views/Search/components/BalanceItem.js +52 -0
- package/dist/cjs/views/Search/components/BalanceItem.js.map +1 -0
- package/dist/cjs/views/Search/components/CoinsTab.js +49 -0
- package/dist/cjs/views/Search/components/CoinsTab.js.map +1 -0
- package/dist/cjs/views/Search/components/CollectionsTab.js +49 -0
- package/dist/cjs/views/Search/components/CollectionsTab.js.map +1 -0
- package/dist/cjs/views/Search/components/WalletLink.js +15 -0
- package/dist/cjs/views/Search/components/WalletLink.js.map +1 -0
- package/dist/cjs/views/Search/index.js +19 -0
- package/dist/cjs/views/Search/index.js.map +1 -0
- package/dist/cjs/views/SendCoin.js +198 -0
- package/dist/cjs/views/SendCoin.js.map +1 -0
- package/dist/cjs/views/SendCollectible.js +237 -0
- package/dist/cjs/views/SendCollectible.js.map +1 -0
- package/dist/cjs/views/Settings/Currency.js +16 -0
- package/dist/cjs/views/Settings/Currency.js.map +1 -0
- package/dist/cjs/views/Settings/General.js +23 -0
- package/dist/cjs/views/Settings/General.js.map +1 -0
- package/dist/cjs/views/Settings/Menu.js +28 -0
- package/dist/cjs/views/Settings/Menu.js.map +1 -0
- package/dist/cjs/views/Settings/Network.js +35 -0
- package/dist/cjs/views/Settings/Network.js.map +1 -0
- package/dist/cjs/views/Settings/index.js +21 -0
- package/dist/cjs/views/Settings/index.js.map +1 -0
- package/dist/cjs/views/SwapCoin/SwapList.js +190 -0
- package/dist/cjs/views/SwapCoin/SwapList.js.map +1 -0
- package/dist/cjs/views/SwapCoin/index.js +89 -0
- package/dist/cjs/views/SwapCoin/index.js.map +1 -0
- package/dist/cjs/views/TransactionDetails/index.js +88 -0
- package/dist/cjs/views/TransactionDetails/index.js.map +1 -0
- package/dist/cjs/views/index.js +30 -0
- package/dist/cjs/views/index.js.map +1 -0
- package/dist/esm/components/Alert.js +11 -0
- package/dist/esm/components/Alert.js.map +1 -0
- package/dist/esm/components/CoinRow.js +14 -0
- package/dist/esm/components/CoinRow.js.map +1 -0
- package/dist/esm/components/CollectibleTileImage.js +6 -0
- package/dist/esm/components/CollectibleTileImage.js.map +1 -0
- package/dist/esm/components/CopyButton.js +21 -0
- package/dist/esm/components/CopyButton.js.map +1 -0
- package/dist/esm/components/DefaultIcon.js +9 -0
- package/dist/esm/components/DefaultIcon.js.map +1 -0
- package/dist/esm/components/FeeOptionSelector.js +41 -0
- package/dist/esm/components/FeeOptionSelector.js.map +1 -0
- package/dist/esm/components/InfiniteScroll.js +37 -0
- package/dist/esm/components/InfiniteScroll.js.map +1 -0
- package/dist/esm/components/Loader.js +6 -0
- package/dist/esm/components/Loader.js.map +1 -0
- package/dist/esm/components/NavigationHeader/index.js +22 -0
- package/dist/esm/components/NavigationHeader/index.js.map +1 -0
- package/dist/esm/components/NetworkBadge.js +14 -0
- package/dist/esm/components/NetworkBadge.js.map +1 -0
- package/dist/esm/components/SelectButton/SelectButton.js +8 -0
- package/dist/esm/components/SelectButton/SelectButton.js.map +1 -0
- package/dist/esm/components/SelectButton/SelectedIndicator.js +8 -0
- package/dist/esm/components/SelectButton/SelectedIndicator.js.map +1 -0
- package/dist/esm/components/SelectButton/index.js +2 -0
- package/dist/esm/components/SelectButton/index.js.map +1 -0
- package/dist/esm/components/SendItemInfo.js +16 -0
- package/dist/esm/components/SendItemInfo.js.map +1 -0
- package/dist/esm/components/SequenceWalletProvider/SequenceWalletProvider.js +50 -0
- package/dist/esm/components/SequenceWalletProvider/SequenceWalletProvider.js.map +1 -0
- package/dist/esm/components/SequenceWalletProvider/index.js +2 -0
- package/dist/esm/components/SequenceWalletProvider/index.js.map +1 -0
- package/dist/esm/components/SequenceWalletProvider/utils/index.js +79 -0
- package/dist/esm/components/SequenceWalletProvider/utils/index.js.map +1 -0
- package/dist/esm/components/TransactionConfirmation.js +61 -0
- package/dist/esm/components/TransactionConfirmation.js.map +1 -0
- package/dist/esm/components/TransactionHistoryList/TransactionHistoryItem.js +110 -0
- package/dist/esm/components/TransactionHistoryList/TransactionHistoryItem.js.map +1 -0
- package/dist/esm/components/TransactionHistoryList/TransactionHistorySkeleton.js +13 -0
- package/dist/esm/components/TransactionHistoryList/TransactionHistorySkeleton.js.map +1 -0
- package/dist/esm/components/TransactionHistoryList/index.js +93 -0
- package/dist/esm/components/TransactionHistoryList/index.js.map +1 -0
- package/dist/esm/components/WalletHeader/components/AccountInformation.js +12 -0
- package/dist/esm/components/WalletHeader/components/AccountInformation.js.map +1 -0
- package/dist/esm/components/WalletHeader/components/WalletDropdownContent.js +54 -0
- package/dist/esm/components/WalletHeader/components/WalletDropdownContent.js.map +1 -0
- package/dist/esm/components/WalletHeader/index.js +50 -0
- package/dist/esm/components/WalletHeader/index.js.map +1 -0
- package/dist/esm/constants/abi.js +89 -0
- package/dist/esm/constants/abi.js.map +1 -0
- package/dist/esm/constants/currency.js +26 -0
- package/dist/esm/constants/currency.js.map +1 -0
- package/dist/esm/constants/index.js +4 -0
- package/dist/esm/constants/index.js.map +1 -0
- package/dist/esm/constants/sizing.js +2 -0
- package/dist/esm/constants/sizing.js.map +1 -0
- package/dist/esm/contexts/Navigation.js +4 -0
- package/dist/esm/contexts/Navigation.js.map +1 -0
- package/dist/esm/contexts/WalletModal.js +4 -0
- package/dist/esm/contexts/WalletModal.js.map +1 -0
- package/dist/esm/contexts/genericContext.js +16 -0
- package/dist/esm/contexts/genericContext.js.map +1 -0
- package/dist/esm/contexts/index.js +3 -0
- package/dist/esm/contexts/index.js.map +1 -0
- package/dist/esm/hooks/index.js +4 -0
- package/dist/esm/hooks/index.js.map +1 -0
- package/dist/esm/hooks/useNavigation.js +19 -0
- package/dist/esm/hooks/useNavigation.js.map +1 -0
- package/dist/esm/hooks/useOpenWalletModal.js +6 -0
- package/dist/esm/hooks/useOpenWalletModal.js.map +1 -0
- package/dist/esm/hooks/useScrollbarWidth.js +9 -0
- package/dist/esm/hooks/useScrollbarWidth.js.map +1 -0
- package/dist/esm/hooks/useSettings.js +96 -0
- package/dist/esm/hooks/useSettings.js.map +1 -0
- package/dist/esm/index.js +6 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/utils/helpers.js +41 -0
- package/dist/esm/utils/helpers.js.map +1 -0
- package/dist/esm/utils/index.js +3 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/tokens.js +70 -0
- package/dist/esm/utils/tokens.js.map +1 -0
- package/dist/esm/views/CoinDetails/Skeleton.js +9 -0
- package/dist/esm/views/CoinDetails/Skeleton.js.map +1 -0
- package/dist/esm/views/CoinDetails/index.js +86 -0
- package/dist/esm/views/CoinDetails/index.js.map +1 -0
- package/dist/esm/views/CollectibleDetails/Skeleton.js +10 -0
- package/dist/esm/views/CollectibleDetails/Skeleton.js.map +1 -0
- package/dist/esm/views/CollectibleDetails/index.js +79 -0
- package/dist/esm/views/CollectibleDetails/index.js.map +1 -0
- package/dist/esm/views/CollectionDetails/Skeleton.js +11 -0
- package/dist/esm/views/CollectionDetails/Skeleton.js.map +1 -0
- package/dist/esm/views/CollectionDetails/index.js +46 -0
- package/dist/esm/views/CollectionDetails/index.js.map +1 -0
- package/dist/esm/views/History.js +15 -0
- package/dist/esm/views/History.js.map +1 -0
- package/dist/esm/views/Home/components/AssetSummary/CoinTile/CoinTileContent.js +10 -0
- package/dist/esm/views/Home/components/AssetSummary/CoinTile/CoinTileContent.js.map +1 -0
- package/dist/esm/views/Home/components/AssetSummary/CoinTile/index.js +56 -0
- package/dist/esm/views/Home/components/AssetSummary/CoinTile/index.js.map +1 -0
- package/dist/esm/views/Home/components/AssetSummary/CollectibleTile/index.js +13 -0
- package/dist/esm/views/Home/components/AssetSummary/CollectibleTile/index.js.map +1 -0
- package/dist/esm/views/Home/components/AssetSummary/SkeletonTiles.js +10 -0
- package/dist/esm/views/Home/components/AssetSummary/SkeletonTiles.js.map +1 -0
- package/dist/esm/views/Home/components/AssetSummary/index.js +94 -0
- package/dist/esm/views/Home/components/AssetSummary/index.js.map +1 -0
- package/dist/esm/views/Home/index.js +6 -0
- package/dist/esm/views/Home/index.js.map +1 -0
- package/dist/esm/views/Receive.js +38 -0
- package/dist/esm/views/Receive.js.map +1 -0
- package/dist/esm/views/Search/SearchWallet.js +105 -0
- package/dist/esm/views/Search/SearchWallet.js.map +1 -0
- package/dist/esm/views/Search/SearchWalletViewAll.js +162 -0
- package/dist/esm/views/Search/SearchWalletViewAll.js.map +1 -0
- package/dist/esm/views/Search/components/BalanceItem.js +48 -0
- package/dist/esm/views/Search/components/BalanceItem.js.map +1 -0
- package/dist/esm/views/Search/components/CoinsTab.js +45 -0
- package/dist/esm/views/Search/components/CoinsTab.js.map +1 -0
- package/dist/esm/views/Search/components/CollectionsTab.js +45 -0
- package/dist/esm/views/Search/components/CollectionsTab.js.map +1 -0
- package/dist/esm/views/Search/components/WalletLink.js +11 -0
- package/dist/esm/views/Search/components/WalletLink.js.map +1 -0
- package/dist/esm/views/Search/index.js +3 -0
- package/dist/esm/views/Search/index.js.map +1 -0
- package/dist/esm/views/SendCoin.js +194 -0
- package/dist/esm/views/SendCoin.js.map +1 -0
- package/dist/esm/views/SendCollectible.js +233 -0
- package/dist/esm/views/SendCollectible.js.map +1 -0
- package/dist/esm/views/Settings/Currency.js +12 -0
- package/dist/esm/views/Settings/Currency.js.map +1 -0
- package/dist/esm/views/Settings/General.js +19 -0
- package/dist/esm/views/Settings/General.js.map +1 -0
- package/dist/esm/views/Settings/Menu.js +24 -0
- package/dist/esm/views/Settings/Menu.js.map +1 -0
- package/dist/esm/views/Settings/Network.js +31 -0
- package/dist/esm/views/Settings/Network.js.map +1 -0
- package/dist/esm/views/Settings/index.js +5 -0
- package/dist/esm/views/Settings/index.js.map +1 -0
- package/dist/esm/views/SwapCoin/SwapList.js +186 -0
- package/dist/esm/views/SwapCoin/SwapList.js.map +1 -0
- package/dist/esm/views/SwapCoin/index.js +85 -0
- package/dist/esm/views/SwapCoin/index.js.map +1 -0
- package/dist/esm/views/TransactionDetails/index.js +81 -0
- package/dist/esm/views/TransactionDetails/index.js.map +1 -0
- package/dist/esm/views/index.js +14 -0
- package/dist/esm/views/index.js.map +1 -0
- package/dist/types/components/Alert.d.ts +12 -0
- package/dist/types/components/Alert.d.ts.map +1 -0
- package/dist/types/components/CoinRow.d.ts +13 -0
- package/dist/types/components/CoinRow.d.ts.map +1 -0
- package/dist/types/components/CollectibleTileImage.d.ts +6 -0
- package/dist/types/components/CollectibleTileImage.d.ts.map +1 -0
- package/dist/types/components/CopyButton.d.ts +10 -0
- package/dist/types/components/CopyButton.d.ts.map +1 -0
- package/dist/types/components/DefaultIcon.d.ts +6 -0
- package/dist/types/components/DefaultIcon.d.ts.map +1 -0
- package/dist/types/components/FeeOptionSelector.d.ts +29 -0
- package/dist/types/components/FeeOptionSelector.d.ts.map +1 -0
- package/dist/types/components/InfiniteScroll.d.ts +9 -0
- package/dist/types/components/InfiniteScroll.d.ts.map +1 -0
- package/dist/types/components/Loader.d.ts +2 -0
- package/dist/types/components/Loader.d.ts.map +1 -0
- package/dist/types/components/NavigationHeader/index.d.ts +7 -0
- package/dist/types/components/NavigationHeader/index.d.ts.map +1 -0
- package/dist/types/components/NetworkBadge.d.ts +6 -0
- package/dist/types/components/NetworkBadge.d.ts.map +1 -0
- package/dist/types/components/SelectButton/SelectButton.d.ts +13 -0
- package/dist/types/components/SelectButton/SelectButton.d.ts.map +1 -0
- package/dist/types/components/SelectButton/SelectedIndicator.d.ts +8 -0
- package/dist/types/components/SelectButton/SelectedIndicator.d.ts.map +1 -0
- package/dist/types/components/SelectButton/index.d.ts +2 -0
- package/dist/types/components/SelectButton/index.d.ts.map +1 -0
- package/dist/types/components/SendItemInfo.d.ts +15 -0
- package/dist/types/components/SendItemInfo.d.ts.map +1 -0
- package/dist/types/components/SequenceWalletProvider/SequenceWalletProvider.d.ts +7 -0
- package/dist/types/components/SequenceWalletProvider/SequenceWalletProvider.d.ts.map +1 -0
- package/dist/types/components/SequenceWalletProvider/index.d.ts +2 -0
- package/dist/types/components/SequenceWalletProvider/index.d.ts.map +1 -0
- package/dist/types/components/SequenceWalletProvider/utils/index.d.ts +4 -0
- package/dist/types/components/SequenceWalletProvider/utils/index.d.ts.map +1 -0
- package/dist/types/components/TransactionConfirmation.d.ts +24 -0
- package/dist/types/components/TransactionConfirmation.d.ts.map +1 -0
- package/dist/types/components/TransactionHistoryList/TransactionHistoryItem.d.ts +7 -0
- package/dist/types/components/TransactionHistoryList/TransactionHistoryItem.d.ts.map +1 -0
- package/dist/types/components/TransactionHistoryList/TransactionHistorySkeleton.d.ts +2 -0
- package/dist/types/components/TransactionHistoryList/TransactionHistorySkeleton.d.ts.map +1 -0
- package/dist/types/components/TransactionHistoryList/index.d.ts +9 -0
- package/dist/types/components/TransactionHistoryList/index.d.ts.map +1 -0
- package/dist/types/components/WalletHeader/components/AccountInformation.d.ts +7 -0
- package/dist/types/components/WalletHeader/components/AccountInformation.d.ts.map +1 -0
- package/dist/types/components/WalletHeader/components/WalletDropdownContent.d.ts +7 -0
- package/dist/types/components/WalletHeader/components/WalletDropdownContent.d.ts.map +1 -0
- package/dist/types/components/WalletHeader/index.d.ts +2 -0
- package/dist/types/components/WalletHeader/index.d.ts.map +1 -0
- package/dist/types/constants/abi.d.ts +40 -0
- package/dist/types/constants/abi.d.ts.map +1 -0
- package/dist/types/constants/currency.d.ts +11 -0
- package/dist/types/constants/currency.d.ts.map +1 -0
- package/dist/types/constants/index.d.ts +4 -0
- package/dist/types/constants/index.d.ts.map +1 -0
- package/dist/types/constants/sizing.d.ts +2 -0
- package/dist/types/constants/sizing.d.ts.map +1 -0
- package/dist/types/contexts/Navigation.d.ts +88 -0
- package/dist/types/contexts/Navigation.d.ts.map +1 -0
- package/dist/types/contexts/WalletModal.d.ts +11 -0
- package/dist/types/contexts/WalletModal.d.ts.map +1 -0
- package/dist/types/contexts/genericContext.d.ts +2 -0
- package/dist/types/contexts/genericContext.d.ts.map +1 -0
- package/dist/types/contexts/index.d.ts +3 -0
- package/dist/types/contexts/index.d.ts.map +1 -0
- package/dist/types/hooks/index.d.ts +4 -0
- package/dist/types/hooks/index.d.ts.map +1 -0
- package/dist/types/hooks/useNavigation.d.ts +10 -0
- package/dist/types/hooks/useNavigation.d.ts.map +1 -0
- package/dist/types/hooks/useOpenWalletModal.d.ts +5 -0
- package/dist/types/hooks/useOpenWalletModal.d.ts.map +1 -0
- package/dist/types/hooks/useScrollbarWidth.d.ts +2 -0
- package/dist/types/hooks/useScrollbarWidth.d.ts.map +1 -0
- package/dist/types/hooks/useSettings.d.ts +14 -0
- package/dist/types/hooks/useSettings.d.ts.map +1 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/utils/helpers.d.ts +6 -0
- package/dist/types/utils/helpers.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +3 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/dist/types/utils/tokens.d.ts +21 -0
- package/dist/types/utils/tokens.d.ts.map +1 -0
- package/dist/types/views/CoinDetails/Skeleton.d.ts +7 -0
- package/dist/types/views/CoinDetails/Skeleton.d.ts.map +1 -0
- package/dist/types/views/CoinDetails/index.d.ts +6 -0
- package/dist/types/views/CoinDetails/index.d.ts.map +1 -0
- package/dist/types/views/CollectibleDetails/Skeleton.d.ts +6 -0
- package/dist/types/views/CollectibleDetails/Skeleton.d.ts.map +1 -0
- package/dist/types/views/CollectibleDetails/index.d.ts +7 -0
- package/dist/types/views/CollectibleDetails/index.d.ts.map +1 -0
- package/dist/types/views/CollectionDetails/Skeleton.d.ts +6 -0
- package/dist/types/views/CollectionDetails/Skeleton.d.ts.map +1 -0
- package/dist/types/views/CollectionDetails/index.d.ts +7 -0
- package/dist/types/views/CollectionDetails/index.d.ts.map +1 -0
- package/dist/types/views/History.d.ts +2 -0
- package/dist/types/views/History.d.ts.map +1 -0
- package/dist/types/views/Home/components/AssetSummary/CoinTile/CoinTileContent.d.ts +12 -0
- package/dist/types/views/Home/components/AssetSummary/CoinTile/CoinTileContent.d.ts.map +1 -0
- package/dist/types/views/Home/components/AssetSummary/CoinTile/index.d.ts +7 -0
- package/dist/types/views/Home/components/AssetSummary/CoinTile/index.d.ts.map +1 -0
- package/dist/types/views/Home/components/AssetSummary/CollectibleTile/index.d.ts +7 -0
- package/dist/types/views/Home/components/AssetSummary/CollectibleTile/index.d.ts.map +1 -0
- package/dist/types/views/Home/components/AssetSummary/SkeletonTiles.d.ts +2 -0
- package/dist/types/views/Home/components/AssetSummary/SkeletonTiles.d.ts.map +1 -0
- package/dist/types/views/Home/components/AssetSummary/index.d.ts +2 -0
- package/dist/types/views/Home/components/AssetSummary/index.d.ts.map +1 -0
- package/dist/types/views/Home/index.d.ts +2 -0
- package/dist/types/views/Home/index.d.ts.map +1 -0
- package/dist/types/views/Receive.d.ts +2 -0
- package/dist/types/views/Receive.d.ts.map +1 -0
- package/dist/types/views/Search/SearchWallet.d.ts +2 -0
- package/dist/types/views/Search/SearchWallet.d.ts.map +1 -0
- package/dist/types/views/Search/SearchWalletViewAll.d.ts +10 -0
- package/dist/types/views/Search/SearchWalletViewAll.d.ts.map +1 -0
- package/dist/types/views/Search/components/BalanceItem.d.ts +7 -0
- package/dist/types/views/Search/components/BalanceItem.d.ts.map +1 -0
- package/dist/types/views/Search/components/CoinsTab.d.ts +16 -0
- package/dist/types/views/Search/components/CoinsTab.d.ts.map +1 -0
- package/dist/types/views/Search/components/CollectionsTab.d.ts +16 -0
- package/dist/types/views/Search/components/CollectionsTab.d.ts.map +1 -0
- package/dist/types/views/Search/components/WalletLink.d.ts +8 -0
- package/dist/types/views/Search/components/WalletLink.d.ts.map +1 -0
- package/dist/types/views/Search/index.d.ts +3 -0
- package/dist/types/views/Search/index.d.ts.map +1 -0
- package/dist/types/views/SendCoin.d.ts +7 -0
- package/dist/types/views/SendCoin.d.ts.map +1 -0
- package/dist/types/views/SendCollectible.d.ts +8 -0
- package/dist/types/views/SendCollectible.d.ts.map +1 -0
- package/dist/types/views/Settings/Currency.d.ts +2 -0
- package/dist/types/views/Settings/Currency.d.ts.map +1 -0
- package/dist/types/views/Settings/General.d.ts +2 -0
- package/dist/types/views/Settings/General.d.ts.map +1 -0
- package/dist/types/views/Settings/Menu.d.ts +2 -0
- package/dist/types/views/Settings/Menu.d.ts.map +1 -0
- package/dist/types/views/Settings/Network.d.ts +2 -0
- package/dist/types/views/Settings/Network.d.ts.map +1 -0
- package/dist/types/views/Settings/index.d.ts +5 -0
- package/dist/types/views/Settings/index.d.ts.map +1 -0
- package/dist/types/views/SwapCoin/SwapList.d.ts +8 -0
- package/dist/types/views/SwapCoin/SwapList.d.ts.map +1 -0
- package/dist/types/views/SwapCoin/index.d.ts +6 -0
- package/dist/types/views/SwapCoin/index.d.ts.map +1 -0
- package/dist/types/views/TransactionDetails/index.d.ts +7 -0
- package/dist/types/views/TransactionDetails/index.d.ts.map +1 -0
- package/dist/types/views/index.d.ts +14 -0
- package/dist/types/views/index.d.ts.map +1 -0
- package/package.json +69 -0
- package/src/components/Alert.tsx +51 -0
- package/src/components/CoinRow.tsx +62 -0
- package/src/components/CollectibleTileImage.tsx +14 -0
- package/src/components/CopyButton.tsx +41 -0
- package/src/components/DefaultIcon.tsx +22 -0
- package/src/components/FeeOptionSelector.tsx +133 -0
- package/src/components/InfiniteScroll.tsx +56 -0
- package/src/components/Loader.tsx +12 -0
- package/src/components/NavigationHeader/index.tsx +59 -0
- package/src/components/NetworkBadge.tsx +35 -0
- package/src/components/SelectButton/SelectButton.tsx +33 -0
- package/src/components/SelectButton/SelectedIndicator.tsx +34 -0
- package/src/components/SelectButton/index.ts +1 -0
- package/src/components/SendItemInfo.tsx +83 -0
- package/src/components/SequenceWalletProvider/SequenceWalletProvider.tsx +96 -0
- package/src/components/SequenceWalletProvider/index.ts +1 -0
- package/src/components/SequenceWalletProvider/utils/index.tsx +119 -0
- package/src/components/TransactionConfirmation.tsx +183 -0
- package/src/components/TransactionHistoryList/TransactionHistoryItem.tsx +190 -0
- package/src/components/TransactionHistoryList/TransactionHistorySkeleton.tsx +36 -0
- package/src/components/TransactionHistoryList/index.tsx +160 -0
- package/src/components/WalletHeader/components/AccountInformation.tsx +31 -0
- package/src/components/WalletHeader/components/WalletDropdownContent.tsx +96 -0
- package/src/components/WalletHeader/index.tsx +84 -0
- package/src/constants/abi.ts +90 -0
- package/src/constants/currency.ts +35 -0
- package/src/constants/index.ts +3 -0
- package/src/constants/sizing.ts +1 -0
- package/src/contexts/Navigation.ts +132 -0
- package/src/contexts/WalletModal.ts +15 -0
- package/src/contexts/genericContext.ts +19 -0
- package/src/contexts/index.ts +2 -0
- package/src/hooks/index.ts +3 -0
- package/src/hooks/useNavigation.ts +30 -0
- package/src/hooks/useOpenWalletModal.ts +7 -0
- package/src/hooks/useScrollbarWidth.ts +11 -0
- package/src/hooks/useSettings.ts +121 -0
- package/src/index.ts +6 -0
- package/src/utils/helpers.ts +51 -0
- package/src/utils/index.ts +2 -0
- package/src/utils/tokens.ts +98 -0
- package/src/views/CoinDetails/Skeleton.tsx +46 -0
- package/src/views/CoinDetails/index.tsx +153 -0
- package/src/views/CollectibleDetails/Skeleton.tsx +50 -0
- package/src/views/CollectibleDetails/index.tsx +184 -0
- package/src/views/CollectionDetails/Skeleton.tsx +36 -0
- package/src/views/CollectionDetails/index.tsx +98 -0
- package/src/views/History.tsx +28 -0
- package/src/views/Home/components/AssetSummary/CoinTile/CoinTileContent.tsx +60 -0
- package/src/views/Home/components/AssetSummary/CoinTile/index.tsx +93 -0
- package/src/views/Home/components/AssetSummary/CollectibleTile/index.tsx +20 -0
- package/src/views/Home/components/AssetSummary/SkeletonTiles.tsx +21 -0
- package/src/views/Home/components/AssetSummary/index.tsx +128 -0
- package/src/views/Home/index.tsx +11 -0
- package/src/views/Receive.tsx +83 -0
- package/src/views/Search/SearchWallet.tsx +177 -0
- package/src/views/Search/SearchWalletViewAll.tsx +265 -0
- package/src/views/Search/components/BalanceItem.tsx +76 -0
- package/src/views/Search/components/CoinsTab.tsx +89 -0
- package/src/views/Search/components/CollectionsTab.tsx +88 -0
- package/src/views/Search/components/WalletLink.tsx +32 -0
- package/src/views/Search/index.ts +2 -0
- package/src/views/SendCoin.tsx +397 -0
- package/src/views/SendCollectible.tsx +447 -0
- package/src/views/Settings/Currency.tsx +34 -0
- package/src/views/Settings/General.tsx +55 -0
- package/src/views/Settings/Menu.tsx +60 -0
- package/src/views/Settings/Network.tsx +60 -0
- package/src/views/Settings/index.ts +4 -0
- package/src/views/SwapCoin/SwapList.tsx +320 -0
- package/src/views/SwapCoin/index.tsx +150 -0
- package/src/views/TransactionDetails/index.tsx +213 -0
- package/src/views/index.ts +13 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { useWalletModalContext } from '../contexts/WalletModal';
|
|
2
|
+
export const useOpenWalletModal = () => {
|
|
3
|
+
const { setOpenWalletModal, openWalletModalState } = useWalletModalContext();
|
|
4
|
+
return { setOpenWalletModal, openWalletModalState };
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=useOpenWalletModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOpenWalletModal.js","sourceRoot":"","sources":["../../../src/hooks/useOpenWalletModal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,MAAM,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,GAAG,qBAAqB,EAAE,CAAA;IAE5E,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,CAAA;AACrD,CAAC,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { useEffect, useState } from 'react';
|
|
2
|
+
export const useScrollbarWidth = () => {
|
|
3
|
+
const [scrollbarWidth, setScrollbarWidth] = useState('0px');
|
|
4
|
+
useEffect(() => {
|
|
5
|
+
setScrollbarWidth(navigator.userAgent.match(/chrome|chromium|crios/i) ? '13px' : '0px');
|
|
6
|
+
}, []);
|
|
7
|
+
return scrollbarWidth;
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=useScrollbarWidth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useScrollbarWidth.js","sourceRoot":"","sources":["../../../src/hooks/useScrollbarWidth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAS,KAAK,CAAC,CAAA;IAEnE,SAAS,CAAC,GAAG,EAAE;QACb,iBAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IACzF,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,cAAc,CAAA;AACvB,CAAC,CAAA"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { LocalStorageKey, useWalletSettings } from '@0xsequence/connect';
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { useConfig } from 'wagmi';
|
|
4
|
+
import { defaultFiatCurrency } from '../constants';
|
|
5
|
+
export const useSettings = () => {
|
|
6
|
+
const { readOnlyNetworks, displayedAssets } = useWalletSettings();
|
|
7
|
+
const { chains } = useConfig();
|
|
8
|
+
const allChains = [
|
|
9
|
+
...new Set([...chains.map(chain => chain.id), ...(readOnlyNetworks || []), ...displayedAssets.map(asset => asset.chainId)])
|
|
10
|
+
];
|
|
11
|
+
const getSettingsFromStorage = () => {
|
|
12
|
+
let hideUnlistedTokens = true;
|
|
13
|
+
let hideCollectibles = false;
|
|
14
|
+
let fiatCurrency = defaultFiatCurrency;
|
|
15
|
+
let selectedNetworks = allChains;
|
|
16
|
+
try {
|
|
17
|
+
const settingsStorage = localStorage.getItem(LocalStorageKey.Settings);
|
|
18
|
+
const settings = JSON.parse(settingsStorage || '{}');
|
|
19
|
+
if (settings?.hideUnlistedTokens !== undefined) {
|
|
20
|
+
hideUnlistedTokens = settings?.hideUnlistedTokens;
|
|
21
|
+
}
|
|
22
|
+
if (settings?.hideCollectibles !== undefined) {
|
|
23
|
+
hideCollectibles = settings?.hideCollectibles;
|
|
24
|
+
}
|
|
25
|
+
if (settings?.fiatCurrency !== undefined) {
|
|
26
|
+
fiatCurrency = settings?.fiatCurrency;
|
|
27
|
+
}
|
|
28
|
+
if (settings?.selectedNetworks !== undefined) {
|
|
29
|
+
let areSelectedNetworksValid = true;
|
|
30
|
+
settings.selectedNetworks.forEach((chainId) => {
|
|
31
|
+
if (allChains.find(chain => chain === chainId) === undefined) {
|
|
32
|
+
areSelectedNetworksValid = false;
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
if (areSelectedNetworksValid) {
|
|
36
|
+
selectedNetworks = settings?.selectedNetworks;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
catch (e) {
|
|
41
|
+
console.error(e, 'Failed to fetch settings');
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
hideUnlistedTokens,
|
|
45
|
+
hideCollectibles,
|
|
46
|
+
fiatCurrency,
|
|
47
|
+
selectedNetworks
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
const defaultSettings = getSettingsFromStorage();
|
|
51
|
+
const [settings, setSettings] = useState(defaultSettings);
|
|
52
|
+
const setHideUnlistedTokens = (newState) => {
|
|
53
|
+
const oldSettings = getSettingsFromStorage();
|
|
54
|
+
const newSettings = {
|
|
55
|
+
...oldSettings,
|
|
56
|
+
hideUnlistedTokens: newState
|
|
57
|
+
};
|
|
58
|
+
localStorage.setItem(LocalStorageKey.Settings, JSON.stringify(newSettings));
|
|
59
|
+
setSettings(newSettings);
|
|
60
|
+
};
|
|
61
|
+
const setHideCollectibles = (newState) => {
|
|
62
|
+
const oldSettings = getSettingsFromStorage();
|
|
63
|
+
const newSettings = {
|
|
64
|
+
...oldSettings,
|
|
65
|
+
hideCollectibles: newState
|
|
66
|
+
};
|
|
67
|
+
localStorage.setItem(LocalStorageKey.Settings, JSON.stringify(newSettings));
|
|
68
|
+
setSettings(newSettings);
|
|
69
|
+
};
|
|
70
|
+
const setFiatCurrency = (newFiatCurrency) => {
|
|
71
|
+
const oldSettings = getSettingsFromStorage();
|
|
72
|
+
const newSettings = {
|
|
73
|
+
...oldSettings,
|
|
74
|
+
fiatCurrency: newFiatCurrency
|
|
75
|
+
};
|
|
76
|
+
localStorage.setItem(LocalStorageKey.Settings, JSON.stringify(newSettings));
|
|
77
|
+
setSettings(newSettings);
|
|
78
|
+
};
|
|
79
|
+
const setSelectedNetworks = (newSelectedNetworks) => {
|
|
80
|
+
const oldSettings = getSettingsFromStorage();
|
|
81
|
+
const newSettings = {
|
|
82
|
+
...oldSettings,
|
|
83
|
+
selectedNetworks: newSelectedNetworks
|
|
84
|
+
};
|
|
85
|
+
localStorage.setItem(LocalStorageKey.Settings, JSON.stringify(newSettings));
|
|
86
|
+
setSettings(newSettings);
|
|
87
|
+
};
|
|
88
|
+
return {
|
|
89
|
+
...settings,
|
|
90
|
+
setFiatCurrency,
|
|
91
|
+
setHideCollectibles,
|
|
92
|
+
setHideUnlistedTokens,
|
|
93
|
+
setSelectedNetworks
|
|
94
|
+
};
|
|
95
|
+
};
|
|
96
|
+
//# sourceMappingURL=useSettings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSettings.js","sourceRoot":"","sources":["../../../src/hooks/useSettings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// Provider
|
|
2
|
+
export { SequenceWalletProvider } from './components/SequenceWalletProvider';
|
|
3
|
+
// Hooks
|
|
4
|
+
export { useOpenWalletModal } from './hooks/useOpenWalletModal';
|
|
5
|
+
export { useNavigation as useWalletNavigation } from './hooks/useNavigation';
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAA;AAE5E,QAAQ;AACR,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAA"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export const limitDecimals = (value, decimals) => {
|
|
2
|
+
const splitValue = value.split('.');
|
|
3
|
+
if (splitValue.length === 1) {
|
|
4
|
+
return value;
|
|
5
|
+
}
|
|
6
|
+
return `${splitValue[0]}.${splitValue[1].slice(0, decimals)}`;
|
|
7
|
+
};
|
|
8
|
+
export const isEthAddress = (value) => {
|
|
9
|
+
const ethAddressRegEx = /0x[a-fA-F0-9]{40}/;
|
|
10
|
+
const isEthAddress = ethAddressRegEx.test(value);
|
|
11
|
+
return isEthAddress;
|
|
12
|
+
};
|
|
13
|
+
// Gets n random elements at unique keys from collection up to the size of collection.
|
|
14
|
+
export const sampleSize = (collection, n) => {
|
|
15
|
+
const random = seededRandom(1);
|
|
16
|
+
const length = collection.length;
|
|
17
|
+
if (!length || n < 1) {
|
|
18
|
+
return [];
|
|
19
|
+
}
|
|
20
|
+
// Limit n to the size of the collection
|
|
21
|
+
n = n > length ? length : n;
|
|
22
|
+
const sampled = new Array(n);
|
|
23
|
+
const indexes = new Set();
|
|
24
|
+
// Find n unique indexes
|
|
25
|
+
while (indexes.size < n) {
|
|
26
|
+
indexes.add(Math.floor(random() * length));
|
|
27
|
+
}
|
|
28
|
+
for (const [idx, value] of Array.from(indexes).entries()) {
|
|
29
|
+
sampled[idx] = collection[value];
|
|
30
|
+
}
|
|
31
|
+
return sampled;
|
|
32
|
+
};
|
|
33
|
+
export const isTruthy = (value) => Boolean(value);
|
|
34
|
+
// Deterministic random function
|
|
35
|
+
export const seededRandom = (seed) => {
|
|
36
|
+
return () => {
|
|
37
|
+
const x = Math.sin(seed++) * 10000;
|
|
38
|
+
return x - Math.floor(x);
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,QAAgB,EAAE,EAAE;IAC/D,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACnC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAA;AAC/D,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,EAAE;IAC5C,MAAM,eAAe,GAAG,mBAAmB,CAAA;IAC3C,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAEhD,OAAO,YAAY,CAAA;AACrB,CAAC,CAAA;AAED,sFAAsF;AACtF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAI,UAAe,EAAE,CAAS,EAAO,EAAE;IAC/D,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;IAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;IAEhC,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,wCAAwC;IACxC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAE3B,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAA;IAC5B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;IAEjC,wBAAwB;IACxB,OAAO,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAA;IAC5C,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAI,KAA2B,EAAc,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAEtF,gCAAgC;AAChC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE;IAC3C,OAAO,GAAG,EAAE;QACV,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAA;QAClC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC1B,CAAC,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { compareAddress } from '@0xsequence/connect';
|
|
2
|
+
import { formatUnits, zeroAddress } from 'viem';
|
|
3
|
+
export const getPercentageColor = (value) => {
|
|
4
|
+
if (value > 0) {
|
|
5
|
+
return 'positive';
|
|
6
|
+
}
|
|
7
|
+
else if (value < 0) {
|
|
8
|
+
return 'negative';
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
return 'muted';
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
export const getPercentagePriceChange = (balance, prices) => {
|
|
15
|
+
const priceForToken = prices.find(p => compareAddress(p.token.contractAddress, balance.contractAddress));
|
|
16
|
+
if (!priceForToken) {
|
|
17
|
+
return 0;
|
|
18
|
+
}
|
|
19
|
+
const price24HourChange = priceForToken?.price24hChange?.value || 0;
|
|
20
|
+
return price24HourChange;
|
|
21
|
+
};
|
|
22
|
+
export const computeBalanceFiat = ({ balance, prices, decimals, conversionRate }) => {
|
|
23
|
+
let totalUsd = 0;
|
|
24
|
+
const priceForToken = prices.find(p => compareAddress(p.token.contractAddress, balance.contractAddress));
|
|
25
|
+
if (!priceForToken) {
|
|
26
|
+
return '0.00';
|
|
27
|
+
}
|
|
28
|
+
const priceFiat = priceForToken.price?.value || 0;
|
|
29
|
+
const valueFormatted = formatUnits(BigInt(balance.balance), decimals);
|
|
30
|
+
const usdValue = parseFloat(valueFormatted) * priceFiat;
|
|
31
|
+
totalUsd += usdValue;
|
|
32
|
+
const fiatValue = totalUsd * conversionRate;
|
|
33
|
+
return `${fiatValue.toFixed(2)}`;
|
|
34
|
+
};
|
|
35
|
+
const compareTokenBalanceIds = (a, b) => {
|
|
36
|
+
return (a.tokenID || '').localeCompare(b.tokenID || '');
|
|
37
|
+
};
|
|
38
|
+
export const sortBalancesByType = (balances) => {
|
|
39
|
+
const nativeTokens = [];
|
|
40
|
+
const erc20Tokens = [];
|
|
41
|
+
const collectibles = [];
|
|
42
|
+
balances.forEach(balance => {
|
|
43
|
+
// Note: contractType for the native token should be "UNKNOWN"
|
|
44
|
+
if (balance.contractAddress === zeroAddress) {
|
|
45
|
+
nativeTokens.push(balance);
|
|
46
|
+
}
|
|
47
|
+
else if (balance.contractType === 'ERC20') {
|
|
48
|
+
erc20Tokens.push(balance);
|
|
49
|
+
}
|
|
50
|
+
else if (balance.contractType === 'ERC721' || balance.contractType === 'ERC1155') {
|
|
51
|
+
collectibles.push(balance);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
const sortedNativeTokens = nativeTokens.sort(compareTokenBalanceIds);
|
|
55
|
+
const sortedErc20Tokens = erc20Tokens.sort(compareTokenBalanceIds);
|
|
56
|
+
const sortedCollectibles = collectibles.sort(compareTokenBalanceIds);
|
|
57
|
+
return {
|
|
58
|
+
nativeTokens: sortedNativeTokens,
|
|
59
|
+
erc20Tokens: sortedErc20Tokens,
|
|
60
|
+
collectibles: sortedCollectibles
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
export const flattenPaginatedTransactionHistory = (transactionHistoryData) => {
|
|
64
|
+
const transactionHistory = [];
|
|
65
|
+
transactionHistoryData?.pages.forEach(page => {
|
|
66
|
+
transactionHistory.push(...page.transactions);
|
|
67
|
+
});
|
|
68
|
+
return transactionHistory;
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/utils/tokens.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Button, SendIcon, Skeleton, Text } from '@0xsequence/design-system';
|
|
3
|
+
import { NetworkBadge } from '../../components/NetworkBadge';
|
|
4
|
+
import { TransactionHistorySkeleton } from '../../components/TransactionHistoryList/TransactionHistorySkeleton';
|
|
5
|
+
import { HEADER_HEIGHT } from '../../constants';
|
|
6
|
+
export const CoinDetailsSkeleton = ({ chainId, isReadOnly }) => {
|
|
7
|
+
return (_jsx("div", { style: { paddingTop: HEADER_HEIGHT }, children: _jsxs("div", { className: "flex flex-col gap-10 pb-5 px-4 pt-0", style: { marginTop: '-20px' }, children: [_jsxs("div", { className: "flex mb-10 gap-2 items-center justify-center flex-col", children: [_jsx(Skeleton, { style: { width: '64px', height: '64px' } }), _jsx(Skeleton, { style: { height: '28px', width: '70px' } }), _jsx(NetworkBadge, { chainId: chainId })] }), _jsxs("div", { children: [_jsx(Text, { variant: "normal", fontWeight: "medium", color: "muted", children: "Balance" }), _jsxs("div", { className: "flex flex-row items-end justify-between", children: [_jsx(Skeleton, { style: { width: '150px', height: '36px' } }), _jsx(Skeleton, { style: { width: '33px', height: '17px' } })] })] }), !isReadOnly && (_jsx(Button, { className: "w-full text-primary", variant: "primary", leftIcon: SendIcon, label: "Send", disabled: true, onClick: () => { } })), _jsx("div", { children: _jsx(TransactionHistorySkeleton, {}) })] }) }));
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=Skeleton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Skeleton.js","sourceRoot":"","sources":["../../../../src/views/CoinDetails/Skeleton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAA;AAE5E,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oEAAoE,CAAA;AAC/G,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAO/C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAAE,OAAO,EAAE,UAAU,EAA4B,EAAE,EAAE;IACvF,OAAO,CACL,cAAK,KAAK,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,YACvC,eAAK,SAAS,EAAC,qCAAqC,EAAC,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,aAChF,eAAK,SAAS,EAAC,uDAAuD,aACpE,KAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAI,EACtD,KAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAI,EACtD,KAAC,YAAY,IAAC,OAAO,EAAE,OAAO,GAAI,IAC9B,EACN,0BACE,KAAC,IAAI,IAAC,OAAO,EAAC,QAAQ,EAAC,UAAU,EAAC,QAAQ,EAAC,KAAK,EAAC,OAAO,wBAEjD,EACP,eAAK,SAAS,EAAC,yCAAyC,aACtD,KAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAI,EACvD,KAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAI,IAClD,IACF,EACL,CAAC,UAAU,IAAI,CACd,KAAC,MAAM,IACL,SAAS,EAAC,qBAAqB,EAC/B,OAAO,EAAC,SAAS,EACjB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAC,MAAM,EACZ,QAAQ,QACR,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,GACjB,CACH,EACD,wBACE,KAAC,0BAA0B,KAAG,GAC1B,IACF,GACF,CACP,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { compareAddress, formatDisplay, getNativeTokenInfoByChainId, ContractVerificationStatus } from '@0xsequence/connect';
|
|
3
|
+
import { Button, SendIcon, SwapIcon, Text, TokenImage } from '@0xsequence/design-system';
|
|
4
|
+
import { useGetTokenBalancesSummary, useGetCoinPrices, useGetExchangeRate, useGetTransactionHistory } from '@0xsequence/react-hooks';
|
|
5
|
+
import { formatUnits, zeroAddress } from 'viem';
|
|
6
|
+
import { useAccount, useConfig } from 'wagmi';
|
|
7
|
+
import { InfiniteScroll } from '../../components/InfiniteScroll';
|
|
8
|
+
import { NetworkBadge } from '../../components/NetworkBadge';
|
|
9
|
+
import { TransactionHistoryList } from '../../components/TransactionHistoryList';
|
|
10
|
+
import { HEADER_HEIGHT } from '../../constants';
|
|
11
|
+
import { useSettings, useNavigation } from '../../hooks';
|
|
12
|
+
import { computeBalanceFiat, flattenPaginatedTransactionHistory } from '../../utils';
|
|
13
|
+
import { CoinDetailsSkeleton } from './Skeleton';
|
|
14
|
+
export const CoinDetails = ({ contractAddress, chainId }) => {
|
|
15
|
+
const { chains } = useConfig();
|
|
16
|
+
const { setNavigation } = useNavigation();
|
|
17
|
+
const { fiatCurrency, hideUnlistedTokens } = useSettings();
|
|
18
|
+
const { address: accountAddress } = useAccount();
|
|
19
|
+
const isReadOnly = !chains.map(chain => chain.id).includes(chainId);
|
|
20
|
+
const { data: dataTransactionHistory, isPending: isPendingTransactionHistory, fetchNextPage, hasNextPage, isFetchingNextPage } = useGetTransactionHistory({
|
|
21
|
+
chainId,
|
|
22
|
+
accountAddress: accountAddress || '',
|
|
23
|
+
contractAddress
|
|
24
|
+
});
|
|
25
|
+
const transactionHistory = flattenPaginatedTransactionHistory(dataTransactionHistory);
|
|
26
|
+
const { data: tokenBalance, isPending: isPendingCoinBalance } = useGetTokenBalancesSummary({
|
|
27
|
+
chainIds: [chainId],
|
|
28
|
+
filter: {
|
|
29
|
+
accountAddresses: [accountAddress || ''],
|
|
30
|
+
contractWhitelist: [contractAddress],
|
|
31
|
+
contractStatus: hideUnlistedTokens ? ContractVerificationStatus.VERIFIED : ContractVerificationStatus.ALL,
|
|
32
|
+
omitNativeBalances: false
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
const dataCoinBalance = tokenBalance && tokenBalance.length > 0
|
|
36
|
+
? compareAddress(contractAddress, zeroAddress)
|
|
37
|
+
? tokenBalance?.[0]
|
|
38
|
+
: tokenBalance?.[1]
|
|
39
|
+
: undefined;
|
|
40
|
+
const { data: dataCoinPrices, isPending: isPendingCoinPrices } = useGetCoinPrices([
|
|
41
|
+
{
|
|
42
|
+
chainId,
|
|
43
|
+
contractAddress
|
|
44
|
+
}
|
|
45
|
+
]);
|
|
46
|
+
const { data: conversionRate = 1, isPending: isPendingConversionRate } = useGetExchangeRate(fiatCurrency.symbol);
|
|
47
|
+
const isPending = isPendingCoinBalance || isPendingCoinPrices || isPendingConversionRate;
|
|
48
|
+
if (isPending) {
|
|
49
|
+
return _jsx(CoinDetailsSkeleton, { chainId: chainId, isReadOnly: isReadOnly });
|
|
50
|
+
}
|
|
51
|
+
const isNativeToken = compareAddress(contractAddress, zeroAddress);
|
|
52
|
+
const logo = isNativeToken ? getNativeTokenInfoByChainId(chainId, chains).logoURI : dataCoinBalance?.contractInfo?.logoURI;
|
|
53
|
+
const symbol = isNativeToken ? getNativeTokenInfoByChainId(chainId, chains).symbol : dataCoinBalance?.contractInfo?.symbol;
|
|
54
|
+
const name = isNativeToken ? getNativeTokenInfoByChainId(chainId, chains).name : dataCoinBalance?.contractInfo?.name;
|
|
55
|
+
const decimals = isNativeToken ? getNativeTokenInfoByChainId(chainId, chains).decimals : dataCoinBalance?.contractInfo?.decimals;
|
|
56
|
+
const formattedBalance = formatUnits(BigInt(dataCoinBalance?.balance || '0'), decimals || 18);
|
|
57
|
+
const balanceDisplayed = formatDisplay(formattedBalance);
|
|
58
|
+
const coinBalanceFiat = dataCoinBalance
|
|
59
|
+
? computeBalanceFiat({
|
|
60
|
+
balance: dataCoinBalance,
|
|
61
|
+
prices: dataCoinPrices || [],
|
|
62
|
+
conversionRate,
|
|
63
|
+
decimals: decimals || 0
|
|
64
|
+
})
|
|
65
|
+
: '0';
|
|
66
|
+
const onClickSend = () => {
|
|
67
|
+
setNavigation({
|
|
68
|
+
location: 'send-coin',
|
|
69
|
+
params: {
|
|
70
|
+
chainId,
|
|
71
|
+
contractAddress
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
};
|
|
75
|
+
const onClickSwap = () => {
|
|
76
|
+
setNavigation({
|
|
77
|
+
location: 'swap-coin',
|
|
78
|
+
params: {
|
|
79
|
+
chainId,
|
|
80
|
+
contractAddress
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
return (_jsx("div", { style: { paddingTop: HEADER_HEIGHT }, children: _jsxs("div", { className: "flex flex-col gap-10 pb-5 px-4 pt-0", style: { marginTop: '-20px' }, children: [_jsxs("div", { className: "flex mb-10 gap-2 items-center justify-center flex-col", children: [_jsx(TokenImage, { src: logo, size: "xl" }), _jsx(Text, { variant: "large", color: "primary", fontWeight: "bold", children: name }), _jsx(NetworkBadge, { chainId: chainId })] }), _jsxs("div", { children: [_jsx(Text, { variant: "normal", fontWeight: "medium", color: "muted", children: "Balance" }), _jsxs("div", { className: "flex flex-row items-end justify-between", children: [_jsx(Text, { variant: "xlarge", fontWeight: "bold", color: "primary", children: `${balanceDisplayed} ${symbol}` }), _jsx(Text, { variant: "normal", fontWeight: "medium", color: "muted", children: `${fiatCurrency.sign}${coinBalanceFiat}` })] })] }), !isReadOnly && (_jsxs("div", { className: "flex gap-2", children: [_jsx(Button, { className: "w-full text-primary", variant: "primary", leftIcon: SendIcon, label: "Send", onClick: onClickSend }), _jsx(Button, { className: "w-full text-primary", variant: "primary", leftIcon: SwapIcon, label: "Buy", onClick: onClickSwap })] })), _jsx("div", { children: _jsx(InfiniteScroll, { onLoad: () => fetchNextPage(), hasMore: hasNextPage, children: _jsx(TransactionHistoryList, { transactions: transactionHistory, isPending: isPendingTransactionHistory, isFetchingNextPage: isFetchingNextPage }) }) })] }) }));
|
|
85
|
+
};
|
|
86
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/views/CoinDetails/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Button, SendIcon, Skeleton, Text } from '@0xsequence/design-system';
|
|
3
|
+
import { TransactionHistorySkeleton } from '../../components/TransactionHistoryList/TransactionHistorySkeleton';
|
|
4
|
+
import { HEADER_HEIGHT } from '../../constants';
|
|
5
|
+
export const CollectibleDetailsSkeleton = ({ isReadOnly }) => {
|
|
6
|
+
return (_jsx("div", { style: { paddingTop: HEADER_HEIGHT }, children: _jsxs("div", { className: "flex flex-col gap-10 pb-5 px-4 pt-0", style: {
|
|
7
|
+
marginTop: '-20px'
|
|
8
|
+
}, children: [_jsxs("div", { className: "flex gap-3 items-center justify-center flex-col", children: [_jsx(Skeleton, { style: { width: '120px', height: '16px' } }), _jsx(Skeleton, { style: { width: '140px', height: '44px' } })] }), _jsx("div", { children: _jsx(Skeleton, { style: { width: '100%', aspectRatio: '1/1' } }) }), _jsxs("div", { children: [_jsxs("div", { children: [_jsx(Text, { variant: "normal", fontWeight: "medium", color: "muted", children: "Balance" }), _jsxs("div", { className: "flex flex-row items-end justify-between", children: [_jsx(Skeleton, { style: { width: '44px', height: '36px' } }), _jsx(Skeleton, { style: { width: '34px', height: '17px' } })] })] }), !isReadOnly && (_jsx(Button, { className: "text-primary mt-4 w-full", variant: "primary", leftIcon: SendIcon, label: "Send", onClick: () => { } }))] }), _jsxs("div", { children: [_jsx(Text, { variant: "normal", color: "muted", fontWeight: "medium", children: "This week" }), _jsx(TransactionHistorySkeleton, {})] })] }) }));
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=Skeleton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Skeleton.js","sourceRoot":"","sources":["../../../../src/views/CollectibleDetails/Skeleton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAA;AAE5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,oEAAoE,CAAA;AAC/G,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAM/C,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EAAE,UAAU,EAAmC,EAAE,EAAE;IAC5F,OAAO,CACL,cAAK,KAAK,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,YACvC,eACE,SAAS,EAAC,qCAAqC,EAC/C,KAAK,EAAE;gBACL,SAAS,EAAE,OAAO;aACnB,aAED,eAAK,SAAS,EAAC,iDAAiD,aAC9D,KAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAI,EACvD,KAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAI,IACnD,EACN,wBACE,KAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAI,GACtD,EACN,0BAEE,0BACE,KAAC,IAAI,IAAC,OAAO,EAAC,QAAQ,EAAC,UAAU,EAAC,QAAQ,EAAC,KAAK,EAAC,OAAO,wBAEjD,EACP,eAAK,SAAS,EAAC,yCAAyC,aACtD,KAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAI,EACtD,KAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAI,IAClD,IACF,EACL,CAAC,UAAU,IAAI,CACd,KAAC,MAAM,IAAC,SAAS,EAAC,0BAA0B,EAAC,OAAO,EAAC,SAAS,EAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAC,MAAM,EAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,GAAI,CACtH,IACG,EACN,0BACE,KAAC,IAAI,IAAC,OAAO,EAAC,QAAQ,EAAC,KAAK,EAAC,OAAO,EAAC,UAAU,EAAC,QAAQ,0BAEjD,EACP,KAAC,0BAA0B,KAAG,IAC1B,IACF,GACF,CACP,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { formatDisplay, ContractVerificationStatus } from '@0xsequence/connect';
|
|
3
|
+
import { Button, Image, NetworkImage, SendIcon, Text } from '@0xsequence/design-system';
|
|
4
|
+
import { useGetTokenBalancesDetails, useGetTransactionHistory, useGetCollectiblePrices, useGetExchangeRate } from '@0xsequence/react-hooks';
|
|
5
|
+
import { formatUnits } from 'viem';
|
|
6
|
+
import { useAccount, useConfig } from 'wagmi';
|
|
7
|
+
import { CollectibleTileImage } from '../../components/CollectibleTileImage';
|
|
8
|
+
import { InfiniteScroll } from '../../components/InfiniteScroll';
|
|
9
|
+
import { TransactionHistoryList } from '../../components/TransactionHistoryList';
|
|
10
|
+
import { HEADER_HEIGHT } from '../../constants';
|
|
11
|
+
import { useSettings, useNavigation } from '../../hooks';
|
|
12
|
+
import { computeBalanceFiat, flattenPaginatedTransactionHistory } from '../../utils';
|
|
13
|
+
import { CollectibleDetailsSkeleton } from './Skeleton';
|
|
14
|
+
export const CollectibleDetails = ({ contractAddress, chainId, tokenId }) => {
|
|
15
|
+
const { chains } = useConfig();
|
|
16
|
+
const { address: accountAddress } = useAccount();
|
|
17
|
+
const { fiatCurrency } = useSettings();
|
|
18
|
+
const { setNavigation } = useNavigation();
|
|
19
|
+
const isReadOnly = !chains.map(chain => chain.id).includes(chainId);
|
|
20
|
+
const { data: dataTransactionHistory, isPending: isPendingTransactionHistory, fetchNextPage, hasNextPage, isFetchingNextPage } = useGetTransactionHistory({
|
|
21
|
+
chainId,
|
|
22
|
+
accountAddress: accountAddress || '',
|
|
23
|
+
contractAddress,
|
|
24
|
+
tokenId
|
|
25
|
+
});
|
|
26
|
+
const transactionHistory = flattenPaginatedTransactionHistory(dataTransactionHistory);
|
|
27
|
+
const { data: dataTokens, isPending: isPendingCollectibleBalance } = useGetTokenBalancesDetails({
|
|
28
|
+
filter: {
|
|
29
|
+
accountAddresses: accountAddress ? [accountAddress] : [],
|
|
30
|
+
contractStatus: ContractVerificationStatus.ALL,
|
|
31
|
+
contractWhitelist: [contractAddress],
|
|
32
|
+
omitNativeBalances: true
|
|
33
|
+
},
|
|
34
|
+
chainIds: [chainId]
|
|
35
|
+
});
|
|
36
|
+
const dataCollectibleBalance = dataTokens && dataTokens.length > 0 ? dataTokens.find(token => token.tokenID === tokenId) : undefined;
|
|
37
|
+
const { data: dataCollectiblePrices, isPending: isPendingCollectiblePrices } = useGetCollectiblePrices([
|
|
38
|
+
{
|
|
39
|
+
chainId,
|
|
40
|
+
contractAddress,
|
|
41
|
+
tokenId
|
|
42
|
+
}
|
|
43
|
+
]);
|
|
44
|
+
const { data: conversionRate = 1, isPending: isPendingConversionRate } = useGetExchangeRate(fiatCurrency.symbol);
|
|
45
|
+
const isPending = isPendingCollectibleBalance || isPendingCollectiblePrices || isPendingConversionRate;
|
|
46
|
+
if (isPending) {
|
|
47
|
+
return _jsx(CollectibleDetailsSkeleton, { isReadOnly: isReadOnly });
|
|
48
|
+
}
|
|
49
|
+
const onClickSend = () => {
|
|
50
|
+
setNavigation({
|
|
51
|
+
location: 'send-collectible',
|
|
52
|
+
params: {
|
|
53
|
+
chainId,
|
|
54
|
+
contractAddress,
|
|
55
|
+
tokenId
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
const collectionLogo = dataCollectibleBalance?.contractInfo?.logoURI;
|
|
60
|
+
const collectionName = dataCollectibleBalance?.contractInfo?.name || 'Unknown Collection';
|
|
61
|
+
const decimals = dataCollectibleBalance?.tokenMetadata?.decimals || 0;
|
|
62
|
+
const rawBalance = dataCollectibleBalance?.balance || '0';
|
|
63
|
+
const balance = formatUnits(BigInt(rawBalance), decimals);
|
|
64
|
+
const formattedBalance = formatDisplay(Number(balance));
|
|
65
|
+
const valueFiat = dataCollectibleBalance
|
|
66
|
+
? computeBalanceFiat({
|
|
67
|
+
balance: dataCollectibleBalance,
|
|
68
|
+
prices: dataCollectiblePrices || [],
|
|
69
|
+
conversionRate,
|
|
70
|
+
decimals: decimals
|
|
71
|
+
})
|
|
72
|
+
: '0';
|
|
73
|
+
return (_jsx("div", { style: { paddingTop: HEADER_HEIGHT }, children: _jsxs("div", { className: "flex flex-col gap-10 pb-5 px-4 pt-0", style: {
|
|
74
|
+
marginTop: '-20px'
|
|
75
|
+
}, children: [_jsxs("div", { className: "flex gap-3 items-center justify-center flex-col", children: [_jsxs("div", { className: "flex flex-row gap-2 justify-center items-center", children: [collectionLogo && (_jsx(Image, { className: "rounded-full w-8", src: collectionLogo, alt: "collection logo", style: {
|
|
76
|
+
objectFit: 'cover'
|
|
77
|
+
} })), _jsxs("div", { className: "flex gap-1 flex-row justify-center items-center", children: [_jsx(Text, { variant: "small", fontWeight: "bold", color: "primary", children: collectionName }), _jsx(NetworkImage, { chainId: chainId, size: "xs" })] })] }), _jsxs("div", { className: "flex flex-col justify-center items-center", children: [_jsx(Text, { variant: "large", color: "primary", fontWeight: "bold", children: dataCollectibleBalance?.tokenMetadata?.name || 'Unknown Collectible' }), _jsx(Text, { variant: "small", color: "muted", fontWeight: "medium", children: `#${tokenId}` })] })] }), _jsx("div", { children: _jsx(CollectibleTileImage, { imageUrl: dataCollectibleBalance?.tokenMetadata?.image }) }), _jsxs("div", { children: [_jsxs("div", { children: [_jsx(Text, { variant: "normal", fontWeight: "medium", color: "muted", children: "Balance" }), _jsxs("div", { className: "flex flex-row items-end justify-between", children: [_jsx(Text, { variant: "xlarge", fontWeight: "bold", color: "primary", children: formattedBalance }), dataCollectiblePrices && dataCollectiblePrices[0].price?.value && (_jsx(Text, { variant: "normal", fontWeight: "medium", color: "muted", children: `${fiatCurrency.symbol} ${valueFiat}` }))] })] }), !isReadOnly && (_jsx(Button, { className: "text-primary mt-4 w-full", variant: "primary", leftIcon: SendIcon, label: "Send", onClick: onClickSend }))] }), _jsx("div", { children: _jsx(InfiniteScroll, { onLoad: () => fetchNextPage(), hasMore: hasNextPage, children: _jsx(TransactionHistoryList, { transactions: transactionHistory, isPending: isPendingTransactionHistory, isFetchingNextPage: isFetchingNextPage }) }) })] }) }));
|
|
78
|
+
};
|
|
79
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/views/CollectibleDetails/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Skeleton } from '@0xsequence/design-system';
|
|
3
|
+
import { NetworkBadge } from '../../components/NetworkBadge';
|
|
4
|
+
export const CollectionDetailsSkeleton = ({ chainId }) => {
|
|
5
|
+
return (_jsxs("div", { className: "flex px-4 pb-5 pt-3 mt-8 flex-col items-center justify-center gap-10", children: [_jsxs("div", { className: "flex flex-col gap-2 justify-center items-center", children: [_jsx(Skeleton, { style: { width: '32px', height: '32px' } }), _jsx(Skeleton, { style: { width: '100px', height: '24px' } }), _jsx(NetworkBadge, { chainId: chainId }), _jsx(Skeleton, { style: { width: '142px', height: '17px' } })] }), _jsxs("div", { className: "w-full", children: [_jsx(Skeleton, { style: { width: '168px', height: '20px' } }), _jsx("div", { className: "w-full mt-3 grid gap-2", style: {
|
|
6
|
+
gridTemplateColumns: `calc(50% - 4px) calc(50% - 4px)`
|
|
7
|
+
}, children: Array(8)
|
|
8
|
+
.fill(null)
|
|
9
|
+
.map((_, i) => (_jsx(Skeleton, { className: "w-full aspect-square" }, i))) })] })] }));
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=Skeleton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Skeleton.js","sourceRoot":"","sources":["../../../../src/views/CollectionDetails/Skeleton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAM5D,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,EAAE,OAAO,EAAkC,EAAE,EAAE;IACvF,OAAO,CACL,eAAK,SAAS,EAAC,sEAAsE,aACnF,eAAK,SAAS,EAAC,iDAAiD,aAC9D,KAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAI,EACtD,KAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAI,EACvD,KAAC,YAAY,IAAC,OAAO,EAAE,OAAO,GAAI,EAClC,KAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAI,IACnD,EACN,eAAK,SAAS,EAAC,QAAQ,aACrB,KAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAI,EACvD,cACE,SAAS,EAAC,wBAAwB,EAClC,KAAK,EAAE;4BACL,mBAAmB,EAAE,iCAAiC;yBACvD,YAEA,KAAK,CAAC,CAAC,CAAC;6BACN,IAAI,CAAC,IAAI,CAAC;6BACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACb,KAAC,QAAQ,IAAC,SAAS,EAAC,sBAAsB,IAAM,CAAC,CAAI,CACtD,CAAC,GACA,IACF,IACF,CACP,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { formatDisplay, ContractVerificationStatus } from '@0xsequence/connect';
|
|
3
|
+
import { Image, Text, TokenImage } from '@0xsequence/design-system';
|
|
4
|
+
import { useGetTokenBalancesDetails } from '@0xsequence/react-hooks';
|
|
5
|
+
import { formatUnits } from 'viem';
|
|
6
|
+
import { useAccount } from 'wagmi';
|
|
7
|
+
import { NetworkBadge } from '../../components/NetworkBadge';
|
|
8
|
+
import { useNavigation } from '../../hooks';
|
|
9
|
+
import { CollectionDetailsSkeleton } from './Skeleton';
|
|
10
|
+
export const CollectionDetails = ({ chainId, contractAddress }) => {
|
|
11
|
+
const { setNavigation } = useNavigation();
|
|
12
|
+
const { address: accountAddress } = useAccount();
|
|
13
|
+
const { data: collectionBalanceData, isPending: isPendingCollectionBalance } = useGetTokenBalancesDetails({
|
|
14
|
+
chainIds: [chainId],
|
|
15
|
+
filter: {
|
|
16
|
+
accountAddresses: accountAddress ? [accountAddress] : [],
|
|
17
|
+
contractStatus: ContractVerificationStatus.ALL,
|
|
18
|
+
contractWhitelist: [contractAddress],
|
|
19
|
+
omitNativeBalances: true
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
const contractInfo = collectionBalanceData?.[0]?.contractInfo;
|
|
23
|
+
const collectionLogoURI = contractInfo?.logoURI;
|
|
24
|
+
if (isPendingCollectionBalance) {
|
|
25
|
+
return _jsx(CollectionDetailsSkeleton, { chainId: chainId });
|
|
26
|
+
}
|
|
27
|
+
const onClickItem = (balance) => {
|
|
28
|
+
setNavigation({
|
|
29
|
+
location: 'collectible-details',
|
|
30
|
+
params: {
|
|
31
|
+
contractAddress: balance.contractAddress,
|
|
32
|
+
chainId: balance.chainId,
|
|
33
|
+
tokenId: balance.tokenID || ''
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
return (_jsxs("div", { className: "flex px-4 pb-5 pt-3 mt-8 flex-col items-center justify-center gap-10", children: [_jsxs("div", { className: "flex flex-col gap-2 justify-center items-center", children: [_jsx(TokenImage, { src: collectionLogoURI, size: "lg" }), _jsx(Text, { variant: "large", fontWeight: "bold", color: "primary", children: contractInfo?.name || 'Unknown' }), _jsx(NetworkBadge, { chainId: chainId }), _jsx(Text, { variant: "normal", fontWeight: "medium", color: "muted", children: `${collectionBalanceData?.length || 0} Unique Collectibles` })] }), _jsxs("div", { className: "w-full", children: [_jsx(Text, { variant: "normal", fontWeight: "medium", color: "muted", children: `Owned (${collectionBalanceData?.length || 0})` }), _jsx("div", { className: "w-full mt-3 grid gap-2", style: {
|
|
38
|
+
gridTemplateColumns: `calc(50% - 4px) calc(50% - 4px)`
|
|
39
|
+
}, children: collectionBalanceData?.map((balance, index) => {
|
|
40
|
+
const unformattedBalance = balance.balance;
|
|
41
|
+
const decimals = balance?.tokenMetadata?.decimals || 0;
|
|
42
|
+
const formattedBalance = formatDisplay(formatUnits(BigInt(unformattedBalance), decimals));
|
|
43
|
+
return (_jsxs("div", { className: "select-none cursor-pointer", onClick: () => onClickItem(balance), children: [_jsx("div", { className: "flex bg-background-secondary aspect-square w-full rounded-xl justify-center items-center mb-2", children: _jsx(Image, { className: "rounded-lg", style: { height: '100%' }, src: balance.tokenMetadata?.image }) }), _jsx("div", { children: _jsx(Text, { variant: "normal", fontWeight: "bold", color: "primary", children: `${balance.tokenMetadata?.name}` }) }), _jsx("div", { children: _jsxs(Text, { className: "mt-1", variant: "normal", fontWeight: "medium", color: "muted", children: [formattedBalance, " Owned"] }) })] }, index));
|
|
44
|
+
}) })] })] }));
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/views/CollectionDetails/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useGetTransactionHistorySummary } from '@0xsequence/react-hooks';
|
|
3
|
+
import { useAccount } from 'wagmi';
|
|
4
|
+
import { TransactionHistoryList } from '../components/TransactionHistoryList';
|
|
5
|
+
import { useSettings } from '../hooks';
|
|
6
|
+
export const History = () => {
|
|
7
|
+
const { selectedNetworks } = useSettings();
|
|
8
|
+
const { address: accountAddress } = useAccount();
|
|
9
|
+
const { data: transactionHistory = [], isPending: isPendingTransactionHistory } = useGetTransactionHistorySummary({
|
|
10
|
+
accountAddress: accountAddress || '',
|
|
11
|
+
chainIds: selectedNetworks
|
|
12
|
+
});
|
|
13
|
+
return (_jsx("div", { children: _jsx("div", { className: "px-4 pb-5 pt-3", children: _jsx(TransactionHistoryList, { transactions: transactionHistory, isPending: isPendingTransactionHistory, isFetchingNextPage: false }) }) }));
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=History.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"History.js","sourceRoot":"","sources":["../../../src/views/History.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAA;AAEzE,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAElC,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAEtC,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE;IAC1B,MAAM,EAAE,gBAAgB,EAAE,GAAG,WAAW,EAAE,CAAA;IAC1C,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,UAAU,EAAE,CAAA;IAEhD,MAAM,EAAE,IAAI,EAAE,kBAAkB,GAAG,EAAE,EAAE,SAAS,EAAE,2BAA2B,EAAE,GAAG,+BAA+B,CAAC;QAChH,cAAc,EAAE,cAAc,IAAI,EAAE;QACpC,QAAQ,EAAE,gBAAgB;KAC3B,CAAC,CAAA;IAEF,OAAO,CACL,wBACE,cAAK,SAAS,EAAC,gBAAgB,YAC7B,KAAC,sBAAsB,IACrB,YAAY,EAAE,kBAAkB,EAChC,SAAS,EAAE,2BAA2B,EACtC,kBAAkB,EAAE,KAAK,GACzB,GACE,GACF,CACP,CAAA;AACH,CAAC,CAAA"}
|