@ape.swap/bonds-sdk 3.1.8 → 3.1.9-test.3
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/dist/components/BondFilters/BondFilters.js +41 -0
- package/dist/components/BondFilters/BondFilters.js.map +1 -0
- package/dist/components/ChainOptionList/ChainOptionsButtons.js +35 -0
- package/dist/components/ChainOptionList/ChainOptionsButtons.js.map +1 -0
- package/dist/components/ChainOptionList/ChainOptionsList.js +41 -0
- package/dist/components/ChainOptionList/ChainOptionsList.js.map +1 -0
- package/dist/components/ChainOptionList/constants.js +11 -0
- package/dist/components/ChainOptionList/constants.js.map +1 -0
- package/dist/components/ChainOptionList/styles.js +54 -0
- package/dist/components/ChainOptionList/styles.js.map +1 -0
- package/dist/components/ConnectButton/AppKitButton.js +22 -0
- package/dist/components/ConnectButton/AppKitButton.js.map +1 -0
- package/dist/components/ConnectButton/RainbowKitButton.js +35 -0
- package/dist/components/ConnectButton/RainbowKitButton.js.map +1 -0
- package/dist/components/ConnectButton/index.js +26 -0
- package/dist/components/ConnectButton/index.js.map +1 -0
- package/dist/components/FavIcons/AddFavToken.js +34 -0
- package/dist/components/FavIcons/AddFavToken.js.map +1 -0
- package/dist/components/FavIcons/FavFilter.js +29 -0
- package/dist/components/FavIcons/FavFilter.js.map +1 -0
- package/dist/components/LoadingSpinner/index.js +50 -0
- package/dist/components/LoadingSpinner/index.js.map +1 -0
- package/dist/components/MenuSelect/MenuSelect.js +30 -0
- package/dist/components/MenuSelect/MenuSelect.js.map +1 -0
- package/dist/components/MenuSelect/RecommendationSelector.js +57 -0
- package/dist/components/MenuSelect/RecommendationSelector.js.map +1 -0
- package/dist/components/NetworkFilter/index.js +112 -0
- package/dist/components/NetworkFilter/index.js.map +1 -0
- package/dist/components/PlaceholderMonkey/index.js +31 -0
- package/dist/components/PlaceholderMonkey/index.js.map +1 -0
- package/dist/components/ProgressBar/ProgressBar.js +11 -0
- package/dist/components/ProgressBar/ProgressBar.js.map +1 -0
- package/dist/components/ProgressBar/ProgressBarWrapper.js +23 -0
- package/dist/components/ProgressBar/ProgressBarWrapper.js.map +1 -0
- package/dist/components/ProgressBar/styles.js +15 -0
- package/dist/components/ProgressBar/styles.js.map +1 -0
- package/dist/components/SafeHTMLComponent/index.js +30 -0
- package/dist/components/SafeHTMLComponent/index.js.map +1 -0
- package/dist/components/SlippageModal/index.js +70 -0
- package/dist/components/SlippageModal/index.js.map +1 -0
- package/dist/components/StepBubble/index.js +61 -0
- package/dist/components/StepBubble/index.js.map +1 -0
- package/dist/components/Toast/index.js +55 -0
- package/dist/components/Toast/index.js.map +1 -0
- package/dist/components/Toast/styles.js +30 -0
- package/dist/components/Toast/styles.js.map +1 -0
- package/dist/components/TokenInfoAndName/index.js +66 -0
- package/dist/components/TokenInfoAndName/index.js.map +1 -0
- package/dist/components/TokenSelectorModal/TokenRow.js +31 -0
- package/dist/components/TokenSelectorModal/TokenRow.js.map +1 -0
- package/dist/components/TokenSelectorModal/index.js +62 -0
- package/dist/components/TokenSelectorModal/index.js.map +1 -0
- package/dist/components/TokenSelectorPanel/index.js +55 -0
- package/dist/components/TokenSelectorPanel/index.js.map +1 -0
- package/dist/components/Tooltip/ButtonsRow.js +36 -0
- package/dist/components/Tooltip/ButtonsRow.js.map +1 -0
- package/dist/components/Tooltip/Tooltip.js +46 -0
- package/dist/components/Tooltip/Tooltip.js.map +1 -0
- package/dist/components/Tooltip/styles.js +32 -0
- package/dist/components/Tooltip/styles.js.map +1 -0
- package/dist/components/YouTooltip/YouTooltip.js +44 -0
- package/dist/components/YouTooltip/YouTooltip.js.map +1 -0
- package/dist/components/uikit-sdk/Button/Button.js +84 -0
- package/dist/components/uikit-sdk/Button/Button.js.map +1 -0
- package/dist/components/uikit-sdk/Button/IconButton.js +23 -0
- package/dist/components/uikit-sdk/Button/IconButton.js.map +1 -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.js +39 -0
- package/dist/components/uikit-sdk/Button/types.js.map +1 -0
- package/dist/components/uikit-sdk/Checkbox/index.js +25 -0
- package/dist/components/uikit-sdk/Checkbox/index.js.map +1 -0
- package/dist/components/uikit-sdk/Checkbox/types.js +8 -0
- package/dist/components/uikit-sdk/Checkbox/types.js.map +1 -0
- package/dist/components/uikit-sdk/Flex/index.js +9 -0
- package/dist/components/uikit-sdk/Flex/index.js.map +1 -0
- package/dist/components/uikit-sdk/Input/Input.js +53 -0
- package/dist/components/uikit-sdk/Input/Input.js.map +1 -0
- package/dist/components/uikit-sdk/LoadingDots/index.js +41 -0
- package/dist/components/uikit-sdk/LoadingDots/index.js.map +1 -0
- package/dist/components/uikit-sdk/Modal/ModalHeader.js +13 -0
- package/dist/components/uikit-sdk/Modal/ModalHeader.js.map +1 -0
- package/dist/components/uikit-sdk/Modal/index.js +26 -0
- package/dist/components/uikit-sdk/Modal/index.js.map +1 -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/Select/Select.js +51 -0
- package/dist/components/uikit-sdk/Select/Select.js.map +1 -0
- package/dist/components/uikit-sdk/Select/SelectItem.js +20 -0
- package/dist/components/uikit-sdk/Select/SelectItem.js.map +1 -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 +1 -1
- package/dist/components/uikit-sdk/Select/types.js +39 -0
- package/dist/components/uikit-sdk/Select/types.js.map +1 -0
- package/dist/components/uikit-sdk/Skeleton/index.js +16 -0
- package/dist/components/uikit-sdk/Skeleton/index.js.map +1 -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.js +13 -0
- package/dist/components/uikit-sdk/Skeleton/types.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/AbondFullLogo.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/AbondFullLogo.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/AbondSmallLogo.js +8 -0
- package/dist/components/uikit-sdk/Svg/Icons/AbondSmallLogo.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/AccountMonkey.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/AccountMonkey.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/AllChains.js +8 -0
- package/dist/components/uikit-sdk/Svg/Icons/AllChains.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/ApebondLogo.js +19 -0
- package/dist/components/uikit-sdk/Svg/Icons/ApebondLogo.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/ApeswapSmallLogo.js +8 -0
- package/dist/components/uikit-sdk/Svg/Icons/ApeswapSmallLogo.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Arrow.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Arrow.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Audit.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Audit.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/BananaIcon.js +8 -0
- package/dist/components/uikit-sdk/Svg/Icons/BananaIcon.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/BillsM1.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/BillsM1.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/BillsM2.js +19 -0
- package/dist/components/uikit-sdk/Svg/Icons/BillsM2.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/BillsM3.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/BillsM3.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Bridge.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Bridge.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Bubble.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Bubble.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Calculator.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Calculator.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Calendar.js +8 -0
- package/dist/components/uikit-sdk/Svg/Icons/Calendar.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Cancelled.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Cancelled.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Card.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Card.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Caret.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Caret.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Chain.js +10 -0
- package/dist/components/uikit-sdk/Svg/Icons/Chain.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Chart.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Chart.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Chat.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Chat.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Close.js +11 -0
- package/dist/components/uikit-sdk/Svg/Icons/Close.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Cog.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Cog.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Collapse.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Collapse.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Copy.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Copy.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Discord.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Discord.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/DiscordNew.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/DiscordNew.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Docs.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Docs.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/DocsV2.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/DocsV2.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Ellipse.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Ellipse.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Error.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Error.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Expand.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Expand.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Explorer.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Explorer.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/External.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/External.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Farcaster.js +8 -0
- package/dist/components/uikit-sdk/Svg/Icons/Farcaster.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Farm.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Farm.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Fav.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Fav.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/FilledURL.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/FilledURL.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Fire.js +8 -0
- package/dist/components/uikit-sdk/Svg/Icons/Fire.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/FirePink.js +8 -0
- package/dist/components/uikit-sdk/Svg/Icons/FirePink.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Frame.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Frame.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/FullLogo.js +8 -0
- package/dist/components/uikit-sdk/Svg/Icons/FullLogo.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Gnana.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Gnana.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/GreenShield.js +8 -0
- package/dist/components/uikit-sdk/Svg/Icons/GreenShield.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Hamburger.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Hamburger.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/HamburgerClosed.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/HamburgerClosed.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Home.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Home.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Hot.js +8 -0
- package/dist/components/uikit-sdk/Svg/Icons/Hot.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Info.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Info.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/InfoSolid.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/InfoSolid.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Insight.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Insight.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Instagram.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Instagram.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Island.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Island.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/LanguageIcon.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/LanguageIcon.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/LineChart.js +8 -0
- package/dist/components/uikit-sdk/Svg/Icons/LineChart.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/LiquidityIcon.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/LiquidityIcon.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Logout.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Logout.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Medium.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Medium.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/MenuSettings.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/MenuSettings.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Message.js +11 -0
- package/dist/components/uikit-sdk/Svg/Icons/Message.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Migrate.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Migrate.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Moon.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Moon.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/More.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/More.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/NFA.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/NFA.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/NavCaret.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/NavCaret.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/PlaceholderMonkey.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/PlaceholderMonkey.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/PlaceholderMonkeyAlt.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/PlaceholderMonkeyAlt.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Play.js +8 -0
- package/dist/components/uikit-sdk/Svg/Icons/Play.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Pool.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Pool.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Positions.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Positions.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/ProfileDark.js +8 -0
- package/dist/components/uikit-sdk/Svg/Icons/ProfileDark.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/ProfileIcon.js +15 -0
- package/dist/components/uikit-sdk/Svg/Icons/ProfileIcon.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/ProfileLight.js +8 -0
- package/dist/components/uikit-sdk/Svg/Icons/ProfileLight.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Question.js +8 -0
- package/dist/components/uikit-sdk/Svg/Icons/Question.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/QuestionCircle.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/QuestionCircle.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/QuestionFill.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/QuestionFill.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Quiz.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Quiz.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Receipt.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Receipt.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Reddit.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Reddit.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Rocket.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Rocket.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/ScrollTop.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/ScrollTop.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Search.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Search.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Send.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Send.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Settings.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Settings.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Share.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Share.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Sort.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Sort.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Star.js +8 -0
- package/dist/components/uikit-sdk/Svg/Icons/Star.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/StarFilled.js +8 -0
- package/dist/components/uikit-sdk/Svg/Icons/StarFilled.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Success.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Success.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/SuccessOutline.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/SuccessOutline.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/SwapArrows.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/SwapArrows.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/SwitchArrows.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/SwitchArrows.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Tag.js +8 -0
- package/dist/components/uikit-sdk/Svg/Icons/Tag.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Telegram.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Telegram.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/TelegramNew.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/TelegramNew.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/TextLogo.js +8 -0
- package/dist/components/uikit-sdk/Svg/Icons/TextLogo.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Tick.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Tick.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/TickShield.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/TickShield.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Timer.js +8 -0
- package/dist/components/uikit-sdk/Svg/Icons/Timer.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Trade.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Trade.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Trash.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Trash.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Twitter.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Twitter.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/URL.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/URL.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Vaults.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Vaults.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Verified.js +8 -0
- package/dist/components/uikit-sdk/Svg/Icons/Verified.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Wallet.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Wallet.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Warning.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Warning.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Watch.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Watch.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/Website.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/Website.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/WebsiteNew.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/WebsiteNew.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/WhitepaperNew.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/WhitepaperNew.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/XNew.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/XNew.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/YellowQuestionMark.js +8 -0
- package/dist/components/uikit-sdk/Svg/Icons/YellowQuestionMark.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/ZapArrow.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/ZapArrow.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/ZapIcon.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/ZapIcon.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/polygonNew.js +18 -0
- package/dist/components/uikit-sdk/Svg/Icons/polygonNew.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/index.js +515 -0
- package/dist/components/uikit-sdk/Svg/index.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/styles.js +14 -0
- package/dist/components/uikit-sdk/Svg/styles.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/tokens/ABOND.js +8 -0
- package/dist/components/uikit-sdk/Svg/tokens/ABOND.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/tokens/ARBITRUM.js +8 -0
- package/dist/components/uikit-sdk/Svg/tokens/ARBITRUM.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/tokens/AVAX.js +8 -0
- package/dist/components/uikit-sdk/Svg/tokens/AVAX.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/tokens/BANANA.js +8 -0
- package/dist/components/uikit-sdk/Svg/tokens/BANANA.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/tokens/BASE.js +8 -0
- package/dist/components/uikit-sdk/Svg/tokens/BASE.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/tokens/BERA.js +8 -0
- package/dist/components/uikit-sdk/Svg/tokens/BERA.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/tokens/BLAST.js +8 -0
- package/dist/components/uikit-sdk/Svg/tokens/BLAST.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/tokens/BNB.js +8 -0
- package/dist/components/uikit-sdk/Svg/tokens/BNB.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/tokens/BSC.js +8 -0
- package/dist/components/uikit-sdk/Svg/tokens/BSC.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/tokens/CELO.js +8 -0
- package/dist/components/uikit-sdk/Svg/tokens/CELO.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/tokens/CRONOS.js +8 -0
- package/dist/components/uikit-sdk/Svg/tokens/CRONOS.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/tokens/CROSSFI.js +8 -0
- package/dist/components/uikit-sdk/Svg/tokens/CROSSFI.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/tokens/ETH.js +8 -0
- package/dist/components/uikit-sdk/Svg/tokens/ETH.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/tokens/FANTOM.js +8 -0
- package/dist/components/uikit-sdk/Svg/tokens/FANTOM.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/tokens/GNANA.js +8 -0
- package/dist/components/uikit-sdk/Svg/tokens/GNANA.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/tokens/GNOSIS.js +8 -0
- package/dist/components/uikit-sdk/Svg/tokens/GNOSIS.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/tokens/GraphLinq.js +8 -0
- package/dist/components/uikit-sdk/Svg/tokens/GraphLinq.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/tokens/INEVM.js +8 -0
- package/dist/components/uikit-sdk/Svg/tokens/INEVM.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/tokens/IOTA.js +8 -0
- package/dist/components/uikit-sdk/Svg/tokens/IOTA.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/tokens/KATANA.js +8 -0
- package/dist/components/uikit-sdk/Svg/tokens/KATANA.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/tokens/LIGHTLINK.js +8 -0
- package/dist/components/uikit-sdk/Svg/tokens/LIGHTLINK.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/tokens/LINEA.js +8 -0
- package/dist/components/uikit-sdk/Svg/tokens/LINEA.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/tokens/MONAD.js +8 -0
- package/dist/components/uikit-sdk/Svg/tokens/MONAD.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/tokens/OKX.js +8 -0
- package/dist/components/uikit-sdk/Svg/tokens/OKX.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/tokens/OPTIMISM.js +10 -0
- package/dist/components/uikit-sdk/Svg/tokens/OPTIMISM.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/tokens/POLYGON.js +8 -0
- package/dist/components/uikit-sdk/Svg/tokens/POLYGON.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/tokens/POLYGONZK.js +8 -0
- package/dist/components/uikit-sdk/Svg/tokens/POLYGONZK.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/tokens/SONIC.js +8 -0
- package/dist/components/uikit-sdk/Svg/tokens/SONIC.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/tokens/TLOS.js +8 -0
- package/dist/components/uikit-sdk/Svg/tokens/TLOS.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/tokens/UNICHAIN.js +8 -0
- package/dist/components/uikit-sdk/Svg/tokens/UNICHAIN.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/types.js +183 -0
- package/dist/components/uikit-sdk/Svg/types.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/BinanceChain.js +8 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/BinanceChain.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/Bitkeep.js +8 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/Bitkeep.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/Brave.js +8 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/Brave.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/Coinbase.js +8 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/Coinbase.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/MadWallet.js +8 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/MadWallet.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/MathWallet.js +8 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/MathWallet.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/Metamask.js +8 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/Metamask.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/Nabox.js +8 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/Nabox.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/OKX.js +8 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/OKX.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/OntoWallet.js +8 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/OntoWallet.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/SafePalWallet.js +8 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/SafePalWallet.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/SocialLogin.js +8 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/SocialLogin.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/TokenPocket.js +8 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/TokenPocket.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/TorusWallet.js +8 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/TorusWallet.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/TrustWallet.js +8 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/TrustWallet.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/Unstoppable.js +8 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/Unstoppable.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/WalletConnect.js +8 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/WalletConnect.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/WalletImage.js +8 -0
- package/dist/components/uikit-sdk/Svg/walletIcons/WalletImage.js.map +1 -0
- package/dist/components/uikit-sdk/SwiperDots/index.js +16 -0
- package/dist/components/uikit-sdk/SwiperDots/index.js.map +1 -0
- package/dist/components/uikit-sdk/Tag/ListTag.js +18 -0
- package/dist/components/uikit-sdk/Tag/ListTag.js.map +1 -0
- package/dist/components/uikit-sdk/Text/index.js +15 -0
- package/dist/components/uikit-sdk/Text/index.js.map +1 -0
- package/dist/components/uikit-sdk/Text/types.js +16 -0
- package/dist/components/uikit-sdk/Text/types.js.map +1 -0
- package/dist/components/uikit-sdk/Toggle/index.js +18 -0
- package/dist/components/uikit-sdk/Toggle/index.js.map +1 -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.js +57 -0
- package/dist/components/uikit-sdk/TokenImage/index.js.map +1 -0
- package/dist/components/uikit-sdk/TooltipBubble/index.js +65 -0
- package/dist/components/uikit-sdk/TooltipBubble/index.js.map +1 -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.js +12 -0
- package/dist/components/uikit-sdk/TooltipBubble/types.js.map +1 -0
- package/dist/config/abi/BOND_2_0_0.json.js +1065 -0
- package/dist/config/abi/BOND_2_0_0.json.js.map +1 -0
- package/dist/config/abi/BOND_2_4_0.json.js +2409 -0
- package/dist/config/abi/BOND_2_4_0.json.js.map +1 -0
- package/dist/config/abi/bondNft.json.js +959 -0
- package/dist/config/abi/bondNft.json.js.map +1 -0
- package/dist/config/abi/deposit.json.js +29 -0
- package/dist/config/abi/deposit.json.js.map +1 -0
- package/dist/config/abi/depositSig.json.js +39 -0
- package/dist/config/abi/depositSig.json.js.map +1 -0
- package/dist/config/abi/erc20.json.js +229 -0
- package/dist/config/abi/erc20.json.js.map +1 -0
- package/dist/config/abi/launchBond_v2_4_1.json.js +2358 -0
- package/dist/config/abi/launchBond_v2_4_1.json.js.map +1 -0
- package/dist/config/abi/lensContract.json.js +338 -0
- package/dist/config/abi/lensContract.json.js.map +1 -0
- package/dist/config/abi/multicallv2.json.js +151 -0
- package/dist/config/abi/multicallv2.json.js.map +1 -0
- package/dist/config/abi/price-getter-v3.json.js +853 -0
- package/dist/config/abi/price-getter-v3.json.js.map +1 -0
- package/dist/config/abi/usdtETH.json.js +704 -0
- package/dist/config/abi/usdtETH.json.js.map +1 -0
- package/dist/config/constants/addresses.js +61 -0
- package/dist/config/constants/addresses.js.map +1 -0
- package/dist/config/constants/chains.js +101 -0
- package/dist/config/constants/chains.js.map +1 -0
- package/dist/config/constants/networks.js +50 -0
- package/dist/config/constants/networks.js.map +1 -0
- package/dist/config/constants/queryKeys.js +28 -0
- package/dist/config/constants/queryKeys.js.map +1 -0
- package/dist/config/constants/tokens.js +669 -0
- package/dist/config/constants/tokens.js.map +1 -0
- package/dist/config/constants/tooltips.js +21 -0
- package/dist/config/constants/tooltips.js.map +1 -0
- package/dist/config/constants/variables.js +21 -0
- package/dist/config/constants/variables.js.map +1 -0
- package/dist/contexts/ModalContext.js +70 -0
- package/dist/contexts/ModalContext.js.map +1 -0
- package/dist/contexts/Popups.js +28 -0
- package/dist/contexts/Popups.js.map +1 -0
- package/dist/contexts/SwiperProvider.js +21 -0
- package/dist/contexts/SwiperProvider.js.map +1 -0
- package/dist/hooks/useDebounce.js +21 -0
- package/dist/hooks/useDebounce.js.map +1 -0
- package/dist/hooks/useIsMobile.js +22 -0
- package/dist/hooks/useIsMobile.js.map +1 -0
- package/dist/hooks/useModal.js +34 -0
- package/dist/hooks/useModal.js.map +1 -0
- package/dist/hooks/useMonitorTxHash.d.ts +1 -0
- package/dist/hooks/useMonitorTxHash.js +26 -0
- package/dist/hooks/useMonitorTxHash.js.map +1 -0
- package/dist/hooks/useSendReferenceId.js +22 -0
- package/dist/hooks/useSendReferenceId.js.map +1 -0
- package/dist/hooks/useSortedZapList.js +44 -0
- package/dist/hooks/useSortedZapList.js.map +1 -0
- package/dist/hooks/useSwiper.js +13 -0
- package/dist/hooks/useSwiper.js.map +1 -0
- package/dist/hooks/useTokenFromZapList.js +13 -0
- package/dist/hooks/useTokenFromZapList.js.map +1 -0
- package/dist/hooks/useTopTags.js +38 -0
- package/dist/hooks/useTopTags.js.map +1 -0
- package/dist/main.d.ts +1 -4
- package/dist/main.js +6 -98175
- package/dist/main.js.map +1 -0
- package/dist/providers/index.js +62 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/state/abtesting/useCookie.js +40 -0
- package/dist/state/abtesting/useCookie.js.map +1 -0
- package/dist/state/activeView/index.js +39 -0
- package/dist/state/activeView/index.js.map +1 -0
- package/dist/state/allowance/useAllowance.js +136 -0
- package/dist/state/allowance/useAllowance.js.map +1 -0
- package/dist/state/balance/useCurrencyBalance.js +39 -0
- package/dist/state/balance/useCurrencyBalance.js.map +1 -0
- package/dist/state/balance/useUserTokensBalance.js +79 -0
- package/dist/state/balance/useUserTokensBalance.js.map +1 -0
- package/dist/state/bondApiStats/useUserApiStats.js +25 -0
- package/dist/state/bondApiStats/useUserApiStats.js.map +1 -0
- package/dist/state/bonds/useBondNFTData.js +35 -0
- package/dist/state/bonds/useBondNFTData.js.map +1 -0
- package/dist/state/bonds/useBondsData.js +204 -0
- package/dist/state/bonds/useBondsData.js.map +1 -0
- package/dist/state/bonds/useBondsList.js +34 -0
- package/dist/state/bonds/useBondsList.js.map +1 -0
- package/dist/state/bonds/useGetBondRecommendations.js +23 -0
- package/dist/state/bonds/useGetBondRecommendations.js.map +1 -0
- package/dist/state/bonds/useHotBonds.js +51 -0
- package/dist/state/bonds/useHotBonds.js.map +1 -0
- package/dist/state/bonds/useTierProofSignature.js +45 -0
- package/dist/state/bonds/useTierProofSignature.js.map +1 -0
- package/dist/state/bonds/useUserBonds.js +70 -0
- package/dist/state/bonds/useUserBonds.js.map +1 -0
- package/dist/state/bonds/utils.js +105 -0
- package/dist/state/bonds/utils.js.map +1 -0
- package/dist/state/chainFilterOption/useChainFilterOption.js +34 -0
- package/dist/state/chainFilterOption/useChainFilterOption.js.map +1 -0
- package/dist/state/favoriteTokens/useFavoriteTokens.js +49 -0
- package/dist/state/favoriteTokens/useFavoriteTokens.js.map +1 -0
- package/dist/state/popups/usePopups.js +57 -0
- package/dist/state/popups/usePopups.js.map +1 -0
- package/dist/state/preTGEBonds/usePreTGEList.js +35 -0
- package/dist/state/preTGEBonds/usePreTGEList.js.map +1 -0
- package/dist/state/preTGEBonds/usePreTGEUserBonds.js +140 -0
- package/dist/state/preTGEBonds/usePreTGEUserBonds.js.map +1 -0
- package/dist/state/price/useCurrencyPrice.js +17 -0
- package/dist/state/price/useCurrencyPrice.js.map +1 -0
- package/dist/state/slippage/useSlippage.js +22 -0
- package/dist/state/slippage/useSlippage.js.map +1 -0
- package/dist/state/tiers/useTierPoints.js +110 -0
- package/dist/state/tiers/useTierPoints.js.map +1 -0
- package/dist/state/tokenPrices/useTokenPrices.js +183 -0
- package/dist/state/tokenPrices/useTokenPrices.js.map +1 -0
- package/dist/state/useSDKConfig.js +49 -0
- package/dist/state/useSDKConfig.js.map +1 -0
- package/dist/state/zap/getChainParam.js +54 -0
- package/dist/state/zap/getChainParam.js.map +1 -0
- package/dist/state/zap/useSoulZapBondQuote.js +148 -0
- package/dist/state/zap/useSoulZapBondQuote.js.map +1 -0
- package/dist/state/zap/useSoulZapTokenQuote.js +124 -0
- package/dist/state/zap/useSoulZapTokenQuote.js.map +1 -0
- package/dist/theme/base.js +125 -0
- package/dist/theme/base.js.map +1 -0
- package/dist/theme/colors.js +25 -0
- package/dist/theme/colors.js.map +1 -0
- package/dist/theme/components.js +365 -0
- package/dist/theme/components.js.map +1 -0
- package/dist/theme/index.js +12 -0
- package/dist/theme/index.js.map +1 -0
- package/dist/utils/convertToTokenValue.js +27 -0
- package/dist/utils/convertToTokenValue.js.map +1 -0
- package/dist/utils/displayHelpers.js +168 -0
- package/dist/utils/displayHelpers.js.map +1 -0
- package/dist/utils/formatNumber.js +53 -0
- package/dist/utils/formatNumber.js.map +1 -0
- package/dist/utils/formatNumbers.js +66 -0
- package/dist/utils/formatNumbers.js.map +1 -0
- package/dist/utils/getBalanceNumber.js +11 -0
- package/dist/utils/getBalanceNumber.js.map +1 -0
- package/dist/utils/getDotPos.js +12 -0
- package/dist/utils/getDotPos.js.map +1 -0
- package/dist/utils/getNativeTicker.js +19 -0
- package/dist/utils/getNativeTicker.js.map +1 -0
- package/dist/utils/getTimePeriods.js +46 -0
- package/dist/utils/getTimePeriods.js.map +1 -0
- package/dist/utils/index.js +16 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/multicall.js +41 -0
- package/dist/utils/multicall.js.map +1 -0
- package/dist/utils/numbers.js +9 -0
- package/dist/utils/numbers.js.map +1 -0
- package/dist/utils/remove0xPrefix.js +9 -0
- package/dist/utils/remove0xPrefix.js.map +1 -0
- package/dist/utils/reportError.js +31 -0
- package/dist/utils/reportError.js.map +1 -0
- package/dist/utils/roundNumber.js +16 -0
- package/dist/utils/roundNumber.js.map +1 -0
- package/dist/utils/track.js +6 -0
- package/dist/utils/track.js.map +1 -0
- package/dist/views/Bonds/Bonds.js +145 -0
- package/dist/views/Bonds/Bonds.js.map +1 -0
- package/dist/views/Bonds/components/BannerTestnet/BannerTestnet.js +48 -0
- package/dist/views/Bonds/components/BannerTestnet/BannerTestnet.js.map +1 -0
- package/dist/views/Bonds/components/BondRows/BondRow.js +65 -0
- package/dist/views/Bonds/components/BondRows/BondRow.js.map +1 -0
- package/dist/views/Bonds/components/BondRows/BondRowsByChain.js +24 -0
- package/dist/views/Bonds/components/BondRows/BondRowsByChain.js.map +1 -0
- package/dist/views/Bonds/components/BondRows/BondRowsWithTitle.js +57 -0
- package/dist/views/Bonds/components/BondRows/BondRowsWithTitle.js.map +1 -0
- package/dist/views/Bonds/components/BondRows/ChainTitle.js +37 -0
- package/dist/views/Bonds/components/BondRows/ChainTitle.js.map +1 -0
- package/dist/views/Bonds/components/BondRows/ModalHandler.js +57 -0
- package/dist/views/Bonds/components/BondRows/ModalHandler.js.map +1 -0
- package/dist/views/Bonds/components/BondsMenu/BondsMenu.js +35 -0
- package/dist/views/Bonds/components/BondsMenu/BondsMenu.js.map +1 -0
- package/dist/views/Bonds/components/BonusComponents/BonusComponent.js +58 -0
- package/dist/views/Bonds/components/BonusComponents/BonusComponent.js.map +1 -0
- package/dist/views/Bonds/components/BonusComponents/BonusContainer.js +11 -0
- package/dist/views/Bonds/components/BonusComponents/BonusContainer.js.map +1 -0
- package/dist/views/Bonds/components/BonusComponents/BonusTable.js +53 -0
- package/dist/views/Bonds/components/BonusComponents/BonusTable.js.map +1 -0
- package/dist/views/Bonds/components/BuyAgainRow/index.js +93 -0
- package/dist/views/Bonds/components/BuyAgainRow/index.js.map +1 -0
- package/dist/views/Bonds/components/CheckURL/index.js +43 -0
- package/dist/views/Bonds/components/CheckURL/index.js.map +1 -0
- package/dist/views/Bonds/components/HotBondCards/HotBondCard.js +49 -0
- package/dist/views/Bonds/components/HotBondCards/HotBondCard.js.map +1 -0
- package/dist/views/Bonds/components/HotBondCards/index.d.ts +1 -1
- package/dist/views/Bonds/components/HotBondCards/index.js +72 -0
- package/dist/views/Bonds/components/HotBondCards/index.js.map +1 -0
- package/dist/views/Bonds/components/HotBondCards/styles.js +47 -0
- package/dist/views/Bonds/components/HotBondCards/styles.js.map +1 -0
- package/dist/views/Bonds/components/RecommendationCards/SmallRecommendationCard.js +26 -0
- package/dist/views/Bonds/components/RecommendationCards/SmallRecommendationCard.js.map +1 -0
- package/dist/views/Bonds/components/RecommendationCards/index.js +79 -0
- package/dist/views/Bonds/components/RecommendationCards/index.js.map +1 -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 +12 -0
- package/dist/views/Bonds/index.js.map +1 -0
- package/dist/views/Bonds/utils.js +124 -0
- package/dist/views/Bonds/utils.js.map +1 -0
- package/dist/views/BuyBond/BuyBond.js +352 -0
- package/dist/views/BuyBond/BuyBond.js.map +1 -0
- package/dist/views/BuyBond/BuyBondModal.js +23 -0
- package/dist/views/BuyBond/BuyBondModal.js.map +1 -0
- package/dist/views/BuyBond/components/BondCards.js +80 -0
- package/dist/views/BuyBond/components/BondCards.js.map +1 -0
- package/dist/views/BuyBond/components/BondModalHeader.js +80 -0
- package/dist/views/BuyBond/components/BondModalHeader.js.map +1 -0
- package/dist/views/BuyBond/components/BondModalMinTierHeader.js +32 -0
- package/dist/views/BuyBond/components/BondModalMinTierHeader.js.map +1 -0
- package/dist/views/BuyBond/components/Estimations.js +59 -0
- package/dist/views/BuyBond/components/Estimations.js.map +1 -0
- package/dist/views/BuyBond/components/ExpandedViewButton.js +36 -0
- package/dist/views/BuyBond/components/ExpandedViewButton.js.map +1 -0
- package/dist/views/BuyBond/components/GetUpToComponent/GetUpToComponent.js +63 -0
- package/dist/views/BuyBond/components/GetUpToComponent/GetUpToComponent.js.map +1 -0
- package/dist/views/BuyBond/components/NewRateModal/NewRateModal.js +53 -0
- package/dist/views/BuyBond/components/NewRateModal/NewRateModal.js.map +1 -0
- package/dist/views/BuyBond/components/NoBonusModal/NoBonusModal.js +35 -0
- package/dist/views/BuyBond/components/NoBonusModal/NoBonusModal.js.map +1 -0
- package/dist/views/BuyBond/components/ProjectDescription.js +37 -0
- package/dist/views/BuyBond/components/ProjectDescription.js.map +1 -0
- package/dist/views/BuyBond/findHighestTrueBondPrice.js +51 -0
- package/dist/views/BuyBond/findHighestTrueBondPrice.js.map +1 -0
- package/dist/views/BuyBond/index.js +12 -0
- package/dist/views/BuyBond/index.js.map +1 -0
- package/dist/views/FullBondsView/FullBondsView.js +31 -0
- package/dist/views/FullBondsView/FullBondsView.js.map +1 -0
- package/dist/views/FullBondsView/index.js +12 -0
- package/dist/views/FullBondsView/index.js.map +1 -0
- package/dist/views/PreTGEBonds/components/BuyComponent/BondCards.js +71 -0
- package/dist/views/PreTGEBonds/components/BuyComponent/BondCards.js.map +1 -0
- package/dist/views/PreTGEBonds/components/BuyComponent/ParticipationSuccessful.js +76 -0
- package/dist/views/PreTGEBonds/components/BuyComponent/ParticipationSuccessful.js.map +1 -0
- package/dist/views/PreTGEBonds/components/BuyComponent/PreTGEBuyComponent.js +144 -0
- package/dist/views/PreTGEBonds/components/BuyComponent/PreTGEBuyComponent.js.map +1 -0
- package/dist/views/PreTGEBonds/components/BuyComponent/PreTGEModalHandler.js +36 -0
- package/dist/views/PreTGEBonds/components/BuyComponent/PreTGEModalHandler.js.map +1 -0
- package/dist/views/PreTGEBonds/components/BuyComponent/styles.js +42 -0
- package/dist/views/PreTGEBonds/components/BuyComponent/styles.js.map +1 -0
- package/dist/views/PreTGEBonds/components/PreTGEUserRows/PreTGEActions.js +115 -0
- package/dist/views/PreTGEBonds/components/PreTGEUserRows/PreTGEActions.js.map +1 -0
- package/dist/views/PreTGEBonds/components/PreTGEUserRows/PreTGEUserRow.js +50 -0
- package/dist/views/PreTGEBonds/components/PreTGEUserRows/PreTGEUserRow.js.map +1 -0
- package/dist/views/TransactionModal/TransactionModal.js +187 -0
- package/dist/views/TransactionModal/TransactionModal.js.map +1 -0
- package/dist/views/YourBonds/YourBonds.js +128 -0
- package/dist/views/YourBonds/YourBonds.js.map +1 -0
- package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.js +131 -0
- package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.js.map +1 -0
- package/dist/views/YourBonds/components/ClaimAll/index.js +35 -0
- package/dist/views/YourBonds/components/ClaimAll/index.js.map +1 -0
- package/dist/views/YourBonds/components/UserBondRow/index.js +109 -0
- package/dist/views/YourBonds/components/UserBondRow/index.js.map +1 -0
- package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.js +28 -0
- package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.js.map +1 -0
- package/dist/views/YourBonds/fetchBillsUser.js +110 -0
- package/dist/views/YourBonds/fetchBillsUser.js.map +1 -0
- package/dist/views/YourBonds/getBillNftData.js +55 -0
- package/dist/views/YourBonds/getBillNftData.js.map +1 -0
- package/dist/views/YourBonds/index.js +12 -0
- package/dist/views/YourBonds/index.js.map +1 -0
- package/dist/views/YourBondsModal/YourBondsModal.js +183 -0
- package/dist/views/YourBondsModal/YourBondsModal.js.map +1 -0
- package/dist/views/YourBondsModal/components/Recommendations/CardRecommendation.js +55 -0
- package/dist/views/YourBondsModal/components/Recommendations/CardRecommendation.js.map +1 -0
- package/dist/views/YourBondsModal/components/Recommendations/CardRecommendationsMobile.js +57 -0
- package/dist/views/YourBondsModal/components/Recommendations/CardRecommendationsMobile.js.map +1 -0
- package/dist/views/YourBondsModal/components/Recommendations/Recommendations.js +52 -0
- package/dist/views/YourBondsModal/components/Recommendations/Recommendations.js.map +1 -0
- package/dist/views/YourBondsModal/components/TransferBondModal/TransferAction.js +84 -0
- package/dist/views/YourBondsModal/components/TransferBondModal/TransferAction.js.map +1 -0
- package/dist/views/YourBondsModal/components/TransferBondModal/index.js +39 -0
- package/dist/views/YourBondsModal/components/TransferBondModal/index.js.map +1 -0
- package/dist/views/ZapModal/index.js +155 -0
- package/dist/views/ZapModal/index.js.map +1 -0
- package/package.json +11 -9
- package/dist/assets/output-2LTDuc8n.css +0 -174
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import BOND_ABI from '../../config/abi/BOND_2_0_0.json.js';
|
|
2
|
+
import BigNumber from 'bignumber.js';
|
|
3
|
+
import multicall from '../../utils/multicall.js';
|
|
4
|
+
import { BillVersion } from '@ape.swap/apeswap-lists';
|
|
5
|
+
|
|
6
|
+
/* MODIFIED FUNCTION FROM FRONTEND SPECIFICALLY FOR THE SDK */
|
|
7
|
+
const fetchUserOwnedBillsDataAsync = async (chainId, account, bondData, tokenPrices) => {
|
|
8
|
+
try {
|
|
9
|
+
const bonds = bondData;
|
|
10
|
+
// Fetch and set user owned bill data without NFT Data
|
|
11
|
+
const userOwnedBills = await fetchUserOwnedBills(chainId, account, bonds, tokenPrices);
|
|
12
|
+
const mapUserOwnedBills = bonds.map((bill) => userOwnedBills.filter((b) => b.address.toLowerCase() === bill.contractAddress[bill.chainId]?.toLowerCase()));
|
|
13
|
+
const userOwnedBillsData = bonds.map((bill, i) => ({
|
|
14
|
+
index: bill.index,
|
|
15
|
+
userOwnedBills: mapUserOwnedBills[i],
|
|
16
|
+
}));
|
|
17
|
+
const combinedData = userOwnedBillsData.map((data) => {
|
|
18
|
+
const enrichedUserBills = data.userOwnedBills.map((bill) => {
|
|
19
|
+
return {
|
|
20
|
+
...bill,
|
|
21
|
+
};
|
|
22
|
+
});
|
|
23
|
+
return {
|
|
24
|
+
...data,
|
|
25
|
+
userOwnedBills: enrichedUserBills,
|
|
26
|
+
};
|
|
27
|
+
});
|
|
28
|
+
return Promise.resolve(combinedData);
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
console.error('Error fetching user owned bills data:', error);
|
|
32
|
+
return Promise.reject(error);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
/* MODIFIED FUNCTION FROM FRONTEND SPECIFICALLY FOR THE SDK */
|
|
36
|
+
const fetchUserOwnedBills = async (chainId, account, bonds, tokenPrices) => {
|
|
37
|
+
// Maps all the bills in the list repo to make a call to each of them to get Bills Id, meaning purchased bill ids
|
|
38
|
+
const billIdCalls = bonds.map((b) => ({
|
|
39
|
+
address: b.contractAddress[b.chainId] ?? '',
|
|
40
|
+
name: 'getBillIds',
|
|
41
|
+
params: [account],
|
|
42
|
+
}));
|
|
43
|
+
const billIds = await multicall(chainId, BOND_ABI, billIdCalls, true, 15);
|
|
44
|
+
const billDataCalls = [];
|
|
45
|
+
const billVersions = [];
|
|
46
|
+
billIds.forEach((idArray, index) => idArray[0].forEach((id) => id.gt(0) &&
|
|
47
|
+
(billDataCalls.push({
|
|
48
|
+
address: bonds[index].contractAddress[bonds[index].chainId],
|
|
49
|
+
name: bonds[index].billVersion !== BillVersion.V1 ? 'getBillInfo' : 'billInfo',
|
|
50
|
+
params: [id],
|
|
51
|
+
bond: bonds[index],
|
|
52
|
+
}),
|
|
53
|
+
billDataCalls.push({
|
|
54
|
+
address: bonds[index].contractAddress[bonds[index].chainId],
|
|
55
|
+
name: bonds[index].billVersion !== BillVersion.V1 ? 'claimablePayout' : 'pendingPayoutFor',
|
|
56
|
+
params: [id],
|
|
57
|
+
bond: bonds[index],
|
|
58
|
+
}),
|
|
59
|
+
billVersions.push(bonds[index].billVersion))));
|
|
60
|
+
const billData = await multicall(chainId, BOND_ABI, billDataCalls, true, 150);
|
|
61
|
+
const result = [];
|
|
62
|
+
for (let i = 0; i < billVersions.length; i++) {
|
|
63
|
+
const billPos = i === 0 ? 0 : i * 2;
|
|
64
|
+
let bond = billDataCalls[billPos].bond;
|
|
65
|
+
// const principalTokenPrice = tokenPrices.find(
|
|
66
|
+
// (tokenPrice) =>
|
|
67
|
+
// tokenPrice.address?.toLowerCase() === bond?.lpToken?.address?.[bond.chainId]?.toLowerCase() &&
|
|
68
|
+
// tokenPrice.chainId === bond.chainId,
|
|
69
|
+
// )?.price
|
|
70
|
+
const payoutTokenPrice = tokenPrices.find((tokenPrice) => tokenPrice.address?.toLowerCase() === bond?.earnToken?.address?.[bond.chainId]?.toLowerCase() &&
|
|
71
|
+
tokenPrice.chainId === bond.chainId)?.price;
|
|
72
|
+
bond = {
|
|
73
|
+
...bond,
|
|
74
|
+
payoutTokenPrice: payoutTokenPrice,
|
|
75
|
+
// principalTokenPrice: (principalTokenPrice ?? 0).toString()
|
|
76
|
+
};
|
|
77
|
+
const data = billVersions[i] !== BillVersion.V1
|
|
78
|
+
? {
|
|
79
|
+
address: billDataCalls[billPos].address,
|
|
80
|
+
id: billDataCalls[billPos].params[0].toString(),
|
|
81
|
+
payout: new BigNumber(billData[billPos][0]?.payout.toString())
|
|
82
|
+
.minus(billData[billPos][0]?.payoutClaimed.toString())
|
|
83
|
+
.toString(),
|
|
84
|
+
payoutClaimed: billData[billPos][0]?.payoutClaimed.toString(),
|
|
85
|
+
billNftAddress: bond.billNnftAddress[bond.chainId],
|
|
86
|
+
vesting: billData[billPos][0]?.vesting.toString(),
|
|
87
|
+
lastBlockTimestamp: billData[billPos][0]?.lastClaimTimestamp.toString(),
|
|
88
|
+
truePricePaid: billData[billPos][0]?.truePricePaid.toString(),
|
|
89
|
+
pendingRewards: billData[billPos + 1][0].toString(),
|
|
90
|
+
bond,
|
|
91
|
+
}
|
|
92
|
+
: {
|
|
93
|
+
address: billDataCalls[billPos].address,
|
|
94
|
+
id: billDataCalls[billPos].params[0].toString(),
|
|
95
|
+
payoutClaimed: billData?.[billPos]?.[0]?.payoutClaimed?.toString(),
|
|
96
|
+
payout: billData[billPos][0].toString(),
|
|
97
|
+
billNftAddress: bond.billNnftAddress[bond.chainId],
|
|
98
|
+
vesting: billData[billPos][1].toString(),
|
|
99
|
+
lastBlockTimestamp: billData[billPos][2].toString(),
|
|
100
|
+
truePricePaid: billData[billPos][3].toString(),
|
|
101
|
+
pendingRewards: billData[billPos + 1][0].toString(),
|
|
102
|
+
bond,
|
|
103
|
+
};
|
|
104
|
+
result.push(data);
|
|
105
|
+
}
|
|
106
|
+
return result;
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
export { fetchUserOwnedBills, fetchUserOwnedBillsDataAsync };
|
|
110
|
+
//# sourceMappingURL=fetchBillsUser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchBillsUser.js","sources":["../../../src/views/YourBonds/fetchBillsUser.ts"],"sourcesContent":["import billAbi from '../../config/abi/BOND_2_0_0.json'\nimport BigNumber from 'bignumber.js'\nimport multicall from '../../utils/multicall'\nimport { UserBill, UserOwnedBillsData } from '../../types/yourbonds'\nimport { BillsConfig, BillVersion, ChainId } from '@ape.swap/apeswap-lists'\nimport { TokenPrices } from '../../state/tokenPrices/useTokenPrices'\n\n/* MODIFIED FUNCTION FROM FRONTEND SPECIFICALLY FOR THE SDK */\nexport const fetchUserOwnedBillsDataAsync = async (\n chainId: ChainId,\n account: string,\n bondData: BillsConfig[],\n tokenPrices: TokenPrices[],\n): Promise<UserOwnedBillsData[]> => {\n try {\n const bonds: BillsConfig[] = bondData\n\n // Fetch and set user owned bill data without NFT Data\n const userOwnedBills = await fetchUserOwnedBills(chainId, account, bonds, tokenPrices)\n const mapUserOwnedBills = bonds.map((bill: BillsConfig) =>\n userOwnedBills.filter((b) => b.address.toLowerCase() === bill.contractAddress[bill.chainId]?.toLowerCase()),\n )\n const userOwnedBillsData = bonds.map((bill: BillsConfig, i: number) => ({\n index: bill.index,\n userOwnedBills: mapUserOwnedBills[i],\n }))\n\n const combinedData = userOwnedBillsData.map((data) => {\n const enrichedUserBills = data.userOwnedBills.map((bill) => {\n return {\n ...bill,\n }\n })\n return {\n ...data,\n userOwnedBills: enrichedUserBills,\n }\n })\n\n return Promise.resolve(combinedData)\n } catch (error) {\n console.error('Error fetching user owned bills data:', error)\n return Promise.reject(error)\n }\n}\n\n/* MODIFIED FUNCTION FROM FRONTEND SPECIFICALLY FOR THE SDK */\nexport const fetchUserOwnedBills = async (\n chainId: ChainId,\n account: string,\n bonds: BillsConfig[],\n tokenPrices: TokenPrices[],\n): Promise<UserBill[]> => {\n // Maps all the bills in the list repo to make a call to each of them to get Bills Id, meaning purchased bill ids\n const billIdCalls = bonds.map((b) => ({\n address: b.contractAddress[b.chainId] ?? '',\n name: 'getBillIds',\n params: [account],\n }))\n const billIds = await multicall(chainId, billAbi, billIdCalls, true, 15)\n const billDataCalls: any = []\n const billVersions: any = []\n\n billIds.forEach((idArray: any, index: number) =>\n idArray[0].forEach(\n (id: BigNumber) =>\n id.gt(0) &&\n (billDataCalls.push({\n address: bonds[index].contractAddress[bonds[index].chainId],\n name: bonds[index].billVersion !== BillVersion.V1 ? 'getBillInfo' : 'billInfo',\n params: [id],\n bond: bonds[index],\n }),\n billDataCalls.push({\n address: bonds[index].contractAddress[bonds[index].chainId],\n name: bonds[index].billVersion !== BillVersion.V1 ? 'claimablePayout' : 'pendingPayoutFor',\n params: [id],\n bond: bonds[index],\n }),\n billVersions.push(bonds[index].billVersion)),\n ),\n )\n const billData = await multicall(chainId, billAbi, billDataCalls, true, 150)\n const result = []\n\n for (let i = 0; i < billVersions.length; i++) {\n const billPos = i === 0 ? 0 : i * 2\n let bond = billDataCalls[billPos].bond\n\n // const principalTokenPrice = tokenPrices.find(\n // (tokenPrice) =>\n // tokenPrice.address?.toLowerCase() === bond?.lpToken?.address?.[bond.chainId]?.toLowerCase() &&\n // tokenPrice.chainId === bond.chainId,\n // )?.price\n\n const payoutTokenPrice = tokenPrices.find(\n (tokenPrice) =>\n tokenPrice.address?.toLowerCase() === bond?.earnToken?.address?.[bond.chainId]?.toLowerCase() &&\n tokenPrice.chainId === bond.chainId,\n )?.price\n\n bond = {\n ...bond,\n payoutTokenPrice: payoutTokenPrice,\n // principalTokenPrice: (principalTokenPrice ?? 0).toString()\n }\n const data =\n billVersions[i] !== BillVersion.V1\n ? {\n address: billDataCalls[billPos].address,\n id: billDataCalls[billPos].params[0].toString(),\n payout: new BigNumber(billData[billPos][0]?.payout.toString())\n .minus(billData[billPos][0]?.payoutClaimed.toString())\n .toString(),\n payoutClaimed: billData[billPos][0]?.payoutClaimed.toString(),\n billNftAddress: bond.billNnftAddress[bond.chainId],\n vesting: billData[billPos][0]?.vesting.toString(),\n lastBlockTimestamp: billData[billPos][0]?.lastClaimTimestamp.toString(),\n truePricePaid: billData[billPos][0]?.truePricePaid.toString(),\n pendingRewards: billData[billPos + 1][0].toString(),\n bond,\n }\n : {\n address: billDataCalls[billPos].address,\n id: billDataCalls[billPos].params[0].toString(),\n payoutClaimed: billData?.[billPos]?.[0]?.payoutClaimed?.toString(),\n payout: billData[billPos][0].toString(),\n billNftAddress: bond.billNnftAddress[bond.chainId],\n vesting: billData[billPos][1].toString(),\n lastBlockTimestamp: billData[billPos][2].toString(),\n truePricePaid: billData[billPos][3].toString(),\n pendingRewards: billData[billPos + 1][0].toString(),\n bond,\n }\n result.push(data)\n }\n\n return result\n}\n"],"names":["billAbi"],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import axios from 'axios';
|
|
2
|
+
import { reportError } from '../../utils/reportError.js';
|
|
3
|
+
|
|
4
|
+
// export const getBillNftData = async (billNftId: string, billNftAddress: string, chainId: number) => {
|
|
5
|
+
// try {
|
|
6
|
+
// const response = await axios.get(`${apiV2BaseUrl}/bills/single/${chainId}/${billNftAddress}/${billNftId}`)
|
|
7
|
+
// const billNftDataResp = await response.data
|
|
8
|
+
// if (billNftDataResp.statusCode === 500) {
|
|
9
|
+
// return null
|
|
10
|
+
// }
|
|
11
|
+
// return billNftDataResp
|
|
12
|
+
// } catch (e) {
|
|
13
|
+
// console.error(e)
|
|
14
|
+
// return null
|
|
15
|
+
// }
|
|
16
|
+
// }
|
|
17
|
+
/**
|
|
18
|
+
* Retrieves batch data for a list of bill NFT IDs from the API.
|
|
19
|
+
* @param apiV2URL - prod or staging url to get NFT data from.
|
|
20
|
+
* @param billNftIds - An array of bill NFT IDs to retrieve data for.
|
|
21
|
+
* @param billNftAddress - The address of the bill NFT contract.
|
|
22
|
+
* @param chainId - The ID of the blockchain network to retrieve data from.
|
|
23
|
+
* @returns A Promise that resolves to the batch data for the specified bill NFT IDs, or null if an error occurs.
|
|
24
|
+
*/
|
|
25
|
+
const getBillNftBatchData = async (apiV2URL, billNftIds, billNftAddress, chainId) => {
|
|
26
|
+
try {
|
|
27
|
+
// If no bill NFT IDs are provided, return null
|
|
28
|
+
if (!billNftIds || billNftIds.length === 0) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
// Make a GET request to the API to retrieve the batch data for the specified bill NFT IDs
|
|
32
|
+
const response = await axios.get(`${apiV2URL}/bills/batch/${chainId}/${billNftAddress}/?billIds[]=${billNftIds.join('&billIds[]=')}`, { timeout: 3000 });
|
|
33
|
+
// If the response status code is 500, return null
|
|
34
|
+
const billNftDataResp = await response.data;
|
|
35
|
+
if (billNftDataResp.statusCode === 500) {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
// Return the batch data for the specified bill NFT IDs
|
|
39
|
+
return billNftDataResp;
|
|
40
|
+
}
|
|
41
|
+
catch (e) {
|
|
42
|
+
console.error(e);
|
|
43
|
+
reportError({
|
|
44
|
+
apiUrl: apiV2URL,
|
|
45
|
+
error: e,
|
|
46
|
+
extraInfo: { type: 'getBillNftBatchData', billNftIds, billNftAddress, e },
|
|
47
|
+
chainId,
|
|
48
|
+
});
|
|
49
|
+
// If an error occurs, return null
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
export { getBillNftBatchData };
|
|
55
|
+
//# sourceMappingURL=getBillNftData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getBillNftData.js","sources":["../../../src/views/YourBonds/getBillNftData.ts"],"sourcesContent":["import axios from 'axios'\nimport { reportError } from '../../utils/reportError'\n\n// export const getBillNftData = async (billNftId: string, billNftAddress: string, chainId: number) => {\n// try {\n// const response = await axios.get(`${apiV2BaseUrl}/bills/single/${chainId}/${billNftAddress}/${billNftId}`)\n// const billNftDataResp = await response.data\n// if (billNftDataResp.statusCode === 500) {\n// return null\n// }\n// return billNftDataResp\n// } catch (e) {\n// console.error(e)\n// return null\n// }\n// }\n\n/**\n * Retrieves batch data for a list of bill NFT IDs from the API.\n * @param apiV2URL - prod or staging url to get NFT data from.\n * @param billNftIds - An array of bill NFT IDs to retrieve data for.\n * @param billNftAddress - The address of the bill NFT contract.\n * @param chainId - The ID of the blockchain network to retrieve data from.\n * @returns A Promise that resolves to the batch data for the specified bill NFT IDs, or null if an error occurs.\n */\nexport const getBillNftBatchData = async (\n apiV2URL: string,\n billNftIds: string[],\n billNftAddress: string,\n chainId: number,\n): Promise<any> => {\n try {\n // If no bill NFT IDs are provided, return null\n if (!billNftIds || billNftIds.length === 0) {\n return null\n }\n\n // Make a GET request to the API to retrieve the batch data for the specified bill NFT IDs\n const response = await axios.get(\n `${apiV2URL}/bills/batch/${chainId}/${billNftAddress}/?billIds[]=${billNftIds.join('&billIds[]=')}`,\n { timeout: 3000 },\n )\n\n // If the response status code is 500, return null\n const billNftDataResp = await response.data\n if (billNftDataResp.statusCode === 500) {\n return null\n }\n\n // Return the batch data for the specified bill NFT IDs\n return billNftDataResp\n } catch (e) {\n console.error(e)\n reportError({\n apiUrl: apiV2URL,\n error: e,\n extraInfo: { type: 'getBillNftBatchData', billNftIds, billNftAddress, e },\n chainId,\n })\n // If an error occurs, return null\n return null\n }\n}\n"],"names":[],"mappings":";;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;;;;AAOG;AACI,MAAM,mBAAmB,GAAG,OACjC,QAAgB,EAChB,UAAoB,EACpB,cAAsB,EACtB,OAAe,KACC;AAChB,IAAA,IAAI;;QAEF,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;AAC1C,YAAA,OAAO,IAAI;QACb;;AAGA,QAAA,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAC9B,CAAA,EAAG,QAAQ,CAAA,aAAA,EAAgB,OAAO,CAAA,CAAA,EAAI,cAAc,CAAA,YAAA,EAAe,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA,CAAE,EACnG,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB;;AAGD,QAAA,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,IAAI;AAC3C,QAAA,IAAI,eAAe,CAAC,UAAU,KAAK,GAAG,EAAE;AACtC,YAAA,OAAO,IAAI;QACb;;AAGA,QAAA,OAAO,eAAe;IACxB;IAAE,OAAO,CAAC,EAAE;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAChB,QAAA,WAAW,CAAC;AACV,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,KAAK,EAAE,CAAC;YACR,SAAS,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC,EAAE;YACzE,OAAO;AACR,SAAA,CAAC;;AAEF,QAAA,OAAO,IAAI;IACb;AACF;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx } from 'theme-ui/jsx-runtime';
|
|
2
|
+
import Providers from '../../providers/index.js';
|
|
3
|
+
import YourBonds from './YourBonds.js';
|
|
4
|
+
import { useSDKConfig } from '../../state/useSDKConfig.js';
|
|
5
|
+
|
|
6
|
+
const YourBondsWithProviders = (props) => {
|
|
7
|
+
useSDKConfig(props);
|
|
8
|
+
return (jsx(Providers, { theme: props.theme, children: jsx(YourBonds, {}) }));
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export { YourBondsWithProviders as default };
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/views/YourBonds/index.tsx"],"sourcesContent":["import React from 'react'\nimport Providers from '../../providers'\nimport YourBonds from './YourBonds'\nimport { SDKPropsDTO, useSDKConfig } from '../../state/useSDKConfig'\n\nconst YourBondsWithProviders: React.FC<SDKPropsDTO> = (props) => {\n useSDKConfig(props)\n\n return (\n <Providers theme={props.theme}>\n <YourBonds />\n </Providers>\n )\n}\n\nexport default YourBondsWithProviders\n"],"names":["_jsx"],"mappings":";;;;;AAKA,MAAM,sBAAsB,GAA0B,CAAC,KAAK,KAAI;IAC9D,YAAY,CAAC,KAAK,CAAC;AAEnB,IAAA,QACEA,GAAA,CAAC,SAAS,EAAA,EAAC,KAAK,EAAE,KAAK,CAAC,KAAK,YAC3BA,GAAA,CAAC,SAAS,EAAA,EAAA,CAAG,EAAA,CACH;AAEhB;;;;"}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'theme-ui/jsx-runtime';
|
|
2
|
+
import { useMemo, useState, useEffect } from 'react';
|
|
3
|
+
import { Flex, Spinner } from 'theme-ui';
|
|
4
|
+
import { BigNumber } from 'bignumber.js';
|
|
5
|
+
import { AnimatePresence, motion } from 'framer-motion';
|
|
6
|
+
import { NETWORK_LABEL } from '../../config/constants/chains.js';
|
|
7
|
+
import { getBalanceNumber } from '../../utils/getBalanceNumber.js';
|
|
8
|
+
import TokenImage from '../../components/uikit-sdk/TokenImage/index.js';
|
|
9
|
+
import Svg from '../../components/uikit-sdk/Svg/index.js';
|
|
10
|
+
import Text from '../../components/uikit-sdk/Text/index.js';
|
|
11
|
+
import '../../components/uikit-sdk/Checkbox/types.js';
|
|
12
|
+
import Skeleton from '../../components/uikit-sdk/Skeleton/index.js';
|
|
13
|
+
import TooltipBubble from '../../components/uikit-sdk/TooltipBubble/index.js';
|
|
14
|
+
import Modal from '../../components/uikit-sdk/Modal/index.js';
|
|
15
|
+
import '../FullBondsView/FullBondsView.js';
|
|
16
|
+
import Button from '../../components/uikit-sdk/Button/Button.js';
|
|
17
|
+
import '../../components/uikit-sdk/Svg/types.js';
|
|
18
|
+
import '../../components/uikit-sdk/Button/types.js';
|
|
19
|
+
import '../../components/uikit-sdk/Select/types.js';
|
|
20
|
+
import ListTag from '../../components/uikit-sdk/Tag/ListTag.js';
|
|
21
|
+
import { formatNumberSI } from '../../utils/formatNumber.js';
|
|
22
|
+
import { useChainId, useSwitchChain, useWriteContract, useAccount } from 'wagmi';
|
|
23
|
+
import BOND_ABI from '../../config/abi/BOND_2_0_0.json.js';
|
|
24
|
+
import { UserBillTooltipText } from '../../config/constants/tooltips.js';
|
|
25
|
+
import useBondNFTData from '../../state/bonds/useBondNFTData.js';
|
|
26
|
+
import useModal from '../../hooks/useModal.js';
|
|
27
|
+
import TransferBondModal from './components/TransferBondModal/index.js';
|
|
28
|
+
import { useMonitorTxHash } from '../../hooks/useMonitorTxHash.js';
|
|
29
|
+
import { usePopups } from '../../state/popups/usePopups.js';
|
|
30
|
+
import Recommendations from './components/Recommendations/Recommendations.js';
|
|
31
|
+
import useCurrencyPrice from '../../state/price/useCurrencyPrice.js';
|
|
32
|
+
import track from '../../utils/track.js';
|
|
33
|
+
import { remove0xPrefix } from '../../utils/remove0xPrefix.js';
|
|
34
|
+
import { vestingTimeRemainingString } from '../../utils/displayHelpers.js';
|
|
35
|
+
import getTimePeriods from '../../utils/getTimePeriods.js';
|
|
36
|
+
import SafeHTMLComponent from '../../components/SafeHTMLComponent/index.js';
|
|
37
|
+
import { reportError } from '../../utils/reportError.js';
|
|
38
|
+
import { useSDKConfig } from '../../state/useSDKConfig.js';
|
|
39
|
+
import useUserBonds from '../../state/bonds/useUserBonds.js';
|
|
40
|
+
|
|
41
|
+
const YourBondsModal = ({ onDismiss, bill }) => {
|
|
42
|
+
// Hooks
|
|
43
|
+
const SDKConfig = useSDKConfig();
|
|
44
|
+
const chainId = useChainId();
|
|
45
|
+
const { data: userBonds, refetch: refetchUserBonds } = useUserBonds();
|
|
46
|
+
const userBill = useMemo(() => userBonds?.find((b) => b.address.toLowerCase() === bill?.address.toLowerCase() && b.id === bill.id), [userBonds, bill]);
|
|
47
|
+
const { switchChain } = useSwitchChain();
|
|
48
|
+
const { data: bondNFTData, refetch } = useBondNFTData(userBill?.id, userBill?.billNftAddress, userBill?.bond?.chainId);
|
|
49
|
+
const { writeContractAsync } = useWriteContract();
|
|
50
|
+
const { address: account } = useAccount();
|
|
51
|
+
// State
|
|
52
|
+
const [imgLoaded, setImgLoaded] = useState(false);
|
|
53
|
+
const [isOpenTraits, setIsOpenTraits] = useState(false);
|
|
54
|
+
const [claimTxHash, setClaimTxHash] = useState(null);
|
|
55
|
+
const [loadingTx, setLoadingTx] = useState(false);
|
|
56
|
+
const { isLoading, isSuccess: isConfirmed } = useMonitorTxHash(claimTxHash, userBill?.bond?.chainId);
|
|
57
|
+
const { addToastError } = usePopups();
|
|
58
|
+
const load = loadingTx || (isLoading && !isConfirmed);
|
|
59
|
+
// Cliff display info:
|
|
60
|
+
const vestingCliff = userBill?.bond?.vestingCliff;
|
|
61
|
+
const currentTime = Math.round(new Date().getTime() / 1000);
|
|
62
|
+
const lastBlockTimestamp = parseInt(userBill?.lastBlockTimestamp ?? '0');
|
|
63
|
+
const isPendingCliff = vestingCliff ? currentTime - lastBlockTimestamp < vestingCliff : false;
|
|
64
|
+
const cliffCountdown = getTimePeriods(lastBlockTimestamp + (vestingCliff ?? 0) - currentTime, true);
|
|
65
|
+
const handleClaim = async (billId, billAddress) => {
|
|
66
|
+
const address = billAddress;
|
|
67
|
+
try {
|
|
68
|
+
setLoadingTx(true);
|
|
69
|
+
const tx = await writeContractAsync({
|
|
70
|
+
address: address,
|
|
71
|
+
abi: BOND_ABI,
|
|
72
|
+
functionName: 'redeem',
|
|
73
|
+
args: [billId],
|
|
74
|
+
chain: chainId,
|
|
75
|
+
account: account,
|
|
76
|
+
}).catch();
|
|
77
|
+
if (tx) {
|
|
78
|
+
setClaimTxHash(tx);
|
|
79
|
+
track({
|
|
80
|
+
event: 'bond',
|
|
81
|
+
chain: userBill?.bond?.chainId,
|
|
82
|
+
data: {
|
|
83
|
+
cat: 'claim',
|
|
84
|
+
bondType: userBill?.bond?.billType,
|
|
85
|
+
address: remove0xPrefix(userBill?.bond?.contractAddress?.[userBill?.bond?.chainId]),
|
|
86
|
+
earnToken: userBill?.bond?.earnToken.symbol,
|
|
87
|
+
},
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
setLoadingTx(false);
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
console.error('Claim Failed:', error);
|
|
94
|
+
setLoadingTx(false);
|
|
95
|
+
addToastError(error.message);
|
|
96
|
+
reportError({
|
|
97
|
+
apiUrl: SDKConfig?.urls?.apiV2,
|
|
98
|
+
error,
|
|
99
|
+
extraInfo: { type: 'redeem', userBill, error },
|
|
100
|
+
chainId,
|
|
101
|
+
account,
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
// Functions to calculate display values for modal
|
|
106
|
+
const totalPending = (userBill) => {
|
|
107
|
+
return (getBalanceNumber(new BigNumber(userBill?.payout ?? 0), userBill?.bond?.earnToken?.decimals?.[userBill?.bond?.chainId] ?? 18) - claimable(userBill));
|
|
108
|
+
};
|
|
109
|
+
const claimable = (userBill) => {
|
|
110
|
+
return getBalanceNumber(new BigNumber(userBill?.pendingRewards ?? '0'), userBill?.bond?.earnToken?.decimals?.[userBill?.bond?.chainId] ?? 18);
|
|
111
|
+
};
|
|
112
|
+
const claimed = (userBill) => {
|
|
113
|
+
return getBalanceNumber(new BigNumber(userBill?.payoutClaimed ?? '0'), userBill?.bond?.earnToken?.decimals?.[userBill?.bond?.chainId] ?? 18);
|
|
114
|
+
};
|
|
115
|
+
const earnTokenPrice = useCurrencyPrice(userBill?.bond?.earnToken ?? null, userBill?.bond?.chainId ?? null);
|
|
116
|
+
const BILL_ATTRIBUTES = ['The Legend', 'The Location', 'The Moment', 'The Trend', 'The Innovation'];
|
|
117
|
+
const attributes = bondNFTData?.attributes?.filter((attrib) => BILL_ATTRIBUTES.includes(attrib.trait_type));
|
|
118
|
+
const handleImageLoad = () => {
|
|
119
|
+
setImgLoaded(true);
|
|
120
|
+
};
|
|
121
|
+
const [onTransferBondModal] = useModal(jsx(TransferBondModal, { userBill: userBill }), true, true, `transferModal${userBill?.id}}`);
|
|
122
|
+
useEffect(() => {
|
|
123
|
+
if (isConfirmed) {
|
|
124
|
+
refetchUserBonds();
|
|
125
|
+
refetch();
|
|
126
|
+
}
|
|
127
|
+
/* eslint-disable react-hooks/exhaustive-deps */
|
|
128
|
+
}, [isConfirmed]);
|
|
129
|
+
return (jsx(Modal, { className: "modal", children: jsxs(Flex, { className: "yourbondsmodal-content", children: [jsx(Flex, { className: "yourbondsmodal-header", children: jsx(Flex, { className: "svg-close", onClick: onDismiss, children: jsx(Svg, { icon: "close" }) }) }), jsxs(Flex, { className: "yourbondsmodal table-container", children: [jsxs(Flex, { className: "yourbondsmodal bondimage", children: [bondNFTData?.image && (jsx("img", { src: `${bondNFTData?.image}?img-width=720`, onLoad: handleImageLoad, style: { zIndex: 2 } })), !imgLoaded && (jsx(Flex, { sx: {
|
|
130
|
+
position: 'absolute',
|
|
131
|
+
top: 'calc(50% - 24px)',
|
|
132
|
+
right: 'calc(50% - 50px)',
|
|
133
|
+
justifyContent: 'center',
|
|
134
|
+
alignItems: 'center',
|
|
135
|
+
zIndex: 1,
|
|
136
|
+
}, children: jsx(Spinner, { width: 100 }) }))] }), jsxs(Flex, { className: "yourbondsmodal yourbondinfo", children: [jsxs(Flex, { className: "yourbondinfo title-container", children: [jsx(Flex, { className: "title-container bondicon", children: userBill && (jsx(TokenImage, { symbol: userBill?.bond?.showcaseTokenName ?? userBill?.bond?.earnToken?.symbol, size: 40, chain: userBill?.bond?.chainId })) }), jsx(Flex, { className: "title-container tokenname", children: userBill?.bond?.showcaseTokenName ?? userBill?.bond?.earnToken.symbol }), jsx(Flex, { className: "title-container tokentags", children: userBill?.bond?.tags?.slice(0, 1).map((tag) => {
|
|
137
|
+
return (jsx(Flex, { sx: { marginRight: '10px' }, children: jsx(ListTag, { text: tag?.toUpperCase() }) }, tag));
|
|
138
|
+
}) }), jsxs(Text, { sx: { color: 'text', opacity: '0.6', fontSize: ['12px', '12px', '12px', '16px'] }, children: ["#", userBill?.id] })] }), jsxs(Flex, { className: "yourbondinfo blocks-container", children: [jsxs(Flex, { className: "attributes-container", children: [jsxs(Flex, { className: "attributes-header", sx: {
|
|
139
|
+
borderRadius: `${isOpenTraits ? '6px 6px 0px 0px' : 'normal'}`,
|
|
140
|
+
}, onClick: () => setIsOpenTraits(!isOpenTraits), children: [jsxs(Flex, { sx: { gap: '10px', alignItems: 'center' }, children: [jsx(Svg, { icon: "tag", direction: "down" }), jsx(Text, { sx: { fontSize: '12px', fontWeight: 400, color: 'text', opacity: '0.6' }, children: "Traits" })] }), jsx(Svg, { icon: "caret", direction: isOpenTraits ? 'up' : 'down' })] }), userBill?.bond?.billType === 'staking' && (jsxs(Flex, { sx: {
|
|
141
|
+
p: '5px 10px',
|
|
142
|
+
width: '100%',
|
|
143
|
+
background: '#8E568F',
|
|
144
|
+
borderRadius: 'normal',
|
|
145
|
+
mt: '10px',
|
|
146
|
+
fontSize: '12px',
|
|
147
|
+
fontWeight: 400,
|
|
148
|
+
justifyContent: 'center',
|
|
149
|
+
display: 'block',
|
|
150
|
+
}, children: ["Tokens bought through this bond went directly to the", ' ', jsx("span", { onClick: () => window.open('https://basepad.finance/earn', '_blank'), style: { textDecoration: 'underline', cursor: 'pointer', color: 'blue' }, children: "$BPAD staking pool" }), ' ', "with a 365 days lock."] })), jsx(AnimatePresence, { children: isOpenTraits && (jsx(motion.div, { initial: { height: 0 }, animate: { height: 'fit-content' }, transition: { opacity: { duration: 0.2 } }, exit: { height: 0 }, sx: { overflow: 'hidden', width: '100%' }, children: jsx(Flex, { sx: { flexDirection: 'column', gap: '1px' }, children: attributes
|
|
151
|
+
? attributes.map((a) => (jsxs(Flex, { sx: { background: 'white4', width: '100%', padding: '2px 8px' }, children: [jsx(Text, { sx: { fontSize: '10px', fontWeight: 500 }, children: a?.trait_type }), jsx(Text, { sx: { fontSize: '10px', fontWeight: 500 }, children: a?.value })] }, a.value)))
|
|
152
|
+
: BILL_ATTRIBUTES.map((attrib) => {
|
|
153
|
+
return (jsxs(Flex, { sx: { background: 'white4', width: '100%', padding: '2px 8px' }, children: [jsx(Text, { sx: { fontSize: '10px', fontWeight: 500 }, children: attrib }), jsx(Skeleton, { width: "150px" })] }, attrib));
|
|
154
|
+
}) }) })) })] }), bondNFTData?.data?.deposit && (jsxs(Flex, { className: "yourbondinfo-block row-vested", children: [jsxs(Flex, { className: "yourbondinfo-block header", children: [jsx(Flex, { className: "yourbondinfo-block header-title", children: "You Spent" }), jsx(Flex, { className: "yourbondinfo-block header-tooltip", children: jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Flex, { children: UserBillTooltipText.YouSpent }), width: "270px", placement: "bottomLeft", transformTip: "translate(-5%, 0%)", children: jsx(Flex, { className: "block-header icon", children: jsx(Svg, { icon: "questionCircle", width: "12px" }) }) }) })] }), jsx(Flex, { className: "yourbondinfo-block info", children: jsx(Flex, { className: "block-info text", children: jsxs(Text, { sx: { fontSize: ['12px', '12px', '12px', '19px'], fontWeight: 700 }, children: ["$", bondNFTData?.data?.dollarValue.toFixed(2)] }) }) })] })), jsxs(Flex, { className: "yourbondinfo-block row-vested", children: [jsxs(Flex, { className: "yourbondinfo-block header", children: [jsx(Flex, { className: "yourbondinfo-block header-title", children: "Fully Vested" }), jsx(Flex, { className: "yourbondinfo-block header-tooltip", children: jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Flex, { children: UserBillTooltipText.FullyVested }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, 0%)", children: jsx(Flex, { className: "block-header icon", children: jsx(Svg, { icon: "questionCircle", width: "12px" }) }) }) })] }), jsxs(Flex, { className: "yourbondinfo-block info", children: [jsx(Flex, { className: "block-info icon" }), jsx(Flex, { className: "block-info text", children: jsxs(Flex, { sx: { fontSize: ['12px', '12px', '12px', '19px'], fontWeight: 700 }, children: [vestingTimeRemainingString(userBill), isPendingCliff && (jsx(TooltipBubble, { className: "tooltip-bubble", body: jsxs(Flex, { children: ["Bond will be claimable in", ' ', `${cliffCountdown.days !== 0 ? `${cliffCountdown.days} days` : cliffCountdown.hours !== 0 ? `${cliffCountdown.hours} hours` : `${cliffCountdown.minutes} mins`}`, "."] }), width: "180px", placement: "bottomRight", transformTip: "translate(13%, 0%)", children: jsx(Flex, { sx: { opacity: 0.6, ml: '6px' }, children: jsx(Svg, { icon: "questionCircle", width: "12px" }) }) }))] }) })] })] }), jsxs(Flex, { className: "yourbondinfo-block row-pending", children: [jsxs(Flex, { className: "yourbondinfo-block header", children: [jsx(Flex, { className: "yourbondinfo-block header-title", children: "Pending" }), jsx(Flex, { className: "yourbondinfo-block header-tooltip", children: jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Flex, { children: UserBillTooltipText.Pending }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, 0%)", children: jsx(Flex, { className: "block-header icon", children: jsx(Svg, { icon: "questionCircle", width: "12px" }) }) }) })] }), jsxs(Flex, { className: "yourbondinfo-block info", children: [jsx(Flex, { className: "block-info icon", children: userBill && (jsx(TokenImage, { symbol: userBill?.bond?.showcaseTokenName ?? userBill?.bond?.earnToken?.symbol, size: 25, chain: userBill?.bond?.chainId })) }), jsxs(Flex, { className: "block-info text", children: [jsx(Text, { sx: { fontSize: ['12px', '12px', '12px', '19px'], fontWeight: 700 }, children: formatNumberSI(parseFloat(totalPending(userBill).toFixed(4)), 4) }), jsx(Text, { sx: {
|
|
155
|
+
fontSize: ['10px', '10px', '10px', '12px'],
|
|
156
|
+
fontWeight: [500, 500, 500, 400],
|
|
157
|
+
paddingLeft: '10px',
|
|
158
|
+
}, children: `($${(totalPending(userBill) * (earnTokenPrice?.price ?? 0)).toFixed(2)})` })] })] })] }), jsxs(Flex, { className: "yourbondinfo-block row-claimable", children: [jsxs(Flex, { className: "yourbondinfo-block header", children: [jsx(Flex, { className: "yourbondinfo-block header-title", children: "Claimable" }), jsx(Flex, { className: "yourbondinfo-block header-tooltip", children: jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Flex, { children: UserBillTooltipText.Claimable }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, 0%)", children: jsx(Flex, { className: "block-header icon", children: jsx(Svg, { icon: "questionCircle", width: "12px" }) }) }) })] }), jsxs(Flex, { className: "yourbondinfo-block info", children: [jsx(Flex, { className: "block-info icon", children: userBill && (jsx(TokenImage, { symbol: userBill?.bond?.showcaseTokenName ?? userBill?.bond?.earnToken?.symbol, size: 25, chain: userBill?.bond?.chainId })) }), jsxs(Flex, { className: "block-info text", children: [jsx(Text, { sx: { fontSize: ['12px', '12px', '12px', '19px'], fontWeight: 700 }, children: formatNumberSI(parseFloat(claimable(userBill).toFixed(4)), 4) }), jsx(Text, { sx: {
|
|
159
|
+
fontSize: ['10px', '10px', '10px', '12px'],
|
|
160
|
+
fontWeight: [500, 500, 500, 400],
|
|
161
|
+
paddingLeft: '10px',
|
|
162
|
+
}, children: `($${(claimable(userBill) * (earnTokenPrice?.price ?? 0)).toFixed(2)})` })] })] })] }), jsxs(Flex, { className: "yourbondinfo-block row-vested", children: [jsxs(Flex, { className: "yourbondinfo-block header", children: [jsx(Flex, { className: "yourbondinfo-block header-title", children: "Claimed" }), jsx(Flex, { className: "yourbondinfo-block header-tooltip", children: jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Flex, { children: UserBillTooltipText.Claimed }), width: "250px", placement: "bottomLeft", transformTip: "translate(-5%, 0%)", children: jsx(Flex, { className: "block-header icon", children: jsx(Svg, { icon: "questionCircle", width: "12px" }) }) }) })] }), jsxs(Flex, { className: "yourbondinfo-block info", children: [jsx(Flex, { className: "block-info icon", children: userBill && (jsx(TokenImage, { symbol: userBill?.bond?.showcaseTokenName ?? userBill?.bond?.earnToken?.symbol, size: 25, chain: userBill?.bond?.chainId })) }), jsxs(Flex, { className: "block-info text", children: [jsx(Text, { sx: { fontSize: ['12px', '12px', '12px', '19px'], fontWeight: 700 }, children: formatNumberSI(parseFloat(claimed(userBill).toFixed(4)), 4) }), jsx(Text, { sx: {
|
|
163
|
+
fontSize: ['10px', '10px', '10px', '12px'],
|
|
164
|
+
fontWeight: [500, 500, 500, 400],
|
|
165
|
+
paddingLeft: '10px',
|
|
166
|
+
}, children: `($${(claimed(userBill) * (earnTokenPrice?.price ?? 0)).toFixed(2)})` })] })] })] })] }), userBill?.bond?.warningCard && (jsx(Flex, { sx: {
|
|
167
|
+
width: '100%',
|
|
168
|
+
background: '#DE62F366',
|
|
169
|
+
justifyContent: 'center',
|
|
170
|
+
borderRadius: 'normal',
|
|
171
|
+
}, children: jsx(Text, { sx: { fontSize: '12px', fontWeight: 400, p: '2px 10px' }, children: jsx(SafeHTMLComponent, { html: userBill?.bond?.warningCard }) }) })), jsxs(Flex, { className: "yourbondinfo button-container", children: [jsx(Flex, { className: "button-container claim", children: userBill && !!userBill?.bond?.chainId && chainId !== userBill?.bond?.chainId ? (jsxs(Button, { className: "switch-button", disabled: claimable(userBill) === 0 || load, onClick: (event) => {
|
|
172
|
+
event.stopPropagation();
|
|
173
|
+
switchChain({ chainId: userBill?.bond?.chainId });
|
|
174
|
+
}, children: ["Switch to ", NETWORK_LABEL[userBill?.bond?.chainId]] })) : (jsx(Button, { className: "claim-button", disabled: claimable(userBill) === 0 || load || !userBill || isPendingCliff, load: load, onClick: (event) => {
|
|
175
|
+
event.stopPropagation();
|
|
176
|
+
handleClaim(userBill?.id, userBill?.address);
|
|
177
|
+
}, children: isPendingCliff
|
|
178
|
+
? `Claimable in ${cliffCountdown.days !== 0 ? `${cliffCountdown.days} days` : cliffCountdown.hours !== 0 ? `${cliffCountdown.hours} hours` : `${cliffCountdown.minutes} mins`}`
|
|
179
|
+
: 'Claim' })) }), jsx(Flex, { className: "button-container transfer", children: jsx(Button, { className: "transfer-button", variant: "secondary", onClick: onTransferBondModal, disabled: !userBill, children: "TRANSFER" }) })] })] })] }), jsx(Recommendations, { onDismiss: onDismiss, billAddress: userBill?.address })] }) }));
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
export { YourBondsModal as default };
|
|
183
|
+
//# sourceMappingURL=YourBondsModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"YourBondsModal.js","sources":["../../../src/views/YourBondsModal/YourBondsModal.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react'\nimport { Flex, Spinner } from 'theme-ui'\nimport { BigNumber } from 'bignumber.js'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport { UserBill } from '../../types/yourbonds'\nimport { NETWORK_LABEL } from '../../config/constants/chains'\nimport { getBalanceNumber } from '../../utils/getBalanceNumber'\nimport TokenImage from '../../components/uikit-sdk/TokenImage'\nimport { Button, ListTag, Modal, Skeleton, Svg, Text, TooltipBubble } from '../../components/uikit-sdk'\nimport { formatNumberSI } from '../../utils/formatNumber'\nimport { useAccount, useChainId, useSwitchChain, useWriteContract } from 'wagmi'\nimport BOND_ABI from '../../config/abi/BOND_2_0_0.json'\nimport { UserBillTooltipText } from '../../config/constants/tooltips'\nimport useBondNFTData from '../../state/bonds/useBondNFTData'\nimport useModal from '../../hooks/useModal'\nimport TransferBondModal from './components/TransferBondModal'\nimport { useMonitorTxHash } from '../../hooks/useMonitorTxHash'\nimport { usePopups } from '../../state/popups/usePopups'\nimport Recommendations from './components/Recommendations/Recommendations'\nimport useCurrencyPrice from '../../state/price/useCurrencyPrice'\nimport track from '../../utils/track'\nimport { remove0xPrefix } from '../../utils/remove0xPrefix'\nimport { vestingTimeRemainingString } from '../../utils/displayHelpers'\nimport getTimePeriods from '../../utils/getTimePeriods'\nimport SafeHTMLComponent from '../../components/SafeHTMLComponent'\nimport { reportError } from '../../utils/reportError'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport useUserBonds from '../../state/bonds/useUserBonds'\n\nconst YourBondsModal = ({ onDismiss, bill }: { onDismiss?: () => void; bill?: UserBill }) => {\n // Hooks\n const SDKConfig = useSDKConfig()\n const chainId = useChainId()\n const { data: userBonds, refetch: refetchUserBonds } = useUserBonds()\n const userBill = useMemo(\n () => userBonds?.find((b) => b.address.toLowerCase() === bill?.address.toLowerCase() && b.id === bill.id),\n [userBonds, bill],\n )\n const { switchChain } = useSwitchChain()\n const { data: bondNFTData, refetch } = useBondNFTData(userBill?.id, userBill?.billNftAddress, userBill?.bond?.chainId)\n const { writeContractAsync } = useWriteContract()\n const { address: account } = useAccount()\n // State\n const [imgLoaded, setImgLoaded] = useState(false)\n const [isOpenTraits, setIsOpenTraits] = useState<boolean>(false)\n const [claimTxHash, setClaimTxHash] = useState<string | null>(null)\n const [loadingTx, setLoadingTx] = useState(false)\n\n const { isLoading, isSuccess: isConfirmed } = useMonitorTxHash(claimTxHash, userBill?.bond?.chainId)\n const { addToastError } = usePopups()\n const load = loadingTx || (isLoading && !isConfirmed)\n\n // Cliff display info:\n const vestingCliff = userBill?.bond?.vestingCliff\n const currentTime = Math.round(new Date().getTime() / 1000)\n const lastBlockTimestamp = parseInt(userBill?.lastBlockTimestamp ?? '0')\n const isPendingCliff = vestingCliff ? currentTime - lastBlockTimestamp < vestingCliff : false\n const cliffCountdown = getTimePeriods(lastBlockTimestamp + (vestingCliff ?? 0) - currentTime, true)\n\n const handleClaim = async (billId?: string, billAddress?: string) => {\n const address: `0x${string}` = billAddress as `0x${string}`\n\n try {\n setLoadingTx(true)\n const tx = await writeContractAsync({\n address: address,\n abi: BOND_ABI,\n functionName: 'redeem',\n args: [billId],\n chain: chainId as any,\n account: account,\n }).catch()\n\n if (tx) {\n setClaimTxHash(tx)\n track({\n event: 'bond',\n chain: userBill?.bond?.chainId,\n data: {\n cat: 'claim',\n bondType: userBill?.bond?.billType,\n address: remove0xPrefix(userBill?.bond?.contractAddress?.[userBill?.bond?.chainId]),\n earnToken: userBill?.bond?.earnToken.symbol,\n },\n })\n }\n setLoadingTx(false)\n } catch (error: any) {\n console.error('Claim Failed:', error)\n setLoadingTx(false)\n addToastError(error.message)\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error,\n extraInfo: { type: 'redeem', userBill, error },\n chainId,\n account,\n })\n }\n }\n\n // Functions to calculate display values for modal\n const totalPending = (userBill?: UserBill) => {\n return (\n getBalanceNumber(\n new BigNumber(userBill?.payout ?? 0),\n userBill?.bond?.earnToken?.decimals?.[userBill?.bond?.chainId] ?? 18,\n ) - claimable(userBill)\n )\n }\n\n const claimable = (userBill?: UserBill) => {\n return getBalanceNumber(\n new BigNumber(userBill?.pendingRewards ?? '0'),\n userBill?.bond?.earnToken?.decimals?.[userBill?.bond?.chainId] ?? 18,\n )\n }\n\n const claimed = (userBill?: UserBill) => {\n return getBalanceNumber(\n new BigNumber(userBill?.payoutClaimed ?? '0'),\n userBill?.bond?.earnToken?.decimals?.[userBill?.bond?.chainId] ?? 18,\n )\n }\n\n const earnTokenPrice = useCurrencyPrice(userBill?.bond?.earnToken ?? null, userBill?.bond?.chainId ?? null)\n\n const BILL_ATTRIBUTES = ['The Legend', 'The Location', 'The Moment', 'The Trend', 'The Innovation']\n\n const attributes = bondNFTData?.attributes?.filter((attrib) => BILL_ATTRIBUTES.includes(attrib.trait_type))\n\n const handleImageLoad = () => {\n setImgLoaded(true)\n }\n\n const [onTransferBondModal] = useModal(\n <TransferBondModal userBill={userBill} />,\n true,\n true,\n `transferModal${userBill?.id}}`,\n )\n\n useEffect(() => {\n if (isConfirmed) {\n refetchUserBonds()\n refetch()\n }\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [isConfirmed])\n return (\n <Modal className=\"modal\">\n <Flex className=\"yourbondsmodal-content\">\n <Flex className=\"yourbondsmodal-header\">\n <Flex className=\"svg-close\" onClick={onDismiss}>\n <Svg icon=\"close\" />\n </Flex>\n </Flex>\n <Flex className=\"yourbondsmodal table-container\">\n <Flex className=\"yourbondsmodal bondimage\">\n {bondNFTData?.image && (\n <img src={`${bondNFTData?.image}?img-width=720`} onLoad={handleImageLoad} style={{ zIndex: 2 }} />\n )}\n {!imgLoaded && (\n <Flex\n sx={{\n position: 'absolute',\n top: 'calc(50% - 24px)',\n right: 'calc(50% - 50px)',\n justifyContent: 'center',\n alignItems: 'center',\n zIndex: 1,\n }}\n >\n <Spinner width={100} />\n </Flex>\n )}\n </Flex>\n <Flex className=\"yourbondsmodal yourbondinfo\">\n <Flex className=\"yourbondinfo title-container\">\n <Flex className=\"title-container bondicon\">\n {userBill && (\n <TokenImage\n symbol={userBill?.bond?.showcaseTokenName ?? userBill?.bond?.earnToken?.symbol}\n size={40}\n chain={userBill?.bond?.chainId}\n />\n )}\n </Flex>\n <Flex className=\"title-container tokenname\">\n {userBill?.bond?.showcaseTokenName ?? userBill?.bond?.earnToken.symbol}\n </Flex>\n <Flex className=\"title-container tokentags\">\n {userBill?.bond?.tags?.slice(0, 1).map((tag: string) => {\n return (\n <Flex key={tag} sx={{ marginRight: '10px' }}>\n <ListTag text={tag?.toUpperCase()} />\n </Flex>\n )\n })}\n </Flex>\n <Text sx={{ color: 'text', opacity: '0.6', fontSize: ['12px', '12px', '12px', '16px'] }}>\n #{userBill?.id}\n </Text>\n </Flex>\n <Flex className=\"yourbondinfo blocks-container\">\n <Flex className=\"attributes-container\">\n <Flex\n className=\"attributes-header\"\n sx={{\n borderRadius: `${isOpenTraits ? '6px 6px 0px 0px' : 'normal'}`,\n }}\n onClick={() => setIsOpenTraits(!isOpenTraits)}\n >\n <Flex sx={{ gap: '10px', alignItems: 'center' }}>\n <Svg icon=\"tag\" direction=\"down\" />\n <Text sx={{ fontSize: '12px', fontWeight: 400, color: 'text', opacity: '0.6' }}>Traits</Text>\n </Flex>\n <Svg icon=\"caret\" direction={isOpenTraits ? 'up' : 'down'} />\n </Flex>\n {userBill?.bond?.billType === 'staking' && (\n <Flex\n sx={{\n p: '5px 10px',\n width: '100%',\n background: '#8E568F',\n borderRadius: 'normal',\n mt: '10px',\n fontSize: '12px',\n fontWeight: 400,\n justifyContent: 'center',\n display: 'block',\n }}\n >\n Tokens bought through this bond went directly to the{' '}\n <span\n onClick={() => window.open('https://basepad.finance/earn', '_blank')}\n style={{ textDecoration: 'underline', cursor: 'pointer', color: 'blue' }}\n >\n $BPAD staking pool\n </span>{' '}\n with a 365 days lock.\n </Flex>\n )}\n <AnimatePresence>\n {isOpenTraits && (\n <motion.div\n initial={{ height: 0 }}\n animate={{ height: 'fit-content' }}\n transition={{ opacity: { duration: 0.2 } }}\n exit={{ height: 0 }}\n sx={{ overflow: 'hidden', width: '100%' }}\n >\n <Flex sx={{ flexDirection: 'column', gap: '1px' }}>\n {attributes\n ? attributes.map((a) => (\n <Flex key={a.value} sx={{ background: 'white4', width: '100%', padding: '2px 8px' }}>\n <Text sx={{ fontSize: '10px', fontWeight: 500 }}>{a?.trait_type}</Text>\n <Text sx={{ fontSize: '10px', fontWeight: 500 }}>{a?.value}</Text>\n </Flex>\n ))\n : BILL_ATTRIBUTES.map((attrib) => {\n return (\n <Flex key={attrib} sx={{ background: 'white4', width: '100%', padding: '2px 8px' }}>\n <Text sx={{ fontSize: '10px', fontWeight: 500 }}>{attrib}</Text>\n <Skeleton width=\"150px\" />\n </Flex>\n )\n })}\n </Flex>\n </motion.div>\n )}\n </AnimatePresence>\n </Flex>\n {bondNFTData?.data?.deposit && (\n <Flex className=\"yourbondinfo-block row-vested\">\n <Flex className=\"yourbondinfo-block header\">\n <Flex className=\"yourbondinfo-block header-title\">You Spent</Flex>\n <Flex className=\"yourbondinfo-block header-tooltip\">\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={<Flex>{UserBillTooltipText.YouSpent}</Flex>}\n width=\"270px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, 0%)\"\n >\n <Flex className=\"block-header icon\">\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </Flex>\n </TooltipBubble>\n </Flex>\n </Flex>\n <Flex className=\"yourbondinfo-block info\">\n <Flex className=\"block-info text\">\n <Text sx={{ fontSize: ['12px', '12px', '12px', '19px'], fontWeight: 700 }}>\n ${bondNFTData?.data?.dollarValue.toFixed(2)}\n </Text>\n </Flex>\n </Flex>\n </Flex>\n )}\n <Flex className=\"yourbondinfo-block row-vested\">\n <Flex className=\"yourbondinfo-block header\">\n <Flex className=\"yourbondinfo-block header-title\">Fully Vested</Flex>\n <Flex className=\"yourbondinfo-block header-tooltip\">\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={<Flex>{UserBillTooltipText.FullyVested}</Flex>}\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, 0%)\"\n >\n <Flex className=\"block-header icon\">\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </Flex>\n </TooltipBubble>\n </Flex>\n </Flex>\n <Flex className=\"yourbondinfo-block info\">\n <Flex className=\"block-info icon\"></Flex>\n <Flex className=\"block-info text\">\n <Flex sx={{ fontSize: ['12px', '12px', '12px', '19px'], fontWeight: 700 }}>\n {vestingTimeRemainingString(userBill)}\n {isPendingCliff && (\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Flex>\n Bond will be claimable in{' '}\n {`${cliffCountdown.days !== 0 ? `${cliffCountdown.days} days` : cliffCountdown.hours !== 0 ? `${cliffCountdown.hours} hours` : `${cliffCountdown.minutes} mins`}`}\n .\n </Flex>\n }\n width=\"180px\"\n placement=\"bottomRight\"\n transformTip=\"translate(13%, 0%)\"\n >\n <Flex sx={{ opacity: 0.6, ml: '6px' }}>\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </Flex>\n </TooltipBubble>\n )}\n </Flex>\n </Flex>\n </Flex>\n </Flex>\n <Flex className=\"yourbondinfo-block row-pending\">\n <Flex className=\"yourbondinfo-block header\">\n <Flex className=\"yourbondinfo-block header-title\">Pending</Flex>\n <Flex className=\"yourbondinfo-block header-tooltip\">\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={<Flex>{UserBillTooltipText.Pending}</Flex>}\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, 0%)\"\n >\n <Flex className=\"block-header icon\">\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </Flex>\n </TooltipBubble>\n </Flex>\n </Flex>\n <Flex className=\"yourbondinfo-block info\">\n <Flex className=\"block-info icon\">\n {userBill && (\n <TokenImage\n symbol={userBill?.bond?.showcaseTokenName ?? userBill?.bond?.earnToken?.symbol}\n size={25}\n chain={userBill?.bond?.chainId}\n />\n )}\n </Flex>\n <Flex className=\"block-info text\">\n <Text sx={{ fontSize: ['12px', '12px', '12px', '19px'], fontWeight: 700 }}>\n {formatNumberSI(parseFloat(totalPending(userBill).toFixed(4)), 4)}\n </Text>\n <Text\n sx={{\n fontSize: ['10px', '10px', '10px', '12px'],\n fontWeight: [500, 500, 500, 400],\n paddingLeft: '10px',\n }}\n >\n {`($${(totalPending(userBill) * (earnTokenPrice?.price ?? 0)).toFixed(2)})`}\n </Text>\n </Flex>\n </Flex>\n </Flex>\n <Flex className=\"yourbondinfo-block row-claimable\">\n <Flex className=\"yourbondinfo-block header\">\n <Flex className=\"yourbondinfo-block header-title\">Claimable</Flex>\n <Flex className=\"yourbondinfo-block header-tooltip\">\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={<Flex>{UserBillTooltipText.Claimable}</Flex>}\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, 0%)\"\n >\n <Flex className=\"block-header icon\">\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </Flex>\n </TooltipBubble>\n </Flex>\n </Flex>\n <Flex className=\"yourbondinfo-block info\">\n <Flex className=\"block-info icon\">\n {userBill && (\n <TokenImage\n symbol={userBill?.bond?.showcaseTokenName ?? userBill?.bond?.earnToken?.symbol}\n size={25}\n chain={userBill?.bond?.chainId}\n />\n )}\n </Flex>\n <Flex className=\"block-info text\">\n <Text sx={{ fontSize: ['12px', '12px', '12px', '19px'], fontWeight: 700 }}>\n {formatNumberSI(parseFloat(claimable(userBill).toFixed(4)), 4)}\n </Text>\n <Text\n sx={{\n fontSize: ['10px', '10px', '10px', '12px'],\n fontWeight: [500, 500, 500, 400],\n paddingLeft: '10px',\n }}\n >\n {`($${(claimable(userBill) * (earnTokenPrice?.price ?? 0)).toFixed(2)})`}\n </Text>\n </Flex>\n </Flex>\n </Flex>\n <Flex className=\"yourbondinfo-block row-vested\">\n <Flex className=\"yourbondinfo-block header\">\n <Flex className=\"yourbondinfo-block header-title\">Claimed</Flex>\n <Flex className=\"yourbondinfo-block header-tooltip\">\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={<Flex>{UserBillTooltipText.Claimed}</Flex>}\n width=\"250px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, 0%)\"\n >\n <Flex className=\"block-header icon\">\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </Flex>\n </TooltipBubble>\n </Flex>\n </Flex>\n <Flex className=\"yourbondinfo-block info\">\n <Flex className=\"block-info icon\">\n {userBill && (\n <TokenImage\n symbol={userBill?.bond?.showcaseTokenName ?? userBill?.bond?.earnToken?.symbol}\n size={25}\n chain={userBill?.bond?.chainId}\n />\n )}\n </Flex>\n <Flex className=\"block-info text\">\n <Text sx={{ fontSize: ['12px', '12px', '12px', '19px'], fontWeight: 700 }}>\n {formatNumberSI(parseFloat(claimed(userBill).toFixed(4)), 4)}\n </Text>\n <Text\n sx={{\n fontSize: ['10px', '10px', '10px', '12px'],\n fontWeight: [500, 500, 500, 400],\n paddingLeft: '10px',\n }}\n >\n {`($${(claimed(userBill) * (earnTokenPrice?.price ?? 0)).toFixed(2)})`}\n </Text>\n </Flex>\n </Flex>\n </Flex>\n </Flex>\n {userBill?.bond?.warningCard && (\n <Flex\n sx={{\n width: '100%',\n background: '#DE62F366',\n justifyContent: 'center',\n borderRadius: 'normal',\n }}\n >\n <Text sx={{ fontSize: '12px', fontWeight: 400, p: '2px 10px' }}>\n <SafeHTMLComponent html={userBill?.bond?.warningCard} />\n </Text>\n </Flex>\n )}\n <Flex className=\"yourbondinfo button-container\">\n <Flex className=\"button-container claim\">\n {userBill && !!userBill?.bond?.chainId && chainId !== userBill?.bond?.chainId ? (\n <Button\n className=\"switch-button\"\n disabled={claimable(userBill) === 0 || load}\n onClick={(event) => {\n event.stopPropagation()\n switchChain({ chainId: userBill?.bond?.chainId! })\n }}\n >\n Switch to {NETWORK_LABEL[userBill?.bond?.chainId]}\n </Button>\n ) : (\n <Button\n className=\"claim-button\"\n disabled={claimable(userBill) === 0 || load || !userBill || isPendingCliff}\n load={load}\n onClick={(event) => {\n event.stopPropagation()\n handleClaim(userBill?.id, userBill?.address)\n }}\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 </Flex>\n <Flex className=\"button-container transfer\">\n <Button\n className=\"transfer-button\"\n variant=\"secondary\"\n onClick={onTransferBondModal}\n disabled={!userBill}\n >\n TRANSFER\n </Button>\n </Flex>\n </Flex>\n </Flex>\n </Flex>\n <Recommendations onDismiss={onDismiss} billAddress={userBill?.address} />\n </Flex>\n </Modal>\n )\n}\n\nexport default YourBondsModal\n"],"names":["_jsx","_jsxs"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,MAAM,cAAc,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAA+C,KAAI;;AAE1F,IAAA,MAAM,SAAS,GAAG,YAAY,EAAE;AAChC,IAAA,MAAM,OAAO,GAAG,UAAU,EAAE;AAC5B,IAAA,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,YAAY,EAAE;IACrE,MAAM,QAAQ,GAAG,OAAO,CACtB,MAAM,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,EACzG,CAAC,SAAS,EAAE,IAAI,CAAC,CAClB;AACD,IAAA,MAAM,EAAE,WAAW,EAAE,GAAG,cAAc,EAAE;IACxC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC;AACtH,IAAA,MAAM,EAAE,kBAAkB,EAAE,GAAG,gBAAgB,EAAE;IACjD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE;;IAEzC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IACjD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC;IAChE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC;IACnE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;AAEjD,IAAA,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC;AACpG,IAAA,MAAM,EAAE,aAAa,EAAE,GAAG,SAAS,EAAE;IACrC,MAAM,IAAI,GAAG,SAAS,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC;;AAGrD,IAAA,MAAM,YAAY,GAAG,QAAQ,EAAE,IAAI,EAAE,YAAY;AACjD,IAAA,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IAC3D,MAAM,kBAAkB,GAAG,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,IAAI,GAAG,CAAC;AACxE,IAAA,MAAM,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,kBAAkB,GAAG,YAAY,GAAG,KAAK;AAC7F,IAAA,MAAM,cAAc,GAAG,cAAc,CAAC,kBAAkB,IAAI,YAAY,IAAI,CAAC,CAAC,GAAG,WAAW,EAAE,IAAI,CAAC;IAEnG,MAAM,WAAW,GAAG,OAAO,MAAe,EAAE,WAAoB,KAAI;QAClE,MAAM,OAAO,GAAkB,WAA4B;AAE3D,QAAA,IAAI;YACF,YAAY,CAAC,IAAI,CAAC;AAClB,YAAA,MAAM,EAAE,GAAG,MAAM,kBAAkB,CAAC;AAClC,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,GAAG,EAAE,QAAQ;AACb,gBAAA,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,CAAC,MAAM,CAAC;AACd,gBAAA,KAAK,EAAE,OAAc;AACrB,gBAAA,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC,KAAK,EAAE;YAEV,IAAI,EAAE,EAAE;gBACN,cAAc,CAAC,EAAE,CAAC;AAClB,gBAAA,KAAK,CAAC;AACJ,oBAAA,KAAK,EAAE,MAAM;AACb,oBAAA,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO;AAC9B,oBAAA,IAAI,EAAE;AACJ,wBAAA,GAAG,EAAE,OAAO;AACZ,wBAAA,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ;AAClC,wBAAA,OAAO,EAAE,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,eAAe,GAAG,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACnF,wBAAA,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM;AAC5C,qBAAA;AACF,iBAAA,CAAC;YACJ;YACA,YAAY,CAAC,KAAK,CAAC;QACrB;QAAE,OAAO,KAAU,EAAE;AACnB,YAAA,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC;YACrC,YAAY,CAAC,KAAK,CAAC;AACnB,YAAA,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AAC5B,YAAA,WAAW,CAAC;AACV,gBAAA,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;gBAC9B,KAAK;gBACL,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC9C,OAAO;gBACP,OAAO;AACR,aAAA,CAAC;QACJ;AACF,IAAA,CAAC;;AAGD,IAAA,MAAM,YAAY,GAAG,CAAC,QAAmB,KAAI;AAC3C,QAAA,QACE,gBAAgB,CACd,IAAI,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC,EACpC,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,GAAG,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CACrE,GAAG,SAAS,CAAC,QAAQ,CAAC;AAE3B,IAAA,CAAC;AAED,IAAA,MAAM,SAAS,GAAG,CAAC,QAAmB,KAAI;AACxC,QAAA,OAAO,gBAAgB,CACrB,IAAI,SAAS,CAAC,QAAQ,EAAE,cAAc,IAAI,GAAG,CAAC,EAC9C,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,GAAG,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CACrE;AACH,IAAA,CAAC;AAED,IAAA,MAAM,OAAO,GAAG,CAAC,QAAmB,KAAI;AACtC,QAAA,OAAO,gBAAgB,CACrB,IAAI,SAAS,CAAC,QAAQ,EAAE,aAAa,IAAI,GAAG,CAAC,EAC7C,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,GAAG,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CACrE;AACH,IAAA,CAAC;IAED,MAAM,cAAc,GAAG,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,IAAI,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,IAAI,IAAI,CAAC;AAE3G,IAAA,MAAM,eAAe,GAAG,CAAC,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,CAAC;IAEnG,MAAM,UAAU,GAAG,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,MAAM,KAAK,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAE3G,MAAM,eAAe,GAAG,MAAK;QAC3B,YAAY,CAAC,IAAI,CAAC;AACpB,IAAA,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,GAAG,QAAQ,CACpCA,GAAA,CAAC,iBAAiB,EAAA,EAAC,QAAQ,EAAE,QAAQ,GAAI,EACzC,IAAI,EACJ,IAAI,EACJ,CAAA,aAAA,EAAgB,QAAQ,EAAE,EAAE,CAAA,CAAA,CAAG,CAChC;IAED,SAAS,CAAC,MAAK;QACb,IAAI,WAAW,EAAE;AACf,YAAA,gBAAgB,EAAE;AAClB,YAAA,OAAO,EAAE;QACX;;AAEF,IAAA,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IACjB,QACEA,IAAC,KAAK,EAAA,EAAC,SAAS,EAAC,OAAO,YACtBC,IAAA,CAAC,IAAI,IAAC,SAAS,EAAC,wBAAwB,EAAA,QAAA,EAAA,CACtCD,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,uBAAuB,EAAA,QAAA,EACrCA,IAAC,IAAI,EAAA,EAAC,SAAS,EAAC,WAAW,EAAC,OAAO,EAAE,SAAS,EAAA,QAAA,EAC5CA,GAAA,CAAC,GAAG,EAAA,EAAC,IAAI,EAAC,OAAO,EAAA,CAAG,GACf,EAAA,CACF,EACPC,KAAC,IAAI,EAAA,EAAC,SAAS,EAAC,gCAAgC,aAC9CA,IAAA,CAAC,IAAI,IAAC,SAAS,EAAC,0BAA0B,EAAA,QAAA,EAAA,CACvC,WAAW,EAAE,KAAK,KACjBD,GAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,CAAA,EAAG,WAAW,EAAE,KAAK,CAAA,cAAA,CAAgB,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,GAAI,CACnG,EACA,CAAC,SAAS,KACTA,GAAA,CAAC,IAAI,EAAA,EACH,EAAE,EAAE;AACF,wCAAA,QAAQ,EAAE,UAAU;AACpB,wCAAA,GAAG,EAAE,kBAAkB;AACvB,wCAAA,KAAK,EAAE,kBAAkB;AACzB,wCAAA,cAAc,EAAE,QAAQ;AACxB,wCAAA,UAAU,EAAE,QAAQ;AACpB,wCAAA,MAAM,EAAE,CAAC;qCACV,EAAA,QAAA,EAEDA,GAAA,CAAC,OAAO,EAAA,EAAC,KAAK,EAAE,GAAG,EAAA,CAAI,EAAA,CAClB,CACR,CAAA,EAAA,CACI,EACPC,IAAA,CAAC,IAAI,IAAC,SAAS,EAAC,6BAA6B,EAAA,QAAA,EAAA,CAC3CA,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,8BAA8B,EAAA,QAAA,EAAA,CAC5CD,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,0BAA0B,EAAA,QAAA,EACvC,QAAQ,KACPA,GAAA,CAAC,UAAU,EAAA,EACT,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,IAAI,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAC9E,IAAI,EAAE,EAAE,EACR,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAA,CAC9B,CACH,EAAA,CACI,EACPA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,2BAA2B,EAAA,QAAA,EACxC,QAAQ,EAAE,IAAI,EAAE,iBAAiB,IAAI,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAA,CACjE,EACPA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,2BAA2B,EAAA,QAAA,EACxC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAW,KAAI;gDACrD,QACEA,GAAA,CAAC,IAAI,EAAA,EAAW,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,EAAA,QAAA,EACzCA,GAAA,CAAC,OAAO,EAAA,EAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,EAAA,CAAI,EAAA,EAD5B,GAAG,CAEP;4CAEX,CAAC,CAAC,EAAA,CACG,EACPC,IAAA,CAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBACnF,QAAQ,EAAE,EAAE,CAAA,EAAA,CACT,CAAA,EAAA,CACF,EACPA,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,+BAA+B,EAAA,QAAA,EAAA,CAC7CA,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,sBAAsB,EAAA,QAAA,EAAA,CACpCA,IAAA,CAAC,IAAI,EAAA,EACH,SAAS,EAAC,mBAAmB,EAC7B,EAAE,EAAE;wDACF,YAAY,EAAE,CAAA,EAAG,YAAY,GAAG,iBAAiB,GAAG,QAAQ,CAAA,CAAE;qDAC/D,EACD,OAAO,EAAE,MAAM,eAAe,CAAC,CAAC,YAAY,CAAC,aAE7CA,IAAA,CAAC,IAAI,IAAC,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAA,QAAA,EAAA,CAC7CD,IAAC,GAAG,EAAA,EAAC,IAAI,EAAC,KAAK,EAAC,SAAS,EAAC,MAAM,EAAA,CAAG,EACnCA,IAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,uBAAe,CAAA,EAAA,CACxF,EACPA,IAAC,GAAG,EAAA,EAAC,IAAI,EAAC,OAAO,EAAC,SAAS,EAAE,YAAY,GAAG,IAAI,GAAG,MAAM,EAAA,CAAI,CAAA,EAAA,CACxD,EACN,QAAQ,EAAE,IAAI,EAAE,QAAQ,KAAK,SAAS,KACrCC,IAAA,CAAC,IAAI,EAAA,EACH,EAAE,EAAE;AACF,wDAAA,CAAC,EAAE,UAAU;AACb,wDAAA,KAAK,EAAE,MAAM;AACb,wDAAA,UAAU,EAAE,SAAS;AACrB,wDAAA,YAAY,EAAE,QAAQ;AACtB,wDAAA,EAAE,EAAE,MAAM;AACV,wDAAA,QAAQ,EAAE,MAAM;AAChB,wDAAA,UAAU,EAAE,GAAG;AACf,wDAAA,cAAc,EAAE,QAAQ;AACxB,wDAAA,OAAO,EAAE,OAAO;qDACjB,EAAA,QAAA,EAAA,CAAA,sDAAA,EAEoD,GAAG,EACxDD,GAAA,CAAA,MAAA,EAAA,EACE,OAAO,EAAE,MAAM,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,QAAQ,CAAC,EACpE,KAAK,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAA,QAAA,EAAA,oBAAA,EAAA,CAGnE,EAAC,GAAG,EAAA,uBAAA,CAAA,EAAA,CAEN,CACR,EACDA,GAAA,CAAC,eAAe,EAAA,EAAA,QAAA,EACb,YAAY,KACXA,GAAA,CAAC,MAAM,CAAC,GAAG,EAAA,EACT,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EACtB,OAAO,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,EAClC,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAC1C,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EACnB,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAA,QAAA,EAEzCA,GAAA,CAAC,IAAI,IAAC,EAAE,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,EAAA,QAAA,EAC9C;AACC,kEAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,MACfC,IAAA,CAAC,IAAI,EAAA,EAAe,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,aACjFD,GAAA,CAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,YAAG,CAAC,EAAE,UAAU,EAAA,CAAQ,EACvEA,GAAA,CAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,YAAG,CAAC,EAAE,KAAK,EAAA,CAAQ,KAFzD,CAAC,CAAC,KAAK,CAGX,CACR;kEACD,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,KAAI;oEAC7B,QACEC,KAAC,IAAI,EAAA,EAAc,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAA,QAAA,EAAA,CAChFD,GAAA,CAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,EAAA,QAAA,EAAG,MAAM,EAAA,CAAQ,EAChEA,GAAA,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAC,OAAO,GAAG,CAAA,EAAA,EAFjB,MAAM,CAGV;AAEX,gEAAA,CAAC,CAAC,EAAA,CACD,EAAA,CACI,CACd,EAAA,CACe,CAAA,EAAA,CACb,EACN,WAAW,EAAE,IAAI,EAAE,OAAO,KACzBC,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,+BAA+B,EAAA,QAAA,EAAA,CAC7CA,KAAC,IAAI,EAAA,EAAC,SAAS,EAAC,2BAA2B,EAAA,QAAA,EAAA,CACzCD,GAAA,CAAC,IAAI,IAAC,SAAS,EAAC,iCAAiC,EAAA,QAAA,EAAA,WAAA,EAAA,CAAiB,EAClEA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,mCAAmC,EAAA,QAAA,EACjDA,GAAA,CAAC,aAAa,EAAA,EACZ,SAAS,EAAC,gBAAgB,EAC1B,IAAI,EAAEA,GAAA,CAAC,IAAI,EAAA,EAAA,QAAA,EAAE,mBAAmB,CAAC,QAAQ,EAAA,CAAQ,EACjD,KAAK,EAAC,OAAO,EACb,SAAS,EAAC,YAAY,EACtB,YAAY,EAAC,oBAAoB,EAAA,QAAA,EAEjCA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,mBAAmB,EAAA,QAAA,EACjCA,GAAA,CAAC,GAAG,EAAA,EAAC,IAAI,EAAC,gBAAgB,EAAC,KAAK,EAAC,MAAM,EAAA,CAAG,EAAA,CACrC,EAAA,CACO,EAAA,CACX,IACF,EACPA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,yBAAyB,EAAA,QAAA,EACvCA,IAAC,IAAI,EAAA,EAAC,SAAS,EAAC,iBAAiB,EAAA,QAAA,EAC/BC,IAAA,CAAC,IAAI,IAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,EAAA,QAAA,EAAA,CAAA,GAAA,EACrE,WAAW,EAAE,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,EAAA,CACtC,EAAA,CACF,EAAA,CACF,CAAA,EAAA,CACF,CACR,EACDA,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,+BAA+B,EAAA,QAAA,EAAA,CAC7CA,KAAC,IAAI,EAAA,EAAC,SAAS,EAAC,2BAA2B,EAAA,QAAA,EAAA,CACzCD,GAAA,CAAC,IAAI,IAAC,SAAS,EAAC,iCAAiC,EAAA,QAAA,EAAA,cAAA,EAAA,CAAoB,EACrEA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,mCAAmC,EAAA,QAAA,EACjDA,GAAA,CAAC,aAAa,EAAA,EACZ,SAAS,EAAC,gBAAgB,EAC1B,IAAI,EAAEA,GAAA,CAAC,IAAI,EAAA,EAAA,QAAA,EAAE,mBAAmB,CAAC,WAAW,EAAA,CAAQ,EACpD,KAAK,EAAC,OAAO,EACb,SAAS,EAAC,YAAY,EACtB,YAAY,EAAC,oBAAoB,EAAA,QAAA,EAEjCA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,mBAAmB,EAAA,QAAA,EACjCA,GAAA,CAAC,GAAG,EAAA,EAAC,IAAI,EAAC,gBAAgB,EAAC,KAAK,EAAC,MAAM,EAAA,CAAG,EAAA,CACrC,EAAA,CACO,EAAA,CACX,IACF,EACPC,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,yBAAyB,EAAA,QAAA,EAAA,CACvCD,IAAC,IAAI,EAAA,EAAC,SAAS,EAAC,iBAAiB,EAAA,CAAQ,EACzCA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,iBAAiB,EAAA,QAAA,EAC/BC,IAAA,CAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,EAAA,QAAA,EAAA,CACtE,0BAA0B,CAAC,QAAQ,CAAC,EACpC,cAAc,KACbD,GAAA,CAAC,aAAa,EAAA,EACZ,SAAS,EAAC,gBAAgB,EAC1B,IAAI,EACFC,IAAA,CAAC,IAAI,EAAA,EAAA,QAAA,EAAA,CAAA,2BAAA,EACuB,GAAG,EAC5B,CAAA,EAAG,cAAc,CAAC,IAAI,KAAK,CAAC,GAAG,CAAA,EAAG,cAAc,CAAC,IAAI,CAAA,KAAA,CAAO,GAAG,cAAc,CAAC,KAAK,KAAK,CAAC,GAAG,CAAA,EAAG,cAAc,CAAC,KAAK,QAAQ,GAAG,CAAA,EAAG,cAAc,CAAC,OAAO,CAAA,KAAA,CAAO,EAAE,EAAA,GAAA,CAAA,EAAA,CAE5J,EAET,KAAK,EAAC,OAAO,EACb,SAAS,EAAC,aAAa,EACvB,YAAY,EAAC,oBAAoB,EAAA,QAAA,EAEjCD,GAAA,CAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAA,QAAA,EACnCA,GAAA,CAAC,GAAG,EAAA,EAAC,IAAI,EAAC,gBAAgB,EAAC,KAAK,EAAC,MAAM,EAAA,CAAG,EAAA,CACrC,EAAA,CACO,CACjB,CAAA,EAAA,CACI,GACF,CAAA,EAAA,CACF,CAAA,EAAA,CACF,EACPC,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,gCAAgC,EAAA,QAAA,EAAA,CAC9CA,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,2BAA2B,EAAA,QAAA,EAAA,CACzCD,IAAC,IAAI,EAAA,EAAC,SAAS,EAAC,iCAAiC,EAAA,QAAA,EAAA,SAAA,EAAA,CAAe,EAChEA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,mCAAmC,EAAA,QAAA,EACjDA,GAAA,CAAC,aAAa,EAAA,EACZ,SAAS,EAAC,gBAAgB,EAC1B,IAAI,EAAEA,GAAA,CAAC,IAAI,EAAA,EAAA,QAAA,EAAE,mBAAmB,CAAC,OAAO,EAAA,CAAQ,EAChD,KAAK,EAAC,OAAO,EACb,SAAS,EAAC,YAAY,EACtB,YAAY,EAAC,oBAAoB,EAAA,QAAA,EAEjCA,IAAC,IAAI,EAAA,EAAC,SAAS,EAAC,mBAAmB,EAAA,QAAA,EACjCA,GAAA,CAAC,GAAG,IAAC,IAAI,EAAC,gBAAgB,EAAC,KAAK,EAAC,MAAM,EAAA,CAAG,GACrC,EAAA,CACO,EAAA,CACX,CAAA,EAAA,CACF,EACPC,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,yBAAyB,EAAA,QAAA,EAAA,CACvCD,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,iBAAiB,YAC9B,QAAQ,KACPA,GAAA,CAAC,UAAU,EAAA,EACT,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,IAAI,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAC9E,IAAI,EAAE,EAAE,EACR,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAA,CAC9B,CACH,GACI,EACPC,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,iBAAiB,EAAA,QAAA,EAAA,CAC/BD,IAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,EAAA,QAAA,EACtE,cAAc,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAA,CAC5D,EACPA,GAAA,CAAC,IAAI,EAAA,EACH,EAAE,EAAE;wEACF,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;wEAC1C,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAChC,wEAAA,WAAW,EAAE,MAAM;qEACpB,EAAA,QAAA,EAEA,CAAA,EAAA,EAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,cAAc,EAAE,KAAK,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA,CAAA,CAAG,EAAA,CACtE,CAAA,EAAA,CACF,CAAA,EAAA,CACF,IACF,EACPC,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,kCAAkC,EAAA,QAAA,EAAA,CAChDA,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,2BAA2B,EAAA,QAAA,EAAA,CACzCD,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,iCAAiC,EAAA,QAAA,EAAA,WAAA,EAAA,CAAiB,EAClEA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,mCAAmC,YACjDA,GAAA,CAAC,aAAa,IACZ,SAAS,EAAC,gBAAgB,EAC1B,IAAI,EAAEA,IAAC,IAAI,EAAA,EAAA,QAAA,EAAE,mBAAmB,CAAC,SAAS,EAAA,CAAQ,EAClD,KAAK,EAAC,OAAO,EACb,SAAS,EAAC,YAAY,EACtB,YAAY,EAAC,oBAAoB,EAAA,QAAA,EAEjCA,IAAC,IAAI,EAAA,EAAC,SAAS,EAAC,mBAAmB,EAAA,QAAA,EACjCA,IAAC,GAAG,EAAA,EAAC,IAAI,EAAC,gBAAgB,EAAC,KAAK,EAAC,MAAM,EAAA,CAAG,EAAA,CACrC,EAAA,CACO,EAAA,CACX,IACF,EACPC,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,yBAAyB,EAAA,QAAA,EAAA,CACvCD,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,iBAAiB,EAAA,QAAA,EAC9B,QAAQ,KACPA,GAAA,CAAC,UAAU,EAAA,EACT,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,IAAI,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAC9E,IAAI,EAAE,EAAE,EACR,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAA,CAC9B,CACH,EAAA,CACI,EACPC,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,iBAAiB,EAAA,QAAA,EAAA,CAC/BD,IAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,EAAA,QAAA,EACtE,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAA,CACzD,EACPA,GAAA,CAAC,IAAI,EAAA,EACH,EAAE,EAAE;wEACF,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;wEAC1C,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAChC,wEAAA,WAAW,EAAE,MAAM;qEACpB,EAAA,QAAA,EAEA,CAAA,EAAA,EAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,cAAc,EAAE,KAAK,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA,CAAA,CAAG,EAAA,CACnE,CAAA,EAAA,CACF,CAAA,EAAA,CACF,IACF,EACPC,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,+BAA+B,EAAA,QAAA,EAAA,CAC7CA,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,2BAA2B,EAAA,QAAA,EAAA,CACzCD,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,iCAAiC,EAAA,QAAA,EAAA,SAAA,EAAA,CAAe,EAChEA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,mCAAmC,YACjDA,GAAA,CAAC,aAAa,IACZ,SAAS,EAAC,gBAAgB,EAC1B,IAAI,EAAEA,IAAC,IAAI,EAAA,EAAA,QAAA,EAAE,mBAAmB,CAAC,OAAO,EAAA,CAAQ,EAChD,KAAK,EAAC,OAAO,EACb,SAAS,EAAC,YAAY,EACtB,YAAY,EAAC,oBAAoB,EAAA,QAAA,EAEjCA,IAAC,IAAI,EAAA,EAAC,SAAS,EAAC,mBAAmB,EAAA,QAAA,EACjCA,IAAC,GAAG,EAAA,EAAC,IAAI,EAAC,gBAAgB,EAAC,KAAK,EAAC,MAAM,EAAA,CAAG,EAAA,CACrC,EAAA,CACO,EAAA,CACX,IACF,EACPC,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,yBAAyB,EAAA,QAAA,EAAA,CACvCD,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,iBAAiB,EAAA,QAAA,EAC9B,QAAQ,KACPA,GAAA,CAAC,UAAU,EAAA,EACT,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,IAAI,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAC9E,IAAI,EAAE,EAAE,EACR,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAA,CAC9B,CACH,EAAA,CACI,EACPC,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,iBAAiB,EAAA,QAAA,EAAA,CAC/BD,IAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,EAAA,QAAA,EACtE,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAA,CACvD,EACPA,GAAA,CAAC,IAAI,EAAA,EACH,EAAE,EAAE;wEACF,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;wEAC1C,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAChC,wEAAA,WAAW,EAAE,MAAM;AACpB,qEAAA,EAAA,QAAA,EAEA,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,cAAc,EAAE,KAAK,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA,CAAA,CAAG,GACjE,CAAA,EAAA,CACF,CAAA,EAAA,CACF,CAAA,EAAA,CACF,CAAA,EAAA,CACF,EACN,QAAQ,EAAE,IAAI,EAAE,WAAW,KAC1BA,IAAC,IAAI,EAAA,EACH,EAAE,EAAE;AACF,wCAAA,KAAK,EAAE,MAAM;AACb,wCAAA,UAAU,EAAE,WAAW;AACvB,wCAAA,cAAc,EAAE,QAAQ;AACxB,wCAAA,YAAY,EAAE,QAAQ;qCACvB,EAAA,QAAA,EAEDA,GAAA,CAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,EAAA,QAAA,EAC5DA,IAAC,iBAAiB,EAAA,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAA,CAAI,EAAA,CACnD,GACF,CACR,EACDC,KAAC,IAAI,EAAA,EAAC,SAAS,EAAC,+BAA+B,aAC7CD,GAAA,CAAC,IAAI,IAAC,SAAS,EAAC,wBAAwB,EAAA,QAAA,EACrC,QAAQ,IAAI,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,IAAI,OAAO,KAAK,QAAQ,EAAE,IAAI,EAAE,OAAO,IAC3EC,IAAA,CAAC,MAAM,EAAA,EACL,SAAS,EAAC,eAAe,EACzB,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,EAC3C,OAAO,EAAE,CAAC,KAAK,KAAI;oDACjB,KAAK,CAAC,eAAe,EAAE;oDACvB,WAAW,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAQ,EAAE,CAAC;gDACpD,CAAC,EAAA,QAAA,EAAA,CAAA,YAAA,EAEU,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA,EAAA,CAC1C,KAETD,GAAA,CAAC,MAAM,EAAA,EACL,SAAS,EAAC,cAAc,EACxB,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,cAAc,EAC1E,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,CAAC,KAAK,KAAI;oDACjB,KAAK,CAAC,eAAe,EAAE;oDACvB,WAAW,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC;AAC9C,gDAAA,CAAC,YAEA;AACC,sDAAE,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;sDAC3K,OAAO,EAAA,CACJ,CACV,EAAA,CACI,EACPA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,2BAA2B,YACzCA,GAAA,CAAC,MAAM,EAAA,EACL,SAAS,EAAC,iBAAiB,EAC3B,OAAO,EAAC,WAAW,EACnB,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,EAAE,CAAC,QAAQ,EAAA,QAAA,EAAA,UAAA,EAAA,CAGZ,EAAA,CACJ,IACF,CAAA,EAAA,CACF,CAAA,EAAA,CACF,EACPA,GAAA,CAAC,eAAe,EAAA,EAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAA,CAAI,CAAA,EAAA,CACpE,EAAA,CACD;AAEZ;;;;"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'theme-ui/jsx-runtime';
|
|
2
|
+
import '../../../../components/uikit-sdk/Svg/types.js';
|
|
3
|
+
import 'theme-ui';
|
|
4
|
+
import Flex from '../../../../components/uikit-sdk/Flex/index.js';
|
|
5
|
+
import Text from '../../../../components/uikit-sdk/Text/index.js';
|
|
6
|
+
import '../../../../components/uikit-sdk/Checkbox/types.js';
|
|
7
|
+
import '../../../../components/uikit-sdk/Skeleton/types.js';
|
|
8
|
+
import '../../../../components/uikit-sdk/Skeleton/styles.js';
|
|
9
|
+
import '../../../../components/uikit-sdk/TooltipBubble/index.js';
|
|
10
|
+
import 'react';
|
|
11
|
+
import 'framer-motion';
|
|
12
|
+
import Button from '../../../../components/uikit-sdk/Button/Button.js';
|
|
13
|
+
import '../../../../components/uikit-sdk/Button/types.js';
|
|
14
|
+
import '../../../../contexts/ModalContext.js';
|
|
15
|
+
import '../../../FullBondsView/FullBondsView.js';
|
|
16
|
+
import '../../../../components/uikit-sdk/Select/types.js';
|
|
17
|
+
import ListTag from '../../../../components/uikit-sdk/Tag/ListTag.js';
|
|
18
|
+
import TokenImage from '../../../../components/uikit-sdk/TokenImage/index.js';
|
|
19
|
+
import { formatDollar } from '../../../../utils/formatNumbers.js';
|
|
20
|
+
|
|
21
|
+
const CardRecommendation = ({ cardIndex, bond, handleBuyBondClick, }) => {
|
|
22
|
+
return (jsxs(Flex, { sx: { flexDirection: 'column', width: ['100%', '100%', '100%', '50%'], gap: '10px' }, children: [jsxs(Flex, { sx: {
|
|
23
|
+
flexDirection: 'column',
|
|
24
|
+
width: '100%',
|
|
25
|
+
background: 'white3',
|
|
26
|
+
p: '10px',
|
|
27
|
+
borderRadius: '10px',
|
|
28
|
+
justifyContent: 'space-between',
|
|
29
|
+
height: ['160px', '160px', 'auto', 'auto'],
|
|
30
|
+
gap: '10px',
|
|
31
|
+
}, children: [jsxs(Flex, { sx: { alignItems: 'center', justifyContent: 'space-between', gap: '10px' }, children: [jsxs(Flex, { sx: { gap: '5px', justifyContent: 'center', alignItems: 'center' }, children: [jsx(TokenImage, { symbol: bond.payoutTokenName, chain: bond.chainId, size: 25 }), jsx(Text, { children: bond.payoutTokenName }), bond?.tags?.slice(0, 1).map((tag) => {
|
|
32
|
+
return (jsx(Flex, { sx: { marginRight: '10px' }, children: jsx(ListTag, { text: tag?.toUpperCase() }) }, tag));
|
|
33
|
+
})] }), jsxs(Flex, { sx: { flexDirection: 'column', gap: '1px', alignItems: 'end' }, children: [jsx(Text, { sx: { fontSize: '12px', fontWeight: 400, color: 'text', opacity: '0.6', textDecoration: 'line-through' }, children: formatDollar({ num: bond.earnTokenPrice }) }), jsx(Text, { sx: { fontSize: '19px' }, children: formatDollar({ num: bond.priceUsd }) })] })] }), jsxs(Flex, { sx: { flexDirection: 'column', width: '100%', gap: '1px' }, children: [jsxs(Flex, { sx: {
|
|
34
|
+
background: 'white4',
|
|
35
|
+
justifyContent: 'space-between',
|
|
36
|
+
alignItems: 'center',
|
|
37
|
+
padding: '0px 7px',
|
|
38
|
+
borderRadius: '5px 5px 0px 0px',
|
|
39
|
+
}, children: [jsx("div", { className: "yourbondinfo-block header", children: "Bonus" }), jsxs(Text, { sx: { color: 'success' }, children: [bond.bonus.toFixed(2), "%"] })] }), jsxs(Flex, { sx: {
|
|
40
|
+
background: 'white4',
|
|
41
|
+
justifyContent: 'space-between',
|
|
42
|
+
alignItems: 'center',
|
|
43
|
+
padding: '0px 7px',
|
|
44
|
+
borderRadius: '5px 5px 0px 0px',
|
|
45
|
+
}, children: [jsx("div", { className: "yourbondinfo-block header", children: "ARR" }), jsxs(Text, { children: [bond.arr.toFixed(2), "%"] })] }), jsxs(Flex, { sx: {
|
|
46
|
+
background: 'white4',
|
|
47
|
+
justifyContent: 'space-between',
|
|
48
|
+
alignItems: 'center',
|
|
49
|
+
padding: '0px 7px',
|
|
50
|
+
borderRadius: '0px 0px 5px 5px',
|
|
51
|
+
}, children: [jsx("div", { className: "yourbondinfo-block header", children: "Terms" }), jsxs(Text, { children: [bond.vestingTerm / 60 / 60 / 24, " D"] })] })] })] }), jsx(Button, { onClick: () => handleBuyBondClick(bond.chainId, bond.billAddress, cardIndex), sx: { width: '100%', lineHeight: '20px' }, children: "Buy" })] }));
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
export { CardRecommendation as default };
|
|
55
|
+
//# sourceMappingURL=CardRecommendation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CardRecommendation.js","sources":["../../../../../src/views/YourBondsModal/components/Recommendations/CardRecommendation.tsx"],"sourcesContent":["import { Button, Flex, ListTag, Text } from '../../../../components/uikit-sdk'\nimport { BondRecommendation } from '../../../../state/bonds/useGetBondRecommendations'\nimport TokenImage from '../../../../components/uikit-sdk/TokenImage'\nimport { formatDollar } from '../../../../utils/formatNumbers'\n\nconst CardRecommendation = ({\n cardIndex,\n bond,\n handleBuyBondClick,\n}: {\n cardIndex: number\n bond: BondRecommendation\n handleBuyBondClick: (chain: number, bondAddress: string, cardIndex: number) => void\n}) => {\n return (\n <Flex sx={{ flexDirection: 'column', width: ['100%', '100%', '100%', '50%'], gap: '10px' }}>\n <Flex\n sx={{\n flexDirection: 'column',\n width: '100%',\n background: 'white3',\n p: '10px',\n borderRadius: '10px',\n justifyContent: 'space-between',\n height: ['160px', '160px', 'auto', 'auto'],\n gap: '10px',\n }}\n >\n <Flex sx={{ alignItems: 'center', justifyContent: 'space-between', gap: '10px' }}>\n <Flex sx={{ gap: '5px', justifyContent: 'center', alignItems: 'center' }}>\n <TokenImage symbol={bond.payoutTokenName} chain={bond.chainId} size={25} />\n <Text>{bond.payoutTokenName}</Text>\n {bond?.tags?.slice(0, 1).map((tag) => {\n return (\n <Flex key={tag} sx={{ marginRight: '10px' }}>\n <ListTag text={tag?.toUpperCase()} />\n </Flex>\n )\n })}\n </Flex>\n <Flex sx={{ flexDirection: 'column', gap: '1px', alignItems: 'end' }}>\n <Text\n sx={{ fontSize: '12px', fontWeight: 400, color: 'text', opacity: '0.6', textDecoration: 'line-through' }}\n >\n {formatDollar({ num: bond.earnTokenPrice })}\n </Text>\n <Text sx={{ fontSize: '19px' }}>{formatDollar({ num: bond.priceUsd })}</Text>\n </Flex>\n </Flex>\n <Flex sx={{ flexDirection: 'column', width: '100%', gap: '1px' }}>\n <Flex\n sx={{\n background: 'white4',\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: '0px 7px',\n borderRadius: '5px 5px 0px 0px',\n }}\n >\n <div className=\"yourbondinfo-block header\">Bonus</div>\n <Text sx={{ color: 'success' }}>{bond.bonus.toFixed(2)}%</Text>\n </Flex>\n <Flex\n sx={{\n background: 'white4',\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: '0px 7px',\n borderRadius: '5px 5px 0px 0px',\n }}\n >\n <div className=\"yourbondinfo-block header\">ARR</div>\n <Text>{bond.arr.toFixed(2)}%</Text>\n </Flex>\n <Flex\n sx={{\n background: 'white4',\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: '0px 7px',\n borderRadius: '0px 0px 5px 5px',\n }}\n >\n <div className=\"yourbondinfo-block header\">Terms</div>\n <Text>{bond.vestingTerm / 60 / 60 / 24} D</Text>\n </Flex>\n </Flex>\n </Flex>\n <Button\n onClick={() => handleBuyBondClick(bond.chainId, bond.billAddress, cardIndex)}\n sx={{ width: '100%', lineHeight: '20px' }}\n >\n Buy\n </Button>\n </Flex>\n )\n}\n\nexport default CardRecommendation\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
|