@ape.swap/bonds-sdk 6.1.11 → 6.1.13-test.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.d.ts CHANGED
@@ -37,4 +37,36 @@ import useUserTokensBalance from './state/balance/useUserTokensBalance';
37
37
  import TokenImage from './components/uikit-sdk/TokenImage';
38
38
  import { useApproval } from './state/allowance/useAllowance';
39
39
  import useBondsData from './state/bonds/useBondsData';
40
- export { Bonds, BuyBondModal, YourBonds, FullBondsView, ProjectView, generateImageFromTemplate, ChainId, SingleBond, useTokenPrices, useBondsData, useSDKConfig, BLOCK_EXPLORER, useCurrencyBalance, useUserTokensBalance, TokenImage, useApproval, };
40
+ /** @deprecated Use granular import: `import Bonds from '@ape.swap/bonds-sdk/views/Bonds'` */
41
+ declare const _Bonds: typeof Bonds;
42
+ /** @deprecated Use granular import: `import BuyBondModal from '@ape.swap/bonds-sdk/views/BuyBondModal'` */
43
+ declare const _BuyBondModal: typeof BuyBondModal;
44
+ /** @deprecated Use granular import: `import YourBonds from '@ape.swap/bonds-sdk/views/YourBonds'` */
45
+ declare const _YourBonds: typeof YourBonds;
46
+ /** @deprecated Use granular import: `import FullBondsView from '@ape.swap/bonds-sdk/views/FullBondsView'` */
47
+ declare const _FullBondsView: typeof FullBondsView;
48
+ /** @deprecated Use granular import: `import ProjectView from '@ape.swap/bonds-sdk/views/ProjectView'` */
49
+ declare const _ProjectView: typeof ProjectView;
50
+ /** @deprecated Use granular import: `import { generateImageFromTemplate } from '@ape.swap/bonds-sdk/utils/generateImageFromTemplate'` */
51
+ declare const _generateImageFromTemplate: typeof generateImageFromTemplate;
52
+ /** @deprecated Use granular import: `import { ChainId } from '@ape.swap/apeswap-lists'` */
53
+ declare const _ChainId: typeof ChainId;
54
+ /** @deprecated Use granular import: `import SingleBond from '@ape.swap/bonds-sdk/views/SingleBond'` */
55
+ declare const _SingleBond: typeof SingleBond;
56
+ /** @deprecated Use granular import: `import useTokenPrices from '@ape.swap/bonds-sdk/hooks/useTokenPrices'` */
57
+ declare const _useTokenPrices: typeof useTokenPrices;
58
+ /** @deprecated Use granular import: `import useBondsData from '@ape.swap/bonds-sdk/hooks/useBondsData'` */
59
+ declare const _useBondsData: typeof useBondsData;
60
+ /** @deprecated Use granular import: `import { useSDKConfig } from '@ape.swap/bonds-sdk/hooks/useSDKConfig'` */
61
+ declare const _useSDKConfig: typeof useSDKConfig;
62
+ /** @deprecated Use granular import: `import { BLOCK_EXPLORER } from '@ape.swap/bonds-sdk/constants/chains'` */
63
+ declare const _BLOCK_EXPLORER: typeof BLOCK_EXPLORER;
64
+ /** @deprecated Use granular import: `import useCurrencyBalance from '@ape.swap/bonds-sdk/hooks/useCurrencyBalance'` */
65
+ declare const _useCurrencyBalance: typeof useCurrencyBalance;
66
+ /** @deprecated Use granular import: `import useUserTokensBalance from '@ape.swap/bonds-sdk/hooks/useUserTokensBalance'` */
67
+ declare const _useUserTokensBalance: typeof useUserTokensBalance;
68
+ /** @deprecated Use granular import: `import TokenImage from '@ape.swap/bonds-sdk/components/TokenImage'` */
69
+ declare const _TokenImage: typeof TokenImage;
70
+ /** @deprecated Use granular import: `import { useApproval } from '@ape.swap/bonds-sdk/hooks/useApproval'` */
71
+ declare const _useApproval: typeof useApproval;
72
+ export { _Bonds as Bonds, _BuyBondModal as BuyBondModal, _YourBonds as YourBonds, _FullBondsView as FullBondsView, _ProjectView as ProjectView, _generateImageFromTemplate as generateImageFromTemplate, _ChainId as ChainId, _SingleBond as SingleBond, _useTokenPrices as useTokenPrices, _useBondsData as useBondsData, _useSDKConfig as useSDKConfig, _BLOCK_EXPLORER as BLOCK_EXPLORER, _useCurrencyBalance as useCurrencyBalance, _useUserTokensBalance as useUserTokensBalance, _TokenImage as TokenImage, _useApproval as useApproval, };
package/dist/main.js CHANGED
@@ -1,17 +1,76 @@
1
- export { default as Bonds } from './views/Bonds/index.js';
2
- export { default as YourBonds } from './views/YourBonds/index.js';
3
- export { default as BuyBondModal } from './views/BuyBond/index.js';
4
- export { default as FullBondsView } from './views/FullBondsView/index.js';
5
- export { default as ProjectView } from './views/ProjectView/index.js';
6
- export { generateImageFromTemplate } from './views/YourBondsModal/components/LinkShare/utils.js';
7
- export { ChainId } from '@ape.swap/apeswap-lists';
8
- export { default as SingleBond } from './views/SingleBond/index.js';
9
- export { default as useTokenPrices } from './state/tokenPrices/useTokenPrices.js';
10
- export { useSDKConfig } from './state/useSDKConfig.js';
11
- export { BLOCK_EXPLORER } from './config/constants/chains.js';
12
- export { default as useCurrencyBalance } from './state/balance/useCurrencyBalance.js';
13
- export { default as useUserTokensBalance } from './state/balance/useUserTokensBalance.js';
14
- export { default as TokenImage } from './components/uikit-sdk/TokenImage/index.js';
15
- export { useApproval } from './state/allowance/useAllowance.js';
16
- export { default as useBondsData } from './state/bonds/useBondsData.js';
1
+ import BondsWithProviders from './views/Bonds/index.js';
2
+ import YourBondsWithProviders from './views/YourBonds/index.js';
3
+ import BuyBondModalWithProviders from './views/BuyBond/index.js';
4
+ import FullBondsViewWithProviders from './views/FullBondsView/index.js';
5
+ import ProjectViewWithProviders from './views/ProjectView/index.js';
6
+ import { generateImageFromTemplate } from './views/YourBondsModal/components/LinkShare/utils.js';
7
+ import { ChainId } from '@ape.swap/apeswap-lists';
8
+ import SingleBondWithProviders from './views/SingleBond/index.js';
9
+ import useTokenPrices from './state/tokenPrices/useTokenPrices.js';
10
+ import { useSDKConfig } from './state/useSDKConfig.js';
11
+ import { BLOCK_EXPLORER } from './config/constants/chains.js';
12
+ import useCurrencyBalance from './state/balance/useCurrencyBalance.js';
13
+ import useUserTokensBalance from './state/balance/useUserTokensBalance.js';
14
+ import TokenImage from './components/uikit-sdk/TokenImage/index.js';
15
+ import { useApproval } from './state/allowance/useAllowance.js';
16
+ import useBondsData from './state/bonds/useBondsData.js';
17
+
18
+ /**
19
+ * @ape.swap/bonds-sdk - Main Entry Point
20
+ *
21
+ * This barrel export provides backward compatibility.
22
+ * For optimal bundle size, use granular imports:
23
+ *
24
+ * @example Tree-shakeable imports (RECOMMENDED for bundle optimization)
25
+ * ```typescript
26
+ * // Import only what you need - reduces bundle by ~90%
27
+ * import Bonds from '@ape.swap/bonds-sdk/views/Bonds'
28
+ * import TokenImage from '@ape.swap/bonds-sdk/components/TokenImage'
29
+ * import { useTokenPrices } from '@ape.swap/bonds-sdk/hooks/useTokenPrices'
30
+ * ```
31
+ *
32
+ * @example Barrel imports (backward compatible, larger bundle)
33
+ * ```typescript
34
+ * // Works but includes more code in bundle
35
+ * import { Bonds, TokenImage, useTokenPrices } from '@ape.swap/bonds-sdk'
36
+ * ```
37
+ *
38
+ * @see https://vercel.com/docs/concepts/functions/edge-functions/best-practices
39
+ * Rule: bundle-barrel-imports - Avoid barrel imports for optimal tree-shaking
40
+ */
41
+ // Components
42
+ /** @deprecated Use granular import: `import Bonds from '@ape.swap/bonds-sdk/views/Bonds'` */
43
+ const _Bonds = BondsWithProviders;
44
+ /** @deprecated Use granular import: `import BuyBondModal from '@ape.swap/bonds-sdk/views/BuyBondModal'` */
45
+ const _BuyBondModal = BuyBondModalWithProviders;
46
+ /** @deprecated Use granular import: `import YourBonds from '@ape.swap/bonds-sdk/views/YourBonds'` */
47
+ const _YourBonds = YourBondsWithProviders;
48
+ /** @deprecated Use granular import: `import FullBondsView from '@ape.swap/bonds-sdk/views/FullBondsView'` */
49
+ const _FullBondsView = FullBondsViewWithProviders;
50
+ /** @deprecated Use granular import: `import ProjectView from '@ape.swap/bonds-sdk/views/ProjectView'` */
51
+ const _ProjectView = ProjectViewWithProviders;
52
+ /** @deprecated Use granular import: `import { generateImageFromTemplate } from '@ape.swap/bonds-sdk/utils/generateImageFromTemplate'` */
53
+ const _generateImageFromTemplate = generateImageFromTemplate;
54
+ /** @deprecated Use granular import: `import { ChainId } from '@ape.swap/apeswap-lists'` */
55
+ const _ChainId = ChainId;
56
+ /** @deprecated Use granular import: `import SingleBond from '@ape.swap/bonds-sdk/views/SingleBond'` */
57
+ const _SingleBond = SingleBondWithProviders;
58
+ /** @deprecated Use granular import: `import useTokenPrices from '@ape.swap/bonds-sdk/hooks/useTokenPrices'` */
59
+ const _useTokenPrices = useTokenPrices;
60
+ /** @deprecated Use granular import: `import useBondsData from '@ape.swap/bonds-sdk/hooks/useBondsData'` */
61
+ const _useBondsData = useBondsData;
62
+ /** @deprecated Use granular import: `import { useSDKConfig } from '@ape.swap/bonds-sdk/hooks/useSDKConfig'` */
63
+ const _useSDKConfig = useSDKConfig;
64
+ /** @deprecated Use granular import: `import { BLOCK_EXPLORER } from '@ape.swap/bonds-sdk/constants/chains'` */
65
+ const _BLOCK_EXPLORER = BLOCK_EXPLORER;
66
+ /** @deprecated Use granular import: `import useCurrencyBalance from '@ape.swap/bonds-sdk/hooks/useCurrencyBalance'` */
67
+ const _useCurrencyBalance = useCurrencyBalance;
68
+ /** @deprecated Use granular import: `import useUserTokensBalance from '@ape.swap/bonds-sdk/hooks/useUserTokensBalance'` */
69
+ const _useUserTokensBalance = useUserTokensBalance;
70
+ /** @deprecated Use granular import: `import TokenImage from '@ape.swap/bonds-sdk/components/TokenImage'` */
71
+ const _TokenImage = TokenImage;
72
+ /** @deprecated Use granular import: `import { useApproval } from '@ape.swap/bonds-sdk/hooks/useApproval'` */
73
+ const _useApproval = useApproval;
74
+
75
+ export { _BLOCK_EXPLORER as BLOCK_EXPLORER, _Bonds as Bonds, _BuyBondModal as BuyBondModal, _ChainId as ChainId, _FullBondsView as FullBondsView, _ProjectView as ProjectView, _SingleBond as SingleBond, _TokenImage as TokenImage, _YourBonds as YourBonds, _generateImageFromTemplate as generateImageFromTemplate, _useApproval as useApproval, _useBondsData as useBondsData, _useCurrencyBalance as useCurrencyBalance, _useSDKConfig as useSDKConfig, _useTokenPrices as useTokenPrices, _useUserTokensBalance as useUserTokensBalance };
17
76
  //# sourceMappingURL=main.js.map
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"main.js","sources":["../src/main.ts"],"sourcesContent":["/**\n * @ape.swap/bonds-sdk - Main Entry Point\n *\n * This barrel export provides backward compatibility.\n * For optimal bundle size, use granular imports:\n *\n * @example Tree-shakeable imports (RECOMMENDED for bundle optimization)\n * ```typescript\n * // Import only what you need - reduces bundle by ~90%\n * import Bonds from '@ape.swap/bonds-sdk/views/Bonds'\n * import TokenImage from '@ape.swap/bonds-sdk/components/TokenImage'\n * import { useTokenPrices } from '@ape.swap/bonds-sdk/hooks/useTokenPrices'\n * ```\n *\n * @example Barrel imports (backward compatible, larger bundle)\n * ```typescript\n * // Works but includes more code in bundle\n * import { Bonds, TokenImage, useTokenPrices } from '@ape.swap/bonds-sdk'\n * ```\n *\n * @see https://vercel.com/docs/concepts/functions/edge-functions/best-practices\n * Rule: bundle-barrel-imports - Avoid barrel imports for optimal tree-shaking\n */\n\n// Components\nimport Bonds from './views/Bonds'\nimport YourBonds from './views/YourBonds'\nimport BuyBondModal from './views/BuyBond'\nimport FullBondsView from './views/FullBondsView'\nimport ProjectView from './views/ProjectView'\nimport { generateImageFromTemplate } from './views/YourBondsModal/components/LinkShare/utils'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport SingleBond from './views/SingleBond'\nimport useTokenPrices from './state/tokenPrices/useTokenPrices'\nimport { useSDKConfig } from './state/useSDKConfig'\nimport { BLOCK_EXPLORER } from './config/constants/chains'\nimport useCurrencyBalance from './state/balance/useCurrencyBalance'\nimport useUserTokensBalance from './state/balance/useUserTokensBalance'\nimport TokenImage from './components/uikit-sdk/TokenImage'\nimport { useApproval } from './state/allowance/useAllowance'\nimport useBondsData from './state/bonds/useBondsData'\n\n/** @deprecated Use granular import: `import Bonds from '@ape.swap/bonds-sdk/views/Bonds'` */\nconst _Bonds: typeof Bonds = Bonds\n/** @deprecated Use granular import: `import BuyBondModal from '@ape.swap/bonds-sdk/views/BuyBondModal'` */\nconst _BuyBondModal: typeof BuyBondModal = BuyBondModal\n/** @deprecated Use granular import: `import YourBonds from '@ape.swap/bonds-sdk/views/YourBonds'` */\nconst _YourBonds: typeof YourBonds = YourBonds\n/** @deprecated Use granular import: `import FullBondsView from '@ape.swap/bonds-sdk/views/FullBondsView'` */\nconst _FullBondsView: typeof FullBondsView = FullBondsView\n/** @deprecated Use granular import: `import ProjectView from '@ape.swap/bonds-sdk/views/ProjectView'` */\nconst _ProjectView: typeof ProjectView = ProjectView\n/** @deprecated Use granular import: `import { generateImageFromTemplate } from '@ape.swap/bonds-sdk/utils/generateImageFromTemplate'` */\nconst _generateImageFromTemplate: typeof generateImageFromTemplate = generateImageFromTemplate\n/** @deprecated Use granular import: `import { ChainId } from '@ape.swap/apeswap-lists'` */\nconst _ChainId: typeof ChainId = ChainId\n/** @deprecated Use granular import: `import SingleBond from '@ape.swap/bonds-sdk/views/SingleBond'` */\nconst _SingleBond: typeof SingleBond = SingleBond\n/** @deprecated Use granular import: `import useTokenPrices from '@ape.swap/bonds-sdk/hooks/useTokenPrices'` */\nconst _useTokenPrices: typeof useTokenPrices = useTokenPrices\n/** @deprecated Use granular import: `import useBondsData from '@ape.swap/bonds-sdk/hooks/useBondsData'` */\nconst _useBondsData: typeof useBondsData = useBondsData\n/** @deprecated Use granular import: `import { useSDKConfig } from '@ape.swap/bonds-sdk/hooks/useSDKConfig'` */\nconst _useSDKConfig: typeof useSDKConfig = useSDKConfig\n/** @deprecated Use granular import: `import { BLOCK_EXPLORER } from '@ape.swap/bonds-sdk/constants/chains'` */\nconst _BLOCK_EXPLORER: typeof BLOCK_EXPLORER = BLOCK_EXPLORER\n/** @deprecated Use granular import: `import useCurrencyBalance from '@ape.swap/bonds-sdk/hooks/useCurrencyBalance'` */\nconst _useCurrencyBalance: typeof useCurrencyBalance = useCurrencyBalance\n/** @deprecated Use granular import: `import useUserTokensBalance from '@ape.swap/bonds-sdk/hooks/useUserTokensBalance'` */\nconst _useUserTokensBalance: typeof useUserTokensBalance = useUserTokensBalance\n/** @deprecated Use granular import: `import TokenImage from '@ape.swap/bonds-sdk/components/TokenImage'` */\nconst _TokenImage: typeof TokenImage = TokenImage\n/** @deprecated Use granular import: `import { useApproval } from '@ape.swap/bonds-sdk/hooks/useApproval'` */\nconst _useApproval: typeof useApproval = useApproval\n\nexport {\n _Bonds as Bonds,\n _BuyBondModal as BuyBondModal,\n _YourBonds as YourBonds,\n _FullBondsView as FullBondsView,\n _ProjectView as ProjectView,\n _generateImageFromTemplate as generateImageFromTemplate,\n _ChainId as ChainId,\n _SingleBond as SingleBond,\n _useTokenPrices as useTokenPrices,\n _useBondsData as useBondsData,\n _useSDKConfig as useSDKConfig,\n _BLOCK_EXPLORER as BLOCK_EXPLORER,\n _useCurrencyBalance as useCurrencyBalance,\n _useUserTokensBalance as useUserTokensBalance,\n _TokenImage as TokenImage,\n _useApproval as useApproval,\n}\n"],"names":["Bonds","BuyBondModal","YourBonds","FullBondsView","ProjectView","SingleBond"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;AAsBG;AAEH;AAkBA;AACA,MAAM,MAAM,GAAiBA;AAC7B;AACA,MAAM,aAAa,GAAwBC;AAC3C;AACA,MAAM,UAAU,GAAqBC;AACrC;AACA,MAAM,cAAc,GAAyBC;AAC7C;AACA,MAAM,YAAY,GAAuBC;AACzC;AACA,MAAM,0BAA0B,GAAqC;AACrE;AACA,MAAM,QAAQ,GAAmB;AACjC;AACA,MAAM,WAAW,GAAsBC;AACvC;AACA,MAAM,eAAe,GAA0B;AAC/C;AACA,MAAM,aAAa,GAAwB;AAC3C;AACA,MAAM,aAAa,GAAwB;AAC3C;AACA,MAAM,eAAe,GAA0B;AAC/C;AACA,MAAM,mBAAmB,GAA8B;AACvD;AACA,MAAM,qBAAqB,GAAgC;AAC3D;AACA,MAAM,WAAW,GAAsB;AACvC;AACA,MAAM,YAAY,GAAuB;;;;"}
@@ -14,8 +14,6 @@ const decodeResult = (abi, functionName, data) => {
14
14
  const fn = abi.find((item) => item.type === 'function' && item.name === functionName);
15
15
  return fn?.outputs?.length === 1 ? [decoded] : decoded;
16
16
  };
17
- // This is the legacy multicall
18
- // Try to use multicall hooks
19
17
  const multicall = async (chainId, abi, calls, batch, batchSize) => {
20
18
  try {
21
19
  if (chainId === ChainId.SOL)
@@ -1 +1 @@
1
- {"version":3,"file":"multicall.js","sources":["../../src/utils/multicall.ts"],"sourcesContent":["import {\n createPublicClient,\n http,\n encodeFunctionData,\n decodeFunctionResult,\n type Abi,\n type Address,\n type AbiFunction,\n} from 'viem'\nimport multicallV2Abi from '../config/abi/multicallv2.json'\nimport chunk from 'lodash-es/chunk.js'\nimport flatten from 'lodash-es/flatten.js'\nimport { getRPC } from '../config/constants/networks'\nimport { MULTICALL_V2 } from '../config/constants/addresses'\nimport { ChainId } from '@ape.swap/apeswap-lists'\n\nexport interface Call {\n address: string // Address of the contract\n name: string // Function name on the contract (exemple: balanceOf)\n params?: any[] // Function params\n}\n\n// Wraps decoded result in an array when the function has a single output,\n// matching ethers v5 Result behavior so consuming code doesn't need to change.\n// Multi-output functions already return an array from viem, so they're left as-is.\nconst decodeResult = (abi: Abi, functionName: string, data: `0x${string}`) => {\n const decoded = decodeFunctionResult({ abi, functionName, data })\n const fn = abi.find((item): item is AbiFunction => item.type === 'function' && item.name === functionName)\n return fn?.outputs?.length === 1 ? [decoded] : decoded\n}\n\n// This is the legacy multicall\n// Try to use multicall hooks\nconst multicall = async (\n chainId: number,\n abi: any[],\n calls: Call[],\n batch?: boolean,\n batchSize?: number,\n): Promise<any> => {\n try {\n if (chainId === ChainId.SOL) return\n\n const multicallAddress = MULTICALL_V2[chainId] as Address\n const client = createPublicClient({\n transport: http(getRPC(chainId as ChainId)),\n })\n\n const calldata = calls.map((call) => ({\n target: call.address.toLowerCase() as Address,\n callData: encodeFunctionData({ abi: abi as Abi, functionName: call.name, args: call.params }),\n }))\n\n const aggregate = async (calldataChunk: typeof calldata, callsChunk: Call[]) => {\n const [, returnData] = (await client.readContract({\n address: multicallAddress,\n abi: multicallV2Abi as Abi,\n functionName: 'aggregate',\n args: [calldataChunk],\n })) as [bigint, readonly `0x${string}`[]]\n\n return returnData.map((data, i) => decodeResult(abi as Abi, callsChunk[i].name, data))\n }\n\n if (batch) {\n const chunkedCalldata = chunk(calldata, batchSize)\n const chunkedCalls = chunk(calls, batchSize)\n const results = await Promise.all(chunkedCalls.map((callsChunk, i) => aggregate(chunkedCalldata[i], callsChunk)))\n return flatten(results)\n } else {\n return aggregate(calldata, calls)\n }\n } catch (e) {\n console.error(e)\n console.error(chainId)\n console.error(calls)\n }\n}\n\nexport default multicall\n"],"names":[],"mappings":";;;;;;;;AAsBA;AACA;AACA;AACA,MAAM,YAAY,GAAG,CAAC,GAAQ,EAAE,YAAoB,EAAE,IAAmB,KAAI;AAC3E,IAAA,MAAM,OAAO,GAAG,oBAAoB,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IACjE,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,KAA0B,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC;AAC1G,IAAA,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,OAAO;AACxD,CAAC;AAED;AACA;AACA,MAAM,SAAS,GAAG,OAChB,OAAe,EACf,GAAU,EACV,KAAa,EACb,KAAe,EACf,SAAkB,KACF;AAChB,IAAA,IAAI;AACF,QAAA,IAAI,OAAO,KAAK,OAAO,CAAC,GAAG;YAAE;AAE7B,QAAA,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,CAAY;QACzD,MAAM,MAAM,GAAG,kBAAkB,CAAC;AAChC,YAAA,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,OAAkB,CAAC,CAAC;AAC5C,SAAA,CAAC;QAEF,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM;AACpC,YAAA,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAa;YAC7C,QAAQ,EAAE,kBAAkB,CAAC,EAAE,GAAG,EAAE,GAAU,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;AAC9F,SAAA,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,OAAO,aAA8B,EAAE,UAAkB,KAAI;YAC7E,MAAM,GAAG,UAAU,CAAC,IAAI,MAAM,MAAM,CAAC,YAAY,CAAC;AAChD,gBAAA,OAAO,EAAE,gBAAgB;AACzB,gBAAA,GAAG,EAAE,cAAqB;AAC1B,gBAAA,YAAY,EAAE,WAAW;gBACzB,IAAI,EAAE,CAAC,aAAa,CAAC;AACtB,aAAA,CAAC,CAAuC;YAEzC,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,YAAY,CAAC,GAAU,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACxF,QAAA,CAAC;QAED,IAAI,KAAK,EAAE;YACT,MAAM,eAAe,GAAG,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC;YAClD,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC;AAC5C,YAAA,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,KAAK,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;AACjH,YAAA,OAAO,OAAO,CAAC,OAAO,CAAC;QACzB;aAAO;AACL,YAAA,OAAO,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC;QACnC;IACF;IAAE,OAAO,CAAC,EAAE;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAChB,QAAA,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;AACtB,QAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;IACtB;AACF;;;;"}
1
+ {"version":3,"file":"multicall.js","sources":["../../src/utils/multicall.ts"],"sourcesContent":["import {\n createPublicClient,\n http,\n encodeFunctionData,\n decodeFunctionResult,\n type Abi,\n type Address,\n type AbiFunction,\n} from 'viem'\nimport multicallV2Abi from '../config/abi/multicallv2.json'\nimport chunk from 'lodash-es/chunk.js'\nimport flatten from 'lodash-es/flatten.js'\nimport { getRPC } from '../config/constants/networks'\nimport { MULTICALL_V2 } from '../config/constants/addresses'\nimport { ChainId } from '@ape.swap/apeswap-lists'\n\nexport interface Call {\n address: string // Address of the contract\n name: string // Function name on the contract (exemple: balanceOf)\n params?: any[] // Function params\n}\n\n// Wraps decoded result in an array when the function has a single output,\n// matching ethers v5 Result behavior so consuming code doesn't need to change.\n// Multi-output functions already return an array from viem, so they're left as-is.\nconst decodeResult = (abi: Abi, functionName: string, data: `0x${string}`) => {\n const decoded = decodeFunctionResult({ abi, functionName, data })\n const fn = abi.find((item): item is AbiFunction => item.type === 'function' && item.name === functionName)\n return fn?.outputs?.length === 1 ? [decoded] : decoded\n}\n\nconst multicall = async (\n chainId: number,\n abi: any[],\n calls: Call[],\n batch?: boolean,\n batchSize?: number,\n): Promise<any> => {\n try {\n if (chainId === ChainId.SOL) return\n\n const multicallAddress = MULTICALL_V2[chainId] as Address\n const client = createPublicClient({\n transport: http(getRPC(chainId as ChainId)),\n })\n\n const calldata = calls.map((call) => ({\n target: call.address.toLowerCase() as Address,\n callData: encodeFunctionData({ abi: abi as Abi, functionName: call.name, args: call.params }),\n }))\n\n const aggregate = async (calldataChunk: typeof calldata, callsChunk: Call[]) => {\n const [, returnData] = (await client.readContract({\n address: multicallAddress,\n abi: multicallV2Abi as Abi,\n functionName: 'aggregate',\n args: [calldataChunk],\n })) as [bigint, readonly `0x${string}`[]]\n\n return returnData.map((data, i) => decodeResult(abi as Abi, callsChunk[i].name, data))\n }\n\n if (batch) {\n const chunkedCalldata = chunk(calldata, batchSize)\n const chunkedCalls = chunk(calls, batchSize)\n const results = await Promise.all(chunkedCalls.map((callsChunk, i) => aggregate(chunkedCalldata[i], callsChunk)))\n return flatten(results)\n } else {\n return aggregate(calldata, calls)\n }\n } catch (e) {\n console.error(e)\n console.error(chainId)\n console.error(calls)\n }\n}\n\nexport default multicall\n"],"names":[],"mappings":";;;;;;;;AAsBA;AACA;AACA;AACA,MAAM,YAAY,GAAG,CAAC,GAAQ,EAAE,YAAoB,EAAE,IAAmB,KAAI;AAC3E,IAAA,MAAM,OAAO,GAAG,oBAAoB,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IACjE,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,KAA0B,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC;AAC1G,IAAA,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,OAAO;AACxD,CAAC;AAED,MAAM,SAAS,GAAG,OAChB,OAAe,EACf,GAAU,EACV,KAAa,EACb,KAAe,EACf,SAAkB,KACF;AAChB,IAAA,IAAI;AACF,QAAA,IAAI,OAAO,KAAK,OAAO,CAAC,GAAG;YAAE;AAE7B,QAAA,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,CAAY;QACzD,MAAM,MAAM,GAAG,kBAAkB,CAAC;AAChC,YAAA,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,OAAkB,CAAC,CAAC;AAC5C,SAAA,CAAC;QAEF,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM;AACpC,YAAA,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAa;YAC7C,QAAQ,EAAE,kBAAkB,CAAC,EAAE,GAAG,EAAE,GAAU,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;AAC9F,SAAA,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,OAAO,aAA8B,EAAE,UAAkB,KAAI;YAC7E,MAAM,GAAG,UAAU,CAAC,IAAI,MAAM,MAAM,CAAC,YAAY,CAAC;AAChD,gBAAA,OAAO,EAAE,gBAAgB;AACzB,gBAAA,GAAG,EAAE,cAAqB;AAC1B,gBAAA,YAAY,EAAE,WAAW;gBACzB,IAAI,EAAE,CAAC,aAAa,CAAC;AACtB,aAAA,CAAC,CAAuC;YAEzC,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,YAAY,CAAC,GAAU,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACxF,QAAA,CAAC;QAED,IAAI,KAAK,EAAE;YACT,MAAM,eAAe,GAAG,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC;YAClD,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC;AAC5C,YAAA,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,KAAK,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;AACjH,YAAA,OAAO,OAAO,CAAC,OAAO,CAAC;QACzB;aAAO;AACL,YAAA,OAAO,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC;QACnC;IACF;IAAE,OAAO,CAAC,EAAE;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAChB,QAAA,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;AACtB,QAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;IACtB;AACF;;;;"}
@@ -167,7 +167,7 @@ const Bonds = () => {
167
167
  alignItems: 'center',
168
168
  flexDirection: 'column',
169
169
  mt: '10px',
170
- }, children: [jsx(Svg, { icon: "StarFilled", width: 75, height: 75 }), jsx(Flex, { sx: { mt: '10px' }, children: `You don't have any Favorite Bonds yet!` }), jsx(Flex, { sx: { fontSize: '12px', fontWeight: 400, color: 'textDisabledButton', mt: '10px' }, children: `Click on the 'star' or 'fire' icon to add Bonds to the list.` })] })) : (jsx(LoadingSkeleton, {})), SDKConfig.useHotBonds && jsx(RecommendationCards, {}), jsx(Flex, { sx: { width: '100%', justifyContent: 'center', my: '15px' }, children: jsx("img", { src: "https://res.cloudinary.com/dswmrqgwy/image/upload/v1741643990/poweredbyapebondsdk_cxiouj.png", alt: "powered-by-apebond", style: { width: '200px', height: 'auto' } }) })] }));
170
+ }, children: [jsx(Svg, { icon: "StarFilled", width: 75, height: 75 }), jsx(Flex, { sx: { mt: '10px' }, children: `You don't have any Favorite Bonds yet!` }), jsx(Flex, { sx: { fontSize: '12px', fontWeight: 400, color: 'textDisabledButton', mt: '10px' }, children: `Click on the 'star' or 'fire' icon to add Bonds to the list.` })] })) : (jsx(LoadingSkeleton, {})), SDKConfig.useHotBonds && jsx(RecommendationCards, {}), jsx(Flex, { sx: { width: '100%', justifyContent: 'center', my: '15px' }, className: "powered-by-apebond", children: jsx("img", { src: "https://res.cloudinary.com/dswmrqgwy/image/upload/v1741643990/poweredbyapebondsdk_cxiouj.png", alt: "powered-by-apebond", style: { width: '200px', height: 'auto' } }) })] }));
171
171
  };
172
172
 
173
173
  export { Bonds as default };
@@ -1 +1 @@
1
- {"version":3,"file":"Bonds.js","sources":["../../../src/views/Bonds/Bonds.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from 'react'\nimport { BondsData } from '../../types/bonds'\nimport { useTopTags } from '../../hooks/useTopTags'\nimport { isBondSoldOut, isBondSupported, sortBonds } from './utils'\nimport useBondsData from '../../state/bonds/useBondsData'\nimport CheckURL from './components/CheckURL'\nimport PlaceholderMonkey from '../../components/PlaceholderMonkey'\nimport useFavoriteTokens from '../../state/favoriteTokens/useFavoriteTokens'\nimport useChainFilterOption from '../../state/chainFilterOption/useChainFilterOption'\nimport useBondsList from '../../state/bonds/useBondsList'\nimport { BaseBondConfig } from '@ape.swap/apeswap-lists'\nimport RecommendationCards from './components/RecommendationCards'\nimport BondsMenu from './components/BondsMenu/BondsMenu'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport BuyAgainRow from './components/BuyAgainRow'\nimport LoadingSkeleton from './components/LoadingSkeleton/LoadingSkeleton'\nimport useHotBonds from '../../state/hotBonds/useHotBonds'\nimport useBondsListPreTGE from '../../state/bonds/useBondsListPreTGE'\nimport { MAINNET_CHAINS } from '../../config/constants/chains'\nimport ActiveBondRows from './components/BondRows/ActiveBondRows'\nimport SoldOutRows from './components/BondRows/SoldOutRows'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport Svg from '../../components/uikit-sdk/Svg'\n\ntype SortableKeys = 'bonus' | 'arr' | 'terms' | 'tokensRemaining'\ntype SortDirection = 'asc' | 'desc'\n\nexport interface SortOptions {\n key: SortableKeys\n direction: SortDirection\n}\n\nexport type GroupedByChain = Record<number, (BondsData | BaseBondConfig)[]>\nexport type GroupedBySymbol = Record<number, Record<string, (BondsData | BaseBondConfig)[]>>\n\nconst Bonds = () => {\n // Fetch data\n useHotBonds()\n const SDKConfig = useSDKConfig()\n const { favTokens } = useFavoriteTokens()\n const { data: bondData } = useBondsData()\n const { data: allBonds } = useBondsList()\n const { data: allPreBonds } = useBondsListPreTGE()\n const { data: chainFilterOption, setChainFilterOption } = useChainFilterOption()\n const topTags = useTopTags()\n\n // State\n const [sortConfig, setSortConfig] = useState<SortOptions | undefined>({ key: 'bonus', direction: 'desc' })\n const [searchQuery, setSearchQuery] = useState('')\n const [filterOption, setFilterOption] = useState('ALL')\n\n // Static data\n const filterOptions = ['ALL', 'FAVORITES', ...topTags, 'SOLD OUT']\n const validatedChains = SDKConfig?.chains?.filter((chain) => MAINNET_CHAINS.includes(chain))\n\n const billsToRender: GroupedByChain | GroupedBySymbol = useMemo(() => {\n let bondsToUse\n\n if (filterOption === 'SOLD OUT') {\n if (!allBonds || !allPreBonds) return {}\n bondsToUse = [...allPreBonds, ...allBonds]\n } else {\n bondsToUse = sortBonds(sortConfig, bondData)\n }\n\n const filteredBonds = bondsToUse?.filter((bill) => {\n // filter incompatible bonds\n if (!isBondSupported(SDKConfig.highestCompatibleVersion!, bill.version)) return false\n\n // filter onlyPartner Bonds\n if (bill.onlyPartner && SDKConfig.bondPartner !== bill.bondPartner) return false\n\n // filter searchQuery\n if (searchQuery) {\n const matchesSearch = [\n //@ts-ignore\n `${bill?.underlyingEarnToken?.symbol?.toUpperCase()}`,\n `${bill?.earnToken?.symbol.toUpperCase()}`,\n `${bill?.lpToken?.symbol.toUpperCase()}`,\n ].some((property) => property?.includes(searchQuery.toUpperCase()))\n if (!matchesSearch) return false\n }\n\n // filter tiers\n if (!SDKConfig?.useTiers && 'minTier' in bill) {\n if (bill.minTier !== null && bill.minTier !== undefined) return false\n }\n\n // filter bondPartner\n if (SDKConfig?.bondPartner && bill.bondPartner !== SDKConfig.bondPartner) return false\n\n // filter topTags\n if (topTags.includes(filterOption) && !bill?.tags?.includes(filterOption)) return false\n\n // filter chainFilterOption\n if (chainFilterOption && !chainFilterOption?.includes('All Chains')) {\n if (!chainFilterOption?.includes(bill?.chainId?.toString())) return false\n }\n\n // filter SOLD OUT\n if (filterOption === 'SOLD OUT' && !isBondSoldOut(bill as BondsData, SDKConfig.showLowValueBonds)) return false\n\n // filter not SOLD OUT\n if (filterOption !== 'SOLD OUT' && isBondSoldOut(bill as BondsData, SDKConfig.showLowValueBonds)) return false\n\n // filter FAVORITES\n if (filterOption === 'FAVORITES' && !favTokens.includes(bill?.earnToken?.symbol?.toLowerCase())) return false\n\n return true\n })\n\n if (filterOption === 'SOLD OUT') {\n return filteredBonds?.reduce<GroupedBySymbol>((acc, bond) => {\n const symbol = bond?.earnToken?.symbol\n const chainId = bond.chainId\n\n if (!acc[chainId]) acc[chainId] = {}\n\n if (!acc[chainId][symbol]) acc[chainId][symbol] = []\n\n acc[chainId][symbol].push(bond)\n return acc\n }, {})\n } else {\n return filteredBonds?.reduce<GroupedByChain>((acc, bond) => {\n const { chainId } = bond\n if (!acc[chainId]) acc[chainId] = []\n acc[chainId].push(bond)\n return acc\n }, {})\n }\n }, [\n allBonds,\n allPreBonds,\n sortConfig,\n bondData,\n filterOption,\n SDKConfig.highestCompatibleVersion,\n SDKConfig.bondPartner,\n SDKConfig?.useTiers,\n SDKConfig.showLowValueBonds,\n searchQuery,\n topTags,\n chainFilterOption,\n favTokens,\n ])\n\n // Handlers\n const handleSortOptions = useCallback(\n (key: SortableKeys) => {\n let direction: SortDirection = 'desc'\n if (sortConfig?.key === key && sortConfig?.direction === 'desc') {\n direction = 'asc'\n }\n setSortConfig({ key, direction })\n },\n [sortConfig?.key, sortConfig?.direction],\n )\n\n const handleChangeFilterOption = useCallback((newOption: string) => {\n setFilterOption(newOption)\n }, [])\n\n useEffect(() => {\n const hash = window.location.hash\n //@ts-ignore\n if (bondData?.length > 0 && hash) {\n const tryScroll = () => {\n const normalizedHash = decodeURIComponent(hash).replace(/\\s+/g, '')\n const element = document.querySelector(normalizedHash)\n if (element) {\n const y = element.getBoundingClientRect().top + window.scrollY - 70\n window.scrollTo({ top: y, behavior: 'smooth' })\n } else {\n setTimeout(tryScroll, 50)\n }\n }\n tryScroll()\n }\n }, [bondData?.length])\n\n return (\n <Flex className=\"bonds-container\">\n <CheckURL />\n <BondsMenu\n searchQuery={searchQuery}\n setSearchQuery={setSearchQuery}\n setChainFilterOption={setChainFilterOption}\n chainFilterOption={chainFilterOption ?? ['All Chains']}\n filterOptions={filterOptions}\n filterOption={filterOption}\n setFilterOption={handleChangeFilterOption}\n onSort={handleSortOptions}\n />\n {SDKConfig.useHotBonds && !SDKConfig.bondPartner && filterOption !== 'SOLD OUT' && <BuyAgainRow />}\n {Object.keys(billsToRender)?.length > 0 ? (\n <Flex className=\"bondrowsbychain\">\n {validatedChains?.map((chain) =>\n filterOption === 'SOLD OUT' ? (\n Object.entries(billsToRender[chain] ?? {}).map((groupedBonds) => (\n <SoldOutRows bonds={groupedBonds[1]} key={groupedBonds[0]} />\n ))\n ) : (\n <ActiveBondRows\n chain={chain}\n bonds={(billsToRender[chain] ?? []) as (BondsData | BaseBondConfig)[]}\n key={chain}\n hideTitles={searchQuery !== ''}\n showHotBonds={!searchQuery && SDKConfig.useHotBonds && SDKConfig?.hotBondChains?.includes(chain)}\n />\n ),\n )}\n </Flex>\n ) : searchQuery || !chainFilterOption.includes('All Chains') ? (\n <Flex className=\"placeholder-monkey-wrapper\">\n <PlaceholderMonkey text={'No results, change filters.'} />\n </Flex>\n ) : filterOption === 'FAVORITES' ? (\n <Flex\n sx={{\n width: '100%',\n height: '300px',\n background: 'white2',\n borderRadius: 'normal',\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'column',\n mt: '10px',\n }}\n >\n <Svg icon=\"StarFilled\" width={75} height={75} />\n <Flex sx={{ mt: '10px' }}>{`You don't have any Favorite Bonds yet!`}</Flex>\n <Flex sx={{ fontSize: '12px', fontWeight: 400, color: 'textDisabledButton', mt: '10px' }}>\n {`Click on the 'star' or 'fire' icon to add Bonds to the list.`}\n </Flex>\n </Flex>\n ) : (\n <LoadingSkeleton />\n )}\n {SDKConfig.useHotBonds && <RecommendationCards />}\n <Flex sx={{ width: '100%', justifyContent: 'center', my: '15px' }}>\n <img\n src=\"https://res.cloudinary.com/dswmrqgwy/image/upload/v1741643990/poweredbyapebondsdk_cxiouj.png\"\n alt=\"powered-by-apebond\"\n style={{ width: '200px', height: 'auto' }}\n />\n </Flex>\n </Flex>\n )\n}\n\nexport default Bonds\n"],"names":["_jsxs","_jsx","CheckURL"],"mappings":"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"}
1
+ {"version":3,"file":"Bonds.js","sources":["../../../src/views/Bonds/Bonds.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from 'react'\nimport { BondsData } from '../../types/bonds'\nimport { useTopTags } from '../../hooks/useTopTags'\nimport { isBondSoldOut, isBondSupported, sortBonds } from './utils'\nimport useBondsData from '../../state/bonds/useBondsData'\nimport CheckURL from './components/CheckURL'\nimport PlaceholderMonkey from '../../components/PlaceholderMonkey'\nimport useFavoriteTokens from '../../state/favoriteTokens/useFavoriteTokens'\nimport useChainFilterOption from '../../state/chainFilterOption/useChainFilterOption'\nimport useBondsList from '../../state/bonds/useBondsList'\nimport { BaseBondConfig } from '@ape.swap/apeswap-lists'\nimport RecommendationCards from './components/RecommendationCards'\nimport BondsMenu from './components/BondsMenu/BondsMenu'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport BuyAgainRow from './components/BuyAgainRow'\nimport LoadingSkeleton from './components/LoadingSkeleton/LoadingSkeleton'\nimport useHotBonds from '../../state/hotBonds/useHotBonds'\nimport useBondsListPreTGE from '../../state/bonds/useBondsListPreTGE'\nimport { MAINNET_CHAINS } from '../../config/constants/chains'\nimport ActiveBondRows from './components/BondRows/ActiveBondRows'\nimport SoldOutRows from './components/BondRows/SoldOutRows'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport Svg from '../../components/uikit-sdk/Svg'\n\ntype SortableKeys = 'bonus' | 'arr' | 'terms' | 'tokensRemaining'\ntype SortDirection = 'asc' | 'desc'\n\nexport interface SortOptions {\n key: SortableKeys\n direction: SortDirection\n}\n\nexport type GroupedByChain = Record<number, (BondsData | BaseBondConfig)[]>\nexport type GroupedBySymbol = Record<number, Record<string, (BondsData | BaseBondConfig)[]>>\n\nconst Bonds = () => {\n // Fetch data\n useHotBonds()\n const SDKConfig = useSDKConfig()\n const { favTokens } = useFavoriteTokens()\n const { data: bondData } = useBondsData()\n const { data: allBonds } = useBondsList()\n const { data: allPreBonds } = useBondsListPreTGE()\n const { data: chainFilterOption, setChainFilterOption } = useChainFilterOption()\n const topTags = useTopTags()\n\n // State\n const [sortConfig, setSortConfig] = useState<SortOptions | undefined>({ key: 'bonus', direction: 'desc' })\n const [searchQuery, setSearchQuery] = useState('')\n const [filterOption, setFilterOption] = useState('ALL')\n\n // Static data\n const filterOptions = ['ALL', 'FAVORITES', ...topTags, 'SOLD OUT']\n const validatedChains = SDKConfig?.chains?.filter((chain) => MAINNET_CHAINS.includes(chain))\n\n const billsToRender: GroupedByChain | GroupedBySymbol = useMemo(() => {\n let bondsToUse\n\n if (filterOption === 'SOLD OUT') {\n if (!allBonds || !allPreBonds) return {}\n bondsToUse = [...allPreBonds, ...allBonds]\n } else {\n bondsToUse = sortBonds(sortConfig, bondData)\n }\n\n const filteredBonds = bondsToUse?.filter((bill) => {\n // filter incompatible bonds\n if (!isBondSupported(SDKConfig.highestCompatibleVersion!, bill.version)) return false\n\n // filter onlyPartner Bonds\n if (bill.onlyPartner && SDKConfig.bondPartner !== bill.bondPartner) return false\n\n // filter searchQuery\n if (searchQuery) {\n const matchesSearch = [\n //@ts-ignore\n `${bill?.underlyingEarnToken?.symbol?.toUpperCase()}`,\n `${bill?.earnToken?.symbol.toUpperCase()}`,\n `${bill?.lpToken?.symbol.toUpperCase()}`,\n ].some((property) => property?.includes(searchQuery.toUpperCase()))\n if (!matchesSearch) return false\n }\n\n // filter tiers\n if (!SDKConfig?.useTiers && 'minTier' in bill) {\n if (bill.minTier !== null && bill.minTier !== undefined) return false\n }\n\n // filter bondPartner\n if (SDKConfig?.bondPartner && bill.bondPartner !== SDKConfig.bondPartner) return false\n\n // filter topTags\n if (topTags.includes(filterOption) && !bill?.tags?.includes(filterOption)) return false\n\n // filter chainFilterOption\n if (chainFilterOption && !chainFilterOption?.includes('All Chains')) {\n if (!chainFilterOption?.includes(bill?.chainId?.toString())) return false\n }\n\n // filter SOLD OUT\n if (filterOption === 'SOLD OUT' && !isBondSoldOut(bill as BondsData, SDKConfig.showLowValueBonds)) return false\n\n // filter not SOLD OUT\n if (filterOption !== 'SOLD OUT' && isBondSoldOut(bill as BondsData, SDKConfig.showLowValueBonds)) return false\n\n // filter FAVORITES\n if (filterOption === 'FAVORITES' && !favTokens.includes(bill?.earnToken?.symbol?.toLowerCase())) return false\n\n return true\n })\n\n if (filterOption === 'SOLD OUT') {\n return filteredBonds?.reduce<GroupedBySymbol>((acc, bond) => {\n const symbol = bond?.earnToken?.symbol\n const chainId = bond.chainId\n\n if (!acc[chainId]) acc[chainId] = {}\n\n if (!acc[chainId][symbol]) acc[chainId][symbol] = []\n\n acc[chainId][symbol].push(bond)\n return acc\n }, {})\n } else {\n return filteredBonds?.reduce<GroupedByChain>((acc, bond) => {\n const { chainId } = bond\n if (!acc[chainId]) acc[chainId] = []\n acc[chainId].push(bond)\n return acc\n }, {})\n }\n }, [\n allBonds,\n allPreBonds,\n sortConfig,\n bondData,\n filterOption,\n SDKConfig.highestCompatibleVersion,\n SDKConfig.bondPartner,\n SDKConfig?.useTiers,\n SDKConfig.showLowValueBonds,\n searchQuery,\n topTags,\n chainFilterOption,\n favTokens,\n ])\n\n // Handlers\n const handleSortOptions = useCallback(\n (key: SortableKeys) => {\n let direction: SortDirection = 'desc'\n if (sortConfig?.key === key && sortConfig?.direction === 'desc') {\n direction = 'asc'\n }\n setSortConfig({ key, direction })\n },\n [sortConfig?.key, sortConfig?.direction],\n )\n\n const handleChangeFilterOption = useCallback((newOption: string) => {\n setFilterOption(newOption)\n }, [])\n\n useEffect(() => {\n const hash = window.location.hash\n //@ts-ignore\n if (bondData?.length > 0 && hash) {\n const tryScroll = () => {\n const normalizedHash = decodeURIComponent(hash).replace(/\\s+/g, '')\n const element = document.querySelector(normalizedHash)\n if (element) {\n const y = element.getBoundingClientRect().top + window.scrollY - 70\n window.scrollTo({ top: y, behavior: 'smooth' })\n } else {\n setTimeout(tryScroll, 50)\n }\n }\n tryScroll()\n }\n }, [bondData?.length])\n\n return (\n <Flex className=\"bonds-container\">\n <CheckURL />\n <BondsMenu\n searchQuery={searchQuery}\n setSearchQuery={setSearchQuery}\n setChainFilterOption={setChainFilterOption}\n chainFilterOption={chainFilterOption ?? ['All Chains']}\n filterOptions={filterOptions}\n filterOption={filterOption}\n setFilterOption={handleChangeFilterOption}\n onSort={handleSortOptions}\n />\n {SDKConfig.useHotBonds && !SDKConfig.bondPartner && filterOption !== 'SOLD OUT' && <BuyAgainRow />}\n {Object.keys(billsToRender)?.length > 0 ? (\n <Flex className=\"bondrowsbychain\">\n {validatedChains?.map((chain) =>\n filterOption === 'SOLD OUT' ? (\n Object.entries(billsToRender[chain] ?? {}).map((groupedBonds) => (\n <SoldOutRows bonds={groupedBonds[1]} key={groupedBonds[0]} />\n ))\n ) : (\n <ActiveBondRows\n chain={chain}\n bonds={(billsToRender[chain] ?? []) as (BondsData | BaseBondConfig)[]}\n key={chain}\n hideTitles={searchQuery !== ''}\n showHotBonds={!searchQuery && SDKConfig.useHotBonds && SDKConfig?.hotBondChains?.includes(chain)}\n />\n ),\n )}\n </Flex>\n ) : searchQuery || !chainFilterOption.includes('All Chains') ? (\n <Flex className=\"placeholder-monkey-wrapper\">\n <PlaceholderMonkey text={'No results, change filters.'} />\n </Flex>\n ) : filterOption === 'FAVORITES' ? (\n <Flex\n sx={{\n width: '100%',\n height: '300px',\n background: 'white2',\n borderRadius: 'normal',\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'column',\n mt: '10px',\n }}\n >\n <Svg icon=\"StarFilled\" width={75} height={75} />\n <Flex sx={{ mt: '10px' }}>{`You don't have any Favorite Bonds yet!`}</Flex>\n <Flex sx={{ fontSize: '12px', fontWeight: 400, color: 'textDisabledButton', mt: '10px' }}>\n {`Click on the 'star' or 'fire' icon to add Bonds to the list.`}\n </Flex>\n </Flex>\n ) : (\n <LoadingSkeleton />\n )}\n {SDKConfig.useHotBonds && <RecommendationCards />}\n <Flex sx={{ width: '100%', justifyContent: 'center', my: '15px' }} className=\"powered-by-apebond\">\n <img\n src=\"https://res.cloudinary.com/dswmrqgwy/image/upload/v1741643990/poweredbyapebondsdk_cxiouj.png\"\n alt=\"powered-by-apebond\"\n style={{ width: '200px', height: 'auto' }}\n />\n </Flex>\n </Flex>\n )\n}\n\nexport default Bonds\n"],"names":["_jsxs","_jsx","CheckURL"],"mappings":"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"}
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": "6.1.11",
6
+ "version": "6.1.13-test.0",
7
7
  "module": "dist/main.js",
8
8
  "type": "module",
9
9
  "types": "dist/main.d.ts",