@ape.swap/bonds-sdk 2.6.16 → 2.7.0

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
@@ -7035,16 +7035,6 @@ const Farcaster = ({ width }) => {
7035
7035
  };
7036
7036
 
7037
7037
  const Timer = ({ direction = 'right', color = 'text', width, getStyles }) => {
7038
- const deg = {
7039
- left: 180,
7040
- up: 270,
7041
- right: 0,
7042
- down: 90,
7043
- };
7044
- getStyles({
7045
- degree: deg[direction],
7046
- color,
7047
- });
7048
7038
  return (jsx$2("svg", { width: width || '28', xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512", fill: color, children: jsx$2("path", { d: "M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120l0 136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2 280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24z" }) }));
7049
7039
  };
7050
7040
 
@@ -19096,56 +19086,6 @@ const TokenInfoAndName = ({ bill, vestEnds, isHotBond, }) => {
19096
19086
  }, children: ((_c = bill.tags) === null || _c === void 0 ? void 0 : _c[0]) && jsx$2(ListTag, { text: (_e = (_d = bill.tags) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.toUpperCase() }) }), jsx$2(Flex, { className: vestEnds ? '' : 'short-description-basepad', sx: { display: 'none' }, children: bill.shortDescription })] }));
19097
19087
  };
19098
19088
 
19099
- const MINUTE_IN_SECONDS = 60;
19100
- const HOUR_IN_SECONDS = 3600;
19101
- const DAY_IN_SECONDS = 86400;
19102
- const MONTH_IN_SECONDS = 2629800;
19103
- const YEAR_IN_SECONDS = 31557600;
19104
- /**
19105
- * Format number of seconds into year, month, day, hour, minute, seconds
19106
- *
19107
- * @param seconds
19108
- */
19109
- const getTimePeriods = (seconds, days) => {
19110
- let delta = seconds;
19111
- const timeLeft = {
19112
- years: 0,
19113
- months: 0,
19114
- days: 0,
19115
- hours: 0,
19116
- minutes: 0,
19117
- seconds: 0,
19118
- };
19119
- if (delta >= YEAR_IN_SECONDS && !days) {
19120
- timeLeft.years = Math.floor(delta / YEAR_IN_SECONDS);
19121
- delta -= timeLeft.years * YEAR_IN_SECONDS;
19122
- }
19123
- if (delta >= MONTH_IN_SECONDS && !days) {
19124
- timeLeft.months = Math.floor(delta / MONTH_IN_SECONDS);
19125
- delta -= timeLeft.months * MONTH_IN_SECONDS;
19126
- }
19127
- if (delta >= DAY_IN_SECONDS) {
19128
- timeLeft.days = Math.floor(delta / DAY_IN_SECONDS);
19129
- delta -= timeLeft.days * DAY_IN_SECONDS;
19130
- }
19131
- if (delta >= HOUR_IN_SECONDS) {
19132
- timeLeft.hours = Math.floor(delta / HOUR_IN_SECONDS);
19133
- delta -= timeLeft.hours * HOUR_IN_SECONDS;
19134
- }
19135
- if (delta >= MINUTE_IN_SECONDS) {
19136
- timeLeft.minutes = Math.floor(delta / MINUTE_IN_SECONDS);
19137
- delta -= timeLeft.minutes * MINUTE_IN_SECONDS;
19138
- }
19139
- timeLeft.seconds = delta;
19140
- return timeLeft;
19141
- };
19142
-
19143
- const getPendingVesting = (lastBlockTimestamp, vesting) => {
19144
- const currentTime = new Date().getTime() / 1000;
19145
- const vestingTime = getTimePeriods(parseInt(lastBlockTimestamp) + parseInt(vesting) - currentTime, true);
19146
- return `${vestingTime.days}d, ${vestingTime.hours}h, ${vestingTime.minutes}m`;
19147
- };
19148
-
19149
19089
  const formatNumber$3 = (number, minPrecision = 2, maxPrecision = 2) => {
19150
19090
  const options = {
19151
19091
  minimumFractionDigits: minPrecision,
@@ -22105,6 +22045,50 @@ const getFirstNonZeroDigits = (numberToParse, precision = 3) => {
22105
22045
  return n.toFixed(amountToShow < 0 ? 0 : amountToShow);
22106
22046
  };
22107
22047
 
22048
+ const MINUTE_IN_SECONDS = 60;
22049
+ const HOUR_IN_SECONDS = 3600;
22050
+ const DAY_IN_SECONDS = 86400;
22051
+ const MONTH_IN_SECONDS = 2629800;
22052
+ const YEAR_IN_SECONDS = 31557600;
22053
+ /**
22054
+ * Format number of seconds into year, month, day, hour, minute, seconds
22055
+ *
22056
+ * @param seconds
22057
+ */
22058
+ const getTimePeriods = (seconds, days) => {
22059
+ let delta = seconds;
22060
+ const timeLeft = {
22061
+ years: 0,
22062
+ months: 0,
22063
+ days: 0,
22064
+ hours: 0,
22065
+ minutes: 0,
22066
+ seconds: 0,
22067
+ };
22068
+ if (delta >= YEAR_IN_SECONDS && !days) {
22069
+ timeLeft.years = Math.floor(delta / YEAR_IN_SECONDS);
22070
+ delta -= timeLeft.years * YEAR_IN_SECONDS;
22071
+ }
22072
+ if (delta >= MONTH_IN_SECONDS && !days) {
22073
+ timeLeft.months = Math.floor(delta / MONTH_IN_SECONDS);
22074
+ delta -= timeLeft.months * MONTH_IN_SECONDS;
22075
+ }
22076
+ if (delta >= DAY_IN_SECONDS) {
22077
+ timeLeft.days = Math.floor(delta / DAY_IN_SECONDS);
22078
+ delta -= timeLeft.days * DAY_IN_SECONDS;
22079
+ }
22080
+ if (delta >= HOUR_IN_SECONDS) {
22081
+ timeLeft.hours = Math.floor(delta / HOUR_IN_SECONDS);
22082
+ delta -= timeLeft.hours * HOUR_IN_SECONDS;
22083
+ }
22084
+ if (delta >= MINUTE_IN_SECONDS) {
22085
+ timeLeft.minutes = Math.floor(delta / MINUTE_IN_SECONDS);
22086
+ delta -= timeLeft.minutes * MINUTE_IN_SECONDS;
22087
+ }
22088
+ timeLeft.seconds = delta;
22089
+ return timeLeft;
22090
+ };
22091
+
22108
22092
  var lodash = {exports: {}};
22109
22093
 
22110
22094
  /**
@@ -39333,8 +39317,55 @@ const totalPendingUSD = (userBill) => {
39333
39317
  return pendingTokens * parseFloat(userBill.bond.payoutTokenPrice);
39334
39318
  };
39335
39319
  const vestingTimeRemaining = (userBill) => {
39320
+ var _a, _b;
39321
+ const currentTime = new Date().getTime() / 1000;
39322
+ const vestingCliff = (_b = (_a = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _a === void 0 ? void 0 : _a.vestingCliff) !== null && _b !== void 0 ? _b : 0;
39323
+ return getTimePeriods(parseInt(userBill.lastBlockTimestamp) + parseInt(userBill.vesting) - vestingCliff - currentTime, true);
39324
+ };
39325
+ const vestingTimeRemainingString = (userBill) => {
39326
+ var _a, _b, _c;
39327
+ const currentTime = Math.round(new Date().getTime() / 1000);
39328
+ const lastBlockTimestamp = parseInt((_a = userBill === null || userBill === void 0 ? void 0 : userBill.lastBlockTimestamp) !== null && _a !== void 0 ? _a : '0');
39329
+ const vesting = parseInt((_b = userBill === null || userBill === void 0 ? void 0 : userBill.vesting) !== null && _b !== void 0 ? _b : '0');
39330
+ const vestingCliff = (_c = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _c === void 0 ? void 0 : _c.vestingCliff;
39331
+ const vestingTime = getTimePeriods(lastBlockTimestamp + vesting - currentTime, true);
39332
+ if (vestingCliff && currentTime - lastBlockTimestamp < vestingCliff) {
39333
+ const linearVesting = getTimePeriods(vesting - vestingCliff, true);
39334
+ const cliffCountdown = getTimePeriods(lastBlockTimestamp + vestingCliff - currentTime, true);
39335
+ return `${cliffCountdown.days !== 0 ? `${cliffCountdown.days}d` : cliffCountdown.hours !== 0 ? `${cliffCountdown.hours}hs` : `${cliffCountdown.minutes}mins`} + ${linearVesting.days}d`;
39336
+ }
39337
+ return `${vestingTime.days}d, ${vestingTime.hours}h, ${vestingTime.minutes}m`;
39338
+ };
39339
+ const getPendingVestingString = (bond) => {
39340
+ var _a, _b;
39336
39341
  const currentTime = new Date().getTime() / 1000;
39337
- return getTimePeriods(parseInt(userBill.lastBlockTimestamp) + parseInt(userBill.vesting) - currentTime, true);
39342
+ const lastBlockTimestamp = parseInt((_a = bond === null || bond === void 0 ? void 0 : bond.lastBlockTimestamp) !== null && _a !== void 0 ? _a : '0');
39343
+ const vesting = parseInt((_b = bond === null || bond === void 0 ? void 0 : bond.vesting) !== null && _b !== void 0 ? _b : '0');
39344
+ const vestingTime = getTimePeriods(lastBlockTimestamp + vesting - currentTime, true);
39345
+ return `${vestingTime.days}d, ${vestingTime.hours}h, ${vestingTime.minutes}m`;
39346
+ };
39347
+ const getVestingTermsString = (bond) => {
39348
+ var _a, _b;
39349
+ const vestingTerm = (_a = bond === null || bond === void 0 ? void 0 : bond.vestingTerm) !== null && _a !== void 0 ? _a : 0;
39350
+ const vestingCliff = (_b = bond === null || bond === void 0 ? void 0 : bond.vestingCliff) !== null && _b !== void 0 ? _b : 0;
39351
+ if (!vestingCliff) {
39352
+ const vestingTime = getTimePeriods(vestingTerm, true);
39353
+ return `${vestingTime.days} D`;
39354
+ }
39355
+ else if (vestingCliff) {
39356
+ const vestingTime = getTimePeriods(vestingTerm - vestingCliff, true);
39357
+ const vestingCliffString = getTimePeriods(vestingCliff, true);
39358
+ return `${vestingCliffString.days} D + ${vestingTime.days} D`;
39359
+ }
39360
+ return '-';
39361
+ };
39362
+ const getVestingTermsTooltipString = (bond) => {
39363
+ var _a, _b;
39364
+ const vestingTerm = (_a = bond === null || bond === void 0 ? void 0 : bond.vestingTerm) !== null && _a !== void 0 ? _a : 0;
39365
+ const vestingCliff = (_b = bond === null || bond === void 0 ? void 0 : bond.vestingCliff) !== null && _b !== void 0 ? _b : 0;
39366
+ const vestingTime = getTimePeriods(vestingTerm - vestingCliff, true);
39367
+ const vestingCliffString = getTimePeriods(vestingCliff, true);
39368
+ return `${vestingCliffString.days} days cliff + ${vestingTime.days} days linear vesting.`;
39338
39369
  };
39339
39370
  const discountEarnTokenPrice = (bond) => {
39340
39371
  var _a, _b;
@@ -43209,7 +43240,7 @@ const TransferAction = ({ userBill, toAddress, disabled, }) => {
43209
43240
  };
43210
43241
 
43211
43242
  const TransferModal = ({ onDismiss, userBill }) => {
43212
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
43243
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
43213
43244
  // State
43214
43245
  const [confirmSend, setConfirmSend] = useState(false);
43215
43246
  const [toAddress, setToAddress] = useState('');
@@ -43219,7 +43250,7 @@ const TransferModal = ({ onDismiss, userBill }) => {
43219
43250
  const { lpToken, earnToken } = (_a = userBill === null || userBill === void 0 ? void 0 : userBill.bond) !== null && _a !== void 0 ? _a : {};
43220
43251
  const pending = chainId &&
43221
43252
  ((_e = getBalanceNumber(new BigNumber$1((_b = userBill === null || userBill === void 0 ? void 0 : userBill.payout) !== null && _b !== void 0 ? _b : 0), (_d = (_c = earnToken === null || earnToken === void 0 ? void 0 : earnToken.decimals) === null || _c === void 0 ? void 0 : _c[chainId]) !== null && _d !== void 0 ? _d : 18)) === null || _e === void 0 ? void 0 : _e.toFixed(4));
43222
- return (jsxs(Modal, { onDismiss: onDismiss, title: "Transfer Bond", zIndex: 130, children: [jsx$2(Flex, { sx: { mt: '20px' }, children: jsx$2(Text, { sx: { fontWeight: 700 }, children: " Transferring: " }) }), jsxs(Flex, { sx: { flexDirection: 'column', alignItems: 'center', mt: '30px', mr: '10px' }, children: [jsxs(Text, { sx: { fontWeight: 700, fontSize: '25px' }, children: [lpToken === null || lpToken === void 0 ? void 0 : lpToken.symbol, " #", userBill === null || userBill === void 0 ? void 0 : userBill.id] }), jsxs(Flex, { sx: { mt: '5px' }, children: [jsxs(Flex, { sx: { flexDirection: 'column', mr: '20px' }, children: [jsx$2(Text, { sx: { textAlign: 'center', width: '100%', fontSize: '12px', opacity: 0.6 }, children: "Vesting time" }), getPendingVesting((_f = userBill.lastBlockTimestamp) !== null && _f !== void 0 ? _f : '', (_g = userBill.vesting) !== null && _g !== void 0 ? _g : '')] }), jsxs(Flex, { sx: { flexDirection: 'column', ml: '20px' }, children: [jsx$2(Text, { sx: { textAlign: 'center', width: '100%', fontSize: '12px', opacity: 0.6 }, children: "Pending" }), jsxs(Flex, { children: [jsx$2(TokenImage, { symbol: (_j = (_h = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _h === void 0 ? void 0 : _h.showcaseTokenName) !== null && _j !== void 0 ? _j : (_l = (_k = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _k === void 0 ? void 0 : _k.earnToken) === null || _l === void 0 ? void 0 : _l.symbol, size: 20, chain: (_m = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _m === void 0 ? void 0 : _m.chainId }), jsx$2(Text, { sx: { fontWeight: 700, ml: '5px' }, children: pending })] })] })] })] }), jsxs(Flex, { sx: { flexDirection: 'column', mt: '30px' }, children: [jsx$2(Text, { sx: { fontWeight: 700 }, children: "Receiving Address:" }), jsx$2(Input, { mt: "10px", size: "lg", placeholder: 'Paste the address here', value: toAddress, onChange: (e) => setToAddress(e.target.value), style: { width: '345px', border: 'none' } })] }), jsx$2(Flex, { sx: { mt: '15px' }, children: jsxs(Text, { sx: { lineHeight: '18px', fontSize: '12px', color: 'rgba(223, 65, 65, 1)' }, children: [jsx$2(Text, { sx: { display: 'block', width: '100%', fontWeight: 700, fontSize: '13px', color: 'rgba(223, 65, 65, 1)' }, children: "WARNING" }), "When transfering the NFT all pending rewards will also be transfered to the receiver address."] }) }), jsxs(Flex, { onClick: () => setConfirmSend((prev) => !prev), sx: { mt: '20px', cursor: 'pointer', alignItems: 'center' }, children: [jsx$2(Checkbox, { checked: confirmSend, onChange: () => null }), jsx$2(Text, { sx: { ml: '10px', fontSize: '12px', fontWeight: 500, lineHeight: '18px' }, children: "I understand the new wallet gains ownership of all unclaimed assets." })] }), jsx$2(Flex, { sx: { justifyContent: 'center', mt: '15px' }, children: jsx$2(TransferAction, { userBill: userBill, toAddress: toAddress, disabled: !confirmSend || !toAddress }) })] }));
43253
+ return (jsxs(Modal, { onDismiss: onDismiss, title: "Transfer Bond", zIndex: 130, children: [jsx$2(Flex, { sx: { mt: '20px' }, children: jsx$2(Text, { sx: { fontWeight: 700 }, children: " Transferring: " }) }), jsxs(Flex, { sx: { flexDirection: 'column', alignItems: 'center', mt: '30px', mr: '10px' }, children: [jsxs(Text, { sx: { fontWeight: 700, fontSize: '25px' }, children: [lpToken === null || lpToken === void 0 ? void 0 : lpToken.symbol, " #", userBill === null || userBill === void 0 ? void 0 : userBill.id] }), jsxs(Flex, { sx: { mt: '5px' }, children: [jsxs(Flex, { sx: { flexDirection: 'column', mr: '20px' }, children: [jsx$2(Text, { sx: { textAlign: 'center', width: '100%', fontSize: '12px', opacity: 0.6 }, children: "Vesting time" }), getPendingVestingString(userBill)] }), jsxs(Flex, { sx: { flexDirection: 'column', ml: '20px' }, children: [jsx$2(Text, { sx: { textAlign: 'center', width: '100%', fontSize: '12px', opacity: 0.6 }, children: "Pending" }), jsxs(Flex, { children: [jsx$2(TokenImage, { symbol: (_g = (_f = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _f === void 0 ? void 0 : _f.showcaseTokenName) !== null && _g !== void 0 ? _g : (_j = (_h = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _h === void 0 ? void 0 : _h.earnToken) === null || _j === void 0 ? void 0 : _j.symbol, size: 20, chain: (_k = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _k === void 0 ? void 0 : _k.chainId }), jsx$2(Text, { sx: { fontWeight: 700, ml: '5px' }, children: pending })] })] })] })] }), jsxs(Flex, { sx: { flexDirection: 'column', mt: '30px' }, children: [jsx$2(Text, { sx: { fontWeight: 700 }, children: "Receiving Address:" }), jsx$2(Input, { mt: "10px", size: "lg", placeholder: 'Paste the address here', value: toAddress, onChange: (e) => setToAddress(e.target.value), style: { width: '345px', border: 'none' } })] }), jsx$2(Flex, { sx: { mt: '15px' }, children: jsxs(Text, { sx: { lineHeight: '18px', fontSize: '12px', color: 'rgba(223, 65, 65, 1)' }, children: [jsx$2(Text, { sx: { display: 'block', width: '100%', fontWeight: 700, fontSize: '13px', color: 'rgba(223, 65, 65, 1)' }, children: "WARNING" }), "When transfering the NFT all pending rewards will also be transfered to the receiver address."] }) }), jsxs(Flex, { onClick: () => setConfirmSend((prev) => !prev), sx: { mt: '20px', cursor: 'pointer', alignItems: 'center' }, children: [jsx$2(Checkbox, { checked: confirmSend, onChange: () => null }), jsx$2(Text, { sx: { ml: '10px', fontSize: '12px', fontWeight: 500, lineHeight: '18px' }, children: "I understand the new wallet gains ownership of all unclaimed assets." })] }), jsx$2(Flex, { sx: { justifyContent: 'center', mt: '15px' }, children: jsx$2(TransferAction, { userBill: userBill, toAddress: toAddress, disabled: !confirmSend || !toAddress }) })] }));
43223
43254
  };
43224
43255
  var TransferBondModal = React__default.memo(TransferModal);
43225
43256
 
@@ -69206,6 +69237,12 @@ const YourBondsModal = ({ onDismiss, userBill }) => {
69206
69237
  const { isLoading, isSuccess: isConfirmed } = useMonitorTxHash(claimTxHash, (_b = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _b === void 0 ? void 0 : _b.chainId);
69207
69238
  const { addToastError } = usePopups();
69208
69239
  const load = loadingTx || (isLoading && !isConfirmed);
69240
+ // Cliff display info:
69241
+ const vestingCliff = (_c = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _c === void 0 ? void 0 : _c.vestingCliff;
69242
+ const currentTime = Math.round(new Date().getTime() / 1000);
69243
+ const lastBlockTimestamp = parseInt((_d = userBill === null || userBill === void 0 ? void 0 : userBill.lastBlockTimestamp) !== null && _d !== void 0 ? _d : '0');
69244
+ const isPendingCliff = vestingCliff ? currentTime - lastBlockTimestamp < vestingCliff : false;
69245
+ const cliffCountdown = getTimePeriods(lastBlockTimestamp + (vestingCliff !== null && vestingCliff !== void 0 ? vestingCliff : 0) - currentTime, true);
69209
69246
  const handleClaim = (billId, billAddress) => __awaiter$9(void 0, void 0, void 0, function* () {
69210
69247
  const address = billAddress;
69211
69248
  try {
@@ -69246,9 +69283,9 @@ const YourBondsModal = ({ onDismiss, userBill }) => {
69246
69283
  var _a, _b, _c, _d, _e, _f;
69247
69284
  return getBalanceNumber(new BigNumber$1((_a = userBill === null || userBill === void 0 ? void 0 : userBill.pendingRewards) !== null && _a !== void 0 ? _a : '0'), (_f = (_d = (_c = (_b = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _b === void 0 ? void 0 : _b.earnToken) === null || _c === void 0 ? void 0 : _c.decimals) === null || _d === void 0 ? void 0 : _d[(_e = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _e === void 0 ? void 0 : _e.chainId]) !== null && _f !== void 0 ? _f : 18);
69248
69285
  };
69249
- const earnTokenPrice = useCurrencyPrice((_c = userBill === null || userBill === void 0 ? void 0 : userBill.bond.earnToken) !== null && _c !== void 0 ? _c : null, (_e = (_d = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _d === void 0 ? void 0 : _d.chainId) !== null && _e !== void 0 ? _e : null);
69286
+ const earnTokenPrice = useCurrencyPrice((_e = userBill === null || userBill === void 0 ? void 0 : userBill.bond.earnToken) !== null && _e !== void 0 ? _e : null, (_g = (_f = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _f === void 0 ? void 0 : _f.chainId) !== null && _g !== void 0 ? _g : null);
69250
69287
  const BILL_ATTRIBUTES = ['The Legend', 'The Location', 'The Moment', 'The Trend', 'The Innovation'];
69251
- const attributes = (_f = bondNFTData === null || bondNFTData === void 0 ? void 0 : bondNFTData.attributes) === null || _f === void 0 ? void 0 : _f.filter((attrib) => BILL_ATTRIBUTES.includes(attrib.trait_type));
69288
+ const attributes = (_h = bondNFTData === null || bondNFTData === void 0 ? void 0 : bondNFTData.attributes) === null || _h === void 0 ? void 0 : _h.filter((attrib) => BILL_ATTRIBUTES.includes(attrib.trait_type));
69252
69289
  const handleImageLoad = () => {
69253
69290
  setImgLoaded(true);
69254
69291
  };
@@ -69260,11 +69297,11 @@ const YourBondsModal = ({ onDismiss, userBill }) => {
69260
69297
  justifyContent: 'center',
69261
69298
  alignItems: 'center',
69262
69299
  zIndex: 1,
69263
- }, children: jsx$2(Spinner, { width: 100 }) }))] }), jsxs(Flex$1, { className: "yourbondsmodal yourbondinfo", children: [jsxs(Flex$1, { className: "yourbondinfo title-container", children: [jsx$2(Flex$1, { className: "title-container bondicon", children: userBill && (jsx$2(TokenImage, { symbol: (_h = (_g = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _g === void 0 ? void 0 : _g.showcaseTokenName) !== null && _h !== void 0 ? _h : (_k = (_j = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _j === void 0 ? void 0 : _j.earnToken) === null || _k === void 0 ? void 0 : _k.symbol, size: 40, chain: userBill === null || userBill === void 0 ? void 0 : userBill.bond.chainId })) }), jsx$2(Flex$1, { className: "title-container tokenname", children: (_m = (_l = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _l === void 0 ? void 0 : _l.showcaseTokenName) !== null && _m !== void 0 ? _m : userBill === null || userBill === void 0 ? void 0 : userBill.bond.earnToken.symbol }), jsx$2(Flex$1, { className: "title-container tokentags", children: (_p = (_o = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _o === void 0 ? void 0 : _o.tags) === null || _p === void 0 ? void 0 : _p.slice(0, 1).map((tag) => {
69300
+ }, children: jsx$2(Spinner, { width: 100 }) }))] }), jsxs(Flex$1, { className: "yourbondsmodal yourbondinfo", children: [jsxs(Flex$1, { className: "yourbondinfo title-container", children: [jsx$2(Flex$1, { className: "title-container bondicon", children: userBill && (jsx$2(TokenImage, { symbol: (_k = (_j = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _j === void 0 ? void 0 : _j.showcaseTokenName) !== null && _k !== void 0 ? _k : (_m = (_l = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _l === void 0 ? void 0 : _l.earnToken) === null || _m === void 0 ? void 0 : _m.symbol, size: 40, chain: userBill === null || userBill === void 0 ? void 0 : userBill.bond.chainId })) }), jsx$2(Flex$1, { className: "title-container tokenname", children: (_p = (_o = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _o === void 0 ? void 0 : _o.showcaseTokenName) !== null && _p !== void 0 ? _p : userBill === null || userBill === void 0 ? void 0 : userBill.bond.earnToken.symbol }), jsx$2(Flex$1, { className: "title-container tokentags", children: (_r = (_q = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _q === void 0 ? void 0 : _q.tags) === null || _r === void 0 ? void 0 : _r.slice(0, 1).map((tag) => {
69264
69301
  return (jsx$2(Flex$1, { sx: { marginRight: '10px' }, children: jsx$2(ListTag, { text: tag === null || tag === void 0 ? void 0 : tag.toUpperCase() }) }, tag));
69265
69302
  }) }), jsxs(Text, { sx: { color: 'text', opacity: '0.6', fontSize: ['12px', '12px', '12px', '16px'] }, children: ["#", userBill === null || userBill === void 0 ? void 0 : userBill.id] })] }), jsxs(Flex$1, { className: "yourbondinfo blocks-container", children: [jsxs(Flex$1, { className: "attributes-container", children: [jsxs(Flex$1, { className: "attributes-header", sx: {
69266
69303
  borderRadius: `${isOpenTraits ? '6px 6px 0px 0px' : 'normal'}`,
69267
- }, onClick: () => setIsOpenTraits(!isOpenTraits), children: [jsxs(Flex$1, { sx: { gap: '10px', alignItems: 'center' }, children: [jsx$2(Svg, { icon: "tag", direction: "down" }), jsx$2(Text, { sx: { fontSize: '12px', fontWeight: 400, color: 'text', opacity: '0.6' }, children: "Traits" })] }), jsx$2(Svg, { icon: "caret", direction: isOpenTraits ? 'up' : 'down' })] }), ((_q = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _q === void 0 ? void 0 : _q.billType) === 'staking' && (jsxs(Flex$1, { sx: {
69304
+ }, onClick: () => setIsOpenTraits(!isOpenTraits), children: [jsxs(Flex$1, { sx: { gap: '10px', alignItems: 'center' }, children: [jsx$2(Svg, { icon: "tag", direction: "down" }), jsx$2(Text, { sx: { fontSize: '12px', fontWeight: 400, color: 'text', opacity: '0.6' }, children: "Traits" })] }), jsx$2(Svg, { icon: "caret", direction: isOpenTraits ? 'up' : 'down' })] }), ((_s = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _s === void 0 ? void 0 : _s.billType) === 'staking' && (jsxs(Flex$1, { sx: {
69268
69305
  p: '5px 10px',
69269
69306
  width: '100%',
69270
69307
  background: '#8E568F',
@@ -69278,7 +69315,7 @@ const YourBondsModal = ({ onDismiss, userBill }) => {
69278
69315
  ? attributes.map((a) => (jsxs(Flex$1, { sx: { background: 'white4', width: '100%', padding: '2px 8px' }, children: [jsx$2(Text, { sx: { fontSize: '10px', fontWeight: 500 }, children: a === null || a === void 0 ? void 0 : a.trait_type }), jsx$2(Text, { sx: { fontSize: '10px', fontWeight: 500 }, children: a === null || a === void 0 ? void 0 : a.value })] }, a.value)))
69279
69316
  : BILL_ATTRIBUTES.map((attrib) => {
69280
69317
  return (jsxs(Flex$1, { sx: { background: 'white4', width: '100%', padding: '2px 8px' }, children: [jsx$2(Text, { sx: { fontSize: '10px', fontWeight: 500 }, children: attrib }), jsx$2(Skeleton, { width: "150px" })] }, attrib));
69281
- }) }) })) })] }), jsxs(Flex$1, { className: "yourbondinfo-block row-vested", children: [jsxs(Flex$1, { className: "yourbondinfo-block header", children: [jsx$2(Flex$1, { className: "yourbondinfo-block header-title", children: "Fully Vested" }), jsx$2(Flex$1, { className: "yourbondinfo-block header-tooltip", children: jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(Flex$1, { children: UserBillTooltipText.FullyVested }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx$2(Flex$1, { className: "block-header icon", children: jsx$2(Svg, { icon: "questionCircle", width: "12px" }) }) }) })] }), jsxs(Flex$1, { className: "yourbondinfo-block info", children: [jsx$2(Flex$1, { className: "block-info icon" }), jsx$2(Flex$1, { className: "block-info text", children: jsx$2(Text, { sx: { fontSize: ['12px', '12px', '12px', '19px'], fontWeight: 700 }, children: getPendingVesting((_r = userBill === null || userBill === void 0 ? void 0 : userBill.lastBlockTimestamp) !== null && _r !== void 0 ? _r : '', (_s = userBill === null || userBill === void 0 ? void 0 : userBill.vesting) !== null && _s !== void 0 ? _s : '') }) })] })] }), jsxs(Flex$1, { className: "yourbondinfo-block row-pending", children: [jsxs(Flex$1, { className: "yourbondinfo-block header", children: [jsx$2(Flex$1, { className: "yourbondinfo-block header-title", children: "Pending" }), jsx$2(Flex$1, { className: "yourbondinfo-block header-tooltip", children: jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(Flex$1, { children: UserBillTooltipText.Pending }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx$2(Flex$1, { className: "block-header icon", children: jsx$2(Svg, { icon: "questionCircle", width: "12px" }) }) }) })] }), jsxs(Flex$1, { className: "yourbondinfo-block info", children: [jsx$2(Flex$1, { className: "block-info icon", children: userBill && (jsx$2(TokenImage, { symbol: (_u = (_t = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _t === void 0 ? void 0 : _t.showcaseTokenName) !== null && _u !== void 0 ? _u : (_w = (_v = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _v === void 0 ? void 0 : _v.earnToken) === null || _w === void 0 ? void 0 : _w.symbol, size: 25, chain: (_x = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _x === void 0 ? void 0 : _x.chainId })) }), jsxs(Flex$1, { className: "block-info text", children: [jsx$2(Text, { sx: { fontSize: ['12px', '12px', '12px', '19px'], fontWeight: 700 }, children: formatNumberSI(parseFloat(totalPending(userBill).toFixed(4)), 4) }), jsx$2(Text, { sx: {
69318
+ }) }) })) })] }), jsxs(Flex$1, { className: "yourbondinfo-block row-vested", children: [jsxs(Flex$1, { className: "yourbondinfo-block header", children: [jsx$2(Flex$1, { className: "yourbondinfo-block header-title", children: "Fully Vested" }), jsx$2(Flex$1, { className: "yourbondinfo-block header-tooltip", children: jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(Flex$1, { children: UserBillTooltipText.FullyVested }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx$2(Flex$1, { className: "block-header icon", children: jsx$2(Svg, { icon: "questionCircle", width: "12px" }) }) }) })] }), jsxs(Flex$1, { className: "yourbondinfo-block info", children: [jsx$2(Flex$1, { className: "block-info icon" }), jsx$2(Flex$1, { className: "block-info text", children: jsxs(Flex$1, { sx: { fontSize: ['12px', '12px', '12px', '19px'], fontWeight: 700 }, children: [vestingTimeRemainingString(userBill), isPendingCliff && (jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsxs(Flex$1, { children: ["Bond will be claimable in", ' ', `${cliffCountdown.days !== 0 ? `${cliffCountdown.days} days` : cliffCountdown.hours !== 0 ? `${cliffCountdown.hours} hours` : `${cliffCountdown.minutes} mins`}`, "."] }), width: "180px", placement: "bottomRight", transformTip: "translate(13%, 0%)", children: jsx$2(Flex$1, { sx: { opacity: 0.6, ml: '6px' }, children: jsx$2(Svg, { icon: "questionCircle", width: "12px" }) }) }))] }) })] })] }), jsxs(Flex$1, { className: "yourbondinfo-block row-pending", children: [jsxs(Flex$1, { className: "yourbondinfo-block header", children: [jsx$2(Flex$1, { className: "yourbondinfo-block header-title", children: "Pending" }), jsx$2(Flex$1, { className: "yourbondinfo-block header-tooltip", children: jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(Flex$1, { children: UserBillTooltipText.Pending }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx$2(Flex$1, { className: "block-header icon", children: jsx$2(Svg, { icon: "questionCircle", width: "12px" }) }) }) })] }), jsxs(Flex$1, { className: "yourbondinfo-block info", children: [jsx$2(Flex$1, { className: "block-info icon", children: userBill && (jsx$2(TokenImage, { symbol: (_u = (_t = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _t === void 0 ? void 0 : _t.showcaseTokenName) !== null && _u !== void 0 ? _u : (_w = (_v = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _v === void 0 ? void 0 : _v.earnToken) === null || _w === void 0 ? void 0 : _w.symbol, size: 25, chain: (_x = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _x === void 0 ? void 0 : _x.chainId })) }), jsxs(Flex$1, { className: "block-info text", children: [jsx$2(Text, { sx: { fontSize: ['12px', '12px', '12px', '19px'], fontWeight: 700 }, children: formatNumberSI(parseFloat(totalPending(userBill).toFixed(4)), 4) }), jsx$2(Text, { sx: {
69282
69319
  fontSize: ['10px', '10px', '10px', '12px'],
69283
69320
  fontWeight: [500, 500, 500, 400],
69284
69321
  paddingLeft: '10px',
@@ -69290,10 +69327,12 @@ const YourBondsModal = ({ onDismiss, userBill }) => {
69290
69327
  var _a;
69291
69328
  event.stopPropagation();
69292
69329
  switchChain({ chainId: (_a = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _a === void 0 ? void 0 : _a.chainId });
69293
- }, children: ["Switch to ", NETWORK_LABEL[(_5 = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _5 === void 0 ? void 0 : _5.chainId]] })) : (jsx$2(Button, { className: "claim-button", disabled: claimable(userBill) === 0 || load || !userBill, load: load, onClick: (event) => {
69330
+ }, children: ["Switch to ", NETWORK_LABEL[(_5 = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _5 === void 0 ? void 0 : _5.chainId]] })) : (jsx$2(Button, { className: "claim-button", disabled: claimable(userBill) === 0 || load || !userBill || isPendingCliff, load: load, onClick: (event) => {
69294
69331
  event.stopPropagation();
69295
69332
  handleClaim(userBill === null || userBill === void 0 ? void 0 : userBill.id, userBill === null || userBill === void 0 ? void 0 : userBill.address);
69296
- }, children: "Claim" })) }), jsx$2(Flex$1, { className: "button-container transfer", children: jsx$2(Button, { className: "transfer-button", variant: "secondary", onClick: onTransferBondModal, disabled: !userBill, children: "TRANSFER" }) })] })] })] }), jsx$2(Recommendations, { onDismiss: onDismiss, billAddress: userBill === null || userBill === void 0 ? void 0 : userBill.address })] }) }));
69333
+ }, children: isPendingCliff
69334
+ ? `Claimable in ${cliffCountdown.days !== 0 ? `${cliffCountdown.days} days` : cliffCountdown.hours !== 0 ? `${cliffCountdown.hours} hours` : `${cliffCountdown.minutes} mins`}`
69335
+ : 'Claim' })) }), jsx$2(Flex$1, { className: "button-container transfer", children: jsx$2(Button, { className: "transfer-button", variant: "secondary", onClick: onTransferBondModal, disabled: !userBill, children: "TRANSFER" }) })] })] })] }), jsx$2(Recommendations, { onDismiss: onDismiss, billAddress: userBill === null || userBill === void 0 ? void 0 : userBill.address })] }) }));
69297
69336
  };
69298
69337
 
69299
69338
  const styles$a = {
@@ -69408,7 +69447,7 @@ const BondInfoTooltip = ({ earnTokenContract, earnTokenSymbol, bondContract, pro
69408
69447
  };
69409
69448
 
69410
69449
  const UserBondRow = ({ bill }) => {
69411
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
69450
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
69412
69451
  const userChainId = useChainId();
69413
69452
  const { switchChain } = useSwitchChain();
69414
69453
  const { writeContractAsync } = useWriteContract();
@@ -69451,16 +69490,23 @@ const UserBondRow = ({ bill }) => {
69451
69490
  });
69452
69491
  // Display Info
69453
69492
  const earnTokenPrice = useCurrencyPrice(bill.bond.earnToken, bill.bond.chainId);
69454
- return (jsxs("div", { className: "your-bonds", onClick: onOpenPurchasedBond, children: [jsxs("div", { className: "token-info-container", children: [jsx$2(TokenInfoAndName, { bill: bill.bond, vestEnds: `Ends in ${getPendingVesting(bill.lastBlockTimestamp, bill.vesting)}` }), jsx$2("div", { className: "tooltip-column", children: jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(BondInfoTooltip, { earnTokenContract: ((_a = bill === null || bill === void 0 ? void 0 : bill.bond) === null || _a === void 0 ? void 0 : _a.earnToken.address[bill === null || bill === void 0 ? void 0 : bill.bond.chainId]) || '', earnTokenSymbol: ((_b = bill === null || bill === void 0 ? void 0 : bill.bond) === null || _b === void 0 ? void 0 : _b.earnToken.symbol) || '', bondContract: (_c = bill === null || bill === void 0 ? void 0 : bill.address) !== null && _c !== void 0 ? _c : '', projectLink: (_d = bill === null || bill === void 0 ? void 0 : bill.bond) === null || _d === void 0 ? void 0 : _d.projectLink, twitter: (_e = bill === null || bill === void 0 ? void 0 : bill.bond) === null || _e === void 0 ? void 0 : _e.twitter, audit: (_f = bill === null || bill === void 0 ? void 0 : bill.bond) === null || _f === void 0 ? void 0 : _f.audit, chain: (_g = bill === null || bill === void 0 ? void 0 : bill.bond) === null || _g === void 0 ? void 0 : _g.chainId }), width: "205px", placement: "bottomRight", transformTip: "translate(5%, 0%)", children: jsx$2(Flex$1, { sx: {
69493
+ const vestingCliff = (_a = bill === null || bill === void 0 ? void 0 : bill.bond) === null || _a === void 0 ? void 0 : _a.vestingCliff;
69494
+ const currentTime = Math.round(new Date().getTime() / 1000);
69495
+ const lastBlockTimestamp = parseInt((_b = bill === null || bill === void 0 ? void 0 : bill.lastBlockTimestamp) !== null && _b !== void 0 ? _b : '0');
69496
+ const isPendingCliff = vestingCliff ? currentTime - lastBlockTimestamp < vestingCliff : false;
69497
+ const cliffCountdown = getTimePeriods(lastBlockTimestamp + (vestingCliff !== null && vestingCliff !== void 0 ? vestingCliff : 0) - currentTime, true);
69498
+ return (jsxs("div", { className: "your-bonds", onClick: onOpenPurchasedBond, children: [jsxs("div", { className: "token-info-container", children: [jsx$2(TokenInfoAndName, { bill: bill.bond, vestEnds: `Ends in ${getPendingVestingString(bill)}` }), jsx$2("div", { className: "tooltip-column", children: jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(BondInfoTooltip, { earnTokenContract: ((_c = bill === null || bill === void 0 ? void 0 : bill.bond) === null || _c === void 0 ? void 0 : _c.earnToken.address[bill === null || bill === void 0 ? void 0 : bill.bond.chainId]) || '', earnTokenSymbol: ((_d = bill === null || bill === void 0 ? void 0 : bill.bond) === null || _d === void 0 ? void 0 : _d.earnToken.symbol) || '', bondContract: (_e = bill === null || bill === void 0 ? void 0 : bill.address) !== null && _e !== void 0 ? _e : '', projectLink: (_f = bill === null || bill === void 0 ? void 0 : bill.bond) === null || _f === void 0 ? void 0 : _f.projectLink, twitter: (_g = bill === null || bill === void 0 ? void 0 : bill.bond) === null || _g === void 0 ? void 0 : _g.twitter, audit: (_h = bill === null || bill === void 0 ? void 0 : bill.bond) === null || _h === void 0 ? void 0 : _h.audit, chain: (_j = bill === null || bill === void 0 ? void 0 : bill.bond) === null || _j === void 0 ? void 0 : _j.chainId }), width: "205px", placement: "bottomRight", transformTip: "translate(5%, 0%)", children: jsx$2(Flex$1, { sx: {
69455
69499
  opacity: 0.8,
69456
- }, children: jsx$2(Svg, { icon: "more", width: "25px" }) }) }) })] }), jsxs("div", { className: "your-bonds-columns-container", children: [jsxs("div", { className: "your-bonds-content", children: [jsx$2("div", { className: "your-bonds-content-title", children: "Claimable" }), jsxs("div", { className: "your-bonds-content-tokens-amount", children: [formatNumberSI(parseFloat(claimable(bill).toFixed(4)), 4), jsx$2("div", { className: "your-bonds-content-tokens-usd-amount", children: `($${(claimable(bill) * ((_h = earnTokenPrice === null || earnTokenPrice === void 0 ? void 0 : earnTokenPrice.price) !== null && _h !== void 0 ? _h : 0)).toFixed(2)})` })] })] }), jsxs("div", { className: "your-bonds-content", children: [jsx$2("div", { className: "your-bonds-content-title", children: "Pending" }), jsxs("div", { className: "your-bonds-content-tokens-amount", children: [formatNumberSI(parseFloat(totalPending(bill).toFixed(0)), 0), jsx$2("div", { className: "your-bonds-content-tokens-usd-amount", children: `($${(totalPending(bill) * ((_j = earnTokenPrice === null || earnTokenPrice === void 0 ? void 0 : earnTokenPrice.price) !== null && _j !== void 0 ? _j : 0)).toFixed(2)})` })] })] }), jsx$2("div", { className: "your-bonds-content hide-mobile", children: `${vestingTimeRemaining(bill).days}d, ${vestingTimeRemaining(bill).hours}h, ${vestingTimeRemaining(bill).minutes}m` }), jsx$2("div", { className: "your-bonds-column-button", children: userChainId !== bill.bond.chainId ? (jsxs(Button, { className: "button", disabled: claimable(bill) === 0 || load, load: load, onClick: (event) => {
69500
+ }, children: jsx$2(Svg, { icon: "more", width: "25px" }) }) }) })] }), jsxs("div", { className: "your-bonds-columns-container", children: [jsxs("div", { className: "your-bonds-content", children: [jsx$2("div", { className: "your-bonds-content-title", children: "Claimable" }), jsxs("div", { className: "your-bonds-content-tokens-amount", children: [formatNumberSI(parseFloat(claimable(bill).toFixed(4)), 4), jsx$2("div", { className: "your-bonds-content-tokens-usd-amount", children: `($${(claimable(bill) * ((_k = earnTokenPrice === null || earnTokenPrice === void 0 ? void 0 : earnTokenPrice.price) !== null && _k !== void 0 ? _k : 0)).toFixed(2)})` })] })] }), jsxs("div", { className: "your-bonds-content", children: [jsx$2("div", { className: "your-bonds-content-title", children: "Pending" }), jsxs("div", { className: "your-bonds-content-tokens-amount", children: [formatNumberSI(parseFloat(totalPending(bill).toFixed(0)), 0), jsx$2("div", { className: "your-bonds-content-tokens-usd-amount", children: `($${(totalPending(bill) * ((_l = earnTokenPrice === null || earnTokenPrice === void 0 ? void 0 : earnTokenPrice.price) !== null && _l !== void 0 ? _l : 0)).toFixed(2)})` })] })] }), jsx$2("div", { className: "your-bonds-content hide-mobile", children: vestingTimeRemainingString(bill) }), jsx$2("div", { className: "your-bonds-column-button", children: userChainId !== bill.bond.chainId ? (jsxs(Button, { className: "button", disabled: claimable(bill) === 0 || load, load: load, onClick: (event) => {
69457
69501
  event.stopPropagation();
69458
69502
  // Add your claim logic here
69459
69503
  switchChain({ chainId: bill.bond.chainId });
69460
- }, fullWidth: true, children: ["Switch to ", NETWORK_LABEL[bill.bond.chainId]] })) : (jsx$2(Button, { className: "button", disabled: claimable(bill) === 0 || load, load: load, onClick: (event) => {
69504
+ }, fullWidth: true, children: ["Switch to ", NETWORK_LABEL[bill.bond.chainId]] })) : (jsx$2(Button, { className: "button", disabled: claimable(bill) === 0 || load || isPendingCliff, load: load, onClick: (event) => {
69461
69505
  event.stopPropagation();
69462
69506
  handleClaim(bill.id, bill.address);
69463
- }, fullWidth: true, children: "Claim" })) })] })] }));
69507
+ }, fullWidth: true, children: isPendingCliff
69508
+ ? `Claimable in ${cliffCountdown.days !== 0 ? `${cliffCountdown.days} days` : cliffCountdown.hours !== 0 ? `${cliffCountdown.hours} hours` : `${cliffCountdown.minutes} mins`}`
69509
+ : 'Claim' })) })] })] }));
69464
69510
  };
69465
69511
 
69466
69512
  function useBondsList() {
@@ -69907,7 +69953,7 @@ const ChainOptionsButtons = ({ selectedChain, setSelectedChain, setViewAllChains
69907
69953
 
69908
69954
  const ClaimAllModal = () => {
69909
69955
  var _a, _b;
69910
- const { chainId, address: account } = useAccount();
69956
+ const { chainId } = useAccount();
69911
69957
  const { switchChain } = useSwitchChain();
69912
69958
  const SDKConfig = useSDKConfig();
69913
69959
  const chains = SDKConfig === null || SDKConfig === void 0 ? void 0 : SDKConfig.chains;
@@ -70060,6 +70106,9 @@ const YourBonds = () => {
70060
70106
  // Filter by filter option (claimable or all buttons)
70061
70107
  if (filterOption === 'CLAIMABLE') {
70062
70108
  bondsToReturn = bondsToReturn === null || bondsToReturn === void 0 ? void 0 : bondsToReturn.filter((bond) => {
70109
+ if (bond.bond.vestingCliff) {
70110
+ return bond.payout !== '0';
70111
+ }
70063
70112
  return bond.pendingRewards !== '0';
70064
70113
  });
70065
70114
  }
@@ -70136,7 +70185,7 @@ const useTopTags = (initialBondList) => {
70136
70185
 
70137
70186
  const isBondSoldOut = (bill) => {
70138
70187
  var _a;
70139
- const { tokensRemaining, discount, payoutTokenPrice, bonus } = bill;
70188
+ const { tokensRemaining, payoutTokenPrice, bonus } = bill;
70140
70189
  if (bill.soldOut)
70141
70190
  return true;
70142
70191
  if (bill.inactive)
@@ -72404,24 +72453,20 @@ const BondModalHeader = ({ bondData, onDismiss, showProjectInfoButton, }) => {
72404
72453
  };
72405
72454
 
72406
72455
  const BondCards = ({ bondData }) => {
72407
- var _a, _b, _c, _d, _e, _f, _g, _h;
72456
+ var _a, _b, _c, _d, _e, _f;
72408
72457
  return (jsxs("div", { className: "bonds-cards", children: [jsxs("div", { className: "bond-card-block", style: { color: getDiscountColor(bondData === null || bondData === void 0 ? void 0 : bondData.bonus) }, children: [jsxs("div", { className: "bond-card-title", children: ["Bonus", jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(Flex, { children: TooltipText.Discount }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx$2("div", { className: "bond-card-tooltip", children: jsx$2(Svg, { icon: "questionCircle", width: "12px" }) }) })] }), jsx$2("div", { className: "bond-card-content", children: (bondData === null || bondData === void 0 ? void 0 : bondData.bonus) < 0 ? '0%' : `${(_a = bondData === null || bondData === void 0 ? void 0 : bondData.bonus) === null || _a === void 0 ? void 0 : _a.toFixed(2)}%` })] }), bondData.type !== 'staking' && (jsxs("div", { className: "bond-card-block hide-mobile", children: [jsxs("div", { className: "bond-card-title", children: ["ARR", jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(Flex, { children: TooltipText.ARR }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx$2("div", { className: "bond-card-tooltip", children: jsx$2(Svg, { icon: "questionCircle", width: "12px" }) }) })] }), jsx$2("div", { className: "bond-card-content", children: (bondData === null || bondData === void 0 ? void 0 : bondData.bonus) < 0
72409
72458
  ? '0%'
72410
- : `${((((_b = bondData === null || bondData === void 0 ? void 0 : bondData.bonus) !== null && _b !== void 0 ? _b : 0) * 365) / vestingTime((_c = bondData === null || bondData === void 0 ? void 0 : bondData.vestingTerm) !== null && _c !== void 0 ? _c : 0).days).toFixed(2)}%` })] })), jsxs("div", { className: "bond-card-block", children: [jsxs("div", { className: "bond-card-title", children: ["Terms", jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(Flex, { children: TooltipText.Terms }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx$2("div", { className: "bond-card-tooltip", children: jsx$2(Svg, { icon: "questionCircle", width: "12px" }) }) })] }), jsx$2("div", { className: "bond-card-content", children: bondData.type === 'staking'
72411
- ? `${daysLeftOnBasepadPool()} D Lock`
72412
- : vestingTime((_d = bondData === null || bondData === void 0 ? void 0 : bondData.vestingTerm) !== null && _d !== void 0 ? _d : 0).days
72413
- ? `${vestingTime((_e = bondData === null || bondData === void 0 ? void 0 : bondData.vestingTerm) !== null && _e !== void 0 ? _e : 0).days} D`
72414
- : '-' })] }), jsxs("div", { className: "bond-card-block", children: [jsxs("div", { className: "bond-card-title", children: ["Max Buy", jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(Flex, { children: TooltipText.MaxBuy((_f = bondData === null || bondData === void 0 ? void 0 : bondData.earnToken) === null || _f === void 0 ? void 0 : _f.symbol) }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx$2("div", { className: "bond-card-tooltip", children: jsx$2(Svg, { icon: "questionCircle", width: "12px" }) }) })] }), jsxs("div", { className: "bond-card-content", children: [jsx$2("div", { style: { paddingRight: '3px' }, children: jsx$2(TokenImage, { symbol: (_g = bondData.showcaseTokenName) !== null && _g !== void 0 ? _g : bondData.earnToken.symbol, size: 20 }) }), (_h = parseFloat(maxBuy(bondData).toFixed(0))) === null || _h === void 0 ? void 0 : _h.toLocaleString('en-US')] })] })] }));
72459
+ : `${((((_b = bondData === null || bondData === void 0 ? void 0 : bondData.bonus) !== null && _b !== void 0 ? _b : 0) * 365) / vestingTime((_c = bondData === null || bondData === void 0 ? void 0 : bondData.vestingTerm) !== null && _c !== void 0 ? _c : 0).days).toFixed(2)}%` })] })), jsxs("div", { className: "bond-card-block", children: [jsxs("div", { className: "bond-card-title", children: ["Terms", jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(Flex, { children: TooltipText.Terms }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx$2("div", { className: "bond-card-tooltip", children: jsx$2(Svg, { icon: "questionCircle", width: "12px" }) }) })] }), jsxs("div", { className: "bond-card-content", children: [bondData.type === 'staking' ? `${daysLeftOnBasepadPool()} D Lock` : getVestingTermsString(bondData), bondData.vestingCliff && (jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(Flex, { children: getVestingTermsTooltipString(bondData) }), 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" }) }) }))] })] }), jsxs("div", { className: "bond-card-block", children: [jsxs("div", { className: "bond-card-title", children: ["Max Buy", jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(Flex, { children: TooltipText.MaxBuy((_d = bondData === null || bondData === void 0 ? void 0 : bondData.earnToken) === null || _d === void 0 ? void 0 : _d.symbol) }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx$2("div", { className: "bond-card-tooltip", children: jsx$2(Svg, { icon: "questionCircle", width: "12px" }) }) })] }), jsxs("div", { className: "bond-card-content", children: [jsx$2("div", { style: { paddingRight: '3px' }, children: jsx$2(TokenImage, { symbol: (_e = bondData.showcaseTokenName) !== null && _e !== void 0 ? _e : bondData.earnToken.symbol, size: 20 }) }), (_f = parseFloat(maxBuy(bondData).toFixed(0))) === null || _f === void 0 ? void 0 : _f.toLocaleString('en-US')] })] })] }));
72415
72460
  };
72416
72461
 
72417
72462
  const Estimations = ({ bondData, inputValue, inputToken, estimatedOutput, inputTokenPrice, isZap, fetchingZapQuote, zapError, }) => {
72418
- var _a, _b;
72463
+ var _a, _b, _c;
72419
72464
  // Estimations
72420
72465
  const estimatedOutputUSD = estimatedOutput * parseFloat((_a = bondData === null || bondData === void 0 ? void 0 : bondData.payoutTokenPrice) !== null && _a !== void 0 ? _a : '0');
72421
72466
  const estimatedInputUSD = parseFloat(inputValue) * (inputTokenPrice !== null && inputTokenPrice !== void 0 ? inputTokenPrice : 0);
72422
72467
  const normalPremium = premium(bondData, inputValue);
72423
72468
  const premiumString = isZap ? formatUSDNumber((estimatedOutputUSD - estimatedInputUSD).toString()) : normalPremium;
72424
- return (jsxs(Flex, { className: "modaltable-container text-container", children: [jsxs(Flex, { className: "text-container row", children: [jsx$2(Flex, { className: "row-container spend", children: "You Spend:" }), jsxs(Flex, { className: "row-container spend-val", children: [youSpend(inputValue), " ", getSymbol(inputToken, bondData.chainId), " = $", ' ', formatUSDNumber(estimatedInputUSD === null || estimatedInputUSD === void 0 ? void 0 : estimatedInputUSD.toString())] })] }), jsxs(Flex, { className: "text-container row", children: [jsxs(Flex, { className: "row-container premium", children: ["Bonus:", jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(Flex, { children: TooltipText.Premium }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx$2(Flex, { className: "row-container premium-icon", children: jsx$2(Svg, { icon: "questionCircle", width: "12px" }) }) })] }), isZap && fetchingZapQuote ? (jsx$2(Dots, {})) : isZap && zapError ? ('-') : (jsxs(Flex, { className: `row-container premium-val ${getPremiumColor(premiumString)}`, children: ["$ ", premiumString] }))] }), jsxs(Flex, { className: "text-container row", children: [jsxs(Flex, { className: "row-container get", children: ["You Get (over ", vestingTime((_b = bondData === null || bondData === void 0 ? void 0 : bondData.vestingTerm) !== null && _b !== void 0 ? _b : 0).days, " days):"] }), isZap && fetchingZapQuote ? (jsx$2(Dots, {})) : isZap && zapError ? ('-') : (jsxs(Flex, { className: "row-container get-val", children: [formatNumber$2(estimatedOutput.toString()), " ", bondData === null || bondData === void 0 ? void 0 : bondData.showcaseTokenName, " = $", ' ', formatUSDNumber(estimatedOutputUSD.toString())] }))] })] }));
72469
+ return (jsxs(Flex, { className: "modaltable-container text-container", children: [jsxs(Flex, { className: "text-container row", children: [jsx$2(Flex, { className: "row-container spend", children: "You Spend:" }), jsxs(Flex, { className: "row-container spend-val", children: [youSpend(inputValue), " ", getSymbol(inputToken, bondData.chainId), " = $", ' ', formatUSDNumber(estimatedInputUSD === null || estimatedInputUSD === void 0 ? void 0 : estimatedInputUSD.toString())] })] }), jsxs(Flex, { className: "text-container row", children: [jsxs(Flex, { className: "row-container premium", children: ["Bonus:", jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(Flex, { children: TooltipText.Premium }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx$2(Flex, { className: "row-container premium-icon", children: jsx$2(Svg, { icon: "questionCircle", width: "12px" }) }) })] }), isZap && fetchingZapQuote ? (jsx$2(Dots, {})) : isZap && zapError ? ('-') : (jsxs(Flex, { className: `row-container premium-val ${getPremiumColor(premiumString)}`, children: ["$ ", premiumString] }))] }), jsxs(Flex, { className: "text-container row", children: [jsxs(Flex, { className: "row-container get", children: ["You Get (over ", vestingTime(((_b = bondData === null || bondData === void 0 ? void 0 : bondData.vestingTerm) !== null && _b !== void 0 ? _b : 0) - ((_c = bondData.vestingCliff) !== null && _c !== void 0 ? _c : 0)).days, " days):"] }), isZap && fetchingZapQuote ? (jsx$2(Dots, {})) : isZap && zapError ? ('-') : (jsxs(Flex, { className: "row-container get-val", children: [formatNumber$2(estimatedOutput.toString()), " ", bondData === null || bondData === void 0 ? void 0 : bondData.showcaseTokenName, " = $", ' ', formatUSDNumber(estimatedOutputUSD.toString())] }))] })] }));
72425
72470
  };
72426
72471
 
72427
72472
  // Custom HTML sanitizer
@@ -73449,7 +73494,7 @@ const ProgressBarWrapper = ({ title, value, style, showTooltip, toolTipPlacement
73449
73494
  var ProgressBarWrapper$1 = React__default.memo(ProgressBarWrapper);
73450
73495
 
73451
73496
  const BondRow = ({ bond }) => {
73452
- var _a, _b, _c, _d, _e, _f, _g;
73497
+ var _a, _b, _c, _d, _e;
73453
73498
  const locationPath = window.location.pathname.replace('/', '');
73454
73499
  const billAddress = 'billAddress' in bond
73455
73500
  ? bond.billAddress
@@ -73495,11 +73540,7 @@ const BondRow = ({ bond }) => {
73495
73540
  const tokens = new BigNumber$1(tokensRemaining);
73496
73541
  return tokens.times(payoutTokenPrice);
73497
73542
  };
73498
- return (jsxs("div", { className: `bond-row ${isXmasStyle ? 'xmas-border' : ''}`, onClick: handleOpenModal, children: [jsxs("div", { className: "token-info-container", children: [isXmasStyle && jsx$2("img", { src: "/images/bills/xmasHat.png", alt: "xmas-hat", className: "xmas-hat" }), jsx$2(TokenInfoAndName, { bill: bond })] }), jsxs("div", { className: "bond-info-columns", children: [jsx$2("div", { className: `discount-column ${getDiscountColor(bonus)}`, children: bonus !== undefined ? (bonus <= 0 ? (jsx$2(TooltipBubble, { className: "tooltip-bubble", body: 'This bond is currently on cooldown and has no bonus. Please check back soon.', width: "205px", placement: "bottomRight", transformTip: "translate(10%, 0%)", children: jsx$2(Svg, { icon: "Timer", width: "20px", color: "#81CFEA" }) })) : (`${bonus === null || bonus === void 0 ? void 0 : bonus.toFixed(2)}%`)) : ('-') }), jsx$2("div", { className: "arr-column", children: bonus !== undefined && bonus <= 0 ? (jsx$2(TooltipBubble, { className: "tooltip-bubble", body: 'This bond is currently on cooldown and has no bonus. Please check back soon.', width: "205px", placement: "bottomRight", transformTip: "translate(10%, 0%)", children: jsx$2(Svg, { icon: "Timer", width: "20px", color: "#81CFEA" }) })) : calculateARR(bond) !== undefined ? (calculateARR(bond)) : ('-') }), jsx$2("div", { className: "terms-column", children: bond.type === 'staking'
73499
- ? `${daysLeftOnBasepadPool()} D Lock`
73500
- : vestingTime((_a = bond === null || bond === void 0 ? void 0 : bond.vestingTerm) !== null && _a !== void 0 ? _a : 0).days
73501
- ? `${vestingTime((_b = bond === null || bond === void 0 ? void 0 : bond.vestingTerm) !== null && _b !== void 0 ? _b : 0).days} D`
73502
- : '-' }), jsx$2("div", { className: "tokens-remaining-column", children: jsx$2(ProgressBarWrapper$1, { title: '', value: jsx$2(ProgressBar, { value: remainingPercentage(bond) }), style: {
73543
+ return (jsxs("div", { className: `bond-row ${isXmasStyle ? 'xmas-border' : ''}`, onClick: handleOpenModal, children: [jsxs("div", { className: "token-info-container", children: [isXmasStyle && jsx$2("img", { src: "/images/bills/xmasHat.png", alt: "xmas-hat", className: "xmas-hat" }), jsx$2(TokenInfoAndName, { bill: bond })] }), jsxs("div", { className: "bond-info-columns", children: [jsx$2("div", { className: `discount-column ${getDiscountColor(bonus)}`, children: bonus !== undefined ? (bonus <= 0 ? (jsx$2(TooltipBubble, { className: "tooltip-bubble", body: 'This bond is currently on cooldown and has no bonus. Please check back soon.', width: "205px", placement: "bottomRight", transformTip: "translate(10%, 0%)", children: jsx$2(Svg, { icon: "Timer", width: "20px", color: "#81CFEA" }) })) : (`${bonus === null || bonus === void 0 ? void 0 : bonus.toFixed(2)}%`)) : ('-') }), jsx$2("div", { className: "arr-column", children: bonus !== undefined && bonus <= 0 ? (jsx$2(TooltipBubble, { className: "tooltip-bubble", body: 'This bond is currently on cooldown and has no bonus. Please check back soon.', width: "205px", placement: "bottomRight", transformTip: "translate(10%, 0%)", children: jsx$2(Svg, { icon: "Timer", width: "20px", color: "#81CFEA" }) })) : calculateARR(bond) !== undefined ? (calculateARR(bond)) : ('-') }), jsxs("div", { className: "terms-column", children: [bond.type === 'staking' ? `${daysLeftOnBasepadPool()} D Lock` : getVestingTermsString(bond), bond.vestingCliff && (jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(Flex, { children: getVestingTermsTooltipString(bond) }), 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, { value: remainingPercentage(bond) }), style: {
73503
73544
  width: '127px',
73504
73545
  height: '25px',
73505
73546
  flexDirection: 'column',
@@ -73508,7 +73549,7 @@ const BondRow = ({ bond }) => {
73508
73549
  }, showTooltip: true, toolTip: `${remainingTokensFormat(bond)} ${bond.earnToken.symbol} (${formatDollar({
73509
73550
  num: remainingTokensUsd(bond).toNumber(),
73510
73551
  isPrice: true,
73511
- })})` }) }), jsx$2("div", { className: "tooltip-column", children: jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(BondInfoTooltip, { earnTokenContract: (_e = (_d = (_c = bond === null || bond === void 0 ? void 0 : bond.earnToken) === null || _c === void 0 ? void 0 : _c.address) === null || _d === void 0 ? void 0 : _d[bond === null || bond === void 0 ? void 0 : bond.chainId]) !== null && _e !== void 0 ? _e : '', earnTokenSymbol: (_g = (_f = bond === null || bond === void 0 ? void 0 : bond.earnToken) === null || _f === void 0 ? void 0 : _f.symbol) !== null && _g !== void 0 ? _g : '', bondContract: billAddress !== null && billAddress !== void 0 ? billAddress : '', projectLink: bond === null || bond === void 0 ? void 0 : bond.projectLink, twitter: bond === null || bond === void 0 ? void 0 : bond.twitter, audit: bond === null || bond === void 0 ? void 0 : bond.audit, chain: bond === null || bond === void 0 ? void 0 : bond.chainId }), width: "205px", placement: "bottomRight", transformTip: "translate(7%, -2%)", children: jsx$2(Flex, { className: "more-icon", sx: { opacity: 0.8 }, children: jsx$2(Svg, { icon: "more", width: "25px" }) }) }) })] })] }, billAddress));
73552
+ })})` }) }), jsx$2("div", { className: "tooltip-column", children: jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(BondInfoTooltip, { earnTokenContract: (_c = (_b = (_a = bond === null || bond === void 0 ? void 0 : bond.earnToken) === null || _a === void 0 ? void 0 : _a.address) === null || _b === void 0 ? void 0 : _b[bond === null || bond === void 0 ? void 0 : bond.chainId]) !== null && _c !== void 0 ? _c : '', earnTokenSymbol: (_e = (_d = bond === null || bond === void 0 ? void 0 : bond.earnToken) === null || _d === void 0 ? void 0 : _d.symbol) !== null && _e !== void 0 ? _e : '', bondContract: billAddress !== null && billAddress !== void 0 ? billAddress : '', projectLink: bond === null || bond === void 0 ? void 0 : bond.projectLink, twitter: bond === null || bond === void 0 ? void 0 : bond.twitter, audit: bond === null || bond === void 0 ? void 0 : bond.audit, chain: bond === null || bond === void 0 ? void 0 : bond.chainId }), width: "205px", placement: "bottomRight", transformTip: "translate(7%, -2%)", children: jsx$2(Flex, { className: "more-icon", sx: { opacity: 0.8 }, children: jsx$2(Svg, { icon: "more", width: "25px" }) }) }) })] })] }, billAddress));
73512
73553
  };
73513
73554
 
73514
73555
  const HotBondCard = ({ bond }) => {
package/dist/styles.css CHANGED
@@ -755,8 +755,8 @@ span.flex-inline {
755
755
  }
756
756
  .bond-row .bond-info-columns .terms-column {
757
757
  display: none;
758
- width: 87px;
759
- align-items: flex-end;
758
+ width: 115px;
759
+ align-items: center;
760
760
  justify-content: center;
761
761
  }
762
762
  @media screen and (min-width: 1000px) {
@@ -924,7 +924,7 @@ span.flex-inline {
924
924
  }
925
925
  .bonds-menu .terms-header {
926
926
  display: none;
927
- width: 87px;
927
+ width: 115px;
928
928
  align-items: flex-end;
929
929
  justify-content: center;
930
930
  cursor: pointer;
@@ -17,6 +17,7 @@ export interface BondsData {
17
17
  tokensRemaining: string;
18
18
  showcaseTokenName: string;
19
19
  vestingTerm: number;
20
+ vestingCliff?: number;
20
21
  principalTokenPrice: string;
21
22
  payoutTokenPrice: string;
22
23
  tags?: string[];
@@ -1,6 +1,7 @@
1
1
  import { BigNumber } from 'bignumber.js';
2
2
  import { UserBill } from '../types/yourbonds';
3
3
  import { BondsData } from '../types/bonds';
4
+ import { BillsConfig } from '@ape.swap/apeswap-lists';
4
5
  export declare const claimable: (userBill: UserBill) => number;
5
6
  export declare const claimableUSD: (userBill: UserBill) => number;
6
7
  export declare const earnTokenPrice: (bond: BondsData) => string;
@@ -14,7 +15,10 @@ export declare const vestingTimeRemaining: (userBill: UserBill) => {
14
15
  minutes: number;
15
16
  seconds: number;
16
17
  };
17
- export declare const vestingTimeRemainingYourBonds: (userBill: UserBill) => number;
18
+ export declare const vestingTimeRemainingString: (userBill?: UserBill) => string;
19
+ export declare const getPendingVestingString: (bond?: UserBill) => string;
20
+ export declare const getVestingTermsString: (bond?: BondsData | BillsConfig) => string;
21
+ export declare const getVestingTermsTooltipString: (bond?: BondsData | BillsConfig) => string;
18
22
  export declare const discountEarnTokenPrice: (bond: BondsData) => string;
19
23
  export declare const maxBuy: (bond: BondsData) => 0 | BigNumber;
20
24
  export declare function formatNumber(input: string): string;
@@ -12,6 +12,5 @@ export declare const vestingTime: (vestingTerm?: number) => {
12
12
  seconds: number;
13
13
  };
14
14
  export declare const remainingPercentage: (bond: BondsData) => number;
15
- export declare const getBillContractURL: (bond: BondsData | BillsConfig) => string;
16
15
  export declare const getDiscountColor: (discount?: number) => string;
17
16
  export declare const calculateARR: (bond: BondsData | BillsConfig) => string;
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": "2.6.16",
6
+ "version": "2.7.0",
7
7
  "module": "dist/main.js",
8
8
  "type": "module",
9
9
  "types": "dist/main.d.ts",
@@ -56,7 +56,7 @@
56
56
  "yalc": "^1.0.0-pre.53"
57
57
  },
58
58
  "dependencies": {
59
- "@ape.swap/apeswap-lists": "3.74.2",
59
+ "@ape.swap/apeswap-lists": "3.75.0",
60
60
  "@emotion/react": "11.11.4",
61
61
  "bignumber.js": "^9.1.2",
62
62
  "chart.js": "4.2.0",
@@ -1,5 +0,0 @@
1
- export declare const usePendingVesting: ({ lastBlockTimestamp, vesting }: {
2
- lastBlockTimestamp: string;
3
- vesting: string;
4
- }) => string;
5
- export declare const getPendingVesting: (lastBlockTimestamp: string, vesting: string) => string;