@ape.swap/bonds-sdk 4.0.0-test.8 → 4.0.0-test.9

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.
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { SvgProps } from '../types';
3
+ declare const UNICHAIN: React.FC<SvgProps>;
4
+ export default UNICHAIN;
@@ -27,3 +27,4 @@ export { default as SONIC } from './SONIC';
27
27
  export { default as BERA } from './BERA';
28
28
  export { default as SOLANA } from './SOL';
29
29
  export { default as KATANA } from './KATANA';
30
+ export { default as UNICHAIN } from './UNICHAIN';
@@ -58,6 +58,7 @@ export declare enum icons {
58
58
  BERA = "bera",
59
59
  SOL = "sol",
60
60
  KATANA = "katana",
61
+ UNICHAIN = "unichain",
61
62
  DISCORD = "discord",
62
63
  REDDIT = "reddit",
63
64
  MEDIUM = "medium",
package/dist/main.js CHANGED
@@ -3938,6 +3938,7 @@ var icons;
3938
3938
  icons["BERA"] = "bera";
3939
3939
  icons["SOL"] = "sol";
3940
3940
  icons["KATANA"] = "katana";
3941
+ icons["UNICHAIN"] = "unichain";
3941
3942
  //Social media icons
3942
3943
  icons["DISCORD"] = "discord";
3943
3944
  icons["REDDIT"] = "reddit";
@@ -6804,6 +6805,10 @@ const KATANA = ({ width }) => {
6804
6805
  return (jsx$2("svg", { width: width || '30', height: width || '30', viewBox: "0 0 64 64", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: jsxs("g", { children: [jsx$2("title", { children: "Layer 1" }), jsx$2("rect", { width: "64", height: "64", fill: "#068be3", id: "svg_1" }), jsx$2("path", { d: "m28.8015,25.6354l0,-14.6354l-8.45798,0l-6.34352,20.9476l5.07482,0l-5.07482,16.7582l14.8015,0l0,-10.437l12.6876,14.7312l8.5109,-12.6734l-16.9159,-8.379l-4.2826,0l10.5724,0l6.3433,-20.9476l-8.4579,0l-8.4578,14.6354z", fill: "#F6FF0D", id: "svg_3" })] }) }));
6805
6806
  };
6806
6807
 
6808
+ const UNICHAIN = ({ width }) => {
6809
+ return (jsx$2("svg", { width: width || '30', height: width || '30', viewBox: "0 0 64 64", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: jsxs("g", { children: [jsx$2("title", { children: "Layer 1" }), jsx$2("rect", { id: "svg_1", fill: "#f50db4", height: "64", width: "64" }), jsx$2("path", { id: "svg_2", fill: "white", d: "m52.00002,31.61947c-10.8407,0 -19.6195,-8.7876 -19.6195,-19.61945l-0.761,0l0,19.61945l-19.61954,0l0,0.7611c10.84074,0 19.61954,8.7876 19.61954,19.6194l0.761,0l0,-19.6194l19.6195,0l0,-0.7611z" })] }) }));
6810
+ };
6811
+
6807
6812
  const Icon$a = ({ width }) => {
6808
6813
  return (jsxs("svg", { viewBox: "0 0 32 32", width: width || '128px', children: [jsx$2("path", { d: "M24 0H8C3.58172 0 0 3.58172 0 8V24C0 28.4183 3.58172 32 8 32H24C28.4183 32 32 28.4183 32 24V8C32 3.58172 28.4183 0 24 0Z", fill: "#1E2026" }), jsx$2("path", { d: "M16.2857 4L9.97035 7.6761L12.2922 9.03415L16.2857 6.7161L20.2792 9.03415L22.6011 7.6761L16.2857 4Z", fill: "#F0B90B" }), jsx$2("path", { d: "M20.2792 10.9541L22.6011 12.3122V15.0283L18.6075 17.3463V21.9824L16.2857 23.3405L13.9639 21.9824V17.3463L9.97035 15.0283V12.3122L12.2922 10.9541L16.2857 13.2722L20.2792 10.9541Z", fill: "#F0B90B" }), jsx$2("path", { d: "M22.6011 16.9483V19.6644L20.2792 21.0224V18.3063L22.6011 16.9483Z", fill: "#F0B90B" }), jsx$2("path", { d: "M20.2561 22.9424L24.2496 20.6244V15.9883L26.5714 14.6302V21.9824L20.2561 25.6585V22.9424Z", fill: "#F0B90B" }), jsx$2("path", { d: "M24.2496 11.3522L21.9278 9.99414L24.2496 8.63609L26.5714 9.99414V12.7102L24.2496 14.0683V11.3522Z", fill: "#F0B90B" }), jsx$2("path", { d: "M13.9639 26.642V23.9259L16.2857 25.2839L18.6075 23.9259V26.642L16.2857 28L13.9639 26.642Z", fill: "#F0B90B" }), jsx$2("path", { d: "M12.2922 21.0224L9.97035 19.6644V16.9483L12.2922 18.3063V21.0224Z", fill: "#F0B90B" }), jsx$2("path", { d: "M16.2857 11.3522L13.9639 9.99414L16.2857 8.63609L18.6075 9.99414L16.2857 11.3522Z", fill: "#F0B90B" }), jsx$2("path", { d: "M10.6437 9.99414L8.32183 11.3522V14.0683L6 12.7102V9.99414L8.32183 8.63609L10.6437 9.99414Z", fill: "#F0B90B" }), jsx$2("path", { d: "M6 14.6302L8.32183 15.9883V20.6244L12.3154 22.9424V25.6585L6 21.9824V14.6302Z", fill: "#F0B90B" })] }));
6809
6814
  };
@@ -7220,6 +7225,8 @@ const Svg = (_a) => {
7220
7225
  return jsx$2(SOL, Object.assign({}, props, { getStyles: getStyles }));
7221
7226
  case icons.KATANA:
7222
7227
  return jsx$2(KATANA, Object.assign({}, props, { getStyles: getStyles }));
7228
+ case icons.UNICHAIN:
7229
+ return jsx$2(UNICHAIN, Object.assign({}, props, { getStyles: getStyles }));
7223
7230
  default:
7224
7231
  return null;
7225
7232
  }
@@ -18784,6 +18791,7 @@ const MAINNET_CHAINS = [
18784
18791
  types$1.ChainId.BERACHAIN,
18785
18792
  types$1.ChainId.SOL,
18786
18793
  types$1.ChainId.KATANA,
18794
+ types$1.ChainId.UNICHAIN,
18787
18795
  ];
18788
18796
  const TESTNET_CHAINS = [types$1.ChainId.MONAD_TESTNET];
18789
18797
  // Network Icons
@@ -18808,6 +18816,7 @@ const NETWORK_ICONS = {
18808
18816
  [types$1.ChainId.BERACHAIN]: icons.BERA,
18809
18817
  [types$1.ChainId.SOL]: icons.SOL,
18810
18818
  [types$1.ChainId.KATANA]: icons.KATANA,
18819
+ [types$1.ChainId.UNICHAIN]: icons.UNICHAIN,
18811
18820
  };
18812
18821
  // Network labels
18813
18822
  const NETWORK_LABEL = {
@@ -18833,6 +18842,7 @@ const NETWORK_LABEL = {
18833
18842
  [types$1.ChainId.BERACHAIN]: 'Berachain',
18834
18843
  [types$1.ChainId.SOL]: 'Solana',
18835
18844
  [types$1.ChainId.KATANA]: 'Katana',
18845
+ [types$1.ChainId.UNICHAIN]: 'Unichain',
18836
18846
  };
18837
18847
  // Network block explorers
18838
18848
  const BLOCK_EXPLORER = {
@@ -18858,6 +18868,7 @@ const BLOCK_EXPLORER = {
18858
18868
  [types$1.ChainId.BERACHAIN]: 'https://berascan.com',
18859
18869
  [types$1.ChainId.SOL]: 'https://solscan.io',
18860
18870
  [types$1.ChainId.KATANA]: 'https://explorer.katanarpc.com',
18871
+ [types$1.ChainId.UNICHAIN]: 'https://uniscan.xyz',
18861
18872
  };
18862
18873
 
18863
18874
  const supportedByLIFI = [
@@ -18871,6 +18882,7 @@ const supportedByLIFI = [
18871
18882
  types$1.ChainId.BLAST,
18872
18883
  types$1.ChainId.SONIC,
18873
18884
  types$1.ChainId.BERACHAIN,
18885
+ types$1.ChainId.UNICHAIN,
18874
18886
  ];
18875
18887
  const STRAPI_URL = `https://strapi-api.ape.bond`;
18876
18888
  const SOUL_ZAP_API = `https://zap-api.ape.bond/zap?batch=1`;
@@ -19058,6 +19070,7 @@ const NETWORK_COLORS = {
19058
19070
  [types$1.ChainId.SONIC]: '#fb9a4c4d',
19059
19071
  [types$1.ChainId.BERACHAIN]: '#783e244d',
19060
19072
  [types$1.ChainId.KATANA]: '#068be34d',
19073
+ [types$1.ChainId.UNICHAIN]: '#f50db44d',
19061
19074
  };
19062
19075
  const TokenInfoAndName = ({ tokenSymbol, chain, tag, vestEnds, isHotBond, }) => {
19063
19076
  return (jsxs(Flex, { className: "tokeninfoname container", children: [jsx$2(Flex, { sx: {
@@ -21989,37 +22002,34 @@ function toFixedPoint(str, e, z) {
21989
22002
  var BigNumber$1 = clone$2();
21990
22003
 
21991
22004
  // Ideally let's keep all formating in this file and DO NOT CREATE MORE FILES
21992
- const formatNumber$3 = (number, minPrecision = 2, maxPrecision = 2) => {
22005
+ const localeFormat = (number, precision = 2) => {
21993
22006
  const options = {
21994
- minimumFractionDigits: minPrecision,
21995
- maximumFractionDigits: maxPrecision,
22007
+ minimumFractionDigits: precision,
22008
+ maximumFractionDigits: precision,
21996
22009
  };
21997
22010
  return number.toLocaleString('en-US', options);
21998
22011
  };
21999
- // Formats a number with SI (International System of Units) sufixes
22000
22012
  const formatNumberSI = (num, digits = 2) => {
22001
22013
  const number = typeof num === 'string' ? parseFloat(num) : num;
22002
- const lookupSI = [
22003
- { value: 1, symbol: '' },
22004
- { value: 1e6, symbol: 'M' },
22005
- { value: 1e9, symbol: 'B' },
22014
+ const suffixes = [
22006
22015
  { value: 1e12, symbol: 'T' },
22016
+ { value: 1e9, symbol: 'B' },
22017
+ { value: 1e6, symbol: 'M' },
22018
+ { value: 1, symbol: '' },
22007
22019
  ];
22008
- const regEx = /\.0+$|(\.[0-9]*[1-9])0+$/;
22009
- let formatted;
22010
- if (number >= 1e18) {
22011
- formatted = '∞';
22020
+ const suffix = suffixes.find(({ value }) => number >= value);
22021
+ if (number > 1e6 && suffix) {
22022
+ return `${localeFormat(number / suffix.value)} ${suffix.symbol}`;
22012
22023
  }
22013
- else {
22014
- let i;
22015
- for (i = lookupSI.length - 1; i > 0; i--) {
22016
- if (number >= lookupSI[i].value) {
22017
- break;
22018
- }
22019
- }
22020
- formatted = formatNumber$3(number / lookupSI[i].value, digits, digits).replace(regEx, '$1') + lookupSI[i].symbol;
22024
+ if (number > 1000) {
22025
+ return localeFormat(Math.round(number), 0);
22026
+ }
22027
+ if (number > 1) {
22028
+ return localeFormat(number);
22021
22029
  }
22022
- return formatted;
22030
+ if (number === 0)
22031
+ return '0';
22032
+ return localeFormat(number, digits);
22023
22033
  };
22024
22034
  const formatUSDNumber$1 = (input) => {
22025
22035
  const number = new BigNumber$1(input);
@@ -22523,6 +22533,7 @@ const MULTICALL_V2 = {
22523
22533
  [types$1.ChainId.SONIC]: '0xcA11bde05977b3631167028862bE2a173976CA11',
22524
22534
  [types$1.ChainId.BERACHAIN]: '0xcA11bde05977b3631167028862bE2a173976CA11',
22525
22535
  [types$1.ChainId.KATANA]: '0xcA11bde05977b3631167028862bE2a173976CA11',
22536
+ [types$1.ChainId.UNICHAIN]: '0xcA11bde05977b3631167028862bE2a173976CA11',
22526
22537
  };
22527
22538
  const SoulZapTokenManager = {
22528
22539
  [types$1.ChainId.MAINNET]: '0x2F87f76336A560bbB0d18d357D10646bB96E8802',
@@ -63613,6 +63624,7 @@ const PUBLIC_RPC_URLS = {
63613
63624
  [types$1.ChainId.SONIC]: ['https://rpc.soniclabs.com'],
63614
63625
  [types$1.ChainId.BERACHAIN]: ['https://rpc.berachain.com'],
63615
63626
  [types$1.ChainId.KATANA]: ['https://rpc-katana.t.conduit.xyz/NRcSLqEG4Hw55GzTSu6Sratq94kKtUGfH'],
63627
+ [types$1.ChainId.UNICHAIN]: ['https://unichain.drpc.org'],
63616
63628
  [types$1.ChainId.SOL]: process.env.NODE_ENV === 'production'
63617
63629
  ? ['https://morning-autumn-dream.solana-mainnet.quiknode.pro/1ef6069950c798a43a112c0fe5eb157309427db8']
63618
63630
  : [
@@ -63680,6 +63692,9 @@ const useSDKConfig = (config) => {
63680
63692
  const initialData = Object.assign(Object.assign({ referenceId: '', chains: [], hotBondChains: [types$1.ChainId.BSC, types$1.ChainId.MATIC], useHotBonds: true, useRainbowKit: false, useTiers: false, useTGEBonds: false, showLowValueBonds: false, bondPartner: undefined }, config), { urls: Object.assign(Object.assign({}, urls), config === null || config === void 0 ? void 0 : config.urls), highestCompatibleVersion: '2.2.0' });
63681
63693
  const { data } = useQuery({
63682
63694
  queryKey: [QUERY_KEYS.SDK_CONFIG],
63695
+ queryFn: () => {
63696
+ throw new Error('Just a hotfix for latest versions of react-query that make queryFn a required prop');
63697
+ },
63683
63698
  initialData,
63684
63699
  });
63685
63700
  return data;
@@ -67707,6 +67722,9 @@ var BOND_NFT_ABI = [
67707
67722
  const usePopups = () => {
67708
67723
  const { data } = useQuery({
67709
67724
  queryKey: [QUERY_KEYS.POP_UPS],
67725
+ queryFn: () => {
67726
+ throw new Error('Just a hotfix for latest versions of react-query that make queryFn a required prop');
67727
+ },
67710
67728
  initialData: [],
67711
67729
  });
67712
67730
  const queryClient = useQueryClient();
@@ -70030,9 +70048,7 @@ function fetchUserOwnedSolanaBonds(user, bondData, tokenPrices) {
70030
70048
  totalPayout: bondAccount.payout.toString(),
70031
70049
  truePricePaid: bondAccount.truePricePaid.toString(),
70032
70050
  lastBlockTimestamp: bondAccount.lastClaimTimestamp.toString(),
70033
- pendingRewards: pendingRewards !== '0'
70034
- ? pendingRewards
70035
- : (Number(bondAccount.payout) - Number(bondAccount.payoutClaimed)).toString(),
70051
+ pendingRewards,
70036
70052
  billNftAddress: collection,
70037
70053
  bondCounter: bondIssuanceAccount.bondCounter.toString(),
70038
70054
  payoutClaimed: '0', //TODO: fix this
@@ -70052,6 +70068,7 @@ function fetchUserOwnedSolanaBonds(user, bondData, tokenPrices) {
70052
70068
  userOwnedBills: userBills,
70053
70069
  });
70054
70070
  }
70071
+ console.log('finished fetching solana bonds');
70055
70072
  return results;
70056
70073
  }
70057
70074
  catch (err) {
@@ -70301,6 +70318,7 @@ const SwiperProvider = ({ children }) => {
70301
70318
 
70302
70319
  /* Copied from Uniswap/v-3: https://github.com/Uniswap/v3-info/blob/master/src/utils/numbers.ts */
70303
70320
  /**
70321
+ * @deprecated PLEASE DO NOT USE
70304
70322
  * Returns a USD dollar or equivalent denominated numerical value formatted
70305
70323
  * in human readable string for use in template.
70306
70324
  *
@@ -70361,6 +70379,7 @@ const formatDollar = ({ num, isPrice = false, lessPreciseStablecoinValues = fals
70361
70379
  }
70362
70380
  };
70363
70381
  /**
70382
+ * @deprecated PLEASE DO NOT USE
70364
70383
  * Returns a numerical amount of any token formatted in human readable string for use in template.
70365
70384
  *
70366
70385
  * For transaction review numbers, such as token quantities, NFT price (token-denominated),
@@ -76132,7 +76151,7 @@ const SafeHTMLComponent = ({ html }) => {
76132
76151
  return jsx$2("div", { dangerouslySetInnerHTML: { __html: sanitizedHTML } });
76133
76152
  };
76134
76153
 
76135
- const YourBondsModal$1 = ({ onDismiss, bill }) => {
76154
+ const YourBondsModal = ({ onDismiss, bill }) => {
76136
76155
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20;
76137
76156
  // Hooks
76138
76157
  const SDKConfig = useSDKConfig();
@@ -76374,7 +76393,7 @@ const UserBondRow = ({ bill }) => {
76374
76393
  const { isLoading: isConfirming, isSuccess: isConfirmed } = useMonitorTxHash(claimTxHash, (_a = bill === null || bill === void 0 ? void 0 : bill.bond) === null || _a === void 0 ? void 0 : _a.chainId);
76375
76394
  const [loadingTx, setLoadingTx] = useState(false);
76376
76395
  const load = loadingTx || (isConfirming && !isConfirmed);
76377
- const [onOpenPurchasedBond] = useModal(jsx$2(YourBondsModal$1, { bill: bill }));
76396
+ const [onOpenPurchasedBond] = useModal(jsx$2(YourBondsModal, { bill: bill }));
76378
76397
  const handleClaim = (billId, billAddress) => __awaiter$9(void 0, void 0, void 0, function* () {
76379
76398
  var _a, _b, _c, _d, _e, _f, _g, _h;
76380
76399
  const address = billAddress;
@@ -79588,8 +79607,8 @@ const COMMON_PDA_PROGRAM = new PublicKey(buffer.Buffer.from([
79588
79607
  123, 216, 219, 233, 248, 89,
79589
79608
  ]));
79590
79609
  const CLAIM_DISCRIMINATOR = buffer.Buffer.from([62, 198, 214, 193, 213, 159, 108, 210]);
79591
- const YourBondsModal = ({ onDismiss, userBill }) => {
79592
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6;
79610
+ const YourSolanaBondsModal = ({ onDismiss, userBill }) => {
79611
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9;
79593
79612
  // Hooks
79594
79613
  const { publicKey: accountSolana, signTransaction } = useWallet();
79595
79614
  const { setVisible } = useWalletModal();
@@ -79693,8 +79712,11 @@ const YourBondsModal = ({ onDismiss, userBill }) => {
79693
79712
  blockhash,
79694
79713
  lastValidBlockHeight,
79695
79714
  }, 'confirmed');
79696
- refetch();
79697
79715
  addToastSuccess(txId, (_e = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _e === void 0 ? void 0 : _e.chainId);
79716
+ setTimeout(() => {
79717
+ // a little cheat to refetch bonds after the tx is confirmed on chain :)
79718
+ refetch();
79719
+ }, 3000);
79698
79720
  }
79699
79721
  catch (error) {
79700
79722
  console.error('Claim failed:', error);
@@ -79709,7 +79731,6 @@ const YourBondsModal = ({ onDismiss, userBill }) => {
79709
79731
  var _a, _b, _c, _d, _e, _f;
79710
79732
  return getBalanceNumber(new BigNumber$1((_a = userBill === null || userBill === void 0 ? void 0 : userBill.payout) !== null && _a !== void 0 ? _a : 0), (_f = (_d = (_c = (_b = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _b === void 0 ? void 0 : _b.earnToken) === null || _c === void 0 ? void 0 : _c.decimals) === null || _d === void 0 ? void 0 : _d[(_e = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _e === void 0 ? void 0 : _e.chainId]) !== null && _f !== void 0 ? _f : 18);
79711
79733
  };
79712
- console.log('totalPending: ', totalPending(userBill));
79713
79734
  const claimable = (userBill) => {
79714
79735
  var _a, _b, _c, _d, _e, _f;
79715
79736
  return getBalanceNumber(new BigNumber$1((_a = userBill === null || userBill === void 0 ? void 0 : userBill.pendingRewards) !== null && _a !== void 0 ? _a : '0'), (_f = (_d = (_c = (_b = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _b === void 0 ? void 0 : _b.earnToken) === null || _c === void 0 ? void 0 : _c.decimals) === null || _d === void 0 ? void 0 : _d[(_e = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _e === void 0 ? void 0 : _e.chainId]) !== null && _f !== void 0 ? _f : 18);
@@ -79718,32 +79739,32 @@ const YourBondsModal = ({ onDismiss, userBill }) => {
79718
79739
  setImgLoaded(true);
79719
79740
  };
79720
79741
  const [onTransferBondModal] = useModal(jsx$2(TransferBondModal, { userBill: userBill }), true, true, `transferModal${userBill === null || userBill === void 0 ? void 0 : userBill.id}}`);
79721
- return (jsx$2(Modal, { className: "modal", children: jsxs(Flex$1, { className: "yourbondsmodal-content", children: [jsx$2(Flex$1, { className: "yourbondsmodal-header", children: jsx$2(Flex$1, { className: "svg-close", onClick: onDismiss, children: jsx$2(Svg, { icon: "close" }) }) }), jsxs(Flex$1, { className: "yourbondsmodal table-container", children: [jsxs(Flex$1, { className: "yourbondsmodal bondimage", children: [jsx$2("img", { src: "/images/bills/solanaBondsBanner.jpeg", alt: "Solana Bonds Banner", onLoad: handleImageLoad, style: { zIndex: 2, width: '100%', height: '100%' } }), !imgLoaded && (jsx$2(Flex$1, { sx: {
79742
+ return (jsx$2(Modal, { className: "modal", children: jsxs(Flex$1, { className: "yourbondsmodal-content", children: [jsx$2(Flex$1, { className: "yourbondsmodal-header", children: jsx$2(Flex$1, { className: "svg-close", onClick: onDismiss, children: jsx$2(Svg, { icon: "close" }) }) }), jsxs(Flex$1, { className: "yourbondsmodal table-container", children: [jsxs(Flex$1, { className: "yourbondsmodal bondimage", children: [jsx$2("img", { src: `https://ape.bond/solBonds/${(_e = (_d = (_c = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _c === void 0 ? void 0 : _c.earnToken) === null || _d === void 0 ? void 0 : _d.symbol) === null || _e === void 0 ? void 0 : _e.toLowerCase()}.png`, alt: "Solana Bonds Banner", onLoad: handleImageLoad, style: { zIndex: 2, width: '100%', height: '100%' } }), !imgLoaded && (jsx$2(Flex$1, { sx: {
79722
79743
  position: 'absolute',
79723
79744
  top: 'calc(50% - 24px)',
79724
79745
  right: 'calc(50% - 50px)',
79725
79746
  justifyContent: 'center',
79726
79747
  alignItems: 'center',
79727
79748
  zIndex: 1,
79728
- }, children: jsx$2(Spinner, { width: 100 }) }))] }), jsxs(Flex$1, { className: "yourbondsmodal yourbondinfo", children: [jsxs(Flex$1, { className: "yourbondinfo title-container", children: [jsx$2(Flex$1, { className: "title-container bondicon", children: userBill && (jsx$2(TokenImage, { symbol: (_d = (_c = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _c === void 0 ? void 0 : _c.showcaseTokenName) !== null && _d !== void 0 ? _d : (_f = (_e = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _e === void 0 ? void 0 : _e.earnToken) === null || _f === void 0 ? void 0 : _f.symbol, size: 40, chain: (_g = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _g === void 0 ? void 0 : _g.chainId })) }), jsx$2(Flex$1, { className: "title-container tokenname", children: (_j = (_h = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _h === void 0 ? void 0 : _h.showcaseTokenName) !== null && _j !== void 0 ? _j : (_k = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _k === void 0 ? void 0 : _k.earnToken.symbol }), jsx$2(Flex$1, { className: "title-container tokentags", children: (_m = (_l = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _l === void 0 ? void 0 : _l.tags) === null || _m === void 0 ? void 0 : _m.slice(0, 1).map((tag) => {
79749
+ }, children: jsx$2(Spinner, { width: 100 }) }))] }), jsxs(Flex$1, { className: "yourbondsmodal yourbondinfo", children: [jsxs(Flex$1, { className: "yourbondinfo title-container", children: [jsx$2(Flex$1, { className: "title-container bondicon", children: userBill && (jsx$2(TokenImage, { symbol: (_g = (_f = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _f === void 0 ? void 0 : _f.showcaseTokenName) !== null && _g !== void 0 ? _g : (_j = (_h = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _h === void 0 ? void 0 : _h.earnToken) === null || _j === void 0 ? void 0 : _j.symbol, size: 40, chain: (_k = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _k === void 0 ? void 0 : _k.chainId })) }), jsx$2(Flex$1, { className: "title-container tokenname", children: (_m = (_l = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _l === void 0 ? void 0 : _l.showcaseTokenName) !== null && _m !== void 0 ? _m : (_o = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _o === void 0 ? void 0 : _o.earnToken.symbol }), jsx$2(Flex$1, { className: "title-container tokentags", children: (_q = (_p = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _p === void 0 ? void 0 : _p.tags) === null || _q === void 0 ? void 0 : _q.slice(0, 1).map((tag) => {
79729
79750
  return (jsx$2(Flex$1, { sx: { marginRight: '10px' }, children: jsx$2(ListTag, { text: tag === null || tag === void 0 ? void 0 : tag.toUpperCase() }) }, tag));
79730
- }) }), jsxs(Text, { sx: { color: 'text', opacity: '0.6', fontSize: ['12px', '12px', '12px', '16px'] }, children: ["ID # ", (_o = userBill === null || userBill === void 0 ? void 0 : userBill.id) === null || _o === void 0 ? void 0 : _o.slice(0, 3), "...", (_p = userBill === null || userBill === void 0 ? void 0 : userBill.id) === null || _p === void 0 ? void 0 : _p.slice(userBill.id.length - 3, userBill.id.length)] })] }), jsxs(Flex$1, { className: "yourbondinfo blocks-container", children: [jsxs(Flex$1, { className: "yourbondinfo-block row-vested", children: [jsxs(Flex$1, { className: "yourbondinfo-block header", children: [jsx$2(Flex$1, { className: "yourbondinfo-block header-title", children: "Fully Vested" }), jsx$2(Flex$1, { className: "yourbondinfo-block header-tooltip", children: jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(Flex$1, { children: UserBillTooltipText.FullyVested }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, 0%)", children: jsx$2(Flex$1, { className: "block-header icon", children: jsx$2(Svg, { icon: "questionCircle", width: "12px" }) }) }) })] }), jsxs(Flex$1, { className: "yourbondinfo-block info", children: [jsx$2(Flex$1, { className: "block-info icon" }), jsx$2(Flex$1, { className: "block-info text", children: jsxs(Flex$1, { sx: { fontSize: ['12px', '12px', '12px', '19px'], fontWeight: 700 }, children: [vestingTimeRemainingString(userBill), isPendingCliff && (jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsxs(Flex$1, { children: ["Bond will be claimable in", ' ', `${cliffCountdown.days !== 0 ? `${cliffCountdown.days} days` : cliffCountdown.hours !== 0 ? `${cliffCountdown.hours} hours` : `${cliffCountdown.minutes} mins`}`, "."] }), width: "180px", placement: "bottomRight", transformTip: "translate(13%, 0%)", children: jsx$2(Flex$1, { sx: { opacity: 0.6, ml: '6px' }, children: jsx$2(Svg, { icon: "questionCircle", width: "12px" }) }) }))] }) })] })] }), jsxs(Flex$1, { className: "yourbondinfo-block row-pending", children: [jsxs(Flex$1, { className: "yourbondinfo-block header", children: [jsx$2(Flex$1, { className: "yourbondinfo-block header-title", children: "Pending" }), jsx$2(Flex$1, { className: "yourbondinfo-block header-tooltip", children: jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(Flex$1, { children: UserBillTooltipText.Pending }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, 0%)", children: jsx$2(Flex$1, { className: "block-header icon", children: jsx$2(Svg, { icon: "questionCircle", width: "12px" }) }) }) })] }), jsxs(Flex$1, { className: "yourbondinfo-block info", children: [jsx$2(Flex$1, { className: "block-info icon", children: userBill && (jsx$2(TokenImage, { symbol: (_r = (_q = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _q === void 0 ? void 0 : _q.showcaseTokenName) !== null && _r !== void 0 ? _r : (_t = (_s = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _s === void 0 ? void 0 : _s.earnToken) === null || _t === void 0 ? void 0 : _t.symbol, size: 25, chain: (_u = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _u === void 0 ? void 0 : _u.chainId })) }), jsxs(Flex$1, { className: "block-info text", children: [jsx$2(Text, { sx: { fontSize: ['12px', '12px', '12px', '19px'], fontWeight: 700 }, children: formatNumberSI(totalPending(userBill), 6) }), jsx$2(Text, { sx: {
79751
+ }) }), jsxs(Text, { sx: { color: 'text', opacity: '0.6', fontSize: ['12px', '12px', '12px', '16px'] }, children: ["ID # ", (_r = userBill === null || userBill === void 0 ? void 0 : userBill.id) === null || _r === void 0 ? void 0 : _r.slice(0, 3), "...", (_s = userBill === null || userBill === void 0 ? void 0 : userBill.id) === null || _s === void 0 ? void 0 : _s.slice(userBill.id.length - 3, userBill.id.length)] })] }), jsxs(Flex$1, { className: "yourbondinfo blocks-container", children: [jsxs(Flex$1, { className: "yourbondinfo-block row-vested", children: [jsxs(Flex$1, { className: "yourbondinfo-block header", children: [jsx$2(Flex$1, { className: "yourbondinfo-block header-title", children: "Fully Vested" }), jsx$2(Flex$1, { className: "yourbondinfo-block header-tooltip", children: jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(Flex$1, { children: UserBillTooltipText.FullyVested }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, 0%)", children: jsx$2(Flex$1, { className: "block-header icon", children: jsx$2(Svg, { icon: "questionCircle", width: "12px" }) }) }) })] }), jsxs(Flex$1, { className: "yourbondinfo-block info", children: [jsx$2(Flex$1, { className: "block-info icon" }), jsx$2(Flex$1, { className: "block-info text", children: jsxs(Flex$1, { sx: { fontSize: ['12px', '12px', '12px', '19px'], fontWeight: 700 }, children: [vestingTimeRemainingString(userBill), isPendingCliff && (jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsxs(Flex$1, { children: ["Bond will be claimable in", ' ', `${cliffCountdown.days !== 0 ? `${cliffCountdown.days} days` : cliffCountdown.hours !== 0 ? `${cliffCountdown.hours} hours` : `${cliffCountdown.minutes} mins`}`, "."] }), width: "180px", placement: "bottomRight", transformTip: "translate(13%, 0%)", children: jsx$2(Flex$1, { sx: { opacity: 0.6, ml: '6px' }, children: jsx$2(Svg, { icon: "questionCircle", width: "12px" }) }) }))] }) })] })] }), jsxs(Flex$1, { className: "yourbondinfo-block row-pending", children: [jsxs(Flex$1, { className: "yourbondinfo-block header", children: [jsx$2(Flex$1, { className: "yourbondinfo-block header-title", children: "Pending" }), jsx$2(Flex$1, { className: "yourbondinfo-block header-tooltip", children: jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(Flex$1, { children: UserBillTooltipText.Pending }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, 0%)", children: jsx$2(Flex$1, { className: "block-header icon", children: jsx$2(Svg, { icon: "questionCircle", width: "12px" }) }) }) })] }), jsxs(Flex$1, { className: "yourbondinfo-block info", children: [jsx$2(Flex$1, { className: "block-info icon", children: userBill && (jsx$2(TokenImage, { symbol: (_u = (_t = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _t === void 0 ? void 0 : _t.showcaseTokenName) !== null && _u !== void 0 ? _u : (_w = (_v = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _v === void 0 ? void 0 : _v.earnToken) === null || _w === void 0 ? void 0 : _w.symbol, size: 25, chain: (_x = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _x === void 0 ? void 0 : _x.chainId })) }), jsxs(Flex$1, { className: "block-info text", children: [jsx$2(Text, { sx: { fontSize: ['12px', '12px', '12px', '19px'], fontWeight: 700 }, children: formatNumberSI(totalPending(userBill), 4) }), jsx$2(Text, { sx: {
79731
79752
  fontSize: ['10px', '10px', '10px', '12px'],
79732
79753
  fontWeight: [500, 500, 500, 400],
79733
79754
  paddingLeft: '10px',
79734
- }, children: `($${(totalPending(userBill) * parseFloat((_w = (_v = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _v === void 0 ? void 0 : _v.payoutTokenPrice) !== null && _w !== void 0 ? _w : '0')).toFixed(2)})` })] })] })] }), jsxs(Flex$1, { className: "yourbondinfo-block row-claimable", children: [jsxs(Flex$1, { className: "yourbondinfo-block header", children: [jsx$2(Flex$1, { className: "yourbondinfo-block header-title", children: "Claimable" }), jsx$2(Flex$1, { className: "yourbondinfo-block header-tooltip", children: jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(Flex$1, { children: UserBillTooltipText.Claimable }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, 0%)", children: jsx$2(Flex$1, { className: "block-header icon", children: jsx$2(Svg, { icon: "questionCircle", width: "12px" }) }) }) })] }), jsxs(Flex$1, { className: "yourbondinfo-block info", children: [jsx$2(Flex$1, { className: "block-info icon", children: userBill && (jsx$2(TokenImage, { symbol: (_y = (_x = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _x === void 0 ? void 0 : _x.showcaseTokenName) !== null && _y !== void 0 ? _y : (_0 = (_z = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _z === void 0 ? void 0 : _z.earnToken) === null || _0 === void 0 ? void 0 : _0.symbol, size: 25, chain: (_1 = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _1 === void 0 ? void 0 : _1.chainId })) }), jsxs(Flex$1, { className: "block-info text", children: [jsx$2(Text, { sx: { fontSize: ['12px', '12px', '12px', '19px'], fontWeight: 700 }, children: formatNumberSI(claimable(userBill), 6) }), jsx$2(Text, { sx: {
79755
+ }, children: `($${(totalPending(userBill) * parseFloat((_z = (_y = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _y === void 0 ? void 0 : _y.payoutTokenPrice) !== null && _z !== void 0 ? _z : '0')).toFixed(2)})` })] })] })] }), jsxs(Flex$1, { className: "yourbondinfo-block row-claimable", children: [jsxs(Flex$1, { className: "yourbondinfo-block header", children: [jsx$2(Flex$1, { className: "yourbondinfo-block header-title", children: "Claimable" }), jsx$2(Flex$1, { className: "yourbondinfo-block header-tooltip", children: jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(Flex$1, { children: UserBillTooltipText.Claimable }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, 0%)", children: jsx$2(Flex$1, { className: "block-header icon", children: jsx$2(Svg, { icon: "questionCircle", width: "12px" }) }) }) })] }), jsxs(Flex$1, { className: "yourbondinfo-block info", children: [jsx$2(Flex$1, { className: "block-info icon", children: userBill && (jsx$2(TokenImage, { symbol: (_1 = (_0 = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _0 === void 0 ? void 0 : _0.showcaseTokenName) !== null && _1 !== void 0 ? _1 : (_3 = (_2 = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _2 === void 0 ? void 0 : _2.earnToken) === null || _3 === void 0 ? void 0 : _3.symbol, size: 25, chain: (_4 = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _4 === void 0 ? void 0 : _4.chainId })) }), jsxs(Flex$1, { className: "block-info text", children: [jsx$2(Text, { sx: { fontSize: ['12px', '12px', '12px', '19px'], fontWeight: 700 }, children: formatNumberSI(claimable(userBill), 4) }), jsx$2(Text, { sx: {
79735
79756
  fontSize: ['10px', '10px', '10px', '12px'],
79736
79757
  fontWeight: [500, 500, 500, 400],
79737
79758
  paddingLeft: '10px',
79738
- }, children: `($${(claimable(userBill) * parseFloat((_3 = (_2 = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _2 === void 0 ? void 0 : _2.payoutTokenPrice) !== null && _3 !== void 0 ? _3 : '0')).toFixed(2)})` })] })] })] })] }), ((_4 = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _4 === void 0 ? void 0 : _4.warningCard) && (jsx$2(Flex$1, { sx: {
79759
+ }, children: `($${(claimable(userBill) * parseFloat((_6 = (_5 = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _5 === void 0 ? void 0 : _5.payoutTokenPrice) !== null && _6 !== void 0 ? _6 : '0')).toFixed(2)})` })] })] })] })] }), ((_7 = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _7 === void 0 ? void 0 : _7.warningCard) && (jsx$2(Flex$1, { sx: {
79739
79760
  width: '100%',
79740
79761
  background: '#DE62F366',
79741
79762
  justifyContent: 'center',
79742
79763
  borderRadius: 'normal',
79743
- }, children: jsx$2(Text, { sx: { fontSize: '12px', fontWeight: 400, p: '2px 10px' }, children: jsx$2(SafeHTMLComponent, { html: (_5 = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _5 === void 0 ? void 0 : _5.warningCard }) }) })), jsxs(Flex$1, { className: "yourbondinfo button-container", children: [jsx$2(Flex$1, { className: "button-container claim", children: userBill && !accountSolana ? (jsxs(Button, { className: "switch-button", disabled: claimable(userBill) === 0 || load, onClick: (event) => {
79764
+ }, children: jsx$2(Text, { sx: { fontSize: '12px', fontWeight: 400, p: '2px 10px' }, children: jsx$2(SafeHTMLComponent, { html: (_8 = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _8 === void 0 ? void 0 : _8.warningCard }) }) })), jsxs(Flex$1, { className: "yourbondinfo button-container", children: [jsx$2(Flex$1, { className: "button-container claim", children: userBill && !accountSolana ? (jsxs(Button, { className: "switch-button", disabled: claimable(userBill) === 0 || load, onClick: (event) => {
79744
79765
  event.stopPropagation();
79745
79766
  setVisible(true);
79746
- }, children: ["Switch to ", NETWORK_LABEL[(_6 = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _6 === void 0 ? void 0 : _6.chainId]] })) : (jsx$2(Button, { className: "claim-button", disabled: claimable(userBill) === 0 || load || !userBill || isPendingCliff, load: load, onClick: (event) => {
79767
+ }, children: ["Switch to ", NETWORK_LABEL[(_9 = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _9 === void 0 ? void 0 : _9.chainId]] })) : (jsx$2(Button, { className: "claim-button", disabled: claimable(userBill) === 0 || load || !userBill || isPendingCliff, load: load, onClick: (event) => {
79747
79768
  event.stopPropagation();
79748
79769
  handleClaim();
79749
79770
  }, children: isPendingCliff
@@ -79759,7 +79780,7 @@ const UserBondRowSolana = ({ bill }) => {
79759
79780
  const { refetch } = useUserBonds();
79760
79781
  const [loadingTx, setLoadingTx] = useState(false);
79761
79782
  const load = loadingTx;
79762
- const [onOpenPurchasedBond] = useModal(jsx$2(YourBondsModal, { userBill: bill }));
79783
+ const [onOpenPurchasedBond] = useModal(jsx$2(YourSolanaBondsModal, { userBill: bill }), true, true, `yoursolanabondsModal-${bill.id}`);
79763
79784
  const connection = new Connection(getRPC(types$1.ChainId.SOL));
79764
79785
  const ensureUserPayoutAtaExists = (_a) => __awaiter$9(void 0, [_a], void 0, function* ({ connection, payer, payoutMint, user, }) {
79765
79786
  const userPayoutAta = yield getAssociatedTokenAddress(payoutMint, user);
@@ -79848,8 +79869,11 @@ const UserBondRowSolana = ({ bill }) => {
79848
79869
  blockhash,
79849
79870
  lastValidBlockHeight,
79850
79871
  }, 'confirmed');
79851
- yield refetch();
79852
79872
  addToastSuccess(txId, (_e = bill === null || bill === void 0 ? void 0 : bill.bond) === null || _e === void 0 ? void 0 : _e.chainId);
79873
+ setTimeout(() => {
79874
+ // a little cheat to refetch bonds after the tx is confirmed on chain :)
79875
+ refetch();
79876
+ }, 3000);
79853
79877
  }
79854
79878
  catch (error) {
79855
79879
  console.error('Claim failed:', error);
@@ -79868,7 +79892,7 @@ const UserBondRowSolana = ({ bill }) => {
79868
79892
  const cliffCountdown = getTimePeriods(lastBlockTimestamp + (vestingCliff !== null && vestingCliff !== void 0 ? vestingCliff : 0) - currentTime, true);
79869
79893
  return (jsxs("div", { className: "your-bonds", onClick: () => onOpenPurchasedBond(), children: [jsxs("div", { className: "token-info-container", children: [jsx$2(TokenInfoAndName, { tokenSymbol: (_e = bill.bond) === null || _e === void 0 ? void 0 : _e.earnToken.symbol, chain: (_f = bill === null || bill === void 0 ? void 0 : bill.bond) === null || _f === void 0 ? void 0 : _f.chainId, vestEnds: `Ends in ${getPendingVestingString(bill)}`, isHotBond: true }), jsx$2("div", { className: "tooltip-column", children: jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(BondInfoTooltip, { earnTokenContract: ((_g = bill === null || bill === void 0 ? void 0 : bill.bond) === null || _g === void 0 ? void 0 : _g.earnToken.address[bill === null || bill === void 0 ? void 0 : bill.bond.chainId]) || '', earnTokenSymbol: ((_h = bill === null || bill === void 0 ? void 0 : bill.bond) === null || _h === void 0 ? void 0 : _h.earnToken.symbol) || '', bondContract: (_j = bill === null || bill === void 0 ? void 0 : bill.address) !== null && _j !== void 0 ? _j : '', projectLink: (_k = bill === null || bill === void 0 ? void 0 : bill.bond) === null || _k === void 0 ? void 0 : _k.projectLink, twitter: (_l = bill === null || bill === void 0 ? void 0 : bill.bond) === null || _l === void 0 ? void 0 : _l.twitter, audit: (_m = bill === null || bill === void 0 ? void 0 : bill.bond) === null || _m === void 0 ? void 0 : _m.audit, chain: (_o = bill === null || bill === void 0 ? void 0 : bill.bond) === null || _o === void 0 ? void 0 : _o.chainId }), width: "205px", placement: "bottomRight", transformTip: "translate(5%, 0%)", children: jsx$2(Flex$1, { sx: {
79870
79894
  opacity: 0.8,
79871
- }, 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(claimable(bill), 6), jsx$2("div", { className: "your-bonds-content-tokens-usd-amount", children: `($${(claimable(bill) * earnTokenPrice).toFixed(2)})` })] })] }), jsxs("div", { className: "your-bonds-content", children: [jsx$2("div", { className: "your-bonds-content-title", children: "Pending" }), jsxs("div", { className: "your-bonds-content-tokens-amount", children: [formatNumberSI(totalPending(bill), 6), jsx$2("div", { className: "your-bonds-content-tokens-usd-amount", children: `($${(totalPending(bill) * earnTokenPrice).toFixed(2)})` })] })] }), jsx$2("div", { className: "your-bonds-content hide-mobile", children: vestingTimeRemainingString(bill) }), jsx$2("div", { className: "your-bonds-column-button", children: !accountSolana ? (jsxs(Button, { className: "button", disabled: claimable(bill) === 0 || load, load: load, onClick: (event) => {
79895
+ }, 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(claimable(bill), 4), jsx$2("div", { className: "your-bonds-content-tokens-usd-amount", children: `($${(claimable(bill) * earnTokenPrice).toFixed(2)})` })] })] }), jsxs("div", { className: "your-bonds-content", children: [jsx$2("div", { className: "your-bonds-content-title", children: "Pending" }), jsxs("div", { className: "your-bonds-content-tokens-amount", children: [formatNumberSI(totalPending(bill), 4), jsx$2("div", { className: "your-bonds-content-tokens-usd-amount", children: `($${(totalPending(bill) * earnTokenPrice).toFixed(2)})` })] })] }), jsx$2("div", { className: "your-bonds-content hide-mobile", children: vestingTimeRemainingString(bill) }), jsx$2("div", { className: "your-bonds-column-button", children: !accountSolana ? (jsxs(Button, { className: "button", disabled: claimable(bill) === 0 || load, load: load, onClick: (event) => {
79872
79896
  event.stopPropagation();
79873
79897
  setVisible(true);
79874
79898
  }, fullWidth: true, children: ["Connect to ", NETWORK_LABEL[(_p = bill === null || bill === void 0 ? void 0 : bill.bond) === null || _p === void 0 ? void 0 : _p.chainId]] })) : (jsx$2(Button, { className: "button", disabled: claimable(bill) === 0 || load || isPendingCliff, load: load, onClick: (event) => {
@@ -83706,6 +83730,9 @@ const useSlippage = () => {
83706
83730
  queryKey: [QUERY_KEYS.SLIPPAGE],
83707
83731
  staleTime: Infinity,
83708
83732
  initialData: 0.5,
83733
+ queryFn: () => {
83734
+ throw new Error('Just a hotfix for latest versions of react-query that make queryFn a required prop');
83735
+ },
83709
83736
  });
83710
83737
  // Handler to modify the setting within React Query's cache
83711
83738
  const setSlippage = (newValue) => {
@@ -85024,7 +85051,7 @@ const ZapModal = ({ onDismiss, outputToken, account, chainId }) => {
85024
85051
  });
85025
85052
  });
85026
85053
  };
85027
- return (jsxs(Modal, { children: [jsx$2(ModalHeader, { onDismiss: onDismiss, children: jsxs(Flex, { sx: { width: '100%', justifyContent: 'space-between' }, children: [jsxs(Text, { sx: { fontSize: '22px', fontWeight: 700, lineHeight: '30px' }, children: ["Zap ", jsx$2(Svg, { icon: "ZapIcon" })] }), jsx$2(Flex, { onClick: onOpenSlippageModal, sx: { mr: '15px' }, children: jsx$2(Svg, { icon: "cog", width: "16px" }) })] }) }), jsxs(Flex, { sx: { flexDirection: 'column', pt: '10px', gap: '10px' }, children: [jsx$2(Flex, { sx: { position: 'relative' }, children: jsx$2(Text, { children: "From:" }) }), jsx$2(Flex, { sx: { width: '100%', height: 'auto', justifyContent: 'space-between' }, children: jsx$2(TokenSelectorPanel, { typedValue: typedValue, setTypedValue: setTypedValue, selectedToken: inputToken, handleValueBtn: handleMaxInput, handleCurrencySelect: handleCurrencySelect, chainId: chainId, enableZap: true, tokenBalance: inputTokenBalance, selectedTokenPrice: inputTokenPrice === null || inputTokenPrice === void 0 ? void 0 : inputTokenPrice.price }) }), jsxs(Flex, { sx: { position: 'relative', mt: '10px' }, children: [jsx$2(Text, { children: "To:" }), jsx$2(Box$1, { sx: { position: 'absolute', top: '50%', left: '50%', transform: 'translate(-50%, -50%)' }, children: jsx$2(Svg, { icon: "ZapArrow" }) })] }), jsx$2(TokenSelectorPanel, { typedValue: isWrap ? typedValue : outputValue === 0 ? '' : outputValue.toFixed(18), setTypedValue: () => null, selectedToken: outputToken, handleCurrencySelect: () => null, chainId: chainId, enableZap: false, tokenBalance: outputTokenBalanceString, selectedTokenPrice: outputTokenPrice === null || outputTokenPrice === void 0 ? void 0 : outputTokenPrice.price }), jsx$2(Flex, { className: "button-container zap", children: !account ? (jsx$2(ConnectButton, {})) : userChainId !== chainId ? (jsxs(Button, { className: "switch-button zap", onClick: (event) => {
85054
+ return (jsxs(Modal, { children: [jsx$2(ModalHeader, { onDismiss: onDismiss, children: jsxs(Flex, { sx: { width: '100%', justifyContent: 'space-between' }, children: [jsxs(Text, { sx: { fontSize: '22px', fontWeight: 700, lineHeight: '30px' }, children: ["Zap ", jsx$2(Svg, { icon: "ZapIcon" })] }), jsx$2(Flex, { onClick: onOpenSlippageModal, sx: { mr: '15px' }, children: jsx$2(Svg, { icon: "cog", width: "16px" }) })] }) }), jsxs(Flex, { sx: { flexDirection: 'column', pt: '10px', gap: '10px' }, children: [jsx$2(Flex, { sx: { position: 'relative' }, children: jsx$2(Text, { children: "From:" }) }), jsx$2(Flex, { sx: { width: '100%', height: 'auto', justifyContent: 'space-between' }, children: jsx$2(TokenSelectorPanel, { typedValue: typedValue, setTypedValue: setTypedValue, selectedToken: inputToken, handleValueBtn: handleMaxInput, handleCurrencySelect: handleCurrencySelect, chainId: chainId, enableZap: true, tokenBalance: inputTokenBalance !== null && inputTokenBalance !== void 0 ? inputTokenBalance : undefined, selectedTokenPrice: inputTokenPrice === null || inputTokenPrice === void 0 ? void 0 : inputTokenPrice.price }) }), jsxs(Flex, { sx: { position: 'relative', mt: '10px' }, children: [jsx$2(Text, { children: "To:" }), jsx$2(Box$1, { sx: { position: 'absolute', top: '50%', left: '50%', transform: 'translate(-50%, -50%)' }, children: jsx$2(Svg, { icon: "ZapArrow" }) })] }), jsx$2(TokenSelectorPanel, { typedValue: isWrap ? typedValue : outputValue === 0 ? '' : outputValue.toFixed(18), setTypedValue: () => null, selectedToken: outputToken, handleCurrencySelect: () => null, chainId: chainId, enableZap: false, tokenBalance: outputTokenBalanceString, selectedTokenPrice: outputTokenPrice === null || outputTokenPrice === void 0 ? void 0 : outputTokenPrice.price }), jsx$2(Flex, { className: "button-container zap", children: !account ? (jsx$2(ConnectButton, {})) : userChainId !== chainId ? (jsxs(Button, { className: "switch-button zap", onClick: (event) => {
85028
85055
  event.stopPropagation();
85029
85056
  switchChain({ chainId: chainId });
85030
85057
  }, children: ["Switch to ", NETWORK_LABEL[chainId]] })) : approvalState === ApprovalState.NOT_APPROVED || approvalState === ApprovalState.PENDING ? (jsx$2(Button, { onClick: handleApprove, fullWidth: true, load: approvalState === ApprovalState.PENDING, disable: approvalState === ApprovalState.PENDING, children: pendingTx || approvalState === ApprovalState.PENDING ? 'ENABLING' : 'ENABLE' })) : (jsx$2(Button, { onClick: soulZapCallback, fullWidth: true, load: pendingTx || fetchingQuote || isConfirming, disabled: pendingTx || fetchingQuote || !zapData || !hasEnoughBalance || isConfirming || zapError, children: zapError
@@ -85463,7 +85490,7 @@ const Estimations = ({ depositAmount, bondData, youSpendString, isZap, fetchingZ
85463
85490
  background: 'primaryButton',
85464
85491
  opacity: 0.3,
85465
85492
  borderRadius: 'normal',
85466
- } }), jsxs(Flex, { className: "row-container premium", sx: { zIndex: 1 }, children: [jsx$2("img", { src: `/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: `${(_c = trueBondPrice === null || trueBondPrice === void 0 ? void 0 : trueBondPrice.boost) !== null && _c !== void 0 ? _c : 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)] }))] })), !!bondData.feeInPayout && (jsxs(Flex, { className: "text-container row", children: [jsxs(Flex, { className: "row-container premium", children: ["Fee:", jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsxs(Flex, { children: ["This is the protocol fee (", bondData.feeInPayout, "%)."] }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx$2(Flex, { className: "row-container premium-icon", children: jsx$2(Svg, { icon: "questionCircle", width: "12px" }) }) })] }), isZap && fetchingZapQuote ? (jsx$2(Dots, {})) : isZap && zapError ? ('-') : (jsxs(Flex, { className: `row-container premium-val`, children: ["$ ", formatNumberSI(feeUSD)] }))] })), jsxs(Flex, { className: "text-container row", children: [jsxs(Flex, { className: "row-container get", children: ["You Get (over ", vestingTime(((_d = bondData === null || bondData === void 0 ? void 0 : bondData.vestingTerm) !== null && _d !== void 0 ? _d : 0) - ((_e = bondData.vestingCliff) !== null && _e !== void 0 ? _e : 0)).days, " days):"] }), isZap && fetchingZapQuote ? (jsx$2(Dots, {})) : isZap && zapError ? ('-') : (jsxs(Flex, { className: "row-container get-val", children: [formatNumberSI(estimatedOutputAmount, 6), " ", bondData === null || bondData === void 0 ? void 0 : bondData.showcaseTokenName, " = $", ' ', formatNumberSI(estimatedOutputUSD)] }))] })] }));
85493
+ } }), jsxs(Flex, { className: "row-container premium", sx: { zIndex: 1 }, children: [jsx$2("img", { src: `/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: `${(_c = trueBondPrice === null || trueBondPrice === void 0 ? void 0 : trueBondPrice.boost) !== null && _c !== void 0 ? _c : 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)] }))] })), !!bondData.feeInPayout && (jsxs(Flex, { className: "text-container row", children: [jsxs(Flex, { className: "row-container premium", children: ["Fee:", jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsxs(Flex, { children: ["This is the protocol fee (", bondData.feeInPayout, "%)."] }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx$2(Flex, { className: "row-container premium-icon", children: jsx$2(Svg, { icon: "questionCircle", width: "12px" }) }) })] }), isZap && fetchingZapQuote ? (jsx$2(Dots, {})) : isZap && zapError ? ('-') : (jsxs(Flex, { className: `row-container premium-val`, children: ["$ ", formatNumberSI(feeUSD)] }))] })), jsxs(Flex, { className: "text-container row", children: [jsxs(Flex, { className: "row-container get", children: ["You Get (over ", vestingTime(((_d = bondData === null || bondData === void 0 ? void 0 : bondData.vestingTerm) !== null && _d !== void 0 ? _d : 0) - ((_e = bondData.vestingCliff) !== null && _e !== void 0 ? _e : 0)).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)] }))] })] }));
85467
85494
  };
85468
85495
 
85469
85496
  const ProjectDescription = ({ description, isProjectView }) => {
@@ -85858,7 +85885,7 @@ const BuyBond$1 = ({ onDismiss, bondAddress, bondChain, handlePurchasedBond, isP
85858
85885
  // On-chain Data
85859
85886
  const inputToken = useTokenFromZapList(inputTokenString, bondData === null || bondData === void 0 ? void 0 : bondData.chainId, bondData === null || bondData === void 0 ? void 0 : bondData.lpToken);
85860
85887
  const isZap = (inputTokenString === null || inputTokenString === void 0 ? void 0 : inputTokenString.toLowerCase()) !== ((_e = (_d = (_c = bondData === null || bondData === void 0 ? void 0 : bondData.lpToken) === null || _c === void 0 ? void 0 : _c.address) === null || _d === void 0 ? void 0 : _d[bondData === null || bondData === void 0 ? void 0 : bondData.chainId]) === null || _e === void 0 ? void 0 : _e.toLowerCase());
85861
- const [fetchingZapQuote, zapData, zapDepositAmount, zapError, zapTrueBondPrice] = useSoulZapBondQuote(inputValue, inputToken, bondData, account, tierProofSig);
85888
+ const [fetchingZapQuote, zapData, zapDepositAmount, zapError, zapTrueBondPrice] = useSoulZapBondQuote(inputValue, inputToken, bondData, account, tierProofSig !== null && tierProofSig !== void 0 ? tierProofSig : undefined);
85862
85889
  const sortedZapList = useSortedZapList(bondChain, bondData === null || bondData === void 0 ? void 0 : bondData.lpToken);
85863
85890
  const enrichedTokenData = sortedZapList.find((item) => {
85864
85891
  var _a, _b, _c, _d, _e;
@@ -86223,7 +86250,7 @@ const BuyBond = ({ onDismiss, bondAddress, bondChain, isProjectView, setBillId }
86223
86250
  setInputTokenString(newInputToken);
86224
86251
  }, []);
86225
86252
  const handleBuyCallback = () => __awaiter$9(void 0, void 0, void 0, function* () {
86226
- var _a, _b, _c, _d;
86253
+ var _a, _b, _c, _d, _e, _f, _g;
86227
86254
  if (!accountSolana || !bondData || !inputValue || !inputToken || !bondData)
86228
86255
  return;
86229
86256
  try {
@@ -86319,12 +86346,18 @@ const BuyBond = ({ onDismiss, bondAddress, bondChain, isProjectView, setBillId }
86319
86346
  if (nftMint.publicKey.toString()) {
86320
86347
  setBillId === null || setBillId === void 0 ? void 0 : setBillId(nftMint.publicKey.toString());
86321
86348
  }
86349
+ const inputAmountUSD = parseFloat(inputValue) * parseFloat((_d = bondData === null || bondData === void 0 ? void 0 : bondData.principalTokenPrice) !== null && _d !== void 0 ? _d : '0');
86350
+ axios.post(`${(_e = SDKConfig === null || SDKConfig === void 0 ? void 0 : SDKConfig.urls) === null || _e === void 0 ? void 0 : _e.apiV2}/bills/galxe/quest`, {
86351
+ wallet: accountSolana === null || accountSolana === void 0 ? void 0 : accountSolana.toString(),
86352
+ bond: (_f = bondData === null || bondData === void 0 ? void 0 : bondData.contractAddress) === null || _f === void 0 ? void 0 : _f[bondData === null || bondData === void 0 ? void 0 : bondData.chainId],
86353
+ amount: inputAmountUSD,
86354
+ });
86322
86355
  }
86323
86356
  catch (error) {
86324
86357
  console.error('Error during bond purchase:', error);
86325
86358
  addToastError((error === null || error === void 0 ? void 0 : error.message) || 'Unknown error');
86326
86359
  reportError$1({
86327
- apiUrl: (_d = SDKConfig === null || SDKConfig === void 0 ? void 0 : SDKConfig.urls) === null || _d === void 0 ? void 0 : _d.apiV2,
86360
+ apiUrl: (_g = SDKConfig === null || SDKConfig === void 0 ? void 0 : SDKConfig.urls) === null || _g === void 0 ? void 0 : _g.apiV2,
86328
86361
  error: error.message,
86329
86362
  extraInfo: { type: 'solanaBuyBond', error: error.message },
86330
86363
  chainId: bondChain,
@@ -86365,7 +86398,7 @@ const BuyBond = ({ onDismiss, bondAddress, bondChain, isProjectView, setBillId }
86365
86398
  }
86366
86399
  /* eslint-disable react-hooks/exhaustive-deps */
86367
86400
  }, [inputCurrencyBalance]);
86368
- return bondData ? (jsx$2(Flex, { className: "modal-content", 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$1, { bondData: bondData }) }), jsx$2(Estimations, { depositAmount: depositAmount, bondData: bondData, youSpendString: youSpendString }), jsx$2(TokenSelectorPanel, { typedValue: inputValue, setTypedValue: setInputValue, selectedToken: inputToken, handleValueBtn: () => { var _a; return setInputValue((_a = new BigNumber$1(inputCurrencyBalance !== null && inputCurrencyBalance !== void 0 ? inputCurrencyBalance : '0')) === null || _a === void 0 ? void 0 : _a.toString()); }, handleCurrencySelect: handleCurrencySelect, chainId: bondData === null || bondData === void 0 ? void 0 : bondData.chainId, enableZap: supportedByLIFI.includes(bondData === null || bondData === void 0 ? void 0 : bondData.chainId), bondPrincipalToken: bondData === null || bondData === void 0 ? void 0 : bondData.lpToken, tokenBalance: inputCurrencyBalance, selectedTokenPrice: inputTokenPrice === null || inputTokenPrice === void 0 ? void 0 : inputTokenPrice.price, inputDisabled: false }), SDKConfig.useTiers && jsx$2(GetUpToComponent, { bond: bondData, depositAmount: depositAmount }), ((_e = NETWORK_LABEL[bondData === null || bondData === void 0 ? void 0 : bondData.chainId]) === null || _e === void 0 ? void 0 : _e.toLowerCase().includes('testnet')) && (jsx$2(Flex, { sx: {
86401
+ return bondData ? (jsx$2(Flex, { className: "modal-content", 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$1, { bondData: bondData }) }), jsx$2(Estimations, { depositAmount: depositAmount, bondData: bondData, youSpendString: youSpendString }), jsx$2(TokenSelectorPanel, { typedValue: inputValue, setTypedValue: setInputValue, selectedToken: inputToken, handleValueBtn: () => { var _a; return setInputValue((_a = new BigNumber$1(inputCurrencyBalance !== null && inputCurrencyBalance !== void 0 ? inputCurrencyBalance : '0')) === null || _a === void 0 ? void 0 : _a.toString()); }, handleCurrencySelect: handleCurrencySelect, chainId: bondData === null || bondData === void 0 ? void 0 : bondData.chainId, enableZap: supportedByLIFI.includes(bondData === null || bondData === void 0 ? void 0 : bondData.chainId), bondPrincipalToken: bondData === null || bondData === void 0 ? void 0 : bondData.lpToken, tokenBalance: inputCurrencyBalance !== null && inputCurrencyBalance !== void 0 ? inputCurrencyBalance : undefined, selectedTokenPrice: inputTokenPrice === null || inputTokenPrice === void 0 ? void 0 : inputTokenPrice.price, inputDisabled: false }), SDKConfig.useTiers && jsx$2(GetUpToComponent, { bond: bondData, depositAmount: depositAmount }), ((_e = NETWORK_LABEL[bondData === null || bondData === void 0 ? void 0 : bondData.chainId]) === null || _e === void 0 ? void 0 : _e.toLowerCase().includes('testnet')) && (jsx$2(Flex, { sx: {
86369
86402
  width: '100%',
86370
86403
  background: '#DE62F366',
86371
86404
  justifyContent: 'center',
@@ -86419,7 +86452,12 @@ const ModalHandler = ({ onDismiss, bondAddress, bondChain, }) => {
86419
86452
  }
86420
86453
  }
86421
86454
  const { data: userBonds, refetch } = useUserBonds();
86422
- const userBill = userBonds === null || userBonds === void 0 ? void 0 : userBonds.find((bond) => bond.id === billId);
86455
+ const userBill = userBonds === null || userBonds === void 0 ? void 0 : userBonds.find((bond) => {
86456
+ var _a, _b, _c, _d, _e;
86457
+ return bond.id === billId &&
86458
+ ((_d = (_b = (_a = bond === null || bond === void 0 ? void 0 : bond.bond) === null || _a === void 0 ? void 0 : _a.contractAddress) === null || _b === void 0 ? void 0 : _b[(_c = bond === null || bond === void 0 ? void 0 : bond.bond) === null || _c === void 0 ? void 0 : _c.chainId]) === null || _d === void 0 ? void 0 : _d.toLowerCase()) === bondAddress.toLowerCase() &&
86459
+ ((_e = bond === null || bond === void 0 ? void 0 : bond.bond) === null || _e === void 0 ? void 0 : _e.chainId) === bondChain;
86460
+ });
86423
86461
  useEffect(() => {
86424
86462
  if (billId) {
86425
86463
  console.log('BillId detected, Refetching user bonds');
@@ -86427,7 +86465,7 @@ const ModalHandler = ({ onDismiss, bondAddress, bondChain, }) => {
86427
86465
  }
86428
86466
  /* eslint-disable react-hooks/exhaustive-deps */
86429
86467
  }, [billId]);
86430
- return billId ? (((_c = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _c === void 0 ? void 0 : _c.chainId) === types$1.ChainId.SOL ? (jsx$2(YourBondsModal, { userBill: userBill, onDismiss: onDismiss })) : (jsx$2(YourBondsModal$1, { bill: userBill, onDismiss: onDismiss }))) : (jsx$2(BuyBondModal, { bondAddress: bondAddress, bondChain: bondChain, handlePurchasedBond: setBuyTxHash, setBillId: setBillId, onDismiss: () => {
86468
+ return billId ? (((_c = userBill === null || userBill === void 0 ? void 0 : userBill.bond) === null || _c === void 0 ? void 0 : _c.chainId) === types$1.ChainId.SOL ? (jsx$2(YourSolanaBondsModal, { userBill: userBill, onDismiss: onDismiss })) : (jsx$2(YourBondsModal, { bill: userBill, onDismiss: onDismiss }))) : (jsx$2(BuyBondModal, { bondAddress: bondAddress, bondChain: bondChain, handlePurchasedBond: setBuyTxHash, setBillId: setBillId, onDismiss: () => {
86431
86469
  window.history.pushState({}, '', `${locationPath !== '/bonds' ? locationPath : '/bonds'}`);
86432
86470
  onDismiss === null || onDismiss === void 0 ? void 0 : onDismiss();
86433
86471
  } }));
@@ -86610,7 +86648,7 @@ const PreTGEBuyComponent = ({ bondAddress, bondChain, onDismiss, handlePurchased
86610
86648
  : !bond
86611
86649
  ? 'no bond'
86612
86650
  : null;
86613
- return (jsxs(Modal, { onDismiss: handleClose, sx: { width: '740px' }, children: [jsx$2(ModalHeader, { onDismiss: handleClose, hideDivider: true }), jsx$2(Flex, { sx: styles$8.buyContainer, children: jsxs(Flex, { sx: styles$8.cardContainer, children: [jsx$2(Flex, { sx: { width: '100%', justifyContent: 'space-between' }, children: jsxs(Flex, { children: [jsxs(Flex, { children: [jsx$2(Flex, { className: "title-container bondicon", children: jsx$2(TokenImage, { symbol: bond.earnToken.symbol, size: 50, chain: bond.chainId }) }), jsxs(Flex, { className: "title-container bondname", children: [bond.earnToken.symbol, jsx$2(ListTag, { text: (_j = bond === null || bond === void 0 ? void 0 : bond.tags) === null || _j === void 0 ? void 0 : _j[0] })] })] }), jsxs(Flex, { sx: { flexDirection: 'column', ml: '15px' }, children: [jsxs(Flex, { className: "price-container price", children: ["$", bond.tgePrice] }), jsxs(Flex, { sx: { fontSize: '24px', fontWeight: 700 }, children: ["$", bond.initPrice] })] })] }) }), jsx$2(ProjectDescription, { description: bond.shortDescription, isProjectView: true }), jsx$2(BondCards, { bond: bond }), jsxs(Flex, { sx: Object.assign(Object.assign({}, styles$8.infoRowsContainer), { mt: '10px' }), children: [jsxs(Flex, { sx: styles$8.infoRow, children: [jsx$2(Text, { sx: styles$8.infoTitle, children: "You Spend:" }), jsxs(Text, { sx: styles$8.infoData, children: [isNaN(parseFloat(inputValueToDisplay)) ? 0 : inputValueToDisplay, " ", bond === null || bond === void 0 ? void 0 : bond.lpToken.symbol, " = $", isNaN(inputValueToDisplayUSD) ? '0' : inputValueToDisplayUSD.toFixed(2)] })] }), jsxs(Flex, { sx: styles$8.infoRow, children: [jsxs(Flex, { sx: Object.assign(Object.assign({}, styles$8.infoTitle), { alignItems: 'center' }), children: ["Bonus:", jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(Flex, { children: TooltipText.Premium }), 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" }) }) })] }), jsxs(Text, { sx: Object.assign(Object.assign({}, styles$8.infoData), { color: 'success' }), children: ["$", isNaN(bonusUSD) ? '0' : bonusUSD.toFixed(2)] })] }), jsxs(Flex, { sx: styles$8.infoRow, children: [jsx$2(Text, { sx: styles$8.infoTitle, children: "You Get:" }), jsxs(Text, { sx: styles$8.infoData, children: [isNaN(youGet) ? 0 : formatNumberSI(youGet, 0), " ", bond === null || bond === void 0 ? void 0 : bond.earnToken.symbol, " = $", isNaN(youGetUSD) ? '0' : youGetUSD.toFixed(2)] })] })] }), jsx$2(TokenSelectorPanel, { typedValue: inputValue, setTypedValue: setInputValue, selectedToken: bond === null || bond === void 0 ? void 0 : bond.lpToken, handleValueBtn: () => { var _a; return setInputValue((_a = new BigNumber$1(principalTokenBalance !== null && principalTokenBalance !== void 0 ? principalTokenBalance : '0')) === null || _a === void 0 ? void 0 : _a.toString()); }, handleCurrencySelect: () => null, chainId: bond === null || bond === void 0 ? void 0 : bond.chainId, enableZap: false, bondPrincipalToken: bond === null || bond === void 0 ? void 0 : bond.lpToken, tokenBalance: principalTokenBalance, selectedTokenPrice: parseFloat((_k = bond === null || bond === void 0 ? void 0 : bond.principalTokenPrice) !== null && _k !== void 0 ? _k : '0'), inputDisabled: false }), jsxs(Flex, { sx: {
86651
+ return (jsxs(Modal, { onDismiss: handleClose, sx: { width: '740px' }, children: [jsx$2(ModalHeader, { onDismiss: handleClose, hideDivider: true }), jsx$2(Flex, { sx: styles$8.buyContainer, children: jsxs(Flex, { sx: styles$8.cardContainer, children: [jsx$2(Flex, { sx: { width: '100%', justifyContent: 'space-between' }, children: jsxs(Flex, { children: [jsxs(Flex, { children: [jsx$2(Flex, { className: "title-container bondicon", children: jsx$2(TokenImage, { symbol: bond.earnToken.symbol, size: 50, chain: bond.chainId }) }), jsxs(Flex, { className: "title-container bondname", children: [bond.earnToken.symbol, jsx$2(ListTag, { text: (_j = bond === null || bond === void 0 ? void 0 : bond.tags) === null || _j === void 0 ? void 0 : _j[0] })] })] }), jsxs(Flex, { sx: { flexDirection: 'column', ml: '15px' }, children: [jsxs(Flex, { className: "price-container price", children: ["$", bond.tgePrice] }), jsxs(Flex, { sx: { fontSize: '24px', fontWeight: 700 }, children: ["$", bond.initPrice] })] })] }) }), jsx$2(ProjectDescription, { description: bond.shortDescription, isProjectView: true }), jsx$2(BondCards, { bond: bond }), jsxs(Flex, { sx: Object.assign(Object.assign({}, styles$8.infoRowsContainer), { mt: '10px' }), children: [jsxs(Flex, { sx: styles$8.infoRow, children: [jsx$2(Text, { sx: styles$8.infoTitle, children: "You Spend:" }), jsxs(Text, { sx: styles$8.infoData, children: [isNaN(parseFloat(inputValueToDisplay)) ? 0 : inputValueToDisplay, " ", bond === null || bond === void 0 ? void 0 : bond.lpToken.symbol, " = $", isNaN(inputValueToDisplayUSD) ? '0' : inputValueToDisplayUSD.toFixed(2)] })] }), jsxs(Flex, { sx: styles$8.infoRow, children: [jsxs(Flex, { sx: Object.assign(Object.assign({}, styles$8.infoTitle), { alignItems: 'center' }), children: ["Bonus:", jsx$2(TooltipBubble, { className: "tooltip-bubble", body: jsx$2(Flex, { children: TooltipText.Premium }), 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" }) }) })] }), jsxs(Text, { sx: Object.assign(Object.assign({}, styles$8.infoData), { color: 'success' }), children: ["$", isNaN(bonusUSD) ? '0' : bonusUSD.toFixed(2)] })] }), jsxs(Flex, { sx: styles$8.infoRow, children: [jsx$2(Text, { sx: styles$8.infoTitle, children: "You Get:" }), jsxs(Text, { sx: styles$8.infoData, children: [isNaN(youGet) ? 0 : formatNumberSI(youGet, 0), " ", bond === null || bond === void 0 ? void 0 : bond.earnToken.symbol, " = $", isNaN(youGetUSD) ? '0' : youGetUSD.toFixed(2)] })] })] }), jsx$2(TokenSelectorPanel, { typedValue: inputValue, setTypedValue: setInputValue, selectedToken: bond === null || bond === void 0 ? void 0 : bond.lpToken, handleValueBtn: () => { var _a; return setInputValue((_a = new BigNumber$1(principalTokenBalance !== null && principalTokenBalance !== void 0 ? principalTokenBalance : '0')) === null || _a === void 0 ? void 0 : _a.toString()); }, handleCurrencySelect: () => null, chainId: bond === null || bond === void 0 ? void 0 : bond.chainId, enableZap: false, bondPrincipalToken: bond === null || bond === void 0 ? void 0 : bond.lpToken, tokenBalance: principalTokenBalance !== null && principalTokenBalance !== void 0 ? principalTokenBalance : undefined, selectedTokenPrice: parseFloat((_k = bond === null || bond === void 0 ? void 0 : bond.principalTokenPrice) !== null && _k !== void 0 ? _k : '0'), inputDisabled: false }), jsxs(Flex, { sx: {
86614
86652
  width: '100%',
86615
86653
  background: '#DE62F366',
86616
86654
  justifyContent: 'center',
@@ -86933,9 +86971,24 @@ const BANNER_INFO = {
86933
86971
  backgroundMobile: 'https://res.cloudinary.com/dswmrqgwy/image/upload/v1/banner-mobile_y6xveu.png',
86934
86972
  logo: 'https://res.cloudinary.com/dswmrqgwy/image/upload/v1743089809/logos/monad-logo_lkstid.png',
86935
86973
  },
86974
+ [types$1.ChainId.SOL]: {
86975
+ title: 'Bonds are now Live on Solana',
86976
+ subtitle: 'Get tokens at a discount on Solana. Faster, cheaper, and fully on-chain.',
86977
+ buttons: [
86978
+ {
86979
+ label: 'LEARN MORE',
86980
+ href: 'https://apebond.click/sol-launch',
86981
+ variant: variants.SECONDARY,
86982
+ },
86983
+ ],
86984
+ background: 'https://res.cloudinary.com/dswmrqgwy/image/upload/v1751667949/background_ldg88q.png',
86985
+ backgroundMobile: 'https://res.cloudinary.com/dswmrqgwy/image/upload/v1751668240/backgroundMobile_lht5tu.png',
86986
+ logo: 'https://res.cloudinary.com/dswmrqgwy/image/upload/v1751665836/solana_bonds_logo_1_jrbn4g.png',
86987
+ },
86936
86988
  };
86937
- const BannerTestnet = ({ chainId }) => {
86989
+ const ChainBanner = ({ chainId }) => {
86938
86990
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
86991
+ const { setVisible } = useWalletModal();
86939
86992
  return (jsxs("div", { className: "banner-container", sx: {
86940
86993
  backgroundImage: [
86941
86994
  `url(${(_a = BANNER_INFO[chainId]) === null || _a === void 0 ? void 0 : _a.backgroundMobile})`,
@@ -86944,7 +86997,15 @@ const BannerTestnet = ({ chainId }) => {
86944
86997
  `url(${(_d = BANNER_INFO[chainId]) === null || _d === void 0 ? void 0 : _d.background})`,
86945
86998
  `url(${(_e = BANNER_INFO[chainId]) === null || _e === void 0 ? void 0 : _e.background})`,
86946
86999
  ],
86947
- }, children: [jsxs("div", { className: "banner-logos", children: [jsx$2("img", { src: "https://res.cloudinary.com/dswmrqgwy/image/upload/v1743089809/logos/apebond-logo_vzt4dl.png", alt: "apebond-white-logo", style: { width: '100px' } }), jsx$2("img", { src: "https://res.cloudinary.com/dswmrqgwy/image/upload/v1743089809/logos/x-icono_va7sdu.png", alt: "x-white-logo" }), jsx$2("img", { src: `${(_f = BANNER_INFO[chainId]) === null || _f === void 0 ? void 0 : _f.logo}`, alt: "partner-logo" })] }), jsx$2("div", { className: "banner-title", children: (_g = BANNER_INFO[chainId]) === null || _g === void 0 ? void 0 : _g.title }), jsx$2("div", { className: "banner-subtitle", children: (_h = BANNER_INFO[chainId]) === null || _h === void 0 ? void 0 : _h.subtitle }), jsx$2("div", { className: "banner-actions", children: (_j = BANNER_INFO[chainId]) === null || _j === void 0 ? void 0 : _j.buttons.map((button, index) => (jsx$2(Button, { className: "action-button", onClick: () => window.open(button.href, '_blank'), variant: button.variant || variants.PRIMARY, children: button.label }, `banner-button-${index}`))) })] }, `banner-container-${chainId}`));
87000
+ }, children: [jsxs("div", { className: "banner-logos", children: [chainId === types$1.ChainId.MONAD_TESTNET && (jsxs(Fragment$1, { children: [jsx$2("img", { src: "https://res.cloudinary.com/dswmrqgwy/image/upload/v1743089809/logos/apebond-logo_vzt4dl.png", alt: "apebond-white-logo", style: { width: '120px' } }), jsx$2("img", { src: "https://res.cloudinary.com/dswmrqgwy/image/upload/v1743089809/logos/x-icono_va7sdu.png", alt: "x-white-logo" })] })), jsx$2("img", { src: `${(_f = BANNER_INFO[chainId]) === null || _f === void 0 ? void 0 : _f.logo}`, alt: "partner-logo", height: 19 })] }), jsx$2("div", { className: "banner-title", children: (_g = BANNER_INFO[chainId]) === null || _g === void 0 ? void 0 : _g.title }), jsx$2("div", { className: "banner-subtitle", children: (_h = BANNER_INFO[chainId]) === null || _h === void 0 ? void 0 : _h.subtitle }), jsxs("div", { className: "banner-actions", children: [(_j = BANNER_INFO[chainId]) === null || _j === void 0 ? void 0 : _j.buttons.map((button, index) => (jsx$2(Button, { className: "action-button", onClick: () => window.open(button.href, '_blank'), variant: button.variant || variants.PRIMARY, children: button.label }, `banner-button-${index}`))), chainId === types$1.ChainId.SOL && (jsx$2(Button, { className: "action-button", sx: {
87001
+ background: 'linear-gradient(93deg, #20EEA9 -19%, #9945FF 97.7%)',
87002
+ border: 'none',
87003
+ '&:hover': {
87004
+ '&:not([disabled])': {
87005
+ background: 'linear-gradient(93deg, #20EEA9 -19%, #9945FF 97.7%)',
87006
+ },
87007
+ },
87008
+ }, onClick: () => setVisible(true), children: "Get Started" }))] })] }, `banner-container-${chainId}`));
86948
87009
  };
86949
87010
 
86950
87011
  const BondRowsWithTitle = ({ chain, bonds, showHotBonds }) => {
@@ -86962,7 +87023,7 @@ const BondRowsWithTitle = ({ chain, bonds, showHotBonds }) => {
86962
87023
  borderRadius: 'normal',
86963
87024
  mb: '5px',
86964
87025
  } }, `sol-shadow-${index}`));
86965
- }) }, key)), TESTNET_CHAINS.includes(chain) && jsx$2(BannerTestnet, { chainId: chain }), bonds === null || bonds === void 0 ? void 0 : bonds.map((bondFromMap, index) => {
87026
+ }) }, key)), [types$1.ChainId.SOL, types$1.ChainId.MONAD_TESTNET].includes(chain) && jsx$2(ChainBanner, { chainId: chain }), bonds === null || bonds === void 0 ? void 0 : bonds.map((bondFromMap, index) => {
86966
87027
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
86967
87028
  if (bondFromMap.soldOut) {
86968
87029
  const bond = bondFromMap;
@@ -104587,7 +104648,7 @@ function getTemplateHTML(data) {
104587
104648
  </div>
104588
104649
  <div class="sharebondimage-container-off">
104589
104650
  <span>
104590
- ${formatNumber$3(getCalculateOff())}% OFF
104651
+ ${localeFormat(getCalculateOff())}% OFF
104591
104652
  </span>
104592
104653
  </div>
104593
104654
  </div>
@@ -104598,7 +104659,7 @@ function getTemplateHTML(data) {
104598
104659
  ${formatTransactionAmount((_j = data === null || data === void 0 ? void 0 : data.data) === null || _j === void 0 ? void 0 : _j.deposit)}
104599
104660
  </div>
104600
104661
  <div class="sharebondimage-dollarvalue">
104601
- $${formatNumber$3((_k = data === null || data === void 0 ? void 0 : data.data) === null || _k === void 0 ? void 0 : _k.dollarValue)}
104662
+ $${localeFormat((_k = data === null || data === void 0 ? void 0 : data.data) === null || _k === void 0 ? void 0 : _k.dollarValue)}
104602
104663
  </div>
104603
104664
  </div>
104604
104665
  <div class="sharebondimage-container-token">
@@ -104606,15 +104667,15 @@ function getTemplateHTML(data) {
104606
104667
  <div class="sharebondimage-container-earntoken">
104607
104668
  <div class="sharebondimage-amount-earntoken">
104608
104669
  <div class="sharebondimage-amount-payout">
104609
- ${formatNumber$3((_o = data === null || data === void 0 ? void 0 : data.data) === null || _o === void 0 ? void 0 : _o.payout)}
104670
+ ${localeFormat((_o = data === null || data === void 0 ? void 0 : data.data) === null || _o === void 0 ? void 0 : _o.payout)}
104610
104671
  </div>
104611
104672
  <div class="sharebondimage-amount-dollarvalue">
104612
- $${formatNumber$3(((_p = data === null || data === void 0 ? void 0 : data.data) === null || _p === void 0 ? void 0 : _p.payout) * +((_q = data === null || data === void 0 ? void 0 : data.data) === null || _q === void 0 ? void 0 : _q.payoutTokenPrice))}
104673
+ $${localeFormat(((_p = data === null || data === void 0 ? void 0 : data.data) === null || _p === void 0 ? void 0 : _p.payout) * +((_q = data === null || data === void 0 ? void 0 : data.data) === null || _q === void 0 ? void 0 : _q.payoutTokenPrice))}
104613
104674
  </div>
104614
104675
  </div>
104615
104676
  <div class="sharebondimage-profit" style="${!isProfit ? 'display: none' : ''}">
104616
104677
  <span>
104617
- +${formatNumber$3(((_r = data === null || data === void 0 ? void 0 : data.data) === null || _r === void 0 ? void 0 : _r.payout) * +((_s = data === null || data === void 0 ? void 0 : data.data) === null || _s === void 0 ? void 0 : _s.payoutTokenPrice) - ((_t = data === null || data === void 0 ? void 0 : data.data) === null || _t === void 0 ? void 0 : _t.dollarValue))}
104678
+ +${localeFormat(((_r = data === null || data === void 0 ? void 0 : data.data) === null || _r === void 0 ? void 0 : _r.payout) * +((_s = data === null || data === void 0 ? void 0 : data.data) === null || _s === void 0 ? void 0 : _s.payoutTokenPrice) - ((_t = data === null || data === void 0 ? void 0 : data.data) === null || _t === void 0 ? void 0 : _t.dollarValue))}
104618
104679
  profit!
104619
104680
  </span>
104620
104681
  </div>
@@ -104768,7 +104829,7 @@ const SoldOutBuyBondPlaceholder = ({ bond }) => {
104768
104829
  // onDismiss={onDismiss}
104769
104830
  showProjectInfoButton: (SDKConfig === null || SDKConfig === void 0 ? void 0 : SDKConfig.referenceId) === 'apebond' }), jsx$2(ProjectDescription, { description: bondData.shortDescription }), jsx$2(BondCards$1, { bondData: Object.assign(Object.assign({}, bondData), { bonusWithFee: -1 }) }), jsx$2(Estimations, { depositAmount: '0',
104770
104831
  /*@ts-ignore*/
104771
- bondData: bondData, youSpendString: '0', isZap: isZap, fetchingZapQuote: false, zapError: false }), jsx$2(TokenSelectorPanel, { typedValue: inputValue, setTypedValue: setInputValue, selectedToken: inputToken, handleValueBtn: () => null, handleCurrencySelect: () => null, chainId: bondData === null || bondData === void 0 ? void 0 : bondData.chainId, enableZap: supportedByLIFI.includes(bondData === null || bondData === void 0 ? void 0 : bondData.chainId), bondPrincipalToken: bondData === null || bondData === void 0 ? void 0 : bondData.lpToken, tokenBalance: inputCurrencyBalance, selectedTokenPrice: 0, inputDisabled: true }), jsxs(Flex, { className: "modaltable-container button-container", children: [account && (minTier === null || (userTier !== null && userTier >= minTier)) && (jsx$2(Flex, { className: "button-container get", children: jsxs(Button, { className: "action-button", variant: "secondary", fullWidth: true, disabled: true, children: ["Get ", getSymbol(bondData === null || bondData === void 0 ? void 0 : bondData.lpToken)] }) })), jsx$2(Flex, { className: "button-container buy", children: jsx$2(Button, { className: "action-button", fullWidth: true, disabled: true, children: "Buy" }) })] })] }) })) : (jsx$2(Fragment$1, {}));
104832
+ bondData: bondData, youSpendString: '0', isZap: isZap, fetchingZapQuote: false, zapError: false }), jsx$2(TokenSelectorPanel, { typedValue: inputValue, setTypedValue: setInputValue, selectedToken: inputToken, handleValueBtn: () => null, handleCurrencySelect: () => null, chainId: bondData === null || bondData === void 0 ? void 0 : bondData.chainId, enableZap: supportedByLIFI.includes(bondData === null || bondData === void 0 ? void 0 : bondData.chainId), bondPrincipalToken: bondData === null || bondData === void 0 ? void 0 : bondData.lpToken, tokenBalance: inputCurrencyBalance !== null && inputCurrencyBalance !== void 0 ? inputCurrencyBalance : undefined, selectedTokenPrice: 0, inputDisabled: true }), jsxs(Flex, { className: "modaltable-container button-container", children: [account && (minTier === null || (userTier !== null && userTier >= minTier)) && (jsx$2(Flex, { className: "button-container get", children: jsxs(Button, { className: "action-button", variant: "secondary", fullWidth: true, disabled: true, children: ["Get ", getSymbol(bondData === null || bondData === void 0 ? void 0 : bondData.lpToken)] }) })), jsx$2(Flex, { className: "button-container buy", children: jsx$2(Button, { className: "action-button", fullWidth: true, disabled: true, children: "Buy" }) })] })] }) })) : (jsx$2(Fragment$1, {}));
104772
104833
  };
104773
104834
 
104774
104835
  const SingleBond = ({ tokenSymbol }) => {
@@ -10,6 +10,6 @@ export declare enum ApprovalState {
10
10
  PENDING = "PENDING",
11
11
  APPROVED = "APPROVED"
12
12
  }
13
- export default function useAllowance(currency: 'NATIVE' | Token | null, spender: string | null, account: string | null, chainId: ChainId | null): UseQueryResult<number>;
13
+ export default function useAllowance(currency: 'NATIVE' | Token | null, spender: string | null, account: string | null, chainId: ChainId | null): UseQueryResult<number | null>;
14
14
  export declare const getTokenAllowance: (currency: "NATIVE" | Token | null, spender: string | null, account: string | null, chainId: ChainId | null) => Promise<number | null>;
15
15
  export declare const useApproval: (amount: string, currency: "NATIVE" | Token | null, spender: string | null, account: string | null, chainId: ChainId | null) => [ApprovalState, () => Promise<string | null | undefined>];
@@ -1,4 +1,4 @@
1
1
  import { UseQueryResult } from '@tanstack/react-query';
2
2
  import { ChainId, Token } from '@ape.swap/apeswap-lists';
3
- export default function useCurrencyBalance(currency: 'NATIVE' | Token | null, account: string | null, chainId: ChainId | null): UseQueryResult<string | undefined>;
3
+ export default function useCurrencyBalance(currency: 'NATIVE' | Token | null, account: string | null, chainId: ChainId | null): UseQueryResult<string | null>;
4
4
  export declare const getTokenBalance: (currency: "NATIVE" | Token | null, account: string | null, chainId: ChainId | null) => Promise<string | null>;
@@ -1,4 +1,4 @@
1
1
  import { UseQueryResult } from '@tanstack/react-query';
2
2
  import { Token } from '@ape.swap/apeswap-lists';
3
- export default function useCurrencyBalanceSolana(currency: 'NATIVE' | Token | null, account: string | null): UseQueryResult<string | undefined>;
3
+ export default function useCurrencyBalanceSolana(currency: 'NATIVE' | Token | null, account: string | null): UseQueryResult<string | null>;
4
4
  export declare const getTokenBalance: (currency: "NATIVE" | Token | null, account: string | null) => Promise<string | null>;
@@ -1,5 +1,5 @@
1
1
  import { UseQueryResult } from '@tanstack/react-query';
2
2
  import { ChainId } from '@ape.swap/apeswap-lists';
3
3
  import { UserBillNftData } from '../../types/yourbonds';
4
- export default function useBondNFTData(id?: string, billNftAddress?: string, chainId?: ChainId): UseQueryResult<UserBillNftData>;
4
+ export default function useBondNFTData(id?: string, billNftAddress?: string, chainId?: ChainId): UseQueryResult<UserBillNftData | null>;
5
5
  export declare const getBondNFTData: (apiV2URL: string, id: string, billNftAddress: string, chainId: ChainId) => Promise<UserBillNftData | null>;
@@ -1,4 +1,4 @@
1
1
  import { UseQueryResult } from '@tanstack/react-query';
2
2
  import { BillsConfig } from '@ape.swap/apeswap-lists';
3
3
  export default function useBondsList(): UseQueryResult<BillsConfig[]>;
4
- export declare const getBondsList: (realTimeapiURL: string, apiUrl: string) => Promise<BillsConfig[][]>;
4
+ export declare const getBondsList: (realTimeapiURL: string, apiUrl: string) => Promise<BillsConfig[]>;
@@ -1,4 +1,4 @@
1
1
  import { UseQueryResult } from '@tanstack/react-query';
2
2
  import { ChainId } from '@ape.swap/apeswap-lists';
3
- export default function useTierProofSignature(bondAddress?: string, chainId?: ChainId, isUserRestricted?: boolean): UseQueryResult<string>;
3
+ export default function useTierProofSignature(bondAddress?: string, chainId?: ChainId, isUserRestricted?: boolean): UseQueryResult<string | null>;
4
4
  export declare const getTierProofSig: (apiAddress: string, account: string, bondAddress: string, chainId: ChainId) => Promise<string | null>;
package/dist/styles.css CHANGED
@@ -1917,7 +1917,7 @@ html {
1917
1917
  gap: 5px;
1918
1918
  background-size: cover;
1919
1919
  background-repeat: no-repeat;
1920
- padding: 20px;
1920
+ padding: 15px;
1921
1921
  }
1922
1922
  .banner-container .banner-logos {
1923
1923
  display: flex;
@@ -1932,6 +1932,7 @@ html {
1932
1932
  letter-spacing: 0%;
1933
1933
  text-align: center;
1934
1934
  vertical-align: middle;
1935
+ margin-top: 10px;
1935
1936
  background: linear-gradient(180deg, #FFFFFF 50%, #666666 100%);
1936
1937
  background-clip: text;
1937
1938
  -webkit-background-clip: text;
@@ -1,3 +1,3 @@
1
- export declare const formatNumber: (number: number, minPrecision?: number, maxPrecision?: number) => string;
1
+ export declare const localeFormat: (number: number, precision?: number) => string;
2
2
  export declare const formatNumberSI: (num: number | string, digits?: number) => string;
3
3
  export declare const formatUSDNumber: (input: string | number) => string;
@@ -6,6 +6,7 @@ interface FormatDollarArgs {
6
6
  round?: boolean;
7
7
  }
8
8
  /**
9
+ * @deprecated PLEASE DO NOT USE
9
10
  * Returns a USD dollar or equivalent denominated numerical value formatted
10
11
  * in human readable string for use in template.
11
12
  *
@@ -19,8 +20,8 @@ interface FormatDollarArgs {
19
20
  * @param round whether or not to round up non-price amounts
20
21
  */
21
22
  export declare const formatDollar: ({ num, isPrice, lessPreciseStablecoinValues, digits, round, }: FormatDollarArgs) => string;
22
- export declare const formatValue: ({ num, digits, round }: any) => string;
23
23
  /**
24
+ * @deprecated PLEASE DO NOT USE
24
25
  * Returns a numerical amount of any token formatted in human readable string for use in template.
25
26
  *
26
27
  * For transaction review numbers, such as token quantities, NFT price (token-denominated),
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { ChainId } from '@ape.swap/apeswap-lists';
3
+ declare const ChainBanner: ({ chainId }: {
4
+ chainId: ChainId;
5
+ }) => React.JSX.Element;
6
+ export default ChainBanner;
@@ -1,6 +1,6 @@
1
1
  import { UserBill } from '../../types/yourbonds';
2
- declare const YourBondsModal: ({ onDismiss, userBill }: {
2
+ declare const YourSolanaBondsModal: ({ onDismiss, userBill }: {
3
3
  onDismiss?: () => void;
4
4
  userBill?: UserBill;
5
5
  }) => import("react").JSX.Element;
6
- export default YourBondsModal;
6
+ export default YourSolanaBondsModal;
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Ape Bond SDK",
4
4
  "author": "Ape Bond",
5
5
  "license": "MIT",
6
- "version": "4.0.0-test.8",
6
+ "version": "4.0.0-test.9",
7
7
  "module": "dist/main.js",
8
8
  "type": "module",
9
9
  "types": "dist/main.d.ts",
@@ -31,27 +31,28 @@
31
31
  },
32
32
  "peerDependencies": {
33
33
  "@rainbow-me/rainbowkit": "^2.1.6",
34
+ "@tanstack/react-query": "5.x",
34
35
  "@solana/kit": "2.1.1",
35
36
  "@solana/spl-token": "0.4.13",
36
37
  "@solana/wallet-adapter-react": "0.15.36",
37
38
  "@solana/wallet-adapter-react-ui": "0.9.36",
38
39
  "@solana/web3.js": "1.98.0",
39
- "@tanstack/react-query": "5.51.5",
40
40
  "axios": "1.7.2",
41
41
  "react": "^18.2.0",
42
42
  "react-dom": "^17.0.0 || ^18.0.0",
43
43
  "wagmi": "2.12.17"
44
44
  },
45
45
  "devDependencies": {
46
+ "@tanstack/react-query": "5.81.5",
46
47
  "@eslint/js": "^9.28.0",
47
48
  "@rainbow-me/rainbowkit": "^2.1.6",
48
49
  "@rollup/plugin-commonjs": "^25.0.7",
49
50
  "@rollup/plugin-json": "^6.1.0",
50
51
  "@rollup/plugin-node-resolve": "^15.2.3",
51
52
  "@rollup/plugin-typescript": "^11.1.6",
53
+ "@tanstack/react-query-devtools": "5.81.5",
52
54
  "@solana/wallet-adapter-base": "0.9.24",
53
55
  "@solana/wallet-adapter-wallets": "0.19.33",
54
- "@tanstack/react-query-devtools": "5.51.5",
55
56
  "@types/dom-to-image": "^2.6.7",
56
57
  "@types/lodash": "^4.17.6",
57
58
  "@types/react": "^18.3.3",
@@ -1,6 +0,0 @@
1
- import React from 'react';
2
- interface BannerTestnetProps {
3
- chainId: number;
4
- }
5
- declare const BannerTestnet: React.FC<BannerTestnetProps>;
6
- export default BannerTestnet;