@ape.swap/bonds-sdk 3.2.0 → 3.3.0-test.12
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 +1 -13
- package/dist/components/BondFilters/BondFilters.js.map +1 -1
- package/dist/components/ChainOptionList/ChainOptionsButtons.js +3 -15
- package/dist/components/ChainOptionList/ChainOptionsButtons.js.map +1 -1
- package/dist/components/ChainOptionList/ChainOptionsList.js +5 -16
- package/dist/components/ChainOptionList/ChainOptionsList.js.map +1 -1
- package/dist/components/ConnectButton/index.js +3 -17
- package/dist/components/ConnectButton/index.js.map +1 -1
- package/dist/components/FavIcons/AddFavToken.js +4 -13
- package/dist/components/FavIcons/AddFavToken.js.map +1 -1
- package/dist/components/FavIcons/FavFilter.js +3 -14
- package/dist/components/FavIcons/FavFilter.js.map +1 -1
- package/dist/components/LoadingSpinner/index.js +0 -13
- package/dist/components/LoadingSpinner/index.js.map +1 -1
- package/dist/components/MenuSelect/MenuSelect.js +1 -12
- package/dist/components/MenuSelect/MenuSelect.js.map +1 -1
- package/dist/components/MenuSelect/RecommendationSelector.js +0 -13
- package/dist/components/MenuSelect/RecommendationSelector.js.map +1 -1
- package/dist/components/NetworkFilter/index.js +8 -15
- package/dist/components/NetworkFilter/index.js.map +1 -1
- package/dist/components/PlaceholderMonkey/index.js +3 -14
- package/dist/components/PlaceholderMonkey/index.js.map +1 -1
- package/dist/components/ProgressBar/ProgressBarWrapper.js +1 -9
- package/dist/components/ProgressBar/ProgressBarWrapper.js.map +1 -1
- package/dist/components/SlippageModal/index.js +1 -13
- package/dist/components/SlippageModal/index.js.map +1 -1
- package/dist/components/StepBubble/index.js +2 -13
- package/dist/components/StepBubble/index.js.map +1 -1
- package/dist/components/Toast/index.js +8 -12
- package/dist/components/Toast/index.js.map +1 -1
- package/dist/components/TokenInfoAndName/index.js +4 -16
- package/dist/components/TokenInfoAndName/index.js.map +1 -1
- package/dist/components/TokenSelectorModal/TokenRow.js +1 -13
- package/dist/components/TokenSelectorModal/TokenRow.js.map +1 -1
- package/dist/components/TokenSelectorModal/index.js +2 -17
- package/dist/components/TokenSelectorModal/index.js.map +1 -1
- package/dist/components/TokenSelectorPanel/index.js +2 -14
- package/dist/components/TokenSelectorPanel/index.js.map +1 -1
- package/dist/components/Tooltip/ButtonsRow.js +5 -13
- package/dist/components/Tooltip/ButtonsRow.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.js +2 -14
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/YouTooltip/YouTooltip.js +0 -13
- package/dist/components/YouTooltip/YouTooltip.js.map +1 -1
- package/dist/components/uikit-sdk/Button/IconButton.js +3 -4
- package/dist/components/uikit-sdk/Button/IconButton.js.map +1 -1
- package/dist/components/uikit-sdk/Button/types.d.ts +3 -3
- package/dist/components/uikit-sdk/Button/types.js.map +1 -1
- package/dist/components/uikit-sdk/Input/Input.js +2 -2
- package/dist/components/uikit-sdk/Input/Input.js.map +1 -1
- package/dist/components/uikit-sdk/LoadingDots/index.js +0 -13
- package/dist/components/uikit-sdk/LoadingDots/index.js.map +1 -1
- package/dist/components/uikit-sdk/Modal/ModalHeader.js +1 -1
- package/dist/components/uikit-sdk/Modal/ModalHeader.js.map +1 -1
- package/dist/components/uikit-sdk/Modal/styles.js +1 -1
- package/dist/components/uikit-sdk/Modal/styles.js.map +1 -1
- package/dist/components/uikit-sdk/Select/Select.js +2 -2
- package/dist/components/uikit-sdk/Select/Select.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Arrow.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/Arrow.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Audit.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/Audit.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Bubble.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/Bubble.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Caret.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/Caret.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Close.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/Close.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Cog.d.ts +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Cog.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/Cog.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Error.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/Error.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Expand.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/Expand.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/External.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/External.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/More.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/More.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/PlaceholderMonkey.d.ts +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/PlaceholderMonkey.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/PlaceholderMonkey.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/PlaceholderMonkeyAlt.d.ts +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/QuestionCircle.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/QuestionCircle.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Search.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/Search.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Sort.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/Sort.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Success.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/Success.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/SwitchArrows.d.ts +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Tick.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/Tick.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Timer.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Timer.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Twitter.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/Twitter.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/URL.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/URL.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/ZapArrow.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/ZapArrow.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/ZapIcon.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/ZapIcon.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/types.d.ts +1 -4
- package/dist/components/uikit-sdk/Svg/tokens/ROBINHOOD.d.ts +4 -0
- package/dist/components/uikit-sdk/Svg/tokens/ROBINHOOD.js +9 -0
- package/dist/components/uikit-sdk/Svg/tokens/ROBINHOOD.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/types.d.ts +0 -170
- package/dist/components/uikit-sdk/Toggle/index.js +1 -1
- package/dist/components/uikit-sdk/Toggle/index.js.map +1 -1
- package/dist/components/uikit-sdk/TokenImage/index.js +4 -17
- package/dist/components/uikit-sdk/TokenImage/index.js.map +1 -1
- package/dist/config/abi/launchBond_v2_4_1.json.js +2 -2
- package/dist/config/constants/addresses.d.ts +0 -1
- package/dist/config/constants/addresses.js +2 -17
- package/dist/config/constants/addresses.js.map +1 -1
- package/dist/config/constants/chains.d.ts +4 -2
- package/dist/config/constants/chains.js +48 -23
- package/dist/config/constants/chains.js.map +1 -1
- package/dist/config/constants/networks.js +1 -0
- package/dist/config/constants/networks.js.map +1 -1
- package/dist/config/constants/tokens.js +32 -11
- package/dist/config/constants/tokens.js.map +1 -1
- package/dist/config/constants/variables.js +1 -0
- package/dist/config/constants/variables.js.map +1 -1
- package/dist/config/constants/walletConnectors.d.ts +3 -0
- package/dist/config/constants/walletConnectors.js +18 -0
- package/dist/config/constants/walletConnectors.js.map +1 -0
- package/dist/contexts/ModalContext.js +0 -11
- package/dist/contexts/ModalContext.js.map +1 -1
- package/dist/contexts/Popups.js +0 -13
- package/dist/contexts/Popups.js.map +1 -1
- package/dist/state/allowance/useAllowance.js +2 -2
- package/dist/state/allowance/useAllowance.js.map +1 -1
- package/dist/state/bonds/useBondsData.js +3 -3
- package/dist/state/bonds/useBondsData.js.map +1 -1
- package/dist/state/bonds/useBondsList.d.ts +2 -2
- package/dist/state/bonds/useBondsList.js +6 -18
- package/dist/state/bonds/useBondsList.js.map +1 -1
- package/dist/state/bonds/utils.js +2 -4
- package/dist/state/bonds/utils.js.map +1 -1
- package/dist/state/preTGEBonds/usePreTGEUserBonds.js +3 -3
- package/dist/state/useSDKConfig.d.ts +9 -2
- package/dist/state/useSDKConfig.js +19 -3
- package/dist/state/useSDKConfig.js.map +1 -1
- package/dist/state/zap/getChainParam.d.ts +2 -1
- package/dist/state/zap/getChainParam.js +4 -1
- package/dist/state/zap/getChainParam.js.map +1 -1
- package/dist/theme/base.js +1 -1
- package/dist/theme/base.js.map +1 -1
- package/dist/utils/convertToTokenValue.d.ts +1 -3
- package/dist/utils/convertToTokenValue.js +7 -9
- package/dist/utils/convertToTokenValue.js.map +1 -1
- package/dist/utils/formatNumbers.d.ts +0 -1
- package/dist/utils/formatNumbers.js +19 -13
- package/dist/utils/formatNumbers.js.map +1 -1
- package/dist/utils/multicall.js +34 -18
- package/dist/utils/multicall.js.map +1 -1
- package/dist/utils/numbers.d.ts +0 -4
- package/dist/utils/numbers.js +0 -2
- package/dist/utils/numbers.js.map +1 -1
- package/dist/views/Bonds/Bonds.js +2 -13
- package/dist/views/Bonds/Bonds.js.map +1 -1
- package/dist/views/Bonds/components/BannerTestnet/BannerTestnet.js +1 -13
- package/dist/views/Bonds/components/BannerTestnet/BannerTestnet.js.map +1 -1
- package/dist/views/Bonds/components/BondRows/BondRow.js +4 -15
- package/dist/views/Bonds/components/BondRows/BondRow.js.map +1 -1
- package/dist/views/Bonds/components/BondRows/ChainTitle.js +3 -13
- package/dist/views/Bonds/components/BondRows/ChainTitle.js.map +1 -1
- package/dist/views/Bonds/components/BondsMenu/BondsMenu.js +2 -15
- package/dist/views/Bonds/components/BondsMenu/BondsMenu.js.map +1 -1
- package/dist/views/Bonds/components/BonusComponents/BonusComponent.js +2 -14
- package/dist/views/Bonds/components/BonusComponents/BonusComponent.js.map +1 -1
- package/dist/views/Bonds/components/BonusComponents/BonusTable.js +1 -14
- package/dist/views/Bonds/components/BonusComponents/BonusTable.js.map +1 -1
- package/dist/views/Bonds/components/BuyAgainRow/index.js +0 -11
- package/dist/views/Bonds/components/BuyAgainRow/index.js.map +1 -1
- package/dist/views/Bonds/components/HotBondCards/HotBondCard.js +2 -14
- package/dist/views/Bonds/components/HotBondCards/HotBondCard.js.map +1 -1
- package/dist/views/Bonds/components/HotBondCards/index.js +0 -12
- package/dist/views/Bonds/components/HotBondCards/index.js.map +1 -1
- package/dist/views/Bonds/components/RecommendationCards/SmallRecommendationCard.js +0 -13
- package/dist/views/Bonds/components/RecommendationCards/SmallRecommendationCard.js.map +1 -1
- package/dist/views/Bonds/components/RecommendationCards/index.js +0 -12
- package/dist/views/Bonds/components/RecommendationCards/index.js.map +1 -1
- package/dist/views/BuyBond/BuyBond.js +8 -16
- package/dist/views/BuyBond/BuyBond.js.map +1 -1
- package/dist/views/BuyBond/BuyBondModal.js +0 -12
- package/dist/views/BuyBond/BuyBondModal.js.map +1 -1
- package/dist/views/BuyBond/components/BondCards.js +6 -5
- package/dist/views/BuyBond/components/BondCards.js.map +1 -1
- package/dist/views/BuyBond/components/BondModalHeader.js +3 -15
- package/dist/views/BuyBond/components/BondModalHeader.js.map +1 -1
- package/dist/views/BuyBond/components/BondModalMinTierHeader.js +0 -12
- package/dist/views/BuyBond/components/BondModalMinTierHeader.js.map +1 -1
- package/dist/views/BuyBond/components/Estimations.js +3 -3
- package/dist/views/BuyBond/components/Estimations.js.map +1 -1
- package/dist/views/BuyBond/components/ExpandedViewButton.js +2 -15
- package/dist/views/BuyBond/components/ExpandedViewButton.js.map +1 -1
- package/dist/views/BuyBond/components/GetUpToComponent/GetUpToComponent.js +3 -14
- package/dist/views/BuyBond/components/GetUpToComponent/GetUpToComponent.js.map +1 -1
- package/dist/views/BuyBond/components/NewRateModal/NewRateModal.js +2 -13
- package/dist/views/BuyBond/components/NewRateModal/NewRateModal.js.map +1 -1
- package/dist/views/BuyBond/components/NoBonusModal/NoBonusModal.js +1 -11
- package/dist/views/BuyBond/components/NoBonusModal/NoBonusModal.js.map +1 -1
- package/dist/views/BuyBond/components/ProjectDescription.js +0 -11
- package/dist/views/BuyBond/components/ProjectDescription.js.map +1 -1
- package/dist/views/BuyBond/index.d.ts +2 -2
- package/dist/views/BuyBond/index.js.map +1 -1
- package/dist/views/FullBondsView/FullBondsView.d.ts +0 -4
- package/dist/views/FullBondsView/FullBondsView.js +2 -19
- package/dist/views/FullBondsView/FullBondsView.js.map +1 -1
- package/dist/views/PreTGEBonds/components/BuyComponent/BondCards.js +5 -17
- package/dist/views/PreTGEBonds/components/BuyComponent/BondCards.js.map +1 -1
- package/dist/views/PreTGEBonds/components/BuyComponent/ParticipationSuccessful.js +6 -16
- package/dist/views/PreTGEBonds/components/BuyComponent/ParticipationSuccessful.js.map +1 -1
- package/dist/views/PreTGEBonds/components/BuyComponent/PreTGEBuyComponent.js +6 -15
- package/dist/views/PreTGEBonds/components/BuyComponent/PreTGEBuyComponent.js.map +1 -1
- package/dist/views/PreTGEBonds/components/PreTGEUserRows/PreTGEActions.js +3 -15
- package/dist/views/PreTGEBonds/components/PreTGEUserRows/PreTGEActions.js.map +1 -1
- package/dist/views/PreTGEBonds/components/PreTGEUserRows/PreTGEUserRow.js +3 -14
- package/dist/views/PreTGEBonds/components/PreTGEUserRows/PreTGEUserRow.js.map +1 -1
- package/dist/views/TransactionModal/TransactionModal.js +4 -15
- package/dist/views/TransactionModal/TransactionModal.js.map +1 -1
- package/dist/views/YourBonds/YourBonds.js +1 -1
- package/dist/views/YourBonds/YourBonds.js.map +1 -1
- package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.js +4 -14
- package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.js.map +1 -1
- package/dist/views/YourBonds/components/ClaimAll/index.js +0 -13
- package/dist/views/YourBonds/components/ClaimAll/index.js.map +1 -1
- package/dist/views/YourBonds/components/UserBondRow/index.js +2 -2
- package/dist/views/YourBonds/components/UserBondRow/index.js.map +1 -1
- package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.js +2 -15
- package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.js.map +1 -1
- package/dist/views/YourBondsModal/YourBondsModal.js +7 -6
- package/dist/views/YourBondsModal/YourBondsModal.js.map +1 -1
- package/dist/views/YourBondsModal/components/NFTImage/NFTImage.js +5 -3
- package/dist/views/YourBondsModal/components/NFTImage/NFTImage.js.map +1 -1
- package/dist/views/YourBondsModal/components/TransferBondModal/TransferAction.js +0 -12
- package/dist/views/YourBondsModal/components/TransferBondModal/TransferAction.js.map +1 -1
- package/dist/views/YourBondsModal/components/TransferBondModal/index.js +3 -13
- package/dist/views/YourBondsModal/components/TransferBondModal/index.js.map +1 -1
- package/dist/views/YourBondsModal/components/YourBondModalHeader/YourBondModalHeader.js +2 -2
- package/dist/views/YourBondsModal/components/YourBondModalHeader/YourBondModalHeader.js.map +1 -1
- package/dist/views/ZapModal/index.js +7 -14
- package/dist/views/ZapModal/index.js.map +1 -1
- package/package.json +42 -33
- package/dist/components/ConnectButton/AppKitButton.d.ts +0 -3
- package/dist/components/ConnectButton/AppKitButton.js +0 -22
- package/dist/components/ConnectButton/AppKitButton.js.map +0 -1
- package/dist/components/ConnectButton/RainbowKitButton.d.ts +0 -3
- package/dist/components/ConnectButton/RainbowKitButton.js +0 -35
- package/dist/components/ConnectButton/RainbowKitButton.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/AbondFullLogo.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/AbondFullLogo.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/AbondSmallLogo.js +0 -8
- package/dist/components/uikit-sdk/Svg/Icons/AbondSmallLogo.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/AccountMonkey.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/AccountMonkey.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/ApebondLogo.js +0 -19
- package/dist/components/uikit-sdk/Svg/Icons/ApebondLogo.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/ApeswapSmallLogo.js +0 -8
- package/dist/components/uikit-sdk/Svg/Icons/ApeswapSmallLogo.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/BananaIcon.js +0 -8
- package/dist/components/uikit-sdk/Svg/Icons/BananaIcon.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/BillsM1.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/BillsM1.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/BillsM2.js +0 -19
- package/dist/components/uikit-sdk/Svg/Icons/BillsM2.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/BillsM3.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/BillsM3.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Bridge.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Bridge.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Calculator.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Calculator.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Calendar.js +0 -8
- package/dist/components/uikit-sdk/Svg/Icons/Calendar.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Cancelled.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Cancelled.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Card.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Card.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Chain.js +0 -10
- package/dist/components/uikit-sdk/Svg/Icons/Chain.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Chart.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Chart.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Chat.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Chat.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Collapse.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Collapse.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Copy.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Copy.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Discord.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Discord.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/DiscordNew.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/DiscordNew.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Docs.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Docs.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/DocsV2.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/DocsV2.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Ellipse.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Ellipse.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Explorer.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Explorer.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Farcaster.js +0 -8
- package/dist/components/uikit-sdk/Svg/Icons/Farcaster.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Farm.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Farm.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Fav.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Fav.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/FilledURL.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/FilledURL.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Fire.js +0 -8
- package/dist/components/uikit-sdk/Svg/Icons/Fire.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Frame.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Frame.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/FullLogo.js +0 -8
- package/dist/components/uikit-sdk/Svg/Icons/FullLogo.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Gnana.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Gnana.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/GreenShield.js +0 -8
- package/dist/components/uikit-sdk/Svg/Icons/GreenShield.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Hamburger.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Hamburger.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/HamburgerClosed.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/HamburgerClosed.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Home.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Home.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Hot.js +0 -8
- package/dist/components/uikit-sdk/Svg/Icons/Hot.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Info.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Info.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/InfoSolid.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/InfoSolid.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Insight.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Insight.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Instagram.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Instagram.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Island.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Island.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/LanguageIcon.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/LanguageIcon.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/LineChart.js +0 -8
- package/dist/components/uikit-sdk/Svg/Icons/LineChart.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/LiquidityIcon.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/LiquidityIcon.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Logout.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Logout.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Medium.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Medium.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/MenuSettings.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/MenuSettings.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Message.js +0 -11
- package/dist/components/uikit-sdk/Svg/Icons/Message.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Migrate.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Migrate.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Moon.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Moon.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/NFA.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/NFA.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/NavCaret.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/NavCaret.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/PlaceholderMonkeyAlt.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/PlaceholderMonkeyAlt.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Play.js +0 -8
- package/dist/components/uikit-sdk/Svg/Icons/Play.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Pool.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Pool.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Positions.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Positions.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/ProfileDark.js +0 -8
- package/dist/components/uikit-sdk/Svg/Icons/ProfileDark.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/ProfileIcon.js +0 -15
- package/dist/components/uikit-sdk/Svg/Icons/ProfileIcon.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/ProfileLight.js +0 -8
- package/dist/components/uikit-sdk/Svg/Icons/ProfileLight.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/QuestionFill.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/QuestionFill.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Quiz.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Quiz.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Receipt.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Receipt.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Reddit.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Reddit.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Rocket.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Rocket.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/ScrollTop.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/ScrollTop.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Send.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Send.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Settings.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Settings.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Share.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Share.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/SuccessOutline.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/SuccessOutline.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/SwapArrows.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/SwapArrows.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/SwitchArrows.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/SwitchArrows.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Telegram.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Telegram.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/TelegramNew.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/TelegramNew.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/TextLogo.js +0 -8
- package/dist/components/uikit-sdk/Svg/Icons/TextLogo.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/TickShield.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/TickShield.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Trade.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Trade.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Trash.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Trash.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Vaults.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Vaults.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Verified.js +0 -8
- package/dist/components/uikit-sdk/Svg/Icons/Verified.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Wallet.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Wallet.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Warning.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Warning.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Watch.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Watch.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Website.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Website.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/WebsiteNew.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/WebsiteNew.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/WhitepaperNew.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/WhitepaperNew.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/XNew.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/XNew.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/YellowQuestionMark.js +0 -8
- package/dist/components/uikit-sdk/Svg/Icons/YellowQuestionMark.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/index.d.ts +0 -117
- package/dist/components/uikit-sdk/Svg/Icons/polygonNew.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/polygonNew.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/index.d.ts +0 -3
- package/dist/components/uikit-sdk/Svg/index.js +0 -515
- package/dist/components/uikit-sdk/Svg/index.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/tokens/ABOND.d.ts +0 -4
- package/dist/components/uikit-sdk/Svg/tokens/ABOND.js +0 -8
- package/dist/components/uikit-sdk/Svg/tokens/ABOND.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/tokens/BANANA.d.ts +0 -4
- package/dist/components/uikit-sdk/Svg/tokens/BANANA.js +0 -8
- package/dist/components/uikit-sdk/Svg/tokens/BANANA.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/tokens/BSC.d.ts +0 -4
- package/dist/components/uikit-sdk/Svg/tokens/BSC.js +0 -8
- package/dist/components/uikit-sdk/Svg/tokens/BSC.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/tokens/CELO.d.ts +0 -4
- package/dist/components/uikit-sdk/Svg/tokens/CELO.js +0 -8
- package/dist/components/uikit-sdk/Svg/tokens/CELO.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/tokens/CRONOS.d.ts +0 -4
- package/dist/components/uikit-sdk/Svg/tokens/CRONOS.js +0 -8
- package/dist/components/uikit-sdk/Svg/tokens/CRONOS.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/tokens/FANTOM.d.ts +0 -4
- package/dist/components/uikit-sdk/Svg/tokens/FANTOM.js +0 -8
- package/dist/components/uikit-sdk/Svg/tokens/FANTOM.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/tokens/GNANA.d.ts +0 -4
- package/dist/components/uikit-sdk/Svg/tokens/GNANA.js +0 -8
- package/dist/components/uikit-sdk/Svg/tokens/GNANA.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/tokens/GNOSIS.d.ts +0 -4
- package/dist/components/uikit-sdk/Svg/tokens/GNOSIS.js +0 -8
- package/dist/components/uikit-sdk/Svg/tokens/GNOSIS.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/tokens/OKX.d.ts +0 -4
- package/dist/components/uikit-sdk/Svg/tokens/OKX.js +0 -8
- package/dist/components/uikit-sdk/Svg/tokens/OKX.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/tokens/OPTIMISM.d.ts +0 -4
- package/dist/components/uikit-sdk/Svg/tokens/OPTIMISM.js +0 -10
- package/dist/components/uikit-sdk/Svg/tokens/OPTIMISM.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/tokens/POLYGONZK.d.ts +0 -4
- package/dist/components/uikit-sdk/Svg/tokens/POLYGONZK.js +0 -8
- package/dist/components/uikit-sdk/Svg/tokens/POLYGONZK.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/tokens/index.d.ts +0 -29
- package/dist/components/uikit-sdk/Svg/types.js +0 -183
- package/dist/components/uikit-sdk/Svg/types.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/walletIcons/BinanceChain.d.ts +0 -3
- package/dist/components/uikit-sdk/Svg/walletIcons/BinanceChain.js +0 -8
- package/dist/components/uikit-sdk/Svg/walletIcons/BinanceChain.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/walletIcons/Bitkeep.d.ts +0 -3
- package/dist/components/uikit-sdk/Svg/walletIcons/Bitkeep.js +0 -8
- package/dist/components/uikit-sdk/Svg/walletIcons/Bitkeep.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/walletIcons/Brave.d.ts +0 -3
- package/dist/components/uikit-sdk/Svg/walletIcons/Brave.js +0 -8
- package/dist/components/uikit-sdk/Svg/walletIcons/Brave.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/walletIcons/Coinbase.d.ts +0 -3
- package/dist/components/uikit-sdk/Svg/walletIcons/Coinbase.js +0 -8
- package/dist/components/uikit-sdk/Svg/walletIcons/Coinbase.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/walletIcons/MadWallet.d.ts +0 -4
- package/dist/components/uikit-sdk/Svg/walletIcons/MadWallet.js +0 -8
- package/dist/components/uikit-sdk/Svg/walletIcons/MadWallet.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/walletIcons/MathWallet.d.ts +0 -3
- package/dist/components/uikit-sdk/Svg/walletIcons/MathWallet.js +0 -8
- package/dist/components/uikit-sdk/Svg/walletIcons/MathWallet.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/walletIcons/Metamask.d.ts +0 -3
- package/dist/components/uikit-sdk/Svg/walletIcons/Metamask.js +0 -8
- package/dist/components/uikit-sdk/Svg/walletIcons/Metamask.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/walletIcons/Nabox.d.ts +0 -3
- package/dist/components/uikit-sdk/Svg/walletIcons/Nabox.js +0 -8
- package/dist/components/uikit-sdk/Svg/walletIcons/Nabox.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/walletIcons/OKX.d.ts +0 -3
- package/dist/components/uikit-sdk/Svg/walletIcons/OKX.js +0 -8
- package/dist/components/uikit-sdk/Svg/walletIcons/OKX.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/walletIcons/OntoWallet.d.ts +0 -3
- package/dist/components/uikit-sdk/Svg/walletIcons/OntoWallet.js +0 -8
- package/dist/components/uikit-sdk/Svg/walletIcons/OntoWallet.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/walletIcons/SafePalWallet.d.ts +0 -3
- package/dist/components/uikit-sdk/Svg/walletIcons/SafePalWallet.js +0 -8
- package/dist/components/uikit-sdk/Svg/walletIcons/SafePalWallet.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/walletIcons/SocialLogin.d.ts +0 -3
- package/dist/components/uikit-sdk/Svg/walletIcons/SocialLogin.js +0 -8
- package/dist/components/uikit-sdk/Svg/walletIcons/SocialLogin.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/walletIcons/TokenPocket.d.ts +0 -3
- package/dist/components/uikit-sdk/Svg/walletIcons/TokenPocket.js +0 -8
- package/dist/components/uikit-sdk/Svg/walletIcons/TokenPocket.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/walletIcons/TorusWallet.d.ts +0 -3
- package/dist/components/uikit-sdk/Svg/walletIcons/TorusWallet.js +0 -8
- package/dist/components/uikit-sdk/Svg/walletIcons/TorusWallet.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/walletIcons/TrustWallet.d.ts +0 -3
- package/dist/components/uikit-sdk/Svg/walletIcons/TrustWallet.js +0 -8
- package/dist/components/uikit-sdk/Svg/walletIcons/TrustWallet.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/walletIcons/Unstoppable.d.ts +0 -4
- package/dist/components/uikit-sdk/Svg/walletIcons/Unstoppable.js +0 -8
- package/dist/components/uikit-sdk/Svg/walletIcons/Unstoppable.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/walletIcons/WalletConnect.d.ts +0 -3
- package/dist/components/uikit-sdk/Svg/walletIcons/WalletConnect.js +0 -8
- package/dist/components/uikit-sdk/Svg/walletIcons/WalletConnect.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/walletIcons/WalletImage.d.ts +0 -3
- package/dist/components/uikit-sdk/Svg/walletIcons/WalletImage.js +0 -8
- package/dist/components/uikit-sdk/Svg/walletIcons/WalletImage.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/walletIcons/index.d.ts +0 -18
- package/dist/components/uikit-sdk/index.d.ts +0 -15
- package/dist/config/abi/types/Banana.d.ts +0 -394
- package/dist/config/abi/types/Bond.d.ts +0 -758
- package/dist/config/abi/types/BondNft.d.ts +0 -556
- package/dist/config/abi/types/EnsPublicResolver.d.ts +0 -437
- package/dist/config/abi/types/EnsRegistrar.d.ts +0 -254
- package/dist/config/abi/types/Erc20.d.ts +0 -156
- package/dist/config/abi/types/Erc20_bytes32.d.ts +0 -50
- package/dist/config/abi/types/JungleChef.d.ts +0 -245
- package/dist/config/abi/types/LaunchBonds.d.ts +0 -1306
- package/dist/config/abi/types/LensContract.d.ts +0 -276
- package/dist/config/abi/types/LockVeAbond.d.ts +0 -1173
- package/dist/config/abi/types/MigrationBond.d.ts +0 -1074
- package/dist/config/abi/types/MigrationFveAbond.d.ts +0 -284
- package/dist/config/abi/types/MiniComplexRewarder.d.ts +0 -423
- package/dist/config/abi/types/Multicallv2.d.ts +0 -139
- package/dist/config/abi/types/Multicallv3.d.ts +0 -98
- package/dist/config/abi/types/NonFungibleApes.d.ts +0 -492
- package/dist/config/abi/types/NonFungibleBananas.d.ts +0 -468
- package/dist/config/abi/types/PriceGetter.d.ts +0 -676
- package/dist/config/abi/types/PriceGetterLinea.d.ts +0 -756
- package/dist/config/abi/types/PriceGetterV2.d.ts +0 -692
- package/dist/config/abi/types/SousChef.d.ts +0 -542
- package/dist/config/abi/types/Treasury.d.ts +0 -274
- package/dist/config/abi/types/Weth.d.ts +0 -206
- package/dist/config/abi/types/Zap.d.ts +0 -484
- package/dist/config/abi/types/common.d.ts +0 -22
- package/dist/config/abi/types/factories/Banana__factory.d.ts +0 -475
- package/dist/config/abi/types/factories/BondNft__factory.d.ts +0 -723
- package/dist/config/abi/types/factories/Bond__factory.d.ts +0 -799
- package/dist/config/abi/types/factories/EnsPublicResolver__factory.d.ts +0 -649
- package/dist/config/abi/types/factories/EnsRegistrar__factory.d.ts +0 -338
- package/dist/config/abi/types/factories/Erc20__factory.d.ts +0 -175
- package/dist/config/abi/types/factories/Erc20_bytes32__factory.d.ts +0 -30
- package/dist/config/abi/types/factories/JungleChef__factory.d.ts +0 -247
- package/dist/config/abi/types/factories/LaunchBonds__factory.d.ts +0 -1560
- package/dist/config/abi/types/factories/LensContract__factory.d.ts +0 -254
- package/dist/config/abi/types/factories/LockVeAbond__factory.d.ts +0 -1698
- package/dist/config/abi/types/factories/MigrationBond__factory.d.ts +0 -1268
- package/dist/config/abi/types/factories/MigrationFveAbond__factory.d.ts +0 -262
- package/dist/config/abi/types/factories/MiniComplexRewarder__factory.d.ts +0 -448
- package/dist/config/abi/types/factories/Multicallv2__factory.d.ts +0 -115
- package/dist/config/abi/types/factories/Multicallv3__factory.d.ts +0 -76
- package/dist/config/abi/types/factories/NonFungibleApes__factory.d.ts +0 -617
- package/dist/config/abi/types/factories/NonFungibleBananas__factory.d.ts +0 -576
- package/dist/config/abi/types/factories/PriceGetterLinea__factory.d.ts +0 -1105
- package/dist/config/abi/types/factories/PriceGetterV2__factory.d.ts +0 -1027
- package/dist/config/abi/types/factories/PriceGetter__factory.d.ts +0 -999
- package/dist/config/abi/types/factories/SousChef__factory.d.ts +0 -511
- package/dist/config/abi/types/factories/Treasury__factory.d.ts +0 -235
- package/dist/config/abi/types/factories/Weth__factory.d.ts +0 -220
- package/dist/config/abi/types/factories/Zap__factory.d.ts +0 -695
- package/dist/config/abi/types/factories/index.d.ts +0 -25
- package/dist/config/abi/types/index.d.ts +0 -51
- package/dist/utils/index.d.ts +0 -1
- package/dist/utils/index.js +0 -16
- package/dist/utils/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../src/state/bonds/utils.ts"],"sourcesContent":["import { BondsData, TrueBondPrices } from '../../types/bonds'\nimport { getBalanceNumber } from '../../utils/getBalanceNumber'\nimport { BillsConfig, BillVersion, ChainId, PreTGEConfig } from '@ape.swap/apeswap-lists'\nimport { TokenPrices } from '../tokenPrices/useTokenPrices'\nimport multicall from '../../utils/multicall'\nimport launchBondsABI_V2_4_1 from '../../config/abi/launchBond_v2_4_1.json'\nimport BOND_2_4_0 from '../../config/abi/BOND_2_4_0.json'\nimport ERC20ABI from '../../config/abi/erc20.json'\nimport { reportError } from '../../utils/reportError'\nimport BigNumber from 'bignumber.js'\nimport axios from 'axios'\nimport { TIER_MAPPING } from '../tiers/useTierPoints'\nimport { chunk } from 'lodash'\n\nexport const fetchBondsDataPreTGE = async (\n chain: number,\n tokenPrices: Partial<Record<ChainId, TokenPrices[]>>,\n preTGEBonds: PreTGEConfig[],\n apiUrl?: string,\n): Promise<BondsData[]> => {\n try {\n if (!preTGEBonds?.length) return []\n const data = []\n const chainId = chain as ChainId\n\n const preTGEBondsIds: number[] = []\n const launchBondsCalls = preTGEBonds.flatMap((bond) => {\n preTGEBondsIds.push(bond.index)\n const bill = bond\n return [\n {\n address: bill.contractAddress[bill.chainId] as string,\n name: 'trueBillPrice',\n },\n {\n address: bill.contractAddress[bill.chainId] as string,\n name: 'terms',\n },\n {\n address: bill.contractAddress[bill.chainId] as string,\n name: 'totalPrincipalBilled',\n },\n {\n address: bill.contractAddress[bill.chainId] as string,\n name: 'finalized',\n },\n {\n address: bill.contractAddress[bill.chainId] as string,\n name: 'minPoints',\n },\n {\n address: bill.contractAddress[bill.chainId] as string,\n name: 'maxPoints',\n },\n {\n address: bill.contractAddress[bill.chainId] as string,\n name: 'startVestingTimestamp',\n },\n ]\n })\n const vals = await multicall(chainId, launchBondsABI_V2_4_1, launchBondsCalls)\n const chunkSize = vals.length / preTGEBonds.length\n const chunkedBills = chunk(vals, chunkSize)\n const returnedBills = chunkedBills?.map((chunk: any, index) => {\n const bondConfig = preTGEBonds?.find((bill) => bill?.index === preTGEBondsIds[index])!\n\n const [trueBillPrice, terms, totalPrincipalBilled, finalized, minPoints, maxPoints, startVestingTimestamp] = chunk\n const [, , vestingTerm, , , initialRelease, totalRaise, maxTotalPayout] = terms\n\n const initPrice = getBalanceNumber(\n trueBillPrice,\n bondConfig?.lpToken?.decimals?.[bondConfig?.chainId as ChainId] ?? 18,\n )\n\n const lpPrice =\n tokenPrices?.[bondConfig?.chainId]?.find(\n (tokenPrice) =>\n tokenPrice?.tokenAddress?.toLowerCase() ===\n bondConfig?.lpToken?.address?.[bondConfig?.chainId]?.toLowerCase(),\n )?.price ?? 0\n const earnTokenPrice =\n tokenPrices?.[bondConfig?.chainId]?.find(\n (tokenPrice) =>\n tokenPrice?.tokenAddress?.toLowerCase() ===\n bondConfig?.earnToken?.address?.[bondConfig?.chainId]?.toLowerCase(),\n )?.price ?? 0\n\n const principalTokenPrice = lpPrice?.toString() ?? '0'\n const payoutTokenPrice = earnTokenPrice ? earnTokenPrice?.toString() : initPrice?.toString()\n\n const bonus = Math.round((bondConfig.tgePrice! / initPrice) * 100 - 100)\n\n const data: BondsData = {\n ...bondConfig,\n initialRelease: initialRelease / 10000,\n vestingTerm: parseInt(vestingTerm),\n trueBondPrices: [\n {\n points: '0',\n boost: 0,\n trueBondPrice: trueBillPrice?.toString(),\n bonus,\n bonusWithFee: bonus, // placeholder, wont be used\n discount: bonus, // placeholder, wont be used\n discountWithFee: bonus, // placeholder, wont be used\n },\n ],\n maxTotalPayout: maxTotalPayout?.toString(),\n totalPrincipalBilled: totalPrincipalBilled?.toString(),\n payoutTokenPrice,\n principalTokenPrice,\n totalRaise: totalRaise?.toString(),\n finalized: finalized[0],\n minPoints: minPoints.toString(),\n maxPoints: maxPoints.toString(),\n startVestingTimestamp: startVestingTimestamp?.toString(),\n initTime: { [bondConfig.chainId]: parseInt(terms[1]) },\n finishTime: parseInt(terms[0]),\n initPrice,\n soldOut: finalized[0] || (parseInt(terms[0]) ?? 0) < Date.now() / 1000 || bondConfig.soldOut,\n }\n return data\n })\n data.push(returnedBills)\n return data.flat()\n } catch (e) {\n console.error(e)\n reportError({\n apiUrl,\n error: e,\n extraInfo: { type: 'getLaunchBondsPublicData', preTGEBonds, chain, e },\n })\n return []\n }\n}\n\nexport const fetchBondsData = async (\n chainId: number,\n bills: BillsConfig[],\n apiUrl: string,\n tokenPrices?: TokenPrices[],\n priceApiUrl?: string,\n) => {\n if (!tokenPrices) return []\n try {\n const billIds: number[] = []\n const billCalls = bills.flatMap((bill) => {\n billIds.push(bill.index)\n return [\n {\n address: bill.contractAddress[bill.chainId] ?? '',\n name: bill.billVersion === BillVersion.V4 ? 'trueBondPrices' : 'trueBillPrice()',\n },\n {\n address: bill.contractAddress[bill.chainId] ?? '',\n name: 'totalPayoutGiven',\n },\n {\n address: bill.contractAddress[bill.chainId] ?? '',\n name: 'terms',\n },\n {\n address: bill.contractAddress[bill.chainId] ?? '',\n name: bill.billVersion !== BillVersion.V1 ? 'getMaxTotalPayout' : 'maxTotalPayout',\n },\n {\n address: bill.contractAddress[bill.chainId] ?? '',\n name: 'feeInPayout',\n },\n {\n address: bill.contractAddress[bill.chainId] ?? '',\n name: 'feeInPrincipal',\n },\n {\n address: bill.contractAddress[bill.chainId] ?? '',\n name: 'paused',\n },\n // keep custom treasury at the very last position\n {\n address: bill.contractAddress[bill.chainId] ?? '',\n name: 'customTreasury',\n },\n ]\n })\n const vals = await multicall(chainId, BOND_2_4_0, billCalls)\n\n // The following lines basically grab the values from customTreasury returned from bills contract and then,\n // appends the treasury contract's balance to the chunk that will be passed to cleanBillsData\n\n // appendIndex value assumes customTreasury will be at the end of the billCalls array\n const appendIndex = billCalls.length / bills.length\n const treasuryAddresses = vals\n .filter((_: any, i: number) => (i % appendIndex) + 1 === appendIndex)\n .map((customTreasury: string[]) => customTreasury[0])\n const treasuryBalanceCalls = treasuryAddresses.map((treasuryAddress: string, i: number) => ({\n address: bills?.[i]?.earnToken?.address?.[chainId as ChainId] ?? '',\n name: 'balanceOf',\n params: [treasuryAddress],\n }))\n const treasuryBalances = await multicall(chainId, ERC20ABI, treasuryBalanceCalls)\n const updatedVals = vals.reduce((acc: any, val: any, index: number) => {\n acc.push(val)\n if ((index + 1) % appendIndex === 0) {\n const pos = (index + 1) / appendIndex\n acc.push(treasuryBalances[pos - 1])\n }\n return acc\n }, [])\n\n //\n const chunkSize = updatedVals?.length / bills?.length\n const chunkedBills = chunk(updatedVals, chunkSize)\n\n return await cleanBillsData(billIds, chunkedBills, chainId, bills, tokenPrices, priceApiUrl)\n } catch (e) {\n console.error(e)\n reportError({\n apiUrl,\n error: e,\n extraInfo: { type: 'getBondsData', e },\n })\n return []\n }\n}\n\nconst cleanBillsData = async (\n billIds: number[],\n chunkedBills: any[],\n chainId: ChainId,\n bills: BillsConfig[],\n tokenPrices?: TokenPrices[],\n priceApiUrl?: string,\n): Promise<BondsData[]> => {\n const data: BondsData[] = await Promise.all(\n chunkedBills?.map(async (chunk, index) => {\n const bill = bills?.find((bill) => bill?.index === billIds[index]) as BillsConfig\n\n let principalTokenPrice = tokenPrices?.find(\n (tokenPrice) =>\n tokenPrice?.tokenAddress?.toLowerCase() === bill?.lpToken?.address?.[bill?.chainId]?.toLowerCase() &&\n tokenPrice?.chainId === chainId,\n )\n\n if (principalTokenPrice === undefined || !!principalTokenPrice.error) {\n try {\n // Missing token price, therefor make a single call to api to fetch it\n const res = await axios.get(\n `${priceApiUrl}/realtime/price?token=${bill?.lpToken?.address?.[bill?.chainId]}&chain=${bill?.chainId}`,\n )\n console.log('Individual call for: ', bill.lpToken.symbol, '. Price: ', res.data.price)\n principalTokenPrice = res.data\n } catch {\n console.error('Failed to fetch price for: ', bill.lpToken.symbol)\n }\n }\n\n let payoutTokenPrice = tokenPrices?.find(\n (tokenPrice) =>\n tokenPrice?.tokenAddress?.toLowerCase() === bill?.earnToken?.address?.[bill?.chainId]?.toLowerCase() &&\n tokenPrice?.chainId === chainId,\n )\n\n if (payoutTokenPrice === undefined || !!payoutTokenPrice.error) {\n try {\n // Missing token price, therefor make a single call to api to fetch it\n const res = await axios.get(\n `${priceApiUrl}/realtime/price?token=${bill?.earnToken?.address?.[bill?.chainId]}&chain=${bill?.chainId}`,\n )\n console.log('Individual call for: ', bill.earnToken.symbol, '. Price: ', res.data.price)\n payoutTokenPrice = res.data\n } catch {\n console.error('Failed to fetch price for: ', bill.earnToken.symbol)\n }\n }\n const lpPrice = principalTokenPrice?.price ?? 0\n const earnTokenPrice = payoutTokenPrice?.price ?? 0\n\n const [\n trueBillPriceFromChunk,\n totalPayoutGiven,\n terms,\n maxTotalPayout,\n feeInPayoutRaw,\n feeInPrincipalRaw,\n paused,\n ,\n customTreasuryBalance,\n ] = chunk\n const trueBillPrice = trueBillPriceFromChunk\n\n const feeInPayout = Number(feeInPayoutRaw / 10000)\n const feeInPrincipal = Number(feeInPrincipalRaw / 10000)\n const [, vestingTerm, , maxPayout] = terms\n const tokensRemaining = new BigNumber(maxTotalPayout ?? '0')\n .minus(new BigNumber(totalPayoutGiven))\n .div(new BigNumber(10).pow(bill?.earnToken.decimals[bill?.chainId] ?? 18))\n .toNumber()\n const treasuryBalance = getBalanceNumber(customTreasuryBalance, bill?.earnToken?.decimals?.[bill?.chainId] ?? 18)\n\n let trueBondPrices: TrueBondPrices[] = []\n if (bill?.billVersion === BillVersion.V4) {\n trueBondPrices = trueBillPrice[0].map((data: any) => {\n return {\n points: data?.points?.toString(),\n trueBondPrice: data?.trueBondPrice.toString(),\n bonus: getRawBonus(data?.trueBondPrice.toString(), lpPrice, earnTokenPrice),\n bonusWithFee: getBonusWithFee(feeInPayout, data?.trueBondPrice.toString(), lpPrice, earnTokenPrice),\n discount: getRawDiscount(data?.trueBondPrice.toString(), lpPrice, earnTokenPrice),\n discountWithFee: getDiscountWithFee(feeInPayout, data?.trueBondPrice.toString(), lpPrice, earnTokenPrice),\n boost: TIER_MAPPING[data?.points?.toString() as keyof typeof TIER_MAPPING],\n }\n })\n } else {\n const bonus = getRawBonus(trueBillPrice, lpPrice, earnTokenPrice)\n const bonusWithFee = getBonusWithFee(feeInPayout, trueBillPrice, lpPrice, earnTokenPrice)\n const discount = getRawDiscount(trueBillPrice, lpPrice, earnTokenPrice)\n const discountWithFee = getDiscountWithFee(feeInPayout, trueBillPrice, lpPrice, earnTokenPrice)\n trueBondPrices = [\n {\n points: '0',\n boost: 0,\n trueBondPrice: trueBillPrice.toString(),\n bonus,\n bonusWithFee,\n discount,\n discountWithFee,\n },\n ]\n }\n const cleanedData: BondsData = {\n ...bill,\n soldOut: paused[0] ? true : bill.soldOut,\n feeInPayout,\n feeInPrincipal,\n showcaseTokenName: bill?.showcaseToken?.symbol ?? bill?.earnToken.symbol ?? '',\n trueBondPrices,\n principalTokenPrice: lpPrice?.toString(),\n payoutTokenPrice: earnTokenPrice?.toString(),\n tokensRemaining: treasuryBalance\n ? Math.min(treasuryBalance, tokensRemaining).toString()\n : tokensRemaining.toString(),\n maxTotalPayout: maxTotalPayout?.toString(),\n maxPayout: maxPayout?.toString(),\n totalPayoutGiven: totalPayoutGiven?.toString(),\n vestingTerm: typeof vestingTerm === 'number' ? vestingTerm : parseInt(vestingTerm),\n }\n return cleanedData\n }),\n )\n return data\n}\n\nexport const getBonusWithFee = (\n feeInPayout: number,\n trueBillPrice: string,\n lpPrice: number,\n earnTokenPrice: number,\n) => {\n const fee = feeInPayout ?? 0\n const reverseFee = new BigNumber(fee / 100 / (1 - fee / 100))\n const trueBondPrice = new BigNumber(trueBillPrice).plus(new BigNumber(trueBillPrice).times(reverseFee))\n const priceUSDMinusFee = getBalanceNumber(trueBondPrice) * lpPrice\n const discountWithoutFee = ((earnTokenPrice - priceUSDMinusFee) / earnTokenPrice) * 100\n return discountWithoutFee > 0 ? (discountWithoutFee / (100 - discountWithoutFee)) * 100 : 0\n}\n\nconst getRawBonus = (trueBillPrice: any, lpPrice: number, earnTokenPrice: number) => {\n const priceUsd = getBalanceNumber(trueBillPrice.toString()) * lpPrice\n const discount: number = ((earnTokenPrice - priceUsd) / earnTokenPrice) * 100\n return discount > 0 ? (discount / (100 - discount)) * 100 : 0\n}\n\nconst getRawDiscount = (trueBillPrice: any, lpPrice: number, earnTokenPrice: number) => {\n const trueBondPrice = getBalanceNumber(trueBillPrice.toString())\n\n return ((earnTokenPrice - lpPrice * trueBondPrice) / earnTokenPrice) * 100\n}\n\nconst getDiscountWithFee = (feeInPayout: number, trueBillPrice: any, lpPrice: number, earnTokenPrice: number) => {\n const trueBondPrice = getBalanceNumber(trueBillPrice.toString())\n const trueBondPriceWithFee = trueBondPrice * (1 / ((100 - (feeInPayout ?? 0)) / 100))\n\n return ((earnTokenPrice - lpPrice * trueBondPriceWithFee) / earnTokenPrice) * 100\n}\n"],"names":["launchBondsABI_V2_4_1","BOND_2_4_0","ERC20ABI"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../src/state/bonds/utils.ts"],"sourcesContent":["import { BondsData, TrueBondPrices } from '../../types/bonds'\nimport { getBalanceNumber } from '../../utils/getBalanceNumber'\nimport { BillsConfig, BillVersion, ChainId, PreTGEConfig } from '@ape.swap/apeswap-lists'\nimport { TokenPrices } from '../tokenPrices/useTokenPrices'\nimport multicall from '../../utils/multicall'\nimport launchBondsABI_V2_4_1 from '../../config/abi/launchBond_v2_4_1.json'\nimport BOND_2_4_0 from '../../config/abi/BOND_2_4_0.json'\nimport ERC20ABI from '../../config/abi/erc20.json'\nimport { reportError } from '../../utils/reportError'\nimport BigNumber from 'bignumber.js'\nimport axios from 'axios'\nimport { TIER_MAPPING } from '../tiers/useTierPoints'\nimport { chunk } from 'lodash'\n\nexport const fetchBondsDataPreTGE = async (\n chain: number,\n tokenPrices: Partial<Record<ChainId, TokenPrices[]>>,\n preTGEBonds: PreTGEConfig[],\n apiUrl?: string,\n): Promise<BondsData[]> => {\n try {\n if (!preTGEBonds?.length) return []\n const data = []\n const chainId = chain as ChainId\n\n const preTGEBondsIds: number[] = []\n const launchBondsCalls = preTGEBonds.flatMap((bond) => {\n preTGEBondsIds.push(bond.index)\n const bill = bond\n return [\n {\n address: bill.contractAddress[bill.chainId] as string,\n name: 'trueBillPrice',\n },\n {\n address: bill.contractAddress[bill.chainId] as string,\n name: 'terms',\n },\n {\n address: bill.contractAddress[bill.chainId] as string,\n name: 'totalPrincipalBilled',\n },\n {\n address: bill.contractAddress[bill.chainId] as string,\n name: 'finalized',\n },\n {\n address: bill.contractAddress[bill.chainId] as string,\n name: 'minPoints',\n },\n {\n address: bill.contractAddress[bill.chainId] as string,\n name: 'maxPoints',\n },\n {\n address: bill.contractAddress[bill.chainId] as string,\n name: 'startVestingTimestamp',\n },\n ]\n })\n const vals = await multicall(chainId, launchBondsABI_V2_4_1, launchBondsCalls)\n const chunkSize = vals.length / preTGEBonds.length\n const chunkedBills = chunk(vals, chunkSize)\n const returnedBills = chunkedBills?.map((chunk: any, index) => {\n const bondConfig = preTGEBonds?.find((bill) => bill?.index === preTGEBondsIds[index])!\n\n const [trueBillPrice, terms, totalPrincipalBilled, finalized, minPoints, maxPoints, startVestingTimestamp] = chunk\n const [, , vestingTerm, , , initialRelease, totalRaise, maxTotalPayout] = terms\n\n const initPrice = getBalanceNumber(\n trueBillPrice,\n bondConfig?.lpToken?.decimals?.[bondConfig?.chainId as ChainId] ?? 18,\n )\n\n const lpPrice =\n tokenPrices?.[bondConfig?.chainId]?.find(\n (tokenPrice) =>\n tokenPrice?.tokenAddress?.toLowerCase() ===\n bondConfig?.lpToken?.address?.[bondConfig?.chainId]?.toLowerCase(),\n )?.price ?? 0\n const earnTokenPrice =\n tokenPrices?.[bondConfig?.chainId]?.find(\n (tokenPrice) =>\n tokenPrice?.tokenAddress?.toLowerCase() ===\n bondConfig?.earnToken?.address?.[bondConfig?.chainId]?.toLowerCase(),\n )?.price ?? 0\n\n const principalTokenPrice = lpPrice?.toString() ?? '0'\n const payoutTokenPrice = earnTokenPrice ? earnTokenPrice?.toString() : initPrice?.toString()\n\n const bonus = Math.round((bondConfig.tgePrice! / initPrice) * 100 - 100)\n\n const data: BondsData = {\n ...bondConfig,\n initialRelease: initialRelease / 10000,\n vestingTerm: parseInt(vestingTerm),\n trueBondPrices: [\n {\n points: '0',\n boost: 0,\n trueBondPrice: trueBillPrice?.toString(),\n bonus,\n bonusWithFee: bonus, // placeholder, wont be used\n discount: bonus, // placeholder, wont be used\n discountWithFee: bonus, // placeholder, wont be used\n },\n ],\n maxTotalPayout: maxTotalPayout?.toString(),\n totalPrincipalBilled: totalPrincipalBilled?.toString(),\n payoutTokenPrice,\n principalTokenPrice,\n totalRaise: totalRaise?.toString(),\n finalized: finalized[0],\n minPoints: minPoints.toString(),\n maxPoints: maxPoints.toString(),\n startVestingTimestamp: startVestingTimestamp?.toString(),\n initTime: { [bondConfig.chainId]: parseInt(terms[1]) },\n finishTime: parseInt(terms[0]),\n initPrice,\n soldOut: finalized[0] || (parseInt(terms[0]) ?? 0) < Date.now() / 1000 || bondConfig.soldOut,\n }\n return data\n })\n data.push(returnedBills)\n return data.flat()\n } catch (e) {\n console.error(e)\n reportError({\n apiUrl,\n error: e,\n extraInfo: { type: 'getLaunchBondsPublicData', preTGEBonds, chain, e },\n })\n return []\n }\n}\n\nexport const fetchBondsData = async (\n chainId: number,\n bills: BillsConfig[],\n apiUrl: string,\n tokenPrices?: TokenPrices[],\n priceApiUrl?: string,\n) => {\n try {\n const billIds: number[] = []\n const billCalls = bills.flatMap((bill) => {\n billIds.push(bill.index)\n return [\n {\n address: bill.contractAddress[bill.chainId] ?? '',\n name: bill.billVersion === BillVersion.V4 ? 'trueBondPrices' : 'trueBillPrice()',\n },\n {\n address: bill.contractAddress[bill.chainId] ?? '',\n name: 'totalPayoutGiven',\n },\n {\n address: bill.contractAddress[bill.chainId] ?? '',\n name: 'terms',\n },\n {\n address: bill.contractAddress[bill.chainId] ?? '',\n name: bill.billVersion !== BillVersion.V1 ? 'getMaxTotalPayout' : 'maxTotalPayout',\n },\n {\n address: bill.contractAddress[bill.chainId] ?? '',\n name: 'feeInPayout',\n },\n {\n address: bill.contractAddress[bill.chainId] ?? '',\n name: 'feeInPrincipal',\n },\n {\n address: bill.contractAddress[bill.chainId] ?? '',\n name: 'paused',\n },\n // keep custom treasury at the very last position\n {\n address: bill.contractAddress[bill.chainId] ?? '',\n name: 'customTreasury',\n },\n ]\n })\n const vals = await multicall(chainId, BOND_2_4_0, billCalls)\n\n // The following lines basically grab the values from customTreasury returned from bills contract and then,\n // appends the treasury contract's balance to the chunk that will be passed to cleanBillsData\n\n // appendIndex value assumes customTreasury will be at the end of the billCalls array\n const appendIndex = billCalls.length / bills.length\n const treasuryAddresses = vals\n .filter((_: any, i: number) => (i % appendIndex) + 1 === appendIndex)\n .map((customTreasury: string[]) => customTreasury[0])\n const treasuryBalanceCalls = treasuryAddresses.map((treasuryAddress: string, i: number) => ({\n address: bills?.[i]?.earnToken?.address?.[chainId as ChainId] ?? '',\n name: 'balanceOf',\n params: [treasuryAddress],\n }))\n const treasuryBalances = await multicall(chainId, ERC20ABI, treasuryBalanceCalls)\n const updatedVals = vals.reduce((acc: any, val: any, index: number) => {\n acc.push(val)\n if ((index + 1) % appendIndex === 0) {\n const pos = (index + 1) / appendIndex\n acc.push(treasuryBalances[pos - 1])\n }\n return acc\n }, [])\n\n //\n const chunkSize = updatedVals?.length / bills?.length\n const chunkedBills = chunk(updatedVals, chunkSize)\n\n return await cleanBillsData(billIds, chunkedBills, chainId, bills, tokenPrices, priceApiUrl)\n } catch (e) {\n console.error(e)\n reportError({\n apiUrl,\n error: e,\n extraInfo: { type: 'getBondsData', e },\n })\n return []\n }\n}\n\nconst cleanBillsData = async (\n billIds: number[],\n chunkedBills: any[],\n chainId: ChainId,\n bills: BillsConfig[],\n tokenPrices?: TokenPrices[],\n priceApiUrl?: string,\n): Promise<BondsData[]> => {\n const data: BondsData[] = await Promise.all(\n chunkedBills?.map(async (chunk, index) => {\n const bill = bills?.find((bill) => bill?.index === billIds[index]) as BillsConfig\n\n let principalTokenPrice = tokenPrices?.find(\n (tokenPrice) =>\n tokenPrice?.tokenAddress?.toLowerCase() === bill?.lpToken?.address?.[bill?.chainId]?.toLowerCase() &&\n tokenPrice?.chainId === chainId,\n )\n\n if (principalTokenPrice === undefined || !!principalTokenPrice.error) {\n try {\n // Missing token price, therefor make a single call to api to fetch it\n const res = await axios.get(\n `${priceApiUrl}/realtime/price?token=${bill?.lpToken?.address?.[bill?.chainId]}&chain=${bill?.chainId}`,\n )\n console.log('Individual call for: ', bill.lpToken.symbol, '. Price: ', res.data.price)\n principalTokenPrice = res.data\n } catch {\n console.error('Failed to fetch price for: ', bill.lpToken.symbol)\n }\n }\n\n let payoutTokenPrice = tokenPrices?.find(\n (tokenPrice) =>\n tokenPrice?.tokenAddress?.toLowerCase() === bill?.earnToken?.address?.[bill?.chainId]?.toLowerCase() &&\n tokenPrice?.chainId === chainId,\n )\n\n if (payoutTokenPrice === undefined || !!payoutTokenPrice.error) {\n try {\n // Missing token price, therefor make a single call to api to fetch it\n const res = await axios.get(\n `${priceApiUrl}/realtime/price?token=${bill?.earnToken?.address?.[bill?.chainId]}&chain=${bill?.chainId}`,\n )\n console.log('Individual call for: ', bill.earnToken.symbol, '. Price: ', res.data.price)\n payoutTokenPrice = res.data\n } catch {\n console.error('Failed to fetch price for: ', bill.earnToken.symbol)\n }\n }\n const lpPrice = principalTokenPrice?.price ?? 0\n const earnTokenPrice = payoutTokenPrice?.price ?? 0\n\n const [\n trueBillPriceFromChunk,\n totalPayoutGiven,\n terms,\n maxTotalPayout,\n feeInPayoutRaw,\n feeInPrincipalRaw,\n paused,\n ,\n customTreasuryBalance,\n ] = chunk\n const trueBillPrice = trueBillPriceFromChunk\n\n const feeInPayout = Number(feeInPayoutRaw / 10000)\n const feeInPrincipal = Number(feeInPrincipalRaw / 10000)\n const [, vestingTerm, , maxPayout] = terms\n const tokensRemaining = new BigNumber(maxTotalPayout ?? '0')\n .minus(new BigNumber(totalPayoutGiven))\n .div(new BigNumber(10).pow(bill?.earnToken.decimals[bill?.chainId] ?? 18))\n .toNumber()\n const treasuryBalance = getBalanceNumber(customTreasuryBalance, bill?.earnToken?.decimals?.[bill?.chainId] ?? 18)\n\n let trueBondPrices: TrueBondPrices[] = []\n if (bill?.billVersion === BillVersion.V4) {\n trueBondPrices = trueBillPrice[0].map((data: any) => {\n return {\n points: data?.points?.toString(),\n trueBondPrice: data?.trueBondPrice.toString(),\n bonus: getRawBonus(data?.trueBondPrice.toString(), lpPrice, earnTokenPrice),\n bonusWithFee: getBonusWithFee(feeInPayout, data?.trueBondPrice.toString(), lpPrice, earnTokenPrice),\n discount: getRawDiscount(data?.trueBondPrice.toString(), lpPrice, earnTokenPrice),\n discountWithFee: getDiscountWithFee(feeInPayout, data?.trueBondPrice.toString(), lpPrice, earnTokenPrice),\n boost: TIER_MAPPING[data?.points?.toString() as keyof typeof TIER_MAPPING],\n }\n })\n } else {\n const bonus = getRawBonus(trueBillPrice, lpPrice, earnTokenPrice)\n const bonusWithFee = getBonusWithFee(feeInPayout, trueBillPrice, lpPrice, earnTokenPrice)\n const discount = getRawDiscount(trueBillPrice, lpPrice, earnTokenPrice)\n const discountWithFee = getDiscountWithFee(feeInPayout, trueBillPrice, lpPrice, earnTokenPrice)\n trueBondPrices = [\n {\n points: '0',\n boost: 0,\n trueBondPrice: trueBillPrice.toString(),\n bonus,\n bonusWithFee,\n discount,\n discountWithFee,\n },\n ]\n }\n const cleanedData: BondsData = {\n ...bill,\n soldOut: paused[0] ? true : bill.soldOut,\n feeInPayout,\n feeInPrincipal,\n showcaseTokenName: bill?.showcaseToken?.symbol ?? bill?.earnToken.symbol ?? '',\n trueBondPrices,\n principalTokenPrice: lpPrice?.toString(),\n payoutTokenPrice: earnTokenPrice?.toString(),\n tokensRemaining: treasuryBalance\n ? Math.min(treasuryBalance, tokensRemaining).toString()\n : tokensRemaining.toString(),\n maxTotalPayout: maxTotalPayout?.toString(),\n maxPayout: maxPayout?.toString(),\n totalPayoutGiven: totalPayoutGiven?.toString(),\n vestingTerm: typeof vestingTerm === 'number' ? vestingTerm : parseInt(vestingTerm),\n }\n return cleanedData\n }),\n )\n return data\n}\n\nexport const getBonusWithFee = (\n feeInPayout: number,\n trueBillPrice: string,\n lpPrice: number,\n earnTokenPrice: number,\n) => {\n const fee = feeInPayout ?? 0\n const reverseFee = new BigNumber(fee / 100 / (1 - fee / 100))\n const trueBondPrice = new BigNumber(trueBillPrice).plus(new BigNumber(trueBillPrice).times(reverseFee))\n const priceUSDMinusFee = getBalanceNumber(trueBondPrice) * lpPrice\n const discountWithoutFee = ((earnTokenPrice - priceUSDMinusFee) / earnTokenPrice) * 100\n return discountWithoutFee > 0 ? (discountWithoutFee / (100 - discountWithoutFee)) * 100 : 0\n}\n\nconst getRawBonus = (trueBillPrice: any, lpPrice: number, earnTokenPrice: number) => {\n const priceUsd = getBalanceNumber(trueBillPrice.toString()) * lpPrice\n const discount: number = ((earnTokenPrice - priceUsd) / earnTokenPrice) * 100\n return discount > 0 ? (discount / (100 - discount)) * 100 : 0\n}\n\nconst getRawDiscount = (trueBillPrice: any, lpPrice: number, earnTokenPrice: number) => {\n const trueBondPrice = getBalanceNumber(trueBillPrice.toString())\n\n return ((earnTokenPrice - lpPrice * trueBondPrice) / earnTokenPrice) * 100\n}\n\nconst getDiscountWithFee = (feeInPayout: number, trueBillPrice: any, lpPrice: number, earnTokenPrice: number) => {\n const trueBondPrice = getBalanceNumber(trueBillPrice.toString())\n const trueBondPriceWithFee = trueBondPrice * (1 / ((100 - (feeInPayout ?? 0)) / 100))\n\n return ((earnTokenPrice - lpPrice * trueBondPriceWithFee) / earnTokenPrice) * 100\n}\n"],"names":["launchBondsABI_V2_4_1","BOND_2_4_0","ERC20ABI"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useQuery } from '@tanstack/react-query';
|
|
2
2
|
import { QUERY_KEYS } from '../../config/constants/queryKeys.js';
|
|
3
3
|
import multicall from '../../utils/multicall.js';
|
|
4
|
-
import
|
|
4
|
+
import LaunchBondABI_V_2_4_1 from '../../config/abi/launchBond_v2_4_1.json.js';
|
|
5
5
|
import BigNumber from 'bignumber.js';
|
|
6
6
|
import { reportError } from '../../utils/reportError.js';
|
|
7
7
|
import { useURLByEnvironment, useSDKConfig } from '../useSDKConfig.js';
|
|
@@ -58,7 +58,7 @@ const fetchPreTGEUserBonds = async (chains, tokenPrices, preTGEList, account, ap
|
|
|
58
58
|
name: 'trueBillPrice',
|
|
59
59
|
},
|
|
60
60
|
];
|
|
61
|
-
const res = await multicall(bond.chainId,
|
|
61
|
+
const res = await multicall(bond.chainId, LaunchBondABI_V_2_4_1, calls);
|
|
62
62
|
const billId = res?.[0]?.[0]?.[0]?.toString();
|
|
63
63
|
let userOwnedBillsData;
|
|
64
64
|
if (billId) {
|
|
@@ -78,7 +78,7 @@ const fetchPreTGEUserBonds = async (chains, tokenPrices, preTGEList, account, ap
|
|
|
78
78
|
params: [billId],
|
|
79
79
|
},
|
|
80
80
|
];
|
|
81
|
-
const billData = await multicall(bond.chainId,
|
|
81
|
+
const billData = await multicall(bond.chainId, LaunchBondABI_V_2_4_1, billDataCalls);
|
|
82
82
|
userOwnedBillsData = {
|
|
83
83
|
address: bond.contractAddress[bond.chainId] ?? '',
|
|
84
84
|
id: billId,
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { ChainId } from '@ape.swap/apeswap-lists';
|
|
2
|
+
export interface OpenWalletConnectorsDTO {
|
|
3
|
+
evm?: () => void;
|
|
4
|
+
}
|
|
2
5
|
export interface SDKPropsDTO {
|
|
3
6
|
referenceId: string;
|
|
4
7
|
chains: number[];
|
|
5
8
|
hotBondChains?: number[];
|
|
6
|
-
connector?: 'rainbowkit' | 'appkit' | 'default';
|
|
7
9
|
useHotBonds?: boolean;
|
|
8
10
|
useTiers?: boolean;
|
|
9
11
|
useTGEBonds?: boolean;
|
|
@@ -14,12 +16,13 @@ export interface SDKPropsDTO {
|
|
|
14
16
|
theme?: any;
|
|
15
17
|
highestCompatibleVersion?: string;
|
|
16
18
|
customRPCS?: Partial<Record<ChainId, string[]>>;
|
|
19
|
+
openWalletConnectors?: OpenWalletConnectorsDTO;
|
|
20
|
+
customBranch?: string;
|
|
17
21
|
}
|
|
18
22
|
export interface SDKProps {
|
|
19
23
|
referenceId: string;
|
|
20
24
|
chains: number[];
|
|
21
25
|
hotBondChains: number[];
|
|
22
|
-
connector?: 'rainbowkit' | 'appkit' | 'default';
|
|
23
26
|
useHotBonds: boolean;
|
|
24
27
|
useTiers: boolean;
|
|
25
28
|
useTGEBonds: boolean;
|
|
@@ -30,6 +33,10 @@ export interface SDKProps {
|
|
|
30
33
|
theme?: any;
|
|
31
34
|
highestCompatibleVersion?: string;
|
|
32
35
|
customRPCS?: Partial<Record<ChainId, string[]>>;
|
|
36
|
+
openWalletConnectors: {
|
|
37
|
+
evm: boolean;
|
|
38
|
+
};
|
|
39
|
+
customBranch?: string;
|
|
33
40
|
}
|
|
34
41
|
export declare const useSDKConfig: (config?: SDKPropsDTO) => SDKProps;
|
|
35
42
|
export type URLKeys = 'apiV2' | 'realTimeApi' | 'mainUrl' | 'priceApi';
|
|
@@ -3,6 +3,7 @@ import { QUERY_KEYS } from '../config/constants/queryKeys.js';
|
|
|
3
3
|
import { ChainId } from '@ape.swap/apeswap-lists';
|
|
4
4
|
import { useEffect } from 'react';
|
|
5
5
|
import { setCustomRPCS } from '../config/constants/networks.js';
|
|
6
|
+
import { setWalletConnectorOpener } from '../config/constants/walletConnectors.js';
|
|
6
7
|
|
|
7
8
|
// Prod URLS. Do not make changes here
|
|
8
9
|
const defaultUrls = {
|
|
@@ -20,26 +21,41 @@ const stagingUrls = {
|
|
|
20
21
|
};
|
|
21
22
|
const useSDKConfig = (config) => {
|
|
22
23
|
const urls = process.env.NODE_ENV === 'production' ? defaultUrls : stagingUrls;
|
|
24
|
+
// making sure no strings are set as chains
|
|
25
|
+
const validatedChains = config?.chains?.map((n) => {
|
|
26
|
+
const num = Number(n);
|
|
27
|
+
if (isNaN(num)) {
|
|
28
|
+
throw new Error(`Could not parse chain ID: ${n}`);
|
|
29
|
+
}
|
|
30
|
+
return num;
|
|
31
|
+
});
|
|
23
32
|
const initialData = {
|
|
24
33
|
referenceId: '',
|
|
25
|
-
chains: [],
|
|
26
34
|
hotBondChains: [ChainId.BSC, ChainId.MATIC],
|
|
27
35
|
useHotBonds: true,
|
|
28
|
-
connector: 'default',
|
|
29
36
|
useTiers: false,
|
|
30
37
|
useTGEBonds: false,
|
|
31
38
|
showLowValueBonds: false,
|
|
32
39
|
bondPartner: undefined,
|
|
33
40
|
namingPreference: 'Bonus',
|
|
34
41
|
...config,
|
|
42
|
+
chains: validatedChains || [],
|
|
43
|
+
openWalletConnectors: {
|
|
44
|
+
evm: !!config?.openWalletConnectors?.evm,
|
|
45
|
+
},
|
|
35
46
|
urls: { ...urls, ...config?.urls },
|
|
36
47
|
highestCompatibleVersion: '2.1.3',
|
|
37
48
|
};
|
|
49
|
+
const evmConnectorOpener = config?.openWalletConnectors?.evm;
|
|
38
50
|
useEffect(() => {
|
|
39
51
|
if (config?.customRPCS) {
|
|
40
52
|
setCustomRPCS(config.customRPCS);
|
|
41
53
|
}
|
|
42
|
-
|
|
54
|
+
if (evmConnectorOpener) {
|
|
55
|
+
console.log('set evm wallet opener');
|
|
56
|
+
setWalletConnectorOpener('evm', evmConnectorOpener);
|
|
57
|
+
}
|
|
58
|
+
}, [config?.customRPCS, evmConnectorOpener]);
|
|
43
59
|
const { data } = useQuery({
|
|
44
60
|
queryKey: [QUERY_KEYS.SDK_CONFIG],
|
|
45
61
|
queryFn: () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSDKConfig.js","sources":["../../src/state/useSDKConfig.ts"],"sourcesContent":["import { useQuery } from '@tanstack/react-query'\nimport { QUERY_KEYS } from '../config/constants/queryKeys'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport { useEffect } from 'react'\nimport { setCustomRPCS } from '../config/constants/networks'\n\n// Prod URLS. Do not make changes here\nconst defaultUrls = {\n apiV2: 'https://api.ape.bond',\n realTimeApi: 'https://realtime-api.ape.bond',\n mainUrl: 'https://ape.bond',\n priceApi: 'https://price-api.ape.bond',\n}\n\n// Staging URLS.\nconst stagingUrls = {\n apiV2: 'https://staging-api.ape.bond',\n realTimeApi: 'https://realtime-api-staging.ape.bond',\n mainUrl: 'https://staging.ape.bond',\n priceApi: 'https://price-api.ape.bond',\n}\n\nexport interface SDKPropsDTO {\n referenceId: string\n chains: number[]\n hotBondChains?: number[]\n
|
|
1
|
+
{"version":3,"file":"useSDKConfig.js","sources":["../../src/state/useSDKConfig.ts"],"sourcesContent":["import { useQuery } from '@tanstack/react-query'\nimport { QUERY_KEYS } from '../config/constants/queryKeys'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport { useEffect } from 'react'\nimport { setCustomRPCS } from '../config/constants/networks'\nimport { setWalletConnectorOpener } from '../config/constants/walletConnectors'\n\n// Prod URLS. Do not make changes here\nconst defaultUrls = {\n apiV2: 'https://api.ape.bond',\n realTimeApi: 'https://realtime-api.ape.bond',\n mainUrl: 'https://ape.bond',\n priceApi: 'https://price-api.ape.bond',\n}\n\n// Staging URLS.\nconst stagingUrls = {\n apiV2: 'https://staging-api.ape.bond',\n realTimeApi: 'https://realtime-api-staging.ape.bond',\n mainUrl: 'https://staging.ape.bond',\n priceApi: 'https://price-api.ape.bond',\n}\n\nexport interface OpenWalletConnectorsDTO {\n evm?: () => void\n}\n\nexport interface SDKPropsDTO {\n referenceId: string\n chains: number[]\n hotBondChains?: number[]\n useHotBonds?: boolean\n useTiers?: boolean\n useTGEBonds?: boolean\n showLowValueBonds?: boolean\n bondPartner?: string\n namingPreference?: 'Discount' | 'Bonus'\n urls?: Partial<Record<URLKeys, string>>\n theme?: any\n highestCompatibleVersion?: string\n customRPCS?: Partial<Record<ChainId, string[]>>\n openWalletConnectors?: OpenWalletConnectorsDTO\n customBranch?: string\n}\n\nexport interface SDKProps {\n referenceId: string\n chains: number[]\n hotBondChains: number[]\n useHotBonds: boolean\n useTiers: boolean\n useTGEBonds: boolean\n showLowValueBonds: boolean\n bondPartner?: string\n namingPreference: 'Discount' | 'Bonus'\n urls: Record<URLKeys, string>\n theme?: any\n highestCompatibleVersion?: string\n customRPCS?: Partial<Record<ChainId, string[]>>\n openWalletConnectors: {\n evm: boolean\n }\n customBranch?: string\n}\n\nexport const useSDKConfig = (config?: SDKPropsDTO): SDKProps => {\n const urls = process.env.NODE_ENV === 'production' ? defaultUrls : stagingUrls\n\n // making sure no strings are set as chains\n const validatedChains = config?.chains?.map((n) => {\n const num = Number(n)\n if (isNaN(num)) {\n throw new Error(`Could not parse chain ID: ${n}`)\n }\n return num\n })\n\n const initialData: SDKProps = {\n referenceId: '',\n hotBondChains: [ChainId.BSC, ChainId.MATIC],\n useHotBonds: true,\n useTiers: false,\n useTGEBonds: false,\n showLowValueBonds: false,\n bondPartner: undefined,\n namingPreference: 'Bonus',\n ...config,\n chains: validatedChains || [],\n openWalletConnectors: {\n evm: !!config?.openWalletConnectors?.evm,\n },\n urls: { ...urls, ...config?.urls },\n highestCompatibleVersion: '2.1.3',\n }\n\n const evmConnectorOpener = config?.openWalletConnectors?.evm\n\n useEffect(() => {\n if (config?.customRPCS) {\n setCustomRPCS(config.customRPCS)\n }\n if (evmConnectorOpener) {\n console.log('set evm wallet opener')\n setWalletConnectorOpener('evm', evmConnectorOpener)\n }\n }, [config?.customRPCS, evmConnectorOpener])\n\n const { data } = useQuery({\n queryKey: [QUERY_KEYS.SDK_CONFIG],\n queryFn: () => {\n throw new Error('Just a hotfix for latest versions of react-query that make queryFn a required prop')\n },\n initialData,\n })\n return data as SDKProps\n}\n\nexport type URLKeys = 'apiV2' | 'realTimeApi' | 'mainUrl' | 'priceApi'\n\nexport const useURLByEnvironment = (key: URLKeys) => {\n const config = useSDKConfig()\n return config?.urls?.[key] as string\n}\n"],"names":[],"mappings":";;;;;;;AAOA;AACA,MAAM,WAAW,GAAG;AAClB,IAAA,KAAK,EAAE,sBAAsB;AAC7B,IAAA,WAAW,EAAE,+BAA+B;AAC5C,IAAA,OAAO,EAAE,kBAAkB;AAC3B,IAAA,QAAQ,EAAE,4BAA4B;CACvC;AAED;AACA,MAAM,WAAW,GAAG;AAClB,IAAA,KAAK,EAAE,8BAA8B;AACrC,IAAA,WAAW,EAAE,uCAAuC;AACpD,IAAA,OAAO,EAAE,0BAA0B;AACnC,IAAA,QAAQ,EAAE,4BAA4B;CACvC;AA4CM,MAAM,YAAY,GAAG,CAAC,MAAoB,KAAc;AAC7D,IAAA,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,GAAG,WAAW,GAAG,WAAW;;IAG9E,MAAM,eAAe,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,KAAI;AAChD,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC;AACrB,QAAA,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;AACd,YAAA,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA,CAAE,CAAC;QACnD;AACA,QAAA,OAAO,GAAG;AACZ,IAAA,CAAC,CAAC;AAEF,IAAA,MAAM,WAAW,GAAa;AAC5B,QAAA,WAAW,EAAE,EAAE;QACf,aAAa,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC;AAC3C,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,iBAAiB,EAAE,KAAK;AACxB,QAAA,WAAW,EAAE,SAAS;AACtB,QAAA,gBAAgB,EAAE,OAAO;AACzB,QAAA,GAAG,MAAM;QACT,MAAM,EAAE,eAAe,IAAI,EAAE;AAC7B,QAAA,oBAAoB,EAAE;AACpB,YAAA,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,oBAAoB,EAAE,GAAG;AACzC,SAAA;QACD,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE;AAClC,QAAA,wBAAwB,EAAE,OAAO;KAClC;AAED,IAAA,MAAM,kBAAkB,GAAG,MAAM,EAAE,oBAAoB,EAAE,GAAG;IAE5D,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,MAAM,EAAE,UAAU,EAAE;AACtB,YAAA,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC;QAClC;QACA,IAAI,kBAAkB,EAAE;AACtB,YAAA,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;AACpC,YAAA,wBAAwB,CAAC,KAAK,EAAE,kBAAkB,CAAC;QACrD;IACF,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC;AAE5C,IAAA,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;AACxB,QAAA,QAAQ,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;QACjC,OAAO,EAAE,MAAK;AACZ,YAAA,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC;QACvG,CAAC;QACD,WAAW;AACZ,KAAA,CAAC;AACF,IAAA,OAAO,IAAgB;AACzB;AAIO,MAAM,mBAAmB,GAAG,CAAC,GAAY,KAAI;AAClD,IAAA,MAAM,MAAM,GAAG,YAAY,EAAE;AAC7B,IAAA,OAAO,MAAM,EAAE,IAAI,GAAG,GAAG,CAAW;AACtC;;;;"}
|
|
@@ -9,7 +9,8 @@ declare enum NetworkNames {
|
|
|
9
9
|
AVAX = "ava",
|
|
10
10
|
BLAST = "bls",
|
|
11
11
|
SONIC = "son",
|
|
12
|
-
BERACHAIN = "ber"
|
|
12
|
+
BERACHAIN = "ber",
|
|
13
|
+
ROBINHOOD = "rob"
|
|
13
14
|
}
|
|
14
15
|
export declare const getChainParam: (chain?: ChainId) => NetworkNames | null;
|
|
15
16
|
export declare const getLpType: (protocol?: Protocols) => "ichi" | "solidly" | "univ2" | "curve" | null;
|
|
@@ -12,6 +12,7 @@ var NetworkNames;
|
|
|
12
12
|
NetworkNames["BLAST"] = "bls";
|
|
13
13
|
NetworkNames["SONIC"] = "son";
|
|
14
14
|
NetworkNames["BERACHAIN"] = "ber";
|
|
15
|
+
NetworkNames["ROBINHOOD"] = "rob";
|
|
15
16
|
})(NetworkNames || (NetworkNames = {}));
|
|
16
17
|
const getChainParam = (chain) => {
|
|
17
18
|
return chain === ChainId.LINEA
|
|
@@ -34,7 +35,9 @@ const getChainParam = (chain) => {
|
|
|
34
35
|
? NetworkNames.SONIC
|
|
35
36
|
: chain === ChainId.BERACHAIN
|
|
36
37
|
? NetworkNames.BERACHAIN
|
|
37
|
-
:
|
|
38
|
+
: chain === ChainId.ROBINHOOD
|
|
39
|
+
? NetworkNames.ROBINHOOD
|
|
40
|
+
: null;
|
|
38
41
|
};
|
|
39
42
|
const getLpType = (protocol) => {
|
|
40
43
|
return protocol === Protocols.Algebra
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getChainParam.js","sources":["../../../src/state/zap/getChainParam.ts"],"sourcesContent":["import { ChainId, Protocols } from '@ape.swap/apeswap-lists'\n\nenum NetworkNames {\n MAINNET = 'eth',\n BNB = 'bnb',\n POLYGON = 'pol',\n ARBITRUM = 'arb',\n LINEA = 'lna',\n BASE = 'bas',\n AVAX = 'ava',\n BLAST = 'bls',\n SONIC = 'son',\n BERACHAIN = 'ber',\n}\n\nexport const getChainParam = (chain?: ChainId): NetworkNames | null => {\n return chain === ChainId.LINEA\n ? NetworkNames.LINEA\n : chain === ChainId.MATIC\n ? NetworkNames.POLYGON\n : chain === ChainId.BSC\n ? NetworkNames.BNB\n : chain === ChainId.BASE\n ? NetworkNames.BASE\n : chain === ChainId.ARBITRUM\n ? NetworkNames.ARBITRUM\n : chain === ChainId.MAINNET\n ? NetworkNames.MAINNET\n : chain === ChainId.AVAX\n ? NetworkNames.AVAX\n : chain === ChainId.BLAST\n ? NetworkNames.BLAST\n : chain === ChainId.SONIC\n ? NetworkNames.SONIC\n : chain === ChainId.BERACHAIN\n ? NetworkNames.BERACHAIN\n : null\n}\n\nexport const getLpType = (protocol?: Protocols): 'ichi' | 'solidly' | 'univ2' | 'curve' | null => {\n return protocol === Protocols.Algebra\n ? 'ichi'\n : protocol === Protocols.Solidly\n ? 'solidly'\n : protocol === Protocols.V2\n ? 'univ2'\n : protocol === Protocols.V3 // This might be a hot fix. Lets revisit this on the future\n ? 'ichi'\n : protocol === Protocols.Curve\n ? 'curve'\n : null\n}\n"],"names":[],"mappings":";;AAEA,IAAK,
|
|
1
|
+
{"version":3,"file":"getChainParam.js","sources":["../../../src/state/zap/getChainParam.ts"],"sourcesContent":["import { ChainId, Protocols } from '@ape.swap/apeswap-lists'\n\nenum NetworkNames {\n MAINNET = 'eth',\n BNB = 'bnb',\n POLYGON = 'pol',\n ARBITRUM = 'arb',\n LINEA = 'lna',\n BASE = 'bas',\n AVAX = 'ava',\n BLAST = 'bls',\n SONIC = 'son',\n BERACHAIN = 'ber',\n ROBINHOOD = 'rob',\n}\n\nexport const getChainParam = (chain?: ChainId): NetworkNames | null => {\n return chain === ChainId.LINEA\n ? NetworkNames.LINEA\n : chain === ChainId.MATIC\n ? NetworkNames.POLYGON\n : chain === ChainId.BSC\n ? NetworkNames.BNB\n : chain === ChainId.BASE\n ? NetworkNames.BASE\n : chain === ChainId.ARBITRUM\n ? NetworkNames.ARBITRUM\n : chain === ChainId.MAINNET\n ? NetworkNames.MAINNET\n : chain === ChainId.AVAX\n ? NetworkNames.AVAX\n : chain === ChainId.BLAST\n ? NetworkNames.BLAST\n : chain === ChainId.SONIC\n ? NetworkNames.SONIC\n : chain === ChainId.BERACHAIN\n ? NetworkNames.BERACHAIN\n : chain === ChainId.ROBINHOOD\n ? NetworkNames.ROBINHOOD\n : null\n}\n\nexport const getLpType = (protocol?: Protocols): 'ichi' | 'solidly' | 'univ2' | 'curve' | null => {\n return protocol === Protocols.Algebra\n ? 'ichi'\n : protocol === Protocols.Solidly\n ? 'solidly'\n : protocol === Protocols.V2\n ? 'univ2'\n : protocol === Protocols.V3 // This might be a hot fix. Lets revisit this on the future\n ? 'ichi'\n : protocol === Protocols.Curve\n ? 'curve'\n : null\n}\n"],"names":[],"mappings":";;AAEA,IAAK,YAYJ;AAZD,CAAA,UAAK,YAAY,EAAA;AACf,IAAA,YAAA,CAAA,SAAA,CAAA,GAAA,KAAe;AACf,IAAA,YAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACX,IAAA,YAAA,CAAA,SAAA,CAAA,GAAA,KAAe;AACf,IAAA,YAAA,CAAA,UAAA,CAAA,GAAA,KAAgB;AAChB,IAAA,YAAA,CAAA,OAAA,CAAA,GAAA,KAAa;AACb,IAAA,YAAA,CAAA,MAAA,CAAA,GAAA,KAAY;AACZ,IAAA,YAAA,CAAA,MAAA,CAAA,GAAA,KAAY;AACZ,IAAA,YAAA,CAAA,OAAA,CAAA,GAAA,KAAa;AACb,IAAA,YAAA,CAAA,OAAA,CAAA,GAAA,KAAa;AACb,IAAA,YAAA,CAAA,WAAA,CAAA,GAAA,KAAiB;AACjB,IAAA,YAAA,CAAA,WAAA,CAAA,GAAA,KAAiB;AACnB,CAAC,EAZI,YAAY,KAAZ,YAAY,GAAA,EAAA,CAAA,CAAA;AAcV,MAAM,aAAa,GAAG,CAAC,KAAe,KAAyB;AACpE,IAAA,OAAO,KAAK,KAAK,OAAO,CAAC;UACrB,YAAY,CAAC;AACf,UAAE,KAAK,KAAK,OAAO,CAAC;cAChB,YAAY,CAAC;AACf,cAAE,KAAK,KAAK,OAAO,CAAC;kBAChB,YAAY,CAAC;AACf,kBAAE,KAAK,KAAK,OAAO,CAAC;sBAChB,YAAY,CAAC;AACf,sBAAE,KAAK,KAAK,OAAO,CAAC;0BAChB,YAAY,CAAC;AACf,0BAAE,KAAK,KAAK,OAAO,CAAC;8BAChB,YAAY,CAAC;AACf,8BAAE,KAAK,KAAK,OAAO,CAAC;kCAChB,YAAY,CAAC;AACf,kCAAE,KAAK,KAAK,OAAO,CAAC;sCAChB,YAAY,CAAC;AACf,sCAAE,KAAK,KAAK,OAAO,CAAC;0CAChB,YAAY,CAAC;AACf,0CAAE,KAAK,KAAK,OAAO,CAAC;8CAChB,YAAY,CAAC;AACf,8CAAE,KAAK,KAAK,OAAO,CAAC;kDAChB,YAAY,CAAC;kDACb,IAAI;AAC9B;AAEO,MAAM,SAAS,GAAG,CAAC,QAAoB,KAAmD;AAC/F,IAAA,OAAO,QAAQ,KAAK,SAAS,CAAC;AAC5B,UAAE;AACF,UAAE,QAAQ,KAAK,SAAS,CAAC;AACvB,cAAE;AACF,cAAE,QAAQ,KAAK,SAAS,CAAC;AACvB,kBAAE;AACF,kBAAE,QAAQ,KAAK,SAAS,CAAC,EAAE;AACzB,sBAAE;AACF,sBAAE,QAAQ,KAAK,SAAS,CAAC;AACvB,0BAAE;0BACA,IAAI;AAClB;;;;"}
|
package/dist/theme/base.js
CHANGED
package/dist/theme/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sources":["../../src/theme/base.ts"],"sourcesContent":["export type MediaQueries = {\n xs: string\n sm: string\n md: string\n lg: string\n xl: string\n xxl: string\n xxxl: string\n nav: string\n}\n\nexport const breakpointMap: { [key: string]: number } = {\n xs: 370,\n sm: 576,\n md: 852,\n lg: 968,\n xl: 1080,\n xxl: 1200,\n xxxl: 1550,\n}\n\nconst mediaQueries: MediaQueries = {\n xs: `@media screen and (min-width: ${breakpointMap.xs}px)`,\n sm: `@media screen and (min-width: ${breakpointMap.sm}px)`,\n md: `@media screen and (min-width: ${breakpointMap.md}px)`,\n lg: `@media screen and (min-width: ${breakpointMap.lg}px)`,\n xl: `@media screen and (min-width: ${breakpointMap.xl}px)`,\n xxl: `@media screen and (min-width: ${breakpointMap.xxl}px)`,\n xxxl: `@media screen and (min-width: ${breakpointMap.xxxl}px)`,\n nav: `@media screen and (min-width: ${breakpointMap.lg}px)`,\n}\n\nconst baseTheme = {\n breakpoints: [\n `${breakpointMap.xs}px`,\n `${breakpointMap.sm}px`,\n `${breakpointMap.md}px`,\n `${breakpointMap.lg}px`,\n `${breakpointMap.xl}px`,\n `${breakpointMap.xxl}px`,\n `${breakpointMap.xxxl}px`,\n ],\n space: [0, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 48, 64],\n fontSizes: [12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 48, 64],\n borderWidths: [0, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 48, 64],\n mediaQueries,\n fontWeights: {\n light: 400,\n normal: 600,\n bold: 700,\n },\n fonts: {\n body: 'Poppins, sans-serif',\n poppins: 'Poppins',\n },\n radii: {\n small: '6px',\n default: '16px',\n normal: '10px',\n card: '32px',\n circle: '50%',\n },\n zIndices: { dropdown: 10, modal:
|
|
1
|
+
{"version":3,"file":"base.js","sources":["../../src/theme/base.ts"],"sourcesContent":["export type MediaQueries = {\n xs: string\n sm: string\n md: string\n lg: string\n xl: string\n xxl: string\n xxxl: string\n nav: string\n}\n\nexport const breakpointMap: { [key: string]: number } = {\n xs: 370,\n sm: 576,\n md: 852,\n lg: 968,\n xl: 1080,\n xxl: 1200,\n xxxl: 1550,\n}\n\nconst mediaQueries: MediaQueries = {\n xs: `@media screen and (min-width: ${breakpointMap.xs}px)`,\n sm: `@media screen and (min-width: ${breakpointMap.sm}px)`,\n md: `@media screen and (min-width: ${breakpointMap.md}px)`,\n lg: `@media screen and (min-width: ${breakpointMap.lg}px)`,\n xl: `@media screen and (min-width: ${breakpointMap.xl}px)`,\n xxl: `@media screen and (min-width: ${breakpointMap.xxl}px)`,\n xxxl: `@media screen and (min-width: ${breakpointMap.xxxl}px)`,\n nav: `@media screen and (min-width: ${breakpointMap.lg}px)`,\n}\n\nconst baseTheme = {\n breakpoints: [\n `${breakpointMap.xs}px`,\n `${breakpointMap.sm}px`,\n `${breakpointMap.md}px`,\n `${breakpointMap.lg}px`,\n `${breakpointMap.xl}px`,\n `${breakpointMap.xxl}px`,\n `${breakpointMap.xxxl}px`,\n ],\n space: [0, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 48, 64],\n fontSizes: [12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 48, 64],\n borderWidths: [0, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 48, 64],\n mediaQueries,\n fontWeights: {\n light: 400,\n normal: 600,\n bold: 700,\n },\n fonts: {\n body: 'Poppins, sans-serif',\n poppins: 'Poppins',\n },\n radii: {\n small: '6px',\n default: '16px',\n normal: '10px',\n card: '32px',\n circle: '50%',\n },\n zIndices: { dropdown: 10, modal: 59 },\n styles: {\n root: {\n fontFamily: 'body',\n webkitFontSmoothing: 'antialiasing',\n fontWeight: 600,\n color: 'text',\n bg: 'white1',\n textDecoration: 'none',\n },\n a: {\n color: 'text',\n textDecoration: 'none',\n ':hover': {\n color: 'secondary',\n textDecoration: 'underline',\n },\n },\n nav: {\n textDecoration: 'none',\n breakpoints: [`@media screen and (min-width: ${breakpointMap.lg}px)`],\n a: {\n textDecoration: 'none',\n },\n },\n progress: {\n primary: 'primary',\n color: 'green',\n background: '#DAA628',\n height: '20px',\n },\n hr: {\n background: 'dividerColor',\n height: '1px',\n border: 'none',\n },\n h1: {\n variant: 'text.heading',\n fontSize: '30px',\n lineHeight: '45px',\n },\n h2: {\n variant: 'text.heading',\n fontSize: '25px',\n lineHeight: '37px',\n },\n h3: {\n variant: 'text.heading',\n fontSize: '22px',\n lineHeight: '33px',\n },\n h4: {\n variant: 'text.heading',\n fontSize: '20px',\n lineHeight: '30px',\n },\n h5: {\n variant: 'text.heading',\n fontSize: '16px',\n lineHeight: '24px',\n },\n banner: {\n variant: 'text.heading',\n fontWeight: '800',\n fontSize: '60px',\n lineHeight: '66px',\n },\n input: {\n fontFamily: 'base',\n fontWeight: 'base',\n },\n },\n}\n\nexport default baseTheme\n"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,2 @@
|
|
|
1
|
-
import { ethers } from 'ethers';
|
|
2
1
|
export declare function adjustDecimals(numStr: string): string;
|
|
3
|
-
declare const
|
|
4
|
-
export default convertToTokenValue;
|
|
2
|
+
export declare const convertToBigish: (numberString?: string, decimals?: number) => string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BigNumber from 'bignumber.js';
|
|
2
2
|
|
|
3
3
|
function adjustDecimals(numStr) {
|
|
4
4
|
const parts = numStr.split('.');
|
|
@@ -14,14 +14,12 @@ function adjustDecimals(numStr) {
|
|
|
14
14
|
return numStr;
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
-
const
|
|
18
|
-
if (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const tokenValue = ethers.utils.parseUnits(adjustDecimals(numberString), decimals);
|
|
23
|
-
return tokenValue;
|
|
17
|
+
const convertToBigish = (numberString, decimals = 18) => {
|
|
18
|
+
if (!numberString || !decimals)
|
|
19
|
+
return '';
|
|
20
|
+
const adjustedDecimals = adjustDecimals(numberString);
|
|
21
|
+
return new BigNumber(adjustedDecimals).times(new BigNumber(10).pow(decimals)).toFixed(0);
|
|
24
22
|
};
|
|
25
23
|
|
|
26
|
-
export { adjustDecimals,
|
|
24
|
+
export { adjustDecimals, convertToBigish };
|
|
27
25
|
//# sourceMappingURL=convertToTokenValue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convertToTokenValue.js","sources":["../../src/utils/convertToTokenValue.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"convertToTokenValue.js","sources":["../../src/utils/convertToTokenValue.ts"],"sourcesContent":["import BigNumber from 'bignumber.js'\n\nexport function adjustDecimals(numStr: string) {\n const parts = numStr.split('.')\n if (parts.length < 2) {\n // This means the number doesn't have any decimals\n return numStr\n }\n if (parts[1].length > 18) {\n parts[1] = parts[1].slice(0, 18) // Take the first 18 decimals\n return parts[0] + '.' + parts[1]\n } else {\n return numStr\n }\n}\n\nexport const convertToBigish = (numberString?: string, decimals: number = 18) => {\n if (!numberString || !decimals) return ''\n\n const adjustedDecimals = adjustDecimals(numberString)\n\n return new BigNumber(adjustedDecimals).times(new BigNumber(10).pow(decimals)).toFixed(0)\n}\n"],"names":[],"mappings":";;AAEM,SAAU,cAAc,CAAC,MAAc,EAAA;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;AAC/B,IAAA,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;;AAEpB,QAAA,OAAO,MAAM;IACf;IACA,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,EAAE;AACxB,QAAA,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAChC,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC;IAClC;SAAO;AACL,QAAA,OAAO,MAAM;IACf;AACF;AAEO,MAAM,eAAe,GAAG,CAAC,YAAqB,EAAE,QAAA,GAAmB,EAAE,KAAI;AAC9E,IAAA,IAAI,CAAC,YAAY,IAAI,CAAC,QAAQ;AAAE,QAAA,OAAO,EAAE;AAEzC,IAAA,MAAM,gBAAgB,GAAG,cAAc,CAAC,YAAY,CAAC;IAErD,OAAO,IAAI,SAAS,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAC1F;;;;"}
|
|
@@ -19,7 +19,6 @@ interface FormatDollarArgs {
|
|
|
19
19
|
* @param round whether or not to round up non-price amounts
|
|
20
20
|
*/
|
|
21
21
|
export declare const formatDollar: ({ num, isPrice, lessPreciseStablecoinValues, digits, round, }: FormatDollarArgs) => string;
|
|
22
|
-
export declare const formatValue: ({ num, digits, round }: any) => string;
|
|
23
22
|
/**
|
|
24
23
|
* Returns a numerical amount of any token formatted in human readable string for use in template.
|
|
25
24
|
*
|
|
@@ -1,6 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
const dollarAbbreviations = [
|
|
2
|
+
{ value: 1e12, suffix: 'T' },
|
|
3
|
+
{ value: 1e9, suffix: 'B' },
|
|
4
|
+
{ value: 1e6, suffix: 'M' },
|
|
5
|
+
// { value: 1e3, suffix: 'K' },
|
|
6
|
+
];
|
|
7
|
+
const formatDollarAmount = (num, digits, round) => {
|
|
8
|
+
const mantissa = num > 1000 ? 2 : digits;
|
|
9
|
+
const sign = num < 0 ? '-' : '';
|
|
10
|
+
const absoluteNum = Math.abs(num);
|
|
11
|
+
if (round) {
|
|
12
|
+
const abbreviation = dollarAbbreviations.find(({ value }) => absoluteNum >= value);
|
|
13
|
+
if (abbreviation) {
|
|
14
|
+
return `${sign}$${(absoluteNum / abbreviation.value).toFixed(mantissa)}${abbreviation.suffix}`;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return `${sign}$${absoluteNum.toFixed(mantissa)}`;
|
|
18
|
+
};
|
|
4
19
|
/**
|
|
5
20
|
* Returns a USD dollar or equivalent denominated numerical value formatted
|
|
6
21
|
* in human readable string for use in template.
|
|
@@ -49,16 +64,7 @@ const formatDollar = ({ num, isPrice = false, lessPreciseStablecoinValues = fals
|
|
|
49
64
|
if (num >= 0.1 && num < 1.05) {
|
|
50
65
|
return `$${num.toFixed(3)}`;
|
|
51
66
|
}
|
|
52
|
-
return
|
|
53
|
-
.formatCurrency({
|
|
54
|
-
average: round,
|
|
55
|
-
mantissa: num > 1000 ? 2 : digits,
|
|
56
|
-
abbreviations: {
|
|
57
|
-
million: 'M',
|
|
58
|
-
billion: 'B',
|
|
59
|
-
},
|
|
60
|
-
})
|
|
61
|
-
.toUpperCase();
|
|
67
|
+
return formatDollarAmount(num, digits, round);
|
|
62
68
|
}
|
|
63
69
|
};
|
|
64
70
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatNumbers.js","sources":["../../src/utils/formatNumbers.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"formatNumbers.js","sources":["../../src/utils/formatNumbers.ts"],"sourcesContent":["interface FormatDollarArgs {\n num: number | undefined | null\n isPrice?: boolean\n lessPreciseStablecoinValues?: boolean\n digits?: number\n round?: boolean\n}\n\nconst dollarAbbreviations = [\n { value: 1e12, suffix: 'T' },\n { value: 1e9, suffix: 'B' },\n { value: 1e6, suffix: 'M' },\n // { value: 1e3, suffix: 'K' },\n]\n\nconst formatDollarAmount = (num: number, digits: number, round: boolean): string => {\n const mantissa = num > 1000 ? 2 : digits\n const sign = num < 0 ? '-' : ''\n const absoluteNum = Math.abs(num)\n\n if (round) {\n const abbreviation = dollarAbbreviations.find(({ value }) => absoluteNum >= value)\n\n if (abbreviation) {\n return `${sign}$${(absoluteNum / abbreviation.value).toFixed(mantissa)}${abbreviation.suffix}`\n }\n }\n\n return `${sign}$${absoluteNum.toFixed(mantissa)}`\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 formatDollarAmount(num, digits, round)\n }\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":"AAQA,MAAM,mBAAmB,GAAG;AAC1B,IAAA,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;AAC5B,IAAA,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;AAC3B,IAAA,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;;CAE5B;AAED,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAE,MAAc,EAAE,KAAc,KAAY;AACjF,IAAA,MAAM,QAAQ,GAAG,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,MAAM;AACxC,IAAA,MAAM,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE;IAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAEjC,IAAI,KAAK,EAAE;AACT,QAAA,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,WAAW,IAAI,KAAK,CAAC;QAElF,IAAI,YAAY,EAAE;YAChB,OAAO,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,CAAC,WAAW,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA,EAAG,YAAY,CAAC,MAAM,EAAE;QAChG;IACF;IAEA,OAAO,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA,CAAE;AACnD,CAAC;AAED;;;;;;;;;;;;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,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC;IAC/C;AACF;;;;"}
|
package/dist/utils/multicall.js
CHANGED
|
@@ -1,33 +1,49 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createPublicClient, http, encodeFunctionData, decodeFunctionResult } from 'viem';
|
|
2
2
|
import multicallV2Abi from '../config/abi/multicallv2.json.js';
|
|
3
|
-
import { ethers } from 'ethers';
|
|
4
|
-
import { chunk, flatten } from 'lodash';
|
|
5
3
|
import { getRPC } from '../config/constants/networks.js';
|
|
6
4
|
import { MULTICALL_V2 } from '../config/constants/addresses.js';
|
|
5
|
+
import { ChainId } from '@ape.swap/apeswap-lists';
|
|
6
|
+
import { chunk, flatten } from 'lodash';
|
|
7
7
|
|
|
8
|
+
// Wraps decoded result in an array when the function has a single output,
|
|
9
|
+
// matching ethers v5 Result behavior so consuming code doesn't need to change.
|
|
10
|
+
// Multi-output functions already return an array from viem, so they're left as-is.
|
|
11
|
+
const decodeResult = (abi, functionName, data) => {
|
|
12
|
+
const decoded = decodeFunctionResult({ abi, functionName, data });
|
|
13
|
+
const fn = abi.find((item) => item.type === 'function' && item.name === functionName);
|
|
14
|
+
return fn?.outputs?.length === 1 ? [decoded] : decoded;
|
|
15
|
+
};
|
|
8
16
|
// This is the legacy multicall
|
|
9
17
|
// Try to use multicall hooks
|
|
10
18
|
const multicall = async (chainId, abi, calls, batch, batchSize) => {
|
|
11
19
|
try {
|
|
20
|
+
if (chainId === ChainId.SOL)
|
|
21
|
+
return;
|
|
12
22
|
const multicallAddress = MULTICALL_V2[chainId];
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const calldata = calls.map((call) =>
|
|
23
|
+
const client = createPublicClient({
|
|
24
|
+
transport: http(getRPC(chainId)),
|
|
25
|
+
});
|
|
26
|
+
const calldata = calls.map((call) => ({
|
|
27
|
+
target: call.address.toLowerCase(),
|
|
28
|
+
callData: encodeFunctionData({ abi: abi, functionName: call.name, args: call.params }),
|
|
29
|
+
}));
|
|
30
|
+
const aggregate = async (calldataChunk, callsChunk) => {
|
|
31
|
+
const [, returnData] = (await client.readContract({
|
|
32
|
+
address: multicallAddress,
|
|
33
|
+
abi: multicallV2Abi,
|
|
34
|
+
functionName: 'aggregate',
|
|
35
|
+
args: [calldataChunk],
|
|
36
|
+
}));
|
|
37
|
+
return returnData.map((data, i) => decodeResult(abi, callsChunk[i].name, data));
|
|
38
|
+
};
|
|
17
39
|
if (batch) {
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
|
|
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;
|
|
40
|
+
const chunkedCalldata = chunk(calldata, batchSize);
|
|
41
|
+
const chunkedCalls = chunk(calls, batchSize);
|
|
42
|
+
const results = await Promise.all(chunkedCalls.map((callsChunk, i) => aggregate(chunkedCalldata[i], callsChunk)));
|
|
43
|
+
return flatten(results);
|
|
27
44
|
}
|
|
28
45
|
else {
|
|
29
|
-
|
|
30
|
-
return returnData.map((call, i) => itf.decodeFunctionResult(calls[i].name, call));
|
|
46
|
+
return aggregate(calldata, calls);
|
|
31
47
|
}
|
|
32
48
|
}
|
|
33
49
|
catch (e) {
|