@ape.swap/bonds-sdk 6.1.0-test.2 → 6.1.1

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.
@@ -9,12 +9,14 @@ const bg = {
9
9
  ['Short Supply']: '#14121D',
10
10
  ['New Offer']: '#14121D',
11
11
  ['Whale Activity']: '#14121D',
12
+ ['yield bond']: '#102010',
12
13
  };
13
14
  const colorMap = {
14
15
  ['Selling Fast']: '#EA901B',
15
16
  ['Short Supply']: '#FCA384',
16
17
  ['New Offer']: '#AA80F9',
17
18
  ['Whale Activity']: '#8EE3FF',
19
+ ['yield bond']: 'success',
18
20
  };
19
21
  const ListTag = ({ text = '', marketingCampaign }) => {
20
22
  return (jsxs(Flex, { className: "list-tag", sx: {
@@ -35,7 +37,7 @@ const ListTag = ({ text = '', marketingCampaign }) => {
35
37
  '&:hover': {
36
38
  background: 'rgb(20 18 29 / 0.36)',
37
39
  },
38
- }, children: [text === 'Selling Fast' && jsx(Svg, { icon: 'SellingFast', width: 12 }), text === 'Short Supply' && jsx(Svg, { icon: icons.SHORT_SUPPLY, width: 20 }), text === 'New Offer' && jsx(Svg, { icon: 'NewOffer', width: 20 }), text === 'Whale Activity' && jsx(Svg, { icon: 'WhaleActivity', width: 20 }), text.toUpperCase()] }));
40
+ }, children: [text === 'Selling Fast' && jsx(Svg, { icon: 'SellingFast', width: 12 }), text === 'Short Supply' && jsx(Svg, { icon: icons.SHORT_SUPPLY, width: 20 }), text === 'New Offer' && jsx(Svg, { icon: 'NewOffer', width: 20 }), text === 'Whale Activity' && jsx(Svg, { icon: 'WhaleActivity', width: 20 }), text.toLowerCase() === 'yield bond' && jsx(Flex, { children: "\uD83C\uDF31" }), text.toUpperCase()] }));
39
41
  };
40
42
 
41
43
  export { ListTag as default };
@@ -1 +1 @@
1
- {"version":3,"file":"ListTag.js","sources":["../../../../src/components/uikit-sdk/Tag/ListTag.tsx"],"sourcesContent":["import React from 'react'\nimport Flex from '../Flex'\nimport { MCTagStyles } from '../../../utils/campaignStyles'\nimport { MarketingCampaign } from '@ape.swap/apeswap-lists'\nimport Svg from '../Svg'\nimport { icons } from '../Svg/types'\n\nconst bg = {\n ['Selling Fast']: '#14121D',\n ['Short Supply']: '#14121D',\n ['New Offer']: '#14121D',\n ['Whale Activity']: '#14121D',\n}\n\nconst colorMap = {\n ['Selling Fast']: '#EA901B',\n ['Short Supply']: '#FCA384',\n ['New Offer']: '#AA80F9',\n ['Whale Activity']: '#8EE3FF',\n}\n\nconst ListTag = ({ text = '', marketingCampaign }: { text?: string; marketingCampaign?: MarketingCampaign }) => {\n return (\n <Flex\n className=\"list-tag\"\n sx={{\n //@ts-ignore\n background: bg[text] || '#3C6AB530',\n //@ts-ignore\n color: colorMap[text] || '#3b78d3',\n fontSize: '10px',\n fontWeight: 600,\n alignItems: 'center',\n lineHeight: '15px',\n p: '2px 6px',\n borderRadius: '5px',\n width: 'fit-content',\n zIndex: 2,\n gap: '5px',\n ...MCTagStyles[marketingCampaign!],\n '&:hover': {\n background: 'rgb(20 18 29 / 0.36)',\n },\n }}\n >\n {text === 'Selling Fast' && <Svg icon={'SellingFast'} width={12} />}\n {text === 'Short Supply' && <Svg icon={icons.SHORT_SUPPLY} width={20} />}\n {text === 'New Offer' && <Svg icon={'NewOffer'} width={20} />}\n {text === 'Whale Activity' && <Svg icon={'WhaleActivity'} width={20} />}\n {text.toUpperCase()}\n </Flex>\n )\n}\n\nexport default ListTag\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;AAOA,MAAM,EAAE,GAAG;IACT,CAAC,cAAc,GAAG,SAAS;IAC3B,CAAC,cAAc,GAAG,SAAS;IAC3B,CAAC,WAAW,GAAG,SAAS;IACxB,CAAC,gBAAgB,GAAG,SAAS;CAC9B;AAED,MAAM,QAAQ,GAAG;IACf,CAAC,cAAc,GAAG,SAAS;IAC3B,CAAC,cAAc,GAAG,SAAS;IAC3B,CAAC,WAAW,GAAG,SAAS;IACxB,CAAC,gBAAgB,GAAG,SAAS;CAC9B;AAED,MAAM,OAAO,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,iBAAiB,EAA4D,KAAI;IAC7G,QACEA,KAAC,IAAI,EAAA,EACH,SAAS,EAAC,UAAU,EACpB,EAAE,EAAE;;AAEF,YAAA,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,WAAW;;AAEnC,YAAA,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,SAAS;AAClC,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,UAAU,EAAE,GAAG;AACf,YAAA,UAAU,EAAE,QAAQ;AACpB,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,CAAC,EAAE,SAAS;AACZ,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,MAAM,EAAE,CAAC;AACT,YAAA,GAAG,EAAE,KAAK;YACV,GAAG,WAAW,CAAC,iBAAkB,CAAC;AAClC,YAAA,SAAS,EAAE;AACT,gBAAA,UAAU,EAAE,sBAAsB;AACnC,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,CAEA,IAAI,KAAK,cAAc,IAAIC,IAAC,GAAG,EAAA,EAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,GAAI,EAClE,IAAI,KAAK,cAAc,IAAIA,GAAA,CAAC,GAAG,EAAA,EAAC,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,EAAA,CAAI,EACvE,IAAI,KAAK,WAAW,IAAIA,GAAA,CAAC,GAAG,EAAA,EAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAA,CAAI,EAC5D,IAAI,KAAK,gBAAgB,IAAIA,GAAA,CAAC,GAAG,EAAA,EAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,EAAE,EAAA,CAAI,EACtE,IAAI,CAAC,WAAW,EAAE,CAAA,EAAA,CACd;AAEX;;;;"}
1
+ {"version":3,"file":"ListTag.js","sources":["../../../../src/components/uikit-sdk/Tag/ListTag.tsx"],"sourcesContent":["import React from 'react'\nimport Flex from '../Flex'\nimport { MCTagStyles } from '../../../utils/campaignStyles'\nimport { MarketingCampaign } from '@ape.swap/apeswap-lists'\nimport Svg from '../Svg'\nimport { icons } from '../Svg/types'\n\nconst bg = {\n ['Selling Fast']: '#14121D',\n ['Short Supply']: '#14121D',\n ['New Offer']: '#14121D',\n ['Whale Activity']: '#14121D',\n ['yield bond']: '#102010',\n}\n\nconst colorMap = {\n ['Selling Fast']: '#EA901B',\n ['Short Supply']: '#FCA384',\n ['New Offer']: '#AA80F9',\n ['Whale Activity']: '#8EE3FF',\n ['yield bond']: 'success',\n}\n\nconst ListTag = ({ text = '', marketingCampaign }: { text?: string; marketingCampaign?: MarketingCampaign }) => {\n return (\n <Flex\n className=\"list-tag\"\n sx={{\n //@ts-ignore\n background: bg[text] || '#3C6AB530',\n //@ts-ignore\n color: colorMap[text] || '#3b78d3',\n fontSize: '10px',\n fontWeight: 600,\n alignItems: 'center',\n lineHeight: '15px',\n p: '2px 6px',\n borderRadius: '5px',\n width: 'fit-content',\n zIndex: 2,\n gap: '5px',\n ...MCTagStyles[marketingCampaign!],\n '&:hover': {\n background: 'rgb(20 18 29 / 0.36)',\n },\n }}\n >\n {text === 'Selling Fast' && <Svg icon={'SellingFast'} width={12} />}\n {text === 'Short Supply' && <Svg icon={icons.SHORT_SUPPLY} width={20} />}\n {text === 'New Offer' && <Svg icon={'NewOffer'} width={20} />}\n {text === 'Whale Activity' && <Svg icon={'WhaleActivity'} width={20} />}\n {text.toLowerCase() === 'yield bond' && <Flex>🌱</Flex>}\n {text.toUpperCase()}\n </Flex>\n )\n}\n\nexport default ListTag\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;AAOA,MAAM,EAAE,GAAG;IACT,CAAC,cAAc,GAAG,SAAS;IAC3B,CAAC,cAAc,GAAG,SAAS;IAC3B,CAAC,WAAW,GAAG,SAAS;IACxB,CAAC,gBAAgB,GAAG,SAAS;IAC7B,CAAC,YAAY,GAAG,SAAS;CAC1B;AAED,MAAM,QAAQ,GAAG;IACf,CAAC,cAAc,GAAG,SAAS;IAC3B,CAAC,cAAc,GAAG,SAAS;IAC3B,CAAC,WAAW,GAAG,SAAS;IACxB,CAAC,gBAAgB,GAAG,SAAS;IAC7B,CAAC,YAAY,GAAG,SAAS;CAC1B;AAED,MAAM,OAAO,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,iBAAiB,EAA4D,KAAI;IAC7G,QACEA,KAAC,IAAI,EAAA,EACH,SAAS,EAAC,UAAU,EACpB,EAAE,EAAE;;AAEF,YAAA,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,WAAW;;AAEnC,YAAA,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,SAAS;AAClC,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,UAAU,EAAE,GAAG;AACf,YAAA,UAAU,EAAE,QAAQ;AACpB,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,CAAC,EAAE,SAAS;AACZ,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,MAAM,EAAE,CAAC;AACT,YAAA,GAAG,EAAE,KAAK;YACV,GAAG,WAAW,CAAC,iBAAkB,CAAC;AAClC,YAAA,SAAS,EAAE;AACT,gBAAA,UAAU,EAAE,sBAAsB;AACnC,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,CAEA,IAAI,KAAK,cAAc,IAAIC,GAAA,CAAC,GAAG,EAAA,EAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,EAAA,CAAI,EAClE,IAAI,KAAK,cAAc,IAAIA,GAAA,CAAC,GAAG,EAAA,EAAC,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,GAAI,EACvE,IAAI,KAAK,WAAW,IAAIA,IAAC,GAAG,EAAA,EAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAA,CAAI,EAC5D,IAAI,KAAK,gBAAgB,IAAIA,IAAC,GAAG,EAAA,EAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,EAAE,EAAA,CAAI,EACtE,IAAI,CAAC,WAAW,EAAE,KAAK,YAAY,IAAIA,GAAA,CAAC,IAAI,EAAA,EAAA,QAAA,EAAA,cAAA,EAAA,CAAU,EACtD,IAAI,CAAC,WAAW,EAAE,CAAA,EAAA,CACd;AAEX;;;;"}
@@ -56,7 +56,6 @@ const calculateBondsData = async (queryClient) => {
56
56
  let evmSolBondsData = [];
57
57
  try {
58
58
  // force error to avoid realtime api and trigger fallback strategy
59
- throw new Error('asd'); //TODO: once realtime can handle new Yield Bonds remove this error
60
59
  // For EVM & SOL we first try to fetch from realtime, if it fails we trigger the fallback strategy.
61
60
  const realTimeApiResponse = await axios.get(`${realTimeApiUrl}/bonds`);
62
61
  evmSolBondsData = realTimeApiResponse.data.bonds.filter((bond) => chains.includes(bond.chainId));
@@ -1 +1 @@
1
- {"version":3,"file":"useBondsData.js","sources":["../../../src/state/bonds/useBondsData.ts"],"sourcesContent":["import { QueryClient, useQuery, useQueryClient, UseQueryResult } from '@tanstack/react-query'\nimport { QUERY_KEYS } from '../../config/constants/queryKeys'\nimport { BondsData } from '../../types/bonds'\nimport axios from 'axios'\nimport { SDKProps } from '../useSDKConfig'\nimport useTokenPrices, { TokenPrices } from '../tokenPrices/useTokenPrices'\nimport useBondsList from './useBondsList'\nimport { BillsConfig, ChainId, PreTGEConfig } from '@ape.swap/apeswap-lists'\nimport { ACF_TO_ABOND } from '../../config/constants/addresses'\nimport useBondsListPreTGE from '../bonds/useBondsListPreTGE'\nimport { fetchBondsDataPreTGE } from './fetchBondsData/fetchBondsDataPreTGE'\nimport { fetchBondsDataEVM } from './fetchBondsData/fetchBondsDataEVM'\nimport { fetchBondsDataAptos } from './fetchBondsData/fetchBondsDataAptos'\nimport { fetchBondsDataSUI } from './fetchBondsData/fetchBondsDataSui'\nimport { fetchBondsDataSOL } from './fetchBondsData/fetchBondsDataSOL'\n\nexport default function useBondsData(): UseQueryResult<BondsData[]> {\n const { data: bondList } = useBondsList()\n const { data: preTGEList } = useBondsListPreTGE()\n const { data: tokenPrices } = useTokenPrices()\n const tokenPricesKey = Object.keys(tokenPrices ?? {})?.length\n const queryClient = useQueryClient()\n\n return useQuery({\n queryKey: [QUERY_KEYS.BONDS_DATA],\n queryFn: () => calculateBondsData(queryClient),\n refetchInterval: 25000, // i.e. 25 sec\n enabled: !!bondList && !!preTGEList && !!tokenPricesKey,\n refetchOnWindowFocus: false,\n refetchOnMount: false,\n refetchOnReconnect: false,\n retry: 0,\n staleTime: 25000, // i.e. 25 sec\n })\n}\n\nexport const calculateBondsData = async (queryClient: QueryClient): Promise<BondsData[]> => {\n // ----------------------- Step 1 -----------------------\n // Fetch necessary data from the queryClient\n const { chains, urls } = queryClient?.getQueryData([QUERY_KEYS.SDK_CONFIG]) as SDKProps\n const realTimeApiUrl = urls['realTimeApi']\n const apiUrl = urls['apiV2']\n const bondList = queryClient?.getQueryData([QUERY_KEYS.BONDS_LIST]) as BillsConfig[]\n const preTGEList = queryClient?.getQueryData([QUERY_KEYS.BONDS_LIST_PRE_TGE]) as PreTGEConfig[]\n const tokenPrices = queryClient?.getQueryData([QUERY_KEYS.TOKEN_PRICES]) as Partial<Record<ChainId, TokenPrices[]>>\n if (!tokenPrices) return []\n const reducedBonds = bondList?.reduce<Record<number, BillsConfig[]>>((acc, bill) => {\n const chainId = bill.chainId\n if (!acc[chainId]) {\n acc[chainId] = []\n }\n if (bill.contractAddress?.[chainId]?.toLowerCase() !== ACF_TO_ABOND.toLowerCase() && !bill.soldOut) {\n acc[chainId].push(bill)\n }\n return acc\n }, {})\n\n // ----------------------- Step 2 -----------------------\n // Fetch EVM & SOL data from realtime\n let evmSolBondsData: BondsData[] = []\n\n try {\n // force error to avoid realtime api and trigger fallback strategy\n throw new Error('asd') //TODO: once realtime can handle new Yield Bonds remove this error\n // For EVM & SOL we first try to fetch from realtime, if it fails we trigger the fallback strategy.\n const realTimeApiResponse = await axios.get(`${realTimeApiUrl}/bonds`)\n evmSolBondsData = realTimeApiResponse.data.bonds.filter((bond: BondsData) => chains.includes(bond.chainId))\n } catch {\n // Fallback strategy\n if (bondList) {\n console.time('Fallback BondsData')\n const billData = await Promise.all([\n ...chains\n .filter((c) => c !== ChainId.APTOS && c !== ChainId.SUI)\n .map(async (chainId: ChainId) => {\n if (!reducedBonds[chainId]) return []\n return chainId === ChainId.SOL\n ? await fetchBondsDataSOL(reducedBonds[chainId], apiUrl, tokenPrices[chainId])\n : await fetchBondsDataEVM(chainId, reducedBonds[chainId], apiUrl, tokenPrices[chainId])\n }),\n ...chains.map(async (chainId: ChainId) => {\n const filteredBonds = preTGEList?.filter((bond) => bond.chainId === chainId) ?? []\n return await fetchBondsDataPreTGE(chainId, tokenPrices, filteredBonds, apiUrl)\n }),\n ])\n console.timeEnd('Fallback BondsData')\n evmSolBondsData = billData.flat()\n }\n }\n\n // ----------------------- Step 3 -----------------------\n // Fetch Aptos & Sui Bonds data\n let aptosBonds: BondsData[] = []\n let suiBonds: BondsData[] = []\n\n try {\n if (reducedBonds && tokenPrices) {\n const includesAptos = chains.includes(ChainId.APTOS)\n const includesSui = chains.includes(ChainId.SUI)\n\n if (includesAptos && includesSui) {\n const [aptos, sui] = await Promise.all([\n fetchBondsDataAptos(reducedBonds[ChainId.APTOS], tokenPrices[ChainId.APTOS]),\n fetchBondsDataSUI(reducedBonds[ChainId.SUI], tokenPrices[ChainId.SUI]),\n ])\n aptosBonds = aptos\n suiBonds = sui\n } else if (includesAptos) {\n aptosBonds = await fetchBondsDataAptos(reducedBonds[ChainId.APTOS], tokenPrices[ChainId.APTOS])\n } else if (includesSui) {\n suiBonds = await fetchBondsDataSUI(reducedBonds[ChainId.SUI], tokenPrices[ChainId.SUI])\n }\n }\n } catch (e) {\n console.error(e)\n }\n\n return [...evmSolBondsData, ...aptosBonds, ...suiBonds]\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useBondsData.js","sources":["../../../src/state/bonds/useBondsData.ts"],"sourcesContent":["import { QueryClient, useQuery, useQueryClient, UseQueryResult } from '@tanstack/react-query'\nimport { QUERY_KEYS } from '../../config/constants/queryKeys'\nimport { BondsData } from '../../types/bonds'\nimport axios from 'axios'\nimport { SDKProps } from '../useSDKConfig'\nimport useTokenPrices, { TokenPrices } from '../tokenPrices/useTokenPrices'\nimport useBondsList from './useBondsList'\nimport { BillsConfig, ChainId, PreTGEConfig } from '@ape.swap/apeswap-lists'\nimport { ACF_TO_ABOND } from '../../config/constants/addresses'\nimport useBondsListPreTGE from '../bonds/useBondsListPreTGE'\nimport { fetchBondsDataPreTGE } from './fetchBondsData/fetchBondsDataPreTGE'\nimport { fetchBondsDataEVM } from './fetchBondsData/fetchBondsDataEVM'\nimport { fetchBondsDataAptos } from './fetchBondsData/fetchBondsDataAptos'\nimport { fetchBondsDataSUI } from './fetchBondsData/fetchBondsDataSui'\nimport { fetchBondsDataSOL } from './fetchBondsData/fetchBondsDataSOL'\n\nexport default function useBondsData(): UseQueryResult<BondsData[]> {\n const { data: bondList } = useBondsList()\n const { data: preTGEList } = useBondsListPreTGE()\n const { data: tokenPrices } = useTokenPrices()\n const tokenPricesKey = Object.keys(tokenPrices ?? {})?.length\n const queryClient = useQueryClient()\n\n return useQuery({\n queryKey: [QUERY_KEYS.BONDS_DATA],\n queryFn: () => calculateBondsData(queryClient),\n refetchInterval: 25000, // i.e. 25 sec\n enabled: !!bondList && !!preTGEList && !!tokenPricesKey,\n refetchOnWindowFocus: false,\n refetchOnMount: false,\n refetchOnReconnect: false,\n retry: 0,\n staleTime: 25000, // i.e. 25 sec\n })\n}\n\nexport const calculateBondsData = async (queryClient: QueryClient): Promise<BondsData[]> => {\n // ----------------------- Step 1 -----------------------\n // Fetch necessary data from the queryClient\n const { chains, urls } = queryClient?.getQueryData([QUERY_KEYS.SDK_CONFIG]) as SDKProps\n const realTimeApiUrl = urls['realTimeApi']\n const apiUrl = urls['apiV2']\n const bondList = queryClient?.getQueryData([QUERY_KEYS.BONDS_LIST]) as BillsConfig[]\n const preTGEList = queryClient?.getQueryData([QUERY_KEYS.BONDS_LIST_PRE_TGE]) as PreTGEConfig[]\n const tokenPrices = queryClient?.getQueryData([QUERY_KEYS.TOKEN_PRICES]) as Partial<Record<ChainId, TokenPrices[]>>\n if (!tokenPrices) return []\n const reducedBonds = bondList?.reduce<Record<number, BillsConfig[]>>((acc, bill) => {\n const chainId = bill.chainId\n if (!acc[chainId]) {\n acc[chainId] = []\n }\n if (bill.contractAddress?.[chainId]?.toLowerCase() !== ACF_TO_ABOND.toLowerCase() && !bill.soldOut) {\n acc[chainId].push(bill)\n }\n return acc\n }, {})\n\n // ----------------------- Step 2 -----------------------\n // Fetch EVM & SOL data from realtime\n let evmSolBondsData: BondsData[] = []\n\n try {\n // force error to avoid realtime api and trigger fallback strategy\n // For EVM & SOL we first try to fetch from realtime, if it fails we trigger the fallback strategy.\n const realTimeApiResponse = await axios.get(`${realTimeApiUrl}/bonds`)\n evmSolBondsData = realTimeApiResponse.data.bonds.filter((bond: BondsData) => chains.includes(bond.chainId))\n } catch {\n // Fallback strategy\n if (bondList) {\n console.time('Fallback BondsData')\n const billData = await Promise.all([\n ...chains\n .filter((c) => c !== ChainId.APTOS && c !== ChainId.SUI)\n .map(async (chainId: ChainId) => {\n if (!reducedBonds[chainId]) return []\n return chainId === ChainId.SOL\n ? await fetchBondsDataSOL(reducedBonds[chainId], apiUrl, tokenPrices[chainId])\n : await fetchBondsDataEVM(chainId, reducedBonds[chainId], apiUrl, tokenPrices[chainId])\n }),\n ...chains.map(async (chainId: ChainId) => {\n const filteredBonds = preTGEList?.filter((bond) => bond.chainId === chainId) ?? []\n return await fetchBondsDataPreTGE(chainId, tokenPrices, filteredBonds, apiUrl)\n }),\n ])\n console.timeEnd('Fallback BondsData')\n evmSolBondsData = billData.flat()\n }\n }\n\n // ----------------------- Step 3 -----------------------\n // Fetch Aptos & Sui Bonds data\n let aptosBonds: BondsData[] = []\n let suiBonds: BondsData[] = []\n\n try {\n if (reducedBonds && tokenPrices) {\n const includesAptos = chains.includes(ChainId.APTOS)\n const includesSui = chains.includes(ChainId.SUI)\n\n if (includesAptos && includesSui) {\n const [aptos, sui] = await Promise.all([\n fetchBondsDataAptos(reducedBonds[ChainId.APTOS], tokenPrices[ChainId.APTOS]),\n fetchBondsDataSUI(reducedBonds[ChainId.SUI], tokenPrices[ChainId.SUI]),\n ])\n aptosBonds = aptos\n suiBonds = sui\n } else if (includesAptos) {\n aptosBonds = await fetchBondsDataAptos(reducedBonds[ChainId.APTOS], tokenPrices[ChainId.APTOS])\n } else if (includesSui) {\n suiBonds = await fetchBondsDataSUI(reducedBonds[ChainId.SUI], tokenPrices[ChainId.SUI])\n }\n }\n } catch (e) {\n console.error(e)\n }\n\n return [...evmSolBondsData, ...aptosBonds, ...suiBonds]\n}\n"],"names":[],"mappings":"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"}
@@ -55,25 +55,14 @@ const ActiveBondRows = ({ chain, bonds, hideTitles, showHotBonds }) => {
55
55
  ? `0 ${earnToken} ($0) `
56
56
  : `${formatNumberSI(tokensRemaining, 0)} ${earnToken} ($${formatNumberSI(tokensRemainingUSD, 2)})`, vestingTermString: saleHasFinished
57
57
  ? '-'
58
- : initialRelease === 100
59
- ? `0 D`
60
- : `${getTimePeriods(bond.vestingTerm).months} Mo`, vestingTermsComponent: bond.yieldBond && (jsxs(Flex, { className: "list-tag", sx: {
61
- background: '#3C6AB530',
62
- color: '#3b78d3',
63
- fontSize: '10px',
64
- fontWeight: 600,
65
- alignItems: 'center',
66
- lineHeight: '15px',
67
- p: '2px 6px',
68
- borderRadius: '5px',
69
- width: 'fit-content',
70
- zIndex: 2,
71
- flexDirection: 'column',
72
- '&:hover': {
73
- background: 'rgb(20 18 29 / 0.36)',
74
- },
75
- }, children: [jsx(Flex, { children: "POOL DURATION" }), jsxs(Flex, { sx: { color: 'text' }, children: [getTimePeriods((bond?.yieldData?.rewardDistributionEnd ?? 0) -
76
- parseInt(bond.startVestingTimestamp ?? '0'), true).days, ' ', "Days"] })] })), projectURL: bond.projectLink, twitterURL: bond.twitter, bondSoldOut: saleHasFinished, shortDescription: bond.shortDescription }, `${bond.contractAddress}-${bond.chainId}-${index}`));
58
+ : bond.yieldBond
59
+ ? `${getTimePeriods((bond?.yieldData?.rewardDistributionEnd ?? 0) -
60
+ parseInt(bond.startVestingTimestamp ?? '0'), true).days} D`
61
+ : initialRelease === 100
62
+ ? `0 D`
63
+ : `${getTimePeriods(bond.vestingTerm).months} Mo`, vestingCliffString: bond.yieldBond
64
+ ? `This is the duration over which the bonus yield will be distributed while your initial tokens remain staked.`
65
+ : undefined, projectURL: bond.projectLink, twitterURL: bond.twitter, bondSoldOut: saleHasFinished, shortDescription: bond.shortDescription }, `${bond.contractAddress}-${bond.chainId}-${index}`));
77
66
  }
78
67
  else {
79
68
  // POST TGE BONDS AKA NORMAL BONDS
@@ -1 +1 @@
1
- {"version":3,"file":"ActiveBondRows.js","sources":["../../../../../src/views/Bonds/components/BondRows/ActiveBondRows.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport ChainTitle from './ChainTitle'\nimport BondRow from './BondRow'\nimport { Flex } from 'theme-ui'\nimport { BondsData } from '../../../../types/bonds'\nimport { BaseBondConfig, ChainId, MarketingCampaign } from '@ape.swap/apeswap-lists'\nimport SwiperProvider from '../../../../contexts/SwiperProvider'\nimport HotBondCards from '../HotBondCards'\nimport ChainBanner from '../ChainBanner/ChainBanner'\nimport {\n getRemainingTokensString,\n getVestingTermsString,\n getVestingTermsTooltipString,\n remainingPercentage,\n} from '../../../../utils/displayHelpers'\nimport { getBalanceNumber } from '../../../../utils/getBalanceNumber'\nimport BigNumber from 'bignumber.js'\nimport { formatNumberSI } from '../../../../utils/formatNumber'\nimport { getTimePeriods } from '../../../../utils/getTimePeriods'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\nimport { MCTagStyles } from '../../../../utils/campaignStyles'\nimport Svg from '../../../../components/uikit-sdk/Svg'\nimport { icons } from '../../../../components/uikit-sdk/Svg/types'\nimport { formatUTCDate } from '../../../../utils/dates/formatDate'\n\n// Record<string, (BondsData | BaseBondConfig)[]>\n\nexport interface ActiveBondRowsProps {\n chain: number\n bonds: (BondsData | BaseBondConfig)[]\n hideTitles: boolean\n showHotBonds: boolean\n}\n\nconst ActiveBondRows: React.FC<ActiveBondRowsProps> = ({ chain, bonds, hideTitles, showHotBonds }) => {\n const { namingPreference } = useSDKConfig()\n const [isOpen, setIsOpen] = useState<boolean>(true)\n const key = chain\n\n return (\n <Flex className=\"bondrowswithtitle\" key={key}>\n <AnimatePresence initial={false}>\n <Flex onClick={() => setIsOpen(!isOpen)} sx={{ cursor: 'pointer' }}>\n <ChainTitle\n chain={chain}\n pt={'5px'}\n hideTitles={(bonds.length <= 0 && chain !== ChainId.SOL && chain !== ChainId.MONAD) || hideTitles}\n isOpen={isOpen}\n />\n </Flex>\n {isOpen && (bonds.length > 0 || chain === ChainId.SOL || chain === ChainId.MONAD) && (\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 marginTop: '0px',\n }}\n key={key}\n className=\"bonds-card-container\"\n >\n {[\n ChainId.SOL,\n ChainId.MONAD,\n // ChainId.APTOS,\n // ChainId.SUI\n ].includes(chain) &&\n !hideTitles && <ChainBanner chainId={chain} />}\n {bonds?.map((bondFromMap, index) => {\n // PRE TGE ROWS\n\n if (bondFromMap.billType === 'fcfs') {\n const bond = bondFromMap as BondsData\n const totalPrincipalBilled =\n Math.round(\n getBalanceNumber(\n new BigNumber(bond?.totalPrincipalBilled ?? '0'),\n bond?.lpToken?.decimals?.[bond?.chainId] as number,\n ),\n ) / (bond.initPrice ?? 0)\n const raiseGoal =\n Math.round(\n getBalanceNumber(\n new BigNumber(bond?.totalRaise ?? '0'),\n bond?.lpToken?.decimals?.[bond?.chainId] as number,\n ),\n ) / (bond.initPrice ?? 0)\n\n const tokensRemaining = raiseGoal - totalPrincipalBilled\n const tokensRemainingUSD = tokensRemaining * (bond?.initPrice ?? 0)\n const percentageAvailable = 100 - Math.floor((totalPrincipalBilled * 100) / raiseGoal)\n const earnToken = bond?.earnToken?.symbol\n\n const baseBonus = bond?.trueBondPrices?.[0]?.bonus ?? 0\n const airdropBonus = bond?.airdropBonus ?? 0\n const bonus = baseBonus + airdropBonus\n const initialRelease = (bond?.initialRelease ?? 0) * 100\n\n const now = new Date().getTime()\n const saleFinishTime = (bond?.finishTime ?? 0) * 1000\n const saleHasFinished = now > saleFinishTime || bond.finalized\n\n return (\n <BondRow\n key={`${bond.contractAddress}-${bond.chainId}-${index}`}\n bondAddress={bond.contractAddress?.[bond.chainId] as string}\n bondChain={bond.chainId}\n marketingCampaign={bond.marketingCampaign as MarketingCampaign}\n payoutToken={bond.underlyingEarnToken || bond.earnToken}\n billType={bond.billType}\n tag={bond.tags?.[0]}\n bonus={\n bond.yieldBond\n ? `${bond.yieldData?.apr.toFixed()}% APR`\n : saleHasFinished\n ? undefined\n : `${bonus}%`\n }\n airdropTooltip={bond.airdropTooltip}\n percentageAvailable={percentageAvailable}\n remainingTokensString={\n saleHasFinished\n ? `0 ${earnToken} ($0) `\n : `${formatNumberSI(tokensRemaining, 0)} ${earnToken} ($${formatNumberSI(tokensRemainingUSD, 2)})`\n }\n vestingTermString={\n saleHasFinished\n ? '-'\n : initialRelease === 100\n ? `0 D`\n : `${getTimePeriods(bond.vestingTerm).months} Mo`\n }\n vestingTermsComponent={\n bond.yieldBond && (\n <Flex\n className=\"list-tag\"\n sx={{\n background: '#3C6AB530',\n color: '#3b78d3',\n fontSize: '10px',\n fontWeight: 600,\n alignItems: 'center',\n lineHeight: '15px',\n p: '2px 6px',\n borderRadius: '5px',\n width: 'fit-content',\n zIndex: 2,\n flexDirection: 'column',\n '&:hover': {\n background: 'rgb(20 18 29 / 0.36)',\n },\n }}\n >\n <Flex>POOL DURATION</Flex>\n <Flex sx={{ color: 'text' }}>\n {\n getTimePeriods(\n (bond?.yieldData?.rewardDistributionEnd ?? 0) -\n parseInt(bond.startVestingTimestamp ?? '0'),\n true,\n ).days\n }{' '}\n Days\n </Flex>\n </Flex>\n )\n }\n projectURL={bond.projectLink}\n twitterURL={bond.twitter}\n bondSoldOut={saleHasFinished}\n shortDescription={bond.shortDescription}\n />\n )\n } else {\n // POST TGE BONDS AKA NORMAL BONDS\n\n const bond = bondFromMap as BondsData\n const bondAddress = bond?.contractAddress?.[bond?.chainId] as string\n const remainingTokensString = getRemainingTokensString(bond)\n return (\n <BondRow\n key={`${bondAddress}-${bond.chainId}-${index}`}\n bondAddress={bondAddress}\n bondChain={bond.chainId}\n marketingCampaign={bond.marketingCampaign as MarketingCampaign}\n payoutToken={bond.earnToken}\n billType={bond.billType}\n tag={bond.highlightTag || bond.tags?.[0]}\n trueBondPrices={namingPreference === 'Bonus' ? bond.trueBondPrices : undefined}\n minTier={bond?.minTier}\n vestingTermString={getVestingTermsString(bond)}\n vestingCliffString={getVestingTermsTooltipString(bond)}\n percentageAvailable={remainingPercentage(bond)}\n remainingTokensString={remainingTokensString}\n projectURL={bond.projectLink}\n twitterURL={bond.twitter}\n bonus={\n namingPreference === 'Discount'\n ? `${bond?.trueBondPrices?.[0]?.discountWithFee?.toFixed(2)}%`\n : undefined\n }\n shortDescription={bond.shortDescription}\n cgId={bond.cgId}\n dexscreener={bond?.dexscreener}\n />\n )\n }\n })}\n {showHotBonds && (\n <SwiperProvider>\n <HotBondCards />\n </SwiperProvider>\n )}\n </motion.div>\n )}\n </AnimatePresence>\n </Flex>\n )\n}\n\nexport default ActiveBondRows\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"ActiveBondRows.js","sources":["../../../../../src/views/Bonds/components/BondRows/ActiveBondRows.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport ChainTitle from './ChainTitle'\nimport BondRow from './BondRow'\nimport { Flex } from 'theme-ui'\nimport { BondsData } from '../../../../types/bonds'\nimport { BaseBondConfig, ChainId, MarketingCampaign } from '@ape.swap/apeswap-lists'\nimport SwiperProvider from '../../../../contexts/SwiperProvider'\nimport HotBondCards from '../HotBondCards'\nimport ChainBanner from '../ChainBanner/ChainBanner'\nimport {\n getRemainingTokensString,\n getVestingTermsString,\n getVestingTermsTooltipString,\n remainingPercentage,\n} from '../../../../utils/displayHelpers'\nimport { getBalanceNumber } from '../../../../utils/getBalanceNumber'\nimport BigNumber from 'bignumber.js'\nimport { formatNumberSI } from '../../../../utils/formatNumber'\nimport { getTimePeriods } from '../../../../utils/getTimePeriods'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\n\n// Record<string, (BondsData | BaseBondConfig)[]>\n\nexport interface ActiveBondRowsProps {\n chain: number\n bonds: (BondsData | BaseBondConfig)[]\n hideTitles: boolean\n showHotBonds: boolean\n}\n\nconst ActiveBondRows: React.FC<ActiveBondRowsProps> = ({ chain, bonds, hideTitles, showHotBonds }) => {\n const { namingPreference } = useSDKConfig()\n const [isOpen, setIsOpen] = useState<boolean>(true)\n const key = chain\n\n return (\n <Flex className=\"bondrowswithtitle\" key={key}>\n <AnimatePresence initial={false}>\n <Flex onClick={() => setIsOpen(!isOpen)} sx={{ cursor: 'pointer' }}>\n <ChainTitle\n chain={chain}\n pt={'5px'}\n hideTitles={(bonds.length <= 0 && chain !== ChainId.SOL && chain !== ChainId.MONAD) || hideTitles}\n isOpen={isOpen}\n />\n </Flex>\n {isOpen && (bonds.length > 0 || chain === ChainId.SOL || chain === ChainId.MONAD) && (\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 marginTop: '0px',\n }}\n key={key}\n className=\"bonds-card-container\"\n >\n {[\n ChainId.SOL,\n ChainId.MONAD,\n // ChainId.APTOS,\n // ChainId.SUI\n ].includes(chain) &&\n !hideTitles && <ChainBanner chainId={chain} />}\n {bonds?.map((bondFromMap, index) => {\n // PRE TGE ROWS\n\n if (bondFromMap.billType === 'fcfs') {\n const bond = bondFromMap as BondsData\n const totalPrincipalBilled =\n Math.round(\n getBalanceNumber(\n new BigNumber(bond?.totalPrincipalBilled ?? '0'),\n bond?.lpToken?.decimals?.[bond?.chainId] as number,\n ),\n ) / (bond.initPrice ?? 0)\n const raiseGoal =\n Math.round(\n getBalanceNumber(\n new BigNumber(bond?.totalRaise ?? '0'),\n bond?.lpToken?.decimals?.[bond?.chainId] as number,\n ),\n ) / (bond.initPrice ?? 0)\n\n const tokensRemaining = raiseGoal - totalPrincipalBilled\n const tokensRemainingUSD = tokensRemaining * (bond?.initPrice ?? 0)\n const percentageAvailable = 100 - Math.floor((totalPrincipalBilled * 100) / raiseGoal)\n const earnToken = bond?.earnToken?.symbol\n\n const baseBonus = bond?.trueBondPrices?.[0]?.bonus ?? 0\n const airdropBonus = bond?.airdropBonus ?? 0\n const bonus = baseBonus + airdropBonus\n const initialRelease = (bond?.initialRelease ?? 0) * 100\n\n const now = new Date().getTime()\n const saleFinishTime = (bond?.finishTime ?? 0) * 1000\n const saleHasFinished = now > saleFinishTime || bond.finalized\n\n return (\n <BondRow\n key={`${bond.contractAddress}-${bond.chainId}-${index}`}\n bondAddress={bond.contractAddress?.[bond.chainId] as string}\n bondChain={bond.chainId}\n marketingCampaign={bond.marketingCampaign as MarketingCampaign}\n payoutToken={bond.underlyingEarnToken || bond.earnToken}\n billType={bond.billType}\n tag={bond.tags?.[0]}\n bonus={\n bond.yieldBond\n ? `${bond.yieldData?.apr.toFixed()}% APR`\n : saleHasFinished\n ? undefined\n : `${bonus}%`\n }\n airdropTooltip={bond.airdropTooltip}\n percentageAvailable={percentageAvailable}\n remainingTokensString={\n saleHasFinished\n ? `0 ${earnToken} ($0) `\n : `${formatNumberSI(tokensRemaining, 0)} ${earnToken} ($${formatNumberSI(tokensRemainingUSD, 2)})`\n }\n vestingTermString={\n saleHasFinished\n ? '-'\n : bond.yieldBond\n ? `${\n getTimePeriods(\n (bond?.yieldData?.rewardDistributionEnd ?? 0) -\n parseInt(bond.startVestingTimestamp ?? '0'),\n true,\n ).days\n } D`\n : initialRelease === 100\n ? `0 D`\n : `${getTimePeriods(bond.vestingTerm).months} Mo`\n }\n vestingCliffString={\n bond.yieldBond\n ? `This is the duration over which the bonus yield will be distributed while your initial tokens remain staked.`\n : undefined\n }\n projectURL={bond.projectLink}\n twitterURL={bond.twitter}\n bondSoldOut={saleHasFinished}\n shortDescription={bond.shortDescription}\n />\n )\n } else {\n // POST TGE BONDS AKA NORMAL BONDS\n\n const bond = bondFromMap as BondsData\n const bondAddress = bond?.contractAddress?.[bond?.chainId] as string\n const remainingTokensString = getRemainingTokensString(bond)\n return (\n <BondRow\n key={`${bondAddress}-${bond.chainId}-${index}`}\n bondAddress={bondAddress}\n bondChain={bond.chainId}\n marketingCampaign={bond.marketingCampaign as MarketingCampaign}\n payoutToken={bond.earnToken}\n billType={bond.billType}\n tag={bond.highlightTag || bond.tags?.[0]}\n trueBondPrices={namingPreference === 'Bonus' ? bond.trueBondPrices : undefined}\n minTier={bond?.minTier}\n vestingTermString={getVestingTermsString(bond)}\n vestingCliffString={getVestingTermsTooltipString(bond)}\n percentageAvailable={remainingPercentage(bond)}\n remainingTokensString={remainingTokensString}\n projectURL={bond.projectLink}\n twitterURL={bond.twitter}\n bonus={\n namingPreference === 'Discount'\n ? `${bond?.trueBondPrices?.[0]?.discountWithFee?.toFixed(2)}%`\n : undefined\n }\n shortDescription={bond.shortDescription}\n cgId={bond.cgId}\n dexscreener={bond?.dexscreener}\n />\n )\n }\n })}\n {showHotBonds && (\n <SwiperProvider>\n <HotBondCards />\n </SwiperProvider>\n )}\n </motion.div>\n )}\n </AnimatePresence>\n </Flex>\n )\n}\n\nexport default ActiveBondRows\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
@@ -15,7 +15,6 @@ interface BondRowProps {
15
15
  airdropTooltip?: string;
16
16
  vestingTermString: string;
17
17
  vestingCliffString?: string;
18
- vestingTermsComponent?: React.ReactNode;
19
18
  percentageAvailable: number;
20
19
  remainingTokensString: string;
21
20
  projectURL?: string;
@@ -1,4 +1,4 @@
1
- import { jsx, jsxs, Fragment } from 'theme-ui/jsx-runtime';
1
+ import { jsx, jsxs } from 'theme-ui/jsx-runtime';
2
2
  import ProgressBar from '../../../../components/ProgressBar/ProgressBar.js';
3
3
  import ProgressBarWrapper from '../../../../components/ProgressBar/ProgressBarWrapper.js';
4
4
  import TokenInfoAndName from '../../../../components/TokenInfoAndName/index.js';
@@ -15,7 +15,7 @@ import Flex from '../../../../components/uikit-sdk/Flex/index.js';
15
15
  import TooltipBubble from '../../../../components/uikit-sdk/TooltipBubble/index.js';
16
16
  import Svg from '../../../../components/uikit-sdk/Svg/index.js';
17
17
 
18
- const BondRow = ({ bondAddress, bondChain, marketingCampaign, payoutToken, billType, tag, bondSoldOut, trueBondPrices, minTier, bonus, airdropTooltip, vestingTermString, vestingTermsComponent, vestingCliffString, percentageAvailable, remainingTokensString, projectURL, twitterURL, shortDescription, soldoutBondsCount, isOpen, cgId, dexscreener, }) => {
18
+ const BondRow = ({ bondAddress, bondChain, marketingCampaign, payoutToken, billType, tag, bondSoldOut, trueBondPrices, minTier, bonus, airdropTooltip, vestingTermString, vestingCliffString, percentageAvailable, remainingTokensString, projectURL, twitterURL, shortDescription, soldoutBondsCount, isOpen, cgId, dexscreener, }) => {
19
19
  const SDKConfig = useSDKConfig();
20
20
  // Modal
21
21
  const [openBuyModal] = useModal(jsx(ModalHandler, { bondAddress: bondAddress, bondChain: bondChain }), true, true, `buyBondModal-${bondAddress.toLowerCase()}-${bondChain}`);
@@ -51,7 +51,7 @@ const BondRow = ({ bondAddress, bondChain, marketingCampaign, payoutToken, billT
51
51
  '&:hover .list-tag': {
52
52
  background: 'rgb(20 18 29 / 0.25)',
53
53
  },
54
- }, children: [jsx("div", { className: "token-info-container", sx: { width: ['45%', '45%', '45%', '30%'], minWidth: ['unset', 'unset', 'unset', '400px'] }, children: jsx(TokenInfoAndName, { tokenSymbol: payoutToken?.symbol, chain: bondChain, tag: tag, marketingCampaign: marketingCampaign }) }), SDKConfig.useCardsView && shortDescription && (jsx("div", { className: "short-description", children: jsx(SafeHTMLComponent, { html: shortDescription }) })), jsxs("div", { className: "bond-info-columns", sx: { width: ['55%', '55%', '55%', '70%'] }, children: [!SDKConfig.useCardsView && jsx(Flex, { sx: { display: ['none', 'none', 'none', 'flex'], width: '125px' } }), jsx(BonusContainer, { trueBondPrices: trueBondPrices, minTier: minTier, bonus: bonus, airdropTooltip: airdropTooltip, isIREET: payoutToken.symbol.toLowerCase() === 'ireet' }), jsx("div", { className: "terms-column", children: vestingTermsComponent ? (vestingTermsComponent) : (jsxs(Fragment, { children: [vestingTermString, vestingCliffString && (jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Flex, { children: vestingCliffString }), width: "180px", placement: "bottomRight", transformTip: "translate(13%, 0%)", children: jsx(Flex, { sx: { opacity: 0.6, ml: '6px' }, children: jsx(Svg, { icon: "questionCircle", width: "12px" }) }) }))] })) }), jsx("div", { className: "tokens-remaining-column", children: bondSoldOut ? ('-') : (jsx(ProgressBarWrapper, { title: '', value: jsx(ProgressBar, { value: percentageAvailable }), style: {
54
+ }, children: [jsx("div", { className: "token-info-container", sx: { width: ['45%', '45%', '45%', '30%'], minWidth: ['unset', 'unset', 'unset', '400px'] }, children: jsx(TokenInfoAndName, { tokenSymbol: payoutToken?.symbol, chain: bondChain, tag: tag, marketingCampaign: marketingCampaign }) }), SDKConfig.useCardsView && shortDescription && (jsx("div", { className: "short-description", children: jsx(SafeHTMLComponent, { html: shortDescription }) })), jsxs("div", { className: "bond-info-columns", sx: { width: ['55%', '55%', '55%', '70%'] }, children: [!SDKConfig.useCardsView && jsx(Flex, { sx: { display: ['none', 'none', 'none', 'flex'], width: '125px' } }), jsx(BonusContainer, { trueBondPrices: trueBondPrices, minTier: minTier, bonus: bonus, airdropTooltip: airdropTooltip, isIREET: payoutToken.symbol.toLowerCase() === 'ireet' }), jsxs("div", { className: "terms-column", children: [vestingTermString, vestingCliffString && (jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Flex, { children: vestingCliffString }), width: "180px", placement: "bottomRight", transformTip: "translate(13%, 0%)", children: jsx(Flex, { sx: { opacity: 0.6, ml: '6px' }, children: jsx(Svg, { icon: "questionCircle", width: "12px" }) }) }))] }), jsx("div", { className: "tokens-remaining-column", children: bondSoldOut ? ('-') : (jsx(ProgressBarWrapper, { title: '', value: jsx(ProgressBar, { value: percentageAvailable }), style: {
55
55
  width: '127px',
56
56
  height: '25px',
57
57
  flexDirection: 'column',
@@ -1 +1 @@
1
- {"version":3,"file":"BondRow.js","sources":["../../../../../src/views/Bonds/components/BondRows/BondRow.tsx"],"sourcesContent":["import React from 'react'\nimport { TrueBondPrices } from '../../../../types/bonds'\nimport ProgressBar from '../../../../components/ProgressBar/ProgressBar'\nimport ProgressBarWrapper from '../../../../components/ProgressBar/ProgressBarWrapper'\nimport TokenInfoAndName from '../../../../components/TokenInfoAndName'\nimport Tooltip from '../../../../components/Tooltip/Tooltip'\nimport { ChainId, LaunchBondTiers, MarketingCampaign, Token } from '@ape.swap/apeswap-lists'\nimport useModal from '../../../../hooks/useModal'\nimport ModalHandler from './ModalHandler'\nimport track from '../../../../utils/track'\nimport BonusContainer from '../BonusComponents/BonusContainer'\nimport ModalHandlerPreTGE from './ModalHandlerPreTGE'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\nimport SafeHTMLComponent from '../../../../components/SafeHTMLComponent'\nimport { MCBondRowStyles } from '../../../../utils/campaignStyles'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport TooltipBubble from '../../../../components/uikit-sdk/TooltipBubble'\nimport Svg from '../../../../components/uikit-sdk/Svg'\n\ninterface BondRowProps {\n bondAddress: string\n bondChain: ChainId\n marketingCampaign?: MarketingCampaign\n payoutToken: Token\n billType: string\n tag?: string\n bondSoldOut?: boolean\n trueBondPrices?: TrueBondPrices[]\n minTier?: LaunchBondTiers\n bonus?: string\n airdropTooltip?: string\n vestingTermString: string\n vestingCliffString?: string\n vestingTermsComponent?: React.ReactNode\n percentageAvailable: number\n remainingTokensString: string\n projectURL?: string\n twitterURL?: string\n shortDescription?: string\n soldoutBondsCount?: number\n isOpen?: boolean\n cgId?: string\n dexscreener?: string\n}\n\nconst BondRow: React.FC<BondRowProps> = ({\n bondAddress,\n bondChain,\n marketingCampaign,\n payoutToken,\n billType,\n tag,\n bondSoldOut,\n trueBondPrices,\n minTier,\n bonus,\n airdropTooltip,\n vestingTermString,\n vestingTermsComponent,\n vestingCliffString,\n percentageAvailable,\n remainingTokensString,\n projectURL,\n twitterURL,\n shortDescription,\n soldoutBondsCount,\n isOpen,\n cgId,\n dexscreener,\n}) => {\n const SDKConfig = useSDKConfig()\n\n // Modal\n const [openBuyModal] = useModal(\n <ModalHandler bondAddress={bondAddress} bondChain={bondChain} />,\n true,\n true,\n `buyBondModal-${bondAddress.toLowerCase()}-${bondChain}`,\n )\n\n const [openPreTGEBondModal] = useModal(\n <ModalHandlerPreTGE bondAddress={bondAddress} bondChain={bondChain} />,\n true,\n true,\n `preTGEBuyBondModal:${bondAddress.toLowerCase()}-${bondChain}}`,\n )\n\n const handleOpenModal = () => {\n if (bondSoldOut) return\n if (billType === 'fcfs') {\n openPreTGEBondModal()\n } else {\n openBuyModal()\n }\n if (typeof window !== 'undefined') {\n const locationPath = window.location.pathname.replace('/', '')\n window.history.pushState({}, '', `${locationPath}?bondAddress=${bondAddress}&bondChain=${bondChain}`)\n }\n track({\n event: 'buyModalOpen',\n chain: bondChain,\n data: {\n cat: 'Row',\n bond: payoutToken.symbol,\n bondChain: bondChain,\n },\n })\n }\n\n return (\n <div\n className=\"bond-row\"\n onClick={handleOpenModal}\n key={`${bondAddress}-${bondChain}`}\n sx={{\n borderRadius: 'normal',\n // Insert special campaign styles here\n ...MCBondRowStyles[marketingCampaign!],\n cursor: !bondSoldOut || (soldoutBondsCount && !isOpen) ? 'pointer' : 'default',\n '&:hover .list-tag': {\n background: 'rgb(20 18 29 / 0.25)',\n },\n }}\n >\n <div\n className=\"token-info-container\"\n sx={{ width: ['45%', '45%', '45%', '30%'], minWidth: ['unset', 'unset', 'unset', '400px'] }}\n >\n <TokenInfoAndName\n tokenSymbol={payoutToken?.symbol}\n chain={bondChain}\n tag={tag}\n marketingCampaign={marketingCampaign}\n />\n </div>\n {SDKConfig.useCardsView && shortDescription && (\n <div className=\"short-description\">\n <SafeHTMLComponent html={shortDescription} />\n </div>\n )}\n <div className=\"bond-info-columns\" sx={{ width: ['55%', '55%', '55%', '70%'] }}>\n {!SDKConfig.useCardsView && <Flex sx={{ display: ['none', 'none', 'none', 'flex'], width: '125px' }} />}\n <BonusContainer\n trueBondPrices={trueBondPrices}\n minTier={minTier}\n bonus={bonus}\n airdropTooltip={airdropTooltip}\n isIREET={payoutToken.symbol.toLowerCase() === 'ireet'}\n />\n\n <div className=\"terms-column\">\n {vestingTermsComponent ? (\n vestingTermsComponent\n ) : (\n <>\n {vestingTermString}\n {vestingCliffString && (\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={<Flex>{vestingCliffString}</Flex>}\n width=\"180px\"\n placement=\"bottomRight\"\n transformTip=\"translate(13%, 0%)\"\n >\n <Flex sx={{ opacity: 0.6, ml: '6px' }}>\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </Flex>\n </TooltipBubble>\n )}\n </>\n )}\n </div>\n <div className=\"tokens-remaining-column\">\n {bondSoldOut ? (\n '-'\n ) : (\n <ProgressBarWrapper\n title={''}\n value={<ProgressBar value={percentageAvailable} />}\n style={{\n width: '127px',\n height: '25px',\n flexDirection: 'column',\n justifyContent: 'center',\n display: ['none', 'none', 'none', 'flex'],\n }}\n showTooltip={true}\n toolTip={remainingTokensString}\n />\n )}\n </div>\n <div className=\"tooltip-column\">\n {soldoutBondsCount ? (\n <Flex sx={{ gap: '5px', fontSize: '13px', fontWeight: 500, opacity: 0.5 }}>\n ({soldoutBondsCount})\n <Svg icon=\"caret\" direction={isOpen ? 'up' : 'down'} width=\"8px\" />\n </Flex>\n ) : (\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Tooltip\n earnTokenContract={payoutToken?.address?.[bondChain] ?? ''}\n earnTokenSymbol={payoutToken?.symbol ?? ''}\n bondContract={bondAddress ?? ''}\n projectLink={projectURL}\n twitter={twitterURL}\n chain={bondChain}\n isSoldOut={bondSoldOut}\n billType={billType}\n cgId={cgId}\n dexscreener={dexscreener}\n />\n }\n width=\"205px\"\n placement=\"bottomRight\"\n transformTip=\"translate(7%, -2%)\"\n >\n <Flex className=\"more-icon\" sx={{ opacity: 0.8 }}>\n <Svg icon=\"more\" width=\"25px\" />\n </Flex>\n </TooltipBubble>\n )}\n </div>\n </div>\n </div>\n )\n}\n\nexport default BondRow\n"],"names":["_jsx","_jsxs","_Fragment","Tooltip"],"mappings":"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"}
1
+ {"version":3,"file":"BondRow.js","sources":["../../../../../src/views/Bonds/components/BondRows/BondRow.tsx"],"sourcesContent":["import React from 'react'\nimport { TrueBondPrices } from '../../../../types/bonds'\nimport ProgressBar from '../../../../components/ProgressBar/ProgressBar'\nimport ProgressBarWrapper from '../../../../components/ProgressBar/ProgressBarWrapper'\nimport TokenInfoAndName from '../../../../components/TokenInfoAndName'\nimport Tooltip from '../../../../components/Tooltip/Tooltip'\nimport { ChainId, LaunchBondTiers, MarketingCampaign, Token } from '@ape.swap/apeswap-lists'\nimport useModal from '../../../../hooks/useModal'\nimport ModalHandler from './ModalHandler'\nimport track from '../../../../utils/track'\nimport BonusContainer from '../BonusComponents/BonusContainer'\nimport ModalHandlerPreTGE from './ModalHandlerPreTGE'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\nimport SafeHTMLComponent from '../../../../components/SafeHTMLComponent'\nimport { MCBondRowStyles } from '../../../../utils/campaignStyles'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport TooltipBubble from '../../../../components/uikit-sdk/TooltipBubble'\nimport Svg from '../../../../components/uikit-sdk/Svg'\n\ninterface BondRowProps {\n bondAddress: string\n bondChain: ChainId\n marketingCampaign?: MarketingCampaign\n payoutToken: Token\n billType: string\n tag?: string\n bondSoldOut?: boolean\n trueBondPrices?: TrueBondPrices[]\n minTier?: LaunchBondTiers\n bonus?: string\n airdropTooltip?: string\n vestingTermString: string\n vestingCliffString?: string\n percentageAvailable: number\n remainingTokensString: string\n projectURL?: string\n twitterURL?: string\n shortDescription?: string\n soldoutBondsCount?: number\n isOpen?: boolean\n cgId?: string\n dexscreener?: string\n}\n\nconst BondRow: React.FC<BondRowProps> = ({\n bondAddress,\n bondChain,\n marketingCampaign,\n payoutToken,\n billType,\n tag,\n bondSoldOut,\n trueBondPrices,\n minTier,\n bonus,\n airdropTooltip,\n vestingTermString,\n vestingCliffString,\n percentageAvailable,\n remainingTokensString,\n projectURL,\n twitterURL,\n shortDescription,\n soldoutBondsCount,\n isOpen,\n cgId,\n dexscreener,\n}) => {\n const SDKConfig = useSDKConfig()\n\n // Modal\n const [openBuyModal] = useModal(\n <ModalHandler bondAddress={bondAddress} bondChain={bondChain} />,\n true,\n true,\n `buyBondModal-${bondAddress.toLowerCase()}-${bondChain}`,\n )\n\n const [openPreTGEBondModal] = useModal(\n <ModalHandlerPreTGE bondAddress={bondAddress} bondChain={bondChain} />,\n true,\n true,\n `preTGEBuyBondModal:${bondAddress.toLowerCase()}-${bondChain}}`,\n )\n\n const handleOpenModal = () => {\n if (bondSoldOut) return\n if (billType === 'fcfs') {\n openPreTGEBondModal()\n } else {\n openBuyModal()\n }\n if (typeof window !== 'undefined') {\n const locationPath = window.location.pathname.replace('/', '')\n window.history.pushState({}, '', `${locationPath}?bondAddress=${bondAddress}&bondChain=${bondChain}`)\n }\n track({\n event: 'buyModalOpen',\n chain: bondChain,\n data: {\n cat: 'Row',\n bond: payoutToken.symbol,\n bondChain: bondChain,\n },\n })\n }\n\n return (\n <div\n className=\"bond-row\"\n onClick={handleOpenModal}\n key={`${bondAddress}-${bondChain}`}\n sx={{\n borderRadius: 'normal',\n // Insert special campaign styles here\n ...MCBondRowStyles[marketingCampaign!],\n cursor: !bondSoldOut || (soldoutBondsCount && !isOpen) ? 'pointer' : 'default',\n '&:hover .list-tag': {\n background: 'rgb(20 18 29 / 0.25)',\n },\n }}\n >\n <div\n className=\"token-info-container\"\n sx={{ width: ['45%', '45%', '45%', '30%'], minWidth: ['unset', 'unset', 'unset', '400px'] }}\n >\n <TokenInfoAndName\n tokenSymbol={payoutToken?.symbol}\n chain={bondChain}\n tag={tag}\n marketingCampaign={marketingCampaign}\n />\n </div>\n {SDKConfig.useCardsView && shortDescription && (\n <div className=\"short-description\">\n <SafeHTMLComponent html={shortDescription} />\n </div>\n )}\n <div className=\"bond-info-columns\" sx={{ width: ['55%', '55%', '55%', '70%'] }}>\n {!SDKConfig.useCardsView && <Flex sx={{ display: ['none', 'none', 'none', 'flex'], width: '125px' }} />}\n <BonusContainer\n trueBondPrices={trueBondPrices}\n minTier={minTier}\n bonus={bonus}\n airdropTooltip={airdropTooltip}\n isIREET={payoutToken.symbol.toLowerCase() === 'ireet'}\n />\n\n <div className=\"terms-column\">\n {vestingTermString}\n {vestingCliffString && (\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={<Flex>{vestingCliffString}</Flex>}\n width=\"180px\"\n placement=\"bottomRight\"\n transformTip=\"translate(13%, 0%)\"\n >\n <Flex sx={{ opacity: 0.6, ml: '6px' }}>\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </Flex>\n </TooltipBubble>\n )}\n </div>\n <div className=\"tokens-remaining-column\">\n {bondSoldOut ? (\n '-'\n ) : (\n <ProgressBarWrapper\n title={''}\n value={<ProgressBar value={percentageAvailable} />}\n style={{\n width: '127px',\n height: '25px',\n flexDirection: 'column',\n justifyContent: 'center',\n display: ['none', 'none', 'none', 'flex'],\n }}\n showTooltip={true}\n toolTip={remainingTokensString}\n />\n )}\n </div>\n <div className=\"tooltip-column\">\n {soldoutBondsCount ? (\n <Flex sx={{ gap: '5px', fontSize: '13px', fontWeight: 500, opacity: 0.5 }}>\n ({soldoutBondsCount})\n <Svg icon=\"caret\" direction={isOpen ? 'up' : 'down'} width=\"8px\" />\n </Flex>\n ) : (\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Tooltip\n earnTokenContract={payoutToken?.address?.[bondChain] ?? ''}\n earnTokenSymbol={payoutToken?.symbol ?? ''}\n bondContract={bondAddress ?? ''}\n projectLink={projectURL}\n twitter={twitterURL}\n chain={bondChain}\n isSoldOut={bondSoldOut}\n billType={billType}\n cgId={cgId}\n dexscreener={dexscreener}\n />\n }\n width=\"205px\"\n placement=\"bottomRight\"\n transformTip=\"translate(7%, -2%)\"\n >\n <Flex className=\"more-icon\" sx={{ opacity: 0.8 }}>\n <Svg icon=\"more\" width=\"25px\" />\n </Flex>\n </TooltipBubble>\n )}\n </div>\n </div>\n </div>\n )\n}\n\nexport default BondRow\n"],"names":["_jsx","_jsxs","Tooltip"],"mappings":"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"}
@@ -52,8 +52,6 @@ const BuyComponentPreTGE = ({ bondAddress, bondChain, onDismiss, handlePurchased
52
52
  const bonusUSD = youGetUSD - inputValueToDisplayUSD;
53
53
  const apr = bond.yieldData?.apr ?? 0;
54
54
  const aprUSD = inputValueToDisplayUSD * (apr / 100);
55
- const timeLeftForFullyVested = (bond.yieldData?.rewardDistributionEnd ?? 0) - Date.now() / 1000;
56
- const timePeriods = getTimePeriods(timeLeftForFullyVested, true);
57
55
  const handleClose = () => {
58
56
  if (typeof window !== 'undefined') {
59
57
  window.history.pushState({}, '', `/bonds`);
@@ -123,7 +121,7 @@ const BuyComponentPreTGE = ({ bondAddress, bondChain, onDismiss, handlePurchased
123
121
  : !bond
124
122
  ? 'no bond'
125
123
  : null;
126
- return (jsxs(Modal, { onDismiss: handleClose, sx: { width: '740px' }, children: [jsx(ModalHeader, { onDismiss: handleClose, hideDivider: true }), jsx(Flex, { sx: styles.buyContainer, children: jsxs(Flex, { sx: styles.cardContainer, children: [jsx(Flex, { sx: { width: '100%', justifyContent: 'space-between' }, children: jsxs(Flex, { children: [jsxs(Flex, { children: [jsx(Flex, { className: "title-container bondicon", children: jsx(TokenImage, { symbol: bond.underlyingEarnToken?.symbol || bond.earnToken.symbol, size: 50, chain: bond.chainId }) }), jsxs(Flex, { className: "title-container bondname", children: [bond.underlyingEarnToken?.symbol || bond.earnToken.symbol, jsx(ListTag, { text: bond?.tags?.[0] })] })] }), !bond.yieldBond && (jsxs(Flex, { sx: { flexDirection: 'column', ml: '15px' }, children: [jsxs(Flex, { className: "price-container price", children: ["$", bond.tgePrice] }), jsxs(Flex, { sx: { fontSize: '24px', fontWeight: 700 }, children: ["$", bond.initPrice] })] }))] }) }), jsx(ProjectDescription, { description: bond.shortDescription, isProjectView: true }), jsx(BondCardsPreTGE, { bond: bond }), jsxs(Flex, { sx: { ...styles.infoRowsContainer, mt: '10px' }, children: [jsxs(Flex, { sx: styles.infoRow, children: [jsx(Text, { sx: styles.infoTitle, children: "You Spend:" }), jsxs(Text, { sx: styles.infoData, children: [isNaN(parseFloat(inputValueToDisplay)) ? 0 : inputValueToDisplay, " ", bond?.lpToken.symbol, " = $", isNaN(inputValueToDisplayUSD) ? '0' : inputValueToDisplayUSD.toFixed(2)] })] }), bond.yieldBond ? (jsxs(Flex, { sx: styles.infoRow, children: [jsxs(Flex, { sx: { ...styles.infoTitle, alignItems: 'center' }, children: ["APR:", jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Flex, { children: "Some Text explaining how the APR and staking work" }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, 0%)", children: jsx(Flex, { className: "row-container premium-icon", children: jsx(Svg, { icon: "questionCircle", width: "12px" }) }) })] }), jsxs(Text, { sx: { ...styles.infoData, color: 'success' }, children: ["$", isNaN(aprUSD) ? '0' : aprUSD.toFixed(2)] })] })) : (jsxs(Flex, { sx: styles.infoRow, children: [jsxs(Flex, { sx: { ...styles.infoTitle, alignItems: 'center' }, children: ["Bonus:", jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Flex, { children: TooltipText.Premium }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, 0%)", children: jsx(Flex, { className: "row-container premium-icon", children: jsx(Svg, { icon: "questionCircle", width: "12px" }) }) })] }), jsxs(Text, { sx: { ...styles.infoData, color: 'success' }, children: ["$", isNaN(bonusUSD) ? '0' : bonusUSD.toFixed(2)] })] })), jsxs(Flex, { sx: styles.infoRow, children: [jsx(Text, { sx: styles.infoTitle, children: "You Get:" }), bond.yieldBond ? (jsxs(Flex, { sx: { ...styles.infoData, alignItems: 'center', gap: '5px' }, children: [jsx(TooltipBubble, { className: "tooltip-bubble", body: jsxs(Flex, { sx: { width: '100%', flexDirection: 'column' }, children: ["Some text explaining how the token purchase will work and when it will be done.", jsx(Flex, { sx: { mt: '10px', mb: '5px' }, children: "Breakdown" }), jsxs(Flex, { sx: { width: '100%', justifyContent: 'space-between' }, children: [jsxs(Flex, { children: ["Capital in ", bond.underlyingEarnToken?.symbol] }), jsxs(Flex, { children: ["$", formatNumberSI(inputValueToDisplayUSD)] })] }), jsxs(Flex, { sx: { width: '100%', justifyContent: 'space-between' }, children: [jsxs(Flex, { children: ["APR over ", timePeriods.days, " days"] }), jsxs(Flex, { children: ["$", formatNumberSI(aprUSD)] })] })] }), width: "230px", placement: "bottomRight", transformTip: "translate(10%, 0%)", children: jsx(Flex, { className: "row-container premium-icon", children: jsx(Svg, { icon: "questionCircle", width: "12px" }) }) }), "$", formatNumberSI(youGetUSD + aprUSD)] })) : (jsxs(Text, { sx: styles.infoData, children: [isNaN(youGet) ? 0 : formatNumberSI(youGet, 0), " ", bond?.earnToken.symbol, " = $", isNaN(youGetUSD) ? '0' : youGetUSD.toFixed(2)] }))] })] }), jsx(TokenSelectorPanel, { typedValue: inputValue, setTypedValue: setInputValue, selectedToken: bond?.lpToken, handleValueBtn: () => setInputValue(new BigNumber(principalTokenBalance ?? '0')?.toString()), handleCurrencySelect: () => null, bondChainId: bond?.chainId, enableZap: false, bondPrincipalToken: bond?.lpToken, tokenBalance: principalTokenBalance ?? undefined, selectedTokenPrice: parseFloat(bond?.principalTokenPrice ?? '0'), inputDisabled: false, isConnected: !!address }), jsx(Flex, { sx: {
124
+ return (jsxs(Modal, { onDismiss: handleClose, sx: { width: '740px' }, children: [jsx(ModalHeader, { onDismiss: handleClose, hideDivider: true }), jsx(Flex, { sx: styles.buyContainer, children: jsxs(Flex, { sx: styles.cardContainer, children: [jsx(Flex, { sx: { width: '100%', justifyContent: 'space-between' }, children: jsxs(Flex, { children: [jsxs(Flex, { children: [jsx(Flex, { className: "title-container bondicon", children: jsx(TokenImage, { symbol: bond.underlyingEarnToken?.symbol || bond.earnToken.symbol, size: 50, chain: bond.chainId }) }), jsxs(Flex, { className: "title-container bondname", children: [bond.underlyingEarnToken?.symbol || bond.earnToken.symbol, jsx(ListTag, { text: bond?.tags?.[0] })] })] }), !bond.yieldBond && (jsxs(Flex, { sx: { flexDirection: 'column', ml: '15px' }, children: [jsxs(Flex, { className: "price-container price", children: ["$", bond.tgePrice] }), jsxs(Flex, { sx: { fontSize: '24px', fontWeight: 700 }, children: ["$", bond.initPrice] })] }))] }) }), jsx(ProjectDescription, { description: bond.shortDescription, isProjectView: true }), jsx(BondCardsPreTGE, { bond: bond }), jsxs(Flex, { sx: { ...styles.infoRowsContainer, mt: '10px' }, children: [jsxs(Flex, { sx: styles.infoRow, children: [jsx(Text, { sx: styles.infoTitle, children: "You Spend:" }), jsxs(Text, { sx: styles.infoData, children: [isNaN(parseFloat(inputValueToDisplay)) ? 0 : inputValueToDisplay, " ", bond?.lpToken.symbol, " = $", isNaN(inputValueToDisplayUSD) ? '0' : inputValueToDisplayUSD.toFixed(2)] })] }), bond.yieldBond ? (jsxs(Flex, { sx: styles.infoRow, children: [jsxs(Flex, { sx: { ...styles.infoTitle, alignItems: 'center' }, children: ["Yield Bonus:", jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Flex, { children: "This is the duration over which the bonus yield will be distributed while your initial tokens remain staked." }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, 0%)", children: jsx(Flex, { className: "row-container premium-icon", children: jsx(Svg, { icon: "questionCircle", width: "12px" }) }) })] }), jsxs(Text, { sx: { ...styles.infoData, color: 'success' }, children: ["$", isNaN(aprUSD) ? '0' : aprUSD.toFixed(2)] })] })) : (jsxs(Flex, { sx: styles.infoRow, children: [jsxs(Flex, { sx: { ...styles.infoTitle, alignItems: 'center' }, children: ["Bonus:", jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Flex, { children: TooltipText.Premium }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, 0%)", children: jsx(Flex, { className: "row-container premium-icon", children: jsx(Svg, { icon: "questionCircle", width: "12px" }) }) })] }), jsxs(Text, { sx: { ...styles.infoData, color: 'success' }, children: ["$", isNaN(bonusUSD) ? '0' : bonusUSD.toFixed(2)] })] })), jsxs(Flex, { sx: styles.infoRow, children: [jsxs(Text, { sx: styles.infoTitle, children: ["You Get (over", ' ', getTimePeriods((bond?.yieldData?.rewardDistributionEnd ?? 0) - parseInt(bond.startVestingTimestamp ?? '0'), true).days, ' ', "days):"] }), bond.yieldBond ? (jsxs(Flex, { sx: { ...styles.infoData, alignItems: 'center', gap: '5px' }, children: [jsx(TooltipBubble, { className: "tooltip-bubble", body: jsxs(Flex, { sx: { width: '100%', flexDirection: 'column' }, children: ["This is the expected total return by the end of the pool duration, including the initial tokens.", jsx(Flex, { sx: { mt: '10px', mb: '5px' }, children: "Breakdown" }), jsxs(Flex, { sx: { width: '100%', justifyContent: 'space-between' }, children: [jsx(Flex, { children: "Initial capital:" }), jsxs(Flex, { children: ["$", formatNumberSI(inputValueToDisplayUSD), " in ", bond.underlyingEarnToken?.symbol] })] }), jsxs(Flex, { sx: { width: '100%', justifyContent: 'space-between' }, children: [jsx(Flex, { children: "Yield Bonus:" }), jsxs(Flex, { children: ["$", formatNumberSI(aprUSD), " in ", bond.underlyingEarnToken?.symbol] })] })] }), width: "230px", placement: "bottomRight", transformTip: "translate(10%, 0%)", children: jsx(Flex, { className: "row-container premium-icon", children: jsx(Svg, { icon: "questionCircle", width: "12px" }) }) }), "$", formatNumberSI(youGetUSD + aprUSD)] })) : (jsxs(Text, { sx: styles.infoData, children: [isNaN(youGet) ? 0 : formatNumberSI(youGet, 0), " ", bond?.earnToken.symbol, " = $", isNaN(youGetUSD) ? '0' : youGetUSD.toFixed(2)] }))] })] }), jsx(TokenSelectorPanel, { typedValue: inputValue, setTypedValue: setInputValue, selectedToken: bond?.lpToken, handleValueBtn: () => setInputValue(new BigNumber(principalTokenBalance ?? '0')?.toString()), handleCurrencySelect: () => null, bondChainId: bond?.chainId, enableZap: false, bondPrincipalToken: bond?.lpToken, tokenBalance: principalTokenBalance ?? undefined, selectedTokenPrice: parseFloat(bond?.principalTokenPrice ?? '0'), inputDisabled: false, isConnected: !!address }), jsx(Flex, { sx: {
127
125
  width: '100%',
128
126
  background: '#DE62F366',
129
127
  justifyContent: 'center',
@@ -132,7 +130,13 @@ const BuyComponentPreTGE = ({ bondAddress, bondChain, onDismiss, handlePurchased
132
130
  p: '4px 10px',
133
131
  fontSize: '12px',
134
132
  fontWeight: 400,
135
- }, children: bond.warningCard ? (bond.warningCard) : bond.yieldBond ? (jsxs(Fragment, { children: ["This is a Yield Bond - We will need some way to explain how this bond work.", jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Text, { sx: { textTransform: 'none' }, children: "We can add a tooltip if necessary" }), width: "315px", placement: "topRight", transformTip: "translate(9%, -10%)", children: jsx(Flex, { sx: { ml: '4px', minWidth: '14px' }, children: jsx(Svg, { icon: "questionCircle", width: 12 }) }) })] })) : (jsxs(Fragment, { children: ["This is a Pre-TGE Bond - Tokens will be tradeable upon listing.", jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Text, { sx: { textTransform: 'none' }, children: "Pre-TGE Bonds are a pre-sale for tokens before their Token Generation Event (TGE), when tokens are officially launched to the public." }), width: "315px", placement: "topRight", transformTip: "translate(9%, -10%)", children: jsx(Flex, { sx: { ml: '4px', minWidth: '14px' }, children: jsx(Svg, { icon: "questionCircle", width: 12 }) }) })] })) }), jsx(Flex, { sx: {
133
+ }, children: bond.warningCard ? (bond.warningCard) : bond.yieldBond ? (jsxs("span", { children: ["This is a Yield Bond. Your initial capital unlocks in", ' ', getTimePeriods((bond?.yieldData?.rewardDistributionEnd ?? 0) - parseInt(bond.startVestingTimestamp ?? '0'), true).days, ' ', "days, followed by an APR bonus distributed over the pool duration.", jsx("span", { sx: {
134
+ ml: '3px',
135
+ color: '#837fd7',
136
+ fontWeight: 700,
137
+ cursor: 'pointer',
138
+ ':hover': { textDecoration: 'underline' },
139
+ }, children: 'Learn More >' })] })) : (jsxs(Fragment, { children: ["This is a Pre-TGE Bond - Tokens will be tradeable upon listing.", jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Text, { sx: { textTransform: 'none' }, children: "Pre-TGE Bonds are a pre-sale for tokens before their Token Generation Event (TGE), when tokens are officially launched to the public." }), width: "315px", placement: "topRight", transformTip: "translate(9%, -10%)", children: jsx(Flex, { sx: { ml: '4px', minWidth: '14px' }, children: jsx(Svg, { icon: "questionCircle", width: 12 }) }) })] })) }), jsx(Flex, { sx: {
136
140
  width: '100%',
137
141
  mt: '10px',
138
142
  justifyContent: 'space-between',
@@ -1 +1 @@
1
- {"version":3,"file":"BuyComponentPreTGE.js","sources":["../../../src/views/BuyBond/BuyComponentPreTGE.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport BigNumber from 'bignumber.js'\nimport { styles } from './styles'\nimport { getBalanceNumber } from '../../utils/getBalanceNumber'\nimport TokenSelectorPanel from '../../components/TokenSelectorPanel'\nimport useCurrencyBalance from '../../state/balance/useCurrencyBalance'\nimport { useWriteContract } from 'wagmi'\nimport TokenImage from '../../components/uikit-sdk/TokenImage'\nimport ModalHeader from '../../components/uikit-sdk/Modal/ModalHeader'\nimport ProjectDescription from '../BuyBond/components/ProjectDescription'\nimport { TooltipText } from '../../config/constants/tooltips'\nimport { formatNumberSI } from '../../utils/formatNumber'\nimport BondCardsPreTGE from './components/BondCards/BondCardsPreTGE'\nimport useBondsData from '../../state/bonds/useBondsData'\nimport useModal from '../../hooks/useModal'\nimport TransactionModal from '../TransactionModal/TransactionModal'\nimport { useApproval } from '../../state/allowance/useAllowance'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport launchBondsABI_V2_2_0 from '../../config/abi/launchBond_v2_4_1.json'\nimport ConnectButton from '../../components/ConnectButton'\nimport track from '../../utils/track'\nimport useEVMAccount from '../../hooks/accounts/useEVMAccount'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport Modal from '../../components/uikit-sdk/Modal'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport Text from '../../components/uikit-sdk/Text'\nimport ListTag from '../../components/uikit-sdk/Tag/ListTag'\nimport TooltipBubble from '../../components/uikit-sdk/TooltipBubble'\nimport Svg from '../../components/uikit-sdk/Svg'\nimport Button from '../../components/uikit-sdk/Button/Button'\nimport { getTimePeriods } from '../../utils/getTimePeriods'\n\nconst BuyComponentPreTGE = ({\n bondAddress,\n bondChain,\n onDismiss,\n handlePurchasedBond,\n}: {\n bondAddress: string\n bondChain: number\n onDismiss?: () => void\n handlePurchasedBond: (hash: string, inputAmount: string) => void\n}) => {\n const SDKConfig = useSDKConfig()\n const { data: preTGEBonds } = useBondsData()\n const bond = preTGEBonds?.find(\n (bond) =>\n bond.contractAddress?.[bond.chainId]?.toLowerCase() === bondAddress.toLowerCase() && bond.chainId === bondChain,\n )!\n\n // Hooks\n const { address } = useEVMAccount()\n const { data: principalTokenBalance } = useCurrencyBalance(bond.lpToken, address as string, bond.chainId)\n // Local state\n const [inputValue, setInputValue] = useState<string>('')\n\n // Display Values\n const raiseGoal = getBalanceNumber(new BigNumber(bond?.totalRaise ?? '0'), 18)\n const totalPrincipalBilled = getBalanceNumber(new BigNumber(bond?.totalPrincipalBilled ?? '0'), 18)\n const percentageSold = (totalPrincipalBilled * 100) / raiseGoal\n const tgePrice = bond?.tgePrice ?? 0\n const initPrice = bond?.initPrice ?? 0\n\n const inputValueToDisplay = parseFloat(inputValue).toFixed(2)\n const inputValueToDisplayUSD = parseFloat(inputValueToDisplay) * parseFloat(bond?.principalTokenPrice ?? '0')\n const youGet = parseFloat(inputValue) / initPrice\n const youGetUSD = youGet * tgePrice\n const bonusUSD = youGetUSD - inputValueToDisplayUSD\n\n const apr = bond.yieldData?.apr ?? 0\n const aprUSD = inputValueToDisplayUSD * (apr / 100)\n const timeLeftForFullyVested = (bond.yieldData?.rewardDistributionEnd ?? 0) - Date.now() / 1000\n const timePeriods = getTimePeriods(timeLeftForFullyVested, true)\n\n const handleClose = () => {\n if (typeof window !== 'undefined') {\n window.history.pushState({}, '', `/bonds`)\n }\n onDismiss?.()\n }\n\n const [loading, setLoading] = useState<boolean>(false)\n const [buyTxHash, setHash] = useState<string>('')\n // Approve logic\n const [approvalState, approveCallback] = useApproval(\n inputValue,\n bond.lpToken,\n bond?.contractAddress[bond.chainId] as `0x${string}`,\n address as string,\n bond.chainId as ChainId,\n )\n const handleApprove = async () => {\n return approveCallback().then(() => {\n track({\n event: 'approveBondClick',\n chain: bondChain,\n data: {\n cat: bond?.billType,\n bond: bond?.earnToken.symbol,\n },\n })\n })\n }\n const { writeContractAsync } = useWriteContract()\n const onBuyBill = async () => {\n setLoading(true)\n const amount = new BigNumber(inputValue)\n .times(new BigNumber(10).pow(bond?.lpToken?.decimals?.[bond?.chainId] ?? 18))\n .toString()\n const maxPrice = new BigNumber(bond?.trueBondPrices?.[0].trueBondPrice ?? '0').times(102).div(100).toFixed(0)\n const args = [amount, maxPrice, address]\n\n await writeContractAsync({\n address: bond?.contractAddress?.[bond.chainId] as `0x${string}`,\n abi: launchBondsABI_V2_2_0,\n functionName: 'deposit',\n args: args,\n chain: bond.chainId as any,\n account: address,\n })\n .then((hash) => {\n setHash(hash)\n handlePurchasedBond(hash, inputValue)\n })\n .finally(() => {\n setLoading(false)\n })\n }\n\n const [openTxModal] = useModal(\n <TransactionModal\n txChain={bondChain}\n approvalState={approvalState}\n approveCallback={handleApprove}\n loadingTx={loading}\n txCallback={onBuyBill}\n bondData={bond!}\n inputToken={bond.lpToken}\n inputValue={inputValue}\n depositAmount={inputValue}\n buyTxHash={buyTxHash}\n rateChanged={false}\n />,\n false,\n true,\n 'transactionModal',\n )\n\n const { data: currencyBalanceString } = useCurrencyBalance(bond.lpToken, address as string, bond.chainId)\n const exceedsBalance = parseFloat(inputValue) > parseFloat(currencyBalanceString ?? '0')\n const saleStartTime = (bond?.initTime?.[bond.chainId] ?? 0) * 1000\n const saleFinishTime = (bond?.finishTime ?? 0) * 1000\n const now = new Date().getTime()\n const saleHasStarted = now > saleStartTime\n const saleHasFinished = now > saleFinishTime || bond.finalized\n\n const error = SDKConfig.blockSales\n ? 'Complete KYC to Buy'\n : !saleHasStarted\n ? `Sale hasn't started`\n : saleHasFinished\n ? 'Sale Finished'\n : exceedsBalance\n ? 'Exceeds balance'\n : percentageSold > 99.9\n ? 'Soldout'\n : !inputValue || parseFloat(inputValue) === 0\n ? 'Insert amount'\n : !bond\n ? 'no bond'\n : null\n\n return (\n <Modal onDismiss={handleClose} sx={{ width: '740px' }}>\n <ModalHeader onDismiss={handleClose} hideDivider />\n <Flex sx={styles.buyContainer}>\n <Flex sx={styles.cardContainer}>\n <Flex sx={{ width: '100%', justifyContent: 'space-between' }}>\n <Flex>\n <Flex>\n <Flex className=\"title-container bondicon\">\n <TokenImage\n symbol={bond.underlyingEarnToken?.symbol || bond.earnToken.symbol}\n size={50}\n chain={bond.chainId}\n />\n </Flex>\n <Flex className=\"title-container bondname\">\n {bond.underlyingEarnToken?.symbol || bond.earnToken.symbol}\n <ListTag text={bond?.tags?.[0]} />\n </Flex>\n </Flex>\n {!bond.yieldBond && (\n <Flex sx={{ flexDirection: 'column', ml: '15px' }}>\n <Flex className=\"price-container price\">${bond.tgePrice}</Flex>\n <Flex sx={{ fontSize: '24px', fontWeight: 700 }}>${bond.initPrice}</Flex>\n </Flex>\n )}\n </Flex>\n </Flex>\n <ProjectDescription description={bond.shortDescription} isProjectView />\n <BondCardsPreTGE bond={bond} />\n <Flex sx={{ ...styles.infoRowsContainer, mt: '10px' }}>\n <Flex sx={styles.infoRow}>\n <Text sx={styles.infoTitle}>You Spend:</Text>\n <Text sx={styles.infoData}>\n {isNaN(parseFloat(inputValueToDisplay)) ? 0 : inputValueToDisplay} {bond?.lpToken.symbol} = $\n {isNaN(inputValueToDisplayUSD) ? '0' : inputValueToDisplayUSD.toFixed(2)}\n </Text>\n </Flex>\n {bond.yieldBond ? (\n <Flex sx={styles.infoRow}>\n <Flex sx={{ ...styles.infoTitle, alignItems: 'center' }}>\n APR:\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={<Flex>Some Text explaining how the APR and staking work</Flex>}\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, 0%)\"\n >\n <Flex className=\"row-container premium-icon\">\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </Flex>\n </TooltipBubble>\n </Flex>\n <Text sx={{ ...styles.infoData, color: 'success' }}>${isNaN(aprUSD) ? '0' : aprUSD.toFixed(2)}</Text>\n </Flex>\n ) : (\n <Flex sx={styles.infoRow}>\n <Flex sx={{ ...styles.infoTitle, alignItems: 'center' }}>\n Bonus:\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={<Flex>{TooltipText.Premium}</Flex>}\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, 0%)\"\n >\n <Flex className=\"row-container premium-icon\">\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </Flex>\n </TooltipBubble>\n </Flex>\n <Text sx={{ ...styles.infoData, color: 'success' }}>\n ${isNaN(bonusUSD) ? '0' : bonusUSD.toFixed(2)}\n </Text>\n </Flex>\n )}\n\n <Flex sx={styles.infoRow}>\n <Text sx={styles.infoTitle}>You Get:</Text>\n {bond.yieldBond ? (\n <Flex sx={{ ...styles.infoData, alignItems: 'center', gap: '5px' }}>\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Flex sx={{ width: '100%', flexDirection: 'column' }}>\n Some text explaining how the token purchase will work and when it will be done.\n <Flex sx={{ mt: '10px', mb: '5px' }}>Breakdown</Flex>\n <Flex sx={{ width: '100%', justifyContent: 'space-between' }}>\n <Flex>Capital in {bond.underlyingEarnToken?.symbol}</Flex>\n <Flex>${formatNumberSI(inputValueToDisplayUSD)}</Flex>\n </Flex>\n <Flex sx={{ width: '100%', justifyContent: 'space-between' }}>\n <Flex>APR over {timePeriods.days} days</Flex>\n <Flex>${formatNumberSI(aprUSD)}</Flex>\n </Flex>\n </Flex>\n }\n width=\"230px\"\n placement=\"bottomRight\"\n transformTip=\"translate(10%, 0%)\"\n >\n <Flex className=\"row-container premium-icon\">\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </Flex>\n </TooltipBubble>\n ${formatNumberSI(youGetUSD + aprUSD)}\n </Flex>\n ) : (\n <Text sx={styles.infoData}>\n {isNaN(youGet) ? 0 : formatNumberSI(youGet, 0)} {bond?.earnToken.symbol} = $\n {isNaN(youGetUSD) ? '0' : youGetUSD.toFixed(2)}\n </Text>\n )}\n </Flex>\n </Flex>\n <TokenSelectorPanel\n typedValue={inputValue}\n setTypedValue={setInputValue}\n selectedToken={bond?.lpToken}\n handleValueBtn={() => setInputValue(new BigNumber(principalTokenBalance ?? '0')?.toString())}\n handleCurrencySelect={() => null}\n bondChainId={bond?.chainId}\n enableZap={false}\n bondPrincipalToken={bond?.lpToken}\n tokenBalance={principalTokenBalance ?? undefined}\n selectedTokenPrice={parseFloat(bond?.principalTokenPrice ?? '0')}\n inputDisabled={false}\n isConnected={!!address}\n />\n <Flex\n sx={{\n width: '100%',\n background: '#DE62F366',\n justifyContent: 'center',\n mt: '10px',\n borderRadius: 'normal',\n p: '4px 10px',\n fontSize: '12px',\n fontWeight: 400,\n }}\n >\n {bond.warningCard ? (\n bond.warningCard\n ) : bond.yieldBond ? (\n <>\n This is a Yield Bond - We will need some way to explain how this bond work.\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={<Text sx={{ textTransform: 'none' }}>We can add a tooltip if necessary</Text>}\n width=\"315px\"\n placement=\"topRight\"\n transformTip=\"translate(9%, -10%)\"\n >\n <Flex sx={{ ml: '4px', minWidth: '14px' }}>\n <Svg icon=\"questionCircle\" width={12} />\n </Flex>\n </TooltipBubble>\n </>\n ) : (\n <>\n This is a Pre-TGE Bond - Tokens will be tradeable upon listing.\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Text sx={{ textTransform: 'none' }}>\n Pre-TGE Bonds are a pre-sale for tokens before their Token Generation Event (TGE), when tokens are\n officially launched to the public.\n </Text>\n }\n width=\"315px\"\n placement=\"topRight\"\n transformTip=\"translate(9%, -10%)\"\n >\n <Flex sx={{ ml: '4px', minWidth: '14px' }}>\n <Svg icon=\"questionCircle\" width={12} />\n </Flex>\n </TooltipBubble>\n </>\n )}\n </Flex>\n <Flex\n sx={{\n width: '100%',\n mt: '10px',\n justifyContent: 'space-between',\n height: ['unset', 'unset', 'unset', '40px'],\n flexDirection: ['column-reverse', 'column-reverse', 'column-reverse', 'row'],\n }}\n >\n {!address ? (\n <ConnectButton />\n ) : (\n <>\n <Flex sx={{ width: ['100%', '100%', '100%', '45%'], justifyContent: 'center' }}>\n <Button\n variant=\"secondary\"\n onClick={() =>\n window.open(\n `/swap?outputCurrency=${bond?.lpToken?.address[bond?.chainId]}&outputChain=${bond?.chainId}`,\n '_blank',\n )\n }\n fullWidth\n >\n Get {bond?.lpToken?.symbol}\n </Button>\n </Flex>\n {error ? (\n <Button disabled fullWidth sx={{ ml: ['0', '0', '0', '10px'] }}>\n {error}\n </Button>\n ) : (\n <Button\n disabled={loading}\n load={loading}\n onClick={openTxModal}\n fullWidth\n sx={{ ml: ['0', '0', '0', '10px'] }}\n >\n Buy\n </Button>\n )}\n </>\n )}\n </Flex>\n </Flex>\n </Flex>\n </Modal>\n )\n}\n\nexport default BuyComponentPreTGE\n"],"names":["launchBondsABI_V2_2_0","_jsx","_jsxs","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"BuyComponentPreTGE.js","sources":["../../../src/views/BuyBond/BuyComponentPreTGE.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport BigNumber from 'bignumber.js'\nimport { styles } from './styles'\nimport { getBalanceNumber } from '../../utils/getBalanceNumber'\nimport TokenSelectorPanel from '../../components/TokenSelectorPanel'\nimport useCurrencyBalance from '../../state/balance/useCurrencyBalance'\nimport { useWriteContract } from 'wagmi'\nimport TokenImage from '../../components/uikit-sdk/TokenImage'\nimport ModalHeader from '../../components/uikit-sdk/Modal/ModalHeader'\nimport ProjectDescription from '../BuyBond/components/ProjectDescription'\nimport { TooltipText } from '../../config/constants/tooltips'\nimport { formatNumberSI } from '../../utils/formatNumber'\nimport BondCardsPreTGE from './components/BondCards/BondCardsPreTGE'\nimport useBondsData from '../../state/bonds/useBondsData'\nimport useModal from '../../hooks/useModal'\nimport TransactionModal from '../TransactionModal/TransactionModal'\nimport { useApproval } from '../../state/allowance/useAllowance'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport launchBondsABI_V2_2_0 from '../../config/abi/launchBond_v2_4_1.json'\nimport ConnectButton from '../../components/ConnectButton'\nimport track from '../../utils/track'\nimport useEVMAccount from '../../hooks/accounts/useEVMAccount'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport Modal from '../../components/uikit-sdk/Modal'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport Text from '../../components/uikit-sdk/Text'\nimport ListTag from '../../components/uikit-sdk/Tag/ListTag'\nimport TooltipBubble from '../../components/uikit-sdk/TooltipBubble'\nimport Svg from '../../components/uikit-sdk/Svg'\nimport Button from '../../components/uikit-sdk/Button/Button'\nimport { getTimePeriods } from '../../utils/getTimePeriods'\n\nconst BuyComponentPreTGE = ({\n bondAddress,\n bondChain,\n onDismiss,\n handlePurchasedBond,\n}: {\n bondAddress: string\n bondChain: number\n onDismiss?: () => void\n handlePurchasedBond: (hash: string, inputAmount: string) => void\n}) => {\n const SDKConfig = useSDKConfig()\n const { data: preTGEBonds } = useBondsData()\n const bond = preTGEBonds?.find(\n (bond) =>\n bond.contractAddress?.[bond.chainId]?.toLowerCase() === bondAddress.toLowerCase() && bond.chainId === bondChain,\n )!\n // Hooks\n const { address } = useEVMAccount()\n const { data: principalTokenBalance } = useCurrencyBalance(bond.lpToken, address as string, bond.chainId)\n // Local state\n const [inputValue, setInputValue] = useState<string>('')\n\n // Display Values\n const raiseGoal = getBalanceNumber(new BigNumber(bond?.totalRaise ?? '0'), 18)\n const totalPrincipalBilled = getBalanceNumber(new BigNumber(bond?.totalPrincipalBilled ?? '0'), 18)\n const percentageSold = (totalPrincipalBilled * 100) / raiseGoal\n const tgePrice = bond?.tgePrice ?? 0\n const initPrice = bond?.initPrice ?? 0\n\n const inputValueToDisplay = parseFloat(inputValue).toFixed(2)\n const inputValueToDisplayUSD = parseFloat(inputValueToDisplay) * parseFloat(bond?.principalTokenPrice ?? '0')\n const youGet = parseFloat(inputValue) / initPrice\n const youGetUSD = youGet * tgePrice\n const bonusUSD = youGetUSD - inputValueToDisplayUSD\n\n const apr = bond.yieldData?.apr ?? 0\n const aprUSD = inputValueToDisplayUSD * (apr / 100)\n\n const handleClose = () => {\n if (typeof window !== 'undefined') {\n window.history.pushState({}, '', `/bonds`)\n }\n onDismiss?.()\n }\n\n const [loading, setLoading] = useState<boolean>(false)\n const [buyTxHash, setHash] = useState<string>('')\n // Approve logic\n const [approvalState, approveCallback] = useApproval(\n inputValue,\n bond.lpToken,\n bond?.contractAddress[bond.chainId] as `0x${string}`,\n address as string,\n bond.chainId as ChainId,\n )\n const handleApprove = async () => {\n return approveCallback().then(() => {\n track({\n event: 'approveBondClick',\n chain: bondChain,\n data: {\n cat: bond?.billType,\n bond: bond?.earnToken.symbol,\n },\n })\n })\n }\n const { writeContractAsync } = useWriteContract()\n const onBuyBill = async () => {\n setLoading(true)\n const amount = new BigNumber(inputValue)\n .times(new BigNumber(10).pow(bond?.lpToken?.decimals?.[bond?.chainId] ?? 18))\n .toString()\n const maxPrice = new BigNumber(bond?.trueBondPrices?.[0].trueBondPrice ?? '0').times(102).div(100).toFixed(0)\n const args = [amount, maxPrice, address]\n\n await writeContractAsync({\n address: bond?.contractAddress?.[bond.chainId] as `0x${string}`,\n abi: launchBondsABI_V2_2_0,\n functionName: 'deposit',\n args: args,\n chain: bond.chainId as any,\n account: address,\n })\n .then((hash) => {\n setHash(hash)\n handlePurchasedBond(hash, inputValue)\n })\n .finally(() => {\n setLoading(false)\n })\n }\n\n const [openTxModal] = useModal(\n <TransactionModal\n txChain={bondChain}\n approvalState={approvalState}\n approveCallback={handleApprove}\n loadingTx={loading}\n txCallback={onBuyBill}\n bondData={bond!}\n inputToken={bond.lpToken}\n inputValue={inputValue}\n depositAmount={inputValue}\n buyTxHash={buyTxHash}\n rateChanged={false}\n />,\n false,\n true,\n 'transactionModal',\n )\n\n const { data: currencyBalanceString } = useCurrencyBalance(bond.lpToken, address as string, bond.chainId)\n const exceedsBalance = parseFloat(inputValue) > parseFloat(currencyBalanceString ?? '0')\n const saleStartTime = (bond?.initTime?.[bond.chainId] ?? 0) * 1000\n const saleFinishTime = (bond?.finishTime ?? 0) * 1000\n const now = new Date().getTime()\n const saleHasStarted = now > saleStartTime\n const saleHasFinished = now > saleFinishTime || bond.finalized\n\n const error = SDKConfig.blockSales\n ? 'Complete KYC to Buy'\n : !saleHasStarted\n ? `Sale hasn't started`\n : saleHasFinished\n ? 'Sale Finished'\n : exceedsBalance\n ? 'Exceeds balance'\n : percentageSold > 99.9\n ? 'Soldout'\n : !inputValue || parseFloat(inputValue) === 0\n ? 'Insert amount'\n : !bond\n ? 'no bond'\n : null\n\n return (\n <Modal onDismiss={handleClose} sx={{ width: '740px' }}>\n <ModalHeader onDismiss={handleClose} hideDivider />\n <Flex sx={styles.buyContainer}>\n <Flex sx={styles.cardContainer}>\n <Flex sx={{ width: '100%', justifyContent: 'space-between' }}>\n <Flex>\n <Flex>\n <Flex className=\"title-container bondicon\">\n <TokenImage\n symbol={bond.underlyingEarnToken?.symbol || bond.earnToken.symbol}\n size={50}\n chain={bond.chainId}\n />\n </Flex>\n <Flex className=\"title-container bondname\">\n {bond.underlyingEarnToken?.symbol || bond.earnToken.symbol}\n <ListTag text={bond?.tags?.[0]} />\n </Flex>\n </Flex>\n {!bond.yieldBond && (\n <Flex sx={{ flexDirection: 'column', ml: '15px' }}>\n <Flex className=\"price-container price\">${bond.tgePrice}</Flex>\n <Flex sx={{ fontSize: '24px', fontWeight: 700 }}>${bond.initPrice}</Flex>\n </Flex>\n )}\n </Flex>\n </Flex>\n <ProjectDescription description={bond.shortDescription} isProjectView />\n <BondCardsPreTGE bond={bond} />\n <Flex sx={{ ...styles.infoRowsContainer, mt: '10px' }}>\n <Flex sx={styles.infoRow}>\n <Text sx={styles.infoTitle}>You Spend:</Text>\n <Text sx={styles.infoData}>\n {isNaN(parseFloat(inputValueToDisplay)) ? 0 : inputValueToDisplay} {bond?.lpToken.symbol} = $\n {isNaN(inputValueToDisplayUSD) ? '0' : inputValueToDisplayUSD.toFixed(2)}\n </Text>\n </Flex>\n {bond.yieldBond ? (\n <Flex sx={styles.infoRow}>\n <Flex sx={{ ...styles.infoTitle, alignItems: 'center' }}>\n Yield Bonus:\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Flex>\n This is the duration over which the bonus yield will be distributed while your initial tokens\n remain staked.\n </Flex>\n }\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, 0%)\"\n >\n <Flex className=\"row-container premium-icon\">\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </Flex>\n </TooltipBubble>\n </Flex>\n <Text sx={{ ...styles.infoData, color: 'success' }}>${isNaN(aprUSD) ? '0' : aprUSD.toFixed(2)}</Text>\n </Flex>\n ) : (\n <Flex sx={styles.infoRow}>\n <Flex sx={{ ...styles.infoTitle, alignItems: 'center' }}>\n Bonus:\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={<Flex>{TooltipText.Premium}</Flex>}\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, 0%)\"\n >\n <Flex className=\"row-container premium-icon\">\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </Flex>\n </TooltipBubble>\n </Flex>\n <Text sx={{ ...styles.infoData, color: 'success' }}>\n ${isNaN(bonusUSD) ? '0' : bonusUSD.toFixed(2)}\n </Text>\n </Flex>\n )}\n\n <Flex sx={styles.infoRow}>\n <Text sx={styles.infoTitle}>\n You Get (over{' '}\n {\n getTimePeriods(\n (bond?.yieldData?.rewardDistributionEnd ?? 0) - parseInt(bond.startVestingTimestamp ?? '0'),\n true,\n ).days\n }{' '}\n days):\n </Text>\n {bond.yieldBond ? (\n <Flex sx={{ ...styles.infoData, alignItems: 'center', gap: '5px' }}>\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Flex sx={{ width: '100%', flexDirection: 'column' }}>\n This is the expected total return by the end of the pool duration, including the initial tokens.\n <Flex sx={{ mt: '10px', mb: '5px' }}>Breakdown</Flex>\n <Flex sx={{ width: '100%', justifyContent: 'space-between' }}>\n <Flex>Initial capital:</Flex>\n <Flex>\n ${formatNumberSI(inputValueToDisplayUSD)} in {bond.underlyingEarnToken?.symbol}\n </Flex>\n </Flex>\n <Flex sx={{ width: '100%', justifyContent: 'space-between' }}>\n <Flex>Yield Bonus:</Flex>\n <Flex>\n ${formatNumberSI(aprUSD)} in {bond.underlyingEarnToken?.symbol}\n </Flex>\n </Flex>\n </Flex>\n }\n width=\"230px\"\n placement=\"bottomRight\"\n transformTip=\"translate(10%, 0%)\"\n >\n <Flex className=\"row-container premium-icon\">\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </Flex>\n </TooltipBubble>\n ${formatNumberSI(youGetUSD + aprUSD)}\n </Flex>\n ) : (\n <Text sx={styles.infoData}>\n {isNaN(youGet) ? 0 : formatNumberSI(youGet, 0)} {bond?.earnToken.symbol} = $\n {isNaN(youGetUSD) ? '0' : youGetUSD.toFixed(2)}\n </Text>\n )}\n </Flex>\n </Flex>\n <TokenSelectorPanel\n typedValue={inputValue}\n setTypedValue={setInputValue}\n selectedToken={bond?.lpToken}\n handleValueBtn={() => setInputValue(new BigNumber(principalTokenBalance ?? '0')?.toString())}\n handleCurrencySelect={() => null}\n bondChainId={bond?.chainId}\n enableZap={false}\n bondPrincipalToken={bond?.lpToken}\n tokenBalance={principalTokenBalance ?? undefined}\n selectedTokenPrice={parseFloat(bond?.principalTokenPrice ?? '0')}\n inputDisabled={false}\n isConnected={!!address}\n />\n <Flex\n sx={{\n width: '100%',\n background: '#DE62F366',\n justifyContent: 'center',\n mt: '10px',\n borderRadius: 'normal',\n p: '4px 10px',\n fontSize: '12px',\n fontWeight: 400,\n }}\n >\n {bond.warningCard ? (\n bond.warningCard\n ) : bond.yieldBond ? (\n <span>\n This is a Yield Bond. Your initial capital unlocks in{' '}\n {\n getTimePeriods(\n (bond?.yieldData?.rewardDistributionEnd ?? 0) - parseInt(bond.startVestingTimestamp ?? '0'),\n true,\n ).days\n }{' '}\n days, followed by an APR bonus distributed over the pool duration.\n <span\n sx={{\n ml: '3px',\n color: '#837fd7',\n fontWeight: 700,\n cursor: 'pointer',\n ':hover': { textDecoration: 'underline' },\n }}\n >\n {'Learn More >'}\n </span>\n </span>\n ) : (\n <>\n This is a Pre-TGE Bond - Tokens will be tradeable upon listing.\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Text sx={{ textTransform: 'none' }}>\n Pre-TGE Bonds are a pre-sale for tokens before their Token Generation Event (TGE), when tokens are\n officially launched to the public.\n </Text>\n }\n width=\"315px\"\n placement=\"topRight\"\n transformTip=\"translate(9%, -10%)\"\n >\n <Flex sx={{ ml: '4px', minWidth: '14px' }}>\n <Svg icon=\"questionCircle\" width={12} />\n </Flex>\n </TooltipBubble>\n </>\n )}\n </Flex>\n <Flex\n sx={{\n width: '100%',\n mt: '10px',\n justifyContent: 'space-between',\n height: ['unset', 'unset', 'unset', '40px'],\n flexDirection: ['column-reverse', 'column-reverse', 'column-reverse', 'row'],\n }}\n >\n {!address ? (\n <ConnectButton />\n ) : (\n <>\n <Flex sx={{ width: ['100%', '100%', '100%', '45%'], justifyContent: 'center' }}>\n <Button\n variant=\"secondary\"\n onClick={() =>\n window.open(\n `/swap?outputCurrency=${bond?.lpToken?.address[bond?.chainId]}&outputChain=${bond?.chainId}`,\n '_blank',\n )\n }\n fullWidth\n >\n Get {bond?.lpToken?.symbol}\n </Button>\n </Flex>\n {error ? (\n <Button disabled fullWidth sx={{ ml: ['0', '0', '0', '10px'] }}>\n {error}\n </Button>\n ) : (\n <Button\n disabled={loading}\n load={loading}\n onClick={openTxModal}\n fullWidth\n sx={{ ml: ['0', '0', '0', '10px'] }}\n >\n Buy\n </Button>\n )}\n </>\n )}\n </Flex>\n </Flex>\n </Flex>\n </Modal>\n )\n}\n\nexport default BuyComponentPreTGE\n"],"names":["launchBondsABI_V2_2_0","_jsx","_jsxs","_Fragment"],"mappings":"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"}
@@ -10,6 +10,7 @@ import ModalHeader from '../../components/uikit-sdk/Modal/ModalHeader.js';
10
10
  import { getFirstNonZeroDigits } from '../../utils/roundNumber.js';
11
11
  import { getTimePeriods } from '../../utils/getTimePeriods.js';
12
12
  import useActiveView from '../../state/activeView/index.js';
13
+ import { formatNumberSI } from '../../utils/formatNumber.js';
13
14
 
14
15
  const ParticipationSuccessful = ({ onDismiss, bond, inputAmount, }) => {
15
16
  const { handleToogle } = useActiveView();
@@ -21,6 +22,7 @@ const ParticipationSuccessful = ({ onDismiss, bond, inputAmount, }) => {
21
22
  const initialRelease = bond?.initialRelease ?? 0;
22
23
  const userAllocation = depositAmountUsd / initPrice;
23
24
  const userAllocationUsd = userAllocation * initPrice;
25
+ const userYield = userAllocationUsd * ((bond.yieldData?.apr ?? 0) / 100);
24
26
  const finishTime = (bond?.redeemTime ?? 0) * 1000;
25
27
  const finishDate = new Date(finishTime);
26
28
  const month = finishDate.toLocaleDateString('en-US', { month: 'short' });
@@ -48,13 +50,16 @@ const ParticipationSuccessful = ({ onDismiss, bond, inputAmount, }) => {
48
50
  fontSize: '14px',
49
51
  fontWeight: 400,
50
52
  flexDirection: 'column',
51
- }, children: [jsxs(Flex, { sx: { width: '100%', justifyContent: 'space-between' }, children: [jsx(Flex, { sx: { fontSize: '12px', fontWeight: 400 }, children: "Your Deposit" }), jsxs(Flex, { sx: { fontSize: '12px', fontWeight: 400 }, children: [getFirstNonZeroDigits(inputValue, 2), " ", bond?.lpToken.symbol, jsxs(Flex, { sx: { color: 'textDisabledButton', ml: '5px' }, children: ["($", depositAmountUsd.toFixed(2), ")"] })] })] }), jsxs(Flex, { sx: { width: '100%', justifyContent: 'space-between', mt: '5px' }, children: [jsx(Flex, { sx: { fontSize: '12px', fontWeight: 400 }, children: "Your Allocation" }), bond.yieldBond ? (jsx(Flex, { sx: {
53
+ }, children: [jsxs(Flex, { sx: { width: '100%', justifyContent: 'space-between' }, children: [jsx(Flex, { sx: { fontSize: '12px', fontWeight: 400 }, children: "Your Deposit" }), jsxs(Flex, { sx: { fontSize: '12px', fontWeight: 400 }, children: [formatNumberSI(inputValue), " ", bond?.lpToken.symbol, jsxs(Flex, { sx: { color: 'textDisabledButton', ml: '5px' }, children: ["($", formatNumberSI(depositAmountUsd), ")"] })] })] }), jsxs(Flex, { sx: { width: '100%', justifyContent: 'space-between', mt: '5px' }, children: [jsx(Flex, { sx: { fontSize: '12px', fontWeight: 400 }, children: bond.yieldBond ? 'Initial Release' : 'Your Allocation' }), bond.yieldBond ? (jsx(Flex, { sx: {
52
54
  fontSize: '12px',
53
55
  fontWeight: 500,
54
- }, children: jsxs(Flex, { sx: { color: 'textDisabledButton', ml: '5px' }, children: ["$", userAllocationUsd.toFixed(2), " + ", bond.yieldData?.apr?.toFixed(), "% APR"] }) })) : (jsxs(Flex, { sx: {
56
+ }, children: jsxs(Flex, { sx: { color: 'textDisabledButton', ml: '5px' }, children: ["$", formatNumberSI(userAllocationUsd), " in ", bond?.underlyingEarnToken?.symbol] }) })) : (jsxs(Flex, { sx: {
55
57
  fontSize: '12px',
56
58
  fontWeight: 500,
57
- }, children: [getFirstNonZeroDigits(userAllocation, 2), " ", bond?.underlyingEarnToken?.symbol || bond?.earnToken.symbol, jsxs(Flex, { sx: { color: 'textDisabledButton', ml: '5px' }, children: ["($", userAllocationUsd.toFixed(2), ")"] })] }))] }), !bond.yieldBond && (jsxs(Flex, { sx: { width: '100%', justifyContent: 'space-between', mt: '5px' }, children: [jsxs(Flex, { sx: { fontSize: '12px', fontWeight: 400 }, children: ["Initial Release", jsx(TooltipBubble, { placement: 'bottomLeft', transformTip: 'translate(-6%, 0%)', width: "250px", body: jsx(Flex, { sx: { justifyContent: 'center' }, children: `You'll be able to claim an initial release of ${initialRelease * 100}%
59
+ }, children: [formatNumberSI(userAllocation), " ", bond?.underlyingEarnToken?.symbol || bond?.earnToken.symbol, jsxs(Flex, { sx: { color: 'textDisabledButton', ml: '5px' }, children: ["($", userAllocationUsd.toFixed(2), ")"] })] }))] }), bond.yieldBond && (jsxs(Flex, { sx: { width: '100%', justifyContent: 'space-between', mt: '5px' }, children: [jsx(Flex, { sx: { fontSize: '12px', fontWeight: 400 }, children: "Yield Bonus" }), jsx(Flex, { sx: {
60
+ fontSize: '12px',
61
+ fontWeight: 500,
62
+ }, children: jsxs(Flex, { sx: { color: 'textDisabledButton', ml: '5px' }, children: ["$", formatNumberSI(userYield), " in ", bond?.underlyingEarnToken?.symbol, " (over", ' ', getTimePeriods((bond?.yieldData?.rewardDistributionEnd ?? 0) - parseInt(bond.startVestingTimestamp ?? '0'), true).days, ' ', "days)"] }) })] })), !bond.yieldBond && (jsxs(Flex, { sx: { width: '100%', justifyContent: 'space-between', mt: '5px' }, children: [jsxs(Flex, { sx: { fontSize: '12px', fontWeight: 400 }, children: ["Initial Release", jsx(TooltipBubble, { placement: 'bottomLeft', transformTip: 'translate(-6%, 0%)', width: "250px", body: jsx(Flex, { sx: { justifyContent: 'center' }, children: `You'll be able to claim an initial release of ${initialRelease * 100}%
58
63
  of your allocation on ${formattedFinishDate}` }), children: jsx(Flex, { sx: { alignItems: 'center', height: '100%', ml: '5px' }, children: jsx(Svg, { icon: "questionCircle", width: "12px" }) }) })] }), jsxs(Flex, { sx: {
59
64
  fontSize: '12px',
60
65
  fontWeight: 500,
@@ -1 +1 @@
1
- {"version":3,"file":"ParticipationSuccessful.js","sources":["../../../src/views/BuyBond/ParticipationSuccessful.tsx"],"sourcesContent":["import React from 'react'\nimport useTokenPrices from '../../state/tokenPrices/useTokenPrices'\nimport Button from '../../components/uikit-sdk/Button/Button'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport Modal from '../../components/uikit-sdk/Modal'\nimport Svg from '../../components/uikit-sdk/Svg'\nimport TooltipBubble from '../../components/uikit-sdk/TooltipBubble'\nimport Text from '../../components/uikit-sdk/Text'\nimport ModalHeader from '../../components/uikit-sdk/Modal/ModalHeader'\nimport { getFirstNonZeroDigits } from '../../utils/roundNumber'\nimport { getTimePeriods } from '../../utils/getTimePeriods'\nimport { BondsData } from '../../types/bonds'\nimport useActiveView from '../../state/activeView'\n\nconst ParticipationSuccessful = ({\n onDismiss,\n bond,\n inputAmount,\n}: {\n onDismiss?: () => void\n bond: BondsData\n inputAmount?: string\n}) => {\n const { handleToogle } = useActiveView()\n const { data: tokenPrices } = useTokenPrices()\n const principalTokenPrice = tokenPrices?.[bond?.chainId]?.find(\n (token) => token?.tokenAddress?.toLowerCase() === bond?.lpToken?.address[bond?.chainId]?.toLowerCase(),\n )?.price\n const inputValue = parseFloat(inputAmount ?? '0')\n const depositAmountUsd = inputValue * (principalTokenPrice ?? 0)\n const initPrice = bond?.initPrice ?? 0\n const initialRelease = bond?.initialRelease ?? 0\n\n const userAllocation = depositAmountUsd / initPrice\n const userAllocationUsd = userAllocation * initPrice\n\n const finishTime = (bond?.redeemTime ?? 0) * 1000\n const finishDate = new Date(finishTime)\n const month = finishDate.toLocaleDateString('en-US', { month: 'short' })\n const getDayWithSuffix = (day: number) => {\n if (day > 3 && day < 21) return `${day}th`\n switch (day % 10) {\n case 1:\n return `${day}st`\n case 2:\n return `${day}nd`\n case 3:\n return `${day}rd`\n default:\n return `${day}th`\n }\n }\n const day = finishDate.getDate()\n const formattedFinishDate = `${month} ${getDayWithSuffix(day)} at 13 UTC.` //TODO fix this\n const initialReleaseAmount = userAllocation * initialRelease\n const initialReleaseUsd = initialReleaseAmount * (bond?.initPrice ?? 0)\n\n const vestedAmount = userAllocation * (1 - initialRelease)\n const vestedAmountUsd = vestedAmount * (bond?.initPrice ?? 0)\n\n return (\n <Modal>\n <ModalHeader hideDivider />\n <Flex sx={{ flexDirection: 'column' }}>\n <Flex sx={{ width: '100%', justifyContent: 'center', mb: '15px' }}>\n <Text sx={{ fontSize: '22px', fontWeight: 700 }}>Participation Successful</Text>\n </Flex>\n <Flex\n sx={{\n fontSize: '14px',\n fontWeight: 400,\n flexDirection: 'column',\n }}\n >\n <Flex sx={{ width: '100%', justifyContent: 'space-between' }}>\n <Flex sx={{ fontSize: '12px', fontWeight: 400 }}>Your Deposit</Flex>\n <Flex sx={{ fontSize: '12px', fontWeight: 400 }}>\n {getFirstNonZeroDigits(inputValue, 2)} {bond?.lpToken.symbol}\n <Flex sx={{ color: 'textDisabledButton', ml: '5px' }}>(${depositAmountUsd.toFixed(2)})</Flex>\n </Flex>\n </Flex>\n <Flex sx={{ width: '100%', justifyContent: 'space-between', mt: '5px' }}>\n <Flex sx={{ fontSize: '12px', fontWeight: 400 }}>Your Allocation</Flex>\n {bond.yieldBond ? (\n <Flex\n sx={{\n fontSize: '12px',\n fontWeight: 500,\n }}\n >\n <Flex sx={{ color: 'textDisabledButton', ml: '5px' }}>\n ${userAllocationUsd.toFixed(2)} + {bond.yieldData?.apr?.toFixed()}% APR\n </Flex>\n </Flex>\n ) : (\n <Flex\n sx={{\n fontSize: '12px',\n fontWeight: 500,\n }}\n >\n {getFirstNonZeroDigits(userAllocation, 2)} {bond?.underlyingEarnToken?.symbol || bond?.earnToken.symbol}\n <Flex sx={{ color: 'textDisabledButton', ml: '5px' }}>(${userAllocationUsd.toFixed(2)})</Flex>\n </Flex>\n )}\n </Flex>\n {!bond.yieldBond && (\n <Flex sx={{ width: '100%', justifyContent: 'space-between', mt: '5px' }}>\n <Flex sx={{ fontSize: '12px', fontWeight: 400 }}>\n Initial Release\n <TooltipBubble\n placement={'bottomLeft'}\n transformTip={'translate(-6%, 0%)'}\n width=\"250px\"\n body={\n <Flex sx={{ justifyContent: 'center' }}>\n {`You'll be able to claim an initial release of ${initialRelease * 100}% \n of your allocation on ${formattedFinishDate}`}\n </Flex>\n }\n >\n <Flex sx={{ alignItems: 'center', height: '100%', ml: '5px' }}>\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </Flex>\n </TooltipBubble>\n </Flex>\n <Flex\n sx={{\n fontSize: '12px',\n fontWeight: 500,\n }}\n >\n {getFirstNonZeroDigits(initialReleaseAmount, 2)}{' '}\n {bond?.underlyingEarnToken?.symbol || bond?.earnToken.symbol}\n <Flex\n sx={{\n color: 'textDisabledButton',\n ml: '5px',\n }}\n >\n (${initialReleaseUsd.toFixed(2)})\n </Flex>\n </Flex>\n </Flex>\n )}\n {initialRelease !== 1 && (\n <Flex sx={{ width: '100%', justifyContent: 'space-between', mt: '5px' }}>\n <Flex sx={{ fontSize: '12px', fontWeight: 400 }}>\n Vested Tokens\n <TooltipBubble\n placement={'bottomLeft'}\n transformTip={'translate(-6%, 0%)'}\n width=\"250px\"\n body={\n <Flex sx={{ justifyContent: 'center' }}>\n {`Remaining tokens will vest linearly over ${getTimePeriods(bond.vestingTerm).months} months after claiming the initial release.`}\n </Flex>\n }\n >\n <Flex sx={{ alignItems: 'center', height: '100%', ml: '5px' }}>\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </Flex>\n </TooltipBubble>\n </Flex>\n <Flex\n sx={{\n fontSize: '12px',\n fontWeight: 500,\n }}\n >\n {getFirstNonZeroDigits(vestedAmount, 2)} {bond?.earnToken.symbol}\n <Flex sx={{ color: 'textDisabledButton', ml: '5px' }}>(${vestedAmountUsd.toFixed(2)})</Flex>\n </Flex>\n </Flex>\n )}\n <Flex sx={{ mt: '10px' }}>{`Your purchased bond can be found under the \"Your Bonds\" tab.`}</Flex>\n </Flex>\n <Button\n onClick={() => {\n handleToogle('Your Bonds')\n onDismiss?.()\n }}\n sx={{ fontSize: '14px', width: '100%', mt: '15px', height: '35px' }}\n >\n see your Bonds\n </Button>\n </Flex>\n </Modal>\n )\n}\n\nexport default ParticipationSuccessful\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"ParticipationSuccessful.js","sources":["../../../src/views/BuyBond/ParticipationSuccessful.tsx"],"sourcesContent":["import React from 'react'\nimport useTokenPrices from '../../state/tokenPrices/useTokenPrices'\nimport Button from '../../components/uikit-sdk/Button/Button'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport Modal from '../../components/uikit-sdk/Modal'\nimport Svg from '../../components/uikit-sdk/Svg'\nimport TooltipBubble from '../../components/uikit-sdk/TooltipBubble'\nimport Text from '../../components/uikit-sdk/Text'\nimport ModalHeader from '../../components/uikit-sdk/Modal/ModalHeader'\nimport { getFirstNonZeroDigits } from '../../utils/roundNumber'\nimport { getTimePeriods } from '../../utils/getTimePeriods'\nimport { BondsData } from '../../types/bonds'\nimport useActiveView from '../../state/activeView'\nimport { formatNumberSI } from '../../utils/formatNumber'\n\nconst ParticipationSuccessful = ({\n onDismiss,\n bond,\n inputAmount,\n}: {\n onDismiss?: () => void\n bond: BondsData\n inputAmount?: string\n}) => {\n const { handleToogle } = useActiveView()\n const { data: tokenPrices } = useTokenPrices()\n const principalTokenPrice = tokenPrices?.[bond?.chainId]?.find(\n (token) => token?.tokenAddress?.toLowerCase() === bond?.lpToken?.address[bond?.chainId]?.toLowerCase(),\n )?.price\n const inputValue = parseFloat(inputAmount ?? '0')\n const depositAmountUsd = inputValue * (principalTokenPrice ?? 0)\n const initPrice = bond?.initPrice ?? 0\n const initialRelease = bond?.initialRelease ?? 0\n\n const userAllocation = depositAmountUsd / initPrice\n const userAllocationUsd = userAllocation * initPrice\n const userYield = userAllocationUsd * ((bond.yieldData?.apr ?? 0) / 100)\n\n const finishTime = (bond?.redeemTime ?? 0) * 1000\n const finishDate = new Date(finishTime)\n const month = finishDate.toLocaleDateString('en-US', { month: 'short' })\n const getDayWithSuffix = (day: number) => {\n if (day > 3 && day < 21) return `${day}th`\n switch (day % 10) {\n case 1:\n return `${day}st`\n case 2:\n return `${day}nd`\n case 3:\n return `${day}rd`\n default:\n return `${day}th`\n }\n }\n const day = finishDate.getDate()\n const formattedFinishDate = `${month} ${getDayWithSuffix(day)} at 13 UTC.` //TODO fix this\n const initialReleaseAmount = userAllocation * initialRelease\n const initialReleaseUsd = initialReleaseAmount * (bond?.initPrice ?? 0)\n\n const vestedAmount = userAllocation * (1 - initialRelease)\n const vestedAmountUsd = vestedAmount * (bond?.initPrice ?? 0)\n\n return (\n <Modal>\n <ModalHeader hideDivider />\n <Flex sx={{ flexDirection: 'column' }}>\n <Flex sx={{ width: '100%', justifyContent: 'center', mb: '15px' }}>\n <Text sx={{ fontSize: '22px', fontWeight: 700 }}>Participation Successful</Text>\n </Flex>\n <Flex\n sx={{\n fontSize: '14px',\n fontWeight: 400,\n flexDirection: 'column',\n }}\n >\n <Flex sx={{ width: '100%', justifyContent: 'space-between' }}>\n <Flex sx={{ fontSize: '12px', fontWeight: 400 }}>Your Deposit</Flex>\n <Flex sx={{ fontSize: '12px', fontWeight: 400 }}>\n {formatNumberSI(inputValue)} {bond?.lpToken.symbol}\n <Flex sx={{ color: 'textDisabledButton', ml: '5px' }}>(${formatNumberSI(depositAmountUsd)})</Flex>\n </Flex>\n </Flex>\n <Flex sx={{ width: '100%', justifyContent: 'space-between', mt: '5px' }}>\n <Flex sx={{ fontSize: '12px', fontWeight: 400 }}>\n {bond.yieldBond ? 'Initial Release' : 'Your Allocation'}\n </Flex>\n {bond.yieldBond ? (\n <Flex\n sx={{\n fontSize: '12px',\n fontWeight: 500,\n }}\n >\n <Flex sx={{ color: 'textDisabledButton', ml: '5px' }}>\n ${formatNumberSI(userAllocationUsd)} in {bond?.underlyingEarnToken?.symbol}\n </Flex>\n </Flex>\n ) : (\n <Flex\n sx={{\n fontSize: '12px',\n fontWeight: 500,\n }}\n >\n {formatNumberSI(userAllocation)} {bond?.underlyingEarnToken?.symbol || bond?.earnToken.symbol}\n <Flex sx={{ color: 'textDisabledButton', ml: '5px' }}>(${userAllocationUsd.toFixed(2)})</Flex>\n </Flex>\n )}\n </Flex>\n {bond.yieldBond && (\n <Flex sx={{ width: '100%', justifyContent: 'space-between', mt: '5px' }}>\n <Flex sx={{ fontSize: '12px', fontWeight: 400 }}>Yield Bonus</Flex>\n <Flex\n sx={{\n fontSize: '12px',\n fontWeight: 500,\n }}\n >\n <Flex sx={{ color: 'textDisabledButton', ml: '5px' }}>\n ${formatNumberSI(userYield)} in {bond?.underlyingEarnToken?.symbol} (over{' '}\n {\n getTimePeriods(\n (bond?.yieldData?.rewardDistributionEnd ?? 0) - parseInt(bond.startVestingTimestamp ?? '0'),\n true,\n ).days\n }{' '}\n days)\n </Flex>\n </Flex>\n </Flex>\n )}\n {!bond.yieldBond && (\n <Flex sx={{ width: '100%', justifyContent: 'space-between', mt: '5px' }}>\n <Flex sx={{ fontSize: '12px', fontWeight: 400 }}>\n Initial Release\n <TooltipBubble\n placement={'bottomLeft'}\n transformTip={'translate(-6%, 0%)'}\n width=\"250px\"\n body={\n <Flex sx={{ justifyContent: 'center' }}>\n {`You'll be able to claim an initial release of ${initialRelease * 100}% \n of your allocation on ${formattedFinishDate}`}\n </Flex>\n }\n >\n <Flex sx={{ alignItems: 'center', height: '100%', ml: '5px' }}>\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </Flex>\n </TooltipBubble>\n </Flex>\n <Flex\n sx={{\n fontSize: '12px',\n fontWeight: 500,\n }}\n >\n {getFirstNonZeroDigits(initialReleaseAmount, 2)}{' '}\n {bond?.underlyingEarnToken?.symbol || bond?.earnToken.symbol}\n <Flex\n sx={{\n color: 'textDisabledButton',\n ml: '5px',\n }}\n >\n (${initialReleaseUsd.toFixed(2)})\n </Flex>\n </Flex>\n </Flex>\n )}\n {initialRelease !== 1 && (\n <Flex sx={{ width: '100%', justifyContent: 'space-between', mt: '5px' }}>\n <Flex sx={{ fontSize: '12px', fontWeight: 400 }}>\n Vested Tokens\n <TooltipBubble\n placement={'bottomLeft'}\n transformTip={'translate(-6%, 0%)'}\n width=\"250px\"\n body={\n <Flex sx={{ justifyContent: 'center' }}>\n {`Remaining tokens will vest linearly over ${getTimePeriods(bond.vestingTerm).months} months after claiming the initial release.`}\n </Flex>\n }\n >\n <Flex sx={{ alignItems: 'center', height: '100%', ml: '5px' }}>\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </Flex>\n </TooltipBubble>\n </Flex>\n <Flex\n sx={{\n fontSize: '12px',\n fontWeight: 500,\n }}\n >\n {getFirstNonZeroDigits(vestedAmount, 2)} {bond?.earnToken.symbol}\n <Flex sx={{ color: 'textDisabledButton', ml: '5px' }}>(${vestedAmountUsd.toFixed(2)})</Flex>\n </Flex>\n </Flex>\n )}\n <Flex sx={{ mt: '10px' }}>{`Your purchased bond can be found under the \"Your Bonds\" tab.`}</Flex>\n </Flex>\n <Button\n onClick={() => {\n handleToogle('Your Bonds')\n onDismiss?.()\n }}\n sx={{ fontSize: '14px', width: '100%', mt: '15px', height: '35px' }}\n >\n see your Bonds\n </Button>\n </Flex>\n </Modal>\n )\n}\n\nexport default ParticipationSuccessful\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -25,7 +25,7 @@ const BondCardsPreTGE = ({ bond }) => {
25
25
  borderBottomLeftRadius: 'normal',
26
26
  },
27
27
  }, children: [jsxs(Flex, { className: "bond-card-title", sx: { alignItems: 'center' }, children: [bond.yieldBond ? 'APR' : 'Bonus', jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Flex, { children: bond.yieldBond
28
- ? 'Some Text explaining how the APR works'
28
+ ? 'This is the bonus yield to be distributed over the pool duration. The APR increases over time until the sale ends, following a Dutch Auction format.'
29
29
  : 'This is the percentage of additional tokens you’ll get compared to buying at market price.' }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx("div", { className: "bond-card-tooltip", children: jsx(Svg, { icon: "questionCircle", width: "12px" }) }) })] }), bond.yieldBond ? (jsxs(Flex, { sx: { color: 'success' }, children: [bond.yieldData?.apr.toFixed(), "%"] })) : (jsxs(Flex, { sx: { color: 'success', alignItems: 'center' }, children: [bonusToUse?.toFixed(0), "%", bond.airdropTooltip && (jsx(TooltipBubble, { body: jsx(Fragment, { children: bond.airdropTooltip }), width: "230px", placement: isMobile ? 'bottomRight' : 'bottomLeft', transformTip: isMobile ? 'translate(9%, 6%)' : 'translate(-3%, 6%)', children: jsx(Flex, { sx: { width: '20px', height: '20px', alignItems: 'center', ml: '5px' }, children: jsx("img", { src: "https://res.cloudinary.com/dswmrqgwy/image/upload/v1750345773/airdrop_qvh4ow.png", alt: "airdrop-img", style: { width: '20px', height: '20px' } }) }) }))] }))] }), bond.yieldBond ? (jsxs("div", { className: "bond-card-block", sx: {
30
30
  fontSize: '13px !important',
31
31
  borderRadius: ['0px', '0px', '0px', 'normal'],
@@ -38,7 +38,7 @@ const BondCardsPreTGE = ({ bond }) => {
38
38
  borderBottomRightRadius: 'normal',
39
39
  borderBottomLeftRadius: 'normal',
40
40
  },
41
- }, onClick: () => setShowLocalTime((prev) => !prev), children: [jsxs(Flex, { className: "bond-card-title", children: ["Sale Ends", jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Flex, { children: "This is the date and time when the sale finishes. Tokens will be distributed 2 hours after the sale finishes. CONFIRM" }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx("div", { className: "bond-card-tooltip", children: jsx(Svg, { icon: "questionCircle", width: "12px" }) }) })] }), formatUTCDate(new Date((bond.finishTime ?? 0) * 1000), false, showLocalTime), ' ', showLocalTime ? 'Local' : 'UTC'] })) : (jsxs("div", { className: "bond-card-block", sx: {
41
+ }, onClick: () => setShowLocalTime((prev) => !prev), children: [jsxs(Flex, { className: "bond-card-title", children: ["Sale Ends", jsx(TooltipBubble, { className: "tooltip-bubble", body: jsxs(Flex, { children: ["This is the date and time when the sale ends. Initial tokens will be distributed", ' ', getTimePeriods((bond?.yieldData?.rewardDistributionEnd ?? 0) - parseInt(bond.startVestingTimestamp ?? '0'), true).days, ' ', "days afterwards, followed by the yield rewards over the pool duration."] }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx("div", { className: "bond-card-tooltip", children: jsx(Svg, { icon: "questionCircle", width: "12px" }) }) })] }), formatUTCDate(new Date((bond.finishTime ?? 0) * 1000), false, showLocalTime), ' ', showLocalTime ? 'Local' : 'UTC'] })) : (jsxs("div", { className: "bond-card-block", sx: {
42
42
  fontSize: '13px !important',
43
43
  borderRadius: ['0px', '0px', '0px', 'normal'],
44
44
  '&:first-of-type': {
@@ -59,7 +59,7 @@ const BondCardsPreTGE = ({ bond }) => {
59
59
  borderBottomRightRadius: 'normal',
60
60
  borderBottomLeftRadius: 'normal',
61
61
  },
62
- }, children: bond.yieldBond ? (jsxs(Fragment, { children: [jsxs("div", { className: "bond-card-title", children: ["Pool Duration", jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Flex, { children: "This is the duration of the yield that will be distributed through the bond." }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx("div", { className: "bond-card-tooltip", children: jsx(Svg, { icon: "questionCircle", width: "12px" }) }) })] }), jsxs(Flex, { sx: { color: 'text' }, children: [getTimePeriods((bond?.yieldData?.rewardDistributionEnd ?? 0) - parseInt(bond.startVestingTimestamp ?? '0'), true).days, ' ', "Days"] })] })) : (jsxs(Fragment, { children: [jsxs("div", { className: "bond-card-title", children: ["Initial Release", jsx(TooltipBubble, { className: "tooltip-bubble", body: jsxs(Flex, { children: ["This is the percentage of tokens you can claim immediately on ", bond.tgeString, ". The rest follows the vesting schedule."] }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx("div", { className: "bond-card-tooltip", children: jsx(Svg, { icon: "questionCircle", width: "12px" }) }) })] }), initialRelease, "%"] })) }), !bond.yieldBond && (jsxs("div", { className: "bond-card-block", sx: {
62
+ }, children: bond.yieldBond ? (jsxs(Fragment, { children: [jsxs("div", { className: "bond-card-title", children: ["Pool Duration", jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Flex, { children: "This is the duration over which the bonus yield will be distributed while your initial tokens remain staked." }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx("div", { className: "bond-card-tooltip", children: jsx(Svg, { icon: "questionCircle", width: "12px" }) }) })] }), jsxs(Flex, { sx: { color: 'text' }, children: [getTimePeriods((bond?.yieldData?.rewardDistributionEnd ?? 0) - parseInt(bond.startVestingTimestamp ?? '0'), true).days, ' ', "Days"] })] })) : (jsxs(Fragment, { children: [jsxs("div", { className: "bond-card-title", children: ["Initial Release", jsx(TooltipBubble, { className: "tooltip-bubble", body: jsxs(Flex, { children: ["This is the percentage of tokens you can claim immediately on ", bond.tgeString, ". The rest follows the vesting schedule."] }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx("div", { className: "bond-card-tooltip", children: jsx(Svg, { icon: "questionCircle", width: "12px" }) }) })] }), initialRelease, "%"] })) }), !bond.yieldBond && (jsxs("div", { className: "bond-card-block", sx: {
63
63
  borderRadius: ['0px', '0px', '0px', 'normal'],
64
64
  '&:first-of-type': {
65
65
  borderTopRightRadius: 'normal',
@@ -1 +1 @@
1
- {"version":3,"file":"BondCardsPreTGE.js","sources":["../../../../../src/views/BuyBond/components/BondCards/BondCardsPreTGE.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { getTimePeriods } from '../../../../utils/getTimePeriods'\nimport { BondsData } from '../../../../types/bonds'\nimport { useIsMobile } from '../../../../hooks/useIsMobile'\nimport { formatUTCDate } from '../../../../utils/dates/formatDate'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport TooltipBubble from '../../../../components/uikit-sdk/TooltipBubble'\nimport Svg from '../../../../components/uikit-sdk/Svg'\n\nconst BondCardsPreTGE = ({ bond }: { bond: BondsData }) => {\n const isMobile = useIsMobile()\n const [showLocalTime, setShowLocalTime] = useState(false)\n const bonus = bond?.trueBondPrices?.[0].bonus ?? 0\n const airdropBonus = bond.airdropBonus ?? 0\n const bonusToUse = bonus + airdropBonus\n const initialRelease = (bond?.initialRelease ?? 0) * 100\n return (\n <div className=\"bonds-cards\">\n <div\n className=\"bond-card-block\"\n sx={{\n borderRadius: ['0px', '0px', '0px', 'normal'],\n '&:first-of-type': {\n borderTopRightRadius: 'normal',\n borderTopLeftRadius: 'normal',\n },\n\n '&:last-of-type': {\n borderBottomRightRadius: 'normal',\n borderBottomLeftRadius: 'normal',\n },\n }}\n >\n <Flex className=\"bond-card-title\" sx={{ alignItems: 'center' }}>\n {bond.yieldBond ? 'APR' : 'Bonus'}\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Flex>\n {bond.yieldBond\n ? 'Some Text explaining how the APR works'\n : 'This is the percentage of additional tokens you’ll get compared to buying at market price.'}\n </Flex>\n }\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, -5%)\"\n >\n <div className=\"bond-card-tooltip\">\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </div>\n </TooltipBubble>\n </Flex>\n {bond.yieldBond ? (\n <Flex sx={{ color: 'success' }}>{bond.yieldData?.apr.toFixed()}%</Flex>\n ) : (\n <Flex sx={{ color: 'success', alignItems: 'center' }}>\n {bonusToUse?.toFixed(0)}%\n {bond.airdropTooltip && (\n <TooltipBubble\n body={<>{bond.airdropTooltip}</>}\n width=\"230px\"\n placement={isMobile ? 'bottomRight' : 'bottomLeft'}\n transformTip={isMobile ? 'translate(9%, 6%)' : 'translate(-3%, 6%)'}\n >\n <Flex sx={{ width: '20px', height: '20px', alignItems: 'center', ml: '5px' }}>\n <img\n src=\"https://res.cloudinary.com/dswmrqgwy/image/upload/v1750345773/airdrop_qvh4ow.png\"\n alt=\"airdrop-img\"\n style={{ width: '20px', height: '20px' }}\n />\n </Flex>\n </TooltipBubble>\n )}\n </Flex>\n )}\n </div>\n {bond.yieldBond ? (\n <div\n className=\"bond-card-block\"\n sx={{\n fontSize: '13px !important',\n borderRadius: ['0px', '0px', '0px', 'normal'],\n cursor: 'pointer',\n '&:first-of-type': {\n borderTopRightRadius: 'normal',\n borderTopLeftRadius: 'normal',\n },\n\n '&:last-of-type': {\n borderBottomRightRadius: 'normal',\n borderBottomLeftRadius: 'normal',\n },\n }}\n onClick={() => setShowLocalTime((prev) => !prev)}\n >\n <Flex className=\"bond-card-title\">\n Sale Ends\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Flex>\n This is the date and time when the sale finishes. Tokens will be distributed 2 hours after the sale\n finishes. CONFIRM\n </Flex>\n }\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, -5%)\"\n >\n <div className=\"bond-card-tooltip\">\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </div>\n </TooltipBubble>\n </Flex>\n {formatUTCDate(new Date((bond.finishTime ?? 0) * 1000), false, showLocalTime)}{' '}\n {showLocalTime ? 'Local' : 'UTC'}\n </div>\n ) : (\n <div\n className=\"bond-card-block\"\n sx={{\n fontSize: '13px !important',\n borderRadius: ['0px', '0px', '0px', 'normal'],\n '&:first-of-type': {\n borderTopRightRadius: 'normal',\n borderTopLeftRadius: 'normal',\n },\n\n '&:last-of-type': {\n borderBottomRightRadius: 'normal',\n borderBottomLeftRadius: 'normal',\n },\n }}\n >\n <Flex className=\"bond-card-title\">\n TGE\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={<Flex>This is the date and time when this token will become officially live on-chain.</Flex>}\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, -5%)\"\n >\n <div className=\"bond-card-tooltip\">\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </div>\n </TooltipBubble>\n </Flex>\n {bond.tgeString}\n </div>\n )}\n <div\n className=\"bond-card-block\"\n sx={{\n borderRadius: ['0px', '0px', '0px', 'normal'],\n '&:first-of-type': {\n borderTopRightRadius: 'normal',\n borderTopLeftRadius: 'normal',\n },\n\n '&:last-of-type': {\n borderBottomRightRadius: 'normal',\n borderBottomLeftRadius: 'normal',\n },\n }}\n >\n {bond.yieldBond ? (\n <>\n <div className=\"bond-card-title\">\n Pool Duration\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={<Flex>This is the duration of the yield that will be distributed through the bond.</Flex>}\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, -5%)\"\n >\n <div className=\"bond-card-tooltip\">\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </div>\n </TooltipBubble>\n </div>\n <Flex sx={{ color: 'text' }}>\n {\n getTimePeriods(\n (bond?.yieldData?.rewardDistributionEnd ?? 0) - parseInt(bond.startVestingTimestamp ?? '0'),\n true,\n ).days\n }{' '}\n Days\n </Flex>\n </>\n ) : (\n <>\n <div className=\"bond-card-title\">\n Initial Release\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Flex>\n This is the percentage of tokens you can claim immediately on {bond.tgeString}. The rest follows the\n vesting schedule.\n </Flex>\n }\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, -5%)\"\n >\n <div className=\"bond-card-tooltip\">\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </div>\n </TooltipBubble>\n </div>\n {initialRelease}%\n </>\n )}\n </div>\n {!bond.yieldBond && (\n <div\n className=\"bond-card-block\"\n sx={{\n borderRadius: ['0px', '0px', '0px', 'normal'],\n '&:first-of-type': {\n borderTopRightRadius: 'normal',\n borderTopLeftRadius: 'normal',\n },\n\n '&:last-of-type': {\n borderBottomRightRadius: 'normal',\n borderBottomLeftRadius: 'normal',\n },\n }}\n >\n <div className=\"bond-card-title\">\n Vesting Terms\n {initialRelease !== 100 && (\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Flex>\n Remaining tokens will vest linearly over {getTimePeriods(bond?.vestingTerm).months} months after{' '}\n {formatUTCDate(new Date(parseInt(bond.startVestingTimestamp ?? '0') * 1000))} UTC.\n </Flex>\n }\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, -5%)\"\n >\n <div className=\"bond-card-tooltip\">\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </div>\n </TooltipBubble>\n )}\n </div>\n {initialRelease === 100 ? `0 D` : `${getTimePeriods(bond?.vestingTerm)?.months} Mo`}\n </div>\n )}\n </div>\n )\n}\n\nexport default BondCardsPreTGE\n"],"names":["_jsxs","_jsx","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"BondCardsPreTGE.js","sources":["../../../../../src/views/BuyBond/components/BondCards/BondCardsPreTGE.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { getTimePeriods } from '../../../../utils/getTimePeriods'\nimport { BondsData } from '../../../../types/bonds'\nimport { useIsMobile } from '../../../../hooks/useIsMobile'\nimport { formatUTCDate } from '../../../../utils/dates/formatDate'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport TooltipBubble from '../../../../components/uikit-sdk/TooltipBubble'\nimport Svg from '../../../../components/uikit-sdk/Svg'\n\nconst BondCardsPreTGE = ({ bond }: { bond: BondsData }) => {\n const isMobile = useIsMobile()\n const [showLocalTime, setShowLocalTime] = useState(false)\n const bonus = bond?.trueBondPrices?.[0].bonus ?? 0\n const airdropBonus = bond.airdropBonus ?? 0\n const bonusToUse = bonus + airdropBonus\n const initialRelease = (bond?.initialRelease ?? 0) * 100\n return (\n <div className=\"bonds-cards\">\n <div\n className=\"bond-card-block\"\n sx={{\n borderRadius: ['0px', '0px', '0px', 'normal'],\n '&:first-of-type': {\n borderTopRightRadius: 'normal',\n borderTopLeftRadius: 'normal',\n },\n\n '&:last-of-type': {\n borderBottomRightRadius: 'normal',\n borderBottomLeftRadius: 'normal',\n },\n }}\n >\n <Flex className=\"bond-card-title\" sx={{ alignItems: 'center' }}>\n {bond.yieldBond ? 'APR' : 'Bonus'}\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Flex>\n {bond.yieldBond\n ? 'This is the bonus yield to be distributed over the pool duration. The APR increases over time until the sale ends, following a Dutch Auction format.'\n : 'This is the percentage of additional tokens you’ll get compared to buying at market price.'}\n </Flex>\n }\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, -5%)\"\n >\n <div className=\"bond-card-tooltip\">\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </div>\n </TooltipBubble>\n </Flex>\n {bond.yieldBond ? (\n <Flex sx={{ color: 'success' }}>{bond.yieldData?.apr.toFixed()}%</Flex>\n ) : (\n <Flex sx={{ color: 'success', alignItems: 'center' }}>\n {bonusToUse?.toFixed(0)}%\n {bond.airdropTooltip && (\n <TooltipBubble\n body={<>{bond.airdropTooltip}</>}\n width=\"230px\"\n placement={isMobile ? 'bottomRight' : 'bottomLeft'}\n transformTip={isMobile ? 'translate(9%, 6%)' : 'translate(-3%, 6%)'}\n >\n <Flex sx={{ width: '20px', height: '20px', alignItems: 'center', ml: '5px' }}>\n <img\n src=\"https://res.cloudinary.com/dswmrqgwy/image/upload/v1750345773/airdrop_qvh4ow.png\"\n alt=\"airdrop-img\"\n style={{ width: '20px', height: '20px' }}\n />\n </Flex>\n </TooltipBubble>\n )}\n </Flex>\n )}\n </div>\n {bond.yieldBond ? (\n <div\n className=\"bond-card-block\"\n sx={{\n fontSize: '13px !important',\n borderRadius: ['0px', '0px', '0px', 'normal'],\n cursor: 'pointer',\n '&:first-of-type': {\n borderTopRightRadius: 'normal',\n borderTopLeftRadius: 'normal',\n },\n\n '&:last-of-type': {\n borderBottomRightRadius: 'normal',\n borderBottomLeftRadius: 'normal',\n },\n }}\n onClick={() => setShowLocalTime((prev) => !prev)}\n >\n <Flex className=\"bond-card-title\">\n Sale Ends\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Flex>\n This is the date and time when the sale ends. Initial tokens will be distributed{' '}\n {\n getTimePeriods(\n (bond?.yieldData?.rewardDistributionEnd ?? 0) - parseInt(bond.startVestingTimestamp ?? '0'),\n true,\n ).days\n }{' '}\n days afterwards, followed by the yield rewards over the pool duration.\n </Flex>\n }\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, -5%)\"\n >\n <div className=\"bond-card-tooltip\">\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </div>\n </TooltipBubble>\n </Flex>\n {formatUTCDate(new Date((bond.finishTime ?? 0) * 1000), false, showLocalTime)}{' '}\n {showLocalTime ? 'Local' : 'UTC'}\n </div>\n ) : (\n <div\n className=\"bond-card-block\"\n sx={{\n fontSize: '13px !important',\n borderRadius: ['0px', '0px', '0px', 'normal'],\n '&:first-of-type': {\n borderTopRightRadius: 'normal',\n borderTopLeftRadius: 'normal',\n },\n\n '&:last-of-type': {\n borderBottomRightRadius: 'normal',\n borderBottomLeftRadius: 'normal',\n },\n }}\n >\n <Flex className=\"bond-card-title\">\n TGE\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={<Flex>This is the date and time when this token will become officially live on-chain.</Flex>}\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, -5%)\"\n >\n <div className=\"bond-card-tooltip\">\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </div>\n </TooltipBubble>\n </Flex>\n {bond.tgeString}\n </div>\n )}\n <div\n className=\"bond-card-block\"\n sx={{\n borderRadius: ['0px', '0px', '0px', 'normal'],\n '&:first-of-type': {\n borderTopRightRadius: 'normal',\n borderTopLeftRadius: 'normal',\n },\n\n '&:last-of-type': {\n borderBottomRightRadius: 'normal',\n borderBottomLeftRadius: 'normal',\n },\n }}\n >\n {bond.yieldBond ? (\n <>\n <div className=\"bond-card-title\">\n Pool Duration\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Flex>\n This is the duration over which the bonus yield will be distributed while your initial tokens remain\n staked.\n </Flex>\n }\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, -5%)\"\n >\n <div className=\"bond-card-tooltip\">\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </div>\n </TooltipBubble>\n </div>\n <Flex sx={{ color: 'text' }}>\n {\n getTimePeriods(\n (bond?.yieldData?.rewardDistributionEnd ?? 0) - parseInt(bond.startVestingTimestamp ?? '0'),\n true,\n ).days\n }{' '}\n Days\n </Flex>\n </>\n ) : (\n <>\n <div className=\"bond-card-title\">\n Initial Release\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Flex>\n This is the percentage of tokens you can claim immediately on {bond.tgeString}. The rest follows the\n vesting schedule.\n </Flex>\n }\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, -5%)\"\n >\n <div className=\"bond-card-tooltip\">\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </div>\n </TooltipBubble>\n </div>\n {initialRelease}%\n </>\n )}\n </div>\n {!bond.yieldBond && (\n <div\n className=\"bond-card-block\"\n sx={{\n borderRadius: ['0px', '0px', '0px', 'normal'],\n '&:first-of-type': {\n borderTopRightRadius: 'normal',\n borderTopLeftRadius: 'normal',\n },\n\n '&:last-of-type': {\n borderBottomRightRadius: 'normal',\n borderBottomLeftRadius: 'normal',\n },\n }}\n >\n <div className=\"bond-card-title\">\n Vesting Terms\n {initialRelease !== 100 && (\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Flex>\n Remaining tokens will vest linearly over {getTimePeriods(bond?.vestingTerm).months} months after{' '}\n {formatUTCDate(new Date(parseInt(bond.startVestingTimestamp ?? '0') * 1000))} UTC.\n </Flex>\n }\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, -5%)\"\n >\n <div className=\"bond-card-tooltip\">\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </div>\n </TooltipBubble>\n )}\n </div>\n {initialRelease === 100 ? `0 D` : `${getTimePeriods(bond?.vestingTerm)?.months} Mo`}\n </div>\n )}\n </div>\n )\n}\n\nexport default BondCardsPreTGE\n"],"names":["_jsxs","_jsx","_Fragment"],"mappings":"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"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Ape Bond SDK",
4
4
  "author": "Ape Bond",
5
5
  "license": "MIT",
6
- "version": "6.1.0-test.2",
6
+ "version": "6.1.1",
7
7
  "module": "dist/main.js",
8
8
  "type": "module",
9
9
  "types": "dist/main.d.ts",