@ape.swap/bonds-sdk 4.5.2 → 4.5.4-test.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 +2634 -151
- package/dist/utils/displayHelpers.d.ts +19 -3
- package/dist/utils/formatNumber.d.ts +1 -1
- package/dist/utils/getTimePeriods.d.ts +1 -1
- package/dist/views/Bonds/utils.d.ts +0 -3
- package/dist/views/BuyBond/components/BondCards/BondCards.d.ts +2 -1
- package/package.json +1 -1
package/dist/main.js
CHANGED
|
@@ -4463,7 +4463,7 @@ const Success$1 = ({ direction = 'down', color = 'success', width, getStyles })
|
|
|
4463
4463
|
degree: deg[direction],
|
|
4464
4464
|
color,
|
|
4465
4465
|
});
|
|
4466
|
-
return (jsxs("svg", { width: width || '10', viewBox: "0 0 15 15", fill: "none", xmlns: "http://www.w3.org/2000/svg", sx: style, children: [jsx$2("mask", { id: "path-1-inside-1_8581_37376", fill: "white", children: jsx$2("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M7.5 15C11.6421 15 15 11.6421 15 7.5C15 3.35786 11.6421 0 7.5 0C3.35786 0 0 3.35786 0 7.5C0 11.6421 3.35786 15 7.5 15ZM10.7168 4.6311C10.8812 4.47247 11.1484 4.46313 11.3232 4.6031C11.4773 4.73374 11.5082 4.94836 11.3848 5.10699L7.57177 10.1459L7.54094 10.1832C7.29427 10.5098 6.80094 10.5938 6.44122 10.3698C6.36927 10.3232 6.29733 10.2578 6.24594 10.1925L4.324 7.70108C4.19039 7.52379 4.2315 7.28117 4.42678 7.15987C4.58094 7.05722 4.79678 7.06656 4.94066 7.17853L6.79066 8.55956L10.7168 4.6311Z" }) }), jsx$2("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M7.5 15C11.6421 15 15 11.6421 15 7.5C15 3.35786 11.6421 0 7.5 0C3.35786 0 0 3.35786 0 7.5C0 11.6421 3.35786 15 7.5 15ZM10.7168 4.6311C10.8812 4.47247 11.1484 4.46313 11.3232 4.6031C11.4773 4.73374 11.5082 4.94836 11.3848 5.10699L7.57177 10.1459L7.54094 10.1832C7.29427 10.5098 6.80094 10.5938 6.44122 10.3698C6.36927 10.3232 6.29733 10.2578 6.24594 10.1925L4.324 7.70108C4.19039 7.52379 4.2315 7.28117 4.42678 7.15987C4.58094 7.05722 4.79678 7.06656 4.94066 7.17853L6.79066 8.55956L10.7168 4.6311Z", fill: "#38A611" }), jsx$2("path", { d: "M11.3232 4.6031L12.6161 3.07725L12.5951 3.05944L12.5736 3.0422L11.3232 4.6031ZM10.7168 4.6311L9.32823 3.19167L9.31506 3.20437L9.30213 3.21731L10.7168 4.6311ZM11.3848 5.10699L9.80589 3.8794L9.79787 3.88972L9.78999 3.90014L11.3848 5.10699ZM7.57177 10.1459L9.11371 11.4196L9.14087 11.3867L9.16661 11.3527L7.57177 10.1459ZM7.54094 10.1832L5.999 8.90945L5.97125 8.94305L5.94499 8.97782L7.54094 10.1832ZM6.44122 10.3698L5.35301 12.0479L5.36851 12.0579L5.3842 12.0677L6.44122 10.3698ZM6.24594 10.1925L4.66237 11.4141L4.66819 11.4217L4.67408 11.4292L6.24594 10.1925ZM4.324 7.70108L2.72677 8.90477L2.73355 8.91376L2.74042 8.92268L4.324 7.70108ZM4.42678 7.15987L5.48213 8.85876L5.50892 8.84212L5.53518 8.82463L4.42678 7.15987ZM4.94066 7.17853L3.71236 8.75691L3.72819 8.76922L3.74426 8.78122L4.94066 7.17853ZM6.79066 8.55956L5.59425 10.1622L6.98153 11.1978L8.2053 9.97335L6.79066 8.55956ZM13 7.5C13 10.5376 10.5376 13 7.5 13V17C12.7467 17 17 12.7467 17 7.5H13ZM7.5 2C10.5376 2 13 4.46243 13 7.5H17C17 2.25329 12.7467 -2 7.5 -2V2ZM2 7.5C2 4.46243 4.46243 2 7.5 2V-2C2.25329 -2 -2 2.25329 -2 7.5H2ZM7.5 13C4.46243 13 2 10.5376 2 7.5H-2C-2 12.7467 2.25329 17 7.5 17V13ZM12.5736 3.0422C11.623 2.28067 10.225 2.32656 9.32823 3.19167L12.1053 6.07052C11.5374 6.61837 10.6739 6.64559 10.0727 6.164L12.5736 3.0422ZM12.9638 6.33458C13.7999 5.2591 13.5179 3.84143 12.6161 3.07725L10.0302 6.12895C9.43671 5.62605 9.2164 4.63761 9.80589 3.8794L12.9638 6.33458ZM9.16661 11.3527L12.9797 6.31385L9.78999 3.90014L5.97694 8.93902L9.16661 11.3527ZM9.08288 11.4569L9.11371 11.4196L6.02984 8.87212L5.999 8.90945L9.08288 11.4569ZM5.3842 12.0677C6.57521 12.8092 8.23351 12.5847 9.13689 11.3886L5.94499 8.97782C6.1621 8.69035 6.45202 8.55308 6.69854 8.51121C6.94576 8.46921 7.23358 8.5072 7.49824 8.67197L5.3842 12.0677ZM4.67408 11.4292C4.86564 11.6726 5.10262 11.8855 5.35301 12.0479L7.52942 8.69178C7.59192 8.73231 7.64101 8.77179 7.68026 8.80742C7.71912 8.8427 7.76655 8.89076 7.8178 8.95589L4.67408 11.4292ZM2.74042 8.92268L4.66237 11.4141L7.82951 8.97093L5.90757 6.47949L2.74042 8.92268ZM3.37143 5.46098C2.16753 6.20884 1.89287 7.79823 2.72677 8.90477L5.92123 6.49739C6.48791 7.24934 6.29547 8.35351 5.48213 8.85876L3.37143 5.46098ZM6.16897 5.60015C5.3495 4.96244 4.1927 4.91298 3.31837 5.4951L5.53518 8.82463C4.96918 9.20147 4.24405 9.17067 3.71236 8.75691L6.16897 5.60015ZM7.98707 6.95687L6.13707 5.57584L3.74426 8.78122L5.59425 10.1622L7.98707 6.95687ZM9.30213 3.21731L5.37603 7.14577L8.2053 9.97335L12.1314 6.04489L9.30213 3.21731Z", fill: "#38A611", mask: "url(#path-1-inside-1_8581_37376)" })] }));
|
|
4466
|
+
return (jsxs("svg", { width: width || '10', viewBox: "0 0 15 15", fill: "none", xmlns: "http://www.w3.org/2000/svg", sx: style, children: [jsx$2("circle", { cx: "7.5", cy: "7.5", r: "7.5", fill: "white" }), jsx$2("mask", { id: "path-1-inside-1_8581_37376", fill: "white", children: jsx$2("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M7.5 15C11.6421 15 15 11.6421 15 7.5C15 3.35786 11.6421 0 7.5 0C3.35786 0 0 3.35786 0 7.5C0 11.6421 3.35786 15 7.5 15ZM10.7168 4.6311C10.8812 4.47247 11.1484 4.46313 11.3232 4.6031C11.4773 4.73374 11.5082 4.94836 11.3848 5.10699L7.57177 10.1459L7.54094 10.1832C7.29427 10.5098 6.80094 10.5938 6.44122 10.3698C6.36927 10.3232 6.29733 10.2578 6.24594 10.1925L4.324 7.70108C4.19039 7.52379 4.2315 7.28117 4.42678 7.15987C4.58094 7.05722 4.79678 7.06656 4.94066 7.17853L6.79066 8.55956L10.7168 4.6311Z" }) }), jsx$2("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M7.5 15C11.6421 15 15 11.6421 15 7.5C15 3.35786 11.6421 0 7.5 0C3.35786 0 0 3.35786 0 7.5C0 11.6421 3.35786 15 7.5 15ZM10.7168 4.6311C10.8812 4.47247 11.1484 4.46313 11.3232 4.6031C11.4773 4.73374 11.5082 4.94836 11.3848 5.10699L7.57177 10.1459L7.54094 10.1832C7.29427 10.5098 6.80094 10.5938 6.44122 10.3698C6.36927 10.3232 6.29733 10.2578 6.24594 10.1925L4.324 7.70108C4.19039 7.52379 4.2315 7.28117 4.42678 7.15987C4.58094 7.05722 4.79678 7.06656 4.94066 7.17853L6.79066 8.55956L10.7168 4.6311Z", fill: "#38A611" }), jsx$2("path", { d: "M11.3232 4.6031L12.6161 3.07725L12.5951 3.05944L12.5736 3.0422L11.3232 4.6031ZM10.7168 4.6311L9.32823 3.19167L9.31506 3.20437L9.30213 3.21731L10.7168 4.6311ZM11.3848 5.10699L9.80589 3.8794L9.79787 3.88972L9.78999 3.90014L11.3848 5.10699ZM7.57177 10.1459L9.11371 11.4196L9.14087 11.3867L9.16661 11.3527L7.57177 10.1459ZM7.54094 10.1832L5.999 8.90945L5.97125 8.94305L5.94499 8.97782L7.54094 10.1832ZM6.44122 10.3698L5.35301 12.0479L5.36851 12.0579L5.3842 12.0677L6.44122 10.3698ZM6.24594 10.1925L4.66237 11.4141L4.66819 11.4217L4.67408 11.4292L6.24594 10.1925ZM4.324 7.70108L2.72677 8.90477L2.73355 8.91376L2.74042 8.92268L4.324 7.70108ZM4.42678 7.15987L5.48213 8.85876L5.50892 8.84212L5.53518 8.82463L4.42678 7.15987ZM4.94066 7.17853L3.71236 8.75691L3.72819 8.76922L3.74426 8.78122L4.94066 7.17853ZM6.79066 8.55956L5.59425 10.1622L6.98153 11.1978L8.2053 9.97335L6.79066 8.55956ZM13 7.5C13 10.5376 10.5376 13 7.5 13V17C12.7467 17 17 12.7467 17 7.5H13ZM7.5 2C10.5376 2 13 4.46243 13 7.5H17C17 2.25329 12.7467 -2 7.5 -2V2ZM2 7.5C2 4.46243 4.46243 2 7.5 2V-2C2.25329 -2 -2 2.25329 -2 7.5H2ZM7.5 13C4.46243 13 2 10.5376 2 7.5H-2C-2 12.7467 2.25329 17 7.5 17V13ZM12.5736 3.0422C11.623 2.28067 10.225 2.32656 9.32823 3.19167L12.1053 6.07052C11.5374 6.61837 10.6739 6.64559 10.0727 6.164L12.5736 3.0422ZM12.9638 6.33458C13.7999 5.2591 13.5179 3.84143 12.6161 3.07725L10.0302 6.12895C9.43671 5.62605 9.2164 4.63761 9.80589 3.8794L12.9638 6.33458ZM9.16661 11.3527L12.9797 6.31385L9.78999 3.90014L5.97694 8.93902L9.16661 11.3527ZM9.08288 11.4569L9.11371 11.4196L6.02984 8.87212L5.999 8.90945L9.08288 11.4569ZM5.3842 12.0677C6.57521 12.8092 8.23351 12.5847 9.13689 11.3886L5.94499 8.97782C6.1621 8.69035 6.45202 8.55308 6.69854 8.51121C6.94576 8.46921 7.23358 8.5072 7.49824 8.67197L5.3842 12.0677ZM4.67408 11.4292C4.86564 11.6726 5.10262 11.8855 5.35301 12.0479L7.52942 8.69178C7.59192 8.73231 7.64101 8.77179 7.68026 8.80742C7.71912 8.8427 7.76655 8.89076 7.8178 8.95589L4.67408 11.4292ZM2.74042 8.92268L4.66237 11.4141L7.82951 8.97093L5.90757 6.47949L2.74042 8.92268ZM3.37143 5.46098C2.16753 6.20884 1.89287 7.79823 2.72677 8.90477L5.92123 6.49739C6.48791 7.24934 6.29547 8.35351 5.48213 8.85876L3.37143 5.46098ZM6.16897 5.60015C5.3495 4.96244 4.1927 4.91298 3.31837 5.4951L5.53518 8.82463C4.96918 9.20147 4.24405 9.17067 3.71236 8.75691L6.16897 5.60015ZM7.98707 6.95687L6.13707 5.57584L3.74426 8.78122L5.59425 10.1622L7.98707 6.95687ZM9.30213 3.21731L5.37603 7.14577L8.2053 9.97335L12.1314 6.04489L9.30213 3.21731Z", fill: "#38A611", mask: "url(#path-1-inside-1_8581_37376)" })] }));
|
|
4467
4467
|
};
|
|
4468
4468
|
|
|
4469
4469
|
const QuestionCircle = ({ direction = 'down', color = 'text', width, getStyles }) => {
|
|
@@ -19717,7 +19717,7 @@ const MINUTE_IN_SECONDS = 60;
|
|
|
19717
19717
|
const HOUR_IN_SECONDS = MINUTE_IN_SECONDS * 60;
|
|
19718
19718
|
const DAY_IN_SECONDS = HOUR_IN_SECONDS * 24;
|
|
19719
19719
|
const MONTH_IN_SECONDS = DAY_IN_SECONDS * 30; // Assuming 30 days in a month
|
|
19720
|
-
const getTimePeriods = (seconds, days) => {
|
|
19720
|
+
const getTimePeriods = (seconds = 0, days) => {
|
|
19721
19721
|
let delta = seconds;
|
|
19722
19722
|
const timeLeft = {
|
|
19723
19723
|
months: 0,
|
|
@@ -19753,7 +19753,7 @@ const getTimePeriods = (seconds, days) => {
|
|
|
19753
19753
|
* @param shorten determines whether you want to get just the highest value or the full string
|
|
19754
19754
|
*/
|
|
19755
19755
|
const formatTimeLeft = (timeLeft, useDays = true, shorten = false) => {
|
|
19756
|
-
const parsedTimeLeft = getTimePeriods(timeLeft
|
|
19756
|
+
const parsedTimeLeft = getTimePeriods(timeLeft, useDays);
|
|
19757
19757
|
if (shorten) {
|
|
19758
19758
|
if (parsedTimeLeft.months > 0) {
|
|
19759
19759
|
return `${parsedTimeLeft.months}Mo`;
|
|
@@ -19789,7 +19789,7 @@ const localeFormat = (number, precision = 2) => {
|
|
|
19789
19789
|
const formatNumberSI = (num, digits = 2) => {
|
|
19790
19790
|
if (!num)
|
|
19791
19791
|
return '0';
|
|
19792
|
-
const number = typeof num === 'string' ? parseFloat(num) : num;
|
|
19792
|
+
const number = typeof num === 'string' ? parseFloat(num) : typeof num === 'number' ? num : num.toNumber();
|
|
19793
19793
|
const suffixes = [
|
|
19794
19794
|
{ value: 1e12, symbol: 'T' },
|
|
19795
19795
|
{ value: 1e9, symbol: 'B' },
|
|
@@ -63360,8 +63360,8 @@ const sortBonds = (sortConfig, bonds) => {
|
|
|
63360
63360
|
bValue = remainingPercentage(b);
|
|
63361
63361
|
}
|
|
63362
63362
|
else if (sortConfig.key === 'terms') {
|
|
63363
|
-
aValue =
|
|
63364
|
-
bValue =
|
|
63363
|
+
aValue = getTimePeriods(a.vestingTerm, true).days;
|
|
63364
|
+
bValue = getTimePeriods(b.vestingTerm, true).days;
|
|
63365
63365
|
}
|
|
63366
63366
|
else {
|
|
63367
63367
|
aValue = (_f = (_e = findHighestTrueBondPrice(TIERS_WEIGHT[main.LaunchBondTiers.Legend], a === null || a === void 0 ? void 0 : a.trueBondPrices)) === null || _e === void 0 ? void 0 : _e.bonusWithFee) !== null && _f !== void 0 ? _f : 0;
|
|
@@ -63376,15 +63376,6 @@ const sortBonds = (sortConfig, bonds) => {
|
|
|
63376
63376
|
return 0;
|
|
63377
63377
|
});
|
|
63378
63378
|
};
|
|
63379
|
-
const vestingTime = (vestingTerm) => {
|
|
63380
|
-
return getTimePeriods(vestingTerm !== null && vestingTerm !== void 0 ? vestingTerm : 0, true);
|
|
63381
|
-
};
|
|
63382
|
-
const remainingPercentage = (bond) => {
|
|
63383
|
-
var _a, _b, _c, _d;
|
|
63384
|
-
const totalMaxPayout = new BigNumber$1((_a = bond.maxTotalPayout) !== null && _a !== void 0 ? _a : '0').div(new BigNumber$1(10).pow((_c = (_b = bond.earnToken.decimals) === null || _b === void 0 ? void 0 : _b[bond.chainId]) !== null && _c !== void 0 ? _c : 18));
|
|
63385
|
-
const remainingTokens = new BigNumber$1((_d = bond.tokensRemaining) !== null && _d !== void 0 ? _d : '0');
|
|
63386
|
-
return remainingTokens.div(totalMaxPayout).times(100).toNumber();
|
|
63387
|
-
};
|
|
63388
63379
|
const getDiscountColor = (discount) => {
|
|
63389
63380
|
if (!discount)
|
|
63390
63381
|
return '';
|
|
@@ -63401,7 +63392,7 @@ const calculateARR = (bond, useTiers) => {
|
|
|
63401
63392
|
const discount = bonus !== null && bonus !== void 0 ? bonus : 0;
|
|
63402
63393
|
if (discount < 0)
|
|
63403
63394
|
return '-';
|
|
63404
|
-
const vestingDays =
|
|
63395
|
+
const vestingDays = getTimePeriods(vestingTerm, true).days;
|
|
63405
63396
|
return `${((discount * 365) / vestingDays).toFixed(2)}%`;
|
|
63406
63397
|
};
|
|
63407
63398
|
const isBondSupported = (SDKVersion, bondVersion) => {
|
|
@@ -63425,19 +63416,6 @@ const isBondSupported = (SDKVersion, bondVersion) => {
|
|
|
63425
63416
|
// If none of the above conditions are met, version1 is less
|
|
63426
63417
|
return false;
|
|
63427
63418
|
};
|
|
63428
|
-
const getRemainingTokensString = (bond) => {
|
|
63429
|
-
const remainingTokensFormat = (bond) => {
|
|
63430
|
-
const tokensRemaining = 'tokensRemaining' in bond ? bond.tokensRemaining : '0';
|
|
63431
|
-
return formatNumberSI(parseFloat(tokensRemaining !== null && tokensRemaining !== void 0 ? tokensRemaining : '0'), 0);
|
|
63432
|
-
};
|
|
63433
|
-
const remainingTokensUsd = (bond) => {
|
|
63434
|
-
const tokensRemaining = 'tokensRemaining' in bond ? bond.tokensRemaining : '0';
|
|
63435
|
-
const payoutTokenPrice = 'payoutTokenPrice' in bond ? bond.payoutTokenPrice : 0;
|
|
63436
|
-
const tokens = new BigNumber$1(tokensRemaining !== null && tokensRemaining !== void 0 ? tokensRemaining : '0');
|
|
63437
|
-
return tokens.times(payoutTokenPrice !== null && payoutTokenPrice !== void 0 ? payoutTokenPrice : '0');
|
|
63438
|
-
};
|
|
63439
|
-
return `${remainingTokensFormat(bond)} ${bond.earnToken.symbol} ($${formatNumberSI(remainingTokensUsd(bond).toNumber())})`;
|
|
63440
|
-
};
|
|
63441
63419
|
/**
|
|
63442
63420
|
* Finds the highest TrueBondPrices element where userPoints is higher than points in the array.
|
|
63443
63421
|
* @param userPoints - The user's points as a string representing a BigNumber.
|
|
@@ -63574,19 +63552,36 @@ const discountEarnTokenPriceForUser = (bond, useTiers, userTier) => {
|
|
|
63574
63552
|
const trueBondPriceWithFee = getBalanceNumber(new BigNumber$1(trueBondPrice !== null && trueBondPrice !== void 0 ? trueBondPrice : '0').times((100 + fee) / 100));
|
|
63575
63553
|
return getFirstNonZeroDigits(principalTokenPrice * trueBondPriceWithFee);
|
|
63576
63554
|
};
|
|
63577
|
-
const
|
|
63578
|
-
|
|
63555
|
+
const SAFETY_THRESHOLD = 5; // in USD
|
|
63556
|
+
const getSafetyAvailable = (bond, allowLowValueBonds) => {
|
|
63557
|
+
var _a, _b, _c;
|
|
63579
63558
|
const available = new BigNumber$1((_a = bond === null || bond === void 0 ? void 0 : bond.tokensRemaining) !== null && _a !== void 0 ? _a : '0');
|
|
63580
|
-
const threshold = allowLowValueBonds ? 0 : 5;
|
|
63581
63559
|
const payoutTokenPrice = new BigNumber$1((_b = bond === null || bond === void 0 ? void 0 : bond.payoutTokenPrice) !== null && _b !== void 0 ? _b : 0);
|
|
63560
|
+
const threshold = allowLowValueBonds ? 0 : SAFETY_THRESHOLD;
|
|
63582
63561
|
const thresholdToShow = payoutTokenPrice.gt(0) ? new BigNumber$1(threshold).div(payoutTokenPrice) : new BigNumber$1(0);
|
|
63583
|
-
|
|
63562
|
+
const feeInPayoutAdjuster = (100 - ((_c = bond === null || bond === void 0 ? void 0 : bond.feeInPayout) !== null && _c !== void 0 ? _c : 0)) / 100;
|
|
63563
|
+
let safeAvailable = available.times(feeInPayoutAdjuster).minus(thresholdToShow);
|
|
63584
63564
|
if (safeAvailable.lt(0))
|
|
63585
63565
|
safeAvailable = new BigNumber$1(0);
|
|
63586
|
-
const singlePurchaseLimit = new BigNumber$1((_c = bond === null || bond === void 0 ? void 0 : bond.maxPayout) !== null && _c !== void 0 ? _c : 0).div(new BigNumber$1(10).pow((_f = (_e = (_d = bond === null || bond === void 0 ? void 0 : bond.earnToken) === null || _d === void 0 ? void 0 : _d.decimals) === null || _e === void 0 ? void 0 : _e[bond === null || bond === void 0 ? void 0 : bond.chainId]) !== null && _f !== void 0 ? _f : 18));
|
|
63587
63566
|
if (available.isZero())
|
|
63588
63567
|
return new BigNumber$1(0);
|
|
63589
|
-
return
|
|
63568
|
+
return safeAvailable;
|
|
63569
|
+
};
|
|
63570
|
+
const getSafetyPurchaseLimit = (bond, allowLowValueBonds) => {
|
|
63571
|
+
var _a, _b, _c, _d, _e, _f;
|
|
63572
|
+
const threshold = allowLowValueBonds ? 0 : SAFETY_THRESHOLD;
|
|
63573
|
+
const payoutTokenPrice = new BigNumber$1((_a = bond === null || bond === void 0 ? void 0 : bond.payoutTokenPrice) !== null && _a !== void 0 ? _a : 0);
|
|
63574
|
+
const thresholdToShow = payoutTokenPrice.gt(0) ? new BigNumber$1(threshold).div(payoutTokenPrice) : new BigNumber$1(0);
|
|
63575
|
+
const feeInPayoutAdjuster = (100 - ((_b = bond === null || bond === void 0 ? void 0 : bond.feeInPayout) !== null && _b !== void 0 ? _b : 0)) / 100;
|
|
63576
|
+
return new BigNumber$1((_c = bond === null || bond === void 0 ? void 0 : bond.maxPayout) !== null && _c !== void 0 ? _c : 0)
|
|
63577
|
+
.div(new BigNumber$1(10).pow((_f = (_e = (_d = bond === null || bond === void 0 ? void 0 : bond.earnToken) === null || _d === void 0 ? void 0 : _d.decimals) === null || _e === void 0 ? void 0 : _e[bond === null || bond === void 0 ? void 0 : bond.chainId]) !== null && _f !== void 0 ? _f : 18))
|
|
63578
|
+
.times(feeInPayoutAdjuster)
|
|
63579
|
+
.minus(thresholdToShow);
|
|
63580
|
+
};
|
|
63581
|
+
const getMaxBuy = (bond, allowLowValueBonds) => {
|
|
63582
|
+
const safeAvailable = getSafetyAvailable(bond, allowLowValueBonds);
|
|
63583
|
+
const safePurchaseLimit = getSafetyPurchaseLimit(bond, allowLowValueBonds);
|
|
63584
|
+
return safePurchaseLimit.lt(safeAvailable) ? safePurchaseLimit : safeAvailable;
|
|
63590
63585
|
};
|
|
63591
63586
|
function formatNumber$1(input) {
|
|
63592
63587
|
const number = new BigNumber$1(input);
|
|
@@ -63619,7 +63614,7 @@ const youSpendUSD = (bond, inputValue) => {
|
|
|
63619
63614
|
var _a;
|
|
63620
63615
|
return (parseFloat(inputValue) * parseFloat((_a = bond === null || bond === void 0 ? void 0 : bond.principalTokenPrice) !== null && _a !== void 0 ? _a : '0')).toString();
|
|
63621
63616
|
};
|
|
63622
|
-
// receives depositAmount and returns the payoutTokens the user will receive. IT DOES SUBTRACT FEE
|
|
63617
|
+
// receives depositAmount and returns the payoutTokens the user will receive. IT DOES SUBTRACT FEE IN PAYOUT
|
|
63623
63618
|
const getPayoutAmount = (bond, inputValue, userPoints) => {
|
|
63624
63619
|
var _a, _b;
|
|
63625
63620
|
if (!inputValue || !bond || !userPoints || !bond.trueBondPrices)
|
|
@@ -63633,26 +63628,60 @@ const getPayoutAmount = (bond, inputValue, userPoints) => {
|
|
|
63633
63628
|
return billValue.toNumber();
|
|
63634
63629
|
};
|
|
63635
63630
|
const youGetUSD = (bond, inputValue, userPoints) => {
|
|
63636
|
-
var _a
|
|
63637
|
-
if (!bond.trueBondPrices)
|
|
63638
|
-
return
|
|
63639
|
-
const
|
|
63640
|
-
|
|
63641
|
-
const fee = (_c = bond === null || bond === void 0 ? void 0 : bond.feeInPayout) !== null && _c !== void 0 ? _c : 0;
|
|
63642
|
-
const reverseFee = new BigNumber$1(fee / 100 / (1 - fee / 100));
|
|
63643
|
-
const trueBondPriceWithFee = new BigNumber$1(trueBondPrice).plus(new BigNumber$1(trueBondPrice).times(reverseFee));
|
|
63644
|
-
const billValue = bigValue.div(new BigNumber$1(trueBondPriceWithFee));
|
|
63645
|
-
return (billValue.toNumber() * parseFloat((_d = bond === null || bond === void 0 ? void 0 : bond.payoutTokenPrice) !== null && _d !== void 0 ? _d : '0')).toString();
|
|
63631
|
+
var _a;
|
|
63632
|
+
if (!inputValue || !bond || !userPoints || !bond.trueBondPrices)
|
|
63633
|
+
return 0;
|
|
63634
|
+
const payoutAmount = getPayoutAmount(bond, inputValue, userPoints);
|
|
63635
|
+
return payoutAmount * parseFloat((_a = bond === null || bond === void 0 ? void 0 : bond.payoutTokenPrice) !== null && _a !== void 0 ? _a : '0');
|
|
63646
63636
|
};
|
|
63647
63637
|
const getRawBonus$1 = (bond, inputValue, userPoints) => {
|
|
63648
63638
|
if (!bond || !inputValue || !userPoints)
|
|
63649
63639
|
return '0';
|
|
63650
|
-
const premiumUSD =
|
|
63640
|
+
const premiumUSD = youGetUSD(bond, inputValue, userPoints) - parseFloat(youSpendUSD(bond, inputValue));
|
|
63651
63641
|
return premiumUSD.toString();
|
|
63652
63642
|
};
|
|
63653
63643
|
const getBonusColor = (premiumString) => {
|
|
63654
63644
|
return parseFloat(premiumString) < 0 ? 'premium-negative' : 'premium-positive';
|
|
63655
63645
|
};
|
|
63646
|
+
/**
|
|
63647
|
+
* Calculates the principal token amount needed to receive a target payout amount.
|
|
63648
|
+
* This is the reverse of getRawPayoutAmount function (does NOT include fees).
|
|
63649
|
+
*
|
|
63650
|
+
* @param bond - The bond data
|
|
63651
|
+
* @param targetPayoutAmount - The desired payout amount in payout tokens
|
|
63652
|
+
* @param userPoints - User's tier points
|
|
63653
|
+
* @returns The principal token amount needed, or '0' if calculation cannot be performed
|
|
63654
|
+
*/
|
|
63655
|
+
const getPrincipalAmount = (bond, targetPayoutAmount, userPoints) => {
|
|
63656
|
+
var _a, _b;
|
|
63657
|
+
if (!targetPayoutAmount || !bond || !userPoints || !bond.trueBondPrices)
|
|
63658
|
+
return '0';
|
|
63659
|
+
const billValue = new BigNumber$1(targetPayoutAmount);
|
|
63660
|
+
const fee = (_a = bond === null || bond === void 0 ? void 0 : bond.feeInPayout) !== null && _a !== void 0 ? _a : 0;
|
|
63661
|
+
const trueBondPriceObject = findHighestTrueBondPrice(userPoints, bond === null || bond === void 0 ? void 0 : bond.trueBondPrices);
|
|
63662
|
+
const trueBondPrice = new BigNumber$1((_b = trueBondPriceObject === null || trueBondPriceObject === void 0 ? void 0 : trueBondPriceObject.trueBondPrice) !== null && _b !== void 0 ? _b : '0');
|
|
63663
|
+
if (trueBondPrice.isZero())
|
|
63664
|
+
return '0';
|
|
63665
|
+
const reverseFee = new BigNumber$1(fee / 100 / (1 - fee / 100));
|
|
63666
|
+
const trueBondPriceWithFee = trueBondPrice.plus(trueBondPrice.times(reverseFee));
|
|
63667
|
+
// Reverse the formula: bigValue = billValue * (trueBondPrice + trueBondPrice * reverseFee)
|
|
63668
|
+
const bigValue = billValue.times(trueBondPriceWithFee);
|
|
63669
|
+
// Convert from 18 decimals back to regular amount
|
|
63670
|
+
const inputValue = bigValue.div(new BigNumber$1(10).pow(18));
|
|
63671
|
+
return inputValue.toString();
|
|
63672
|
+
};
|
|
63673
|
+
const getRemainingTokensString = (bond, allowLowValueBonds) => {
|
|
63674
|
+
var _a;
|
|
63675
|
+
const remainingTokens = getSafetyAvailable(bond, allowLowValueBonds).toNumber();
|
|
63676
|
+
const remainingTokensUsd = remainingTokens * parseFloat((_a = bond.payoutTokenPrice) !== null && _a !== void 0 ? _a : '0');
|
|
63677
|
+
return `${formatNumberSI(remainingTokens, 0)} ${bond.earnToken.symbol} ($${formatNumberSI(remainingTokensUsd, 0)})`;
|
|
63678
|
+
};
|
|
63679
|
+
const remainingPercentage = (bond) => {
|
|
63680
|
+
var _a, _b, _c, _d;
|
|
63681
|
+
const totalMaxPayout = new BigNumber$1((_a = bond.maxTotalPayout) !== null && _a !== void 0 ? _a : '0').div(new BigNumber$1(10).pow((_c = (_b = bond.earnToken.decimals) === null || _b === void 0 ? void 0 : _b[bond.chainId]) !== null && _c !== void 0 ? _c : 18));
|
|
63682
|
+
const remainingTokens = new BigNumber$1((_d = bond.tokensRemaining) !== null && _d !== void 0 ? _d : '0');
|
|
63683
|
+
return remainingTokens.div(totalMaxPayout).times(100).toNumber();
|
|
63684
|
+
};
|
|
63656
63685
|
|
|
63657
63686
|
function useBondsList() {
|
|
63658
63687
|
const queryClient = useQueryClient();
|
|
@@ -76610,7 +76639,7 @@ const PreTgeActions = ({ userBond }) => {
|
|
|
76610
76639
|
};
|
|
76611
76640
|
|
|
76612
76641
|
const UserBondRowPreTGE = ({ userBond }) => {
|
|
76613
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y
|
|
76642
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
|
|
76614
76643
|
const saleFinalized = userBond.finalized;
|
|
76615
76644
|
const hasRedeemed = (_a = userBond === null || userBond === void 0 ? void 0 : userBond.accountInfo) === null || _a === void 0 ? void 0 : _a.hasRedeemed;
|
|
76616
76645
|
const isRedeemable = !hasRedeemed && saleFinalized;
|
|
@@ -76618,23 +76647,23 @@ const UserBondRowPreTGE = ({ userBond }) => {
|
|
|
76618
76647
|
const depositAmount = getBalanceNumber(new BigNumber$1((_d = (_c = userBond === null || userBond === void 0 ? void 0 : userBond.accountInfo) === null || _c === void 0 ? void 0 : _c.depositAmount) !== null && _d !== void 0 ? _d : '0'), (_f = (_e = userBond === null || userBond === void 0 ? void 0 : userBond.lpToken) === null || _e === void 0 ? void 0 : _e.decimals) === null || _f === void 0 ? void 0 : _f[userBond === null || userBond === void 0 ? void 0 : userBond.chainId]);
|
|
76619
76648
|
const truePricePaid = getBalanceNumber(new BigNumber$1((_h = (_g = userBond === null || userBond === void 0 ? void 0 : userBond.accountInfo) === null || _g === void 0 ? void 0 : _g.truePricePaid) !== null && _h !== void 0 ? _h : '0'), (_k = (_j = userBond === null || userBond === void 0 ? void 0 : userBond.lpToken) === null || _j === void 0 ? void 0 : _j.decimals) === null || _k === void 0 ? void 0 : _k[userBond === null || userBond === void 0 ? void 0 : userBond.chainId]);
|
|
76620
76649
|
const initialRelease = userBond === null || userBond === void 0 ? void 0 : userBond.initialRelease;
|
|
76621
|
-
const vestingTimePeriods = getTimePeriods(
|
|
76650
|
+
const vestingTimePeriods = getTimePeriods(userBond.vestingTerm, false);
|
|
76622
76651
|
const vestingString = hasRedeemed
|
|
76623
76652
|
? getPendingVestingString(userBond === null || userBond === void 0 ? void 0 : userBond.userOwnedBillsData)
|
|
76624
76653
|
: initialRelease === 1
|
|
76625
76654
|
? `0 D`
|
|
76626
76655
|
: `${vestingTimePeriods.months} Months`;
|
|
76627
|
-
const userAllocation = depositAmount / ((
|
|
76656
|
+
const userAllocation = depositAmount / ((_l = userBond === null || userBond === void 0 ? void 0 : userBond.initPrice) !== null && _l !== void 0 ? _l : 0);
|
|
76628
76657
|
const initialReleaseTokens = !hasRedeemed && saleFinalized && (userBond === null || userBond === void 0 ? void 0 : userBond.initialRelease) ? userAllocation * (userBond === null || userBond === void 0 ? void 0 : userBond.initialRelease) : 0;
|
|
76629
76658
|
// pendingRewards variable follows the naming of the SC, but it actually means currently claimable tokens
|
|
76630
|
-
const pendingRewards = getBalanceNumber(new BigNumber$1((
|
|
76659
|
+
const pendingRewards = getBalanceNumber(new BigNumber$1((_o = (_m = userBond === null || userBond === void 0 ? void 0 : userBond.userOwnedBillsData) === null || _m === void 0 ? void 0 : _m.pendingRewards) !== null && _o !== void 0 ? _o : '0'), (_q = (_p = userBond === null || userBond === void 0 ? void 0 : userBond.earnToken) === null || _p === void 0 ? void 0 : _p.decimals) === null || _q === void 0 ? void 0 : _q[userBond.chainId]);
|
|
76631
76660
|
// payout variable follows the naming of the SC, but it actually means total tokens vested
|
|
76632
|
-
const payout = getBalanceNumber(new BigNumber$1((
|
|
76661
|
+
const payout = getBalanceNumber(new BigNumber$1((_s = (_r = userBond === null || userBond === void 0 ? void 0 : userBond.userOwnedBillsData) === null || _r === void 0 ? void 0 : _r.payout) !== null && _s !== void 0 ? _s : '0'), (_u = (_t = userBond === null || userBond === void 0 ? void 0 : userBond.earnToken) === null || _t === void 0 ? void 0 : _t.decimals) === null || _u === void 0 ? void 0 : _u[userBond.chainId]);
|
|
76633
76662
|
const claimableAmount = hasRedeemed ? pendingRewards : initialReleaseTokens;
|
|
76634
|
-
const claimableUSD = claimableAmount * ((
|
|
76663
|
+
const claimableUSD = claimableAmount * ((_v = userBond.initPrice) !== null && _v !== void 0 ? _v : 0);
|
|
76635
76664
|
const pendingAmount = hasRedeemed ? payout : depositAmount / truePricePaid;
|
|
76636
|
-
const pendingUSD = pendingAmount * ((
|
|
76637
|
-
return (jsxs("div", { className: "your-bonds", onClick: () => null, children: [jsxs("div", { className: "token-info-container", children: [jsx$2(TokenInfoAndName, { tokenSymbol: userBond.earnToken.symbol, chain: userBond.chainId, tag: (
|
|
76665
|
+
const pendingUSD = pendingAmount * ((_w = userBond === null || userBond === void 0 ? void 0 : userBond.earnTokenPrice) !== null && _w !== void 0 ? _w : 0);
|
|
76666
|
+
return (jsxs("div", { className: "your-bonds", onClick: () => null, children: [jsxs("div", { className: "token-info-container", children: [jsx$2(TokenInfoAndName, { tokenSymbol: userBond.earnToken.symbol, chain: userBond.chainId, tag: (_x = userBond.tags) === null || _x === void 0 ? void 0 : _x[0], vestEnds: isRedeemable ? 'Claim now!' : !hasRedeemed ? `Claim in ${redeemableIn}` : `Ends in ${vestingString}`, isHotBond: true }), jsx$2("div", { className: "tooltip-column", children: jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(BondInfoTooltip, { earnTokenContract: (userBond === null || userBond === void 0 ? void 0 : userBond.earnToken.address[userBond === null || userBond === void 0 ? void 0 : userBond.chainId]) || '', earnTokenSymbol: (userBond === null || userBond === void 0 ? void 0 : userBond.earnToken.symbol) || '', bondContract: ((_y = userBond === null || userBond === void 0 ? void 0 : userBond.contractAddress) === null || _y === void 0 ? void 0 : _y[userBond === null || userBond === void 0 ? void 0 : userBond.chainId]) || '', projectLink: userBond === null || userBond === void 0 ? void 0 : userBond.projectLink, twitter: userBond === null || userBond === void 0 ? void 0 : userBond.twitter, audit: userBond === null || userBond === void 0 ? void 0 : userBond.audit, chain: userBond === null || userBond === void 0 ? void 0 : userBond.chainId }), width: "205px", placement: "bottomRight", transformTip: "translate(5%, 0%)", children: jsx$2(Flex$1, { sx: {
|
|
76638
76667
|
opacity: 0.8,
|
|
76639
76668
|
}, children: jsx$2(Svg, { icon: "more", width: "25px" }) }) }) })] }), jsxs("div", { className: "your-bonds-columns-container", children: [jsx$2(Flex$1, { sx: { display: ['none', 'none', 'none', 'flex'], width: '125px' } }), 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(claimableAmount, 3), jsxs("div", { className: "your-bonds-content-tokens-usd-amount", children: ["($", formatUSDNumber$1(claimableUSD), ")"] })] })] }), 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(pendingAmount, 3), jsxs("div", { className: "your-bonds-content-tokens-usd-amount", children: ["($", formatUSDNumber$1(pendingUSD), ")"] })] })] }), jsx$2("div", { className: "your-bonds-content hide-mobile", children: vestingString }), jsx$2("div", { className: "your-bonds-column-button", children: jsx$2(PreTgeActions, { userBond: userBond }) })] })] }));
|
|
76640
76669
|
};
|
|
@@ -76869,80 +76898,2453 @@ var ABI_DEPOSIT = [
|
|
|
76869
76898
|
|
|
76870
76899
|
var ABI_DEPOSIT_SIG = [
|
|
76871
76900
|
{
|
|
76901
|
+
inputs: [
|
|
76902
|
+
],
|
|
76903
|
+
name: "BondTooLarge",
|
|
76904
|
+
type: "error"
|
|
76905
|
+
},
|
|
76906
|
+
{
|
|
76907
|
+
inputs: [
|
|
76908
|
+
],
|
|
76909
|
+
name: "BondTooSmall",
|
|
76910
|
+
type: "error"
|
|
76911
|
+
},
|
|
76912
|
+
{
|
|
76913
|
+
inputs: [
|
|
76914
|
+
],
|
|
76915
|
+
name: "ControlVariableTooLow",
|
|
76916
|
+
type: "error"
|
|
76917
|
+
},
|
|
76918
|
+
{
|
|
76919
|
+
inputs: [
|
|
76920
|
+
],
|
|
76921
|
+
name: "DebtMustBeZero",
|
|
76922
|
+
type: "error"
|
|
76923
|
+
},
|
|
76924
|
+
{
|
|
76925
|
+
inputs: [
|
|
76926
|
+
],
|
|
76927
|
+
name: "DecrementTooLarge",
|
|
76928
|
+
type: "error"
|
|
76929
|
+
},
|
|
76930
|
+
{
|
|
76931
|
+
inputs: [
|
|
76932
|
+
],
|
|
76933
|
+
name: "IncrementTooLarge",
|
|
76934
|
+
type: "error"
|
|
76935
|
+
},
|
|
76936
|
+
{
|
|
76937
|
+
inputs: [
|
|
76938
|
+
],
|
|
76939
|
+
name: "InsufficientTier",
|
|
76940
|
+
type: "error"
|
|
76941
|
+
},
|
|
76942
|
+
{
|
|
76943
|
+
inputs: [
|
|
76944
|
+
],
|
|
76945
|
+
name: "InvalidAddress",
|
|
76946
|
+
type: "error"
|
|
76947
|
+
},
|
|
76948
|
+
{
|
|
76949
|
+
inputs: [
|
|
76950
|
+
],
|
|
76951
|
+
name: "InvalidBCV",
|
|
76952
|
+
type: "error"
|
|
76953
|
+
},
|
|
76954
|
+
{
|
|
76955
|
+
inputs: [
|
|
76956
|
+
],
|
|
76957
|
+
name: "InvalidBondId",
|
|
76958
|
+
type: "error"
|
|
76959
|
+
},
|
|
76960
|
+
{
|
|
76961
|
+
inputs: [
|
|
76962
|
+
],
|
|
76963
|
+
name: "InvalidExtraDiscount",
|
|
76964
|
+
type: "error"
|
|
76965
|
+
},
|
|
76966
|
+
{
|
|
76967
|
+
inputs: [
|
|
76968
|
+
],
|
|
76969
|
+
name: "InvalidFee",
|
|
76970
|
+
type: "error"
|
|
76971
|
+
},
|
|
76972
|
+
{
|
|
76973
|
+
inputs: [
|
|
76974
|
+
],
|
|
76975
|
+
name: "InvalidMinPoints",
|
|
76976
|
+
type: "error"
|
|
76977
|
+
},
|
|
76978
|
+
{
|
|
76979
|
+
inputs: [
|
|
76980
|
+
],
|
|
76981
|
+
name: "InvalidPoints",
|
|
76982
|
+
type: "error"
|
|
76983
|
+
},
|
|
76984
|
+
{
|
|
76985
|
+
inputs: [
|
|
76986
|
+
],
|
|
76987
|
+
name: "InvalidPointsLens",
|
|
76988
|
+
type: "error"
|
|
76989
|
+
},
|
|
76990
|
+
{
|
|
76991
|
+
inputs: [
|
|
76992
|
+
],
|
|
76993
|
+
name: "InvalidSValue",
|
|
76994
|
+
type: "error"
|
|
76995
|
+
},
|
|
76996
|
+
{
|
|
76997
|
+
inputs: [
|
|
76998
|
+
],
|
|
76999
|
+
name: "InvalidSignature",
|
|
77000
|
+
type: "error"
|
|
77001
|
+
},
|
|
77002
|
+
{
|
|
77003
|
+
inputs: [
|
|
77004
|
+
],
|
|
77005
|
+
name: "InvalidSignatureLength",
|
|
77006
|
+
type: "error"
|
|
77007
|
+
},
|
|
77008
|
+
{
|
|
77009
|
+
inputs: [
|
|
77010
|
+
],
|
|
77011
|
+
name: "InvalidUpdateInterval",
|
|
77012
|
+
type: "error"
|
|
77013
|
+
},
|
|
77014
|
+
{
|
|
77015
|
+
inputs: [
|
|
77016
|
+
],
|
|
77017
|
+
name: "LengthMismatch",
|
|
77018
|
+
type: "error"
|
|
77019
|
+
},
|
|
77020
|
+
{
|
|
77021
|
+
inputs: [
|
|
77022
|
+
],
|
|
77023
|
+
name: "MaxCapacityReached",
|
|
77024
|
+
type: "error"
|
|
77025
|
+
},
|
|
77026
|
+
{
|
|
77027
|
+
inputs: [
|
|
77028
|
+
],
|
|
77029
|
+
name: "MaxTotalPayoutExceeded",
|
|
77030
|
+
type: "error"
|
|
77031
|
+
},
|
|
77032
|
+
{
|
|
77033
|
+
inputs: [
|
|
77034
|
+
],
|
|
77035
|
+
name: "NoTierAccess",
|
|
77036
|
+
type: "error"
|
|
77037
|
+
},
|
|
77038
|
+
{
|
|
77039
|
+
inputs: [
|
|
77040
|
+
],
|
|
77041
|
+
name: "NotApproved",
|
|
77042
|
+
type: "error"
|
|
77043
|
+
},
|
|
77044
|
+
{
|
|
77045
|
+
inputs: [
|
|
77046
|
+
],
|
|
77047
|
+
name: "NothingToClaim",
|
|
77048
|
+
type: "error"
|
|
77049
|
+
},
|
|
77050
|
+
{
|
|
77051
|
+
inputs: [
|
|
77052
|
+
],
|
|
77053
|
+
name: "PayoutTokenAddressMismatch",
|
|
77054
|
+
type: "error"
|
|
77055
|
+
},
|
|
77056
|
+
{
|
|
77057
|
+
inputs: [
|
|
77058
|
+
],
|
|
77059
|
+
name: "SignatureExpired",
|
|
77060
|
+
type: "error"
|
|
77061
|
+
},
|
|
77062
|
+
{
|
|
77063
|
+
inputs: [
|
|
77064
|
+
],
|
|
77065
|
+
name: "SlippageExceeded",
|
|
77066
|
+
type: "error"
|
|
77067
|
+
},
|
|
77068
|
+
{
|
|
77069
|
+
inputs: [
|
|
77070
|
+
],
|
|
77071
|
+
name: "TargetMustBeAboveZero",
|
|
77072
|
+
type: "error"
|
|
77073
|
+
},
|
|
77074
|
+
{
|
|
77075
|
+
inputs: [
|
|
77076
|
+
],
|
|
77077
|
+
name: "Unauthorized",
|
|
77078
|
+
type: "error"
|
|
77079
|
+
},
|
|
77080
|
+
{
|
|
77081
|
+
inputs: [
|
|
77082
|
+
],
|
|
77083
|
+
name: "UnauthorizedSigner",
|
|
77084
|
+
type: "error"
|
|
77085
|
+
},
|
|
77086
|
+
{
|
|
77087
|
+
inputs: [
|
|
77088
|
+
],
|
|
77089
|
+
name: "UpdateIntervalNotElapsed",
|
|
77090
|
+
type: "error"
|
|
77091
|
+
},
|
|
77092
|
+
{
|
|
77093
|
+
inputs: [
|
|
77094
|
+
],
|
|
77095
|
+
name: "VestingTooShort",
|
|
77096
|
+
type: "error"
|
|
77097
|
+
},
|
|
77098
|
+
{
|
|
77099
|
+
inputs: [
|
|
77100
|
+
],
|
|
77101
|
+
name: "ZeroAddress",
|
|
77102
|
+
type: "error"
|
|
77103
|
+
},
|
|
77104
|
+
{
|
|
77105
|
+
inputs: [
|
|
77106
|
+
],
|
|
77107
|
+
name: "ZeroSignatureLength",
|
|
77108
|
+
type: "error"
|
|
77109
|
+
},
|
|
77110
|
+
{
|
|
77111
|
+
anonymous: false,
|
|
76872
77112
|
inputs: [
|
|
76873
77113
|
{
|
|
77114
|
+
indexed: false,
|
|
76874
77115
|
internalType: "uint256",
|
|
76875
|
-
name: "
|
|
77116
|
+
name: "minBCVUpdateInterval",
|
|
77117
|
+
type: "uint256"
|
|
77118
|
+
}
|
|
77119
|
+
],
|
|
77120
|
+
name: "BCVUpdateIntervalChanged",
|
|
77121
|
+
type: "event"
|
|
77122
|
+
},
|
|
77123
|
+
{
|
|
77124
|
+
anonymous: false,
|
|
77125
|
+
inputs: [
|
|
77126
|
+
{
|
|
77127
|
+
indexed: true,
|
|
77128
|
+
internalType: "uint256",
|
|
77129
|
+
name: "billId",
|
|
76876
77130
|
type: "uint256"
|
|
76877
77131
|
},
|
|
76878
77132
|
{
|
|
77133
|
+
indexed: true,
|
|
77134
|
+
internalType: "address",
|
|
77135
|
+
name: "recipient",
|
|
77136
|
+
type: "address"
|
|
77137
|
+
},
|
|
77138
|
+
{
|
|
77139
|
+
indexed: false,
|
|
76879
77140
|
internalType: "uint256",
|
|
76880
|
-
name: "
|
|
77141
|
+
name: "payout",
|
|
77142
|
+
type: "uint256"
|
|
77143
|
+
},
|
|
77144
|
+
{
|
|
77145
|
+
indexed: false,
|
|
77146
|
+
internalType: "uint256",
|
|
77147
|
+
name: "remaining",
|
|
77148
|
+
type: "uint256"
|
|
77149
|
+
}
|
|
77150
|
+
],
|
|
77151
|
+
name: "BillClaimed",
|
|
77152
|
+
type: "event"
|
|
77153
|
+
},
|
|
77154
|
+
{
|
|
77155
|
+
anonymous: false,
|
|
77156
|
+
inputs: [
|
|
77157
|
+
{
|
|
77158
|
+
indexed: false,
|
|
77159
|
+
internalType: "uint256",
|
|
77160
|
+
name: "deposit",
|
|
77161
|
+
type: "uint256"
|
|
77162
|
+
},
|
|
77163
|
+
{
|
|
77164
|
+
indexed: false,
|
|
77165
|
+
internalType: "uint256",
|
|
77166
|
+
name: "payout",
|
|
77167
|
+
type: "uint256"
|
|
77168
|
+
},
|
|
77169
|
+
{
|
|
77170
|
+
indexed: false,
|
|
77171
|
+
internalType: "uint256",
|
|
77172
|
+
name: "expires",
|
|
77173
|
+
type: "uint256"
|
|
77174
|
+
},
|
|
77175
|
+
{
|
|
77176
|
+
indexed: true,
|
|
77177
|
+
internalType: "uint256",
|
|
77178
|
+
name: "billId",
|
|
77179
|
+
type: "uint256"
|
|
77180
|
+
}
|
|
77181
|
+
],
|
|
77182
|
+
name: "BillCreated",
|
|
77183
|
+
type: "event"
|
|
77184
|
+
},
|
|
77185
|
+
{
|
|
77186
|
+
anonymous: false,
|
|
77187
|
+
inputs: [
|
|
77188
|
+
{
|
|
77189
|
+
components: [
|
|
77190
|
+
{
|
|
77191
|
+
internalType: "uint256",
|
|
77192
|
+
name: "controlVariable",
|
|
77193
|
+
type: "uint256"
|
|
77194
|
+
},
|
|
77195
|
+
{
|
|
77196
|
+
internalType: "uint256",
|
|
77197
|
+
name: "vestingTerm",
|
|
77198
|
+
type: "uint256"
|
|
77199
|
+
},
|
|
77200
|
+
{
|
|
77201
|
+
internalType: "uint256",
|
|
77202
|
+
name: "minimumPrice",
|
|
77203
|
+
type: "uint256"
|
|
77204
|
+
},
|
|
77205
|
+
{
|
|
77206
|
+
internalType: "uint256",
|
|
77207
|
+
name: "maxPayout",
|
|
77208
|
+
type: "uint256"
|
|
77209
|
+
},
|
|
77210
|
+
{
|
|
77211
|
+
internalType: "uint256",
|
|
77212
|
+
name: "maxDebt",
|
|
77213
|
+
type: "uint256"
|
|
77214
|
+
},
|
|
77215
|
+
{
|
|
77216
|
+
internalType: "uint256",
|
|
77217
|
+
name: "maxTotalPayout",
|
|
77218
|
+
type: "uint256"
|
|
77219
|
+
},
|
|
77220
|
+
{
|
|
77221
|
+
internalType: "uint256",
|
|
77222
|
+
name: "initialDebt",
|
|
77223
|
+
type: "uint256"
|
|
77224
|
+
}
|
|
77225
|
+
],
|
|
77226
|
+
indexed: false,
|
|
77227
|
+
internalType: "struct IApeBond.BondTerms",
|
|
77228
|
+
name: "billTerms",
|
|
77229
|
+
type: "tuple"
|
|
77230
|
+
},
|
|
77231
|
+
{
|
|
77232
|
+
indexed: false,
|
|
77233
|
+
internalType: "uint256",
|
|
77234
|
+
name: "lastDecay",
|
|
77235
|
+
type: "uint256"
|
|
77236
|
+
}
|
|
77237
|
+
],
|
|
77238
|
+
name: "BillInitialized",
|
|
77239
|
+
type: "event"
|
|
77240
|
+
},
|
|
77241
|
+
{
|
|
77242
|
+
anonymous: false,
|
|
77243
|
+
inputs: [
|
|
77244
|
+
{
|
|
77245
|
+
indexed: false,
|
|
77246
|
+
internalType: "uint256",
|
|
77247
|
+
name: "internalPrice",
|
|
77248
|
+
type: "uint256"
|
|
77249
|
+
},
|
|
77250
|
+
{
|
|
77251
|
+
indexed: false,
|
|
77252
|
+
internalType: "uint256",
|
|
77253
|
+
name: "debtRatio",
|
|
77254
|
+
type: "uint256"
|
|
77255
|
+
}
|
|
77256
|
+
],
|
|
77257
|
+
name: "BondPriceChanged",
|
|
77258
|
+
type: "event"
|
|
77259
|
+
},
|
|
77260
|
+
{
|
|
77261
|
+
anonymous: false,
|
|
77262
|
+
inputs: [
|
|
77263
|
+
{
|
|
77264
|
+
indexed: false,
|
|
77265
|
+
internalType: "uint256",
|
|
77266
|
+
name: "initialBCV",
|
|
77267
|
+
type: "uint256"
|
|
77268
|
+
},
|
|
77269
|
+
{
|
|
77270
|
+
indexed: false,
|
|
77271
|
+
internalType: "uint256",
|
|
77272
|
+
name: "newBCV",
|
|
76881
77273
|
type: "uint256"
|
|
77274
|
+
}
|
|
77275
|
+
],
|
|
77276
|
+
name: "ControlVariableAdjustment",
|
|
77277
|
+
type: "event"
|
|
77278
|
+
},
|
|
77279
|
+
{
|
|
77280
|
+
anonymous: false,
|
|
77281
|
+
inputs: [
|
|
77282
|
+
{
|
|
77283
|
+
indexed: false,
|
|
77284
|
+
internalType: "address",
|
|
77285
|
+
name: "oldFeeInPrincipalRecipient",
|
|
77286
|
+
type: "address"
|
|
76882
77287
|
},
|
|
76883
77288
|
{
|
|
77289
|
+
indexed: false,
|
|
76884
77290
|
internalType: "address",
|
|
76885
|
-
name: "
|
|
77291
|
+
name: "newFeeInPrincipalRecipient",
|
|
76886
77292
|
type: "address"
|
|
76887
77293
|
},
|
|
76888
77294
|
{
|
|
76889
|
-
|
|
76890
|
-
|
|
76891
|
-
|
|
77295
|
+
indexed: false,
|
|
77296
|
+
internalType: "address",
|
|
77297
|
+
name: "oldFeeInPayoutRecipient",
|
|
77298
|
+
type: "address"
|
|
77299
|
+
},
|
|
77300
|
+
{
|
|
77301
|
+
indexed: false,
|
|
77302
|
+
internalType: "address",
|
|
77303
|
+
name: "newFeeInPayoutRecipient",
|
|
77304
|
+
type: "address"
|
|
76892
77305
|
}
|
|
76893
77306
|
],
|
|
76894
|
-
name: "
|
|
76895
|
-
|
|
77307
|
+
name: "FeeRecipientsChanged",
|
|
77308
|
+
type: "event"
|
|
77309
|
+
},
|
|
77310
|
+
{
|
|
77311
|
+
anonymous: false,
|
|
77312
|
+
inputs: [
|
|
77313
|
+
{
|
|
77314
|
+
indexed: false,
|
|
77315
|
+
internalType: "uint8",
|
|
77316
|
+
name: "version",
|
|
77317
|
+
type: "uint8"
|
|
77318
|
+
}
|
|
77319
|
+
],
|
|
77320
|
+
name: "Initialized",
|
|
77321
|
+
type: "event"
|
|
77322
|
+
},
|
|
77323
|
+
{
|
|
77324
|
+
anonymous: false,
|
|
77325
|
+
inputs: [
|
|
76896
77326
|
{
|
|
77327
|
+
indexed: false,
|
|
76897
77328
|
internalType: "uint256",
|
|
76898
|
-
name: "",
|
|
77329
|
+
name: "newMaxTotalPayout",
|
|
76899
77330
|
type: "uint256"
|
|
76900
77331
|
}
|
|
76901
77332
|
],
|
|
76902
|
-
|
|
76903
|
-
type: "
|
|
76904
|
-
}
|
|
76905
|
-
|
|
76906
|
-
|
|
76907
|
-
|
|
76908
|
-
|
|
76909
|
-
|
|
76910
|
-
|
|
76911
|
-
|
|
76912
|
-
|
|
76913
|
-
|
|
76914
|
-
|
|
76915
|
-
|
|
76916
|
-
|
|
76917
|
-
}
|
|
76918
|
-
|
|
76919
|
-
|
|
76920
|
-
|
|
76921
|
-
|
|
76922
|
-
|
|
76923
|
-
|
|
76924
|
-
|
|
76925
|
-
|
|
76926
|
-
|
|
76927
|
-
|
|
76928
|
-
|
|
76929
|
-
|
|
76930
|
-
|
|
76931
|
-
|
|
76932
|
-
|
|
76933
|
-
|
|
76934
|
-
|
|
76935
|
-
|
|
76936
|
-
|
|
76937
|
-
|
|
76938
|
-
|
|
76939
|
-
|
|
76940
|
-
|
|
76941
|
-
|
|
76942
|
-
|
|
76943
|
-
|
|
76944
|
-
|
|
76945
|
-
|
|
77333
|
+
name: "MaxTotalPayoutChanged",
|
|
77334
|
+
type: "event"
|
|
77335
|
+
},
|
|
77336
|
+
{
|
|
77337
|
+
anonymous: false,
|
|
77338
|
+
inputs: [
|
|
77339
|
+
{
|
|
77340
|
+
indexed: false,
|
|
77341
|
+
internalType: "uint256",
|
|
77342
|
+
name: "minBCVUpdateInterval",
|
|
77343
|
+
type: "uint256"
|
|
77344
|
+
}
|
|
77345
|
+
],
|
|
77346
|
+
name: "MinBCVUpdateIntervalChanged",
|
|
77347
|
+
type: "event"
|
|
77348
|
+
},
|
|
77349
|
+
{
|
|
77350
|
+
anonymous: false,
|
|
77351
|
+
inputs: [
|
|
77352
|
+
{
|
|
77353
|
+
indexed: true,
|
|
77354
|
+
internalType: "address",
|
|
77355
|
+
name: "previousOwner",
|
|
77356
|
+
type: "address"
|
|
77357
|
+
},
|
|
77358
|
+
{
|
|
77359
|
+
indexed: true,
|
|
77360
|
+
internalType: "address",
|
|
77361
|
+
name: "newOwner",
|
|
77362
|
+
type: "address"
|
|
77363
|
+
}
|
|
77364
|
+
],
|
|
77365
|
+
name: "OwnershipTransferred",
|
|
77366
|
+
type: "event"
|
|
77367
|
+
},
|
|
77368
|
+
{
|
|
77369
|
+
anonymous: false,
|
|
77370
|
+
inputs: [
|
|
77371
|
+
{
|
|
77372
|
+
indexed: false,
|
|
77373
|
+
internalType: "address",
|
|
77374
|
+
name: "account",
|
|
77375
|
+
type: "address"
|
|
77376
|
+
}
|
|
77377
|
+
],
|
|
77378
|
+
name: "Paused",
|
|
77379
|
+
type: "event"
|
|
77380
|
+
},
|
|
77381
|
+
{
|
|
77382
|
+
anonymous: false,
|
|
77383
|
+
inputs: [
|
|
77384
|
+
{
|
|
77385
|
+
indexed: true,
|
|
77386
|
+
internalType: "bytes32",
|
|
77387
|
+
name: "role",
|
|
77388
|
+
type: "bytes32"
|
|
77389
|
+
},
|
|
77390
|
+
{
|
|
77391
|
+
indexed: true,
|
|
77392
|
+
internalType: "bytes32",
|
|
77393
|
+
name: "previousAdminRole",
|
|
77394
|
+
type: "bytes32"
|
|
77395
|
+
},
|
|
77396
|
+
{
|
|
77397
|
+
indexed: true,
|
|
77398
|
+
internalType: "bytes32",
|
|
77399
|
+
name: "newAdminRole",
|
|
77400
|
+
type: "bytes32"
|
|
77401
|
+
}
|
|
77402
|
+
],
|
|
77403
|
+
name: "RoleAdminChanged",
|
|
77404
|
+
type: "event"
|
|
77405
|
+
},
|
|
77406
|
+
{
|
|
77407
|
+
anonymous: false,
|
|
77408
|
+
inputs: [
|
|
77409
|
+
{
|
|
77410
|
+
indexed: true,
|
|
77411
|
+
internalType: "bytes32",
|
|
77412
|
+
name: "role",
|
|
77413
|
+
type: "bytes32"
|
|
77414
|
+
},
|
|
77415
|
+
{
|
|
77416
|
+
indexed: true,
|
|
77417
|
+
internalType: "address",
|
|
77418
|
+
name: "account",
|
|
77419
|
+
type: "address"
|
|
77420
|
+
},
|
|
77421
|
+
{
|
|
77422
|
+
indexed: true,
|
|
77423
|
+
internalType: "address",
|
|
77424
|
+
name: "sender",
|
|
77425
|
+
type: "address"
|
|
77426
|
+
}
|
|
77427
|
+
],
|
|
77428
|
+
name: "RoleGranted",
|
|
77429
|
+
type: "event"
|
|
77430
|
+
},
|
|
77431
|
+
{
|
|
77432
|
+
anonymous: false,
|
|
77433
|
+
inputs: [
|
|
77434
|
+
{
|
|
77435
|
+
indexed: true,
|
|
77436
|
+
internalType: "bytes32",
|
|
77437
|
+
name: "role",
|
|
77438
|
+
type: "bytes32"
|
|
77439
|
+
},
|
|
77440
|
+
{
|
|
77441
|
+
indexed: true,
|
|
77442
|
+
internalType: "address",
|
|
77443
|
+
name: "account",
|
|
77444
|
+
type: "address"
|
|
77445
|
+
},
|
|
77446
|
+
{
|
|
77447
|
+
indexed: true,
|
|
77448
|
+
internalType: "address",
|
|
77449
|
+
name: "sender",
|
|
77450
|
+
type: "address"
|
|
77451
|
+
}
|
|
77452
|
+
],
|
|
77453
|
+
name: "RoleRevoked",
|
|
77454
|
+
type: "event"
|
|
77455
|
+
},
|
|
77456
|
+
{
|
|
77457
|
+
anonymous: false,
|
|
77458
|
+
inputs: [
|
|
77459
|
+
{
|
|
77460
|
+
indexed: false,
|
|
77461
|
+
internalType: "uint256",
|
|
77462
|
+
name: "principalFee",
|
|
77463
|
+
type: "uint256"
|
|
77464
|
+
},
|
|
77465
|
+
{
|
|
77466
|
+
indexed: false,
|
|
77467
|
+
internalType: "uint256",
|
|
77468
|
+
name: "payoutFee",
|
|
77469
|
+
type: "uint256"
|
|
77470
|
+
}
|
|
77471
|
+
],
|
|
77472
|
+
name: "SetFee",
|
|
77473
|
+
type: "event"
|
|
77474
|
+
},
|
|
77475
|
+
{
|
|
77476
|
+
anonymous: false,
|
|
77477
|
+
inputs: [
|
|
77478
|
+
{
|
|
77479
|
+
indexed: false,
|
|
77480
|
+
internalType: "bool",
|
|
77481
|
+
name: "_active",
|
|
77482
|
+
type: "bool"
|
|
77483
|
+
},
|
|
77484
|
+
{
|
|
77485
|
+
indexed: false,
|
|
77486
|
+
internalType: "address",
|
|
77487
|
+
name: "_pointsLens",
|
|
77488
|
+
type: "address"
|
|
77489
|
+
},
|
|
77490
|
+
{
|
|
77491
|
+
indexed: false,
|
|
77492
|
+
internalType: "address",
|
|
77493
|
+
name: "_authorizedSigner",
|
|
77494
|
+
type: "address"
|
|
77495
|
+
},
|
|
77496
|
+
{
|
|
77497
|
+
indexed: false,
|
|
77498
|
+
internalType: "uint256",
|
|
77499
|
+
name: "_minPoints",
|
|
77500
|
+
type: "uint256"
|
|
77501
|
+
}
|
|
77502
|
+
],
|
|
77503
|
+
name: "SetTierAccessExtensionData",
|
|
77504
|
+
type: "event"
|
|
77505
|
+
},
|
|
77506
|
+
{
|
|
77507
|
+
anonymous: false,
|
|
77508
|
+
inputs: [
|
|
77509
|
+
{
|
|
77510
|
+
indexed: false,
|
|
77511
|
+
internalType: "bool",
|
|
77512
|
+
name: "_active",
|
|
77513
|
+
type: "bool"
|
|
77514
|
+
},
|
|
77515
|
+
{
|
|
77516
|
+
indexed: false,
|
|
77517
|
+
internalType: "address",
|
|
77518
|
+
name: "_pointsLens",
|
|
77519
|
+
type: "address"
|
|
77520
|
+
},
|
|
77521
|
+
{
|
|
77522
|
+
indexed: false,
|
|
77523
|
+
internalType: "address",
|
|
77524
|
+
name: "_authorizedSigner",
|
|
77525
|
+
type: "address"
|
|
77526
|
+
},
|
|
77527
|
+
{
|
|
77528
|
+
indexed: false,
|
|
77529
|
+
internalType: "uint256[]",
|
|
77530
|
+
name: "_points",
|
|
77531
|
+
type: "uint256[]"
|
|
77532
|
+
},
|
|
77533
|
+
{
|
|
77534
|
+
indexed: false,
|
|
77535
|
+
internalType: "uint256[]",
|
|
77536
|
+
name: "_extraDiscount",
|
|
77537
|
+
type: "uint256[]"
|
|
77538
|
+
}
|
|
77539
|
+
],
|
|
77540
|
+
name: "SetTierBoostedDiscountExtensionData",
|
|
77541
|
+
type: "event"
|
|
77542
|
+
},
|
|
77543
|
+
{
|
|
77544
|
+
anonymous: false,
|
|
77545
|
+
inputs: [
|
|
77546
|
+
{
|
|
77547
|
+
indexed: false,
|
|
77548
|
+
internalType: "enum ApeBond.PARAMETER",
|
|
77549
|
+
name: "parameter",
|
|
77550
|
+
type: "uint8"
|
|
77551
|
+
},
|
|
77552
|
+
{
|
|
77553
|
+
indexed: false,
|
|
77554
|
+
internalType: "uint256",
|
|
77555
|
+
name: "input",
|
|
77556
|
+
type: "uint256"
|
|
77557
|
+
}
|
|
77558
|
+
],
|
|
77559
|
+
name: "TermsSet",
|
|
77560
|
+
type: "event"
|
|
77561
|
+
},
|
|
77562
|
+
{
|
|
77563
|
+
anonymous: false,
|
|
77564
|
+
inputs: [
|
|
77565
|
+
{
|
|
77566
|
+
indexed: false,
|
|
77567
|
+
internalType: "address",
|
|
77568
|
+
name: "account",
|
|
77569
|
+
type: "address"
|
|
77570
|
+
}
|
|
77571
|
+
],
|
|
77572
|
+
name: "Unpaused",
|
|
77573
|
+
type: "event"
|
|
77574
|
+
},
|
|
77575
|
+
{
|
|
77576
|
+
anonymous: false,
|
|
77577
|
+
inputs: [
|
|
77578
|
+
{
|
|
77579
|
+
indexed: true,
|
|
77580
|
+
internalType: "address",
|
|
77581
|
+
name: "owner",
|
|
77582
|
+
type: "address"
|
|
77583
|
+
},
|
|
77584
|
+
{
|
|
77585
|
+
indexed: true,
|
|
77586
|
+
internalType: "address",
|
|
77587
|
+
name: "approvedAccount",
|
|
77588
|
+
type: "address"
|
|
77589
|
+
},
|
|
77590
|
+
{
|
|
77591
|
+
indexed: false,
|
|
77592
|
+
internalType: "bool",
|
|
77593
|
+
name: "approved",
|
|
77594
|
+
type: "bool"
|
|
77595
|
+
}
|
|
77596
|
+
],
|
|
77597
|
+
name: "UpdateClaimApproval",
|
|
77598
|
+
type: "event"
|
|
77599
|
+
},
|
|
77600
|
+
{
|
|
77601
|
+
inputs: [
|
|
77602
|
+
],
|
|
77603
|
+
name: "AUTOMATION_ROLE",
|
|
77604
|
+
outputs: [
|
|
77605
|
+
{
|
|
77606
|
+
internalType: "bytes32",
|
|
77607
|
+
name: "",
|
|
77608
|
+
type: "bytes32"
|
|
77609
|
+
}
|
|
77610
|
+
],
|
|
77611
|
+
stateMutability: "view",
|
|
77612
|
+
type: "function"
|
|
77613
|
+
},
|
|
77614
|
+
{
|
|
77615
|
+
inputs: [
|
|
77616
|
+
],
|
|
77617
|
+
name: "DEFAULT_ADMIN_ROLE",
|
|
77618
|
+
outputs: [
|
|
77619
|
+
{
|
|
77620
|
+
internalType: "bytes32",
|
|
77621
|
+
name: "",
|
|
77622
|
+
type: "bytes32"
|
|
77623
|
+
}
|
|
77624
|
+
],
|
|
77625
|
+
stateMutability: "view",
|
|
77626
|
+
type: "function"
|
|
77627
|
+
},
|
|
77628
|
+
{
|
|
77629
|
+
inputs: [
|
|
77630
|
+
],
|
|
77631
|
+
name: "DOMAIN_SEPARATOR",
|
|
77632
|
+
outputs: [
|
|
77633
|
+
{
|
|
77634
|
+
internalType: "bytes32",
|
|
77635
|
+
name: "",
|
|
77636
|
+
type: "bytes32"
|
|
77637
|
+
}
|
|
77638
|
+
],
|
|
77639
|
+
stateMutability: "view",
|
|
77640
|
+
type: "function"
|
|
77641
|
+
},
|
|
77642
|
+
{
|
|
77643
|
+
inputs: [
|
|
77644
|
+
],
|
|
77645
|
+
name: "OPERATIONS_ROLE",
|
|
77646
|
+
outputs: [
|
|
77647
|
+
{
|
|
77648
|
+
internalType: "bytes32",
|
|
77649
|
+
name: "",
|
|
77650
|
+
type: "bytes32"
|
|
77651
|
+
}
|
|
77652
|
+
],
|
|
77653
|
+
stateMutability: "view",
|
|
77654
|
+
type: "function"
|
|
77655
|
+
},
|
|
77656
|
+
{
|
|
77657
|
+
inputs: [
|
|
77658
|
+
],
|
|
77659
|
+
name: "PERCENTAGE_BASE",
|
|
77660
|
+
outputs: [
|
|
77661
|
+
{
|
|
77662
|
+
internalType: "uint256",
|
|
77663
|
+
name: "",
|
|
77664
|
+
type: "uint256"
|
|
77665
|
+
}
|
|
77666
|
+
],
|
|
77667
|
+
stateMutability: "view",
|
|
77668
|
+
type: "function"
|
|
77669
|
+
},
|
|
77670
|
+
{
|
|
77671
|
+
inputs: [
|
|
77672
|
+
],
|
|
77673
|
+
name: "TIER_PROOF_TYPEHASH",
|
|
77674
|
+
outputs: [
|
|
77675
|
+
{
|
|
77676
|
+
internalType: "bytes32",
|
|
77677
|
+
name: "",
|
|
77678
|
+
type: "bytes32"
|
|
77679
|
+
}
|
|
77680
|
+
],
|
|
77681
|
+
stateMutability: "view",
|
|
77682
|
+
type: "function"
|
|
77683
|
+
},
|
|
77684
|
+
{
|
|
77685
|
+
inputs: [
|
|
77686
|
+
],
|
|
77687
|
+
name: "VERSION",
|
|
77688
|
+
outputs: [
|
|
77689
|
+
{
|
|
77690
|
+
internalType: "string",
|
|
77691
|
+
name: "",
|
|
77692
|
+
type: "string"
|
|
77693
|
+
}
|
|
77694
|
+
],
|
|
77695
|
+
stateMutability: "view",
|
|
77696
|
+
type: "function"
|
|
77697
|
+
},
|
|
77698
|
+
{
|
|
77699
|
+
inputs: [
|
|
77700
|
+
],
|
|
77701
|
+
name: "allIssuedBillIds",
|
|
77702
|
+
outputs: [
|
|
77703
|
+
{
|
|
77704
|
+
internalType: "uint256[]",
|
|
77705
|
+
name: "",
|
|
77706
|
+
type: "uint256[]"
|
|
77707
|
+
}
|
|
77708
|
+
],
|
|
77709
|
+
stateMutability: "view",
|
|
77710
|
+
type: "function"
|
|
77711
|
+
},
|
|
77712
|
+
{
|
|
77713
|
+
inputs: [
|
|
77714
|
+
{
|
|
77715
|
+
internalType: "uint256[]",
|
|
77716
|
+
name: "_billIds",
|
|
77717
|
+
type: "uint256[]"
|
|
77718
|
+
}
|
|
77719
|
+
],
|
|
77720
|
+
name: "batchClaim",
|
|
77721
|
+
outputs: [
|
|
77722
|
+
{
|
|
77723
|
+
internalType: "uint256",
|
|
77724
|
+
name: "payout",
|
|
77725
|
+
type: "uint256"
|
|
77726
|
+
}
|
|
77727
|
+
],
|
|
77728
|
+
stateMutability: "nonpayable",
|
|
77729
|
+
type: "function"
|
|
77730
|
+
},
|
|
77731
|
+
{
|
|
77732
|
+
inputs: [
|
|
77733
|
+
{
|
|
77734
|
+
internalType: "uint256[]",
|
|
77735
|
+
name: "_billIds",
|
|
77736
|
+
type: "uint256[]"
|
|
77737
|
+
}
|
|
77738
|
+
],
|
|
77739
|
+
name: "batchRedeem",
|
|
77740
|
+
outputs: [
|
|
77741
|
+
{
|
|
77742
|
+
internalType: "uint256",
|
|
77743
|
+
name: "payout",
|
|
77744
|
+
type: "uint256"
|
|
77745
|
+
}
|
|
77746
|
+
],
|
|
77747
|
+
stateMutability: "nonpayable",
|
|
77748
|
+
type: "function"
|
|
77749
|
+
},
|
|
77750
|
+
{
|
|
77751
|
+
inputs: [
|
|
77752
|
+
{
|
|
77753
|
+
internalType: "uint256",
|
|
77754
|
+
name: "",
|
|
77755
|
+
type: "uint256"
|
|
77756
|
+
}
|
|
77757
|
+
],
|
|
77758
|
+
name: "billInfo",
|
|
77759
|
+
outputs: [
|
|
77760
|
+
{
|
|
77761
|
+
internalType: "uint256",
|
|
77762
|
+
name: "payout",
|
|
77763
|
+
type: "uint256"
|
|
77764
|
+
},
|
|
77765
|
+
{
|
|
77766
|
+
internalType: "uint256",
|
|
77767
|
+
name: "payoutClaimed",
|
|
77768
|
+
type: "uint256"
|
|
77769
|
+
},
|
|
77770
|
+
{
|
|
77771
|
+
internalType: "uint256",
|
|
77772
|
+
name: "vesting",
|
|
77773
|
+
type: "uint256"
|
|
77774
|
+
},
|
|
77775
|
+
{
|
|
77776
|
+
internalType: "uint256",
|
|
77777
|
+
name: "vestingTerm",
|
|
77778
|
+
type: "uint256"
|
|
77779
|
+
},
|
|
77780
|
+
{
|
|
77781
|
+
internalType: "uint256",
|
|
77782
|
+
name: "vestingStartTimestamp",
|
|
77783
|
+
type: "uint256"
|
|
77784
|
+
},
|
|
77785
|
+
{
|
|
77786
|
+
internalType: "uint256",
|
|
77787
|
+
name: "lastClaimTimestamp",
|
|
77788
|
+
type: "uint256"
|
|
77789
|
+
},
|
|
77790
|
+
{
|
|
77791
|
+
internalType: "uint256",
|
|
77792
|
+
name: "truePricePaid",
|
|
77793
|
+
type: "uint256"
|
|
77794
|
+
}
|
|
77795
|
+
],
|
|
77796
|
+
stateMutability: "view",
|
|
77797
|
+
type: "function"
|
|
77798
|
+
},
|
|
77799
|
+
{
|
|
77800
|
+
inputs: [
|
|
77801
|
+
],
|
|
77802
|
+
name: "billNft",
|
|
77803
|
+
outputs: [
|
|
77804
|
+
{
|
|
77805
|
+
internalType: "contract IBondNft",
|
|
77806
|
+
name: "",
|
|
77807
|
+
type: "address"
|
|
77808
|
+
}
|
|
77809
|
+
],
|
|
77810
|
+
stateMutability: "view",
|
|
77811
|
+
type: "function"
|
|
77812
|
+
},
|
|
77813
|
+
{
|
|
77814
|
+
inputs: [
|
|
77815
|
+
{
|
|
77816
|
+
internalType: "bytes",
|
|
77817
|
+
name: "_tierProofSignature",
|
|
77818
|
+
type: "bytes"
|
|
77819
|
+
},
|
|
77820
|
+
{
|
|
77821
|
+
internalType: "address",
|
|
77822
|
+
name: "_user",
|
|
77823
|
+
type: "address"
|
|
77824
|
+
}
|
|
77825
|
+
],
|
|
77826
|
+
name: "billPrice",
|
|
77827
|
+
outputs: [
|
|
77828
|
+
{
|
|
77829
|
+
internalType: "uint256",
|
|
77830
|
+
name: "_price",
|
|
77831
|
+
type: "uint256"
|
|
77832
|
+
}
|
|
77833
|
+
],
|
|
77834
|
+
stateMutability: "view",
|
|
77835
|
+
type: "function"
|
|
77836
|
+
},
|
|
77837
|
+
{
|
|
77838
|
+
inputs: [
|
|
77839
|
+
{
|
|
77840
|
+
internalType: "uint256",
|
|
77841
|
+
name: "_billId",
|
|
77842
|
+
type: "uint256"
|
|
77843
|
+
}
|
|
77844
|
+
],
|
|
77845
|
+
name: "claim",
|
|
77846
|
+
outputs: [
|
|
77847
|
+
{
|
|
77848
|
+
internalType: "uint256",
|
|
77849
|
+
name: "",
|
|
77850
|
+
type: "uint256"
|
|
77851
|
+
}
|
|
77852
|
+
],
|
|
77853
|
+
stateMutability: "nonpayable",
|
|
77854
|
+
type: "function"
|
|
77855
|
+
},
|
|
77856
|
+
{
|
|
77857
|
+
inputs: [
|
|
77858
|
+
{
|
|
77859
|
+
internalType: "uint256",
|
|
77860
|
+
name: "_billId",
|
|
77861
|
+
type: "uint256"
|
|
77862
|
+
}
|
|
77863
|
+
],
|
|
77864
|
+
name: "claimablePayout",
|
|
77865
|
+
outputs: [
|
|
77866
|
+
{
|
|
77867
|
+
internalType: "uint256",
|
|
77868
|
+
name: "claimablePayout_",
|
|
77869
|
+
type: "uint256"
|
|
77870
|
+
}
|
|
77871
|
+
],
|
|
77872
|
+
stateMutability: "view",
|
|
77873
|
+
type: "function"
|
|
77874
|
+
},
|
|
77875
|
+
{
|
|
77876
|
+
inputs: [
|
|
77877
|
+
],
|
|
77878
|
+
name: "currentDebt",
|
|
77879
|
+
outputs: [
|
|
77880
|
+
{
|
|
77881
|
+
internalType: "uint256",
|
|
77882
|
+
name: "",
|
|
77883
|
+
type: "uint256"
|
|
77884
|
+
}
|
|
77885
|
+
],
|
|
77886
|
+
stateMutability: "view",
|
|
77887
|
+
type: "function"
|
|
77888
|
+
},
|
|
77889
|
+
{
|
|
77890
|
+
inputs: [
|
|
77891
|
+
],
|
|
77892
|
+
name: "customTreasury",
|
|
77893
|
+
outputs: [
|
|
77894
|
+
{
|
|
77895
|
+
internalType: "contract IBondTreasury",
|
|
77896
|
+
name: "",
|
|
77897
|
+
type: "address"
|
|
77898
|
+
}
|
|
77899
|
+
],
|
|
77900
|
+
stateMutability: "view",
|
|
77901
|
+
type: "function"
|
|
77902
|
+
},
|
|
77903
|
+
{
|
|
77904
|
+
inputs: [
|
|
77905
|
+
],
|
|
77906
|
+
name: "debtDecay",
|
|
77907
|
+
outputs: [
|
|
77908
|
+
{
|
|
77909
|
+
internalType: "uint256",
|
|
77910
|
+
name: "decay_",
|
|
77911
|
+
type: "uint256"
|
|
77912
|
+
}
|
|
77913
|
+
],
|
|
77914
|
+
stateMutability: "view",
|
|
77915
|
+
type: "function"
|
|
77916
|
+
},
|
|
77917
|
+
{
|
|
77918
|
+
inputs: [
|
|
77919
|
+
],
|
|
77920
|
+
name: "debtRatio",
|
|
77921
|
+
outputs: [
|
|
77922
|
+
{
|
|
77923
|
+
internalType: "uint256",
|
|
77924
|
+
name: "debtRatio_",
|
|
77925
|
+
type: "uint256"
|
|
77926
|
+
}
|
|
77927
|
+
],
|
|
77928
|
+
stateMutability: "view",
|
|
77929
|
+
type: "function"
|
|
77930
|
+
},
|
|
77931
|
+
{
|
|
77932
|
+
inputs: [
|
|
77933
|
+
{
|
|
77934
|
+
internalType: "uint256",
|
|
77935
|
+
name: "_amount",
|
|
77936
|
+
type: "uint256"
|
|
77937
|
+
},
|
|
77938
|
+
{
|
|
77939
|
+
internalType: "uint256",
|
|
77940
|
+
name: "_maxPrice",
|
|
77941
|
+
type: "uint256"
|
|
77942
|
+
},
|
|
77943
|
+
{
|
|
77944
|
+
internalType: "address",
|
|
77945
|
+
name: "_depositor",
|
|
77946
|
+
type: "address"
|
|
77947
|
+
},
|
|
77948
|
+
{
|
|
77949
|
+
internalType: "bytes",
|
|
77950
|
+
name: "_tierProofSignature",
|
|
77951
|
+
type: "bytes"
|
|
77952
|
+
}
|
|
77953
|
+
],
|
|
77954
|
+
name: "deposit",
|
|
77955
|
+
outputs: [
|
|
77956
|
+
{
|
|
77957
|
+
internalType: "uint256",
|
|
77958
|
+
name: "",
|
|
77959
|
+
type: "uint256"
|
|
77960
|
+
}
|
|
77961
|
+
],
|
|
77962
|
+
stateMutability: "nonpayable",
|
|
77963
|
+
type: "function"
|
|
77964
|
+
},
|
|
77965
|
+
{
|
|
77966
|
+
inputs: [
|
|
77967
|
+
],
|
|
77968
|
+
name: "feeInPayout",
|
|
77969
|
+
outputs: [
|
|
77970
|
+
{
|
|
77971
|
+
internalType: "uint256",
|
|
77972
|
+
name: "",
|
|
77973
|
+
type: "uint256"
|
|
77974
|
+
}
|
|
77975
|
+
],
|
|
77976
|
+
stateMutability: "view",
|
|
77977
|
+
type: "function"
|
|
77978
|
+
},
|
|
77979
|
+
{
|
|
77980
|
+
inputs: [
|
|
77981
|
+
],
|
|
77982
|
+
name: "feeInPayoutRecipient",
|
|
77983
|
+
outputs: [
|
|
77984
|
+
{
|
|
77985
|
+
internalType: "address",
|
|
77986
|
+
name: "",
|
|
77987
|
+
type: "address"
|
|
77988
|
+
}
|
|
77989
|
+
],
|
|
77990
|
+
stateMutability: "view",
|
|
77991
|
+
type: "function"
|
|
77992
|
+
},
|
|
77993
|
+
{
|
|
77994
|
+
inputs: [
|
|
77995
|
+
],
|
|
77996
|
+
name: "feeInPrincipal",
|
|
77997
|
+
outputs: [
|
|
77998
|
+
{
|
|
77999
|
+
internalType: "uint256",
|
|
78000
|
+
name: "",
|
|
78001
|
+
type: "uint256"
|
|
78002
|
+
}
|
|
78003
|
+
],
|
|
78004
|
+
stateMutability: "view",
|
|
78005
|
+
type: "function"
|
|
78006
|
+
},
|
|
78007
|
+
{
|
|
78008
|
+
inputs: [
|
|
78009
|
+
],
|
|
78010
|
+
name: "feeInPrincipalRecipient",
|
|
78011
|
+
outputs: [
|
|
78012
|
+
{
|
|
78013
|
+
internalType: "address",
|
|
78014
|
+
name: "",
|
|
78015
|
+
type: "address"
|
|
78016
|
+
}
|
|
78017
|
+
],
|
|
78018
|
+
stateMutability: "view",
|
|
78019
|
+
type: "function"
|
|
78020
|
+
},
|
|
78021
|
+
{
|
|
78022
|
+
inputs: [
|
|
78023
|
+
{
|
|
78024
|
+
internalType: "address",
|
|
78025
|
+
name: "user",
|
|
78026
|
+
type: "address"
|
|
78027
|
+
}
|
|
78028
|
+
],
|
|
78029
|
+
name: "getBillIds",
|
|
78030
|
+
outputs: [
|
|
78031
|
+
{
|
|
78032
|
+
internalType: "uint256[]",
|
|
78033
|
+
name: "",
|
|
78034
|
+
type: "uint256[]"
|
|
78035
|
+
}
|
|
78036
|
+
],
|
|
78037
|
+
stateMutability: "view",
|
|
78038
|
+
type: "function"
|
|
78039
|
+
},
|
|
78040
|
+
{
|
|
78041
|
+
inputs: [
|
|
78042
|
+
{
|
|
78043
|
+
internalType: "address",
|
|
78044
|
+
name: "user",
|
|
78045
|
+
type: "address"
|
|
78046
|
+
},
|
|
78047
|
+
{
|
|
78048
|
+
internalType: "uint256",
|
|
78049
|
+
name: "start",
|
|
78050
|
+
type: "uint256"
|
|
78051
|
+
},
|
|
78052
|
+
{
|
|
78053
|
+
internalType: "uint256",
|
|
78054
|
+
name: "end",
|
|
78055
|
+
type: "uint256"
|
|
78056
|
+
}
|
|
78057
|
+
],
|
|
78058
|
+
name: "getBillIdsInRange",
|
|
78059
|
+
outputs: [
|
|
78060
|
+
{
|
|
78061
|
+
internalType: "uint256[]",
|
|
78062
|
+
name: "",
|
|
78063
|
+
type: "uint256[]"
|
|
78064
|
+
}
|
|
78065
|
+
],
|
|
78066
|
+
stateMutability: "view",
|
|
78067
|
+
type: "function"
|
|
78068
|
+
},
|
|
78069
|
+
{
|
|
78070
|
+
inputs: [
|
|
78071
|
+
{
|
|
78072
|
+
internalType: "uint256",
|
|
78073
|
+
name: "billId",
|
|
78074
|
+
type: "uint256"
|
|
78075
|
+
}
|
|
78076
|
+
],
|
|
78077
|
+
name: "getBillInfo",
|
|
78078
|
+
outputs: [
|
|
78079
|
+
{
|
|
78080
|
+
components: [
|
|
78081
|
+
{
|
|
78082
|
+
internalType: "uint256",
|
|
78083
|
+
name: "payout",
|
|
78084
|
+
type: "uint256"
|
|
78085
|
+
},
|
|
78086
|
+
{
|
|
78087
|
+
internalType: "uint256",
|
|
78088
|
+
name: "payoutClaimed",
|
|
78089
|
+
type: "uint256"
|
|
78090
|
+
},
|
|
78091
|
+
{
|
|
78092
|
+
internalType: "uint256",
|
|
78093
|
+
name: "vesting",
|
|
78094
|
+
type: "uint256"
|
|
78095
|
+
},
|
|
78096
|
+
{
|
|
78097
|
+
internalType: "uint256",
|
|
78098
|
+
name: "vestingTerm",
|
|
78099
|
+
type: "uint256"
|
|
78100
|
+
},
|
|
78101
|
+
{
|
|
78102
|
+
internalType: "uint256",
|
|
78103
|
+
name: "vestingStartTimestamp",
|
|
78104
|
+
type: "uint256"
|
|
78105
|
+
},
|
|
78106
|
+
{
|
|
78107
|
+
internalType: "uint256",
|
|
78108
|
+
name: "lastClaimTimestamp",
|
|
78109
|
+
type: "uint256"
|
|
78110
|
+
},
|
|
78111
|
+
{
|
|
78112
|
+
internalType: "uint256",
|
|
78113
|
+
name: "truePricePaid",
|
|
78114
|
+
type: "uint256"
|
|
78115
|
+
}
|
|
78116
|
+
],
|
|
78117
|
+
internalType: "struct IApeBond.Bill",
|
|
78118
|
+
name: "",
|
|
78119
|
+
type: "tuple"
|
|
78120
|
+
}
|
|
78121
|
+
],
|
|
78122
|
+
stateMutability: "view",
|
|
78123
|
+
type: "function"
|
|
78124
|
+
},
|
|
78125
|
+
{
|
|
78126
|
+
inputs: [
|
|
78127
|
+
],
|
|
78128
|
+
name: "getMaxTotalPayout",
|
|
78129
|
+
outputs: [
|
|
78130
|
+
{
|
|
78131
|
+
internalType: "uint256",
|
|
78132
|
+
name: "",
|
|
78133
|
+
type: "uint256"
|
|
78134
|
+
}
|
|
78135
|
+
],
|
|
78136
|
+
stateMutability: "view",
|
|
78137
|
+
type: "function"
|
|
78138
|
+
},
|
|
78139
|
+
{
|
|
78140
|
+
inputs: [
|
|
78141
|
+
{
|
|
78142
|
+
internalType: "bytes32",
|
|
78143
|
+
name: "role",
|
|
78144
|
+
type: "bytes32"
|
|
78145
|
+
}
|
|
78146
|
+
],
|
|
78147
|
+
name: "getRoleAdmin",
|
|
78148
|
+
outputs: [
|
|
78149
|
+
{
|
|
78150
|
+
internalType: "bytes32",
|
|
78151
|
+
name: "",
|
|
78152
|
+
type: "bytes32"
|
|
78153
|
+
}
|
|
78154
|
+
],
|
|
78155
|
+
stateMutability: "view",
|
|
78156
|
+
type: "function"
|
|
78157
|
+
},
|
|
78158
|
+
{
|
|
78159
|
+
inputs: [
|
|
78160
|
+
{
|
|
78161
|
+
internalType: "bytes32",
|
|
78162
|
+
name: "role",
|
|
78163
|
+
type: "bytes32"
|
|
78164
|
+
},
|
|
78165
|
+
{
|
|
78166
|
+
internalType: "uint256",
|
|
78167
|
+
name: "index",
|
|
78168
|
+
type: "uint256"
|
|
78169
|
+
}
|
|
78170
|
+
],
|
|
78171
|
+
name: "getRoleMember",
|
|
78172
|
+
outputs: [
|
|
78173
|
+
{
|
|
78174
|
+
internalType: "address",
|
|
78175
|
+
name: "",
|
|
78176
|
+
type: "address"
|
|
78177
|
+
}
|
|
78178
|
+
],
|
|
78179
|
+
stateMutability: "view",
|
|
78180
|
+
type: "function"
|
|
78181
|
+
},
|
|
78182
|
+
{
|
|
78183
|
+
inputs: [
|
|
78184
|
+
{
|
|
78185
|
+
internalType: "bytes32",
|
|
78186
|
+
name: "role",
|
|
78187
|
+
type: "bytes32"
|
|
78188
|
+
}
|
|
78189
|
+
],
|
|
78190
|
+
name: "getRoleMemberCount",
|
|
78191
|
+
outputs: [
|
|
78192
|
+
{
|
|
78193
|
+
internalType: "uint256",
|
|
78194
|
+
name: "",
|
|
78195
|
+
type: "uint256"
|
|
78196
|
+
}
|
|
78197
|
+
],
|
|
78198
|
+
stateMutability: "view",
|
|
78199
|
+
type: "function"
|
|
78200
|
+
},
|
|
78201
|
+
{
|
|
78202
|
+
inputs: [
|
|
78203
|
+
{
|
|
78204
|
+
internalType: "bytes32",
|
|
78205
|
+
name: "role",
|
|
78206
|
+
type: "bytes32"
|
|
78207
|
+
},
|
|
78208
|
+
{
|
|
78209
|
+
internalType: "address",
|
|
78210
|
+
name: "account",
|
|
78211
|
+
type: "address"
|
|
78212
|
+
}
|
|
78213
|
+
],
|
|
78214
|
+
name: "grantRole",
|
|
78215
|
+
outputs: [
|
|
78216
|
+
],
|
|
78217
|
+
stateMutability: "nonpayable",
|
|
78218
|
+
type: "function"
|
|
78219
|
+
},
|
|
78220
|
+
{
|
|
78221
|
+
inputs: [
|
|
78222
|
+
{
|
|
78223
|
+
internalType: "bytes32",
|
|
78224
|
+
name: "role",
|
|
78225
|
+
type: "bytes32"
|
|
78226
|
+
},
|
|
78227
|
+
{
|
|
78228
|
+
internalType: "address",
|
|
78229
|
+
name: "account",
|
|
78230
|
+
type: "address"
|
|
78231
|
+
}
|
|
78232
|
+
],
|
|
78233
|
+
name: "hasRole",
|
|
78234
|
+
outputs: [
|
|
78235
|
+
{
|
|
78236
|
+
internalType: "bool",
|
|
78237
|
+
name: "",
|
|
78238
|
+
type: "bool"
|
|
78239
|
+
}
|
|
78240
|
+
],
|
|
78241
|
+
stateMutability: "view",
|
|
78242
|
+
type: "function"
|
|
78243
|
+
},
|
|
78244
|
+
{
|
|
78245
|
+
inputs: [
|
|
78246
|
+
{
|
|
78247
|
+
internalType: "address",
|
|
78248
|
+
name: "_user",
|
|
78249
|
+
type: "address"
|
|
78250
|
+
},
|
|
78251
|
+
{
|
|
78252
|
+
internalType: "bytes",
|
|
78253
|
+
name: "_tierProofSignature",
|
|
78254
|
+
type: "bytes"
|
|
78255
|
+
}
|
|
78256
|
+
],
|
|
78257
|
+
name: "hasTierAccess",
|
|
78258
|
+
outputs: [
|
|
78259
|
+
{
|
|
78260
|
+
internalType: "bool",
|
|
78261
|
+
name: "",
|
|
78262
|
+
type: "bool"
|
|
78263
|
+
}
|
|
78264
|
+
],
|
|
78265
|
+
stateMutability: "view",
|
|
78266
|
+
type: "function"
|
|
78267
|
+
},
|
|
78268
|
+
{
|
|
78269
|
+
inputs: [
|
|
78270
|
+
{
|
|
78271
|
+
internalType: "contract IBondTreasury",
|
|
78272
|
+
name: "_customTreasury",
|
|
78273
|
+
type: "address"
|
|
78274
|
+
},
|
|
78275
|
+
{
|
|
78276
|
+
components: [
|
|
78277
|
+
{
|
|
78278
|
+
internalType: "address",
|
|
78279
|
+
name: "payoutToken",
|
|
78280
|
+
type: "address"
|
|
78281
|
+
},
|
|
78282
|
+
{
|
|
78283
|
+
internalType: "address",
|
|
78284
|
+
name: "principalToken",
|
|
78285
|
+
type: "address"
|
|
78286
|
+
},
|
|
78287
|
+
{
|
|
78288
|
+
internalType: "address",
|
|
78289
|
+
name: "initialOwner",
|
|
78290
|
+
type: "address"
|
|
78291
|
+
},
|
|
78292
|
+
{
|
|
78293
|
+
internalType: "contract IVestingCurve",
|
|
78294
|
+
name: "vestingCurve",
|
|
78295
|
+
type: "address"
|
|
78296
|
+
},
|
|
78297
|
+
{
|
|
78298
|
+
internalType: "uint256",
|
|
78299
|
+
name: "feeInPrincipal",
|
|
78300
|
+
type: "uint256"
|
|
78301
|
+
},
|
|
78302
|
+
{
|
|
78303
|
+
internalType: "uint256",
|
|
78304
|
+
name: "feeInPayout",
|
|
78305
|
+
type: "uint256"
|
|
78306
|
+
}
|
|
78307
|
+
],
|
|
78308
|
+
internalType: "struct IApeBond.BondCreationDetails",
|
|
78309
|
+
name: "_billCreationDetails",
|
|
78310
|
+
type: "tuple"
|
|
78311
|
+
},
|
|
78312
|
+
{
|
|
78313
|
+
components: [
|
|
78314
|
+
{
|
|
78315
|
+
internalType: "uint256",
|
|
78316
|
+
name: "controlVariable",
|
|
78317
|
+
type: "uint256"
|
|
78318
|
+
},
|
|
78319
|
+
{
|
|
78320
|
+
internalType: "uint256",
|
|
78321
|
+
name: "vestingTerm",
|
|
78322
|
+
type: "uint256"
|
|
78323
|
+
},
|
|
78324
|
+
{
|
|
78325
|
+
internalType: "uint256",
|
|
78326
|
+
name: "minimumPrice",
|
|
78327
|
+
type: "uint256"
|
|
78328
|
+
},
|
|
78329
|
+
{
|
|
78330
|
+
internalType: "uint256",
|
|
78331
|
+
name: "maxPayout",
|
|
78332
|
+
type: "uint256"
|
|
78333
|
+
},
|
|
78334
|
+
{
|
|
78335
|
+
internalType: "uint256",
|
|
78336
|
+
name: "maxDebt",
|
|
78337
|
+
type: "uint256"
|
|
78338
|
+
},
|
|
78339
|
+
{
|
|
78340
|
+
internalType: "uint256",
|
|
78341
|
+
name: "maxTotalPayout",
|
|
78342
|
+
type: "uint256"
|
|
78343
|
+
},
|
|
78344
|
+
{
|
|
78345
|
+
internalType: "uint256",
|
|
78346
|
+
name: "initialDebt",
|
|
78347
|
+
type: "uint256"
|
|
78348
|
+
}
|
|
78349
|
+
],
|
|
78350
|
+
internalType: "struct IApeBond.BondTerms",
|
|
78351
|
+
name: "_billTerms",
|
|
78352
|
+
type: "tuple"
|
|
78353
|
+
},
|
|
78354
|
+
{
|
|
78355
|
+
components: [
|
|
78356
|
+
{
|
|
78357
|
+
internalType: "address",
|
|
78358
|
+
name: "feeInPrincipalRecipient",
|
|
78359
|
+
type: "address"
|
|
78360
|
+
},
|
|
78361
|
+
{
|
|
78362
|
+
internalType: "address",
|
|
78363
|
+
name: "feeInPayoutRecipient",
|
|
78364
|
+
type: "address"
|
|
78365
|
+
},
|
|
78366
|
+
{
|
|
78367
|
+
internalType: "address",
|
|
78368
|
+
name: "automationAddress",
|
|
78369
|
+
type: "address"
|
|
78370
|
+
},
|
|
78371
|
+
{
|
|
78372
|
+
internalType: "address",
|
|
78373
|
+
name: "billNft",
|
|
78374
|
+
type: "address"
|
|
78375
|
+
}
|
|
78376
|
+
],
|
|
78377
|
+
internalType: "struct IApeBond.BondAccounts",
|
|
78378
|
+
name: "_billAccounts",
|
|
78379
|
+
type: "tuple"
|
|
78380
|
+
},
|
|
78381
|
+
{
|
|
78382
|
+
internalType: "address[]",
|
|
78383
|
+
name: "_billOperators",
|
|
78384
|
+
type: "address[]"
|
|
78385
|
+
}
|
|
78386
|
+
],
|
|
78387
|
+
name: "initialize",
|
|
78388
|
+
outputs: [
|
|
78389
|
+
],
|
|
78390
|
+
stateMutability: "nonpayable",
|
|
78391
|
+
type: "function"
|
|
78392
|
+
},
|
|
78393
|
+
{
|
|
78394
|
+
inputs: [
|
|
78395
|
+
],
|
|
78396
|
+
name: "lastBCVUpdateTimestamp",
|
|
78397
|
+
outputs: [
|
|
78398
|
+
{
|
|
78399
|
+
internalType: "uint256",
|
|
78400
|
+
name: "",
|
|
78401
|
+
type: "uint256"
|
|
78402
|
+
}
|
|
78403
|
+
],
|
|
78404
|
+
stateMutability: "view",
|
|
78405
|
+
type: "function"
|
|
78406
|
+
},
|
|
78407
|
+
{
|
|
78408
|
+
inputs: [
|
|
78409
|
+
],
|
|
78410
|
+
name: "lastDecay",
|
|
78411
|
+
outputs: [
|
|
78412
|
+
{
|
|
78413
|
+
internalType: "uint256",
|
|
78414
|
+
name: "",
|
|
78415
|
+
type: "uint256"
|
|
78416
|
+
}
|
|
78417
|
+
],
|
|
78418
|
+
stateMutability: "view",
|
|
78419
|
+
type: "function"
|
|
78420
|
+
},
|
|
78421
|
+
{
|
|
78422
|
+
inputs: [
|
|
78423
|
+
],
|
|
78424
|
+
name: "maxPayout",
|
|
78425
|
+
outputs: [
|
|
78426
|
+
{
|
|
78427
|
+
internalType: "uint256",
|
|
78428
|
+
name: "",
|
|
78429
|
+
type: "uint256"
|
|
78430
|
+
}
|
|
78431
|
+
],
|
|
78432
|
+
stateMutability: "view",
|
|
78433
|
+
type: "function"
|
|
78434
|
+
},
|
|
78435
|
+
{
|
|
78436
|
+
inputs: [
|
|
78437
|
+
],
|
|
78438
|
+
name: "minBCVUpdateInterval",
|
|
78439
|
+
outputs: [
|
|
78440
|
+
{
|
|
78441
|
+
internalType: "uint256",
|
|
78442
|
+
name: "",
|
|
78443
|
+
type: "uint256"
|
|
78444
|
+
}
|
|
78445
|
+
],
|
|
78446
|
+
stateMutability: "view",
|
|
78447
|
+
type: "function"
|
|
78448
|
+
},
|
|
78449
|
+
{
|
|
78450
|
+
inputs: [
|
|
78451
|
+
],
|
|
78452
|
+
name: "owner",
|
|
78453
|
+
outputs: [
|
|
78454
|
+
{
|
|
78455
|
+
internalType: "address",
|
|
78456
|
+
name: "",
|
|
78457
|
+
type: "address"
|
|
78458
|
+
}
|
|
78459
|
+
],
|
|
78460
|
+
stateMutability: "view",
|
|
78461
|
+
type: "function"
|
|
78462
|
+
},
|
|
78463
|
+
{
|
|
78464
|
+
inputs: [
|
|
78465
|
+
],
|
|
78466
|
+
name: "pause",
|
|
78467
|
+
outputs: [
|
|
78468
|
+
],
|
|
78469
|
+
stateMutability: "nonpayable",
|
|
78470
|
+
type: "function"
|
|
78471
|
+
},
|
|
78472
|
+
{
|
|
78473
|
+
inputs: [
|
|
78474
|
+
],
|
|
78475
|
+
name: "paused",
|
|
78476
|
+
outputs: [
|
|
78477
|
+
{
|
|
78478
|
+
internalType: "bool",
|
|
78479
|
+
name: "",
|
|
78480
|
+
type: "bool"
|
|
78481
|
+
}
|
|
78482
|
+
],
|
|
78483
|
+
stateMutability: "view",
|
|
78484
|
+
type: "function"
|
|
78485
|
+
},
|
|
78486
|
+
{
|
|
78487
|
+
inputs: [
|
|
78488
|
+
{
|
|
78489
|
+
internalType: "uint256",
|
|
78490
|
+
name: "_amount",
|
|
78491
|
+
type: "uint256"
|
|
78492
|
+
},
|
|
78493
|
+
{
|
|
78494
|
+
internalType: "bytes",
|
|
78495
|
+
name: "_tierProofSignature",
|
|
78496
|
+
type: "bytes"
|
|
78497
|
+
},
|
|
78498
|
+
{
|
|
78499
|
+
internalType: "address",
|
|
78500
|
+
name: "_user",
|
|
78501
|
+
type: "address"
|
|
78502
|
+
}
|
|
78503
|
+
],
|
|
78504
|
+
name: "payoutFor",
|
|
78505
|
+
outputs: [
|
|
78506
|
+
{
|
|
78507
|
+
internalType: "uint256",
|
|
78508
|
+
name: "_payout",
|
|
78509
|
+
type: "uint256"
|
|
78510
|
+
},
|
|
78511
|
+
{
|
|
78512
|
+
internalType: "uint256",
|
|
78513
|
+
name: "_feeInPrincipalAmount",
|
|
78514
|
+
type: "uint256"
|
|
78515
|
+
},
|
|
78516
|
+
{
|
|
78517
|
+
internalType: "uint256",
|
|
78518
|
+
name: "_feeInPayoutAmount",
|
|
78519
|
+
type: "uint256"
|
|
78520
|
+
}
|
|
78521
|
+
],
|
|
78522
|
+
stateMutability: "view",
|
|
78523
|
+
type: "function"
|
|
78524
|
+
},
|
|
78525
|
+
{
|
|
78526
|
+
inputs: [
|
|
78527
|
+
{
|
|
78528
|
+
internalType: "uint256",
|
|
78529
|
+
name: "_amount",
|
|
78530
|
+
type: "uint256"
|
|
78531
|
+
}
|
|
78532
|
+
],
|
|
78533
|
+
name: "payoutFor",
|
|
78534
|
+
outputs: [
|
|
78535
|
+
{
|
|
78536
|
+
internalType: "uint256",
|
|
78537
|
+
name: "_payout",
|
|
78538
|
+
type: "uint256"
|
|
78539
|
+
},
|
|
78540
|
+
{
|
|
78541
|
+
internalType: "uint256",
|
|
78542
|
+
name: "_feeInPrincipalAmount",
|
|
78543
|
+
type: "uint256"
|
|
78544
|
+
},
|
|
78545
|
+
{
|
|
78546
|
+
internalType: "uint256",
|
|
78547
|
+
name: "_feeInPayoutAmount",
|
|
78548
|
+
type: "uint256"
|
|
78549
|
+
}
|
|
78550
|
+
],
|
|
78551
|
+
stateMutability: "view",
|
|
78552
|
+
type: "function"
|
|
78553
|
+
},
|
|
78554
|
+
{
|
|
78555
|
+
inputs: [
|
|
78556
|
+
],
|
|
78557
|
+
name: "payoutToken",
|
|
78558
|
+
outputs: [
|
|
78559
|
+
{
|
|
78560
|
+
internalType: "contract IERC20MetadataUpgradeable",
|
|
78561
|
+
name: "",
|
|
78562
|
+
type: "address"
|
|
78563
|
+
}
|
|
78564
|
+
],
|
|
78565
|
+
stateMutability: "view",
|
|
78566
|
+
type: "function"
|
|
78567
|
+
},
|
|
78568
|
+
{
|
|
78569
|
+
inputs: [
|
|
78570
|
+
],
|
|
78571
|
+
name: "payoutTokenInitialSupply",
|
|
78572
|
+
outputs: [
|
|
78573
|
+
{
|
|
78574
|
+
internalType: "uint256",
|
|
78575
|
+
name: "",
|
|
78576
|
+
type: "uint256"
|
|
78577
|
+
}
|
|
78578
|
+
],
|
|
78579
|
+
stateMutability: "view",
|
|
78580
|
+
type: "function"
|
|
78581
|
+
},
|
|
78582
|
+
{
|
|
78583
|
+
inputs: [
|
|
78584
|
+
{
|
|
78585
|
+
internalType: "uint256",
|
|
78586
|
+
name: "_billId",
|
|
78587
|
+
type: "uint256"
|
|
78588
|
+
}
|
|
78589
|
+
],
|
|
78590
|
+
name: "pendingPayout",
|
|
78591
|
+
outputs: [
|
|
78592
|
+
{
|
|
78593
|
+
internalType: "uint256",
|
|
78594
|
+
name: "pendingPayout_",
|
|
78595
|
+
type: "uint256"
|
|
78596
|
+
}
|
|
78597
|
+
],
|
|
78598
|
+
stateMutability: "view",
|
|
78599
|
+
type: "function"
|
|
78600
|
+
},
|
|
78601
|
+
{
|
|
78602
|
+
inputs: [
|
|
78603
|
+
{
|
|
78604
|
+
internalType: "uint256",
|
|
78605
|
+
name: "_billId",
|
|
78606
|
+
type: "uint256"
|
|
78607
|
+
}
|
|
78608
|
+
],
|
|
78609
|
+
name: "pendingVesting",
|
|
78610
|
+
outputs: [
|
|
78611
|
+
{
|
|
78612
|
+
internalType: "uint256",
|
|
78613
|
+
name: "pendingVesting_",
|
|
78614
|
+
type: "uint256"
|
|
78615
|
+
}
|
|
78616
|
+
],
|
|
78617
|
+
stateMutability: "view",
|
|
78618
|
+
type: "function"
|
|
78619
|
+
},
|
|
78620
|
+
{
|
|
78621
|
+
inputs: [
|
|
78622
|
+
],
|
|
78623
|
+
name: "principalToken",
|
|
78624
|
+
outputs: [
|
|
78625
|
+
{
|
|
78626
|
+
internalType: "contract IERC20MetadataUpgradeable",
|
|
78627
|
+
name: "",
|
|
78628
|
+
type: "address"
|
|
78629
|
+
}
|
|
78630
|
+
],
|
|
78631
|
+
stateMutability: "view",
|
|
78632
|
+
type: "function"
|
|
78633
|
+
},
|
|
78634
|
+
{
|
|
78635
|
+
inputs: [
|
|
78636
|
+
{
|
|
78637
|
+
internalType: "uint256",
|
|
78638
|
+
name: "_billId",
|
|
78639
|
+
type: "uint256"
|
|
78640
|
+
}
|
|
78641
|
+
],
|
|
78642
|
+
name: "redeem",
|
|
78643
|
+
outputs: [
|
|
78644
|
+
{
|
|
78645
|
+
internalType: "uint256",
|
|
78646
|
+
name: "",
|
|
78647
|
+
type: "uint256"
|
|
78648
|
+
}
|
|
78649
|
+
],
|
|
78650
|
+
stateMutability: "nonpayable",
|
|
78651
|
+
type: "function"
|
|
78652
|
+
},
|
|
78653
|
+
{
|
|
78654
|
+
inputs: [
|
|
78655
|
+
{
|
|
78656
|
+
internalType: "address",
|
|
78657
|
+
name: "",
|
|
78658
|
+
type: "address"
|
|
78659
|
+
},
|
|
78660
|
+
{
|
|
78661
|
+
internalType: "address",
|
|
78662
|
+
name: "",
|
|
78663
|
+
type: "address"
|
|
78664
|
+
}
|
|
78665
|
+
],
|
|
78666
|
+
name: "redeemerApproved",
|
|
78667
|
+
outputs: [
|
|
78668
|
+
{
|
|
78669
|
+
internalType: "bool",
|
|
78670
|
+
name: "",
|
|
78671
|
+
type: "bool"
|
|
78672
|
+
}
|
|
78673
|
+
],
|
|
78674
|
+
stateMutability: "view",
|
|
78675
|
+
type: "function"
|
|
78676
|
+
},
|
|
78677
|
+
{
|
|
78678
|
+
inputs: [
|
|
78679
|
+
],
|
|
78680
|
+
name: "renounceOwnership",
|
|
78681
|
+
outputs: [
|
|
78682
|
+
],
|
|
78683
|
+
stateMutability: "nonpayable",
|
|
78684
|
+
type: "function"
|
|
78685
|
+
},
|
|
78686
|
+
{
|
|
78687
|
+
inputs: [
|
|
78688
|
+
{
|
|
78689
|
+
internalType: "bytes32",
|
|
78690
|
+
name: "role",
|
|
78691
|
+
type: "bytes32"
|
|
78692
|
+
},
|
|
78693
|
+
{
|
|
78694
|
+
internalType: "address",
|
|
78695
|
+
name: "account",
|
|
78696
|
+
type: "address"
|
|
78697
|
+
}
|
|
78698
|
+
],
|
|
78699
|
+
name: "renounceRole",
|
|
78700
|
+
outputs: [
|
|
78701
|
+
],
|
|
78702
|
+
stateMutability: "nonpayable",
|
|
78703
|
+
type: "function"
|
|
78704
|
+
},
|
|
78705
|
+
{
|
|
78706
|
+
inputs: [
|
|
78707
|
+
{
|
|
78708
|
+
internalType: "bytes32",
|
|
78709
|
+
name: "role",
|
|
78710
|
+
type: "bytes32"
|
|
78711
|
+
},
|
|
78712
|
+
{
|
|
78713
|
+
internalType: "address",
|
|
78714
|
+
name: "account",
|
|
78715
|
+
type: "address"
|
|
78716
|
+
}
|
|
78717
|
+
],
|
|
78718
|
+
name: "revokeRole",
|
|
78719
|
+
outputs: [
|
|
78720
|
+
],
|
|
78721
|
+
stateMutability: "nonpayable",
|
|
78722
|
+
type: "function"
|
|
78723
|
+
},
|
|
78724
|
+
{
|
|
78725
|
+
inputs: [
|
|
78726
|
+
{
|
|
78727
|
+
internalType: "uint256",
|
|
78728
|
+
name: "_target",
|
|
78729
|
+
type: "uint256"
|
|
78730
|
+
}
|
|
78731
|
+
],
|
|
78732
|
+
name: "setBCV",
|
|
78733
|
+
outputs: [
|
|
78734
|
+
],
|
|
78735
|
+
stateMutability: "nonpayable",
|
|
78736
|
+
type: "function"
|
|
78737
|
+
},
|
|
78738
|
+
{
|
|
78739
|
+
inputs: [
|
|
78740
|
+
{
|
|
78741
|
+
internalType: "uint256",
|
|
78742
|
+
name: "_newBCVUpdateInterval",
|
|
78743
|
+
type: "uint256"
|
|
78744
|
+
}
|
|
78745
|
+
],
|
|
78746
|
+
name: "setBCVUpdateInterval",
|
|
78747
|
+
outputs: [
|
|
78748
|
+
],
|
|
78749
|
+
stateMutability: "nonpayable",
|
|
78750
|
+
type: "function"
|
|
78751
|
+
},
|
|
78752
|
+
{
|
|
78753
|
+
inputs: [
|
|
78754
|
+
{
|
|
78755
|
+
internalType: "enum ApeBond.PARAMETER",
|
|
78756
|
+
name: "_parameter",
|
|
78757
|
+
type: "uint8"
|
|
78758
|
+
},
|
|
78759
|
+
{
|
|
78760
|
+
internalType: "uint256",
|
|
78761
|
+
name: "_input",
|
|
78762
|
+
type: "uint256"
|
|
78763
|
+
}
|
|
78764
|
+
],
|
|
78765
|
+
name: "setBondTerms",
|
|
78766
|
+
outputs: [
|
|
78767
|
+
],
|
|
78768
|
+
stateMutability: "nonpayable",
|
|
78769
|
+
type: "function"
|
|
78770
|
+
},
|
|
78771
|
+
{
|
|
78772
|
+
inputs: [
|
|
78773
|
+
{
|
|
78774
|
+
internalType: "address",
|
|
78775
|
+
name: "approvedAccount",
|
|
78776
|
+
type: "address"
|
|
78777
|
+
},
|
|
78778
|
+
{
|
|
78779
|
+
internalType: "bool",
|
|
78780
|
+
name: "approved",
|
|
78781
|
+
type: "bool"
|
|
78782
|
+
}
|
|
78783
|
+
],
|
|
78784
|
+
name: "setClaimApproval",
|
|
78785
|
+
outputs: [
|
|
78786
|
+
],
|
|
78787
|
+
stateMutability: "nonpayable",
|
|
78788
|
+
type: "function"
|
|
78789
|
+
},
|
|
78790
|
+
{
|
|
78791
|
+
inputs: [
|
|
78792
|
+
{
|
|
78793
|
+
internalType: "uint256",
|
|
78794
|
+
name: "_feeInPrincipal",
|
|
78795
|
+
type: "uint256"
|
|
78796
|
+
},
|
|
78797
|
+
{
|
|
78798
|
+
internalType: "uint256",
|
|
78799
|
+
name: "_feeInPayout",
|
|
78800
|
+
type: "uint256"
|
|
78801
|
+
}
|
|
78802
|
+
],
|
|
78803
|
+
name: "setFee",
|
|
78804
|
+
outputs: [
|
|
78805
|
+
],
|
|
78806
|
+
stateMutability: "nonpayable",
|
|
78807
|
+
type: "function"
|
|
78808
|
+
},
|
|
78809
|
+
{
|
|
78810
|
+
inputs: [
|
|
78811
|
+
{
|
|
78812
|
+
internalType: "address",
|
|
78813
|
+
name: "_feeInPrincipalRecipient",
|
|
78814
|
+
type: "address"
|
|
78815
|
+
},
|
|
78816
|
+
{
|
|
78817
|
+
internalType: "address",
|
|
78818
|
+
name: "_feeInPayoutRecipient",
|
|
78819
|
+
type: "address"
|
|
78820
|
+
}
|
|
78821
|
+
],
|
|
78822
|
+
name: "setFeeRecipients",
|
|
78823
|
+
outputs: [
|
|
78824
|
+
],
|
|
78825
|
+
stateMutability: "nonpayable",
|
|
78826
|
+
type: "function"
|
|
78827
|
+
},
|
|
78828
|
+
{
|
|
78829
|
+
inputs: [
|
|
78830
|
+
{
|
|
78831
|
+
internalType: "uint256",
|
|
78832
|
+
name: "_maxTotalPayout",
|
|
78833
|
+
type: "uint256"
|
|
78834
|
+
}
|
|
78835
|
+
],
|
|
78836
|
+
name: "setMaxTotalPayout",
|
|
78837
|
+
outputs: [
|
|
78838
|
+
],
|
|
78839
|
+
stateMutability: "nonpayable",
|
|
78840
|
+
type: "function"
|
|
78841
|
+
},
|
|
78842
|
+
{
|
|
78843
|
+
inputs: [
|
|
78844
|
+
{
|
|
78845
|
+
internalType: "uint256",
|
|
78846
|
+
name: "_target",
|
|
78847
|
+
type: "uint256"
|
|
78848
|
+
}
|
|
78849
|
+
],
|
|
78850
|
+
name: "setMinPrice",
|
|
78851
|
+
outputs: [
|
|
78852
|
+
],
|
|
78853
|
+
stateMutability: "nonpayable",
|
|
78854
|
+
type: "function"
|
|
78855
|
+
},
|
|
78856
|
+
{
|
|
78857
|
+
inputs: [
|
|
78858
|
+
{
|
|
78859
|
+
internalType: "bool",
|
|
78860
|
+
name: "_active",
|
|
78861
|
+
type: "bool"
|
|
78862
|
+
},
|
|
78863
|
+
{
|
|
78864
|
+
internalType: "address",
|
|
78865
|
+
name: "_pointsLens",
|
|
78866
|
+
type: "address"
|
|
78867
|
+
},
|
|
78868
|
+
{
|
|
78869
|
+
internalType: "address",
|
|
78870
|
+
name: "_authorizedSigner",
|
|
78871
|
+
type: "address"
|
|
78872
|
+
},
|
|
78873
|
+
{
|
|
78874
|
+
internalType: "uint256",
|
|
78875
|
+
name: "_minPoints",
|
|
78876
|
+
type: "uint256"
|
|
78877
|
+
}
|
|
78878
|
+
],
|
|
78879
|
+
name: "setTierAccessExtensionData",
|
|
78880
|
+
outputs: [
|
|
78881
|
+
],
|
|
78882
|
+
stateMutability: "nonpayable",
|
|
78883
|
+
type: "function"
|
|
78884
|
+
},
|
|
78885
|
+
{
|
|
78886
|
+
inputs: [
|
|
78887
|
+
{
|
|
78888
|
+
internalType: "bool",
|
|
78889
|
+
name: "_active",
|
|
78890
|
+
type: "bool"
|
|
78891
|
+
},
|
|
78892
|
+
{
|
|
78893
|
+
internalType: "address",
|
|
78894
|
+
name: "_pointsLens",
|
|
78895
|
+
type: "address"
|
|
78896
|
+
},
|
|
78897
|
+
{
|
|
78898
|
+
internalType: "address",
|
|
78899
|
+
name: "_authorizedSigner",
|
|
78900
|
+
type: "address"
|
|
78901
|
+
},
|
|
78902
|
+
{
|
|
78903
|
+
internalType: "uint256[]",
|
|
78904
|
+
name: "_points",
|
|
78905
|
+
type: "uint256[]"
|
|
78906
|
+
},
|
|
78907
|
+
{
|
|
78908
|
+
internalType: "uint256[]",
|
|
78909
|
+
name: "_extraDiscount",
|
|
78910
|
+
type: "uint256[]"
|
|
78911
|
+
}
|
|
78912
|
+
],
|
|
78913
|
+
name: "setTierBoostedDiscountExtensionData",
|
|
78914
|
+
outputs: [
|
|
78915
|
+
],
|
|
78916
|
+
stateMutability: "nonpayable",
|
|
78917
|
+
type: "function"
|
|
78918
|
+
},
|
|
78919
|
+
{
|
|
78920
|
+
inputs: [
|
|
78921
|
+
{
|
|
78922
|
+
internalType: "bytes4",
|
|
78923
|
+
name: "interfaceId",
|
|
78924
|
+
type: "bytes4"
|
|
78925
|
+
}
|
|
78926
|
+
],
|
|
78927
|
+
name: "supportsInterface",
|
|
78928
|
+
outputs: [
|
|
78929
|
+
{
|
|
78930
|
+
internalType: "bool",
|
|
78931
|
+
name: "",
|
|
78932
|
+
type: "bool"
|
|
78933
|
+
}
|
|
78934
|
+
],
|
|
78935
|
+
stateMutability: "view",
|
|
78936
|
+
type: "function"
|
|
78937
|
+
},
|
|
78938
|
+
{
|
|
78939
|
+
inputs: [
|
|
78940
|
+
],
|
|
78941
|
+
name: "terms",
|
|
78942
|
+
outputs: [
|
|
78943
|
+
{
|
|
78944
|
+
internalType: "uint256",
|
|
78945
|
+
name: "controlVariable",
|
|
78946
|
+
type: "uint256"
|
|
78947
|
+
},
|
|
78948
|
+
{
|
|
78949
|
+
internalType: "uint256",
|
|
78950
|
+
name: "vestingTerm",
|
|
78951
|
+
type: "uint256"
|
|
78952
|
+
},
|
|
78953
|
+
{
|
|
78954
|
+
internalType: "uint256",
|
|
78955
|
+
name: "minimumPrice",
|
|
78956
|
+
type: "uint256"
|
|
78957
|
+
},
|
|
78958
|
+
{
|
|
78959
|
+
internalType: "uint256",
|
|
78960
|
+
name: "maxPayout",
|
|
78961
|
+
type: "uint256"
|
|
78962
|
+
},
|
|
78963
|
+
{
|
|
78964
|
+
internalType: "uint256",
|
|
78965
|
+
name: "maxDebt",
|
|
78966
|
+
type: "uint256"
|
|
78967
|
+
},
|
|
78968
|
+
{
|
|
78969
|
+
internalType: "uint256",
|
|
78970
|
+
name: "maxTotalPayout",
|
|
78971
|
+
type: "uint256"
|
|
78972
|
+
},
|
|
78973
|
+
{
|
|
78974
|
+
internalType: "uint256",
|
|
78975
|
+
name: "initialDebt",
|
|
78976
|
+
type: "uint256"
|
|
78977
|
+
}
|
|
78978
|
+
],
|
|
78979
|
+
stateMutability: "view",
|
|
78980
|
+
type: "function"
|
|
78981
|
+
},
|
|
78982
|
+
{
|
|
78983
|
+
inputs: [
|
|
78984
|
+
],
|
|
78985
|
+
name: "tierAccessExtensionData",
|
|
78986
|
+
outputs: [
|
|
78987
|
+
{
|
|
78988
|
+
internalType: "bool",
|
|
78989
|
+
name: "active",
|
|
78990
|
+
type: "bool"
|
|
78991
|
+
},
|
|
78992
|
+
{
|
|
78993
|
+
internalType: "address",
|
|
78994
|
+
name: "pointsLens",
|
|
78995
|
+
type: "address"
|
|
78996
|
+
},
|
|
78997
|
+
{
|
|
78998
|
+
internalType: "uint256",
|
|
78999
|
+
name: "minPoints",
|
|
79000
|
+
type: "uint256"
|
|
79001
|
+
},
|
|
79002
|
+
{
|
|
79003
|
+
internalType: "address",
|
|
79004
|
+
name: "authorizedSigner",
|
|
79005
|
+
type: "address"
|
|
79006
|
+
}
|
|
79007
|
+
],
|
|
79008
|
+
stateMutability: "view",
|
|
79009
|
+
type: "function"
|
|
79010
|
+
},
|
|
79011
|
+
{
|
|
79012
|
+
inputs: [
|
|
79013
|
+
{
|
|
79014
|
+
internalType: "address",
|
|
79015
|
+
name: "_user",
|
|
79016
|
+
type: "address"
|
|
79017
|
+
},
|
|
79018
|
+
{
|
|
79019
|
+
internalType: "bytes",
|
|
79020
|
+
name: "_tierProofSignature",
|
|
79021
|
+
type: "bytes"
|
|
79022
|
+
}
|
|
79023
|
+
],
|
|
79024
|
+
name: "tierBoostedDiscount",
|
|
79025
|
+
outputs: [
|
|
79026
|
+
{
|
|
79027
|
+
internalType: "uint256",
|
|
79028
|
+
name: "discount",
|
|
79029
|
+
type: "uint256"
|
|
79030
|
+
}
|
|
79031
|
+
],
|
|
79032
|
+
stateMutability: "view",
|
|
79033
|
+
type: "function"
|
|
79034
|
+
},
|
|
79035
|
+
{
|
|
79036
|
+
inputs: [
|
|
79037
|
+
],
|
|
79038
|
+
name: "tierBoostedDiscountExtensionData",
|
|
79039
|
+
outputs: [
|
|
79040
|
+
{
|
|
79041
|
+
internalType: "bool",
|
|
79042
|
+
name: "active",
|
|
79043
|
+
type: "bool"
|
|
79044
|
+
},
|
|
79045
|
+
{
|
|
79046
|
+
internalType: "address",
|
|
79047
|
+
name: "pointsLens",
|
|
79048
|
+
type: "address"
|
|
79049
|
+
},
|
|
79050
|
+
{
|
|
79051
|
+
internalType: "address",
|
|
79052
|
+
name: "authorizedSigner",
|
|
79053
|
+
type: "address"
|
|
79054
|
+
}
|
|
79055
|
+
],
|
|
79056
|
+
stateMutability: "view",
|
|
79057
|
+
type: "function"
|
|
79058
|
+
},
|
|
79059
|
+
{
|
|
79060
|
+
inputs: [
|
|
79061
|
+
],
|
|
79062
|
+
name: "totalDebt",
|
|
79063
|
+
outputs: [
|
|
79064
|
+
{
|
|
79065
|
+
internalType: "uint256",
|
|
79066
|
+
name: "",
|
|
79067
|
+
type: "uint256"
|
|
79068
|
+
}
|
|
79069
|
+
],
|
|
79070
|
+
stateMutability: "view",
|
|
79071
|
+
type: "function"
|
|
79072
|
+
},
|
|
79073
|
+
{
|
|
79074
|
+
inputs: [
|
|
79075
|
+
],
|
|
79076
|
+
name: "totalPayoutGiven",
|
|
79077
|
+
outputs: [
|
|
79078
|
+
{
|
|
79079
|
+
internalType: "uint256",
|
|
79080
|
+
name: "",
|
|
79081
|
+
type: "uint256"
|
|
79082
|
+
}
|
|
79083
|
+
],
|
|
79084
|
+
stateMutability: "view",
|
|
79085
|
+
type: "function"
|
|
79086
|
+
},
|
|
79087
|
+
{
|
|
79088
|
+
inputs: [
|
|
79089
|
+
],
|
|
79090
|
+
name: "totalPrincipalBilled",
|
|
79091
|
+
outputs: [
|
|
79092
|
+
{
|
|
79093
|
+
internalType: "uint256",
|
|
79094
|
+
name: "",
|
|
79095
|
+
type: "uint256"
|
|
79096
|
+
}
|
|
79097
|
+
],
|
|
79098
|
+
stateMutability: "view",
|
|
79099
|
+
type: "function"
|
|
79100
|
+
},
|
|
79101
|
+
{
|
|
79102
|
+
inputs: [
|
|
79103
|
+
{
|
|
79104
|
+
internalType: "address",
|
|
79105
|
+
name: "newOwner",
|
|
79106
|
+
type: "address"
|
|
79107
|
+
}
|
|
79108
|
+
],
|
|
79109
|
+
name: "transferOwnership",
|
|
79110
|
+
outputs: [
|
|
79111
|
+
],
|
|
79112
|
+
stateMutability: "nonpayable",
|
|
79113
|
+
type: "function"
|
|
79114
|
+
},
|
|
79115
|
+
{
|
|
79116
|
+
inputs: [
|
|
79117
|
+
{
|
|
79118
|
+
internalType: "address",
|
|
79119
|
+
name: "_token",
|
|
79120
|
+
type: "address"
|
|
79121
|
+
},
|
|
79122
|
+
{
|
|
79123
|
+
internalType: "uint256",
|
|
79124
|
+
name: "_amount",
|
|
79125
|
+
type: "uint256"
|
|
79126
|
+
}
|
|
79127
|
+
],
|
|
79128
|
+
name: "transferStuckToken",
|
|
79129
|
+
outputs: [
|
|
79130
|
+
],
|
|
79131
|
+
stateMutability: "nonpayable",
|
|
79132
|
+
type: "function"
|
|
79133
|
+
},
|
|
79134
|
+
{
|
|
79135
|
+
inputs: [
|
|
79136
|
+
{
|
|
79137
|
+
internalType: "bytes",
|
|
79138
|
+
name: "_tierProofSignature",
|
|
79139
|
+
type: "bytes"
|
|
79140
|
+
},
|
|
79141
|
+
{
|
|
79142
|
+
internalType: "address",
|
|
79143
|
+
name: "_user",
|
|
79144
|
+
type: "address"
|
|
79145
|
+
}
|
|
79146
|
+
],
|
|
79147
|
+
name: "trueBillPrice",
|
|
79148
|
+
outputs: [
|
|
79149
|
+
{
|
|
79150
|
+
internalType: "uint256",
|
|
79151
|
+
name: "price_",
|
|
79152
|
+
type: "uint256"
|
|
79153
|
+
}
|
|
79154
|
+
],
|
|
79155
|
+
stateMutability: "view",
|
|
79156
|
+
type: "function"
|
|
79157
|
+
},
|
|
79158
|
+
{
|
|
79159
|
+
inputs: [
|
|
79160
|
+
],
|
|
79161
|
+
name: "trueBillPrice",
|
|
79162
|
+
outputs: [
|
|
79163
|
+
{
|
|
79164
|
+
internalType: "uint256",
|
|
79165
|
+
name: "price_",
|
|
79166
|
+
type: "uint256"
|
|
79167
|
+
}
|
|
79168
|
+
],
|
|
79169
|
+
stateMutability: "view",
|
|
79170
|
+
type: "function"
|
|
79171
|
+
},
|
|
79172
|
+
{
|
|
79173
|
+
inputs: [
|
|
79174
|
+
],
|
|
79175
|
+
name: "trueBondPrices",
|
|
79176
|
+
outputs: [
|
|
79177
|
+
{
|
|
79178
|
+
components: [
|
|
79179
|
+
{
|
|
79180
|
+
internalType: "uint256",
|
|
79181
|
+
name: "trueBondPrice",
|
|
79182
|
+
type: "uint256"
|
|
79183
|
+
},
|
|
79184
|
+
{
|
|
79185
|
+
internalType: "uint256",
|
|
79186
|
+
name: "extraDiscount",
|
|
79187
|
+
type: "uint256"
|
|
79188
|
+
},
|
|
79189
|
+
{
|
|
79190
|
+
internalType: "uint256",
|
|
79191
|
+
name: "points",
|
|
79192
|
+
type: "uint256"
|
|
79193
|
+
}
|
|
79194
|
+
],
|
|
79195
|
+
internalType: "struct ApeBond.TrueBondPricePerTier[]",
|
|
79196
|
+
name: "_trueBondPricePerTier",
|
|
79197
|
+
type: "tuple[]"
|
|
79198
|
+
}
|
|
79199
|
+
],
|
|
79200
|
+
stateMutability: "view",
|
|
79201
|
+
type: "function"
|
|
79202
|
+
},
|
|
79203
|
+
{
|
|
79204
|
+
inputs: [
|
|
79205
|
+
],
|
|
79206
|
+
name: "unpause",
|
|
79207
|
+
outputs: [
|
|
79208
|
+
],
|
|
79209
|
+
stateMutability: "nonpayable",
|
|
79210
|
+
type: "function"
|
|
79211
|
+
},
|
|
79212
|
+
{
|
|
79213
|
+
inputs: [
|
|
79214
|
+
],
|
|
79215
|
+
name: "userBillIds",
|
|
79216
|
+
outputs: [
|
|
79217
|
+
{
|
|
79218
|
+
internalType: "uint256[]",
|
|
79219
|
+
name: "",
|
|
79220
|
+
type: "uint256[]"
|
|
79221
|
+
}
|
|
79222
|
+
],
|
|
79223
|
+
stateMutability: "view",
|
|
79224
|
+
type: "function"
|
|
79225
|
+
},
|
|
79226
|
+
{
|
|
79227
|
+
inputs: [
|
|
79228
|
+
{
|
|
79229
|
+
internalType: "uint256",
|
|
79230
|
+
name: "_billId",
|
|
79231
|
+
type: "uint256"
|
|
79232
|
+
},
|
|
79233
|
+
{
|
|
79234
|
+
internalType: "uint256",
|
|
79235
|
+
name: "_timestamp",
|
|
79236
|
+
type: "uint256"
|
|
79237
|
+
}
|
|
79238
|
+
],
|
|
79239
|
+
name: "vestedPayoutAtTime",
|
|
79240
|
+
outputs: [
|
|
79241
|
+
{
|
|
79242
|
+
internalType: "uint256",
|
|
79243
|
+
name: "vestedPayout_",
|
|
79244
|
+
type: "uint256"
|
|
79245
|
+
}
|
|
79246
|
+
],
|
|
79247
|
+
stateMutability: "view",
|
|
79248
|
+
type: "function"
|
|
79249
|
+
},
|
|
79250
|
+
{
|
|
79251
|
+
inputs: [
|
|
79252
|
+
],
|
|
79253
|
+
name: "vestingCurve",
|
|
79254
|
+
outputs: [
|
|
79255
|
+
{
|
|
79256
|
+
internalType: "contract IVestingCurve",
|
|
79257
|
+
name: "",
|
|
79258
|
+
type: "address"
|
|
79259
|
+
}
|
|
79260
|
+
],
|
|
79261
|
+
stateMutability: "view",
|
|
79262
|
+
type: "function"
|
|
79263
|
+
},
|
|
79264
|
+
{
|
|
79265
|
+
inputs: [
|
|
79266
|
+
{
|
|
79267
|
+
internalType: "uint256",
|
|
79268
|
+
name: "_billId",
|
|
79269
|
+
type: "uint256"
|
|
79270
|
+
}
|
|
79271
|
+
],
|
|
79272
|
+
name: "vestingPayout",
|
|
79273
|
+
outputs: [
|
|
79274
|
+
{
|
|
79275
|
+
internalType: "uint256",
|
|
79276
|
+
name: "vestingPayout_",
|
|
79277
|
+
type: "uint256"
|
|
79278
|
+
}
|
|
79279
|
+
],
|
|
79280
|
+
stateMutability: "view",
|
|
79281
|
+
type: "function"
|
|
79282
|
+
},
|
|
79283
|
+
{
|
|
79284
|
+
inputs: [
|
|
79285
|
+
{
|
|
79286
|
+
internalType: "uint256",
|
|
79287
|
+
name: "_billId",
|
|
79288
|
+
type: "uint256"
|
|
79289
|
+
}
|
|
79290
|
+
],
|
|
79291
|
+
name: "vestingPeriod",
|
|
79292
|
+
outputs: [
|
|
79293
|
+
{
|
|
79294
|
+
internalType: "uint256",
|
|
79295
|
+
name: "vestingStart_",
|
|
79296
|
+
type: "uint256"
|
|
79297
|
+
},
|
|
79298
|
+
{
|
|
79299
|
+
internalType: "uint256",
|
|
79300
|
+
name: "vestingEnd_",
|
|
79301
|
+
type: "uint256"
|
|
79302
|
+
}
|
|
79303
|
+
],
|
|
79304
|
+
stateMutability: "view",
|
|
79305
|
+
type: "function"
|
|
79306
|
+
}
|
|
79307
|
+
];
|
|
79308
|
+
|
|
79309
|
+
// returns the checksummed address if the address is valid, otherwise returns false
|
|
79310
|
+
function isAddress(value) {
|
|
79311
|
+
try {
|
|
79312
|
+
// Alphabetical letters must be made lowercase for getAddress to work.
|
|
79313
|
+
// See documentation here: https://docs.ethers.io/v5/api/utils/address/
|
|
79314
|
+
return getAddress(value.toLowerCase());
|
|
79315
|
+
}
|
|
79316
|
+
catch (_a) {
|
|
79317
|
+
return false;
|
|
79318
|
+
}
|
|
79319
|
+
}
|
|
79320
|
+
|
|
79321
|
+
const getNativeTicker = (chain) => {
|
|
79322
|
+
var _a;
|
|
79323
|
+
if (!chain)
|
|
79324
|
+
return undefined;
|
|
79325
|
+
return (_a = main.WNATIVE[chain]) === null || _a === void 0 ? void 0 : _a.symbol.substring(1);
|
|
79326
|
+
};
|
|
79327
|
+
const getTokenSymbol = (token) => {
|
|
79328
|
+
const nativeSymbols = ['BNB', 'ETH', 'POL', 'IOTA'];
|
|
79329
|
+
return nativeSymbols.includes(token === null || token === void 0 ? void 0 : token.symbol) ? `w${token === null || token === void 0 ? void 0 : token.symbol}` : token === null || token === void 0 ? void 0 : token.symbol;
|
|
79330
|
+
};
|
|
79331
|
+
const getSymbol = (token, chainId) => {
|
|
79332
|
+
if (!token)
|
|
79333
|
+
return '';
|
|
79334
|
+
return token === 'NATIVE' ? getNativeTicker(chainId) : getTokenSymbol(token);
|
|
79335
|
+
};
|
|
79336
|
+
|
|
79337
|
+
const TokenRow = ({ token, chainId, handleTokenSelect, tokenBalance, }) => {
|
|
79338
|
+
var _a, _b;
|
|
79339
|
+
const symbol = getSymbol(token, chainId);
|
|
79340
|
+
const tokenAddress = token === 'NATIVE' ? 'NATIVE' : token.address[chainId];
|
|
79341
|
+
const { address } = useEVMAccount();
|
|
79342
|
+
const { publicKey: accountSolana } = useSOLAccount();
|
|
79343
|
+
const accountToUse = chainId === main.ChainId.SOL ? accountSolana === null || accountSolana === void 0 ? void 0 : accountSolana.toString() : address;
|
|
79344
|
+
const splited = typeof token !== 'string' ? (_a = token === null || token === void 0 ? void 0 : token.symbol) === null || _a === void 0 ? void 0 : _a.split('-') : undefined;
|
|
79345
|
+
return (jsxs(Flex, { sx: { p: '8px', justifyContent: 'space-between', cursor: 'pointer', '&:hover': { background: 'white4' } }, onClick: () => handleTokenSelect(tokenAddress !== null && tokenAddress !== void 0 ? tokenAddress : ''), children: [jsxs(Flex, { children: [lodashExports.isArray(splited) ? (jsx$2(TokenImage, { symbol: splited[0], symbol2: splited[1], size: 28, chain: chainId })) : (jsx$2(TokenImage, { symbol: getSymbol(token, chainId), size: 28, chain: chainId })), jsx$2(Flex, { sx: { mx: '8px', lineHeight: '28px', fontSize: '14px' }, children: symbol })] }), accountToUse && (jsx$2(Flex, { sx: { fontSize: '14px' }, children: tokenBalance === '0' ? ('0') : !tokenBalance ? (jsx$2(Spinner, { size: 15 })) : (jsx$2(Fragment$1, { children: (_b = new BigNumber$1(tokenBalance !== null && tokenBalance !== void 0 ? tokenBalance : '0')) === null || _b === void 0 ? void 0 : _b.toPrecision(5) })) }))] }));
|
|
79346
|
+
};
|
|
79347
|
+
|
|
76946
79348
|
// Use devnet or your custom cluster URL
|
|
76947
79349
|
const SOLANA_RPC_URL = getRPC(main.ChainId.SOL);
|
|
76948
79350
|
const connection = new Connection(SOLANA_RPC_URL, 'confirmed');
|
|
@@ -78934,7 +81336,7 @@ const BonusComponent = ({ trueBondPrices, minTier, bonus, airdropTooltip, toolti
|
|
|
78934
81336
|
}, children: [(_a = highestPointsElement === null || highestPointsElement === void 0 ? void 0 : highestPointsElement.bonusWithFee) === null || _a === void 0 ? void 0 : _a.toFixed(2), "%"] })] })] }) })) : (jsx$2(Flex, { sx: { height: '20px', width: '20px' }, children: jsx$2(TooltipBubble, { 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" }) }) })) })) : baseTrueBondPrice ? (jsx$2(Flex, { sx: { alignItems: 'center', minWidth: '20px' }, className: `${getDiscountColor(+(baseTrueBondPrice === null || baseTrueBondPrice === void 0 ? void 0 : baseTrueBondPrice.bonusWithFee))}`, children: (baseTrueBondPrice === null || baseTrueBondPrice === void 0 ? void 0 : baseTrueBondPrice.bonusWithFee) > 0 ? (`${(_b = baseTrueBondPrice === null || baseTrueBondPrice === void 0 ? void 0 : baseTrueBondPrice.bonusWithFee) === null || _b === void 0 ? void 0 : _b.toFixed(2)}%`) : (jsx$2(Flex, { sx: { height: '20px', width: '20px' }, children: jsx$2(TooltipBubble, { 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" }) }) })) })) : (jsxs(Flex, { sx: { color: bonus && 'success', alignItems: 'center', minWidth: '20px' }, children: [bonus || '-', airdropTooltip && (jsx$2(TooltipBubble, { body: jsx$2(Fragment$1, { children: airdropTooltip }), width: "230px", placement: isMobile ? 'bottomRight' : 'bottomLeft', transformTip: isMobile ? 'translate(9%, 6%)' : 'translate(-3%, 6%)', children: jsx$2(Flex, { sx: { width: '20px', height: '20px', alignItems: 'center', ml: '5px' }, children: jsx$2("img", { src: "https://res.cloudinary.com/dswmrqgwy/image/upload/v1750345773/airdrop_qvh4ow.png", alt: "airdrop-img", style: { width: '20px', height: '20px' } }) }) }))] })) }));
|
|
78935
81337
|
};
|
|
78936
81338
|
|
|
78937
|
-
const BondCards = ({ bondData }) => {
|
|
81339
|
+
const BondCards = ({ bondData, isDoingMaxBuy }) => {
|
|
78938
81340
|
var _a, _b, _c;
|
|
78939
81341
|
const isMobile = useIsMobile();
|
|
78940
81342
|
const SDKConfig = useSDKConfig();
|
|
@@ -78971,7 +81373,14 @@ const BondCards = ({ bondData }) => {
|
|
|
78971
81373
|
borderBottomLeftRadius: 'normal',
|
|
78972
81374
|
},
|
|
78973
81375
|
background: MCColorMapping.white3[bondData.marketingCampaign],
|
|
78974
|
-
|
|
81376
|
+
border: isDoingMaxBuy && '2px solid green !important',
|
|
81377
|
+
position: 'relative',
|
|
81378
|
+
}, children: [isDoingMaxBuy && (jsx$2(Flex, { sx: {
|
|
81379
|
+
position: 'absolute',
|
|
81380
|
+
top: '0px',
|
|
81381
|
+
right: '0px',
|
|
81382
|
+
transform: ['translate(50%,-50%)', 'translate(50%,-50%)', 'translate(50%,-50%)', 'translate(-50%,-50%)'],
|
|
81383
|
+
}, children: jsx$2(Svg, { icon: "success", width: isMobile ? 16 : 20 }) })), jsxs("div", { className: "bond-card-title", children: ["Max Buy", jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(Flex, { children: TooltipText.MaxBuy((_b = bondData === null || bondData === void 0 ? void 0 : bondData.earnToken) === null || _b === void 0 ? void 0 : _b.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(Flex, { className: "bond-card-content", sx: { alignItems: 'center' }, children: [jsx$2("div", { style: { paddingRight: '3px' }, children: jsx$2(TokenImage, { symbol: (_c = bondData.showcaseTokenName) !== null && _c !== void 0 ? _c : bondData.earnToken.symbol, size: 22, chain: bondData.chainId }) }), formatNumberSI(getMaxBuy(bondData, SDKConfig.showLowValueBonds), 0)] })] }), jsxs("div", { className: "bond-card-block", sx: {
|
|
78975
81384
|
borderRadius: ['0px', '0px', '0px', 'normal'],
|
|
78976
81385
|
'&:first-of-type': {
|
|
78977
81386
|
borderTopRightRadius: 'normal',
|
|
@@ -78991,7 +81400,7 @@ const BondCards = ({ bondData }) => {
|
|
|
78991
81400
|
};
|
|
78992
81401
|
|
|
78993
81402
|
const Estimations = ({ depositAmount, bondData, youSpendString, isZap, fetchingZapQuote, zapError, }) => {
|
|
78994
|
-
var _a, _b
|
|
81403
|
+
var _a, _b;
|
|
78995
81404
|
const { data: userPoints } = useTierPoints();
|
|
78996
81405
|
const trueBondPrice = findHighestTrueBondPrice(userPoints, bondData === null || bondData === void 0 ? void 0 : bondData.trueBondPrices);
|
|
78997
81406
|
const SDKConfig = useSDKConfig();
|
|
@@ -79001,7 +81410,7 @@ const Estimations = ({ depositAmount, bondData, youSpendString, isZap, fetchingZ
|
|
|
79001
81410
|
const bonusString = getRawBonus$1(bondData, depositAmount, '0');
|
|
79002
81411
|
// const fee = getFeeAmount(bondData, depositAmount, userPoints ?? '0')
|
|
79003
81412
|
// const feeUSD = fee * parseFloat(bondData?.payoutTokenPrice ?? '0')
|
|
79004
|
-
const estimatedOutputAmount = getPayoutAmount(bondData, depositAmount, userPoints
|
|
81413
|
+
const estimatedOutputAmount = getPayoutAmount(bondData, depositAmount, userPoints);
|
|
79005
81414
|
const estimatedOutputUSD = estimatedOutputAmount * parseFloat((_a = bondData === null || bondData === void 0 ? void 0 : bondData.payoutTokenPrice) !== null && _a !== void 0 ? _a : '0');
|
|
79006
81415
|
const noTierAmount = getRawBonus$1(bondData, depositAmount, '0');
|
|
79007
81416
|
const boostAmount = parseFloat(getRawBonus$1(bondData, depositAmount, userPoints !== null && userPoints !== void 0 ? userPoints : '0')) - parseFloat(noTierAmount);
|
|
@@ -79025,7 +81434,7 @@ const Estimations = ({ depositAmount, bondData, youSpendString, isZap, fetchingZ
|
|
|
79025
81434
|
background: '#9960C5',
|
|
79026
81435
|
opacity: 0.2,
|
|
79027
81436
|
borderRadius: 'normal',
|
|
79028
|
-
} }), jsxs(Flex, { className: "row-container premium", sx: { zIndex: 1 }, children: [jsx$2("img", { src: `https://ape.bond/images/launch/${tierName === null || tierName === void 0 ? void 0 : tierName.toLowerCase()}.png`, alt: "minTier", style: { width: '21px', height: '21px', marginRight: '3px', zIndex: 1 } }), jsx$2(Flex, { sx: { color: 'success', mr: '3px', fontWeight: 700 }, children: `+${(_b = trueBondPrice === null || trueBondPrice === void 0 ? void 0 : trueBondPrice.boost) !== null && _b !== void 0 ? _b : 0}%` }), "Boost:", jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(Flex, { children: TooltipText.Boost }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, 0%)", 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 premium-positive`, children: ["$ ", formatNumberSI(boostAmount)] }))] })), jsxs(Flex, { className: "text-container row", children: [jsxs(Flex, { className: "row-container get", children: ["You Get (over ",
|
|
81437
|
+
} }), jsxs(Flex, { className: "row-container premium", sx: { zIndex: 1 }, children: [jsx$2("img", { src: `https://ape.bond/images/launch/${tierName === null || tierName === void 0 ? void 0 : tierName.toLowerCase()}.png`, alt: "minTier", style: { width: '21px', height: '21px', marginRight: '3px', zIndex: 1 } }), jsx$2(Flex, { sx: { color: 'success', mr: '3px', fontWeight: 700 }, children: `+${(_b = trueBondPrice === null || trueBondPrice === void 0 ? void 0 : trueBondPrice.boost) !== null && _b !== void 0 ? _b : 0}%` }), "Boost:", jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(Flex, { children: TooltipText.Boost }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, 0%)", 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 premium-positive`, children: ["$ ", formatNumberSI(boostAmount)] }))] })), jsxs(Flex, { className: "text-container row", children: [jsxs(Flex, { className: "row-container get", children: ["You Get (over ", getTimePeriods(bondData === null || bondData === void 0 ? void 0 : bondData.vestingTerm, true).days, " days):"] }), isZap && fetchingZapQuote ? (jsx$2(Dots, {})) : isZap && zapError ? ('-') : (jsxs(Flex, { className: "row-container get-val", children: [formatNumberSI(estimatedOutputAmount, 4), " ", bondData === null || bondData === void 0 ? void 0 : bondData.showcaseTokenName, " = $", ' ', formatNumberSI(estimatedOutputUSD, 2)] }))] })] }));
|
|
79029
81438
|
};
|
|
79030
81439
|
|
|
79031
81440
|
const ProjectDescription = ({ description, isProjectView }) => {
|
|
@@ -79243,7 +81652,7 @@ const LoadingSpinner = ({ isLoading, size }) => {
|
|
|
79243
81652
|
|
|
79244
81653
|
const stepDelay = 1000;
|
|
79245
81654
|
const TransactionModal = ({ onDismiss, txChain, approvalState, approveCallback, loadingTx, txCallback, bondData, inputToken, inputValue, depositAmount, buyTxHash, rateChanged, }) => {
|
|
79246
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k
|
|
81655
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
79247
81656
|
// Hooks
|
|
79248
81657
|
const { chain } = useEVMAccount();
|
|
79249
81658
|
const { data: userPoints } = useTierPoints();
|
|
@@ -79368,14 +81777,14 @@ const TransactionModal = ({ onDismiss, txChain, approvalState, approveCallback,
|
|
|
79368
81777
|
borderRadius: 'normal',
|
|
79369
81778
|
color: 'textDisabledButton',
|
|
79370
81779
|
justifyContent: 'center',
|
|
79371
|
-
}, children: [bondData.earnToken.symbol, " (", getTimePeriods(
|
|
81780
|
+
}, children: [bondData.earnToken.symbol, " (", getTimePeriods(bondData === null || bondData === void 0 ? void 0 : bondData.vestingTerm).months, " Mo)"] }), jsxs(Flex, { sx: { width: '100%', background: 'white3', p: '10px', borderRadius: 'normal', mt: '10px' }, children: [jsx$2(TokenImage, { symbol: bondData.earnToken.symbol, size: 40, chain: txChain }), jsxs(Flex, { sx: { width: '100%', justifyContent: 'space-between', alignItems: 'center' }, children: [jsxs(Flex, { sx: { flexDirection: 'column', fontSize: '12px', ml: '10px' }, children: [jsxs(Flex, { sx: { color: 'textDisabledButton', fontWeight: 400, textDecoration: 'line-through' }, children: ["$", bondData.tgePrice] }), jsxs(Flex, { sx: { color: 'green', fontWeight: 600 }, children: ["$", bondData.initPrice] })] }), jsxs(Flex, { sx: {
|
|
79372
81781
|
p: '5px',
|
|
79373
81782
|
borderRadius: 'normal',
|
|
79374
81783
|
border: '1px solid var(--theme-ui-colors-success)',
|
|
79375
81784
|
background: 'rgba(56, 166, 17, 0.13)',
|
|
79376
81785
|
color: 'success',
|
|
79377
81786
|
lineHeight: '18px',
|
|
79378
|
-
}, children: [(
|
|
81787
|
+
}, children: [(_f = trueBondPrice === null || trueBondPrice === void 0 ? void 0 : trueBondPrice.bonusWithFee) === null || _f === void 0 ? void 0 : _f.toFixed(2), " % Bonus"] })] })] }), jsxs(Flex, { sx: { width: '100%', justifyContent: 'space-between', mt: '10px' }, children: [jsxs(Flex, { sx: { p: '10px', borderRadius: 'normal', background: 'white3', alignItems: 'center', width: '45%' }, children: [lodashExports.isArray(splited) ? (jsx$2(TokenImage, { symbol: splited[0], symbol2: splited[1], size: 20, chain: txChain })) : (jsx$2(TokenImage, { symbol: getSymbol(inputToken, txChain), size: 20, chain: txChain })), jsx$2(Flex, { sx: { fontSize: '14px', fontWeight: 600, mx: '5px' }, children: (_g = formatNumberSI(inputValue, 4)) !== null && _g !== void 0 ? _g : '0' }), jsxs(Flex, { sx: { color: 'textDisabledButton', fontSize: '12px', fontWeight: 400 }, children: ["(", (inputTokenPrice === null || inputTokenPrice === void 0 ? void 0 : inputTokenPrice.price) && inputValue
|
|
79379
81788
|
? `$${formatNumberSI((inputTokenPrice === null || inputTokenPrice === void 0 ? void 0 : inputTokenPrice.price) * parseFloat(inputValue))}`
|
|
79380
81789
|
: '0.00', ")"] })] }), jsx$2(Svg, { icon: 'arrow', direction: 'right', width: '10px' }), jsxs(Flex, { sx: { p: '10px', borderRadius: 'normal', background: 'white3', alignItems: 'center', width: '45%' }, children: [jsx$2(TokenImage, { symbol: getSymbol(bondData.earnToken, txChain), chain: txChain, size: 20 }), jsx$2(Flex, { sx: { fontSize: '14px', fontWeight: 600, mx: '5px' }, children: formatNumberSI(preTGEEstimatedOutput, 4) }), jsxs(Flex, { sx: { color: 'textDisabledButton', fontSize: '12px', fontWeight: 400 }, children: ["($", formatNumberSI(preTGEEstimatedOutputUSD), ")"] })] })] })] })) : (jsxs(Flex, { sx: { width: '100%', flexDirection: 'column', mt: '20px' }, children: [jsxs(Flex, { sx: {
|
|
79381
81790
|
width: '100%',
|
|
@@ -79384,14 +81793,14 @@ const TransactionModal = ({ onDismiss, txChain, approvalState, approveCallback,
|
|
|
79384
81793
|
borderRadius: 'normal',
|
|
79385
81794
|
color: 'textDisabledButton',
|
|
79386
81795
|
justifyContent: 'center',
|
|
79387
|
-
}, children: [bondData.earnToken.symbol, " (", getVestingTermsString(bondData), ")"] }), jsxs(Flex, { sx: { width: '100%', background: 'white3', p: '10px', borderRadius: 'normal', mt: '10px' }, children: [jsx$2(TokenImage, { symbol: bondData.earnToken.symbol, size: 40, chain: txChain }), jsxs(Flex, { sx: { width: '100%', justifyContent: 'space-between', alignItems: 'center' }, children: [jsxs(Flex, { sx: { flexDirection: 'column', fontSize: '12px', ml: '10px' }, children: [jsxs(Flex, { sx: { color: 'textDisabledButton', fontWeight: 400, textDecoration: 'line-through' }, children: ["$", earnTokenPrice(bondData)] }), jsxs(Flex, { sx: { color: 'green', fontWeight: 600 }, children: ["$", discountEarnTokenPriceForUser(bondData, SDKConfig.useTiers, (
|
|
81796
|
+
}, children: [bondData.earnToken.symbol, " (", getVestingTermsString(bondData), ")"] }), jsxs(Flex, { sx: { width: '100%', background: 'white3', p: '10px', borderRadius: 'normal', mt: '10px' }, children: [jsx$2(TokenImage, { symbol: bondData.earnToken.symbol, size: 40, chain: txChain }), jsxs(Flex, { sx: { width: '100%', justifyContent: 'space-between', alignItems: 'center' }, children: [jsxs(Flex, { sx: { flexDirection: 'column', fontSize: '12px', ml: '10px' }, children: [jsxs(Flex, { sx: { color: 'textDisabledButton', fontWeight: 400, textDecoration: 'line-through' }, children: ["$", earnTokenPrice(bondData)] }), jsxs(Flex, { sx: { color: 'green', fontWeight: 600 }, children: ["$", discountEarnTokenPriceForUser(bondData, SDKConfig.useTiers, (_h = getUserTier(userPoints)) !== null && _h !== void 0 ? _h : undefined)] })] }), jsxs(Flex, { sx: {
|
|
79388
81797
|
p: '5px',
|
|
79389
81798
|
borderRadius: 'normal',
|
|
79390
81799
|
border: '1px solid var(--theme-ui-colors-success)',
|
|
79391
81800
|
background: 'rgba(56, 166, 17, 0.13)',
|
|
79392
81801
|
color: 'success',
|
|
79393
81802
|
lineHeight: '18px',
|
|
79394
|
-
}, children: [(
|
|
81803
|
+
}, children: [(_j = trueBondPrice === null || trueBondPrice === void 0 ? void 0 : trueBondPrice.bonusWithFee) === null || _j === void 0 ? void 0 : _j.toFixed(2), " % Bonus"] })] })] }), jsxs(Flex, { sx: { width: '100%', justifyContent: 'space-between', mt: '10px' }, children: [jsxs(Flex, { sx: { p: '10px', borderRadius: 'normal', background: 'white3', alignItems: 'center', width: '45%' }, children: [lodashExports.isArray(splited) ? (jsx$2(TokenImage, { symbol: splited[0], symbol2: splited[1], size: 20, chain: txChain })) : (jsx$2(TokenImage, { symbol: getSymbol(inputToken, txChain), size: 20, chain: txChain })), jsx$2(Flex, { sx: { fontSize: '14px', fontWeight: 600, mx: '5px' }, children: (_k = formatNumberSI(inputValue, 4)) !== null && _k !== void 0 ? _k : '0' }), jsxs(Flex, { sx: { color: 'textDisabledButton', fontSize: '12px', fontWeight: 400 }, children: ["(", (inputTokenPrice === null || inputTokenPrice === void 0 ? void 0 : inputTokenPrice.price) && inputValue
|
|
79395
81804
|
? `$${formatNumberSI((inputTokenPrice === null || inputTokenPrice === void 0 ? void 0 : inputTokenPrice.price) * parseFloat(inputValue))}`
|
|
79396
81805
|
: '0.00', ")"] })] }), jsx$2(Svg, { icon: 'arrow', direction: 'right', width: '10px' }), jsxs(Flex, { sx: { p: '10px', borderRadius: 'normal', background: 'white3', alignItems: 'center', width: '45%' }, children: [jsx$2(TokenImage, { symbol: getSymbol(bondData.earnToken, txChain), chain: txChain, size: 20 }), jsx$2(Flex, { sx: { fontSize: '14px', fontWeight: 600, mx: '5px' }, children: formatNumberSI(estimatedOutputAmount, 4) }), jsxs(Flex, { sx: { color: 'textDisabledButton', fontSize: '12px', fontWeight: 400 }, children: ["($", formatNumberSI(estimatedOutputUSD), ")"] })] })] })] })), jsx$2(Flex, { sx: { mt: '20px' }, children: hasToSwitchChain ? (jsxs(Button, { load: loadingSwitchChain, disabled: loadingSwitchChain, onClick: handleSwitchChain, fullWidth: true, children: ["switch to ", NETWORK_LABEL[txChain]] })) : !hasToApprove ? (jsx$2(Button, { load: loadingTx || verifyingTx, disabled: loadingTx || verifyingTx, onClick: txCallback, fullWidth: true, children: "buy" })) : (jsx$2(Button, { className: "action-button", load: approvalState === ApprovalState.PENDING || approveLoading, disabled: approvalState === ApprovalState.PENDING || approveLoading, onClick: handleApprove, fullWidth: true, children: "Approve" })) })] })] }));
|
|
79397
81806
|
};
|
|
@@ -79432,7 +81841,8 @@ const BuyComponent = ({ onDismiss, bondAddress, bondChain, handlePurchasedBond,
|
|
|
79432
81841
|
: ((_c = (_b = (_a = item === null || item === void 0 ? void 0 : item.token) === null || _a === void 0 ? void 0 : _a.address) === null || _b === void 0 ? void 0 : _b[bondChain]) === null || _c === void 0 ? void 0 : _c.toLowerCase()) ===
|
|
79433
81842
|
((_e = (_d = inputToken === null || inputToken === void 0 ? void 0 : inputToken.address) === null || _d === void 0 ? void 0 : _d[bondChain]) === null || _e === void 0 ? void 0 : _e.toLowerCase());
|
|
79434
81843
|
});
|
|
79435
|
-
const inputCurrencyBalance = enrichedTokenData
|
|
81844
|
+
// const inputCurrencyBalance = enrichedTokenData?.balance
|
|
81845
|
+
const inputCurrencyBalance = '1000000'; //TODO: rollback
|
|
79436
81846
|
const inputTokenPrice = enrichedTokenData === null || enrichedTokenData === void 0 ? void 0 : enrichedTokenData.price;
|
|
79437
81847
|
const rateChanged = parseFloat(zapTrueBondPrice !== null && zapTrueBondPrice !== void 0 ? zapTrueBondPrice : '0') > parseFloat(trueBondPrice !== null && trueBondPrice !== void 0 ? trueBondPrice : '0') * 1.01 && isZap;
|
|
79438
81848
|
// Estimations
|
|
@@ -79441,8 +81851,11 @@ const BuyComponent = ({ onDismiss, bondAddress, bondChain, handlePurchasedBond,
|
|
|
79441
81851
|
$${formatUSDNumber((parseFloat(inputValue) * (inputTokenPrice !== null && inputTokenPrice !== void 0 ? inputTokenPrice : 0)).toString())}`;
|
|
79442
81852
|
// Validations
|
|
79443
81853
|
const zapEnabled = supportedByLIFI.includes(bondData === null || bondData === void 0 ? void 0 : bondData.chainId);
|
|
79444
|
-
const
|
|
79445
|
-
const
|
|
81854
|
+
const exceedsRealMaxBuy = getMaxBuy(bondData, true).lte(getPayoutAmount(bondData, depositAmount, userPoints));
|
|
81855
|
+
const exceedsSafeMaxBuy = getMaxBuy(bondData, false)
|
|
81856
|
+
.times(isZap ? 0.995 : 0.9999)
|
|
81857
|
+
.lte(getPayoutAmount(bondData, depositAmount, userPoints));
|
|
81858
|
+
const exceedsBalance = new BigNumber$1(inputCurrencyBalance ).lt(inputValue);
|
|
79446
81859
|
// Loading State
|
|
79447
81860
|
const [loadingTx, setLoadingTx] = useState(false);
|
|
79448
81861
|
const { addToastError } = usePopups();
|
|
@@ -79453,6 +81866,36 @@ const BuyComponent = ({ onDismiss, bondAddress, bondChain, handlePurchasedBond,
|
|
|
79453
81866
|
setInputValue('');
|
|
79454
81867
|
setInputTokenString(newInputToken);
|
|
79455
81868
|
}, []);
|
|
81869
|
+
const handleMaxButton = useCallback(() => {
|
|
81870
|
+
var _a, _b, _c, _d, _e;
|
|
81871
|
+
const balance = new BigNumber$1(inputCurrencyBalance );
|
|
81872
|
+
const principalDecimals = (_c = (_b = (_a = bondData === null || bondData === void 0 ? void 0 : bondData.lpToken) === null || _a === void 0 ? void 0 : _a.decimals) === null || _b === void 0 ? void 0 : _b[bondData === null || bondData === void 0 ? void 0 : bondData.chainId]) !== null && _c !== void 0 ? _c : 18;
|
|
81873
|
+
const maxBuyAmount = getMaxBuy(bondData, SDKConfig.showLowValueBonds);
|
|
81874
|
+
if (!isZap) {
|
|
81875
|
+
const maxPossibleUserPurchase = getPayoutAmount(bondData, balance.toString(), userPoints);
|
|
81876
|
+
if (maxPossibleUserPurchase > maxBuyAmount.toNumber()) {
|
|
81877
|
+
console.log('user balance exceeds max buy limit, setting to max buy');
|
|
81878
|
+
const principalForMaxBuy = getPrincipalAmount(bondData, maxBuyAmount.toString(), userPoints);
|
|
81879
|
+
setInputValue(new BigNumber$1(principalForMaxBuy).toFixed(principalDecimals));
|
|
81880
|
+
}
|
|
81881
|
+
else {
|
|
81882
|
+
console.log('balance is ok, can be used');
|
|
81883
|
+
setInputValue(balance.toFixed(principalDecimals));
|
|
81884
|
+
}
|
|
81885
|
+
}
|
|
81886
|
+
else {
|
|
81887
|
+
const principalForMaxBuy = getPrincipalAmount(bondData, maxBuyAmount.toString(), userPoints);
|
|
81888
|
+
const principalForMaxBuyUSD = new BigNumber$1(principalForMaxBuy).times((_d = bondData === null || bondData === void 0 ? void 0 : bondData.principalTokenPrice) !== null && _d !== void 0 ? _d : 0);
|
|
81889
|
+
const maxBuyAmountInSelectedToken = principalForMaxBuyUSD.div(inputTokenPrice !== null && inputTokenPrice !== void 0 ? inputTokenPrice : 0);
|
|
81890
|
+
const decimals = (enrichedTokenData === null || enrichedTokenData === void 0 ? void 0 : enrichedTokenData.token) === 'NATIVE' ? 18 : ((_e = enrichedTokenData === null || enrichedTokenData === void 0 ? void 0 : enrichedTokenData.token.decimals[bondData === null || bondData === void 0 ? void 0 : bondData.chainId]) !== null && _e !== void 0 ? _e : 18);
|
|
81891
|
+
if (balance.gte(maxBuyAmountInSelectedToken)) {
|
|
81892
|
+
setInputValue(maxBuyAmountInSelectedToken.toFixed(decimals));
|
|
81893
|
+
}
|
|
81894
|
+
else {
|
|
81895
|
+
setInputValue(balance.toFixed(decimals));
|
|
81896
|
+
}
|
|
81897
|
+
}
|
|
81898
|
+
}, [bondData, isZap, userPoints, SDKConfig.showLowValueBonds, inputTokenPrice, enrichedTokenData === null || enrichedTokenData === void 0 ? void 0 : enrichedTokenData.token]);
|
|
79456
81899
|
const handleOpenZapModal = () => {
|
|
79457
81900
|
var _a;
|
|
79458
81901
|
onOpenZapModal();
|
|
@@ -79638,7 +82081,7 @@ const BuyComponent = ({ onDismiss, bondAddress, bondChain, handlePurchasedBond,
|
|
|
79638
82081
|
const [hasChecked, setHasChecked] = useState(false);
|
|
79639
82082
|
useEffect(() => {
|
|
79640
82083
|
if (zapListFetched && !hasChecked) {
|
|
79641
|
-
if (parseFloat(inputCurrencyBalance
|
|
82084
|
+
if (parseFloat(inputCurrencyBalance ) < 0.0001) {
|
|
79642
82085
|
setInputTokenString(sortedZapList[0].token === 'NATIVE' ? 'NATIVE' : sortedZapList[0].token.address[bondChain]);
|
|
79643
82086
|
}
|
|
79644
82087
|
setHasChecked(true);
|
|
@@ -79654,18 +82097,18 @@ const BuyComponent = ({ onDismiss, bondAddress, bondChain, handlePurchasedBond,
|
|
|
79654
82097
|
}
|
|
79655
82098
|
/* eslint-disable react-hooks/exhaustive-deps */
|
|
79656
82099
|
}, [rateChanged]);
|
|
79657
|
-
return bondData ? (jsx$2(Flex, { className: "modal-content", sx: Object.assign({}, MCBuyComponentStyles[bondData === null || bondData === void 0 ? void 0 : bondData.marketingCampaign]), children: jsxs(Flex, { className: "modaltable-container", children: [jsx$2(BondModalHeader, { bondData: bondData, onDismiss: onDismiss, showProjectInfoButton: (SDKConfig === null || SDKConfig === void 0 ? void 0 : SDKConfig.referenceId) === 'apebond' }), jsx$2(ProjectDescription, { description: bondData.shortDescription, isProjectView: true }), jsx$2(Flex, { sx: { width: '100%', display: isProjectView ? ['flex', 'flex', 'flex', 'none'] : 'flex' }, children: jsx$2(BondCards, { bondData: bondData }) }), jsx$2(Estimations, { depositAmount: depositAmount, bondData: bondData, youSpendString: youSpendString, isZap: isZap, fetchingZapQuote: fetchingZapQuote, zapError: zapError }), jsx$2(TokenSelectorPanel, { typedValue: inputValue, setTypedValue: setInputValue, selectedToken: inputToken, handleValueBtn:
|
|
82100
|
+
return bondData ? (jsx$2(Flex, { className: "modal-content", sx: Object.assign({}, MCBuyComponentStyles[bondData === null || bondData === void 0 ? void 0 : bondData.marketingCampaign]), children: jsxs(Flex, { className: "modaltable-container", children: [jsx$2(BondModalHeader, { bondData: bondData, onDismiss: onDismiss, showProjectInfoButton: (SDKConfig === null || SDKConfig === void 0 ? void 0 : SDKConfig.referenceId) === 'apebond' }), jsx$2(ProjectDescription, { description: bondData.shortDescription, isProjectView: true }), jsx$2(Flex, { sx: { width: '100%', display: isProjectView ? ['flex', 'flex', 'flex', 'none'] : 'flex' }, children: jsx$2(BondCards, { bondData: bondData, isDoingMaxBuy: exceedsSafeMaxBuy && !exceedsRealMaxBuy }) }), jsx$2(Estimations, { depositAmount: depositAmount, bondData: bondData, youSpendString: youSpendString, isZap: isZap, fetchingZapQuote: fetchingZapQuote, zapError: zapError }), jsx$2(TokenSelectorPanel, { typedValue: inputValue, setTypedValue: setInputValue, selectedToken: inputToken, handleValueBtn: handleMaxButton, handleCurrencySelect: handleCurrencySelect, bondChainId: bondData === null || bondData === void 0 ? void 0 : bondData.chainId, enableZap: zapEnabled, bondPrincipalToken: bondData === null || bondData === void 0 ? void 0 : bondData.lpToken, tokenBalance: inputCurrencyBalance, selectedTokenPrice: inputTokenPrice, inputDisabled: isUserRestricted, marketingCampaign: bondData === null || bondData === void 0 ? void 0 : bondData.marketingCampaign }), SDKConfig.useTiers && jsx$2(GetUpToComponent, { bond: bondData, depositAmount: depositAmount }), (bondData === null || bondData === void 0 ? void 0 : bondData.warningCard) && (jsx$2(Flex, { sx: {
|
|
79658
82101
|
width: '100%',
|
|
79659
82102
|
background: '#DE62F366',
|
|
79660
82103
|
// justifyContent: 'center',
|
|
79661
82104
|
mt: '10px',
|
|
79662
82105
|
borderRadius: 'normal',
|
|
79663
82106
|
p: '2px 10px',
|
|
79664
|
-
}, children: jsxs(Text, { sx: { fontSize: '12px', fontWeight: 400, display: 'flex', alignItems: 'center', gap: '10px' }, children: [jsx$2(SafeHTMLComponent, { html: bondData === null || bondData === void 0 ? void 0 : bondData.warningCard }), (bondData === null || bondData === void 0 ? void 0 : bondData.chainId) === main.ChainId.SONIC && (bondData === null || bondData === void 0 ? void 0 : bondData.earnToken.symbol.toLowerCase()) === 'moon' && (jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(Text, { sx: { textTransform: 'none' }, children: "Open the 'cog' icon menu in the top right and set the Slippage Tolerance to 5% or more." }), width: "315px", placement: "topRight", transformTip: "translate(9%, -10%)", children: jsx$2(Svg, { icon: "questionCircle", width: 14, color: "textDisabledButton" }) }))] }) })), jsxs(Flex, { className: "modaltable-container button-container", children: [account && (jsx$2(Flex, { className: "button-container get", children: jsx$2(Button, { className: "action-button", onClick: () => bondData.billVersion === main.BillVersion.V4 && SDKConfig.useTiers
|
|
79665
|
-
? window.open('http://ape.bond/
|
|
82107
|
+
}, children: jsxs(Text, { sx: { fontSize: '12px', fontWeight: 400, display: 'flex', alignItems: 'center', gap: '10px' }, children: [jsx$2(SafeHTMLComponent, { html: bondData === null || bondData === void 0 ? void 0 : bondData.warningCard }), (bondData === null || bondData === void 0 ? void 0 : bondData.chainId) === main.ChainId.SONIC && (bondData === null || bondData === void 0 ? void 0 : bondData.earnToken.symbol.toLowerCase()) === 'moon' && (jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(Text, { sx: { textTransform: 'none' }, children: "Open the 'cog' icon menu in the top right and set the Slippage Tolerance to 5% or more." }), width: "315px", placement: "topRight", transformTip: "translate(9%, -10%)", children: jsx$2(Svg, { icon: "questionCircle", width: 14, color: "textDisabledButton" }) }))] }) })), jsxs(Flex, { className: "modaltable-container button-container", children: [account && (jsx$2(Flex, { className: "button-container get", children: jsx$2(Button, { className: "action-button", onClick: () => bondData.billVersion === main.BillVersion.V4 && SDKConfig.useTiers
|
|
82108
|
+
? window.open('http://ape.bond/true-yield', '_blank')
|
|
79666
82109
|
: zapEnabled
|
|
79667
82110
|
? handleOpenZapModal()
|
|
79668
|
-
: openExternal(), variant: "secondary", fullWidth: true, children: bondData.billVersion === main.BillVersion.V4 && SDKConfig.useTiers
|
|
82111
|
+
: openExternal(), variant: "secondary", fullWidth: true, sx: { fontSize: ['14px', '14px', '14px', '16px'], height: '100%' }, children: bondData.billVersion === main.BillVersion.V4 && SDKConfig.useTiers
|
|
79669
82112
|
? `Get ${!isMobile ? 'your' : ''} Tier`
|
|
79670
82113
|
: `Get ${getSymbol(bondData === null || bondData === void 0 ? void 0 : bondData.lpToken)}` }) })), jsx$2(Flex, { className: "button-container buy", children: !account ? (jsx$2(ConnectButton, {})) : isUserRestricted ? (jsx$2(Button, { className: "action-button", disabled: true, children: "INSUFFICIENT TIER" })) : (jsx$2(Button, { className: "action-button", load: load || fetchingZapQuote, disabled: load ||
|
|
79671
82114
|
(bondData === null || bondData === void 0 ? void 0 : bondData.soldOut) ||
|
|
@@ -79674,13 +82117,13 @@ const BuyComponent = ({ onDismiss, bondAddress, bondChain, handlePurchasedBond,
|
|
|
79674
82117
|
parseFloat(inputValue) === 0 ||
|
|
79675
82118
|
fetchingZapQuote ||
|
|
79676
82119
|
zapError ||
|
|
79677
|
-
|
|
82120
|
+
exceedsRealMaxBuy ||
|
|
79678
82121
|
exceedsBalance ||
|
|
79679
82122
|
(isZap && !zapData) ||
|
|
79680
|
-
SDKConfig.blockSales, onClick: handleOpenModal, children: SDKConfig.blockSales
|
|
82123
|
+
SDKConfig.blockSales, onClick: handleOpenModal, sx: { fontSize: ['14px', '14px', '14px', '16px'] }, children: SDKConfig.blockSales
|
|
79681
82124
|
? 'Complete KYC to Buy'
|
|
79682
|
-
:
|
|
79683
|
-
? 'Exceeds Max Buy'
|
|
82125
|
+
: exceedsRealMaxBuy
|
|
82126
|
+
? 'Exceeds Max Buy. Reduce amount'
|
|
79684
82127
|
: exceedsBalance
|
|
79685
82128
|
? 'Exceeds balance'
|
|
79686
82129
|
: zapError
|
|
@@ -80625,6 +83068,7 @@ const BuyComponentSolana = ({ onDismiss, bondAddress, bondChain, isProjectView,
|
|
|
80625
83068
|
const { data: bonds } = useBondsData();
|
|
80626
83069
|
const { addToastError, addToastSuccess } = usePopups();
|
|
80627
83070
|
const { solSlippage: slippage } = useSlippage();
|
|
83071
|
+
const sendReferenceId = useSendReferenceId();
|
|
80628
83072
|
const bondData = bonds === null || bonds === void 0 ? void 0 : bonds.find((bond) => { var _a, _b; return ((_b = (_a = bond === null || bond === void 0 ? void 0 : bond.contractAddress) === null || _a === void 0 ? void 0 : _a[bond === null || bond === void 0 ? void 0 : bond.chainId]) === null || _b === void 0 ? void 0 : _b.toLowerCase()) === (bondAddress === null || bondAddress === void 0 ? void 0 : bondAddress.toLowerCase()); });
|
|
80629
83073
|
// Tier Gating
|
|
80630
83074
|
const trueBondPriceData = findHighestTrueBondPrice('0', bondData === null || bondData === void 0 ? void 0 : bondData.trueBondPrices);
|
|
@@ -80643,14 +83087,18 @@ const BuyComponentSolana = ({ onDismiss, bondAddress, bondChain, isProjectView,
|
|
|
80643
83087
|
: ((_c = (_b = (_a = item === null || item === void 0 ? void 0 : item.token) === null || _a === void 0 ? void 0 : _a.address) === null || _b === void 0 ? void 0 : _b[bondChain]) === null || _c === void 0 ? void 0 : _c.toLowerCase()) ===
|
|
80644
83088
|
((_e = (_d = inputToken === null || inputToken === void 0 ? void 0 : inputToken.address) === null || _d === void 0 ? void 0 : _d[bondChain]) === null || _e === void 0 ? void 0 : _e.toLowerCase());
|
|
80645
83089
|
});
|
|
80646
|
-
const inputCurrencyBalance = enrichedTokenData
|
|
83090
|
+
// const inputCurrencyBalance = enrichedTokenData?.balance
|
|
83091
|
+
const inputCurrencyBalance = '1000000'; //TODO: rollback
|
|
80647
83092
|
const inputTokenPrice = enrichedTokenData === null || enrichedTokenData === void 0 ? void 0 : enrichedTokenData.price;
|
|
80648
83093
|
// Estimations - use zapDepositAmount if swapping
|
|
80649
83094
|
const depositAmount = isZap ? zapDepositAmount : inputValue;
|
|
80650
83095
|
const youSpendString = `${formatNumber$1(inputValue)} ${getSymbol(inputToken, bondData === null || bondData === void 0 ? void 0 : bondData.chainId)} =
|
|
80651
83096
|
$${formatUSDNumber((parseFloat(inputValue) * (inputTokenPrice !== null && inputTokenPrice !== void 0 ? inputTokenPrice : 0)).toString())}`;
|
|
80652
|
-
const
|
|
80653
|
-
const
|
|
83097
|
+
const exceedsRealMaxBuy = getMaxBuy(bondData, true).lte(getPayoutAmount(bondData, depositAmount, '0'));
|
|
83098
|
+
const exceedsSafeMaxBuy = getMaxBuy(bondData, false)
|
|
83099
|
+
.times(isZap ? 0.995 : 0.9999)
|
|
83100
|
+
.lte(getPayoutAmount(bondData, depositAmount, '0'));
|
|
83101
|
+
const exceedsBalance = new BigNumber$1(inputCurrencyBalance ).lt(inputValue);
|
|
80654
83102
|
// Loading State - include zap loading
|
|
80655
83103
|
const [loadingTx, setLoadingTx] = useState(false);
|
|
80656
83104
|
const load = loadingTx || (fetchingZapQuote && !!inputValue);
|
|
@@ -80659,6 +83107,37 @@ const BuyComponentSolana = ({ onDismiss, bondAddress, bondChain, isProjectView,
|
|
|
80659
83107
|
setInputValue('');
|
|
80660
83108
|
setInputTokenString(newInputToken);
|
|
80661
83109
|
}, []);
|
|
83110
|
+
const handleMaxButton = () => {
|
|
83111
|
+
var _a, _b, _c, _d, _e;
|
|
83112
|
+
const balance = new BigNumber$1(inputCurrencyBalance );
|
|
83113
|
+
const principalDecimals = (_c = (_b = (_a = bondData === null || bondData === void 0 ? void 0 : bondData.lpToken) === null || _a === void 0 ? void 0 : _a.decimals) === null || _b === void 0 ? void 0 : _b[bondData === null || bondData === void 0 ? void 0 : bondData.chainId]) !== null && _c !== void 0 ? _c : 18;
|
|
83114
|
+
const maxBuyAmount = getMaxBuy(bondData, SDKConfig.showLowValueBonds);
|
|
83115
|
+
if (!isZap) {
|
|
83116
|
+
const maxPossibleUserPurchase = getPayoutAmount(bondData, balance.toString(), '0');
|
|
83117
|
+
if (maxPossibleUserPurchase > maxBuyAmount.toNumber()) {
|
|
83118
|
+
console.log('user balance exceeds max buy limit, setting to max buy');
|
|
83119
|
+
const principalForMaxBuy = getPrincipalAmount(bondData, maxBuyAmount.toString(), '0');
|
|
83120
|
+
setInputValue(new BigNumber$1(principalForMaxBuy).toFixed(principalDecimals));
|
|
83121
|
+
}
|
|
83122
|
+
else {
|
|
83123
|
+
console.log('balance is ok, can be used');
|
|
83124
|
+
setInputValue(balance.toFixed(principalDecimals));
|
|
83125
|
+
}
|
|
83126
|
+
}
|
|
83127
|
+
else {
|
|
83128
|
+
const principalForMaxBuy = getPrincipalAmount(bondData, maxBuyAmount.toString(), '0');
|
|
83129
|
+
const principalForMaxBuyUSD = new BigNumber$1(principalForMaxBuy).times((_d = bondData === null || bondData === void 0 ? void 0 : bondData.principalTokenPrice) !== null && _d !== void 0 ? _d : 0);
|
|
83130
|
+
const maxBuyAmountInSelectedToken = principalForMaxBuyUSD.div(inputTokenPrice !== null && inputTokenPrice !== void 0 ? inputTokenPrice : 0);
|
|
83131
|
+
const decimals = (enrichedTokenData === null || enrichedTokenData === void 0 ? void 0 : enrichedTokenData.token) === 'NATIVE' ? 18 : ((_e = enrichedTokenData === null || enrichedTokenData === void 0 ? void 0 : enrichedTokenData.token.decimals[bondData === null || bondData === void 0 ? void 0 : bondData.chainId]) !== null && _e !== void 0 ? _e : 18);
|
|
83132
|
+
if (balance.gte(maxBuyAmountInSelectedToken)) {
|
|
83133
|
+
setInputValue(maxBuyAmountInSelectedToken.toFixed(decimals));
|
|
83134
|
+
}
|
|
83135
|
+
else {
|
|
83136
|
+
setInputValue(balance.toFixed(decimals));
|
|
83137
|
+
}
|
|
83138
|
+
}
|
|
83139
|
+
// setInputValue(new BigNumber(inputCurrencyBalance ?? '0')?.toString())
|
|
83140
|
+
};
|
|
80662
83141
|
const handleBuyCallback = () => __awaiter$9(void 0, void 0, void 0, function* () {
|
|
80663
83142
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
80664
83143
|
if (!accountSolana || !bondData || !inputValue || !inputToken || !bondData)
|
|
@@ -80773,6 +83252,7 @@ const BuyComponentSolana = ({ onDismiss, bondAddress, bondChain, isProjectView,
|
|
|
80773
83252
|
usdAmount: parseFloat(inputValue) * (inputTokenPrice !== null && inputTokenPrice !== void 0 ? inputTokenPrice : 0),
|
|
80774
83253
|
},
|
|
80775
83254
|
});
|
|
83255
|
+
yield sendReferenceId(bondData.contractAddress[bondData.chainId], main.ChainId.SOL, txId);
|
|
80776
83256
|
// waits 3 seconds before triggering after-purchase flow
|
|
80777
83257
|
yield new Promise((resolve) => setTimeout(resolve, 3000));
|
|
80778
83258
|
addToastSuccess(txId, bondChain);
|
|
@@ -81006,6 +83486,7 @@ const BuyComponentSolana = ({ onDismiss, bondAddress, bondChain, isProjectView,
|
|
|
81006
83486
|
console.log('SINGLE transaction confirmed:', txId);
|
|
81007
83487
|
// Track success
|
|
81008
83488
|
trackZapEvents('single-tx');
|
|
83489
|
+
yield sendReferenceId(bondData.contractAddress[bondData.chainId], main.ChainId.SOL, txId);
|
|
81009
83490
|
yield new Promise((resolve) => setTimeout(resolve, 3000));
|
|
81010
83491
|
addToastSuccess(txId, bondChain);
|
|
81011
83492
|
setBillId === null || setBillId === void 0 ? void 0 : setBillId(nftMint.publicKey.toString());
|
|
@@ -81055,6 +83536,7 @@ const BuyComponentSolana = ({ onDismiss, bondAddress, bondChain, isProjectView,
|
|
|
81055
83536
|
console.log('Bond transaction confirmed:', bondTxId);
|
|
81056
83537
|
// Track both transactions
|
|
81057
83538
|
trackZapEvents('two-tx');
|
|
83539
|
+
yield sendReferenceId(bondData.contractAddress[bondData.chainId], main.ChainId.SOL, bondTxId);
|
|
81058
83540
|
yield new Promise((resolve) => setTimeout(resolve, 3000));
|
|
81059
83541
|
addToastSuccess(bondTxId, bondChain);
|
|
81060
83542
|
setBillId === null || setBillId === void 0 ? void 0 : setBillId(nftMint.publicKey.toString());
|
|
@@ -81105,14 +83587,14 @@ const BuyComponentSolana = ({ onDismiss, bondAddress, bondChain, isProjectView,
|
|
|
81105
83587
|
const [hasChecked, setHasChecked] = useState(false);
|
|
81106
83588
|
useEffect(() => {
|
|
81107
83589
|
if (zapListFetched && !hasChecked) {
|
|
81108
|
-
if (parseFloat(inputCurrencyBalance
|
|
83590
|
+
if (parseFloat(inputCurrencyBalance ) < 0.0001) {
|
|
81109
83591
|
setInputTokenString(sortedZapList[0].token === 'NATIVE' ? 'NATIVE' : sortedZapList[0].token.address[bondChain]);
|
|
81110
83592
|
}
|
|
81111
83593
|
setHasChecked(true);
|
|
81112
83594
|
}
|
|
81113
83595
|
/* eslint-disable react-hooks/exhaustive-deps */
|
|
81114
83596
|
}, [inputCurrencyBalance, zapListFetched]);
|
|
81115
|
-
return bondData ? (jsx$2(Flex, { className: "modal-content", sx: Object.assign({}, MCBuyComponentStyles[bondData === null || bondData === void 0 ? void 0 : bondData.marketingCampaign]), children: jsxs(Flex, { className: "modaltable-container", children: [jsx$2(BondModalHeader, { bondData: bondData, onDismiss: onDismiss }), jsx$2(ProjectDescription, { description: bondData.shortDescription, isProjectView: true }), jsx$2(Flex, { sx: { width: '100%', display: isProjectView ? ['flex', 'flex', 'flex', 'none'] : 'flex' }, children: jsx$2(BondCards, { bondData: bondData }) }), jsx$2(Estimations, { depositAmount: depositAmount, bondData: bondData, youSpendString: youSpendString, isZap: isZap, fetchingZapQuote: fetchingZapQuote, zapError: zapError }), jsx$2(TokenSelectorPanel, { typedValue: inputValue, setTypedValue: setInputValue, selectedToken: inputToken, handleValueBtn:
|
|
83597
|
+
return bondData ? (jsx$2(Flex, { className: "modal-content", sx: Object.assign({}, MCBuyComponentStyles[bondData === null || bondData === void 0 ? void 0 : bondData.marketingCampaign]), children: jsxs(Flex, { className: "modaltable-container", children: [jsx$2(BondModalHeader, { bondData: bondData, onDismiss: onDismiss }), jsx$2(ProjectDescription, { description: bondData.shortDescription, isProjectView: true }), jsx$2(Flex, { sx: { width: '100%', display: isProjectView ? ['flex', 'flex', 'flex', 'none'] : 'flex' }, children: jsx$2(BondCards, { bondData: bondData, isDoingMaxBuy: exceedsSafeMaxBuy && !exceedsRealMaxBuy }) }), jsx$2(Estimations, { depositAmount: depositAmount, bondData: bondData, youSpendString: youSpendString, isZap: isZap, fetchingZapQuote: fetchingZapQuote, zapError: zapError }), jsx$2(TokenSelectorPanel, { typedValue: inputValue, setTypedValue: setInputValue, selectedToken: inputToken, handleValueBtn: handleMaxButton, handleCurrencySelect: handleCurrencySelect, bondChainId: bondData === null || bondData === void 0 ? void 0 : bondData.chainId, enableZap: true, bondPrincipalToken: bondData === null || bondData === void 0 ? void 0 : bondData.lpToken, tokenBalance: inputCurrencyBalance , selectedTokenPrice: inputTokenPrice }), (bondData === null || bondData === void 0 ? void 0 : bondData.warningCard) && (jsx$2(Flex, { sx: {
|
|
81116
83598
|
width: '100%',
|
|
81117
83599
|
background: '#DE62F366',
|
|
81118
83600
|
justifyContent: 'center',
|
|
@@ -81122,20 +83604,20 @@ const BuyComponentSolana = ({ onDismiss, bondAddress, bondChain, isProjectView,
|
|
|
81122
83604
|
}, children: jsxs(Text, { sx: { fontSize: '12px', fontWeight: 400, display: 'flex', alignItems: 'center', gap: '10px' }, children: [jsx$2(SafeHTMLComponent, { html: bondData === null || bondData === void 0 ? void 0 : bondData.warningCard }), (bondData === null || bondData === void 0 ? void 0 : bondData.chainId) === main.ChainId.SONIC && (bondData === null || bondData === void 0 ? void 0 : bondData.earnToken.symbol.toLowerCase()) === 'moon' && (jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(Text, { sx: { textTransform: 'none' }, children: "Open the 'cog' icon menu in the top right and set the Slippage Tolerance to 5% or more." }), width: "315px", placement: "topRight", transformTip: "translate(9%, -10%)", children: jsx$2(Svg, { icon: "questionCircle", width: 14, color: "textDisabledButton" }) }))] }) })), jsx$2(Flex, { className: "modaltable-container button-container", children: jsx$2(Flex, { className: "button-container buy", children: !accountSolana ? (jsx$2(ConnectSolanaWallet, {})) : (jsxs(Flex, { sx: { width: '100%', gap: '10px', flexDirection: ['column', 'column', 'column', 'row'] }, children: [jsxs(Button, { variant: "secondary", onClick: () => {
|
|
81123
83605
|
var _a, _b;
|
|
81124
83606
|
return window.open(`https://jumper.exchange/?fromChain=1151111081099710&fromToken=11111111111111111111111111111111&toChain=1151111081099710&toToken=${(_b = (_a = bondData === null || bondData === void 0 ? void 0 : bondData.lpToken) === null || _a === void 0 ? void 0 : _a.address) === null || _b === void 0 ? void 0 : _b[bondData === null || bondData === void 0 ? void 0 : bondData.chainId]}`, '_blank', 'noopener noreferrer');
|
|
81125
|
-
}, sx: { width: ['100%', '100%', '100%', '35%'] }, children: ["get ", (_f = bondData === null || bondData === void 0 ? void 0 : bondData.lpToken) === null || _f === void 0 ? void 0 : _f.symbol] }), jsx$2(Button, { className: "action-button", load: load, disabled: load ||
|
|
83607
|
+
}, sx: { width: ['100%', '100%', '100%', '35%'], fontSize: ['14px', '14px', '14px', '16px'] }, children: ["get ", (_f = bondData === null || bondData === void 0 ? void 0 : bondData.lpToken) === null || _f === void 0 ? void 0 : _f.symbol] }), jsx$2(Button, { className: "action-button", load: load, disabled: load ||
|
|
81126
83608
|
(bondData === null || bondData === void 0 ? void 0 : bondData.soldOut) ||
|
|
81127
83609
|
!accountSolana ||
|
|
81128
83610
|
!inputValue ||
|
|
81129
83611
|
parseFloat(inputValue) === 0 ||
|
|
81130
83612
|
fetchingZapQuote ||
|
|
81131
83613
|
zapError ||
|
|
81132
|
-
|
|
83614
|
+
exceedsRealMaxBuy ||
|
|
81133
83615
|
exceedsBalance ||
|
|
81134
83616
|
(isZap && !jupiterQuote) ||
|
|
81135
|
-
SDKConfig.blockSales, onClick: handleOpenModal, sx: { width: ['100%', '100%', '100%', '65%'] }, children: SDKConfig.blockSales
|
|
83617
|
+
SDKConfig.blockSales, onClick: handleOpenModal, sx: { width: ['100%', '100%', '100%', '65%'], fontSize: ['14px', '14px', '14px', '16px'] }, children: SDKConfig.blockSales
|
|
81136
83618
|
? 'Complete KYC to Buy'
|
|
81137
|
-
:
|
|
81138
|
-
? 'Exceeds Max Buy'
|
|
83619
|
+
: exceedsRealMaxBuy
|
|
83620
|
+
? 'Exceeds Max Buy. Reduce amount'
|
|
81139
83621
|
: exceedsBalance
|
|
81140
83622
|
? 'Insufficient balance'
|
|
81141
83623
|
: zapError
|
|
@@ -81235,7 +83717,7 @@ const ModalHandler = ({ onDismiss, bondAddress, bondChain, }) => {
|
|
|
81235
83717
|
};
|
|
81236
83718
|
|
|
81237
83719
|
const ParticipationSuccessful = ({ onDismiss, bond, inputAmount, }) => {
|
|
81238
|
-
var _a, _b, _c, _d, _e, _f, _g
|
|
83720
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
81239
83721
|
const { data: tokenPrices } = useTokenPrices();
|
|
81240
83722
|
const principalTokenPrice = (_b = (_a = tokenPrices === null || tokenPrices === void 0 ? void 0 : tokenPrices[bond === null || bond === void 0 ? void 0 : bond.chainId]) === null || _a === void 0 ? void 0 : _a.find((token) => { var _a, _b, _c; return ((_a = token === null || token === void 0 ? void 0 : token.tokenAddress) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === ((_c = (_b = bond === null || bond === void 0 ? void 0 : bond.lpToken) === null || _b === void 0 ? void 0 : _b.address[bond === null || bond === void 0 ? void 0 : bond.chainId]) === null || _c === void 0 ? void 0 : _c.toLowerCase()); })) === null || _b === void 0 ? void 0 : _b.price;
|
|
81241
83723
|
const inputValue = parseFloat(inputAmount !== null && inputAmount !== void 0 ? inputAmount : '0');
|
|
@@ -81281,7 +83763,7 @@ const ParticipationSuccessful = ({ onDismiss, bond, inputAmount, }) => {
|
|
|
81281
83763
|
}, children: [getFirstNonZeroDigits(initialReleaseAmount, 2), " ", bond === null || bond === void 0 ? void 0 : bond.earnToken.symbol, jsxs(Flex, { sx: {
|
|
81282
83764
|
color: 'textDisabledButton',
|
|
81283
83765
|
ml: '5px',
|
|
81284
|
-
}, children: ["($", initialReleaseUsd.toFixed(2), ")"] })] })] }), initialRelease !== 1 && (jsxs(Flex, { sx: { width: '100%', justifyContent: 'space-between', mt: '5px' }, children: [jsxs(Flex, { sx: { fontSize: '12px', fontWeight: 400 }, children: ["Vested Tokens", jsx$2(TooltipBubble, { placement: 'bottomLeft', transformTip: 'translate(-6%, 0%)', width: "250px", body: jsx$2(Flex, { sx: { justifyContent: 'center' }, children: `Remaining tokens will vest linearly over ${getTimePeriods(
|
|
83766
|
+
}, children: ["($", initialReleaseUsd.toFixed(2), ")"] })] })] }), initialRelease !== 1 && (jsxs(Flex, { sx: { width: '100%', justifyContent: 'space-between', mt: '5px' }, children: [jsxs(Flex, { sx: { fontSize: '12px', fontWeight: 400 }, children: ["Vested Tokens", jsx$2(TooltipBubble, { placement: 'bottomLeft', transformTip: 'translate(-6%, 0%)', width: "250px", body: jsx$2(Flex, { sx: { justifyContent: 'center' }, children: `Remaining tokens will vest linearly over ${getTimePeriods(bond.vestingTerm).months} months after claiming the initial release.` }), children: jsx$2(Flex, { sx: { alignItems: 'center', height: '100%', ml: '5px' }, children: jsx$2(Svg, { icon: "questionCircle", width: "12px" }) }) })] }), jsxs(Flex, { sx: {
|
|
81285
83767
|
fontSize: '12px',
|
|
81286
83768
|
fontWeight: 500,
|
|
81287
83769
|
}, children: [getFirstNonZeroDigits(vestedAmount, 2), " ", bond === null || bond === void 0 ? void 0 : bond.earnToken.symbol, jsxs(Flex, { sx: { color: 'textDisabledButton', ml: '5px' }, children: ["($", vestedAmountUsd.toFixed(2), ")"] })] })] })), jsx$2(Flex, { sx: { mt: '10px' }, children: `Your purchased bond can be found under the "Your Bonds" tab.` })] }), jsx$2(Button, { onClick: onDismiss, sx: { fontSize: '16px', width: '100%', mt: '15px' }, children: "Close" })] })] }));
|
|
@@ -81333,7 +83815,7 @@ function formatUTCDate(date, short = false) {
|
|
|
81333
83815
|
}
|
|
81334
83816
|
|
|
81335
83817
|
const BondCardsPreTGE = ({ bond }) => {
|
|
81336
|
-
var _a, _b, _c, _d, _e, _f
|
|
83818
|
+
var _a, _b, _c, _d, _e, _f;
|
|
81337
83819
|
const isMobile = useIsMobile();
|
|
81338
83820
|
const bonus = (_b = (_a = bond === null || bond === void 0 ? void 0 : bond.trueBondPrices) === null || _a === void 0 ? void 0 : _a[0].bonus) !== null && _b !== void 0 ? _b : 0;
|
|
81339
83821
|
const airdropBonus = (_c = bond.airdropBonus) !== null && _c !== void 0 ? _c : 0;
|
|
@@ -81380,7 +83862,7 @@ const BondCardsPreTGE = ({ bond }) => {
|
|
|
81380
83862
|
borderBottomRightRadius: 'normal',
|
|
81381
83863
|
borderBottomLeftRadius: 'normal',
|
|
81382
83864
|
},
|
|
81383
|
-
}, children: [jsxs("div", { className: "bond-card-title", children: ["Vesting Terms", initialRelease !== 100 && (jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsxs(Flex, { children: ["Remaining tokens will vest linearly over ", getTimePeriods(
|
|
83865
|
+
}, children: [jsxs("div", { className: "bond-card-title", children: ["Vesting Terms", initialRelease !== 100 && (jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsxs(Flex, { children: ["Remaining tokens will vest linearly over ", getTimePeriods(bond === null || bond === void 0 ? void 0 : bond.vestingTerm).months, " months after", ' ', formatUTCDate(new Date(parseInt((_e = bond.startVestingTimestamp) !== null && _e !== void 0 ? _e : '0') * 1000)), " UTC."] }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx$2("div", { className: "bond-card-tooltip", children: jsx$2(Svg, { icon: "questionCircle", width: "12px" }) }) }))] }), initialRelease === 100 ? `0 D` : `${(_f = getTimePeriods(bond === null || bond === void 0 ? void 0 : bond.vestingTerm)) === null || _f === void 0 ? void 0 : _f.months} Mo`] })] }));
|
|
81384
83866
|
};
|
|
81385
83867
|
|
|
81386
83868
|
const BuyComponentPreTGE = ({ bondAddress, bondChain, onDismiss, handlePurchasedBond, }) => {
|
|
@@ -81582,8 +84064,7 @@ const styles$8 = {
|
|
|
81582
84064
|
};
|
|
81583
84065
|
|
|
81584
84066
|
const SmallRecommendationCard = ({ recommendation }) => {
|
|
81585
|
-
|
|
81586
|
-
const vestingTime = getTimePeriods((_a = recommendation.vestingTerm) !== null && _a !== void 0 ? _a : 0, true);
|
|
84067
|
+
const vestingTime = getTimePeriods(recommendation.vestingTerm, true);
|
|
81587
84068
|
return (jsxs(Flex, { sx: styles$8.smallCardContainer, onClick: () => window.open(`${window.location.origin}/bonds?bondAddress=${recommendation.contractAddress}&bondChain=${recommendation.chainId}`, '_self'), children: [jsxs(Flex, { sx: { alignItems: 'center' }, children: [jsx$2(TokenImage, { symbol: recommendation.payoutTokenName, size: 32, chain: recommendation.chainId }), jsxs(Flex, { sx: { mx: '10px', alignItems: 'center' }, children: [jsx$2(Flex, { sx: { fontSize: '14px', px: '6px' }, children: recommendation.payoutTokenName }), jsxs(Flex, { sx: styles$8.subTitle, children: [vestingTime.days, "D"] })] })] }), jsxs(Flex, { sx: { alignItems: 'center' }, children: [jsx$2(Flex, { sx: styles$8.subTitle, children: "Bonus" }), jsxs(Flex, { sx: { fontSize: '12px', color: recommendation.bonus > 0 ? 'success' : 'error', ml: '6px' }, children: [recommendation.bonus.toFixed(2), "%"] })] })] }));
|
|
81588
84069
|
};
|
|
81589
84070
|
|
|
@@ -81936,7 +84417,9 @@ const HotBondCard = ({ bond }) => {
|
|
|
81936
84417
|
},
|
|
81937
84418
|
});
|
|
81938
84419
|
};
|
|
81939
|
-
return (jsx$2(Flex, { sx: styles$7.desktopCard, className: "hot-bond-card", onClick: handleOpenModal, children: jsxs(Flex, { sx: { flexDirection: 'column', width: '100%' }, children: [jsxs(Flex, { sx: { width: '100%', height: '75px' }, children: [jsx$2(Flex, { sx: { width: '66.66%' }, children: jsx$2(TokenInfoAndName, { tokenSymbol: bond.earnToken.symbol, chain: bond.chainId, tag: (_d = bond.tags) === null || _d === void 0 ? void 0 : _d[0], isHotBond: true }) }), jsx$2(Flex, { className: "column column-tokenicons", sx: { width: '33.33% !important', justifyContent: 'center !important', alignItems: 'center' }, children: jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(BondInfoTooltip, { earnTokenContract: (_g = (_f = (_e = bond === null || bond === void 0 ? void 0 : bond.earnToken) === null || _e === void 0 ? void 0 : _e.address) === null || _f === void 0 ? void 0 : _f[bond === null || bond === void 0 ? void 0 : bond.chainId]) !== null && _g !== void 0 ? _g : '', earnTokenSymbol: (_j = (_h = bond === null || bond === void 0 ? void 0 : bond.earnToken) === null || _h === void 0 ? void 0 : _h.symbol) !== null && _j !== void 0 ? _j : '', bondContract: (_l = (_k = bond === null || bond === void 0 ? void 0 : bond.contractAddress) === null || _k === void 0 ? void 0 : _k[bond === null || bond === void 0 ? void 0 : bond.chainId]) !== null && _l !== void 0 ? _l : '', 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(11%, 0%)", children: jsx$2(Svg, { icon: "more", width: "20px" }) }) })] }), jsxs(Flex, { sx: { width: '100%', justifyContent: 'space-around' }, children: [jsxs(Flex, { sx: { flexDirection: 'column', alignItems: 'center', width: '100%' }, children: [jsx$2(Flex, { sx: { opacity: 0.6, fontSize: '12px', fontWeight: 400 }, children: "Bonus" }), jsx$2(Flex, { className: `${getDiscountColor(bonus)}`, sx: { width: '100%', justifyContent: 'center' }, children: bonus !== undefined ? (bonus < 0 ? '0%' : `${bonus === null || bonus === void 0 ? void 0 : bonus.toFixed(2)}%`) : '-' })] }), jsxs(Flex, { sx: { flexDirection: 'column', alignItems: 'center', width: '100%' }, children: [jsx$2(Flex, { sx: { opacity: 0.6, fontSize: '12px', fontWeight: 400, width: '100%', justifyContent: 'center' }, children: "ARR" }), jsx$2(Flex, { sx: { width: '100%', justifyContent: 'center' }, children: calculateARR(bond, SDKConfig.useTiers) })] }), jsxs(Flex, { sx: { flexDirection: 'column', alignItems: 'center', width: '100%' }, children: [jsx$2(Flex, { sx: { opacity: 0.6, fontSize: '12px', fontWeight: 400, width: '100%', justifyContent: 'center' }, children: "Terms" }), jsx$2(Flex, { sx: { width: '100%', justifyContent: 'center' }, children: ((_m =
|
|
84420
|
+
return (jsx$2(Flex, { sx: styles$7.desktopCard, className: "hot-bond-card", onClick: handleOpenModal, children: jsxs(Flex, { sx: { flexDirection: 'column', width: '100%' }, children: [jsxs(Flex, { sx: { width: '100%', height: '75px' }, children: [jsx$2(Flex, { sx: { width: '66.66%' }, children: jsx$2(TokenInfoAndName, { tokenSymbol: bond.earnToken.symbol, chain: bond.chainId, tag: (_d = bond.tags) === null || _d === void 0 ? void 0 : _d[0], isHotBond: true }) }), jsx$2(Flex, { className: "column column-tokenicons", sx: { width: '33.33% !important', justifyContent: 'center !important', alignItems: 'center' }, children: jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(BondInfoTooltip, { earnTokenContract: (_g = (_f = (_e = bond === null || bond === void 0 ? void 0 : bond.earnToken) === null || _e === void 0 ? void 0 : _e.address) === null || _f === void 0 ? void 0 : _f[bond === null || bond === void 0 ? void 0 : bond.chainId]) !== null && _g !== void 0 ? _g : '', earnTokenSymbol: (_j = (_h = bond === null || bond === void 0 ? void 0 : bond.earnToken) === null || _h === void 0 ? void 0 : _h.symbol) !== null && _j !== void 0 ? _j : '', bondContract: (_l = (_k = bond === null || bond === void 0 ? void 0 : bond.contractAddress) === null || _k === void 0 ? void 0 : _k[bond === null || bond === void 0 ? void 0 : bond.chainId]) !== null && _l !== void 0 ? _l : '', 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(11%, 0%)", children: jsx$2(Svg, { icon: "more", width: "20px" }) }) })] }), jsxs(Flex, { sx: { width: '100%', justifyContent: 'space-around' }, children: [jsxs(Flex, { sx: { flexDirection: 'column', alignItems: 'center', width: '100%' }, children: [jsx$2(Flex, { sx: { opacity: 0.6, fontSize: '12px', fontWeight: 400 }, children: "Bonus" }), jsx$2(Flex, { className: `${getDiscountColor(bonus)}`, sx: { width: '100%', justifyContent: 'center' }, children: bonus !== undefined ? (bonus < 0 ? '0%' : `${bonus === null || bonus === void 0 ? void 0 : bonus.toFixed(2)}%`) : '-' })] }), jsxs(Flex, { sx: { flexDirection: 'column', alignItems: 'center', width: '100%' }, children: [jsx$2(Flex, { sx: { opacity: 0.6, fontSize: '12px', fontWeight: 400, width: '100%', justifyContent: 'center' }, children: "ARR" }), jsx$2(Flex, { sx: { width: '100%', justifyContent: 'center' }, children: calculateARR(bond, SDKConfig.useTiers) })] }), jsxs(Flex, { sx: { flexDirection: 'column', alignItems: 'center', width: '100%' }, children: [jsx$2(Flex, { sx: { opacity: 0.6, fontSize: '12px', fontWeight: 400, width: '100%', justifyContent: 'center' }, children: "Terms" }), jsx$2(Flex, { sx: { width: '100%', justifyContent: 'center' }, children: ((_m = getTimePeriods(bond === null || bond === void 0 ? void 0 : bond.vestingTerm, true)) === null || _m === void 0 ? void 0 : _m.days)
|
|
84421
|
+
? `${(_o = getTimePeriods(bond === null || bond === void 0 ? void 0 : bond.vestingTerm, true)) === null || _o === void 0 ? void 0 : _o.days} D`
|
|
84422
|
+
: '-' })] })] })] }) }));
|
|
81940
84423
|
};
|
|
81941
84424
|
|
|
81942
84425
|
/**
|
|
@@ -87207,7 +89690,7 @@ const ActiveBondRows = ({ chain, bonds, hideTitles, showHotBonds }) => {
|
|
|
87207
89690
|
marginTop: '0px',
|
|
87208
89691
|
}, className: "bonds-card-container", children: [[main.ChainId.SOL, main.ChainId.MONAD].includes(chain) && !hideTitles && jsx$2(ChainBanner, { chainId: chain }), bonds === null || bonds === void 0 ? void 0 : bonds.map((bondFromMap, index) => {
|
|
87209
89692
|
// PRE TGE ROWS
|
|
87210
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w
|
|
89693
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
|
|
87211
89694
|
if (bondFromMap.billType === 'fcfs') {
|
|
87212
89695
|
const bond = bondFromMap;
|
|
87213
89696
|
const totalPrincipalBilled = Math.round(getBalanceNumber(new BigNumber$1((_a = bond === null || bond === void 0 ? void 0 : bond.totalPrincipalBilled) !== null && _a !== void 0 ? _a : '0'), (_c = (_b = bond === null || bond === void 0 ? void 0 : bond.lpToken) === null || _b === void 0 ? void 0 : _b.decimals) === null || _c === void 0 ? void 0 : _c[bond === null || bond === void 0 ? void 0 : bond.chainId])) / ((_d = bond.initPrice) !== null && _d !== void 0 ? _d : 0);
|
|
@@ -87229,14 +89712,14 @@ const ActiveBondRows = ({ chain, bonds, hideTitles, showHotBonds }) => {
|
|
|
87229
89712
|
? '-'
|
|
87230
89713
|
: initialRelease === 100
|
|
87231
89714
|
? `0 D`
|
|
87232
|
-
: `${getTimePeriods(
|
|
89715
|
+
: `${getTimePeriods(bond.vestingTerm).months} Mo`, projectURL: bond.projectLink, twitterURL: bond.twitter, auditURL: bond.audit, bondSoldOut: saleHasFinished, shortDescription: bond.shortDescription }, `${bond.contractAddress}-${bond.chainId}-${index}`));
|
|
87233
89716
|
}
|
|
87234
89717
|
else {
|
|
87235
89718
|
// POST TGE BONDS AKA NORMAL BONDS
|
|
87236
89719
|
const bond = bondFromMap;
|
|
87237
|
-
const bondAddress = (
|
|
89720
|
+
const bondAddress = (_u = bond === null || bond === void 0 ? void 0 : bond.contractAddress) === null || _u === void 0 ? void 0 : _u[bond === null || bond === void 0 ? void 0 : bond.chainId];
|
|
87238
89721
|
const remainingTokensString = getRemainingTokensString(bond);
|
|
87239
|
-
return (jsx$2(BondRow, { bondAddress: bondAddress, bondChain: bond.chainId, marketingCampaign: bond.marketingCampaign, payoutToken: bond.earnToken, billType: bond.billType, tag: (
|
|
89722
|
+
return (jsx$2(BondRow, { bondAddress: bondAddress, bondChain: bond.chainId, marketingCampaign: bond.marketingCampaign, payoutToken: bond.earnToken, billType: bond.billType, tag: (_v = bond.tags) === null || _v === void 0 ? void 0 : _v[0], trueBondPrices: namingPreference === 'Bonus' ? bond.trueBondPrices : undefined, minTier: bond === null || bond === void 0 ? void 0 : bond.minTier, vestingTermString: getVestingTermsString(bond), vestingCliffString: getVestingTermsTooltipString(bond), percentageAvailable: remainingPercentage(bond), remainingTokensString: remainingTokensString, projectURL: bond.projectLink, twitterURL: bond.twitter, auditURL: bond.audit, bonus: namingPreference === 'Discount' ? `${(_w = bond === null || bond === void 0 ? void 0 : bond.discountWithFee) === null || _w === void 0 ? void 0 : _w.toFixed(2)}%` : undefined, shortDescription: bond.shortDescription }, `${bondAddress}-${bond.chainId}-${index}`));
|
|
87240
89723
|
}
|
|
87241
89724
|
}), showHotBonds && (jsx$2(SwiperProvider, { children: jsx$2(HotBondCards, {}) }))] }, key))] }) }, key));
|
|
87242
89725
|
};
|