@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,168 @@
|
|
|
1
|
+
import { BigNumber } from 'bignumber.js';
|
|
2
|
+
import { getBalanceNumber } from './getBalanceNumber.js';
|
|
3
|
+
import { getFirstNonZeroDigits } from './roundNumber.js';
|
|
4
|
+
import getTimePeriods from './getTimePeriods.js';
|
|
5
|
+
import { formatNumberSI } from './formatNumber.js';
|
|
6
|
+
import { LaunchBondTiers } from '@ape.swap/apeswap-lists';
|
|
7
|
+
import { findHighestTrueBondPrice } from '../views/BuyBond/findHighestTrueBondPrice.js';
|
|
8
|
+
import { TIERS_WEIGHT } from '../state/tiers/useTierPoints.js';
|
|
9
|
+
|
|
10
|
+
const claimable = (userBill) => {
|
|
11
|
+
return getBalanceNumber(new BigNumber(userBill.pendingRewards), userBill?.bond?.earnToken?.decimals?.[userBill.bond.chainId] ?? 18);
|
|
12
|
+
};
|
|
13
|
+
const claimableUSD = (userBill) => {
|
|
14
|
+
const claimableTokens = getBalanceNumber(new BigNumber(userBill.pendingRewards), userBill?.bond?.earnToken?.decimals?.[userBill?.bond?.chainId] ?? 18);
|
|
15
|
+
return claimableTokens * parseFloat(userBill?.bond?.payoutTokenPrice ?? '0');
|
|
16
|
+
};
|
|
17
|
+
const earnTokenPrice = (bond) => {
|
|
18
|
+
//TODO: remove this?
|
|
19
|
+
return getFirstNonZeroDigits(parseFloat(bond?.payoutTokenPrice ?? '0'));
|
|
20
|
+
};
|
|
21
|
+
const totalPending = (userBill) => {
|
|
22
|
+
return getBalanceNumber(new BigNumber(userBill?.payout ?? 0), userBill?.bond?.earnToken?.decimals?.[userBill.bond.chainId] ?? 18);
|
|
23
|
+
};
|
|
24
|
+
const totalPendingUSD = (userBill) => {
|
|
25
|
+
const pendingTokens = getBalanceNumber(new BigNumber(userBill?.payout ?? 0), userBill?.bond?.earnToken?.decimals?.[userBill?.bond?.chainId] ?? 18);
|
|
26
|
+
return pendingTokens * parseFloat(userBill?.bond?.payoutTokenPrice ?? '0');
|
|
27
|
+
};
|
|
28
|
+
const vestingTimeRemaining = (userBill) => {
|
|
29
|
+
const currentTime = new Date().getTime() / 1000;
|
|
30
|
+
const vestingCliff = userBill?.bond?.vestingCliff ?? 0;
|
|
31
|
+
return getTimePeriods(parseInt(userBill.lastBlockTimestamp) + parseInt(userBill.vesting) - vestingCliff - currentTime, true);
|
|
32
|
+
};
|
|
33
|
+
const vestingTimeRemainingString = (userBill) => {
|
|
34
|
+
const currentTime = Math.round(new Date().getTime() / 1000);
|
|
35
|
+
const lastBlockTimestamp = parseInt(userBill?.lastBlockTimestamp ?? '0');
|
|
36
|
+
const vesting = parseInt(userBill?.vesting ?? '0');
|
|
37
|
+
const vestingCliff = userBill?.bond?.vestingCliff;
|
|
38
|
+
const vestingTime = getTimePeriods(lastBlockTimestamp + vesting - currentTime, true);
|
|
39
|
+
if (vestingCliff && currentTime - lastBlockTimestamp < vestingCliff) {
|
|
40
|
+
const linearVesting = getTimePeriods(vesting - vestingCliff, true);
|
|
41
|
+
const cliffCountdown = getTimePeriods(lastBlockTimestamp + vestingCliff - currentTime, true);
|
|
42
|
+
return `${cliffCountdown.days !== 0 ? `${cliffCountdown.days}d` : cliffCountdown.hours !== 0 ? `${cliffCountdown.hours}hs` : `${cliffCountdown.minutes}mins`} + ${linearVesting.days}d`;
|
|
43
|
+
}
|
|
44
|
+
return `${vestingTime.days}d, ${vestingTime.hours}h, ${vestingTime.minutes}m`;
|
|
45
|
+
};
|
|
46
|
+
const getPendingVestingString = (bond) => {
|
|
47
|
+
const currentTime = new Date().getTime() / 1000;
|
|
48
|
+
const lastBlockTimestamp = parseInt(bond?.lastBlockTimestamp ?? '0');
|
|
49
|
+
const vesting = parseInt(bond?.vesting ?? '0');
|
|
50
|
+
const vestingTime = getTimePeriods(lastBlockTimestamp + vesting - currentTime, true);
|
|
51
|
+
return `${vestingTime.days}d, ${vestingTime.hours}h, ${vestingTime.minutes}m`;
|
|
52
|
+
};
|
|
53
|
+
const getVestingTermsString = (bond) => {
|
|
54
|
+
const vestingTerm = bond?.vestingTerm ?? 0;
|
|
55
|
+
const vestingCliff = bond?.vestingCliff ?? 0;
|
|
56
|
+
if (!vestingCliff) {
|
|
57
|
+
const vestingTime = getTimePeriods(vestingTerm, true);
|
|
58
|
+
return `${vestingTime.days} D`;
|
|
59
|
+
}
|
|
60
|
+
else if (vestingCliff) {
|
|
61
|
+
const vestingTime = getTimePeriods(vestingTerm - vestingCliff, true);
|
|
62
|
+
const vestingCliffString = getTimePeriods(vestingCliff, true);
|
|
63
|
+
return `${vestingCliffString.days} D + ${vestingTime.days} D`;
|
|
64
|
+
}
|
|
65
|
+
return '-';
|
|
66
|
+
};
|
|
67
|
+
const getVestingTermsTooltipString = (bond) => {
|
|
68
|
+
const vestingTerm = bond?.vestingTerm ?? 0;
|
|
69
|
+
const vestingCliff = bond?.vestingCliff;
|
|
70
|
+
if (!vestingCliff)
|
|
71
|
+
return undefined;
|
|
72
|
+
const vestingTime = getTimePeriods(vestingTerm - vestingCliff, true);
|
|
73
|
+
const vestingCliffString = getTimePeriods(vestingCliff, true);
|
|
74
|
+
return `${vestingCliffString.days} days cliff + ${vestingTime.days} days linear vesting.`;
|
|
75
|
+
};
|
|
76
|
+
const discountEarnTokenPrice = (bond, useTiers) => {
|
|
77
|
+
const fee = bond?.feeInPayout ?? 0;
|
|
78
|
+
const principalTokenPrice = parseFloat(bond.principalTokenPrice ?? '0');
|
|
79
|
+
const trueBondPrice = findHighestTrueBondPrice(useTiers ? TIERS_WEIGHT[LaunchBondTiers.Legend] : '0', bond)?.trueBondPrice;
|
|
80
|
+
const trueBondPriceWithFee = getBalanceNumber(new BigNumber(trueBondPrice ?? '0').times((100 + fee) / 100));
|
|
81
|
+
return getFirstNonZeroDigits(principalTokenPrice * trueBondPriceWithFee);
|
|
82
|
+
};
|
|
83
|
+
const discountEarnTokenPriceForUser = (bond, useTiers, userTier) => {
|
|
84
|
+
const fee = bond?.feeInPayout ?? 0;
|
|
85
|
+
const principalTokenPrice = parseFloat(bond.principalTokenPrice ?? '0');
|
|
86
|
+
const trueBondPrice = findHighestTrueBondPrice(useTiers && userTier ? TIERS_WEIGHT[userTier] : '0', bond)?.trueBondPrice;
|
|
87
|
+
const trueBondPriceWithFee = getBalanceNumber(new BigNumber(trueBondPrice ?? '0').times((100 + fee) / 100));
|
|
88
|
+
return getFirstNonZeroDigits(principalTokenPrice * trueBondPriceWithFee);
|
|
89
|
+
};
|
|
90
|
+
const maxBuy = (bond, allowLowValueBonds) => {
|
|
91
|
+
const available = new BigNumber(bond?.tokensRemaining ?? '0');
|
|
92
|
+
const threshold = allowLowValueBonds ? 0 : 5;
|
|
93
|
+
const thresholdToShow = new BigNumber(threshold).div(bond?.payoutTokenPrice ?? 0);
|
|
94
|
+
let safeAvailable = available.minus(thresholdToShow);
|
|
95
|
+
if (safeAvailable.lt(0))
|
|
96
|
+
safeAvailable = new BigNumber(0);
|
|
97
|
+
const singlePurchaseLimit = new BigNumber(bond?.maxPayout ?? 0).div(new BigNumber(10).pow(bond?.earnToken?.decimals?.[bond?.chainId] ?? 18));
|
|
98
|
+
return !available ? new BigNumber(0) : singlePurchaseLimit.lt(safeAvailable) ? singlePurchaseLimit : safeAvailable;
|
|
99
|
+
};
|
|
100
|
+
function formatNumber(input) {
|
|
101
|
+
const number = new BigNumber(input);
|
|
102
|
+
if (number.isNaN())
|
|
103
|
+
return '0';
|
|
104
|
+
return number.gt(1000000)
|
|
105
|
+
? formatNumberSI(number.toNumber())
|
|
106
|
+
: number.gt(1000)
|
|
107
|
+
? number.toNumber().toLocaleString(undefined, { maximumFractionDigits: 0 })
|
|
108
|
+
: number.gt(0.01)
|
|
109
|
+
? parseFloat(number.toFixed(2)).toLocaleString(undefined)
|
|
110
|
+
: parseFloat(number.toPrecision(5)).toLocaleString(undefined);
|
|
111
|
+
}
|
|
112
|
+
function formatUSDNumber(input) {
|
|
113
|
+
const number = new BigNumber(input);
|
|
114
|
+
if (number.isNaN())
|
|
115
|
+
return '0';
|
|
116
|
+
// If the number is greater than 0 but less than 0.01
|
|
117
|
+
if (number.gt(0) && number.lt(0.01)) {
|
|
118
|
+
return '< 0.01';
|
|
119
|
+
}
|
|
120
|
+
// If the number is greater than 1k, round to no decimals.
|
|
121
|
+
if (number.gt(1000)) {
|
|
122
|
+
return number.toNumber().toLocaleString('en-US', { maximumFractionDigits: 0 });
|
|
123
|
+
}
|
|
124
|
+
// Note: Between 1k and 0.01 show 2 decimals
|
|
125
|
+
return parseFloat(number.toFixed(2)).toLocaleString('en-US');
|
|
126
|
+
}
|
|
127
|
+
const youSpendUSD = (bond, inputValue) => {
|
|
128
|
+
return (parseFloat(inputValue) * parseFloat(bond?.principalTokenPrice ?? '0')).toString();
|
|
129
|
+
};
|
|
130
|
+
// receives depositAmount and returns the payoutTokens the user will receive. IT DOES SUBTRACT FEE
|
|
131
|
+
const getPayoutAmount = (bond, inputValue, userPoints) => {
|
|
132
|
+
if (!inputValue || !bond || !userPoints || !bond.trueBondPrices)
|
|
133
|
+
return 0;
|
|
134
|
+
const bigValue = new BigNumber(inputValue).times(new BigNumber(10).pow(18));
|
|
135
|
+
const fee = bond?.feeInPayout ?? 0;
|
|
136
|
+
const trueBondPrice = findHighestTrueBondPrice(userPoints, bond);
|
|
137
|
+
const billValue = bigValue.div(new BigNumber(trueBondPrice?.trueBondPrice ?? '0').times((100 + fee) / 100));
|
|
138
|
+
return billValue.toNumber();
|
|
139
|
+
};
|
|
140
|
+
const youGetUSD = (bond, inputValue, userPoints) => {
|
|
141
|
+
if (!bond.trueBondPrices)
|
|
142
|
+
return '0';
|
|
143
|
+
const bigValue = new BigNumber(inputValue).times(new BigNumber(10).pow(18));
|
|
144
|
+
const trueBondPrice = findHighestTrueBondPrice(userPoints, bond);
|
|
145
|
+
const billValue = bigValue.div(new BigNumber(trueBondPrice?.trueBondPrice ?? 0));
|
|
146
|
+
return (billValue.toNumber() * parseFloat(bond?.payoutTokenPrice ?? '0')).toString();
|
|
147
|
+
};
|
|
148
|
+
const getRawBonus = (bond, inputValue, userPoints) => {
|
|
149
|
+
if (!bond || !inputValue || !userPoints)
|
|
150
|
+
return '0';
|
|
151
|
+
const premiumUSD = parseFloat(youGetUSD(bond, inputValue, userPoints)) - parseFloat(youSpendUSD(bond, inputValue));
|
|
152
|
+
return premiumUSD.toString();
|
|
153
|
+
};
|
|
154
|
+
const getFeeAmount = (bond, inputValue, userPoints) => {
|
|
155
|
+
const fee = bond?.feeInPayout;
|
|
156
|
+
if (!bond || !inputValue || !fee || !userPoints)
|
|
157
|
+
return 0;
|
|
158
|
+
const billValue = new BigNumber(inputValue).times(new BigNumber(10).pow(18));
|
|
159
|
+
const trueBondPrice = findHighestTrueBondPrice(userPoints, bond);
|
|
160
|
+
const feeAmount = billValue.div(new BigNumber(trueBondPrice?.trueBondPrice ?? 0).div(fee / 100));
|
|
161
|
+
return feeAmount.toNumber();
|
|
162
|
+
};
|
|
163
|
+
const getBonusColor = (premiumString) => {
|
|
164
|
+
return parseFloat(premiumString) < 0 ? 'premium-negative' : 'premium-positive';
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
export { claimable, claimableUSD, discountEarnTokenPrice, discountEarnTokenPriceForUser, earnTokenPrice, formatNumber, formatUSDNumber, getBonusColor, getFeeAmount, getPayoutAmount, getPendingVestingString, getRawBonus, getVestingTermsString, getVestingTermsTooltipString, maxBuy, totalPending, totalPendingUSD, vestingTimeRemaining, vestingTimeRemainingString, youGetUSD, youSpendUSD };
|
|
168
|
+
//# sourceMappingURL=displayHelpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"displayHelpers.js","sources":["../../src/utils/displayHelpers.ts"],"sourcesContent":["import { BigNumber } from 'bignumber.js'\nimport { UserBill } from '../types/yourbonds'\nimport { getBalanceNumber } from './getBalanceNumber'\nimport { BondsData } from '../types/bonds'\nimport { getFirstNonZeroDigits } from './roundNumber'\nimport getTimePeriods from './getTimePeriods'\nimport { formatNumberSI } from './formatNumber'\nimport { BillsConfig, LaunchBondTiers } from '@ape.swap/apeswap-lists'\nimport { findHighestTrueBondPrice } from '../views/BuyBond/findHighestTrueBondPrice'\nimport { TIERS_WEIGHT } from '../state/tiers/useTierPoints'\n\nexport const claimable = (userBill: UserBill) => {\n return getBalanceNumber(\n new BigNumber(userBill.pendingRewards),\n userBill?.bond?.earnToken?.decimals?.[userBill.bond.chainId] ?? 18,\n )\n}\n\nexport const claimableUSD = (userBill: UserBill) => {\n const claimableTokens = getBalanceNumber(\n new BigNumber(userBill.pendingRewards),\n userBill?.bond?.earnToken?.decimals?.[userBill?.bond?.chainId] ?? 18,\n )\n return claimableTokens * parseFloat(userBill?.bond?.payoutTokenPrice ?? '0')\n}\n\nexport const earnTokenPrice = (bond: BondsData) => {\n //TODO: remove this?\n return getFirstNonZeroDigits(parseFloat(bond?.payoutTokenPrice ?? '0'))\n}\n\nexport const totalPending = (userBill: UserBill) => {\n return getBalanceNumber(\n new BigNumber(userBill?.payout ?? 0),\n userBill?.bond?.earnToken?.decimals?.[userBill.bond.chainId] ?? 18,\n )\n}\n\nexport const totalPendingUSD = (userBill: UserBill) => {\n const pendingTokens = getBalanceNumber(\n new BigNumber(userBill?.payout ?? 0),\n userBill?.bond?.earnToken?.decimals?.[userBill?.bond?.chainId] ?? 18,\n )\n return pendingTokens * parseFloat(userBill?.bond?.payoutTokenPrice ?? '0')\n}\n\nexport const vestingTimeRemaining = (userBill: UserBill) => {\n const currentTime = new Date().getTime() / 1000\n const vestingCliff = userBill?.bond?.vestingCliff ?? 0\n return getTimePeriods(\n parseInt(userBill.lastBlockTimestamp) + parseInt(userBill.vesting) - vestingCliff - currentTime,\n true,\n )\n}\n\nexport const vestingTimeRemainingString = (userBill?: UserBill) => {\n const currentTime = Math.round(new Date().getTime() / 1000)\n const lastBlockTimestamp = parseInt(userBill?.lastBlockTimestamp ?? '0')\n const vesting = parseInt(userBill?.vesting ?? '0')\n const vestingCliff = userBill?.bond?.vestingCliff\n\n const vestingTime = getTimePeriods(lastBlockTimestamp + vesting - currentTime, true)\n if (vestingCliff && currentTime - lastBlockTimestamp < vestingCliff) {\n const linearVesting = getTimePeriods(vesting - vestingCliff, true)\n const cliffCountdown = getTimePeriods(lastBlockTimestamp + vestingCliff - currentTime, true)\n return `${cliffCountdown.days !== 0 ? `${cliffCountdown.days}d` : cliffCountdown.hours !== 0 ? `${cliffCountdown.hours}hs` : `${cliffCountdown.minutes}mins`} + ${linearVesting.days}d`\n }\n return `${vestingTime.days}d, ${vestingTime.hours}h, ${vestingTime.minutes}m`\n}\n\nexport const getPendingVestingString = (bond?: UserBill) => {\n const currentTime = new Date().getTime() / 1000\n const lastBlockTimestamp = parseInt(bond?.lastBlockTimestamp ?? '0')\n const vesting = parseInt(bond?.vesting ?? '0')\n\n const vestingTime = getTimePeriods(lastBlockTimestamp + vesting - currentTime, true)\n return `${vestingTime.days}d, ${vestingTime.hours}h, ${vestingTime.minutes}m`\n}\n\nexport const getVestingTermsString = (bond?: BondsData | BillsConfig) => {\n const vestingTerm = bond?.vestingTerm ?? 0\n const vestingCliff = bond?.vestingCliff ?? 0\n if (!vestingCliff) {\n const vestingTime = getTimePeriods(vestingTerm, true)\n return `${vestingTime.days} D`\n } else if (vestingCliff) {\n const vestingTime = getTimePeriods(vestingTerm - vestingCliff, true)\n const vestingCliffString = getTimePeriods(vestingCliff, true)\n return `${vestingCliffString.days} D + ${vestingTime.days} D`\n }\n return '-'\n}\n\nexport const getVestingTermsTooltipString = (bond?: BondsData | BillsConfig) => {\n const vestingTerm = bond?.vestingTerm ?? 0\n const vestingCliff = bond?.vestingCliff\n if (!vestingCliff) return undefined\n const vestingTime = getTimePeriods(vestingTerm - vestingCliff, true)\n const vestingCliffString = getTimePeriods(vestingCliff, true)\n return `${vestingCliffString.days} days cliff + ${vestingTime.days} days linear vesting.`\n}\n\nexport const discountEarnTokenPrice = (bond: BondsData, useTiers?: boolean) => {\n const fee = bond?.feeInPayout ?? 0\n const principalTokenPrice = parseFloat(bond.principalTokenPrice ?? '0')\n const trueBondPrice = findHighestTrueBondPrice(\n useTiers ? TIERS_WEIGHT[LaunchBondTiers.Legend] : '0',\n bond,\n )?.trueBondPrice\n const trueBondPriceWithFee = getBalanceNumber(new BigNumber(trueBondPrice ?? '0').times((100 + fee) / 100))\n return getFirstNonZeroDigits(principalTokenPrice * trueBondPriceWithFee)\n}\n\nexport const discountEarnTokenPriceForUser = (bond: BondsData, useTiers?: boolean, userTier?: LaunchBondTiers) => {\n const fee = bond?.feeInPayout ?? 0\n const principalTokenPrice = parseFloat(bond.principalTokenPrice ?? '0')\n const trueBondPrice = findHighestTrueBondPrice(\n useTiers && userTier ? TIERS_WEIGHT[userTier] : '0',\n bond,\n )?.trueBondPrice\n const trueBondPriceWithFee = getBalanceNumber(new BigNumber(trueBondPrice ?? '0').times((100 + fee) / 100))\n return getFirstNonZeroDigits(principalTokenPrice * trueBondPriceWithFee)\n}\n\nexport const maxBuy = (bond: BondsData, allowLowValueBonds: boolean) => {\n const available = new BigNumber(bond?.tokensRemaining ?? '0')\n const threshold = allowLowValueBonds ? 0 : 5\n const thresholdToShow = new BigNumber(threshold).div(bond?.payoutTokenPrice ?? 0)\n let safeAvailable = available.minus(thresholdToShow)\n if (safeAvailable.lt(0)) safeAvailable = new BigNumber(0)\n const singlePurchaseLimit = new BigNumber(bond?.maxPayout ?? 0).div(\n new BigNumber(10).pow(bond?.earnToken?.decimals?.[bond?.chainId] ?? 18),\n )\n return !available ? new BigNumber(0) : singlePurchaseLimit.lt(safeAvailable) ? singlePurchaseLimit : safeAvailable\n}\n\nexport function formatNumber(input: string): string {\n const number = new BigNumber(input)\n if (number.isNaN()) return '0'\n\n return number.gt(1000000)\n ? formatNumberSI(number.toNumber())\n : number.gt(1000)\n ? number.toNumber().toLocaleString(undefined, { maximumFractionDigits: 0 })\n : number.gt(0.01)\n ? parseFloat(number.toFixed(2)).toLocaleString(undefined)\n : parseFloat(number.toPrecision(5)).toLocaleString(undefined)\n}\n\nexport function formatUSDNumber(input: string): string {\n const number = new BigNumber(input)\n if (number.isNaN()) return '0'\n\n // If the number is greater than 0 but less than 0.01\n if (number.gt(0) && number.lt(0.01)) {\n return '< 0.01'\n }\n // If the number is greater than 1k, round to no decimals.\n if (number.gt(1000)) {\n return number.toNumber().toLocaleString('en-US', { maximumFractionDigits: 0 })\n }\n // Note: Between 1k and 0.01 show 2 decimals\n return parseFloat(number.toFixed(2)).toLocaleString('en-US')\n}\n\nexport const youSpendUSD = (bond: BondsData, inputValue: string) => {\n return (parseFloat(inputValue) * parseFloat(bond?.principalTokenPrice ?? '0')).toString()\n}\n\n// receives depositAmount and returns the payoutTokens the user will receive. IT DOES SUBTRACT FEE\nexport const getPayoutAmount = (bond?: BondsData, inputValue?: string, userPoints?: string) => {\n if (!inputValue || !bond || !userPoints || !bond.trueBondPrices) return 0\n const bigValue = new BigNumber(inputValue).times(new BigNumber(10).pow(18))\n const fee = bond?.feeInPayout ?? 0\n const trueBondPrice = findHighestTrueBondPrice(userPoints, bond)\n const billValue = bigValue.div(new BigNumber(trueBondPrice?.trueBondPrice ?? '0').times((100 + fee) / 100))\n return billValue.toNumber()\n}\n\nexport const youGetUSD = (bond: BondsData, inputValue: string, userPoints: string) => {\n if (!bond.trueBondPrices) return '0'\n const bigValue = new BigNumber(inputValue).times(new BigNumber(10).pow(18))\n const trueBondPrice = findHighestTrueBondPrice(userPoints, bond)\n const billValue = bigValue.div(new BigNumber(trueBondPrice?.trueBondPrice ?? 0))\n\n return (billValue.toNumber() * parseFloat(bond?.payoutTokenPrice ?? '0')).toString()\n}\n\nexport const getRawBonus = (bond?: BondsData, inputValue?: string, userPoints?: string) => {\n if (!bond || !inputValue || !userPoints) return '0'\n const premiumUSD = parseFloat(youGetUSD(bond, inputValue, userPoints)) - parseFloat(youSpendUSD(bond, inputValue))\n return premiumUSD.toString()\n}\n\nexport const getFeeAmount = (bond?: BondsData, inputValue?: string, userPoints?: string) => {\n const fee = bond?.feeInPayout\n if (!bond || !inputValue || !fee || !userPoints) return 0\n const billValue = new BigNumber(inputValue).times(new BigNumber(10).pow(18))\n const trueBondPrice = findHighestTrueBondPrice(userPoints, bond)\n const feeAmount = billValue.div(new BigNumber(trueBondPrice?.trueBondPrice ?? 0).div(fee / 100))\n return feeAmount.toNumber()\n}\n\nexport const getBonusColor = (premiumString: string): string => {\n return parseFloat(premiumString) < 0 ? 'premium-negative' : 'premium-positive'\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { BigNumber } from 'bignumber.js';
|
|
2
|
+
|
|
3
|
+
// Ideally let's keep all formating in this file and DO NOT CREATE MORE FILES
|
|
4
|
+
const formatNumber = (number, minPrecision = 2, maxPrecision = 2) => {
|
|
5
|
+
const options = {
|
|
6
|
+
minimumFractionDigits: minPrecision,
|
|
7
|
+
maximumFractionDigits: maxPrecision,
|
|
8
|
+
};
|
|
9
|
+
return number.toLocaleString('en-US', options);
|
|
10
|
+
};
|
|
11
|
+
// Formats a number with SI (International System of Units) sufixes
|
|
12
|
+
const formatNumberSI = (num, digits = 2) => {
|
|
13
|
+
const number = typeof num === 'string' ? parseFloat(num) : num;
|
|
14
|
+
const lookupSI = [
|
|
15
|
+
{ value: 1, symbol: '' },
|
|
16
|
+
{ value: 1e6, symbol: 'M' },
|
|
17
|
+
{ value: 1e9, symbol: 'B' },
|
|
18
|
+
{ value: 1e12, symbol: 'T' },
|
|
19
|
+
];
|
|
20
|
+
const regEx = /\.0+$|(\.[0-9]*[1-9])0+$/;
|
|
21
|
+
let formatted;
|
|
22
|
+
if (number >= 1e18) {
|
|
23
|
+
formatted = '∞';
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
let i;
|
|
27
|
+
for (i = lookupSI.length - 1; i > 0; i--) {
|
|
28
|
+
if (number >= lookupSI[i].value) {
|
|
29
|
+
break;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
formatted = formatNumber(number / lookupSI[i].value, digits, digits).replace(regEx, '$1') + lookupSI[i].symbol;
|
|
33
|
+
}
|
|
34
|
+
return formatted;
|
|
35
|
+
};
|
|
36
|
+
const formatUSDNumber = (input) => {
|
|
37
|
+
const number = new BigNumber(input);
|
|
38
|
+
if (number.isNaN())
|
|
39
|
+
return '0';
|
|
40
|
+
// If the number is greater than 0 but less than 0.01
|
|
41
|
+
if (number.gt(0) && number.lt(0.01)) {
|
|
42
|
+
return '<0.01';
|
|
43
|
+
}
|
|
44
|
+
// If the number is greater than 1k, round to no decimals.
|
|
45
|
+
if (number.gt(1000)) {
|
|
46
|
+
return number.toNumber().toLocaleString('en-US', { maximumFractionDigits: 0 });
|
|
47
|
+
}
|
|
48
|
+
// Note: Between 1k and 0.01 show 2 decimals
|
|
49
|
+
return parseFloat(number.toFixed(2)).toLocaleString('en-US');
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
export { formatNumber, formatNumberSI, formatUSDNumber };
|
|
53
|
+
//# sourceMappingURL=formatNumber.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatNumber.js","sources":["../../src/utils/formatNumber.ts"],"sourcesContent":["import { BigNumber } from 'bignumber.js'\n\n// Ideally let's keep all formating in this file and DO NOT CREATE MORE FILES\n\nexport const formatNumber = (number: number, minPrecision = 2, maxPrecision = 2) => {\n const options = {\n minimumFractionDigits: minPrecision,\n maximumFractionDigits: maxPrecision,\n }\n return number.toLocaleString('en-US', options)\n}\n\n// Formats a number with SI (International System of Units) sufixes\nexport const formatNumberSI = (num: number | string, digits = 2) => {\n const number = typeof num === 'string' ? parseFloat(num) : num\n\n const lookupSI = [\n { value: 1, symbol: '' },\n { value: 1e6, symbol: 'M' },\n { value: 1e9, symbol: 'B' },\n { value: 1e12, symbol: 'T' },\n ]\n const regEx = /\\.0+$|(\\.[0-9]*[1-9])0+$/\n\n let formatted: string\n if (number >= 1e18) {\n formatted = '∞'\n } else {\n let i: number\n for (i = lookupSI.length - 1; i > 0; i--) {\n if (number >= lookupSI[i].value) {\n break\n }\n }\n formatted = formatNumber(number / lookupSI[i].value, digits, digits).replace(regEx, '$1') + lookupSI[i].symbol\n }\n return formatted\n}\nexport const formatUSDNumber = (input: string | number): string => {\n const number = new BigNumber(input)\n if (number.isNaN()) return '0'\n\n // If the number is greater than 0 but less than 0.01\n if (number.gt(0) && number.lt(0.01)) {\n return '<0.01'\n }\n // If the number is greater than 1k, round to no decimals.\n if (number.gt(1000)) {\n return number.toNumber().toLocaleString('en-US', { maximumFractionDigits: 0 })\n }\n // Note: Between 1k and 0.01 show 2 decimals\n return parseFloat(number.toFixed(2)).toLocaleString('en-US')\n}\n"],"names":[],"mappings":";;AAEA;AAEO,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,YAAY,GAAG,CAAC,EAAE,YAAY,GAAG,CAAC,KAAI;AACjF,IAAA,MAAM,OAAO,GAAG;AACd,QAAA,qBAAqB,EAAE,YAAY;AACnC,QAAA,qBAAqB,EAAE,YAAY;KACpC;IACD,OAAO,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC;AAChD;AAEA;AACO,MAAM,cAAc,GAAG,CAAC,GAAoB,EAAE,MAAM,GAAG,CAAC,KAAI;AACjE,IAAA,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG;AAE9D,IAAA,MAAM,QAAQ,GAAG;AACf,QAAA,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;AACxB,QAAA,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;AAC3B,QAAA,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;AAC3B,QAAA,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;KAC7B;IACD,MAAM,KAAK,GAAG,0BAA0B;AAExC,IAAA,IAAI,SAAiB;AACrB,IAAA,IAAI,MAAM,IAAI,IAAI,EAAE;QAClB,SAAS,GAAG,GAAG;IACjB;SAAO;AACL,QAAA,IAAI,CAAS;AACb,QAAA,KAAK,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YACxC,IAAI,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;gBAC/B;YACF;QACF;AACA,QAAA,SAAS,GAAG,YAAY,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM;IAChH;AACA,IAAA,OAAO,SAAS;AAClB;AACO,MAAM,eAAe,GAAG,CAAC,KAAsB,KAAY;AAChE,IAAA,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC;IACnC,IAAI,MAAM,CAAC,KAAK,EAAE;AAAE,QAAA,OAAO,GAAG;;AAG9B,IAAA,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;AACnC,QAAA,OAAO,OAAO;IAChB;;AAEA,IAAA,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;AACnB,QAAA,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,qBAAqB,EAAE,CAAC,EAAE,CAAC;IAChF;;AAEA,IAAA,OAAO,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC;AAC9D;;;;"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import numbro from 'numbro';
|
|
2
|
+
|
|
3
|
+
/* Copied from Uniswap/v-3: https://github.com/Uniswap/v3-info/blob/master/src/utils/numbers.ts */
|
|
4
|
+
/**
|
|
5
|
+
* Returns a USD dollar or equivalent denominated numerical value formatted
|
|
6
|
+
* in human readable string for use in template.
|
|
7
|
+
*
|
|
8
|
+
* Adheres to guidelines for prices and other numbers defined here:
|
|
9
|
+
* https://www.notion.so/uniswaplabs/Number-standards-fbb9f533f10e4e22820722c2f66d23c0
|
|
10
|
+
* @param num numerical value denominated in USD or USD equivalent
|
|
11
|
+
* @param isPrice whether the amount represents a price or not
|
|
12
|
+
* @param lessPreciseStablecoinValues whether or not we should show less precise values for
|
|
13
|
+
* stablecoins (around 1$ in value always) for the sake of readability
|
|
14
|
+
* @param digits number of digits after the decimal for non-price amounts
|
|
15
|
+
* @param round whether or not to round up non-price amounts
|
|
16
|
+
*/
|
|
17
|
+
const formatDollar = ({ num, isPrice = false, lessPreciseStablecoinValues = false, digits = 2, round = true, }) => {
|
|
18
|
+
// For USD dollar denominated prices.
|
|
19
|
+
if (isPrice) {
|
|
20
|
+
if (num === 0)
|
|
21
|
+
return '$0.00';
|
|
22
|
+
if (!num)
|
|
23
|
+
return '-';
|
|
24
|
+
if (num < 0.000001) {
|
|
25
|
+
return `$${num.toExponential(2)}`;
|
|
26
|
+
}
|
|
27
|
+
if ((num >= 0.000001 && num < 0.1) || num > 1000000) {
|
|
28
|
+
return `$${Number(num).toPrecision(3)}`;
|
|
29
|
+
}
|
|
30
|
+
// We only show 2 decimal places in explore table for stablecoin value ranges
|
|
31
|
+
// for the sake of readability (as opposed to the usual 3 elsewhere).
|
|
32
|
+
if (num >= 0.1 && num < (lessPreciseStablecoinValues ? 0.9995 : 1.05)) {
|
|
33
|
+
return `$${num.toFixed(3)}`;
|
|
34
|
+
}
|
|
35
|
+
return `$${Number(num.toFixed(2)).toLocaleString('en-US', { minimumFractionDigits: 2 })}`;
|
|
36
|
+
}
|
|
37
|
+
// For volume dollar amounts, like market cap, total value locked, etc.
|
|
38
|
+
else {
|
|
39
|
+
if (num === 0)
|
|
40
|
+
return '$0.00';
|
|
41
|
+
if (!num)
|
|
42
|
+
return '-';
|
|
43
|
+
if (num < 0.000001) {
|
|
44
|
+
return '$<0.000001';
|
|
45
|
+
}
|
|
46
|
+
if (num >= 0.000001 && num < 0.1) {
|
|
47
|
+
return `$${Number(num).toPrecision(3)}`;
|
|
48
|
+
}
|
|
49
|
+
if (num >= 0.1 && num < 1.05) {
|
|
50
|
+
return `$${num.toFixed(3)}`;
|
|
51
|
+
}
|
|
52
|
+
return numbro(num)
|
|
53
|
+
.formatCurrency({
|
|
54
|
+
average: round,
|
|
55
|
+
mantissa: num > 1000 ? 2 : digits,
|
|
56
|
+
abbreviations: {
|
|
57
|
+
million: 'M',
|
|
58
|
+
billion: 'B',
|
|
59
|
+
},
|
|
60
|
+
})
|
|
61
|
+
.toUpperCase();
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
export { formatDollar };
|
|
66
|
+
//# sourceMappingURL=formatNumbers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatNumbers.js","sources":["../../src/utils/formatNumbers.ts"],"sourcesContent":["/* Copied from Uniswap/v-3: https://github.com/Uniswap/v3-info/blob/master/src/utils/numbers.ts */\nimport numbro from 'numbro'\n\ninterface FormatDollarArgs {\n num: number | undefined | null\n isPrice?: boolean\n lessPreciseStablecoinValues?: boolean\n digits?: number\n round?: boolean\n}\n\n/**\n * Returns a USD dollar or equivalent denominated numerical value formatted\n * in human readable string for use in template.\n *\n * Adheres to guidelines for prices and other numbers defined here:\n * https://www.notion.so/uniswaplabs/Number-standards-fbb9f533f10e4e22820722c2f66d23c0\n * @param num numerical value denominated in USD or USD equivalent\n * @param isPrice whether the amount represents a price or not\n * @param lessPreciseStablecoinValues whether or not we should show less precise values for\n * stablecoins (around 1$ in value always) for the sake of readability\n * @param digits number of digits after the decimal for non-price amounts\n * @param round whether or not to round up non-price amounts\n */\nexport const formatDollar = ({\n num,\n isPrice = false,\n lessPreciseStablecoinValues = false,\n digits = 2,\n round = true,\n}: FormatDollarArgs): string => {\n // For USD dollar denominated prices.\n if (isPrice) {\n if (num === 0) return '$0.00'\n if (!num) return '-'\n if (num < 0.000001) {\n return `$${num.toExponential(2)}`\n }\n if ((num >= 0.000001 && num < 0.1) || num > 1000000) {\n return `$${Number(num).toPrecision(3)}`\n }\n // We only show 2 decimal places in explore table for stablecoin value ranges\n // for the sake of readability (as opposed to the usual 3 elsewhere).\n if (num >= 0.1 && num < (lessPreciseStablecoinValues ? 0.9995 : 1.05)) {\n return `$${num.toFixed(3)}`\n }\n return `$${Number(num.toFixed(2)).toLocaleString('en-US', { minimumFractionDigits: 2 })}`\n }\n // For volume dollar amounts, like market cap, total value locked, etc.\n else {\n if (num === 0) return '$0.00'\n if (!num) return '-'\n if (num < 0.000001) {\n return '$<0.000001'\n }\n if (num >= 0.000001 && num < 0.1) {\n return `$${Number(num).toPrecision(3)}`\n }\n if (num >= 0.1 && num < 1.05) {\n return `$${num.toFixed(3)}`\n }\n\n return numbro(num)\n .formatCurrency({\n average: round,\n mantissa: num > 1000 ? 2 : digits,\n abbreviations: {\n million: 'M',\n billion: 'B',\n },\n })\n .toUpperCase()\n }\n}\n\nexport const formatValue = ({ num, digits = 2, round = true }: any): string => {\n if (num === 0) return '0.00'\n if (!num) return '-'\n if (num < 0.000001) {\n return '<0.000001'\n }\n if (num >= 0.000001 && num < 0.1) {\n return `${Number(num).toPrecision(3)}`\n }\n if (num >= 0.1 && num < 1.05) {\n return `${num.toFixed(3)}`\n }\n\n return numbro(num)\n .format({\n average: round,\n mantissa: num > 1000 ? 2 : digits,\n abbreviations: {\n million: 'M',\n billion: 'B',\n },\n })\n .toUpperCase()\n}\n\n/**\n * Returns a numerical amount of any token formatted in human readable string for use in template.\n *\n * For transaction review numbers, such as token quantities, NFT price (token-denominated),\n * network fees, transaction history items. Adheres to guidelines defined here:\n * https://www.notion.so/uniswaplabs/Number-standards-fbb9f533f10e4e22820722c2f66d23c0\n * @param num numerical value denominated in any token\n * @param maxDigits the maximum number of digits that should be shown for the quantity\n */\nexport const formatTransactionAmount = (num: number | undefined | null, maxDigits = 9) => {\n if (num === 0) return '0.00'\n if (!num) return ''\n if (num < 0.00001) {\n return '<0.00001'\n }\n if (num >= 0.00001 && num < 1) {\n return `${Number(num.toFixed(5)).toLocaleString('en-US', {\n minimumFractionDigits: 2,\n maximumFractionDigits: 5,\n })}`\n }\n if (num >= 1 && num < 10000) {\n return `${Number(num.toPrecision(6)).toLocaleString('en-US', {\n minimumFractionDigits: 2,\n maximumFractionDigits: 6,\n })}`\n }\n if (num >= 10000 && num < 1000000) {\n return `${Number(num.toFixed(2)).toLocaleString('en-US', { minimumFractionDigits: 2 })}`\n }\n // For very large numbers, switch to scientific notation and show as much precision\n // as permissible by maxDigits param.\n if (num >= Math.pow(10, maxDigits - 1)) {\n return `${num.toExponential(maxDigits - 3)}`\n }\n return `${Number(num.toFixed(2)).toLocaleString('en-US', { minimumFractionDigits: 2 })}`\n}\n"],"names":[],"mappings":";;AAAA;AAWA;;;;;;;;;;;;AAYG;AACI,MAAM,YAAY,GAAG,CAAC,EAC3B,GAAG,EACH,OAAO,GAAG,KAAK,EACf,2BAA2B,GAAG,KAAK,EACnC,MAAM,GAAG,CAAC,EACV,KAAK,GAAG,IAAI,GACK,KAAY;;IAE7B,IAAI,OAAO,EAAE;QACX,IAAI,GAAG,KAAK,CAAC;AAAE,YAAA,OAAO,OAAO;AAC7B,QAAA,IAAI,CAAC,GAAG;AAAE,YAAA,OAAO,GAAG;AACpB,QAAA,IAAI,GAAG,GAAG,QAAQ,EAAE;YAClB,OAAO,CAAA,CAAA,EAAI,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;QACnC;AACA,QAAA,IAAI,CAAC,GAAG,IAAI,QAAQ,IAAI,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,OAAO,EAAE;YACnD,OAAO,CAAA,CAAA,EAAI,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA,CAAE;QACzC;;;AAGA,QAAA,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,2BAA2B,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE;YACrE,OAAO,CAAA,CAAA,EAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QAC7B;QACA,OAAO,CAAA,CAAA,EAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,qBAAqB,EAAE,CAAC,EAAE,CAAC,CAAA,CAAE;IAC3F;;SAEK;QACH,IAAI,GAAG,KAAK,CAAC;AAAE,YAAA,OAAO,OAAO;AAC7B,QAAA,IAAI,CAAC,GAAG;AAAE,YAAA,OAAO,GAAG;AACpB,QAAA,IAAI,GAAG,GAAG,QAAQ,EAAE;AAClB,YAAA,OAAO,YAAY;QACrB;QACA,IAAI,GAAG,IAAI,QAAQ,IAAI,GAAG,GAAG,GAAG,EAAE;YAChC,OAAO,CAAA,CAAA,EAAI,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA,CAAE;QACzC;QACA,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,EAAE;YAC5B,OAAO,CAAA,CAAA,EAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QAC7B;QAEA,OAAO,MAAM,CAAC,GAAG;AACd,aAAA,cAAc,CAAC;AACd,YAAA,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,MAAM;AACjC,YAAA,aAAa,EAAE;AACb,gBAAA,OAAO,EAAE,GAAG;AACZ,gBAAA,OAAO,EAAE,GAAG;AACb,aAAA;SACF;AACA,aAAA,WAAW,EAAE;IAClB;AACF;;;;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import BigNumber from 'bignumber.js';
|
|
2
|
+
|
|
3
|
+
const getBalanceNumber = (balance, decimals = 18) => {
|
|
4
|
+
// use with caution. JS can only safely represent up to 15-17 digits of precision
|
|
5
|
+
// so you will lose precision in decimals and really big numbers, for those cases use getBNWithDecimals
|
|
6
|
+
const displayBalance = new BigNumber(balance).dividedBy(new BigNumber(10).pow(decimals));
|
|
7
|
+
return displayBalance.toNumber();
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export { getBalanceNumber };
|
|
11
|
+
//# sourceMappingURL=getBalanceNumber.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getBalanceNumber.js","sources":["../../src/utils/getBalanceNumber.ts"],"sourcesContent":["import BigNumber from 'bignumber.js'\n\nexport const getBalanceNumber = (balance: BigNumber, decimals = 18) => {\n // use with caution. JS can only safely represent up to 15-17 digits of precision\n // so you will lose precision in decimals and really big numbers, for those cases use getBNWithDecimals\n const displayBalance = new BigNumber(balance).dividedBy(new BigNumber(10).pow(decimals))\n return displayBalance.toNumber()\n}\n"],"names":[],"mappings":";;AAEO,MAAM,gBAAgB,GAAG,CAAC,OAAkB,EAAE,QAAQ,GAAG,EAAE,KAAI;;;IAGpE,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACxF,IAAA,OAAO,cAAc,CAAC,QAAQ,EAAE;AAClC;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
const getDotPos = (index, carouselLength) => {
|
|
2
|
+
if (!carouselLength)
|
|
3
|
+
return 0;
|
|
4
|
+
return index >= carouselLength * 2
|
|
5
|
+
? index - carouselLength * 2
|
|
6
|
+
: index - carouselLength < 0
|
|
7
|
+
? index
|
|
8
|
+
: index - carouselLength;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export { getDotPos };
|
|
12
|
+
//# sourceMappingURL=getDotPos.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDotPos.js","sources":["../../src/utils/getDotPos.ts"],"sourcesContent":["export const getDotPos = (index: number, carouselLength?: number) => {\n if (!carouselLength) return 0\n return index >= carouselLength * 2\n ? index - carouselLength * 2\n : index - carouselLength < 0\n ? index\n : index - carouselLength\n}\n"],"names":[],"mappings":"MAAa,SAAS,GAAG,CAAC,KAAa,EAAE,cAAuB,KAAI;AAClE,IAAA,IAAI,CAAC,cAAc;AAAE,QAAA,OAAO,CAAC;AAC7B,IAAA,OAAO,KAAK,IAAI,cAAc,GAAG;AAC/B,UAAE,KAAK,GAAG,cAAc,GAAG;AAC3B,UAAE,KAAK,GAAG,cAAc,GAAG;AACzB,cAAE;AACF,cAAE,KAAK,GAAG,cAAc;AAC9B;;;;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { WNATIVE } from '../config/constants/tokens.js';
|
|
2
|
+
|
|
3
|
+
const getNativeTicker = (chain) => {
|
|
4
|
+
if (!chain)
|
|
5
|
+
return undefined;
|
|
6
|
+
return WNATIVE[chain]?.symbol.substring(1);
|
|
7
|
+
};
|
|
8
|
+
const getTokenSymbol = (token) => {
|
|
9
|
+
const nativeSymbols = ['BNB', 'ETH', 'POL', 'IOTA'];
|
|
10
|
+
return nativeSymbols.includes(token?.symbol) ? `w${token?.symbol}` : token?.symbol;
|
|
11
|
+
};
|
|
12
|
+
const getSymbol = (token, chainId) => {
|
|
13
|
+
if (!token)
|
|
14
|
+
return '';
|
|
15
|
+
return token === 'NATIVE' ? getNativeTicker(chainId) : getTokenSymbol(token);
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export { getSymbol };
|
|
19
|
+
//# sourceMappingURL=getNativeTicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getNativeTicker.js","sources":["../../src/utils/getNativeTicker.ts"],"sourcesContent":["import { ChainId, Token } from '@ape.swap/apeswap-lists'\nimport { WNATIVE } from '../config/constants/tokens'\n\nconst getNativeTicker = (chain?: ChainId) => {\n if (!chain) return undefined\n return WNATIVE[chain]?.symbol.substring(1)\n}\n\nconst getTokenSymbol = (token: Token) => {\n const nativeSymbols = ['BNB', 'ETH', 'POL', 'IOTA']\n return nativeSymbols.includes(token?.symbol) ? `w${token?.symbol}` : token?.symbol\n}\n\nexport const getSymbol = (token?: Token | 'NATIVE', chainId?: ChainId) => {\n if (!token) return ''\n return token === 'NATIVE' ? getNativeTicker(chainId) : getTokenSymbol(token)\n}\n"],"names":[],"mappings":";;AAGA,MAAM,eAAe,GAAG,CAAC,KAAe,KAAI;AAC1C,IAAA,IAAI,CAAC,KAAK;AAAE,QAAA,OAAO,SAAS;IAC5B,OAAO,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,cAAc,GAAG,CAAC,KAAY,KAAI;IACtC,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC;IACnD,OAAO,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,KAAK,EAAE,MAAM,CAAA,CAAE,GAAG,KAAK,EAAE,MAAM;AACpF,CAAC;MAEY,SAAS,GAAG,CAAC,KAAwB,EAAE,OAAiB,KAAI;AACvE,IAAA,IAAI,CAAC,KAAK;AAAE,QAAA,OAAO,EAAE;AACrB,IAAA,OAAO,KAAK,KAAK,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC;AAC9E;;;;"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
const MINUTE_IN_SECONDS = 60;
|
|
2
|
+
const HOUR_IN_SECONDS = MINUTE_IN_SECONDS * 60;
|
|
3
|
+
const DAY_IN_SECONDS = HOUR_IN_SECONDS * 24;
|
|
4
|
+
const MONTH_IN_SECONDS = DAY_IN_SECONDS * 30; // Assuming 30 days in a month
|
|
5
|
+
const YEAR_IN_SECONDS = DAY_IN_SECONDS * 365;
|
|
6
|
+
/**
|
|
7
|
+
* Format number of seconds into year, month, day, hour, minute, seconds
|
|
8
|
+
*
|
|
9
|
+
* @param seconds
|
|
10
|
+
*/
|
|
11
|
+
const getTimePeriods = (seconds, days) => {
|
|
12
|
+
let delta = seconds;
|
|
13
|
+
const timeLeft = {
|
|
14
|
+
years: 0,
|
|
15
|
+
months: 0,
|
|
16
|
+
days: 0,
|
|
17
|
+
hours: 0,
|
|
18
|
+
minutes: 0,
|
|
19
|
+
seconds: 0,
|
|
20
|
+
};
|
|
21
|
+
if (delta >= YEAR_IN_SECONDS && !days) {
|
|
22
|
+
timeLeft.years = Math.floor(delta / YEAR_IN_SECONDS);
|
|
23
|
+
delta -= timeLeft.years * YEAR_IN_SECONDS;
|
|
24
|
+
}
|
|
25
|
+
if (delta >= MONTH_IN_SECONDS && !days) {
|
|
26
|
+
timeLeft.months = Math.floor(delta / MONTH_IN_SECONDS);
|
|
27
|
+
delta -= timeLeft.months * MONTH_IN_SECONDS;
|
|
28
|
+
}
|
|
29
|
+
if (delta >= DAY_IN_SECONDS) {
|
|
30
|
+
timeLeft.days = Math.floor(delta / DAY_IN_SECONDS);
|
|
31
|
+
delta -= timeLeft.days * DAY_IN_SECONDS;
|
|
32
|
+
}
|
|
33
|
+
if (delta >= HOUR_IN_SECONDS) {
|
|
34
|
+
timeLeft.hours = Math.floor(delta / HOUR_IN_SECONDS);
|
|
35
|
+
delta -= timeLeft.hours * HOUR_IN_SECONDS;
|
|
36
|
+
}
|
|
37
|
+
if (delta >= MINUTE_IN_SECONDS) {
|
|
38
|
+
timeLeft.minutes = Math.floor(delta / MINUTE_IN_SECONDS);
|
|
39
|
+
delta -= timeLeft.minutes * MINUTE_IN_SECONDS;
|
|
40
|
+
}
|
|
41
|
+
timeLeft.seconds = delta;
|
|
42
|
+
return timeLeft;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
export { getTimePeriods as default };
|
|
46
|
+
//# sourceMappingURL=getTimePeriods.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTimePeriods.js","sources":["../../src/utils/getTimePeriods.ts"],"sourcesContent":["const MINUTE_IN_SECONDS = 60\nconst HOUR_IN_SECONDS = MINUTE_IN_SECONDS * 60\nconst DAY_IN_SECONDS = HOUR_IN_SECONDS * 24\nconst MONTH_IN_SECONDS = DAY_IN_SECONDS * 30 // Assuming 30 days in a month\nconst YEAR_IN_SECONDS = DAY_IN_SECONDS * 365\n\n/**\n * Format number of seconds into year, month, day, hour, minute, seconds\n *\n * @param seconds\n */\nconst getTimePeriods = (seconds: number, days?: boolean) => {\n let delta = seconds\n const timeLeft = {\n years: 0,\n months: 0,\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n }\n\n if (delta >= YEAR_IN_SECONDS && !days) {\n timeLeft.years = Math.floor(delta / YEAR_IN_SECONDS)\n delta -= timeLeft.years * YEAR_IN_SECONDS\n }\n\n if (delta >= MONTH_IN_SECONDS && !days) {\n timeLeft.months = Math.floor(delta / MONTH_IN_SECONDS)\n delta -= timeLeft.months * MONTH_IN_SECONDS\n }\n\n if (delta >= DAY_IN_SECONDS) {\n timeLeft.days = Math.floor(delta / DAY_IN_SECONDS)\n delta -= timeLeft.days * DAY_IN_SECONDS\n }\n\n if (delta >= HOUR_IN_SECONDS) {\n timeLeft.hours = Math.floor(delta / HOUR_IN_SECONDS)\n delta -= timeLeft.hours * HOUR_IN_SECONDS\n }\n\n if (delta >= MINUTE_IN_SECONDS) {\n timeLeft.minutes = Math.floor(delta / MINUTE_IN_SECONDS)\n delta -= timeLeft.minutes * MINUTE_IN_SECONDS\n }\n\n timeLeft.seconds = delta\n\n return timeLeft\n}\n\nexport default getTimePeriods\n"],"names":[],"mappings":"AAAA,MAAM,iBAAiB,GAAG,EAAE;AAC5B,MAAM,eAAe,GAAG,iBAAiB,GAAG,EAAE;AAC9C,MAAM,cAAc,GAAG,eAAe,GAAG,EAAE;AAC3C,MAAM,gBAAgB,GAAG,cAAc,GAAG,EAAE,CAAA;AAC5C,MAAM,eAAe,GAAG,cAAc,GAAG,GAAG;AAE5C;;;;AAIG;AACH,MAAM,cAAc,GAAG,CAAC,OAAe,EAAE,IAAc,KAAI;IACzD,IAAI,KAAK,GAAG,OAAO;AACnB,IAAA,MAAM,QAAQ,GAAG;AACf,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,MAAM,EAAE,CAAC;AACT,QAAA,IAAI,EAAE,CAAC;AACP,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,OAAO,EAAE,CAAC;KACX;AAED,IAAA,IAAI,KAAK,IAAI,eAAe,IAAI,CAAC,IAAI,EAAE;QACrC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,eAAe,CAAC;AACpD,QAAA,KAAK,IAAI,QAAQ,CAAC,KAAK,GAAG,eAAe;IAC3C;AAEA,IAAA,IAAI,KAAK,IAAI,gBAAgB,IAAI,CAAC,IAAI,EAAE;QACtC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,gBAAgB,CAAC;AACtD,QAAA,KAAK,IAAI,QAAQ,CAAC,MAAM,GAAG,gBAAgB;IAC7C;AAEA,IAAA,IAAI,KAAK,IAAI,cAAc,EAAE;QAC3B,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,cAAc,CAAC;AAClD,QAAA,KAAK,IAAI,QAAQ,CAAC,IAAI,GAAG,cAAc;IACzC;AAEA,IAAA,IAAI,KAAK,IAAI,eAAe,EAAE;QAC5B,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,eAAe,CAAC;AACpD,QAAA,KAAK,IAAI,QAAQ,CAAC,KAAK,GAAG,eAAe;IAC3C;AAEA,IAAA,IAAI,KAAK,IAAI,iBAAiB,EAAE;QAC9B,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,iBAAiB,CAAC;AACxD,QAAA,KAAK,IAAI,QAAQ,CAAC,OAAO,GAAG,iBAAiB;IAC/C;AAEA,IAAA,QAAQ,CAAC,OAAO,GAAG,KAAK;AAExB,IAAA,OAAO,QAAQ;AACjB;;;;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { getAddress } from '@ethersproject/address';
|
|
2
|
+
|
|
3
|
+
// returns the checksummed address if the address is valid, otherwise returns false
|
|
4
|
+
function isAddress(value) {
|
|
5
|
+
try {
|
|
6
|
+
// Alphabetical letters must be made lowercase for getAddress to work.
|
|
7
|
+
// See documentation here: https://docs.ethers.io/v5/api/utils/address/
|
|
8
|
+
return getAddress(value.toLowerCase());
|
|
9
|
+
}
|
|
10
|
+
catch {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export { isAddress };
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/utils/index.ts"],"sourcesContent":["import { getAddress } from '@ethersproject/address'\n\n// returns the checksummed address if the address is valid, otherwise returns false\nexport function isAddress(value: any): string | false {\n try {\n // Alphabetical letters must be made lowercase for getAddress to work.\n // See documentation here: https://docs.ethers.io/v5/api/utils/address/\n return getAddress(value.toLowerCase())\n } catch {\n return false\n }\n}\n"],"names":[],"mappings":";;AAEA;AACM,SAAU,SAAS,CAAC,KAAU,EAAA;AAClC,IAAA,IAAI;;;AAGF,QAAA,OAAO,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IACxC;AAAE,IAAA,MAAM;AACN,QAAA,OAAO,KAAK;IACd;AACF;;;;"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Interface } from '@ethersproject/abi';
|
|
2
|
+
import multicallV2Abi from '../config/abi/multicallv2.json.js';
|
|
3
|
+
import { ethers } from 'ethers';
|
|
4
|
+
import { chunk, flatten } from 'lodash';
|
|
5
|
+
import { PUBLIC_RPC_URLS } from '../config/constants/networks.js';
|
|
6
|
+
import { MULTICALL_V2 } from '../config/constants/addresses.js';
|
|
7
|
+
|
|
8
|
+
// This is the legacy multicall
|
|
9
|
+
// Try to use multicall hooks
|
|
10
|
+
const multicall = async (chainId, abi, calls, batch, batchSize) => {
|
|
11
|
+
try {
|
|
12
|
+
const multicallAddress = MULTICALL_V2[chainId];
|
|
13
|
+
const provider = new ethers.providers.JsonRpcProvider(PUBLIC_RPC_URLS[chainId]?.[0], chainId);
|
|
14
|
+
const multi = new ethers.Contract(multicallAddress, multicallV2Abi, provider);
|
|
15
|
+
const itf = new Interface(abi);
|
|
16
|
+
const calldata = calls.map((call) => [call.address.toLowerCase(), itf.encodeFunctionData(call.name, call.params)]);
|
|
17
|
+
if (batch) {
|
|
18
|
+
const chunkedCalls = chunk(calldata, batchSize);
|
|
19
|
+
const chunkedCallNames = chunk(calls, batchSize);
|
|
20
|
+
const chunkedData = chunkedCalls.flatMap(async (chunkedCallSet, i) => {
|
|
21
|
+
const { returnData } = await multi.aggregate(chunkedCallSet);
|
|
22
|
+
return returnData.map((call, j) => itf.decodeFunctionResult(chunkedCallNames[i][j].name, call));
|
|
23
|
+
});
|
|
24
|
+
const resolveCall = await Promise.all(chunkedData);
|
|
25
|
+
const flattenCalls = flatten(resolveCall);
|
|
26
|
+
return flattenCalls;
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
const { returnData } = await multi.aggregate(calldata);
|
|
30
|
+
return returnData.map((call, i) => itf.decodeFunctionResult(calls[i].name, call));
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
catch (e) {
|
|
34
|
+
console.error(e);
|
|
35
|
+
console.error(chainId);
|
|
36
|
+
console.error(calls);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
export { multicall as default };
|
|
41
|
+
//# sourceMappingURL=multicall.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multicall.js","sources":["../../src/utils/multicall.ts"],"sourcesContent":["import { Interface } from '@ethersproject/abi'\nimport multicallV2Abi from '../config/abi/multicallv2.json'\nimport { ethers } from 'ethers'\nimport { chunk, flatten } from 'lodash'\nimport { PUBLIC_RPC_URLS } from '../config/constants/networks'\nimport { MULTICALL_V2 } from '../config/constants/addresses'\nimport { ChainId } from '@ape.swap/apeswap-lists'\n\nexport interface Call {\n address: string // Address of the contract\n name: string // Function name on the contract (exemple: balanceOf)\n params?: any[] // Function params\n}\n\n// This is the legacy multicall\n// Try to use multicall hooks\nconst multicall = async (chainId: number, abi: any[], calls: Call[], batch?: boolean, batchSize?: number) => {\n try {\n const multicallAddress = MULTICALL_V2[chainId]\n const provider = new ethers.providers.JsonRpcProvider(PUBLIC_RPC_URLS[chainId as ChainId]?.[0], chainId)\n const multi = new ethers.Contract(multicallAddress, multicallV2Abi, provider)\n const itf = new Interface(abi)\n const calldata = calls.map((call) => [call.address.toLowerCase(), itf.encodeFunctionData(call.name, call.params)])\n if (batch) {\n const chunkedCalls = chunk(calldata, batchSize)\n const chunkedCallNames = chunk(calls, batchSize)\n const chunkedData = chunkedCalls.flatMap(async (chunkedCallSet, i) => {\n const { returnData } = await multi.aggregate(chunkedCallSet)\n return returnData.map((call: any, j: number) => itf.decodeFunctionResult(chunkedCallNames[i][j].name, call))\n })\n const resolveCall = await Promise.all(chunkedData)\n const flattenCalls = flatten(resolveCall)\n return flattenCalls\n } else {\n const { returnData } = await multi.aggregate(calldata)\n return returnData.map((call: any, i: number) => itf.decodeFunctionResult(calls[i].name, call))\n }\n } catch (e) {\n console.error(e)\n console.error(chainId)\n console.error(calls)\n }\n}\n\nexport default multicall\n"],"names":[],"mappings":";;;;;;;AAcA;AACA;AACA,MAAM,SAAS,GAAG,OAAO,OAAe,EAAE,GAAU,EAAE,KAAa,EAAE,KAAe,EAAE,SAAkB,KAAI;AAC1G,IAAA,IAAI;AACF,QAAA,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,eAAe,CAAC,OAAkB,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC;AACxG,QAAA,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,cAAc,EAAE,QAAQ,CAAC;AAC7E,QAAA,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC;AAC9B,QAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAClH,IAAI,KAAK,EAAE;YACT,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC;YAC/C,MAAM,gBAAgB,GAAG,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC;AAChD,YAAA,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,cAAc,EAAE,CAAC,KAAI;gBACnE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC;AAC5D,gBAAA,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,CAAS,KAAK,GAAG,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC9G,YAAA,CAAC,CAAC;YACF,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;AAClD,YAAA,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;AACzC,YAAA,OAAO,YAAY;QACrB;aAAO;YACL,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC;YACtD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,CAAS,KAAK,GAAG,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChG;IACF;IAAE,OAAO,CAAC,EAAE;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAChB,QAAA,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;AACtB,QAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;IACtB;AACF;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"numbers.js","sources":["../../src/utils/numbers.ts"],"sourcesContent":["import numbro from 'numbro'\n\nexport const isNumber = (s: string): boolean => {\n const reg = /^-?\\d+\\.?\\d*$/\n return reg.test(s) && !isNaN(parseFloat(s)) && isFinite(parseFloat(s))\n}\n\nexport const floorFormatter = (n: number): string => {\n if (n === 0) return '0.00'\n if (!n) return ''\n if (n < 0.001) {\n return '<0.001'\n }\n if (n >= 0.001 && n < 1) {\n return `${parseFloat(n.toFixed(3)).toLocaleString('en-US', {\n minimumFractionDigits: 1,\n maximumFractionDigits: 3,\n })}`\n }\n if (n >= 1 && n < 1e6) {\n return `${parseFloat(n.toPrecision(6)).toLocaleString('en-US', {\n minimumFractionDigits: 0,\n maximumFractionDigits: 2,\n })}`\n }\n if (n >= 1e6 && n < 1e15) {\n return numbro(n)\n .format({\n average: true,\n mantissa: 2,\n optionalMantissa: true,\n abbreviations: {\n million: 'M',\n billion: 'B',\n trillion: 'T',\n },\n })\n .toUpperCase()\n }\n if (n >= 1e15) {\n return `${n.toExponential(3).replace(/(\\.[0-9]*[1-9])0*|(\\.0*)/, '$1')}`\n }\n return `${Number(n.toFixed(2)).toLocaleString('en-US', { minimumFractionDigits: 2 })}`\n}\n\nexport const volumeFormatter = (n: number): string => {\n if (n === 0) return '0.00'\n if (!n) return ''\n if (n < 0.01) {\n return '<0.01'\n }\n if (n >= 0.01 && n < 1) {\n return `${parseFloat(n.toFixed(2)).toLocaleString('en-US')}`\n }\n if (n >= 1 && n < 1000) {\n return `${Number(Math.round(n).toLocaleString('en-US'))}`\n }\n if (n >= 1000) {\n return numbro(n)\n .format({\n average: true,\n mantissa: 1,\n optionalMantissa: true,\n abbreviations: {\n thousand: 'K',\n million: 'M',\n billion: 'B',\n trillion: 'T',\n },\n })\n .toUpperCase()\n }\n return `${Number(n.toFixed(1)).toLocaleString('en-US', { minimumFractionDigits: 1 })}`\n}\n\nexport const quantityFormatter = (n: number): string => {\n if (n === 0) return '0.00'\n if (!n) return ''\n if (n >= 1 && n < 1000) {\n return `${Number(Math.round(n).toLocaleString('en-US'))}`\n }\n if (n >= 1000) {\n return numbro(n)\n .format({\n average: true,\n mantissa: 1,\n thousandSeparated: true,\n optionalMantissa: true,\n abbreviations: {\n thousand: 'K',\n million: 'M',\n billion: 'B',\n trillion: 'T',\n },\n })\n .toUpperCase()\n }\n return `${Number(n.toFixed(2)).toLocaleString('en-US', { minimumFractionDigits: 2 })}`\n}\n\nexport const roundWholePercentage = (n: number): string => {\n if (n === 0) return '0'\n if (!n) return ''\n if (n < 1) {\n return '<1'\n }\n return Math.round(n).toString()\n}\n"],"names":[],"mappings":";;AAEO,MAAM,QAAQ,GAAG,CAAC,CAAS,KAAa;IAC7C,MAAM,GAAG,GAAG,eAAe;IAC3B,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACxE;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove0xPrefix.js","sources":["../../src/utils/remove0xPrefix.ts"],"sourcesContent":["export const remove0xPrefix = (str?: string) => {\n if (str && str.startsWith('0x')) {\n return str.slice(2)\n }\n return str\n}\n"],"names":[],"mappings":"AAAO,MAAM,cAAc,GAAG,CAAC,GAAY,KAAI;IAC7C,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AAC/B,QAAA,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACrB;AACA,IAAA,OAAO,GAAG;AACZ;;;;"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
async function reportError({ apiUrl, error, extraInfo = {}, chainId, account, rpc, }) {
|
|
2
|
+
const isClient = typeof window !== 'undefined';
|
|
3
|
+
const url = isClient ? window.location.href : null;
|
|
4
|
+
const errors = {
|
|
5
|
+
message: error instanceof Error ? error.message : String(error),
|
|
6
|
+
stack: error instanceof Error ? error.stack : null,
|
|
7
|
+
extra: extraInfo,
|
|
8
|
+
};
|
|
9
|
+
const payload = {
|
|
10
|
+
chainId: chainId,
|
|
11
|
+
walletAddress: account,
|
|
12
|
+
rpc,
|
|
13
|
+
url,
|
|
14
|
+
log: errors,
|
|
15
|
+
};
|
|
16
|
+
try {
|
|
17
|
+
await fetch(`${apiUrl}/stats/log`, {
|
|
18
|
+
method: 'POST',
|
|
19
|
+
body: JSON.stringify(payload),
|
|
20
|
+
headers: {
|
|
21
|
+
'Content-Type': 'application/json',
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
catch (err) {
|
|
26
|
+
console.error('Error reporting the error:', err);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export { reportError };
|
|
31
|
+
//# sourceMappingURL=reportError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reportError.js","sources":["../../src/utils/reportError.ts"],"sourcesContent":["export async function reportError({\n apiUrl,\n error,\n extraInfo = {},\n chainId,\n account,\n rpc,\n}: {\n apiUrl?: string\n error: unknown\n extraInfo?: Record<string, any>\n chainId?: number\n account?: string\n rpc?: string\n}) {\n const isClient = typeof window !== 'undefined'\n const url = isClient ? window.location.href : null\n\n const errors = {\n message: error instanceof Error ? error.message : String(error),\n stack: error instanceof Error ? error.stack : null,\n extra: extraInfo,\n }\n const payload = {\n chainId: chainId,\n walletAddress: account,\n rpc,\n url,\n log: errors,\n }\n\n try {\n await fetch(`${apiUrl}/stats/log`, {\n method: 'POST',\n body: JSON.stringify(payload),\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n } catch (err) {\n console.error('Error reporting the error:', err)\n }\n}\n"],"names":[],"mappings":"AAAO,eAAe,WAAW,CAAC,EAChC,MAAM,EACN,KAAK,EACL,SAAS,GAAG,EAAE,EACd,OAAO,EACP,OAAO,EACP,GAAG,GAQJ,EAAA;AACC,IAAA,MAAM,QAAQ,GAAG,OAAO,MAAM,KAAK,WAAW;AAC9C,IAAA,MAAM,GAAG,GAAG,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI;AAElD,IAAA,MAAM,MAAM,GAAG;AACb,QAAA,OAAO,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;AAC/D,QAAA,KAAK,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,IAAI;AAClD,QAAA,KAAK,EAAE,SAAS;KACjB;AACD,IAAA,MAAM,OAAO,GAAG;AACd,QAAA,OAAO,EAAE,OAAO;AAChB,QAAA,aAAa,EAAE,OAAO;QACtB,GAAG;QACH,GAAG;AACH,QAAA,GAAG,EAAE,MAAM;KACZ;AAED,IAAA,IAAI;AACF,QAAA,MAAM,KAAK,CAAC,CAAA,EAAG,MAAM,YAAY,EAAE;AACjC,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;AAC7B,YAAA,OAAO,EAAE;AACP,gBAAA,cAAc,EAAE,kBAAkB;AACnC,aAAA;AACF,SAAA,CAAC;IACJ;IAAE,OAAO,GAAG,EAAE;AACZ,QAAA,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,CAAC;IAClD;AACF;;;;"}
|