@goodaofi/bonds-sdk 3.0.152 → 3.0.154

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.js CHANGED
@@ -74048,7 +74048,7 @@ const PreTgeUserRow = ({ userBond, isGooSale }) => {
74048
74048
 
74049
74049
  const formatTGEDate = (saleInfo) => {
74050
74050
  if (!saleInfo || saleInfo.isTGEPostponed)
74051
- return 'TBD';
74051
+ return 'Q1 2026';
74052
74052
  return saleInfo.TGEDate.toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' });
74053
74053
  };
74054
74054
  function useSaleInfo() {
@@ -99665,7 +99665,7 @@ const BondsMenu = ({ setChainFilterOption, chainFilterOption, handleToogle }) =>
99665
99665
  handleToogle(enumValue);
99666
99666
  }
99667
99667
  };
99668
- return (jsxs("div", { className: "bonds-menu", children: [jsxs(Flex$1, { sx: { mb: '10px', justifyContent: 'space-between', width: '100%' }, children: [jsx$2(BondFilters, { chainFilterOption: chainFilterOption, setChainFilterOption: setChainFilterOption }), jsx$2(Flex$1, { sx: { width: ['260px', '260px', '300px', '300px'], ml: '10px' }, children: jsx$2(Toggle, { options: toggleOptions, activeOption: TOGGLE_DISPLAY_TEXT[activeView], handleToggle: handleToggleWithMapping }) })] }), jsxs("div", { className: "table-header-container", children: [jsx$2("div", { className: "search-container" }), activeView === BondsViewOptions$1.BONDSMARKET && (jsxs("div", { className: "headers-container", children: [jsx$2("div", { className: "discount-header", children: namingPreference.toUpperCase() }), jsx$2("div", { className: "terms-header", children: "TERMS" }), jsx$2("div", { className: "tokens-remaining-header", children: "TOKENS REMAINING" }), jsx$2(Button, { variant: "secondary", sx: { mr: '10px', opacity: 0, pointerEvents: 'none' }, children: "BUY" })] }))] })] }));
99668
+ return (jsxs("div", { className: "bonds-menu", children: [jsxs(Flex$1, { sx: { mb: '10px', justifyContent: 'space-between', width: '100%' }, children: [jsx$2(BondFilters, { chainFilterOption: chainFilterOption, setChainFilterOption: setChainFilterOption }), jsx$2(Flex$1, { sx: { width: ['260px', '260px', '300px', '300px'], ml: '10px' }, children: jsx$2(Toggle, { options: toggleOptions, activeOption: TOGGLE_DISPLAY_TEXT[activeView], handleToggle: handleToggleWithMapping }) })] }), jsxs("div", { className: "table-header-container", children: [jsx$2("div", { className: "search-container" }), activeView === BondsViewOptions$1.BONDSMARKET && (jsxs("div", { className: "headers-container", children: [jsx$2("div", { className: "discount-header", children: namingPreference.toUpperCase() }), jsx$2("div", { className: "terms-header", children: "TERMS" }), jsx$2(Button, { variant: "secondary", sx: { mr: '10px', opacity: 0, pointerEvents: 'none' }, children: "BUY" })] }))] })] }));
99669
99669
  };
99670
99670
 
99671
99671
  /*
@@ -99794,7 +99794,10 @@ const TokenInfoAndName = ({ tokenSymbol, chain, tag, vestEnds, isHotBond, }) =>
99794
99794
  }, children: jsx$2(Flex, { sx: { display: isHotBond ? 'flex' : ['none', 'none', 'none', 'none', 'flex'] }, children: tag && jsx$2(ListTag, { text: tag === null || tag === void 0 ? void 0 : tag.toUpperCase() }) }) })] }));
99795
99795
  };
99796
99796
 
99797
- const BondRow = ({ bondAddress, bondChain, contractType, tag, bondSoldOut, discount, vestingTermString, vestingCliffString, percentageAvailable, remainingTokensString, }) => {
99797
+ const BondRow = ({ bondAddress, bondChain, contractType, tag, bondSoldOut, discount, vestingTermString, vestingCliffString,
99798
+ // percentageAvailable,
99799
+ // remainingTokensString,
99800
+ }) => {
99798
99801
  const locationPath = window.location.pathname.replace('/', '');
99799
99802
  const payoutTokenSymbol = contractType.toLowerCase() === 'goo' ? 'GOO' : 'sGOO';
99800
99803
  // Modal
@@ -99817,13 +99820,7 @@ const BondRow = ({ bondAddress, bondChain, contractType, tag, bondSoldOut, disco
99817
99820
  });
99818
99821
  };
99819
99822
  return (jsxs("div", { className: "bond-row" // Insert special campaign styles here
99820
- , onClick: handleOpenModal, sx: { borderRadius: 'normal' }, children: [jsx$2("div", { className: "gold-ribbon" }), jsx$2("div", { className: "token-info-container", sx: { width: ['70%', '70%', '65%', '30%'] }, children: jsx$2(TokenInfoAndName, { tokenSymbol: payoutTokenSymbol, chain: bondChain, tag: tag }) }), jsxs("div", { className: "bond-info-columns", sx: { width: '55%' }, children: [jsxs("div", { className: `discount-column`, sx: { color: discount && 'success' }, children: [(Number(discount) * 100).toFixed(0), "%"] }), jsxs("div", { className: "terms-column", children: [getGooSaleVestingString(Number(vestingCliffString), Number(vestingTermString)), vestingCliffString && (jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(Flex, { children: `${vestingCliffString} days cliff + ${vestingTermString} days linear vesting after TGE` }), width: "180px", placement: "bottomRight", transformTip: "translate(13%, 0%)", children: jsx$2(Flex, { sx: { opacity: 0.6, ml: '6px' }, children: jsx$2(Svg, { icon: "questionCircle", width: "12px" }) }) }))] }), jsx$2("div", { className: "tokens-remaining-column", children: jsx$2(ProgressBarWrapper$1, { title: '', value: jsx$2(ProgressBar$1, { value: percentageAvailable }), style: {
99821
- width: '127px',
99822
- height: '25px',
99823
- flexDirection: 'column',
99824
- justifyContent: 'center',
99825
- display: ['none', 'none', 'none', 'flex'],
99826
- }, showTooltip: true, toolTip: remainingTokensString }) }), jsx$2(Button, { variant: "secondary", sx: { mr: '10px' }, children: "Buy" })] })] }, `${bondAddress}-${bondChain}`));
99823
+ , onClick: handleOpenModal, sx: { borderRadius: 'normal' }, children: [jsx$2("div", { className: "gold-ribbon" }), jsx$2("div", { className: "token-info-container", sx: { width: ['70%', '70%', '65%', '30%'] }, children: jsx$2(TokenInfoAndName, { tokenSymbol: payoutTokenSymbol, chain: bondChain, tag: tag }) }), jsxs("div", { className: "bond-info-columns", sx: { width: '55%' }, children: [jsxs("div", { className: `discount-column`, sx: { color: discount && 'success' }, children: [(Number(discount) * 100).toFixed(0), "%"] }), jsxs("div", { className: "terms-column", children: [getGooSaleVestingString(Number(vestingCliffString), Number(vestingTermString)), vestingCliffString && (jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(Flex, { children: `${vestingCliffString} days cliff + ${vestingTermString} days linear vesting after TGE` }), width: "180px", placement: "bottomRight", transformTip: "translate(13%, 0%)", children: jsx$2(Flex, { sx: { opacity: 0.6, ml: '6px' }, children: jsx$2(Svg, { icon: "questionCircle", width: "12px" }) }) }))] }), jsx$2(Button, { variant: "secondary", sx: { mr: '10px' }, children: "Buy" })] })] }, `${bondAddress}-${bondChain}`));
99827
99824
  };
99828
99825
 
99829
99826
  const BANNER_INFO = {
@@ -99858,15 +99855,17 @@ const BannerTestnet = ({ chainId }) => {
99858
99855
 
99859
99856
  const BondRowsWithTitle = ({ chain, bonds }) => {
99860
99857
  const key = chain;
99861
- const { data: saleInfo } = useSaleInfo();
99858
+ // const { data: saleInfo } = useSaleInfo()
99862
99859
  return (jsx$2(Flex$1, { className: "bondrowswithtitle", children: jsxs(AnimatePresence, { initial: false, children: [jsx$2(ChainTitle, { chain: chain, pt: '5px', hideTitles: bonds.length <= 0 }), bonds.length > 0 && (jsxs(motion.div, { initial: { height: 0, overflow: 'hidden' }, animate: { height: 'fit-content', overflow: 'hidden', transitionEnd: { overflow: 'visible' } }, exit: { height: 0, overflow: 'hidden' }, sx: {
99863
99860
  position: 'relative',
99864
99861
  overflow: 'hidden',
99865
99862
  width: '100%',
99866
99863
  marginTop: '0px',
99867
99864
  }, className: "bonds-card-container", children: [TESTNET_CHAINS.includes(chain) && jsx$2(BannerTestnet, { chainId: chain }), bonds === null || bonds === void 0 ? void 0 : bonds.map((bond, index) => {
99868
- var _a, _b, _c, _d;
99869
- return (jsx$2(BondRow, { bondAddress: bond.address, bondChain: chain, contractType: bond.type, vestingTermString: bond.vestingLinear.toString(), vestingCliffString: bond.vestingCliff.toString(), percentageAvailable: (_b = (_a = saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.currentStage) === null || _a === void 0 ? void 0 : _a.remainingPercentage) !== null && _b !== void 0 ? _b : 50, remainingTokensString: `${(_d = (_c = saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.currentStage) === null || _c === void 0 ? void 0 : _c.remainingPercentage) === null || _d === void 0 ? void 0 : _d.toFixed(2)} %`, discount: bond.discount.toString() }, `${bond.address}-${chain}-${index}`));
99865
+ return (jsx$2(BondRow, { bondAddress: bond.address, bondChain: chain, contractType: bond.type, vestingTermString: bond.vestingLinear.toString(), vestingCliffString: bond.vestingCliff.toString(),
99866
+ // percentageAvailable={saleInfo?.currentStage?.remainingPercentage ?? 50}
99867
+ // remainingTokensString={`${saleInfo?.currentStage?.remainingPercentage?.toFixed(2)} %`}
99868
+ discount: bond.discount.toString() }, `${bond.address}-${chain}-${index}`));
99870
99869
  })] }, key))] }) }, key));
99871
99870
  };
99872
99871
 
@@ -99890,10 +99889,20 @@ const ProgressBar = ({ saleInfo }) => {
99890
99889
  const stage = (saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.isInBreakPeriod) && nextStageNumber
99891
99890
  ? saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.stages.find((stage) => stage.stageNumber === nextStageNumber - 1)
99892
99891
  : saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.currentStage;
99893
- const stageSoldOut = (stage === null || stage === void 0 ? void 0 : stage.progressPercentage) === 100;
99894
- const value = useMemo(() => { var _a; return (_a = stage === null || stage === void 0 ? void 0 : stage.progressPercentage) !== null && _a !== void 0 ? _a : 0; }, [stage]);
99895
- const hardCap = useMemo(() => { var _a; return ((_a = stage === null || stage === void 0 ? void 0 : stage.hardCapSats) !== null && _a !== void 0 ? _a : 0) / 100000000; }, [stage]);
99896
- const billed = useMemo(() => { var _a; return ((_a = stage === null || stage === void 0 ? void 0 : stage.totalBilledSats) !== null && _a !== void 0 ? _a : 0) / 100000000; }, [stage]);
99892
+ const previousStagesBilled = useMemo(() => {
99893
+ var _a, _b, _c;
99894
+ const currentStageNumber = (_a = stage === null || stage === void 0 ? void 0 : stage.stageNumber) !== null && _a !== void 0 ? _a : 1;
99895
+ const previousStages = (_c = (_b = saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.stages) === null || _b === void 0 ? void 0 : _b.filter((s) => s.stageNumber < currentStageNumber)) !== null && _c !== void 0 ? _c : [];
99896
+ const totalPreviousSats = previousStages.reduce((sum, s) => { var _a; return sum + ((_a = s.totalBilledSats) !== null && _a !== void 0 ? _a : 0); }, 0);
99897
+ return totalPreviousSats / 100000000;
99898
+ }, [saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.stages, stage === null || stage === void 0 ? void 0 : stage.stageNumber]);
99899
+ const baseAmount = 100 + previousStagesBilled;
99900
+ const hardCap = useMemo(() => { var _a; return ((_a = stage === null || stage === void 0 ? void 0 : stage.hardCapSats) !== null && _a !== void 0 ? _a : 0) / 100000000 + baseAmount; }, [stage, baseAmount]);
99901
+ const billed = useMemo(() => { var _a; return ((_a = stage === null || stage === void 0 ? void 0 : stage.totalBilledSats) !== null && _a !== void 0 ? _a : 0) / 100000000 + baseAmount; }, [stage, baseAmount]);
99902
+ const isTimeProgress = false;
99903
+ const [timeLeft, setTimeLeft] = useState('');
99904
+ const [timeProgress, setTimeProgress] = useState(0);
99905
+ const value = useMemo(() => ((billed / hardCap) * 100), [isTimeProgress, timeProgress, billed, hardCap]);
99897
99906
  const stageNumber = useMemo(() => { var _a; return (_a = stage === null || stage === void 0 ? void 0 : stage.stageNumber) !== null && _a !== void 0 ? _a : 1; }, [stage]);
99898
99907
  const contractsByChain = (_c = (_b = saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.stages) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.contractsByChain;
99899
99908
  const saleContracts = contractsByChain === null || contractsByChain === void 0 ? void 0 : contractsByChain[main.ChainId.BASE];
@@ -99902,50 +99911,81 @@ const ProgressBar = ({ saleInfo }) => {
99902
99911
  const btcPriceData = useCurrencyPrice(saleData === null || saleData === void 0 ? void 0 : saleData.principalToken, main.ChainId.BASE);
99903
99912
  const btcPrice = (_d = btcPriceData === null || btcPriceData === void 0 ? void 0 : btcPriceData.price) !== null && _d !== void 0 ? _d : 0;
99904
99913
  const totalBilledBTC = ((saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.totalBilled) ? (saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.totalBilled) / 100000000 : 0) + 100;
99905
- const totalBilledUSD = (totalBilledBTC * btcPrice).toLocaleString('en-US', {
99914
+ (totalBilledBTC * btcPrice).toLocaleString('en-US', {
99906
99915
  style: 'currency',
99907
99916
  currency: 'USD',
99908
99917
  maximumFractionDigits: 0,
99909
99918
  });
99910
- // const endTime = useMemo(() => {
99911
- // const timestamp = stage?.endTime
99912
- // if (!timestamp) return 'N/A'
99913
- // // endTime is a Unix timestamp in seconds, multiply by 1000 for milliseconds
99914
- // return new Date(timestamp * 1000).toLocaleString('en-US', {
99915
- // timeZone: 'UTC',
99916
- // hour12: false,
99917
- // month: 'long',
99918
- // day: 'numeric',
99919
- // hour: '2-digit',
99920
- // minute: '2-digit',
99921
- // })
99922
- // }, [stage])
99923
- // const nextStageStartTime = useMemo(
99924
- // () =>
99925
- // saleInfo?.nextStage?.startTime
99926
- // ? new Date(saleInfo?.nextStage?.startTime * 1000).toLocaleString('en-US', {
99927
- // timeZone: 'UTC',
99928
- // hour12: false,
99929
- // month: 'long',
99930
- // day: 'numeric',
99931
- // hour: '2-digit',
99932
- // minute: '2-digit',
99933
- // })
99934
- // : 'N/A',
99935
- // [saleInfo],
99936
- // )
99937
- return (jsxs(Fragment$1, { children: [jsx$2(Flex$1, { sx: { alignItems: 'end', justifyContent: 'space-between', flexDirection: 'row', mt: '1rem' }, children: jsxs(Flex$1, { sx: { flexDirection: 'column', width: '200px', alignItems: 'start' }, children: [jsx$2(Text, { sx: {
99938
- fontSize: '14px',
99939
- fontWeight: '700',
99940
- color: 'var(--theme-ui-colors-textDisabledButton)',
99941
- mb: '0.2rem',
99942
- }, children: "Total Raised" }), jsxs(Flex$1, { sx: { flexDirection: 'row', alignItems: 'center' }, children: [jsx$2(Text, { sx: { fontSize: '22px', fontWeight: '700' }, children: `${totalBilledBTC.toFixed(0)} BTC` }), jsx$2(Text, { sx: { fontSize: '14px', fontWeight: '400', ml: '10px' }, children: `(${totalBilledUSD})` })] }), jsx$2(Text, { sx: {
99943
- fontSize: '14px',
99944
- fontWeight: '700',
99945
- color: 'var(--theme-ui-colors-textDisabledButton)',
99946
- mb: '0.2rem',
99947
- mt: '1rem',
99948
- }, children: stageSoldOut ? 'Stage ' + stageNumber + ' Completed!' : 'Stage ' + stageNumber + ' Progress' }), jsx$2(Text, { sx: { fontSize: '22px', fontWeight: '700' }, children: `${billed.toFixed(2)} BTC/ ${hardCap} BTC` })] }) }), jsx$2(Flex$1, { sx: { width: ['100%'], alignItems: 'center', flexDirection: 'row', my: '1rem' }, children: jsx$2(Box$1, { style: {
99919
+ const endTime = useMemo(() => {
99920
+ const timestamp = stage === null || stage === void 0 ? void 0 : stage.endTime;
99921
+ if (!timestamp)
99922
+ return 'N/A';
99923
+ // endTime is a Unix timestamp in seconds, multiply by 1000 for milliseconds
99924
+ return new Date(timestamp * 1000).toLocaleString('en-US', {
99925
+ timeZone: 'UTC',
99926
+ hour12: false,
99927
+ month: 'long',
99928
+ day: 'numeric',
99929
+ hour: '2-digit',
99930
+ minute: '2-digit',
99931
+ });
99932
+ }, [stage]);
99933
+ useEffect(() => {
99934
+ const calculateTimeLeft = () => {
99935
+ const startTimestamp = stage === null || stage === void 0 ? void 0 : stage.startTime;
99936
+ const endTimestamp = stage === null || stage === void 0 ? void 0 : stage.endTime;
99937
+ if (!endTimestamp || !startTimestamp) {
99938
+ setTimeLeft('');
99939
+ setTimeProgress(0);
99940
+ return;
99941
+ }
99942
+ const now = Math.floor(Date.now() / 1000);
99943
+ const diff = endTimestamp - now;
99944
+ const totalDuration = endTimestamp - startTimestamp;
99945
+ const elapsed = now - startTimestamp;
99946
+ const progress = Math.min(100, Math.max(0, (elapsed / totalDuration) * 100));
99947
+ setTimeProgress(progress);
99948
+ if (diff <= 0) {
99949
+ setTimeLeft('Ended');
99950
+ return;
99951
+ }
99952
+ const days = Math.floor(diff / 86400);
99953
+ const hours = Math.floor((diff % 86400) / 3600);
99954
+ const minutes = Math.floor((diff % 3600) / 60);
99955
+ setTimeLeft(`${days}d, ${hours}h, ${minutes}m left`);
99956
+ };
99957
+ calculateTimeLeft();
99958
+ const interval = setInterval(calculateTimeLeft, 60000);
99959
+ return () => clearInterval(interval);
99960
+ }, [stage === null || stage === void 0 ? void 0 : stage.startTime, stage === null || stage === void 0 ? void 0 : stage.endTime]);
99961
+ const nextStageStartTime = useMemo(() => {
99962
+ var _a, _b;
99963
+ return ((_a = saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.nextStage) === null || _a === void 0 ? void 0 : _a.startTime)
99964
+ ? new Date(((_b = saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.nextStage) === null || _b === void 0 ? void 0 : _b.startTime) * 1000).toLocaleString('en-US', {
99965
+ timeZone: 'UTC',
99966
+ hour12: false,
99967
+ month: 'long',
99968
+ day: 'numeric',
99969
+ hour: '2-digit',
99970
+ minute: '2-digit',
99971
+ })
99972
+ : 'N/A';
99973
+ }, [saleInfo]);
99974
+ return (jsxs(Fragment$1, { children: [jsxs(Flex$1, { sx: { alignItems: 'end', justifyContent: 'space-between', flexDirection: 'row', mt: '1rem' }, children: [jsxs(Flex$1, { sx: { flexDirection: 'column', width: '250px', alignItems: 'start' }, children: [isTimeProgress, (jsxs(Fragment$1, { children: [jsx$2(Text, { sx: {
99975
+ fontSize: '14px',
99976
+ fontWeight: '700',
99977
+ color: 'var(--theme-ui-colors-textDisabledButton)',
99978
+ mb: '0.2rem',
99979
+ mt: '1rem',
99980
+ }, children: 'Raise Progress' }), jsx$2(Text, { sx: { fontSize: '22px', fontWeight: '700' }, children: `${billed.toFixed(2)} BTC/ ${hardCap} BTC` })] }))] }), jsx$2(Text, { sx: {
99981
+ fontSize: '12px',
99982
+ fontWeight: '400',
99983
+ textAlign: 'right',
99984
+ ml: '10px',
99985
+ color: 'var(--theme-ui-colors-textDisabledButton)',
99986
+ }, children: (stage === null || stage === void 0 ? void 0 : stage.hasEnded)
99987
+ ? 'Stage ' + nextStageNumber + ' starts: ' + nextStageStartTime + ' UTC'
99988
+ : 'Stage ' + stageNumber + ' Ends: ' + endTime + ' UTC' })] }), jsx$2(Flex$1, { sx: { width: ['100%'], alignItems: 'center', flexDirection: 'row', my: '1rem' }, children: jsx$2(Box$1, { style: {
99949
99989
  width: '100%',
99950
99990
  height: '11px',
99951
99991
  backgroundColor: 'var(--theme-ui-colors-white4)',
@@ -100472,7 +100512,23 @@ const GooSale = () => {
100472
100512
  : ((_f = saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.nextStage) === null || _f === void 0 ? void 0 : _f.stageNumber) === 5
100473
100513
  ? 'TGE '
100474
100514
  : 'Stage ' + ((_g = saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.nextStage) === null || _g === void 0 ? void 0 : _g.stageNumber) + ' ', "starts in:"] }), jsx$2(CountdownTimer, { targetTime: ((_h = saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.nextStage) === null || _h === void 0 ? void 0 : _h.startTime) || 0 }), !(((_j = saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.nextStage) === null || _j === void 0 ? void 0 : _j.stageNumber) === 4 || ((_k = saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.nextStage) === null || _k === void 0 ? void 0 : _k.stageNumber) === 5) ? (jsxs(Fragment$1, { children: [jsxs(Flex, { sx: { flexDirection: 'column', alignItems: 'center' }, children: [jsxs(Flex, { sx: { flexDirection: 'row', alignItems: 'center', mt: '30px' }, children: [address && (jsxs(Flex, { sx: { mr: '1rem', p: '10px', borderRadius: 'normal', background: 'white3', alignItems: 'center' }, children: [jsx$2(Flex, { sx: { mr: '10px' }, children: jsx$2(Svg, { icon: "wallet" }) }), jsxs(Text, { sx: { fontSize: '14px', fontWeight: 400 }, children: [address === null || address === void 0 ? void 0 : address.slice(0, 4), "...", address === null || address === void 0 ? void 0 : address.slice((address === null || address === void 0 ? void 0 : address.length) - 4, address === null || address === void 0 ? void 0 : address.length)] })] })), jsx$2(Flex, { sx: { fontSize: '18px', fontWeight: 500 }, children: "Are You Eligible?" })] }), !address ? (jsx$2(Flex, { sx: { my: '20px', width: '100%' }, children: jsx$2(ConnectButton, {}) })) : (whitelisted === null ||
100475
- (whitelisted === undefined && !cbBTCBalanceChecked && (jsx$2(Button, { sx: { m: '20px', width: '100%' }, onClick: handleCheckEligibility, children: "CHECK ELIGIBILITY" }))))] }), whitelisted !== null && whitelisted !== undefined && (jsxs(Flex, { sx: { flexDirection: 'row', alignItems: 'center', mt: '20px' }, children: [jsxs(Text, { sx: { fontSize: '12px', fontWeight: 400 }, children: ["You are whitelisted for Stage ", whitelisted, " and beyond!"] }), jsxs(Text, { color: "primaryButton", sx: { fontSize: '12px', fontWeight: 400, pl: '1rem' }, children: ["Tier ", whitelisted, " Access"] })] })), whitelisted === null && (jsx$2(Flex, { sx: { flexDirection: 'column', alignItems: 'center', gap: '10px' }, children: cbBTCBalanceChecked && (jsx$2(Flex, { sx: { flexDirection: 'column', alignItems: 'center', gap: '10px', mt: '10px' }, children: isCbBTCBalanceLoading ? (jsx$2(Text, { sx: { fontSize: '12px', fontWeight: 400 }, children: "Checking BTC balance across all chains..." })) : cbBTCBalance ? (jsxs(Fragment$1, { children: [cbBTCBalance.isEligible ? (addToWhitelistSuccess ? (jsx$2(Text, { color: "primaryButton", sx: { fontSize: '12px', fontWeight: 700 }, children: "\u2713 Successfully added to whitelist! Please refresh to see your tier." })) : addToWhitelistError ? (jsx$2(Text, { sx: { fontSize: '12px', fontWeight: 400, color: 'error' }, children: "Failed to add to whitelist. Please try again." })) : (jsx$2(Fragment$1, { children: jsx$2(Flex, { sx: { flexDirection: 'row', alignItems: 'center' }, children: jsxs(Text, { sx: { fontSize: '12px', fontWeight: 400 }, children: ["You ", jsx$2("span", { sx: { fontWeight: 700 }, children: "ARE" }), " eligible for the sale"] }) }) }))) : (jsxs(Flex, { sx: { flexDirection: 'column', alignItems: 'center', gap: '10px' }, children: [jsxs(Text, { sx: { fontSize: '12px', fontWeight: 400 }, children: ["You are ", jsx$2("span", { sx: { fontWeight: 700 }, children: "NOT" }), " eligible for the sale"] }), jsx$2(Text, { sx: { fontSize: '12px', fontWeight: 400, color: 'error' }, children: "You need at least 0.001 BTC to be whitelisted" })] })), jsxs(Text, { sx: { fontSize: '12px', fontWeight: 400 }, children: ["Total BTC Balance: ", cbBTCBalance.balance] }), cbBTCBalance.chainsWithBalance && cbBTCBalance.chainsWithBalance.length > 0 && (jsx$2(Flex, { sx: { flexDirection: 'column', gap: '5px', mt: '5px' }, children: cbBTCBalance.chainsWithBalance.map((chain) => (jsxs(Flex, { sx: { flexDirection: 'row', alignItems: 'center', gap: '10px' }, children: [jsx$2(TokenImage, { symbol: chain.symbol, size: 25, chain: chain.chainId }), jsxs(Text, { sx: { fontSize: '10px', fontWeight: 400, opacity: 0.7 }, children: [chain.balance, " ", chain.symbol] })] }, chain.chainId))) })), cbBTCBalance.isEligible && (jsx$2(Button, { sx: { width: '100%' }, onClick: () => addToWhitelist(), disabled: isAddingToWhitelist, children: isAddingToWhitelist ? 'ADDING TO WHITELIST...' : 'ADD ME TO WHITELIST' }))] })) : (jsx$2(Text, { sx: { fontSize: '12px', fontWeight: 400 }, children: "Unable to fetch BTC balance. Please try again." })) })) }))] })) : (jsx$2(Fragment$1, {}))] })), jsxs(Flex, { sx: { width: '100%', alignItems: 'center', px: '12%', py: '4rem' }, children: [jsx$2(StepBubble, { number: 1, title: 'STAGE 1', currentStep: currentStageNumber, loading: false }), jsx$2(StepBubble, { number: 2, title: 'STAGE 2', currentStep: currentStageNumber, loading: false }), jsx$2(StepBubble, { number: 3, title: 'STAGE 3', currentStep: currentStageNumber, loading: false }), jsx$2(StepBubble, { number: 5, title: 'TGE', currentStep: currentStageNumber, loading: false, hideBar: true })] }), jsx$2(Divider, { sx: { width: '100%', height: '2px', backgroundColor: 'white2' } }), jsx$2(ProgressBar, { saleInfo: saleInfo }), !(saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.isInBreakPeriod) && !currentStageSoldOut ? (jsxs(Fragment$1, { children: [jsx$2(BondsMenu, { setChainFilterOption: handleChainFilterChange, chainFilterOption: chainFilterOption, handleToogle: handleToogle }), activeView === BondsViewOptions.BONDSMARKET && filteredContractsByChain && !isLoadingSaleInfo ? (jsx$2(BondRowsByChain, { contractsByChain: filteredContractsByChain })) : activeView === BondsViewOptions.YOURBONDS && !isLoadingSaleInfo ? (jsx$2(YourGoo, { yourGoo: yourGoo, isLoading: isLoading, isFetching: isFetching })) : (jsx$2(Fragment$1, {}))] })) : userParticipated ? (jsxs(Fragment$1, { children: [jsx$2(Divider, { sx: { width: '100%', height: '2px', backgroundColor: 'white2', my: '1rem' } }), jsx$2(YourGoo, { yourGoo: yourGoo, isLoading: isLoading, isFetching: isFetching })] })) : (jsx$2(Fragment$1, {}))] }));
100515
+ (whitelisted === undefined && !cbBTCBalanceChecked && (jsx$2(Button, { sx: { m: '20px', width: '100%' }, onClick: handleCheckEligibility, children: "CHECK ELIGIBILITY" }))))] }), whitelisted !== null && whitelisted !== undefined && (jsxs(Flex, { sx: {
100516
+ flexDirection: 'row',
100517
+ alignItems: 'center',
100518
+ mt: '20px',
100519
+ background: 'white2',
100520
+ p: '20px',
100521
+ m: '20px',
100522
+ borderRadius: 'normal',
100523
+ }, children: [jsxs(Text, { sx: { fontSize: '12px', fontWeight: 400 }, children: ["You are whitelisted for Stage ", whitelisted, " and beyond!"] }), jsxs(Text, { color: "primaryButton", sx: { fontSize: '12px', fontWeight: 400, pl: '1rem' }, children: ["Tier ", whitelisted, " Access"] })] })), whitelisted === null && (jsx$2(Flex, { sx: {
100524
+ flexDirection: 'column',
100525
+ alignItems: 'center',
100526
+ gap: '10px',
100527
+ background: 'white2',
100528
+ p: '20px',
100529
+ m: '20px',
100530
+ borderRadius: 'normal',
100531
+ }, children: cbBTCBalanceChecked && (jsx$2(Flex, { sx: { flexDirection: 'column', alignItems: 'center', gap: '10px', mt: '10px' }, children: isCbBTCBalanceLoading ? (jsx$2(Text, { sx: { fontSize: '12px', fontWeight: 400 }, children: "Checking BTC balance across all chains..." })) : cbBTCBalance ? (jsxs(Fragment$1, { children: [cbBTCBalance.isEligible ? (addToWhitelistSuccess ? (jsx$2(Text, { color: "primaryButton", sx: { fontSize: '12px', fontWeight: 700 }, children: "\u2713 Successfully added to whitelist! Please refresh to see your tier." })) : addToWhitelistError ? (jsx$2(Text, { sx: { fontSize: '12px', fontWeight: 400, color: 'error' }, children: "Failed to add to whitelist. Please try again." })) : (jsx$2(Fragment$1, { children: jsx$2(Flex, { sx: { flexDirection: 'row', alignItems: 'center' }, children: jsxs(Text, { sx: { fontSize: '12px', fontWeight: 400 }, children: ["You ", jsx$2("span", { sx: { fontWeight: 700 }, children: "ARE" }), " eligible for the sale"] }) }) }))) : (jsxs(Flex, { sx: { flexDirection: 'column', alignItems: 'center', gap: '10px' }, children: [jsxs(Text, { sx: { fontSize: '12px', fontWeight: 400 }, children: ["You are ", jsx$2("span", { sx: { fontWeight: 700 }, children: "NOT" }), " eligible for the sale"] }), jsx$2(Text, { sx: { fontSize: '12px', fontWeight: 400, color: 'error' }, children: "You need at least 0.001 BTC to be whitelisted" })] })), jsxs(Text, { sx: { fontSize: '12px', fontWeight: 400 }, children: ["Total BTC Balance: ", cbBTCBalance.balance] }), cbBTCBalance.chainsWithBalance && cbBTCBalance.chainsWithBalance.length > 0 && (jsx$2(Flex, { sx: { flexDirection: 'column', gap: '5px', mt: '5px' }, children: cbBTCBalance.chainsWithBalance.map((chain) => (jsxs(Flex, { sx: { flexDirection: 'row', alignItems: 'center', gap: '10px' }, children: [jsx$2(TokenImage, { symbol: chain.symbol, size: 25, chain: chain.chainId }), jsxs(Text, { sx: { fontSize: '10px', fontWeight: 400, opacity: 0.7 }, children: [chain.balance, " ", chain.symbol] })] }, chain.chainId))) })), cbBTCBalance.isEligible && (jsx$2(Button, { sx: { width: '100%' }, onClick: () => addToWhitelist(), disabled: isAddingToWhitelist, children: isAddingToWhitelist ? 'ADDING TO WHITELIST...' : 'ADD ME TO WHITELIST' }))] })) : (jsx$2(Text, { sx: { fontSize: '12px', fontWeight: 400 }, children: "Unable to fetch BTC balance. Please try again." })) })) }))] })) : (jsx$2(Fragment$1, {}))] })), jsxs(Flex, { sx: { width: '100%', alignItems: 'center', px: '12%', py: '4rem' }, children: [jsx$2(StepBubble, { number: 1, title: 'STAGE 1', currentStep: currentStageNumber, loading: false }), jsx$2(StepBubble, { number: 2, title: 'STAGE 2', currentStep: currentStageNumber, loading: false }), jsx$2(StepBubble, { number: 3, title: 'TGE', currentStep: currentStageNumber, loading: false, hideBar: true })] }), jsx$2(Divider, { sx: { width: '100%', height: '2px', backgroundColor: 'white2' } }), jsx$2(ProgressBar, { saleInfo: saleInfo }), !(saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.isInBreakPeriod) && !currentStageSoldOut ? (jsxs(Fragment$1, { children: [jsx$2(BondsMenu, { setChainFilterOption: handleChainFilterChange, chainFilterOption: chainFilterOption, handleToogle: handleToogle }), activeView === BondsViewOptions.BONDSMARKET && filteredContractsByChain && !isLoadingSaleInfo ? (jsx$2(BondRowsByChain, { contractsByChain: filteredContractsByChain })) : activeView === BondsViewOptions.YOURBONDS && !isLoadingSaleInfo ? (jsx$2(YourGoo, { yourGoo: yourGoo, isLoading: isLoading, isFetching: isFetching })) : (jsx$2(Fragment$1, {}))] })) : userParticipated ? (jsxs(Fragment$1, { children: [jsx$2(Divider, { sx: { width: '100%', height: '2px', backgroundColor: 'white2', my: '1rem' } }), jsx$2(YourGoo, { yourGoo: yourGoo, isLoading: isLoading, isFetching: isFetching })] })) : (jsx$2(Fragment$1, {}))] }));
100476
100532
  };
100477
100533
 
100478
100534
  const GooSaleWithProviders = (props) => {
@@ -9,8 +9,6 @@ interface BondRowProps {
9
9
  discount?: string;
10
10
  vestingTermString: string;
11
11
  vestingCliffString?: string;
12
- percentageAvailable: number;
13
- remainingTokensString: string;
14
12
  }
15
13
  declare const BondRow: React.FC<BondRowProps>;
16
14
  export default BondRow;
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Goo Money Bond SDK",
4
4
  "author": "Goo Money",
5
5
  "license": "MIT",
6
- "version": "3.0.152",
6
+ "version": "3.0.154",
7
7
  "proxy": "https://realtime-api-pr-99.herokuapp.com",
8
8
  "module": "dist/main.js",
9
9
  "type": "module",