@ape.swap/bonds-sdk 6.2.13 → 6.2.14
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/README.md +25 -27
- package/dist/components/BondFilters/BondFilters.js +3 -3
- package/dist/components/BondFilters/BondFilters.js.map +1 -1
- package/dist/components/Carousel/index.d.ts +1 -1
- package/dist/components/Carousel/index.js +7 -4
- package/dist/components/Carousel/index.js.map +1 -1
- package/dist/components/Carousel/styles.d.ts +35 -0
- package/dist/components/Carousel/styles.js +40 -0
- package/dist/components/Carousel/styles.js.map +1 -0
- package/dist/components/ChainOptionList/ChainOptionsButtons.d.ts +1 -1
- package/dist/components/ChainOptionList/ChainOptionsButtons.js +9 -6
- package/dist/components/ChainOptionList/ChainOptionsButtons.js.map +1 -1
- package/dist/components/ChainOptionList/ChainOptionsList.d.ts +1 -1
- package/dist/components/ChainOptionList/ChainOptionsList.js +4 -3
- package/dist/components/ChainOptionList/ChainOptionsList.js.map +1 -1
- package/dist/components/ChainOptionList/styles.d.ts +2 -0
- package/dist/components/ChainOptionList/styles.js +54 -0
- package/dist/components/ChainOptionList/styles.js.map +1 -0
- package/dist/components/CircularProgress/index.js +14 -3
- package/dist/components/CircularProgress/index.js.map +1 -1
- package/dist/components/ConnectAptosWalletButton/ConnectAptosWalletButton.d.ts +1 -1
- package/dist/components/ConnectAptosWalletButton/ConnectAptosWalletButton.js +7 -2
- package/dist/components/ConnectAptosWalletButton/ConnectAptosWalletButton.js.map +1 -1
- package/dist/components/ConnectButton/index.d.ts +2 -1
- package/dist/components/ConnectButton/index.js +1 -1
- package/dist/components/ConnectSolanaWalletButton/ConnectSolanaWalletButton.d.ts +1 -1
- package/dist/components/ConnectSolanaWalletButton/ConnectSolanaWalletButton.js +7 -2
- package/dist/components/ConnectSolanaWalletButton/ConnectSolanaWalletButton.js.map +1 -1
- package/dist/components/ConnectSuiWalletButton/ConnectSuiWalletButton.d.ts +2 -1
- package/dist/components/ConnectoToVmBanners/ConnectToAptosBanner.d.ts +1 -1
- package/dist/components/ConnectoToVmBanners/ConnectToAptosBanner.js +31 -2
- package/dist/components/ConnectoToVmBanners/ConnectToAptosBanner.js.map +1 -1
- package/dist/components/ConnectoToVmBanners/ConnectToEvmBanner.d.ts +1 -1
- package/dist/components/ConnectoToVmBanners/ConnectToEvmBanner.js +41 -2
- package/dist/components/ConnectoToVmBanners/ConnectToEvmBanner.js.map +1 -1
- package/dist/components/ConnectoToVmBanners/ConnectToSolanaBanner.d.ts +1 -1
- package/dist/components/ConnectoToVmBanners/ConnectToSolanaBanner.js +34 -10
- package/dist/components/ConnectoToVmBanners/ConnectToSolanaBanner.js.map +1 -1
- package/dist/components/ConnectoToVmBanners/ConnectToSuiBanner.d.ts +1 -1
- package/dist/components/ConnectoToVmBanners/ConnectToSuiBanner.js +31 -2
- package/dist/components/ConnectoToVmBanners/ConnectToSuiBanner.js.map +1 -1
- package/dist/components/CustomClaimModals/AbondModal.d.ts +2 -1
- package/dist/components/CustomClaimModals/AbondModal.js +3 -2
- package/dist/components/CustomClaimModals/AbondModal.js.map +1 -1
- package/dist/components/CustomClaimModals/OabondModal.d.ts +2 -1
- package/dist/components/CustomClaimModals/OabondModal.js +3 -2
- package/dist/components/CustomClaimModals/OabondModal.js.map +1 -1
- package/dist/components/CustomClaimModals/PmusdModal.d.ts +2 -1
- package/dist/components/CustomClaimModals/PmusdModal.js +9 -2
- package/dist/components/CustomClaimModals/PmusdModal.js.map +1 -1
- package/dist/components/CustomClaimModals/PostClaimModal.d.ts +2 -1
- package/dist/components/CustomClaimModals/PostClaimModal.js +3 -2
- package/dist/components/CustomClaimModals/PostClaimModal.js.map +1 -1
- package/dist/components/FavIcons/AddFavToken.d.ts +2 -1
- package/dist/components/FavIcons/AddFavToken.js +2 -2
- package/dist/components/FavIcons/AddFavToken.js.map +1 -1
- package/dist/components/FavIcons/FavFilter.d.ts +2 -1
- package/dist/components/FavIcons/FavFilter.js +3 -3
- package/dist/components/FavIcons/FavFilter.js.map +1 -1
- package/dist/components/LoadingSpinner/index.d.ts +2 -1
- package/dist/components/LoadingSpinner/index.js +30 -8
- package/dist/components/LoadingSpinner/index.js.map +1 -1
- package/dist/components/MenuSelect/MenuSelect.d.ts +2 -1
- package/dist/components/MenuSelect/MenuSelect.js +9 -12
- package/dist/components/MenuSelect/MenuSelect.js.map +1 -1
- package/dist/components/MenuSelect/RecommendationSelector.d.ts +2 -1
- package/dist/components/MenuSelect/RecommendationSelector.js +24 -4
- package/dist/components/MenuSelect/RecommendationSelector.js.map +1 -1
- package/dist/components/NetworkFilter/index.d.ts +2 -1
- package/dist/components/NetworkFilter/index.js +47 -9
- package/dist/components/NetworkFilter/index.js.map +1 -1
- package/dist/components/PlaceholderMonkey/index.d.ts +2 -1
- package/dist/components/PlaceholderMonkey/index.js +7 -2
- package/dist/components/PlaceholderMonkey/index.js.map +1 -1
- package/dist/components/ProgressBar/ProgressBar.js +5 -3
- package/dist/components/ProgressBar/ProgressBar.js.map +1 -1
- package/dist/components/ProgressBar/ProgressBarWrapper.d.ts +2 -2
- package/dist/components/ProgressBar/ProgressBarWrapper.js +4 -4
- package/dist/components/ProgressBar/ProgressBarWrapper.js.map +1 -1
- package/dist/components/ProgressBar/styles.d.ts +2 -0
- package/dist/components/ProgressBar/styles.js +15 -0
- package/dist/components/ProgressBar/styles.js.map +1 -0
- package/dist/components/ProgressiveImage/index.d.ts +2 -1
- package/dist/components/ProgressiveImage/index.js +21 -3
- package/dist/components/ProgressiveImage/index.js.map +1 -1
- package/dist/components/SafeHTMLComponent/index.d.ts +2 -1
- package/dist/components/SafeHTMLComponent/index.js +1 -1
- package/dist/components/SlippageModal/index.d.ts +2 -1
- package/dist/components/SlippageModal/index.js +43 -7
- package/dist/components/SlippageModal/index.js.map +1 -1
- package/dist/components/StepBubble/index.d.ts +2 -1
- package/dist/components/StepBubble/index.js +33 -5
- package/dist/components/StepBubble/index.js.map +1 -1
- package/dist/components/Toast/index.d.ts +2 -1
- package/dist/components/Toast/index.js +15 -4
- package/dist/components/Toast/index.js.map +1 -1
- package/dist/components/Toast/styles.d.ts +3 -0
- package/dist/components/Toast/styles.js +30 -0
- package/dist/components/Toast/styles.js.map +1 -0
- package/dist/components/TokenInfoAndName/index.d.ts +3 -3
- package/dist/components/TokenInfoAndName/index.js +19 -9
- package/dist/components/TokenInfoAndName/index.js.map +1 -1
- package/dist/components/TokenSelectorModal/TokenRow.d.ts +2 -1
- package/dist/components/TokenSelectorModal/TokenRow.js +3 -3
- package/dist/components/TokenSelectorModal/TokenRow.js.map +1 -1
- package/dist/components/TokenSelectorModal/index.js +14 -2
- package/dist/components/TokenSelectorModal/index.js.map +1 -1
- package/dist/components/TokenSelectorPanel/index.d.ts +1 -1
- package/dist/components/TokenSelectorPanel/index.js +9 -6
- package/dist/components/TokenSelectorPanel/index.js.map +1 -1
- package/dist/components/Tooltip/ButtonsRow.js +4 -3
- package/dist/components/Tooltip/ButtonsRow.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.js +4 -4
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/Tooltip/styles.d.ts +2 -0
- package/dist/components/Tooltip/styles.js +32 -0
- package/dist/components/Tooltip/styles.js.map +1 -0
- package/dist/components/YouTooltip/YouTooltip.d.ts +2 -1
- package/dist/components/YouTooltip/YouTooltip.js +24 -2
- package/dist/components/YouTooltip/YouTooltip.js.map +1 -1
- package/dist/components/uikit-sdk/Button/Button.d.ts +2 -1
- package/dist/components/uikit-sdk/Button/Button.js +40 -34
- package/dist/components/uikit-sdk/Button/Button.js.map +1 -1
- package/dist/components/uikit-sdk/Button/IconButton.js +15 -17
- package/dist/components/uikit-sdk/Button/IconButton.js.map +1 -1
- package/dist/components/uikit-sdk/Button/styles.d.ts +3 -0
- package/dist/components/uikit-sdk/Button/styles.js +31 -0
- package/dist/components/uikit-sdk/Button/styles.js.map +1 -0
- package/dist/components/uikit-sdk/Button/types.d.ts +2 -1
- package/dist/components/uikit-sdk/Button/types.js +6 -6
- package/dist/components/uikit-sdk/Button/types.js.map +1 -1
- package/dist/components/uikit-sdk/Checkbox/index.d.ts +1 -1
- package/dist/components/uikit-sdk/Checkbox/index.js +8 -11
- package/dist/components/uikit-sdk/Checkbox/index.js.map +1 -1
- package/dist/components/uikit-sdk/Checkbox/types.d.ts +2 -2
- package/dist/components/uikit-sdk/Checkbox/types.js.map +1 -1
- package/dist/components/uikit-sdk/Flex/index.d.ts +3 -9
- package/dist/components/uikit-sdk/Flex/index.js +4 -8
- package/dist/components/uikit-sdk/Flex/index.js.map +1 -1
- package/dist/components/uikit-sdk/Input/Input.d.ts +2 -3
- package/dist/components/uikit-sdk/Input/Input.js +33 -7
- package/dist/components/uikit-sdk/Input/Input.js.map +1 -1
- package/dist/components/uikit-sdk/LoadingDots/index.d.ts +1 -1
- package/dist/components/uikit-sdk/LoadingDots/index.js +21 -2
- package/dist/components/uikit-sdk/LoadingDots/index.js.map +1 -1
- package/dist/components/uikit-sdk/Modal/ModalHeader.js +5 -5
- package/dist/components/uikit-sdk/Modal/ModalHeader.js.map +1 -1
- package/dist/components/uikit-sdk/Modal/index.d.ts +2 -1
- package/dist/components/uikit-sdk/Modal/index.js +6 -11
- package/dist/components/uikit-sdk/Modal/index.js.map +1 -1
- package/dist/components/uikit-sdk/Modal/styles.d.ts +3 -0
- package/dist/components/uikit-sdk/Modal/styles.js +47 -0
- package/dist/components/uikit-sdk/Modal/styles.js.map +1 -0
- package/dist/components/uikit-sdk/Modal/types.d.ts +3 -3
- package/dist/components/uikit-sdk/Select/Select.d.ts +2 -1
- package/dist/components/uikit-sdk/Select/Select.js +17 -19
- package/dist/components/uikit-sdk/Select/Select.js.map +1 -1
- package/dist/components/uikit-sdk/Select/SelectItem.d.ts +1 -1
- package/dist/components/uikit-sdk/Select/SelectItem.js +15 -26
- package/dist/components/uikit-sdk/Select/SelectItem.js.map +1 -1
- package/dist/components/uikit-sdk/Select/styles.d.ts +4 -0
- package/dist/components/uikit-sdk/Select/styles.js +50 -0
- package/dist/components/uikit-sdk/Select/styles.js.map +1 -0
- package/dist/components/uikit-sdk/Select/types.d.ts +0 -1
- package/dist/components/uikit-sdk/Select/types.js +9 -9
- package/dist/components/uikit-sdk/Select/types.js.map +1 -1
- package/dist/components/uikit-sdk/Skeleton/index.d.ts +2 -1
- package/dist/components/uikit-sdk/Skeleton/index.js +8 -7
- package/dist/components/uikit-sdk/Skeleton/index.js.map +1 -1
- package/dist/components/uikit-sdk/Skeleton/styles.d.ts +3 -0
- package/dist/components/uikit-sdk/Skeleton/styles.js +43 -0
- package/dist/components/uikit-sdk/Skeleton/styles.js.map +1 -0
- package/dist/components/uikit-sdk/Skeleton/types.d.ts +2 -2
- package/dist/components/uikit-sdk/Skeleton/types.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/AllChains.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Arrow.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Arrow.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/BitTensor.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Caret.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Caret.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Close.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Close.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Cog.d.ts +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Cog.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Cog.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/CoinGecko.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/CoinGecko.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/DexScreener.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/DexScreener.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Discord.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Discord.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Discount.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Discount.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Error.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Error.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Expand.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Expand.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/External.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/External.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/FirePink.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/GiftBox.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/GiftBoxPlain.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Insight.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Insight.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/L1X.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/LineChart.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/More.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/More.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/NewOffer.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/NewOffer.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/PlaceholderMonkey.d.ts +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/PlaceholderMonkey.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/PlaceholderMonkey.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Question.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/QuestionCircle.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/QuestionCircle.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Robinhood.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Search.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Search.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/SellingFast.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/SellingFast.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/ShortSupply.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Sort.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Sort.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Star.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/StarFilled.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Success.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Success.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Tag.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Tick.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Tick.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Timer.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/TurnArrow.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/TurnArrow.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Twitter.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Twitter.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/URL.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/URL.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/WhaleActivity.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/WhaleActivity.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/styles.d.ts +2 -5
- package/dist/components/uikit-sdk/Svg/styles.js +7 -9
- package/dist/components/uikit-sdk/Svg/styles.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/APTOS.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/ARBITRUM.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/AVAX.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/BASE.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/BERA.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/BLAST.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/BNB.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/CROSSFI.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/ETH.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/GraphLinq.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/HYPEREVM.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/INEVM.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/IOTA.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/KATANA.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/LIGHTLINK.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/LINEA.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/MEGAETH.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/MONAD.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/POLYGON.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/SOL.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/SONIC.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/SUI.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/TLOS.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/UNICHAIN.js +1 -1
- package/dist/components/uikit-sdk/SwiperDots/index.d.ts +2 -1
- package/dist/components/uikit-sdk/SwiperDots/index.js +9 -3
- package/dist/components/uikit-sdk/SwiperDots/index.js.map +1 -1
- package/dist/components/uikit-sdk/TabNav/index.js +34 -3
- package/dist/components/uikit-sdk/TabNav/index.js.map +1 -1
- package/dist/components/uikit-sdk/Tag/ListTag.d.ts +2 -1
- package/dist/components/uikit-sdk/Tag/ListTag.js +16 -13
- package/dist/components/uikit-sdk/Tag/ListTag.js.map +1 -1
- package/dist/components/uikit-sdk/Text/index.d.ts +2 -1
- package/dist/components/uikit-sdk/Text/index.js +8 -29
- package/dist/components/uikit-sdk/Text/index.js.map +1 -1
- package/dist/components/uikit-sdk/Text/types.d.ts +2 -2
- package/dist/components/uikit-sdk/Text/types.js.map +1 -1
- package/dist/components/uikit-sdk/Toggle/index.d.ts +2 -1
- package/dist/components/uikit-sdk/Toggle/index.js +8 -7
- package/dist/components/uikit-sdk/Toggle/index.js.map +1 -1
- package/dist/components/uikit-sdk/Toggle/styles.d.ts +3 -0
- package/dist/components/uikit-sdk/Toggle/styles.js +22 -0
- package/dist/components/uikit-sdk/Toggle/styles.js.map +1 -0
- package/dist/components/uikit-sdk/TokenImage/index.d.ts +2 -1
- package/dist/components/uikit-sdk/TokenImage/index.js +45 -3
- package/dist/components/uikit-sdk/TokenImage/index.js.map +1 -1
- package/dist/components/uikit-sdk/TooltipBubble/index.js +52 -32
- package/dist/components/uikit-sdk/TooltipBubble/index.js.map +1 -1
- package/dist/components/uikit-sdk/TooltipBubble/styles.d.ts +4 -0
- package/dist/components/uikit-sdk/TooltipBubble/styles.js +108 -0
- package/dist/components/uikit-sdk/TooltipBubble/styles.js.map +1 -0
- package/dist/components/uikit-sdk/TooltipBubble/types.d.ts +4 -5
- package/dist/components/uikit-sdk/TooltipBubble/types.js.map +1 -1
- package/dist/contexts/ModalContext.d.ts +1 -1
- package/dist/contexts/ModalContext.js +1 -1
- package/dist/contexts/Popups.d.ts +1 -1
- package/dist/contexts/Popups.js +2 -2
- package/dist/contexts/Popups.js.map +1 -1
- package/dist/providers/AptosWalletProvider.d.ts +1 -1
- package/dist/providers/SolanaWalletProvider.d.ts +1 -1
- package/dist/providers/SuiWalletProvider.d.ts +1 -1
- package/dist/providers/index.d.ts +13 -2
- package/dist/providers/index.js +36 -7
- package/dist/providers/index.js.map +1 -1
- package/dist/state/useSDKConfig.d.ts +0 -6
- package/dist/state/useSDKConfig.js.map +1 -1
- package/dist/styles.css +1588 -2
- package/dist/theme/base.d.ts +109 -0
- package/dist/theme/base.js +125 -0
- package/dist/theme/base.js.map +1 -0
- package/dist/theme/components.d.ts +411 -0
- package/dist/theme/components.js +365 -0
- package/dist/theme/components.js.map +1 -0
- package/dist/theme/index.d.ts +2 -0
- package/dist/theme/index.js +12 -0
- package/dist/theme/index.js.map +1 -0
- package/dist/utils/campaignStyles.d.ts +5 -5
- package/dist/utils/campaignStyles.js.map +1 -1
- package/dist/views/Bonds/Bonds.d.ts +2 -1
- package/dist/views/Bonds/Bonds.js +11 -2
- package/dist/views/Bonds/Bonds.js.map +1 -1
- package/dist/views/Bonds/components/BondRows/ActiveBondRows.js +9 -5
- package/dist/views/Bonds/components/BondRows/ActiveBondRows.js.map +1 -1
- package/dist/views/Bonds/components/BondRows/BondRow.js +12 -13
- package/dist/views/Bonds/components/BondRows/BondRow.js.map +1 -1
- package/dist/views/Bonds/components/BondRows/ChainTitle.d.ts +2 -1
- package/dist/views/Bonds/components/BondRows/ChainTitle.js +13 -5
- package/dist/views/Bonds/components/BondRows/ChainTitle.js.map +1 -1
- package/dist/views/Bonds/components/BondRows/ModalHandler.d.ts +2 -1
- package/dist/views/Bonds/components/BondRows/ModalHandler.js +1 -1
- package/dist/views/Bonds/components/BondRows/ModalHandlerPreTGE.d.ts +2 -1
- package/dist/views/Bonds/components/BondRows/ModalHandlerPreTGE.js +1 -1
- package/dist/views/Bonds/components/BondRows/SoldOutRows.d.ts +2 -1
- package/dist/views/Bonds/components/BondRows/SoldOutRows.js +8 -6
- package/dist/views/Bonds/components/BondRows/SoldOutRows.js.map +1 -1
- package/dist/views/Bonds/components/BondsMenu/BondsMenu.js +10 -4
- package/dist/views/Bonds/components/BondsMenu/BondsMenu.js.map +1 -1
- package/dist/views/Bonds/components/BonusComponents/BonusComponent.d.ts +2 -1
- package/dist/views/Bonds/components/BonusComponents/BonusComponent.js +25 -5
- package/dist/views/Bonds/components/BonusComponents/BonusComponent.js.map +1 -1
- package/dist/views/Bonds/components/BonusComponents/BonusContainer.d.ts +3 -3
- package/dist/views/Bonds/components/BonusComponents/BonusContainer.js +3 -6
- package/dist/views/Bonds/components/BonusComponents/BonusContainer.js.map +1 -1
- package/dist/views/Bonds/components/BonusComponents/BonusTable.d.ts +2 -1
- package/dist/views/Bonds/components/BonusComponents/BonusTable.js +21 -8
- package/dist/views/Bonds/components/BonusComponents/BonusTable.js.map +1 -1
- package/dist/views/Bonds/components/BuyAgainRow/index.d.ts +2 -1
- package/dist/views/Bonds/components/BuyAgainRow/index.js +22 -3
- package/dist/views/Bonds/components/BuyAgainRow/index.js.map +1 -1
- package/dist/views/Bonds/components/ChainBanner/ChainBanner.d.ts +2 -1
- package/dist/views/Bonds/components/ChainBanner/ChainBanner.js +11 -7
- package/dist/views/Bonds/components/ChainBanner/ChainBanner.js.map +1 -1
- package/dist/views/Bonds/components/CheckURL/index.d.ts +2 -1
- package/dist/views/Bonds/components/CheckURL/index.js +1 -1
- package/dist/views/Bonds/components/HotBondCards/HotBondCard.d.ts +2 -1
- package/dist/views/Bonds/components/HotBondCards/HotBondCard.js +19 -2
- package/dist/views/Bonds/components/HotBondCards/HotBondCard.js.map +1 -1
- package/dist/views/Bonds/components/HotBondCards/index.d.ts +2 -1
- package/dist/views/Bonds/components/HotBondCards/index.js +14 -3
- package/dist/views/Bonds/components/HotBondCards/index.js.map +1 -1
- package/dist/views/Bonds/components/HotBondCards/styles.d.ts +35 -0
- package/dist/views/Bonds/components/HotBondCards/styles.js +38 -0
- package/dist/views/Bonds/components/HotBondCards/styles.js.map +1 -0
- package/dist/views/Bonds/components/LoadingSkeleton/LoadingSkeleton.d.ts +2 -1
- package/dist/views/Bonds/components/LoadingSkeleton/LoadingSkeleton.js +17 -2
- package/dist/views/Bonds/components/LoadingSkeleton/LoadingSkeleton.js.map +1 -1
- package/dist/views/Bonds/components/RecommendationCards/SmallRecommendationCard.d.ts +2 -1
- package/dist/views/Bonds/components/RecommendationCards/SmallRecommendationCard.js +3 -3
- package/dist/views/Bonds/components/RecommendationCards/SmallRecommendationCard.js.map +1 -1
- package/dist/views/Bonds/components/RecommendationCards/index.d.ts +2 -1
- package/dist/views/Bonds/components/RecommendationCards/index.js +12 -2
- package/dist/views/Bonds/components/RecommendationCards/index.js.map +1 -1
- package/dist/views/Bonds/components/RecommendationCards/styles.d.ts +2 -0
- package/dist/views/Bonds/components/RecommendationCards/styles.js +24 -0
- package/dist/views/Bonds/components/RecommendationCards/styles.js.map +1 -0
- package/dist/views/Bonds/index.js +1 -1
- package/dist/views/BuyBond/BuyBondModal.js +2 -2
- package/dist/views/BuyBond/BuyBondModal.js.map +1 -1
- package/dist/views/BuyBond/BuyComponent.js +34 -7
- package/dist/views/BuyBond/BuyComponent.js.map +1 -1
- package/dist/views/BuyBond/BuyComponentAptos.js +9 -3
- package/dist/views/BuyBond/BuyComponentAptos.js.map +1 -1
- package/dist/views/BuyBond/BuyComponentPreTGE.d.ts +2 -1
- package/dist/views/BuyBond/BuyComponentPreTGE.js +24 -5
- package/dist/views/BuyBond/BuyComponentPreTGE.js.map +1 -1
- package/dist/views/BuyBond/BuyComponentSolana.js +10 -4
- package/dist/views/BuyBond/BuyComponentSolana.js.map +1 -1
- package/dist/views/BuyBond/BuyComponentSui.js +9 -3
- package/dist/views/BuyBond/BuyComponentSui.js.map +1 -1
- package/dist/views/BuyBond/ParticipationSuccessful.d.ts +2 -1
- package/dist/views/BuyBond/ParticipationSuccessful.js +26 -8
- package/dist/views/BuyBond/ParticipationSuccessful.js.map +1 -1
- package/dist/views/BuyBond/components/BondCards/BondCards.d.ts +2 -1
- package/dist/views/BuyBond/components/BondCards/BondCards.js +54 -6
- package/dist/views/BuyBond/components/BondCards/BondCards.js.map +1 -1
- package/dist/views/BuyBond/components/BondCards/BondCardsPreTGE.d.ts +2 -1
- package/dist/views/BuyBond/components/BondCards/BondCardsPreTGE.js +56 -3
- package/dist/views/BuyBond/components/BondCards/BondCardsPreTGE.js.map +1 -1
- package/dist/views/BuyBond/components/BondModalHeader.d.ts +2 -1
- package/dist/views/BuyBond/components/BondModalHeader.js +48 -4
- package/dist/views/BuyBond/components/BondModalHeader.js.map +1 -1
- package/dist/views/BuyBond/components/BondModalMinTierHeader.d.ts +1 -1
- package/dist/views/BuyBond/components/BondModalMinTierHeader.js +8 -3
- package/dist/views/BuyBond/components/BondModalMinTierHeader.js.map +1 -1
- package/dist/views/BuyBond/components/Estimations.d.ts +2 -1
- package/dist/views/BuyBond/components/Estimations.js +37 -8
- package/dist/views/BuyBond/components/Estimations.js.map +1 -1
- package/dist/views/BuyBond/components/ExpandedViewButton.d.ts +2 -1
- package/dist/views/BuyBond/components/ExpandedViewButton.js +15 -2
- package/dist/views/BuyBond/components/ExpandedViewButton.js.map +1 -1
- package/dist/views/BuyBond/components/GetUpToComponent/GetUpToComponent.js +30 -3
- package/dist/views/BuyBond/components/GetUpToComponent/GetUpToComponent.js.map +1 -1
- package/dist/views/BuyBond/components/L1xIframe/L1xIframe.d.ts +5 -0
- package/dist/views/BuyBond/components/L1xIframe/L1xIframe.js +12 -0
- package/dist/views/BuyBond/components/L1xIframe/L1xIframe.js.map +1 -0
- package/dist/views/BuyBond/components/NewRateModal/NewRateModal.d.ts +2 -1
- package/dist/views/BuyBond/components/NewRateModal/NewRateModal.js +14 -2
- package/dist/views/BuyBond/components/NewRateModal/NewRateModal.js.map +1 -1
- package/dist/views/BuyBond/components/NoBonusModal/NoBonusModal.js +2 -2
- package/dist/views/BuyBond/components/NoBonusModal/NoBonusModal.js.map +1 -1
- package/dist/views/BuyBond/components/PointsLeftForNextTier/PointsLeftForNextTier.js +86 -11
- package/dist/views/BuyBond/components/PointsLeftForNextTier/PointsLeftForNextTier.js.map +1 -1
- package/dist/views/BuyBond/components/ProjectDescription.d.ts +2 -1
- package/dist/views/BuyBond/components/ProjectDescription.js +15 -2
- package/dist/views/BuyBond/components/ProjectDescription.js.map +1 -1
- package/dist/views/BuyBond/index.js +1 -1
- package/dist/views/BuyBond/styles.d.ts +2 -0
- package/dist/views/BuyBond/styles.js +33 -0
- package/dist/views/BuyBond/styles.js.map +1 -0
- package/dist/views/FullBondsView/FullBondsView.d.ts +2 -1
- package/dist/views/FullBondsView/FullBondsView.js +2 -2
- package/dist/views/FullBondsView/FullBondsView.js.map +1 -1
- package/dist/views/FullBondsView/index.js +1 -1
- package/dist/views/LifiModal/LifiModal.d.ts +2 -1
- package/dist/views/LifiModal/LifiModal.js +2 -2
- package/dist/views/LifiModal/LifiModal.js.map +1 -1
- package/dist/views/ProjectView/ProjectView.js +15 -2
- package/dist/views/ProjectView/ProjectView.js.map +1 -1
- package/dist/views/ProjectView/components/BondLeaderboard/components/SalesTable.d.ts +2 -1
- package/dist/views/ProjectView/components/BondLeaderboard/components/SalesTable.js +22 -3
- package/dist/views/ProjectView/components/BondLeaderboard/components/SalesTable.js.map +1 -1
- package/dist/views/ProjectView/components/BondLeaderboard/components/TopSaleCard.d.ts +2 -1
- package/dist/views/ProjectView/components/BondLeaderboard/components/TopSaleCard.js +19 -7
- package/dist/views/ProjectView/components/BondLeaderboard/components/TopSaleCard.js.map +1 -1
- package/dist/views/ProjectView/components/BondLeaderboard/components/TopThreeSalesCards.d.ts +2 -1
- package/dist/views/ProjectView/components/BondLeaderboard/components/TopThreeSalesCards.js +2 -2
- package/dist/views/ProjectView/components/BondLeaderboard/components/TopThreeSalesCards.js.map +1 -1
- package/dist/views/ProjectView/components/BondLeaderboard/components/styles.d.ts +2 -0
- package/dist/views/ProjectView/components/BondLeaderboard/components/styles.js +51 -0
- package/dist/views/ProjectView/components/BondLeaderboard/components/styles.js.map +1 -0
- package/dist/views/ProjectView/components/BondLeaderboard/index.d.ts +2 -1
- package/dist/views/ProjectView/components/BondLeaderboard/index.js +14 -2
- package/dist/views/ProjectView/components/BondLeaderboard/index.js.map +1 -1
- package/dist/views/ProjectView/components/BondStats/LineChart.js +10 -4
- package/dist/views/ProjectView/components/BondStats/LineChart.js.map +1 -1
- package/dist/views/ProjectView/components/BondStats/index.d.ts +2 -1
- package/dist/views/ProjectView/components/BondStats/index.js +4 -2
- package/dist/views/ProjectView/components/BondStats/index.js.map +1 -1
- package/dist/views/ProjectView/components/BondStats/styles.d.ts +2 -0
- package/dist/views/ProjectView/components/BondStats/styles.js +49 -0
- package/dist/views/ProjectView/components/BondStats/styles.js.map +1 -0
- package/dist/views/ProjectView/components/NavPanel/index.d.ts +2 -1
- package/dist/views/ProjectView/components/NavPanel/index.js +10 -2
- package/dist/views/ProjectView/components/NavPanel/index.js.map +1 -1
- package/dist/views/ProjectView/components/PriceChart/components/CandleStickChart.d.ts +2 -1
- package/dist/views/ProjectView/components/PriceChart/components/CandleStickChart.js +1 -1
- package/dist/views/ProjectView/components/PriceChart/components/LineChart.d.ts +2 -1
- package/dist/views/ProjectView/components/PriceChart/components/LineChart.js +1 -1
- package/dist/views/ProjectView/components/PriceChart/index.d.ts +2 -1
- package/dist/views/ProjectView/components/PriceChart/index.js +3 -4
- package/dist/views/ProjectView/components/PriceChart/index.js.map +1 -1
- package/dist/views/ProjectView/components/PriceChart/styles.d.ts +2 -0
- package/dist/views/ProjectView/components/PriceChart/styles.js +44 -0
- package/dist/views/ProjectView/components/PriceChart/styles.js.map +1 -0
- package/dist/views/ProjectView/components/ProjectInfo/index.d.ts +2 -1
- package/dist/views/ProjectView/components/ProjectInfo/index.js +3 -2
- package/dist/views/ProjectView/components/ProjectInfo/index.js.map +1 -1
- package/dist/views/ProjectView/components/ProjectInfo/styles.d.ts +2 -0
- package/dist/views/ProjectView/components/ProjectInfo/styles.js +21 -0
- package/dist/views/ProjectView/components/ProjectInfo/styles.js.map +1 -0
- package/dist/views/ProjectView/components/RecommendationCards/index.d.ts +2 -1
- package/dist/views/ProjectView/components/RecommendationCards/index.js +16 -2
- package/dist/views/ProjectView/components/RecommendationCards/index.js.map +1 -1
- package/dist/views/ProjectView/index.js +1 -1
- package/dist/views/ProjectView/styles.d.ts +2 -0
- package/dist/views/ProjectView/styles.js +10 -0
- package/dist/views/ProjectView/styles.js.map +1 -0
- package/dist/views/SingleBond/SingleBond.js +10 -4
- package/dist/views/SingleBond/SingleBond.js.map +1 -1
- package/dist/views/SingleBond/SoldOutBuyBondPlaceholder.js +28 -5
- package/dist/views/SingleBond/SoldOutBuyBondPlaceholder.js.map +1 -1
- package/dist/views/SingleBond/index.js +1 -1
- package/dist/views/TransactionModal/TransactionModal.d.ts +2 -1
- package/dist/views/TransactionModal/TransactionModal.js +40 -13
- package/dist/views/TransactionModal/TransactionModal.js.map +1 -1
- package/dist/views/YourBonds/YourBonds.d.ts +2 -1
- package/dist/views/YourBonds/YourBonds.js +9 -5
- package/dist/views/YourBonds/YourBonds.js.map +1 -1
- package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.d.ts +2 -1
- package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.js +24 -5
- package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.js.map +1 -1
- package/dist/views/YourBonds/components/ClaimAll/index.d.ts +2 -1
- package/dist/views/YourBonds/components/ClaimAll/index.js +10 -2
- package/dist/views/YourBonds/components/ClaimAll/index.js.map +1 -1
- package/dist/views/YourBonds/components/ProfitCard/ProfitCard.d.ts +2 -1
- package/dist/views/YourBonds/components/ProfitCard/ProfitCard.js +15 -3
- package/dist/views/YourBonds/components/ProfitCard/ProfitCard.js.map +1 -1
- package/dist/views/YourBonds/components/UserBondRow/PreTGEActions.d.ts +2 -1
- package/dist/views/YourBonds/components/UserBondRow/PreTGEActions.js +6 -2
- package/dist/views/YourBonds/components/UserBondRow/PreTGEActions.js.map +1 -1
- package/dist/views/YourBonds/components/UserBondRow/UserBondRow.d.ts +2 -1
- package/dist/views/YourBonds/components/UserBondRow/UserBondRow.js +8 -5
- package/dist/views/YourBonds/components/UserBondRow/UserBondRow.js.map +1 -1
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowAptos.d.ts +2 -1
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowAptos.js +5 -4
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowAptos.js.map +1 -1
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowPreTGE.d.ts +2 -1
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowPreTGE.js +5 -3
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowPreTGE.js.map +1 -1
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowSolana.d.ts +2 -1
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowSolana.js +7 -4
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowSolana.js.map +1 -1
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowSui.d.ts +2 -1
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowSui.js +5 -4
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowSui.js.map +1 -1
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowYield.d.ts +2 -1
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowYield.js +10 -3
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowYield.js.map +1 -1
- package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.d.ts +2 -1
- package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.js +3 -3
- package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.js.map +1 -1
- package/dist/views/YourBonds/index.js +1 -1
- package/dist/views/YourBondsModal/YourBondsModal.d.ts +2 -1
- package/dist/views/YourBondsModal/YourBondsModal.js +95 -4
- package/dist/views/YourBondsModal/YourBondsModal.js.map +1 -1
- package/dist/views/YourBondsModal/components/Actions/Actions.d.ts +2 -1
- package/dist/views/YourBondsModal/components/Actions/Actions.js +3 -3
- package/dist/views/YourBondsModal/components/Actions/Actions.js.map +1 -1
- package/dist/views/YourBondsModal/components/Actions/ActionsAptos.d.ts +2 -1
- package/dist/views/YourBondsModal/components/Actions/ActionsAptos.js +3 -3
- package/dist/views/YourBondsModal/components/Actions/ActionsAptos.js.map +1 -1
- package/dist/views/YourBondsModal/components/Actions/ActionsSolana.d.ts +2 -1
- package/dist/views/YourBondsModal/components/Actions/ActionsSolana.js +3 -3
- package/dist/views/YourBondsModal/components/Actions/ActionsSolana.js.map +1 -1
- package/dist/views/YourBondsModal/components/Actions/ActionsSui.d.ts +2 -1
- package/dist/views/YourBondsModal/components/Actions/ActionsSui.js +3 -3
- package/dist/views/YourBondsModal/components/Actions/ActionsSui.js.map +1 -1
- package/dist/views/YourBondsModal/components/LinkShare/LinkShare.d.ts +1 -1
- package/dist/views/YourBondsModal/components/LinkShare/LinkShare.js +16 -3
- package/dist/views/YourBondsModal/components/LinkShare/LinkShare.js.map +1 -1
- package/dist/views/YourBondsModal/components/LinkShare/templateImageShare.js +2 -1
- package/dist/views/YourBondsModal/components/LinkShare/templateImageShare.js.map +1 -1
- package/dist/views/YourBondsModal/components/NFTImage/NFTImage.d.ts +2 -1
- package/dist/views/YourBondsModal/components/NFTImage/NFTImage.js +86 -8
- package/dist/views/YourBondsModal/components/NFTImage/NFTImage.js.map +1 -1
- package/dist/views/YourBondsModal/components/Recommendations/CardRecommendation.d.ts +1 -1
- package/dist/views/YourBondsModal/components/Recommendations/CardRecommendation.js +15 -2
- package/dist/views/YourBondsModal/components/Recommendations/CardRecommendation.js.map +1 -1
- package/dist/views/YourBondsModal/components/Recommendations/RecSkeleton.d.ts +2 -1
- package/dist/views/YourBondsModal/components/Recommendations/RecSkeleton.js +12 -2
- package/dist/views/YourBondsModal/components/Recommendations/RecSkeleton.js.map +1 -1
- package/dist/views/YourBondsModal/components/Recommendations/Recommendations.d.ts +2 -1
- package/dist/views/YourBondsModal/components/Recommendations/Recommendations.js +6 -2
- package/dist/views/YourBondsModal/components/Recommendations/Recommendations.js.map +1 -1
- package/dist/views/YourBondsModal/components/TransferBondModal/TransferAction.d.ts +2 -1
- package/dist/views/YourBondsModal/components/TransferBondModal/TransferAction.js +1 -1
- package/dist/views/YourBondsModal/components/TransferBondModal/TransferActionAptos.d.ts +2 -1
- package/dist/views/YourBondsModal/components/TransferBondModal/TransferActionAptos.js +2 -2
- package/dist/views/YourBondsModal/components/TransferBondModal/TransferActionAptos.js.map +1 -1
- package/dist/views/YourBondsModal/components/TransferBondModal/TransferActionSolana.d.ts +1 -1
- package/dist/views/YourBondsModal/components/TransferBondModal/TransferActionSolana.js +1 -1
- package/dist/views/YourBondsModal/components/TransferBondModal/TransferActionSui.d.ts +2 -1
- package/dist/views/YourBondsModal/components/TransferBondModal/TransferActionSui.js +1 -1
- package/dist/views/YourBondsModal/components/TransferBondModal/index.js +3 -3
- package/dist/views/YourBondsModal/components/TransferBondModal/index.js.map +1 -1
- package/dist/views/YourBondsModal/components/YourBondModalHeader/YourBondModalHeader.d.ts +2 -1
- package/dist/views/YourBondsModal/components/YourBondModalHeader/YourBondModalHeader.js +24 -2
- package/dist/views/YourBondsModal/components/YourBondModalHeader/YourBondModalHeader.js.map +1 -1
- package/dist/views/YourBondsModalYield/YourBondsModalYield.d.ts +2 -1
- package/dist/views/YourBondsModalYield/YourBondsModalYield.js +73 -3
- package/dist/views/YourBondsModalYield/YourBondsModalYield.js.map +1 -1
- package/dist/views/YourBondsModalYield/components/UnstakeModalYield/UnstakeModalYield.d.ts +2 -1
- package/dist/views/YourBondsModalYield/components/UnstakeModalYield/UnstakeModalYield.js +7 -2
- package/dist/views/YourBondsModalYield/components/UnstakeModalYield/UnstakeModalYield.js.map +1 -1
- package/dist/views/YourBondsModalYield/components/YourBondModalHeader/YourBondModalHeader.d.ts +2 -1
- package/dist/views/YourBondsModalYield/components/YourBondModalHeader/YourBondModalHeader.js +19 -2
- package/dist/views/YourBondsModalYield/components/YourBondModalHeader/YourBondModalHeader.js.map +1 -1
- package/package.json +8 -7
- package/dist/components/uikit-sdk/Spinner/index.d.ts +0 -11
- package/dist/components/uikit-sdk/Spinner/index.js +0 -9
- package/dist/components/uikit-sdk/Spinner/index.js.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { jsxs, jsx } from '
|
|
1
|
+
import { jsxs, jsx } from 'theme-ui/jsx-runtime';
|
|
2
2
|
import TokenInfoAndName from '../../../../components/TokenInfoAndName/index.js';
|
|
3
3
|
import TooltipBubble from '../../../../components/uikit-sdk/TooltipBubble/index.js';
|
|
4
4
|
import BondInfoTooltip from '../../../../components/Tooltip/Tooltip.js';
|
|
5
|
-
import Flex from '
|
|
5
|
+
import { Flex } from 'theme-ui';
|
|
6
6
|
import PreTgeActions from './PreTGEActions.js';
|
|
7
7
|
import { getBalanceNumber } from '../../../../utils/getBalanceNumber.js';
|
|
8
8
|
import { formatTimeLeft, getTimePeriods } from '../../../../utils/getTimePeriods.js';
|
|
@@ -34,7 +34,9 @@ const UserBondRowPreTGE = ({ userBond }) => {
|
|
|
34
34
|
const claimableUSD = claimableAmount * (userBond.initPrice ?? 0);
|
|
35
35
|
const pendingAmount = hasRedeemed ? payout : depositAmount / truePricePaid;
|
|
36
36
|
const pendingUSD = pendingAmount * (userBond?.earnTokenPrice ?? 0);
|
|
37
|
-
return (jsxs("div", { className: "your-bonds
|
|
37
|
+
return (jsxs("div", { className: "your-bonds", onClick: () => null, children: [jsxs("div", { className: "token-info-container", children: [jsx(TokenInfoAndName, { tokenSymbol: userBond.earnToken.symbol, chain: userBond.chainId, tag: userBond.tags?.[0], vestEnds: isRedeemable ? 'Claim now!' : !hasRedeemed ? `Claim in ${redeemableIn}` : `Ends in ${vestingString}`, isHotBond: true }), jsx("div", { className: "tooltip-column", children: jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(BondInfoTooltip, { earnTokenContract: userBond?.earnToken.address[userBond?.chainId] || '', earnTokenSymbol: userBond?.earnToken.symbol || '', bondContract: userBond?.contractAddress?.[userBond?.chainId] || '', projectLink: userBond?.projectLink, twitter: userBond?.twitter, chain: userBond?.chainId }), width: "205px", placement: "bottomRight", transformTip: "translate(5%, 0%)", children: jsx(Flex, { sx: {
|
|
38
|
+
opacity: 0.8,
|
|
39
|
+
}, children: jsx(More, { width: "25px" }) }) }) })] }), jsxs("div", { className: "your-bonds-columns-container", children: [jsx(Flex, { sx: { display: ['none', 'none', 'none', 'flex'], width: '125px' } }), jsxs("div", { className: "your-bonds-content", children: [jsx("div", { className: "your-bonds-content-title", children: "Claimable" }), jsxs("div", { className: "your-bonds-content-tokens-amount", children: [formatNumberSI(claimableAmount, 3), jsxs("div", { className: "your-bonds-content-tokens-usd-amount", children: ["($", formatNumberSI(claimableUSD), ")"] })] })] }), jsxs("div", { className: "your-bonds-content", children: [jsx("div", { className: "your-bonds-content-title", children: "Pending" }), jsxs("div", { className: "your-bonds-content-tokens-amount", children: [formatNumberSI(pendingAmount, 3), jsxs("div", { className: "your-bonds-content-tokens-usd-amount", children: ["($", formatNumberSI(pendingUSD), ")"] })] })] }), jsx("div", { className: "your-bonds-content hide-mobile", children: vestingString }), jsx("div", { className: "your-bonds-column-button", children: jsx(PreTgeActions, { userBond: userBond }) })] })] }));
|
|
38
40
|
};
|
|
39
41
|
|
|
40
42
|
export { UserBondRowPreTGE as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserBondRowPreTGE.js","sources":["../../../../../src/views/YourBonds/components/UserBondRow/UserBondRowPreTGE.tsx"],"sourcesContent":["import React from 'react'\nimport TokenInfoAndName from '../../../../components/TokenInfoAndName'\nimport TooltipBubble from '../../../../components/uikit-sdk/TooltipBubble'\nimport Tooltip from '../../../../components/Tooltip/Tooltip'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport PreTgeActions from './PreTGEActions'\nimport { getBalanceNumber } from '../../../../utils/getBalanceNumber'\nimport { formatTimeLeft, getTimePeriods } from '../../../../utils/getTimePeriods'\nimport { formatNumberSI } from '../../../../utils/formatNumber'\nimport { getPendingVestingString } from '../../../../utils/displayHelpers'\nimport { PreTGEUserBonds } from '../../../../state/bonds/useUserBondsPreTGE'\nimport More from '../../../../components/uikit-sdk/Svg/Icons/More'\n\nconst UserBondRowPreTGE = ({ userBond }: { userBond: PreTGEUserBonds }) => {\n const saleFinalized = userBond.finalized\n const hasRedeemed = userBond?.accountInfo?.hasRedeemed\n const isRedeemable = !hasRedeemed && saleFinalized\n\n const redeemableIn = formatTimeLeft((userBond?.redeemTime ?? 0) - new Date().getTime() / 1000, true, true)\n const depositAmount = getBalanceNumber(\n userBond?.accountInfo?.depositAmount ?? '0',\n userBond?.lpToken?.decimals?.[userBond?.chainId]!,\n )\n const truePricePaid = getBalanceNumber(\n userBond?.accountInfo?.truePricePaid ?? '0',\n userBond?.lpToken?.decimals?.[userBond?.chainId]!,\n )\n\n const initialRelease = userBond?.initialRelease\n const vestingTimePeriods = getTimePeriods(userBond.vestingTerm, false)\n const vestingString = hasRedeemed\n ? getPendingVestingString(userBond?.userOwnedBillsData)\n : initialRelease === 1\n ? `0 D`\n : `${vestingTimePeriods.months} Months`\n\n const userAllocation = depositAmount / (userBond?.initPrice ?? 0)\n const initialReleaseTokens =\n !hasRedeemed && saleFinalized && userBond?.initialRelease ? userAllocation * userBond?.initialRelease : 0\n\n // pendingRewards variable follows the naming of the SC, but it actually means currently claimable tokens\n const pendingRewards = getBalanceNumber(\n userBond?.userOwnedBillsData?.pendingRewards ?? '0',\n userBond?.earnToken?.decimals?.[userBond.chainId]!,\n )\n // payout variable follows the naming of the SC, but it actually means total tokens vested\n const payout = getBalanceNumber(\n userBond?.userOwnedBillsData?.payout ?? '0',\n userBond?.earnToken?.decimals?.[userBond.chainId]!,\n )\n\n const claimableAmount = hasRedeemed ? pendingRewards : initialReleaseTokens\n const claimableUSD = claimableAmount * (userBond.initPrice ?? 0)\n const pendingAmount = hasRedeemed ? payout : depositAmount / truePricePaid\n const pendingUSD = pendingAmount * (userBond?.earnTokenPrice ?? 0)\n\n return (\n <div className=\"your-bonds ape:flex ape:flex-col ape:w-full ape:justify-around ape:bg-white2 ape:mb-[5px] ape:rounded-[10px] ape:cursor-pointer ape:hover:bg-white3 ape:min-[1000px]:flex-row ape:min-[1000px]:h-[70px]\" onClick={() => null}>\n <div className=\"token-info-container ape:flex ape:w-full ape:min-[1000px]:w-[30%] ape:min-[1000px]:min-w-[300px]\">\n <TokenInfoAndName\n tokenSymbol={userBond.earnToken.symbol}\n chain={userBond.chainId}\n tag={userBond.tags?.[0]}\n vestEnds={\n isRedeemable ? 'Claim now!' : !hasRedeemed ? `Claim in ${redeemableIn}` : `Ends in ${vestingString}`\n }\n isHotBond\n />\n <div className=\"tooltip-column ape:flex ape:w-[50px] ape:items-center ape:ml-[10px] ape:min-[1000px]:hidden\">\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Tooltip\n earnTokenContract={userBond?.earnToken.address[userBond?.chainId] || ''}\n earnTokenSymbol={userBond?.earnToken.symbol || ''}\n bondContract={userBond?.contractAddress?.[userBond?.chainId] || ''}\n projectLink={userBond?.projectLink}\n twitter={userBond?.twitter}\n chain={userBond?.chainId}\n />\n }\n width=\"205px\"\n placement=\"bottomRight\"\n transformTip=\"translate(5%, 0%)\"\n >\n <Flex className=\"ape:opacity-80\">\n <More width=\"25px\" />\n </Flex>\n </TooltipBubble>\n </div>\n </div>\n <div className=\"your-bonds-columns-container ape:flex ape:flex-col ape:items-center ape:justify-end ape:w-full ape:min-[1000px]:w-[70%] ape:min-[1000px]:justify-between ape:min-[1000px]:flex-row ape:min-[1000px]:pr-[20px]\">\n <Flex className=\"ape:hidden ape:md:flex ape:w-[125px]\" />\n <div className=\"your-bonds-content ape:flex ape:items-center ape:justify-between ape:w-full ape:px-[10px] ape:text-[14px] ape:min-[1000px]:w-[130px] ape:min-[1000px]:justify-center ape:min-[1000px]:mt-0\">\n <div className=\"your-bonds-content-title ape:flex ape:text-[12px] ape:font-medium ape:opacity-60 ape:min-[1000px]:hidden\">Claimable</div>\n <div className=\"your-bonds-content-tokens-amount ape:flex ape:items-center ape:text-[14px] ape:font-semibold\">\n {formatNumberSI(claimableAmount, 3)}\n <div className=\"your-bonds-content-tokens-usd-amount ape:opacity-60 ape:text-[12px] ape:font-normal ape:ml-[4px] ape:text-text-disabled-button\">(${formatNumberSI(claimableUSD)})</div>\n </div>\n </div>\n <div className=\"your-bonds-content ape:flex ape:items-center ape:justify-between ape:w-full ape:px-[10px] ape:text-[14px] ape:min-[1000px]:w-[130px] ape:min-[1000px]:justify-center ape:min-[1000px]:mt-0\">\n <div className=\"your-bonds-content-title ape:flex ape:text-[12px] ape:font-medium ape:opacity-60 ape:min-[1000px]:hidden\">Pending</div>\n <div className=\"your-bonds-content-tokens-amount ape:flex ape:items-center ape:text-[14px] ape:font-semibold\">\n {formatNumberSI(pendingAmount, 3)}\n <div className=\"your-bonds-content-tokens-usd-amount ape:opacity-60 ape:text-[12px] ape:font-normal ape:ml-[4px] ape:text-text-disabled-button\">(${formatNumberSI(pendingUSD)})</div>\n </div>\n </div>\n <div className=\"your-bonds-content hide-mobile ape:hidden ape:min-[1000px]:flex\">{vestingString}</div>\n <div className=\"your-bonds-column-button ape:flex ape:w-full ape:items-center ape:justify-center ape:p-[10px] ape:min-[1000px]:w-[210px] ape:min-[1000px]:p-0\">\n <PreTgeActions userBond={userBond} />\n </div>\n </div>\n </div>\n )\n}\n\nexport default UserBondRowPreTGE\n"],"names":["_jsxs","_jsx","Tooltip"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UserBondRowPreTGE.js","sources":["../../../../../src/views/YourBonds/components/UserBondRow/UserBondRowPreTGE.tsx"],"sourcesContent":["import React from 'react'\nimport TokenInfoAndName from '../../../../components/TokenInfoAndName'\nimport TooltipBubble from '../../../../components/uikit-sdk/TooltipBubble'\nimport Tooltip from '../../../../components/Tooltip/Tooltip'\nimport { Flex } from 'theme-ui'\nimport PreTgeActions from './PreTGEActions'\nimport { getBalanceNumber } from '../../../../utils/getBalanceNumber'\nimport { formatTimeLeft, getTimePeriods } from '../../../../utils/getTimePeriods'\nimport { formatNumberSI } from '../../../../utils/formatNumber'\nimport { getPendingVestingString } from '../../../../utils/displayHelpers'\nimport { PreTGEUserBonds } from '../../../../state/bonds/useUserBondsPreTGE'\nimport More from '../../../../components/uikit-sdk/Svg/Icons/More'\n\nconst UserBondRowPreTGE = ({ userBond }: { userBond: PreTGEUserBonds }) => {\n const saleFinalized = userBond.finalized\n const hasRedeemed = userBond?.accountInfo?.hasRedeemed\n const isRedeemable = !hasRedeemed && saleFinalized\n\n const redeemableIn = formatTimeLeft((userBond?.redeemTime ?? 0) - new Date().getTime() / 1000, true, true)\n const depositAmount = getBalanceNumber(\n userBond?.accountInfo?.depositAmount ?? '0',\n userBond?.lpToken?.decimals?.[userBond?.chainId]!,\n )\n const truePricePaid = getBalanceNumber(\n userBond?.accountInfo?.truePricePaid ?? '0',\n userBond?.lpToken?.decimals?.[userBond?.chainId]!,\n )\n\n const initialRelease = userBond?.initialRelease\n const vestingTimePeriods = getTimePeriods(userBond.vestingTerm, false)\n const vestingString = hasRedeemed\n ? getPendingVestingString(userBond?.userOwnedBillsData)\n : initialRelease === 1\n ? `0 D`\n : `${vestingTimePeriods.months} Months`\n\n const userAllocation = depositAmount / (userBond?.initPrice ?? 0)\n const initialReleaseTokens =\n !hasRedeemed && saleFinalized && userBond?.initialRelease ? userAllocation * userBond?.initialRelease : 0\n\n // pendingRewards variable follows the naming of the SC, but it actually means currently claimable tokens\n const pendingRewards = getBalanceNumber(\n userBond?.userOwnedBillsData?.pendingRewards ?? '0',\n userBond?.earnToken?.decimals?.[userBond.chainId]!,\n )\n // payout variable follows the naming of the SC, but it actually means total tokens vested\n const payout = getBalanceNumber(\n userBond?.userOwnedBillsData?.payout ?? '0',\n userBond?.earnToken?.decimals?.[userBond.chainId]!,\n )\n\n const claimableAmount = hasRedeemed ? pendingRewards : initialReleaseTokens\n const claimableUSD = claimableAmount * (userBond.initPrice ?? 0)\n const pendingAmount = hasRedeemed ? payout : depositAmount / truePricePaid\n const pendingUSD = pendingAmount * (userBond?.earnTokenPrice ?? 0)\n\n return (\n <div className=\"your-bonds\" onClick={() => null}>\n <div className=\"token-info-container\">\n <TokenInfoAndName\n tokenSymbol={userBond.earnToken.symbol}\n chain={userBond.chainId}\n tag={userBond.tags?.[0]}\n vestEnds={\n isRedeemable ? 'Claim now!' : !hasRedeemed ? `Claim in ${redeemableIn}` : `Ends in ${vestingString}`\n }\n isHotBond\n />\n <div className=\"tooltip-column\">\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Tooltip\n earnTokenContract={userBond?.earnToken.address[userBond?.chainId] || ''}\n earnTokenSymbol={userBond?.earnToken.symbol || ''}\n bondContract={userBond?.contractAddress?.[userBond?.chainId] || ''}\n projectLink={userBond?.projectLink}\n twitter={userBond?.twitter}\n chain={userBond?.chainId}\n />\n }\n width=\"205px\"\n placement=\"bottomRight\"\n transformTip=\"translate(5%, 0%)\"\n >\n <Flex\n sx={{\n opacity: 0.8,\n }}\n >\n <More width=\"25px\" />\n </Flex>\n </TooltipBubble>\n </div>\n </div>\n <div className=\"your-bonds-columns-container\">\n <Flex sx={{ display: ['none', 'none', 'none', 'flex'], width: '125px' }} />\n <div className=\"your-bonds-content\">\n <div className=\"your-bonds-content-title\">Claimable</div>\n <div className=\"your-bonds-content-tokens-amount\">\n {formatNumberSI(claimableAmount, 3)}\n <div className=\"your-bonds-content-tokens-usd-amount\">(${formatNumberSI(claimableUSD)})</div>\n </div>\n </div>\n <div className=\"your-bonds-content\">\n <div className=\"your-bonds-content-title\">Pending</div>\n <div className=\"your-bonds-content-tokens-amount\">\n {formatNumberSI(pendingAmount, 3)}\n <div className=\"your-bonds-content-tokens-usd-amount\">(${formatNumberSI(pendingUSD)})</div>\n </div>\n </div>\n <div className=\"your-bonds-content hide-mobile\">{vestingString}</div>\n <div className=\"your-bonds-column-button\">\n <PreTgeActions userBond={userBond} />\n </div>\n </div>\n </div>\n )\n}\n\nexport default UserBondRowPreTGE\n"],"names":["_jsxs","_jsx","Tooltip"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx, jsxs } from '
|
|
1
|
+
import { jsx, jsxs } from 'theme-ui/jsx-runtime';
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import TokenInfoAndName from '../../../../components/TokenInfoAndName/index.js';
|
|
4
4
|
import { formatNumberSI } from '../../../../utils/formatNumber.js';
|
|
@@ -141,14 +141,17 @@ const UserBondRowSolana = ({ bill }) => {
|
|
|
141
141
|
setLoadingTx(false);
|
|
142
142
|
}
|
|
143
143
|
};
|
|
144
|
-
return (jsxs("div", { className: "your-bonds
|
|
144
|
+
return (jsxs("div", { className: "your-bonds", onClick: () => onOpenPurchasedBond(), children: [jsxs("div", { className: "token-info-container", children: [jsx(TokenInfoAndName, { tokenSymbol: bill.bond?.earnToken.symbol, chain: bill?.bond?.chainId, vestEnds: getTimeLeftForFullyVested(bill) > 0 ? `Ends in ${getPendingVestingString(bill)}` : `Fully Vested`, isHotBond: true }), jsx("div", { className: "tooltip-column", children: jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(BondInfoTooltip, { earnTokenContract: bill?.bond?.earnToken.address[bill?.bond.chainId] || '', earnTokenSymbol: bill?.bond?.earnToken.symbol || '', bondContract: bill?.address ?? '', projectLink: bill?.bond?.projectLink, twitter: bill?.bond?.twitter, chain: bill?.bond?.chainId, cgId: bill?.bond?.cgId, dexscreener: bill?.bond?.dexscreener }), width: "205px", placement: "bottomRight", transformTip: "translate(5%, 0%)", children: jsx(Flex, { sx: {
|
|
145
|
+
opacity: 0.8,
|
|
146
|
+
}, children: jsx(More, { width: "25px" }) }) }) })] }), jsxs("div", { className: "your-bonds-columns-container", children: [jsx(Flex, { sx: { width: '125px' }, children: jsx(ProfitCard, { userBond: bill }) }), jsxs("div", { className: "your-bonds-content", children: [jsx("div", { className: "your-bonds-content-title", children: "Claimable" }), jsxs("div", { className: "your-bonds-content-tokens-amount", children: [formatNumberSI(claimable(bill), 4), jsx("div", { className: "your-bonds-content-tokens-usd-amount", children: `($${(claimable(bill) * earnTokenPrice).toFixed(2)})` })] })] }), jsxs("div", { className: "your-bonds-content", children: [jsx("div", { className: "your-bonds-content-title", children: "Pending" }), jsxs("div", { className: "your-bonds-content-tokens-amount", children: [formatNumberSI(pending(bill), 4), jsx("div", { className: "your-bonds-content-tokens-usd-amount", children: `($${(pending(bill) * earnTokenPrice).toFixed(2)})` })] })] }), jsx("div", { className: "your-bonds-content hide-mobile", children: jsx(ProgressBarWrapper, { title: '', value: jsx(ProgressBar, { value: getPercentageVested(bill) }), style: {
|
|
145
147
|
width: '127px',
|
|
146
148
|
height: '25px',
|
|
147
149
|
flexDirection: 'column',
|
|
148
150
|
justifyContent: 'center',
|
|
149
|
-
|
|
151
|
+
display: ['none', 'none', 'none', 'flex'],
|
|
152
|
+
}, showTooltip: true, toolTip: getTimeLeftForFullyVested(bill) > 0
|
|
150
153
|
? `Fully vested in ${getPendingVestingString(bill)}.`
|
|
151
|
-
: `Fully Vested.` }) }), jsx("div", { className: "your-bonds-column-button
|
|
154
|
+
: `Fully Vested.` }) }), jsx("div", { className: "your-bonds-column-button", children: jsx(Button, { className: "button", disabled: claimable(bill) === 0 || loadingTx || isPendingCliff, load: loadingTx, onClick: (event) => {
|
|
152
155
|
event.stopPropagation();
|
|
153
156
|
if (!loadingTx)
|
|
154
157
|
handleClaim();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserBondRowSolana.js","sources":["../../../../../src/views/YourBonds/components/UserBondRow/UserBondRowSolana.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport TokenInfoAndName from '../../../../components/TokenInfoAndName'\nimport { formatNumberSI } from '../../../../utils/formatNumber'\nimport Button from '../../../../components/uikit-sdk/Button/Button'\nimport TooltipBubble from '../../../../components/uikit-sdk/TooltipBubble'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport { UserBill } from '../../../../types/yourbonds'\nimport {\n claimable,\n getPendingVestingString,\n getPercentageVested,\n getTimeLeftForFullyVested,\n pending,\n} from '../../../../utils/displayHelpers'\nimport useModal from '../../../../hooks/useModal'\nimport { usePopups } from '../../../../state/popups/usePopups'\nimport Tooltip from '../../../../components/Tooltip/Tooltip'\nimport { getTimePeriods } from '../../../../utils/getTimePeriods'\nimport { Connection, PublicKey, Transaction, TransactionInstruction } from '@solana/web3.js'\nimport { ASSOCIATED_TOKEN_PROGRAM_ID } from '@solana/spl-token'\nimport useUserBonds from '../../../../state/bonds/useUserBonds'\nimport { CLAIM_DISCRIMINATOR, PROGRAM_ID } from '../../../../constants/solanaConstants'\nimport { getRPC } from '../../../../config/constants/networks'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport useSOLAccount from '../../../../hooks/accounts/useSOLAccount'\nimport ProfitCard from '../ProfitCard/ProfitCard'\nimport ProgressBar from '../../../../components/ProgressBar/ProgressBar'\nimport ProgressBarWrapper from '../../../../components/ProgressBar/ProgressBarWrapper'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\nimport YourBondsModal from '../../../YourBondsModal/YourBondsModal'\nimport { derivePda } from '../../../../utils/derivePda'\nimport { reportError } from '../../../../utils/reportError'\nimport { getAtaWithCreateInstruction, getTokenProgramForMint } from '../../../../utils/solanaAtaHelper'\nimport More from '../../../../components/uikit-sdk/Svg/Icons/More'\n\nconst UserBondRowSolana = ({ bill }: { bill: UserBill }) => {\n // Hooks\n const SDKConfig = useSDKConfig()\n const { publicKey: accountSolana, signTransaction } = useSOLAccount()\n const { addToastError, addToastSuccess } = usePopups()\n const { refetch } = useUserBonds()\n const connection = new Connection(getRPC(ChainId.SOL))\n\n // State\n const [loadingTx, setLoadingTx] = useState(false)\n\n // Static Data\n const earnTokenPrice = parseFloat(bill?.bond?.payoutTokenPrice ?? '0')\n const vestingCliff = bill?.bond?.vestingCliff\n const currentTime = Math.round(new Date().getTime() / 1000)\n const vestingStartTimestamp = parseInt(bill?.vestingStartTimestamp ?? '0')\n const isPendingCliff = vestingCliff ? currentTime - vestingStartTimestamp < vestingCliff : false\n const cliffCountdown = getTimePeriods(vestingStartTimestamp + (vestingCliff ?? 0) - currentTime, true)\n\n const [onOpenPurchasedBond] = useModal(<YourBondsModal userBill={bill} />)\n\n const handleClaim = async () => {\n // Early return guard - prevent double execution\n if (loadingTx || !accountSolana) return\n\n try {\n setLoadingTx(true)\n const earnTokenAddress = bill?.bond?.earnToken?.address?.[bill?.bond?.chainId]\n const contractAddress = bill?.bond?.contractAddress?.[bill?.bond?.chainId]\n\n if (!earnTokenAddress || !bill.asset || !contractAddress || !accountSolana) return\n\n const payoutMint = new PublicKey(earnTokenAddress)\n const bondIssuancePda = new PublicKey(contractAddress)\n const bondPricingPda = derivePda('bond_pricing', bondIssuancePda, PROGRAM_ID)\n const nftMint = new PublicKey(bill.asset)\n\n // Detect token program for payout mint (supports Token-2022)\n const payoutTokenProgram = await getTokenProgramForMint(connection, payoutMint)\n\n const [bondTermPda] = PublicKey.findProgramAddressSync(\n [new TextEncoder().encode('bond_term'), bondIssuancePda.toBuffer()],\n PROGRAM_ID,\n )\n\n const [bondPda] = PublicKey.findProgramAddressSync(\n [new TextEncoder().encode('bond'), bondIssuancePda.toBuffer(), nftMint.toBuffer()],\n PROGRAM_ID,\n )\n\n // Get user payout ATA and creation instruction if needed\n const { address: userPayoutAta, createInstruction: createAtaIx } = await getAtaWithCreateInstruction(\n connection,\n payoutMint,\n accountSolana,\n )\n\n // Treasury ATA (standard associated token account for bond issuance PDA)\n const { address: treasuryAta, createInstruction: createTreasuryAtaIx } = await getAtaWithCreateInstruction(\n connection,\n payoutMint,\n bondIssuancePda,\n accountSolana,\n )\n\n // Build keys list\n const keys = [\n { pubkey: bondPda as PublicKey, isSigner: false, isWritable: true },\n { pubkey: bondTermPda as PublicKey, isSigner: false, isWritable: false },\n { pubkey: bondIssuancePda as PublicKey, isSigner: false, isWritable: false },\n { pubkey: bondPricingPda as PublicKey, isSigner: false, isWritable: true },\n { pubkey: accountSolana as PublicKey, isSigner: true, isWritable: true }, // user\n { pubkey: nftMint as PublicKey, isSigner: false, isWritable: true },\n { pubkey: userPayoutAta as PublicKey, isSigner: false, isWritable: true },\n { pubkey: treasuryAta, isSigner: false, isWritable: true },\n { pubkey: payoutMint, isSigner: false, isWritable: false }, // payout_mint\n { pubkey: payoutTokenProgram, isSigner: false, isWritable: false }, // token_program (dynamic)\n { pubkey: ASSOCIATED_TOKEN_PROGRAM_ID, isSigner: false, isWritable: false },\n { pubkey: new PublicKey('CoREENxT6tW1HoK8ypY1SxRMZTcVPm7R94rH4PZNhX7d'), isSigner: false, isWritable: false }, // mplCoreProgram\n { pubkey: PROGRAM_ID, isSigner: false, isWritable: false }, // passing programId is the same as passing null\n ]\n\n // Build Claim Instruction (no args → just discriminator)\n const claimInstruction = new TransactionInstruction({\n keys,\n programId: PROGRAM_ID,\n data: CLAIM_DISCRIMINATOR,\n })\n\n // Build Transaction - include ATA creation if needed\n const transaction = new Transaction()\n if (createTreasuryAtaIx) transaction.add(createTreasuryAtaIx)\n if (createAtaIx) transaction.add(createAtaIx)\n transaction.add(claimInstruction)\n transaction.feePayer = accountSolana\n\n // Get fresh blockhash right before signing\n const { blockhash, lastValidBlockHeight } = await connection.getLatestBlockhash('finalized')\n transaction.recentBlockhash = blockhash\n\n if (!signTransaction) return\n const signedTx = await signTransaction(transaction)\n\n // Send with better error handling\n const txHash = await connection.sendRawTransaction(signedTx.serialize(), {\n skipPreflight: false,\n preflightCommitment: 'finalized',\n maxRetries: 0, // Don't auto-retry to avoid duplicates\n })\n\n await connection.confirmTransaction(\n {\n signature: txHash,\n blockhash,\n lastValidBlockHeight,\n },\n 'confirmed',\n )\n\n const txStatus = await connection.getSignatureStatus(txHash, { searchTransactionHistory: true })\n if (txStatus?.value?.confirmationStatus === 'confirmed' || txStatus?.value?.confirmationStatus === 'finalized') {\n console.log('Tx confirmed on-chain, refetching bonds')\n refetch()\n addToastSuccess(txHash, ChainId.SOL)\n }\n } catch (error: any) {\n console.error('Claim failed:', error)\n\n // Better error messaging for duplicate transactions\n if (error?.message?.includes('already been processed')) {\n addToastError('Transaction already processed. Please wait and try again.')\n } else {\n addToastError(error?.message ?? 'Unknown error')\n }\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error,\n chainId: ChainId.SOL,\n account: accountSolana?.toBase58() ?? '',\n extraInfo: { type: 'claim', bill, error },\n })\n } finally {\n setLoadingTx(false)\n }\n }\n\n return (\n <div className=\"your-bonds ape:flex ape:flex-col ape:w-full ape:justify-around ape:bg-white2 ape:mb-[5px] ape:rounded-[10px] ape:cursor-pointer ape:hover:bg-white3 ape:min-[1000px]:flex-row ape:min-[1000px]:h-[70px]\" onClick={() => onOpenPurchasedBond()}>\n <div className=\"token-info-container ape:flex ape:w-full ape:min-[1000px]:w-[30%] ape:min-[1000px]:min-w-[300px]\">\n <TokenInfoAndName\n tokenSymbol={bill.bond?.earnToken.symbol}\n chain={bill?.bond?.chainId}\n vestEnds={getTimeLeftForFullyVested(bill) > 0 ? `Ends in ${getPendingVestingString(bill)}` : `Fully Vested`}\n isHotBond\n />\n <div className=\"tooltip-column ape:flex ape:w-[50px] ape:items-center ape:ml-[10px] ape:min-[1000px]:hidden\">\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Tooltip\n earnTokenContract={bill?.bond?.earnToken.address[bill?.bond.chainId] || ''}\n earnTokenSymbol={bill?.bond?.earnToken.symbol || ''}\n bondContract={bill?.address ?? ''}\n projectLink={bill?.bond?.projectLink}\n twitter={bill?.bond?.twitter}\n chain={bill?.bond?.chainId as number}\n cgId={bill?.bond?.cgId}\n dexscreener={bill?.bond?.dexscreener}\n />\n }\n width=\"205px\"\n placement=\"bottomRight\"\n transformTip=\"translate(5%, 0%)\"\n >\n <Flex className=\"ape:opacity-80\">\n <More width=\"25px\" />\n </Flex>\n </TooltipBubble>\n </div>\n </div>\n <div className=\"your-bonds-columns-container ape:flex ape:flex-col ape:items-center ape:justify-end ape:w-full ape:min-[1000px]:w-[70%] ape:min-[1000px]:justify-between ape:min-[1000px]:flex-row ape:min-[1000px]:pr-[20px]\">\n <Flex className=\"ape:w-[125px]\">\n <ProfitCard userBond={bill} />\n </Flex>\n <div className=\"your-bonds-content ape:flex ape:items-center ape:justify-between ape:w-full ape:px-[10px] ape:text-[14px] ape:min-[1000px]:w-[130px] ape:min-[1000px]:justify-center ape:min-[1000px]:mt-0\">\n <div className=\"your-bonds-content-title ape:flex ape:text-[12px] ape:font-medium ape:opacity-60 ape:min-[1000px]:hidden\">Claimable</div>\n <div className=\"your-bonds-content-tokens-amount ape:flex ape:items-center ape:text-[14px] ape:font-semibold\">\n {formatNumberSI(claimable(bill), 4)}\n <div className=\"your-bonds-content-tokens-usd-amount ape:opacity-60 ape:text-[12px] ape:font-normal ape:ml-[4px] ape:text-text-disabled-button\">\n {`($${(claimable(bill) * earnTokenPrice).toFixed(2)})`}\n </div>\n </div>\n </div>\n <div className=\"your-bonds-content ape:flex ape:items-center ape:justify-between ape:w-full ape:px-[10px] ape:text-[14px] ape:min-[1000px]:w-[130px] ape:min-[1000px]:justify-center ape:min-[1000px]:mt-0\">\n <div className=\"your-bonds-content-title ape:flex ape:text-[12px] ape:font-medium ape:opacity-60 ape:min-[1000px]:hidden\">Pending</div>\n <div className=\"your-bonds-content-tokens-amount ape:flex ape:items-center ape:text-[14px] ape:font-semibold\">\n {formatNumberSI(pending(bill), 4)}\n <div className=\"your-bonds-content-tokens-usd-amount ape:opacity-60 ape:text-[12px] ape:font-normal ape:ml-[4px] ape:text-text-disabled-button\">\n {`($${(pending(bill) * earnTokenPrice).toFixed(2)})`}\n </div>\n </div>\n </div>\n <div className=\"your-bonds-content hide-mobile ape:hidden ape:min-[1000px]:flex\">\n <ProgressBarWrapper\n title={''}\n value={<ProgressBar value={getPercentageVested(bill)} />}\n style={{\n width: '127px',\n height: '25px',\n flexDirection: 'column',\n justifyContent: 'center',\n }}\n hideOnMobile\n showTooltip={true}\n toolTip={\n getTimeLeftForFullyVested(bill) > 0\n ? `Fully vested in ${getPendingVestingString(bill)}.`\n : `Fully Vested.`\n }\n />\n </div>\n <div className=\"your-bonds-column-button ape:flex ape:w-full ape:items-center ape:justify-center ape:p-[10px] ape:min-[1000px]:w-[210px] ape:min-[1000px]:p-0\">\n <Button\n className=\"button ape:text-[14px]! ape:p-[6px] ape:h-[30px]\"\n disabled={claimable(bill) === 0 || loadingTx || isPendingCliff}\n load={loadingTx}\n onClick={(event) => {\n event.stopPropagation()\n if (!loadingTx) handleClaim()\n }}\n fullWidth\n >\n {isPendingCliff\n ? `Claimable in ${cliffCountdown.days !== 0 ? `${cliffCountdown.days} days` : cliffCountdown.hours !== 0 ? `${cliffCountdown.hours} hours` : `${cliffCountdown.minutes} mins`}`\n : 'Claim'}\n </Button>\n </div>\n </div>\n </div>\n )\n}\n\nexport default UserBondRowSolana\n"],"names":["_jsx","_jsxs","Tooltip"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,MAAM,iBAAiB,GAAG,CAAC,EAAE,IAAI,EAAsB,KAAI;;AAEzD,IAAA,MAAM,SAAS,GAAG,YAAY,EAAE;IAChC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,aAAa,EAAE;IACrE,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,SAAS,EAAE;AACtD,IAAA,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,EAAE;AAClC,IAAA,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;;IAGtD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;;AAGjD,IAAA,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,IAAI,GAAG,CAAC;AACtE,IAAA,MAAM,YAAY,GAAG,IAAI,EAAE,IAAI,EAAE,YAAY;AAC7C,IAAA,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IAC3D,MAAM,qBAAqB,GAAG,QAAQ,CAAC,IAAI,EAAE,qBAAqB,IAAI,GAAG,CAAC;AAC1E,IAAA,MAAM,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,qBAAqB,GAAG,YAAY,GAAG,KAAK;AAChG,IAAA,MAAM,cAAc,GAAG,cAAc,CAAC,qBAAqB,IAAI,YAAY,IAAI,CAAC,CAAC,GAAG,WAAW,EAAE,IAAI,CAAC;AAEtG,IAAA,MAAM,CAAC,mBAAmB,CAAC,GAAG,QAAQ,CAACA,GAAA,CAAC,cAAc,EAAA,EAAC,QAAQ,EAAE,IAAI,EAAA,CAAI,CAAC;AAE1E,IAAA,MAAM,WAAW,GAAG,YAAW;;QAE7B,IAAI,SAAS,IAAI,CAAC,aAAa;YAAE;AAEjC,QAAA,IAAI;YACF,YAAY,CAAC,IAAI,CAAC;AAClB,YAAA,MAAM,gBAAgB,GAAG,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC;AAC9E,YAAA,MAAM,eAAe,GAAG,IAAI,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC;AAE1E,YAAA,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,eAAe,IAAI,CAAC,aAAa;gBAAE;AAE5E,YAAA,MAAM,UAAU,GAAG,IAAI,SAAS,CAAC,gBAAgB,CAAC;AAClD,YAAA,MAAM,eAAe,GAAG,IAAI,SAAS,CAAC,eAAe,CAAC;YACtD,MAAM,cAAc,GAAG,SAAS,CAAC,cAAc,EAAE,eAAe,EAAE,UAAU,CAAC;YAC7E,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;;YAGzC,MAAM,kBAAkB,GAAG,MAAM,sBAAsB,CAAC,UAAU,EAAE,UAAU,CAAC;YAE/E,MAAM,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,sBAAsB,CACpD,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC,EACnE,UAAU,CACX;AAED,YAAA,MAAM,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,sBAAsB,CAChD,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,EAClF,UAAU,CACX;;AAGD,YAAA,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,GAAG,MAAM,2BAA2B,CAClG,UAAU,EACV,UAAU,EACV,aAAa,CACd;;YAGD,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,GAAG,MAAM,2BAA2B,CACxG,UAAU,EACV,UAAU,EACV,eAAe,EACf,aAAa,CACd;;AAGD,YAAA,MAAM,IAAI,GAAG;gBACX,EAAE,MAAM,EAAE,OAAoB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;gBACnE,EAAE,MAAM,EAAE,WAAwB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBACxE,EAAE,MAAM,EAAE,eAA4B,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBAC5E,EAAE,MAAM,EAAE,cAA2B,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;AAC1E,gBAAA,EAAE,MAAM,EAAE,aAA0B,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;gBACxE,EAAE,MAAM,EAAE,OAAoB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;gBACnE,EAAE,MAAM,EAAE,aAA0B,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;gBACzE,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;AAC1D,gBAAA,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;AAC1D,gBAAA,EAAE,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBAClE,EAAE,MAAM,EAAE,2BAA2B,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;AAC3E,gBAAA,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;AAC7G,gBAAA,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;aAC3D;;AAGD,YAAA,MAAM,gBAAgB,GAAG,IAAI,sBAAsB,CAAC;gBAClD,IAAI;AACJ,gBAAA,SAAS,EAAE,UAAU;AACrB,gBAAA,IAAI,EAAE,mBAAmB;AAC1B,aAAA,CAAC;;AAGF,YAAA,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE;AACrC,YAAA,IAAI,mBAAmB;AAAE,gBAAA,WAAW,CAAC,GAAG,CAAC,mBAAmB,CAAC;AAC7D,YAAA,IAAI,WAAW;AAAE,gBAAA,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC;AAC7C,YAAA,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC;AACjC,YAAA,WAAW,CAAC,QAAQ,GAAG,aAAa;;AAGpC,YAAA,MAAM,EAAE,SAAS,EAAE,oBAAoB,EAAE,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,WAAW,CAAC;AAC5F,YAAA,WAAW,CAAC,eAAe,GAAG,SAAS;AAEvC,YAAA,IAAI,CAAC,eAAe;gBAAE;AACtB,YAAA,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC;;YAGnD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE;AACvE,gBAAA,aAAa,EAAE,KAAK;AACpB,gBAAA,mBAAmB,EAAE,WAAW;gBAChC,UAAU,EAAE,CAAC;AACd,aAAA,CAAC;YAEF,MAAM,UAAU,CAAC,kBAAkB,CACjC;AACE,gBAAA,SAAS,EAAE,MAAM;gBACjB,SAAS;gBACT,oBAAoB;aACrB,EACD,WAAW,CACZ;AAED,YAAA,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,MAAM,EAAE,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC;AAChG,YAAA,IAAI,QAAQ,EAAE,KAAK,EAAE,kBAAkB,KAAK,WAAW,IAAI,QAAQ,EAAE,KAAK,EAAE,kBAAkB,KAAK,WAAW,EAAE;AAC9G,gBAAA,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC;AACtD,gBAAA,OAAO,EAAE;AACT,gBAAA,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC;YACtC;QACF;QAAE,OAAO,KAAU,EAAE;AACnB,YAAA,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC;;YAGrC,IAAI,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,wBAAwB,CAAC,EAAE;gBACtD,aAAa,CAAC,2DAA2D,CAAC;YAC5E;iBAAO;AACL,gBAAA,aAAa,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe,CAAC;YAClD;AACA,YAAA,WAAW,CAAC;AACV,gBAAA,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;gBAC9B,KAAK;gBACL,OAAO,EAAE,OAAO,CAAC,GAAG;AACpB,gBAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACxC,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;AAC1C,aAAA,CAAC;QACJ;gBAAU;YACR,YAAY,CAAC,KAAK,CAAC;QACrB;AACF,IAAA,CAAC;AAED,IAAA,QACEC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,yMAAyM,EAAC,OAAO,EAAE,MAAM,mBAAmB,EAAE,aAC3PA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,kGAAkG,EAAA,QAAA,EAAA,CAC/GD,GAAA,CAAC,gBAAgB,IACf,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,EACxC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAC1B,QAAQ,EAAE,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA,QAAA,EAAW,uBAAuB,CAAC,IAAI,CAAC,EAAE,GAAG,CAAA,YAAA,CAAc,EAC3G,SAAS,EAAA,IAAA,EAAA,CACT,EACFA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,6FAA6F,EAAA,QAAA,EAC1GA,IAAC,aAAa,EAAA,EACZ,SAAS,EAAC,gBAAgB,EAC1B,IAAI,EACFA,GAAA,CAACE,eAAO,IACN,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAC1E,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,IAAI,EAAE,EACnD,YAAY,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE,EACjC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EACpC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAC5B,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAiB,EACpC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EACtB,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAA,CACpC,EAEJ,KAAK,EAAC,OAAO,EACb,SAAS,EAAC,aAAa,EACvB,YAAY,EAAC,mBAAmB,EAAA,QAAA,EAEhCF,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,gBAAgB,EAAA,QAAA,EAC9BA,GAAA,CAAC,IAAI,EAAA,EAAC,KAAK,EAAC,MAAM,EAAA,CAAG,GAChB,EAAA,CACO,EAAA,CACZ,CAAA,EAAA,CACF,EACNC,cAAK,SAAS,EAAC,+MAA+M,EAAA,QAAA,EAAA,CAC5ND,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,eAAe,YAC7BA,GAAA,CAAC,UAAU,IAAC,QAAQ,EAAE,IAAI,EAAA,CAAI,EAAA,CACzB,EACPC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,4LAA4L,EAAA,QAAA,EAAA,CACzMD,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,0GAA0G,EAAA,QAAA,EAAA,WAAA,EAAA,CAAgB,EACzIC,cAAK,SAAS,EAAC,8FAA8F,EAAA,QAAA,EAAA,CAC1G,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EACnCD,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,gIAAgI,EAAA,QAAA,EAC5I,CAAA,EAAA,EAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA,CAAA,CAAG,EAAA,CAClD,CAAA,EAAA,CACF,CAAA,EAAA,CACF,EACNC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,4LAA4L,aACzMD,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,0GAA0G,EAAA,QAAA,EAAA,SAAA,EAAA,CAAc,EACvIC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,8FAA8F,aAC1G,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EACjCD,aAAK,SAAS,EAAC,gIAAgI,EAAA,QAAA,EAC5I,CAAA,EAAA,EAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA,CAAA,CAAG,EAAA,CAChD,IACF,CAAA,EAAA,CACF,EACNA,aAAK,SAAS,EAAC,iEAAiE,EAAA,QAAA,EAC9EA,GAAA,CAAC,kBAAkB,EAAA,EACjB,KAAK,EAAE,EAAE,EACT,KAAK,EAAEA,IAAC,WAAW,EAAA,EAAC,KAAK,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAAA,CAAI,EACxD,KAAK,EAAE;AACL,gCAAA,KAAK,EAAE,OAAO;AACd,gCAAA,MAAM,EAAE,MAAM;AACd,gCAAA,aAAa,EAAE,QAAQ;AACvB,gCAAA,cAAc,EAAE,QAAQ;AACzB,6BAAA,EACD,YAAY,EAAA,IAAA,EACZ,WAAW,EAAE,IAAI,EACjB,OAAO,EACL,yBAAyB,CAAC,IAAI,CAAC,GAAG;AAChC,kCAAE,CAAA,gBAAA,EAAmB,uBAAuB,CAAC,IAAI,CAAC,CAAA,CAAA;AAClD,kCAAE,CAAA,aAAA,CAAe,EAAA,CAErB,EAAA,CACE,EACNA,aAAK,SAAS,EAAC,+IAA+I,EAAA,QAAA,EAC5JA,IAAC,MAAM,EAAA,EACL,SAAS,EAAC,kDAAkD,EAC5D,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,SAAS,IAAI,cAAc,EAC9D,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,CAAC,KAAK,KAAI;gCACjB,KAAK,CAAC,eAAe,EAAE;AACvB,gCAAA,IAAI,CAAC,SAAS;AAAE,oCAAA,WAAW,EAAE;4BAC/B,CAAC,EACD,SAAS,EAAA,IAAA,EAAA,QAAA,EAER;AACC,kCAAE,CAAA,aAAA,EAAgB,cAAc,CAAC,IAAI,KAAK,CAAC,GAAG,GAAG,cAAc,CAAC,IAAI,CAAA,KAAA,CAAO,GAAG,cAAc,CAAC,KAAK,KAAK,CAAC,GAAG,CAAA,EAAG,cAAc,CAAC,KAAK,CAAA,MAAA,CAAQ,GAAG,CAAA,EAAG,cAAc,CAAC,OAAO,OAAO,CAAA;AAC7K,kCAAE,OAAO,EAAA,CACJ,GACL,CAAA,EAAA,CACF,CAAA,EAAA,CACF;AAEV;;;;"}
|
|
1
|
+
{"version":3,"file":"UserBondRowSolana.js","sources":["../../../../../src/views/YourBonds/components/UserBondRow/UserBondRowSolana.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport TokenInfoAndName from '../../../../components/TokenInfoAndName'\nimport { formatNumberSI } from '../../../../utils/formatNumber'\nimport Button from '../../../../components/uikit-sdk/Button/Button'\nimport TooltipBubble from '../../../../components/uikit-sdk/TooltipBubble'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport { UserBill } from '../../../../types/yourbonds'\nimport {\n claimable,\n getPendingVestingString,\n getPercentageVested,\n getTimeLeftForFullyVested,\n pending,\n} from '../../../../utils/displayHelpers'\nimport useModal from '../../../../hooks/useModal'\nimport { usePopups } from '../../../../state/popups/usePopups'\nimport Tooltip from '../../../../components/Tooltip/Tooltip'\nimport { getTimePeriods } from '../../../../utils/getTimePeriods'\nimport { Connection, PublicKey, Transaction, TransactionInstruction } from '@solana/web3.js'\nimport { ASSOCIATED_TOKEN_PROGRAM_ID } from '@solana/spl-token'\nimport useUserBonds from '../../../../state/bonds/useUserBonds'\nimport { CLAIM_DISCRIMINATOR, PROGRAM_ID } from '../../../../constants/solanaConstants'\nimport { getRPC } from '../../../../config/constants/networks'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport useSOLAccount from '../../../../hooks/accounts/useSOLAccount'\nimport ProfitCard from '../ProfitCard/ProfitCard'\nimport ProgressBar from '../../../../components/ProgressBar/ProgressBar'\nimport ProgressBarWrapper from '../../../../components/ProgressBar/ProgressBarWrapper'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\nimport YourBondsModal from '../../../YourBondsModal/YourBondsModal'\nimport { derivePda } from '../../../../utils/derivePda'\nimport { reportError } from '../../../../utils/reportError'\nimport { getAtaWithCreateInstruction, getTokenProgramForMint } from '../../../../utils/solanaAtaHelper'\nimport More from '../../../../components/uikit-sdk/Svg/Icons/More'\n\nconst UserBondRowSolana = ({ bill }: { bill: UserBill }) => {\n // Hooks\n const SDKConfig = useSDKConfig()\n const { publicKey: accountSolana, signTransaction } = useSOLAccount()\n const { addToastError, addToastSuccess } = usePopups()\n const { refetch } = useUserBonds()\n const connection = new Connection(getRPC(ChainId.SOL))\n\n // State\n const [loadingTx, setLoadingTx] = useState(false)\n\n // Static Data\n const earnTokenPrice = parseFloat(bill?.bond?.payoutTokenPrice ?? '0')\n const vestingCliff = bill?.bond?.vestingCliff\n const currentTime = Math.round(new Date().getTime() / 1000)\n const vestingStartTimestamp = parseInt(bill?.vestingStartTimestamp ?? '0')\n const isPendingCliff = vestingCliff ? currentTime - vestingStartTimestamp < vestingCliff : false\n const cliffCountdown = getTimePeriods(vestingStartTimestamp + (vestingCliff ?? 0) - currentTime, true)\n\n const [onOpenPurchasedBond] = useModal(<YourBondsModal userBill={bill} />)\n\n const handleClaim = async () => {\n // Early return guard - prevent double execution\n if (loadingTx || !accountSolana) return\n\n try {\n setLoadingTx(true)\n const earnTokenAddress = bill?.bond?.earnToken?.address?.[bill?.bond?.chainId]\n const contractAddress = bill?.bond?.contractAddress?.[bill?.bond?.chainId]\n\n if (!earnTokenAddress || !bill.asset || !contractAddress || !accountSolana) return\n\n const payoutMint = new PublicKey(earnTokenAddress)\n const bondIssuancePda = new PublicKey(contractAddress)\n const bondPricingPda = derivePda('bond_pricing', bondIssuancePda, PROGRAM_ID)\n const nftMint = new PublicKey(bill.asset)\n\n // Detect token program for payout mint (supports Token-2022)\n const payoutTokenProgram = await getTokenProgramForMint(connection, payoutMint)\n\n const [bondTermPda] = PublicKey.findProgramAddressSync(\n [new TextEncoder().encode('bond_term'), bondIssuancePda.toBuffer()],\n PROGRAM_ID,\n )\n\n const [bondPda] = PublicKey.findProgramAddressSync(\n [new TextEncoder().encode('bond'), bondIssuancePda.toBuffer(), nftMint.toBuffer()],\n PROGRAM_ID,\n )\n\n // Get user payout ATA and creation instruction if needed\n const { address: userPayoutAta, createInstruction: createAtaIx } = await getAtaWithCreateInstruction(\n connection,\n payoutMint,\n accountSolana,\n )\n\n // Treasury ATA (standard associated token account for bond issuance PDA)\n const { address: treasuryAta, createInstruction: createTreasuryAtaIx } = await getAtaWithCreateInstruction(\n connection,\n payoutMint,\n bondIssuancePda,\n accountSolana,\n )\n\n // Build keys list\n const keys = [\n { pubkey: bondPda as PublicKey, isSigner: false, isWritable: true },\n { pubkey: bondTermPda as PublicKey, isSigner: false, isWritable: false },\n { pubkey: bondIssuancePda as PublicKey, isSigner: false, isWritable: false },\n { pubkey: bondPricingPda as PublicKey, isSigner: false, isWritable: true },\n { pubkey: accountSolana as PublicKey, isSigner: true, isWritable: true }, // user\n { pubkey: nftMint as PublicKey, isSigner: false, isWritable: true },\n { pubkey: userPayoutAta as PublicKey, isSigner: false, isWritable: true },\n { pubkey: treasuryAta, isSigner: false, isWritable: true },\n { pubkey: payoutMint, isSigner: false, isWritable: false }, // payout_mint\n { pubkey: payoutTokenProgram, isSigner: false, isWritable: false }, // token_program (dynamic)\n { pubkey: ASSOCIATED_TOKEN_PROGRAM_ID, isSigner: false, isWritable: false },\n { pubkey: new PublicKey('CoREENxT6tW1HoK8ypY1SxRMZTcVPm7R94rH4PZNhX7d'), isSigner: false, isWritable: false }, // mplCoreProgram\n { pubkey: PROGRAM_ID, isSigner: false, isWritable: false }, // passing programId is the same as passing null\n ]\n\n // Build Claim Instruction (no args → just discriminator)\n const claimInstruction = new TransactionInstruction({\n keys,\n programId: PROGRAM_ID,\n data: CLAIM_DISCRIMINATOR,\n })\n\n // Build Transaction - include ATA creation if needed\n const transaction = new Transaction()\n if (createTreasuryAtaIx) transaction.add(createTreasuryAtaIx)\n if (createAtaIx) transaction.add(createAtaIx)\n transaction.add(claimInstruction)\n transaction.feePayer = accountSolana\n\n // Get fresh blockhash right before signing\n const { blockhash, lastValidBlockHeight } = await connection.getLatestBlockhash('finalized')\n transaction.recentBlockhash = blockhash\n\n if (!signTransaction) return\n const signedTx = await signTransaction(transaction)\n\n // Send with better error handling\n const txHash = await connection.sendRawTransaction(signedTx.serialize(), {\n skipPreflight: false,\n preflightCommitment: 'finalized',\n maxRetries: 0, // Don't auto-retry to avoid duplicates\n })\n\n await connection.confirmTransaction(\n {\n signature: txHash,\n blockhash,\n lastValidBlockHeight,\n },\n 'confirmed',\n )\n\n const txStatus = await connection.getSignatureStatus(txHash, { searchTransactionHistory: true })\n if (txStatus?.value?.confirmationStatus === 'confirmed' || txStatus?.value?.confirmationStatus === 'finalized') {\n console.log('Tx confirmed on-chain, refetching bonds')\n refetch()\n addToastSuccess(txHash, ChainId.SOL)\n }\n } catch (error: any) {\n console.error('Claim failed:', error)\n\n // Better error messaging for duplicate transactions\n if (error?.message?.includes('already been processed')) {\n addToastError('Transaction already processed. Please wait and try again.')\n } else {\n addToastError(error?.message ?? 'Unknown error')\n }\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error,\n chainId: ChainId.SOL,\n account: accountSolana?.toBase58() ?? '',\n extraInfo: { type: 'claim', bill, error },\n })\n } finally {\n setLoadingTx(false)\n }\n }\n\n return (\n <div className=\"your-bonds\" onClick={() => onOpenPurchasedBond()}>\n <div className=\"token-info-container\">\n <TokenInfoAndName\n tokenSymbol={bill.bond?.earnToken.symbol}\n chain={bill?.bond?.chainId}\n vestEnds={getTimeLeftForFullyVested(bill) > 0 ? `Ends in ${getPendingVestingString(bill)}` : `Fully Vested`}\n isHotBond\n />\n <div className=\"tooltip-column\">\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Tooltip\n earnTokenContract={bill?.bond?.earnToken.address[bill?.bond.chainId] || ''}\n earnTokenSymbol={bill?.bond?.earnToken.symbol || ''}\n bondContract={bill?.address ?? ''}\n projectLink={bill?.bond?.projectLink}\n twitter={bill?.bond?.twitter}\n chain={bill?.bond?.chainId as number}\n cgId={bill?.bond?.cgId}\n dexscreener={bill?.bond?.dexscreener}\n />\n }\n width=\"205px\"\n placement=\"bottomRight\"\n transformTip=\"translate(5%, 0%)\"\n >\n <Flex\n sx={{\n opacity: 0.8,\n }}\n >\n <More width=\"25px\" />\n </Flex>\n </TooltipBubble>\n </div>\n </div>\n <div className=\"your-bonds-columns-container\">\n <Flex sx={{ width: '125px' }}>\n <ProfitCard userBond={bill} />\n </Flex>\n <div className=\"your-bonds-content\">\n <div className=\"your-bonds-content-title\">Claimable</div>\n <div className=\"your-bonds-content-tokens-amount\">\n {formatNumberSI(claimable(bill), 4)}\n <div className=\"your-bonds-content-tokens-usd-amount\">\n {`($${(claimable(bill) * earnTokenPrice).toFixed(2)})`}\n </div>\n </div>\n </div>\n <div className=\"your-bonds-content\">\n <div className=\"your-bonds-content-title\">Pending</div>\n <div className=\"your-bonds-content-tokens-amount\">\n {formatNumberSI(pending(bill), 4)}\n <div className=\"your-bonds-content-tokens-usd-amount\">\n {`($${(pending(bill) * earnTokenPrice).toFixed(2)})`}\n </div>\n </div>\n </div>\n <div className=\"your-bonds-content hide-mobile\">\n <ProgressBarWrapper\n title={''}\n value={<ProgressBar value={getPercentageVested(bill)} />}\n style={{\n width: '127px',\n height: '25px',\n flexDirection: 'column',\n justifyContent: 'center',\n display: ['none', 'none', 'none', 'flex'],\n }}\n showTooltip={true}\n toolTip={\n getTimeLeftForFullyVested(bill) > 0\n ? `Fully vested in ${getPendingVestingString(bill)}.`\n : `Fully Vested.`\n }\n />\n </div>\n <div className=\"your-bonds-column-button\">\n <Button\n className=\"button\"\n disabled={claimable(bill) === 0 || loadingTx || isPendingCliff}\n load={loadingTx}\n onClick={(event) => {\n event.stopPropagation()\n if (!loadingTx) handleClaim()\n }}\n fullWidth\n >\n {isPendingCliff\n ? `Claimable in ${cliffCountdown.days !== 0 ? `${cliffCountdown.days} days` : cliffCountdown.hours !== 0 ? `${cliffCountdown.hours} hours` : `${cliffCountdown.minutes} mins`}`\n : 'Claim'}\n </Button>\n </div>\n </div>\n </div>\n )\n}\n\nexport default UserBondRowSolana\n"],"names":["_jsx","_jsxs","Tooltip"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx, jsxs } from '
|
|
1
|
+
import { jsx, jsxs } from 'theme-ui/jsx-runtime';
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import { ChainId } from '@ape.swap/apeswap-lists';
|
|
4
4
|
import { Transaction } from '@mysten/sui/transactions';
|
|
@@ -105,14 +105,15 @@ const UserBondRowSui = ({ bill }) => {
|
|
|
105
105
|
setLoadingTx(false);
|
|
106
106
|
}
|
|
107
107
|
};
|
|
108
|
-
return (jsxs("div", { className: "your-bonds
|
|
108
|
+
return (jsxs("div", { className: "your-bonds", onClick: () => onOpenPurchasedBond(), children: [jsxs("div", { className: "token-info-container", children: [jsx(TokenInfoAndName, { tokenSymbol: bill.bond?.earnToken.symbol, chain: bill?.bond?.chainId, vestEnds: getTimeLeftForFullyVested(bill) > 0 ? `Ends in ${getPendingVestingString(bill)}` : `Fully Vested`, isHotBond: true }), jsx("div", { className: "tooltip-column", children: jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(BondInfoTooltip, { earnTokenContract: bill?.bond?.earnToken.address[bill?.bond.chainId] || '', earnTokenSymbol: bill?.bond?.earnToken.symbol || '', bondContract: bill?.address ?? '', projectLink: bill?.bond?.projectLink, twitter: bill?.bond?.twitter, chain: bill?.bond?.chainId, cgId: bill?.bond?.cgId, dexscreener: bill?.bond?.dexscreener }), width: "205px", placement: "bottomRight", transformTip: "translate(5%, 0%)", children: jsx(Flex, { sx: { opacity: 0.8 }, children: jsx(More, { width: "25px" }) }) }) })] }), jsxs("div", { className: "your-bonds-columns-container", children: [jsx(Flex, { sx: { width: '125px' }, children: jsx(ProfitCard, { userBond: bill }) }), jsxs("div", { className: "your-bonds-content", children: [jsx("div", { className: "your-bonds-content-title", children: "Claimable" }), jsxs("div", { className: "your-bonds-content-tokens-amount", children: [formatNumberSI(claimable(bill), 4), jsx("div", { className: "your-bonds-content-tokens-usd-amount", children: `($${(claimable(bill) * earnTokenPrice).toFixed(2)})` })] })] }), jsxs("div", { className: "your-bonds-content", children: [jsx("div", { className: "your-bonds-content-title", children: "Pending" }), jsxs("div", { className: "your-bonds-content-tokens-amount", children: [formatNumberSI(pending(bill), 4), jsx("div", { className: "your-bonds-content-tokens-usd-amount", children: `($${(pending(bill) * earnTokenPrice).toFixed(2)})` })] })] }), jsx("div", { className: "your-bonds-content hide-mobile", children: jsx(ProgressBarWrapper, { title: '', value: jsx(ProgressBar, { value: getPercentageVested(bill) }), style: {
|
|
109
109
|
width: '127px',
|
|
110
110
|
height: '25px',
|
|
111
111
|
flexDirection: 'column',
|
|
112
112
|
justifyContent: 'center',
|
|
113
|
-
|
|
113
|
+
display: ['none', 'none', 'none', 'flex'],
|
|
114
|
+
}, showTooltip: true, toolTip: getTimeLeftForFullyVested(bill) > 0
|
|
114
115
|
? `Fully vested in ${getPendingVestingString(bill)}.`
|
|
115
|
-
: `Fully Vested.` }) }), jsx("div", { className: "your-bonds-column-button
|
|
116
|
+
: `Fully Vested.` }) }), jsx("div", { className: "your-bonds-column-button", children: !suiAccount ? (jsxs(Button, { className: "button", disabled: true, fullWidth: true, children: ["Connect to ", NETWORK_LABEL[ChainId.SUI]] })) : (jsx(Button, { className: "button", disabled: claimable(bill) === 0 || loadingTx || isPendingCliff, load: loadingTx, onClick: (event) => {
|
|
116
117
|
event.stopPropagation();
|
|
117
118
|
if (!loadingTx)
|
|
118
119
|
handleClaim();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserBondRowSui.js","sources":["../../../../../src/views/YourBonds/components/UserBondRow/UserBondRowSui.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport { Transaction } from '@mysten/sui/transactions'\n\nimport TokenInfoAndName from '../../../../components/TokenInfoAndName'\nimport { formatNumberSI } from '../../../../utils/formatNumber'\nimport Button from '../../../../components/uikit-sdk/Button/Button'\nimport TooltipBubble from '../../../../components/uikit-sdk/TooltipBubble'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport { NETWORK_LABEL } from '../../../../config/constants/chains'\nimport { UserBill } from '../../../../types/yourbonds'\nimport {\n claimable,\n getPendingVestingString,\n getPercentageVested,\n getTimeLeftForFullyVested,\n pending,\n} from '../../../../utils/displayHelpers'\nimport useModal from '../../../../hooks/useModal'\nimport { usePopups } from '../../../../state/popups/usePopups'\nimport Tooltip from '../../../../components/Tooltip/Tooltip'\nimport { getTimePeriods } from '../../../../utils/getTimePeriods'\nimport ProfitCard from '../ProfitCard/ProfitCard'\nimport ProgressBar from '../../../../components/ProgressBar/ProgressBar'\nimport ProgressBarWrapper from '../../../../components/ProgressBar/ProgressBarWrapper'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\nimport YourBondsModal from '../../../YourBondsModal/YourBondsModal'\nimport { reportError } from '../../../../utils/reportError'\n\nimport { useQueryClient } from '@tanstack/react-query'\nimport useSUIAccount from '../../../../hooks/accounts/useSUIAccount'\nimport { SUI_CLAIM_FUNCTION } from '../../../../constants/suiConstants'\nimport { getSuiClient, verifySuiTxSuccess } from '../../../../utils/suiHelpers'\nimport { QUERY_KEYS } from '../../../../config/constants/queryKeys'\nimport More from '../../../../components/uikit-sdk/Svg/Icons/More'\n\n// Row renderer for Sui user bonds. Structure and layout mirror\n// `UserBondRowAptos` so the Your Bonds grid stays visually consistent\n// across VMs. The only meaningful divergence is `handleClaim`, which\n// builds a Sui `Transaction` with a moveCall for the claim function.\nconst UserBondRowSui = ({ bill }: { bill: UserBill }) => {\n // Hooks\n const SDKConfig = useSDKConfig()\n const queryClient = useQueryClient()\n const { address: suiAccount, signAndExecuteTransaction } = useSUIAccount()\n const { addToastError, addToastSuccess } = usePopups()\n\n // State\n const [loadingTx, setLoadingTx] = useState(false)\n\n // Static Data\n const earnTokenPrice = parseFloat(bill?.bond?.payoutTokenPrice ?? '0')\n const vestingCliff = bill?.bond?.vestingCliff\n const currentTime = Math.round(new Date().getTime() / 1000)\n const vestingStartTimestamp = parseInt(bill?.vestingStartTimestamp ?? '0')\n const isPendingCliff = vestingCliff ? currentTime - vestingStartTimestamp < vestingCliff : false\n const cliffCountdown = getTimePeriods(vestingStartTimestamp + (vestingCliff ?? 0) - currentTime, true)\n\n const [onOpenPurchasedBond] = useModal(<YourBondsModal userBill={bill} />)\n\n const handleClaim = async () => {\n if (loadingTx || !suiAccount || !signAndExecuteTransaction) return\n\n try {\n setLoadingTx(true)\n\n const market = bill?.bond?.contractAddress?.[ChainId.SUI]\n if (!market) throw new Error('Missing bond market address')\n\n // The user's BondNFT object ID is stored in `bill.address`\n const nftObjectId = bill?.address\n if (!nftObjectId) throw new Error('Missing bond NFT object ID')\n\n const payoutCoinType = bill?.bond?.earnToken?.address?.[bill?.bond?.chainId ?? 0]\n const principalCoinType = bill?.bond?.lpToken?.address?.[bill?.bond?.chainId ?? 0]\n if (!payoutCoinType || !principalCoinType) throw new Error('Missing token type info')\n\n const tx = new Transaction()\n const [claimedCoin] = tx.moveCall({\n target: SUI_CLAIM_FUNCTION,\n typeArguments: [payoutCoinType, principalCoinType],\n arguments: [\n tx.object(market),\n tx.object(nftObjectId),\n tx.object('0x6'), // clock\n ],\n })\n tx.transferObjects([claimedCoin], tx.pure.address(suiAccount))\n\n // Pre-build so the wallet receives fully-resolved bytes\n tx.setSender(suiAccount)\n tx.setGasBudget(50_000_000)\n const suiClient = getSuiClient()\n const builtBytes = await tx.build({ client: suiClient })\n const prebuiltTx = Transaction.from(builtBytes)\n\n const response = await signAndExecuteTransaction({\n transaction: prebuiltTx,\n })\n\n const digest = response?.digest\n if (!digest) throw new Error('No tx digest returned by wallet')\n\n await suiClient.waitForTransaction({ digest })\n await verifySuiTxSuccess(digest)\n\n await queryClient.invalidateQueries({ queryKey: [QUERY_KEYS.USER_BONDS] })\n addToastSuccess(digest, ChainId.SUI)\n } catch (error: any) {\n console.error('Sui claim failed:', error)\n addToastError(error?.message ?? 'Unknown error')\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error,\n chainId: ChainId.SUI,\n account: suiAccount ?? '',\n extraInfo: { type: 'suiClaim', bill, error },\n })\n } finally {\n setLoadingTx(false)\n }\n }\n\n return (\n <div className=\"your-bonds ape:flex ape:flex-col ape:w-full ape:justify-around ape:bg-white2 ape:mb-[5px] ape:rounded-[10px] ape:cursor-pointer ape:hover:bg-white3 ape:min-[1000px]:flex-row ape:min-[1000px]:h-[70px]\" onClick={() => onOpenPurchasedBond()}>\n <div className=\"token-info-container ape:flex ape:w-full ape:min-[1000px]:w-[30%] ape:min-[1000px]:min-w-[300px]\">\n <TokenInfoAndName\n tokenSymbol={bill.bond?.earnToken.symbol}\n chain={bill?.bond?.chainId}\n vestEnds={getTimeLeftForFullyVested(bill) > 0 ? `Ends in ${getPendingVestingString(bill)}` : `Fully Vested`}\n isHotBond\n />\n <div className=\"tooltip-column ape:flex ape:w-[50px] ape:items-center ape:ml-[10px] ape:min-[1000px]:hidden\">\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Tooltip\n earnTokenContract={bill?.bond?.earnToken.address[bill?.bond.chainId] || ''}\n earnTokenSymbol={bill?.bond?.earnToken.symbol || ''}\n bondContract={bill?.address ?? ''}\n projectLink={bill?.bond?.projectLink}\n twitter={bill?.bond?.twitter}\n chain={bill?.bond?.chainId as number}\n cgId={bill?.bond?.cgId}\n dexscreener={bill?.bond?.dexscreener}\n />\n }\n width=\"205px\"\n placement=\"bottomRight\"\n transformTip=\"translate(5%, 0%)\"\n >\n <Flex className=\"ape:opacity-80\">\n <More width=\"25px\" />\n </Flex>\n </TooltipBubble>\n </div>\n </div>\n <div className=\"your-bonds-columns-container ape:flex ape:flex-col ape:items-center ape:justify-end ape:w-full ape:min-[1000px]:w-[70%] ape:min-[1000px]:justify-between ape:min-[1000px]:flex-row ape:min-[1000px]:pr-[20px]\">\n <Flex className=\"ape:w-[125px]\">\n <ProfitCard userBond={bill} />\n </Flex>\n <div className=\"your-bonds-content ape:flex ape:items-center ape:justify-between ape:w-full ape:px-[10px] ape:text-[14px] ape:min-[1000px]:w-[130px] ape:min-[1000px]:justify-center ape:min-[1000px]:mt-0\">\n <div className=\"your-bonds-content-title ape:flex ape:text-[12px] ape:font-medium ape:opacity-60 ape:min-[1000px]:hidden\">Claimable</div>\n <div className=\"your-bonds-content-tokens-amount ape:flex ape:items-center ape:text-[14px] ape:font-semibold\">\n {formatNumberSI(claimable(bill), 4)}\n <div className=\"your-bonds-content-tokens-usd-amount ape:opacity-60 ape:text-[12px] ape:font-normal ape:ml-[4px] ape:text-text-disabled-button\">\n {`($${(claimable(bill) * earnTokenPrice).toFixed(2)})`}\n </div>\n </div>\n </div>\n <div className=\"your-bonds-content ape:flex ape:items-center ape:justify-between ape:w-full ape:px-[10px] ape:text-[14px] ape:min-[1000px]:w-[130px] ape:min-[1000px]:justify-center ape:min-[1000px]:mt-0\">\n <div className=\"your-bonds-content-title ape:flex ape:text-[12px] ape:font-medium ape:opacity-60 ape:min-[1000px]:hidden\">Pending</div>\n <div className=\"your-bonds-content-tokens-amount ape:flex ape:items-center ape:text-[14px] ape:font-semibold\">\n {formatNumberSI(pending(bill), 4)}\n <div className=\"your-bonds-content-tokens-usd-amount ape:opacity-60 ape:text-[12px] ape:font-normal ape:ml-[4px] ape:text-text-disabled-button\">\n {`($${(pending(bill) * earnTokenPrice).toFixed(2)})`}\n </div>\n </div>\n </div>\n <div className=\"your-bonds-content hide-mobile ape:hidden ape:min-[1000px]:flex\">\n <ProgressBarWrapper\n title={''}\n value={<ProgressBar value={getPercentageVested(bill)} />}\n style={{\n width: '127px',\n height: '25px',\n flexDirection: 'column',\n justifyContent: 'center',\n }}\n hideOnMobile\n showTooltip={true}\n toolTip={\n getTimeLeftForFullyVested(bill) > 0\n ? `Fully vested in ${getPendingVestingString(bill)}.`\n : `Fully Vested.`\n }\n />\n </div>\n <div className=\"your-bonds-column-button ape:flex ape:w-full ape:items-center ape:justify-center ape:p-[10px] ape:min-[1000px]:w-[210px] ape:min-[1000px]:p-0\">\n {!suiAccount ? (\n <Button className=\"button ape:text-[14px]! ape:p-[6px] ape:h-[30px]\" disabled={true} fullWidth>\n Connect to {NETWORK_LABEL[ChainId.SUI]}\n </Button>\n ) : (\n <Button\n className=\"button ape:text-[14px]! ape:p-[6px] ape:h-[30px]\"\n disabled={claimable(bill) === 0 || loadingTx || isPendingCliff}\n load={loadingTx}\n onClick={(event) => {\n event.stopPropagation()\n if (!loadingTx) handleClaim()\n }}\n fullWidth\n >\n {isPendingCliff\n ? `Claimable in ${cliffCountdown.days !== 0 ? `${cliffCountdown.days} days` : cliffCountdown.hours !== 0 ? `${cliffCountdown.hours} hours` : `${cliffCountdown.minutes} mins`}`\n : 'Claim'}\n </Button>\n )}\n </div>\n </div>\n </div>\n )\n}\n\nexport default UserBondRowSui\n"],"names":["_jsx","_jsxs","Tooltip"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UserBondRowSui.js","sources":["../../../../../src/views/YourBonds/components/UserBondRow/UserBondRowSui.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport { Transaction } from '@mysten/sui/transactions'\n\nimport TokenInfoAndName from '../../../../components/TokenInfoAndName'\nimport { formatNumberSI } from '../../../../utils/formatNumber'\nimport Button from '../../../../components/uikit-sdk/Button/Button'\nimport TooltipBubble from '../../../../components/uikit-sdk/TooltipBubble'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport { NETWORK_LABEL } from '../../../../config/constants/chains'\nimport { UserBill } from '../../../../types/yourbonds'\nimport {\n claimable,\n getPendingVestingString,\n getPercentageVested,\n getTimeLeftForFullyVested,\n pending,\n} from '../../../../utils/displayHelpers'\nimport useModal from '../../../../hooks/useModal'\nimport { usePopups } from '../../../../state/popups/usePopups'\nimport Tooltip from '../../../../components/Tooltip/Tooltip'\nimport { getTimePeriods } from '../../../../utils/getTimePeriods'\nimport ProfitCard from '../ProfitCard/ProfitCard'\nimport ProgressBar from '../../../../components/ProgressBar/ProgressBar'\nimport ProgressBarWrapper from '../../../../components/ProgressBar/ProgressBarWrapper'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\nimport YourBondsModal from '../../../YourBondsModal/YourBondsModal'\nimport { reportError } from '../../../../utils/reportError'\n\nimport { useQueryClient } from '@tanstack/react-query'\nimport useSUIAccount from '../../../../hooks/accounts/useSUIAccount'\nimport { SUI_CLAIM_FUNCTION } from '../../../../constants/suiConstants'\nimport { getSuiClient, verifySuiTxSuccess } from '../../../../utils/suiHelpers'\nimport { QUERY_KEYS } from '../../../../config/constants/queryKeys'\nimport More from '../../../../components/uikit-sdk/Svg/Icons/More'\n\n// Row renderer for Sui user bonds. Structure and layout mirror\n// `UserBondRowAptos` so the Your Bonds grid stays visually consistent\n// across VMs. The only meaningful divergence is `handleClaim`, which\n// builds a Sui `Transaction` with a moveCall for the claim function.\nconst UserBondRowSui = ({ bill }: { bill: UserBill }) => {\n // Hooks\n const SDKConfig = useSDKConfig()\n const queryClient = useQueryClient()\n const { address: suiAccount, signAndExecuteTransaction } = useSUIAccount()\n const { addToastError, addToastSuccess } = usePopups()\n\n // State\n const [loadingTx, setLoadingTx] = useState(false)\n\n // Static Data\n const earnTokenPrice = parseFloat(bill?.bond?.payoutTokenPrice ?? '0')\n const vestingCliff = bill?.bond?.vestingCliff\n const currentTime = Math.round(new Date().getTime() / 1000)\n const vestingStartTimestamp = parseInt(bill?.vestingStartTimestamp ?? '0')\n const isPendingCliff = vestingCliff ? currentTime - vestingStartTimestamp < vestingCliff : false\n const cliffCountdown = getTimePeriods(vestingStartTimestamp + (vestingCliff ?? 0) - currentTime, true)\n\n const [onOpenPurchasedBond] = useModal(<YourBondsModal userBill={bill} />)\n\n const handleClaim = async () => {\n if (loadingTx || !suiAccount || !signAndExecuteTransaction) return\n\n try {\n setLoadingTx(true)\n\n const market = bill?.bond?.contractAddress?.[ChainId.SUI]\n if (!market) throw new Error('Missing bond market address')\n\n // The user's BondNFT object ID is stored in `bill.address`\n const nftObjectId = bill?.address\n if (!nftObjectId) throw new Error('Missing bond NFT object ID')\n\n const payoutCoinType = bill?.bond?.earnToken?.address?.[bill?.bond?.chainId ?? 0]\n const principalCoinType = bill?.bond?.lpToken?.address?.[bill?.bond?.chainId ?? 0]\n if (!payoutCoinType || !principalCoinType) throw new Error('Missing token type info')\n\n const tx = new Transaction()\n const [claimedCoin] = tx.moveCall({\n target: SUI_CLAIM_FUNCTION,\n typeArguments: [payoutCoinType, principalCoinType],\n arguments: [\n tx.object(market),\n tx.object(nftObjectId),\n tx.object('0x6'), // clock\n ],\n })\n tx.transferObjects([claimedCoin], tx.pure.address(suiAccount))\n\n // Pre-build so the wallet receives fully-resolved bytes\n tx.setSender(suiAccount)\n tx.setGasBudget(50_000_000)\n const suiClient = getSuiClient()\n const builtBytes = await tx.build({ client: suiClient })\n const prebuiltTx = Transaction.from(builtBytes)\n\n const response = await signAndExecuteTransaction({\n transaction: prebuiltTx,\n })\n\n const digest = response?.digest\n if (!digest) throw new Error('No tx digest returned by wallet')\n\n await suiClient.waitForTransaction({ digest })\n await verifySuiTxSuccess(digest)\n\n await queryClient.invalidateQueries({ queryKey: [QUERY_KEYS.USER_BONDS] })\n addToastSuccess(digest, ChainId.SUI)\n } catch (error: any) {\n console.error('Sui claim failed:', error)\n addToastError(error?.message ?? 'Unknown error')\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error,\n chainId: ChainId.SUI,\n account: suiAccount ?? '',\n extraInfo: { type: 'suiClaim', bill, error },\n })\n } finally {\n setLoadingTx(false)\n }\n }\n\n return (\n <div className=\"your-bonds\" onClick={() => onOpenPurchasedBond()}>\n <div className=\"token-info-container\">\n <TokenInfoAndName\n tokenSymbol={bill.bond?.earnToken.symbol}\n chain={bill?.bond?.chainId}\n vestEnds={getTimeLeftForFullyVested(bill) > 0 ? `Ends in ${getPendingVestingString(bill)}` : `Fully Vested`}\n isHotBond\n />\n <div className=\"tooltip-column\">\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Tooltip\n earnTokenContract={bill?.bond?.earnToken.address[bill?.bond.chainId] || ''}\n earnTokenSymbol={bill?.bond?.earnToken.symbol || ''}\n bondContract={bill?.address ?? ''}\n projectLink={bill?.bond?.projectLink}\n twitter={bill?.bond?.twitter}\n chain={bill?.bond?.chainId as number}\n cgId={bill?.bond?.cgId}\n dexscreener={bill?.bond?.dexscreener}\n />\n }\n width=\"205px\"\n placement=\"bottomRight\"\n transformTip=\"translate(5%, 0%)\"\n >\n <Flex sx={{ opacity: 0.8 }}>\n <More width=\"25px\" />\n </Flex>\n </TooltipBubble>\n </div>\n </div>\n <div className=\"your-bonds-columns-container\">\n <Flex sx={{ width: '125px' }}>\n <ProfitCard userBond={bill} />\n </Flex>\n <div className=\"your-bonds-content\">\n <div className=\"your-bonds-content-title\">Claimable</div>\n <div className=\"your-bonds-content-tokens-amount\">\n {formatNumberSI(claimable(bill), 4)}\n <div className=\"your-bonds-content-tokens-usd-amount\">\n {`($${(claimable(bill) * earnTokenPrice).toFixed(2)})`}\n </div>\n </div>\n </div>\n <div className=\"your-bonds-content\">\n <div className=\"your-bonds-content-title\">Pending</div>\n <div className=\"your-bonds-content-tokens-amount\">\n {formatNumberSI(pending(bill), 4)}\n <div className=\"your-bonds-content-tokens-usd-amount\">\n {`($${(pending(bill) * earnTokenPrice).toFixed(2)})`}\n </div>\n </div>\n </div>\n <div className=\"your-bonds-content hide-mobile\">\n <ProgressBarWrapper\n title={''}\n value={<ProgressBar value={getPercentageVested(bill)} />}\n style={{\n width: '127px',\n height: '25px',\n flexDirection: 'column',\n justifyContent: 'center',\n display: ['none', 'none', 'none', 'flex'],\n }}\n showTooltip={true}\n toolTip={\n getTimeLeftForFullyVested(bill) > 0\n ? `Fully vested in ${getPendingVestingString(bill)}.`\n : `Fully Vested.`\n }\n />\n </div>\n <div className=\"your-bonds-column-button\">\n {!suiAccount ? (\n <Button className=\"button\" disabled={true} fullWidth>\n Connect to {NETWORK_LABEL[ChainId.SUI]}\n </Button>\n ) : (\n <Button\n className=\"button\"\n disabled={claimable(bill) === 0 || loadingTx || isPendingCliff}\n load={loadingTx}\n onClick={(event) => {\n event.stopPropagation()\n if (!loadingTx) handleClaim()\n }}\n fullWidth\n >\n {isPendingCliff\n ? `Claimable in ${cliffCountdown.days !== 0 ? `${cliffCountdown.days} days` : cliffCountdown.hours !== 0 ? `${cliffCountdown.hours} hours` : `${cliffCountdown.minutes} mins`}`\n : 'Claim'}\n </Button>\n )}\n </div>\n </div>\n </div>\n )\n}\n\nexport default UserBondRowSui\n"],"names":["_jsx","_jsxs","Tooltip"],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { PreTGEUserBonds } from '../../../../state/bonds/useUserBondsPreTGE';
|
|
2
3
|
declare const UserBondRowYield: ({ userBond }: {
|
|
3
4
|
userBond: PreTGEUserBonds;
|
|
4
|
-
}) =>
|
|
5
|
+
}) => React.JSX.Element;
|
|
5
6
|
export default UserBondRowYield;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { jsx, jsxs } from '
|
|
1
|
+
import { jsx, jsxs } from 'theme-ui/jsx-runtime';
|
|
2
2
|
import TokenInfoAndName from '../../../../components/TokenInfoAndName/index.js';
|
|
3
3
|
import TooltipBubble from '../../../../components/uikit-sdk/TooltipBubble/index.js';
|
|
4
4
|
import BondInfoTooltip from '../../../../components/Tooltip/Tooltip.js';
|
|
5
|
-
import Flex from '
|
|
5
|
+
import { Flex } from 'theme-ui';
|
|
6
6
|
import { formatTimeLeft, getTimePeriods } from '../../../../utils/getTimePeriods.js';
|
|
7
7
|
import useModal from '../../../../hooks/useModal.js';
|
|
8
8
|
import YourBondsModalYield from '../../../YourBondsModalYield/YourBondsModalYield.js';
|
|
@@ -30,7 +30,14 @@ const UserBondRowYield = ({ userBond }) => {
|
|
|
30
30
|
const claimableUSD = claimable * earnTokenPrice;
|
|
31
31
|
const endTimeFinished = Date.now() > (userBond?.endTime ?? 0) * 1000;
|
|
32
32
|
const [onOpenPurchasedBond] = useModal(jsx(YourBondsModalYield, { userBill: userBond }), false, false, `yourBondsModalYield${userBond.contractAddress[userBond.chainId]}`);
|
|
33
|
-
return (jsxs("div", { className: "your-bonds
|
|
33
|
+
return (jsxs("div", { className: "your-bonds", onClick: onOpenPurchasedBond, children: [jsxs("div", { className: "token-info-container", children: [jsx(TokenInfoAndName, { tokenSymbol: userBond?.underlyingEarnToken?.symbol, chain: userBond.chainId, tag: userBond.tags?.[0], vestEnds: isRedeemable ? 'Activate Yield!' : !hasRedeemed ? `Claim in ${redeemableIn}` : `Ends in ${vestingString}`, isHotBond: true }), jsx("div", { className: "tooltip-column", children: jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(BondInfoTooltip, { earnTokenContract: userBond?.earnToken.address[userBond?.chainId] || '', earnTokenSymbol: userBond?.earnToken.symbol || '', bondContract: userBond?.contractAddress?.[userBond?.chainId] || '', projectLink: userBond?.projectLink, twitter: userBond?.twitter, chain: userBond?.chainId }), width: "205px", placement: "bottomRight", transformTip: "translate(5%, 0%)", children: jsx(Flex, { sx: {
|
|
34
|
+
opacity: 0.8,
|
|
35
|
+
}, children: jsx(More, { width: "25px" }) }) }) })] }), jsxs("div", { className: "your-bonds-columns-container", children: [jsx(Flex, { sx: { display: ['none', 'none', 'none', 'flex'], width: '125px' } }), jsxs("div", { className: "your-bonds-content", children: [jsx("div", { className: "your-bonds-content-title", children: "Claimable" }), jsxs("div", { className: "your-bonds-content-tokens-amount", children: [hasRedeemed ? formatNumberSI(claimable) : '', jsx("div", { className: "your-bonds-content-tokens-usd-amount", children: hasRedeemed ? `($${formatNumberSI(claimableUSD)})` : '-' })] })] }), jsxs("div", { className: "your-bonds-content", children: [jsx("div", { className: "your-bonds-content-title", children: "Pending" }), jsxs("div", { className: "your-bonds-content-tokens-amount", children: [hasRedeemed ? formatNumberSI(pending) : '', jsx("div", { className: "your-bonds-content-tokens-usd-amount", children: hasRedeemed ? `($${formatNumberSI(pendingUSD)})` : '-' })] })] }), jsx("div", { className: "your-bonds-content hide-mobile", children: vestingString }), jsx("div", { className: "your-bonds-column-button", children: jsx(Button, { sx: {
|
|
36
|
+
fontSize: '14px',
|
|
37
|
+
height: '30px',
|
|
38
|
+
background: !saleFinalized && 'var(--theme-ui-colors-white4) !important',
|
|
39
|
+
width: '100%',
|
|
40
|
+
}, disabled: !saleFinalized, children: isRedeemable
|
|
34
41
|
? 'Activate Yield'
|
|
35
42
|
: endTimeFinished && !saleFinalized
|
|
36
43
|
? 'Claim enabled soon'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserBondRowYield.js","sources":["../../../../../src/views/YourBonds/components/UserBondRow/UserBondRowYield.tsx"],"sourcesContent":["import React from 'react'\nimport TokenInfoAndName from '../../../../components/TokenInfoAndName'\nimport TooltipBubble from '../../../../components/uikit-sdk/TooltipBubble'\nimport Tooltip from '../../../../components/Tooltip/Tooltip'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport { formatTimeLeft, getTimePeriods } from '../../../../utils/getTimePeriods'\nimport { PreTGEUserBonds } from '../../../../state/bonds/useUserBondsPreTGE'\nimport useModal from '../../../../hooks/useModal'\nimport YourBondsModalYield from '../../../YourBondsModalYield/YourBondsModalYield'\nimport Button from '../../../../components/uikit-sdk/Button/Button'\nimport { formatNumberSI } from '../../../../utils/formatNumber'\nimport { getBalanceNumber } from '../../../../utils/getBalanceNumber'\nimport More from '../../../../components/uikit-sdk/Svg/Icons/More'\n\nconst UserBondRowYield = ({ userBond }: { userBond: PreTGEUserBonds }) => {\n const saleFinalized = userBond.finalized\n const hasRedeemed = userBond?.accountInfo?.hasRedeemed\n const isRedeemable = !hasRedeemed && saleFinalized\n\n const redeemableIn = formatTimeLeft((userBond?.redeemTime ?? 0) - new Date().getTime() / 1000, true, true)\n const timeLeftForFullyVested = (userBond.yieldData?.rewardDistributionEnd ?? 0) - Date.now() / 1000\n const timePeriods = getTimePeriods(timeLeftForFullyVested, true)\n const vestingString =\n isRedeemable && userBond.yieldBond\n ? ''\n : hasRedeemed\n ? `${timePeriods.days}d ${timePeriods.hours}h ${timePeriods.minutes}m`\n : ''\n\n const earnTokenPrice = userBond?.earnTokenPrice ?? 0\n const pending = userBond?.yieldData?.depositedAssets ?? 0\n const pendingUSD = pending * earnTokenPrice\n const claimable = getBalanceNumber(userBond?.yieldData?.claimableRewards ?? '0')\n const claimableUSD = claimable * earnTokenPrice\n const endTimeFinished = Date.now() > (userBond?.endTime ?? 0) * 1000\n\n const [onOpenPurchasedBond] = useModal(\n <YourBondsModalYield userBill={userBond} />,\n false,\n false,\n `yourBondsModalYield${userBond.contractAddress[userBond.chainId]}`,\n )\n\n return (\n <div className=\"your-bonds ape:flex ape:flex-col ape:w-full ape:justify-around ape:bg-white2 ape:mb-[5px] ape:rounded-[10px] ape:cursor-pointer ape:hover:bg-white3 ape:min-[1000px]:flex-row ape:min-[1000px]:h-[70px]\" onClick={onOpenPurchasedBond}>\n <div className=\"token-info-container ape:flex ape:w-full ape:min-[1000px]:w-[30%] ape:min-[1000px]:min-w-[300px]\">\n <TokenInfoAndName\n tokenSymbol={userBond?.underlyingEarnToken?.symbol}\n chain={userBond.chainId}\n tag={userBond.tags?.[0]}\n vestEnds={\n isRedeemable ? 'Activate Yield!' : !hasRedeemed ? `Claim in ${redeemableIn}` : `Ends in ${vestingString}`\n }\n isHotBond\n />\n <div className=\"tooltip-column ape:flex ape:w-[50px] ape:items-center ape:ml-[10px] ape:min-[1000px]:hidden\">\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Tooltip\n earnTokenContract={userBond?.earnToken.address[userBond?.chainId] || ''}\n earnTokenSymbol={userBond?.earnToken.symbol || ''}\n bondContract={userBond?.contractAddress?.[userBond?.chainId] || ''}\n projectLink={userBond?.projectLink}\n twitter={userBond?.twitter}\n chain={userBond?.chainId}\n />\n }\n width=\"205px\"\n placement=\"bottomRight\"\n transformTip=\"translate(5%, 0%)\"\n >\n <Flex className=\"ape:opacity-80\">\n <More width=\"25px\" />\n </Flex>\n </TooltipBubble>\n </div>\n </div>\n <div className=\"your-bonds-columns-container ape:flex ape:flex-col ape:items-center ape:justify-end ape:w-full ape:min-[1000px]:w-[70%] ape:min-[1000px]:justify-between ape:min-[1000px]:flex-row ape:min-[1000px]:pr-[20px]\">\n <Flex className=\"ape:hidden ape:md:flex ape:w-[125px]\" />\n <div className=\"your-bonds-content ape:flex ape:items-center ape:justify-between ape:w-full ape:px-[10px] ape:text-[14px] ape:min-[1000px]:w-[130px] ape:min-[1000px]:justify-center ape:min-[1000px]:mt-0\">\n <div className=\"your-bonds-content-title ape:flex ape:text-[12px] ape:font-medium ape:opacity-60 ape:min-[1000px]:hidden\">Claimable</div>\n <div className=\"your-bonds-content-tokens-amount ape:flex ape:items-center ape:text-[14px] ape:font-semibold\">\n {hasRedeemed ? formatNumberSI(claimable) : ''}\n <div className=\"your-bonds-content-tokens-usd-amount ape:opacity-60 ape:text-[12px] ape:font-normal ape:ml-[4px] ape:text-text-disabled-button\">\n {hasRedeemed ? `($${formatNumberSI(claimableUSD)})` : '-'}\n </div>\n </div>\n </div>\n <div className=\"your-bonds-content ape:flex ape:items-center ape:justify-between ape:w-full ape:px-[10px] ape:text-[14px] ape:min-[1000px]:w-[130px] ape:min-[1000px]:justify-center ape:min-[1000px]:mt-0\">\n <div className=\"your-bonds-content-title ape:flex ape:text-[12px] ape:font-medium ape:opacity-60 ape:min-[1000px]:hidden\">Pending</div>\n <div className=\"your-bonds-content-tokens-amount ape:flex ape:items-center ape:text-[14px] ape:font-semibold\">\n {hasRedeemed ? formatNumberSI(pending) : ''}\n <div className=\"your-bonds-content-tokens-usd-amount ape:opacity-60 ape:text-[12px] ape:font-normal ape:ml-[4px] ape:text-text-disabled-button\">\n {hasRedeemed ? `($${formatNumberSI(pendingUSD)})` : '-'}\n </div>\n </div>\n </div>\n <div className=\"your-bonds-content hide-mobile ape:hidden ape:min-[1000px]:flex\">{vestingString}</div>\n <div className=\"your-bonds-column-button ape:flex ape:w-full ape:items-center ape:justify-center ape:p-[10px] ape:min-[1000px]:w-[210px] ape:min-[1000px]:p-0\">\n <Button\n className=\"ape:text-[14px]! ape:h-[30px] ape:w-full\"\n style={!saleFinalized ? { background: 'var(--ape-color-white4)' } : undefined}\n disabled={!saleFinalized}\n >\n {isRedeemable\n ? 'Activate Yield'\n : endTimeFinished && !saleFinalized\n ? 'Claim enabled soon'\n : !hasRedeemed\n ? `Claim in ${redeemableIn}`\n : `Claim`}\n </Button>\n </div>\n </div>\n </div>\n )\n}\n\nexport default UserBondRowYield\n"],"names":["_jsx","_jsxs","Tooltip"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UserBondRowYield.js","sources":["../../../../../src/views/YourBonds/components/UserBondRow/UserBondRowYield.tsx"],"sourcesContent":["import React from 'react'\nimport TokenInfoAndName from '../../../../components/TokenInfoAndName'\nimport TooltipBubble from '../../../../components/uikit-sdk/TooltipBubble'\nimport Tooltip from '../../../../components/Tooltip/Tooltip'\nimport { Flex } from 'theme-ui'\nimport { formatTimeLeft, getTimePeriods } from '../../../../utils/getTimePeriods'\nimport { PreTGEUserBonds } from '../../../../state/bonds/useUserBondsPreTGE'\nimport useModal from '../../../../hooks/useModal'\nimport YourBondsModalYield from '../../../YourBondsModalYield/YourBondsModalYield'\nimport Button from '../../../../components/uikit-sdk/Button/Button'\nimport { formatNumberSI } from '../../../../utils/formatNumber'\nimport { getBalanceNumber } from '../../../../utils/getBalanceNumber'\nimport More from '../../../../components/uikit-sdk/Svg/Icons/More'\n\nconst UserBondRowYield = ({ userBond }: { userBond: PreTGEUserBonds }) => {\n const saleFinalized = userBond.finalized\n const hasRedeemed = userBond?.accountInfo?.hasRedeemed\n const isRedeemable = !hasRedeemed && saleFinalized\n\n const redeemableIn = formatTimeLeft((userBond?.redeemTime ?? 0) - new Date().getTime() / 1000, true, true)\n const timeLeftForFullyVested = (userBond.yieldData?.rewardDistributionEnd ?? 0) - Date.now() / 1000\n const timePeriods = getTimePeriods(timeLeftForFullyVested, true)\n const vestingString =\n isRedeemable && userBond.yieldBond\n ? ''\n : hasRedeemed\n ? `${timePeriods.days}d ${timePeriods.hours}h ${timePeriods.minutes}m`\n : ''\n\n const earnTokenPrice = userBond?.earnTokenPrice ?? 0\n const pending = userBond?.yieldData?.depositedAssets ?? 0\n const pendingUSD = pending * earnTokenPrice\n const claimable = getBalanceNumber(userBond?.yieldData?.claimableRewards ?? '0')\n const claimableUSD = claimable * earnTokenPrice\n const endTimeFinished = Date.now() > (userBond?.endTime ?? 0) * 1000\n\n const [onOpenPurchasedBond] = useModal(\n <YourBondsModalYield userBill={userBond} />,\n false,\n false,\n `yourBondsModalYield${userBond.contractAddress[userBond.chainId]}`,\n )\n\n return (\n <div className=\"your-bonds\" onClick={onOpenPurchasedBond}>\n <div className=\"token-info-container\">\n <TokenInfoAndName\n tokenSymbol={userBond?.underlyingEarnToken?.symbol}\n chain={userBond.chainId}\n tag={userBond.tags?.[0]}\n vestEnds={\n isRedeemable ? 'Activate Yield!' : !hasRedeemed ? `Claim in ${redeemableIn}` : `Ends in ${vestingString}`\n }\n isHotBond\n />\n <div className=\"tooltip-column\">\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Tooltip\n earnTokenContract={userBond?.earnToken.address[userBond?.chainId] || ''}\n earnTokenSymbol={userBond?.earnToken.symbol || ''}\n bondContract={userBond?.contractAddress?.[userBond?.chainId] || ''}\n projectLink={userBond?.projectLink}\n twitter={userBond?.twitter}\n chain={userBond?.chainId}\n />\n }\n width=\"205px\"\n placement=\"bottomRight\"\n transformTip=\"translate(5%, 0%)\"\n >\n <Flex\n sx={{\n opacity: 0.8,\n }}\n >\n <More width=\"25px\" />\n </Flex>\n </TooltipBubble>\n </div>\n </div>\n <div className=\"your-bonds-columns-container\">\n <Flex sx={{ display: ['none', 'none', 'none', 'flex'], width: '125px' }} />\n <div className=\"your-bonds-content\">\n <div className=\"your-bonds-content-title\">Claimable</div>\n <div className=\"your-bonds-content-tokens-amount\">\n {hasRedeemed ? formatNumberSI(claimable) : ''}\n <div className=\"your-bonds-content-tokens-usd-amount\">\n {hasRedeemed ? `($${formatNumberSI(claimableUSD)})` : '-'}\n </div>\n </div>\n </div>\n <div className=\"your-bonds-content\">\n <div className=\"your-bonds-content-title\">Pending</div>\n <div className=\"your-bonds-content-tokens-amount\">\n {hasRedeemed ? formatNumberSI(pending) : ''}\n <div className=\"your-bonds-content-tokens-usd-amount\">\n {hasRedeemed ? `($${formatNumberSI(pendingUSD)})` : '-'}\n </div>\n </div>\n </div>\n <div className=\"your-bonds-content hide-mobile\">{vestingString}</div>\n <div className=\"your-bonds-column-button\">\n <Button\n sx={{\n fontSize: '14px',\n height: '30px',\n background: !saleFinalized && 'var(--theme-ui-colors-white4) !important',\n width: '100%',\n }}\n disabled={!saleFinalized}\n >\n {isRedeemable\n ? 'Activate Yield'\n : endTimeFinished && !saleFinalized\n ? 'Claim enabled soon'\n : !hasRedeemed\n ? `Claim in ${redeemableIn}`\n : `Claim`}\n </Button>\n </div>\n </div>\n </div>\n )\n}\n\nexport default UserBondRowYield\n"],"names":["_jsx","_jsxs","Tooltip"],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { SortableKeys } from '../../YourBonds';
|
|
2
3
|
declare const YourBondsMenu: ({ chainFilterOption, setChainFilterOption, filterOptions, filterOption, setFilterOption, setInputValue, inputValue, handleSort, }: {
|
|
3
4
|
chainFilterOption: string[];
|
|
@@ -8,5 +9,5 @@ declare const YourBondsMenu: ({ chainFilterOption, setChainFilterOption, filterO
|
|
|
8
9
|
setInputValue: (newValue: string) => void;
|
|
9
10
|
inputValue: string;
|
|
10
11
|
handleSort: (key: SortableKeys) => void;
|
|
11
|
-
}) =>
|
|
12
|
+
}) => React.JSX.Element;
|
|
12
13
|
export default YourBondsMenu;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { jsxs, jsx } from '
|
|
2
|
-
import Flex from '
|
|
1
|
+
import { jsxs, jsx } from 'theme-ui/jsx-runtime';
|
|
2
|
+
import { Flex } from 'theme-ui';
|
|
3
3
|
import BondFilters from '../../../../components/BondFilters/BondFilters.js';
|
|
4
4
|
import Input from '../../../../components/uikit-sdk/Input/Input.js';
|
|
5
5
|
import ClaimAll from '../ClaimAll/index.js';
|
|
@@ -8,7 +8,7 @@ import Sort from '../../../../components/uikit-sdk/Svg/Icons/Sort.js';
|
|
|
8
8
|
|
|
9
9
|
const YourBondsMenu = ({ chainFilterOption, setChainFilterOption, filterOptions, filterOption, setFilterOption, setInputValue, inputValue, handleSort, }) => {
|
|
10
10
|
const SDKConfig = useSDKConfig();
|
|
11
|
-
return (jsxs("div", { className: "bonds-menu
|
|
11
|
+
return (jsxs("div", { className: "bonds-menu", children: [jsx(BondFilters, { chainFilterOption: chainFilterOption ?? ['All Chains'], setChainFilterOption: setChainFilterOption, filterOptions: filterOptions, filterOption: filterOption, setFilterOption: setFilterOption, onHandleQueryChange: () => setInputValue('') }), jsxs("div", { className: "table-header-container", children: [jsx("div", { className: "search-container", sx: { minWidth: ['unset', 'unset', 'unset', 'unset', '300px !important'] }, children: jsx(Flex, { sx: { width: '100%', maxWidth: '300px' }, children: jsx(Input, { className: "search-input", value: inputValue, onChange: (event) => setInputValue(event.target.value), variant: "search", sx: { fontWeight: 600, background: 'white2', height: '30px', fontSize: '14px', color: 'white' }, width: '100%', placeholder: 'Search...' }) }) }), jsxs("div", { className: "headers-container", sx: { pr: ['0', '0', '0', '20px'] }, children: [jsx(Flex, { sx: { display: ['none', 'none', 'none', 'flex'], width: '125px' } }), jsxs("div", { className: "your-bonds-table-headers", onClick: () => handleSort('claimable'), children: ["CLAIMABLE", jsx(Flex, { sx: { ml: '5px' }, children: jsx(Sort, { width: "12px", color: "textDisabledButton" }) })] }), jsxs("div", { className: "your-bonds-table-headers", onClick: () => handleSort('pending'), children: ["PENDING", jsx(Flex, { sx: { ml: '5px' }, children: jsx(Sort, { width: "12px", color: "textDisabledButton" }) })] }), jsxs("div", { className: "your-bonds-table-headers", onClick: () => handleSort('terms'), children: ["VESTING PROGRESS", jsx(Flex, { sx: { ml: '5px' }, children: jsx(Sort, { width: "12px", color: "textDisabledButton" }) })] }), jsx(Flex, { className: "claim-all-button-container", children: SDKConfig.referenceId === 'apebond' && jsx(ClaimAll, {}) })] })] })] }));
|
|
12
12
|
};
|
|
13
13
|
|
|
14
14
|
export { YourBondsMenu as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YourBondsMenu.js","sources":["../../../../../src/views/YourBonds/components/YourBondsMenu/YourBondsMenu.tsx"],"sourcesContent":["import React from 'react'\nimport Flex from '
|
|
1
|
+
{"version":3,"file":"YourBondsMenu.js","sources":["../../../../../src/views/YourBonds/components/YourBondsMenu/YourBondsMenu.tsx"],"sourcesContent":["import React from 'react'\nimport { Flex } from 'theme-ui'\nimport BondFilters from '../../../../components/BondFilters/BondFilters'\nimport Input from '../../../../components/uikit-sdk/Input/Input'\nimport { SortableKeys } from '../../YourBonds'\nimport ClaimAll from '../ClaimAll'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\nimport Sort from '../../../../components/uikit-sdk/Svg/Icons/Sort'\n\nconst YourBondsMenu = ({\n chainFilterOption,\n setChainFilterOption,\n filterOptions,\n filterOption,\n setFilterOption,\n setInputValue,\n inputValue,\n handleSort,\n}: {\n chainFilterOption: string[]\n setChainFilterOption: (newValue: string[]) => void\n filterOptions: string[]\n filterOption: string\n setFilterOption: (newValue: string) => void\n setInputValue: (newValue: string) => void\n inputValue: string\n handleSort: (key: SortableKeys) => void\n}) => {\n const SDKConfig = useSDKConfig()\n\n return (\n <div className=\"bonds-menu\">\n <BondFilters\n chainFilterOption={chainFilterOption ?? ['All Chains']}\n setChainFilterOption={setChainFilterOption}\n filterOptions={filterOptions}\n filterOption={filterOption}\n setFilterOption={setFilterOption}\n onHandleQueryChange={() => setInputValue('')}\n />\n <div className=\"table-header-container\">\n <div className=\"search-container\" sx={{ minWidth: ['unset', 'unset', 'unset', 'unset', '300px !important'] }}>\n <Flex sx={{ width: '100%', maxWidth: '300px' }}>\n <Input\n className=\"search-input\"\n value={inputValue}\n onChange={(event: React.ChangeEvent<HTMLInputElement>) => setInputValue(event.target.value)}\n variant=\"search\"\n sx={{ fontWeight: 600, background: 'white2', height: '30px', fontSize: '14px', color: 'white' }}\n width={'100%'}\n placeholder={'Search...'}\n />\n </Flex>\n </div>\n <div className=\"headers-container\" sx={{ pr: ['0', '0', '0', '20px'] }}>\n <Flex sx={{ display: ['none', 'none', 'none', 'flex'], width: '125px' }} />\n <div className=\"your-bonds-table-headers\" onClick={() => handleSort('claimable')}>\n CLAIMABLE\n <Flex sx={{ ml: '5px' }}>\n <Sort width=\"12px\" color=\"textDisabledButton\" />\n </Flex>\n </div>\n <div className=\"your-bonds-table-headers\" onClick={() => handleSort('pending')}>\n PENDING\n <Flex sx={{ ml: '5px' }}>\n <Sort width=\"12px\" color=\"textDisabledButton\" />\n </Flex>\n </div>\n <div className=\"your-bonds-table-headers\" onClick={() => handleSort('terms')}>\n VESTING PROGRESS\n <Flex sx={{ ml: '5px' }}>\n <Sort width=\"12px\" color=\"textDisabledButton\" />\n </Flex>\n </div>\n <Flex className=\"claim-all-button-container\">{SDKConfig.referenceId === 'apebond' && <ClaimAll />}</Flex>\n </div>\n </div>\n </div>\n )\n}\n\nexport default YourBondsMenu\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
|