@ape.swap/bonds-sdk 6.2.28 → 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 (453) hide show
  1. package/README.md +205 -114
  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/{views/YourBondsModal/components/Actions → adapters/aptos}/ActionsAptos.d.ts +1 -1
  6. package/dist/{views/YourBondsModal/components/Actions → adapters/aptos}/ActionsAptos.js +11 -11
  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 +8 -8
  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.js +2 -2
  17. package/dist/adapters/aptos/ConnectAptosWalletButton.js.map +1 -0
  18. package/dist/{components/ConnectoToVmBanners → adapters/aptos}/ConnectToAptosBanner.js +4 -4
  19. package/dist/adapters/aptos/ConnectToAptosBanner.js.map +1 -0
  20. package/dist/{views/YourBondsModal/components/TransferBondModal → adapters/aptos}/TransferActionAptos.d.ts +1 -1
  21. package/dist/{views/YourBondsModal/components/TransferBondModal → adapters/aptos}/TransferActionAptos.js +1 -1
  22. package/dist/adapters/aptos/TransferActionAptos.js.map +1 -0
  23. package/dist/{views/YourBonds/components/UserBondRow → adapters/aptos}/UserBondRowAptos.d.ts +1 -1
  24. package/dist/{views/YourBonds/components/UserBondRow → adapters/aptos}/UserBondRowAptos.js +22 -22
  25. package/dist/adapters/aptos/UserBondRowAptos.js.map +1 -0
  26. package/dist/{utils → adapters/aptos}/aptosHelpers.d.ts +1 -1
  27. package/dist/{utils → adapters/aptos}/aptosHelpers.js +1 -1
  28. package/dist/adapters/aptos/aptosHelpers.js.map +1 -0
  29. package/dist/{state/bonds/fetchBondsData → adapters/aptos}/fetchBondsDataAptos.d.ts +2 -2
  30. package/dist/{state/bonds/fetchBondsData → adapters/aptos}/fetchBondsDataAptos.js +3 -3
  31. package/dist/adapters/aptos/fetchBondsDataAptos.js.map +1 -0
  32. package/dist/{state/bonds/fetchUsersBonds → adapters/aptos}/fetchUsersBondsAptos.d.ts +2 -2
  33. package/dist/{state/bonds/fetchUsersBonds → adapters/aptos}/fetchUsersBondsAptos.js +4 -4
  34. package/dist/adapters/aptos/fetchUsersBondsAptos.js.map +1 -0
  35. package/dist/adapters/aptos/index.d.ts +6 -0
  36. package/dist/adapters/aptos/index.js +37 -0
  37. package/dist/adapters/aptos/index.js.map +1 -0
  38. package/dist/{hooks/accounts → adapters/aptos}/useAPTAccount.js +1 -1
  39. package/dist/{hooks/accounts → adapters/aptos}/useAPTAccount.js.map +1 -1
  40. package/dist/adapters/aptos/useAptosZapQuote.js.map +1 -0
  41. package/dist/{state/balance → adapters/aptos}/useCurrencyBalanceAptos.js +1 -1
  42. package/dist/adapters/aptos/useCurrencyBalanceAptos.js.map +1 -0
  43. package/dist/{views/YourBondsModal/components/Actions → adapters/evm}/Actions.d.ts +1 -1
  44. package/dist/{views/YourBondsModal/components/Actions → adapters/evm}/Actions.js +18 -18
  45. package/dist/adapters/evm/Actions.js.map +1 -0
  46. package/dist/adapters/evm/BuyComponent.d.ts +5 -0
  47. package/dist/{views/BuyBond → adapters/evm}/BuyComponent.js +44 -27
  48. package/dist/adapters/evm/BuyComponent.js.map +1 -0
  49. package/dist/adapters/evm/ClaimAllActionEVM.d.ts +5 -0
  50. package/dist/adapters/evm/ClaimAllActionEVM.js +60 -0
  51. package/dist/adapters/evm/ClaimAllActionEVM.js.map +1 -0
  52. package/dist/{components/ConnectoToVmBanners → adapters/evm}/ConnectToEvmBanner.js +3 -3
  53. package/dist/adapters/evm/ConnectToEvmBanner.js.map +1 -0
  54. package/dist/adapters/evm/EvmAccountBridge.d.ts +6 -0
  55. package/dist/adapters/evm/EvmAccountBridge.js +15 -0
  56. package/dist/adapters/evm/EvmAccountBridge.js.map +1 -0
  57. package/dist/{views/TransactionModal → adapters/evm}/TransactionModal.d.ts +1 -1
  58. package/dist/{views/TransactionModal → adapters/evm}/TransactionModal.js +5 -4
  59. package/dist/adapters/evm/TransactionModal.js.map +1 -0
  60. package/dist/{views/YourBondsModal/components/TransferBondModal → adapters/evm}/TransferAction.d.ts +1 -1
  61. package/dist/{views/YourBondsModal/components/TransferBondModal → adapters/evm}/TransferAction.js +8 -8
  62. package/dist/adapters/evm/TransferAction.js.map +1 -0
  63. package/dist/{views/YourBonds/components/UserBondRow → adapters/evm}/UserBondRow.d.ts +1 -1
  64. package/dist/{views/YourBonds/components/UserBondRow → adapters/evm}/UserBondRow.js +27 -27
  65. package/dist/adapters/evm/UserBondRow.js.map +1 -0
  66. package/dist/adapters/evm/balances.d.ts +6 -0
  67. package/dist/adapters/evm/balances.js +61 -0
  68. package/dist/adapters/evm/balances.js.map +1 -0
  69. package/dist/{state/bonds/fetchBondsData → adapters/evm}/fetchBondsDataEVM.d.ts +2 -2
  70. package/dist/{state/bonds/fetchBondsData → adapters/evm}/fetchBondsDataEVM.js +8 -8
  71. package/dist/adapters/evm/fetchBondsDataEVM.js.map +1 -0
  72. package/dist/{state/bonds/fetchUsersBonds → adapters/evm}/fetchUsersBondsEVM.d.ts +2 -2
  73. package/dist/{state/bonds/fetchUsersBonds → adapters/evm}/fetchUsersBondsEVM.js +4 -4
  74. package/dist/adapters/evm/fetchUsersBondsEVM.js.map +1 -0
  75. package/dist/adapters/evm/getTierPoints.d.ts +3 -0
  76. package/dist/adapters/evm/getTierPoints.js +48 -0
  77. package/dist/adapters/evm/getTierPoints.js.map +1 -0
  78. package/dist/adapters/evm/index.d.ts +6 -0
  79. package/dist/adapters/evm/index.js +53 -0
  80. package/dist/adapters/evm/index.js.map +1 -0
  81. package/dist/{utils → adapters/evm}/multicall.js +3 -3
  82. package/dist/adapters/evm/multicall.js.map +1 -0
  83. package/dist/{views/BuyBond → adapters/evm/preTGE}/BuyComponentPreTGE.js +27 -27
  84. package/dist/adapters/evm/preTGE/BuyComponentPreTGE.js.map +1 -0
  85. package/dist/{views/Bonds/components/BondRows → adapters/evm/preTGE}/ModalHandlerPreTGE.js +4 -4
  86. package/dist/adapters/evm/preTGE/ModalHandlerPreTGE.js.map +1 -0
  87. package/dist/{views/YourBonds/components/UserBondRow → adapters/evm/preTGE}/PreTGEActions.d.ts +1 -1
  88. package/dist/{views/YourBonds/components/UserBondRow → adapters/evm/preTGE}/PreTGEActions.js +9 -9
  89. package/dist/adapters/evm/preTGE/PreTGEActions.js.map +1 -0
  90. package/dist/{views/YourBonds/components/UserBondRow → adapters/evm/preTGE}/UserBondRowPreTGE.d.ts +1 -1
  91. package/dist/{views/YourBonds/components/UserBondRow → adapters/evm/preTGE}/UserBondRowPreTGE.js +9 -9
  92. package/dist/adapters/evm/preTGE/UserBondRowPreTGE.js.map +1 -0
  93. package/dist/{views/YourBonds/components/UserBondRow → adapters/evm/preTGE}/UserBondRowYield.d.ts +1 -1
  94. package/dist/{views/YourBonds/components/UserBondRow → adapters/evm/preTGE}/UserBondRowYield.js +11 -11
  95. package/dist/adapters/evm/preTGE/UserBondRowYield.js.map +1 -0
  96. package/dist/{views → adapters/evm/preTGE}/YourBondsModalYield/YourBondsModalYield.d.ts +1 -1
  97. package/dist/{views → adapters/evm/preTGE}/YourBondsModalYield/YourBondsModalYield.js +22 -22
  98. package/dist/adapters/evm/preTGE/YourBondsModalYield/YourBondsModalYield.js.map +1 -0
  99. package/dist/{views → adapters/evm/preTGE}/YourBondsModalYield/components/UnstakeModalYield/UnstakeModalYield.d.ts +1 -1
  100. package/dist/{views → adapters/evm/preTGE}/YourBondsModalYield/components/UnstakeModalYield/UnstakeModalYield.js +10 -10
  101. package/dist/adapters/evm/preTGE/YourBondsModalYield/components/UnstakeModalYield/UnstakeModalYield.js.map +1 -0
  102. package/dist/{views → adapters/evm/preTGE}/YourBondsModalYield/components/YourBondModalHeader/YourBondModalHeader.d.ts +1 -1
  103. package/dist/{views → adapters/evm/preTGE}/YourBondsModalYield/components/YourBondModalHeader/YourBondModalHeader.js +5 -5
  104. package/dist/adapters/evm/preTGE/YourBondsModalYield/components/YourBondModalHeader/YourBondModalHeader.js.map +1 -0
  105. package/dist/{state/bonds/fetchBondsData → adapters/evm/preTGE}/fetchBondsDataPreTGE.d.ts +1 -1
  106. package/dist/{state/bonds/fetchBondsData → adapters/evm/preTGE}/fetchBondsDataPreTGE.js +1 -1
  107. package/dist/adapters/evm/preTGE/fetchBondsDataPreTGE.js.map +1 -0
  108. package/dist/adapters/evm/preTGE/fetchUserBondsPreTGE.d.ts +5 -0
  109. package/dist/adapters/evm/preTGE/fetchUserBondsPreTGE.js +204 -0
  110. package/dist/adapters/evm/preTGE/fetchUserBondsPreTGE.js.map +1 -0
  111. package/dist/{state/allowance → adapters/evm}/useAllowance.js +4 -4
  112. package/dist/adapters/evm/useAllowance.js.map +1 -0
  113. package/dist/adapters/evm/useEVMAccount.js.map +1 -0
  114. package/dist/{hooks → adapters/evm}/useMonitorTx.js +1 -1
  115. package/dist/adapters/evm/useMonitorTx.js.map +1 -0
  116. package/dist/{state/zap → adapters/evm}/useSoulZapBondQuote.js +5 -14
  117. package/dist/adapters/evm/useSoulZapBondQuote.js.map +1 -0
  118. package/dist/{state/bonds → adapters/evm}/useTierProofSignature.js +2 -2
  119. package/dist/adapters/evm/useTierProofSignature.js.map +1 -0
  120. package/dist/adapters/lifi/LifiModal.d.ts +4 -0
  121. package/dist/{views/LifiModal → adapters/lifi}/LifiModal.js +9 -5
  122. package/dist/adapters/lifi/LifiModal.js.map +1 -0
  123. package/dist/adapters/lifi/index.d.ts +6 -0
  124. package/dist/adapters/lifi/index.js +34 -0
  125. package/dist/adapters/lifi/index.js.map +1 -0
  126. package/dist/adapters/registry.d.ts +8 -0
  127. package/dist/adapters/registry.js +24 -0
  128. package/dist/adapters/registry.js.map +1 -0
  129. package/dist/{views/YourBondsModal/components/Actions → adapters/solana}/ActionsSolana.d.ts +1 -1
  130. package/dist/{views/YourBondsModal/components/Actions → adapters/solana}/ActionsSolana.js +13 -13
  131. package/dist/adapters/solana/ActionsSolana.js.map +1 -0
  132. package/dist/{views/BuyBond → adapters/solana}/BuyComponentSolana.js +18 -15
  133. package/dist/adapters/solana/BuyComponentSolana.js.map +1 -0
  134. package/dist/{components/ConnectSolanaWalletButton → adapters/solana}/ConnectSolanaWalletButton.js +2 -2
  135. package/dist/adapters/solana/ConnectSolanaWalletButton.js.map +1 -0
  136. package/dist/{components/ConnectoToVmBanners → adapters/solana}/ConnectToSolanaBanner.js +3 -3
  137. package/dist/adapters/solana/ConnectToSolanaBanner.js.map +1 -0
  138. package/dist/adapters/solana/SolanaAccountBridge.d.ts +3 -0
  139. package/dist/adapters/solana/SolanaAccountBridge.js +13 -0
  140. package/dist/adapters/solana/SolanaAccountBridge.js.map +1 -0
  141. package/dist/{views/YourBondsModal/components/TransferBondModal → adapters/solana}/TransferActionSolana.d.ts +1 -1
  142. package/dist/{views/YourBondsModal/components/TransferBondModal → adapters/solana}/TransferActionSolana.js +6 -6
  143. package/dist/adapters/solana/TransferActionSolana.js.map +1 -0
  144. package/dist/{views/YourBonds/components/UserBondRow → adapters/solana}/UserBondRowSolana.d.ts +1 -1
  145. package/dist/{views/YourBonds/components/UserBondRow → adapters/solana}/UserBondRowSolana.js +23 -23
  146. package/dist/adapters/solana/UserBondRowSolana.js.map +1 -0
  147. package/dist/{utils → adapters/solana}/calculateSolanaTrueBillPrice.js +1 -1
  148. package/dist/adapters/solana/calculateSolanaTrueBillPrice.js.map +1 -0
  149. package/dist/{types → adapters/solana/codecs}/bondCodec.d.ts +2 -2
  150. package/dist/{types → adapters/solana/codecs}/bondCodec.js +2 -3
  151. package/dist/adapters/solana/codecs/bondCodec.js.map +1 -0
  152. package/dist/{types → adapters/solana/codecs}/bondIssuanceCodec.d.ts +2 -2
  153. package/dist/{types → adapters/solana/codecs}/bondIssuanceCodec.js +2 -3
  154. package/dist/adapters/solana/codecs/bondIssuanceCodec.js.map +1 -0
  155. package/dist/{types → adapters/solana/codecs}/bondPricingCodec.d.ts +1 -1
  156. package/dist/{types → adapters/solana/codecs}/bondPricingCodec.js +2 -2
  157. package/dist/adapters/solana/codecs/bondPricingCodec.js.map +1 -0
  158. package/dist/{types → adapters/solana/codecs}/bondTermCodec.d.ts +1 -1
  159. package/dist/{types → adapters/solana/codecs}/bondTermCodec.js +2 -2
  160. package/dist/adapters/solana/codecs/bondTermCodec.js.map +1 -0
  161. package/dist/adapters/solana/derivePda.js.map +1 -0
  162. package/dist/{state/bonds/fetchBondsData → adapters/solana}/fetchBondsDataSOL.d.ts +2 -2
  163. package/dist/{state/bonds/fetchBondsData → adapters/solana}/fetchBondsDataSOL.js +8 -8
  164. package/dist/adapters/solana/fetchBondsDataSOL.js.map +1 -0
  165. package/dist/{state/bonds/fetchUsersBonds → adapters/solana}/fetchUsersBondsSOL.d.ts +2 -2
  166. package/dist/{state/bonds/fetchUsersBonds → adapters/solana}/fetchUsersBondsSOL.js +5 -5
  167. package/dist/{state/bonds/fetchUsersBonds → adapters/solana}/fetchUsersBondsSOL.js.map +1 -1
  168. package/dist/{utils → adapters/solana}/getSolanaAccount.d.ts +1 -1
  169. package/dist/{utils → adapters/solana}/getSolanaAccount.js +4 -4
  170. package/dist/adapters/solana/getSolanaAccount.js.map +1 -0
  171. package/dist/adapters/solana/index.d.ts +8 -0
  172. package/dist/adapters/solana/index.js +40 -0
  173. package/dist/adapters/solana/index.js.map +1 -0
  174. package/dist/adapters/solana/polyfills.d.ts +1 -0
  175. package/dist/adapters/solana/polyfills.js +7 -0
  176. package/dist/adapters/solana/polyfills.js.map +1 -0
  177. package/dist/adapters/solana/solanaAtaHelper.js.map +1 -0
  178. package/dist/{constants → adapters/solana}/solanaConstants.js +1 -1
  179. package/dist/adapters/solana/solanaConstants.js.map +1 -0
  180. package/dist/adapters/solana/solanaMulticall.js.map +1 -0
  181. package/dist/{utils → adapters/solana}/solanaRpc.js +2 -2
  182. package/dist/adapters/solana/solanaRpc.js.map +1 -0
  183. package/dist/{state/balance → adapters/solana}/useCurrencyBalanceSolana.d.ts +4 -0
  184. package/dist/{state/balance → adapters/solana}/useCurrencyBalanceSolana.js +9 -2
  185. package/dist/adapters/solana/useCurrencyBalanceSolana.js.map +1 -0
  186. package/dist/adapters/solana/useJupiterSolanaQuote.js.map +1 -0
  187. package/dist/adapters/solana/useSOLAccount.js.map +1 -0
  188. package/dist/{views/YourBondsModal/components/Actions → adapters/sui}/ActionsSui.d.ts +1 -1
  189. package/dist/{views/YourBondsModal/components/Actions → adapters/sui}/ActionsSui.js +11 -11
  190. package/dist/adapters/sui/ActionsSui.js.map +1 -0
  191. package/dist/{views/BuyBond → adapters/sui}/BuyComponentSui.js +9 -9
  192. package/dist/adapters/sui/BuyComponentSui.js.map +1 -0
  193. package/dist/adapters/sui/ClaimAllActionSui.d.ts +5 -0
  194. package/dist/adapters/sui/ClaimAllActionSui.js +89 -0
  195. package/dist/adapters/sui/ClaimAllActionSui.js.map +1 -0
  196. package/dist/{components/ConnectoToVmBanners → adapters/sui}/ConnectToSuiBanner.js +4 -4
  197. package/dist/adapters/sui/ConnectToSuiBanner.js.map +1 -0
  198. package/dist/adapters/sui/SuiAccountBridge.d.ts +3 -0
  199. package/dist/adapters/sui/SuiAccountBridge.js +12 -0
  200. package/dist/adapters/sui/SuiAccountBridge.js.map +1 -0
  201. package/dist/{views/YourBondsModal/components/TransferBondModal → adapters/sui}/TransferActionSui.d.ts +1 -1
  202. package/dist/{views/YourBondsModal/components/TransferBondModal → adapters/sui}/TransferActionSui.js +7 -7
  203. package/dist/adapters/sui/TransferActionSui.js.map +1 -0
  204. package/dist/{views/YourBonds/components/UserBondRow → adapters/sui}/UserBondRowSui.d.ts +1 -1
  205. package/dist/{views/YourBonds/components/UserBondRow → adapters/sui}/UserBondRowSui.js +22 -22
  206. package/dist/adapters/sui/UserBondRowSui.js.map +1 -0
  207. package/dist/{state/bonds/fetchBondsData → adapters/sui}/fetchBondsDataSui.d.ts +2 -2
  208. package/dist/{state/bonds/fetchBondsData → adapters/sui}/fetchBondsDataSui.js +3 -3
  209. package/dist/adapters/sui/fetchBondsDataSui.js.map +1 -0
  210. package/dist/{state/bonds/fetchUsersBonds → adapters/sui}/fetchUsersBondsSUI.d.ts +2 -2
  211. package/dist/{state/bonds/fetchUsersBonds → adapters/sui}/fetchUsersBondsSUI.js +4 -4
  212. package/dist/adapters/sui/fetchUsersBondsSUI.js.map +1 -0
  213. package/dist/adapters/sui/index.d.ts +6 -0
  214. package/dist/adapters/sui/index.js +37 -0
  215. package/dist/adapters/sui/index.js.map +1 -0
  216. package/dist/adapters/sui/suiConstants.js.map +1 -0
  217. package/dist/{utils → adapters/sui}/suiHelpers.js +1 -1
  218. package/dist/adapters/sui/suiHelpers.js.map +1 -0
  219. package/dist/adapters/sui/suiZapTokens.js.map +1 -0
  220. package/dist/{state/balance → adapters/sui}/useCurrencyBalanceSui.js +1 -1
  221. package/dist/adapters/sui/useCurrencyBalanceSui.js.map +1 -0
  222. package/dist/adapters/sui/useSUIAccount.js.map +1 -0
  223. package/dist/{state/zap → adapters/sui}/useSuiZapQuote.js +1 -1
  224. package/dist/adapters/sui/useSuiZapQuote.js.map +1 -0
  225. package/dist/adapters/types.d.ts +110 -0
  226. package/dist/components/TokenSelectorPanel/index.js +6 -16
  227. package/dist/components/TokenSelectorPanel/index.js.map +1 -1
  228. package/dist/config/constants/chains.d.ts +0 -2
  229. package/dist/config/constants/chains.js +0 -2
  230. package/dist/config/constants/chains.js.map +1 -1
  231. package/dist/config/constants/queryKeys.d.ts +1 -0
  232. package/dist/config/constants/queryKeys.js +1 -0
  233. package/dist/config/constants/queryKeys.js.map +1 -1
  234. package/dist/config/constants/variables.d.ts +0 -1
  235. package/dist/config/constants/variables.js +1 -19
  236. package/dist/config/constants/variables.js.map +1 -1
  237. package/dist/main.d.ts +1 -1
  238. package/dist/main.js +1 -1
  239. package/dist/main.js.map +1 -1
  240. package/dist/providers/index.js +3 -2
  241. package/dist/providers/index.js.map +1 -1
  242. package/dist/state/balance/useCurrencyBalance.js +3 -23
  243. package/dist/state/balance/useCurrencyBalance.js.map +1 -1
  244. package/dist/state/balance/useUserTokensBalance.js +8 -78
  245. package/dist/state/balance/useUserTokensBalance.js.map +1 -1
  246. package/dist/state/bonds/fetchBondsData/{cleanBillsData.js → bondPricing.js} +1 -1
  247. package/dist/state/bonds/fetchBondsData/bondPricing.js.map +1 -0
  248. package/dist/state/bonds/useBondsData.js +23 -35
  249. package/dist/state/bonds/useBondsData.js.map +1 -1
  250. package/dist/state/bonds/useUserBonds.d.ts +3 -1
  251. package/dist/state/bonds/useUserBonds.js +21 -33
  252. package/dist/state/bonds/useUserBonds.js.map +1 -1
  253. package/dist/state/bonds/useUserBondsPreTGE.d.ts +1 -2
  254. package/dist/state/bonds/useUserBondsPreTGE.js +7 -203
  255. package/dist/state/bonds/useUserBondsPreTGE.js.map +1 -1
  256. package/dist/state/chainAccount/useChainAccount.d.ts +13 -0
  257. package/dist/state/chainAccount/useChainAccount.js +30 -0
  258. package/dist/state/chainAccount/useChainAccount.js.map +1 -0
  259. package/dist/state/hotBonds/useHotBonds.js +1 -1
  260. package/dist/state/hotBonds/useHotBonds.js.map +1 -1
  261. package/dist/state/tiers/tiers.d.ts +66 -0
  262. package/dist/state/tiers/tiers.js +97 -0
  263. package/dist/state/tiers/tiers.js.map +1 -0
  264. package/dist/state/tiers/useTierPoints.d.ts +2 -66
  265. package/dist/state/tiers/useTierPoints.js +13 -145
  266. package/dist/state/tiers/useTierPoints.js.map +1 -1
  267. package/dist/state/useSDKConfig.d.ts +3 -0
  268. package/dist/state/useSDKConfig.js +53 -6
  269. package/dist/state/useSDKConfig.js.map +1 -1
  270. package/dist/styles.css +1 -1
  271. package/dist/utils/displayHelpers.js +1 -1
  272. package/dist/utils/displayHelpers.js.map +1 -1
  273. package/dist/views/Bonds/components/BondRows/BondRow.js +6 -2
  274. package/dist/views/Bonds/components/BondRows/BondRow.js.map +1 -1
  275. package/dist/views/Bonds/components/BondRows/ModalHandler.js +8 -35
  276. package/dist/views/Bonds/components/BondRows/ModalHandler.js.map +1 -1
  277. package/dist/views/Bonds/components/BonusComponents/BonusTable.js +2 -1
  278. package/dist/views/Bonds/components/BonusComponents/BonusTable.js.map +1 -1
  279. package/dist/views/Bonds/components/CheckURL/index.js +8 -4
  280. package/dist/views/Bonds/components/CheckURL/index.js.map +1 -1
  281. package/dist/views/Bonds/components/RecommendationCards/index.js +3 -3
  282. package/dist/views/Bonds/components/RecommendationCards/index.js.map +1 -1
  283. package/dist/views/Bonds/utils.js +1 -1
  284. package/dist/views/Bonds/utils.js.map +1 -1
  285. package/dist/views/BuyBond/BuyBondModal.js +2 -7
  286. package/dist/views/BuyBond/BuyBondModal.js.map +1 -1
  287. package/dist/views/BuyBond/ChainBuyComponent.d.ts +5 -0
  288. package/dist/views/BuyBond/ChainBuyComponent.js +11 -0
  289. package/dist/views/BuyBond/ChainBuyComponent.js.map +1 -0
  290. package/dist/views/BuyBond/components/BondModalHeader.js +2 -1
  291. package/dist/views/BuyBond/components/BondModalHeader.js.map +1 -1
  292. package/dist/views/BuyBond/components/BondModalMinTierHeader.js +1 -1
  293. package/dist/views/BuyBond/components/BondModalMinTierHeader.js.map +1 -1
  294. package/dist/views/BuyBond/components/Estimations.js +2 -1
  295. package/dist/views/BuyBond/components/Estimations.js.map +1 -1
  296. package/dist/views/BuyBond/components/PointsLeftForNextTier/PointsLeftForNextTier.js +2 -1
  297. package/dist/views/BuyBond/components/PointsLeftForNextTier/PointsLeftForNextTier.js.map +1 -1
  298. package/dist/views/BuyBond/index.d.ts +2 -2
  299. package/dist/views/BuyBond/index.js.map +1 -1
  300. package/dist/views/BuyBond/utils.js +1 -1
  301. package/dist/views/BuyBond/utils.js.map +1 -1
  302. package/dist/views/ProjectView/ProjectView.js +2 -2
  303. package/dist/views/ProjectView/ProjectView.js.map +1 -1
  304. package/dist/views/ProjectView/components/BondLeaderboard/components/SalesTable.js +2 -2
  305. package/dist/views/ProjectView/components/BondLeaderboard/components/SalesTable.js.map +1 -1
  306. package/dist/views/ProjectView/components/BondLeaderboard/components/TopSaleCard.js +2 -2
  307. package/dist/views/ProjectView/components/BondLeaderboard/components/TopSaleCard.js.map +1 -1
  308. package/dist/views/ProjectView/components/PriceChart/index.js +1 -1
  309. package/dist/views/ProjectView/components/PriceChart/index.js.map +1 -1
  310. package/dist/views/ProjectView/components/RecommendationCards/index.js +4 -4
  311. package/dist/views/ProjectView/components/RecommendationCards/index.js.map +1 -1
  312. package/dist/views/SingleBond/SingleBond.js +2 -2
  313. package/dist/views/SingleBond/SingleBond.js.map +1 -1
  314. package/dist/views/SingleBond/SoldOutBuyBondPlaceholder.js +4 -3
  315. package/dist/views/SingleBond/SoldOutBuyBondPlaceholder.js.map +1 -1
  316. package/dist/views/YourBonds/YourBonds.js +25 -28
  317. package/dist/views/YourBonds/YourBonds.js.map +1 -1
  318. package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.js +8 -175
  319. package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.js.map +1 -1
  320. package/dist/views/YourBonds/components/ClaimAll/index.js +4 -6
  321. package/dist/views/YourBonds/components/ClaimAll/index.js.map +1 -1
  322. package/dist/views/YourBondsModal/YourBondsModal.js +3 -5
  323. package/dist/views/YourBondsModal/YourBondsModal.js.map +1 -1
  324. package/dist/views/YourBondsModal/components/Recommendations/Recommendations.js +3 -3
  325. package/dist/views/YourBondsModal/components/Recommendations/Recommendations.js.map +1 -1
  326. package/dist/views/YourBondsModal/components/TransferBondModal/index.js +3 -6
  327. package/dist/views/YourBondsModal/components/TransferBondModal/index.js.map +1 -1
  328. package/package.json +88 -5
  329. package/dist/components/ConnectAptosWalletButton/ConnectAptosWalletButton.js.map +0 -1
  330. package/dist/components/ConnectSolanaWalletButton/ConnectSolanaWalletButton.js.map +0 -1
  331. package/dist/components/ConnectoToVmBanners/ConnectToAptosBanner.js.map +0 -1
  332. package/dist/components/ConnectoToVmBanners/ConnectToEvmBanner.js.map +0 -1
  333. package/dist/components/ConnectoToVmBanners/ConnectToSolanaBanner.js.map +0 -1
  334. package/dist/components/ConnectoToVmBanners/ConnectToSuiBanner.js.map +0 -1
  335. package/dist/config/constants/suiZapTokens.js.map +0 -1
  336. package/dist/constants/solanaConstants.js.map +0 -1
  337. package/dist/constants/suiConstants.js.map +0 -1
  338. package/dist/hooks/accounts/useEVMAccount.js.map +0 -1
  339. package/dist/hooks/accounts/useSOLAccount.js.map +0 -1
  340. package/dist/hooks/accounts/useSUIAccount.js.map +0 -1
  341. package/dist/hooks/useMonitorTx.js.map +0 -1
  342. package/dist/providers/AptosWalletProvider.d.ts +0 -5
  343. package/dist/providers/SolanaWalletProvider.d.ts +0 -5
  344. package/dist/providers/SuiWalletProvider.d.ts +0 -5
  345. package/dist/state/allowance/useAllowance.js.map +0 -1
  346. package/dist/state/balance/useCurrencyBalanceAptos.js.map +0 -1
  347. package/dist/state/balance/useCurrencyBalanceSolana.js.map +0 -1
  348. package/dist/state/balance/useCurrencyBalanceSui.js.map +0 -1
  349. package/dist/state/bonds/fetchBondsData/cleanBillsData.js.map +0 -1
  350. package/dist/state/bonds/fetchBondsData/fetchBondsDataAptos.js.map +0 -1
  351. package/dist/state/bonds/fetchBondsData/fetchBondsDataEVM.js.map +0 -1
  352. package/dist/state/bonds/fetchBondsData/fetchBondsDataPreTGE.js.map +0 -1
  353. package/dist/state/bonds/fetchBondsData/fetchBondsDataSOL.js.map +0 -1
  354. package/dist/state/bonds/fetchBondsData/fetchBondsDataSui.js.map +0 -1
  355. package/dist/state/bonds/fetchUsersBonds/fetchUsersBondsAptos.js.map +0 -1
  356. package/dist/state/bonds/fetchUsersBonds/fetchUsersBondsEVM.js.map +0 -1
  357. package/dist/state/bonds/fetchUsersBonds/fetchUsersBondsSUI.js.map +0 -1
  358. package/dist/state/bonds/useTierProofSignature.js.map +0 -1
  359. package/dist/state/zap/useAptosZapQuote.js.map +0 -1
  360. package/dist/state/zap/useJupiterSolanaQuote.js.map +0 -1
  361. package/dist/state/zap/useSoulZapBondQuote.js.map +0 -1
  362. package/dist/state/zap/useSuiZapQuote.js.map +0 -1
  363. package/dist/types/bondCodec.js.map +0 -1
  364. package/dist/types/bondIssuanceCodec.js.map +0 -1
  365. package/dist/types/bondPricingCodec.js.map +0 -1
  366. package/dist/types/bondTermCodec.js.map +0 -1
  367. package/dist/utils/aptosHelpers.js.map +0 -1
  368. package/dist/utils/calculateSolanaTrueBillPrice.js.map +0 -1
  369. package/dist/utils/derivePda.js.map +0 -1
  370. package/dist/utils/getSolanaAccount.js.map +0 -1
  371. package/dist/utils/multicall.js.map +0 -1
  372. package/dist/utils/solanaAtaHelper.js.map +0 -1
  373. package/dist/utils/solanaMulticall.js.map +0 -1
  374. package/dist/utils/solanaRpc.js.map +0 -1
  375. package/dist/utils/suiHelpers.js.map +0 -1
  376. package/dist/views/Bonds/components/BondRows/ModalHandlerPreTGE.js.map +0 -1
  377. package/dist/views/BuyBond/BuyComponent.d.ts +0 -11
  378. package/dist/views/BuyBond/BuyComponent.js.map +0 -1
  379. package/dist/views/BuyBond/BuyComponentAptos.js.map +0 -1
  380. package/dist/views/BuyBond/BuyComponentPreTGE.js.map +0 -1
  381. package/dist/views/BuyBond/BuyComponentSolana.js.map +0 -1
  382. package/dist/views/BuyBond/BuyComponentSui.js.map +0 -1
  383. package/dist/views/LifiModal/LifiModal.d.ts +0 -6
  384. package/dist/views/LifiModal/LifiModal.js.map +0 -1
  385. package/dist/views/TransactionModal/TransactionModal.js.map +0 -1
  386. package/dist/views/YourBonds/components/UserBondRow/PreTGEActions.js.map +0 -1
  387. package/dist/views/YourBonds/components/UserBondRow/UserBondRow.js.map +0 -1
  388. package/dist/views/YourBonds/components/UserBondRow/UserBondRowAptos.js.map +0 -1
  389. package/dist/views/YourBonds/components/UserBondRow/UserBondRowPreTGE.js.map +0 -1
  390. package/dist/views/YourBonds/components/UserBondRow/UserBondRowSolana.js.map +0 -1
  391. package/dist/views/YourBonds/components/UserBondRow/UserBondRowSui.js.map +0 -1
  392. package/dist/views/YourBonds/components/UserBondRow/UserBondRowYield.js.map +0 -1
  393. package/dist/views/YourBonds/components/UserBondRow/index.d.ts +0 -5
  394. package/dist/views/YourBondsModal/components/Actions/Actions.js.map +0 -1
  395. package/dist/views/YourBondsModal/components/Actions/ActionsAptos.js.map +0 -1
  396. package/dist/views/YourBondsModal/components/Actions/ActionsSolana.js.map +0 -1
  397. package/dist/views/YourBondsModal/components/Actions/ActionsSui.js.map +0 -1
  398. package/dist/views/YourBondsModal/components/TransferBondModal/TransferAction.js.map +0 -1
  399. package/dist/views/YourBondsModal/components/TransferBondModal/TransferActionAptos.js.map +0 -1
  400. package/dist/views/YourBondsModal/components/TransferBondModal/TransferActionSolana.js.map +0 -1
  401. package/dist/views/YourBondsModal/components/TransferBondModal/TransferActionSui.js.map +0 -1
  402. package/dist/views/YourBondsModalYield/YourBondsModalYield.js.map +0 -1
  403. package/dist/views/YourBondsModalYield/components/UnstakeModalYield/UnstakeModalYield.js.map +0 -1
  404. package/dist/views/YourBondsModalYield/components/YourBondModalHeader/YourBondModalHeader.js.map +0 -1
  405. /package/dist/{views/BuyBond → adapters/aptos}/BuyComponentAptos.d.ts +0 -0
  406. /package/dist/{components/ConnectAptosWalletButton → adapters/aptos}/ConnectAptosWalletButton.d.ts +0 -0
  407. /package/dist/{components/ConnectoToVmBanners → adapters/aptos}/ConnectToAptosBanner.d.ts +0 -0
  408. /package/dist/{types → adapters/aptos}/aptosBonds.d.ts +0 -0
  409. /package/dist/{hooks/accounts → adapters/aptos}/useAPTAccount.d.ts +0 -0
  410. /package/dist/{state/zap → adapters/aptos}/useAptosZapQuote.d.ts +0 -0
  411. /package/dist/{state/zap → adapters/aptos}/useAptosZapQuote.js +0 -0
  412. /package/dist/{state/balance → adapters/aptos}/useCurrencyBalanceAptos.d.ts +0 -0
  413. /package/dist/{components/ConnectoToVmBanners → adapters/evm}/ConnectToEvmBanner.d.ts +0 -0
  414. /package/dist/{utils → adapters/evm}/multicall.d.ts +0 -0
  415. /package/dist/{views/BuyBond → adapters/evm/preTGE}/BuyComponentPreTGE.d.ts +0 -0
  416. /package/dist/{views/Bonds/components/BondRows → adapters/evm/preTGE}/ModalHandlerPreTGE.d.ts +0 -0
  417. /package/dist/{state/allowance → adapters/evm}/useAllowance.d.ts +0 -0
  418. /package/dist/{hooks/accounts → adapters/evm}/useEVMAccount.d.ts +0 -0
  419. /package/dist/{hooks/accounts → adapters/evm}/useEVMAccount.js +0 -0
  420. /package/dist/{hooks → adapters/evm}/useMonitorTx.d.ts +0 -0
  421. /package/dist/{state/zap → adapters/evm}/useSoulZapBondQuote.d.ts +0 -0
  422. /package/dist/{state/bonds → adapters/evm}/useTierProofSignature.d.ts +0 -0
  423. /package/dist/{views/BuyBond → adapters/solana}/BuyComponentSolana.d.ts +0 -0
  424. /package/dist/{components/ConnectSolanaWalletButton → adapters/solana}/ConnectSolanaWalletButton.d.ts +0 -0
  425. /package/dist/{components/ConnectoToVmBanners → adapters/solana}/ConnectToSolanaBanner.d.ts +0 -0
  426. /package/dist/{utils → adapters/solana}/calculateSolanaTrueBillPrice.d.ts +0 -0
  427. /package/dist/{types → adapters/solana/codecs}/index.d.ts +0 -0
  428. /package/dist/{utils → adapters/solana}/derivePda.d.ts +0 -0
  429. /package/dist/{utils → adapters/solana}/derivePda.js +0 -0
  430. /package/dist/{types → adapters/solana}/helius.d.ts +0 -0
  431. /package/dist/{utils → adapters/solana}/solanaAtaHelper.d.ts +0 -0
  432. /package/dist/{utils → adapters/solana}/solanaAtaHelper.js +0 -0
  433. /package/dist/{types → adapters/solana}/solanaBonds.d.ts +0 -0
  434. /package/dist/{constants → adapters/solana}/solanaConstants.d.ts +0 -0
  435. /package/dist/{utils → adapters/solana}/solanaMulticall.d.ts +0 -0
  436. /package/dist/{utils → adapters/solana}/solanaMulticall.js +0 -0
  437. /package/dist/{utils → adapters/solana}/solanaRpc.d.ts +0 -0
  438. /package/dist/{state/zap → adapters/solana}/useJupiterSolanaQuote.d.ts +0 -0
  439. /package/dist/{state/zap → adapters/solana}/useJupiterSolanaQuote.js +0 -0
  440. /package/dist/{hooks/accounts → adapters/solana}/useSOLAccount.d.ts +0 -0
  441. /package/dist/{hooks/accounts → adapters/solana}/useSOLAccount.js +0 -0
  442. /package/dist/{views/BuyBond → adapters/sui}/BuyComponentSui.d.ts +0 -0
  443. /package/dist/{components/ConnectoToVmBanners → adapters/sui}/ConnectToSuiBanner.d.ts +0 -0
  444. /package/dist/{constants → adapters/sui}/suiConstants.d.ts +0 -0
  445. /package/dist/{constants → adapters/sui}/suiConstants.js +0 -0
  446. /package/dist/{utils → adapters/sui}/suiHelpers.d.ts +0 -0
  447. /package/dist/{config/constants → adapters/sui}/suiZapTokens.d.ts +0 -0
  448. /package/dist/{config/constants → adapters/sui}/suiZapTokens.js +0 -0
  449. /package/dist/{state/balance → adapters/sui}/useCurrencyBalanceSui.d.ts +0 -0
  450. /package/dist/{hooks/accounts → adapters/sui}/useSUIAccount.d.ts +0 -0
  451. /package/dist/{hooks/accounts → adapters/sui}/useSUIAccount.js +0 -0
  452. /package/dist/{state/zap → adapters/sui}/useSuiZapQuote.d.ts +0 -0
  453. /package/dist/state/bonds/fetchBondsData/{cleanBillsData.d.ts → bondPricing.d.ts} +0 -0
package/README.md CHANGED
@@ -2,127 +2,223 @@
2
2
 
3
3
  [![npm](https://img.shields.io/npm/v/@ape.swap/bonds-sdk.svg)](https://www.npmjs.com/package/@ape.swap/bonds-sdk)
4
4
 
5
- The `@ape.swap/bonds-sdk` package provides an embeddable set of tools and UI components to integrate and manage bond-related functionalities for multi-chain environments. This SDK simplifies the process of displaying, interacting with, and customizing bond-related user interfaces in your projects.
5
+ The `@ape.swap/bonds-sdk` package provides embeddable React components to show, buy and manage ApeBond bonds inside your own app, across EVM chains, Solana, Sui and Aptos.
6
6
 
7
7
  ## Key Features
8
8
 
9
- - Fully customizable bond views powered by the following components: `<FullBondsView />`, `<Bonds/>`, `<YourBonds /> & <SingleBond />`.
10
- - Multi-chain support for a ever-growing array of EVM and Non EVM Blockchains.
11
- - Prebuilt styles and layouts optimized for embedding.
12
- - Compatibility with the most popular web3 development library: Wagmi.
13
- - Plug-and-play configuration to fit various project requirements.
9
+ - Ready-made bond views: `<FullBondsView />`, `<Bonds />`, `<YourBonds />`, `<SingleBond />`, `<ProjectView />` and `<BuyBondModal />`.
10
+ - **Chain adapters:** install and bundle only the chain families you use (EVM, Solana, Sui, Aptos), plus an optional LiFi cross-chain bridge.
11
+ - Works with your existing wallet setup (wagmi, Solana wallet adapter, Sui dapp-kit, Aptos wallet adapter) and your own wallet-connect modal.
12
+ - Prebuilt, scoped styles that never leak into your app, with stable classnames for overrides.
13
+
14
+ > **Upgrading from v6?** v7 requires the new `adapters` prop. See [Upgrading from v6](#upgrading-from-v6).
14
15
 
15
16
  ---
16
17
 
17
- ## Installation
18
+ ## How it works: chain adapters
18
19
 
19
- To install the package via npm or yarn, run the following command:
20
+ Since v7, every chain family is an **adapter** that you import and pass to the SDK:
20
21
 
21
- npm:
22
+ | Adapter | Import | Chains |
23
+ |---|---|---|
24
+ | `evmAdapter` | `@ape.swap/bonds-sdk/adapters/evm` | Every EVM chain (Ethereum, BNB, Base, Arbitrum, …), including tiers and launch/yield bonds |
25
+ | `solanaAdapter` | `@ape.swap/bonds-sdk/adapters/solana` | Solana |
26
+ | `suiAdapter` | `@ape.swap/bonds-sdk/adapters/sui` | Sui |
27
+ | `aptosAdapter` | `@ape.swap/bonds-sdk/adapters/aptos` | Aptos |
28
+ | `lifiAdapter` *(optional)* | `@ape.swap/bonds-sdk/adapters/lifi` | Adds the LiFi "Swap & Bridge" option to the buy flows |
29
+ | `allAdapters` | `@ape.swap/bonds-sdk/adapters/all` | All of the above (the v6 behaviour) |
22
30
 
23
- ```bash
24
- npm install "@ape.swap/bonds-sdk@solana" @bigmi/react@^0.6.5 @lifi/widget@^3.40.6 @mysten/dapp-kit@^0.19.11 @solana/kit@2.3.0 @solana/spl-token@^0.4.14 @solana/wallet-adapter-react@^0.15.39 @solana/wallet-adapter-react-ui@^0.9.39 @solana/web3.js@^1.98.4 @tanstack/react-query@^5.90.2 wagmi@^2.14.16
25
- ```
31
+ You only install the libraries of the adapters you import, and your bundle only contains their code. For example, an EVM-only app never installs or bundles any Solana, Sui, Aptos or LiFi package, and a Solana-only app doesn't need wagmi or viem.
32
+
33
+ Chains in `chains` whose family has no registered adapter are hidden, with a console error naming the adapter to add.
34
+
35
+ ---
36
+
37
+ ## Installation
26
38
 
27
- yarn:
39
+ ### 1. The SDK and its core dependencies
40
+
41
+ These are always required:
28
42
 
29
43
  ```bash
30
- yarn add "@ape.swap/bonds-sdk@solana" @bigmi/react@^0.6.5 @lifi/widget@^3.40.6 @mysten/dapp-kit@^0.19.11 @solana/kit@2.3.0 @solana/spl-token@^0.4.14 @solana/wallet-adapter-react@^0.15.39 @solana/wallet-adapter-react-ui@^0.9.39 @solana/web3.js@^1.98.4 @tanstack/react-query@^5.90.2 wagmi@^2.14.16
44
+ npm install @ape.swap/bonds-sdk @tanstack/react-query react react-dom
31
45
  ```
32
46
 
33
- ---
34
-
35
- ## Peer Dependencies
47
+ ### 2. The libraries of each chain family you use
36
48
 
37
- The following are some key dependencies you must have for the SDK to work properly:
49
+ The chain libraries are **optional peer dependencies**: npm doesn't install them for you, so install the ones for the adapters you use.
38
50
 
39
- - **React** (>=17 <19): Required to build the UI. Ensure your project uses React v17 or later.
40
- - **React DOM** (>=17 <19): Required for rendering React components to the DOM.
41
- - **Wagmi** (^2.14.16): Used for handling EVM wallet connections and blockchain interactions.
42
- - **viem** (2.x): Low-level EVM client used for on-chain reads. Already required by Wagmi.
43
- - **@bigmi/react** (^0.6.5): Multi-chain wallet connection library supporting EVM and non-EVM chains.
44
- - **@lifi/widget** (^3.40.6): Cross-chain bridge and swap widget integration.
45
- - **@mysten/dapp-kit** (^0.19.11): Sui blockchain dApp development kit for wallet connections and interactions.
46
- - **@mysten/sui** (^1.45.2): Sui TypeScript SDK used to build and read Sui transactions. Already installed alongside @mysten/dapp-kit.
47
- - **@solana/kit** (2.3.0): Comprehensive toolkit for Solana blockchain development.
48
- - **@solana/spl-token** (^0.4.14): Library for interacting with Solana SPL tokens.
49
- - **@solana/wallet-adapter-react** (^0.15.39): React hooks for Solana wallet connections.
50
- - **@solana/wallet-adapter-react-ui** (^0.9.39): Pre-built UI components for Solana wallet connections.
51
- - **@solana/web3.js** (^1.98.4): Core library for interacting with the Solana blockchain.
52
- - **@tanstack/react-query** (^5.90.2): Powerful data synchronization and caching library for React applications.
51
+ | Adapter | Install | Provider you must mount |
52
+ |---|---|---|
53
+ | `evmAdapter` | `npm install wagmi@^2 viem@2` | wagmi's `WagmiProvider` (its config must include the EVM chains you show) |
54
+ | `solanaAdapter` | `npm install @solana/web3.js@^1.98.4 @solana/kit@2.3.0 @solana/spl-token@^0.4.14 @solana/wallet-adapter-react@^0.15.39` | `ConnectionProvider` + `WalletProvider` from `@solana/wallet-adapter-react` |
55
+ | `suiAdapter` | `npm install @mysten/dapp-kit@^0.19.11 @mysten/sui@^1.45.2` | `SuiClientProvider` + `WalletProvider` from `@mysten/dapp-kit` |
56
+ | `aptosAdapter` | `npm install @aptos-labs/ts-sdk@^6.3.1 @aptos-labs/wallet-adapter-react@^8.3.3` | `AptosWalletAdapterProvider` from `@aptos-labs/wallet-adapter-react` |
57
+ | `lifiAdapter` | `npm install @lifi/widget@^3 @bigmi/react@^0.6.5` | none of its own (see note) |
53
58
 
54
- Optional:
59
+ Notes:
55
60
 
56
- - **@rainbow-me/rainbowkit** (^2.1.7 - optional): Wallet connection UI library for EVM chains with beautiful pre-built components.
61
+ - **LiFi:** `@lifi/widget` v3 itself requires `wagmi`, `@mysten/dapp-kit` and `@solana/wallet-adapter-react`, whichever chains you show. If you want an app without EVM or Sui packages, don't register `lifiAdapter`; the buy flows then simply hide the bridge option.
62
+ - **Solana** needs a custom RPC: see [Custom RPCs](#custom-rpcs). The Solana adapter sets the `Buffer` global its libraries need, so you don't need a polyfill.
63
+ - **Aptos** runs on Aptos **testnet** unless `NEXT_PUBLIC_APTOS_NETWORK=mainnet` is set in your build environment.
64
+ - `@tanstack/react-query`'s `QueryClientProvider` must wrap the SDK in every setup; the SDK shares your `QueryClient` (its query keys are prefixed with `ApeBond-SDK-`).
65
+ - **Supported versions:** React 17 or later (the LiFi adapter needs React 18+), wagmi 2 and LiFi widget 3.
57
66
 
58
67
  ---
59
68
 
60
69
  ## Basic Usage
61
70
 
62
- Here's an example of how to integrate the `@ape.swap/bonds-sdk` package into your project:
71
+ ### EVM only
63
72
 
64
- ```textmate
73
+ ```tsx
65
74
  import React from 'react'
66
- import FullBondsView from '@ape.swap/bonds-sdk/views/FullBondsView'
75
+ import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
76
+ import { WagmiProvider, createConfig, http } from 'wagmi'
77
+ import { bsc, mainnet } from 'wagmi/chains'
67
78
  import { ChainId } from '@ape.swap/apeswap-lists'
79
+ import FullBondsView from '@ape.swap/bonds-sdk/views/FullBondsView'
80
+ import { evmAdapter } from '@ape.swap/bonds-sdk/adapters/evm'
68
81
  import '@ape.swap/bonds-sdk/styles.css'
69
82
 
70
- const MyBondsComponent = () => {
71
- return (
72
- <FullBondsView
73
- referenceId="yourProjectId" // shall be provided by ApeBond team
74
- chains={[
75
- ChainId.BSC,
76
- ChainId.BASE,
77
- ChainId.MATIC,
78
- ChainId.MAINNET,
79
- ChainId.ARBITRUM,
80
- ChainId.LIGHTLINK,
81
- ChainId.LINEA,
82
- ChainId.GRAPHLINQ,
83
- ChainId.IOTA,
84
- ChainId.CROSSFI,
85
- ]}
86
- connector={'rainbowkit'}
87
- hotBondChains={[ChainId.BSC]}
88
- useTiers={true}
89
- useHotBonds={true}
90
- />
91
- )
92
- }
93
-
94
- export default MyBondsComponent
83
+ const wagmiConfig = createConfig({
84
+ chains: [mainnet, bsc],
85
+ transports: { [mainnet.id]: http(), [bsc.id]: http() },
86
+ })
87
+ const queryClient = new QueryClient()
88
+
89
+ export const App = () => (
90
+ <WagmiProvider config={wagmiConfig}>
91
+ <QueryClientProvider client={queryClient}>
92
+ <FullBondsView
93
+ referenceId="yourProjectId" // provided by the ApeBond team
94
+ chains={[ChainId.MAINNET, ChainId.BSC]}
95
+ adapters={[evmAdapter]}
96
+ openWalletConnectors={{ evm: openYourWalletModal }} // e.g. RainbowKit's openConnectModal
97
+ />
98
+ </QueryClientProvider>
99
+ </WagmiProvider>
100
+ )
101
+ ```
102
+
103
+ ### Several chain families (EVM + Solana + the LiFi bridge)
104
+
105
+ ```tsx
106
+ import { ConnectionProvider, WalletProvider } from '@solana/wallet-adapter-react'
107
+ import FullBondsView from '@ape.swap/bonds-sdk/views/FullBondsView'
108
+ import { evmAdapter } from '@ape.swap/bonds-sdk/adapters/evm'
109
+ import { solanaAdapter } from '@ape.swap/bonds-sdk/adapters/solana'
110
+ import { lifiAdapter } from '@ape.swap/bonds-sdk/adapters/lifi'
111
+
112
+ const SOLANA_RPC = 'https://mainnet.helius-rpc.com/?api-key=YOUR_KEY'
113
+
114
+ export const App = () => (
115
+ <WagmiProvider config={wagmiConfig}>
116
+ <QueryClientProvider client={queryClient}>
117
+ <ConnectionProvider endpoint={SOLANA_RPC}>
118
+ <WalletProvider wallets={[]} autoConnect>
119
+ <FullBondsView
120
+ referenceId="yourProjectId"
121
+ chains={[ChainId.MAINNET, ChainId.BSC, ChainId.SOL]}
122
+ adapters={[evmAdapter, solanaAdapter, lifiAdapter]}
123
+ customRPCS={{ [ChainId.SOL]: [SOLANA_RPC] }}
124
+ openWalletConnectors={{
125
+ evm: openYourEvmWalletModal,
126
+ sol: () => setSolanaWalletModalVisible(true), // e.g. useWalletModal() from @solana/wallet-adapter-react-ui
127
+ }}
128
+ />
129
+ </WalletProvider>
130
+ </ConnectionProvider>
131
+ </QueryClientProvider>
132
+ </WagmiProvider>
133
+ )
134
+ ```
135
+
136
+ ### Everything (the v6 setup)
137
+
138
+ ```tsx
139
+ import { allAdapters } from '@ape.swap/bonds-sdk/adapters/all'
140
+
141
+ <FullBondsView referenceId="yourProjectId" chains={chains} adapters={allAdapters} />
142
+ ```
143
+
144
+ `allAdapters` needs every family's libraries and wallet providers, like v6 did.
145
+
146
+ ### Other views
147
+
148
+ All views take the same props (see [Configuration](#configuration)), including `adapters`; pass the same adapters to every SDK view you render.
149
+
150
+ ```tsx
151
+ import Bonds from '@ape.swap/bonds-sdk/views/Bonds'
152
+ import YourBonds from '@ape.swap/bonds-sdk/views/YourBonds'
153
+ import SingleBond from '@ape.swap/bonds-sdk/views/SingleBond' // + tokenSymbol={['XYZ']}
154
+ import ProjectView from '@ape.swap/bonds-sdk/views/ProjectView' // + bondAddress, bondChain
155
+ import BuyBondModal from '@ape.swap/bonds-sdk/views/BuyBondModal' // + bondAddress, bondChain, onDismiss
95
156
  ```
96
157
 
158
+ Hooks and helpers are exported too: `@ape.swap/bonds-sdk/hooks/useBondsData`, `/hooks/useTokenPrices`, `/hooks/useSDKConfig`, `/hooks/useCurrencyBalance`, `/hooks/useUserTokensBalance`, `/hooks/useApproval` (EVM; needs the EVM libraries), `/components/TokenImage`, `/utils/generateImageFromTemplate`, `/constants/chains`.
159
+
160
+ The root import (`import { Bonds } from '@ape.swap/bonds-sdk'`) still works but is deprecated. It re-exports `useApproval`, so it requires the EVM libraries: apps without EVM must use the subpath imports above.
161
+
97
162
  ---
98
163
 
99
- ## Configuration
164
+ ## Connecting wallets
165
+
166
+ The SDK uses the wallets your app already connects, through the providers above; it doesn't ship a wallet modal. When a user clicks one of the SDK's "Connect" buttons, it calls the matching function from `openWalletConnectors`, so it can open your own modal:
167
+
168
+ ```tsx
169
+ openWalletConnectors={{
170
+ evm: () => openConnectModal(), // e.g. RainbowKit, AppKit, your own modal
171
+ sol: () => setSolanaModalVisible(true),
172
+ sui: () => openSuiModal(),
173
+ aptos: () => openAptosModal(),
174
+ }}
175
+ ```
176
+
177
+ Without an opener, that family's "Connect" button is disabled.
100
178
 
101
- The core of the SDK lies in its config object params, passed as a prop to its components. Below is a breakdown of key options:
179
+ ---
180
+
181
+ ## Configuration
102
182
 
103
- | Property | Type | Description |
104
- |------------------|-----------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
105
- | `referenceId` | `string` | A unique identifier for the bonds, shall be provided by ApeBond team. |
106
- | `chains` | `number[]` | An array of supported chain IDs (e.g., `56`, `1`, `137`, etc). It also determines the order of the chains on the bond list. |
107
- | `connector` | `'rainbowkit' 'appkit' 'default'` | Determines your preferred wallet-connector. If your connector is not listed here get in contact with the dev team to request the integration. |
108
- | `useHotBonds` | `boolean` | Whether to show the "hot bonds" component. |
109
- | `theme` | `Object (optional, deprecated)` | **Deprecated as of v7.** No longer applied at runtime — the SDK now ships build-time Tailwind styles. The prop is still accepted (and safely ignored, with a dev-only console warning) so existing integrations don't break, but it does nothing. See [Styling & Overrides](#styling--overrides) for the replacement approach. |
110
- | `hotBondsChains` | `number[]` | Determines the position of the hotbonds section. The component will be placed bellow the indicated chains. |
111
- | `tokenSymbol` | `string[]` | This parameter is specific to the `<SingleBond />` component. It defines the token(s) to display in the UI. Currently, only a single token (one element in the array) is supported. |
112
- | `customRPCS` | `Partial<Record<ChainId, string[]>>` (optional) | Override the default public RPC URLs for any supported chain. Useful when you have a private or dedicated RPC endpoint. **Required for Solana** — no public RPC is available. See [Custom RPCs](#custom-rpcs) for usage. |
183
+ Props accepted by every view:
184
+
185
+ | Property | Type | Description |
186
+ |---|---|---|
187
+ | `referenceId` | `string` | **Required.** Your partner id, provided by the ApeBond team. |
188
+ | `chains` | `number[]` | **Required.** Chain ids to show (e.g. `ChainId.BSC`, `ChainId.SOL`), in display order. Chains without a registered adapter are hidden. |
189
+ | `adapters` | `SDKAdapter[]` | **Required since v7.** The chain adapters (and optionally `lifiAdapter`) to enable. See [How it works](#how-it-works-chain-adapters). |
190
+ | `openWalletConnectors` | `{ evm?, sol?, sui?, aptos? }` | Functions that open your wallet-connect modal for each family. See [Connecting wallets](#connecting-wallets). |
191
+ | `customRPCS` | `Partial<Record<ChainId, string[]>>` | Your own RPC URLs per chain. **Required for Solana.** See [Custom RPCs](#custom-rpcs). |
192
+ | `useHotBonds` | `boolean` | Show the "hot bonds" section. Default `true`. |
193
+ | `hotBondChains` | `number[]` | The hot bonds section is placed below these chains. Default `[BSC, Polygon]`. |
194
+ | `useTiers` | `boolean` | Enable ApeBond tier bonuses (EVM). Default `false`; always off with `namingPreference: 'Discount'`. |
195
+ | `namingPreference` | `'Bonus' \| 'Discount'` | How bond returns are labelled. Default `'Bonus'`. |
196
+ | `useCardsView` | `boolean` | Show the bond list as cards instead of rows. Default `false`. |
197
+ | `showLowValueBonds` | `boolean` | Also list bonds with little value left (about $100 or less), which are otherwise treated as sold out. Default `false`. |
198
+ | `bondPartner` | `string` | Only show this partner's bonds (including partner-only bonds). |
199
+ | `highlightedBond` | `string` | Token symbol to feature in the "buy again" row. |
200
+ | `blockSales` | `boolean` | Show bonds but disable buying. Default `false`. |
201
+ | `customBranch` | `string` | Load the bond list from a specific bond-list branch (for testing new bonds with the ApeBond team). |
202
+ | `urls` | `{ apiV2?, realTimeApi?, mainUrl? }` | Override the ApeBond API URLs. |
203
+ | `aptosAddress` / `suiAddress` | `string` | Show this address's Aptos / Sui bonds without a connected wallet (read-only). |
204
+
205
+ Component-specific props: `tokenSymbol` (`string[]`, `<SingleBond />`; one token is supported), `bondAddress` + `bondChain` (`<ProjectView />`, `<BuyBondModal />`).
206
+
207
+ The `theme` prop was removed in v7; see [Styling & Overrides](#styling--overrides).
113
208
 
114
209
  ### Custom RPCs
115
210
 
116
- By default the SDK uses a set of public RPC endpoints for each supported chain. If you have a private or dedicated RPC (e.g. from Alchemy, Infura, Helius, QuickNode, etc.) you can override them per-chain via the `customRPCS` prop. The custom URL takes priority; any chain not listed falls back to the SDK default.
211
+ By default the SDK uses public RPC endpoints for each supported chain. If you have a private or dedicated RPC (e.g. from Alchemy, Infura, Helius, QuickNode), override it per chain with `customRPCS`. The custom URL takes priority; any chain not listed falls back to the SDK default.
117
212
 
118
- > ⚠️ **Solana requires a custom RPC.** Unlike EVM chains, Solana does not provide a reliable public RPC endpoint. If your `chains` config includes Solana, you **must** supply a custom RPC for `ChainId.SOL` (e.g. from [Helius](https://helius.dev/) or [QuickNode](https://www.quicknode.com/)), otherwise Solana-related functionality will not work.
213
+ > ⚠️ **Solana requires a custom RPC.** Solana doesn't provide a reliable public RPC endpoint. If `chains` includes Solana, you **must** supply one for `ChainId.SOL` (e.g. from [Helius](https://helius.dev/) or [QuickNode](https://www.quicknode.com/)), otherwise Solana bonds won't load.
119
214
 
120
215
  ```tsx
121
- import { ChainId } from '@ape.swap/apeswap-lists';
216
+ import { ChainId } from '@ape.swap/apeswap-lists'
122
217
 
123
218
  <FullBondsView
124
219
  referenceId="yourProjectId"
125
- chains={[ChainId.BSC, ChainId.MAINNET]}
220
+ chains={[ChainId.BSC, ChainId.MAINNET, ChainId.SOL]}
221
+ adapters={[evmAdapter, solanaAdapter]}
126
222
  customRPCS={{
127
223
  [ChainId.BSC]: ['https://bsc-mainnet.g.alchemy.com/v2/YOUR_KEY'],
128
224
  [ChainId.MAINNET]: ['https://eth-mainnet.g.alchemy.com/v2/YOUR_KEY'],
@@ -131,59 +227,55 @@ import { ChainId } from '@ape.swap/apeswap-lists';
131
227
  />
132
228
  ```
133
229
 
134
- > **Note:** The `customRPCS` prop accepts an array of URLs per chain to allow future fallback support. Currently, only the first URL in each array is used.
230
+ > **Note:** `customRPCS` accepts an array of URLs per chain to allow future fallback support. Currently, only the first URL in each array is used.
135
231
 
136
232
  ### Chain Support
137
233
 
138
- The SDK currently supports the following chains:
234
+ - **EVM** (`evmAdapter`): Ethereum, BNB Chain, Polygon, Arbitrum, Base, Linea, Lightlink, GraphLinq, IOTA, CrossFi, Avalanche, Blast, Sonic, Berachain, Unichain, Katana, Monad, HyperEVM, Robinhood, Layer One X.
235
+ - **Solana** (`solanaAdapter`)
236
+ - **Sui** (`suiAdapter`)
237
+ - **Aptos** (`aptosAdapter`)
238
+
239
+ The list is updated regularly, so make sure to use the latest version of the SDK.
139
240
 
140
- EVM:
241
+ ---
141
242
 
142
- - Ethereum
143
- - BNB Chain (BSC)
144
- - Polygon
145
- - Arbitrum
146
- - Base
147
- - Lightlink
148
- - Linea
149
- - Graphlinq
150
- - IOTA
151
- - CrossFi
152
- - Unichain
153
- - Berachain
154
- - Sonic
155
- - Katana
156
- - Monad Testnet
157
- - Hyper EVM
158
- - Avalanche
243
+ ## Upgrading from v6
159
244
 
160
- Non-EVM:
245
+ 1. **Pass `adapters`.** Without it no chains are shown (the console says so). Pick one:
246
+ - the fastest path, identical to v6: `adapters={allAdapters}` from `@ape.swap/bonds-sdk/adapters/all`;
247
+ - or only the families you show, e.g. `adapters={[evmAdapter]}` for an EVM-only app (see [How it works](#how-it-works-chain-adapters)).
248
+ 2. **Install what your adapters need** (see [Installation](#installation)). Chain libraries are now optional peer dependencies, so npm no longer installs them automatically. With `allAdapters` keep everything you had in v6; otherwise you can remove the libraries of the families you don't use (e.g. an EVM-only app can remove `@solana/*`, `@mysten/*`, `@aptos-labs/*`, `@lifi/widget`, `@bigmi/react`).
249
+ 3. **Mount only the wallet providers of your adapters.** An app without `evmAdapter` no longer needs a `WagmiProvider`.
250
+ 4. **Import styles from `@ape.swap/bonds-sdk/styles.css`**, and drop the `theme` prop if you used it (see [Styling & Overrides](#styling--overrides)).
251
+ 5. If you use the root import (`from '@ape.swap/bonds-sdk'`) in an app without EVM, switch to the subpath imports.
161
252
 
162
- - SOLANA
253
+ Behaviour changes to be aware of:
163
254
 
164
- The list get updated constantly, so make sure to use latest version of the SDK.
255
+ - The Solana adapter sets the `Buffer` global itself; you can remove a `Buffer` polyfill you only had for this SDK.
256
+ - `<SingleBond />` and `<ProjectView />` now use the right buy flow for Solana/Sui/Aptos bonds (v6 always used the EVM one).
257
+ - Claim All on a chain that doesn't support it (Solana) now says so instead of attempting an EVM claim.
258
+ - Peer ranges are stricter: `wagmi` `^2` and `@lifi/widget` `^3`.
165
259
 
166
260
  ---
167
261
 
168
262
  ## Styling & Overrides
169
263
 
170
- The package comes with prebuilt styles that you must import in your project. Make sure to include the following CSS file:
264
+ The package comes with prebuilt styles that you must import in your project:
171
265
 
172
266
  ```javascript
173
- import '@ape.swap/bonds-sdk/dist/styles.css'
267
+ import '@ape.swap/bonds-sdk/styles.css'
174
268
  ```
175
269
 
176
- These styles ensure that the components render correctly and include all necessary design details.
177
-
178
270
  ### How styling works (v7+)
179
271
 
180
- As of v7, the SDK is styled entirely at build time with [Tailwind CSS](https://tailwindcss.com/), scoped under an `ape:`-prefixed layer so it can never collide with a consumer app's own Tailwind setup or global styles. You do **not** need Tailwind in your own project to use the SDK — `dist/styles.css` ships fully compiled, plain CSS.
272
+ As of v7, the SDK is styled entirely at build time with [Tailwind CSS](https://tailwindcss.com/), scoped under an `ape:`-prefixed layer so it can never collide with a consumer app's own Tailwind setup or global styles. You do **not** need Tailwind in your own project to use the SDK: `styles.css` ships fully compiled, plain CSS.
181
273
 
182
- This replaces the previous runtime `theme` prop (colors/radii/fonts passed in as a JS object), which is now deprecated and ignored — see the `theme` row in [Configuration](#configuration). If you were using `theme` to reskin the SDK, restyle via the override classnames below instead.
274
+ This replaces the previous runtime `theme` prop (colors/radii/fonts passed in as a JS object), which was removed. If you were using `theme` to reskin the SDK, restyle via the override classnames below instead.
183
275
 
184
276
  ### Overriding styles from your app
185
277
 
186
- Every SDK element that's a meaningful restyling target keeps a stable, plain (non-`ape:`-prefixed) `className` alongside its internal Tailwind classes, e.g. `className="bond-row ape:flex ape:..."`. Target these from your own app's CSS (with sufficient specificity, or `!important` where needed) to override the default look — they are considered part of the SDK's public styling API and are kept stable across releases. Some of the more commonly used ones:
278
+ Every SDK element that's a meaningful restyling target keeps a stable, plain (non-`ape:`-prefixed) `className` alongside its internal Tailwind classes, e.g. `className="bond-row ape:flex ape:..."`. Target these from your own app's CSS (with sufficient specificity, or `!important` where needed) to override the default look. They are part of the SDK's public styling API and are kept stable across releases. Some of the more commonly used ones:
187
279
 
188
280
  | Area | Classnames |
189
281
  |---|---|
@@ -192,24 +284,23 @@ Every SDK element that's a meaningful restyling target keeps a stable, plain (no
192
284
  | Your Bonds | `your-bonds`, `your-bonds-columns-container`, `your-bonds-content`, `your-bonds-content-title`, `your-bonds-content-tokens-amount`, `your-bonds-content-tokens-usd-amount`, `your-bonds-column-button`, `table-container`, `table-header-container` |
193
285
  | Tooltips & filters | `tooltip-bubble`, `tooltip-column`, `network-filter`, `search-container` |
194
286
  | Banners & layout | `full-bonds-view-container`, `banner-title`, `banner-subtitle`, `banner-actions`, `placeholder-monkey-wrapper`, `toggle-container` |
287
+ | LiFi bridge modal | `lifi-bridge-modal` |
195
288
 
196
- This list isn't exhaustive — inspect the rendered DOM for any element you want to target; most structural containers carry a plain descriptive classname for exactly this purpose.
197
-
198
- You can preview the SDK's default look (and, in the pre-v7 styling playground, generate a `theme` object — kept for reference only, no longer functional) at:
289
+ This list isn't exhaustive: inspect the rendered DOM for any element you want to target; most structural containers carry a plain descriptive classname for exactly this purpose.
199
290
 
200
- <https://sdk.ape.bond/>
291
+ You can preview the SDK's default look at <https://sdk.ape.bond/>.
201
292
 
202
293
  ### Custom fonts
203
294
 
204
295
  To use a custom font, download it and embed it in your project via a `<script>` or `<link>` tag in your HTML file, then set it as the default font stack for the elements you've overridden via CSS.
205
296
 
206
- Bear in mind, that the components of the SDK will use the width and height provided by the parent component, therefore, we recommend wrapping ApeBond SDK components with a div with the desired size.
297
+ Bear in mind that the components of the SDK use the width and height provided by the parent component, so we recommend wrapping ApeBond SDK components with a div of the desired size.
207
298
 
208
299
  ---
209
300
 
210
301
  ## 🦍 Built and Maintained by ApeSwap | ApeBond
211
302
 
212
- For questions, issues, or contributions, reach out to [ApeBond](https://ape.bond/) or contact us on [Telegram](https://t.me/ape_bond) .
303
+ For questions, issues, or contributions, reach out to [ApeBond](https://ape.bond/) or contact us on [Telegram](https://t.me/ape_bond).
213
304
 
214
305
  ---
215
306
 
@@ -0,0 +1,13 @@
1
+ import type { SDKAdapter } from '../types';
2
+ import { evmAdapter } from '../evm';
3
+ import { solanaAdapter } from '../solana';
4
+ import { suiAdapter } from '../sui';
5
+ import { aptosAdapter } from '../aptos';
6
+ import { lifiAdapter } from '../lifi';
7
+ /**
8
+ * Every chain family plus the LiFi bridge: the v6 behaviour, for a one-line migration
9
+ * (`adapters={allAdapters}`). It requires every family's peer dependencies and wallet providers; partners that only
10
+ * show some families should import those adapters individually instead.
11
+ */
12
+ export declare const allAdapters: SDKAdapter[];
13
+ export { evmAdapter, solanaAdapter, suiAdapter, aptosAdapter, lifiAdapter };
@@ -0,0 +1,15 @@
1
+ import { evmAdapter } from '../evm/index.js';
2
+ import { solanaAdapter } from '../solana/index.js';
3
+ import { suiAdapter } from '../sui/index.js';
4
+ import { aptosAdapter } from '../aptos/index.js';
5
+ import { lifiAdapter } from '../lifi/index.js';
6
+
7
+ /**
8
+ * Every chain family plus the LiFi bridge: the v6 behaviour, for a one-line migration
9
+ * (`adapters={allAdapters}`). It requires every family's peer dependencies and wallet providers; partners that only
10
+ * show some families should import those adapters individually instead.
11
+ */
12
+ const allAdapters = [evmAdapter, solanaAdapter, suiAdapter, aptosAdapter, lifiAdapter];
13
+
14
+ export { allAdapters, aptosAdapter, evmAdapter, lifiAdapter, solanaAdapter, suiAdapter };
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/adapters/all/index.ts"],"sourcesContent":["import type { SDKAdapter } from '../types'\nimport { evmAdapter } from '../evm'\nimport { solanaAdapter } from '../solana'\nimport { suiAdapter } from '../sui'\nimport { aptosAdapter } from '../aptos'\nimport { lifiAdapter } from '../lifi'\n\n/**\n * Every chain family plus the LiFi bridge: the v6 behaviour, for a one-line migration\n * (`adapters={allAdapters}`). It requires every family's peer dependencies and wallet providers; partners that only\n * show some families should import those adapters individually instead.\n */\nexport const allAdapters: SDKAdapter[] = [evmAdapter, solanaAdapter, suiAdapter, aptosAdapter, lifiAdapter]\n\nexport { evmAdapter, solanaAdapter, suiAdapter, aptosAdapter, lifiAdapter }\n"],"names":[],"mappings":";;;;;;AAOA;;;;AAIG;AACI,MAAM,WAAW,GAAiB,CAAC,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW;;;;"}
@@ -1,4 +1,4 @@
1
- import { UserBill } from '../../../../types/yourbonds';
1
+ import { UserBill } from '../../types/yourbonds';
2
2
  declare const ActionsAptos: ({ userBill }: {
3
3
  userBill?: UserBill;
4
4
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1,18 +1,18 @@
1
1
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { useState } from 'react';
3
3
  import { ChainId } from '@ape.swap/apeswap-lists';
4
- import { claimable } from '../../../../utils/displayHelpers.js';
5
- import { getTimePeriods } from '../../../../utils/getTimePeriods.js';
6
- import useBondsData from '../../../../state/bonds/useBondsData.js';
7
- import { usePopups } from '../../../../state/popups/usePopups.js';
8
- import { useSDKConfig } from '../../../../state/useSDKConfig.js';
9
- import { reportError } from '../../../../utils/reportError.js';
10
- import Button from '../../../../components/uikit-sdk/Button/Button.js';
4
+ import { claimable } from '../../utils/displayHelpers.js';
5
+ import { getTimePeriods } from '../../utils/getTimePeriods.js';
6
+ import useBondsData from '../../state/bonds/useBondsData.js';
7
+ import { usePopups } from '../../state/popups/usePopups.js';
8
+ import { useSDKConfig } from '../../state/useSDKConfig.js';
9
+ import { reportError } from '../../utils/reportError.js';
10
+ import Button from '../../components/uikit-sdk/Button/Button.js';
11
11
  import { useQueryClient } from '@tanstack/react-query';
12
- import useAPTAccount from '../../../../hooks/accounts/useAPTAccount.js';
13
- import { APTOS_CLAIM_FUNCTION } from '../../../../constants/aptosConstants.js';
14
- import { getAptosClient } from '../../../../utils/aptosHelpers.js';
15
- import { QUERY_KEYS } from '../../../../config/constants/queryKeys.js';
12
+ import useAPTAccount from './useAPTAccount.js';
13
+ import { APTOS_CLAIM_FUNCTION } from '../../constants/aptosConstants.js';
14
+ import { getAptosClient } from './aptosHelpers.js';
15
+ import { QUERY_KEYS } from '../../config/constants/queryKeys.js';
16
16
 
17
17
  // YourBondsModal action buttons for Aptos bonds. Mirrors the shape of
18
18
  // `ActionsSolana`: one Claim button (simulation-aware) and one "Buy again"
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionsAptos.js","sources":["../../../src/adapters/aptos/ActionsAptos.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { ChainId } from '@ape.swap/apeswap-lists'\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 useAPTAccount from './useAPTAccount'\nimport { APTOS_CLAIM_FUNCTION } from '../../constants/aptosConstants'\nimport { getAptosClient } from './aptosHelpers'\nimport { QUERY_KEYS } from '../../config/constants/queryKeys'\n\n// YourBondsModal action buttons for Aptos bonds. Mirrors the shape of\n// `ActionsSolana`: one Claim button (simulation-aware) and one \"Buy again\"\n// button that jumps to an active bond of the same showcase token.\nconst ActionsAptos = ({ userBill }: { userBill?: UserBill }) => {\n // Hooks\n const SDKConfig = useSDKConfig()\n const queryClient = useQueryClient()\n const { address: aptosAccount, signAndSubmitTransaction } = useAPTAccount()\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 || !aptosAccount || !userBill) return\n\n try {\n setLoadingTx(true)\n\n const market = userBill?.bond?.contractAddress?.[userBill?.bond?.chainId ?? 0]\n if (!market) throw new Error('Missing bond market address')\n if (!userBill.id) throw new Error('Missing bill ID')\n\n // `apebond::bond::claim(market, bill_id: u64)` — the contract takes\n // the scalar bill_id, NOT the object address.\n const response = await signAndSubmitTransaction?.({\n data: {\n function: APTOS_CLAIM_FUNCTION,\n typeArguments: [],\n functionArguments: [market, userBill.id],\n },\n })\n if (!response?.hash) throw new Error('No tx hash returned by wallet')\n\n const aptos = getAptosClient()\n await aptos.waitForTransaction({ transactionHash: response.hash })\n\n await queryClient.invalidateQueries({ queryKey: [QUERY_KEYS.USER_BONDS] })\n addToastSuccess(response.hash, ChainId.APTOS)\n } catch (error: any) {\n console.error('Aptos claim failed:', error)\n addToastError(error?.message ?? 'Unknown error')\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error,\n account: aptosAccount ?? '',\n chainId: ChainId.APTOS,\n extraInfo: { type: 'aptosClaim', 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 ActionsAptos\n"],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** Publishes the connected Aptos account (or the injected `aptosAddress`) for core code; see ChainAdapter.AccountBridge. */
2
+ declare const AptosAccountBridge: () => null;
3
+ export default AptosAccountBridge;
@@ -0,0 +1,12 @@
1
+ import useAPTAccount from './useAPTAccount.js';
2
+ import { usePublishChainAccount } from '../../state/chainAccount/useChainAccount.js';
3
+
4
+ /** Publishes the connected Aptos account (or the injected `aptosAddress`) for core code; see ChainAdapter.AccountBridge. */
5
+ const AptosAccountBridge = () => {
6
+ const { address } = useAPTAccount();
7
+ usePublishChainAccount('aptos', { address: address ?? null, connected: !!address });
8
+ return null;
9
+ };
10
+
11
+ export { AptosAccountBridge as default };
12
+ //# sourceMappingURL=AptosAccountBridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AptosAccountBridge.js","sources":["../../../src/adapters/aptos/AptosAccountBridge.tsx"],"sourcesContent":["import useAPTAccount from './useAPTAccount'\nimport { usePublishChainAccount } from '../../state/chainAccount/useChainAccount'\n\n/** Publishes the connected Aptos account (or the injected `aptosAddress`) for core code; see ChainAdapter.AccountBridge. */\nconst AptosAccountBridge = () => {\n const { address } = useAPTAccount()\n usePublishChainAccount('aptos', { address: address ?? null, connected: !!address })\n return null\n}\n\nexport default AptosAccountBridge\n"],"names":[],"mappings":";;;AAGA;AACA,MAAM,kBAAkB,GAAG,MAAK;AAC9B,IAAA,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE;AACnC,IAAA,sBAAsB,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;AACnF,IAAA,OAAO,IAAI;AACb;;;;"}
@@ -14,23 +14,23 @@ import { MCBuyComponentStyles } from '../../utils/campaignStyles.js';
14
14
  import track from '../../utils/track.js';
15
15
  import { remove0xPrefix } from '../../utils/remove0xPrefix.js';
16
16
  import { getSymbol } from '../../utils/getNativeTicker.js';
17
- import useAPTAccount from '../../hooks/accounts/useAPTAccount.js';
17
+ import useAPTAccount from './useAPTAccount.js';
18
18
  import useTokenFromZapList from '../../hooks/useTokenFromZapList.js';
19
19
  import useSortedZapList from '../../hooks/useSortedZapList.js';
20
- import useAptosZapQuote from '../../state/zap/useAptosZapQuote.js';
20
+ import useAptosZapQuote from './useAptosZapQuote.js';
21
21
  import { findAptosZapToken } from '../../config/constants/aptosZapTokens.js';
22
- import ConnectAptosWalletButton from '../../components/ConnectAptosWalletButton/ConnectAptosWalletButton.js';
22
+ import ConnectAptosWalletButton from './ConnectAptosWalletButton.js';
23
23
  import TokenSelectorPanel from '../../components/TokenSelectorPanel/index.js';
24
- import BondModalHeader from './components/BondModalHeader.js';
25
- import BondCards from './components/BondCards/BondCards.js';
26
- import Estimations from './components/Estimations.js';
27
- 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';
28
28
  import Flex from '../../components/uikit-sdk/Flex/index.js';
29
29
  import Text from '../../components/uikit-sdk/Text/index.js';
30
30
  import Button from '../../components/uikit-sdk/Button/Button.js';
31
31
  import SafeHTMLComponent from '../../components/SafeHTMLComponent/index.js';
32
32
  import { APTOS_DEPOSIT_FUNCTION } from '../../constants/aptosConstants.js';
33
- import { getAptosClient, readAptosMarketInfo, extractDepositEvent, extractBillMinted } from '../../utils/aptosHelpers.js';
33
+ import { getAptosClient, readAptosMarketInfo, extractDepositEvent, extractBillMinted } from './aptosHelpers.js';
34
34
  import { toFixedString, parseUnits, mulDivRound } from '../../utils/fixedPoint.js';
35
35
 
36
36
  // (100 + slippage) / 100 as an exact integer fraction, scaled by 1e6 to preserve fractional