@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionsSui.js","sources":["../../../src/adapters/sui/ActionsSui.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport { Transaction } from '@mysten/sui/transactions'\n\nimport { claimable } from '../../utils/displayHelpers'\nimport { UserBill } from '../../types/yourbonds'\nimport { getTimePeriods } from '../../utils/getTimePeriods'\nimport useBondsData from '../../state/bonds/useBondsData'\nimport { usePopups } from '../../state/popups/usePopups'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport { reportError } from '../../utils/reportError'\nimport Button from '../../components/uikit-sdk/Button/Button'\n\nimport { useQueryClient } from '@tanstack/react-query'\nimport useSUIAccount from './useSUIAccount'\nimport { SUI_CLAIM_FUNCTION } from './suiConstants'\nimport { getSuiClient, verifySuiTxSuccess } from './suiHelpers'\nimport { QUERY_KEYS } from '../../config/constants/queryKeys'\n\n// YourBondsModal action buttons for Sui bonds. Mirrors the shape of\n// `ActionsAptos`: one Claim button and one \"Buy again\" button that\n// jumps to an active bond of the same showcase token.\nconst ActionsSui = ({ userBill }: { userBill?: UserBill }) => {\n // Hooks\n const SDKConfig = useSDKConfig()\n const queryClient = useQueryClient()\n const { address: suiAccount, signAndExecuteTransaction } = useSUIAccount()\n const { addToastError, addToastSuccess } = usePopups()\n const { data: liveBonds } = useBondsData()\n\n // State\n const [loadingTx, setLoadingTx] = useState(false)\n\n // Static Data\n const similarLiveBond = liveBonds?.find(\n (bond) =>\n !bond?.soldOut &&\n !bond?.hide &&\n bond?.earnToken?.symbol?.toLowerCase() === userBill?.bond?.earnToken?.symbol?.toLowerCase(),\n )\n const canPurchaseAgain = !!similarLiveBond\n const vestingCliff = userBill?.bond?.vestingCliff\n const currentTime = Math.round(new Date().getTime() / 1000)\n const purchaseTimestamp = parseInt(userBill?.vestingStartTimestamp ?? '0')\n const isPendingCliff = vestingCliff ? currentTime - purchaseTimestamp < vestingCliff : false\n const cliffCountdown = getTimePeriods(purchaseTimestamp + (vestingCliff ?? 0) - currentTime, true)\n\n const handleClaim = async () => {\n if (loadingTx || !suiAccount || !userBill || !signAndExecuteTransaction) return\n\n try {\n setLoadingTx(true)\n\n const market = userBill?.bond?.contractAddress?.[userBill?.bond?.chainId]\n if (!market) throw new Error('Missing bond market address')\n\n // The user's BondNFT object ID is stored in `bill.address`\n const nftObjectId = userBill?.address\n if (!nftObjectId) throw new Error('Missing bond NFT object ID')\n\n const payoutCoinType = userBill?.bond?.earnToken?.address?.[userBill?.bond?.chainId ?? 0]\n const principalCoinType = userBill?.bond?.lpToken?.address?.[userBill?.bond?.chainId ?? 0]\n if (!payoutCoinType || !principalCoinType) throw new Error('Missing token type info')\n\n const tx = new Transaction()\n const [claimedCoin] = tx.moveCall({\n target: SUI_CLAIM_FUNCTION,\n typeArguments: [payoutCoinType, principalCoinType],\n arguments: [\n tx.object(market),\n tx.object(nftObjectId),\n tx.object('0x6'), // clock\n ],\n })\n tx.transferObjects([claimedCoin], tx.pure.address(suiAccount))\n\n // Pre-build so the wallet receives fully-resolved bytes\n tx.setSender(suiAccount)\n tx.setGasBudget(50_000_000)\n const suiClient = getSuiClient()\n const builtBytes = await tx.build({ client: suiClient })\n const prebuiltTx = Transaction.from(builtBytes)\n\n const response = await signAndExecuteTransaction({\n transaction: prebuiltTx,\n })\n\n const digest = response?.digest\n if (!digest) throw new Error('No tx digest returned by wallet')\n\n await suiClient.waitForTransaction({ digest })\n await verifySuiTxSuccess(digest)\n\n await queryClient.invalidateQueries({ queryKey: [QUERY_KEYS.USER_BONDS] })\n addToastSuccess(digest, ChainId.SUI)\n } catch (error: any) {\n console.error('Sui claim failed:', error)\n addToastError(error?.message ?? 'Unknown error')\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error,\n account: suiAccount ?? '',\n chainId: ChainId.SUI,\n extraInfo: { type: 'suiClaim', userBill, error },\n })\n } finally {\n setLoadingTx(false)\n }\n }\n\n return (\n <>\n <Button\n variant=\"secondary\"\n disabled={claimable(userBill) === 0 || loadingTx || !userBill || isPendingCliff}\n load={loadingTx}\n onClick={(event) => {\n event.stopPropagation()\n if (!loadingTx) handleClaim()\n }}\n className=\"ape:text-[14px]! ape:w-full\"\n >\n {isPendingCliff\n ? `Claimable in ${cliffCountdown.days !== 0 ? `${cliffCountdown.days} days` : cliffCountdown.hours !== 0 ? `${cliffCountdown.hours} hours` : `${cliffCountdown.minutes} mins`}`\n : 'Claim'}\n </Button>\n <Button\n className=\"ape:text-[14px]! ape:w-full\"\n onClick={() => {\n if (!canPurchaseAgain) return\n const params = `/bonds?bondAddress=${similarLiveBond.contractAddress[similarLiveBond.chainId]}&bondChain=${similarLiveBond.chainId}`\n window.location.href = `${params}`\n }}\n disabled={!canPurchaseAgain}\n >\n {canPurchaseAgain ? 'Buy again' : 'sold out'}\n </Button>\n </>\n )\n}\n\nexport default ActionsSui\n"],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
@@ -1,9 +1,10 @@
1
- import { jsx, jsxs, Fragment } from 'theme-ui/jsx-runtime';
1
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import { useState, useCallback, useEffect } from 'react';
3
+ import clsx from 'clsx';
3
4
  import { ChainId } from '@ape.swap/apeswap-lists';
4
5
  import { Transaction } from '@mysten/sui/transactions';
5
- import useSuiZapQuote, { AFTERMATH_TX_API_URL } from '../../state/zap/useSuiZapQuote.js';
6
- import { findSuiZapToken } from '../../config/constants/suiZapTokens.js';
6
+ import useSuiZapQuote, { AFTERMATH_TX_API_URL } from './useSuiZapQuote.js';
7
+ import { findSuiZapToken } from './suiZapTokens.js';
7
8
  import useBondsData from '../../state/bonds/useBondsData.js';
8
9
  import { useSDKConfig } from '../../state/useSDKConfig.js';
9
10
  import { usePopups } from '../../state/popups/usePopups.js';
@@ -16,24 +17,24 @@ import { MCBuyComponentStyles } from '../../utils/campaignStyles.js';
16
17
  import track from '../../utils/track.js';
17
18
  import { remove0xPrefix } from '../../utils/remove0xPrefix.js';
18
19
  import { getSymbol } from '../../utils/getNativeTicker.js';
19
- import useSUIAccount from '../../hooks/accounts/useSUIAccount.js';
20
+ import useSUIAccount from './useSUIAccount.js';
20
21
  import useTokenFromZapList from '../../hooks/useTokenFromZapList.js';
21
22
  import useSortedZapList from '../../hooks/useSortedZapList.js';
22
23
  import TokenSelectorPanel from '../../components/TokenSelectorPanel/index.js';
23
- import BondModalHeader from './components/BondModalHeader.js';
24
- import BondCards from './components/BondCards/BondCards.js';
25
- import Estimations from './components/Estimations.js';
26
- import ProjectDescription from './components/ProjectDescription.js';
24
+ import BondModalHeader from '../../views/BuyBond/components/BondModalHeader.js';
25
+ import BondCards from '../../views/BuyBond/components/BondCards/BondCards.js';
26
+ import Estimations from '../../views/BuyBond/components/Estimations.js';
27
+ import ProjectDescription from '../../views/BuyBond/components/ProjectDescription.js';
27
28
  import Flex from '../../components/uikit-sdk/Flex/index.js';
28
29
  import Text from '../../components/uikit-sdk/Text/index.js';
29
30
  import Button from '../../components/uikit-sdk/Button/Button.js';
30
31
  import SafeHTMLComponent from '../../components/SafeHTMLComponent/index.js';
31
- import { SUI_DEPOSIT_FUNCTION, SUI_PACKAGE_ID } from '../../constants/suiConstants.js';
32
- import { getSuiClient, readFreshTrueBondPrice, verifySuiTxSuccess } from '../../utils/suiHelpers.js';
32
+ import { SUI_DEPOSIT_FUNCTION, SUI_PACKAGE_ID } from './suiConstants.js';
33
+ import { getSuiClient, readFreshTrueBondPrice, verifySuiTxSuccess } from './suiHelpers.js';
33
34
  import { openSuiWalletConnector } from '../../config/constants/walletConnectors.js';
34
35
  import { useQueryClient } from '@tanstack/react-query';
35
36
  import { QUERY_KEYS } from '../../config/constants/queryKeys.js';
36
- import axios from 'axios';
37
+ import { apiPost } from '../../utils/httpClient.js';
37
38
  import { toFixedString, parseUnits, mulDivRound } from '../../utils/fixedPoint.js';
38
39
 
39
40
  // (100 + slippage) / 100 as an exact integer fraction, scaled by 1e6 to preserve fractional
@@ -278,12 +279,11 @@ const BuyComponentSui = ({ onDismiss, bondAddress, bondChain, isProjectView, set
278
279
  // TX1: Acquire principal tokens
279
280
  // if (IS_SUI_MAINNET) {
280
281
  // Mainnet: swap via Aftermath DEX aggregator
281
- const txResponse = await axios.post(AFTERMATH_TX_API_URL, {
282
+ const swapTxBytes = await apiPost(AFTERMATH_TX_API_URL, {
282
283
  walletAddress: suiAccount,
283
284
  completeRoute: aftermathQuote,
284
285
  slippage: slippage / 100,
285
286
  });
286
- const swapTxBytes = txResponse.data;
287
287
  if (!swapTxBytes)
288
288
  throw new Error('Aftermath returned no transaction data');
289
289
  const swapTx = Transaction.from(swapTxBytes);
@@ -463,14 +463,7 @@ const BuyComponentSui = ({ onDismiss, bondAddress, bondChain, isProjectView, set
463
463
  !SDKConfig.blockSales &&
464
464
  !zapError &&
465
465
  !(isZap && !aftermathQuote);
466
- return bondData ? (jsx(Flex, { className: "modal-content", sx: { ...MCBuyComponentStyles[bondData?.marketingCampaign] }, children: jsxs(Flex, { className: "modaltable-container", children: [jsx(BondModalHeader, { bondData: bondData, onDismiss: onDismiss, hidePromotionUi: true }), jsx(ProjectDescription, { description: bondData.shortDescription, isProjectView: true }), jsx(Flex, { sx: { width: '100%', display: isProjectView ? ['flex', 'flex', 'flex', 'none'] : 'flex' }, children: jsx(BondCards, { bondData: bondData, isDoingMaxBuy: exceedsSafeMaxBuy && !exceedsRealMaxBuy }) }), jsx(Estimations, { depositAmount: depositAmount, inputValue: inputValue, inputTokenPrice: inputTokenPrice, bondData: bondData, youSpendString: youSpendString, isZap: isZap, fetchingZapQuote: fetchingZapQuote, zapError: zapError }), jsx(TokenSelectorPanel, { typedValue: inputValue, setTypedValue: setInputValue, selectedToken: inputToken, handleValueBtn: handleMaxButton, handleCurrencySelect: handleCurrencySelect, bondChainId: ChainId.SUI, enableZap: true, bondPrincipalToken: bondData?.lpToken, tokenBalance: inputCurrencyBalance ?? undefined, selectedTokenPrice: inputTokenPrice, isConnected: !!suiAccount }), bondData?.warningCard && (jsx(Flex, { sx: {
467
- width: '100%',
468
- background: '#DE62F366',
469
- justifyContent: 'center',
470
- mt: '10px',
471
- borderRadius: 'normal',
472
- p: '2px 10px',
473
- }, children: jsx(Text, { sx: { fontSize: '12px', fontWeight: 400, display: 'flex', alignItems: 'center', gap: '10px' }, children: jsx(SafeHTMLComponent, { html: bondData?.warningCard }) }) })), jsx(Flex, { className: "modaltable-container button-container", children: jsx(Flex, { className: "button-container buy", children: !suiAccount ? (jsx(Button, { className: "action-button", onClick: openSuiWalletConnector, sx: { width: '100%', fontSize: ['14px', '14px', '14px', '16px'] }, children: "Connect to Sui" })) : (jsx(Button, { className: "action-button", load: load, disabled: !canBuy, onClick: handleBuy, sx: { width: '100%', fontSize: ['14px', '14px', '14px', '16px'] }, children: SDKConfig.blockSales
466
+ return bondData ? (jsx(Flex, { className: "modal-content ape:flex ape:flex-col ape:rounded-[10px] ape:bg-white2 ape:w-full ape:p-[15px] ape:min-[800px]:p-[20px]", style: { ...MCBuyComponentStyles[bondData?.marketingCampaign] }, children: jsxs(Flex, { className: "modaltable-container ape:w-full ape:flex ape:flex-col ape:relative", children: [jsx(BondModalHeader, { bondData: bondData, onDismiss: onDismiss, hidePromotionUi: true }), jsx(ProjectDescription, { description: bondData.shortDescription, isProjectView: true }), jsx(Flex, { className: clsx('ape:w-full', isProjectView ? 'ape:hidden ape:lg:flex' : 'ape:flex'), children: jsx(BondCards, { bondData: bondData, isDoingMaxBuy: exceedsSafeMaxBuy && !exceedsRealMaxBuy }) }), jsx(Estimations, { depositAmount: depositAmount, inputValue: inputValue, inputTokenPrice: inputTokenPrice, bondData: bondData, youSpendString: youSpendString, isZap: isZap, fetchingZapQuote: fetchingZapQuote, zapError: zapError }), jsx(TokenSelectorPanel, { typedValue: inputValue, setTypedValue: setInputValue, selectedToken: inputToken, handleValueBtn: handleMaxButton, handleCurrencySelect: handleCurrencySelect, bondChainId: ChainId.SUI, enableZap: true, bondPrincipalToken: bondData?.lpToken, tokenBalance: inputCurrencyBalance ?? undefined, selectedTokenPrice: inputTokenPrice, isConnected: !!suiAccount }), bondData?.warningCard && (jsx(Flex, { className: "ape:w-full ape:justify-center ape:mt-[10px] ape:rounded-normal ape:p-[2px_10px]", style: { background: '#DE62F366' }, children: jsx(Text, { as: "div", size: "12px", className: "ape:font-normal ape:flex ape:items-center ape:gap-[10px]", children: jsx(SafeHTMLComponent, { html: bondData?.warningCard }) }) })), jsx(Flex, { className: "modaltable-container button-container ape:w-full ape:flex ape:relative ape:flex-row ape:pt-[10px] ape:justify-between", children: jsx(Flex, { className: "button-container buy ape:justify-center ape:items-center ape:cursor-pointer ape:w-full", children: !suiAccount ? (jsx(Button, { className: "action-button ape:w-full ape:text-[14px]! ape:lg:text-[16px]!", onClick: openSuiWalletConnector, children: "Connect to Sui" })) : (jsx(Button, { className: "action-button ape:w-full ape:text-[14px]! ape:lg:text-[16px]!", load: load, disabled: !canBuy, onClick: handleBuy, children: SDKConfig.blockSales
474
467
  ? 'Complete KYC to Buy'
475
468
  : zapError
476
469
  ? 'Swap quote failed'
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BuyComponentSui.js","sources":["../../../src/adapters/sui/BuyComponentSui.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from 'react'\nimport clsx from 'clsx'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport { Transaction } from '@mysten/sui/transactions'\nimport useSuiZapQuote, { AFTERMATH_TX_API_URL } from './useSuiZapQuote'\nimport { findSuiZapToken } from './suiZapTokens'\nimport useBondsData from '../../state/bonds/useBondsData'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport { usePopups } from '../../state/popups/usePopups'\nimport { useSlippage } from '../../state/slippage/useSlippage'\nimport { BondsData } from '../../types/bonds'\nimport { formatUSDNumber, getMaxBuy, getPayoutAmount, getPrincipalAmount } from '../../utils/displayHelpers'\nimport { formatNumberSI } from '../../utils/formatNumber'\nimport { findHighestTrueBondPrice } from '../../utils/bondPriceHelpers'\nimport { reportError } from '../../utils/reportError'\nimport { MCBuyComponentStyles } from '../../utils/campaignStyles'\nimport track from '../../utils/track'\nimport { remove0xPrefix } from '../../utils/remove0xPrefix'\nimport { getSymbol } from '../../utils/getNativeTicker'\n\nimport useSUIAccount from './useSUIAccount'\nimport useTokenFromZapList from '../../hooks/useTokenFromZapList'\nimport useSortedZapList from '../../hooks/useSortedZapList'\nimport TokenSelectorPanel from '../../components/TokenSelectorPanel'\nimport BondModalHeader from '../../views/BuyBond/components/BondModalHeader'\nimport BondCards from '../../views/BuyBond/components/BondCards/BondCards'\nimport Estimations from '../../views/BuyBond/components/Estimations'\nimport ProjectDescription from '../../views/BuyBond/components/ProjectDescription'\n\nimport Flex from '../../components/uikit-sdk/Flex'\nimport Text from '../../components/uikit-sdk/Text'\nimport Button from '../../components/uikit-sdk/Button/Button'\nimport SafeHTMLComponent from '../../components/SafeHTMLComponent'\n\nimport { SUI_DEPOSIT_FUNCTION, SUI_PACKAGE_ID } from './suiConstants'\nimport { getSuiClient, readFreshTrueBondPrice, verifySuiTxSuccess } from './suiHelpers'\nimport { openSuiWalletConnector } from '../../config/constants/walletConnectors'\nimport { MarketingCampaign } from '@ape.swap/apeswap-lists'\nimport { useQueryClient } from '@tanstack/react-query'\nimport { QUERY_KEYS } from '../../config/constants/queryKeys'\nimport { apiPost } from '../../utils/httpClient'\nimport { SuiClient } from '@mysten/sui/client'\nimport { mulDivRound, parseUnits, toFixedString } from '../../utils/fixedPoint'\n\n// (100 + slippage) / 100 as an exact integer fraction, scaled by 1e6 to preserve fractional\n// slippage percentages (e.g. 0.5%) without a float precompute.\nconst slippageMaxPrice = (priceBig: bigint, slippage: number): bigint =>\n mulDivRound(priceBig, parseUnits(String(100 + slippage), 6), parseUnits('100', 6), 'ceil')\n\nconst extractSuiBillId = async (digest: string, suiClient: SuiClient): Promise<string> => {\n const txBlock = await suiClient.getTransactionBlock({\n digest,\n options: {\n showEffects: true,\n showObjectChanges: true,\n showEvents: true,\n },\n })\n const bondNftType = `${SUI_PACKAGE_ID}::bond_nft::BondNFT`\n const createdNft = txBlock.objectChanges?.find(\n (change) =>\n change.type === 'created' && 'objectType' in change && (change.objectType as string)?.includes(bondNftType),\n )\n if (createdNft && 'objectId' in createdNft) {\n const nftObjectId = createdNft.objectId as string\n try {\n const nftObj = await suiClient.getObject({\n id: nftObjectId,\n options: { showContent: true },\n })\n if (nftObj.data?.content?.dataType === 'moveObject') {\n const fields = nftObj.data.content.fields as Record<string, any>\n const billId = String(fields?.bill_id ?? '')\n if (billId && billId !== 'undefined' && billId !== '') {\n return billId\n }\n }\n } catch (e) {\n console.warn('[SUI AFTER-PURCHASE] Failed to read BondNFT object:', nftObjectId, e)\n }\n }\n return `digest:${digest}`\n}\n\ninterface BuyComponentSuiProps {\n onDismiss?: () => void\n bondAddress?: string\n bondChain?: number\n setBillId?: (id: string) => void\n isProjectView?: boolean\n}\n\nconst BuyComponentSui: React.FC<BuyComponentSuiProps> = ({\n onDismiss,\n bondAddress,\n bondChain,\n isProjectView,\n setBillId,\n}) => {\n const SDKConfig = useSDKConfig()\n const queryClient = useQueryClient()\n\n // Hooks\n const { address: suiAccount, signAndExecuteTransaction } = useSUIAccount()\n const { data: bonds } = useBondsData()\n const { addToastError, addToastSuccess } = usePopups()\n const { solSlippage: slippage } = useSlippage() // reuse Sol slippage bucket for Sui\n\n const bondData: BondsData | undefined = bonds?.find(\n (bond) => bond?.contractAddress?.[bond?.chainId]?.toLowerCase() === bondAddress?.toLowerCase(),\n )\n\n // Derived pricing (same path the Solana no-tier branch uses).\n const trueBondPriceData = findHighestTrueBondPrice('0', bondData?.trueBondPrices)\n\n // State\n const [inputValue, setInputValue] = useState('')\n const [inputTokenString, setInputTokenString] = useState(bondData?.lpToken?.address?.[bondData?.chainId])\n const [loadingTx, setLoadingTx] = useState(false)\n\n // Token selection — reuses the same infrastructure as Solana\n const inputToken = useTokenFromZapList(inputTokenString, bondData?.chainId, bondData?.lpToken)\n const principalAddress = bondData?.lpToken?.address?.[bondData?.chainId]\n // Detect zap: selected token differs from the bond principal\n const SUI_NATIVE_COIN_TYPE = '0x2::sui::SUI'\n const isNativeMatchingPrincipal =\n (inputTokenString === 'NATIVE' || inputTokenString?.toLowerCase() === SUI_NATIVE_COIN_TYPE.toLowerCase()) &&\n principalAddress?.toLowerCase() === SUI_NATIVE_COIN_TYPE.toLowerCase()\n const isZap =\n !!inputTokenString &&\n !!principalAddress &&\n !isNativeMatchingPrincipal &&\n inputTokenString.toLowerCase() !== principalAddress.toLowerCase()\n\n // Zap quote from Aftermath DEX aggregator\n const suiZapToken = findSuiZapToken(\n inputToken && inputToken !== 'NATIVE'\n ? inputToken?.address?.[ChainId.SUI]\n : inputToken === 'NATIVE'\n ? '0x2::sui::SUI'\n : undefined,\n )\n const [fetchingZapQuote, aftermathQuote, zapDepositAmount, zapError] = useSuiZapQuote(\n inputValue,\n suiZapToken,\n bondData,\n suiAccount ?? undefined,\n slippage,\n )\n\n // Sorted zap list (balances + prices)\n const { sortedZapList, isFetched: zapListFetched } = useSortedZapList(bondChain, bondData?.lpToken)\n const enrichedTokenData = sortedZapList.find((item) =>\n item.token === 'NATIVE' || inputToken === 'NATIVE'\n ? item.token === inputToken\n : item?.token?.address?.[bondChain as ChainId]?.toLowerCase() ===\n inputToken?.address?.[bondChain as ChainId]?.toLowerCase(),\n )\n const inputCurrencyBalance = enrichedTokenData?.balance\n const inputTokenPrice = enrichedTokenData?.price\n\n // Estimations — use zapDepositAmount if swapping\n const depositAmount = isZap ? zapDepositAmount : inputValue\n const youSpendString = `${formatNumberSI(inputValue)} ${getSymbol(inputToken, bondData?.chainId)} = $${formatUSDNumber(\n (parseFloat(inputValue || '0') * (inputTokenPrice ?? 0)).toString(),\n )}`\n\n const exceedsRealMaxBuy = getMaxBuy(bondData, true) <= getPayoutAmount(bondData, depositAmount, '0')\n const exceedsSafeMaxBuy =\n getMaxBuy(bondData, false) * (isZap ? 0.995 : 0.9995) <= getPayoutAmount(bondData, depositAmount, '0')\n\n const exceedsBalance = Number(inputCurrencyBalance ?? '0') < Number(inputValue)\n\n const load = loadingTx || (fetchingZapQuote && !!inputValue)\n\n // Handlers\n const handleCurrencySelect = useCallback((newInputToken: string) => {\n setInputValue('')\n setInputTokenString(newInputToken)\n }, [])\n\n const handleMaxButton = () => {\n const balance = Number(inputCurrencyBalance ?? '0')\n const principalDecimals = bondData?.lpToken?.decimals?.[bondData?.chainId] ?? 9\n const maxBuyAmount = getMaxBuy(bondData, SDKConfig.showLowValueBonds)\n\n const maxPossibleUserPurchase = getPayoutAmount(bondData, balance.toString(), '0')\n if (maxPossibleUserPurchase > maxBuyAmount) {\n const principalForMaxBuy = getPrincipalAmount(bondData, maxBuyAmount.toString(), '0')\n setInputValue(toFixedString(principalForMaxBuy, principalDecimals))\n } else {\n setInputValue(toFixedString(balance, principalDecimals))\n }\n }\n\n const handleBuyCallback = async () => {\n if (!suiAccount || !bondData || !inputValue || !signAndExecuteTransaction) return\n track({\n event: 'buyBondClick',\n chain: bondChain,\n data: {\n cat: bondData?.billType,\n bond: bondData?.earnToken.symbol,\n value: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n try {\n setLoadingTx(true)\n\n const principalDecimals = bondData.lpToken.decimals[bondData.chainId] ?? 9\n const atomicAmount = parseUnits(inputValue, principalDecimals, 'floor').toString()\n\n const market = bondData.contractAddress[bondData.chainId]\n\n // Read fresh bond price from chain to avoid stale cache after previous purchases\n const freshTruePrice = await readFreshTrueBondPrice(market)\n const atomicMaxPrice = slippageMaxPrice(freshTruePrice, slippage).toString()\n const principalCoinType = bondData.lpToken.address[bondData.chainId]\n const payoutCoinType = bondData.earnToken.address[bondData.chainId]\n if (!principalCoinType || !payoutCoinType) throw new Error('Missing token type info')\n\n // Build Sui transaction\n const tx = new Transaction()\n const isPrincipalNativeSui =\n !principalCoinType || principalCoinType.toLowerCase() === SUI_NATIVE_COIN_TYPE.toLowerCase()\n\n let principalCoin\n if (isPrincipalNativeSui) {\n ;[principalCoin] = tx.splitCoins(tx.gas, [tx.pure.u64(atomicAmount)])\n } else {\n const suiClient = getSuiClient()\n const userCoins = await suiClient.getCoins({ owner: suiAccount, coinType: principalCoinType })\n if (!userCoins.data.length) throw new Error(`No ${bondData.lpToken.symbol} coins found in wallet`)\n if (userCoins.data.length > 1) {\n const [primary, ...rest] = userCoins.data.map((c) => tx.object(c.coinObjectId))\n tx.mergeCoins(primary, rest)\n ;[principalCoin] = tx.splitCoins(primary, [tx.pure.u64(atomicAmount)])\n } else {\n ;[principalCoin] = tx.splitCoins(tx.object(userCoins.data[0].coinObjectId), [tx.pure.u64(atomicAmount)])\n }\n }\n\n if (!market || !bondData?.suiTreasuryId || !bondData?.billNnftAddress?.[ChainId.SUI]) {\n return\n }\n\n tx.moveCall({\n target: SUI_DEPOSIT_FUNCTION,\n typeArguments: [payoutCoinType, principalCoinType],\n arguments: [\n tx.object(market),\n tx.object(bondData.suiTreasuryId),\n tx.object(bondData.billNnftAddress[ChainId.SUI]),\n principalCoin,\n tx.pure.u64(atomicMaxPrice),\n tx.pure.address(suiAccount),\n tx.object('0x6'), // clock\n ],\n })\n\n // Pre-build the transaction so the wallet receives fully-resolved bytes.\n // Some wallets (e.g. Phantom) fail with \"Unexpected error\" when they have\n // to build/simulate a Transaction object themselves.\n tx.setSender(suiAccount)\n tx.setGasBudget(50_000_000) // 0.05 SUI — generous for a bond deposit\n const builtBytes = await tx.build({ client: getSuiClient() })\n const prebuiltTx = Transaction.from(builtBytes)\n const response = await signAndExecuteTransaction({\n transaction: prebuiltTx,\n })\n\n const digest = response?.digest\n if (!digest) throw new Error('No tx digest returned by wallet')\n\n const suiClient = getSuiClient()\n await suiClient.waitForTransaction({ digest })\n await verifySuiTxSuccess(digest)\n\n // Extract the bill_id from the confirmed transaction.\n // extractSuiBillId logs the full tx block so you can inspect the raw data\n // in case automatic extraction fails.\n const billId = await extractSuiBillId(digest, suiClient)\n console.log('[SUI AFTER-PURCHASE] handleBuyCallback billId:', billId)\n\n // Invalidate bonds data so next purchase uses fresh pricing\n await queryClient.invalidateQueries({ queryKey: [QUERY_KEYS.BONDS_DATA] })\n\n // Sui's indexer has a short lag — getOwnedObjects may not return the\n // new BondNFT immediately. Schedule re-invalidations so the Your Bonds\n // view picks up the new bond once the indexer catches up.\n setTimeout(() => queryClient.invalidateQueries({ queryKey: [QUERY_KEYS.USER_BONDS] }), 3000)\n\n track({\n event: 'bond',\n chain: bondChain,\n data: {\n cat: 'lp-buy',\n type: bondData?.billType ?? '',\n typedValue: inputValue,\n principalToken: bondData?.lpToken.symbol ?? '',\n earnToken: bondData?.earnToken.symbol ?? '',\n address: remove0xPrefix(market),\n usdAmount: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n\n addToastSuccess(digest, bondChain as ChainId)\n setBillId?.(billId)\n } catch (error: any) {\n console.error('[SUI DEBUG] Error during Sui bond purchase:', error)\n addToastError(error?.message || 'Unknown error')\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error: error?.message,\n extraInfo: { type: 'suiBuyBond', error: error?.message },\n chainId: bondChain,\n account: suiAccount,\n })\n } finally {\n setLoadingTx(false)\n }\n }\n\n const handleZapCallback = async () => {\n if (loadingTx || !suiAccount || !bondData || !aftermathQuote || !signAndExecuteTransaction) return\n\n track({\n event: 'buyBondClick',\n chain: bondChain,\n data: {\n cat: bondData?.billType,\n bond: bondData?.earnToken.symbol,\n value: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n\n try {\n setLoadingTx(true)\n const suiClient = getSuiClient()\n const principalDecimals = bondData.lpToken.decimals[bondData.chainId] ?? 6\n const depositAmountAtomic = parseUnits(zapDepositAmount, principalDecimals, 'floor').toString()\n\n // TX1: Acquire principal tokens\n // if (IS_SUI_MAINNET) {\n // Mainnet: swap via Aftermath DEX aggregator\n const swapTxBytes = await apiPost(AFTERMATH_TX_API_URL, {\n walletAddress: suiAccount,\n completeRoute: aftermathQuote,\n slippage: slippage / 100,\n })\n\n if (!swapTxBytes) throw new Error('Aftermath returned no transaction data')\n\n const swapTx = Transaction.from(swapTxBytes)\n const swapResponse = await signAndExecuteTransaction({ transaction: swapTx })\n const swapDigest = swapResponse?.digest\n if (!swapDigest) throw new Error('No tx digest returned for swap')\n await suiClient.waitForTransaction({ digest: swapDigest })\n // } else {\n // // Testnet: mint principal tokens via test_principal_token::mint\n // // No DEX aggregator supports Sui testnet or custom test tokens.\n // const mintTx = new Transaction()\n // mintTx.moveCall({\n // target: SUI_MINT_PRINCIPAL_FUNCTION,\n // arguments: [\n // mintTx.object(SUI_PRINCIPAL_TOKEN_ADMIN_TESTNET),\n // mintTx.pure.u64(depositAmountAtomic),\n // mintTx.pure.address(suiAccount),\n // ],\n // })\n //\n // mintTx.setSender(suiAccount)\n // mintTx.setGasBudget(50_000_000)\n // const builtMint = await mintTx.build({ client: suiClient })\n // const prebuiltMint = Transaction.from(builtMint)\n //\n // const mintResponse = await signAndExecuteTransaction({ transaction: prebuiltMint })\n // const mintDigest = mintResponse?.digest\n // if (!mintDigest) throw new Error('No tx digest returned for testnet mint')\n // await suiClient.waitForTransaction({ digest: mintDigest })\n // }\n\n // TX2: Deposit into bond with principal tokens\n const market = bondData.contractAddress[ChainId.SUI]\n\n // Read fresh bond price from chain to avoid stale cache\n const freshTruePrice = await readFreshTrueBondPrice(market)\n const atomicMaxPrice = slippageMaxPrice(freshTruePrice, slippage).toString()\n\n const principalCoinType = bondData.lpToken.address[bondData.chainId]\n const payoutCoinType = bondData.earnToken.address[bondData.chainId]\n if (!principalCoinType || !payoutCoinType) throw new Error('Missing token type info')\n\n const tx = new Transaction()\n const isPrincipalNativeSui = principalCoinType.toLowerCase() === SUI_NATIVE_COIN_TYPE.toLowerCase()\n\n let principalCoin\n if (isPrincipalNativeSui) {\n ;[principalCoin] = tx.splitCoins(tx.gas, [tx.pure.u64(depositAmountAtomic)])\n } else {\n const userCoins = await suiClient.getCoins({ owner: suiAccount, coinType: principalCoinType })\n if (!userCoins.data.length) throw new Error(`No ${bondData.lpToken.symbol} coins found after swap`)\n if (userCoins.data.length > 1) {\n const [primary, ...rest] = userCoins.data.map((c) => tx.object(c.coinObjectId))\n tx.mergeCoins(primary, rest)\n ;[principalCoin] = tx.splitCoins(primary, [tx.pure.u64(depositAmountAtomic)])\n } else {\n ;[principalCoin] = tx.splitCoins(tx.object(userCoins.data[0].coinObjectId), [\n tx.pure.u64(depositAmountAtomic),\n ])\n }\n }\n\n if (!market || !bondData?.suiTreasuryId || !bondData?.billNnftAddress?.[ChainId.SUI]) {\n return\n }\n\n tx.moveCall({\n target: SUI_DEPOSIT_FUNCTION,\n typeArguments: [payoutCoinType, principalCoinType],\n arguments: [\n tx.object(market),\n tx.object(bondData.suiTreasuryId),\n tx.object(bondData.billNnftAddress[ChainId.SUI]),\n principalCoin,\n tx.pure.u64(atomicMaxPrice),\n tx.pure.address(suiAccount),\n tx.object('0x6'), // clock\n ],\n })\n\n tx.setSender(suiAccount)\n tx.setGasBudget(50_000_000)\n const builtDeposit = await tx.build({ client: suiClient })\n const prebuiltDeposit = Transaction.from(builtDeposit)\n\n const depositResponse = await signAndExecuteTransaction({ transaction: prebuiltDeposit })\n const depositDigest = depositResponse?.digest\n if (!depositDigest) throw new Error('No tx digest returned for deposit')\n await suiClient.waitForTransaction({ digest: depositDigest })\n await verifySuiTxSuccess(depositDigest)\n\n // Extract the bill_id from the confirmed deposit transaction.\n // extractSuiBillId logs the full tx block so you can inspect the raw data\n // in case automatic extraction fails.\n const billId = await extractSuiBillId(depositDigest, suiClient)\n console.log('[SUI AFTER-PURCHASE] handleZapCallback billId:', billId)\n\n // Invalidate bonds data so next purchase uses fresh pricing\n await queryClient.invalidateQueries({ queryKey: [QUERY_KEYS.BONDS_DATA] })\n\n // Sui indexer lag — schedule delayed re-invalidations for user bonds\n setTimeout(() => queryClient.invalidateQueries({ queryKey: [QUERY_KEYS.USER_BONDS] }), 3000)\n\n track({\n event: 'zap',\n chain: bondChain,\n data: {\n cat: 'bond',\n token1: getSymbol(inputToken, bondData?.chainId),\n token2: bondData?.lpToken.symbol ?? '',\n amount: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n\n track({\n event: 'bond',\n chain: bondChain,\n data: {\n cat: 'lp-buy',\n type: bondData?.billType ?? '',\n typedValue: inputValue,\n principalToken: bondData?.lpToken.symbol ?? '',\n earnToken: bondData?.earnToken.symbol ?? '',\n address: remove0xPrefix(market),\n usdAmount: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n\n addToastSuccess(depositDigest, bondChain as ChainId)\n setBillId?.(billId)\n } catch (error: any) {\n console.error('Error during Sui zap bond purchase:', error)\n addToastError(error?.message || 'Unknown error')\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error: error?.message,\n extraInfo: { type: 'suiZapBuyBond', error: error?.message },\n chainId: bondChain,\n account: suiAccount,\n })\n } finally {\n setLoadingTx(false)\n }\n }\n\n const handleBuy = () => {\n if (loadingTx) return\n if (isZap) {\n handleZapCallback()\n } else {\n handleBuyCallback()\n }\n }\n\n // Sync inputTokenString when bondData loads after initial render\n useEffect(() => {\n const addr = bondData?.lpToken?.address?.[bondData?.chainId]\n if (addr && !inputTokenString) {\n setInputTokenString(addr)\n }\n }, [bondData?.lpToken?.address, bondData?.chainId]) // eslint-disable-line react-hooks/exhaustive-deps\n\n // Auto-select highest balance token when zap list loads\n const [hasChecked, setHasChecked] = useState(false)\n useEffect(() => {\n if (zapListFetched && !hasChecked) {\n if (parseFloat(inputCurrencyBalance ?? '0') < 0.0001) {\n setInputTokenString(\n sortedZapList[0]?.token === 'NATIVE' ? 'NATIVE' : sortedZapList[0]?.token.address[bondChain as ChainId],\n )\n }\n setHasChecked(true)\n }\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [inputCurrencyBalance, zapListFetched])\n\n const hasPositiveBonus = (trueBondPriceData?.bonusWithFee ?? 0) > 0\n\n const canBuy =\n !load &&\n !!suiAccount &&\n !bondData?.soldOut &&\n !!inputValue &&\n parseFloat(inputValue) > 0 &&\n !exceedsRealMaxBuy &&\n !exceedsBalance &&\n hasPositiveBonus &&\n !SDKConfig.blockSales &&\n !zapError &&\n !(isZap && !aftermathQuote)\n\n return bondData ? (\n <Flex\n className=\"modal-content ape:flex ape:flex-col ape:rounded-[10px] ape:bg-white2 ape:w-full ape:p-[15px] ape:min-[800px]:p-[20px]\"\n style={{ ...MCBuyComponentStyles[bondData?.marketingCampaign as MarketingCampaign] }}\n >\n <Flex className=\"modaltable-container ape:w-full ape:flex ape:flex-col ape:relative\">\n <BondModalHeader bondData={bondData} onDismiss={onDismiss} hidePromotionUi />\n <ProjectDescription description={bondData.shortDescription} isProjectView />\n <Flex className={clsx('ape:w-full', isProjectView ? 'ape:hidden ape:lg:flex' : 'ape:flex')}>\n <BondCards bondData={bondData} isDoingMaxBuy={exceedsSafeMaxBuy && !exceedsRealMaxBuy} />\n </Flex>\n <Estimations\n depositAmount={depositAmount}\n inputValue={inputValue}\n inputTokenPrice={inputTokenPrice}\n bondData={bondData}\n youSpendString={youSpendString}\n isZap={isZap}\n fetchingZapQuote={fetchingZapQuote}\n zapError={zapError}\n />\n <TokenSelectorPanel\n typedValue={inputValue}\n setTypedValue={setInputValue}\n selectedToken={inputToken}\n handleValueBtn={handleMaxButton}\n handleCurrencySelect={handleCurrencySelect}\n bondChainId={ChainId.SUI}\n enableZap={true}\n bondPrincipalToken={bondData?.lpToken}\n tokenBalance={inputCurrencyBalance ?? undefined}\n selectedTokenPrice={inputTokenPrice}\n isConnected={!!suiAccount}\n />\n {bondData?.warningCard && (\n <Flex\n className=\"ape:w-full ape:justify-center ape:mt-[10px] ape:rounded-normal ape:p-[2px_10px]\"\n style={{ background: '#DE62F366' }}\n >\n <Text as=\"div\" size=\"12px\" className=\"ape:font-normal ape:flex ape:items-center ape:gap-[10px]\">\n <SafeHTMLComponent html={bondData?.warningCard} />\n </Text>\n </Flex>\n )}\n <Flex className=\"modaltable-container button-container ape:w-full ape:flex ape:relative ape:flex-row ape:pt-[10px] ape:justify-between\">\n <Flex className=\"button-container buy ape:justify-center ape:items-center ape:cursor-pointer ape:w-full\">\n {!suiAccount ? (\n <Button\n className=\"action-button ape:w-full ape:text-[14px]! ape:lg:text-[16px]!\"\n onClick={openSuiWalletConnector}\n >\n Connect to Sui\n </Button>\n ) : (\n <Button\n className=\"action-button ape:w-full ape:text-[14px]! ape:lg:text-[16px]!\"\n load={load}\n disabled={!canBuy}\n onClick={handleBuy}\n >\n {SDKConfig.blockSales\n ? 'Complete KYC to Buy'\n : zapError\n ? 'Swap quote failed'\n : exceedsRealMaxBuy\n ? 'Exceeds Max Buy. Reduce amount'\n : exceedsBalance\n ? 'Insufficient balance'\n : !inputValue || parseFloat(inputValue) === 0\n ? 'Insert amount'\n : 'buy'}\n </Button>\n )}\n </Flex>\n </Flex>\n </Flex>\n </Flex>\n ) : (\n <></>\n )\n}\n\nexport default BuyComponentSui\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import type { ClaimAllActionProps } from '../types';
3
+ /** Claim All for Sui: every claimable bill of the selected chain in a single programmable transaction. */
4
+ declare const ClaimAllActionSui: React.FC<ClaimAllActionProps>;
5
+ export default ClaimAllActionSui;
@@ -0,0 +1,89 @@
1
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
+ import { useState } from 'react';
3
+ import { ChainId } from '@ape.swap/apeswap-lists';
4
+ import { Transaction } from '@mysten/sui/transactions';
5
+ import Button from '../../components/uikit-sdk/Button/Button.js';
6
+ import Text from '../../components/uikit-sdk/Text/index.js';
7
+ import useUserBonds from '../../state/bonds/useUserBonds.js';
8
+ import { usePopups } from '../../state/popups/usePopups.js';
9
+ import { useSDKConfig } from '../../state/useSDKConfig.js';
10
+ import track from '../../utils/track.js';
11
+ import { reportError } from '../../utils/reportError.js';
12
+ import useSUIAccount from './useSUIAccount.js';
13
+ import { SUI_CLAIM_FUNCTION } from './suiConstants.js';
14
+ import { getSuiClient, verifySuiTxSuccess } from './suiHelpers.js';
15
+
16
+ /** Claim All for Sui: every claimable bill of the selected chain in a single programmable transaction. */
17
+ const ClaimAllActionSui = ({ bondsToClaim }) => {
18
+ const { address: suiAccount, signAndExecuteTransaction } = useSUIAccount();
19
+ const SDKConfig = useSDKConfig();
20
+ const { addToastError, addToastSuccess } = usePopups();
21
+ const { refetch } = useUserBonds();
22
+ const [loadingTx, setLoadingTx] = useState(false);
23
+ const ownedBillsAmount = bondsToClaim.reduce((total, group) => total + (group.userOwnedBills?.length || 0), 0);
24
+ const handleClaim = async () => {
25
+ if (!suiAccount || !bondsToClaim.length || !signAndExecuteTransaction)
26
+ return;
27
+ setLoadingTx(true);
28
+ try {
29
+ const allBills = bondsToClaim
30
+ .flatMap((group) => group.userOwnedBills.map((b) => ({ bill: b, market: group.bond.contractAddress[group.bond.chainId] })))
31
+ .filter(({ bill }) => bill.pendingRewards !== '0');
32
+ // Build a single PTB that claims all bills in one transaction
33
+ const tx = new Transaction();
34
+ for (const { bill, market } of allBills) {
35
+ if (!market || !bill.address)
36
+ continue;
37
+ const payoutCoinType = bill.bond?.earnToken?.address?.[bill.bond?.chainId ?? 0];
38
+ const principalCoinType = bill.bond?.lpToken?.address?.[bill.bond?.chainId ?? 0];
39
+ if (!payoutCoinType || !principalCoinType)
40
+ continue;
41
+ track({
42
+ event: 'bond',
43
+ chain: ChainId.SUI,
44
+ data: { cat: 'claimAll', address: market, earnToken: bill.bond?.earnToken?.symbol },
45
+ });
46
+ const [claimedCoin] = tx.moveCall({
47
+ target: SUI_CLAIM_FUNCTION,
48
+ typeArguments: [payoutCoinType, principalCoinType],
49
+ arguments: [
50
+ tx.object(market),
51
+ tx.object(bill.address), // BondNFT object ID
52
+ tx.object('0x6'), // clock
53
+ ],
54
+ });
55
+ tx.transferObjects([claimedCoin], tx.pure.address(suiAccount));
56
+ }
57
+ // Pre-build so the wallet receives fully-resolved bytes
58
+ tx.setSender(suiAccount);
59
+ tx.setGasBudget(50000000);
60
+ const builtBytes = await tx.build({ client: getSuiClient() });
61
+ const prebuiltTx = Transaction.from(builtBytes);
62
+ const claimResponse = await signAndExecuteTransaction({ transaction: prebuiltTx });
63
+ const claimDigest = claimResponse?.digest;
64
+ if (claimDigest) {
65
+ await verifySuiTxSuccess(claimDigest);
66
+ }
67
+ refetch();
68
+ addToastSuccess(claimDigest, ChainId.SUI);
69
+ }
70
+ catch (error) {
71
+ console.error('Sui Claim All failed:', error);
72
+ addToastError(error?.message ?? 'Unknown error');
73
+ reportError({
74
+ apiUrl: SDKConfig?.urls?.apiV2,
75
+ error,
76
+ extraInfo: { type: 'suiClaimAll', bondsOfSelectedChain: bondsToClaim, error },
77
+ chainId: ChainId.SUI,
78
+ account: suiAccount ?? '',
79
+ });
80
+ }
81
+ finally {
82
+ setLoadingTx(false);
83
+ }
84
+ };
85
+ return (jsxs(Fragment, { children: [jsxs(Text, { size: "14px", weight: 400, className: "ape:mt-[15px]", children: [`You'll claim`, " ", ownedBillsAmount, " Bonds in 1 transaction."] }), jsx(Button, { className: "ape:mt-[15px] ape:w-full", onClick: handleClaim, disabled: !suiAccount || loadingTx || !ownedBillsAmount, load: loadingTx, children: !suiAccount ? 'Connect Sui Wallet' : 'Claim' })] }));
86
+ };
87
+
88
+ export { ClaimAllActionSui as default };
89
+ //# sourceMappingURL=ClaimAllActionSui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClaimAllActionSui.js","sources":["../../../src/adapters/sui/ClaimAllActionSui.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport { Transaction } from '@mysten/sui/transactions'\nimport Button from '../../components/uikit-sdk/Button/Button'\nimport Text from '../../components/uikit-sdk/Text'\nimport useUserBonds from '../../state/bonds/useUserBonds'\nimport { usePopups } from '../../state/popups/usePopups'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport track from '../../utils/track'\nimport { reportError } from '../../utils/reportError'\nimport type { ClaimAllActionProps } from '../types'\nimport useSUIAccount from './useSUIAccount'\nimport { SUI_CLAIM_FUNCTION } from './suiConstants'\nimport { getSuiClient, verifySuiTxSuccess } from './suiHelpers'\n\n/** Claim All for Sui: every claimable bill of the selected chain in a single programmable transaction. */\nconst ClaimAllActionSui: React.FC<ClaimAllActionProps> = ({ bondsToClaim }) => {\n const { address: suiAccount, signAndExecuteTransaction } = useSUIAccount()\n const SDKConfig = useSDKConfig()\n const { addToastError, addToastSuccess } = usePopups()\n const { refetch } = useUserBonds()\n const [loadingTx, setLoadingTx] = useState(false)\n\n const ownedBillsAmount = bondsToClaim.reduce((total, group) => total + (group.userOwnedBills?.length || 0), 0)\n\n const handleClaim = async () => {\n if (!suiAccount || !bondsToClaim.length || !signAndExecuteTransaction) return\n\n setLoadingTx(true)\n try {\n const allBills = bondsToClaim\n .flatMap((group) =>\n group.userOwnedBills.map((b) => ({ bill: b, market: group.bond.contractAddress[group.bond.chainId] })),\n )\n .filter(({ bill }) => bill.pendingRewards !== '0')\n\n // Build a single PTB that claims all bills in one transaction\n const tx = new Transaction()\n for (const { bill, market } of allBills) {\n if (!market || !bill.address) continue\n\n const payoutCoinType = bill.bond?.earnToken?.address?.[bill.bond?.chainId ?? 0]\n const principalCoinType = bill.bond?.lpToken?.address?.[bill.bond?.chainId ?? 0]\n if (!payoutCoinType || !principalCoinType) continue\n\n track({\n event: 'bond',\n chain: ChainId.SUI,\n data: { cat: 'claimAll', address: market, earnToken: bill.bond?.earnToken?.symbol },\n })\n\n const [claimedCoin] = tx.moveCall({\n target: SUI_CLAIM_FUNCTION,\n typeArguments: [payoutCoinType, principalCoinType],\n arguments: [\n tx.object(market),\n tx.object(bill.address), // BondNFT object ID\n tx.object('0x6'), // clock\n ],\n })\n tx.transferObjects([claimedCoin], tx.pure.address(suiAccount))\n }\n\n // Pre-build so the wallet receives fully-resolved bytes\n tx.setSender(suiAccount)\n tx.setGasBudget(50_000_000)\n const builtBytes = await tx.build({ client: getSuiClient() })\n const prebuiltTx = Transaction.from(builtBytes)\n\n const claimResponse = await signAndExecuteTransaction({ transaction: prebuiltTx })\n const claimDigest = claimResponse?.digest\n if (claimDigest) {\n await verifySuiTxSuccess(claimDigest)\n }\n\n refetch()\n addToastSuccess(claimDigest, ChainId.SUI)\n } catch (error: any) {\n console.error('Sui Claim All failed:', error)\n addToastError(error?.message ?? 'Unknown error')\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error,\n extraInfo: { type: 'suiClaimAll', bondsOfSelectedChain: bondsToClaim, error },\n chainId: ChainId.SUI,\n account: suiAccount ?? '',\n })\n } finally {\n setLoadingTx(false)\n }\n }\n\n return (\n <>\n <Text size=\"14px\" weight={400} className=\"ape:mt-[15px]\">\n {`You'll claim`} {ownedBillsAmount} Bonds in 1 transaction.\n </Text>\n <Button\n className=\"ape:mt-[15px] ape:w-full\"\n onClick={handleClaim}\n disabled={!suiAccount || loadingTx || !ownedBillsAmount}\n load={loadingTx}\n >\n {!suiAccount ? 'Connect Sui Wallet' : 'Claim'}\n </Button>\n </>\n )\n}\n\nexport default ClaimAllActionSui\n"],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export default function ConnectToSuiBanner(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,16 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { useSDKConfig } from '../../state/useSDKConfig.js';
3
+ import { openSuiWalletConnector } from '../../config/constants/walletConnectors.js';
4
+ import Flex from '../../components/uikit-sdk/Flex/index.js';
5
+ import Button from '../../components/uikit-sdk/Button/Button.js';
6
+ import Text from '../../components/uikit-sdk/Text/index.js';
7
+ import SUI from '../../components/uikit-sdk/Svg/tokens/SUI.js';
8
+
9
+ function ConnectToSuiBanner() {
10
+ const config = useSDKConfig();
11
+ const handleConnect = config?.openWalletConnectors?.sui ? openSuiWalletConnector : undefined;
12
+ return (jsxs(Flex, { className: "ape:w-full ape:h-[75px] ape:p-[10px] ape:rounded-[10px] ape:justify-between ape:items-center ape:border-none ape:cursor-pointer ape:hover:opacity-90", style: { background: 'linear-gradient(135deg, #2B2B2B 0%, #1A1A2E 100%)' }, onClick: handleConnect, children: [jsxs(Flex, { className: "ape:w-full ape:max-w-[300px] ape:gap-[10px] ape:items-center", children: [jsx(Flex, { className: "ape:min-w-[30px] ape:min-h-[30px] ape:rounded-full ape:overflow-hidden", children: jsx(SUI, { width: "30" }) }), jsxs(Flex, { className: "ape:flex-col", children: [jsxs(Text, { size: "15px", className: "ape:font-bold ape:flex ape:items-center", style: { lineHeight: '18.5px' }, children: ["Sui", jsx(Text, { as: "span", size: "10px", className: "ape:font-semibold ape:p-[4px_6px] ape:rounded-[4px] ape:ml-[6px] ape:mr-[6px]", style: { color: '#FAFAFA', background: 'rgba(250, 250, 250, 0.3)', lineHeight: '8px' }, children: "NEW" })] }), jsx("div", { className: "ape:font-normal ape:text-[10px] ape:text-gray-300", children: "Connect your wallet to view your Sui Bonds!" })] })] }), jsx(Flex, { className: "ape:min-w-[100px]", children: jsx(Button, { className: "ape:border-none ape:h-[31px] ape:w-[210px] ape:xl:w-[100px] ape:text-[14px]! ape:font-bold ape:bg-text ape:border-text ape:enabled:hover:text-text ape:enabled:hover:bg-primary-button ape:text-primary-button", children: "Connect" }) })] }));
13
+ }
14
+
15
+ export { ConnectToSuiBanner as default };
16
+ //# sourceMappingURL=ConnectToSuiBanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConnectToSuiBanner.js","sources":["../../../src/adapters/sui/ConnectToSuiBanner.tsx"],"sourcesContent":["import { useSDKConfig } from '../../state/useSDKConfig'\nimport { openSuiWalletConnector } from '../../config/constants/walletConnectors'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport Button from '../../components/uikit-sdk/Button/Button'\nimport Text from '../../components/uikit-sdk/Text'\nimport SUI from '../../components/uikit-sdk/Svg/tokens/SUI'\n\nexport default function ConnectToSuiBanner() {\n const config = useSDKConfig()\n const handleConnect = config?.openWalletConnectors?.sui ? openSuiWalletConnector : undefined\n return (\n <Flex\n className=\"ape:w-full ape:h-[75px] ape:p-[10px] ape:rounded-[10px] ape:justify-between ape:items-center ape:border-none ape:cursor-pointer ape:hover:opacity-90\"\n style={{ background: 'linear-gradient(135deg, #2B2B2B 0%, #1A1A2E 100%)' }}\n onClick={handleConnect}\n >\n <Flex className=\"ape:w-full ape:max-w-[300px] ape:gap-[10px] ape:items-center\">\n <Flex className=\"ape:min-w-[30px] ape:min-h-[30px] ape:rounded-full ape:overflow-hidden\">\n <SUI width=\"30\" />\n </Flex>\n <Flex className=\"ape:flex-col\">\n <Text size=\"15px\" className=\"ape:font-bold ape:flex ape:items-center\" style={{ lineHeight: '18.5px' }}>\n Sui\n <Text\n as=\"span\"\n size=\"10px\"\n className=\"ape:font-semibold ape:p-[4px_6px] ape:rounded-[4px] ape:ml-[6px] ape:mr-[6px]\"\n style={{ color: '#FAFAFA', background: 'rgba(250, 250, 250, 0.3)', lineHeight: '8px' }}\n >\n NEW\n </Text>\n </Text>\n <div className=\"ape:font-normal ape:text-[10px] ape:text-gray-300\">\n Connect your wallet to view your Sui Bonds!\n </div>\n </Flex>\n </Flex>\n <Flex className=\"ape:min-w-[100px]\">\n <Button className=\"ape:border-none ape:h-[31px] ape:w-[210px] ape:xl:w-[100px] ape:text-[14px]! ape:font-bold ape:bg-text ape:border-text ape:enabled:hover:text-text ape:enabled:hover:bg-primary-button ape:text-primary-button\">\n Connect\n </Button>\n </Flex>\n </Flex>\n )\n}\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;AAOc,SAAU,kBAAkB,GAAA;AACxC,IAAA,MAAM,MAAM,GAAG,YAAY,EAAE;AAC7B,IAAA,MAAM,aAAa,GAAG,MAAM,EAAE,oBAAoB,EAAE,GAAG,GAAG,sBAAsB,GAAG,SAAS;AAC5F,IAAA,QACEA,IAAA,CAAC,IAAI,EAAA,EACH,SAAS,EAAC,sJAAsJ,EAChK,KAAK,EAAE,EAAE,UAAU,EAAE,mDAAmD,EAAE,EAC1E,OAAO,EAAE,aAAa,EAAA,QAAA,EAAA,CAEtBA,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,8DAA8D,EAAA,QAAA,EAAA,CAC5EC,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,wEAAwE,EAAA,QAAA,EACtFA,GAAA,CAAC,GAAG,EAAA,EAAC,KAAK,EAAC,IAAI,EAAA,CAAG,EAAA,CACb,EACPD,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,cAAc,EAAA,QAAA,EAAA,CAC5BA,IAAA,CAAC,IAAI,EAAA,EAAC,IAAI,EAAC,MAAM,EAAC,SAAS,EAAC,yCAAyC,EAAC,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAA,QAAA,EAAA,CAAA,KAAA,EAEnGC,GAAA,CAAC,IAAI,EAAA,EACH,EAAE,EAAC,MAAM,EACT,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,+EAA+E,EACzF,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,0BAA0B,EAAE,UAAU,EAAE,KAAK,EAAE,EAAA,QAAA,EAAA,KAAA,EAAA,CAGjF,CAAA,EAAA,CACF,EACPA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,mDAAmD,EAAA,QAAA,EAAA,6CAAA,EAAA,CAE5D,CAAA,EAAA,CACD,CAAA,EAAA,CACF,EACPA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,mBAAmB,EAAA,QAAA,EACjCA,GAAA,CAAC,MAAM,EAAA,EAAC,SAAS,EAAC,iNAAiN,EAAA,QAAA,EAAA,SAAA,EAAA,CAE1N,EAAA,CACJ,CAAA,EAAA,CACF;AAEX;;;;"}
@@ -0,0 +1,3 @@
1
+ /** Publishes the connected Sui account (or the injected `suiAddress`) for core code; see ChainAdapter.AccountBridge. */
2
+ declare const SuiAccountBridge: () => null;
3
+ export default SuiAccountBridge;
@@ -0,0 +1,12 @@
1
+ import useSUIAccount from './useSUIAccount.js';
2
+ import { usePublishChainAccount } from '../../state/chainAccount/useChainAccount.js';
3
+
4
+ /** Publishes the connected Sui account (or the injected `suiAddress`) for core code; see ChainAdapter.AccountBridge. */
5
+ const SuiAccountBridge = () => {
6
+ const { address } = useSUIAccount();
7
+ usePublishChainAccount('sui', { address, connected: !!address });
8
+ return null;
9
+ };
10
+
11
+ export { SuiAccountBridge as default };
12
+ //# sourceMappingURL=SuiAccountBridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SuiAccountBridge.js","sources":["../../../src/adapters/sui/SuiAccountBridge.tsx"],"sourcesContent":["import useSUIAccount from './useSUIAccount'\nimport { usePublishChainAccount } from '../../state/chainAccount/useChainAccount'\n\n/** Publishes the connected Sui account (or the injected `suiAddress`) for core code; see ChainAdapter.AccountBridge. */\nconst SuiAccountBridge = () => {\n const { address } = useSUIAccount()\n usePublishChainAccount('sui', { address, connected: !!address })\n return null\n}\n\nexport default SuiAccountBridge\n"],"names":[],"mappings":";;;AAGA;AACA,MAAM,gBAAgB,GAAG,MAAK;AAC5B,IAAA,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE;AACnC,IAAA,sBAAsB,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;AAChE,IAAA,OAAO,IAAI;AACb;;;;"}
@@ -1,9 +1,8 @@
1
- import React from 'react';
2
- import { UserBill } from '../../../../types/yourbonds';
1
+ import { UserBill } from '../../types/yourbonds';
3
2
  declare const TransferActionSui: ({ userBill, toAddress, disabled, onDismiss, }: {
4
3
  userBill?: UserBill;
5
4
  toAddress?: string;
6
5
  disabled?: boolean;
7
6
  onDismiss?: () => void;
8
- }) => React.JSX.Element;
7
+ }) => import("react/jsx-runtime").JSX.Element;
9
8
  export default TransferActionSui;
@@ -1,15 +1,15 @@
1
- import { jsx } from 'theme-ui/jsx-runtime';
1
+ import { jsx } from 'react/jsx-runtime';
2
2
  import { useState } from 'react';
3
3
  import { Transaction } from '@mysten/sui/transactions';
4
4
  import { ChainId } from '@ape.swap/apeswap-lists';
5
- import Button from '../../../../components/uikit-sdk/Button/Button.js';
6
- import { usePopups } from '../../../../state/popups/usePopups.js';
7
- import { useSDKConfig } from '../../../../state/useSDKConfig.js';
8
- import { reportError } from '../../../../utils/reportError.js';
9
- import { getSuiClient, verifySuiTxSuccess } from '../../../../utils/suiHelpers.js';
10
- import useSUIAccount from '../../../../hooks/accounts/useSUIAccount.js';
5
+ import Button from '../../components/uikit-sdk/Button/Button.js';
6
+ import { usePopups } from '../../state/popups/usePopups.js';
7
+ import { useSDKConfig } from '../../state/useSDKConfig.js';
8
+ import { reportError } from '../../utils/reportError.js';
9
+ import { getSuiClient, verifySuiTxSuccess } from './suiHelpers.js';
10
+ import useSUIAccount from './useSUIAccount.js';
11
11
  import { useQueryClient } from '@tanstack/react-query';
12
- import { QUERY_KEYS } from '../../../../config/constants/queryKeys.js';
12
+ import { QUERY_KEYS } from '../../config/constants/queryKeys.js';
13
13
 
14
14
  const TransferActionSui = ({ userBill, toAddress, disabled, onDismiss, }) => {
15
15
  // Hooks
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransferActionSui.js","sources":["../../../src/adapters/sui/TransferActionSui.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { Transaction } from '@mysten/sui/transactions'\nimport { ChainId } from '@ape.swap/apeswap-lists'\n\nimport { UserBill } from '../../types/yourbonds'\nimport Button from '../../components/uikit-sdk/Button/Button'\nimport { usePopups } from '../../state/popups/usePopups'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport { reportError } from '../../utils/reportError'\nimport { getSuiClient, verifySuiTxSuccess } from './suiHelpers'\nimport useSUIAccount from './useSUIAccount'\nimport { useQueryClient } from '@tanstack/react-query'\nimport { QUERY_KEYS } from '../../config/constants/queryKeys'\n\nconst TransferActionSui = ({\n userBill,\n toAddress,\n disabled,\n onDismiss,\n}: {\n userBill?: UserBill\n toAddress?: string\n disabled?: boolean\n onDismiss?: () => void\n}) => {\n // Hooks\n const SDKConfig = useSDKConfig()\n const queryClient = useQueryClient()\n const { address: suiAccount, signAndExecuteTransaction } = useSUIAccount()\n const { addToastError, addToastSuccess } = usePopups()\n\n // State\n const [loadingTx, setLoadingTx] = useState(false)\n\n const load = loadingTx\n\n const handleTransfer = async () => {\n if (loadingTx || !suiAccount || !userBill || !signAndExecuteTransaction || !toAddress) return\n\n try {\n setLoadingTx(true)\n\n // The BondNFT object ID is stored in `userBill.address`\n const nftObjectId = userBill?.address\n if (!nftObjectId) throw new Error('Missing bond NFT object ID')\n\n const tx = new Transaction()\n\n // Standard Sui PTB object transfer: move the NFT to the recipient\n tx.transferObjects([tx.object(nftObjectId)], tx.pure.address(toAddress))\n\n tx.setSender(suiAccount)\n tx.setGasBudget(10_000_000)\n\n // Pre-build so the wallet receives fully-resolved bytes\n const suiClient = getSuiClient()\n const builtBytes = await tx.build({ client: suiClient })\n const prebuiltTx = Transaction.from(builtBytes)\n\n const response = await signAndExecuteTransaction({ transaction: prebuiltTx })\n\n const digest = response?.digest\n if (!digest) throw new Error('No tx digest returned by wallet')\n\n await suiClient.waitForTransaction({ digest })\n await verifySuiTxSuccess(digest)\n\n await queryClient.invalidateQueries({ queryKey: [QUERY_KEYS.USER_BONDS] })\n addToastSuccess(digest, ChainId.SUI)\n setTimeout(() => onDismiss?.(), 1500)\n } catch (error: any) {\n console.error('Sui transfer failed:', error)\n addToastError(error?.message ?? 'Unknown error')\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error,\n account: suiAccount ?? '',\n chainId: ChainId.SUI,\n extraInfo: { type: 'suiTransfer', userBill, toAddress, error },\n })\n } finally {\n setLoadingTx(false)\n }\n }\n\n return (\n <Button onClick={handleTransfer} load={load} disabled={load || disabled} fullWidth>\n transfer\n </Button>\n )\n}\n\nexport default TransferActionSui\n"],"names":["_jsx"],"mappings":";;;;;;;;;;;;;AAcA,MAAM,iBAAiB,GAAG,CAAC,EACzB,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,SAAS,GAMV,KAAI;;AAEH,IAAA,MAAM,SAAS,GAAG,YAAY,EAAE;AAChC,IAAA,MAAM,WAAW,GAAG,cAAc,EAAE;IACpC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,yBAAyB,EAAE,GAAG,aAAa,EAAE;IAC1E,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,SAAS,EAAE;;IAGtD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IAEjD,MAAM,IAAI,GAAG,SAAS;AAEtB,IAAA,MAAM,cAAc,GAAG,YAAW;AAChC,QAAA,IAAI,SAAS,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,IAAI,CAAC,yBAAyB,IAAI,CAAC,SAAS;YAAE;AAEvF,QAAA,IAAI;YACF,YAAY,CAAC,IAAI,CAAC;;AAGlB,YAAA,MAAM,WAAW,GAAG,QAAQ,EAAE,OAAO;AACrC,YAAA,IAAI,CAAC,WAAW;AAAE,gBAAA,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC;AAE/D,YAAA,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE;;YAG5B,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAExE,YAAA,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC;AACxB,YAAA,EAAE,CAAC,YAAY,CAAC,QAAU,CAAC;;AAG3B,YAAA,MAAM,SAAS,GAAG,YAAY,EAAE;AAChC,YAAA,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;YACxD,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;YAE/C,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AAE7E,YAAA,MAAM,MAAM,GAAG,QAAQ,EAAE,MAAM;AAC/B,YAAA,IAAI,CAAC,MAAM;AAAE,gBAAA,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC;YAE/D,MAAM,SAAS,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;AAC9C,YAAA,MAAM,kBAAkB,CAAC,MAAM,CAAC;AAEhC,YAAA,MAAM,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;AAC1E,YAAA,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC;YACpC,UAAU,CAAC,MAAM,SAAS,IAAI,EAAE,IAAI,CAAC;QACvC;QAAE,OAAO,KAAU,EAAE;AACnB,YAAA,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC;AAC5C,YAAA,aAAa,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe,CAAC;AAChD,YAAA,WAAW,CAAC;AACV,gBAAA,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;gBAC9B,KAAK;gBACL,OAAO,EAAE,UAAU,IAAI,EAAE;gBACzB,OAAO,EAAE,OAAO,CAAC,GAAG;gBACpB,SAAS,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE;AAC/D,aAAA,CAAC;QACJ;gBAAU;YACR,YAAY,CAAC,KAAK,CAAC;QACrB;AACF,IAAA,CAAC;IAED,QACEA,IAAC,MAAM,EAAA,EAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,IAAI,QAAQ,EAAE,SAAS,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,CAEzE;AAEb;;;;"}
@@ -0,0 +1,5 @@
1
+ import { UserBill } from '../../types/yourbonds';
2
+ declare const UserBondRowSui: ({ bill }: {
3
+ bill: UserBill;
4
+ }) => import("react/jsx-runtime").JSX.Element;
5
+ export default UserBondRowSui;
@@ -0,0 +1,125 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { useState } from 'react';
3
+ import { ChainId } from '@ape.swap/apeswap-lists';
4
+ import { Transaction } from '@mysten/sui/transactions';
5
+ import TokenInfoAndName from '../../components/TokenInfoAndName/index.js';
6
+ import { formatNumberSI } from '../../utils/formatNumber.js';
7
+ import Button from '../../components/uikit-sdk/Button/Button.js';
8
+ import TooltipBubble from '../../components/uikit-sdk/TooltipBubble/index.js';
9
+ import Flex from '../../components/uikit-sdk/Flex/index.js';
10
+ import { NETWORK_LABEL } from '../../config/constants/chains.js';
11
+ import { getTimeLeftForFullyVested, getPendingVestingString, claimable, pending, getPercentageVested } from '../../utils/displayHelpers.js';
12
+ import useModal from '../../hooks/useModal.js';
13
+ import { usePopups } from '../../state/popups/usePopups.js';
14
+ import BondInfoTooltip from '../../components/Tooltip/Tooltip.js';
15
+ import { getTimePeriods } from '../../utils/getTimePeriods.js';
16
+ import ProfitCard from '../../views/YourBonds/components/ProfitCard/ProfitCard.js';
17
+ import ProgressBar from '../../components/ProgressBar/ProgressBar.js';
18
+ import ProgressBarWrapper from '../../components/ProgressBar/ProgressBarWrapper.js';
19
+ import { useSDKConfig } from '../../state/useSDKConfig.js';
20
+ import YourBondsModal from '../../views/YourBondsModal/YourBondsModal.js';
21
+ import { reportError } from '../../utils/reportError.js';
22
+ import { useQueryClient } from '@tanstack/react-query';
23
+ import useSUIAccount from './useSUIAccount.js';
24
+ import { SUI_CLAIM_FUNCTION } from './suiConstants.js';
25
+ import { getSuiClient, verifySuiTxSuccess } from './suiHelpers.js';
26
+ import { QUERY_KEYS } from '../../config/constants/queryKeys.js';
27
+ import More from '../../components/uikit-sdk/Svg/Icons/More.js';
28
+
29
+ // Row renderer for Sui user bonds. Structure and layout mirror
30
+ // `UserBondRowAptos` so the Your Bonds grid stays visually consistent
31
+ // across VMs. The only meaningful divergence is `handleClaim`, which
32
+ // builds a Sui `Transaction` with a moveCall for the claim function.
33
+ const UserBondRowSui = ({ bill }) => {
34
+ // Hooks
35
+ const SDKConfig = useSDKConfig();
36
+ const queryClient = useQueryClient();
37
+ const { address: suiAccount, signAndExecuteTransaction } = useSUIAccount();
38
+ const { addToastError, addToastSuccess } = usePopups();
39
+ // State
40
+ const [loadingTx, setLoadingTx] = useState(false);
41
+ // Static Data
42
+ const earnTokenPrice = parseFloat(bill?.bond?.payoutTokenPrice ?? '0');
43
+ const vestingCliff = bill?.bond?.vestingCliff;
44
+ const currentTime = Math.round(new Date().getTime() / 1000);
45
+ const vestingStartTimestamp = parseInt(bill?.vestingStartTimestamp ?? '0');
46
+ const isPendingCliff = vestingCliff ? currentTime - vestingStartTimestamp < vestingCliff : false;
47
+ const cliffCountdown = getTimePeriods(vestingStartTimestamp + (vestingCliff ?? 0) - currentTime, true);
48
+ const [onOpenPurchasedBond] = useModal(jsx(YourBondsModal, { userBill: bill }));
49
+ const handleClaim = async () => {
50
+ if (loadingTx || !suiAccount || !signAndExecuteTransaction)
51
+ return;
52
+ try {
53
+ setLoadingTx(true);
54
+ const market = bill?.bond?.contractAddress?.[ChainId.SUI];
55
+ if (!market)
56
+ throw new Error('Missing bond market address');
57
+ // The user's BondNFT object ID is stored in `bill.address`
58
+ const nftObjectId = bill?.address;
59
+ if (!nftObjectId)
60
+ throw new Error('Missing bond NFT object ID');
61
+ const payoutCoinType = bill?.bond?.earnToken?.address?.[bill?.bond?.chainId ?? 0];
62
+ const principalCoinType = bill?.bond?.lpToken?.address?.[bill?.bond?.chainId ?? 0];
63
+ if (!payoutCoinType || !principalCoinType)
64
+ throw new Error('Missing token type info');
65
+ const tx = new Transaction();
66
+ const [claimedCoin] = tx.moveCall({
67
+ target: SUI_CLAIM_FUNCTION,
68
+ typeArguments: [payoutCoinType, principalCoinType],
69
+ arguments: [
70
+ tx.object(market),
71
+ tx.object(nftObjectId),
72
+ tx.object('0x6'), // clock
73
+ ],
74
+ });
75
+ tx.transferObjects([claimedCoin], tx.pure.address(suiAccount));
76
+ // Pre-build so the wallet receives fully-resolved bytes
77
+ tx.setSender(suiAccount);
78
+ tx.setGasBudget(50000000);
79
+ const suiClient = getSuiClient();
80
+ const builtBytes = await tx.build({ client: suiClient });
81
+ const prebuiltTx = Transaction.from(builtBytes);
82
+ const response = await signAndExecuteTransaction({
83
+ transaction: prebuiltTx,
84
+ });
85
+ const digest = response?.digest;
86
+ if (!digest)
87
+ throw new Error('No tx digest returned by wallet');
88
+ await suiClient.waitForTransaction({ digest });
89
+ await verifySuiTxSuccess(digest);
90
+ await queryClient.invalidateQueries({ queryKey: [QUERY_KEYS.USER_BONDS] });
91
+ addToastSuccess(digest, ChainId.SUI);
92
+ }
93
+ catch (error) {
94
+ console.error('Sui claim failed:', error);
95
+ addToastError(error?.message ?? 'Unknown error');
96
+ reportError({
97
+ apiUrl: SDKConfig?.urls?.apiV2,
98
+ error,
99
+ chainId: ChainId.SUI,
100
+ account: suiAccount ?? '',
101
+ extraInfo: { type: 'suiClaim', bill, error },
102
+ });
103
+ }
104
+ finally {
105
+ setLoadingTx(false);
106
+ }
107
+ };
108
+ return (jsxs("div", { className: "your-bonds ape:flex ape:flex-col ape:w-full ape:justify-around ape:bg-white2 ape:mb-[5px] ape:rounded-[10px] ape:cursor-pointer ape:hover:bg-white3 ape:min-[1000px]:flex-row ape:min-[1000px]:h-[70px]", onClick: () => onOpenPurchasedBond(), children: [jsxs("div", { className: "token-info-container ape:flex ape:w-full ape:min-[1000px]:w-[30%] ape:min-[1000px]:min-w-[300px]", children: [jsx(TokenInfoAndName, { tokenSymbol: bill.bond?.earnToken.symbol, chain: bill?.bond?.chainId, vestEnds: getTimeLeftForFullyVested(bill) > 0 ? `Ends in ${getPendingVestingString(bill)}` : `Fully Vested`, isHotBond: true }), jsx("div", { className: "tooltip-column ape:flex ape:w-[50px] ape:items-center ape:ml-[10px] ape:min-[1000px]:hidden", children: jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(BondInfoTooltip, { earnTokenContract: bill?.bond?.earnToken.address[bill?.bond.chainId] || '', earnTokenSymbol: bill?.bond?.earnToken.symbol || '', bondContract: bill?.address ?? '', projectLink: bill?.bond?.projectLink, twitter: bill?.bond?.twitter, chain: bill?.bond?.chainId, cgId: bill?.bond?.cgId, dexscreener: bill?.bond?.dexscreener }), width: "205px", placement: "bottomRight", transformTip: "translate(5%, 0%)", children: jsx(Flex, { className: "ape:opacity-80", children: jsx(More, { width: "25px" }) }) }) })] }), jsxs("div", { className: "your-bonds-columns-container ape:flex ape:flex-col ape:items-center ape:justify-end ape:w-full ape:min-[1000px]:w-[70%] ape:min-[1000px]:justify-between ape:min-[1000px]:flex-row ape:min-[1000px]:pr-[20px]", children: [jsx(Flex, { className: "ape:w-[125px]", children: jsx(ProfitCard, { userBond: bill }) }), jsxs("div", { className: "your-bonds-content ape:flex ape:items-center ape:justify-between ape:w-full ape:px-[10px] ape:text-[14px] ape:min-[1000px]:w-[130px] ape:min-[1000px]:justify-center ape:min-[1000px]:mt-0", children: [jsx("div", { className: "your-bonds-content-title ape:flex ape:text-[12px] ape:font-medium ape:opacity-60 ape:min-[1000px]:hidden", children: "Claimable" }), jsxs("div", { className: "your-bonds-content-tokens-amount ape:flex ape:items-center ape:text-[14px] ape:font-semibold", children: [formatNumberSI(claimable(bill), 4), jsx("div", { className: "your-bonds-content-tokens-usd-amount ape:opacity-60 ape:text-[12px] ape:font-normal ape:ml-[4px] ape:text-text-disabled-button", children: `($${(claimable(bill) * earnTokenPrice).toFixed(2)})` })] })] }), jsxs("div", { className: "your-bonds-content ape:flex ape:items-center ape:justify-between ape:w-full ape:px-[10px] ape:text-[14px] ape:min-[1000px]:w-[130px] ape:min-[1000px]:justify-center ape:min-[1000px]:mt-0", children: [jsx("div", { className: "your-bonds-content-title ape:flex ape:text-[12px] ape:font-medium ape:opacity-60 ape:min-[1000px]:hidden", children: "Pending" }), jsxs("div", { className: "your-bonds-content-tokens-amount ape:flex ape:items-center ape:text-[14px] ape:font-semibold", children: [formatNumberSI(pending(bill), 4), jsx("div", { className: "your-bonds-content-tokens-usd-amount ape:opacity-60 ape:text-[12px] ape:font-normal ape:ml-[4px] ape:text-text-disabled-button", children: `($${(pending(bill) * earnTokenPrice).toFixed(2)})` })] })] }), jsx("div", { className: "your-bonds-content hide-mobile ape:hidden ape:min-[1000px]:flex", children: jsx(ProgressBarWrapper, { title: '', value: jsx(ProgressBar, { value: getPercentageVested(bill) }), style: {
109
+ width: '127px',
110
+ height: '25px',
111
+ flexDirection: 'column',
112
+ justifyContent: 'center',
113
+ }, hideOnMobile: true, showTooltip: true, toolTip: getTimeLeftForFullyVested(bill) > 0
114
+ ? `Fully vested in ${getPendingVestingString(bill)}.`
115
+ : `Fully Vested.` }) }), jsx("div", { className: "your-bonds-column-button ape:flex ape:w-full ape:items-center ape:justify-center ape:p-[10px] ape:min-[1000px]:w-[210px] ape:min-[1000px]:p-0", children: !suiAccount ? (jsxs(Button, { className: "button ape:text-[14px]! ape:p-[6px] ape:h-[30px]", disabled: true, fullWidth: true, children: ["Connect to ", NETWORK_LABEL[ChainId.SUI]] })) : (jsx(Button, { className: "button ape:text-[14px]! ape:p-[6px] ape:h-[30px]", disabled: claimable(bill) === 0 || loadingTx || isPendingCliff, load: loadingTx, onClick: (event) => {
116
+ event.stopPropagation();
117
+ if (!loadingTx)
118
+ handleClaim();
119
+ }, fullWidth: true, children: isPendingCliff
120
+ ? `Claimable in ${cliffCountdown.days !== 0 ? `${cliffCountdown.days} days` : cliffCountdown.hours !== 0 ? `${cliffCountdown.hours} hours` : `${cliffCountdown.minutes} mins`}`
121
+ : 'Claim' })) })] })] }));
122
+ };
123
+
124
+ export { UserBondRowSui as default };
125
+ //# sourceMappingURL=UserBondRowSui.js.map