@ape.swap/bonds-sdk 3.2.0 → 3.3.0-test.5
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 +0 -12
- package/dist/components/BondFilters/BondFilters.js.map +1 -1
- package/dist/components/ChainOptionList/ChainOptionsButtons.js +1 -13
- package/dist/components/ChainOptionList/ChainOptionsButtons.js.map +1 -1
- package/dist/components/ChainOptionList/ChainOptionsList.js +1 -13
- 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 +1 -12
- package/dist/components/FavIcons/AddFavToken.js.map +1 -1
- package/dist/components/FavIcons/FavFilter.js +1 -13
- 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 +2 -12
- 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 +1 -12
- package/dist/components/StepBubble/index.js.map +1 -1
- package/dist/components/Toast/index.js +2 -10
- package/dist/components/Toast/index.js.map +1 -1
- package/dist/components/TokenInfoAndName/index.js +2 -14
- 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 +1 -13
- package/dist/components/TokenSelectorPanel/index.js.map +1 -1
- package/dist/components/Tooltip/ButtonsRow.js +1 -12
- package/dist/components/Tooltip/ButtonsRow.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.js +0 -12
- 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/LoadingDots/index.js +0 -13
- package/dist/components/uikit-sdk/LoadingDots/index.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/Toggle/index.js +1 -1
- package/dist/components/uikit-sdk/Toggle/index.js.map +1 -1
- package/dist/components/uikit-sdk/TokenImage/index.js +0 -13
- 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/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/utils.js +2 -2
- package/dist/state/preTGEBonds/usePreTGEUserBonds.js +3 -3
- package/dist/state/useSDKConfig.d.ts +7 -2
- package/dist/state/useSDKConfig.js +10 -2
- package/dist/state/useSDKConfig.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 +0 -11
- 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 +1 -13
- package/dist/views/Bonds/components/BondRows/BondRow.js.map +1 -1
- package/dist/views/Bonds/components/BondRows/ChainTitle.js +1 -12
- package/dist/views/Bonds/components/BondRows/ChainTitle.js.map +1 -1
- package/dist/views/Bonds/components/BondsMenu/BondsMenu.js +0 -13
- 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 +1 -13
- 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 +2 -12
- 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/BondModalHeader.js +1 -14
- 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/ExpandedViewButton.js +1 -14
- package/dist/views/BuyBond/components/ExpandedViewButton.js.map +1 -1
- package/dist/views/BuyBond/components/GetUpToComponent/GetUpToComponent.js +2 -13
- package/dist/views/BuyBond/components/GetUpToComponent/GetUpToComponent.js.map +1 -1
- package/dist/views/BuyBond/components/NewRateModal/NewRateModal.js +1 -12
- 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 +1 -13
- package/dist/views/PreTGEBonds/components/BuyComponent/BondCards.js.map +1 -1
- package/dist/views/PreTGEBonds/components/BuyComponent/ParticipationSuccessful.js +4 -14
- package/dist/views/PreTGEBonds/components/BuyComponent/ParticipationSuccessful.js.map +1 -1
- package/dist/views/PreTGEBonds/components/BuyComponent/PreTGEBuyComponent.js +4 -13
- 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 +1 -12
- package/dist/views/PreTGEBonds/components/PreTGEUserRows/PreTGEUserRow.js.map +1 -1
- package/dist/views/TransactionModal/TransactionModal.js +2 -13
- package/dist/views/TransactionModal/TransactionModal.js.map +1 -1
- package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.js +3 -13
- 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/YourBondsMenu/YourBondsMenu.js +0 -13
- package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.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/ZapModal/index.js +4 -13
- package/dist/views/ZapModal/index.js.map +1 -1
- package/package.json +22 -13
- 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/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":"index.js","sources":["../../../../../src/views/Bonds/components/BuyAgainRow/index.tsx"],"sourcesContent":["import React, { useMemo } from 'react'\nimport { isBondSoldOut, remainingPercentage } from '../../utils'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport useBondsData from '../../../../state/bonds/useBondsData'\nimport
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/views/Bonds/components/BuyAgainRow/index.tsx"],"sourcesContent":["import React, { useMemo } from 'react'\nimport { isBondSoldOut, remainingPercentage } from '../../utils'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport useBondsData from '../../../../state/bonds/useBondsData'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport BondRow from '../BondRows/BondRow'\nimport track from '../../../../utils/track'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\nimport { BondsData } from '../../../../types/bonds'\nimport { BillsConfig } from '@ape.swap/apeswap-lists'\nimport { formatNumberSI } from '../../../../utils/formatNumber'\nimport BigNumber from 'bignumber.js'\nimport { formatDollar } from '../../../../utils/formatNumbers'\nimport { getVestingTermsString, getVestingTermsTooltipString } from '../../../../utils/displayHelpers'\nimport useUserApiStats from '../../../../state/bondApiStats/useUserApiStats'\n\nconst BuyAgainRow = () => {\n const { data: userData } = useUserApiStats()\n const { data: bills } = useBondsData()\n const SDKConfig = useSDKConfig()\n const chains = SDKConfig?.chains as number[]\n\n const bond = useMemo(() => {\n if (userData && userData?.Sales.length > 0) {\n const sortedPurchases = userData?.Sales.sort((a, b) => b.dollarValue - a.dollarValue)\n const activeBills = bills?.filter(\n (bill) => !isBondSoldOut(bill, SDKConfig.showLowValueBonds) && chains?.includes(bill.chainId),\n )\n const highestActivePurchase = sortedPurchases?.find((purchase) =>\n activeBills?.find((bill) => {\n if (purchase.contractAddress.toLowerCase() === bill?.contractAddress?.[bill.chainId]?.toLowerCase())\n return true\n }),\n )\n return activeBills?.find(\n (bill) =>\n bill?.contractAddress?.[bill.chainId]?.toLowerCase() ===\n highestActivePurchase?.contractAddress?.toLowerCase(),\n )\n }\n }, [SDKConfig.showLowValueBonds, bills, chains, userData])\n\n const bondAddress = bond?.contractAddress?.[bond.chainId]\n\n const remainingTokensFormat = (bond: BondsData | BillsConfig): string => {\n const tokensRemaining = 'tokensRemaining' in bond ? bond.tokensRemaining : '0'\n return formatNumberSI(parseFloat(tokensRemaining ?? '0'), 0)\n }\n\n const remainingTokensUsd = (bond: BondsData | BillsConfig): BigNumber => {\n const tokensRemaining = 'tokensRemaining' in bond ? bond.tokensRemaining : '0'\n const payoutTokenPrice = 'payoutTokenPrice' in bond ? bond.payoutTokenPrice : 0\n const tokens = new BigNumber(tokensRemaining ?? '0')\n return tokens.times(payoutTokenPrice ?? '0')\n }\n\n const remainingTokensString = bond\n ? `${remainingTokensFormat(bond)} ${bond.earnToken.symbol} (${formatDollar({\n num: remainingTokensUsd(bond).toNumber(),\n isPrice: true,\n })})`\n : ''\n\n return bond ? (\n <AnimatePresence>\n <motion.div\n initial={{ height: 0, overflow: 'hidden' }}\n animate={{ height: 'fit-content', overflow: 'hidden', transitionEnd: { overflow: 'visible' } }}\n exit={{ height: 0, overflow: 'hidden' }}\n sx={{\n position: 'relative',\n overflow: 'hidden',\n width: '100%',\n }}\n >\n <Flex\n sx={{\n p: '0 1px',\n width: '100%',\n mt: '10px',\n background: 'primaryButton',\n borderRadius: 'normal',\n flexDirection: 'column',\n opacity: 0.5,\n }}\n >\n <Flex\n className=\"buy-again-header\"\n sx={{\n width: '100%',\n fontSize: '12px',\n fontWeight: 500,\n pl: '26px',\n py: '2px',\n color: 'primaryBright',\n height: '93px',\n }}\n >\n BUY AGAIN\n </Flex>\n </Flex>\n <Flex\n onClick={() => {\n track({\n event: 'buyAgainClick',\n chain: bond.chainId,\n data: {\n bond: bond.earnToken.symbol,\n },\n })\n }}\n sx={{ position: 'absolute', top: '32px', left: '1px', width: 'calc(100% - 2px)' }}\n >\n <BondRow\n key={`${bondAddress}-${bond.chainId}`}\n bondAddress={bond?.contractAddress?.[bond?.chainId] as string}\n bondChain={bond.chainId}\n billType={bond.billType}\n payoutToken={bond.earnToken}\n tag={bond.tags?.[0]}\n bondSoldOut={isBondSoldOut(bond, SDKConfig.showLowValueBonds)}\n trueBondPrices={bond?.trueBondPrices}\n minTier={bond?.minTier}\n vestingTermString={getVestingTermsString(bond)}\n vestingCliffString={getVestingTermsTooltipString(bond)}\n percentageAvailable={remainingPercentage(bond)}\n remainingTokensString={remainingTokensString}\n />\n </Flex>\n </motion.div>\n </AnimatePresence>\n ) : null\n}\n\nexport default BuyAgainRow\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
|
|
@@ -1,20 +1,8 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'theme-ui/jsx-runtime';
|
|
2
2
|
import { styles } from './styles.js';
|
|
3
|
-
import Svg from '../../../../components/uikit-sdk/Svg/index.js';
|
|
4
3
|
import Flex from '../../../../components/uikit-sdk/Flex/index.js';
|
|
5
|
-
import '
|
|
6
|
-
import '../../../../components/uikit-sdk/Text/types.js';
|
|
7
|
-
import '../../../../components/uikit-sdk/Checkbox/types.js';
|
|
8
|
-
import '../../../../components/uikit-sdk/Skeleton/types.js';
|
|
9
|
-
import '../../../../components/uikit-sdk/Skeleton/styles.js';
|
|
4
|
+
import Svg from '../../../../components/uikit-sdk/Svg/index.js';
|
|
10
5
|
import TooltipBubble from '../../../../components/uikit-sdk/TooltipBubble/index.js';
|
|
11
|
-
import 'react';
|
|
12
|
-
import 'framer-motion';
|
|
13
|
-
import '../../../../components/uikit-sdk/Button/types.js';
|
|
14
|
-
import '../../../../components/uikit-sdk/Svg/types.js';
|
|
15
|
-
import '../../../../contexts/ModalContext.js';
|
|
16
|
-
import '../../../FullBondsView/FullBondsView.js';
|
|
17
|
-
import '../../../../components/uikit-sdk/Select/types.js';
|
|
18
6
|
import TokenInfoAndName from '../../../../components/TokenInfoAndName/index.js';
|
|
19
7
|
import BondInfoTooltip from '../../../../components/Tooltip/Tooltip.js';
|
|
20
8
|
import { getDiscountColor, calculateARR, vestingTime } from '../../utils.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HotBondCard.js","sources":["../../../../../src/views/Bonds/components/HotBondCards/HotBondCard.tsx"],"sourcesContent":["import React from 'react'\nimport { styles } from './styles'\nimport { BondsData } from '../../../../types/bonds'\nimport
|
|
1
|
+
{"version":3,"file":"HotBondCard.js","sources":["../../../../../src/views/Bonds/components/HotBondCards/HotBondCard.tsx"],"sourcesContent":["import React from 'react'\nimport { styles } from './styles'\nimport { BondsData } from '../../../../types/bonds'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport Svg from '../../../../components/uikit-sdk/Svg'\nimport TooltipBubble from '../../../../components/uikit-sdk/TooltipBubble'\nimport TokenInfoAndName from '../../../../components/TokenInfoAndName'\nimport Tooltip from '../../../../components/Tooltip/Tooltip'\nimport { calculateARR, getDiscountColor, vestingTime } from '../../utils'\nimport useModal from '../../../../hooks/useModal'\nimport BuyBondModal from '../../../BuyBond/BuyBondModal'\nimport track from '../../../../utils/track'\nimport { TIERS_WEIGHT } from '../../../../state/tiers/useTierPoints'\nimport { LaunchBondTiers } from '@ape.swap/apeswap-lists'\nimport { findHighestTrueBondPrice } from '../../../BuyBond/findHighestTrueBondPrice'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\n\nconst HotBondCard = ({ bond }: { bond: BondsData }) => {\n const bonus = findHighestTrueBondPrice(TIERS_WEIGHT[LaunchBondTiers.Legend], bond)?.bonus\n const SDKConfig = useSDKConfig()\n\n // Modal\n const [openBuyModal] = useModal(\n <BuyBondModal bondAddress={bond?.contractAddress?.[bond?.chainId]} bondChain={bond.chainId} />,\n true,\n true,\n `buyBondModal-${bond?.contractAddress?.[bond?.chainId]}-${bond.chainId}`,\n )\n\n const handleOpenModal = () => {\n openBuyModal()\n track({\n event: 'hotClick',\n chain: bond.chainId,\n data: {\n cat: 'hotClick',\n bond: bond.earnToken.symbol,\n },\n })\n }\n\n return (\n <Flex sx={styles.desktopCard} className=\"hot-bond-card\" onClick={handleOpenModal}>\n <Flex sx={{ flexDirection: 'column', width: '100%' }}>\n <Flex sx={{ width: '100%', height: '75px' }}>\n <Flex sx={{ width: '66.66%' }}>\n <TokenInfoAndName tokenSymbol={bond.earnToken.symbol} chain={bond.chainId} tag={bond.tags?.[0]} isHotBond />\n </Flex>\n <Flex\n className=\"column column-tokenicons\"\n sx={{ width: '33.33% !important', justifyContent: 'center !important', alignItems: 'center' }}\n >\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Tooltip\n earnTokenContract={bond?.earnToken?.address?.[bond?.chainId] ?? ''}\n earnTokenSymbol={bond?.earnToken?.symbol ?? ''}\n bondContract={bond?.contractAddress?.[bond?.chainId] ?? ''}\n projectLink={bond?.projectLink}\n twitter={bond?.twitter}\n audit={bond?.audit}\n chain={bond?.chainId}\n />\n }\n width=\"205px\"\n placement=\"bottomRight\"\n transformTip=\"translate(11%, 0%)\"\n >\n <Svg icon=\"more\" width=\"20px\" />\n </TooltipBubble>\n </Flex>\n </Flex>\n <Flex sx={{ width: '100%', justifyContent: 'space-around' }}>\n <Flex sx={{ flexDirection: 'column', alignItems: 'center', width: '100%' }}>\n <Flex sx={{ opacity: 0.6, fontSize: '12px', fontWeight: 400 }}>Bonus</Flex>\n <Flex className={`${getDiscountColor(bonus)}`} sx={{ width: '100%', justifyContent: 'center' }}>\n {bonus !== undefined ? (bonus < 0 ? '0%' : `${bonus?.toFixed(2)}%`) : '-'}\n </Flex>\n </Flex>\n <Flex sx={{ flexDirection: 'column', alignItems: 'center', width: '100%' }}>\n <Flex sx={{ opacity: 0.6, fontSize: '12px', fontWeight: 400, width: '100%', justifyContent: 'center' }}>\n ARR\n </Flex>\n <Flex sx={{ width: '100%', justifyContent: 'center' }}>{calculateARR(bond, SDKConfig.useTiers)}</Flex>\n </Flex>\n <Flex sx={{ flexDirection: 'column', alignItems: 'center', width: '100%' }}>\n <Flex sx={{ opacity: 0.6, fontSize: '12px', fontWeight: 400, width: '100%', justifyContent: 'center' }}>\n Terms\n </Flex>\n <Flex sx={{ width: '100%', justifyContent: 'center' }}>\n {vestingTime(bond?.vestingTerm)?.days ? `${vestingTime(bond?.vestingTerm)?.days} D` : '-'}\n </Flex>\n </Flex>\n </Flex>\n </Flex>\n </Flex>\n )\n}\n\nexport default HotBondCard\n"],"names":["_jsx","_jsxs","Tooltip"],"mappings":"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"}
|
|
@@ -4,20 +4,8 @@ import { styles } from './styles.js';
|
|
|
4
4
|
import HotBondCard from './HotBondCard.js';
|
|
5
5
|
import { Swiper, SwiperSlide } from 'swiper/react';
|
|
6
6
|
import useHotBonds from '../../../../state/bonds/useHotBonds.js';
|
|
7
|
-
import '../../../../components/uikit-sdk/Svg/types.js';
|
|
8
|
-
import 'theme-ui';
|
|
9
7
|
import Flex from '../../../../components/uikit-sdk/Flex/index.js';
|
|
10
|
-
import '../../../../components/uikit-sdk/Text/types.js';
|
|
11
|
-
import '../../../../components/uikit-sdk/Checkbox/types.js';
|
|
12
|
-
import '../../../../components/uikit-sdk/Skeleton/types.js';
|
|
13
|
-
import '../../../../components/uikit-sdk/Skeleton/styles.js';
|
|
14
|
-
import '../../../../components/uikit-sdk/TooltipBubble/index.js';
|
|
15
|
-
import 'framer-motion';
|
|
16
|
-
import '../../../../components/uikit-sdk/Button/types.js';
|
|
17
|
-
import '../../../../contexts/ModalContext.js';
|
|
18
|
-
import '../../../FullBondsView/FullBondsView.js';
|
|
19
8
|
import SwiperDots from '../../../../components/uikit-sdk/SwiperDots/index.js';
|
|
20
|
-
import '../../../../components/uikit-sdk/Select/types.js';
|
|
21
9
|
import useSwiper from '../../../../hooks/useSwiper.js';
|
|
22
10
|
import { getDotPos } from '../../../../utils/getDotPos.js';
|
|
23
11
|
import 'swiper/swiper.css';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/views/Bonds/components/HotBondCards/index.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { styles } from './styles'\nimport HotBondCard from './HotBondCard'\nimport { Swiper, SwiperSlide } from 'swiper/react'\nimport SwiperCore from 'swiper'\nimport useHotBonds from '../../../../state/bonds/useHotBonds'\nimport
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/views/Bonds/components/HotBondCards/index.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { styles } from './styles'\nimport HotBondCard from './HotBondCard'\nimport { Swiper, SwiperSlide } from 'swiper/react'\nimport SwiperCore from 'swiper'\nimport useHotBonds from '../../../../state/bonds/useHotBonds'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport SwiperDots from '../../../../components/uikit-sdk/SwiperDots'\nimport useSwiper from '../../../../hooks/useSwiper'\nimport { getDotPos } from '../../../../utils/getDotPos'\nimport 'swiper/swiper.css'\nimport { findHighestTrueBondPrice } from '../../../BuyBond/findHighestTrueBondPrice'\nimport { TIERS_WEIGHT } from '../../../../state/tiers/useTierPoints'\nimport { LaunchBondTiers } from '@ape.swap/apeswap-lists'\n\nconst HotBondCards = () => {\n const { data: hotBonds } = useHotBonds()\n const filteredBonds = hotBonds\n ?.sort(\n (a, b) =>\n (findHighestTrueBondPrice(TIERS_WEIGHT[LaunchBondTiers.Legend], b)?.bonus ?? 0) -\n (findHighestTrueBondPrice(TIERS_WEIGHT[LaunchBondTiers.Legend], a)?.bonus ?? 0),\n )\n ?.filter((bond) => {\n const bonus = findHighestTrueBondPrice(TIERS_WEIGHT[LaunchBondTiers.Legend], bond)?.bonus\n return bonus && bonus > 0 && bonus < 50\n })\n\n const [activeSlide, setActiveSlide] = useState(0)\n const { swiper, setSwiper } = useSwiper()\n\n const handleSlide = (event: SwiperCore) => {\n const slideNumber = getDotPos(event.activeIndex, filteredBonds?.length)\n setActiveSlide(slideNumber)\n }\n\n const slideTo = (index: number) => {\n setActiveSlide(index)\n swiper?.slideTo(index)\n }\n\n return (\n <Flex sx={styles.mainComponent}>\n <Flex sx={styles.hotBondTitle}>HOT BONDS</Flex>\n {/* DESKTOP CARDS */}\n <Flex sx={styles.desktopCards}>\n {filteredBonds?.slice(0, 3).map((bond, index) => {\n return <HotBondCard bond={bond} key={`${bond?.contractAddress?.[bond?.chainId]}-${index}`} />\n })}\n </Flex>\n {/* MOBILE CARDS WITH SWIPER */}\n <Flex\n sx={{\n flexDirection: 'column',\n width: '100%',\n alignItems: 'center',\n mb: '15px',\n overflow: 'hidden',\n display: 'flex',\n '@media screen and (min-width: 1000px)': {\n display: 'none',\n },\n }}\n >\n <Swiper\n id=\"hotbondsSweper\"\n onSwiper={setSwiper}\n slidesPerView=\"auto\"\n centeredSlides\n onSlideChange={handleSlide}\n style={{ width: '100%', paddingBottom: '15px', overflow: 'visible' }}\n >\n {filteredBonds?.map((bond, index) => {\n return (\n <SwiperSlide\n style={{\n width: '100%',\n padding: '1px',\n display: 'flex',\n justifyContent: 'center',\n }}\n key={index}\n >\n <HotBondCard bond={bond} key={`${bond?.contractAddress?.[bond?.chainId]}-${index}`} />\n </SwiperSlide>\n )\n })}\n </Swiper>\n <Flex>\n {[...Array(hotBonds?.length)].map((_, i) => {\n return <SwiperDots isActive={i === activeSlide} onClick={() => slideTo(i)} key={i} />\n })}\n </Flex>\n </Flex>\n </Flex>\n )\n}\n\nexport default HotBondCards\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -1,19 +1,6 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'theme-ui/jsx-runtime';
|
|
2
2
|
import getTimePeriods from '../../../../utils/getTimePeriods.js';
|
|
3
|
-
import '../../../../components/uikit-sdk/Svg/types.js';
|
|
4
|
-
import 'theme-ui';
|
|
5
3
|
import Flex from '../../../../components/uikit-sdk/Flex/index.js';
|
|
6
|
-
import '../../../../components/uikit-sdk/Text/types.js';
|
|
7
|
-
import '../../../../components/uikit-sdk/Checkbox/types.js';
|
|
8
|
-
import '../../../../components/uikit-sdk/Skeleton/types.js';
|
|
9
|
-
import '../../../../components/uikit-sdk/Skeleton/styles.js';
|
|
10
|
-
import '../../../../components/uikit-sdk/TooltipBubble/index.js';
|
|
11
|
-
import 'react';
|
|
12
|
-
import 'framer-motion';
|
|
13
|
-
import '../../../../components/uikit-sdk/Button/types.js';
|
|
14
|
-
import '../../../../contexts/ModalContext.js';
|
|
15
|
-
import '../../../FullBondsView/FullBondsView.js';
|
|
16
|
-
import '../../../../components/uikit-sdk/Select/types.js';
|
|
17
4
|
import TokenImage from '../../../../components/uikit-sdk/TokenImage/index.js';
|
|
18
5
|
import { styles } from './styles.js';
|
|
19
6
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SmallRecommendationCard.js","sources":["../../../../../src/views/Bonds/components/RecommendationCards/SmallRecommendationCard.tsx"],"sourcesContent":["import React from 'react'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport getTimePeriods from '../../../../utils/getTimePeriods'\nimport
|
|
1
|
+
{"version":3,"file":"SmallRecommendationCard.js","sources":["../../../../../src/views/Bonds/components/RecommendationCards/SmallRecommendationCard.tsx"],"sourcesContent":["import React from 'react'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport getTimePeriods from '../../../../utils/getTimePeriods'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport TokenImage from '../../../../components/uikit-sdk/TokenImage'\nimport { styles } from './styles'\n\nexport interface SmallCardBond {\n vestingTerm: number\n payoutTokenName: string\n contractAddress: string\n bonus: number\n chainId: ChainId\n}\n\nconst SmallRecommendationCard = ({ recommendation }: { recommendation: SmallCardBond }) => {\n const vestingTime = getTimePeriods(recommendation.vestingTerm ?? 0, true)\n\n return (\n <Flex\n sx={styles.smallCardContainer}\n onClick={() =>\n window.open(\n `${window.location.origin}/bonds?bondAddress=${recommendation.contractAddress}&bondChain=${recommendation.chainId}`,\n '_self',\n )\n }\n >\n <Flex sx={{ alignItems: 'center' }}>\n <TokenImage symbol={recommendation.payoutTokenName} size={32} chain={recommendation.chainId} />\n <Flex sx={{ mx: '10px', alignItems: 'center' }}>\n <Flex sx={{ fontSize: '14px', px: '6px' }}>{recommendation.payoutTokenName}</Flex>\n <Flex sx={styles.subTitle}>{vestingTime.days}D</Flex>\n </Flex>\n </Flex>\n <Flex sx={{ alignItems: 'center' }}>\n <Flex sx={styles.subTitle}>Bonus</Flex>\n <Flex sx={{ fontSize: '12px', color: recommendation.bonus > 0 ? 'success' : 'error', ml: '6px' }}>\n {recommendation.bonus.toFixed(2)}%\n </Flex>\n </Flex>\n </Flex>\n )\n}\n\nexport default SmallRecommendationCard\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;AAeA,MAAM,uBAAuB,GAAG,CAAC,EAAE,cAAc,EAAqC,KAAI;AACxF,IAAA,MAAM,WAAW,GAAG,cAAc,CAAC,cAAc,CAAC,WAAW,IAAI,CAAC,EAAE,IAAI,CAAC;AAEzE,IAAA,QACEA,IAAA,CAAC,IAAI,IACH,EAAE,EAAE,MAAM,CAAC,kBAAkB,EAC7B,OAAO,EAAE,MACP,MAAM,CAAC,IAAI,CACT,CAAA,EAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAA,mBAAA,EAAsB,cAAc,CAAC,eAAe,CAAA,WAAA,EAAc,cAAc,CAAC,OAAO,EAAE,EACnH,OAAO,CACR,EAAA,QAAA,EAAA,CAGHA,IAAA,CAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAA,QAAA,EAAA,CAChCC,GAAA,CAAC,UAAU,EAAA,EAAC,MAAM,EAAE,cAAc,CAAC,eAAe,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,OAAO,EAAA,CAAI,EAC/FD,IAAA,CAAC,IAAI,IAAC,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,aAC5CC,GAAA,CAAC,IAAI,IAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAA,QAAA,EAAG,cAAc,CAAC,eAAe,EAAA,CAAQ,EAClFD,IAAA,CAAC,IAAI,IAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,aAAG,WAAW,CAAC,IAAI,EAAA,GAAA,CAAA,EAAA,CAAS,CAAA,EAAA,CAChD,IACF,EACPA,IAAA,CAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,aAChCC,GAAA,CAAC,IAAI,IAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAA,QAAA,EAAA,OAAA,EAAA,CAAc,EACvCD,KAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,GAAG,CAAC,GAAG,SAAS,GAAG,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,aAC7F,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAC3B,CAAA,EAAA,CACF,CAAA,EAAA,CACF;AAEX;;;;"}
|
|
@@ -5,19 +5,7 @@ import { useAccount } from 'wagmi';
|
|
|
5
5
|
import useHotBonds from '../../../../state/bonds/useHotBonds.js';
|
|
6
6
|
import useGetBondRecommendations from '../../../../state/bonds/useGetBondRecommendations.js';
|
|
7
7
|
import useBondsData from '../../../../state/bonds/useBondsData.js';
|
|
8
|
-
import '../../../../components/uikit-sdk/Svg/types.js';
|
|
9
|
-
import 'theme-ui';
|
|
10
8
|
import Flex from '../../../../components/uikit-sdk/Flex/index.js';
|
|
11
|
-
import '../../../../components/uikit-sdk/Text/types.js';
|
|
12
|
-
import '../../../../components/uikit-sdk/Checkbox/types.js';
|
|
13
|
-
import '../../../../components/uikit-sdk/Skeleton/types.js';
|
|
14
|
-
import '../../../../components/uikit-sdk/Skeleton/styles.js';
|
|
15
|
-
import '../../../../components/uikit-sdk/TooltipBubble/index.js';
|
|
16
|
-
import 'framer-motion';
|
|
17
|
-
import '../../../../components/uikit-sdk/Button/types.js';
|
|
18
|
-
import '../../../../contexts/ModalContext.js';
|
|
19
|
-
import '../../../FullBondsView/FullBondsView.js';
|
|
20
|
-
import '../../../../components/uikit-sdk/Select/types.js';
|
|
21
9
|
import RecommendationSelector from '../../../../components/MenuSelect/RecommendationSelector.js';
|
|
22
10
|
import SmallRecommendationCard from './SmallRecommendationCard.js';
|
|
23
11
|
import { useSDKConfig } from '../../../../state/useSDKConfig.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/views/Bonds/components/RecommendationCards/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\nimport { useTopTags } from '../../../../hooks/useTopTags'\nimport { useAccount } from 'wagmi'\nimport useHotBonds from '../../../../state/bonds/useHotBonds'\nimport useGetBondRecommendations from '../../../../state/bonds/useGetBondRecommendations'\nimport useBondsData from '../../../../state/bonds/useBondsData'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/views/Bonds/components/RecommendationCards/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\nimport { useTopTags } from '../../../../hooks/useTopTags'\nimport { useAccount } from 'wagmi'\nimport useHotBonds from '../../../../state/bonds/useHotBonds'\nimport useGetBondRecommendations from '../../../../state/bonds/useGetBondRecommendations'\nimport useBondsData from '../../../../state/bonds/useBondsData'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport RecommendationSelector from '../../../../components/MenuSelect/RecommendationSelector'\nimport SmallRecommendationCard from './SmallRecommendationCard'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\nimport { findHighestTrueBondPrice } from '../../../BuyBond/findHighestTrueBondPrice'\n\nexport interface SmallCardBond {\n vestingTerm: number\n payoutTokenName: string\n contractAddress: string\n bonus: number\n chainId: ChainId\n}\n\nconst RecommendationCards = () => {\n const topTags = useTopTags()\n const { address: account } = useAccount()\n const options = account ? ['For You', 'Hot', ...topTags] : ['Hot', ...topTags]\n const [activeOption, setActiveOption] = useState(options[0])\n const { data: hotRecommendations } = useHotBonds()\n const { data: bonds } = useBondsData()\n const SDKConfig = useSDKConfig()\n\n const { data: forYouRecommendations } = useGetBondRecommendations(account, undefined, '3')\n const sortedBonds =\n bonds && bonds?.length > 0\n ? [...bonds].sort(\n (a, b) =>\n (findHighestTrueBondPrice('0', b)?.bonusWithFee ?? 0) -\n (findHighestTrueBondPrice('0', a)?.bonusWithFee ?? 0),\n )\n : undefined\n\n const filteredBonds = sortedBonds?.filter(\n (bond) => bond?.tags?.includes(activeOption) && !bond?.soldOut && SDKConfig?.chains?.includes(bond.chainId),\n )\n\n const selectedBonds =\n activeOption === 'For You' ? forYouRecommendations : activeOption === 'Hot' ? hotRecommendations : filteredBonds\n\n const slicedBonds = selectedBonds?.filter((bond) => SDKConfig?.chains?.includes(bond.chainId)).slice(0, 3)\n\n const parsedBondsToRender: SmallCardBond[] | undefined = slicedBonds?.map((bond) => {\n const contractAddress =\n 'billAddress' in bond ? bond.billAddress : (bond?.contractAddress?.[bond?.chainId] as string)\n const payoutTokenName = 'payoutTokenName' in bond ? bond.payoutTokenName : bond.earnToken.symbol\n\n return {\n payoutTokenName: payoutTokenName,\n contractAddress,\n vestingTerm: bond.vestingTerm ?? 0,\n bonus: 'bonus' in bond ? bond.bonus : (findHighestTrueBondPrice('0', bond)?.bonusWithFee ?? 0),\n chainId: bond.chainId,\n }\n })\n\n useEffect(() => {\n if (account) {\n setActiveOption('For You')\n } else {\n setActiveOption('Hot')\n }\n }, [account])\n\n return (\n <Flex sx={{ mt: '15px', flexDirection: 'column', width: '100%', display: ['none', 'none', 'none', 'flex'] }}>\n <Flex sx={{ width: '100%', justifyContent: 'space-between' }}>\n <Flex>\n <Flex\n sx={{\n width: ['60px', '60px', '60px', 'unset'],\n mr: ['0px', '0px', '0px', '15px'],\n alignItems: 'center',\n color: 'grey',\n fontSize: ['11px'],\n fontWeight: 500,\n }}\n >\n BONDS MARKETS:\n </Flex>\n <RecommendationSelector options={options} activeOption={activeOption} setActiveOption={setActiveOption} />\n </Flex>\n <Flex sx={{ display: ['none', 'none', 'none', 'flex'] }} />\n </Flex>\n <Flex\n sx={{\n my: '10px',\n minHeight: '47.45px',\n }}\n >\n {parsedBondsToRender &&\n parsedBondsToRender.length > 0 &&\n parsedBondsToRender.map((bond, index) => {\n return <SmallRecommendationCard recommendation={bond} key={`${bond.payoutTokenName}-${index}`} />\n })}\n </Flex>\n </Flex>\n )\n}\n\nexport default RecommendationCards\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -1,21 +1,11 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from 'theme-ui/jsx-runtime';
|
|
2
2
|
import { useState, useCallback, useEffect } from 'react';
|
|
3
3
|
import { BigNumber } from 'bignumber.js';
|
|
4
|
-
import
|
|
4
|
+
import Button from '../../components/uikit-sdk/Button/Button.js';
|
|
5
5
|
import Flex from '../../components/uikit-sdk/Flex/index.js';
|
|
6
|
+
import Svg from '../../components/uikit-sdk/Svg/index.js';
|
|
6
7
|
import Text from '../../components/uikit-sdk/Text/index.js';
|
|
7
|
-
import '../../components/uikit-sdk/Checkbox/types.js';
|
|
8
|
-
import 'theme-ui';
|
|
9
|
-
import '../../components/uikit-sdk/Skeleton/types.js';
|
|
10
|
-
import '../../components/uikit-sdk/Skeleton/styles.js';
|
|
11
8
|
import TooltipBubble from '../../components/uikit-sdk/TooltipBubble/index.js';
|
|
12
|
-
import 'framer-motion';
|
|
13
|
-
import Button from '../../components/uikit-sdk/Button/Button.js';
|
|
14
|
-
import '../../components/uikit-sdk/Svg/types.js';
|
|
15
|
-
import '../../components/uikit-sdk/Button/types.js';
|
|
16
|
-
import '../../contexts/ModalContext.js';
|
|
17
|
-
import '../FullBondsView/FullBondsView.js';
|
|
18
|
-
import '../../components/uikit-sdk/Select/types.js';
|
|
19
9
|
import { adjustDecimals } from '../../utils/convertToTokenValue.js';
|
|
20
10
|
import ABI_DEPOSIT from '../../config/abi/deposit.json.js';
|
|
21
11
|
import ABI_DEPOSIT_SIG from '../../config/abi/depositSig.json.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuyBond.js","sources":["../../../src/views/BuyBond/BuyBond.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from 'react'\nimport { BigNumber } from 'bignumber.js'\nimport { Button, Flex, Svg, Text, TooltipBubble } from '../../components/uikit-sdk'\nimport { adjustDecimals } from '../../utils/convertToTokenValue'\nimport ABI_DEPOSIT from '../../config/abi/deposit.json'\nimport ABI_DEPOSIT_SIG from '../../config/abi/depositSig.json'\nimport { useAccount, useChainId, useSendTransaction, useWriteContract } from 'wagmi'\nimport useModal from '../../hooks/useModal'\nimport ZapModal from '../ZapModal'\nimport { BillArtCollection, BillVersion, ChainId, Token } from '@ape.swap/apeswap-lists'\nimport TokenSelectorPanel from '../../components/TokenSelectorPanel'\nimport { useApproval } from '../../state/allowance/useAllowance'\nimport { SoulZapTokenManager } from '../../config/constants/addresses'\nimport useSoulZapBondQuote from '../../state/zap/useSoulZapBondQuote'\nimport { parseEther } from 'viem'\nimport useBondsData from '../../state/bonds/useBondsData'\nimport useTokenFromZapList from '../../hooks/useTokenFromZapList'\nimport { useMonitorTxHash } from '../../hooks/useMonitorTxHash'\nimport { usePopups } from '../../state/popups/usePopups'\nimport { formatNumber, formatUSDNumber, getMaxBuy, getPayoutAmount } from '../../utils/displayHelpers'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport { supportedByLIFI } from '../../config/constants/variables'\nimport { getSymbol } from '../../utils/getNativeTicker'\nimport { useSendReferenceId } from '../../hooks/useSendReferenceId'\nimport ConnectButton from '../../components/ConnectButton'\nimport BondModalHeader from './components/BondModalHeader'\nimport BondCards from './components/BondCards'\nimport Estimations from './components/Estimations'\nimport ProjectDescription from './components/ProjectDescription'\nimport track from '../../utils/track'\nimport { remove0xPrefix } from '../../utils/remove0xPrefix'\nimport useTierPoints, { getUserTier } from '../../state/tiers/useTierPoints'\nimport NewRateModal from './components/NewRateModal/NewRateModal'\nimport NoBonusModal from './components/NoBonusModal/NoBonusModal'\nimport useTierProofSignature from '../../state/bonds/useTierProofSignature'\nimport { findHighestTrueBondPrice } from './findHighestTrueBondPrice'\nimport GetUpToComponent from './components/GetUpToComponent/GetUpToComponent'\nimport SafeHTMLComponent from '../../components/SafeHTMLComponent'\nimport { useIsMobile } from '../../hooks/useIsMobile'\nimport useSortedZapList from '../../hooks/useSortedZapList'\nimport TransactionModal from '../TransactionModal/TransactionModal'\nimport { reportError } from '../../utils/reportError'\n\nexport interface BuyBondProps {\n onDismiss?: () => void // this is only the modal\n bondAddress?: string\n bondChain?: number\n handlePurchasedBond?: (hash: string) => void\n isProjectView?: boolean\n}\n\nconst BuyBond: React.FC<BuyBondProps> = ({ onDismiss, bondAddress, bondChain, handlePurchasedBond, isProjectView }) => {\n const SDKConfig = useSDKConfig()\n // Hooks\n const userChainId = useChainId()\n const { address: account } = useAccount()\n const { writeContractAsync } = useWriteContract()\n const { sendTransactionAsync } = useSendTransaction()\n const { data: bonds, refetch: refetchBondState } = useBondsData()\n const sendReferenceId = useSendReferenceId()\n const { data: userPoints } = useTierPoints()\n const bondData = bonds?.find(\n (bond) => bond?.contractAddress?.[bond.chainId]?.toLowerCase() === bondAddress?.toLowerCase(),\n )!\n const isMobile = useIsMobile()\n\n // Tier Gating\n const userTier = getUserTier(userPoints ?? '0')\n const minTier = bondData?.minTier !== undefined ? bondData.minTier : null\n const isUserRestricted = minTier !== null && (userTier === null || userTier < minTier)\n const trueBondPriceData = findHighestTrueBondPrice(userPoints, bondData)\n const trueBondPrice = trueBondPriceData?.trueBondPrice\n const { data: tierProofSig } = useTierProofSignature(bondAddress, bondChain, isUserRestricted)\n\n // State\n const [buyTxHash, setBuyTxHash] = useState<string | undefined>()\n const [inputValue, setInputValue] = useState('')\n const [inputTokenString, setInputTokenString] = useState(bondData?.lpToken?.address?.[bondData.chainId])\n\n // On-chain Data\n const inputToken = useTokenFromZapList(inputTokenString, bondData?.chainId, bondData?.lpToken)\n const isZap = inputTokenString?.toLowerCase() !== bondData?.lpToken?.address?.[bondData?.chainId]?.toLowerCase()\n const [fetchingZapQuote, zapData, zapDepositAmount, zapError, zapTrueBondPrice] = useSoulZapBondQuote(\n inputValue,\n inputToken,\n bondData,\n account,\n tierProofSig ?? undefined,\n )\n\n const { sortedZapList } = useSortedZapList(bondChain, bondData?.lpToken)\n const enrichedTokenData = sortedZapList.find((item) =>\n item.token === 'NATIVE' || inputToken === 'NATIVE'\n ? item.token === inputToken\n : item?.token?.address?.[bondChain as ChainId]?.toLowerCase() ===\n inputToken?.address?.[bondChain as ChainId]?.toLowerCase(),\n )\n const inputCurrencyBalance = enrichedTokenData?.balance\n const inputTokenPrice = enrichedTokenData?.price\n const rateChanged = parseFloat(zapTrueBondPrice ?? '0') > parseFloat(trueBondPrice ?? '0') * 1.01 && isZap\n\n // Estimations\n const depositAmount = isZap ? zapDepositAmount : inputValue\n const youSpendString = `${formatNumber(inputValue)} ${getSymbol(inputToken, bondData?.chainId)} = \n $${formatUSDNumber((parseFloat(inputValue) * (inputTokenPrice ?? 0)).toString())}`\n\n // Validations\n const isGoldRush = bondData?.billArt?.collection === BillArtCollection.GoldenTicket_Collection1\n const zapEnabled = supportedByLIFI.includes(bondData?.chainId)\n const exceedsMaxBuy = getMaxBuy(bondData, SDKConfig.showLowValueBonds).lt(\n getPayoutAmount(bondData, depositAmount, userPoints ?? '0'),\n )\n const exceedsBalance = new BigNumber(inputCurrencyBalance ?? '0').lt(inputValue)\n\n // Loading State\n const [loadingTx, setLoadingTx] = useState(false)\n const { addToastError } = usePopups()\n const { isLoading: isConfirming, isSuccess: isConfirmed } = useMonitorTxHash(buyTxHash, userChainId)\n const load = loadingTx || (isConfirming && !isConfirmed)\n\n // State Handlers\n const handleCurrencySelect = useCallback((newInputToken: string) => {\n setInputValue('')\n setInputTokenString(newInputToken)\n }, [])\n\n const handleOpenZapModal = () => {\n onOpenZapModal()\n track({\n event: 'getTokenClick',\n chain: bondData?.chainId,\n data: {\n bond: bondData?.earnToken.symbol,\n token: bondData?.lpToken?.symbol,\n },\n })\n }\n\n // Approve & Purchase Functions\n const [approvalState, approveCallback] = useApproval(\n inputValue,\n inputToken ?? null,\n (isZap ? SoulZapTokenManager?.[bondData?.chainId as ChainId] : bondData?.contractAddress?.[bondData.chainId]) ??\n null,\n account ?? null,\n bondData?.chainId ?? null,\n )\n const handleApprove = async () => {\n return approveCallback().then(() => {\n track({\n event: 'approveBondClick',\n chain: userChainId,\n data: {\n cat: bondData?.billType,\n bond: bondData?.earnToken.symbol,\n },\n })\n })\n }\n\n const handleBuyCallback = async () => {\n const billAddress: `0x${string}` = bondData?.contractAddress?.[bondData.chainId] as `0x${string}`\n const decimals = bondData?.lpToken.decimals?.[bondData?.chainId] ?? 18\n track({\n event: 'buyBondClick',\n chain: bondChain,\n data: {\n cat: bondData?.billType,\n bond: bondData?.earnToken.symbol,\n value: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n try {\n const maxPrice = new BigNumber(trueBondPrice ?? '0').times(102).div(100).toFixed(0) // multiply it by 1.02\n const rawAmount = adjustDecimals(inputValue)\n const amount = new BigNumber(rawAmount).times(new BigNumber(10).pow(decimals ?? 18)).toString()\n\n const shouldUseSig = bondData?.billVersion === BillVersion.V4 && SDKConfig.useTiers\n const args = shouldUseSig ? [amount, maxPrice, account, tierProofSig] : [amount, maxPrice, account]\n const hash = await writeContractAsync({\n address: billAddress,\n abi: shouldUseSig ? ABI_DEPOSIT_SIG : ABI_DEPOSIT,\n functionName: 'deposit',\n args: args,\n chain: bondData?.chainId as any,\n account,\n })\n if (hash) {\n setBuyTxHash(hash)\n await sendReferenceId(billAddress, userChainId, hash)\n handlePurchasedBond?.(hash)\n track({\n event: 'bond',\n chain: bondChain,\n data: {\n cat: 'lp-buy',\n type: bondData?.billType ?? '',\n typedValue: inputValue,\n principalToken: bondData?.lpToken.symbol ?? '',\n earnToken: bondData?.earnToken.symbol ?? '',\n address: remove0xPrefix(bondData?.contractAddress?.[bondData.chainId]),\n usdAmount: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n }\n } catch (error: any) {\n console.error('Buy error', error)\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error,\n extraInfo: { type: 'buyBond', bondData, error },\n chainId: bondChain,\n account,\n })\n addToastError(error.shortMessage)\n }\n }\n const handleZapCallback = async () => {\n if (zapData && zapData?.txData?.to && zapData?.txData?.data) {\n console.log('Attempting zap tx')\n track({\n event: 'buyBondClick',\n chain: bondData?.chainId,\n data: {\n cat: bondData?.billType,\n bond: bondData?.earnToken.symbol ?? '',\n value: zapData.lpQuote.fromAmountUSD,\n },\n })\n try {\n console.log(zapData)\n const validated18DecimalAmount = new BigNumber(inputValue ?? '0').toFixed(18, 5)\n const parsedValue = parseEther(validated18DecimalAmount)\n\n const hash = await sendTransactionAsync({\n to: zapData.txData.to,\n data: zapData.txData.data,\n value: inputToken === 'NATIVE' ? parsedValue : undefined,\n })\n if (hash) {\n setBuyTxHash(hash)\n await sendReferenceId(bondData?.contractAddress?.[bondData.chainId] ?? '', userChainId, hash)\n handlePurchasedBond?.(hash)\n track({\n event: 'zap',\n chain: bondChain,\n data: {\n cat: 'bill',\n token1: getSymbol(inputToken),\n token2: `${bondData?.lpToken.symbol ?? ''}`,\n amount: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n track({\n event: 'bond',\n chain: bondChain,\n data: {\n cat: 'zap-buy',\n type: bondData?.billType ?? '',\n principalToken: bondData?.lpToken.symbol ?? '',\n earnToken: bondData?.earnToken.symbol ?? '',\n address: remove0xPrefix(bondData?.contractAddress?.[bondData.chainId]),\n amount: inputValue,\n usdAmount: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n }\n } catch (e: any) {\n console.log(e)\n addToastError(e.shortMessage)\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error: e,\n extraInfo: { type: 'zapBuyBond', bondData, zapData, e },\n chainId: bondChain,\n account,\n })\n }\n }\n }\n\n const handleBothPurchases = () => {\n setLoadingTx(true)\n if (isZap) {\n handleZapCallback().finally(() => setLoadingTx(false))\n } else {\n handleBuyCallback().finally(() => setLoadingTx(false))\n }\n }\n\n const handleOpenModal = () => {\n const bonus = trueBondPriceData?.bonusWithFee ?? 0\n if (bonus <= 0) {\n openNoBonusModal()\n } else {\n openTxModal()\n }\n }\n\n const openExternal = () => {\n if (bondData?.lpToken?.getLpUrl?.[bondData?.chainId]) {\n window.open(bondData.lpToken.getLpUrl?.[bondData?.chainId], '_blank')\n } else {\n window.open(\n `https://ape.bond/swap?outputcurrency=${bondData?.lpToken.address[bondData?.chainId]}&outputChain=${bondData?.chainId}`,\n '_blank',\n )\n }\n }\n\n // Modals\n\n const [openNewRateModal] = useModal(\n <NewRateModal\n bond={bondData}\n zapTrueBondPrice={zapTrueBondPrice}\n depositAmount={depositAmount}\n youSpendString={youSpendString}\n fetchingZapQuote={fetchingZapQuote}\n zapError={zapError}\n />,\n true,\n false,\n 'newRateModal',\n )\n\n const [openTxModal] = useModal(\n <TransactionModal\n txChain={bondChain}\n approvalState={approvalState}\n approveCallback={handleApprove}\n loadingTx={loadingTx}\n txCallback={handleBothPurchases}\n bondData={bondData!}\n inputToken={inputToken}\n inputValue={inputValue}\n depositAmount={depositAmount}\n buyTxHash={buyTxHash}\n rateChanged={rateChanged}\n />,\n false,\n true,\n 'transactionModal',\n )\n\n const [onOpenZapModal] = useModal(\n <ZapModal outputToken={bondData?.lpToken as Token} account={account} chainId={bondData?.chainId as ChainId} />,\n true,\n true,\n 'zapModal',\n )\n\n const [openNoBonusModal] = useModal(\n <NoBonusModal onAcknowledge={openTxModal} showcaseTokenName={bondData?.showcaseTokenName} />,\n true,\n true,\n 'NoBonusModal',\n )\n\n // Effects\n const [hasChecked, setHasChecked] = useState(false)\n const [hasCheckedTrack, setHasCheckedTrack] = useState<boolean>(false)\n useEffect(() => {\n if (\n inputCurrencyBalance !== undefined &&\n inputCurrencyBalance === '0' &&\n !hasChecked &&\n bondChain &&\n zapEnabled &&\n sortedZapList?.length > 0 &&\n sortedZapList[0].usdValue !== 0\n ) {\n setHasChecked(true)\n setInputTokenString(\n sortedZapList[0].token === 'NATIVE' ? 'NATIVE' : sortedZapList[0].token.address[bondChain as ChainId],\n )\n }\n if (bondData && !hasCheckedTrack) {\n setHasCheckedTrack(true)\n }\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [inputCurrencyBalance, sortedZapList, bondData])\n\n // If rateChanged meaning the zap quote has a >1% difference from the true bond price, we let the user know and we update state\n useEffect(() => {\n if (rateChanged) {\n console.log('rate changed, refetch state and let user know')\n openNewRateModal()\n refetchBondState()\n }\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [rateChanged])\n\n return bondData ? (\n <Flex className={`modal-content ${isGoldRush ? 'gold-rush' : ''}`}>\n {!isProjectView && <div className=\"gold-ribbon\"></div>}\n <Flex className=\"modaltable-container\">\n <BondModalHeader\n bondData={bondData}\n onDismiss={onDismiss}\n showProjectInfoButton={SDKConfig?.referenceId === 'apebond'}\n />\n <ProjectDescription description={bondData.shortDescription} isProjectView />\n <Flex sx={{ width: '100%', display: isProjectView ? ['flex', 'flex', 'flex', 'none'] : 'flex' }}>\n <BondCards bondData={bondData} />\n </Flex>\n <Estimations\n depositAmount={depositAmount}\n bondData={bondData}\n youSpendString={youSpendString}\n isZap={isZap}\n fetchingZapQuote={fetchingZapQuote}\n zapError={zapError}\n />\n <TokenSelectorPanel\n typedValue={inputValue}\n setTypedValue={setInputValue}\n selectedToken={inputToken}\n handleValueBtn={() => setInputValue(new BigNumber(inputCurrencyBalance ?? '0')?.toString())}\n handleCurrencySelect={handleCurrencySelect}\n chainId={bondData?.chainId}\n enableZap={zapEnabled}\n bondPrincipalToken={bondData?.lpToken}\n tokenBalance={inputCurrencyBalance}\n selectedTokenPrice={inputTokenPrice}\n inputDisabled={isUserRestricted}\n />\n {SDKConfig.useTiers && <GetUpToComponent bond={bondData} depositAmount={depositAmount} />}\n {bondData?.warningCard && (\n <Flex\n sx={{\n width: '100%',\n background: '#DE62F366',\n justifyContent: 'center',\n mt: '10px',\n borderRadius: 'normal',\n p: '2px 10px',\n }}\n >\n <Text sx={{ fontSize: '12px', fontWeight: 400, display: 'flex', alignItems: 'center', gap: '10px' }}>\n <SafeHTMLComponent html={bondData?.warningCard} />\n {bondData?.chainId === ChainId.SONIC && bondData?.earnToken.symbol.toLowerCase() === 'moon' && (\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Text sx={{ textTransform: 'none' }}>\n Open the 'cog' icon menu in the top right and set the Slippage Tolerance to 5% or more.\n </Text>\n }\n width=\"315px\"\n placement=\"topRight\"\n transformTip=\"translate(9%, -10%)\"\n >\n <Svg icon=\"questionCircle\" width={14} color=\"textDisabledButton\" />\n </TooltipBubble>\n )}\n </Text>\n </Flex>\n )}\n <Flex className=\"modaltable-container button-container\">\n {account && (\n <Flex className=\"button-container get\">\n <Button\n className=\"action-button\"\n onClick={() =>\n bondData.billVersion === BillVersion.V4 && SDKConfig.useTiers && zapEnabled\n ? window.open('http://ape.bond/tier-staking', '_blank')\n : zapEnabled\n ? handleOpenZapModal()\n : openExternal()\n }\n variant=\"secondary\"\n fullWidth\n >\n {bondData.billVersion === BillVersion.V4 && SDKConfig.useTiers && zapEnabled\n ? `Get ${!isMobile ? 'your' : ''} Tier`\n : `Get ${getSymbol(bondData?.lpToken)}`}\n </Button>\n </Flex>\n )}\n <Flex className=\"button-container buy\">\n {!account ? (\n <ConnectButton />\n ) : isUserRestricted ? (\n <Button className=\"action-button\" disabled>\n INSUFFICIENT TIER\n </Button>\n ) : (\n <Button\n className=\"action-button\"\n load={load || fetchingZapQuote}\n disabled={\n load ||\n bondData?.soldOut ||\n !account ||\n !inputValue ||\n parseFloat(inputValue) === 0 ||\n fetchingZapQuote ||\n zapError ||\n exceedsMaxBuy ||\n exceedsBalance ||\n (isZap && !zapData)\n }\n onClick={handleOpenModal}\n >\n {exceedsMaxBuy\n ? 'Exceeds Max Buy'\n : exceedsBalance\n ? 'Exceeds balance'\n : zapError\n ? 'something went wrong'\n : !inputValue || parseFloat(inputValue) === 0\n ? 'Insert amount'\n : `buy`}\n </Button>\n )}\n </Flex>\n </Flex>\n </Flex>\n </Flex>\n ) : (\n <></>\n )\n}\nexport default BuyBond\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BuyBond.js","sources":["../../../src/views/BuyBond/BuyBond.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from 'react'\nimport { BigNumber } from 'bignumber.js'\nimport Button from '../../components/uikit-sdk/Button/Button'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport Svg from '../../components/uikit-sdk/Svg'\nimport Text from '../../components/uikit-sdk/Text'\nimport TooltipBubble from '../../components/uikit-sdk/TooltipBubble'\nimport { adjustDecimals } from '../../utils/convertToTokenValue'\nimport ABI_DEPOSIT from '../../config/abi/deposit.json'\nimport ABI_DEPOSIT_SIG from '../../config/abi/depositSig.json'\nimport { useAccount, useChainId, useSendTransaction, useWriteContract } from 'wagmi'\nimport useModal from '../../hooks/useModal'\nimport ZapModal from '../ZapModal'\nimport { BillArtCollection, BillVersion, ChainId, Token } from '@ape.swap/apeswap-lists'\nimport TokenSelectorPanel from '../../components/TokenSelectorPanel'\nimport { useApproval } from '../../state/allowance/useAllowance'\nimport { SoulZapTokenManager } from '../../config/constants/addresses'\nimport useSoulZapBondQuote from '../../state/zap/useSoulZapBondQuote'\nimport { parseEther } from 'viem'\nimport useBondsData from '../../state/bonds/useBondsData'\nimport useTokenFromZapList from '../../hooks/useTokenFromZapList'\nimport { useMonitorTxHash } from '../../hooks/useMonitorTxHash'\nimport { usePopups } from '../../state/popups/usePopups'\nimport { formatNumber, formatUSDNumber, getMaxBuy, getPayoutAmount } from '../../utils/displayHelpers'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport { supportedByLIFI } from '../../config/constants/variables'\nimport { getSymbol } from '../../utils/getNativeTicker'\nimport { useSendReferenceId } from '../../hooks/useSendReferenceId'\nimport ConnectButton from '../../components/ConnectButton'\nimport BondModalHeader from './components/BondModalHeader'\nimport BondCards from './components/BondCards'\nimport Estimations from './components/Estimations'\nimport ProjectDescription from './components/ProjectDescription'\nimport track from '../../utils/track'\nimport { remove0xPrefix } from '../../utils/remove0xPrefix'\nimport useTierPoints, { getUserTier } from '../../state/tiers/useTierPoints'\nimport NewRateModal from './components/NewRateModal/NewRateModal'\nimport NoBonusModal from './components/NoBonusModal/NoBonusModal'\nimport useTierProofSignature from '../../state/bonds/useTierProofSignature'\nimport { findHighestTrueBondPrice } from './findHighestTrueBondPrice'\nimport GetUpToComponent from './components/GetUpToComponent/GetUpToComponent'\nimport SafeHTMLComponent from '../../components/SafeHTMLComponent'\nimport { useIsMobile } from '../../hooks/useIsMobile'\nimport useSortedZapList from '../../hooks/useSortedZapList'\nimport TransactionModal from '../TransactionModal/TransactionModal'\nimport { reportError } from '../../utils/reportError'\n\nexport interface BuyBondProps {\n onDismiss?: () => void // this is only the modal\n bondAddress?: string\n bondChain?: number\n handlePurchasedBond?: (hash: string) => void\n isProjectView?: boolean\n}\n\nconst BuyBond: React.FC<BuyBondProps> = ({ onDismiss, bondAddress, bondChain, handlePurchasedBond, isProjectView }) => {\n const SDKConfig = useSDKConfig()\n // Hooks\n const userChainId = useChainId()\n const { address: account } = useAccount()\n const { writeContractAsync } = useWriteContract()\n const { sendTransactionAsync } = useSendTransaction()\n const { data: bonds, refetch: refetchBondState } = useBondsData()\n const sendReferenceId = useSendReferenceId()\n const { data: userPoints } = useTierPoints()\n const bondData = bonds?.find(\n (bond) => bond?.contractAddress?.[bond.chainId]?.toLowerCase() === bondAddress?.toLowerCase(),\n )!\n const isMobile = useIsMobile()\n\n // Tier Gating\n const userTier = getUserTier(userPoints ?? '0')\n const minTier = bondData?.minTier !== undefined ? bondData.minTier : null\n const isUserRestricted = minTier !== null && (userTier === null || userTier < minTier)\n const trueBondPriceData = findHighestTrueBondPrice(userPoints, bondData)\n const trueBondPrice = trueBondPriceData?.trueBondPrice\n const { data: tierProofSig } = useTierProofSignature(bondAddress, bondChain, isUserRestricted)\n\n // State\n const [buyTxHash, setBuyTxHash] = useState<string | undefined>()\n const [inputValue, setInputValue] = useState('')\n const [inputTokenString, setInputTokenString] = useState(bondData?.lpToken?.address?.[bondData.chainId])\n\n // On-chain Data\n const inputToken = useTokenFromZapList(inputTokenString, bondData?.chainId, bondData?.lpToken)\n const isZap = inputTokenString?.toLowerCase() !== bondData?.lpToken?.address?.[bondData?.chainId]?.toLowerCase()\n const [fetchingZapQuote, zapData, zapDepositAmount, zapError, zapTrueBondPrice] = useSoulZapBondQuote(\n inputValue,\n inputToken,\n bondData,\n account,\n tierProofSig ?? undefined,\n )\n\n const { sortedZapList } = useSortedZapList(bondChain, bondData?.lpToken)\n const enrichedTokenData = sortedZapList.find((item) =>\n item.token === 'NATIVE' || inputToken === 'NATIVE'\n ? item.token === inputToken\n : item?.token?.address?.[bondChain as ChainId]?.toLowerCase() ===\n inputToken?.address?.[bondChain as ChainId]?.toLowerCase(),\n )\n const inputCurrencyBalance = enrichedTokenData?.balance\n const inputTokenPrice = enrichedTokenData?.price\n const rateChanged = parseFloat(zapTrueBondPrice ?? '0') > parseFloat(trueBondPrice ?? '0') * 1.01 && isZap\n\n // Estimations\n const depositAmount = isZap ? zapDepositAmount : inputValue\n const youSpendString = `${formatNumber(inputValue)} ${getSymbol(inputToken, bondData?.chainId)} = \n $${formatUSDNumber((parseFloat(inputValue) * (inputTokenPrice ?? 0)).toString())}`\n\n // Validations\n const isGoldRush = bondData?.billArt?.collection === BillArtCollection.GoldenTicket_Collection1\n const zapEnabled = supportedByLIFI.includes(bondData?.chainId)\n const exceedsMaxBuy = getMaxBuy(bondData, SDKConfig.showLowValueBonds).lt(\n getPayoutAmount(bondData, depositAmount, userPoints ?? '0'),\n )\n const exceedsBalance = new BigNumber(inputCurrencyBalance ?? '0').lt(inputValue)\n\n // Loading State\n const [loadingTx, setLoadingTx] = useState(false)\n const { addToastError } = usePopups()\n const { isLoading: isConfirming, isSuccess: isConfirmed } = useMonitorTxHash(buyTxHash, userChainId)\n const load = loadingTx || (isConfirming && !isConfirmed)\n\n // State Handlers\n const handleCurrencySelect = useCallback((newInputToken: string) => {\n setInputValue('')\n setInputTokenString(newInputToken)\n }, [])\n\n const handleOpenZapModal = () => {\n onOpenZapModal()\n track({\n event: 'getTokenClick',\n chain: bondData?.chainId,\n data: {\n bond: bondData?.earnToken.symbol,\n token: bondData?.lpToken?.symbol,\n },\n })\n }\n\n // Approve & Purchase Functions\n const [approvalState, approveCallback] = useApproval(\n inputValue,\n inputToken ?? null,\n (isZap ? SoulZapTokenManager?.[bondData?.chainId as ChainId] : bondData?.contractAddress?.[bondData.chainId]) ??\n null,\n account ?? null,\n bondData?.chainId ?? null,\n )\n const handleApprove = async () => {\n return approveCallback().then(() => {\n track({\n event: 'approveBondClick',\n chain: userChainId,\n data: {\n cat: bondData?.billType,\n bond: bondData?.earnToken.symbol,\n },\n })\n })\n }\n\n const handleBuyCallback = async () => {\n const billAddress: `0x${string}` = bondData?.contractAddress?.[bondData.chainId] as `0x${string}`\n const decimals = bondData?.lpToken.decimals?.[bondData?.chainId] ?? 18\n track({\n event: 'buyBondClick',\n chain: bondChain,\n data: {\n cat: bondData?.billType,\n bond: bondData?.earnToken.symbol,\n value: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n try {\n const maxPrice = new BigNumber(trueBondPrice ?? '0').times(102).div(100).toFixed(0) // multiply it by 1.02\n const rawAmount = adjustDecimals(inputValue)\n const amount = new BigNumber(rawAmount).times(new BigNumber(10).pow(decimals ?? 18)).toString()\n\n const shouldUseSig = bondData?.billVersion === BillVersion.V4 && SDKConfig.useTiers\n const args = shouldUseSig ? [amount, maxPrice, account, tierProofSig] : [amount, maxPrice, account]\n const hash = await writeContractAsync({\n address: billAddress,\n abi: shouldUseSig ? ABI_DEPOSIT_SIG : ABI_DEPOSIT,\n functionName: 'deposit',\n args: args,\n chain: bondData?.chainId as any,\n account,\n })\n if (hash) {\n setBuyTxHash(hash)\n await sendReferenceId(billAddress, userChainId, hash)\n handlePurchasedBond?.(hash)\n track({\n event: 'bond',\n chain: bondChain,\n data: {\n cat: 'lp-buy',\n type: bondData?.billType ?? '',\n typedValue: inputValue,\n principalToken: bondData?.lpToken.symbol ?? '',\n earnToken: bondData?.earnToken.symbol ?? '',\n address: remove0xPrefix(bondData?.contractAddress?.[bondData.chainId]),\n usdAmount: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n }\n } catch (error: any) {\n console.error('Buy error', error)\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error,\n extraInfo: { type: 'buyBond', bondData, error },\n chainId: bondChain,\n account,\n })\n addToastError(error.shortMessage)\n }\n }\n const handleZapCallback = async () => {\n if (zapData && zapData?.txData?.to && zapData?.txData?.data) {\n console.log('Attempting zap tx')\n track({\n event: 'buyBondClick',\n chain: bondData?.chainId,\n data: {\n cat: bondData?.billType,\n bond: bondData?.earnToken.symbol ?? '',\n value: zapData.lpQuote.fromAmountUSD,\n },\n })\n try {\n console.log(zapData)\n const validated18DecimalAmount = new BigNumber(inputValue ?? '0').toFixed(18, 5)\n const parsedValue = parseEther(validated18DecimalAmount)\n\n const hash = await sendTransactionAsync({\n to: zapData.txData.to,\n data: zapData.txData.data,\n value: inputToken === 'NATIVE' ? parsedValue : undefined,\n })\n if (hash) {\n setBuyTxHash(hash)\n await sendReferenceId(bondData?.contractAddress?.[bondData.chainId] ?? '', userChainId, hash)\n handlePurchasedBond?.(hash)\n track({\n event: 'zap',\n chain: bondChain,\n data: {\n cat: 'bill',\n token1: getSymbol(inputToken),\n token2: `${bondData?.lpToken.symbol ?? ''}`,\n amount: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n track({\n event: 'bond',\n chain: bondChain,\n data: {\n cat: 'zap-buy',\n type: bondData?.billType ?? '',\n principalToken: bondData?.lpToken.symbol ?? '',\n earnToken: bondData?.earnToken.symbol ?? '',\n address: remove0xPrefix(bondData?.contractAddress?.[bondData.chainId]),\n amount: inputValue,\n usdAmount: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n }\n } catch (e: any) {\n console.log(e)\n addToastError(e.shortMessage)\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error: e,\n extraInfo: { type: 'zapBuyBond', bondData, zapData, e },\n chainId: bondChain,\n account,\n })\n }\n }\n }\n\n const handleBothPurchases = () => {\n setLoadingTx(true)\n if (isZap) {\n handleZapCallback().finally(() => setLoadingTx(false))\n } else {\n handleBuyCallback().finally(() => setLoadingTx(false))\n }\n }\n\n const handleOpenModal = () => {\n const bonus = trueBondPriceData?.bonusWithFee ?? 0\n if (bonus <= 0) {\n openNoBonusModal()\n } else {\n openTxModal()\n }\n }\n\n const openExternal = () => {\n if (bondData?.lpToken?.getLpUrl?.[bondData?.chainId]) {\n window.open(bondData.lpToken.getLpUrl?.[bondData?.chainId], '_blank')\n } else {\n window.open(\n `https://ape.bond/swap?outputcurrency=${bondData?.lpToken.address[bondData?.chainId]}&outputChain=${bondData?.chainId}`,\n '_blank',\n )\n }\n }\n\n // Modals\n\n const [openNewRateModal] = useModal(\n <NewRateModal\n bond={bondData}\n zapTrueBondPrice={zapTrueBondPrice}\n depositAmount={depositAmount}\n youSpendString={youSpendString}\n fetchingZapQuote={fetchingZapQuote}\n zapError={zapError}\n />,\n true,\n false,\n 'newRateModal',\n )\n\n const [openTxModal] = useModal(\n <TransactionModal\n txChain={bondChain}\n approvalState={approvalState}\n approveCallback={handleApprove}\n loadingTx={loadingTx}\n txCallback={handleBothPurchases}\n bondData={bondData!}\n inputToken={inputToken}\n inputValue={inputValue}\n depositAmount={depositAmount}\n buyTxHash={buyTxHash}\n rateChanged={rateChanged}\n />,\n false,\n true,\n 'transactionModal',\n )\n\n const [onOpenZapModal] = useModal(\n <ZapModal outputToken={bondData?.lpToken as Token} account={account} chainId={bondData?.chainId as ChainId} />,\n true,\n true,\n 'zapModal',\n )\n\n const [openNoBonusModal] = useModal(\n <NoBonusModal onAcknowledge={openTxModal} showcaseTokenName={bondData?.showcaseTokenName} />,\n true,\n true,\n 'NoBonusModal',\n )\n\n // Effects\n const [hasChecked, setHasChecked] = useState(false)\n const [hasCheckedTrack, setHasCheckedTrack] = useState<boolean>(false)\n useEffect(() => {\n if (\n inputCurrencyBalance !== undefined &&\n inputCurrencyBalance === '0' &&\n !hasChecked &&\n bondChain &&\n zapEnabled &&\n sortedZapList?.length > 0 &&\n sortedZapList[0].usdValue !== 0\n ) {\n setHasChecked(true)\n setInputTokenString(\n sortedZapList[0].token === 'NATIVE' ? 'NATIVE' : sortedZapList[0].token.address[bondChain as ChainId],\n )\n }\n if (bondData && !hasCheckedTrack) {\n setHasCheckedTrack(true)\n }\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [inputCurrencyBalance, sortedZapList, bondData])\n\n // If rateChanged meaning the zap quote has a >1% difference from the true bond price, we let the user know and we update state\n useEffect(() => {\n if (rateChanged) {\n console.log('rate changed, refetch state and let user know')\n openNewRateModal()\n refetchBondState()\n }\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [rateChanged])\n\n return bondData ? (\n <Flex className={`modal-content ${isGoldRush ? 'gold-rush' : ''}`}>\n {!isProjectView && <div className=\"gold-ribbon\"></div>}\n <Flex className=\"modaltable-container\">\n <BondModalHeader\n bondData={bondData}\n onDismiss={onDismiss}\n showProjectInfoButton={SDKConfig?.referenceId === 'apebond'}\n />\n <ProjectDescription description={bondData.shortDescription} isProjectView />\n <Flex sx={{ width: '100%', display: isProjectView ? ['flex', 'flex', 'flex', 'none'] : 'flex' }}>\n <BondCards bondData={bondData} />\n </Flex>\n <Estimations\n depositAmount={depositAmount}\n bondData={bondData}\n youSpendString={youSpendString}\n isZap={isZap}\n fetchingZapQuote={fetchingZapQuote}\n zapError={zapError}\n />\n <TokenSelectorPanel\n typedValue={inputValue}\n setTypedValue={setInputValue}\n selectedToken={inputToken}\n handleValueBtn={() => setInputValue(new BigNumber(inputCurrencyBalance ?? '0')?.toString())}\n handleCurrencySelect={handleCurrencySelect}\n chainId={bondData?.chainId}\n enableZap={zapEnabled}\n bondPrincipalToken={bondData?.lpToken}\n tokenBalance={inputCurrencyBalance}\n selectedTokenPrice={inputTokenPrice}\n inputDisabled={isUserRestricted}\n />\n {SDKConfig.useTiers && <GetUpToComponent bond={bondData} depositAmount={depositAmount} />}\n {bondData?.warningCard && (\n <Flex\n sx={{\n width: '100%',\n background: '#DE62F366',\n justifyContent: 'center',\n mt: '10px',\n borderRadius: 'normal',\n p: '2px 10px',\n }}\n >\n <Text sx={{ fontSize: '12px', fontWeight: 400, display: 'flex', alignItems: 'center', gap: '10px' }}>\n <SafeHTMLComponent html={bondData?.warningCard} />\n {bondData?.chainId === ChainId.SONIC && bondData?.earnToken.symbol.toLowerCase() === 'moon' && (\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Text sx={{ textTransform: 'none' }}>\n Open the 'cog' icon menu in the top right and set the Slippage Tolerance to 5% or more.\n </Text>\n }\n width=\"315px\"\n placement=\"topRight\"\n transformTip=\"translate(9%, -10%)\"\n >\n <Svg icon=\"questionCircle\" width={14} color=\"textDisabledButton\" />\n </TooltipBubble>\n )}\n </Text>\n </Flex>\n )}\n <Flex className=\"modaltable-container button-container\">\n {account && (\n <Flex className=\"button-container get\">\n <Button\n className=\"action-button\"\n onClick={() =>\n bondData.billVersion === BillVersion.V4 && SDKConfig.useTiers && zapEnabled\n ? window.open('http://ape.bond/tier-staking', '_blank')\n : zapEnabled\n ? handleOpenZapModal()\n : openExternal()\n }\n variant=\"secondary\"\n fullWidth\n >\n {bondData.billVersion === BillVersion.V4 && SDKConfig.useTiers && zapEnabled\n ? `Get ${!isMobile ? 'your' : ''} Tier`\n : `Get ${getSymbol(bondData?.lpToken)}`}\n </Button>\n </Flex>\n )}\n <Flex className=\"button-container buy\">\n {!account ? (\n <ConnectButton />\n ) : isUserRestricted ? (\n <Button className=\"action-button\" disabled>\n INSUFFICIENT TIER\n </Button>\n ) : (\n <Button\n className=\"action-button\"\n load={load || fetchingZapQuote}\n disabled={\n load ||\n bondData?.soldOut ||\n !account ||\n !inputValue ||\n parseFloat(inputValue) === 0 ||\n fetchingZapQuote ||\n zapError ||\n exceedsMaxBuy ||\n exceedsBalance ||\n (isZap && !zapData)\n }\n onClick={handleOpenModal}\n >\n {exceedsMaxBuy\n ? 'Exceeds Max Buy'\n : exceedsBalance\n ? 'Exceeds balance'\n : zapError\n ? 'something went wrong'\n : !inputValue || parseFloat(inputValue) === 0\n ? 'Insert amount'\n : `buy`}\n </Button>\n )}\n </Flex>\n </Flex>\n </Flex>\n </Flex>\n ) : (\n <></>\n )\n}\nexport default BuyBond\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
|
|
@@ -1,18 +1,6 @@
|
|
|
1
1
|
import { jsx } from 'theme-ui/jsx-runtime';
|
|
2
|
-
import '../../components/uikit-sdk/Svg/types.js';
|
|
3
|
-
import 'theme-ui';
|
|
4
2
|
import Flex from '../../components/uikit-sdk/Flex/index.js';
|
|
5
|
-
import '../../components/uikit-sdk/Text/types.js';
|
|
6
|
-
import '../../components/uikit-sdk/Checkbox/types.js';
|
|
7
|
-
import '../../components/uikit-sdk/Skeleton/types.js';
|
|
8
|
-
import '../../components/uikit-sdk/Skeleton/styles.js';
|
|
9
|
-
import '../../components/uikit-sdk/TooltipBubble/index.js';
|
|
10
3
|
import Modal from '../../components/uikit-sdk/Modal/index.js';
|
|
11
|
-
import 'framer-motion';
|
|
12
|
-
import '../FullBondsView/FullBondsView.js';
|
|
13
|
-
import 'react';
|
|
14
|
-
import '../../components/uikit-sdk/Button/types.js';
|
|
15
|
-
import '../../components/uikit-sdk/Select/types.js';
|
|
16
4
|
import BuyBond from './BuyBond.js';
|
|
17
5
|
|
|
18
6
|
const BuyBondModal = ({ onDismiss, bondAddress, bondChain, handlePurchasedBond }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuyBondModal.js","sources":["../../../src/views/BuyBond/BuyBondModal.tsx"],"sourcesContent":["import React from 'react'\nimport
|
|
1
|
+
{"version":3,"file":"BuyBondModal.js","sources":["../../../src/views/BuyBond/BuyBondModal.tsx"],"sourcesContent":["import React from 'react'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport Modal from '../../components/uikit-sdk/Modal'\nimport BuyBond, { BuyBondProps } from './BuyBond'\n\nconst BuyBondModal: React.FC<BuyBondProps> = ({ onDismiss, bondAddress, bondChain, handlePurchasedBond }) => {\n return (\n <Modal className=\"modal\" onDismiss={onDismiss} sx={{ width: '400px' }}>\n <Flex sx={{ width: '100%', maxWidth: '700px', mt: '-10px' }}>\n <BuyBond\n onDismiss={onDismiss}\n bondAddress={bondAddress}\n bondChain={bondChain}\n handlePurchasedBond={handlePurchasedBond}\n />\n </Flex>\n </Modal>\n )\n}\n\nexport default BuyBondModal\n"],"names":["_jsx"],"mappings":";;;;;AAKA,MAAM,YAAY,GAA2B,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE,KAAI;AAC1G,IAAA,QACEA,GAAA,CAAC,KAAK,EAAA,EAAC,SAAS,EAAC,OAAO,EAAC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAA,QAAA,EACnEA,GAAA,CAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAA,QAAA,EACzDA,GAAA,CAAC,OAAO,EAAA,EACN,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,mBAAmB,EAAE,mBAAmB,EAAA,CACxC,EAAA,CACG,EAAA,CACD;AAEZ;;;;"}
|
|
@@ -1,20 +1,7 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from 'theme-ui/jsx-runtime';
|
|
2
|
-
import Svg from '../../../components/uikit-sdk/Svg/index.js';
|
|
3
2
|
import Flex from '../../../components/uikit-sdk/Flex/index.js';
|
|
4
|
-
import 'theme-ui';
|
|
5
|
-
import '../../../components/uikit-sdk/Text/types.js';
|
|
6
|
-
import '../../../components/uikit-sdk/Checkbox/types.js';
|
|
7
|
-
import '../../../components/uikit-sdk/Skeleton/types.js';
|
|
8
|
-
import '../../../components/uikit-sdk/Skeleton/styles.js';
|
|
9
|
-
import '../../../components/uikit-sdk/TooltipBubble/index.js';
|
|
10
|
-
import 'react';
|
|
11
|
-
import 'framer-motion';
|
|
12
|
-
import '../../../components/uikit-sdk/Button/types.js';
|
|
13
|
-
import '../../../components/uikit-sdk/Svg/types.js';
|
|
14
|
-
import '../../../contexts/ModalContext.js';
|
|
15
|
-
import '../../FullBondsView/FullBondsView.js';
|
|
16
|
-
import '../../../components/uikit-sdk/Select/types.js';
|
|
17
3
|
import ListTag from '../../../components/uikit-sdk/Tag/ListTag.js';
|
|
4
|
+
import Svg from '../../../components/uikit-sdk/Svg/index.js';
|
|
18
5
|
import TokenImage from '../../../components/uikit-sdk/TokenImage/index.js';
|
|
19
6
|
import { earnTokenPrice, discountEarnTokenPrice } from '../../../utils/displayHelpers.js';
|
|
20
7
|
import useModal from '../../../hooks/useModal.js';
|