@ape.swap/bonds-sdk 6.3.0-test.69 → 7.0.0-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.
Files changed (995) hide show
  1. package/README.md +223 -131
  2. package/dist/adapters/all/index.d.ts +13 -0
  3. package/dist/adapters/all/index.js +15 -0
  4. package/dist/adapters/all/index.js.map +1 -0
  5. package/dist/adapters/aptos/ActionsAptos.d.ts +5 -0
  6. package/dist/{views/YourBondsModal/components/Actions → adapters/aptos}/ActionsAptos.js +14 -14
  7. package/dist/adapters/aptos/ActionsAptos.js.map +1 -0
  8. package/dist/adapters/aptos/AptosAccountBridge.d.ts +3 -0
  9. package/dist/adapters/aptos/AptosAccountBridge.js +12 -0
  10. package/dist/adapters/aptos/AptosAccountBridge.js.map +1 -0
  11. package/dist/{views/BuyBond → adapters/aptos}/BuyComponentAptos.js +11 -17
  12. package/dist/adapters/aptos/BuyComponentAptos.js.map +1 -0
  13. package/dist/adapters/aptos/ClaimAllActionAptos.d.ts +5 -0
  14. package/dist/adapters/aptos/ClaimAllActionAptos.js +73 -0
  15. package/dist/adapters/aptos/ClaimAllActionAptos.js.map +1 -0
  16. package/dist/{components/ConnectAptosWalletButton → adapters/aptos}/ConnectAptosWalletButton.d.ts +1 -1
  17. package/dist/{components/ConnectAptosWalletButton → adapters/aptos}/ConnectAptosWalletButton.js +4 -9
  18. package/dist/adapters/aptos/ConnectAptosWalletButton.js.map +1 -0
  19. package/dist/adapters/aptos/ConnectToAptosBanner.d.ts +1 -0
  20. package/dist/adapters/aptos/ConnectToAptosBanner.js +21 -0
  21. package/dist/adapters/aptos/ConnectToAptosBanner.js.map +1 -0
  22. package/dist/{views/YourBondsModal/components/TransferBondModal → adapters/aptos}/TransferActionAptos.d.ts +2 -3
  23. package/dist/{views/YourBondsModal/components/TransferBondModal → adapters/aptos}/TransferActionAptos.js +3 -3
  24. package/dist/adapters/aptos/TransferActionAptos.js.map +1 -0
  25. package/dist/adapters/aptos/UserBondRowAptos.d.ts +5 -0
  26. package/dist/adapters/aptos/UserBondRowAptos.js +108 -0
  27. package/dist/adapters/aptos/UserBondRowAptos.js.map +1 -0
  28. package/dist/{utils → adapters/aptos}/aptosHelpers.d.ts +3 -2
  29. package/dist/{utils → adapters/aptos}/aptosHelpers.js +4 -3
  30. package/dist/adapters/aptos/aptosHelpers.js.map +1 -0
  31. package/dist/{state/bonds/fetchBondsData → adapters/aptos}/fetchBondsDataAptos.d.ts +2 -2
  32. package/dist/{state/bonds/fetchBondsData → adapters/aptos}/fetchBondsDataAptos.js +4 -27
  33. package/dist/adapters/aptos/fetchBondsDataAptos.js.map +1 -0
  34. package/dist/{state/bonds/fetchUsersBonds → adapters/aptos}/fetchUsersBondsAptos.d.ts +2 -2
  35. package/dist/{state/bonds/fetchUsersBonds → adapters/aptos}/fetchUsersBondsAptos.js +8 -8
  36. package/dist/adapters/aptos/fetchUsersBondsAptos.js.map +1 -0
  37. package/dist/adapters/aptos/index.d.ts +6 -0
  38. package/dist/adapters/aptos/index.js +37 -0
  39. package/dist/adapters/aptos/index.js.map +1 -0
  40. package/dist/{hooks/accounts → adapters/aptos}/useAPTAccount.js +1 -1
  41. package/dist/{hooks/accounts → adapters/aptos}/useAPTAccount.js.map +1 -1
  42. package/dist/{state/zap → adapters/aptos}/useAptosZapQuote.js +2 -3
  43. package/dist/adapters/aptos/useAptosZapQuote.js.map +1 -0
  44. package/dist/{state/balance → adapters/aptos}/useCurrencyBalanceAptos.js +1 -1
  45. package/dist/adapters/aptos/useCurrencyBalanceAptos.js.map +1 -0
  46. package/dist/adapters/evm/Actions.d.ts +5 -0
  47. package/dist/{views/YourBondsModal/components/Actions → adapters/evm}/Actions.js +26 -21
  48. package/dist/adapters/evm/Actions.js.map +1 -0
  49. package/dist/adapters/evm/BuyComponent.d.ts +5 -0
  50. package/dist/{views/BuyBond → adapters/evm}/BuyComponent.js +57 -61
  51. package/dist/adapters/evm/BuyComponent.js.map +1 -0
  52. package/dist/adapters/evm/ClaimAllActionEVM.d.ts +5 -0
  53. package/dist/adapters/evm/ClaimAllActionEVM.js +60 -0
  54. package/dist/adapters/evm/ClaimAllActionEVM.js.map +1 -0
  55. package/dist/adapters/evm/ConnectToEvmBanner.d.ts +1 -0
  56. package/dist/adapters/evm/ConnectToEvmBanner.js +12 -0
  57. package/dist/adapters/evm/ConnectToEvmBanner.js.map +1 -0
  58. package/dist/adapters/evm/EvmAccountBridge.d.ts +6 -0
  59. package/dist/adapters/evm/EvmAccountBridge.js +15 -0
  60. package/dist/adapters/evm/EvmAccountBridge.js.map +1 -0
  61. package/dist/{views/TransactionModal → adapters/evm}/TransactionModal.d.ts +2 -3
  62. package/dist/adapters/evm/TransactionModal.js +167 -0
  63. package/dist/adapters/evm/TransactionModal.js.map +1 -0
  64. package/dist/{views/YourBondsModal/components/TransferBondModal → adapters/evm}/TransferAction.d.ts +2 -3
  65. package/dist/{views/YourBondsModal/components/TransferBondModal → adapters/evm}/TransferAction.js +14 -12
  66. package/dist/adapters/evm/TransferAction.js.map +1 -0
  67. package/dist/adapters/evm/UserBondRow.d.ts +5 -0
  68. package/dist/adapters/evm/UserBondRow.js +138 -0
  69. package/dist/adapters/evm/UserBondRow.js.map +1 -0
  70. package/dist/adapters/evm/balances.d.ts +6 -0
  71. package/dist/adapters/evm/balances.js +61 -0
  72. package/dist/adapters/evm/balances.js.map +1 -0
  73. package/dist/{state/bonds/fetchBondsData → adapters/evm}/fetchBondsDataEVM.d.ts +3 -2
  74. package/dist/adapters/evm/fetchBondsDataEVM.js +156 -0
  75. package/dist/adapters/evm/fetchBondsDataEVM.js.map +1 -0
  76. package/dist/{state/bonds/fetchUsersBonds → adapters/evm}/fetchUsersBondsEVM.d.ts +2 -2
  77. package/dist/{state/bonds/fetchUsersBonds → adapters/evm}/fetchUsersBondsEVM.js +10 -10
  78. package/dist/adapters/evm/fetchUsersBondsEVM.js.map +1 -0
  79. package/dist/adapters/evm/getTierPoints.d.ts +3 -0
  80. package/dist/adapters/evm/getTierPoints.js +48 -0
  81. package/dist/adapters/evm/getTierPoints.js.map +1 -0
  82. package/dist/adapters/evm/index.d.ts +6 -0
  83. package/dist/adapters/evm/index.js +53 -0
  84. package/dist/adapters/evm/index.js.map +1 -0
  85. package/dist/{utils → adapters/evm}/multicall.js +3 -3
  86. package/dist/adapters/evm/multicall.js.map +1 -0
  87. package/dist/{views/BuyBond → adapters/evm/preTGE}/BuyComponentPreTGE.d.ts +1 -2
  88. package/dist/adapters/evm/preTGE/BuyComponentPreTGE.js +128 -0
  89. package/dist/adapters/evm/preTGE/BuyComponentPreTGE.js.map +1 -0
  90. package/dist/{views/Bonds/components/BondRows → adapters/evm/preTGE}/ModalHandlerPreTGE.d.ts +1 -2
  91. package/dist/{views/Bonds/components/BondRows → adapters/evm/preTGE}/ModalHandlerPreTGE.js +5 -5
  92. package/dist/adapters/evm/preTGE/ModalHandlerPreTGE.js.map +1 -0
  93. package/dist/adapters/evm/preTGE/PreTGEActions.d.ts +5 -0
  94. package/dist/{views/YourBonds/components/UserBondRow → adapters/evm/preTGE}/PreTGEActions.js +11 -15
  95. package/dist/adapters/evm/preTGE/PreTGEActions.js.map +1 -0
  96. package/dist/adapters/evm/preTGE/UserBondRowPreTGE.d.ts +5 -0
  97. package/dist/adapters/evm/preTGE/UserBondRowPreTGE.js +41 -0
  98. package/dist/adapters/evm/preTGE/UserBondRowPreTGE.js.map +1 -0
  99. package/dist/adapters/evm/preTGE/UserBondRowYield.d.ts +5 -0
  100. package/dist/adapters/evm/preTGE/UserBondRowYield.js +43 -0
  101. package/dist/adapters/evm/preTGE/UserBondRowYield.js.map +1 -0
  102. package/dist/{views → adapters/evm/preTGE}/YourBondsModalYield/YourBondsModalYield.d.ts +2 -3
  103. package/dist/adapters/evm/preTGE/YourBondsModalYield/YourBondsModalYield.js +150 -0
  104. package/dist/adapters/evm/preTGE/YourBondsModalYield/YourBondsModalYield.js.map +1 -0
  105. package/dist/{views → adapters/evm/preTGE}/YourBondsModalYield/components/UnstakeModalYield/UnstakeModalYield.d.ts +2 -3
  106. package/dist/adapters/evm/preTGE/YourBondsModalYield/components/UnstakeModalYield/UnstakeModalYield.js +66 -0
  107. package/dist/adapters/evm/preTGE/YourBondsModalYield/components/UnstakeModalYield/UnstakeModalYield.js.map +1 -0
  108. package/dist/{views → adapters/evm/preTGE}/YourBondsModalYield/components/YourBondModalHeader/YourBondModalHeader.d.ts +2 -3
  109. package/dist/adapters/evm/preTGE/YourBondsModalYield/components/YourBondModalHeader/YourBondModalHeader.js +15 -0
  110. package/dist/adapters/evm/preTGE/YourBondsModalYield/components/YourBondModalHeader/YourBondModalHeader.js.map +1 -0
  111. package/dist/{state/bonds/fetchBondsData → adapters/evm/preTGE}/fetchBondsDataPreTGE.d.ts +1 -1
  112. package/dist/{state/bonds/fetchBondsData → adapters/evm/preTGE}/fetchBondsDataPreTGE.js +1 -1
  113. package/dist/adapters/evm/preTGE/fetchBondsDataPreTGE.js.map +1 -0
  114. package/dist/adapters/evm/preTGE/fetchUserBondsPreTGE.d.ts +5 -0
  115. package/dist/adapters/evm/preTGE/fetchUserBondsPreTGE.js +204 -0
  116. package/dist/adapters/evm/preTGE/fetchUserBondsPreTGE.js.map +1 -0
  117. package/dist/{state/allowance → adapters/evm}/useAllowance.js +4 -4
  118. package/dist/adapters/evm/useAllowance.js.map +1 -0
  119. package/dist/adapters/evm/useEVMAccount.js.map +1 -0
  120. package/dist/{hooks → adapters/evm}/useMonitorTx.js +1 -1
  121. package/dist/adapters/evm/useMonitorTx.js.map +1 -0
  122. package/dist/{state/zap → adapters/evm}/useSoulZapBondQuote.js +12 -24
  123. package/dist/adapters/evm/useSoulZapBondQuote.js.map +1 -0
  124. package/dist/{state/bonds → adapters/evm}/useTierProofSignature.js +5 -5
  125. package/dist/adapters/evm/useTierProofSignature.js.map +1 -0
  126. package/dist/adapters/lifi/LifiModal.d.ts +4 -0
  127. package/dist/{views/LifiModal → adapters/lifi}/LifiModal.js +10 -7
  128. package/dist/adapters/lifi/LifiModal.js.map +1 -0
  129. package/dist/adapters/lifi/index.d.ts +6 -0
  130. package/dist/adapters/lifi/index.js +34 -0
  131. package/dist/adapters/lifi/index.js.map +1 -0
  132. package/dist/adapters/registry.d.ts +8 -0
  133. package/dist/adapters/registry.js +24 -0
  134. package/dist/adapters/registry.js.map +1 -0
  135. package/dist/adapters/solana/ActionsSolana.d.ts +5 -0
  136. package/dist/{views/YourBondsModal/components/Actions → adapters/solana}/ActionsSolana.js +16 -16
  137. package/dist/adapters/solana/ActionsSolana.js.map +1 -0
  138. package/dist/{views/BuyBond → adapters/solana}/BuyComponentSolana.js +21 -24
  139. package/dist/adapters/solana/BuyComponentSolana.js.map +1 -0
  140. package/dist/{components/ConnectSolanaWalletButton → adapters/solana}/ConnectSolanaWalletButton.d.ts +1 -1
  141. package/dist/adapters/solana/ConnectSolanaWalletButton.js +14 -0
  142. package/dist/adapters/solana/ConnectSolanaWalletButton.js.map +1 -0
  143. package/dist/adapters/solana/ConnectToSolanaBanner.d.ts +1 -0
  144. package/dist/adapters/solana/ConnectToSolanaBanner.js +18 -0
  145. package/dist/adapters/solana/ConnectToSolanaBanner.js.map +1 -0
  146. package/dist/adapters/solana/SolanaAccountBridge.d.ts +3 -0
  147. package/dist/adapters/solana/SolanaAccountBridge.js +13 -0
  148. package/dist/adapters/solana/SolanaAccountBridge.js.map +1 -0
  149. package/dist/{views/YourBondsModal/components/TransferBondModal → adapters/solana}/TransferActionSolana.d.ts +2 -2
  150. package/dist/{views/YourBondsModal/components/TransferBondModal → adapters/solana}/TransferActionSolana.js +7 -7
  151. package/dist/adapters/solana/TransferActionSolana.js.map +1 -0
  152. package/dist/adapters/solana/UserBondRowSolana.d.ts +5 -0
  153. package/dist/{views/YourBonds/components/UserBondRow → adapters/solana}/UserBondRowSolana.js +27 -30
  154. package/dist/adapters/solana/UserBondRowSolana.js.map +1 -0
  155. package/dist/{utils → adapters/solana}/calculateSolanaTrueBillPrice.js +1 -1
  156. package/dist/adapters/solana/calculateSolanaTrueBillPrice.js.map +1 -0
  157. package/dist/{types → adapters/solana/codecs}/bondCodec.d.ts +2 -2
  158. package/dist/{types → adapters/solana/codecs}/bondCodec.js +2 -3
  159. package/dist/adapters/solana/codecs/bondCodec.js.map +1 -0
  160. package/dist/{types → adapters/solana/codecs}/bondIssuanceCodec.d.ts +2 -2
  161. package/dist/{types → adapters/solana/codecs}/bondIssuanceCodec.js +2 -3
  162. package/dist/adapters/solana/codecs/bondIssuanceCodec.js.map +1 -0
  163. package/dist/{types → adapters/solana/codecs}/bondPricingCodec.d.ts +1 -1
  164. package/dist/{types → adapters/solana/codecs}/bondPricingCodec.js +2 -2
  165. package/dist/adapters/solana/codecs/bondPricingCodec.js.map +1 -0
  166. package/dist/{types → adapters/solana/codecs}/bondTermCodec.d.ts +1 -1
  167. package/dist/{types → adapters/solana/codecs}/bondTermCodec.js +2 -2
  168. package/dist/adapters/solana/codecs/bondTermCodec.js.map +1 -0
  169. package/dist/adapters/solana/derivePda.js.map +1 -0
  170. package/dist/adapters/solana/fetchBondsDataSOL.d.ts +4 -0
  171. package/dist/adapters/solana/fetchBondsDataSOL.js +123 -0
  172. package/dist/adapters/solana/fetchBondsDataSOL.js.map +1 -0
  173. package/dist/{state/bonds/fetchUsersBonds → adapters/solana}/fetchUsersBondsSOL.d.ts +2 -2
  174. package/dist/{state/bonds/fetchUsersBonds → adapters/solana}/fetchUsersBondsSOL.js +11 -11
  175. package/dist/adapters/solana/fetchUsersBondsSOL.js.map +1 -0
  176. package/dist/{utils → adapters/solana}/getSolanaAccount.d.ts +1 -1
  177. package/dist/{utils → adapters/solana}/getSolanaAccount.js +4 -4
  178. package/dist/adapters/solana/getSolanaAccount.js.map +1 -0
  179. package/dist/adapters/solana/index.d.ts +8 -0
  180. package/dist/adapters/solana/index.js +40 -0
  181. package/dist/adapters/solana/index.js.map +1 -0
  182. package/dist/adapters/solana/polyfills.d.ts +1 -0
  183. package/dist/adapters/solana/polyfills.js +7 -0
  184. package/dist/adapters/solana/polyfills.js.map +1 -0
  185. package/dist/adapters/solana/solanaAtaHelper.js.map +1 -0
  186. package/dist/{constants → adapters/solana}/solanaConstants.js +1 -1
  187. package/dist/adapters/solana/solanaConstants.js.map +1 -0
  188. package/dist/adapters/solana/solanaMulticall.js.map +1 -0
  189. package/dist/adapters/solana/solanaRpc.d.ts +1 -0
  190. package/dist/{utils → adapters/solana}/solanaRpc.js +2 -2
  191. package/dist/adapters/solana/solanaRpc.js.map +1 -0
  192. package/dist/{state/balance → adapters/solana}/useCurrencyBalanceSolana.d.ts +4 -0
  193. package/dist/{state/balance → adapters/solana}/useCurrencyBalanceSolana.js +9 -2
  194. package/dist/adapters/solana/useCurrencyBalanceSolana.js.map +1 -0
  195. package/dist/adapters/solana/useJupiterSolanaQuote.js.map +1 -0
  196. package/dist/adapters/solana/useSOLAccount.js.map +1 -0
  197. package/dist/adapters/sui/ActionsSui.d.ts +5 -0
  198. package/dist/{views/YourBondsModal/components/Actions → adapters/sui}/ActionsSui.js +14 -14
  199. package/dist/adapters/sui/ActionsSui.js.map +1 -0
  200. package/dist/{views/BuyBond → adapters/sui}/BuyComponentSui.js +14 -21
  201. package/dist/adapters/sui/BuyComponentSui.js.map +1 -0
  202. package/dist/adapters/sui/ClaimAllActionSui.d.ts +5 -0
  203. package/dist/adapters/sui/ClaimAllActionSui.js +89 -0
  204. package/dist/adapters/sui/ClaimAllActionSui.js.map +1 -0
  205. package/dist/adapters/sui/ConnectToSuiBanner.d.ts +1 -0
  206. package/dist/adapters/sui/ConnectToSuiBanner.js +16 -0
  207. package/dist/adapters/sui/ConnectToSuiBanner.js.map +1 -0
  208. package/dist/adapters/sui/SuiAccountBridge.d.ts +3 -0
  209. package/dist/adapters/sui/SuiAccountBridge.js +12 -0
  210. package/dist/adapters/sui/SuiAccountBridge.js.map +1 -0
  211. package/dist/{views/YourBondsModal/components/TransferBondModal → adapters/sui}/TransferActionSui.d.ts +2 -3
  212. package/dist/{views/YourBondsModal/components/TransferBondModal → adapters/sui}/TransferActionSui.js +8 -8
  213. package/dist/adapters/sui/TransferActionSui.js.map +1 -0
  214. package/dist/adapters/sui/UserBondRowSui.d.ts +5 -0
  215. package/dist/adapters/sui/UserBondRowSui.js +125 -0
  216. package/dist/adapters/sui/UserBondRowSui.js.map +1 -0
  217. package/dist/{state/bonds/fetchBondsData → adapters/sui}/fetchBondsDataSui.d.ts +2 -2
  218. package/dist/{state/bonds/fetchBondsData → adapters/sui}/fetchBondsDataSui.js +4 -30
  219. package/dist/adapters/sui/fetchBondsDataSui.js.map +1 -0
  220. package/dist/{state/bonds/fetchUsersBonds → adapters/sui}/fetchUsersBondsSUI.d.ts +2 -2
  221. package/dist/{state/bonds/fetchUsersBonds → adapters/sui}/fetchUsersBondsSUI.js +8 -8
  222. package/dist/adapters/sui/fetchUsersBondsSUI.js.map +1 -0
  223. package/dist/adapters/sui/index.d.ts +6 -0
  224. package/dist/adapters/sui/index.js +37 -0
  225. package/dist/adapters/sui/index.js.map +1 -0
  226. package/dist/adapters/sui/suiConstants.js.map +1 -0
  227. package/dist/{utils → adapters/sui}/suiHelpers.js +1 -1
  228. package/dist/adapters/sui/suiHelpers.js.map +1 -0
  229. package/dist/adapters/sui/suiZapTokens.js.map +1 -0
  230. package/dist/{state/balance → adapters/sui}/useCurrencyBalanceSui.js +1 -1
  231. package/dist/adapters/sui/useCurrencyBalanceSui.js.map +1 -0
  232. package/dist/adapters/sui/useSUIAccount.d.ts +14 -0
  233. package/dist/{hooks/accounts → adapters/sui}/useSUIAccount.js +3 -2
  234. package/dist/adapters/sui/useSUIAccount.js.map +1 -0
  235. package/dist/{state/zap → adapters/sui}/useSuiZapQuote.js +3 -4
  236. package/dist/adapters/sui/useSuiZapQuote.js.map +1 -0
  237. package/dist/adapters/types.d.ts +110 -0
  238. package/dist/components/BondFilters/BondFilters.js +3 -3
  239. package/dist/components/BondFilters/BondFilters.js.map +1 -1
  240. package/dist/components/Carousel/index.d.ts +8 -0
  241. package/dist/components/Carousel/index.js +148 -0
  242. package/dist/components/Carousel/index.js.map +1 -0
  243. package/dist/components/ChainOptionList/ChainOptionsButtons.d.ts +1 -1
  244. package/dist/components/ChainOptionList/ChainOptionsButtons.js +6 -9
  245. package/dist/components/ChainOptionList/ChainOptionsButtons.js.map +1 -1
  246. package/dist/components/ChainOptionList/ChainOptionsList.d.ts +1 -1
  247. package/dist/components/ChainOptionList/ChainOptionsList.js +3 -4
  248. package/dist/components/ChainOptionList/ChainOptionsList.js.map +1 -1
  249. package/dist/components/CircularProgress/index.js +3 -14
  250. package/dist/components/CircularProgress/index.js.map +1 -1
  251. package/dist/components/ConnectButton/index.d.ts +1 -2
  252. package/dist/components/ConnectButton/index.js +2 -5
  253. package/dist/components/ConnectButton/index.js.map +1 -1
  254. package/dist/components/ConnectSuiWalletButton/ConnectSuiWalletButton.d.ts +1 -2
  255. package/dist/components/CustomClaimModals/AbondModal.d.ts +1 -2
  256. package/dist/components/CustomClaimModals/AbondModal.js +2 -3
  257. package/dist/components/CustomClaimModals/AbondModal.js.map +1 -1
  258. package/dist/components/CustomClaimModals/OabondModal.d.ts +1 -2
  259. package/dist/components/CustomClaimModals/OabondModal.js +2 -3
  260. package/dist/components/CustomClaimModals/OabondModal.js.map +1 -1
  261. package/dist/components/CustomClaimModals/PmusdModal.d.ts +1 -2
  262. package/dist/components/CustomClaimModals/PmusdModal.js +2 -9
  263. package/dist/components/CustomClaimModals/PmusdModal.js.map +1 -1
  264. package/dist/components/CustomClaimModals/PostClaimModal.d.ts +7 -0
  265. package/dist/components/CustomClaimModals/PostClaimModal.js +14 -0
  266. package/dist/components/CustomClaimModals/PostClaimModal.js.map +1 -0
  267. package/dist/components/FavIcons/AddFavToken.d.ts +1 -2
  268. package/dist/components/FavIcons/AddFavToken.js +2 -2
  269. package/dist/components/FavIcons/AddFavToken.js.map +1 -1
  270. package/dist/components/FavIcons/FavFilter.d.ts +1 -2
  271. package/dist/components/FavIcons/FavFilter.js +3 -3
  272. package/dist/components/FavIcons/FavFilter.js.map +1 -1
  273. package/dist/components/LoadingSpinner/index.d.ts +1 -2
  274. package/dist/components/LoadingSpinner/index.js +8 -30
  275. package/dist/components/LoadingSpinner/index.js.map +1 -1
  276. package/dist/components/MenuSelect/MenuSelect.d.ts +1 -2
  277. package/dist/components/MenuSelect/MenuSelect.js +3 -9
  278. package/dist/components/MenuSelect/MenuSelect.js.map +1 -1
  279. package/dist/components/MenuSelect/RecommendationSelector.d.ts +1 -2
  280. package/dist/components/MenuSelect/RecommendationSelector.js +4 -24
  281. package/dist/components/MenuSelect/RecommendationSelector.js.map +1 -1
  282. package/dist/components/NetworkFilter/index.d.ts +1 -2
  283. package/dist/components/NetworkFilter/index.js +14 -53
  284. package/dist/components/NetworkFilter/index.js.map +1 -1
  285. package/dist/components/PlaceholderMonkey/index.d.ts +1 -2
  286. package/dist/components/PlaceholderMonkey/index.js +2 -7
  287. package/dist/components/PlaceholderMonkey/index.js.map +1 -1
  288. package/dist/components/ProgressBar/ProgressBar.js +3 -5
  289. package/dist/components/ProgressBar/ProgressBar.js.map +1 -1
  290. package/dist/components/ProgressBar/ProgressBarWrapper.d.ts +2 -2
  291. package/dist/components/ProgressBar/ProgressBarWrapper.js +4 -4
  292. package/dist/components/ProgressBar/ProgressBarWrapper.js.map +1 -1
  293. package/dist/components/ProgressiveImage/index.d.ts +1 -2
  294. package/dist/components/ProgressiveImage/index.js +3 -21
  295. package/dist/components/ProgressiveImage/index.js.map +1 -1
  296. package/dist/components/SafeHTMLComponent/index.d.ts +1 -2
  297. package/dist/components/SafeHTMLComponent/index.js +1 -1
  298. package/dist/components/SlippageModal/index.d.ts +1 -2
  299. package/dist/components/SlippageModal/index.js +7 -43
  300. package/dist/components/SlippageModal/index.js.map +1 -1
  301. package/dist/components/StepBubble/index.d.ts +1 -2
  302. package/dist/components/StepBubble/index.js +5 -33
  303. package/dist/components/StepBubble/index.js.map +1 -1
  304. package/dist/components/Toast/index.d.ts +1 -2
  305. package/dist/components/Toast/index.js +4 -15
  306. package/dist/components/Toast/index.js.map +1 -1
  307. package/dist/components/TokenInfoAndName/index.d.ts +3 -3
  308. package/dist/components/TokenInfoAndName/index.js +8 -19
  309. package/dist/components/TokenInfoAndName/index.js.map +1 -1
  310. package/dist/components/TokenSelectorModal/TokenRow.d.ts +1 -2
  311. package/dist/components/TokenSelectorModal/TokenRow.js +3 -3
  312. package/dist/components/TokenSelectorModal/TokenRow.js.map +1 -1
  313. package/dist/components/TokenSelectorModal/index.js +2 -14
  314. package/dist/components/TokenSelectorModal/index.js.map +1 -1
  315. package/dist/components/TokenSelectorPanel/index.d.ts +1 -1
  316. package/dist/components/TokenSelectorPanel/index.js +12 -25
  317. package/dist/components/TokenSelectorPanel/index.js.map +1 -1
  318. package/dist/components/Tooltip/ButtonsRow.js +3 -4
  319. package/dist/components/Tooltip/ButtonsRow.js.map +1 -1
  320. package/dist/components/Tooltip/Tooltip.js +4 -4
  321. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  322. package/dist/components/YouTooltip/YouTooltip.d.ts +1 -2
  323. package/dist/components/YouTooltip/YouTooltip.js +2 -24
  324. package/dist/components/YouTooltip/YouTooltip.js.map +1 -1
  325. package/dist/components/uikit-sdk/Button/Button.d.ts +1 -2
  326. package/dist/components/uikit-sdk/Button/Button.js +34 -40
  327. package/dist/components/uikit-sdk/Button/Button.js.map +1 -1
  328. package/dist/components/uikit-sdk/Button/IconButton.js +16 -15
  329. package/dist/components/uikit-sdk/Button/IconButton.js.map +1 -1
  330. package/dist/components/uikit-sdk/Button/types.d.ts +1 -2
  331. package/dist/components/uikit-sdk/Button/types.js +6 -6
  332. package/dist/components/uikit-sdk/Button/types.js.map +1 -1
  333. package/dist/components/uikit-sdk/Checkbox/index.d.ts +1 -1
  334. package/dist/components/uikit-sdk/Checkbox/index.js +11 -8
  335. package/dist/components/uikit-sdk/Checkbox/index.js.map +1 -1
  336. package/dist/components/uikit-sdk/Checkbox/types.d.ts +2 -2
  337. package/dist/components/uikit-sdk/Checkbox/types.js.map +1 -1
  338. package/dist/components/uikit-sdk/Flex/index.d.ts +9 -3
  339. package/dist/components/uikit-sdk/Flex/index.js +8 -4
  340. package/dist/components/uikit-sdk/Flex/index.js.map +1 -1
  341. package/dist/components/uikit-sdk/Input/Input.d.ts +4 -7
  342. package/dist/components/uikit-sdk/Input/Input.js +4 -46
  343. package/dist/components/uikit-sdk/Input/Input.js.map +1 -1
  344. package/dist/components/uikit-sdk/LoadingDots/index.d.ts +1 -1
  345. package/dist/components/uikit-sdk/LoadingDots/index.js +2 -21
  346. package/dist/components/uikit-sdk/LoadingDots/index.js.map +1 -1
  347. package/dist/components/uikit-sdk/Modal/ModalHeader.js +5 -5
  348. package/dist/components/uikit-sdk/Modal/ModalHeader.js.map +1 -1
  349. package/dist/components/uikit-sdk/Modal/index.d.ts +1 -2
  350. package/dist/components/uikit-sdk/Modal/index.js +10 -14
  351. package/dist/components/uikit-sdk/Modal/index.js.map +1 -1
  352. package/dist/components/uikit-sdk/Modal/types.d.ts +3 -3
  353. package/dist/components/uikit-sdk/Select/Select.d.ts +1 -2
  354. package/dist/components/uikit-sdk/Select/Select.js +24 -17
  355. package/dist/components/uikit-sdk/Select/Select.js.map +1 -1
  356. package/dist/components/uikit-sdk/Select/SelectItem.d.ts +1 -1
  357. package/dist/components/uikit-sdk/Select/SelectItem.js +26 -15
  358. package/dist/components/uikit-sdk/Select/SelectItem.js.map +1 -1
  359. package/dist/components/uikit-sdk/Select/types.d.ts +1 -0
  360. package/dist/components/uikit-sdk/Select/types.js +9 -9
  361. package/dist/components/uikit-sdk/Select/types.js.map +1 -1
  362. package/dist/components/uikit-sdk/Skeleton/index.d.ts +1 -2
  363. package/dist/components/uikit-sdk/Skeleton/index.js +7 -8
  364. package/dist/components/uikit-sdk/Skeleton/index.js.map +1 -1
  365. package/dist/components/uikit-sdk/Skeleton/types.d.ts +2 -2
  366. package/dist/components/uikit-sdk/Skeleton/types.js.map +1 -1
  367. package/dist/components/uikit-sdk/Spinner/index.d.ts +11 -0
  368. package/dist/components/uikit-sdk/Spinner/index.js +9 -0
  369. package/dist/components/uikit-sdk/Spinner/index.js.map +1 -0
  370. package/dist/components/uikit-sdk/Svg/Icons/AllChains.js +1 -1
  371. package/dist/components/uikit-sdk/Svg/Icons/Arrow.js +2 -2
  372. package/dist/components/uikit-sdk/Svg/Icons/Arrow.js.map +1 -1
  373. package/dist/components/uikit-sdk/Svg/Icons/BitTensor.js +1 -1
  374. package/dist/components/uikit-sdk/Svg/Icons/Caret.js +2 -2
  375. package/dist/components/uikit-sdk/Svg/Icons/Caret.js.map +1 -1
  376. package/dist/components/uikit-sdk/Svg/Icons/Close.js +2 -2
  377. package/dist/components/uikit-sdk/Svg/Icons/Close.js.map +1 -1
  378. package/dist/components/uikit-sdk/Svg/Icons/Cog.d.ts +1 -1
  379. package/dist/components/uikit-sdk/Svg/Icons/Cog.js +2 -2
  380. package/dist/components/uikit-sdk/Svg/Icons/Cog.js.map +1 -1
  381. package/dist/components/uikit-sdk/Svg/Icons/CoinGecko.js +2 -2
  382. package/dist/components/uikit-sdk/Svg/Icons/CoinGecko.js.map +1 -1
  383. package/dist/components/uikit-sdk/Svg/Icons/DexScreener.js +2 -2
  384. package/dist/components/uikit-sdk/Svg/Icons/DexScreener.js.map +1 -1
  385. package/dist/components/uikit-sdk/Svg/Icons/Discord.js +2 -2
  386. package/dist/components/uikit-sdk/Svg/Icons/Discord.js.map +1 -1
  387. package/dist/components/uikit-sdk/Svg/Icons/Discount.js +2 -2
  388. package/dist/components/uikit-sdk/Svg/Icons/Discount.js.map +1 -1
  389. package/dist/components/uikit-sdk/Svg/Icons/Error.js +2 -2
  390. package/dist/components/uikit-sdk/Svg/Icons/Error.js.map +1 -1
  391. package/dist/components/uikit-sdk/Svg/Icons/Expand.js +2 -2
  392. package/dist/components/uikit-sdk/Svg/Icons/Expand.js.map +1 -1
  393. package/dist/components/uikit-sdk/Svg/Icons/External.js +2 -2
  394. package/dist/components/uikit-sdk/Svg/Icons/External.js.map +1 -1
  395. package/dist/components/uikit-sdk/Svg/Icons/FirePink.js +1 -1
  396. package/dist/components/uikit-sdk/Svg/Icons/GiftBox.js +1 -1
  397. package/dist/components/uikit-sdk/Svg/Icons/GiftBoxPlain.js +1 -1
  398. package/dist/components/uikit-sdk/Svg/Icons/Insight.js +2 -2
  399. package/dist/components/uikit-sdk/Svg/Icons/Insight.js.map +1 -1
  400. package/dist/components/uikit-sdk/Svg/Icons/L1X.d.ts +4 -0
  401. package/dist/components/uikit-sdk/Svg/Icons/L1X.js +8 -0
  402. package/dist/components/uikit-sdk/Svg/Icons/L1X.js.map +1 -0
  403. package/dist/components/uikit-sdk/Svg/Icons/LineChart.js +1 -1
  404. package/dist/components/uikit-sdk/Svg/Icons/More.js +2 -2
  405. package/dist/components/uikit-sdk/Svg/Icons/More.js.map +1 -1
  406. package/dist/components/uikit-sdk/Svg/Icons/NewOffer.js +1 -1
  407. package/dist/components/uikit-sdk/Svg/Icons/NewOffer.js.map +1 -1
  408. package/dist/components/uikit-sdk/Svg/Icons/PlaceholderMonkey.d.ts +1 -1
  409. package/dist/components/uikit-sdk/Svg/Icons/PlaceholderMonkey.js +2 -2
  410. package/dist/components/uikit-sdk/Svg/Icons/PlaceholderMonkey.js.map +1 -1
  411. package/dist/components/uikit-sdk/Svg/Icons/Question.js +1 -1
  412. package/dist/components/uikit-sdk/Svg/Icons/QuestionCircle.js +2 -2
  413. package/dist/components/uikit-sdk/Svg/Icons/QuestionCircle.js.map +1 -1
  414. package/dist/components/uikit-sdk/Svg/Icons/Robinhood.js +1 -1
  415. package/dist/components/uikit-sdk/Svg/Icons/Search.js +2 -2
  416. package/dist/components/uikit-sdk/Svg/Icons/Search.js.map +1 -1
  417. package/dist/components/uikit-sdk/Svg/Icons/SellingFast.js +1 -1
  418. package/dist/components/uikit-sdk/Svg/Icons/SellingFast.js.map +1 -1
  419. package/dist/components/uikit-sdk/Svg/Icons/ShortSupply.js +1 -1
  420. package/dist/components/uikit-sdk/Svg/Icons/Sort.js +2 -2
  421. package/dist/components/uikit-sdk/Svg/Icons/Sort.js.map +1 -1
  422. package/dist/components/uikit-sdk/Svg/Icons/Star.js +1 -1
  423. package/dist/components/uikit-sdk/Svg/Icons/StarFilled.js +1 -1
  424. package/dist/components/uikit-sdk/Svg/Icons/Success.js +2 -2
  425. package/dist/components/uikit-sdk/Svg/Icons/Success.js.map +1 -1
  426. package/dist/components/uikit-sdk/Svg/Icons/Tag.js +1 -1
  427. package/dist/components/uikit-sdk/Svg/Icons/Tick.js +2 -2
  428. package/dist/components/uikit-sdk/Svg/Icons/Tick.js.map +1 -1
  429. package/dist/components/uikit-sdk/Svg/Icons/Timer.js +1 -1
  430. package/dist/components/uikit-sdk/Svg/Icons/TurnArrow.js +2 -2
  431. package/dist/components/uikit-sdk/Svg/Icons/TurnArrow.js.map +1 -1
  432. package/dist/components/uikit-sdk/Svg/Icons/Twitter.js +2 -2
  433. package/dist/components/uikit-sdk/Svg/Icons/Twitter.js.map +1 -1
  434. package/dist/components/uikit-sdk/Svg/Icons/URL.js +2 -2
  435. package/dist/components/uikit-sdk/Svg/Icons/URL.js.map +1 -1
  436. package/dist/components/uikit-sdk/Svg/Icons/WhaleActivity.js +1 -1
  437. package/dist/components/uikit-sdk/Svg/Icons/WhaleActivity.js.map +1 -1
  438. package/dist/components/uikit-sdk/Svg/styles.d.ts +5 -2
  439. package/dist/components/uikit-sdk/Svg/styles.js +8 -7
  440. package/dist/components/uikit-sdk/Svg/styles.js.map +1 -1
  441. package/dist/components/uikit-sdk/Svg/tokens/APTOS.js +1 -1
  442. package/dist/components/uikit-sdk/Svg/tokens/ARBITRUM.js +1 -1
  443. package/dist/components/uikit-sdk/Svg/tokens/AVAX.js +1 -1
  444. package/dist/components/uikit-sdk/Svg/tokens/BASE.js +1 -1
  445. package/dist/components/uikit-sdk/Svg/tokens/BERA.js +1 -1
  446. package/dist/components/uikit-sdk/Svg/tokens/BLAST.js +1 -1
  447. package/dist/components/uikit-sdk/Svg/tokens/BNB.js +1 -1
  448. package/dist/components/uikit-sdk/Svg/tokens/CROSSFI.js +1 -1
  449. package/dist/components/uikit-sdk/Svg/tokens/ETH.js +1 -1
  450. package/dist/components/uikit-sdk/Svg/tokens/GraphLinq.js +1 -1
  451. package/dist/components/uikit-sdk/Svg/tokens/HYPEREVM.js +1 -1
  452. package/dist/components/uikit-sdk/Svg/tokens/INEVM.js +1 -1
  453. package/dist/components/uikit-sdk/Svg/tokens/IOTA.js +1 -1
  454. package/dist/components/uikit-sdk/Svg/tokens/KATANA.js +1 -1
  455. package/dist/components/uikit-sdk/Svg/tokens/LIGHTLINK.js +1 -1
  456. package/dist/components/uikit-sdk/Svg/tokens/LINEA.js +1 -1
  457. package/dist/components/uikit-sdk/Svg/tokens/MEGAETH.js +1 -1
  458. package/dist/components/uikit-sdk/Svg/tokens/MONAD.js +1 -1
  459. package/dist/components/uikit-sdk/Svg/tokens/POLYGON.js +1 -1
  460. package/dist/components/uikit-sdk/Svg/tokens/SOL.js +1 -1
  461. package/dist/components/uikit-sdk/Svg/tokens/SONIC.js +1 -1
  462. package/dist/components/uikit-sdk/Svg/tokens/SUI.js +1 -1
  463. package/dist/components/uikit-sdk/Svg/tokens/TLOS.js +1 -1
  464. package/dist/components/uikit-sdk/Svg/tokens/UNICHAIN.js +1 -1
  465. package/dist/components/uikit-sdk/SwiperDots/index.d.ts +1 -2
  466. package/dist/components/uikit-sdk/SwiperDots/index.js +3 -9
  467. package/dist/components/uikit-sdk/SwiperDots/index.js.map +1 -1
  468. package/dist/components/uikit-sdk/TabNav/index.js +3 -34
  469. package/dist/components/uikit-sdk/TabNav/index.js.map +1 -1
  470. package/dist/components/uikit-sdk/Tag/ListTag.d.ts +1 -2
  471. package/dist/components/uikit-sdk/Tag/ListTag.js +13 -16
  472. package/dist/components/uikit-sdk/Tag/ListTag.js.map +1 -1
  473. package/dist/components/uikit-sdk/Text/index.d.ts +1 -2
  474. package/dist/components/uikit-sdk/Text/index.js +21 -8
  475. package/dist/components/uikit-sdk/Text/index.js.map +1 -1
  476. package/dist/components/uikit-sdk/Text/types.d.ts +3 -2
  477. package/dist/components/uikit-sdk/Text/types.js.map +1 -1
  478. package/dist/components/uikit-sdk/Toggle/index.d.ts +1 -2
  479. package/dist/components/uikit-sdk/Toggle/index.js +7 -8
  480. package/dist/components/uikit-sdk/Toggle/index.js.map +1 -1
  481. package/dist/components/uikit-sdk/TokenImage/index.d.ts +1 -2
  482. package/dist/components/uikit-sdk/TokenImage/index.js +3 -45
  483. package/dist/components/uikit-sdk/TokenImage/index.js.map +1 -1
  484. package/dist/components/uikit-sdk/TooltipBubble/index.js +29 -53
  485. package/dist/components/uikit-sdk/TooltipBubble/index.js.map +1 -1
  486. package/dist/components/uikit-sdk/TooltipBubble/types.d.ts +5 -4
  487. package/dist/components/uikit-sdk/TooltipBubble/types.js.map +1 -1
  488. package/dist/config/constants/addresses.d.ts +1 -1
  489. package/dist/config/constants/addresses.js +22 -17
  490. package/dist/config/constants/addresses.js.map +1 -1
  491. package/dist/config/constants/chains.d.ts +0 -2
  492. package/dist/config/constants/chains.js +6 -2
  493. package/dist/config/constants/chains.js.map +1 -1
  494. package/dist/config/constants/networks.js +1 -0
  495. package/dist/config/constants/networks.js.map +1 -1
  496. package/dist/config/constants/queryKeys.d.ts +1 -0
  497. package/dist/config/constants/queryKeys.js +1 -0
  498. package/dist/config/constants/queryKeys.js.map +1 -1
  499. package/dist/config/constants/variables.d.ts +2 -4
  500. package/dist/config/constants/variables.js +15 -30
  501. package/dist/config/constants/variables.js.map +1 -1
  502. package/dist/constants/aptosConstants.d.ts +0 -2
  503. package/dist/constants/aptosConstants.js +1 -4
  504. package/dist/constants/aptosConstants.js.map +1 -1
  505. package/dist/contexts/ModalContext.d.ts +1 -1
  506. package/dist/contexts/ModalContext.js +1 -1
  507. package/dist/contexts/Popups.d.ts +1 -1
  508. package/dist/contexts/Popups.js +2 -2
  509. package/dist/contexts/Popups.js.map +1 -1
  510. package/dist/hooks/useSendReferenceId.js +2 -2
  511. package/dist/hooks/useSendReferenceId.js.map +1 -1
  512. package/dist/main.d.ts +1 -1
  513. package/dist/main.js +1 -1
  514. package/dist/main.js.map +1 -1
  515. package/dist/providers/index.d.ts +3 -4
  516. package/dist/providers/index.js +5 -39
  517. package/dist/providers/index.js.map +1 -1
  518. package/dist/state/balance/useCurrencyBalance.js +3 -23
  519. package/dist/state/balance/useCurrencyBalance.js.map +1 -1
  520. package/dist/state/balance/useUserTokensBalance.js +8 -78
  521. package/dist/state/balance/useUserTokensBalance.js.map +1 -1
  522. package/dist/state/bondApiStats/useGetBondApiStats.js +2 -3
  523. package/dist/state/bondApiStats/useGetBondApiStats.js.map +1 -1
  524. package/dist/state/bonds/fetchBondsData/bondPricing.d.ts +4 -0
  525. package/dist/state/bonds/fetchBondsData/bondPricing.js +39 -0
  526. package/dist/state/bonds/fetchBondsData/bondPricing.js.map +1 -0
  527. package/dist/state/bonds/useBondsData.js +25 -37
  528. package/dist/state/bonds/useBondsData.js.map +1 -1
  529. package/dist/state/bonds/useBondsList.js +2 -3
  530. package/dist/state/bonds/useBondsList.js.map +1 -1
  531. package/dist/state/bonds/useBondsListPreTGE.js +2 -3
  532. package/dist/state/bonds/useBondsListPreTGE.js.map +1 -1
  533. package/dist/state/bonds/useUserBonds.d.ts +3 -1
  534. package/dist/state/bonds/useUserBonds.js +25 -37
  535. package/dist/state/bonds/useUserBonds.js.map +1 -1
  536. package/dist/state/bonds/useUserBondsPreTGE.d.ts +1 -2
  537. package/dist/state/bonds/useUserBondsPreTGE.js +7 -203
  538. package/dist/state/bonds/useUserBondsPreTGE.js.map +1 -1
  539. package/dist/state/chainAccount/useChainAccount.d.ts +13 -0
  540. package/dist/state/chainAccount/useChainAccount.js +30 -0
  541. package/dist/state/chainAccount/useChainAccount.js.map +1 -0
  542. package/dist/state/hotBonds/useHotBonds.js +4 -4
  543. package/dist/state/hotBonds/useHotBonds.js.map +1 -1
  544. package/dist/state/recommendations/useGetBondRecommendations.js +2 -2
  545. package/dist/state/recommendations/useGetBondRecommendations.js.map +1 -1
  546. package/dist/state/tiers/tiers.d.ts +66 -0
  547. package/dist/state/tiers/tiers.js +97 -0
  548. package/dist/state/tiers/tiers.js.map +1 -0
  549. package/dist/state/tiers/useTierPoints.d.ts +2 -66
  550. package/dist/state/tiers/useTierPoints.js +13 -148
  551. package/dist/state/tiers/useTierPoints.js.map +1 -1
  552. package/dist/state/tokenPrices/resolveTokenPrice.d.ts +13 -0
  553. package/dist/state/tokenPrices/resolveTokenPrice.js +37 -0
  554. package/dist/state/tokenPrices/resolveTokenPrice.js.map +1 -0
  555. package/dist/state/tokenPrices/useTokenPrices.js +2 -3
  556. package/dist/state/tokenPrices/useTokenPrices.js.map +1 -1
  557. package/dist/state/useSDKConfig.d.ts +3 -2
  558. package/dist/state/useSDKConfig.js +53 -6
  559. package/dist/state/useSDKConfig.js.map +1 -1
  560. package/dist/styles.css +2 -1588
  561. package/dist/utils/bondPriceHelpers.js +1 -11
  562. package/dist/utils/bondPriceHelpers.js.map +1 -1
  563. package/dist/utils/campaignStyles.d.ts +5 -5
  564. package/dist/utils/campaignStyles.js.map +1 -1
  565. package/dist/utils/displayHelpers.js +1 -1
  566. package/dist/utils/displayHelpers.js.map +1 -1
  567. package/dist/utils/httpClient.d.ts +11 -0
  568. package/dist/utils/httpClient.js +48 -0
  569. package/dist/utils/httpClient.js.map +1 -0
  570. package/dist/utils/resolveColor.d.ts +1 -0
  571. package/dist/utils/resolveColor.js +9 -0
  572. package/dist/utils/resolveColor.js.map +1 -0
  573. package/dist/views/Bonds/Bonds.d.ts +1 -2
  574. package/dist/views/Bonds/Bonds.js +2 -11
  575. package/dist/views/Bonds/Bonds.js.map +1 -1
  576. package/dist/views/Bonds/components/BondRows/ActiveBondRows.js +6 -11
  577. package/dist/views/Bonds/components/BondRows/ActiveBondRows.js.map +1 -1
  578. package/dist/views/Bonds/components/BondRows/BondRow.js +23 -14
  579. package/dist/views/Bonds/components/BondRows/BondRow.js.map +1 -1
  580. package/dist/views/Bonds/components/BondRows/ChainTitle.d.ts +1 -2
  581. package/dist/views/Bonds/components/BondRows/ChainTitle.js +5 -13
  582. package/dist/views/Bonds/components/BondRows/ChainTitle.js.map +1 -1
  583. package/dist/views/Bonds/components/BondRows/ModalHandler.d.ts +1 -2
  584. package/dist/views/Bonds/components/BondRows/ModalHandler.js +9 -36
  585. package/dist/views/Bonds/components/BondRows/ModalHandler.js.map +1 -1
  586. package/dist/views/Bonds/components/BondRows/SoldOutRows.d.ts +1 -2
  587. package/dist/views/Bonds/components/BondRows/SoldOutRows.js +6 -8
  588. package/dist/views/Bonds/components/BondRows/SoldOutRows.js.map +1 -1
  589. package/dist/views/Bonds/components/BondsMenu/BondsMenu.js +4 -10
  590. package/dist/views/Bonds/components/BondsMenu/BondsMenu.js.map +1 -1
  591. package/dist/views/Bonds/components/BonusComponents/BonusComponent.d.ts +1 -2
  592. package/dist/views/Bonds/components/BonusComponents/BonusComponent.js +5 -25
  593. package/dist/views/Bonds/components/BonusComponents/BonusComponent.js.map +1 -1
  594. package/dist/views/Bonds/components/BonusComponents/BonusContainer.d.ts +3 -3
  595. package/dist/views/Bonds/components/BonusComponents/BonusContainer.js +6 -3
  596. package/dist/views/Bonds/components/BonusComponents/BonusContainer.js.map +1 -1
  597. package/dist/views/Bonds/components/BonusComponents/BonusTable.d.ts +1 -2
  598. package/dist/views/Bonds/components/BonusComponents/BonusTable.js +10 -22
  599. package/dist/views/Bonds/components/BonusComponents/BonusTable.js.map +1 -1
  600. package/dist/views/Bonds/components/BuyAgainRow/index.d.ts +1 -2
  601. package/dist/views/Bonds/components/BuyAgainRow/index.js +3 -22
  602. package/dist/views/Bonds/components/BuyAgainRow/index.js.map +1 -1
  603. package/dist/views/Bonds/components/ChainBanner/ChainBanner.d.ts +1 -2
  604. package/dist/views/Bonds/components/ChainBanner/ChainBanner.js +5 -11
  605. package/dist/views/Bonds/components/ChainBanner/ChainBanner.js.map +1 -1
  606. package/dist/views/Bonds/components/CheckURL/index.d.ts +1 -2
  607. package/dist/views/Bonds/components/CheckURL/index.js +9 -5
  608. package/dist/views/Bonds/components/CheckURL/index.js.map +1 -1
  609. package/dist/views/Bonds/components/HotBondCards/HotBondCard.d.ts +1 -2
  610. package/dist/views/Bonds/components/HotBondCards/HotBondCard.js +2 -19
  611. package/dist/views/Bonds/components/HotBondCards/HotBondCard.js.map +1 -1
  612. package/dist/views/Bonds/components/HotBondCards/index.d.ts +1 -2
  613. package/dist/views/Bonds/components/HotBondCards/index.js +4 -38
  614. package/dist/views/Bonds/components/HotBondCards/index.js.map +1 -1
  615. package/dist/views/Bonds/components/LoadingSkeleton/LoadingSkeleton.d.ts +1 -2
  616. package/dist/views/Bonds/components/LoadingSkeleton/LoadingSkeleton.js +2 -17
  617. package/dist/views/Bonds/components/LoadingSkeleton/LoadingSkeleton.js.map +1 -1
  618. package/dist/views/Bonds/components/RecommendationCards/SmallRecommendationCard.d.ts +1 -2
  619. package/dist/views/Bonds/components/RecommendationCards/SmallRecommendationCard.js +3 -3
  620. package/dist/views/Bonds/components/RecommendationCards/SmallRecommendationCard.js.map +1 -1
  621. package/dist/views/Bonds/components/RecommendationCards/index.d.ts +1 -2
  622. package/dist/views/Bonds/components/RecommendationCards/index.js +5 -15
  623. package/dist/views/Bonds/components/RecommendationCards/index.js.map +1 -1
  624. package/dist/views/Bonds/index.js +2 -2
  625. package/dist/views/Bonds/index.js.map +1 -1
  626. package/dist/views/Bonds/utils.js +2 -2
  627. package/dist/views/Bonds/utils.js.map +1 -1
  628. package/dist/views/BuyBond/BuyBondModal.js +3 -8
  629. package/dist/views/BuyBond/BuyBondModal.js.map +1 -1
  630. package/dist/views/BuyBond/ChainBuyComponent.d.ts +5 -0
  631. package/dist/views/BuyBond/ChainBuyComponent.js +11 -0
  632. package/dist/views/BuyBond/ChainBuyComponent.js.map +1 -0
  633. package/dist/views/BuyBond/ParticipationSuccessful.d.ts +1 -2
  634. package/dist/views/BuyBond/ParticipationSuccessful.js +8 -26
  635. package/dist/views/BuyBond/ParticipationSuccessful.js.map +1 -1
  636. package/dist/views/BuyBond/components/BondCards/BondCards.d.ts +1 -2
  637. package/dist/views/BuyBond/components/BondCards/BondCards.js +27 -54
  638. package/dist/views/BuyBond/components/BondCards/BondCards.js.map +1 -1
  639. package/dist/views/BuyBond/components/BondCards/BondCardsPreTGE.d.ts +1 -2
  640. package/dist/views/BuyBond/components/BondCards/BondCardsPreTGE.js +3 -56
  641. package/dist/views/BuyBond/components/BondCards/BondCardsPreTGE.js.map +1 -1
  642. package/dist/views/BuyBond/components/BondModalHeader.d.ts +1 -2
  643. package/dist/views/BuyBond/components/BondModalHeader.js +6 -49
  644. package/dist/views/BuyBond/components/BondModalHeader.js.map +1 -1
  645. package/dist/views/BuyBond/components/BondModalMinTierHeader.d.ts +1 -1
  646. package/dist/views/BuyBond/components/BondModalMinTierHeader.js +4 -9
  647. package/dist/views/BuyBond/components/BondModalMinTierHeader.js.map +1 -1
  648. package/dist/views/BuyBond/components/Estimations.d.ts +1 -2
  649. package/dist/views/BuyBond/components/Estimations.js +10 -39
  650. package/dist/views/BuyBond/components/Estimations.js.map +1 -1
  651. package/dist/views/BuyBond/components/ExpandedViewButton.d.ts +1 -2
  652. package/dist/views/BuyBond/components/ExpandedViewButton.js +2 -15
  653. package/dist/views/BuyBond/components/ExpandedViewButton.js.map +1 -1
  654. package/dist/views/BuyBond/components/L1xIframe/L1xIframe.d.ts +4 -0
  655. package/dist/views/BuyBond/components/L1xIframe/L1xIframe.js +12 -0
  656. package/dist/views/BuyBond/components/L1xIframe/L1xIframe.js.map +1 -0
  657. package/dist/views/BuyBond/components/NewRateModal/NewRateModal.d.ts +1 -2
  658. package/dist/views/BuyBond/components/NewRateModal/NewRateModal.js +2 -14
  659. package/dist/views/BuyBond/components/NewRateModal/NewRateModal.js.map +1 -1
  660. package/dist/views/BuyBond/components/NoBonusModal/NoBonusModal.js +2 -2
  661. package/dist/views/BuyBond/components/NoBonusModal/NoBonusModal.js.map +1 -1
  662. package/dist/views/BuyBond/components/PointsLeftForNextTier/PointsLeftForNextTier.js +14 -94
  663. package/dist/views/BuyBond/components/PointsLeftForNextTier/PointsLeftForNextTier.js.map +1 -1
  664. package/dist/views/BuyBond/components/ProjectDescription.d.ts +1 -2
  665. package/dist/views/BuyBond/components/ProjectDescription.js +2 -15
  666. package/dist/views/BuyBond/components/ProjectDescription.js.map +1 -1
  667. package/dist/views/BuyBond/index.d.ts +2 -2
  668. package/dist/views/BuyBond/index.js +2 -2
  669. package/dist/views/BuyBond/index.js.map +1 -1
  670. package/dist/views/BuyBond/utils.js +1 -1
  671. package/dist/views/BuyBond/utils.js.map +1 -1
  672. package/dist/views/FullBondsView/FullBondsView.d.ts +1 -2
  673. package/dist/views/FullBondsView/FullBondsView.js +2 -2
  674. package/dist/views/FullBondsView/FullBondsView.js.map +1 -1
  675. package/dist/views/FullBondsView/index.js +2 -2
  676. package/dist/views/FullBondsView/index.js.map +1 -1
  677. package/dist/views/ProjectView/ProjectView.js +3 -16
  678. package/dist/views/ProjectView/ProjectView.js.map +1 -1
  679. package/dist/views/ProjectView/components/BondLeaderboard/components/SalesTable.d.ts +1 -2
  680. package/dist/views/ProjectView/components/BondLeaderboard/components/SalesTable.js +5 -24
  681. package/dist/views/ProjectView/components/BondLeaderboard/components/SalesTable.js.map +1 -1
  682. package/dist/views/ProjectView/components/BondLeaderboard/components/TopSaleCard.d.ts +1 -2
  683. package/dist/views/ProjectView/components/BondLeaderboard/components/TopSaleCard.js +9 -21
  684. package/dist/views/ProjectView/components/BondLeaderboard/components/TopSaleCard.js.map +1 -1
  685. package/dist/views/ProjectView/components/BondLeaderboard/components/TopThreeSalesCards.d.ts +1 -2
  686. package/dist/views/ProjectView/components/BondLeaderboard/components/TopThreeSalesCards.js +2 -2
  687. package/dist/views/ProjectView/components/BondLeaderboard/components/TopThreeSalesCards.js.map +1 -1
  688. package/dist/views/ProjectView/components/BondLeaderboard/index.d.ts +1 -2
  689. package/dist/views/ProjectView/components/BondLeaderboard/index.js +2 -14
  690. package/dist/views/ProjectView/components/BondLeaderboard/index.js.map +1 -1
  691. package/dist/views/ProjectView/components/BondStats/LineChart.d.ts +10 -0
  692. package/dist/views/ProjectView/components/BondStats/LineChart.js +144 -0
  693. package/dist/views/ProjectView/components/BondStats/LineChart.js.map +1 -0
  694. package/dist/views/ProjectView/components/BondStats/index.d.ts +1 -2
  695. package/dist/views/ProjectView/components/BondStats/index.js +18 -47
  696. package/dist/views/ProjectView/components/BondStats/index.js.map +1 -1
  697. package/dist/views/ProjectView/components/BondStats/types.d.ts +2 -37
  698. package/dist/views/ProjectView/components/BondStats/types.js +1 -28
  699. package/dist/views/ProjectView/components/BondStats/types.js.map +1 -1
  700. package/dist/views/ProjectView/components/NavPanel/index.d.ts +1 -2
  701. package/dist/views/ProjectView/components/NavPanel/index.js +2 -10
  702. package/dist/views/ProjectView/components/NavPanel/index.js.map +1 -1
  703. package/dist/views/ProjectView/components/PriceChart/components/CandleStickChart.d.ts +1 -2
  704. package/dist/views/ProjectView/components/PriceChart/components/CandleStickChart.js +1 -1
  705. package/dist/views/ProjectView/components/PriceChart/components/LineChart.d.ts +1 -2
  706. package/dist/views/ProjectView/components/PriceChart/components/LineChart.js +1 -1
  707. package/dist/views/ProjectView/components/PriceChart/index.d.ts +1 -2
  708. package/dist/views/ProjectView/components/PriceChart/index.js +5 -4
  709. package/dist/views/ProjectView/components/PriceChart/index.js.map +1 -1
  710. package/dist/views/ProjectView/components/ProjectInfo/index.d.ts +1 -2
  711. package/dist/views/ProjectView/components/ProjectInfo/index.js +2 -3
  712. package/dist/views/ProjectView/components/ProjectInfo/index.js.map +1 -1
  713. package/dist/views/ProjectView/components/RecommendationCards/index.d.ts +1 -2
  714. package/dist/views/ProjectView/components/RecommendationCards/index.js +6 -20
  715. package/dist/views/ProjectView/components/RecommendationCards/index.js.map +1 -1
  716. package/dist/views/ProjectView/index.js +2 -2
  717. package/dist/views/ProjectView/index.js.map +1 -1
  718. package/dist/views/SingleBond/SingleBond.js +5 -11
  719. package/dist/views/SingleBond/SingleBond.js.map +1 -1
  720. package/dist/views/SingleBond/SoldOutBuyBondPlaceholder.js +9 -31
  721. package/dist/views/SingleBond/SoldOutBuyBondPlaceholder.js.map +1 -1
  722. package/dist/views/SingleBond/index.js +2 -2
  723. package/dist/views/SingleBond/index.js.map +1 -1
  724. package/dist/views/YourBonds/YourBonds.d.ts +1 -2
  725. package/dist/views/YourBonds/YourBonds.js +29 -36
  726. package/dist/views/YourBonds/YourBonds.js.map +1 -1
  727. package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.d.ts +1 -2
  728. package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.js +11 -197
  729. package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.js.map +1 -1
  730. package/dist/views/YourBonds/components/ClaimAll/index.d.ts +1 -2
  731. package/dist/views/YourBonds/components/ClaimAll/index.js +6 -16
  732. package/dist/views/YourBonds/components/ClaimAll/index.js.map +1 -1
  733. package/dist/views/YourBonds/components/ProfitCard/ProfitCard.d.ts +1 -2
  734. package/dist/views/YourBonds/components/ProfitCard/ProfitCard.js +3 -15
  735. package/dist/views/YourBonds/components/ProfitCard/ProfitCard.js.map +1 -1
  736. package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.d.ts +1 -2
  737. package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.js +3 -3
  738. package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.js.map +1 -1
  739. package/dist/views/YourBonds/index.js +2 -2
  740. package/dist/views/YourBonds/index.js.map +1 -1
  741. package/dist/views/YourBondsModal/YourBondsModal.d.ts +1 -2
  742. package/dist/views/YourBondsModal/YourBondsModal.js +9 -101
  743. package/dist/views/YourBondsModal/YourBondsModal.js.map +1 -1
  744. package/dist/views/YourBondsModal/components/LinkShare/LinkShare.d.ts +1 -1
  745. package/dist/views/YourBondsModal/components/LinkShare/LinkShare.js +3 -16
  746. package/dist/views/YourBondsModal/components/LinkShare/LinkShare.js.map +1 -1
  747. package/dist/views/YourBondsModal/components/LinkShare/templateImageShare.js +1 -2
  748. package/dist/views/YourBondsModal/components/LinkShare/templateImageShare.js.map +1 -1
  749. package/dist/views/YourBondsModal/components/LinkShare/utils.js +8 -7
  750. package/dist/views/YourBondsModal/components/LinkShare/utils.js.map +1 -1
  751. package/dist/views/YourBondsModal/components/NFTImage/NFTImage.d.ts +1 -2
  752. package/dist/views/YourBondsModal/components/NFTImage/NFTImage.js +8 -86
  753. package/dist/views/YourBondsModal/components/NFTImage/NFTImage.js.map +1 -1
  754. package/dist/views/YourBondsModal/components/Recommendations/CardRecommendation.d.ts +1 -1
  755. package/dist/views/YourBondsModal/components/Recommendations/CardRecommendation.js +2 -15
  756. package/dist/views/YourBondsModal/components/Recommendations/CardRecommendation.js.map +1 -1
  757. package/dist/views/YourBondsModal/components/Recommendations/RecSkeleton.d.ts +1 -2
  758. package/dist/views/YourBondsModal/components/Recommendations/RecSkeleton.js +2 -12
  759. package/dist/views/YourBondsModal/components/Recommendations/RecSkeleton.js.map +1 -1
  760. package/dist/views/YourBondsModal/components/Recommendations/Recommendations.d.ts +1 -2
  761. package/dist/views/YourBondsModal/components/Recommendations/Recommendations.js +5 -9
  762. package/dist/views/YourBondsModal/components/Recommendations/Recommendations.js.map +1 -1
  763. package/dist/views/YourBondsModal/components/TransferBondModal/index.js +5 -9
  764. package/dist/views/YourBondsModal/components/TransferBondModal/index.js.map +1 -1
  765. package/dist/views/YourBondsModal/components/YourBondModalHeader/YourBondModalHeader.d.ts +1 -2
  766. package/dist/views/YourBondsModal/components/YourBondModalHeader/YourBondModalHeader.js +2 -24
  767. package/dist/views/YourBondsModal/components/YourBondModalHeader/YourBondModalHeader.js.map +1 -1
  768. package/package.json +100 -21
  769. package/dist/components/ChainOptionList/styles.d.ts +0 -2
  770. package/dist/components/ChainOptionList/styles.js +0 -54
  771. package/dist/components/ChainOptionList/styles.js.map +0 -1
  772. package/dist/components/ConnectAptosWalletButton/ConnectAptosWalletButton.js.map +0 -1
  773. package/dist/components/ConnectSolanaWalletButton/ConnectSolanaWalletButton.js +0 -19
  774. package/dist/components/ConnectSolanaWalletButton/ConnectSolanaWalletButton.js.map +0 -1
  775. package/dist/components/ConnectoToVmBanners/ConnectToAptosBanner.d.ts +0 -1
  776. package/dist/components/ConnectoToVmBanners/ConnectToAptosBanner.js +0 -50
  777. package/dist/components/ConnectoToVmBanners/ConnectToAptosBanner.js.map +0 -1
  778. package/dist/components/ConnectoToVmBanners/ConnectToEvmBanner.d.ts +0 -1
  779. package/dist/components/ConnectoToVmBanners/ConnectToEvmBanner.js +0 -50
  780. package/dist/components/ConnectoToVmBanners/ConnectToEvmBanner.js.map +0 -1
  781. package/dist/components/ConnectoToVmBanners/ConnectToSolanaBanner.d.ts +0 -1
  782. package/dist/components/ConnectoToVmBanners/ConnectToSolanaBanner.js +0 -49
  783. package/dist/components/ConnectoToVmBanners/ConnectToSolanaBanner.js.map +0 -1
  784. package/dist/components/ConnectoToVmBanners/ConnectToSuiBanner.d.ts +0 -1
  785. package/dist/components/ConnectoToVmBanners/ConnectToSuiBanner.js +0 -45
  786. package/dist/components/ConnectoToVmBanners/ConnectToSuiBanner.js.map +0 -1
  787. package/dist/components/ProgressBar/styles.d.ts +0 -2
  788. package/dist/components/ProgressBar/styles.js +0 -15
  789. package/dist/components/ProgressBar/styles.js.map +0 -1
  790. package/dist/components/Toast/styles.d.ts +0 -3
  791. package/dist/components/Toast/styles.js +0 -30
  792. package/dist/components/Toast/styles.js.map +0 -1
  793. package/dist/components/Tooltip/styles.d.ts +0 -2
  794. package/dist/components/Tooltip/styles.js +0 -32
  795. package/dist/components/Tooltip/styles.js.map +0 -1
  796. package/dist/components/uikit-sdk/Button/styles.d.ts +0 -3
  797. package/dist/components/uikit-sdk/Button/styles.js +0 -31
  798. package/dist/components/uikit-sdk/Button/styles.js.map +0 -1
  799. package/dist/components/uikit-sdk/Modal/styles.d.ts +0 -3
  800. package/dist/components/uikit-sdk/Modal/styles.js +0 -47
  801. package/dist/components/uikit-sdk/Modal/styles.js.map +0 -1
  802. package/dist/components/uikit-sdk/Select/styles.d.ts +0 -4
  803. package/dist/components/uikit-sdk/Select/styles.js +0 -50
  804. package/dist/components/uikit-sdk/Select/styles.js.map +0 -1
  805. package/dist/components/uikit-sdk/Skeleton/styles.d.ts +0 -3
  806. package/dist/components/uikit-sdk/Skeleton/styles.js +0 -43
  807. package/dist/components/uikit-sdk/Skeleton/styles.js.map +0 -1
  808. package/dist/components/uikit-sdk/Toggle/styles.d.ts +0 -3
  809. package/dist/components/uikit-sdk/Toggle/styles.js +0 -22
  810. package/dist/components/uikit-sdk/Toggle/styles.js.map +0 -1
  811. package/dist/components/uikit-sdk/TooltipBubble/styles.d.ts +0 -4
  812. package/dist/components/uikit-sdk/TooltipBubble/styles.js +0 -108
  813. package/dist/components/uikit-sdk/TooltipBubble/styles.js.map +0 -1
  814. package/dist/config/constants/suiZapTokens.js.map +0 -1
  815. package/dist/constants/solanaConstants.js.map +0 -1
  816. package/dist/constants/suiConstants.js.map +0 -1
  817. package/dist/contexts/SwiperProvider.d.ts +0 -12
  818. package/dist/contexts/SwiperProvider.js +0 -21
  819. package/dist/contexts/SwiperProvider.js.map +0 -1
  820. package/dist/hooks/accounts/useEVMAccount.js.map +0 -1
  821. package/dist/hooks/accounts/useSOLAccount.js.map +0 -1
  822. package/dist/hooks/accounts/useSUIAccount.d.ts +0 -7
  823. package/dist/hooks/accounts/useSUIAccount.js.map +0 -1
  824. package/dist/hooks/useMonitorTx.js.map +0 -1
  825. package/dist/hooks/useSwiper.d.ts +0 -2
  826. package/dist/hooks/useSwiper.js +0 -13
  827. package/dist/hooks/useSwiper.js.map +0 -1
  828. package/dist/providers/AptosWalletProvider.d.ts +0 -5
  829. package/dist/providers/SolanaWalletProvider.d.ts +0 -5
  830. package/dist/providers/SuiWalletProvider.d.ts +0 -5
  831. package/dist/state/allowance/useAllowance.js.map +0 -1
  832. package/dist/state/balance/useCurrencyBalanceAptos.js.map +0 -1
  833. package/dist/state/balance/useCurrencyBalanceSolana.js.map +0 -1
  834. package/dist/state/balance/useCurrencyBalanceSui.js.map +0 -1
  835. package/dist/state/bonds/fetchBondsData/cleanBillsData.d.ts +0 -4
  836. package/dist/state/bonds/fetchBondsData/cleanBillsData.js +0 -142
  837. package/dist/state/bonds/fetchBondsData/cleanBillsData.js.map +0 -1
  838. package/dist/state/bonds/fetchBondsData/fetchBondsDataAptos.js.map +0 -1
  839. package/dist/state/bonds/fetchBondsData/fetchBondsDataEVM.js +0 -89
  840. package/dist/state/bonds/fetchBondsData/fetchBondsDataEVM.js.map +0 -1
  841. package/dist/state/bonds/fetchBondsData/fetchBondsDataPreTGE.js.map +0 -1
  842. package/dist/state/bonds/fetchBondsData/fetchBondsDataSOL.d.ts +0 -3
  843. package/dist/state/bonds/fetchBondsData/fetchBondsDataSOL.js +0 -68
  844. package/dist/state/bonds/fetchBondsData/fetchBondsDataSOL.js.map +0 -1
  845. package/dist/state/bonds/fetchBondsData/fetchBondsDataSui.js.map +0 -1
  846. package/dist/state/bonds/fetchUsersBonds/fetchUsersBondsAptos.js.map +0 -1
  847. package/dist/state/bonds/fetchUsersBonds/fetchUsersBondsEVM.js.map +0 -1
  848. package/dist/state/bonds/fetchUsersBonds/fetchUsersBondsSOL.js.map +0 -1
  849. package/dist/state/bonds/fetchUsersBonds/fetchUsersBondsSUI.js.map +0 -1
  850. package/dist/state/bonds/useTierProofSignature.js.map +0 -1
  851. package/dist/state/zap/useAptosZapQuote.js.map +0 -1
  852. package/dist/state/zap/useJupiterSolanaQuote.js.map +0 -1
  853. package/dist/state/zap/useSoulZapBondQuote.js.map +0 -1
  854. package/dist/state/zap/useSuiZapQuote.js.map +0 -1
  855. package/dist/theme/base.d.ts +0 -109
  856. package/dist/theme/base.js +0 -125
  857. package/dist/theme/base.js.map +0 -1
  858. package/dist/theme/colors.d.ts +0 -20
  859. package/dist/theme/colors.js +0 -25
  860. package/dist/theme/colors.js.map +0 -1
  861. package/dist/theme/components.d.ts +0 -411
  862. package/dist/theme/components.js +0 -365
  863. package/dist/theme/components.js.map +0 -1
  864. package/dist/theme/index.d.ts +0 -2
  865. package/dist/theme/index.js +0 -12
  866. package/dist/theme/index.js.map +0 -1
  867. package/dist/types/bondCodec.js.map +0 -1
  868. package/dist/types/bondIssuanceCodec.js.map +0 -1
  869. package/dist/types/bondPricingCodec.js.map +0 -1
  870. package/dist/types/bondTermCodec.js.map +0 -1
  871. package/dist/utils/aptosHelpers.js.map +0 -1
  872. package/dist/utils/calculateSolanaTrueBillPrice.js.map +0 -1
  873. package/dist/utils/derivePda.js.map +0 -1
  874. package/dist/utils/getDotPos.d.ts +0 -1
  875. package/dist/utils/getDotPos.js +0 -12
  876. package/dist/utils/getDotPos.js.map +0 -1
  877. package/dist/utils/getSolanaAccount.js.map +0 -1
  878. package/dist/utils/multicall.js.map +0 -1
  879. package/dist/utils/solanaAtaHelper.js.map +0 -1
  880. package/dist/utils/solanaMulticall.js.map +0 -1
  881. package/dist/utils/solanaRpc.d.ts +0 -1
  882. package/dist/utils/solanaRpc.js.map +0 -1
  883. package/dist/utils/suiHelpers.js.map +0 -1
  884. package/dist/views/Bonds/components/BondRows/ModalHandlerPreTGE.js.map +0 -1
  885. package/dist/views/Bonds/components/HotBondCards/styles.d.ts +0 -35
  886. package/dist/views/Bonds/components/HotBondCards/styles.js +0 -38
  887. package/dist/views/Bonds/components/HotBondCards/styles.js.map +0 -1
  888. package/dist/views/Bonds/components/RecommendationCards/styles.d.ts +0 -2
  889. package/dist/views/Bonds/components/RecommendationCards/styles.js +0 -24
  890. package/dist/views/Bonds/components/RecommendationCards/styles.js.map +0 -1
  891. package/dist/views/BuyBond/BuyComponent.d.ts +0 -11
  892. package/dist/views/BuyBond/BuyComponent.js.map +0 -1
  893. package/dist/views/BuyBond/BuyComponentAptos.js.map +0 -1
  894. package/dist/views/BuyBond/BuyComponentPreTGE.js +0 -147
  895. package/dist/views/BuyBond/BuyComponentPreTGE.js.map +0 -1
  896. package/dist/views/BuyBond/BuyComponentSolana.js.map +0 -1
  897. package/dist/views/BuyBond/BuyComponentSui.js.map +0 -1
  898. package/dist/views/BuyBond/components/GetUpToComponent/GetUpToComponent.js +0 -61
  899. package/dist/views/BuyBond/components/GetUpToComponent/GetUpToComponent.js.map +0 -1
  900. package/dist/views/BuyBond/styles.d.ts +0 -2
  901. package/dist/views/BuyBond/styles.js +0 -33
  902. package/dist/views/BuyBond/styles.js.map +0 -1
  903. package/dist/views/LifiModal/LifiModal.d.ts +0 -7
  904. package/dist/views/LifiModal/LifiModal.js.map +0 -1
  905. package/dist/views/ProjectView/components/BondLeaderboard/components/styles.d.ts +0 -2
  906. package/dist/views/ProjectView/components/BondLeaderboard/components/styles.js +0 -51
  907. package/dist/views/ProjectView/components/BondLeaderboard/components/styles.js.map +0 -1
  908. package/dist/views/ProjectView/components/BondStats/styles.d.ts +0 -2
  909. package/dist/views/ProjectView/components/BondStats/styles.js +0 -49
  910. package/dist/views/ProjectView/components/BondStats/styles.js.map +0 -1
  911. package/dist/views/ProjectView/components/PriceChart/styles.d.ts +0 -2
  912. package/dist/views/ProjectView/components/PriceChart/styles.js +0 -44
  913. package/dist/views/ProjectView/components/PriceChart/styles.js.map +0 -1
  914. package/dist/views/ProjectView/components/ProjectInfo/styles.d.ts +0 -2
  915. package/dist/views/ProjectView/components/ProjectInfo/styles.js +0 -21
  916. package/dist/views/ProjectView/components/ProjectInfo/styles.js.map +0 -1
  917. package/dist/views/ProjectView/styles.d.ts +0 -2
  918. package/dist/views/ProjectView/styles.js +0 -10
  919. package/dist/views/ProjectView/styles.js.map +0 -1
  920. package/dist/views/TransactionModal/TransactionModal.js +0 -195
  921. package/dist/views/TransactionModal/TransactionModal.js.map +0 -1
  922. package/dist/views/YourBonds/components/UserBondRow/PreTGEActions.d.ts +0 -6
  923. package/dist/views/YourBonds/components/UserBondRow/PreTGEActions.js.map +0 -1
  924. package/dist/views/YourBonds/components/UserBondRow/UserBondRow.d.ts +0 -6
  925. package/dist/views/YourBonds/components/UserBondRow/UserBondRow.js +0 -136
  926. package/dist/views/YourBonds/components/UserBondRow/UserBondRow.js.map +0 -1
  927. package/dist/views/YourBonds/components/UserBondRow/UserBondRowAptos.d.ts +0 -6
  928. package/dist/views/YourBonds/components/UserBondRow/UserBondRowAptos.js +0 -109
  929. package/dist/views/YourBonds/components/UserBondRow/UserBondRowAptos.js.map +0 -1
  930. package/dist/views/YourBonds/components/UserBondRow/UserBondRowPreTGE.d.ts +0 -6
  931. package/dist/views/YourBonds/components/UserBondRow/UserBondRowPreTGE.js +0 -43
  932. package/dist/views/YourBonds/components/UserBondRow/UserBondRowPreTGE.js.map +0 -1
  933. package/dist/views/YourBonds/components/UserBondRow/UserBondRowSolana.d.ts +0 -6
  934. package/dist/views/YourBonds/components/UserBondRow/UserBondRowSolana.js.map +0 -1
  935. package/dist/views/YourBonds/components/UserBondRow/UserBondRowSui.d.ts +0 -6
  936. package/dist/views/YourBonds/components/UserBondRow/UserBondRowSui.js +0 -126
  937. package/dist/views/YourBonds/components/UserBondRow/UserBondRowSui.js.map +0 -1
  938. package/dist/views/YourBonds/components/UserBondRow/UserBondRowYield.d.ts +0 -6
  939. package/dist/views/YourBonds/components/UserBondRow/UserBondRowYield.js +0 -50
  940. package/dist/views/YourBonds/components/UserBondRow/UserBondRowYield.js.map +0 -1
  941. package/dist/views/YourBonds/components/UserBondRow/index.d.ts +0 -5
  942. package/dist/views/YourBondsModal/components/Actions/Actions.d.ts +0 -6
  943. package/dist/views/YourBondsModal/components/Actions/Actions.js.map +0 -1
  944. package/dist/views/YourBondsModal/components/Actions/ActionsAptos.d.ts +0 -6
  945. package/dist/views/YourBondsModal/components/Actions/ActionsAptos.js.map +0 -1
  946. package/dist/views/YourBondsModal/components/Actions/ActionsSolana.d.ts +0 -6
  947. package/dist/views/YourBondsModal/components/Actions/ActionsSolana.js.map +0 -1
  948. package/dist/views/YourBondsModal/components/Actions/ActionsSui.d.ts +0 -6
  949. package/dist/views/YourBondsModal/components/Actions/ActionsSui.js.map +0 -1
  950. package/dist/views/YourBondsModal/components/TransferBondModal/TransferAction.js.map +0 -1
  951. package/dist/views/YourBondsModal/components/TransferBondModal/TransferActionAptos.js.map +0 -1
  952. package/dist/views/YourBondsModal/components/TransferBondModal/TransferActionSolana.js.map +0 -1
  953. package/dist/views/YourBondsModal/components/TransferBondModal/TransferActionSui.js.map +0 -1
  954. package/dist/views/YourBondsModalYield/YourBondsModalYield.js +0 -220
  955. package/dist/views/YourBondsModalYield/YourBondsModalYield.js.map +0 -1
  956. package/dist/views/YourBondsModalYield/components/UnstakeModalYield/UnstakeModalYield.js +0 -71
  957. package/dist/views/YourBondsModalYield/components/UnstakeModalYield/UnstakeModalYield.js.map +0 -1
  958. package/dist/views/YourBondsModalYield/components/YourBondModalHeader/YourBondModalHeader.js +0 -32
  959. package/dist/views/YourBondsModalYield/components/YourBondModalHeader/YourBondModalHeader.js.map +0 -1
  960. /package/dist/{views/BuyBond → adapters/aptos}/BuyComponentAptos.d.ts +0 -0
  961. /package/dist/{types → adapters/aptos}/aptosBonds.d.ts +0 -0
  962. /package/dist/{hooks/accounts → adapters/aptos}/useAPTAccount.d.ts +0 -0
  963. /package/dist/{state/zap → adapters/aptos}/useAptosZapQuote.d.ts +0 -0
  964. /package/dist/{state/balance → adapters/aptos}/useCurrencyBalanceAptos.d.ts +0 -0
  965. /package/dist/{utils → adapters/evm}/multicall.d.ts +0 -0
  966. /package/dist/{state/allowance → adapters/evm}/useAllowance.d.ts +0 -0
  967. /package/dist/{hooks/accounts → adapters/evm}/useEVMAccount.d.ts +0 -0
  968. /package/dist/{hooks/accounts → adapters/evm}/useEVMAccount.js +0 -0
  969. /package/dist/{hooks → adapters/evm}/useMonitorTx.d.ts +0 -0
  970. /package/dist/{state/zap → adapters/evm}/useSoulZapBondQuote.d.ts +0 -0
  971. /package/dist/{state/bonds → adapters/evm}/useTierProofSignature.d.ts +0 -0
  972. /package/dist/{views/BuyBond → adapters/solana}/BuyComponentSolana.d.ts +0 -0
  973. /package/dist/{utils → adapters/solana}/calculateSolanaTrueBillPrice.d.ts +0 -0
  974. /package/dist/{types → adapters/solana/codecs}/index.d.ts +0 -0
  975. /package/dist/{utils → adapters/solana}/derivePda.d.ts +0 -0
  976. /package/dist/{utils → adapters/solana}/derivePda.js +0 -0
  977. /package/dist/{types → adapters/solana}/helius.d.ts +0 -0
  978. /package/dist/{utils → adapters/solana}/solanaAtaHelper.d.ts +0 -0
  979. /package/dist/{utils → adapters/solana}/solanaAtaHelper.js +0 -0
  980. /package/dist/{types → adapters/solana}/solanaBonds.d.ts +0 -0
  981. /package/dist/{constants → adapters/solana}/solanaConstants.d.ts +0 -0
  982. /package/dist/{utils → adapters/solana}/solanaMulticall.d.ts +0 -0
  983. /package/dist/{utils → adapters/solana}/solanaMulticall.js +0 -0
  984. /package/dist/{state/zap → adapters/solana}/useJupiterSolanaQuote.d.ts +0 -0
  985. /package/dist/{state/zap → adapters/solana}/useJupiterSolanaQuote.js +0 -0
  986. /package/dist/{hooks/accounts → adapters/solana}/useSOLAccount.d.ts +0 -0
  987. /package/dist/{hooks/accounts → adapters/solana}/useSOLAccount.js +0 -0
  988. /package/dist/{views/BuyBond → adapters/sui}/BuyComponentSui.d.ts +0 -0
  989. /package/dist/{constants → adapters/sui}/suiConstants.d.ts +0 -0
  990. /package/dist/{constants → adapters/sui}/suiConstants.js +0 -0
  991. /package/dist/{utils → adapters/sui}/suiHelpers.d.ts +0 -0
  992. /package/dist/{config/constants → adapters/sui}/suiZapTokens.d.ts +0 -0
  993. /package/dist/{config/constants → adapters/sui}/suiZapTokens.js +0 -0
  994. /package/dist/{state/balance → adapters/sui}/useCurrencyBalanceSui.d.ts +0 -0
  995. /package/dist/{state/zap → adapters/sui}/useSuiZapQuote.d.ts +0 -0
@@ -1,5 +0,0 @@
1
- import React from 'react';
2
- import '@aptos-labs/wallet-adapter-ant-design/dist/index.css';
3
- export default function AptosWalletProvider({ children }: {
4
- children: React.ReactNode;
5
- }): React.JSX.Element;
@@ -1,5 +0,0 @@
1
- import React from 'react';
2
- import '@solana/wallet-adapter-react-ui/styles.css';
3
- export default function SolanaWalletProvider({ children }: {
4
- children: React.ReactNode;
5
- }): React.JSX.Element;
@@ -1,5 +0,0 @@
1
- import React from 'react';
2
- import '@mysten/dapp-kit/dist/index.css';
3
- export default function SuiWalletProvider({ children }: {
4
- children: React.ReactNode;
5
- }): React.JSX.Element;
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAllowance.js","sources":["../../../src/state/allowance/useAllowance.ts"],"sourcesContent":["import { useQuery, UseQueryResult } from '@tanstack/react-query'\nimport { ChainId, Token } from '@ape.swap/apeswap-lists'\nimport erc20ABI from '../../config/abi/erc20.json'\nimport { QUERY_KEYS } from '../../config/constants/queryKeys'\nimport multicall, { Call } from '../../utils/multicall'\nimport { convertToBigish } from '../../utils/convertToBigish'\nimport { getBalanceNumber } from '../../utils/getBalanceNumber'\nimport ERC_20_ABI from '../../config/abi/erc20.json'\nimport USDT_ETH_ABI from '../../config/abi/usdtETH.json'\nimport { useCallback, useEffect, useState } from 'react'\nimport { useWriteContract } from 'wagmi'\nimport { useMonitorTx } from '../../hooks/useMonitorTx'\nimport { usePopups } from '../popups/usePopups'\nimport { reportError } from '../../utils/reportError'\nimport { useURLByEnvironment } from '../useSDKConfig'\n\n/**\n * useAllowance hook: fetches the amount approved by the user for a given token\n * useApproval hook: returns the approval state (not approved, pending or approved) and a function to approve on chain\n * getTokenAllowance function fetches the allowance on chain\n */\n\nexport enum ApprovalState {\n NOT_APPROVED = 'NOT_APPROVED',\n PENDING = 'PENDING',\n APPROVED = 'APPROVED',\n}\n\nexport default function useAllowance(\n currency: 'NATIVE' | Token | null,\n spender: string | null,\n account: string | null,\n chainId: ChainId | null,\n): UseQueryResult<number | null> {\n return useQuery({\n queryKey: [\n QUERY_KEYS.ALLOWANCE,\n account ?? '',\n chainId,\n currency === 'NATIVE' ? currency : currency?.symbol,\n spender,\n ],\n queryFn: () => getTokenAllowance(currency, spender, account, chainId),\n refetchInterval: 10000, // i.e. 10 sec\n refetchOnWindowFocus: false,\n retry: 1,\n })\n}\n\nexport const getTokenAllowance = async (\n currency: 'NATIVE' | Token | null,\n spender: string | null,\n account: string | null,\n chainId: ChainId | null,\n): Promise<number | null> => {\n if (currency === 'NATIVE') return null\n // if (!account) {\n // console.log('Account disconnected')\n // } else if (!currency) {\n // console.log('No currency selected')\n // } else if (!chainId) {\n // console.log('No chainId selected')\n // } else if (!spender) {\n // console.log('No spender selected')\n // }\n if (!account || !currency || !chainId || !spender) return null\n const calls: Call[] = [\n {\n address: currency.address[chainId]!,\n name: 'allowance',\n params: [account, spender],\n },\n ]\n const data = await multicall(chainId, erc20ABI, calls)\n return getBalanceNumber(data[0][0] ?? 0, currency.decimals![chainId]!)\n}\n\nexport const useApproval = (\n amount: string,\n currency: 'NATIVE' | Token | null,\n spender: string | null,\n account: string | null,\n chainId: ChainId | null,\n): [ApprovalState, () => Promise<string | null | undefined>] => {\n const apiUrl = useURLByEnvironment('apiV2')\n const [confirmingTxOnWallet, setConfirmingTxOnWallet] = useState(false)\n const { data: allowance, refetch } = useAllowance(currency, spender, account, chainId)\n\n const { writeContractAsync, data: txHash, reset } = useWriteContract()\n const { isLoading: isConfirming, isSuccess: isConfirmed } = useMonitorTx(txHash, chainId as ChainId)\n const { addToastError } = usePopups()\n const confirmingTxOnChain = isConfirming && !isConfirmed\n\n useEffect(() => {\n if (txHash && isConfirmed) {\n setTimeout(() => {\n refetch()\n console.log('refetch allowance')\n reset()\n }, 1500)\n }\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [txHash, confirmingTxOnChain, isConfirmed])\n\n const handleApprove = useCallback(async () => {\n if (!chainId || !amount || currency === 'NATIVE' || !currency) return null\n const decimals = currency.decimals![chainId]\n const tokenAddress = currency.address[chainId] as `0x${string}`\n if (!decimals || !tokenAddress) return null\n try {\n const bigishAmount = convertToBigish(amount, decimals)\n setConfirmingTxOnWallet(true)\n const hash = await writeContractAsync({\n address: tokenAddress,\n abi:\n tokenAddress?.toLowerCase() === '0xdAC17F958D2ee523a2206206994597C13D831ec7'.toLowerCase()\n ? USDT_ETH_ABI\n : ERC_20_ABI,\n functionName: 'approve',\n args: [spender, bigishAmount],\n account: account as `0x${string}`,\n chain: chainId as any,\n })\n setConfirmingTxOnWallet(false)\n // Adding a delay as I suspect RPCs need to catch up as the txs are indexed onchain too fast\n await new Promise((resolve) => setTimeout(resolve, 1500))\n return hash\n } catch (error: any) {\n setConfirmingTxOnWallet(false)\n console.error('Approval failed:', error)\n addToastError(error?.shortMessage || error?.details || error?.message)\n reportError({\n apiUrl,\n error,\n extraInfo: { type: 'approval', tokenAddress: tokenAddress, spenderAddress: spender, error },\n chainId,\n account: account!,\n })\n throw error\n }\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [amount, currency, chainId])\n\n let approvalState: ApprovalState = ApprovalState.NOT_APPROVED\n\n if (allowance && amount) {\n approvalState = allowance >= parseFloat(amount) ? ApprovalState.APPROVED : ApprovalState.NOT_APPROVED\n }\n if (currency === 'NATIVE') {\n approvalState = ApprovalState.APPROVED\n }\n if (confirmingTxOnChain || confirmingTxOnWallet) {\n approvalState = ApprovalState.PENDING\n }\n\n return [approvalState ?? ApprovalState.NOT_APPROVED, handleApprove]\n}\n"],"names":["ERC_20_ABI"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCurrencyBalanceAptos.js","sources":["../../../src/state/balance/useCurrencyBalanceAptos.ts"],"sourcesContent":["// Aptos balance reads — mirrors useCurrencyBalanceSolana.ts\n\nimport { ChainId, Token } from '@ape.swap/apeswap-lists'\nimport { getAptosClient } from '../../utils/aptosHelpers'\nimport { formatUnits } from '../../utils/fixedPoint'\n\nconst APTOS_KEY = ChainId.APTOS\n\n/**\n * Single-token balance read for Aptos.\n * Used by `useCurrencyBalance` when `chainId === ChainId.APTOS`.\n */\nexport const getTokenBalanceAptos = async (\n currency: 'NATIVE' | Token | null,\n account: string | null,\n): Promise<string | null> => {\n if (!account || !currency) return null\n\n try {\n const aptos = getAptosClient()\n if (currency === 'NATIVE') {\n const amount = await aptos.getAccountAPTAmount({ accountAddress: account })\n return formatUnits(String(amount), 8)\n }\n const tokenAddress = currency.address[APTOS_KEY]\n if (!tokenAddress) return '0'\n const isCoinType = tokenAddress.includes('::')\n const amount = await aptos.getAccountCoinAmount({\n accountAddress: account,\n ...(isCoinType\n ? { coinType: tokenAddress as `${string}::${string}::${string}` }\n : { faMetadataAddress: tokenAddress }),\n })\n const decimals = currency.decimals?.[APTOS_KEY] ?? 8\n return formatUnits(String(amount), decimals)\n } catch {\n return '0'\n }\n}\n\n/**\n * Multi-token balance read for Aptos.\n * Used by `useUserTokensBalance` when `chainId === ChainId.APTOS`.\n */\nexport const getTokensBalanceAptos = async (\n account: string,\n tokens: ('NATIVE' | Token)[],\n): Promise<{ address: string; balance: string }[]> => {\n const aptos = getAptosClient()\n return await Promise.all(\n tokens.map(async (token) => {\n const address = token === 'NATIVE' ? 'NATIVE' : ((token as Token).address[APTOS_KEY] as string)\n if (token === 'NATIVE') {\n try {\n const amount = await aptos.getAccountAPTAmount({ accountAddress: account })\n return { address, balance: formatUnits(String(amount), 8) }\n } catch {\n return { address, balance: '0' }\n }\n }\n try {\n // FA tokens use faMetadataAddress; legacy coins use coinType.\n // Detect by checking if address looks like a coin type (contains ::).\n const isCoinType = address.includes('::')\n const amount = await aptos.getAccountCoinAmount({\n accountAddress: account,\n ...(isCoinType ? { coinType: address as `${string}::${string}::${string}` } : { faMetadataAddress: address }),\n })\n const decimals = (token as Token).decimals?.[APTOS_KEY] ?? 8\n return {\n address,\n balance: formatUnits(String(amount), decimals),\n }\n } catch {\n return { address, balance: '0' }\n }\n }),\n )\n}\n"],"names":[],"mappings":";;;;AAAA;AAMA,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK;AAE/B;;;AAGG;AACI,MAAM,oBAAoB,GAAG,OAClC,QAAiC,EACjC,OAAsB,KACI;AAC1B,IAAA,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ;AAAE,QAAA,OAAO,IAAI;AAEtC,IAAA,IAAI;AACF,QAAA,MAAM,KAAK,GAAG,cAAc,EAAE;AAC9B,QAAA,IAAI,QAAQ,KAAK,QAAQ,EAAE;AACzB,YAAA,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,mBAAmB,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC;YAC3E,OAAO,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACvC;QACA,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;AAChD,QAAA,IAAI,CAAC,YAAY;AAAE,YAAA,OAAO,GAAG;QAC7B,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC9C,QAAA,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,oBAAoB,CAAC;AAC9C,YAAA,cAAc,EAAE,OAAO;AACvB,YAAA,IAAI;AACF,kBAAE,EAAE,QAAQ,EAAE,YAAiD;AAC/D,kBAAE,EAAE,iBAAiB,EAAE,YAAY,EAAE,CAAC;AACzC,SAAA,CAAC;QACF,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC;QACpD,OAAO,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC;IAC9C;AAAE,IAAA,MAAM;AACN,QAAA,OAAO,GAAG;IACZ;AACF;AAEA;;;AAGG;AACI,MAAM,qBAAqB,GAAG,OACnC,OAAe,EACf,MAA4B,KACuB;AACnD,IAAA,MAAM,KAAK,GAAG,cAAc,EAAE;AAC9B,IAAA,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,MAAM,CAAC,GAAG,CAAC,OAAO,KAAK,KAAI;AACzB,QAAA,MAAM,OAAO,GAAG,KAAK,KAAK,QAAQ,GAAG,QAAQ,GAAK,KAAe,CAAC,OAAO,CAAC,SAAS,CAAY;AAC/F,QAAA,IAAI,KAAK,KAAK,QAAQ,EAAE;AACtB,YAAA,IAAI;AACF,gBAAA,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,mBAAmB,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC;AAC3E,gBAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE;YAC7D;AAAE,YAAA,MAAM;AACN,gBAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE;YAClC;QACF;AACA,QAAA,IAAI;;;YAGF,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;AACzC,YAAA,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,oBAAoB,CAAC;AAC9C,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,IAAI,UAAU,GAAG,EAAE,QAAQ,EAAE,OAA4C,EAAE,GAAG,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC;AAC9G,aAAA,CAAC;YACF,MAAM,QAAQ,GAAI,KAAe,CAAC,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC;YAC5D,OAAO;gBACL,OAAO;gBACP,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC;aAC/C;QACH;AAAE,QAAA,MAAM;AACN,YAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE;QAClC;IACF,CAAC,CAAC,CACH;AACH;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCurrencyBalanceSolana.js","sources":["../../../src/state/balance/useCurrencyBalanceSolana.ts"],"sourcesContent":["import { Connection, PublicKey } from '@solana/web3.js'\nimport { getAccount } from '@solana/spl-token'\nimport { ChainId, Token } from '@ape.swap/apeswap-lists'\nimport { formatUnits } from '../../utils/fixedPoint'\nimport { getRPC } from '../../config/constants/networks'\nimport { getTokenProgramForMint } from '../../utils/solanaAtaHelper'\nimport { getAssociatedTokenAddress } from '@solana/spl-token'\n\n// Use devnet or your custom cluster URL\nexport const getTokenBalanceSolana = async (\n currency: 'NATIVE' | Token | null,\n account: string | null,\n): Promise<string | null> => {\n if (!account || !currency) return null\n\n const connection = new Connection(getRPC(ChainId.SOL), 'confirmed')\n const userPubkey = new PublicKey(account)\n\n try {\n if (currency === 'NATIVE') {\n const lamports = await connection.getBalance(userPubkey)\n return formatUnits(lamports, 9)\n } else {\n const mint = new PublicKey(currency?.address?.[ChainId.SOL] as string)\n // Detect token program to get correct ATA (supports Token-2022)\n const tokenProgram = await getTokenProgramForMint(connection, mint)\n const ata = await getAssociatedTokenAddress(mint, userPubkey, true, tokenProgram)\n if (!ata) return '0'\n const tokenAccount = await getAccount(connection, ata, undefined, tokenProgram)\n return formatUnits(tokenAccount.amount.toString(), currency?.decimals?.[ChainId.SOL] as number)\n }\n } catch {\n // If account doesn't exist (e.g. never received that token)\n return '0'\n }\n}\n"],"names":[],"mappings":";;;;;;;AAQA;AACO,MAAM,qBAAqB,GAAG,OACnC,QAAiC,EACjC,OAAsB,KACI;AAC1B,IAAA,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ;AAAE,QAAA,OAAO,IAAI;AAEtC,IAAA,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC;AACnE,IAAA,MAAM,UAAU,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC;AAEzC,IAAA,IAAI;AACF,QAAA,IAAI,QAAQ,KAAK,QAAQ,EAAE;YACzB,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC;AACxD,YAAA,OAAO,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjC;aAAO;AACL,YAAA,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAW,CAAC;;YAEtE,MAAM,YAAY,GAAG,MAAM,sBAAsB,CAAC,UAAU,EAAE,IAAI,CAAC;AACnE,YAAA,MAAM,GAAG,GAAG,MAAM,yBAAyB,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,CAAC;AACjF,YAAA,IAAI,CAAC,GAAG;AAAE,gBAAA,OAAO,GAAG;AACpB,YAAA,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,CAAC;AAC/E,YAAA,OAAO,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAW,CAAC;QACjG;IACF;AAAE,IAAA,MAAM;;AAEN,QAAA,OAAO,GAAG;IACZ;AACF;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCurrencyBalanceSui.js","sources":["../../../src/state/balance/useCurrencyBalanceSui.ts"],"sourcesContent":["// Sui balance reads — mirrors useCurrencyBalanceAptos.ts\n\nimport { ChainId, Token } from '@ape.swap/apeswap-lists'\nimport { getSuiClient } from '../../utils/suiHelpers'\nimport { formatUnits } from '../../utils/fixedPoint'\n\nconst SUI_KEY = ChainId.SUI\nconst SUI_NATIVE_COIN_TYPE = '0x2::sui::SUI'\nconst SUI_NATIVE_DECIMALS = 9\n\n/**\n * Single-token balance read for Sui.\n * Used by `useCurrencyBalance` when `chainId === ChainId.SUI`.\n */\nexport const getTokenBalanceSui = async (\n currency: 'NATIVE' | Token | null,\n account: string | null,\n): Promise<string | null> => {\n if (!account || !currency) return null\n\n const coinType = currency === 'NATIVE' ? SUI_NATIVE_COIN_TYPE : currency.address[SUI_KEY]\n if (!coinType) return '0'\n\n const decimals = currency === 'NATIVE' ? SUI_NATIVE_DECIMALS : (currency.decimals?.[SUI_KEY] ?? 9)\n\n try {\n const client = getSuiClient()\n const result = await client.getBalance({ owner: account, coinType })\n return formatUnits(result.totalBalance, decimals)\n } catch {\n return '0'\n }\n}\n\n/**\n * Multi-token balance read for Sui.\n * Used by `useUserTokensBalance` when `chainId === ChainId.SUI`.\n */\nexport const getTokensBalanceSui = async (\n account: string,\n tokens: ('NATIVE' | Token)[],\n): Promise<{ address: string; balance: string }[]> => {\n return Promise.all(\n tokens.map(async (token) => {\n const address = token === 'NATIVE' ? 'NATIVE' : ((token as Token).address[SUI_KEY] as string)\n const balance = await getTokenBalanceSui(token, account)\n return { address, balance: balance ?? '0' }\n }),\n )\n}\n"],"names":[],"mappings":";;;;AAAA;AAMA,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG;AAC3B,MAAM,oBAAoB,GAAG,eAAe;AAC5C,MAAM,mBAAmB,GAAG,CAAC;AAE7B;;;AAGG;AACI,MAAM,kBAAkB,GAAG,OAChC,QAAiC,EACjC,OAAsB,KACI;AAC1B,IAAA,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ;AAAE,QAAA,OAAO,IAAI;AAEtC,IAAA,MAAM,QAAQ,GAAG,QAAQ,KAAK,QAAQ,GAAG,oBAAoB,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;AACzF,IAAA,IAAI,CAAC,QAAQ;AAAE,QAAA,OAAO,GAAG;IAEzB,MAAM,QAAQ,GAAG,QAAQ,KAAK,QAAQ,GAAG,mBAAmB,IAAI,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAElG,IAAA,IAAI;AACF,QAAA,MAAM,MAAM,GAAG,YAAY,EAAE;AAC7B,QAAA,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QACpE,OAAO,WAAW,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC;IACnD;AAAE,IAAA,MAAM;AACN,QAAA,OAAO,GAAG;IACZ;AACF;AAEA;;;AAGG;AACI,MAAM,mBAAmB,GAAG,OACjC,OAAe,EACf,MAA4B,KACuB;AACnD,IAAA,OAAO,OAAO,CAAC,GAAG,CAChB,MAAM,CAAC,GAAG,CAAC,OAAO,KAAK,KAAI;AACzB,QAAA,MAAM,OAAO,GAAG,KAAK,KAAK,QAAQ,GAAG,QAAQ,GAAK,KAAe,CAAC,OAAO,CAAC,OAAO,CAAY;QAC7F,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC;QACxD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE;IAC7C,CAAC,CAAC,CACH;AACH;;;;"}
@@ -1,4 +0,0 @@
1
- import { BillsConfig, ChainId } from '@ape.swap/apeswap-lists';
2
- import { TokenPrices } from '../../tokenPrices/useTokenPrices';
3
- import { BondsData } from '../../../types/bonds';
4
- export declare const cleanBillsData: (billIds: number[], chunkedBills: any[], chainId: ChainId, bills: BillsConfig[], tokenPrices?: TokenPrices[]) => Promise<BondsData[]>;
@@ -1,142 +0,0 @@
1
- import { ChainId, BillVersion } from '@ape.swap/apeswap-lists';
2
- import axios from 'axios';
3
- import { getBalanceNumber } from '../../../utils/getBalanceNumber.js';
4
- import { calculateTrueBondPrice } from '../../../utils/calculateSolanaTrueBillPrice.js';
5
- import { TIER_MAPPING } from '../../tiers/useTierPoints.js';
6
- import { formatUnits, mulDivRound, parseUnits } from '../../../utils/fixedPoint.js';
7
- import { PRICE_API_URL } from '../../../config/constants/variables.js';
8
-
9
- const cleanBillsData = async (billIds, chunkedBills, chainId, bills, tokenPrices) => {
10
- const data = await Promise.all(chunkedBills?.map(async (chunk, index) => {
11
- const bill = bills?.find((bill) => bill?.index === billIds[index]);
12
- let principalTokenPrice = tokenPrices?.find((tokenPrice) => tokenPrice?.tokenAddress?.toLowerCase() === bill?.lpToken?.address?.[bill?.chainId]?.toLowerCase() &&
13
- tokenPrice?.chainId === chainId);
14
- if (principalTokenPrice === undefined || !!principalTokenPrice.error) {
15
- try {
16
- // Missing token price, therefor make a single call to api to fetch it
17
- const res = await axios.get(`${PRICE_API_URL}/realtime/price?token=${bill?.lpToken?.address?.[bill?.chainId]}&chain=${bill?.chainId}`);
18
- console.log('Individual call for: ', bill.lpToken.symbol, '. Price: ', res.data.price);
19
- principalTokenPrice = res.data;
20
- }
21
- catch {
22
- console.error('Failed to fetch price for: ', bill.lpToken.symbol);
23
- }
24
- }
25
- let payoutTokenPrice = tokenPrices?.find((tokenPrice) => tokenPrice?.tokenAddress?.toLowerCase() === bill?.earnToken?.address?.[bill?.chainId]?.toLowerCase() &&
26
- tokenPrice?.chainId === chainId);
27
- if (payoutTokenPrice === undefined || !!payoutTokenPrice.error) {
28
- try {
29
- // Missing token price, therefor make a single call to api to fetch it
30
- const res = await axios.get(`${PRICE_API_URL}/realtime/price?token=${bill?.earnToken?.address?.[bill?.chainId]}&chain=${bill?.chainId}`);
31
- console.log('Individual call for: ', bill.earnToken.symbol, '. Price: ', res.data.price);
32
- payoutTokenPrice = res.data;
33
- }
34
- catch {
35
- console.error('Failed to fetch price for: ', bill.earnToken.symbol);
36
- }
37
- }
38
- const lpPrice = principalTokenPrice?.price ?? 0;
39
- const earnTokenPrice = payoutTokenPrice?.price ?? 0;
40
- const [trueBillPriceFromChunk, totalPayoutGiven, terms, maxTotalPayout, feeInPayoutRaw, feeInPrincipalRaw, paused, , customTreasuryBalance, bondPricing, bondTerms,] = chunk;
41
- let trueBillPrice = trueBillPriceFromChunk;
42
- const feeInPayout = Number(feeInPayoutRaw / 10000);
43
- const feeInPrincipal = Number(feeInPrincipalRaw / 10000);
44
- const tierBoostRate = bill.tierBoostRate === undefined ? 1 : bill.tierBoostRate;
45
- const [, vestingTerm, , maxPayout] = terms;
46
- const tokensRemaining = Number(formatUnits(BigInt(maxTotalPayout ?? '0') - BigInt(totalPayoutGiven), bill?.earnToken.decimals[bill?.chainId] ?? 18));
47
- const treasuryBalance = customTreasuryBalance
48
- ? getBalanceNumber(customTreasuryBalance, bill?.earnToken?.decimals?.[bill?.chainId] ?? 18)
49
- : null;
50
- if (chainId === ChainId.SOL) {
51
- const principalDecimals = bill?.lpToken.decimals[ChainId.SOL];
52
- const payoutDecimals = bill?.earnToken.decimals[ChainId.SOL];
53
- const timeStamp = Math.floor(Date.now() / 1000);
54
- trueBillPrice = calculateTrueBondPrice(bondPricing, bondTerms, timeStamp, principalDecimals, payoutDecimals, feeInPrincipal);
55
- }
56
- let trueBondPrices = [];
57
- if (bill?.billVersion === BillVersion.V4) {
58
- trueBondPrices = trueBillPrice[0].map((data) => {
59
- return {
60
- points: data?.points?.toString(),
61
- trueBondPrice: data?.trueBondPrice.toString(),
62
- discount: getRawDiscount(data?.trueBondPrice.toString(), lpPrice, earnTokenPrice),
63
- bonus: getRawBonus(data?.trueBondPrice.toString(), lpPrice, earnTokenPrice),
64
- discountWithFee: getDiscountWithFee(feeInPayout, tierBoostRate, data?.trueBondPrice.toString(), lpPrice, earnTokenPrice),
65
- bonusWithFee: getBonusWithFee(feeInPayout, tierBoostRate, data?.trueBondPrice.toString(), lpPrice, earnTokenPrice),
66
- boost: TIER_MAPPING[data?.points?.toString()],
67
- };
68
- });
69
- }
70
- else {
71
- const bonus = getRawBonus(trueBillPrice, lpPrice, earnTokenPrice);
72
- const bonusWithFee = getBonusWithFee(feeInPayout, tierBoostRate, trueBillPrice, lpPrice, earnTokenPrice);
73
- const discount = getRawDiscount(trueBillPrice, lpPrice, earnTokenPrice);
74
- const discountWithFee = getDiscountWithFee(feeInPayout, tierBoostRate, trueBillPrice, lpPrice, earnTokenPrice);
75
- trueBondPrices = [
76
- {
77
- points: '0',
78
- boost: 0,
79
- trueBondPrice: trueBillPrice.toString(),
80
- bonus,
81
- bonusWithFee,
82
- discount,
83
- discountWithFee,
84
- },
85
- ];
86
- }
87
- const cleanedData = {
88
- ...bill,
89
- soldOut: paused[0] ? true : bill.soldOut,
90
- feeInPayout,
91
- feeInPrincipal,
92
- showcaseTokenName: bill?.showcaseToken?.symbol ?? bill?.earnToken.symbol ?? '',
93
- trueBondPrices,
94
- principalTokenPrice: lpPrice?.toString(),
95
- payoutTokenPrice: earnTokenPrice?.toString(),
96
- tokensRemaining: treasuryBalance !== null ? Math.min(treasuryBalance, tokensRemaining).toString() : tokensRemaining.toString(),
97
- maxTotalPayout: maxTotalPayout?.toString(),
98
- maxPayout: maxPayout?.toString(),
99
- totalPayoutGiven: totalPayoutGiven?.toString(),
100
- vestingTerm: typeof vestingTerm === 'number' ? vestingTerm : parseInt(vestingTerm),
101
- tierBoostRate: bill.tierBoostRate === undefined ? 1 : bill.tierBoostRate,
102
- };
103
- return cleanedData;
104
- }));
105
- return data;
106
- };
107
- // Scale used to carry percentage ratios (tier boost, reverse fee) into integer math
108
- // alongside the wei-scale `trueBillPrice`, so the huge integer never round-trips through
109
- // a JS float before the final getBalanceNumber() conversion.
110
- const RATIO_SCALE = 1000000000000n; // 1e12
111
- const scaleRatio = (ratio) => parseUnits(ratio.toString(), 12);
112
- const getBonusWithFee = (feeInPayout, tierBoostRate, trueBillPrice, lpPrice, earnTokenPrice) => {
113
- const fee = feeInPayout ?? 0;
114
- const reverseFee = fee / 100 / (1 - fee / 100);
115
- const trueBillPriceBig = BigInt(trueBillPrice);
116
- const tierAdjusted = mulDivRound(trueBillPriceBig, scaleRatio((100 + tierBoostRate) / 100), RATIO_SCALE);
117
- const feeAdjusted = mulDivRound(trueBillPriceBig, scaleRatio(reverseFee), RATIO_SCALE);
118
- const trueBondPrice = tierAdjusted + feeAdjusted;
119
- const priceUSDMinusFee = getBalanceNumber(trueBondPrice) * lpPrice;
120
- const bonusWithoutFee = ((earnTokenPrice - priceUSDMinusFee) / earnTokenPrice) * 100;
121
- const validatedBonus = bonusWithoutFee > 0 ? (bonusWithoutFee / (100 - bonusWithoutFee)) * 100 : 0;
122
- return validatedBonus;
123
- };
124
- const getRawBonus = (trueBillPrice, lpPrice, earnTokenPrice) => {
125
- const priceUsd = getBalanceNumber(trueBillPrice.toString()) * lpPrice;
126
- const discount = ((earnTokenPrice - priceUsd) / earnTokenPrice) * 100;
127
- return discount > 0 ? (discount / (100 - discount)) * 100 : 0;
128
- };
129
- const getRawDiscount = (trueBillPrice, lpPrice, earnTokenPrice) => {
130
- const trueBondPrice = getBalanceNumber(trueBillPrice.toString());
131
- return ((earnTokenPrice - lpPrice * trueBondPrice) / earnTokenPrice) * 100;
132
- };
133
- const getDiscountWithFee = (feeInPayout, tierBoostRate, trueBillPrice, lpPrice, earnTokenPrice) => {
134
- const trueBondPrice = getBalanceNumber(trueBillPrice.toString());
135
- const trueBondPriceWithFee = trueBondPrice * (1 / ((100 - (feeInPayout ?? 0)) / 100));
136
- const discount = ((earnTokenPrice - lpPrice * trueBondPriceWithFee) / earnTokenPrice) * 100;
137
- const discountToReturn = 100 - ((100 - discount) / (100 - tierBoostRate)) * 100;
138
- return discountToReturn;
139
- };
140
-
141
- export { cleanBillsData };
142
- //# sourceMappingURL=cleanBillsData.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cleanBillsData.js","sources":["../../../../src/state/bonds/fetchBondsData/cleanBillsData.ts"],"sourcesContent":["import { BillsConfig, BillVersion, ChainId } from '@ape.swap/apeswap-lists'\nimport { TokenPrices } from '../../tokenPrices/useTokenPrices'\nimport { BondsData, TrueBondPrices } from '../../../types/bonds'\nimport axios from 'axios'\nimport { getBalanceNumber } from '../../../utils/getBalanceNumber'\nimport { calculateTrueBondPrice } from '../../../utils/calculateSolanaTrueBillPrice'\nimport { TIER_MAPPING } from '../../tiers/useTierPoints'\nimport { formatUnits, mulDivRound, parseUnits } from '../../../utils/fixedPoint'\nimport { PRICE_API_URL } from '../../../config/constants/variables'\n\nexport const cleanBillsData = async (\n billIds: number[],\n chunkedBills: any[],\n chainId: ChainId,\n bills: BillsConfig[],\n tokenPrices?: TokenPrices[],\n): Promise<BondsData[]> => {\n const data: BondsData[] = await Promise.all(\n chunkedBills?.map(async (chunk, index) => {\n const bill = bills?.find((bill) => bill?.index === billIds[index]) as BillsConfig\n\n let principalTokenPrice = tokenPrices?.find(\n (tokenPrice) =>\n tokenPrice?.tokenAddress?.toLowerCase() === bill?.lpToken?.address?.[bill?.chainId]?.toLowerCase() &&\n tokenPrice?.chainId === chainId,\n )\n\n if (principalTokenPrice === undefined || !!principalTokenPrice.error) {\n try {\n // Missing token price, therefor make a single call to api to fetch it\n const res = await axios.get(\n `${PRICE_API_URL}/realtime/price?token=${bill?.lpToken?.address?.[bill?.chainId]}&chain=${bill?.chainId}`,\n )\n console.log('Individual call for: ', bill.lpToken.symbol, '. Price: ', res.data.price)\n principalTokenPrice = res.data\n } catch {\n console.error('Failed to fetch price for: ', bill.lpToken.symbol)\n }\n }\n\n let payoutTokenPrice = tokenPrices?.find(\n (tokenPrice) =>\n tokenPrice?.tokenAddress?.toLowerCase() === bill?.earnToken?.address?.[bill?.chainId]?.toLowerCase() &&\n tokenPrice?.chainId === chainId,\n )\n\n if (payoutTokenPrice === undefined || !!payoutTokenPrice.error) {\n try {\n // Missing token price, therefor make a single call to api to fetch it\n const res = await axios.get(\n `${PRICE_API_URL}/realtime/price?token=${bill?.earnToken?.address?.[bill?.chainId]}&chain=${bill?.chainId}`,\n )\n console.log('Individual call for: ', bill.earnToken.symbol, '. Price: ', res.data.price)\n payoutTokenPrice = res.data\n } catch {\n console.error('Failed to fetch price for: ', bill.earnToken.symbol)\n }\n }\n const lpPrice = principalTokenPrice?.price ?? 0\n const earnTokenPrice = payoutTokenPrice?.price ?? 0\n\n const [\n trueBillPriceFromChunk,\n totalPayoutGiven,\n terms,\n maxTotalPayout,\n feeInPayoutRaw,\n feeInPrincipalRaw,\n paused,\n ,\n customTreasuryBalance,\n bondPricing,\n bondTerms,\n ] = chunk\n let trueBillPrice = trueBillPriceFromChunk\n\n const feeInPayout = Number(feeInPayoutRaw / 10000)\n const feeInPrincipal = Number(feeInPrincipalRaw / 10000)\n const tierBoostRate = bill.tierBoostRate === undefined ? 1 : bill.tierBoostRate\n const [, vestingTerm, , maxPayout] = terms\n const tokensRemaining = Number(\n formatUnits(\n BigInt(maxTotalPayout ?? '0') - BigInt(totalPayoutGiven),\n bill?.earnToken.decimals[bill?.chainId] ?? 18,\n ),\n )\n const treasuryBalance = customTreasuryBalance\n ? getBalanceNumber(customTreasuryBalance, bill?.earnToken?.decimals?.[bill?.chainId] ?? 18)\n : null\n\n if (chainId === ChainId.SOL) {\n const principalDecimals = bill?.lpToken.decimals[ChainId.SOL] as number\n const payoutDecimals = bill?.earnToken.decimals[ChainId.SOL] as number\n const timeStamp = Math.floor(Date.now() / 1000)\n trueBillPrice = calculateTrueBondPrice(\n bondPricing,\n bondTerms,\n timeStamp,\n principalDecimals,\n payoutDecimals,\n feeInPrincipal,\n )\n }\n\n let trueBondPrices: TrueBondPrices[] = []\n if (bill?.billVersion === BillVersion.V4) {\n trueBondPrices = trueBillPrice[0].map((data: any) => {\n return {\n points: data?.points?.toString(),\n trueBondPrice: data?.trueBondPrice.toString(),\n discount: getRawDiscount(data?.trueBondPrice.toString(), lpPrice, earnTokenPrice),\n bonus: getRawBonus(data?.trueBondPrice.toString(), lpPrice, earnTokenPrice),\n discountWithFee: getDiscountWithFee(\n feeInPayout,\n tierBoostRate,\n data?.trueBondPrice.toString(),\n lpPrice,\n earnTokenPrice,\n ),\n bonusWithFee: getBonusWithFee(\n feeInPayout,\n tierBoostRate,\n data?.trueBondPrice.toString(),\n lpPrice,\n earnTokenPrice,\n ),\n boost: TIER_MAPPING[data?.points?.toString() as keyof typeof TIER_MAPPING],\n }\n })\n } else {\n const bonus = getRawBonus(trueBillPrice, lpPrice, earnTokenPrice)\n const bonusWithFee = getBonusWithFee(feeInPayout, tierBoostRate, trueBillPrice, lpPrice, earnTokenPrice)\n const discount = getRawDiscount(trueBillPrice, lpPrice, earnTokenPrice)\n const discountWithFee = getDiscountWithFee(feeInPayout, tierBoostRate, trueBillPrice, lpPrice, earnTokenPrice)\n trueBondPrices = [\n {\n points: '0',\n boost: 0,\n trueBondPrice: trueBillPrice.toString(),\n bonus,\n bonusWithFee,\n discount,\n discountWithFee,\n },\n ]\n }\n const cleanedData: BondsData = {\n ...bill,\n soldOut: paused[0] ? true : bill.soldOut,\n feeInPayout,\n feeInPrincipal,\n showcaseTokenName: bill?.showcaseToken?.symbol ?? bill?.earnToken.symbol ?? '',\n trueBondPrices,\n principalTokenPrice: lpPrice?.toString(),\n payoutTokenPrice: earnTokenPrice?.toString(),\n tokensRemaining:\n treasuryBalance !== null ? Math.min(treasuryBalance, tokensRemaining).toString() : tokensRemaining.toString(),\n maxTotalPayout: maxTotalPayout?.toString(),\n maxPayout: maxPayout?.toString(),\n totalPayoutGiven: totalPayoutGiven?.toString(),\n vestingTerm: typeof vestingTerm === 'number' ? vestingTerm : parseInt(vestingTerm),\n tierBoostRate: bill.tierBoostRate === undefined ? 1 : bill.tierBoostRate,\n }\n return cleanedData\n }),\n )\n return data\n}\n\n// Scale used to carry percentage ratios (tier boost, reverse fee) into integer math\n// alongside the wei-scale `trueBillPrice`, so the huge integer never round-trips through\n// a JS float before the final getBalanceNumber() conversion.\nconst RATIO_SCALE = 1_000_000_000_000n // 1e12\nconst scaleRatio = (ratio: number): bigint => parseUnits(ratio.toString(), 12)\n\nconst getBonusWithFee = (\n feeInPayout: number,\n tierBoostRate: number,\n trueBillPrice: string,\n lpPrice: number,\n earnTokenPrice: number,\n) => {\n const fee = feeInPayout ?? 0\n const reverseFee = fee / 100 / (1 - fee / 100)\n const trueBillPriceBig = BigInt(trueBillPrice)\n const tierAdjusted = mulDivRound(trueBillPriceBig, scaleRatio((100 + tierBoostRate) / 100), RATIO_SCALE)\n const feeAdjusted = mulDivRound(trueBillPriceBig, scaleRatio(reverseFee), RATIO_SCALE)\n const trueBondPrice = tierAdjusted + feeAdjusted\n const priceUSDMinusFee = getBalanceNumber(trueBondPrice) * lpPrice\n const bonusWithoutFee = ((earnTokenPrice - priceUSDMinusFee) / earnTokenPrice) * 100\n const validatedBonus = bonusWithoutFee > 0 ? (bonusWithoutFee / (100 - bonusWithoutFee)) * 100 : 0\n return validatedBonus\n}\n\nconst getRawBonus = (trueBillPrice: any, lpPrice: number, earnTokenPrice: number) => {\n const priceUsd = getBalanceNumber(trueBillPrice.toString()) * lpPrice\n const discount: number = ((earnTokenPrice - priceUsd) / earnTokenPrice) * 100\n return discount > 0 ? (discount / (100 - discount)) * 100 : 0\n}\n\nconst getRawDiscount = (trueBillPrice: any, lpPrice: number, earnTokenPrice: number) => {\n const trueBondPrice = getBalanceNumber(trueBillPrice.toString())\n\n return ((earnTokenPrice - lpPrice * trueBondPrice) / earnTokenPrice) * 100\n}\n\nconst getDiscountWithFee = (\n feeInPayout: number,\n tierBoostRate: number,\n trueBillPrice: any,\n lpPrice: number,\n earnTokenPrice: number,\n) => {\n const trueBondPrice = getBalanceNumber(trueBillPrice.toString())\n const trueBondPriceWithFee = trueBondPrice * (1 / ((100 - (feeInPayout ?? 0)) / 100))\n const discount = ((earnTokenPrice - lpPrice * trueBondPriceWithFee) / earnTokenPrice) * 100\n const discountToReturn = 100 - ((100 - discount) / (100 - tierBoostRate)) * 100\n return discountToReturn\n}\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fetchBondsDataAptos.js","sources":["../../../../src/state/bonds/fetchBondsData/fetchBondsDataAptos.ts"],"sourcesContent":["// =============================================================================\n// Aptos bond enrichment — builds BondsData[] from BillsConfig[] + prices\n// =============================================================================\n//\n// On-chain first: reads bond::market_info via view function for each config\n// and projects the tuple onto BondsData. No backend dependency (realtime-api\n// does not support Aptos).\n\nimport { BillsConfig, ChainId } from '@ape.swap/apeswap-lists'\nimport { BondsData } from '../../../types/bonds'\nimport { TokenPrices } from '../../tokenPrices/useTokenPrices'\nimport { readAptosMarketInfo } from '../../../utils/aptosHelpers'\nimport { formatUnits } from '../../../utils/fixedPoint'\nimport axios from 'axios'\nimport { PRICE_API_URL } from '../../../config/constants/variables'\n\nconst APTOS_KEY = ChainId.APTOS\n\n/**\n * Enrich Aptos bond configs into full BondsData objects.\n *\n * Calls `bond::market_info(market)` for each config and projects the tuple\n * onto BondsData. Scale conversion: contract returns `true_bill_price` as u64\n * scaled by PRICE_DECIMALS = 1e8; the SDK stores `trueBondPrice` scaled by\n * 1e18 (legacy EVM format) → multiply by 1e10.\n */\nexport const fetchBondsDataAptos = async (bonds?: BillsConfig[], aptosPrices?: TokenPrices[]): Promise<BondsData[]> => {\n const aptosConfigs = bonds?.filter((b) => !b.soldOut)\n if (!aptosConfigs || aptosConfigs?.length === 0) return []\n\n const enriched = await Promise.all(\n aptosConfigs.map(async (bond): Promise<BondsData | null> => {\n const marketAddr = bond.contractAddress[APTOS_KEY]\n if (!marketAddr) return null\n try {\n // Firstly we fetch prices\n let principalPrice = aptosPrices?.find((t) => t.tokenAddress.toLowerCase() === principalAddr)?.price!\n if (principalPrice === undefined) {\n try {\n const res = await axios.get(\n `${PRICE_API_URL}/realtime/price?token=${bond?.lpToken?.address?.[bond?.chainId]}&chain=${bond?.chainId}`,\n )\n principalPrice = res.data.price ?? 0\n } catch {\n principalPrice = 0\n }\n }\n\n let payoutPrice = aptosPrices?.find((t) => t.tokenAddress.toLowerCase() === payoutAddr)?.price!\n if (payoutPrice === undefined) {\n try {\n // Missing token price, therefor make a single call to api to fetch it\n const res = await axios.get(\n `${PRICE_API_URL}/realtime/price?token=${bond?.earnToken?.address?.[bond?.chainId]}&chain=${bond?.chainId}`,\n )\n payoutPrice = res.data.price ?? 0\n } catch {\n payoutPrice = 0\n }\n }\n\n const info = await readAptosMarketInfo(marketAddr)\n const principalAddr = bond.lpToken.address[APTOS_KEY]?.toLowerCase()\n const payoutAddr = bond.earnToken.address[APTOS_KEY]?.toLowerCase()\n\n // Convert on-chain u64 (scaled 1e8) to the SDK's legacy 1e18 scale\n const trueBillPriceU64 = info[17]\n const trueBondPriceScaled = (BigInt(trueBillPriceU64) * 10n ** 10n).toString()\n const trueBondPriceHuman = Number(trueBillPriceU64) / 1e8\n\n // Same formula as getRawDiscount / getRawBonus in state/bonds/utils.ts\n const discount = payoutPrice > 0 ? ((payoutPrice - principalPrice * trueBondPriceHuman) / payoutPrice) * 100 : 0\n const bonus = discount > 0 && discount < 100 ? (discount / (100 - discount)) * 100 : 0\n\n // Fees: u64 in PERCENTAGE_BASE (1e6) → divide by 10_000 for human %\n const feeInPayout = Number(info[14]) / 10_000\n const feeInPrincipal = Number(info[13]) / 10_000\n const trueBondPriceWithFee =\n feeInPayout < 100 ? trueBondPriceHuman * (1 / ((100 - feeInPayout) / 100)) : trueBondPriceHuman\n const discountWithFee =\n payoutPrice > 0 ? ((payoutPrice - principalPrice * trueBondPriceWithFee) / payoutPrice) * 100 : 0\n const bonusWithFee =\n discountWithFee > 0 && discountWithFee < 100 ? (discountWithFee / (100 - discountWithFee)) * 100 : 0\n\n const payoutDecimals = bond.earnToken.decimals[APTOS_KEY] ?? 8\n const tokensRemaining = formatUnits(BigInt(info[23]) - BigInt(info[5]), payoutDecimals)\n\n return {\n ...bond,\n soldOut: info[2] || info[3] ? true : bond.soldOut,\n maxTotalPayout: String(info[23]),\n totalPayoutGiven: String(info[5]),\n maxPayout: String(info[21]),\n tokensRemaining,\n showcaseTokenName: bond.earnToken.symbol,\n vestingTerm: Number(info[19]),\n feeInPayout,\n feeInPrincipal,\n trueBondPrices: [\n {\n trueBondPrice: trueBondPriceScaled,\n points: '0',\n discount,\n discountWithFee,\n bonus,\n bonusWithFee,\n boost: 0,\n },\n ],\n principalTokenPrice: principalPrice.toString(),\n payoutTokenPrice: payoutPrice.toString(),\n }\n } catch (e) {\n console.warn(`[Aptos] Failed to read market_info for ${marketAddr}`, e)\n // Hide the bond from the list when on-chain data is unavailable —\n // showing a card with all zeros is confusing for users.\n return null\n }\n }),\n )\n return enriched.filter((b): b is BondsData => b !== null)\n}\n"],"names":[],"mappings":"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"}
@@ -1,89 +0,0 @@
1
- import { BillVersion } from '@ape.swap/apeswap-lists';
2
- import multicall from '../../../utils/multicall.js';
3
- import BOND_ABI from '../../../config/abi/BOND_2_4_0.json.js';
4
- import erc20ABI from '../../../config/abi/erc20.json.js';
5
- import chunk from 'lodash-es/chunk.js';
6
- import { cleanBillsData } from './cleanBillsData.js';
7
-
8
- const fetchBondsDataEVM = async (chainId, bonds, apiUrl, tokenPrices) => {
9
- try {
10
- const bills = bonds.filter((b) => !b.soldOut);
11
- const billIds = [];
12
- const billCalls = bills.flatMap((bill) => {
13
- billIds.push(bill.index);
14
- return [
15
- {
16
- address: bill.contractAddress[bill.chainId] ?? '',
17
- name: bill.billVersion === BillVersion.V4 ? 'trueBondPrices' : 'trueBillPrice()',
18
- },
19
- {
20
- address: bill.contractAddress[bill.chainId] ?? '',
21
- name: 'totalPayoutGiven',
22
- },
23
- {
24
- address: bill.contractAddress[bill.chainId] ?? '',
25
- name: 'terms',
26
- },
27
- {
28
- address: bill.contractAddress[bill.chainId] ?? '',
29
- name: bill.billVersion !== BillVersion.V1 ? 'getMaxTotalPayout' : 'maxTotalPayout',
30
- },
31
- {
32
- address: bill.contractAddress[bill.chainId] ?? '',
33
- name: 'feeInPayout',
34
- },
35
- {
36
- address: bill.contractAddress[bill.chainId] ?? '',
37
- name: 'feeInPrincipal',
38
- },
39
- {
40
- address: bill.contractAddress[bill.chainId] ?? '',
41
- name: 'paused',
42
- },
43
- // keep custom treasury at the very last position
44
- {
45
- address: bill.contractAddress[bill.chainId] ?? '',
46
- name: 'customTreasury',
47
- },
48
- ];
49
- });
50
- const vals = await multicall(chainId, BOND_ABI, billCalls);
51
- // The following lines basically grab the values from customTreasury returned from bills contract and then,
52
- // appends the treasury contract's balance to the chunk that will be passed to cleanBillsData
53
- // appendIndex value assumes customTreasury will be at the end of the billCalls array
54
- const appendIndex = billCalls.length / bills.length;
55
- const treasuryAddresses = vals
56
- .filter((_, i) => (i % appendIndex) + 1 === appendIndex)
57
- .map((customTreasury) => customTreasury[0]);
58
- const treasuryBalanceCalls = treasuryAddresses.map((treasuryAddress, i) => ({
59
- address: bills?.[i]?.earnToken?.address?.[chainId] ?? '',
60
- name: 'balanceOf',
61
- params: [treasuryAddress],
62
- }));
63
- const treasuryBalances = await multicall(chainId, erc20ABI, treasuryBalanceCalls);
64
- const updatedVals = vals.reduce((acc, val, index) => {
65
- acc.push(val);
66
- if ((index + 1) % appendIndex === 0) {
67
- const pos = (index + 1) / appendIndex;
68
- // balanceOf has a single output, so multicall wraps it as [balance] — unwrap it
69
- acc.push(treasuryBalances[pos - 1][0]);
70
- }
71
- return acc;
72
- }, []);
73
- const chunkSize = updatedVals?.length / bills?.length;
74
- const chunkedBills = chunk(updatedVals, chunkSize);
75
- return await cleanBillsData(billIds, chunkedBills, chainId, bills, tokenPrices);
76
- }
77
- catch (e) {
78
- console.error(e);
79
- reportError({
80
- apiUrl,
81
- error: e,
82
- extraInfo: { type: 'getBondsData', e },
83
- });
84
- return [];
85
- }
86
- };
87
-
88
- export { fetchBondsDataEVM };
89
- //# sourceMappingURL=fetchBondsDataEVM.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fetchBondsDataEVM.js","sources":["../../../../src/state/bonds/fetchBondsData/fetchBondsDataEVM.ts"],"sourcesContent":["import { BillsConfig, BillVersion, ChainId } from '@ape.swap/apeswap-lists'\nimport { TokenPrices } from '../../tokenPrices/useTokenPrices'\nimport multicall from '../../../utils/multicall'\nimport BOND_2_4_0 from '../../../config/abi/BOND_2_4_0.json'\nimport ERC20ABI from '../../../config/abi/erc20.json'\nimport chunk from 'lodash-es/chunk.js'\nimport { cleanBillsData } from './cleanBillsData'\n\nexport const fetchBondsDataEVM = async (\n chainId: number,\n bonds: BillsConfig[],\n apiUrl: string,\n tokenPrices?: TokenPrices[],\n) => {\n try {\n const bills = bonds.filter((b) => !b.soldOut)\n const billIds: number[] = []\n const billCalls = bills.flatMap((bill) => {\n billIds.push(bill.index)\n return [\n {\n address: bill.contractAddress[bill.chainId] ?? '',\n name: bill.billVersion === BillVersion.V4 ? 'trueBondPrices' : 'trueBillPrice()',\n },\n {\n address: bill.contractAddress[bill.chainId] ?? '',\n name: 'totalPayoutGiven',\n },\n {\n address: bill.contractAddress[bill.chainId] ?? '',\n name: 'terms',\n },\n {\n address: bill.contractAddress[bill.chainId] ?? '',\n name: bill.billVersion !== BillVersion.V1 ? 'getMaxTotalPayout' : 'maxTotalPayout',\n },\n {\n address: bill.contractAddress[bill.chainId] ?? '',\n name: 'feeInPayout',\n },\n {\n address: bill.contractAddress[bill.chainId] ?? '',\n name: 'feeInPrincipal',\n },\n {\n address: bill.contractAddress[bill.chainId] ?? '',\n name: 'paused',\n },\n // keep custom treasury at the very last position\n {\n address: bill.contractAddress[bill.chainId] ?? '',\n name: 'customTreasury',\n },\n ]\n })\n const vals = await multicall(chainId, BOND_2_4_0, billCalls)\n\n // The following lines basically grab the values from customTreasury returned from bills contract and then,\n // appends the treasury contract's balance to the chunk that will be passed to cleanBillsData\n\n // appendIndex value assumes customTreasury will be at the end of the billCalls array\n const appendIndex = billCalls.length / bills.length\n const treasuryAddresses = vals\n .filter((_: any, i: number) => (i % appendIndex) + 1 === appendIndex)\n .map((customTreasury: string[]) => customTreasury[0])\n const treasuryBalanceCalls = treasuryAddresses.map((treasuryAddress: string, i: number) => ({\n address: bills?.[i]?.earnToken?.address?.[chainId as ChainId] ?? '',\n name: 'balanceOf',\n params: [treasuryAddress],\n }))\n const treasuryBalances = await multicall(chainId, ERC20ABI, treasuryBalanceCalls)\n const updatedVals = vals.reduce((acc: any, val: any, index: number) => {\n acc.push(val)\n if ((index + 1) % appendIndex === 0) {\n const pos = (index + 1) / appendIndex\n // balanceOf has a single output, so multicall wraps it as [balance] — unwrap it\n acc.push(treasuryBalances[pos - 1][0])\n }\n return acc\n }, [])\n\n const chunkSize = updatedVals?.length / bills?.length\n const chunkedBills = chunk(updatedVals, chunkSize)\n\n return await cleanBillsData(billIds, chunkedBills, chainId, bills, tokenPrices)\n } catch (e) {\n console.error(e)\n reportError({\n apiUrl,\n error: e,\n extraInfo: { type: 'getBondsData', e },\n })\n return []\n }\n}\n"],"names":["BOND_2_4_0","ERC20ABI"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fetchBondsDataPreTGE.js","sources":["../../../../src/state/bonds/fetchBondsData/fetchBondsDataPreTGE.ts"],"sourcesContent":["import { BondsData } from '../../../types/bonds'\nimport { getBalanceNumber } from '../../../utils/getBalanceNumber'\nimport { ChainId, PreTGEConfig } from '@ape.swap/apeswap-lists'\nimport { TokenPrices } from '../../tokenPrices/useTokenPrices'\nimport multicall from '../../../utils/multicall'\nimport chunk from 'lodash-es/chunk.js'\nimport launchBondsABI_V2_4_1 from '../../../config/abi/launchBond_v2_4_1.json'\nimport Vault_Shares_ABI from '../../../config/abi/Vault_Shares.json'\nimport { reportError } from '../../../utils/reportError'\n\nexport const fetchBondsDataPreTGE = async (\n chain: number,\n tokenPrices: Partial<Record<ChainId, TokenPrices[]>>,\n preTGEBonds: PreTGEConfig[],\n apiUrl?: string,\n): Promise<BondsData[]> => {\n try {\n if (!preTGEBonds?.length) return []\n const data = []\n const chainId = chain as ChainId\n\n const preTGEBondsIds: number[] = []\n const launchBondsCalls = preTGEBonds.flatMap((bond) => {\n preTGEBondsIds.push(bond.index)\n const bill = bond\n return [\n {\n address: bill.contractAddress[bill.chainId] as string,\n name: 'trueBillPrice',\n },\n {\n address: bill.contractAddress[bill.chainId] as string,\n name: 'terms',\n },\n {\n address: bill.contractAddress[bill.chainId] as string,\n name: 'totalPrincipalBilled',\n },\n {\n address: bill.contractAddress[bill.chainId] as string,\n name: 'finalized',\n },\n {\n address: bill.contractAddress[bill.chainId] as string,\n name: 'minPoints',\n },\n {\n address: bill.contractAddress[bill.chainId] as string,\n name: 'maxPoints',\n },\n {\n address: bill.contractAddress[bill.chainId] as string,\n name: 'startVestingTimestamp',\n },\n ]\n })\n const vals = await multicall(chainId, launchBondsABI_V2_4_1, launchBondsCalls)\n const chunkSize = vals.length / preTGEBonds.length\n const chunkedBills = chunk(vals, chunkSize)\n const returnedBills = await Promise.all(\n chunkedBills?.map(async (chunk: any, index) => {\n const bondConfig = preTGEBonds?.find((bill) => bill?.index === preTGEBondsIds[index])!\n\n const [trueBillPrice, terms, totalPrincipalBilled, finalized, minPoints, maxPoints, startVestingTimestamp] =\n chunk\n const [, , vestingTerm, , , initialRelease, totalRaise, maxTotalPayout] = terms\n\n const initPrice = getBalanceNumber(\n trueBillPrice,\n bondConfig?.lpToken?.decimals?.[bondConfig?.chainId as ChainId] ?? 18,\n )\n\n const lpPrice =\n tokenPrices?.[bondConfig?.chainId]?.find(\n (tokenPrice) =>\n tokenPrice?.tokenAddress?.toLowerCase() ===\n bondConfig?.lpToken?.address?.[bondConfig?.chainId]?.toLowerCase(),\n )?.price ?? 0\n const earnTokenPrice =\n tokenPrices?.[bondConfig?.chainId]?.find(\n (tokenPrice) =>\n tokenPrice?.tokenAddress?.toLowerCase() ===\n bondConfig?.earnToken?.address?.[bondConfig?.chainId]?.toLowerCase(),\n )?.price ?? 0\n\n const principalTokenPrice = lpPrice?.toString() ?? '0'\n const payoutTokenPrice = earnTokenPrice ? earnTokenPrice?.toString() : initPrice?.toString()\n\n const bonus = Math.round((bondConfig.tgePrice! / initPrice) * 100 - 100)\n\n const endTime = parseInt(terms[0])\n const startTime = parseInt(terms[1])\n const now = Math.floor(Date.now() / 1000)\n const progress = Math.min(1, Math.max(0, (now - startTime) / (endTime - startTime)))\n const currentAPR =\n bondConfig.startAPR != null && bondConfig.endAPR != null && endTime > startTime\n ? bondConfig.startAPR + (bondConfig.endAPR - bondConfig.startAPR) * progress\n : 0\n let rewardDistributionEnd = 0\n if (bondConfig.yieldBond) {\n const calls = [\n {\n address: bondConfig.earnToken.address[bondConfig.chainId] ?? '',\n name: 'vestingEnd',\n },\n ]\n const res = await multicall(bondConfig.chainId, Vault_Shares_ABI, calls)\n rewardDistributionEnd = parseInt(res[0][0])\n }\n const data: BondsData = {\n ...bondConfig,\n initialRelease: initialRelease / 10000,\n vestingTerm: parseInt(vestingTerm),\n trueBondPrices: [\n {\n points: '0',\n boost: 0,\n trueBondPrice: trueBillPrice?.toString(),\n bonus,\n bonusWithFee: bonus, // placeholder, wont be used\n discount: bonus, // placeholder, wont be used\n discountWithFee: bonus, // placeholder, wont be used\n },\n ],\n maxTotalPayout: maxTotalPayout?.toString(),\n totalPrincipalBilled: totalPrincipalBilled?.toString(),\n payoutTokenPrice,\n principalTokenPrice,\n totalRaise: totalRaise?.toString(),\n finalized: finalized[0],\n minPoints: minPoints.toString(),\n maxPoints: maxPoints.toString(),\n startVestingTimestamp: startVestingTimestamp?.toString(),\n initTime: { [bondConfig.chainId]: parseInt(terms[1]) },\n finishTime: parseInt(terms[0]),\n initPrice,\n soldOut: finalized[0] || (parseInt(terms[0]) ?? 0) < Date.now() / 1000 || bondConfig.soldOut,\n yieldData: {\n apr: bondConfig.finalAPR || currentAPR,\n rewardDistributionEnd,\n },\n }\n return data\n }),\n )\n data.push(returnedBills)\n return data.flat()\n } catch (e) {\n console.error(e)\n reportError({\n apiUrl,\n error: e,\n extraInfo: { type: 'getLaunchBondsPublicData', preTGEBonds, chain, e },\n })\n return []\n }\n}\n"],"names":["launchBondsABI_V2_4_1"],"mappings":";;;;;;;AAUO,MAAM,oBAAoB,GAAG,OAClC,KAAa,EACb,WAAoD,EACpD,WAA2B,EAC3B,MAAe,KACS;AACxB,IAAA,IAAI;QACF,IAAI,CAAC,WAAW,EAAE,MAAM;AAAE,YAAA,OAAO,EAAE;QACnC,MAAM,IAAI,GAAG,EAAE;QACf,MAAM,OAAO,GAAG,KAAgB;QAEhC,MAAM,cAAc,GAAa,EAAE;QACnC,MAAM,gBAAgB,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AACpD,YAAA,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAC/B,MAAM,IAAI,GAAG,IAAI;YACjB,OAAO;AACL,gBAAA;oBACE,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAW;AACrD,oBAAA,IAAI,EAAE,eAAe;AACtB,iBAAA;AACD,gBAAA;oBACE,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAW;AACrD,oBAAA,IAAI,EAAE,OAAO;AACd,iBAAA;AACD,gBAAA;oBACE,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAW;AACrD,oBAAA,IAAI,EAAE,sBAAsB;AAC7B,iBAAA;AACD,gBAAA;oBACE,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAW;AACrD,oBAAA,IAAI,EAAE,WAAW;AAClB,iBAAA;AACD,gBAAA;oBACE,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAW;AACrD,oBAAA,IAAI,EAAE,WAAW;AAClB,iBAAA;AACD,gBAAA;oBACE,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAW;AACrD,oBAAA,IAAI,EAAE,WAAW;AAClB,iBAAA;AACD,gBAAA;oBACE,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAW;AACrD,oBAAA,IAAI,EAAE,uBAAuB;AAC9B,iBAAA;aACF;AACH,QAAA,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,EAAEA,qBAAqB,EAAE,gBAAgB,CAAC;QAC9E,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM;QAClD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC;AAC3C,QAAA,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,YAAY,EAAE,GAAG,CAAC,OAAO,KAAU,EAAE,KAAK,KAAI;YAC5C,MAAM,UAAU,GAAG,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,KAAK,KAAK,cAAc,CAAC,KAAK,CAAC,CAAE;AAEtF,YAAA,MAAM,CAAC,aAAa,EAAE,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,qBAAqB,CAAC,GACxG,KAAK;AACP,YAAA,MAAM,KAAK,WAAW,MAAM,cAAc,EAAE,UAAU,EAAE,cAAc,CAAC,GAAG,KAAK;YAE/E,MAAM,SAAS,GAAG,gBAAgB,CAChC,aAAa,EACb,UAAU,EAAE,OAAO,EAAE,QAAQ,GAAG,UAAU,EAAE,OAAkB,CAAC,IAAI,EAAE,CACtE;YAED,MAAM,OAAO,GACX,WAAW,GAAG,UAAU,EAAE,OAAO,CAAC,EAAE,IAAI,CACtC,CAAC,UAAU,KACT,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE;AACvC,gBAAA,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,CACrE,EAAE,KAAK,IAAI,CAAC;YACf,MAAM,cAAc,GAClB,WAAW,GAAG,UAAU,EAAE,OAAO,CAAC,EAAE,IAAI,CACtC,CAAC,UAAU,KACT,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE;AACvC,gBAAA,UAAU,EAAE,SAAS,EAAE,OAAO,GAAG,UAAU,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,CACvE,EAAE,KAAK,IAAI,CAAC;YAEf,MAAM,mBAAmB,GAAG,OAAO,EAAE,QAAQ,EAAE,IAAI,GAAG;AACtD,YAAA,MAAM,gBAAgB,GAAG,cAAc,GAAG,cAAc,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,QAAQ,EAAE;AAE5F,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,QAAS,GAAG,SAAS,IAAI,GAAG,GAAG,GAAG,CAAC;YAExE,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpC,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,SAAS,KAAK,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC;AACpF,YAAA,MAAM,UAAU,GACd,UAAU,CAAC,QAAQ,IAAI,IAAI,IAAI,UAAU,CAAC,MAAM,IAAI,IAAI,IAAI,OAAO,GAAG;AACpE,kBAAE,UAAU,CAAC,QAAQ,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,QAAQ,IAAI;kBAClE,CAAC;YACP,IAAI,qBAAqB,GAAG,CAAC;AAC7B,YAAA,IAAI,UAAU,CAAC,SAAS,EAAE;AACxB,gBAAA,MAAM,KAAK,GAAG;AACZ,oBAAA;AACE,wBAAA,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE;AAC/D,wBAAA,IAAI,EAAE,YAAY;AACnB,qBAAA;iBACF;AACD,gBAAA,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,CAAC;gBACxE,qBAAqB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C;AACA,YAAA,MAAM,IAAI,GAAc;AACtB,gBAAA,GAAG,UAAU;gBACb,cAAc,EAAE,cAAc,GAAG,KAAK;AACtC,gBAAA,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC;AAClC,gBAAA,cAAc,EAAE;AACd,oBAAA;AACE,wBAAA,MAAM,EAAE,GAAG;AACX,wBAAA,KAAK,EAAE,CAAC;AACR,wBAAA,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE;wBACxC,KAAK;wBACL,YAAY,EAAE,KAAK;wBACnB,QAAQ,EAAE,KAAK;wBACf,eAAe,EAAE,KAAK;AACvB,qBAAA;AACF,iBAAA;AACD,gBAAA,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE;AAC1C,gBAAA,oBAAoB,EAAE,oBAAoB,EAAE,QAAQ,EAAE;gBACtD,gBAAgB;gBAChB,mBAAmB;AACnB,gBAAA,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE;AAClC,gBAAA,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AACvB,gBAAA,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE;AAC/B,gBAAA,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE;AAC/B,gBAAA,qBAAqB,EAAE,qBAAqB,EAAE,QAAQ,EAAE;AACxD,gBAAA,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;AACtD,gBAAA,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC9B,SAAS;gBACT,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,UAAU,CAAC,OAAO;AAC5F,gBAAA,SAAS,EAAE;AACT,oBAAA,GAAG,EAAE,UAAU,CAAC,QAAQ,IAAI,UAAU;oBACtC,qBAAqB;AACtB,iBAAA;aACF;AACD,YAAA,OAAO,IAAI;QACb,CAAC,CAAC,CACH;AACD,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;AACxB,QAAA,OAAO,IAAI,CAAC,IAAI,EAAE;IACpB;IAAE,OAAO,CAAC,EAAE;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAChB,QAAA,WAAW,CAAC;YACV,MAAM;AACN,YAAA,KAAK,EAAE,CAAC;YACR,SAAS,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE;AACvE,SAAA,CAAC;AACF,QAAA,OAAO,EAAE;IACX;AACF;;;;"}
@@ -1,3 +0,0 @@
1
- import { BillsConfig } from '@ape.swap/apeswap-lists';
2
- import { TokenPrices } from '../../tokenPrices/useTokenPrices';
3
- export declare const fetchBondsDataSOL: (bonds: BillsConfig[], apiUrl: string, tokenPrices?: TokenPrices[]) => Promise<import("../../../types/bonds").BondsData[]>;
@@ -1,68 +0,0 @@
1
- import { ChainId } from '@ape.swap/apeswap-lists';
2
- import { solanaMulticall } from '../../../utils/solanaMulticall.js';
3
- import { PublicKey } from '@solana/web3.js';
4
- import { derivePda } from '../../../utils/derivePda.js';
5
- import { PROGRAM_ID } from '../../../constants/solanaConstants.js';
6
- import { cleanBillsData } from './cleanBillsData.js';
7
-
8
- const fetchBondsDataSOL = async (bonds, apiUrl, tokenPrices) => {
9
- const bills = bonds.filter((b) => !b.soldOut);
10
- try {
11
- const solanaCalls = [];
12
- const solanaBillIds = [];
13
- for (const bill of bills) {
14
- const bondIssuanceAddress = bill.contractAddress[ChainId.SOL];
15
- if (!bondIssuanceAddress)
16
- continue;
17
- solanaBillIds.push(bill.index);
18
- const bondIssuancePubkey = new PublicKey(bondIssuanceAddress);
19
- const bondTermPda = derivePda('bond_term', bondIssuancePubkey, PROGRAM_ID);
20
- const bondPricingPda = derivePda('bond_pricing', bondIssuancePubkey, PROGRAM_ID);
21
- solanaCalls.push({ accountAddress: bondIssuanceAddress, accountType: 'bondIssuance' }, { accountAddress: bondTermPda.toBase58(), accountType: 'bondTerm' }, { accountAddress: bondPricingPda.toBase58(), accountType: 'bondPricing' });
22
- }
23
- // Fetch Solana bills
24
- const solanaResults = (await solanaMulticall(solanaCalls));
25
- const solanaBills = solanaResults?.bondIssuance
26
- ?.map((bondIssuance, index) => {
27
- const vestingTermDuration = Number(solanaResults.bondTerm[index]?.vestingEnd.toString());
28
- const bill = {
29
- ...bondIssuance,
30
- ...solanaResults.bondPricing[index],
31
- terms: solanaResults.bondTerm[index],
32
- };
33
- return [
34
- bill.trueBillPrice,
35
- bill.totalPayoutGiven,
36
- [bill.terms.controlVariable, vestingTermDuration, bill.terms.minimumDebt, bill.terms.maxPayout],
37
- bill.terms.maxTotalPayout,
38
- bill.feeInPayout.toString(),
39
- bill.feeInPrincipal.toString(),
40
- false,
41
- undefined,
42
- undefined,
43
- solanaResults.bondPricing[index],
44
- solanaResults.bondTerm[index],
45
- ]; // Map to reflect evm structure
46
- })
47
- .filter((bill) => typeof bill !== 'undefined') ?? [];
48
- const allBillsIds = [];
49
- const allBillsData = [];
50
- if (solanaBills.length > 0) {
51
- allBillsIds.push(...solanaBillIds);
52
- allBillsData.push(...solanaBills);
53
- }
54
- return await cleanBillsData(allBillsIds, allBillsData, ChainId.SOL, bills, tokenPrices);
55
- }
56
- catch (e) {
57
- console.error(e);
58
- reportError({
59
- apiUrl,
60
- error: e,
61
- extraInfo: { type: 'getBondsDataSOL', e },
62
- });
63
- return [];
64
- }
65
- };
66
-
67
- export { fetchBondsDataSOL };
68
- //# sourceMappingURL=fetchBondsDataSOL.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fetchBondsDataSOL.js","sources":["../../../../src/state/bonds/fetchBondsData/fetchBondsDataSOL.ts"],"sourcesContent":["import { BillsConfig, ChainId } from '@ape.swap/apeswap-lists'\nimport { TokenPrices } from '../../tokenPrices/useTokenPrices'\nimport { SolanaCall, solanaMulticall } from '../../../utils/solanaMulticall'\nimport { PublicKey } from '@solana/web3.js'\nimport { derivePda } from '../../../utils/derivePda'\nimport { PROGRAM_ID } from '../../../constants/solanaConstants'\nimport { BondIssuance, SolanaBondData, SolanaBondsResult } from '../../../types/solanaBonds'\nimport { cleanBillsData } from './cleanBillsData'\n\nexport const fetchBondsDataSOL = async (bonds: BillsConfig[], apiUrl: string, tokenPrices?: TokenPrices[]) => {\n const bills = bonds.filter((b) => !b.soldOut)\n try {\n const solanaCalls: SolanaCall[] = []\n const solanaBillIds: number[] = []\n for (const bill of bills) {\n const bondIssuanceAddress = bill.contractAddress[ChainId.SOL]\n if (!bondIssuanceAddress) continue\n\n solanaBillIds.push(bill.index)\n const bondIssuancePubkey = new PublicKey(bondIssuanceAddress)\n const bondTermPda = derivePda('bond_term', bondIssuancePubkey, PROGRAM_ID)\n const bondPricingPda = derivePda('bond_pricing', bondIssuancePubkey, PROGRAM_ID)\n solanaCalls.push(\n { accountAddress: bondIssuanceAddress, accountType: 'bondIssuance' },\n { accountAddress: bondTermPda.toBase58(), accountType: 'bondTerm' },\n { accountAddress: bondPricingPda.toBase58(), accountType: 'bondPricing' },\n )\n }\n // Fetch Solana bills\n const solanaResults = (await solanaMulticall(solanaCalls)) as SolanaBondsResult\n\n const solanaBills =\n solanaResults?.bondIssuance\n ?.map((bondIssuance: BondIssuance, index: number) => {\n const vestingTermDuration = Number(solanaResults.bondTerm[index]?.vestingEnd.toString())\n const bill = {\n ...bondIssuance,\n ...solanaResults.bondPricing[index],\n terms: solanaResults.bondTerm[index],\n } as SolanaBondData\n\n return [\n bill.trueBillPrice,\n bill.totalPayoutGiven,\n [bill.terms.controlVariable, vestingTermDuration, bill.terms.minimumDebt, bill.terms.maxPayout],\n bill.terms.maxTotalPayout,\n bill.feeInPayout.toString(),\n bill.feeInPrincipal.toString(),\n false,\n undefined,\n undefined,\n solanaResults.bondPricing[index],\n solanaResults.bondTerm[index],\n ] // Map to reflect evm structure\n })\n .filter((bill: any) => typeof bill !== 'undefined') ?? []\n const allBillsIds = []\n const allBillsData = []\n if (solanaBills.length > 0) {\n allBillsIds.push(...solanaBillIds)\n allBillsData.push(...solanaBills)\n }\n return await cleanBillsData(allBillsIds, allBillsData, ChainId.SOL, bills, tokenPrices)\n } catch (e) {\n console.error(e)\n reportError({\n apiUrl,\n error: e,\n extraInfo: { type: 'getBondsDataSOL', e },\n })\n return []\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fetchBondsDataSui.js","sources":["../../../../src/state/bonds/fetchBondsData/fetchBondsDataSui.ts"],"sourcesContent":["// =============================================================================\n// Sui bond enrichment — builds BondsData[] from BillsConfig[] + prices\n// =============================================================================\n//\n// On-chain first: reads BondMarket objects directly via getObject for each\n// config and projects the fields onto BondsData. No backend dependency\n// (realtime-api does not support Sui).\n\nimport { BillsConfig, ChainId } from '@ape.swap/apeswap-lists'\nimport { BondsData } from '../../../types/bonds'\nimport { TokenPrices } from '../../tokenPrices/useTokenPrices'\nimport { getSuiClient } from '../../../utils/suiHelpers'\nimport { formatUnits } from '../../../utils/fixedPoint'\nimport axios from 'axios'\nimport { PRICE_API_URL } from '../../../config/constants/variables'\n\nconst SUI_KEY = ChainId.SUI\n\n// Contract constants — must match the Move source\nconst PRICE_DECIMALS = 100_000_000n // 1e8\nconst PERCENTAGE_BASE = 1_000_000n // 1e6\n\n// ---------------------------------------------------------------------------\n// Helpers — replicate bond_math on the client so we can compute true_price\n// from the raw object fields without needing a view function call.\n// ---------------------------------------------------------------------------\n\nconst pow10 = (n: number): bigint => 10n ** BigInt(n)\n\n/** debt_ratio = (current_debt * payout_scale) / payout_initial_supply */\nconst calculateDebtRatio = (currentDebt: bigint, payoutInitialSupply: bigint, payoutScale: bigint): bigint => {\n if (payoutInitialSupply === 0n) return 0n\n return (currentDebt * payoutScale) / payoutInitialSupply\n}\n\n/** value_of_token — convert amount from one decimal basis to another */\nconst valueOfToken = (fromDecimals: number, toDecimals: number, amount: bigint): bigint => {\n if (toDecimals >= fromDecimals) {\n return amount * pow10(toDecimals - fromDecimals)\n }\n return amount / pow10(fromDecimals - toDecimals)\n}\n\n/** bond_price = (control_variable * debt_ratio * token_scale) / PRICE_DECIMALS */\nconst calculateBondPrice = (controlVariable: bigint, debtRatio: bigint, tokenScale: bigint): bigint => {\n const temp = controlVariable * debtRatio\n return (temp * tokenScale) / PRICE_DECIMALS\n}\n\n/** true_price = (base_price * PERCENTAGE_BASE) / (PERCENTAGE_BASE - fee_in_principal) */\nconst calculateTruePrice = (basePrice: bigint, feeInPrincipal: bigint, minimumPrice: bigint): bigint => {\n const denominator = PERCENTAGE_BASE - feeInPrincipal\n if (denominator === 0n) return basePrice\n const truePrice = (basePrice * PERCENTAGE_BASE) / denominator\n return truePrice < minimumPrice ? minimumPrice : truePrice\n}\n\n// ---------------------------------------------------------------------------\n// Object field extraction — Sui getObject returns nested content.fields\n// ---------------------------------------------------------------------------\n\ninterface SuiMarketFields {\n paused: boolean\n emergency_paused: boolean\n treasury_id: string\n total_principal_billed: string\n total_payout_given: string\n total_debt: string\n last_decay: number\n payout_token_initial_supply: string\n payout_decimals: number\n principal_decimals: number\n fee_in_principal: string\n fee_in_payout: string\n cliff_period: number\n terms: {\n fields: {\n control_variable: string\n vesting_term: string\n minimum_price: string\n max_payout: string\n max_debt: string\n max_total_payout: string\n }\n }\n}\n\nconst extractMarketFields = (content: any): SuiMarketFields | null => {\n if (!content?.fields) return null\n const f = content.fields\n const terms = f.terms?.fields ?? f.terms\n if (!terms) return null\n return {\n paused: Boolean(f.paused),\n emergency_paused: Boolean(f.emergency_paused),\n treasury_id: String(f.treasury_id ?? ''),\n total_principal_billed: String(f.total_principal_billed ?? '0'),\n total_payout_given: String(f.total_payout_given ?? '0'),\n total_debt: String(f.total_debt ?? '0'),\n last_decay: Number(f.last_decay ?? 0),\n payout_token_initial_supply: String(f.payout_token_initial_supply ?? '0'),\n payout_decimals: Number(f.payout_decimals ?? 9),\n principal_decimals: Number(f.principal_decimals ?? 9),\n fee_in_principal: String(f.fee_in_principal ?? '0'),\n fee_in_payout: String(f.fee_in_payout ?? '0'),\n cliff_period: f.vesting_config?.variant === 'CliffLinear' ? Number(f.vesting_config?.fields?.cliff_period ?? 0) : 0,\n terms: {\n fields: {\n control_variable: String(terms.control_variable ?? '0'),\n vesting_term: String(terms.vesting_term ?? '0'),\n minimum_price: String(terms.minimum_price ?? '0'),\n max_payout: String(terms.max_payout ?? '0'),\n max_debt: String(terms.max_debt ?? '0'),\n max_total_payout: String(terms.max_total_payout ?? '0'),\n },\n },\n }\n}\n\n// ---------------------------------------------------------------------------\n// Main enrichment function\n// ---------------------------------------------------------------------------\n\n/**\n * Enrich Sui bond configs into full BondsData objects.\n *\n * Reads each BondMarket object directly via `getObject` and computes\n * true_bill_price client-side using the same bond_math formulas as the\n * Move contract. Scale conversion: computed `true_bill_price` is u64\n * scaled by PRICE_DECIMALS = 1e8; the SDK stores `trueBondPrice` scaled\n * by 1e18 (legacy EVM format) → multiply by 1e10.\n */\nexport const fetchBondsDataSUI = async (bondsParam?: BillsConfig[], prices?: TokenPrices[]): Promise<BondsData[]> => {\n const bonds = bondsParam?.filter((b) => !b.soldOut)\n if (!bonds || bonds?.length === 0) return []\n\n const client = getSuiClient()\n\n const enriched = await Promise.all(\n bonds.map(async (bond): Promise<BondsData | null> => {\n const marketAddr = bond.contractAddress[SUI_KEY]\n if (!marketAddr) return null\n try {\n const obj = await client.getObject({\n id: marketAddr,\n options: { showContent: true },\n })\n\n const fields = extractMarketFields(obj.data?.content)\n if (!fields) {\n console.warn(`[Sui] No content fields for market ${marketAddr}`)\n return null\n }\n\n const principalAddr = bond.lpToken.address[SUI_KEY]?.toLowerCase()\n const payoutAddr = bond.earnToken.address[SUI_KEY]?.toLowerCase()\n\n let principalPrice = prices?.find((t) => t.tokenAddress.toLowerCase() === principalAddr)?.price!\n if (principalPrice === undefined) {\n // principalPrice = 1\n try {\n const res = await axios.get(\n `${PRICE_API_URL}/realtime/price?token=${bond?.lpToken?.address?.[bond?.chainId]}&chain=${bond?.chainId}`,\n )\n principalPrice = res.data.price ?? 0\n } catch {\n console.error('Failed to fetch price for: ', bond.lpToken.symbol)\n principalPrice = 0\n }\n }\n\n let payoutPrice = prices?.find((t) => t.tokenAddress.toLowerCase() === payoutAddr)?.price!\n if (payoutPrice === undefined) {\n try {\n // Missing token price, therefor make a single call to api to fetch it\n const res = await axios.get(\n `${PRICE_API_URL}/realtime/price?token=${bond?.earnToken?.address?.[bond?.chainId]}&chain=${bond?.chainId}`,\n )\n payoutPrice = res.data.price ?? 0\n } catch {\n console.error('Failed to fetch price for: ', bond.earnToken.symbol)\n payoutPrice = 0\n }\n }\n\n // ---------- Compute true_bill_price client-side ----------\n const payoutDecimals = bond.earnToken.decimals[SUI_KEY] ?? fields.payout_decimals\n const principalDecimals = bond.lpToken.decimals?.[SUI_KEY] ?? fields.principal_decimals\n\n // Apply debt decay to match on-chain behavior (bond_math::calculate_decay).\n // The contract decays debt inside deposit(), but getObject returns the stale\n // total_debt from the last interaction. Without this, the SDK shows a worse\n // discount than the user actually gets.\n const rawTotalDebt = BigInt(fields.total_debt)\n const vestingTermSec = Number(fields.terms.fields.vesting_term)\n const nowSec = Math.floor(Date.now() / 1000)\n const elapsed = Math.max(0, nowSec - fields.last_decay)\n let totalDebt = rawTotalDebt\n if (vestingTermSec > 0 && elapsed > 0 && rawTotalDebt > 0n) {\n if (elapsed >= vestingTermSec) {\n totalDebt = 0n\n } else {\n // decay = total_debt * elapsed / vesting_term, capped at 90%\n const decay = (rawTotalDebt * BigInt(elapsed)) / BigInt(vestingTermSec)\n const maxDecay = (rawTotalDebt * 90n) / 100n\n totalDebt = rawTotalDebt - (decay > maxDecay ? maxDecay : decay)\n }\n }\n\n const payoutInitialSupply = BigInt(fields.payout_token_initial_supply)\n const controlVariable = BigInt(fields.terms.fields.control_variable)\n const minimumPrice = BigInt(fields.terms.fields.minimum_price)\n const feeInPrincipalRaw = BigInt(fields.fee_in_principal)\n\n // Replicate calculate_current_debt → calculate_price → calculate_true_price\n const currentDebtPayout = valueOfToken(principalDecimals, payoutDecimals, totalDebt)\n const payoutScale = pow10(payoutDecimals)\n const principalScale = pow10(principalDecimals)\n\n const debtRatio = calculateDebtRatio(currentDebtPayout, payoutInitialSupply, payoutScale)\n const basePrice = calculateBondPrice(controlVariable, debtRatio, principalScale)\n const trueBillPriceU64 = calculateTruePrice(basePrice, feeInPrincipalRaw, minimumPrice)\n\n // Convert on-chain u64 to SDK formats.\n // The on-chain price is used as: payout = value * 10^payoutDec / price\n // So \"principal per payout\" in human terms = price / 10^payoutDec.\n // The SDK's legacy format scales to 1e18: trueBondPriceScaled = price * 10^(18-payoutDec).\n const trueBondPriceScaled = (trueBillPriceU64 * pow10(18 - payoutDecimals)).toString()\n const trueBondPriceHuman = Number(trueBillPriceU64) / Math.pow(10, payoutDecimals)\n\n // Same formula as getRawDiscount / getRawBonus in state/bonds/utils.ts\n const discount = payoutPrice > 0 ? ((payoutPrice - principalPrice * trueBondPriceHuman) / payoutPrice) * 100 : 0\n const bonus = discount > 0 && discount < 100 ? (discount / (100 - discount)) * 100 : 0\n\n // Fees: u64 in PERCENTAGE_BASE (1e6) → divide by 10_000 for human %\n const feeInPayout = Number(fields.fee_in_payout) / 10_000\n const feeInPrincipal = Number(fields.fee_in_principal) / 10_000\n const trueBondPriceWithFee =\n feeInPayout < 100 ? trueBondPriceHuman * (1 / ((100 - feeInPayout) / 100)) : trueBondPriceHuman\n const discountWithFee =\n payoutPrice > 0 ? ((payoutPrice - principalPrice * trueBondPriceWithFee) / payoutPrice) * 100 : 0\n const bonusWithFee =\n discountWithFee > 0 && discountWithFee < 100 ? (discountWithFee / (100 - discountWithFee)) * 100 : 0\n\n const tokensRemaining = formatUnits(\n BigInt(fields.terms.fields.max_total_payout) - BigInt(fields.total_payout_given),\n payoutDecimals,\n )\n\n return {\n ...bond,\n suiTreasuryId: fields.treasury_id || undefined,\n soldOut:\n fields.paused ||\n fields.emergency_paused ||\n BigInt(fields.total_payout_given) >= BigInt(fields.terms.fields.max_total_payout)\n ? true\n : bond.soldOut,\n maxTotalPayout: fields.terms.fields.max_total_payout,\n totalPayoutGiven: fields.total_payout_given,\n maxPayout: fields.terms.fields.max_payout,\n tokensRemaining,\n showcaseTokenName: bond.earnToken.symbol,\n vestingTerm: Number(fields.terms.fields.vesting_term),\n vestingCliff: fields.cliff_period || undefined,\n feeInPayout,\n feeInPrincipal,\n trueBondPrices: [\n {\n trueBondPrice: trueBondPriceScaled,\n points: '0',\n discount,\n discountWithFee,\n bonus,\n bonusWithFee,\n boost: 0,\n },\n ],\n principalTokenPrice: principalPrice.toString(),\n payoutTokenPrice: payoutPrice.toString(),\n }\n } catch (e) {\n console.warn(`[Sui] Failed to read BondMarket for ${marketAddr}`, e)\n // Hide the bond from the list when on-chain data is unavailable —\n // showing a card with all zeros is confusing for users.\n return null\n }\n }),\n )\n return enriched.filter((b): b is BondsData => b !== null)\n}\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fetchUsersBondsAptos.js","sources":["../../../../src/state/bonds/fetchUsersBonds/fetchUsersBondsAptos.ts"],"sourcesContent":["// =============================================================================\n// fetchUserOwnedAptosBonds — user bills fetcher for the Aptos chain\n// =============================================================================\n//\n// On-chain first: reads user bills directly via Move view functions (no\n// api-v2 dependency). Uses:\n//\n// bond_nft::user_bills(user) → [bill_id, ...]\n// bond_nft::bond_market_by_id(bill_id) → market_addr\n// bond_nft::nft_address(bill_id) → bill_addr\n// bond::bill_info(market, bill_addr) → Bill struct\n// bond_nft::vesting_progress(bill_id) → [total_vested, claimable]\n\nimport { BillsConfig, ChainId } from '@ape.swap/apeswap-lists'\nimport type { UserOwnedBillsData, UserBill } from '../../../types/yourbonds'\nimport type { BondsData } from '../../../types/bonds'\nimport type { TokenPrices } from '../../tokenPrices/useTokenPrices'\nimport { APTOS_PLACEHOLDER_BILL_IMAGE } from '../../../constants/aptosConstants'\nimport axios from 'axios'\nimport {\n readAptosBillInfo,\n readBondMarketByBillId,\n readNftAddressByBillId,\n readUserBillIds,\n readVestingProgress,\n} from '../../../utils/aptosHelpers'\nimport { PRICE_API_URL } from '../../../config/constants/variables'\n\nexport async function fetchUsersBondsAptos(\n user: string | undefined,\n bondData: BillsConfig[],\n tokenPrices: Partial<Record<ChainId, TokenPrices[]>>,\n): Promise<UserOwnedBillsData[]> {\n if (!user) return []\n\n // Build one `UserOwnedBillsData` per known bond config. We always return\n // the outer shell so downstream code (`getUserBonds` in useUserBonds.ts)\n // can match bills back to their bond config.\n const aptosKey = ChainId.APTOS\n const aptosPrices = tokenPrices?.[aptosKey] ?? []\n\n // Index bonds by lowercased market address for O(1) lookup when matching\n // bill_ids back to their market.\n const bondsByMarket = new Map<string, BillsConfig>()\n for (const bond of bondData) {\n const marketAddr = bond.contractAddress[aptosKey]\n if (marketAddr) bondsByMarket.set(marketAddr.toLowerCase(), bond)\n }\n\n // Seed the result with empty shells so every bond is represented.\n const result: UserOwnedBillsData[] = bondData.map((bond) => ({\n index: bond.index,\n userOwnedBills: [] as UserBill[],\n }))\n const indexByBondIndex = new Map<number, UserOwnedBillsData>()\n for (const entry of result) indexByBondIndex.set(entry.index, entry)\n\n try {\n const billIds = await readUserBillIds(user)\n if (billIds.length === 0) return result\n\n // For each bill the user owns, resolve its market, object address, state\n // and vesting progress in parallel. Bills whose market is not in our\n // bondData are silently skipped (they belong to a market the SDK isn't\n // configured to display).\n await Promise.all(\n billIds.map(async (billId) => {\n try {\n const [marketAddr, billAddr] = await Promise.all([\n readBondMarketByBillId(billId),\n readNftAddressByBillId(billId),\n ])\n const bond = bondsByMarket.get(marketAddr.toLowerCase())\n if (!bond) return\n\n const [billInfo, vesting] = await Promise.all([\n readAptosBillInfo(marketAddr, billId),\n readVestingProgress(marketAddr, billId),\n ])\n\n const principalAddr = bond.lpToken.address[aptosKey]?.toLowerCase()\n const payoutAddr = bond.earnToken.address[aptosKey]?.toLowerCase()\n let principalPrice = aptosPrices.find((t) => t.tokenAddress.toLowerCase() === principalAddr)?.price\n let payoutPrice = aptosPrices.find((t) => t.tokenAddress.toLowerCase() === payoutAddr)?.price\n\n // Fallback: individual price-api call (same pattern as fetchBillsUserSolana.ts).\n // TODO(aptos): price-api pending Aptos support. Fallback to hardcoded prices.\n if (principalPrice === undefined) {\n try {\n const res = await axios.get(\n `${PRICE_API_URL}/realtime/price?token=${bond.lpToken.address[aptosKey]}&chain=${aptosKey}`,\n )\n principalPrice = parseFloat(res.data.price ?? '0')\n } catch {\n principalPrice = 0\n }\n }\n if (payoutPrice === undefined) {\n try {\n const res = await axios.get(\n `${PRICE_API_URL}/realtime/price?token=${bond.earnToken.address[aptosKey]}&chain=${aptosKey}`,\n )\n payoutPrice = parseFloat(res.data.price ?? '0')\n } catch {\n payoutPrice = 0\n }\n }\n\n const payoutTotal = String(billInfo.payout ?? '0')\n const payoutClaimed = String(billInfo.payout_claimed ?? '0')\n const payoutRemaining = (BigInt(payoutTotal) - BigInt(payoutClaimed)).toString()\n const vestingStart = billInfo.vesting_start_timestamp ?? billInfo.last_timestamp ?? '0'\n const lastClaim = billInfo.last_claim_timestamp ?? billInfo.last_timestamp ?? vestingStart\n\n // Compute human-readable amounts for the modal display.\n const payoutDecimals = bond.earnToken.decimals[aptosKey] ?? 8\n const principalDecimals = bond.lpToken.decimals[aptosKey] ?? 8\n const payoutHuman = parseFloat(payoutTotal) / 10 ** payoutDecimals\n // Reconstruct deposit from payout and true_price_paid:\n // price = principal_amount * 1e8 / payout_amount → principal = payout * price / 1e8\n const truePricePaid = parseFloat(String(billInfo.true_price_paid ?? '0'))\n const depositAtomic = (parseFloat(payoutTotal) * truePricePaid) / 1e8\n const depositHuman = depositAtomic / 10 ** principalDecimals\n const depositUSD = depositHuman * (principalPrice ?? 0)\n\n const userBill: UserBill = {\n // `UserBill.address` is used by the SDK's claim flow as the\n // second argument to `bond::claim(market, bill_addr)`. Must be\n // the object address, NOT the scalar bill_id.\n address: billAddr,\n id: billId,\n vestingTerm: String(billInfo.vesting_term ?? '0'),\n payout: payoutRemaining,\n totalPayout: payoutTotal,\n truePricePaid: String(billInfo.true_price_paid ?? '0'),\n lastBlockTimestamp: String(lastClaim),\n vestingStartTimestamp: String(vestingStart),\n pendingRewards: vesting[1], // claimable from vesting_progress tuple\n billNftAddress: bond.billNnftAddress[aptosKey] ?? '',\n payoutClaimed,\n nftData: {\n tokenId: 0,\n billNftId: parseInt(billId),\n processing: false,\n image: APTOS_PLACEHOLDER_BILL_IMAGE,\n // Populate `data` so YourBondsModal can display Deposit/Bond Value.\n // api-v2 won't enrich Aptos bills, so we compute from on-chain data.\n data: {\n dollarValue: depositUSD,\n payout: payoutHuman,\n billContract: marketAddr,\n billNftAddress: bond.billNnftAddress[aptosKey] ?? '',\n billNftId: parseInt(billId),\n blockNumber: 0,\n bondArtCollection: '',\n bondPartner: '',\n bondVersion: bond.version ?? '',\n chainId: aptosKey,\n createTransactionHash: '',\n createdAddressOwner: user,\n createdAt: parseInt(String(vestingStart)),\n deposit: depositHuman,\n expires: parseInt(String(vestingStart)) + parseInt(String(billInfo.vesting_term ?? '0')),\n pairName: `${bond.lpToken.symbol}-${bond.earnToken.symbol}`,\n payoutToken: bond.earnToken.address[aptosKey] ?? '',\n payoutTokenData: {\n address: bond.earnToken.address[aptosKey] ?? '',\n name: bond.earnToken.symbol,\n symbol: bond.earnToken.symbol,\n decimals: bond.earnToken.decimals,\n },\n payoutTokenPrice: (payoutPrice ?? 0).toString(),\n principalToken: bond.lpToken.address[aptosKey] ?? '',\n token0: {\n address: bond.lpToken.address[aptosKey] ?? '',\n symbol: bond.lpToken.symbol,\n name: bond.lpToken.symbol,\n decimals: bond.lpToken.decimals,\n },\n token1: {\n address: bond.earnToken.address[aptosKey] ?? '',\n symbol: bond.earnToken.symbol,\n name: bond.earnToken.symbol,\n decimals: bond.earnToken.decimals,\n },\n type: bond.billType ?? 'reserve',\n vestingPeriodSeconds: parseInt(String(billInfo.vesting_term ?? '0')),\n },\n },\n bond: {\n ...bond,\n payoutTokenPrice: payoutPrice?.toString(),\n principalTokenPrice: principalPrice?.toString(),\n } as BondsData,\n }\n\n const entry = indexByBondIndex.get(bond.index)\n entry?.userOwnedBills.push(userBill)\n } catch (billErr) {\n console.warn(`[Aptos] Failed to read bill ${billId}`, billErr)\n }\n }),\n )\n } catch (e) {\n console.warn(`[Aptos] Failed to list user bills for ${user}`, e)\n }\n\n return result\n}\n"],"names":[],"mappings":"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"}