@ape.swap/bonds-sdk 6.2.13-test.3 → 6.2.13-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/MenuSelect/MenuSelect.js +1 -6
- package/dist/components/MenuSelect/MenuSelect.js.map +1 -1
- package/dist/components/TokenInfoAndName/index.js +1 -0
- package/dist/components/TokenInfoAndName/index.js.map +1 -1
- package/dist/components/uikit-sdk/Text/index.js +1 -8
- package/dist/components/uikit-sdk/Text/index.js.map +1 -1
- package/dist/components/uikit-sdk/Text/types.js.map +1 -1
- package/dist/state/useSDKConfig.d.ts +0 -8
- package/dist/state/useSDKConfig.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utils/bondPriceHelpers.js +1 -11
- package/dist/utils/bondPriceHelpers.js.map +1 -1
- package/dist/utils/resolveColor.d.ts +0 -12
- package/dist/utils/resolveColor.js +0 -12
- package/dist/utils/resolveColor.js.map +1 -1
- package/dist/views/Bonds/components/BonusComponents/BonusTable.js +2 -2
- package/dist/views/Bonds/components/BonusComponents/BonusTable.js.map +1 -1
- package/dist/views/Bonds/components/ChainBanner/ChainBanner.js +1 -14
- package/dist/views/Bonds/components/ChainBanner/ChainBanner.js.map +1 -1
- package/dist/views/BuyBond/BuyComponent.js +8 -9
- package/dist/views/BuyBond/BuyComponent.js.map +1 -1
- package/dist/views/BuyBond/components/BondCards/BondCards.js +18 -3
- package/dist/views/BuyBond/components/BondCards/BondCards.js.map +1 -1
- package/dist/views/BuyBond/components/L1xIframe/L1xIframe.d.ts +4 -0
- package/dist/views/BuyBond/components/L1xIframe/L1xIframe.js +12 -0
- package/dist/views/BuyBond/components/L1xIframe/L1xIframe.js.map +1 -0
- package/dist/views/BuyBond/utils.js +0 -1
- package/dist/views/BuyBond/utils.js.map +1 -1
- package/dist/views/LifiModal/LifiModal.js +1 -2
- package/dist/views/LifiModal/LifiModal.js.map +1 -1
- package/dist/views/ProjectView/ProjectView.js +1 -1
- package/dist/views/ProjectView/ProjectView.js.map +1 -1
- package/dist/views/ProjectView/index.js.map +1 -1
- package/dist/views/YourBondsModal/components/Actions/Actions.js +1 -1
- package/dist/views/YourBondsModal/components/Actions/Actions.js.map +1 -1
- package/package.json +1 -1
- package/dist/views/BuyBond/components/GetUpToComponent/GetUpToComponent.js +0 -34
- package/dist/views/BuyBond/components/GetUpToComponent/GetUpToComponent.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectView.js","sources":["../../../src/views/ProjectView/ProjectView.tsx"],"sourcesContent":["import React, { useEffect } from 'react'\nimport useBondsData from '../../state/bonds/useBondsData'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport RecommendationCards from './components/RecommendationCards'\nimport NavPanel from './components/NavPanel'\nimport BondCards from '../BuyBond/components/BondCards/BondCards'\nimport ProjectInfo from './components/ProjectInfo'\nimport BondStats from './components/BondStats'\nimport BondLeaderboard from './components/BondLeaderboard'\nimport PriceChart from './components/PriceChart'\nimport BuyBond from '../BuyBond/BuyComponent'\nimport useTokenPrices from '../../state/tokenPrices/useTokenPrices'\nimport useHistoricalPrice from '../../state/historicalPrice/useHistoricalPrice'\n\nexport interface HistoricalPrices {\n timestamp: string\n open: number\n close: number\n}\n\nexport interface ProjectViewProps {\n bondAddress: string\n bondChain: string\n}\n\nconst ProjectView: React.FC<ProjectViewProps> = ({ bondAddress, bondChain }) => {\n // Hooks\n const { data: bonds, refetch } = useBondsData()\n const { data: tokenPrices } = useTokenPrices()\n const bondData = bonds?.find(\n (bond) =>\n bond?.contractAddress?.[bond.chainId]?.toLowerCase() === (bondAddress as string)?.toLowerCase() &&\n (bondChain as string) === bond.chainId.toString(),\n )\n\n const { data: historicalPrices } = useHistoricalPrice(bondData?.cgId)\n\n useEffect(() => {\n if ((bonds?.length ?? 0) > 0 && !bondData) {\n window.location.href = '/bonds'\n }\n })\n\n useEffect(() => {\n if (Object.keys(tokenPrices ?? {})?.length > 0 && bonds?.length === 0) {\n console.log('Found prices and no bonds, realtimeapi failed. Refetching bonds')\n refetch()\n }\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [Object.keys(tokenPrices ?? {})?.length, bonds?.length, refetch])\n\n return (\n <Flex className=\"ape:w-full ape:flex-col ape:mt-[15px]
|
|
1
|
+
{"version":3,"file":"ProjectView.js","sources":["../../../src/views/ProjectView/ProjectView.tsx"],"sourcesContent":["import React, { useEffect } from 'react'\nimport useBondsData from '../../state/bonds/useBondsData'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport RecommendationCards from './components/RecommendationCards'\nimport NavPanel from './components/NavPanel'\nimport BondCards from '../BuyBond/components/BondCards/BondCards'\nimport ProjectInfo from './components/ProjectInfo'\nimport BondStats from './components/BondStats'\nimport BondLeaderboard from './components/BondLeaderboard'\nimport PriceChart from './components/PriceChart'\nimport BuyBond from '../BuyBond/BuyComponent'\nimport useTokenPrices from '../../state/tokenPrices/useTokenPrices'\nimport useHistoricalPrice from '../../state/historicalPrice/useHistoricalPrice'\n\nexport interface HistoricalPrices {\n timestamp: string\n open: number\n close: number\n}\n\nexport interface ProjectViewProps {\n bondAddress: string\n bondChain: string\n}\n\nconst ProjectView: React.FC<ProjectViewProps> = ({ bondAddress, bondChain }) => {\n // Hooks\n const { data: bonds, refetch } = useBondsData()\n const { data: tokenPrices } = useTokenPrices()\n const bondData = bonds?.find(\n (bond) =>\n bond?.contractAddress?.[bond.chainId]?.toLowerCase() === (bondAddress as string)?.toLowerCase() &&\n (bondChain as string) === bond.chainId.toString(),\n )\n\n const { data: historicalPrices } = useHistoricalPrice(bondData?.cgId)\n\n useEffect(() => {\n if ((bonds?.length ?? 0) > 0 && !bondData) {\n window.location.href = '/bonds'\n }\n })\n\n useEffect(() => {\n if (Object.keys(tokenPrices ?? {})?.length > 0 && bonds?.length === 0) {\n console.log('Found prices and no bonds, realtimeapi failed. Refetching bonds')\n refetch()\n }\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [Object.keys(tokenPrices ?? {})?.length, bonds?.length, refetch])\n\n return (\n <Flex className=\"ape:w-full ape:flex-col ape:mt-[15px]\">\n <RecommendationCards />\n <NavPanel contractAddress={bondData?.contractAddress?.[bondData.chainId]} />\n {bondData && (\n <Flex className=\"ape:w-full ape:mt-[10px] ape:hidden ape:md:block ape:[&>div>div]:bg-white2\">\n <BondCards bondData={bondData} />\n </Flex>\n )}\n {bondData ? (\n <>\n <Flex className=\"ape:w-full ape:flex-col ape:mt-[10px]\">\n <Flex className=\"ape:w-full ape:flex-col ape:md:flex-row ape:items-stretch\">\n <Flex className=\"ape:bg-white2 ape:rounded-normal ape:w-full ape:md:w-1/2 ape:mt-[5px] ape:[&>div]:pt-0!\">\n <BuyBond\n bondAddress={bondData?.contractAddress?.[bondData.chainId]}\n bondChain={bondData.chainId}\n isProjectView\n />\n </Flex>\n <PriceChart selectedBond={bondData} historicalPrices={historicalPrices} />\n </Flex>\n <Flex className=\"ape:w-full ape:mt-[10px]\">\n <ProjectInfo selectedBond={bondData} />\n </Flex>\n <Flex className=\"ape:w-full ape:mt-[10px]\">\n <BondStats selectedBond={bondData} />\n </Flex>\n <Flex className=\"ape:w-full ape:mt-[10px] ape:mb-[50px]\">\n <BondLeaderboard selectedBond={bondData} />\n </Flex>\n </Flex>\n </>\n ) : (\n <Flex className=\"ape:w-full ape:justify-center ape:text-[12px] ape:font-medium\">Loading...</Flex>\n )}\n </Flex>\n )\n}\n\nexport default ProjectView\n"],"names":["_jsxs","_jsx","_Fragment"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/views/ProjectView/index.tsx"],"sourcesContent":["import React from 'react'\nimport Providers from '../../providers'\nimport { SDKPropsDTO, useSDKConfig } from '../../state/useSDKConfig'\nimport ProjectView, { ProjectViewProps } from './ProjectView'\n\ninterface Props extends SDKPropsDTO, ProjectViewProps {}\n\nconst ProjectViewWithProviders: React.FC<Props> = (props) => {\n useSDKConfig(props)\n
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/views/ProjectView/index.tsx"],"sourcesContent":["import React from 'react'\nimport Providers from '../../providers'\nimport { SDKPropsDTO, useSDKConfig } from '../../state/useSDKConfig'\nimport ProjectView, { ProjectViewProps } from './ProjectView'\n\ninterface Props extends SDKPropsDTO, ProjectViewProps {}\n\nconst ProjectViewWithProviders: React.FC<Props> = (props) => {\n useSDKConfig(props)\n return (\n <Providers>\n <ProjectView {...props} />\n </Providers>\n )\n}\n\nexport default ProjectViewWithProviders\n"],"names":["_jsx"],"mappings":";;;;;AAOA,MAAM,wBAAwB,GAAoB,CAAC,KAAK,KAAI;IAC1D,YAAY,CAAC,KAAK,CAAC;IACnB,QACEA,GAAA,CAAC,SAAS,EAAA,EAAA,QAAA,EACRA,GAAA,CAAC,WAAW,EAAA,EAAA,GAAK,KAAK,EAAA,CAAI,EAAA,CAChB;AAEhB;;;;"}
|
|
@@ -40,7 +40,7 @@ const Actions = ({ userBill }) => {
|
|
|
40
40
|
!bond?.hide &&
|
|
41
41
|
bond?.earnToken?.symbol?.toLowerCase() === userBill?.bond?.earnToken?.symbol?.toLowerCase());
|
|
42
42
|
const canPurchaseAgain = !!similarLiveBond;
|
|
43
|
-
const vestingCliff = userBill?.bond?.vestingCliff;
|
|
43
|
+
const vestingCliff = Number(userBill?.bond?.vestingCliff);
|
|
44
44
|
const currentTime = Math.round(new Date().getTime() / 1000);
|
|
45
45
|
const purchaseTimestamp = parseInt(userBill?.vestingStartTimestamp ?? '0');
|
|
46
46
|
const isPendingCliff = vestingCliff ? currentTime - purchaseTimestamp < vestingCliff : false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Actions.js","sources":["../../../../../src/views/YourBondsModal/components/Actions/Actions.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\nimport Button from '../../../../components/uikit-sdk/Button/Button'\nimport { claimable } from '../../../../utils/displayHelpers'\nimport { UserBill } from '../../../../types/yourbonds'\nimport { useChainId, useSwitchChain, useWriteContract } from 'wagmi'\nimport { useMonitorTx } from '../../../../hooks/useMonitorTx'\nimport useBondsData from '../../../../state/bonds/useBondsData'\nimport BOND_ABI from '../../../../config/abi/BOND_2_4_0.json'\nimport track from '../../../../utils/track'\nimport { remove0xPrefix } from '../../../../utils/remove0xPrefix'\nimport { reportError } from '../../../../utils/reportError'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\nimport useEVMAccount from '../../../../hooks/accounts/useEVMAccount'\nimport { usePopups } from '../../../../state/popups/usePopups'\nimport useUserBonds from '../../../../state/bonds/useUserBonds'\nimport { getTimePeriods } from '../../../../utils/getTimePeriods'\nimport useModal from '../../../../hooks/useModal'\nimport { AbondModal, OabondModal, PmusdModal } from '../../../../components/CustomClaimModals'\nimport PostClaimModal from '../../../../components/CustomClaimModals/PostClaimModal'\n\nconst Actions = ({ userBill }: { userBill?: UserBill }) => {\n // Hooks\n const { switchChainAsync } = useSwitchChain()\n const { data: liveBonds } = useBondsData()\n const SDKConfig = useSDKConfig()\n const chainId = useChainId()\n const { writeContractAsync } = useWriteContract()\n const { address: account } = useEVMAccount()\n const { addToastError } = usePopups()\n const { refetch: refetchUserBonds } = useUserBonds()\n\n // State\n const [claimTxHash, setClaimTxHash] = useState<string | null>(null)\n const [loadingTx, setLoadingTx] = useState(false)\n const { isLoading, isSuccess: isConfirmed } = useMonitorTx(claimTxHash, userBill?.bond?.chainId)\n\n // Static Data\n const load = loadingTx || (isLoading && !isConfirmed)\n const similarLiveBond = liveBonds?.find(\n (bond) =>\n !bond?.soldOut &&\n !bond?.hide &&\n bond?.earnToken?.symbol?.toLowerCase() === userBill?.bond?.earnToken?.symbol?.toLowerCase(),\n )\n const canPurchaseAgain = !!similarLiveBond\n const vestingCliff = userBill?.bond?.vestingCliff\n const currentTime = Math.round(new Date().getTime() / 1000)\n const purchaseTimestamp = parseInt(userBill?.vestingStartTimestamp ?? '0')\n const isPendingCliff = vestingCliff ? currentTime - purchaseTimestamp < vestingCliff : false\n const cliffCountdown = getTimePeriods(purchaseTimestamp + (vestingCliff ?? 0) - currentTime, true)\n\n const handleClaim = async (billId?: string, billAddress?: string) => {\n const address: `0x${string}` = billAddress as `0x${string}`\n try {\n setLoadingTx(true)\n const tx = await writeContractAsync({\n address: address,\n abi: BOND_ABI,\n functionName: 'redeem',\n args: [billId],\n chain: chainId as any,\n account: account,\n }).catch()\n\n if (tx) {\n setClaimTxHash(tx)\n track({\n event: 'bond',\n chain: userBill?.bond?.chainId,\n data: {\n cat: 'claim',\n bondType: userBill?.bond?.billType,\n address: remove0xPrefix(userBill?.bond?.contractAddress?.[userBill?.bond?.chainId]),\n earnToken: userBill?.bond?.earnToken.symbol,\n },\n })\n }\n setLoadingTx(false)\n } catch (error: any) {\n console.error('Claim Failed:', error)\n setLoadingTx(false)\n addToastError(error.message)\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error,\n extraInfo: { type: 'redeem', userBill, error },\n chainId,\n account,\n })\n }\n }\n\n // Modals\n const [openAbondModal] = useModal(<AbondModal />, true, false, 'abondModal')\n const [openOabondModal] = useModal(<OabondModal />, true, false, 'oAbondModal')\n const [openPmusdModal] = useModal(<PmusdModal />, true, false, 'pmUSDModal')\n const [openPostClaimFlowModal] = useModal(\n <PostClaimModal\n tokenSymbol={userBill?.bond?.earnToken?.symbol!}\n text={userBill?.bond?.postClaimFlow?.text!}\n imgUrl={userBill?.bond?.postClaimFlow?.imgUrl!}\n ctaUrl={userBill?.bond?.postClaimFlow?.ctaUrl!}\n />,\n true,\n false,\n 'postClaimFlowModal',\n )\n\n useEffect(() => {\n if (isConfirmed) {\n refetchUserBonds()\n if (userBill?.bond?.earnToken.symbol.toLowerCase() === 'abond') {\n openAbondModal()\n }\n if (userBill?.bond?.earnToken.symbol.toLowerCase() === 'oabond') {\n openOabondModal()\n }\n if (userBill?.bond?.earnToken.symbol.toLowerCase() === 'pmusd') {\n openPmusdModal()\n }\n if (userBill?.bond?.postClaimFlow) {\n openPostClaimFlowModal()\n }\n }\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [isConfirmed])\n\n return (\n <>\n <Button\n variant=\"secondary\"\n disabled={claimable(userBill) === 0 || load || !userBill || isPendingCliff}\n load={load}\n onClick={(event) => {\n event.stopPropagation()\n if (chainId !== userBill?.bond?.chainId) {\n switchChainAsync({ chainId: userBill?.bond?.chainId! })\n .then(() => {\n handleClaim(userBill?.id, userBill?.address)\n })\n .catch()\n } else {\n handleClaim(userBill?.id, userBill?.address)\n }\n }}\n className=\"ape:text-[14px]! ape:w-full\"\n >\n {isPendingCliff\n ? `Claimable in ${cliffCountdown.days !== 0 ? `${cliffCountdown.days} days` : cliffCountdown.hours !== 0 ? `${cliffCountdown.hours} hours` : `${cliffCountdown.minutes} mins`}`\n : 'Claim'}\n </Button>\n <Button\n className=\"ape:text-[14px]! ape:w-full\"\n onClick={() =>\n canPurchaseAgain\n ? (window.location.href = `/bonds?bondAddress=${similarLiveBond.contractAddress[similarLiveBond.chainId]}&bondChain=${similarLiveBond.chainId}`)\n : null\n }\n disabled={!canPurchaseAgain}\n >\n {canPurchaseAgain ? 'Buy again' : 'sold out'}\n </Button>\n </>\n )\n}\n\nexport default Actions\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Actions.js","sources":["../../../../../src/views/YourBondsModal/components/Actions/Actions.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\nimport Button from '../../../../components/uikit-sdk/Button/Button'\nimport { claimable } from '../../../../utils/displayHelpers'\nimport { UserBill } from '../../../../types/yourbonds'\nimport { useChainId, useSwitchChain, useWriteContract } from 'wagmi'\nimport { useMonitorTx } from '../../../../hooks/useMonitorTx'\nimport useBondsData from '../../../../state/bonds/useBondsData'\nimport BOND_ABI from '../../../../config/abi/BOND_2_4_0.json'\nimport track from '../../../../utils/track'\nimport { remove0xPrefix } from '../../../../utils/remove0xPrefix'\nimport { reportError } from '../../../../utils/reportError'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\nimport useEVMAccount from '../../../../hooks/accounts/useEVMAccount'\nimport { usePopups } from '../../../../state/popups/usePopups'\nimport useUserBonds from '../../../../state/bonds/useUserBonds'\nimport { getTimePeriods } from '../../../../utils/getTimePeriods'\nimport useModal from '../../../../hooks/useModal'\nimport { AbondModal, OabondModal, PmusdModal } from '../../../../components/CustomClaimModals'\nimport PostClaimModal from '../../../../components/CustomClaimModals/PostClaimModal'\n\nconst Actions = ({ userBill }: { userBill?: UserBill }) => {\n // Hooks\n const { switchChainAsync } = useSwitchChain()\n const { data: liveBonds } = useBondsData()\n const SDKConfig = useSDKConfig()\n const chainId = useChainId()\n const { writeContractAsync } = useWriteContract()\n const { address: account } = useEVMAccount()\n const { addToastError } = usePopups()\n const { refetch: refetchUserBonds } = useUserBonds()\n\n // State\n const [claimTxHash, setClaimTxHash] = useState<string | null>(null)\n const [loadingTx, setLoadingTx] = useState(false)\n const { isLoading, isSuccess: isConfirmed } = useMonitorTx(claimTxHash, userBill?.bond?.chainId)\n\n // Static Data\n const load = loadingTx || (isLoading && !isConfirmed)\n const similarLiveBond = liveBonds?.find(\n (bond) =>\n !bond?.soldOut &&\n !bond?.hide &&\n bond?.earnToken?.symbol?.toLowerCase() === userBill?.bond?.earnToken?.symbol?.toLowerCase(),\n )\n const canPurchaseAgain = !!similarLiveBond\n const vestingCliff = Number(userBill?.bond?.vestingCliff)\n const currentTime = Math.round(new Date().getTime() / 1000)\n const purchaseTimestamp = parseInt(userBill?.vestingStartTimestamp ?? '0')\n const isPendingCliff = vestingCliff ? currentTime - purchaseTimestamp < vestingCliff : false\n const cliffCountdown = getTimePeriods(purchaseTimestamp + (vestingCliff ?? 0) - currentTime, true)\n\n const handleClaim = async (billId?: string, billAddress?: string) => {\n const address: `0x${string}` = billAddress as `0x${string}`\n try {\n setLoadingTx(true)\n const tx = await writeContractAsync({\n address: address,\n abi: BOND_ABI,\n functionName: 'redeem',\n args: [billId],\n chain: chainId as any,\n account: account,\n }).catch()\n\n if (tx) {\n setClaimTxHash(tx)\n track({\n event: 'bond',\n chain: userBill?.bond?.chainId,\n data: {\n cat: 'claim',\n bondType: userBill?.bond?.billType,\n address: remove0xPrefix(userBill?.bond?.contractAddress?.[userBill?.bond?.chainId]),\n earnToken: userBill?.bond?.earnToken.symbol,\n },\n })\n }\n setLoadingTx(false)\n } catch (error: any) {\n console.error('Claim Failed:', error)\n setLoadingTx(false)\n addToastError(error.message)\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error,\n extraInfo: { type: 'redeem', userBill, error },\n chainId,\n account,\n })\n }\n }\n\n // Modals\n const [openAbondModal] = useModal(<AbondModal />, true, false, 'abondModal')\n const [openOabondModal] = useModal(<OabondModal />, true, false, 'oAbondModal')\n const [openPmusdModal] = useModal(<PmusdModal />, true, false, 'pmUSDModal')\n const [openPostClaimFlowModal] = useModal(\n <PostClaimModal\n tokenSymbol={userBill?.bond?.earnToken?.symbol!}\n text={userBill?.bond?.postClaimFlow?.text!}\n imgUrl={userBill?.bond?.postClaimFlow?.imgUrl!}\n ctaUrl={userBill?.bond?.postClaimFlow?.ctaUrl!}\n />,\n true,\n false,\n 'postClaimFlowModal',\n )\n\n useEffect(() => {\n if (isConfirmed) {\n refetchUserBonds()\n if (userBill?.bond?.earnToken.symbol.toLowerCase() === 'abond') {\n openAbondModal()\n }\n if (userBill?.bond?.earnToken.symbol.toLowerCase() === 'oabond') {\n openOabondModal()\n }\n if (userBill?.bond?.earnToken.symbol.toLowerCase() === 'pmusd') {\n openPmusdModal()\n }\n if (userBill?.bond?.postClaimFlow) {\n openPostClaimFlowModal()\n }\n }\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [isConfirmed])\n\n return (\n <>\n <Button\n variant=\"secondary\"\n disabled={claimable(userBill) === 0 || load || !userBill || isPendingCliff}\n load={load}\n onClick={(event) => {\n event.stopPropagation()\n if (chainId !== userBill?.bond?.chainId) {\n switchChainAsync({ chainId: userBill?.bond?.chainId! })\n .then(() => {\n handleClaim(userBill?.id, userBill?.address)\n })\n .catch()\n } else {\n handleClaim(userBill?.id, userBill?.address)\n }\n }}\n className=\"ape:text-[14px]! ape:w-full\"\n >\n {isPendingCliff\n ? `Claimable in ${cliffCountdown.days !== 0 ? `${cliffCountdown.days} days` : cliffCountdown.hours !== 0 ? `${cliffCountdown.hours} hours` : `${cliffCountdown.minutes} mins`}`\n : 'Claim'}\n </Button>\n <Button\n className=\"ape:text-[14px]! ape:w-full\"\n onClick={() =>\n canPurchaseAgain\n ? (window.location.href = `/bonds?bondAddress=${similarLiveBond.contractAddress[similarLiveBond.chainId]}&bondChain=${similarLiveBond.chainId}`)\n : null\n }\n disabled={!canPurchaseAgain}\n >\n {canPurchaseAgain ? 'Buy again' : 'sold out'}\n </Button>\n </>\n )\n}\n\nexport default Actions\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { useState } from 'react';
|
|
3
|
-
import Flex from '../../../../components/uikit-sdk/Flex/index.js';
|
|
4
|
-
import useTierPoints, { getUserTier, TIERS_WEIGHT } from '../../../../state/tiers/useTierPoints.js';
|
|
5
|
-
import { LaunchBondTiers, BillVersion } from '@ape.swap/apeswap-lists';
|
|
6
|
-
import { AnimatePresence, motion } from 'framer-motion';
|
|
7
|
-
import BonusTable from '../../../Bonds/components/BonusComponents/BonusTable.js';
|
|
8
|
-
import { getRawBonus, formatUSDNumber } from '../../../../utils/displayHelpers.js';
|
|
9
|
-
import { findHighestTrueBondPriceUserAgnostic } from '../../../../utils/bondPriceHelpers.js';
|
|
10
|
-
import Caret from '../../../../components/uikit-sdk/Svg/Icons/Caret.js';
|
|
11
|
-
|
|
12
|
-
const GetUpToComponent = ({ bond, depositAmount }) => {
|
|
13
|
-
// Hooks & Data
|
|
14
|
-
const { data: tierState } = useTierPoints();
|
|
15
|
-
const { promotionalPoints } = tierState || {};
|
|
16
|
-
const userTier = getUserTier(promotionalPoints);
|
|
17
|
-
const bonusString = getRawBonus(bond, depositAmount, TIERS_WEIGHT[LaunchBondTiers.Mythical]);
|
|
18
|
-
const noTierAmount = getRawBonus(bond, depositAmount, '0');
|
|
19
|
-
const boostAmount = parseFloat(bonusString) - parseFloat(noTierAmount);
|
|
20
|
-
const trueBondPrice = findHighestTrueBondPriceUserAgnostic(bond);
|
|
21
|
-
//State
|
|
22
|
-
const [isOpen, setIsOpen] = useState(false);
|
|
23
|
-
return (userTier !== LaunchBondTiers.Mythical &&
|
|
24
|
-
bond.billVersion === BillVersion.V4 && (jsxs(Flex, { className: "ape:w-full ape:mt-[10px] ape:text-[12px] ape:font-normal ape:flex-col ape:relative", children: [jsxs(Flex, { onClick: () => setIsOpen(!isOpen), className: "ape:border ape:border-solid ape:border-[#9960C5] ape:rounded-normal ape:relative ape:overflow-hidden ape:pl-[10px] ape:pr-[20px] ape:py-[2px] ape:items-center ape:cursor-pointer ape:justify-between", style: { background: '#312341' }, children: [jsxs(Flex, { className: "ape:items-center", children: [jsx("img", { src: `https://ape.bond/images/launch/mythical.png`, alt: "minTier", style: { width: '21px', height: '21px', marginRight: '3px', zIndex: 1 } }), jsxs("div", { children: ["Get up to", jsx("span", { className: "ape:text-success ape:mx-[3px] ape:font-bold", children: `+${trueBondPrice?.boost ?? 0}%` }), "Boost.", jsx("span", { className: "ape:ml-[5px] ape:text-primary-button ape:font-medium ape:cursor-pointer ape:hover:underline ape:hidden ape:lg:inline", onClick: (e) => {
|
|
25
|
-
e.stopPropagation();
|
|
26
|
-
window.open('https://www.ape.bond/true-yield?createPosition', '_blank');
|
|
27
|
-
}, children: 'By locking ABOND >' })] })] }), !!depositAmount && parseFloat(depositAmount) !== 0 && (jsxs(Flex, { className: "ape:text-success ape:font-bold ape:min-w-[65px] ape:justify-end", children: ["$ ", formatUSDNumber(boostAmount.toString())] })), jsx(Flex, { className: "ape:absolute ape:right-[6px]", children: jsx(Caret, { direction: isOpen ? 'up' : 'down' }) })] }), jsx(AnimatePresence, { children: isOpen && (jsx(motion.div, { initial: { height: 0 }, animate: { height: 'fit-content' }, transition: { opacity: { duration: 0.2 } }, exit: { height: 0 }, className: "ape:overflow-hidden ape:w-full ape:mt-[5px] ape:cursor-pointer", onClick: (e) => {
|
|
28
|
-
e.stopPropagation();
|
|
29
|
-
window.open('https://www.ape.bond/true-yield?createPosition', '_blank');
|
|
30
|
-
}, children: jsx(BonusTable, { trueBondPrices: bond?.trueBondPrices, minTier: bond.minTier, hideTitle: true }) })) })] })));
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
export { GetUpToComponent as default };
|
|
34
|
-
//# sourceMappingURL=GetUpToComponent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GetUpToComponent.js","sources":["../../../../../src/views/BuyBond/components/GetUpToComponent/GetUpToComponent.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport { BondsData } from '../../../../types/bonds'\nimport useTierPoints, { getUserTier, TIERS_WEIGHT } from '../../../../state/tiers/useTierPoints'\nimport { BillVersion, LaunchBondTiers } from '@ape.swap/apeswap-lists'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport BonusTable from '../../../Bonds/components/BonusComponents/BonusTable'\nimport { formatUSDNumber, getRawBonus } from '../../../../utils/displayHelpers'\nimport { findHighestTrueBondPriceUserAgnostic } from '../../../../utils/bondPriceHelpers'\nimport Caret from '../../../../components/uikit-sdk/Svg/Icons/Caret'\n\ninterface GetUpToComponentProps {\n bond: BondsData\n depositAmount: string\n}\n\nconst GetUpToComponent: React.FC<GetUpToComponentProps> = ({ bond, depositAmount }) => {\n // Hooks & Data\n const { data: tierState } = useTierPoints()\n const { promotionalPoints } = tierState || {}\n const userTier = getUserTier(promotionalPoints)\n const bonusString = getRawBonus(bond, depositAmount, TIERS_WEIGHT[LaunchBondTiers.Mythical])\n const noTierAmount = getRawBonus(bond, depositAmount, '0')\n const boostAmount = parseFloat(bonusString) - parseFloat(noTierAmount)\n const trueBondPrice = findHighestTrueBondPriceUserAgnostic(bond)\n\n //State\n const [isOpen, setIsOpen] = useState(false)\n return (\n userTier !== LaunchBondTiers.Mythical &&\n bond.billVersion === BillVersion.V4 && (\n <Flex className=\"ape:w-full ape:mt-[10px] ape:text-[12px] ape:font-normal ape:flex-col ape:relative\">\n <Flex\n onClick={() => setIsOpen(!isOpen)}\n className=\"ape:border ape:border-solid ape:border-[#9960C5] ape:rounded-normal ape:relative ape:overflow-hidden ape:pl-[10px] ape:pr-[20px] ape:py-[2px] ape:items-center ape:cursor-pointer ape:justify-between\"\n style={{ background: '#312341' }}\n >\n <Flex className=\"ape:items-center\">\n <img\n src={`https://ape.bond/images/launch/mythical.png`}\n alt=\"minTier\"\n style={{ width: '21px', height: '21px', marginRight: '3px', zIndex: 1 }}\n />\n <div>\n Get up to\n <span className=\"ape:text-success ape:mx-[3px] ape:font-bold\">{`+${trueBondPrice?.boost ?? 0}%`}</span>\n Boost.\n <span\n className=\"ape:ml-[5px] ape:text-primary-button ape:font-medium ape:cursor-pointer ape:hover:underline ape:hidden ape:lg:inline\"\n onClick={(e) => {\n e.stopPropagation()\n window.open('https://www.ape.bond/true-yield?createPosition', '_blank')\n }}\n >\n {'By locking ABOND >'}\n </span>\n </div>\n </Flex>\n {!!depositAmount && parseFloat(depositAmount) !== 0 && (\n <Flex className=\"ape:text-success ape:font-bold ape:min-w-[65px] ape:justify-end\">\n $ {formatUSDNumber(boostAmount.toString())}\n </Flex>\n )}\n <Flex className=\"ape:absolute ape:right-[6px]\">\n <Caret direction={isOpen ? 'up' : 'down'} />\n </Flex>\n </Flex>\n <AnimatePresence>\n {isOpen && (\n <motion.div\n initial={{ height: 0 }}\n animate={{ height: 'fit-content' }}\n transition={{ opacity: { duration: 0.2 } }}\n exit={{ height: 0 }}\n className=\"ape:overflow-hidden ape:w-full ape:mt-[5px] ape:cursor-pointer\"\n onClick={(e) => {\n e.stopPropagation()\n window.open('https://www.ape.bond/true-yield?createPosition', '_blank')\n }}\n >\n <BonusTable trueBondPrices={bond?.trueBondPrices} minTier={bond.minTier} hideTitle />\n </motion.div>\n )}\n </AnimatePresence>\n </Flex>\n )\n )\n}\n\nexport default GetUpToComponent\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
|