@goodaofi/bonds-sdk 3.0.148 → 3.0.151
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.js
CHANGED
|
@@ -74046,6 +74046,11 @@ const PreTgeUserRow = ({ userBond, isGooSale }) => {
|
|
|
74046
74046
|
}, children: jsx$2(Svg, { icon: "more", width: "25px" }) }) }) })] }), jsxs("div", { className: "your-bonds-columns-container", children: [jsxs("div", { className: "your-bonds-content", children: [jsx$2("div", { className: "your-bonds-content-title", children: "Claimable" }), jsxs("div", { className: "your-bonds-content-tokens-amount", children: [formatNumberSI(claimableAmount, 3), isGooSale && ' GOO', !isGooSale && (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), isGooSale && ' GOO', !isGooSale && 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 }) })] })] }));
|
|
74047
74047
|
};
|
|
74048
74048
|
|
|
74049
|
+
const formatTGEDate = (saleInfo) => {
|
|
74050
|
+
if (!saleInfo || saleInfo.isTGEPostponed)
|
|
74051
|
+
return 'TBD';
|
|
74052
|
+
return saleInfo.TGEDate.toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' });
|
|
74053
|
+
};
|
|
74049
74054
|
function useSaleInfo() {
|
|
74050
74055
|
var _a, _b;
|
|
74051
74056
|
const SDKConfig = useSDKConfig();
|
|
@@ -74079,6 +74084,7 @@ const getSaleInfo = (isFake, apiAddress) => __awaiter$9(void 0, void 0, void 0,
|
|
|
74079
74084
|
overallProgress: 0,
|
|
74080
74085
|
TGEPrice: 4,
|
|
74081
74086
|
TGEDate: new Date('2025-11-25T15:00:00'),
|
|
74087
|
+
isTGEPostponed: true,
|
|
74082
74088
|
};
|
|
74083
74089
|
}
|
|
74084
74090
|
});
|
|
@@ -74170,6 +74176,7 @@ const transformSaleData = (rawData, isFake) => {
|
|
|
74170
74176
|
overallProgress,
|
|
74171
74177
|
TGEPrice: gooTGEPrice,
|
|
74172
74178
|
TGEDate: new Date('2025-11-25T15:00:00'),
|
|
74179
|
+
isTGEPostponed: true,
|
|
74173
74180
|
};
|
|
74174
74181
|
};
|
|
74175
74182
|
|
|
@@ -74189,7 +74196,7 @@ function usePreTGEUserGooBonds() {
|
|
|
74189
74196
|
queryKey: [QUERY_KEYS.PRE_TGE_USER_BONDS, (_b = gooContracts === null || gooContracts === void 0 ? void 0 : gooContracts.length) !== null && _b !== void 0 ? _b : '', address, tokenPrices === null || tokenPrices === void 0 ? void 0 : tokenPrices.length],
|
|
74190
74197
|
queryFn: () => {
|
|
74191
74198
|
var _a;
|
|
74192
|
-
return fetchGooPreTGEUserBonds(chains, tokenPrices, gooContracts, address, apiUrl, ((_a = saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.TGEDate) === null || _a === void 0 ? void 0 : _a.getTime()) / 1000);
|
|
74199
|
+
return fetchGooPreTGEUserBonds(chains, tokenPrices, gooContracts, address, apiUrl, (saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.isTGEPostponed) ? undefined : ((_a = saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.TGEDate) === null || _a === void 0 ? void 0 : _a.getTime()) / 1000);
|
|
74193
74200
|
},
|
|
74194
74201
|
refetchInterval: 30000,
|
|
74195
74202
|
refetchOnWindowFocus: false,
|
|
@@ -74305,7 +74312,7 @@ const fetchGooPreTGEUserBonds = (chains, tokenPrices, gooContracts, account, api
|
|
|
74305
74312
|
userOwnedBillsData,
|
|
74306
74313
|
finalized,
|
|
74307
74314
|
vestingTerm,
|
|
74308
|
-
initPrice, initialRelease: initialRelease / 10000, earnTokenPrice: null, redeemTime: tgeTimestamp + bondConfig.vestingCliff });
|
|
74315
|
+
initPrice, initialRelease: initialRelease / 10000, earnTokenPrice: null, redeemTime: tgeTimestamp ? tgeTimestamp + bondConfig.vestingCliff : undefined });
|
|
74309
74316
|
}
|
|
74310
74317
|
catch (error) {
|
|
74311
74318
|
console.error(`Error fetching bond data for contract ${contract.address} on chain ${contract.chainId}:`, error);
|
|
@@ -99542,9 +99549,7 @@ const BuyBond = ({ onDismiss, bondAddress, bondChain, handlePurchasedBond, isPro
|
|
|
99542
99549
|
}, [rateChanged]);
|
|
99543
99550
|
return bondData && !isLoading ? (jsx$2(Flex, { className: `modal-content ${isGoldRush ? 'gold-rush' : ''}`, children: jsxs(Flex, { className: "modaltable-container", children: [jsx$2(BondModalHeader, { bondData: bondData, btcPrice: btcPrice, onDismiss: onDismiss, showProjectInfoButton: (SDKConfig === null || SDKConfig === void 0 ? void 0 : SDKConfig.referenceId) === 'apebond' }), jsx$2(ProjectDescription, { description: bondData.type == 'goo'
|
|
99544
99551
|
? 'GooMoney is unlocking the full potential of BTC yields on-chain through sustainable, decentralized growth. Get $GOO at a discount versus TGE price during the Genesis Event, available only to whitelisted users. The liquid token $GOO is always backed by 1 satoshi by design, minimizing downside and keeping a Risk-Free Value.'
|
|
99545
|
-
: 'GooMoney is unlocking the full potential of BTC yields on-chain through sustainable, decentralized growth. Get $sGOO at a discount versus TGE price during the Genesis Event, available only to whitelisted users. $sGOO is the staked version of $GOO, distributing all protocol premiums to its holders. It can be vested and converted back to $GOO, which is always backed by 1 satoshi by design.', isProjectView: true }), jsx$2(Flex, { sx: { width: '100%', display: isProjectView ? ['flex', 'flex', 'flex', 'none'] : 'flex' }, children: jsx$2(BondCards, { bondData: bondData, tgeDate: (saleInfo
|
|
99546
|
-
? saleInfo.TGEDate.toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' })
|
|
99547
|
-
: '-', maxUserBuy: maxUserBuyBTC, type: bondData.type }) }), jsx$2(Estimations, { depositAmount: depositAmount, saleData: saleData, bondData: bondData, youSpendString: youSpendString, isZap: isZap, fetchingZapQuote: fetchingZapQuote, zapError: zapError }), jsx$2(TokenSelectorPanel, { typedValue: inputValue, setTypedValue: setInputValue, selectedToken: inputToken, handleValueBtn: () => {
|
|
99552
|
+
: 'GooMoney is unlocking the full potential of BTC yields on-chain through sustainable, decentralized growth. Get $sGOO at a discount versus TGE price during the Genesis Event, available only to whitelisted users. $sGOO is the staked version of $GOO, distributing all protocol premiums to its holders. It can be vested and converted back to $GOO, which is always backed by 1 satoshi by design.', isProjectView: true }), jsx$2(Flex, { sx: { width: '100%', display: isProjectView ? ['flex', 'flex', 'flex', 'none'] : 'flex' }, children: jsx$2(BondCards, { bondData: bondData, tgeDate: formatTGEDate(saleInfo), maxUserBuy: maxUserBuyBTC, type: bondData.type }) }), jsx$2(Estimations, { depositAmount: depositAmount, saleData: saleData, bondData: bondData, youSpendString: youSpendString, isZap: isZap, fetchingZapQuote: fetchingZapQuote, zapError: zapError }), jsx$2(TokenSelectorPanel, { typedValue: inputValue, setTypedValue: setInputValue, selectedToken: inputToken, handleValueBtn: () => {
|
|
99548
99553
|
var _a;
|
|
99549
99554
|
return setInputValue((_a = new BigNumber$1(Number(inputCurrencyBalance) > maxUserBuyBTC ? (maxUserBuyBTC !== null && maxUserBuyBTC !== void 0 ? maxUserBuyBTC : '0') : (inputCurrencyBalance !== null && inputCurrencyBalance !== void 0 ? inputCurrencyBalance : '0'))) === null || _a === void 0 ? void 0 : _a.toString());
|
|
99550
99555
|
}, handleCurrencySelect: handleCurrencySelect, chainId: 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 }), SDKConfig.useTiers && jsx$2(GetUpToComponent, { bond: bondData, depositAmount: depositAmount }), (bondData === null || bondData === void 0 ? void 0 : bondData.warningCard) && (jsx$2(Flex, { sx: {
|
|
@@ -99896,7 +99901,7 @@ const ProgressBar = ({ saleInfo }) => {
|
|
|
99896
99901
|
// Get BTC price
|
|
99897
99902
|
const btcPriceData = useCurrencyPrice(saleData === null || saleData === void 0 ? void 0 : saleData.principalToken, main.ChainId.BASE);
|
|
99898
99903
|
const btcPrice = (_d = btcPriceData === null || btcPriceData === void 0 ? void 0 : btcPriceData.price) !== null && _d !== void 0 ? _d : 0;
|
|
99899
|
-
const totalBilledBTC = (saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.totalBilled) ? (saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.totalBilled) / 100000000 : 0;
|
|
99904
|
+
const totalBilledBTC = ((saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.totalBilled) ? (saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.totalBilled) / 100000000 : 0) + 100;
|
|
99900
99905
|
const totalBilledUSD = (totalBilledBTC * btcPrice).toLocaleString('en-US', {
|
|
99901
99906
|
style: 'currency',
|
|
99902
99907
|
currency: 'USD',
|
|
@@ -99963,7 +99968,7 @@ const YourGoo = ({ yourGoo, isLoading, isFetching, }) => {
|
|
|
99963
99968
|
const depositSGooBtcTotal = Number(yourGoo === null || yourGoo === void 0 ? void 0 : yourGoo.depositToSGooBond) / 100000000;
|
|
99964
99969
|
const gooPriceSatsAverage = Number(yourGoo === null || yourGoo === void 0 ? void 0 : yourGoo.depositToGooBond) / Number(yourGoo === null || yourGoo === void 0 ? void 0 : yourGoo.gooPayout);
|
|
99965
99970
|
const sGooPriceSatsAverage = Number(yourGoo === null || yourGoo === void 0 ? void 0 : yourGoo.depositToSGooBond) / Number(yourGoo === null || yourGoo === void 0 ? void 0 : yourGoo.sGooPayout);
|
|
99966
|
-
const tgeDate = saleInfo
|
|
99971
|
+
const tgeDate = formatTGEDate(saleInfo);
|
|
99967
99972
|
const stages = (_c = yourGoo === null || yourGoo === void 0 ? void 0 : yourGoo.stages) === null || _c === void 0 ? void 0 : _c.map((stage, index) => {
|
|
99968
99973
|
const gooAmount = formatNumber$1(stage.gooPayout);
|
|
99969
99974
|
const sGooAmount = formatNumber$1(stage.sGooPayout);
|
|
@@ -100384,7 +100389,7 @@ const GooSale = () => {
|
|
|
100384
100389
|
: ((_f = saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.nextStage) === null || _f === void 0 ? void 0 : _f.stageNumber) === 5
|
|
100385
100390
|
? 'TGE '
|
|
100386
100391
|
: 'Stage ' + ((_g = saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.nextStage) === null || _g === void 0 ? void 0 : _g.stageNumber) + ' ', "starts in:"] }), jsx$2(Svg, { icon: "comingSoon", width: "350" }), !(((_h = saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.nextStage) === null || _h === void 0 ? void 0 : _h.stageNumber) === 4 || ((_j = saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.nextStage) === null || _j === void 0 ? void 0 : _j.stageNumber) === 5) ? (jsxs(Fragment$1, { children: [jsxs(Flex, { sx: { flexDirection: 'column', alignItems: 'center' }, children: [jsxs(Flex, { sx: { flexDirection: 'row', alignItems: 'center', mt: '30px' }, children: [address && (jsxs(Flex, { sx: { mr: '1rem', p: '10px', borderRadius: 'normal', background: 'white3', alignItems: 'center' }, children: [jsx$2(Flex, { sx: { mr: '10px' }, children: jsx$2(Svg, { icon: "wallet" }) }), jsxs(Text, { sx: { fontSize: '14px', fontWeight: 400 }, children: [address === null || address === void 0 ? void 0 : address.slice(0, 4), "...", address === null || address === void 0 ? void 0 : address.slice((address === null || address === void 0 ? void 0 : address.length) - 4, address === null || address === void 0 ? void 0 : address.length)] })] })), jsx$2(Flex, { sx: { fontSize: '18px', fontWeight: 500 }, children: "Are You Eligible?" })] }), !address ? (jsx$2(Flex, { sx: { my: '20px', width: '100%' }, children: jsx$2(ConnectButton, {}) })) : (whitelisted === null ||
|
|
100387
|
-
(whitelisted === undefined && !cbBTCBalanceChecked && (jsx$2(Button, { sx: { m: '20px', width: '100%' }, onClick: handleCheckEligibility, children: "CHECK ELIGIBILITY" }))))] }), whitelisted !== null && whitelisted !== undefined && (jsxs(Flex, { sx: { flexDirection: 'row', alignItems: 'center', mt: '20px' }, children: [jsxs(Text, { sx: { fontSize: '12px', fontWeight: 400 }, children: ["You are whitelisted for Stage ", whitelisted, " and beyond!"] }), jsxs(Text, { color: "primaryButton", sx: { fontSize: '12px', fontWeight: 400, pl: '1rem' }, children: ["Tier ", whitelisted, " Access"] })] })), whitelisted === null && (
|
|
100392
|
+
(whitelisted === undefined && !cbBTCBalanceChecked && (jsx$2(Button, { sx: { m: '20px', width: '100%' }, onClick: handleCheckEligibility, children: "CHECK ELIGIBILITY" }))))] }), whitelisted !== null && whitelisted !== undefined && (jsxs(Flex, { sx: { flexDirection: 'row', alignItems: 'center', mt: '20px' }, children: [jsxs(Text, { sx: { fontSize: '12px', fontWeight: 400 }, children: ["You are whitelisted for Stage ", whitelisted, " and beyond!"] }), jsxs(Text, { color: "primaryButton", sx: { fontSize: '12px', fontWeight: 400, pl: '1rem' }, children: ["Tier ", whitelisted, " Access"] })] })), whitelisted === null && (jsx$2(Flex, { sx: { flexDirection: 'column', alignItems: 'center', gap: '10px' }, children: cbBTCBalanceChecked && (jsx$2(Flex, { sx: { flexDirection: 'column', alignItems: 'center', gap: '10px', mt: '10px' }, children: isCbBTCBalanceLoading ? (jsx$2(Text, { sx: { fontSize: '12px', fontWeight: 400 }, children: "Checking BTC balance across all chains..." })) : cbBTCBalance ? (jsxs(Fragment$1, { children: [cbBTCBalance.isEligible ? (addToWhitelistSuccess ? (jsx$2(Text, { color: "primaryButton", sx: { fontSize: '12px', fontWeight: 700 }, children: "\u2713 Successfully added to whitelist! Please refresh to see your tier." })) : addToWhitelistError ? (jsx$2(Text, { sx: { fontSize: '12px', fontWeight: 400, color: 'error' }, children: "Failed to add to whitelist. Please try again." })) : (jsx$2(Fragment$1, { children: jsx$2(Flex, { sx: { flexDirection: 'row', alignItems: 'center' }, children: jsxs(Text, { sx: { fontSize: '12px', fontWeight: 400 }, children: ["You ", jsx$2("span", { sx: { fontWeight: 700 }, children: "ARE" }), " eligible for the sale"] }) }) }))) : (jsxs(Flex, { sx: { flexDirection: 'column', alignItems: 'center', gap: '10px' }, children: [jsxs(Text, { sx: { fontSize: '12px', fontWeight: 400 }, children: ["You are ", jsx$2("span", { sx: { fontWeight: 700 }, children: "NOT" }), " eligible for the sale"] }), jsx$2(Text, { sx: { fontSize: '12px', fontWeight: 400, color: 'error' }, children: "You need at least 0.001 BTC to be whitelisted" })] })), jsxs(Text, { sx: { fontSize: '12px', fontWeight: 400 }, children: ["Total BTC Balance: ", cbBTCBalance.balance] }), cbBTCBalance.chainsWithBalance && cbBTCBalance.chainsWithBalance.length > 0 && (jsx$2(Flex, { sx: { flexDirection: 'column', gap: '5px', mt: '5px' }, children: cbBTCBalance.chainsWithBalance.map((chain) => (jsxs(Flex, { sx: { flexDirection: 'row', alignItems: 'center', gap: '10px' }, children: [jsx$2(TokenImage, { symbol: chain.symbol, size: 25, chain: chain.chainId }), jsxs(Text, { sx: { fontSize: '10px', fontWeight: 400, opacity: 0.7 }, children: [chain.balance, " ", chain.symbol] })] }, chain.chainId))) })), cbBTCBalance.isEligible && (jsx$2(Button, { sx: { width: '100%' }, onClick: () => addToWhitelist(), disabled: isAddingToWhitelist, children: isAddingToWhitelist ? 'ADDING TO WHITELIST...' : 'ADD ME TO WHITELIST' }))] })) : (jsx$2(Text, { sx: { fontSize: '12px', fontWeight: 400 }, children: "Unable to fetch BTC balance. Please try again." })) })) }))] })) : (jsx$2(Fragment$1, {}))] })), jsxs(Flex, { sx: { width: '100%', alignItems: 'center', px: '12%', py: '4rem' }, children: [jsx$2(StepBubble, { number: 1, title: 'STAGE 1', currentStep: currentStageNumber, loading: false }), jsx$2(StepBubble, { number: 2, title: 'STAGE 2', currentStep: currentStageNumber, loading: false }), jsx$2(StepBubble, { number: 3, title: 'STAGE 3', currentStep: currentStageNumber, loading: false }), jsx$2(StepBubble, { number: 5, title: 'TGE', currentStep: currentStageNumber, loading: false, hideBar: true })] }), jsx$2(Divider, { sx: { width: '100%', height: '2px', backgroundColor: 'white2' } }), jsx$2(ProgressBar, { saleInfo: saleInfo }), !(saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.isInBreakPeriod) && !currentStageSoldOut ? (jsxs(Fragment$1, { children: [jsx$2(BondsMenu, { setChainFilterOption: handleChainFilterChange, chainFilterOption: chainFilterOption, handleToogle: handleToogle }), activeView === BondsViewOptions.BONDSMARKET && filteredContractsByChain && !isLoadingSaleInfo ? (jsx$2(BondRowsByChain, { contractsByChain: filteredContractsByChain })) : activeView === BondsViewOptions.YOURBONDS && !isLoadingSaleInfo ? (jsx$2(YourGoo, { yourGoo: yourGoo, isLoading: isLoading, isFetching: isFetching })) : (jsx$2(Fragment$1, {}))] })) : userParticipated ? (jsxs(Fragment$1, { children: [jsx$2(Divider, { sx: { width: '100%', height: '2px', backgroundColor: 'white2', my: '1rem' } }), jsx$2(YourGoo, { yourGoo: yourGoo, isLoading: isLoading, isFetching: isFetching })] })) : (jsx$2(Fragment$1, {}))] }));
|
|
100388
100393
|
};
|
|
100389
100394
|
|
|
100390
100395
|
const GooSaleWithProviders = (props) => {
|
|
@@ -36,6 +36,8 @@ export interface SaleInfo {
|
|
|
36
36
|
overallProgress: number;
|
|
37
37
|
TGEPrice: number;
|
|
38
38
|
TGEDate: Date;
|
|
39
|
+
isTGEPostponed: boolean;
|
|
39
40
|
}
|
|
41
|
+
export declare const formatTGEDate: (saleInfo?: SaleInfo) => string;
|
|
40
42
|
export default function useSaleInfo(): UseQueryResult<SaleInfo>;
|
|
41
43
|
export declare const getSaleInfo: (isFake: boolean, apiAddress: string) => Promise<SaleInfo>;
|