@ape.swap/bonds-sdk 6.2.11 → 6.2.13

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 (593) hide show
  1. package/README.md +27 -25
  2. package/dist/components/BondFilters/BondFilters.js +3 -3
  3. package/dist/components/BondFilters/BondFilters.js.map +1 -1
  4. package/dist/components/Carousel/index.d.ts +1 -1
  5. package/dist/components/Carousel/index.js +4 -7
  6. package/dist/components/Carousel/index.js.map +1 -1
  7. package/dist/components/ChainOptionList/ChainOptionsButtons.d.ts +1 -1
  8. package/dist/components/ChainOptionList/ChainOptionsButtons.js +6 -9
  9. package/dist/components/ChainOptionList/ChainOptionsButtons.js.map +1 -1
  10. package/dist/components/ChainOptionList/ChainOptionsList.d.ts +1 -1
  11. package/dist/components/ChainOptionList/ChainOptionsList.js +3 -4
  12. package/dist/components/ChainOptionList/ChainOptionsList.js.map +1 -1
  13. package/dist/components/CircularProgress/index.js +3 -14
  14. package/dist/components/CircularProgress/index.js.map +1 -1
  15. package/dist/components/ConnectAptosWalletButton/ConnectAptosWalletButton.d.ts +1 -1
  16. package/dist/components/ConnectAptosWalletButton/ConnectAptosWalletButton.js +2 -7
  17. package/dist/components/ConnectAptosWalletButton/ConnectAptosWalletButton.js.map +1 -1
  18. package/dist/components/ConnectButton/index.d.ts +1 -2
  19. package/dist/components/ConnectButton/index.js +1 -1
  20. package/dist/components/ConnectSolanaWalletButton/ConnectSolanaWalletButton.d.ts +1 -1
  21. package/dist/components/ConnectSolanaWalletButton/ConnectSolanaWalletButton.js +2 -7
  22. package/dist/components/ConnectSolanaWalletButton/ConnectSolanaWalletButton.js.map +1 -1
  23. package/dist/components/ConnectSuiWalletButton/ConnectSuiWalletButton.d.ts +1 -2
  24. package/dist/components/ConnectoToVmBanners/ConnectToAptosBanner.d.ts +1 -1
  25. package/dist/components/ConnectoToVmBanners/ConnectToAptosBanner.js +2 -31
  26. package/dist/components/ConnectoToVmBanners/ConnectToAptosBanner.js.map +1 -1
  27. package/dist/components/ConnectoToVmBanners/ConnectToEvmBanner.d.ts +1 -1
  28. package/dist/components/ConnectoToVmBanners/ConnectToEvmBanner.js +2 -41
  29. package/dist/components/ConnectoToVmBanners/ConnectToEvmBanner.js.map +1 -1
  30. package/dist/components/ConnectoToVmBanners/ConnectToSolanaBanner.d.ts +1 -1
  31. package/dist/components/ConnectoToVmBanners/ConnectToSolanaBanner.js +10 -34
  32. package/dist/components/ConnectoToVmBanners/ConnectToSolanaBanner.js.map +1 -1
  33. package/dist/components/ConnectoToVmBanners/ConnectToSuiBanner.d.ts +1 -1
  34. package/dist/components/ConnectoToVmBanners/ConnectToSuiBanner.js +2 -31
  35. package/dist/components/ConnectoToVmBanners/ConnectToSuiBanner.js.map +1 -1
  36. package/dist/components/CustomClaimModals/AbondModal.d.ts +1 -2
  37. package/dist/components/CustomClaimModals/AbondModal.js +2 -3
  38. package/dist/components/CustomClaimModals/AbondModal.js.map +1 -1
  39. package/dist/components/CustomClaimModals/OabondModal.d.ts +1 -2
  40. package/dist/components/CustomClaimModals/OabondModal.js +2 -3
  41. package/dist/components/CustomClaimModals/OabondModal.js.map +1 -1
  42. package/dist/components/CustomClaimModals/PmusdModal.d.ts +1 -2
  43. package/dist/components/CustomClaimModals/PmusdModal.js +2 -9
  44. package/dist/components/CustomClaimModals/PmusdModal.js.map +1 -1
  45. package/dist/components/CustomClaimModals/PostClaimModal.d.ts +1 -2
  46. package/dist/components/CustomClaimModals/PostClaimModal.js +2 -3
  47. package/dist/components/CustomClaimModals/PostClaimModal.js.map +1 -1
  48. package/dist/components/FavIcons/AddFavToken.d.ts +1 -2
  49. package/dist/components/FavIcons/AddFavToken.js +2 -2
  50. package/dist/components/FavIcons/AddFavToken.js.map +1 -1
  51. package/dist/components/FavIcons/FavFilter.d.ts +1 -2
  52. package/dist/components/FavIcons/FavFilter.js +3 -3
  53. package/dist/components/FavIcons/FavFilter.js.map +1 -1
  54. package/dist/components/LoadingSpinner/index.d.ts +1 -2
  55. package/dist/components/LoadingSpinner/index.js +8 -30
  56. package/dist/components/LoadingSpinner/index.js.map +1 -1
  57. package/dist/components/MenuSelect/MenuSelect.d.ts +1 -2
  58. package/dist/components/MenuSelect/MenuSelect.js +12 -9
  59. package/dist/components/MenuSelect/MenuSelect.js.map +1 -1
  60. package/dist/components/MenuSelect/RecommendationSelector.d.ts +1 -2
  61. package/dist/components/MenuSelect/RecommendationSelector.js +4 -24
  62. package/dist/components/MenuSelect/RecommendationSelector.js.map +1 -1
  63. package/dist/components/NetworkFilter/index.d.ts +1 -2
  64. package/dist/components/NetworkFilter/index.js +9 -47
  65. package/dist/components/NetworkFilter/index.js.map +1 -1
  66. package/dist/components/PlaceholderMonkey/index.d.ts +1 -2
  67. package/dist/components/PlaceholderMonkey/index.js +2 -7
  68. package/dist/components/PlaceholderMonkey/index.js.map +1 -1
  69. package/dist/components/ProgressBar/ProgressBar.js +3 -5
  70. package/dist/components/ProgressBar/ProgressBar.js.map +1 -1
  71. package/dist/components/ProgressBar/ProgressBarWrapper.d.ts +2 -2
  72. package/dist/components/ProgressBar/ProgressBarWrapper.js +4 -4
  73. package/dist/components/ProgressBar/ProgressBarWrapper.js.map +1 -1
  74. package/dist/components/ProgressiveImage/index.d.ts +1 -2
  75. package/dist/components/ProgressiveImage/index.js +3 -21
  76. package/dist/components/ProgressiveImage/index.js.map +1 -1
  77. package/dist/components/SafeHTMLComponent/index.d.ts +1 -2
  78. package/dist/components/SafeHTMLComponent/index.js +1 -1
  79. package/dist/components/SlippageModal/index.d.ts +1 -2
  80. package/dist/components/SlippageModal/index.js +7 -43
  81. package/dist/components/SlippageModal/index.js.map +1 -1
  82. package/dist/components/StepBubble/index.d.ts +1 -2
  83. package/dist/components/StepBubble/index.js +5 -33
  84. package/dist/components/StepBubble/index.js.map +1 -1
  85. package/dist/components/Toast/index.d.ts +1 -2
  86. package/dist/components/Toast/index.js +4 -15
  87. package/dist/components/Toast/index.js.map +1 -1
  88. package/dist/components/TokenInfoAndName/index.d.ts +3 -3
  89. package/dist/components/TokenInfoAndName/index.js +9 -19
  90. package/dist/components/TokenInfoAndName/index.js.map +1 -1
  91. package/dist/components/TokenSelectorModal/TokenRow.d.ts +1 -2
  92. package/dist/components/TokenSelectorModal/TokenRow.js +3 -3
  93. package/dist/components/TokenSelectorModal/TokenRow.js.map +1 -1
  94. package/dist/components/TokenSelectorModal/index.js +2 -14
  95. package/dist/components/TokenSelectorModal/index.js.map +1 -1
  96. package/dist/components/TokenSelectorPanel/index.d.ts +1 -1
  97. package/dist/components/TokenSelectorPanel/index.js +6 -9
  98. package/dist/components/TokenSelectorPanel/index.js.map +1 -1
  99. package/dist/components/Tooltip/ButtonsRow.js +3 -4
  100. package/dist/components/Tooltip/ButtonsRow.js.map +1 -1
  101. package/dist/components/Tooltip/Tooltip.js +4 -4
  102. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  103. package/dist/components/YouTooltip/YouTooltip.d.ts +1 -2
  104. package/dist/components/YouTooltip/YouTooltip.js +2 -24
  105. package/dist/components/YouTooltip/YouTooltip.js.map +1 -1
  106. package/dist/components/uikit-sdk/Button/Button.d.ts +1 -2
  107. package/dist/components/uikit-sdk/Button/Button.js +34 -40
  108. package/dist/components/uikit-sdk/Button/Button.js.map +1 -1
  109. package/dist/components/uikit-sdk/Button/IconButton.js +17 -15
  110. package/dist/components/uikit-sdk/Button/IconButton.js.map +1 -1
  111. package/dist/components/uikit-sdk/Button/types.d.ts +1 -2
  112. package/dist/components/uikit-sdk/Button/types.js +6 -6
  113. package/dist/components/uikit-sdk/Button/types.js.map +1 -1
  114. package/dist/components/uikit-sdk/Checkbox/index.d.ts +1 -1
  115. package/dist/components/uikit-sdk/Checkbox/index.js +11 -8
  116. package/dist/components/uikit-sdk/Checkbox/index.js.map +1 -1
  117. package/dist/components/uikit-sdk/Checkbox/types.d.ts +2 -2
  118. package/dist/components/uikit-sdk/Checkbox/types.js.map +1 -1
  119. package/dist/components/uikit-sdk/Flex/index.d.ts +9 -3
  120. package/dist/components/uikit-sdk/Flex/index.js +8 -4
  121. package/dist/components/uikit-sdk/Flex/index.js.map +1 -1
  122. package/dist/components/uikit-sdk/Input/Input.d.ts +3 -2
  123. package/dist/components/uikit-sdk/Input/Input.js +7 -33
  124. package/dist/components/uikit-sdk/Input/Input.js.map +1 -1
  125. package/dist/components/uikit-sdk/LoadingDots/index.d.ts +1 -1
  126. package/dist/components/uikit-sdk/LoadingDots/index.js +2 -21
  127. package/dist/components/uikit-sdk/LoadingDots/index.js.map +1 -1
  128. package/dist/components/uikit-sdk/Modal/ModalHeader.js +5 -5
  129. package/dist/components/uikit-sdk/Modal/ModalHeader.js.map +1 -1
  130. package/dist/components/uikit-sdk/Modal/index.d.ts +1 -2
  131. package/dist/components/uikit-sdk/Modal/index.js +11 -6
  132. package/dist/components/uikit-sdk/Modal/index.js.map +1 -1
  133. package/dist/components/uikit-sdk/Modal/types.d.ts +3 -3
  134. package/dist/components/uikit-sdk/Select/Select.d.ts +1 -2
  135. package/dist/components/uikit-sdk/Select/Select.js +19 -17
  136. package/dist/components/uikit-sdk/Select/Select.js.map +1 -1
  137. package/dist/components/uikit-sdk/Select/SelectItem.d.ts +1 -1
  138. package/dist/components/uikit-sdk/Select/SelectItem.js +26 -15
  139. package/dist/components/uikit-sdk/Select/SelectItem.js.map +1 -1
  140. package/dist/components/uikit-sdk/Select/types.d.ts +1 -0
  141. package/dist/components/uikit-sdk/Select/types.js +9 -9
  142. package/dist/components/uikit-sdk/Select/types.js.map +1 -1
  143. package/dist/components/uikit-sdk/Skeleton/index.d.ts +1 -2
  144. package/dist/components/uikit-sdk/Skeleton/index.js +7 -8
  145. package/dist/components/uikit-sdk/Skeleton/index.js.map +1 -1
  146. package/dist/components/uikit-sdk/Skeleton/types.d.ts +2 -2
  147. package/dist/components/uikit-sdk/Skeleton/types.js.map +1 -1
  148. package/dist/components/uikit-sdk/Spinner/index.d.ts +11 -0
  149. package/dist/components/uikit-sdk/Spinner/index.js +9 -0
  150. package/dist/components/uikit-sdk/Spinner/index.js.map +1 -0
  151. package/dist/components/uikit-sdk/Svg/Icons/AllChains.js +1 -1
  152. package/dist/components/uikit-sdk/Svg/Icons/Arrow.js +2 -2
  153. package/dist/components/uikit-sdk/Svg/Icons/Arrow.js.map +1 -1
  154. package/dist/components/uikit-sdk/Svg/Icons/BitTensor.js +1 -1
  155. package/dist/components/uikit-sdk/Svg/Icons/Caret.js +2 -2
  156. package/dist/components/uikit-sdk/Svg/Icons/Caret.js.map +1 -1
  157. package/dist/components/uikit-sdk/Svg/Icons/Close.js +2 -2
  158. package/dist/components/uikit-sdk/Svg/Icons/Close.js.map +1 -1
  159. package/dist/components/uikit-sdk/Svg/Icons/Cog.d.ts +1 -1
  160. package/dist/components/uikit-sdk/Svg/Icons/Cog.js +2 -2
  161. package/dist/components/uikit-sdk/Svg/Icons/Cog.js.map +1 -1
  162. package/dist/components/uikit-sdk/Svg/Icons/CoinGecko.js +2 -2
  163. package/dist/components/uikit-sdk/Svg/Icons/CoinGecko.js.map +1 -1
  164. package/dist/components/uikit-sdk/Svg/Icons/DexScreener.js +2 -2
  165. package/dist/components/uikit-sdk/Svg/Icons/DexScreener.js.map +1 -1
  166. package/dist/components/uikit-sdk/Svg/Icons/Discord.js +2 -2
  167. package/dist/components/uikit-sdk/Svg/Icons/Discord.js.map +1 -1
  168. package/dist/components/uikit-sdk/Svg/Icons/Discount.js +2 -2
  169. package/dist/components/uikit-sdk/Svg/Icons/Discount.js.map +1 -1
  170. package/dist/components/uikit-sdk/Svg/Icons/Error.js +2 -2
  171. package/dist/components/uikit-sdk/Svg/Icons/Error.js.map +1 -1
  172. package/dist/components/uikit-sdk/Svg/Icons/Expand.js +2 -2
  173. package/dist/components/uikit-sdk/Svg/Icons/Expand.js.map +1 -1
  174. package/dist/components/uikit-sdk/Svg/Icons/External.js +2 -2
  175. package/dist/components/uikit-sdk/Svg/Icons/External.js.map +1 -1
  176. package/dist/components/uikit-sdk/Svg/Icons/FirePink.js +1 -1
  177. package/dist/components/uikit-sdk/Svg/Icons/GiftBox.js +1 -1
  178. package/dist/components/uikit-sdk/Svg/Icons/GiftBoxPlain.js +1 -1
  179. package/dist/components/uikit-sdk/Svg/Icons/Insight.js +2 -2
  180. package/dist/components/uikit-sdk/Svg/Icons/Insight.js.map +1 -1
  181. package/dist/components/uikit-sdk/Svg/Icons/L1X.js +1 -1
  182. package/dist/components/uikit-sdk/Svg/Icons/LineChart.js +1 -1
  183. package/dist/components/uikit-sdk/Svg/Icons/More.js +2 -2
  184. package/dist/components/uikit-sdk/Svg/Icons/More.js.map +1 -1
  185. package/dist/components/uikit-sdk/Svg/Icons/NewOffer.js +1 -1
  186. package/dist/components/uikit-sdk/Svg/Icons/NewOffer.js.map +1 -1
  187. package/dist/components/uikit-sdk/Svg/Icons/PlaceholderMonkey.d.ts +1 -1
  188. package/dist/components/uikit-sdk/Svg/Icons/PlaceholderMonkey.js +2 -2
  189. package/dist/components/uikit-sdk/Svg/Icons/PlaceholderMonkey.js.map +1 -1
  190. package/dist/components/uikit-sdk/Svg/Icons/Question.js +1 -1
  191. package/dist/components/uikit-sdk/Svg/Icons/QuestionCircle.js +2 -2
  192. package/dist/components/uikit-sdk/Svg/Icons/QuestionCircle.js.map +1 -1
  193. package/dist/components/uikit-sdk/Svg/Icons/Robinhood.js +1 -1
  194. package/dist/components/uikit-sdk/Svg/Icons/Search.js +2 -2
  195. package/dist/components/uikit-sdk/Svg/Icons/Search.js.map +1 -1
  196. package/dist/components/uikit-sdk/Svg/Icons/SellingFast.js +1 -1
  197. package/dist/components/uikit-sdk/Svg/Icons/SellingFast.js.map +1 -1
  198. package/dist/components/uikit-sdk/Svg/Icons/ShortSupply.js +1 -1
  199. package/dist/components/uikit-sdk/Svg/Icons/Sort.js +2 -2
  200. package/dist/components/uikit-sdk/Svg/Icons/Sort.js.map +1 -1
  201. package/dist/components/uikit-sdk/Svg/Icons/Star.js +1 -1
  202. package/dist/components/uikit-sdk/Svg/Icons/StarFilled.js +1 -1
  203. package/dist/components/uikit-sdk/Svg/Icons/Success.js +2 -2
  204. package/dist/components/uikit-sdk/Svg/Icons/Success.js.map +1 -1
  205. package/dist/components/uikit-sdk/Svg/Icons/Tag.js +1 -1
  206. package/dist/components/uikit-sdk/Svg/Icons/Tick.js +2 -2
  207. package/dist/components/uikit-sdk/Svg/Icons/Tick.js.map +1 -1
  208. package/dist/components/uikit-sdk/Svg/Icons/Timer.js +1 -1
  209. package/dist/components/uikit-sdk/Svg/Icons/TurnArrow.js +2 -2
  210. package/dist/components/uikit-sdk/Svg/Icons/TurnArrow.js.map +1 -1
  211. package/dist/components/uikit-sdk/Svg/Icons/Twitter.js +2 -2
  212. package/dist/components/uikit-sdk/Svg/Icons/Twitter.js.map +1 -1
  213. package/dist/components/uikit-sdk/Svg/Icons/URL.js +2 -2
  214. package/dist/components/uikit-sdk/Svg/Icons/URL.js.map +1 -1
  215. package/dist/components/uikit-sdk/Svg/Icons/WhaleActivity.js +1 -1
  216. package/dist/components/uikit-sdk/Svg/Icons/WhaleActivity.js.map +1 -1
  217. package/dist/components/uikit-sdk/Svg/styles.d.ts +5 -2
  218. package/dist/components/uikit-sdk/Svg/styles.js +9 -7
  219. package/dist/components/uikit-sdk/Svg/styles.js.map +1 -1
  220. package/dist/components/uikit-sdk/Svg/tokens/APTOS.js +1 -1
  221. package/dist/components/uikit-sdk/Svg/tokens/ARBITRUM.js +1 -1
  222. package/dist/components/uikit-sdk/Svg/tokens/AVAX.js +1 -1
  223. package/dist/components/uikit-sdk/Svg/tokens/BASE.js +1 -1
  224. package/dist/components/uikit-sdk/Svg/tokens/BERA.js +1 -1
  225. package/dist/components/uikit-sdk/Svg/tokens/BLAST.js +1 -1
  226. package/dist/components/uikit-sdk/Svg/tokens/BNB.js +1 -1
  227. package/dist/components/uikit-sdk/Svg/tokens/CROSSFI.js +1 -1
  228. package/dist/components/uikit-sdk/Svg/tokens/ETH.js +1 -1
  229. package/dist/components/uikit-sdk/Svg/tokens/GraphLinq.js +1 -1
  230. package/dist/components/uikit-sdk/Svg/tokens/HYPEREVM.js +1 -1
  231. package/dist/components/uikit-sdk/Svg/tokens/INEVM.js +1 -1
  232. package/dist/components/uikit-sdk/Svg/tokens/IOTA.js +1 -1
  233. package/dist/components/uikit-sdk/Svg/tokens/KATANA.js +1 -1
  234. package/dist/components/uikit-sdk/Svg/tokens/LIGHTLINK.js +1 -1
  235. package/dist/components/uikit-sdk/Svg/tokens/LINEA.js +1 -1
  236. package/dist/components/uikit-sdk/Svg/tokens/MEGAETH.js +1 -1
  237. package/dist/components/uikit-sdk/Svg/tokens/MONAD.js +1 -1
  238. package/dist/components/uikit-sdk/Svg/tokens/POLYGON.js +1 -1
  239. package/dist/components/uikit-sdk/Svg/tokens/SOL.js +1 -1
  240. package/dist/components/uikit-sdk/Svg/tokens/SONIC.js +1 -1
  241. package/dist/components/uikit-sdk/Svg/tokens/SUI.js +1 -1
  242. package/dist/components/uikit-sdk/Svg/tokens/TLOS.js +1 -1
  243. package/dist/components/uikit-sdk/Svg/tokens/UNICHAIN.js +1 -1
  244. package/dist/components/uikit-sdk/SwiperDots/index.d.ts +1 -2
  245. package/dist/components/uikit-sdk/SwiperDots/index.js +3 -9
  246. package/dist/components/uikit-sdk/SwiperDots/index.js.map +1 -1
  247. package/dist/components/uikit-sdk/TabNav/index.js +3 -34
  248. package/dist/components/uikit-sdk/TabNav/index.js.map +1 -1
  249. package/dist/components/uikit-sdk/Tag/ListTag.d.ts +1 -2
  250. package/dist/components/uikit-sdk/Tag/ListTag.js +13 -16
  251. package/dist/components/uikit-sdk/Tag/ListTag.js.map +1 -1
  252. package/dist/components/uikit-sdk/Text/index.d.ts +1 -2
  253. package/dist/components/uikit-sdk/Text/index.js +29 -8
  254. package/dist/components/uikit-sdk/Text/index.js.map +1 -1
  255. package/dist/components/uikit-sdk/Text/types.d.ts +2 -2
  256. package/dist/components/uikit-sdk/Text/types.js.map +1 -1
  257. package/dist/components/uikit-sdk/Toggle/index.d.ts +1 -2
  258. package/dist/components/uikit-sdk/Toggle/index.js +7 -8
  259. package/dist/components/uikit-sdk/Toggle/index.js.map +1 -1
  260. package/dist/components/uikit-sdk/TokenImage/index.d.ts +1 -2
  261. package/dist/components/uikit-sdk/TokenImage/index.js +3 -45
  262. package/dist/components/uikit-sdk/TokenImage/index.js.map +1 -1
  263. package/dist/components/uikit-sdk/TooltipBubble/index.js +32 -52
  264. package/dist/components/uikit-sdk/TooltipBubble/index.js.map +1 -1
  265. package/dist/components/uikit-sdk/TooltipBubble/types.d.ts +5 -4
  266. package/dist/components/uikit-sdk/TooltipBubble/types.js.map +1 -1
  267. package/dist/config/constants/chains.js +1 -1
  268. package/dist/config/constants/chains.js.map +1 -1
  269. package/dist/contexts/ModalContext.d.ts +1 -1
  270. package/dist/contexts/ModalContext.js +1 -1
  271. package/dist/contexts/Popups.d.ts +1 -1
  272. package/dist/contexts/Popups.js +2 -2
  273. package/dist/contexts/Popups.js.map +1 -1
  274. package/dist/providers/AptosWalletProvider.d.ts +1 -1
  275. package/dist/providers/SolanaWalletProvider.d.ts +1 -1
  276. package/dist/providers/SuiWalletProvider.d.ts +1 -1
  277. package/dist/providers/index.d.ts +2 -13
  278. package/dist/providers/index.js +7 -36
  279. package/dist/providers/index.js.map +1 -1
  280. package/dist/state/useSDKConfig.d.ts +6 -0
  281. package/dist/state/useSDKConfig.js.map +1 -1
  282. package/dist/styles.css +2 -1588
  283. package/dist/utils/campaignStyles.d.ts +5 -5
  284. package/dist/utils/campaignStyles.js.map +1 -1
  285. package/dist/views/Bonds/Bonds.d.ts +1 -2
  286. package/dist/views/Bonds/Bonds.js +2 -11
  287. package/dist/views/Bonds/Bonds.js.map +1 -1
  288. package/dist/views/Bonds/components/BondRows/ActiveBondRows.js +5 -9
  289. package/dist/views/Bonds/components/BondRows/ActiveBondRows.js.map +1 -1
  290. package/dist/views/Bonds/components/BondRows/BondRow.js +13 -12
  291. package/dist/views/Bonds/components/BondRows/BondRow.js.map +1 -1
  292. package/dist/views/Bonds/components/BondRows/ChainTitle.d.ts +1 -2
  293. package/dist/views/Bonds/components/BondRows/ChainTitle.js +5 -13
  294. package/dist/views/Bonds/components/BondRows/ChainTitle.js.map +1 -1
  295. package/dist/views/Bonds/components/BondRows/ModalHandler.d.ts +1 -2
  296. package/dist/views/Bonds/components/BondRows/ModalHandler.js +1 -1
  297. package/dist/views/Bonds/components/BondRows/ModalHandlerPreTGE.d.ts +1 -2
  298. package/dist/views/Bonds/components/BondRows/ModalHandlerPreTGE.js +1 -1
  299. package/dist/views/Bonds/components/BondRows/SoldOutRows.d.ts +1 -2
  300. package/dist/views/Bonds/components/BondRows/SoldOutRows.js +6 -8
  301. package/dist/views/Bonds/components/BondRows/SoldOutRows.js.map +1 -1
  302. package/dist/views/Bonds/components/BondsMenu/BondsMenu.js +4 -10
  303. package/dist/views/Bonds/components/BondsMenu/BondsMenu.js.map +1 -1
  304. package/dist/views/Bonds/components/BonusComponents/BonusComponent.d.ts +1 -2
  305. package/dist/views/Bonds/components/BonusComponents/BonusComponent.js +5 -25
  306. package/dist/views/Bonds/components/BonusComponents/BonusComponent.js.map +1 -1
  307. package/dist/views/Bonds/components/BonusComponents/BonusContainer.d.ts +3 -3
  308. package/dist/views/Bonds/components/BonusComponents/BonusContainer.js +6 -3
  309. package/dist/views/Bonds/components/BonusComponents/BonusContainer.js.map +1 -1
  310. package/dist/views/Bonds/components/BonusComponents/BonusTable.d.ts +1 -2
  311. package/dist/views/Bonds/components/BonusComponents/BonusTable.js +8 -21
  312. package/dist/views/Bonds/components/BonusComponents/BonusTable.js.map +1 -1
  313. package/dist/views/Bonds/components/BuyAgainRow/index.d.ts +1 -2
  314. package/dist/views/Bonds/components/BuyAgainRow/index.js +3 -22
  315. package/dist/views/Bonds/components/BuyAgainRow/index.js.map +1 -1
  316. package/dist/views/Bonds/components/ChainBanner/ChainBanner.d.ts +1 -2
  317. package/dist/views/Bonds/components/ChainBanner/ChainBanner.js +7 -11
  318. package/dist/views/Bonds/components/ChainBanner/ChainBanner.js.map +1 -1
  319. package/dist/views/Bonds/components/CheckURL/index.d.ts +1 -2
  320. package/dist/views/Bonds/components/CheckURL/index.js +1 -1
  321. package/dist/views/Bonds/components/HotBondCards/HotBondCard.d.ts +1 -2
  322. package/dist/views/Bonds/components/HotBondCards/HotBondCard.js +2 -19
  323. package/dist/views/Bonds/components/HotBondCards/HotBondCard.js.map +1 -1
  324. package/dist/views/Bonds/components/HotBondCards/index.d.ts +1 -2
  325. package/dist/views/Bonds/components/HotBondCards/index.js +3 -14
  326. package/dist/views/Bonds/components/HotBondCards/index.js.map +1 -1
  327. package/dist/views/Bonds/components/LoadingSkeleton/LoadingSkeleton.d.ts +1 -2
  328. package/dist/views/Bonds/components/LoadingSkeleton/LoadingSkeleton.js +2 -17
  329. package/dist/views/Bonds/components/LoadingSkeleton/LoadingSkeleton.js.map +1 -1
  330. package/dist/views/Bonds/components/RecommendationCards/SmallRecommendationCard.d.ts +1 -2
  331. package/dist/views/Bonds/components/RecommendationCards/SmallRecommendationCard.js +3 -3
  332. package/dist/views/Bonds/components/RecommendationCards/SmallRecommendationCard.js.map +1 -1
  333. package/dist/views/Bonds/components/RecommendationCards/index.d.ts +1 -2
  334. package/dist/views/Bonds/components/RecommendationCards/index.js +2 -12
  335. package/dist/views/Bonds/components/RecommendationCards/index.js.map +1 -1
  336. package/dist/views/Bonds/index.js +1 -1
  337. package/dist/views/BuyBond/BuyBondModal.js +2 -2
  338. package/dist/views/BuyBond/BuyBondModal.js.map +1 -1
  339. package/dist/views/BuyBond/BuyComponent.js +6 -27
  340. package/dist/views/BuyBond/BuyComponent.js.map +1 -1
  341. package/dist/views/BuyBond/BuyComponentAptos.js +3 -9
  342. package/dist/views/BuyBond/BuyComponentAptos.js.map +1 -1
  343. package/dist/views/BuyBond/BuyComponentPreTGE.d.ts +1 -2
  344. package/dist/views/BuyBond/BuyComponentPreTGE.js +5 -24
  345. package/dist/views/BuyBond/BuyComponentPreTGE.js.map +1 -1
  346. package/dist/views/BuyBond/BuyComponentSolana.js +4 -10
  347. package/dist/views/BuyBond/BuyComponentSolana.js.map +1 -1
  348. package/dist/views/BuyBond/BuyComponentSui.js +3 -9
  349. package/dist/views/BuyBond/BuyComponentSui.js.map +1 -1
  350. package/dist/views/BuyBond/ParticipationSuccessful.d.ts +1 -2
  351. package/dist/views/BuyBond/ParticipationSuccessful.js +8 -26
  352. package/dist/views/BuyBond/ParticipationSuccessful.js.map +1 -1
  353. package/dist/views/BuyBond/components/BondCards/BondCards.d.ts +1 -2
  354. package/dist/views/BuyBond/components/BondCards/BondCards.js +6 -54
  355. package/dist/views/BuyBond/components/BondCards/BondCards.js.map +1 -1
  356. package/dist/views/BuyBond/components/BondCards/BondCardsPreTGE.d.ts +1 -2
  357. package/dist/views/BuyBond/components/BondCards/BondCardsPreTGE.js +3 -56
  358. package/dist/views/BuyBond/components/BondCards/BondCardsPreTGE.js.map +1 -1
  359. package/dist/views/BuyBond/components/BondModalHeader.d.ts +1 -2
  360. package/dist/views/BuyBond/components/BondModalHeader.js +4 -48
  361. package/dist/views/BuyBond/components/BondModalHeader.js.map +1 -1
  362. package/dist/views/BuyBond/components/BondModalMinTierHeader.d.ts +1 -1
  363. package/dist/views/BuyBond/components/BondModalMinTierHeader.js +3 -8
  364. package/dist/views/BuyBond/components/BondModalMinTierHeader.js.map +1 -1
  365. package/dist/views/BuyBond/components/Estimations.d.ts +1 -2
  366. package/dist/views/BuyBond/components/Estimations.js +8 -37
  367. package/dist/views/BuyBond/components/Estimations.js.map +1 -1
  368. package/dist/views/BuyBond/components/ExpandedViewButton.d.ts +1 -2
  369. package/dist/views/BuyBond/components/ExpandedViewButton.js +2 -15
  370. package/dist/views/BuyBond/components/ExpandedViewButton.js.map +1 -1
  371. package/dist/views/BuyBond/components/GetUpToComponent/GetUpToComponent.js +3 -30
  372. package/dist/views/BuyBond/components/GetUpToComponent/GetUpToComponent.js.map +1 -1
  373. package/dist/views/BuyBond/components/NewRateModal/NewRateModal.d.ts +1 -2
  374. package/dist/views/BuyBond/components/NewRateModal/NewRateModal.js +2 -14
  375. package/dist/views/BuyBond/components/NewRateModal/NewRateModal.js.map +1 -1
  376. package/dist/views/BuyBond/components/NoBonusModal/NoBonusModal.js +2 -2
  377. package/dist/views/BuyBond/components/NoBonusModal/NoBonusModal.js.map +1 -1
  378. package/dist/views/BuyBond/components/PointsLeftForNextTier/PointsLeftForNextTier.js +11 -86
  379. package/dist/views/BuyBond/components/PointsLeftForNextTier/PointsLeftForNextTier.js.map +1 -1
  380. package/dist/views/BuyBond/components/ProjectDescription.d.ts +1 -2
  381. package/dist/views/BuyBond/components/ProjectDescription.js +2 -15
  382. package/dist/views/BuyBond/components/ProjectDescription.js.map +1 -1
  383. package/dist/views/BuyBond/index.js +1 -1
  384. package/dist/views/FullBondsView/FullBondsView.d.ts +1 -2
  385. package/dist/views/FullBondsView/FullBondsView.js +2 -2
  386. package/dist/views/FullBondsView/FullBondsView.js.map +1 -1
  387. package/dist/views/FullBondsView/index.js +1 -1
  388. package/dist/views/LifiModal/LifiModal.d.ts +1 -2
  389. package/dist/views/LifiModal/LifiModal.js +2 -2
  390. package/dist/views/LifiModal/LifiModal.js.map +1 -1
  391. package/dist/views/ProjectView/ProjectView.js +2 -15
  392. package/dist/views/ProjectView/ProjectView.js.map +1 -1
  393. package/dist/views/ProjectView/components/BondLeaderboard/components/SalesTable.d.ts +1 -2
  394. package/dist/views/ProjectView/components/BondLeaderboard/components/SalesTable.js +3 -22
  395. package/dist/views/ProjectView/components/BondLeaderboard/components/SalesTable.js.map +1 -1
  396. package/dist/views/ProjectView/components/BondLeaderboard/components/TopSaleCard.d.ts +1 -2
  397. package/dist/views/ProjectView/components/BondLeaderboard/components/TopSaleCard.js +7 -19
  398. package/dist/views/ProjectView/components/BondLeaderboard/components/TopSaleCard.js.map +1 -1
  399. package/dist/views/ProjectView/components/BondLeaderboard/components/TopThreeSalesCards.d.ts +1 -2
  400. package/dist/views/ProjectView/components/BondLeaderboard/components/TopThreeSalesCards.js +2 -2
  401. package/dist/views/ProjectView/components/BondLeaderboard/components/TopThreeSalesCards.js.map +1 -1
  402. package/dist/views/ProjectView/components/BondLeaderboard/index.d.ts +1 -2
  403. package/dist/views/ProjectView/components/BondLeaderboard/index.js +2 -14
  404. package/dist/views/ProjectView/components/BondLeaderboard/index.js.map +1 -1
  405. package/dist/views/ProjectView/components/BondStats/LineChart.js +4 -10
  406. package/dist/views/ProjectView/components/BondStats/LineChart.js.map +1 -1
  407. package/dist/views/ProjectView/components/BondStats/index.d.ts +1 -2
  408. package/dist/views/ProjectView/components/BondStats/index.js +2 -4
  409. package/dist/views/ProjectView/components/BondStats/index.js.map +1 -1
  410. package/dist/views/ProjectView/components/NavPanel/index.d.ts +1 -2
  411. package/dist/views/ProjectView/components/NavPanel/index.js +2 -10
  412. package/dist/views/ProjectView/components/NavPanel/index.js.map +1 -1
  413. package/dist/views/ProjectView/components/PriceChart/components/CandleStickChart.d.ts +1 -2
  414. package/dist/views/ProjectView/components/PriceChart/components/CandleStickChart.js +1 -1
  415. package/dist/views/ProjectView/components/PriceChart/components/LineChart.d.ts +1 -2
  416. package/dist/views/ProjectView/components/PriceChart/components/LineChart.js +1 -1
  417. package/dist/views/ProjectView/components/PriceChart/index.d.ts +1 -2
  418. package/dist/views/ProjectView/components/PriceChart/index.js +4 -3
  419. package/dist/views/ProjectView/components/PriceChart/index.js.map +1 -1
  420. package/dist/views/ProjectView/components/ProjectInfo/index.d.ts +1 -2
  421. package/dist/views/ProjectView/components/ProjectInfo/index.js +2 -3
  422. package/dist/views/ProjectView/components/ProjectInfo/index.js.map +1 -1
  423. package/dist/views/ProjectView/components/RecommendationCards/index.d.ts +1 -2
  424. package/dist/views/ProjectView/components/RecommendationCards/index.js +2 -16
  425. package/dist/views/ProjectView/components/RecommendationCards/index.js.map +1 -1
  426. package/dist/views/ProjectView/index.js +1 -1
  427. package/dist/views/SingleBond/SingleBond.js +4 -10
  428. package/dist/views/SingleBond/SingleBond.js.map +1 -1
  429. package/dist/views/SingleBond/SoldOutBuyBondPlaceholder.js +5 -28
  430. package/dist/views/SingleBond/SoldOutBuyBondPlaceholder.js.map +1 -1
  431. package/dist/views/SingleBond/index.js +1 -1
  432. package/dist/views/TransactionModal/TransactionModal.d.ts +1 -2
  433. package/dist/views/TransactionModal/TransactionModal.js +13 -40
  434. package/dist/views/TransactionModal/TransactionModal.js.map +1 -1
  435. package/dist/views/YourBonds/YourBonds.d.ts +1 -2
  436. package/dist/views/YourBonds/YourBonds.js +5 -9
  437. package/dist/views/YourBonds/YourBonds.js.map +1 -1
  438. package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.d.ts +1 -2
  439. package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.js +5 -24
  440. package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.js.map +1 -1
  441. package/dist/views/YourBonds/components/ClaimAll/index.d.ts +1 -2
  442. package/dist/views/YourBonds/components/ClaimAll/index.js +2 -10
  443. package/dist/views/YourBonds/components/ClaimAll/index.js.map +1 -1
  444. package/dist/views/YourBonds/components/ProfitCard/ProfitCard.d.ts +1 -2
  445. package/dist/views/YourBonds/components/ProfitCard/ProfitCard.js +3 -15
  446. package/dist/views/YourBonds/components/ProfitCard/ProfitCard.js.map +1 -1
  447. package/dist/views/YourBonds/components/UserBondRow/PreTGEActions.d.ts +1 -2
  448. package/dist/views/YourBonds/components/UserBondRow/PreTGEActions.js +2 -6
  449. package/dist/views/YourBonds/components/UserBondRow/PreTGEActions.js.map +1 -1
  450. package/dist/views/YourBonds/components/UserBondRow/UserBondRow.d.ts +1 -2
  451. package/dist/views/YourBonds/components/UserBondRow/UserBondRow.js +5 -8
  452. package/dist/views/YourBonds/components/UserBondRow/UserBondRow.js.map +1 -1
  453. package/dist/views/YourBonds/components/UserBondRow/UserBondRowAptos.d.ts +1 -2
  454. package/dist/views/YourBonds/components/UserBondRow/UserBondRowAptos.js +4 -5
  455. package/dist/views/YourBonds/components/UserBondRow/UserBondRowAptos.js.map +1 -1
  456. package/dist/views/YourBonds/components/UserBondRow/UserBondRowPreTGE.d.ts +1 -2
  457. package/dist/views/YourBonds/components/UserBondRow/UserBondRowPreTGE.js +3 -5
  458. package/dist/views/YourBonds/components/UserBondRow/UserBondRowPreTGE.js.map +1 -1
  459. package/dist/views/YourBonds/components/UserBondRow/UserBondRowSolana.d.ts +1 -2
  460. package/dist/views/YourBonds/components/UserBondRow/UserBondRowSolana.js +4 -7
  461. package/dist/views/YourBonds/components/UserBondRow/UserBondRowSolana.js.map +1 -1
  462. package/dist/views/YourBonds/components/UserBondRow/UserBondRowSui.d.ts +1 -2
  463. package/dist/views/YourBonds/components/UserBondRow/UserBondRowSui.js +4 -5
  464. package/dist/views/YourBonds/components/UserBondRow/UserBondRowSui.js.map +1 -1
  465. package/dist/views/YourBonds/components/UserBondRow/UserBondRowYield.d.ts +1 -2
  466. package/dist/views/YourBonds/components/UserBondRow/UserBondRowYield.js +3 -10
  467. package/dist/views/YourBonds/components/UserBondRow/UserBondRowYield.js.map +1 -1
  468. package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.d.ts +1 -2
  469. package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.js +3 -3
  470. package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.js.map +1 -1
  471. package/dist/views/YourBonds/index.js +1 -1
  472. package/dist/views/YourBondsModal/YourBondsModal.d.ts +1 -2
  473. package/dist/views/YourBondsModal/YourBondsModal.js +4 -95
  474. package/dist/views/YourBondsModal/YourBondsModal.js.map +1 -1
  475. package/dist/views/YourBondsModal/components/Actions/Actions.d.ts +1 -2
  476. package/dist/views/YourBondsModal/components/Actions/Actions.js +3 -3
  477. package/dist/views/YourBondsModal/components/Actions/Actions.js.map +1 -1
  478. package/dist/views/YourBondsModal/components/Actions/ActionsAptos.d.ts +1 -2
  479. package/dist/views/YourBondsModal/components/Actions/ActionsAptos.js +3 -3
  480. package/dist/views/YourBondsModal/components/Actions/ActionsAptos.js.map +1 -1
  481. package/dist/views/YourBondsModal/components/Actions/ActionsSolana.d.ts +1 -2
  482. package/dist/views/YourBondsModal/components/Actions/ActionsSolana.js +3 -3
  483. package/dist/views/YourBondsModal/components/Actions/ActionsSolana.js.map +1 -1
  484. package/dist/views/YourBondsModal/components/Actions/ActionsSui.d.ts +1 -2
  485. package/dist/views/YourBondsModal/components/Actions/ActionsSui.js +3 -3
  486. package/dist/views/YourBondsModal/components/Actions/ActionsSui.js.map +1 -1
  487. package/dist/views/YourBondsModal/components/LinkShare/LinkShare.d.ts +1 -1
  488. package/dist/views/YourBondsModal/components/LinkShare/LinkShare.js +3 -16
  489. package/dist/views/YourBondsModal/components/LinkShare/LinkShare.js.map +1 -1
  490. package/dist/views/YourBondsModal/components/LinkShare/templateImageShare.js +1 -2
  491. package/dist/views/YourBondsModal/components/LinkShare/templateImageShare.js.map +1 -1
  492. package/dist/views/YourBondsModal/components/NFTImage/NFTImage.d.ts +1 -2
  493. package/dist/views/YourBondsModal/components/NFTImage/NFTImage.js +8 -86
  494. package/dist/views/YourBondsModal/components/NFTImage/NFTImage.js.map +1 -1
  495. package/dist/views/YourBondsModal/components/Recommendations/CardRecommendation.d.ts +1 -1
  496. package/dist/views/YourBondsModal/components/Recommendations/CardRecommendation.js +2 -15
  497. package/dist/views/YourBondsModal/components/Recommendations/CardRecommendation.js.map +1 -1
  498. package/dist/views/YourBondsModal/components/Recommendations/RecSkeleton.d.ts +1 -2
  499. package/dist/views/YourBondsModal/components/Recommendations/RecSkeleton.js +2 -12
  500. package/dist/views/YourBondsModal/components/Recommendations/RecSkeleton.js.map +1 -1
  501. package/dist/views/YourBondsModal/components/Recommendations/Recommendations.d.ts +1 -2
  502. package/dist/views/YourBondsModal/components/Recommendations/Recommendations.js +2 -6
  503. package/dist/views/YourBondsModal/components/Recommendations/Recommendations.js.map +1 -1
  504. package/dist/views/YourBondsModal/components/TransferBondModal/TransferAction.d.ts +1 -2
  505. package/dist/views/YourBondsModal/components/TransferBondModal/TransferAction.js +1 -1
  506. package/dist/views/YourBondsModal/components/TransferBondModal/TransferActionAptos.d.ts +1 -2
  507. package/dist/views/YourBondsModal/components/TransferBondModal/TransferActionAptos.js +2 -2
  508. package/dist/views/YourBondsModal/components/TransferBondModal/TransferActionAptos.js.map +1 -1
  509. package/dist/views/YourBondsModal/components/TransferBondModal/TransferActionSolana.d.ts +1 -1
  510. package/dist/views/YourBondsModal/components/TransferBondModal/TransferActionSolana.js +1 -1
  511. package/dist/views/YourBondsModal/components/TransferBondModal/TransferActionSui.d.ts +1 -2
  512. package/dist/views/YourBondsModal/components/TransferBondModal/TransferActionSui.js +1 -1
  513. package/dist/views/YourBondsModal/components/TransferBondModal/index.js +3 -3
  514. package/dist/views/YourBondsModal/components/TransferBondModal/index.js.map +1 -1
  515. package/dist/views/YourBondsModal/components/YourBondModalHeader/YourBondModalHeader.d.ts +1 -2
  516. package/dist/views/YourBondsModal/components/YourBondModalHeader/YourBondModalHeader.js +2 -24
  517. package/dist/views/YourBondsModal/components/YourBondModalHeader/YourBondModalHeader.js.map +1 -1
  518. package/dist/views/YourBondsModalYield/YourBondsModalYield.d.ts +1 -2
  519. package/dist/views/YourBondsModalYield/YourBondsModalYield.js +3 -73
  520. package/dist/views/YourBondsModalYield/YourBondsModalYield.js.map +1 -1
  521. package/dist/views/YourBondsModalYield/components/UnstakeModalYield/UnstakeModalYield.d.ts +1 -2
  522. package/dist/views/YourBondsModalYield/components/UnstakeModalYield/UnstakeModalYield.js +2 -7
  523. package/dist/views/YourBondsModalYield/components/UnstakeModalYield/UnstakeModalYield.js.map +1 -1
  524. package/dist/views/YourBondsModalYield/components/YourBondModalHeader/YourBondModalHeader.d.ts +1 -2
  525. package/dist/views/YourBondsModalYield/components/YourBondModalHeader/YourBondModalHeader.js +2 -19
  526. package/dist/views/YourBondsModalYield/components/YourBondModalHeader/YourBondModalHeader.js.map +1 -1
  527. package/package.json +7 -8
  528. package/dist/components/Carousel/styles.d.ts +0 -35
  529. package/dist/components/Carousel/styles.js +0 -40
  530. package/dist/components/Carousel/styles.js.map +0 -1
  531. package/dist/components/ChainOptionList/styles.d.ts +0 -2
  532. package/dist/components/ChainOptionList/styles.js +0 -54
  533. package/dist/components/ChainOptionList/styles.js.map +0 -1
  534. package/dist/components/ProgressBar/styles.d.ts +0 -2
  535. package/dist/components/ProgressBar/styles.js +0 -15
  536. package/dist/components/ProgressBar/styles.js.map +0 -1
  537. package/dist/components/Toast/styles.d.ts +0 -3
  538. package/dist/components/Toast/styles.js +0 -30
  539. package/dist/components/Toast/styles.js.map +0 -1
  540. package/dist/components/Tooltip/styles.d.ts +0 -2
  541. package/dist/components/Tooltip/styles.js +0 -32
  542. package/dist/components/Tooltip/styles.js.map +0 -1
  543. package/dist/components/uikit-sdk/Button/styles.d.ts +0 -3
  544. package/dist/components/uikit-sdk/Button/styles.js +0 -31
  545. package/dist/components/uikit-sdk/Button/styles.js.map +0 -1
  546. package/dist/components/uikit-sdk/Modal/styles.d.ts +0 -3
  547. package/dist/components/uikit-sdk/Modal/styles.js +0 -47
  548. package/dist/components/uikit-sdk/Modal/styles.js.map +0 -1
  549. package/dist/components/uikit-sdk/Select/styles.d.ts +0 -4
  550. package/dist/components/uikit-sdk/Select/styles.js +0 -50
  551. package/dist/components/uikit-sdk/Select/styles.js.map +0 -1
  552. package/dist/components/uikit-sdk/Skeleton/styles.d.ts +0 -3
  553. package/dist/components/uikit-sdk/Skeleton/styles.js +0 -43
  554. package/dist/components/uikit-sdk/Skeleton/styles.js.map +0 -1
  555. package/dist/components/uikit-sdk/Toggle/styles.d.ts +0 -3
  556. package/dist/components/uikit-sdk/Toggle/styles.js +0 -22
  557. package/dist/components/uikit-sdk/Toggle/styles.js.map +0 -1
  558. package/dist/components/uikit-sdk/TooltipBubble/styles.d.ts +0 -4
  559. package/dist/components/uikit-sdk/TooltipBubble/styles.js +0 -108
  560. package/dist/components/uikit-sdk/TooltipBubble/styles.js.map +0 -1
  561. package/dist/theme/base.d.ts +0 -109
  562. package/dist/theme/base.js +0 -125
  563. package/dist/theme/base.js.map +0 -1
  564. package/dist/theme/components.d.ts +0 -411
  565. package/dist/theme/components.js +0 -365
  566. package/dist/theme/components.js.map +0 -1
  567. package/dist/theme/index.d.ts +0 -2
  568. package/dist/theme/index.js +0 -12
  569. package/dist/theme/index.js.map +0 -1
  570. package/dist/views/Bonds/components/HotBondCards/styles.d.ts +0 -35
  571. package/dist/views/Bonds/components/HotBondCards/styles.js +0 -38
  572. package/dist/views/Bonds/components/HotBondCards/styles.js.map +0 -1
  573. package/dist/views/Bonds/components/RecommendationCards/styles.d.ts +0 -2
  574. package/dist/views/Bonds/components/RecommendationCards/styles.js +0 -24
  575. package/dist/views/Bonds/components/RecommendationCards/styles.js.map +0 -1
  576. package/dist/views/BuyBond/styles.d.ts +0 -2
  577. package/dist/views/BuyBond/styles.js +0 -33
  578. package/dist/views/BuyBond/styles.js.map +0 -1
  579. package/dist/views/ProjectView/components/BondLeaderboard/components/styles.d.ts +0 -2
  580. package/dist/views/ProjectView/components/BondLeaderboard/components/styles.js +0 -51
  581. package/dist/views/ProjectView/components/BondLeaderboard/components/styles.js.map +0 -1
  582. package/dist/views/ProjectView/components/BondStats/styles.d.ts +0 -2
  583. package/dist/views/ProjectView/components/BondStats/styles.js +0 -49
  584. package/dist/views/ProjectView/components/BondStats/styles.js.map +0 -1
  585. package/dist/views/ProjectView/components/PriceChart/styles.d.ts +0 -2
  586. package/dist/views/ProjectView/components/PriceChart/styles.js +0 -44
  587. package/dist/views/ProjectView/components/PriceChart/styles.js.map +0 -1
  588. package/dist/views/ProjectView/components/ProjectInfo/styles.d.ts +0 -2
  589. package/dist/views/ProjectView/components/ProjectInfo/styles.js +0 -21
  590. package/dist/views/ProjectView/components/ProjectInfo/styles.js.map +0 -1
  591. package/dist/views/ProjectView/styles.d.ts +0 -2
  592. package/dist/views/ProjectView/styles.js +0 -10
  593. package/dist/views/ProjectView/styles.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"BuyComponentPreTGE.js","sources":["../../../src/views/BuyBond/BuyComponentPreTGE.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { styles } from './styles'\nimport { getBalanceNumber } from '../../utils/getBalanceNumber'\nimport { mulDivRound, parseUnits } from '../../utils/fixedPoint'\nimport TokenSelectorPanel from '../../components/TokenSelectorPanel'\nimport useCurrencyBalance from '../../state/balance/useCurrencyBalance'\nimport { useWriteContract } from 'wagmi'\nimport TokenImage from '../../components/uikit-sdk/TokenImage'\nimport ModalHeader from '../../components/uikit-sdk/Modal/ModalHeader'\nimport ProjectDescription from '../BuyBond/components/ProjectDescription'\nimport { TooltipText } from '../../config/constants/tooltips'\nimport { formatNumberSI } from '../../utils/formatNumber'\nimport BondCardsPreTGE from './components/BondCards/BondCardsPreTGE'\nimport useBondsData from '../../state/bonds/useBondsData'\nimport useModal from '../../hooks/useModal'\nimport TransactionModal from '../TransactionModal/TransactionModal'\nimport { useApproval } from '../../state/allowance/useAllowance'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport launchBondsABI_V2_2_0 from '../../config/abi/launchBond_v2_4_1.json'\nimport ConnectButton from '../../components/ConnectButton'\nimport track from '../../utils/track'\nimport useEVMAccount from '../../hooks/accounts/useEVMAccount'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport Modal from '../../components/uikit-sdk/Modal'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport Text from '../../components/uikit-sdk/Text'\nimport ListTag from '../../components/uikit-sdk/Tag/ListTag'\nimport TooltipBubble from '../../components/uikit-sdk/TooltipBubble'\nimport Button from '../../components/uikit-sdk/Button/Button'\nimport { getTimePeriods } from '../../utils/getTimePeriods'\nimport QuestionCircle from '../../components/uikit-sdk/Svg/Icons/QuestionCircle'\n\nconst BuyComponentPreTGE = ({\n bondAddress,\n bondChain,\n onDismiss,\n handlePurchasedBond,\n}: {\n bondAddress: string\n bondChain: number\n onDismiss?: () => void\n handlePurchasedBond: (hash: string, inputAmount: string) => void\n}) => {\n const SDKConfig = useSDKConfig()\n const { data: preTGEBonds } = useBondsData()\n const bond = preTGEBonds?.find(\n (bond) =>\n bond.contractAddress?.[bond.chainId]?.toLowerCase() === bondAddress.toLowerCase() && bond.chainId === bondChain,\n )!\n // Hooks\n const { address } = useEVMAccount()\n const { data: principalTokenBalance } = useCurrencyBalance(bond.lpToken, address as string, bond.chainId)\n // Local state\n const [inputValue, setInputValue] = useState<string>('')\n\n // Display Values\n const raiseGoal = getBalanceNumber(bond?.totalRaise ?? '0', 18)\n const totalPrincipalBilled = getBalanceNumber(bond?.totalPrincipalBilled ?? '0', 18)\n const percentageSold = (totalPrincipalBilled * 100) / raiseGoal\n const tgePrice = bond?.tgePrice ?? 0\n const initPrice = bond?.initPrice ?? 0\n\n const inputValueToDisplay = parseFloat(inputValue).toFixed(2)\n const inputValueToDisplayUSD = parseFloat(inputValueToDisplay) * parseFloat(bond?.principalTokenPrice ?? '0')\n const youGet = parseFloat(inputValue) / initPrice\n const youGetUSD = youGet * tgePrice\n const bonusUSD = youGetUSD - inputValueToDisplayUSD\n\n const apr = bond.yieldData?.apr ?? 0\n const aprUSD = inputValueToDisplayUSD * (apr / 100)\n\n const handleClose = () => {\n if (typeof window !== 'undefined') {\n window.history.pushState({}, '', `/bonds`)\n }\n onDismiss?.()\n }\n\n const [loading, setLoading] = useState<boolean>(false)\n const [buyTxHash, setHash] = useState<string>('')\n // Approve logic\n const [approvalState, approveCallback] = useApproval(\n inputValue,\n bond.lpToken,\n bond?.contractAddress[bond.chainId] as `0x${string}`,\n address as string,\n bond.chainId as ChainId,\n )\n const handleApprove = async () => {\n return approveCallback().then(() => {\n track({\n event: 'approveBondClick',\n chain: bondChain,\n data: {\n cat: bond?.billType,\n bond: bond?.earnToken.symbol,\n },\n })\n })\n }\n const { writeContractAsync } = useWriteContract()\n const onBuyBill = async () => {\n setLoading(true)\n const amount = parseUnits(inputValue, bond?.lpToken?.decimals?.[bond?.chainId] ?? 18).toString()\n const maxPrice = mulDivRound(BigInt(bond?.trueBondPrices?.[0].trueBondPrice ?? '0'), 102n, 100n, 'halfUp').toString()\n const args = [amount, maxPrice, address]\n\n await writeContractAsync({\n address: bond?.contractAddress?.[bond.chainId] as `0x${string}`,\n abi: launchBondsABI_V2_2_0,\n functionName: 'deposit',\n args: args,\n chain: bond.chainId as any,\n account: address,\n })\n .then((hash) => {\n setHash(hash)\n handlePurchasedBond(hash, inputValue)\n })\n .finally(() => {\n setLoading(false)\n })\n }\n\n const [openTxModal] = useModal(\n <TransactionModal\n txChain={bondChain}\n approvalState={approvalState}\n approveCallback={handleApprove}\n loadingTx={loading}\n txCallback={onBuyBill}\n bondData={bond!}\n inputToken={bond.lpToken}\n inputValue={inputValue}\n depositAmount={inputValue}\n buyTxHash={buyTxHash}\n rateChanged={false}\n />,\n false,\n true,\n 'transactionModal',\n )\n\n const { data: currencyBalanceString } = useCurrencyBalance(bond.lpToken, address as string, bond.chainId)\n const exceedsBalance = parseFloat(inputValue) > parseFloat(currencyBalanceString ?? '0')\n const saleStartTime = (bond?.initTime?.[bond.chainId] ?? 0) * 1000\n const saleFinishTime = (bond?.finishTime ?? 0) * 1000\n const now = new Date().getTime()\n const saleHasStarted = now > saleStartTime\n const saleHasFinished = now > saleFinishTime || bond.finalized\n\n const error = SDKConfig.blockSales\n ? 'Complete KYC to Buy'\n : !saleHasStarted\n ? `Sale hasn't started`\n : saleHasFinished\n ? 'Sale Finished'\n : exceedsBalance\n ? 'Exceeds balance'\n : percentageSold > 99.9\n ? 'Soldout'\n : !inputValue || parseFloat(inputValue) === 0\n ? 'Insert amount'\n : !bond\n ? 'no bond'\n : null\n\n return (\n <Modal onDismiss={handleClose} sx={{ width: '740px' }}>\n <ModalHeader onDismiss={handleClose} hideDivider />\n <Flex sx={styles.buyContainer}>\n <Flex sx={styles.cardContainer}>\n <Flex sx={{ width: '100%', justifyContent: 'space-between' }}>\n <Flex>\n <Flex>\n <Flex className=\"title-container bondicon\">\n <TokenImage\n symbol={bond.underlyingEarnToken?.symbol || bond.earnToken.symbol}\n size={50}\n chain={bond.chainId}\n />\n </Flex>\n <Flex className=\"title-container bondname\">\n {bond.underlyingEarnToken?.symbol || bond.earnToken.symbol}\n <ListTag text={bond?.tags?.[0]} />\n </Flex>\n </Flex>\n {!bond.yieldBond && (\n <Flex sx={{ flexDirection: 'column', ml: '15px' }}>\n <Flex className=\"price-container price\">${bond.tgePrice}</Flex>\n <Flex sx={{ fontSize: '24px', fontWeight: 700 }}>${bond.initPrice}</Flex>\n </Flex>\n )}\n </Flex>\n </Flex>\n <ProjectDescription description={bond.shortDescription} isProjectView />\n <BondCardsPreTGE bond={bond} />\n <Flex sx={{ ...styles.infoRowsContainer, mt: '10px' }}>\n <Flex sx={styles.infoRow}>\n <Text sx={styles.infoTitle}>You Spend:</Text>\n <Text sx={styles.infoData}>\n {isNaN(parseFloat(inputValueToDisplay)) ? 0 : inputValueToDisplay} {bond?.lpToken.symbol} = $\n {isNaN(inputValueToDisplayUSD) ? '0' : inputValueToDisplayUSD.toFixed(2)}\n </Text>\n </Flex>\n {bond.yieldBond ? (\n <Flex sx={styles.infoRow}>\n <Flex sx={{ ...styles.infoTitle, alignItems: 'center' }}>\n Yield Bonus:\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Flex>\n This is the duration over which the bonus yield will be distributed while your initial tokens\n remain staked.\n </Flex>\n }\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, 0%)\"\n >\n <Flex className=\"row-container premium-icon\">\n <QuestionCircle width=\"12px\" />\n </Flex>\n </TooltipBubble>\n </Flex>\n <Text sx={{ ...styles.infoData, color: 'success' }}>${isNaN(aprUSD) ? '0' : aprUSD.toFixed(2)}</Text>\n </Flex>\n ) : (\n <Flex sx={styles.infoRow}>\n <Flex sx={{ ...styles.infoTitle, alignItems: 'center' }}>\n Bonus:\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={<Flex>{TooltipText.Premium}</Flex>}\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, 0%)\"\n >\n <Flex className=\"row-container premium-icon\">\n <QuestionCircle width=\"12px\" />\n </Flex>\n </TooltipBubble>\n </Flex>\n <Text sx={{ ...styles.infoData, color: 'success' }}>\n ${isNaN(bonusUSD) ? '0' : bonusUSD.toFixed(2)}\n </Text>\n </Flex>\n )}\n\n <Flex sx={styles.infoRow}>\n <Text sx={styles.infoTitle}>\n You Get (over{' '}\n {\n getTimePeriods(\n (bond?.yieldData?.rewardDistributionEnd ?? 0) - parseInt(bond.startVestingTimestamp ?? '0'),\n true,\n ).days\n }{' '}\n days):\n </Text>\n {bond.yieldBond ? (\n <Flex sx={{ ...styles.infoData, alignItems: 'center', gap: '5px' }}>\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Flex sx={{ width: '100%', flexDirection: 'column' }}>\n This is the expected total return by the end of the pool duration, including the initial tokens.\n <Flex sx={{ mt: '10px', mb: '5px' }}>Breakdown</Flex>\n <Flex sx={{ width: '100%', justifyContent: 'space-between' }}>\n <Flex>Initial capital:</Flex>\n <Flex>\n ${formatNumberSI(inputValueToDisplayUSD)} in {bond.underlyingEarnToken?.symbol}\n </Flex>\n </Flex>\n <Flex sx={{ width: '100%', justifyContent: 'space-between' }}>\n <Flex>Yield Bonus:</Flex>\n <Flex>\n ${formatNumberSI(aprUSD)} in {bond.underlyingEarnToken?.symbol}\n </Flex>\n </Flex>\n </Flex>\n }\n width=\"230px\"\n placement=\"bottomRight\"\n transformTip=\"translate(10%, 0%)\"\n >\n <Flex className=\"row-container premium-icon\">\n <QuestionCircle width=\"12px\" />\n </Flex>\n </TooltipBubble>\n ${formatNumberSI(youGetUSD + aprUSD)}\n </Flex>\n ) : (\n <Text sx={styles.infoData}>\n {isNaN(youGet) ? 0 : formatNumberSI(youGet, 0)} {bond?.earnToken.symbol} = $\n {isNaN(youGetUSD) ? '0' : youGetUSD.toFixed(2)}\n </Text>\n )}\n </Flex>\n </Flex>\n <TokenSelectorPanel\n typedValue={inputValue}\n setTypedValue={setInputValue}\n selectedToken={bond?.lpToken}\n handleValueBtn={() => setInputValue(principalTokenBalance ?? '0')}\n handleCurrencySelect={() => null}\n bondChainId={bond?.chainId}\n enableZap={false}\n bondPrincipalToken={bond?.lpToken}\n tokenBalance={principalTokenBalance ?? undefined}\n selectedTokenPrice={parseFloat(bond?.principalTokenPrice ?? '0')}\n inputDisabled={false}\n isConnected={!!address}\n />\n <Flex\n sx={{\n width: '100%',\n background: '#DE62F366',\n justifyContent: 'center',\n mt: '10px',\n borderRadius: 'normal',\n p: '4px 10px',\n fontSize: '12px',\n fontWeight: 400,\n }}\n >\n {bond.warningCard ? (\n bond.warningCard\n ) : bond.yieldBond ? (\n <span>\n This is a Yield Bond. Your initial capital unlocks in{' '}\n {\n getTimePeriods(\n (bond?.yieldData?.rewardDistributionEnd ?? 0) - parseInt(bond.startVestingTimestamp ?? '0'),\n true,\n ).days\n }{' '}\n days, followed by an APR bonus distributed over the pool duration.\n <span\n sx={{\n ml: '3px',\n color: '#837fd7',\n fontWeight: 700,\n cursor: 'pointer',\n ':hover': { textDecoration: 'underline' },\n }}\n >\n {'Learn More >'}\n </span>\n </span>\n ) : (\n <>\n This is a Pre-TGE Bond - Tokens will be tradeable upon listing.\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Text sx={{ textTransform: 'none' }}>\n Pre-TGE Bonds are a pre-sale for tokens before their Token Generation Event (TGE), when tokens are\n officially launched to the public.\n </Text>\n }\n width=\"315px\"\n placement=\"topRight\"\n transformTip=\"translate(9%, -10%)\"\n >\n <Flex sx={{ ml: '4px', minWidth: '14px' }}>\n <QuestionCircle width={12} />\n </Flex>\n </TooltipBubble>\n </>\n )}\n </Flex>\n <Flex\n sx={{\n width: '100%',\n mt: '10px',\n justifyContent: 'space-between',\n height: ['unset', 'unset', 'unset', '40px'],\n flexDirection: ['column-reverse', 'column-reverse', 'column-reverse', 'row'],\n }}\n >\n {!address ? (\n <ConnectButton />\n ) : (\n <>\n <Flex sx={{ width: ['100%', '100%', '100%', '45%'], justifyContent: 'center' }}>\n <Button\n variant=\"secondary\"\n onClick={() =>\n window.open(\n `/swap?outputCurrency=${bond?.lpToken?.address[bond?.chainId]}&outputChain=${bond?.chainId}`,\n '_blank',\n )\n }\n fullWidth\n >\n Get {bond?.lpToken?.symbol}\n </Button>\n </Flex>\n {error ? (\n <Button disabled fullWidth sx={{ ml: ['0', '0', '0', '10px'] }}>\n {error}\n </Button>\n ) : (\n <Button\n disabled={loading}\n load={loading}\n onClick={openTxModal}\n fullWidth\n sx={{ ml: ['0', '0', '0', '10px'] }}\n >\n Buy\n </Button>\n )}\n </>\n )}\n </Flex>\n </Flex>\n </Flex>\n </Modal>\n )\n}\n\nexport default BuyComponentPreTGE\n"],"names":["launchBondsABI_V2_2_0","_jsx","_jsxs","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"BuyComponentPreTGE.js","sources":["../../../src/views/BuyBond/BuyComponentPreTGE.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { getBalanceNumber } from '../../utils/getBalanceNumber'\nimport { mulDivRound, parseUnits } from '../../utils/fixedPoint'\nimport TokenSelectorPanel from '../../components/TokenSelectorPanel'\nimport useCurrencyBalance from '../../state/balance/useCurrencyBalance'\nimport { useWriteContract } from 'wagmi'\nimport TokenImage from '../../components/uikit-sdk/TokenImage'\nimport ModalHeader from '../../components/uikit-sdk/Modal/ModalHeader'\nimport ProjectDescription from '../BuyBond/components/ProjectDescription'\nimport { TooltipText } from '../../config/constants/tooltips'\nimport { formatNumberSI } from '../../utils/formatNumber'\nimport BondCardsPreTGE from './components/BondCards/BondCardsPreTGE'\nimport useBondsData from '../../state/bonds/useBondsData'\nimport useModal from '../../hooks/useModal'\nimport TransactionModal from '../TransactionModal/TransactionModal'\nimport { useApproval } from '../../state/allowance/useAllowance'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport launchBondsABI_V2_2_0 from '../../config/abi/launchBond_v2_4_1.json'\nimport ConnectButton from '../../components/ConnectButton'\nimport track from '../../utils/track'\nimport useEVMAccount from '../../hooks/accounts/useEVMAccount'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport Modal from '../../components/uikit-sdk/Modal'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport Text from '../../components/uikit-sdk/Text'\nimport ListTag from '../../components/uikit-sdk/Tag/ListTag'\nimport TooltipBubble from '../../components/uikit-sdk/TooltipBubble'\nimport Button from '../../components/uikit-sdk/Button/Button'\nimport { getTimePeriods } from '../../utils/getTimePeriods'\nimport QuestionCircle from '../../components/uikit-sdk/Svg/Icons/QuestionCircle'\n\nconst infoRowClasses = 'ape:w-full ape:justify-between'\nconst infoTitleClasses = 'ape:font-normal'\nconst infoDataClasses = 'ape:font-bold'\n\nconst BuyComponentPreTGE = ({\n bondAddress,\n bondChain,\n onDismiss,\n handlePurchasedBond,\n}: {\n bondAddress: string\n bondChain: number\n onDismiss?: () => void\n handlePurchasedBond: (hash: string, inputAmount: string) => void\n}) => {\n const SDKConfig = useSDKConfig()\n const { data: preTGEBonds } = useBondsData()\n const bond = preTGEBonds?.find(\n (bond) =>\n bond.contractAddress?.[bond.chainId]?.toLowerCase() === bondAddress.toLowerCase() && bond.chainId === bondChain,\n )!\n // Hooks\n const { address } = useEVMAccount()\n const { data: principalTokenBalance } = useCurrencyBalance(bond.lpToken, address as string, bond.chainId)\n // Local state\n const [inputValue, setInputValue] = useState<string>('')\n\n // Display Values\n const raiseGoal = getBalanceNumber(bond?.totalRaise ?? '0', 18)\n const totalPrincipalBilled = getBalanceNumber(bond?.totalPrincipalBilled ?? '0', 18)\n const percentageSold = (totalPrincipalBilled * 100) / raiseGoal\n const tgePrice = bond?.tgePrice ?? 0\n const initPrice = bond?.initPrice ?? 0\n\n const inputValueToDisplay = parseFloat(inputValue).toFixed(2)\n const inputValueToDisplayUSD = parseFloat(inputValueToDisplay) * parseFloat(bond?.principalTokenPrice ?? '0')\n const youGet = parseFloat(inputValue) / initPrice\n const youGetUSD = youGet * tgePrice\n const bonusUSD = youGetUSD - inputValueToDisplayUSD\n\n const apr = bond.yieldData?.apr ?? 0\n const aprUSD = inputValueToDisplayUSD * (apr / 100)\n\n const handleClose = () => {\n if (typeof window !== 'undefined') {\n window.history.pushState({}, '', `/bonds`)\n }\n onDismiss?.()\n }\n\n const [loading, setLoading] = useState<boolean>(false)\n const [buyTxHash, setHash] = useState<string>('')\n // Approve logic\n const [approvalState, approveCallback] = useApproval(\n inputValue,\n bond.lpToken,\n bond?.contractAddress[bond.chainId] as `0x${string}`,\n address as string,\n bond.chainId as ChainId,\n )\n const handleApprove = async () => {\n return approveCallback().then(() => {\n track({\n event: 'approveBondClick',\n chain: bondChain,\n data: {\n cat: bond?.billType,\n bond: bond?.earnToken.symbol,\n },\n })\n })\n }\n const { writeContractAsync } = useWriteContract()\n const onBuyBill = async () => {\n setLoading(true)\n const amount = parseUnits(inputValue, bond?.lpToken?.decimals?.[bond?.chainId] ?? 18).toString()\n const maxPrice = mulDivRound(BigInt(bond?.trueBondPrices?.[0].trueBondPrice ?? '0'), 102n, 100n, 'halfUp').toString()\n const args = [amount, maxPrice, address]\n\n await writeContractAsync({\n address: bond?.contractAddress?.[bond.chainId] as `0x${string}`,\n abi: launchBondsABI_V2_2_0,\n functionName: 'deposit',\n args: args,\n chain: bond.chainId as any,\n account: address,\n })\n .then((hash) => {\n setHash(hash)\n handlePurchasedBond(hash, inputValue)\n })\n .finally(() => {\n setLoading(false)\n })\n }\n\n const [openTxModal] = useModal(\n <TransactionModal\n txChain={bondChain}\n approvalState={approvalState}\n approveCallback={handleApprove}\n loadingTx={loading}\n txCallback={onBuyBill}\n bondData={bond!}\n inputToken={bond.lpToken}\n inputValue={inputValue}\n depositAmount={inputValue}\n buyTxHash={buyTxHash}\n rateChanged={false}\n />,\n false,\n true,\n 'transactionModal',\n )\n\n const { data: currencyBalanceString } = useCurrencyBalance(bond.lpToken, address as string, bond.chainId)\n const exceedsBalance = parseFloat(inputValue) > parseFloat(currencyBalanceString ?? '0')\n const saleStartTime = (bond?.initTime?.[bond.chainId] ?? 0) * 1000\n const saleFinishTime = (bond?.finishTime ?? 0) * 1000\n const now = new Date().getTime()\n const saleHasStarted = now > saleStartTime\n const saleHasFinished = now > saleFinishTime || bond.finalized\n\n const error = SDKConfig.blockSales\n ? 'Complete KYC to Buy'\n : !saleHasStarted\n ? `Sale hasn't started`\n : saleHasFinished\n ? 'Sale Finished'\n : exceedsBalance\n ? 'Exceeds balance'\n : percentageSold > 99.9\n ? 'Soldout'\n : !inputValue || parseFloat(inputValue) === 0\n ? 'Insert amount'\n : !bond\n ? 'no bond'\n : null\n\n return (\n <Modal onDismiss={handleClose} className=\"ape:w-[740px]!\">\n <ModalHeader onDismiss={handleClose} hideDivider />\n <Flex className=\"ape:w-full ape:mb-[30px] ape:lg:mb-0 ape:flex-col\">\n <Flex className=\"ape:w-full ape:bg-white2 ape:rounded-normal ape:flex-col\">\n <Flex className=\"ape:w-full ape:justify-between\">\n <Flex>\n <Flex>\n <Flex className=\"title-container bondicon ape:flex ape:flex-row ape:items-center ape:relative\">\n <TokenImage\n symbol={bond.underlyingEarnToken?.symbol || bond.earnToken.symbol}\n size={50}\n chain={bond.chainId}\n />\n </Flex>\n <Flex className=\"title-container bondname ape:flex ape:flex-col ape:pl-[20px] ape:text-[24px] ape:font-bold\">\n {bond.underlyingEarnToken?.symbol || bond.earnToken.symbol}\n <ListTag text={bond?.tags?.[0]} />\n </Flex>\n </Flex>\n {!bond.yieldBond && (\n <Flex className=\"ape:flex-col ape:ml-[15px]\">\n <Flex className=\"price-container price ape:line-through ape:opacity-50 ape:font-normal\">${bond.tgePrice}</Flex>\n <Flex className=\"ape:text-[24px] ape:font-bold\">${bond.initPrice}</Flex>\n </Flex>\n )}\n </Flex>\n </Flex>\n <ProjectDescription description={bond.shortDescription} isProjectView />\n <BondCardsPreTGE bond={bond} />\n <Flex className=\"ape:w-full ape:flex-col ape:mb-[10px] ape:mt-[10px]\">\n <Flex className={infoRowClasses}>\n <Text size=\"12px\" className={infoTitleClasses}>\n You Spend:\n </Text>\n <Text size=\"12px\" className={infoDataClasses}>\n {isNaN(parseFloat(inputValueToDisplay)) ? 0 : inputValueToDisplay} {bond?.lpToken.symbol} = $\n {isNaN(inputValueToDisplayUSD) ? '0' : inputValueToDisplayUSD.toFixed(2)}\n </Text>\n </Flex>\n {bond.yieldBond ? (\n <Flex className={infoRowClasses}>\n <Flex className={`${infoTitleClasses} ape:items-center`}>\n Yield Bonus:\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Flex>\n This is the duration over which the bonus yield will be distributed while your initial tokens\n remain staked.\n </Flex>\n }\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, 0%)\"\n >\n <Flex className=\"row-container premium-icon ape:flex ape:font-normal ape:items-start ape:pl-[5px] ape:cursor-pointer\">\n <QuestionCircle width=\"12px\" />\n </Flex>\n </TooltipBubble>\n </Flex>\n <Text size=\"12px\" className={infoDataClasses} style={{ color: 'var(--ape-color-success)' }}>\n ${isNaN(aprUSD) ? '0' : aprUSD.toFixed(2)}\n </Text>\n </Flex>\n ) : (\n <Flex className={infoRowClasses}>\n <Flex className={`${infoTitleClasses} ape:items-center`}>\n Bonus:\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={<Flex>{TooltipText.Premium}</Flex>}\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, 0%)\"\n >\n <Flex className=\"row-container premium-icon ape:flex ape:font-normal ape:items-start ape:pl-[5px] ape:cursor-pointer\">\n <QuestionCircle width=\"12px\" />\n </Flex>\n </TooltipBubble>\n </Flex>\n <Text size=\"12px\" className={infoDataClasses} style={{ color: 'var(--ape-color-success)' }}>\n ${isNaN(bonusUSD) ? '0' : bonusUSD.toFixed(2)}\n </Text>\n </Flex>\n )}\n\n <Flex className={infoRowClasses}>\n <Text size=\"12px\" className={infoTitleClasses}>\n You Get (over{' '}\n {\n getTimePeriods(\n (bond?.yieldData?.rewardDistributionEnd ?? 0) - parseInt(bond.startVestingTimestamp ?? '0'),\n true,\n ).days\n }{' '}\n days):\n </Text>\n {bond.yieldBond ? (\n <Flex className={`${infoDataClasses} ape:items-center ape:gap-[5px] ape:text-[12px]`}>\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Flex className=\"ape:w-full ape:flex-col\">\n This is the expected total return by the end of the pool duration, including the initial tokens.\n <Flex className=\"ape:mt-[10px] ape:mb-[5px]\">Breakdown</Flex>\n <Flex className=\"ape:w-full ape:justify-between\">\n <Flex>Initial capital:</Flex>\n <Flex>\n ${formatNumberSI(inputValueToDisplayUSD)} in {bond.underlyingEarnToken?.symbol}\n </Flex>\n </Flex>\n <Flex className=\"ape:w-full ape:justify-between\">\n <Flex>Yield Bonus:</Flex>\n <Flex>\n ${formatNumberSI(aprUSD)} in {bond.underlyingEarnToken?.symbol}\n </Flex>\n </Flex>\n </Flex>\n }\n width=\"230px\"\n placement=\"bottomRight\"\n transformTip=\"translate(10%, 0%)\"\n >\n <Flex className=\"row-container premium-icon ape:flex ape:font-normal ape:items-start ape:pl-[5px] ape:cursor-pointer\">\n <QuestionCircle width=\"12px\" />\n </Flex>\n </TooltipBubble>\n ${formatNumberSI(youGetUSD + aprUSD)}\n </Flex>\n ) : (\n <Text size=\"12px\" className={infoDataClasses}>\n {isNaN(youGet) ? 0 : formatNumberSI(youGet, 0)} {bond?.earnToken.symbol} = $\n {isNaN(youGetUSD) ? '0' : youGetUSD.toFixed(2)}\n </Text>\n )}\n </Flex>\n </Flex>\n <TokenSelectorPanel\n typedValue={inputValue}\n setTypedValue={setInputValue}\n selectedToken={bond?.lpToken}\n handleValueBtn={() => setInputValue(principalTokenBalance ?? '0')}\n handleCurrencySelect={() => null}\n bondChainId={bond?.chainId}\n enableZap={false}\n bondPrincipalToken={bond?.lpToken}\n tokenBalance={principalTokenBalance ?? undefined}\n selectedTokenPrice={parseFloat(bond?.principalTokenPrice ?? '0')}\n inputDisabled={false}\n isConnected={!!address}\n />\n <Flex\n className=\"ape:w-full ape:justify-center ape:mt-[10px] ape:rounded-normal ape:p-[4px_10px] ape:text-[12px] ape:font-normal\"\n style={{ background: '#DE62F366' }}\n >\n {bond.warningCard ? (\n bond.warningCard\n ) : bond.yieldBond ? (\n <span>\n This is a Yield Bond. Your initial capital unlocks in{' '}\n {\n getTimePeriods(\n (bond?.yieldData?.rewardDistributionEnd ?? 0) - parseInt(bond.startVestingTimestamp ?? '0'),\n true,\n ).days\n }{' '}\n days, followed by an APR bonus distributed over the pool duration.\n <span\n className=\"ape:ml-[3px] ape:font-bold ape:cursor-pointer ape:hover:underline\"\n style={{ color: '#837fd7' }}\n >\n {'Learn More >'}\n </span>\n </span>\n ) : (\n <>\n This is a Pre-TGE Bond - Tokens will be tradeable upon listing.\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Text className=\"ape:normal-case\">\n Pre-TGE Bonds are a pre-sale for tokens before their Token Generation Event (TGE), when tokens are\n officially launched to the public.\n </Text>\n }\n width=\"315px\"\n placement=\"topRight\"\n transformTip=\"translate(9%, -10%)\"\n >\n <Flex className=\"ape:ml-[4px] ape:min-w-[14px]\">\n <QuestionCircle width={12} />\n </Flex>\n </TooltipBubble>\n </>\n )}\n </Flex>\n <Flex className=\"ape:w-full ape:mt-[10px] ape:justify-between ape:h-[unset] ape:lg:h-[40px] ape:flex-col-reverse ape:lg:flex-row\">\n {!address ? (\n <ConnectButton />\n ) : (\n <>\n <Flex className=\"ape:w-full ape:lg:w-[45%] ape:justify-center\">\n <Button\n variant=\"secondary\"\n onClick={() =>\n window.open(\n `/swap?outputCurrency=${bond?.lpToken?.address[bond?.chainId]}&outputChain=${bond?.chainId}`,\n '_blank',\n )\n }\n fullWidth\n >\n Get {bond?.lpToken?.symbol}\n </Button>\n </Flex>\n {error ? (\n <Button disabled fullWidth className=\"ape:ml-0 ape:lg:ml-[10px]\">\n {error}\n </Button>\n ) : (\n <Button disabled={loading} load={loading} onClick={openTxModal} fullWidth className=\"ape:ml-0 ape:lg:ml-[10px]\">\n Buy\n </Button>\n )}\n </>\n )}\n </Flex>\n </Flex>\n </Flex>\n </Modal>\n )\n}\n\nexport default BuyComponentPreTGE\n"],"names":["launchBondsABI_V2_2_0","_jsx","_jsxs","_Fragment"],"mappings":"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"}
@@ -1,5 +1,6 @@
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 useModal from '../../hooks/useModal.js';
4
5
  import { ChainId } from '@ape.swap/apeswap-lists';
5
6
  import TokenSelectorPanel from '../../components/TokenSelectorPanel/index.js';
@@ -586,14 +587,7 @@ const BuyComponentSolana = ({ onDismiss, bondAddress, bondChain, isProjectView,
586
587
  }
587
588
  /* eslint-disable react-hooks/exhaustive-deps */
588
589
  }, [inputCurrencyBalance, zapListFetched]);
589
- 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, bondData: bondData, youSpendString: youSpendString, isZap: isZap, fetchingZapQuote: fetchingZapQuote, zapError: zapError, hidePromotionUi: true }), jsx(TokenSelectorPanel, { typedValue: inputValue, setTypedValue: setInputValue, selectedToken: inputToken, handleValueBtn: handleMaxButton, handleCurrencySelect: handleCurrencySelect, bondChainId: bondData?.chainId, enableZap: true, bondPrincipalToken: bondData?.lpToken, tokenBalance: inputCurrencyBalance ?? undefined, selectedTokenPrice: inputTokenPrice, isConnected: !!accountSolana }), bondData?.warningCard && (jsx(Flex, { sx: {
590
- width: '100%',
591
- background: '#DE62F366',
592
- justifyContent: 'center',
593
- mt: '10px',
594
- borderRadius: 'normal',
595
- p: '2px 10px',
596
- }, children: jsxs(Text, { sx: { fontSize: '12px', fontWeight: 400, display: 'flex', alignItems: 'center', gap: '10px' }, children: [jsx(SafeHTMLComponent, { html: bondData?.warningCard }), bondData?.chainId === ChainId.SONIC && bondData?.earnToken.symbol.toLowerCase() === 'moon' && (jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Text, { sx: { textTransform: 'none' }, children: "Open the 'cog' icon menu in the top right and set the Slippage Tolerance to 5% or more." }), width: "315px", placement: "topRight", transformTip: "translate(9%, -10%)", children: jsx(QuestionCircle, { width: 14, color: "textDisabledButton" }) }))] }) })), jsx(Flex, { className: "modaltable-container button-container", children: jsx(Flex, { className: "button-container buy", children: !accountSolana ? (jsx(ConnectSolanaWallet, {})) : (jsxs(Flex, { sx: { width: '100%', gap: '10px', flexDirection: ['column', 'column', 'column', 'row'] }, children: [jsx(Button, { variant: "secondary", onClick: () => onOpenLifiModal(), sx: { width: ['100%', '100%', '100%', '35%'], fontSize: ['14px', '14px', '14px', '16px'] }, children: "bridge to sol" }), jsx(Button, { className: "action-button", load: load, disabled: load ||
590
+ 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, bondData: bondData, youSpendString: youSpendString, isZap: isZap, fetchingZapQuote: fetchingZapQuote, zapError: zapError, hidePromotionUi: true }), jsx(TokenSelectorPanel, { typedValue: inputValue, setTypedValue: setInputValue, selectedToken: inputToken, handleValueBtn: handleMaxButton, handleCurrencySelect: handleCurrencySelect, bondChainId: bondData?.chainId, enableZap: true, bondPrincipalToken: bondData?.lpToken, tokenBalance: inputCurrencyBalance ?? undefined, selectedTokenPrice: inputTokenPrice, isConnected: !!accountSolana }), 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: jsxs(Text, { size: "12px", className: "ape:font-normal ape:flex ape:items-center ape:gap-[10px]", children: [jsx(SafeHTMLComponent, { html: bondData?.warningCard }), bondData?.chainId === ChainId.SONIC && bondData?.earnToken.symbol.toLowerCase() === 'moon' && (jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Text, { className: "ape:normal-case", children: "Open the 'cog' icon menu in the top right and set the Slippage Tolerance to 5% or more." }), width: "315px", placement: "topRight", transformTip: "translate(9%, -10%)", children: jsx(QuestionCircle, { width: 14, color: "textDisabledButton" }) }))] }) })), 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: !accountSolana ? (jsx(ConnectSolanaWallet, {})) : (jsxs(Flex, { className: "ape:w-full ape:gap-[10px] ape:flex-col ape:lg:flex-row", children: [jsx(Button, { variant: "secondary", onClick: () => onOpenLifiModal(), className: "ape:w-full ape:lg:w-[35%] ape:text-[14px]! ape:lg:text-[16px]!", children: "bridge to sol" }), jsx(Button, { className: "action-button ape:w-full ape:lg:w-[65%] ape:text-[14px]! ape:lg:text-[16px]!", load: load, disabled: load ||
597
591
  bondData?.soldOut ||
598
592
  !accountSolana ||
599
593
  !inputValue ||
@@ -603,7 +597,7 @@ const BuyComponentSolana = ({ onDismiss, bondAddress, bondChain, isProjectView,
603
597
  exceedsRealMaxBuy ||
604
598
  exceedsBalance ||
605
599
  (isZap && !jupiterQuote) ||
606
- SDKConfig.blockSales, onClick: handleOpenModal, sx: { width: ['100%', '100%', '100%', '65%'], fontSize: ['14px', '14px', '14px', '16px'] }, children: SDKConfig.blockSales
600
+ SDKConfig.blockSales, onClick: handleOpenModal, children: SDKConfig.blockSales
607
601
  ? 'Complete KYC to Buy'
608
602
  : exceedsRealMaxBuy
609
603
  ? 'Exceeds Max Buy. Reduce amount'
@@ -1 +1 @@
1
- {"version":3,"file":"BuyComponentSolana.js","sources":["../../../src/views/BuyBond/BuyComponentSolana.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from 'react'\nimport useModal from '../../hooks/useModal'\nimport { ChainId, MarketingCampaign } from '@ape.swap/apeswap-lists'\nimport TokenSelectorPanel from '../../components/TokenSelectorPanel'\nimport useBondsData from '../../state/bonds/useBondsData'\nimport useTokenFromZapList from '../../hooks/useTokenFromZapList'\nimport { usePopups } from '../../state/popups/usePopups'\nimport { formatUSDNumber, getMaxBuy, getPayoutAmount, getPrincipalAmount } from '../../utils/displayHelpers'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport { useSlippage } from '../../state/slippage/useSlippage'\nimport { getSymbol } from '../../utils/getNativeTicker'\nimport BondModalHeader from './components/BondModalHeader'\nimport BondCards from './components/BondCards/BondCards'\nimport Estimations from './components/Estimations'\nimport ProjectDescription from './components/ProjectDescription'\nimport NoBonusModal from './components/NoBonusModal/NoBonusModal'\nimport useJupiterSolanaQuote from '../../state/zap/useJupiterSolanaQuote'\nimport useSortedZapList from '../../hooks/useSortedZapList'\n\n// Solana\nimport ConnectSolanaWalletButton from '../../components/ConnectSolanaWalletButton/ConnectSolanaWalletButton'\nimport {\n PublicKey,\n SystemProgram,\n SYSVAR_INSTRUCTIONS_PUBKEY,\n Keypair,\n Transaction,\n Connection,\n TransactionInstruction,\n} from '@solana/web3.js'\nimport { createJupiterApiClient } from '@jup-ag/api'\nimport { derivePda } from '../../utils/derivePda'\nimport {\n getAssociatedTokenAddress,\n ASSOCIATED_TOKEN_PROGRAM_ID,\n createAssociatedTokenAccountInstruction,\n getAccount,\n} from '@solana/spl-token'\nimport { getBondIssuanceAccountSolana } from '../../utils/getSolanaAccount'\nimport { getU64Codec } from '@solana/kit'\nimport { DEPOSIT_DISCRIMINATOR, MPL_CORE_PROGRAM_ID, PROGRAM_ID } from '../../constants/solanaConstants'\nimport { Buffer } from 'buffer'\nimport { BondsData } from '../../types/bonds'\nimport { BondIssuanceAccount } from '../../types'\nimport { getRPC } from '../../config/constants/networks'\nimport { reportError } from '../../utils/reportError'\nimport SafeHTMLComponent from '../../components/SafeHTMLComponent'\nimport { findHighestTrueBondPrice } from '../../utils/bondPriceHelpers'\nimport track from '../../utils/track'\nimport { remove0xPrefix } from '../../utils/remove0xPrefix'\nimport { MCBuyComponentStyles } from '../../utils/campaignStyles'\nimport useSOLAccount from '../../hooks/accounts/useSOLAccount'\nimport { useSendReferenceId } from '../../hooks/useSendReferenceId'\nimport LifiModal from '../LifiModal/LifiModal'\nimport { getAtaWithCreateInstruction, getTokenProgramForMint } from '../../utils/solanaAtaHelper'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport Text from '../../components/uikit-sdk/Text'\nimport TooltipBubble from '../../components/uikit-sdk/TooltipBubble'\nimport Button from '../../components/uikit-sdk/Button/Button'\nimport { formatNumberSI } from '../../utils/formatNumber'\nimport QuestionCircle from '../../components/uikit-sdk/Svg/Icons/QuestionCircle'\nimport { mulDivRound, parseUnits, toFixedString } from '../../utils/fixedPoint'\n\n// price * (100 + slippage) / (100 * 1e6), scaled by 1e6 to preserve fractional slippage\n// percentages without a float precompute (matches this bond program's price scale).\nconst slippageMaxPriceSolana = (priceBig: bigint, slippage: number): bigint =>\n mulDivRound(priceBig, parseUnits(String(100 + slippage), 6), parseUnits('100', 6) * 1_000_000n, 'halfUp')\n\ninterface BuyComponentSolanaProps {\n onDismiss?: () => void // this is only the modal\n bondAddress?: string\n bondChain?: number\n setBillId?: (id: string) => void\n isProjectView?: boolean\n}\n\nconst BuyComponentSolana: React.FC<BuyComponentSolanaProps> = ({\n onDismiss,\n bondAddress,\n bondChain,\n isProjectView,\n setBillId,\n}) => {\n const SDKConfig = useSDKConfig()\n\n // Hooks\n const { publicKey: accountSolana, signTransaction } = useSOLAccount()\n const { data: bonds } = useBondsData()\n const { addToastError, addToastSuccess } = usePopups()\n const { solSlippage: slippage } = useSlippage()\n const sendReferenceId = useSendReferenceId()\n\n const bondData: BondsData | undefined = bonds?.find(\n (bond) => bond?.contractAddress?.[bond?.chainId]?.toLowerCase() === bondAddress?.toLowerCase(),\n )\n\n // Tier Gating\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\n // On-chain Data\n const inputToken = useTokenFromZapList(inputTokenString, bondData?.chainId, bondData?.lpToken)\n const isZap = inputTokenString?.toLowerCase() !== bondData?.lpToken?.address?.[bondData?.chainId]?.toLowerCase()\n\n const [\n fetchingZapQuote,\n jupiterQuote,\n zapDepositAmount,\n zapError,\n isDirectRoute,\n minimumDepositAmount,\n wrapAndUnwrapSol,\n ] = useJupiterSolanaQuote(inputValue, inputToken, bondData, accountSolana?.toBase58(), true, slippage)\n\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)} = \n $${formatUSDNumber((parseFloat(inputValue) * (inputTokenPrice ?? 0)).toString())}`\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 const exceedsBalance = Number(inputCurrencyBalance ?? '0') < Number(inputValue)\n\n // Loading State - include zap loading\n const [loadingTx, setLoadingTx] = useState(false)\n const load = loadingTx || (fetchingZapQuote && !!inputValue)\n\n // State 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] ?? 18\n const maxBuyAmount = getMaxBuy(bondData, SDKConfig.showLowValueBonds)\n\n if (!isZap) {\n const maxPossibleUserPurchase = getPayoutAmount(bondData, balance.toString(), '0')\n if (maxPossibleUserPurchase > maxBuyAmount) {\n console.log('user balance exceeds max buy limit, setting to max buy')\n const principalForMaxBuy = getPrincipalAmount(bondData, maxBuyAmount.toString(), '0')\n setInputValue(toFixedString(principalForMaxBuy, principalDecimals))\n } else {\n console.log('balance is ok, can be used')\n setInputValue(toFixedString(balance, principalDecimals))\n }\n } else {\n const principalForMaxBuy = getPrincipalAmount(bondData, maxBuyAmount.toString(), '0')\n const principalForMaxBuyUSD = principalForMaxBuy * Number(bondData?.principalTokenPrice ?? 0)\n const maxBuyAmountInSelectedToken = principalForMaxBuyUSD / (inputTokenPrice ?? 0)\n const decimals =\n enrichedTokenData?.token === 'NATIVE' ? 18 : (enrichedTokenData?.token.decimals[bondData?.chainId!] ?? 18)\n\n if (balance >= maxBuyAmountInSelectedToken) {\n setInputValue(toFixedString(maxBuyAmountInSelectedToken, decimals))\n } else {\n setInputValue(toFixedString(balance, decimals))\n }\n }\n }\n\n const handleBuyCallback = async () => {\n if (!accountSolana || !bondData || !inputValue || !inputToken || !bondData) 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 connection = new Connection(getRPC(ChainId.SOL), 'confirmed')\n\n // Convert input value\n const amountBigInt = parseUnits(inputValue, bondData.lpToken.decimals[ChainId.SOL]!)\n\n const user = accountSolana\n\n const trueBondPriceWithoutFee = bondData?.trueBondPrices?.[0]?.trueBondPrice\n\n const maxPrice = slippageMaxPriceSolana(BigInt(trueBondPriceWithoutFee ?? '0'), slippage).toString()\n\n // Static addresses\n const bondIssuancePda = new PublicKey(bondData.contractAddress[bondData.chainId]!)\n const principalMint = new PublicKey(bondData.lpToken.address[bondData.chainId]!)\n const payoutMint = new PublicKey(bondData.earnToken.address[bondData.chainId]!)\n const collection = new PublicKey(bondData.billNnftAddress[bondData.chainId]!)\n\n // Detect token programs for both mints (supports Token-2022)\n const [principalTokenProgram, payoutTokenProgram] = await Promise.all([\n getTokenProgramForMint(connection, principalMint),\n getTokenProgramForMint(connection, payoutMint),\n ])\n\n // Fetch Bond Issuance Account\n const bondIssuanceAccounts = (await getBondIssuanceAccountSolana([\n bondIssuancePda.toBase58(),\n ])) as BondIssuanceAccount[]\n if (!bondIssuanceAccounts) return\n const bondIssuanceAccount = bondIssuanceAccounts[0]\n const feeRecipient = new PublicKey(bondIssuanceAccount.feePrincipalRecipient)\n const partnerRecipient = new PublicKey(bondIssuanceAccount.partnerPrincipalRecipient)\n const feePayoutRecipient = new PublicKey(bondIssuanceAccount.feePayoutRecipient) // ADDED\n\n // Derive PDAs\n const bondTermPda = derivePda('bond_term', bondIssuancePda, PROGRAM_ID)\n const bondPricingPda = derivePda('bond_pricing', bondIssuancePda, PROGRAM_ID)\n\n // Create NFT mint\n const nftMint = Keypair.generate()\n\n const [bondPda] = PublicKey.findProgramAddressSync(\n [Buffer.from('bond'), bondIssuancePda.toBuffer(), nftMint.publicKey.toBuffer()],\n PROGRAM_ID,\n )\n\n // ATAs - use correct token program for each mint\n const userPrincipalAta = await getAssociatedTokenAddress(principalMint, user, true, principalTokenProgram)\n const treasuryAta = await getAssociatedTokenAddress(payoutMint, bondIssuancePda, true, payoutTokenProgram)\n const feePrincipalRecipientAta = await getAssociatedTokenAddress(\n principalMint,\n feeRecipient,\n true,\n principalTokenProgram,\n )\n const partnerPrincipalRecipientAta = await getAssociatedTokenAddress(\n principalMint,\n partnerRecipient,\n true,\n principalTokenProgram,\n )\n\n const { address: feePayoutRecipientAta, createInstruction: createPayoutFeeRecipientAtaIx } =\n await getAtaWithCreateInstruction(connection, payoutMint, feePayoutRecipient, user)\n\n // Encode args\n const u64Codec = getU64Codec()\n const amountEncoded = Buffer.from(u64Codec.encode(amountBigInt))\n const maxPriceEncoded = Buffer.from(u64Codec.encode(BigInt(maxPrice)))\n const instructionData = Buffer.concat([DEPOSIT_DISCRIMINATOR, amountEncoded, maxPriceEncoded])\n\n // Instruction\n const keys = [\n { pubkey: bondPda, isSigner: false, isWritable: true },\n { pubkey: nftMint.publicKey, isSigner: true, isWritable: true },\n { pubkey: user, isSigner: true, isWritable: true },\n { pubkey: bondPricingPda, isSigner: false, isWritable: true },\n { pubkey: bondTermPda, isSigner: false, isWritable: true },\n { pubkey: bondIssuancePda, isSigner: false, isWritable: true },\n { pubkey: collection, isSigner: false, isWritable: true },\n { pubkey: userPrincipalAta, isSigner: false, isWritable: true },\n { pubkey: feePrincipalRecipientAta, isSigner: false, isWritable: true },\n { pubkey: partnerPrincipalRecipientAta, isSigner: false, isWritable: true },\n { pubkey: feePayoutRecipientAta, isSigner: false, isWritable: true },\n { pubkey: treasuryAta, isSigner: false, isWritable: true },\n { pubkey: principalMint, isSigner: false, isWritable: false },\n { pubkey: payoutMint, isSigner: false, isWritable: false },\n { pubkey: SystemProgram.programId, isSigner: false, isWritable: false },\n { pubkey: principalTokenProgram, isSigner: false, isWritable: false }, // principal_token_program (dynamic)\n { pubkey: payoutTokenProgram, isSigner: false, isWritable: false }, // payout_token_program (dynamic)\n { pubkey: ASSOCIATED_TOKEN_PROGRAM_ID, isSigner: false, isWritable: false },\n { pubkey: MPL_CORE_PROGRAM_ID, isSigner: false, isWritable: false },\n { pubkey: SYSVAR_INSTRUCTIONS_PUBKEY, isSigner: false, isWritable: false },\n ]\n\n const instruction = new TransactionInstruction({\n keys,\n programId: PROGRAM_ID,\n data: instructionData,\n })\n\n // Create tx (prepend payout fee recipient ATA creation if needed)\n const transaction = new Transaction()\n if (createPayoutFeeRecipientAtaIx) transaction.add(createPayoutFeeRecipientAtaIx)\n transaction.add(instruction)\n transaction.feePayer = user\n\n const { blockhash, lastValidBlockHeight } = await connection.getLatestBlockhash('confirmed')\n transaction.recentBlockhash = blockhash\n // Sign tx\n transaction.partialSign(nftMint)\n const signedTx = await signTransaction?.(transaction)!\n\n // Sends tx, generates hash\n const txId = await connection.sendRawTransaction(signedTx.serialize(), {\n skipPreflight: false,\n preflightCommitment: 'confirmed',\n })\n\n // awaits hash confirmation on chain - commitment \"confirmed\"\n await connection.confirmTransaction(\n {\n signature: txId,\n blockhash,\n lastValidBlockHeight,\n },\n 'confirmed',\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(bondData?.contractAddress?.[bondData.chainId]),\n usdAmount: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n\n await sendReferenceId(bondData.contractAddress[bondData.chainId]!, ChainId.SOL, txId)\n\n // waits 3 seconds before triggering after-purchase flow\n await new Promise((resolve) => setTimeout(resolve, 3000))\n\n addToastSuccess(txId, bondChain)\n setBillId?.(nftMint.publicKey.toString())\n } catch (error: any) {\n console.error('Error during bond purchase:', error)\n addToastError(error?.message || 'Unknown error')\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error: error.message,\n extraInfo: { type: 'solanaBuyBond', error: error.message },\n chainId: bondChain,\n account: accountSolana.toString(),\n })\n } finally {\n setLoadingTx(false)\n }\n }\n\n // Helper: Build Jupiter swap instructions from API response\n const buildSwapInstructions = (swapResult: any) => {\n const swapInstruction = new TransactionInstruction({\n programId: new PublicKey(swapResult.swapInstruction.programId),\n keys: swapResult.swapInstruction.accounts.map((key: any) => ({\n pubkey: new PublicKey(key.pubkey),\n isSigner: key.isSigner,\n isWritable: key.isWritable,\n })),\n data: Buffer.from(swapResult.swapInstruction.data, 'base64'),\n })\n\n const setupInstructions = (swapResult.setupInstructions || []).map(\n (ix: any) =>\n new TransactionInstruction({\n programId: new PublicKey(ix.programId),\n keys: ix.accounts.map((key: any) => ({\n pubkey: new PublicKey(key.pubkey),\n isSigner: key.isSigner,\n isWritable: key.isWritable,\n })),\n data: Buffer.from(ix.data, 'base64'),\n }),\n )\n\n return { setupInstructions, swapInstruction }\n }\n\n // Helper: Build bond instruction with specified amount\n const buildBondInstruction = (amount: bigint, maxPriceEncoded: Buffer, bondKeys: any[]) => {\n const u64Codec = getU64Codec()\n const amountEncoded = Buffer.from(u64Codec.encode(amount))\n const instructionData = Buffer.concat([DEPOSIT_DISCRIMINATOR, amountEncoded, maxPriceEncoded])\n\n return new TransactionInstruction({\n keys: bondKeys,\n programId: PROGRAM_ID,\n data: instructionData,\n })\n }\n\n // Helper: Ensure user's principal token account exists\n const ensureUserPrincipalAtaExists = async (\n connection: Connection,\n payer: PublicKey,\n principalMint: PublicKey,\n user: PublicKey,\n tokenProgram: PublicKey,\n ): Promise<{ ataAddress: PublicKey; createInstruction: TransactionInstruction | null }> => {\n const userPrincipalAta = await getAssociatedTokenAddress(principalMint, user, true, tokenProgram)\n\n try {\n // Check if account exists\n await getAccount(connection, userPrincipalAta, undefined, tokenProgram)\n return { ataAddress: userPrincipalAta, createInstruction: null }\n } catch {\n // Account doesn't exist, return instruction to create it\n const createAtaIx = createAssociatedTokenAccountInstruction(\n payer, // fee payer\n userPrincipalAta, // ATA to create\n user, // owner of ATA\n principalMint, // mint\n tokenProgram, // token program\n )\n return { ataAddress: userPrincipalAta, createInstruction: createAtaIx }\n }\n }\n\n // Helper: Track zap events\n const trackZapEvents = (txType: 'single-tx' | 'two-tx') => {\n track({\n event: 'zap',\n chain: bondChain,\n data: {\n cat: 'bond',\n token1: getSymbol(inputToken),\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: `zap-buy-${txType}`,\n type: bondData?.billType ?? '',\n typedValue: inputValue,\n principalToken: bondData?.lpToken.symbol ?? '',\n earnToken: bondData?.earnToken.symbol ?? '',\n address: remove0xPrefix(bondData?.contractAddress?.[bondData.chainId]),\n usdAmount: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n }\n\n const handleZapCallback = async () => {\n if (loadingTx || !accountSolana || !bondData || !jupiterQuote || !signTransaction) 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 connection = new Connection(getRPC(ChainId.SOL), 'confirmed')\n const jupiterApi = createJupiterApiClient()\n\n // STEP 1: Calculate bond parameters and prepare accounts\n const trueBondPriceWithoutFee = bondData?.trueBondPrices?.[0]?.trueBondPrice\n const maxPrice = slippageMaxPriceSolana(BigInt(trueBondPriceWithoutFee ?? '0'), slippage).toString()\n console.log(isDirectRoute ? 'Using direct route' : 'Using multi-hop route')\n const depositAmountForBond = isDirectRoute ? minimumDepositAmount : zapDepositAmount\n\n const amountBigInt = parseUnits(depositAmountForBond, bondData.lpToken.decimals[ChainId.SOL]!)\n\n const bondIssuancePda = new PublicKey(bondData.contractAddress[bondData.chainId]!)\n const principalMint = new PublicKey(bondData.lpToken.address[bondData.chainId]!)\n const payoutMint = new PublicKey(bondData.earnToken.address[bondData.chainId]!)\n const collection = new PublicKey(bondData.billNnftAddress[bondData.chainId]!)\n\n // Detect token programs for both mints (supports Token-2022)\n const [principalTokenProgram, payoutTokenProgram] = await Promise.all([\n getTokenProgramForMint(connection, principalMint),\n getTokenProgramForMint(connection, payoutMint),\n ])\n\n const bondIssuanceAccounts = (await getBondIssuanceAccountSolana([\n bondIssuancePda.toBase58(),\n ])) as BondIssuanceAccount[]\n if (!bondIssuanceAccounts) throw new Error('Failed to fetch bond issuance account')\n\n const bondIssuanceAccount = bondIssuanceAccounts[0]\n const feeRecipient = new PublicKey(bondIssuanceAccount.feePrincipalRecipient)\n const partnerRecipient = new PublicKey(bondIssuanceAccount.partnerPrincipalRecipient)\n const feePayoutRecipient = new PublicKey(bondIssuanceAccount.feePayoutRecipient)\n\n const bondTermPda = derivePda('bond_term', bondIssuancePda, PROGRAM_ID)\n const bondPricingPda = derivePda('bond_pricing', bondIssuancePda, PROGRAM_ID)\n\n const nftMint = Keypair.generate()\n const [bondPda] = PublicKey.findProgramAddressSync(\n [Buffer.from('bond'), bondIssuancePda.toBuffer(), nftMint.publicKey.toBuffer()],\n PROGRAM_ID,\n )\n\n // Ensure user's USDC account exists, get creation instruction if needed\n const { ataAddress: userPrincipalAta, createInstruction: createPrincipalAtaIx } =\n await ensureUserPrincipalAtaExists(\n connection,\n accountSolana,\n principalMint,\n accountSolana,\n principalTokenProgram,\n )\n const treasuryAta = await getAssociatedTokenAddress(payoutMint, bondIssuancePda, true, payoutTokenProgram)\n const feePrincipalRecipientAta = await getAssociatedTokenAddress(\n principalMint,\n feeRecipient,\n true,\n principalTokenProgram,\n )\n const partnerPrincipalRecipientAta = await getAssociatedTokenAddress(\n principalMint,\n partnerRecipient,\n true,\n principalTokenProgram,\n )\n const { address: feePayoutRecipientAta, createInstruction: createPayoutFeeRecipientAtaIx } =\n await getAtaWithCreateInstruction(connection, payoutMint, feePayoutRecipient, accountSolana)\n\n const u64Codec = getU64Codec()\n const maxPriceEncoded = Buffer.from(u64Codec.encode(BigInt(maxPrice)))\n\n const bondKeys = [\n { pubkey: bondPda, isSigner: false, isWritable: true },\n { pubkey: nftMint.publicKey, isSigner: true, isWritable: true },\n { pubkey: accountSolana, isSigner: true, isWritable: true },\n { pubkey: bondPricingPda, isSigner: false, isWritable: true },\n { pubkey: bondTermPda, isSigner: false, isWritable: true },\n { pubkey: bondIssuancePda, isSigner: false, isWritable: true },\n { pubkey: collection, isSigner: false, isWritable: true },\n { pubkey: userPrincipalAta, isSigner: false, isWritable: true },\n { pubkey: feePrincipalRecipientAta, isSigner: false, isWritable: true },\n { pubkey: partnerPrincipalRecipientAta, isSigner: false, isWritable: true },\n { pubkey: feePayoutRecipientAta, isSigner: false, isWritable: true },\n { pubkey: treasuryAta, isSigner: false, isWritable: true },\n { pubkey: principalMint, isSigner: false, isWritable: false },\n { pubkey: payoutMint, isSigner: false, isWritable: false },\n { pubkey: SystemProgram.programId, isSigner: false, isWritable: false },\n { pubkey: principalTokenProgram, isSigner: false, isWritable: false }, // principal_token_program (dynamic)\n { pubkey: payoutTokenProgram, isSigner: false, isWritable: false }, // payout_token_program (dynamic)\n { pubkey: ASSOCIATED_TOKEN_PROGRAM_ID, isSigner: false, isWritable: false },\n { pubkey: MPL_CORE_PROGRAM_ID, isSigner: false, isWritable: false },\n { pubkey: SYSVAR_INSTRUCTIONS_PUBKEY, isSigner: false, isWritable: false },\n ]\n\n // Build initial bond instruction (for single-tx attempt)\n const bondInstruction = buildBondInstruction(amountBigInt, maxPriceEncoded, bondKeys)\n\n // STEP 2: Get Jupiter swap instructions\n const swapResult = await jupiterApi.swapInstructionsPost({\n swapRequest: {\n quoteResponse: jupiterQuote,\n userPublicKey: accountSolana.toBase58(),\n wrapAndUnwrapSol: wrapAndUnwrapSol,\n dynamicComputeUnitLimit: true,\n prioritizationFeeLamports: {\n priorityLevelWithMaxLamports: {\n maxLamports: 4000000,\n priorityLevel: 'veryHigh',\n },\n },\n },\n })\n\n console.log('=== TRANSACTION SIZE ANALYSIS ===')\n console.log('Route used:', jupiterQuote.routePlan?.map((r) => r.swapInfo.label).join(' -> '))\n console.log('Swap accounts:', swapResult.swapInstruction.accounts.length)\n console.log('Setup instructions count:', swapResult.setupInstructions?.length || 0)\n\n let totalAccounts = swapResult.swapInstruction.accounts.length\n swapResult.setupInstructions?.forEach((ix, i) => {\n console.log(` Setup ${i}: ${ix.accounts.length} accounts`)\n totalAccounts += ix.accounts.length\n })\n\n console.log('Bond instruction accounts:', 20)\n console.log('Total accounts:', totalAccounts + 20)\n console.log('=== END ANALYSIS ===')\n\n // STEP 3: TRY SINGLE TRANSACTION (if direct route)\n if (isDirectRoute) {\n try {\n // Build swap instructions\n const { setupInstructions, swapInstruction } = buildSwapInstructions(swapResult)\n const setupIxs = [\n ...(createPrincipalAtaIx ? [createPrincipalAtaIx] : []),\n ...(createPayoutFeeRecipientAtaIx ? [createPayoutFeeRecipientAtaIx] : []),\n ...setupInstructions,\n ]\n const allInstructions = [...setupIxs, swapInstruction, bondInstruction]\n const { blockhash, lastValidBlockHeight } = await connection.getLatestBlockhash('confirmed')\n\n const combinedTx = new Transaction()\n combinedTx.add(...allInstructions)\n combinedTx.recentBlockhash = blockhash\n combinedTx.feePayer = accountSolana\n combinedTx.partialSign(nftMint)\n\n // Check size - account for signatures\n const messageSize = combinedTx.serializeMessage().length\n const numSignatures = combinedTx.signatures.length // Should be 2: nftMint + accountSolana\n const signatureOverhead = 1 + numSignatures * 64 // 1 byte for count + 64 bytes per signature\n const estimatedTxSize = messageSize + signatureOverhead\n\n console.log(`Combined transaction size: ${estimatedTxSize} bytes (limit: 1232 bytes)`)\n\n if (estimatedTxSize > 1232) {\n console.log('Transaction too large, falling back to two transactions')\n throw new Error('TRANSACTION_TOO_LARGE')\n }\n\n // Execute single transaction!\n console.log('Transaction fits. Executing combined swap + bond')\n const signedTx = await signTransaction(combinedTx)\n const txId = await connection.sendRawTransaction(signedTx.serialize(), {\n skipPreflight: false,\n preflightCommitment: 'confirmed',\n })\n\n await connection.confirmTransaction({ signature: txId, blockhash, lastValidBlockHeight }, 'confirmed')\n\n console.log('SINGLE transaction confirmed:', txId)\n\n // Track success\n trackZapEvents('single-tx')\n await sendReferenceId(bondData.contractAddress[bondData.chainId]!, ChainId.SOL, txId)\n\n await new Promise((resolve) => setTimeout(resolve, 3000))\n addToastSuccess(txId, bondChain)\n setBillId?.(nftMint.publicKey.toString())\n return\n } catch (singleTxError: any) {\n if (singleTxError.message !== 'TRANSACTION_TOO_LARGE') {\n throw singleTxError\n }\n console.log('Falling back to two separate transactions...')\n }\n }\n\n // STEP 4: FALLBACK - TWO SEPARATE TRANSACTIONS\n console.log('Executing TWO separate transactions...')\n\n // Execute swap first\n const { setupInstructions, swapInstruction } = buildSwapInstructions(swapResult)\n const swapSetupIxs = [...(createPrincipalAtaIx ? [createPrincipalAtaIx] : []), ...setupInstructions]\n const swapTx = new Transaction().add(...swapSetupIxs, swapInstruction)\n swapTx.feePayer = accountSolana\n const { blockhash: swapBlockhash, lastValidBlockHeight: swapLastValid } =\n await connection.getLatestBlockhash('confirmed')\n swapTx.recentBlockhash = swapBlockhash\n\n const signedSwapTx = await signTransaction(swapTx)\n const swapTxId = await connection.sendRawTransaction(signedSwapTx.serialize(), {\n skipPreflight: false,\n preflightCommitment: 'confirmed',\n })\n\n await connection.confirmTransaction(\n { signature: swapTxId, blockhash: swapBlockhash, lastValidBlockHeight: swapLastValid },\n 'confirmed',\n )\n console.log('Swap transaction confirmed:', swapTxId)\n\n // QUERY ACTUAL BALANCE RECEIVED FROM SWAP\n const principalTokenBalance = await connection.getTokenAccountBalance(userPrincipalAta)\n const actualAmount = BigInt(principalTokenBalance.value.amount)\n\n // REBUILD BOND INSTRUCTION WITH ACTUAL AMOUNT\n const actualBondInstruction = buildBondInstruction(actualAmount, maxPriceEncoded, bondKeys)\n\n const bondTx = new Transaction()\n if (createPayoutFeeRecipientAtaIx) bondTx.add(createPayoutFeeRecipientAtaIx)\n bondTx.add(actualBondInstruction)\n bondTx.feePayer = accountSolana\n const { blockhash, lastValidBlockHeight } = await connection.getLatestBlockhash('confirmed')\n bondTx.recentBlockhash = blockhash\n bondTx.partialSign(nftMint)\n\n const signedBondTx = await signTransaction(bondTx)\n const bondTxId = await connection.sendRawTransaction(signedBondTx.serialize(), {\n skipPreflight: false,\n preflightCommitment: 'confirmed',\n })\n\n await connection.confirmTransaction({ signature: bondTxId, blockhash, lastValidBlockHeight }, 'confirmed')\n console.log('Bond transaction confirmed:', bondTxId)\n\n // Track both transactions\n trackZapEvents('two-tx')\n await sendReferenceId(bondData.contractAddress[bondData.chainId]!, ChainId.SOL, bondTxId)\n\n await new Promise((resolve) => setTimeout(resolve, 3000))\n addToastSuccess(bondTxId, bondChain)\n setBillId?.(nftMint.publicKey.toString())\n } catch (error: any) {\n console.error('Error during zap + bond purchase:', error)\n addToastError(error?.message || 'Unknown error during swap and bond')\n\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error: error.message,\n extraInfo: {\n type: 'solanaJupiterZapBuyBond',\n error: error.message,\n isDirectRoute,\n quote: jupiterQuote,\n },\n chainId: bondChain,\n account: accountSolana.toString(),\n })\n } finally {\n setLoadingTx(false)\n }\n }\n\n const handleBothPurchases = () => {\n if (loadingTx) return // Prevent duplicate calls\n setLoadingTx(true)\n if (isZap) {\n handleZapCallback().finally(() => setLoadingTx(false))\n } else {\n handleBuyCallback().finally(() => setLoadingTx(false))\n }\n }\n\n const handleOpenModal = () => {\n const bonus = trueBondPriceData?.bonusWithFee ?? 0\n if (bonus <= 0) {\n openNoBonusModal()\n } else {\n handleBothPurchases()\n }\n }\n\n // Modals\n const [onOpenLifiModal] = useModal(\n <LifiModal bondChain={1151111081099710} principalToken={bondData?.lpToken?.address?.[bondData?.chainId]} />,\n true,\n false,\n 'LifiModal',\n )\n\n const [openNoBonusModal] = useModal(\n <NoBonusModal onAcknowledge={handleBothPurchases} showcaseTokenName={bondData?.showcaseTokenName} />,\n true,\n true,\n 'NoBonusModal',\n )\n // Effects\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 return bondData ? (\n <Flex className=\"modal-content\" sx={{ ...MCBuyComponentStyles[bondData?.marketingCampaign as MarketingCampaign] }}>\n <Flex className=\"modaltable-container\">\n <BondModalHeader bondData={bondData} onDismiss={onDismiss} hidePromotionUi />\n <ProjectDescription description={bondData.shortDescription} isProjectView />\n <Flex sx={{ width: '100%', display: isProjectView ? ['flex', 'flex', 'flex', 'none'] : 'flex' }}>\n <BondCards bondData={bondData} isDoingMaxBuy={exceedsSafeMaxBuy && !exceedsRealMaxBuy} />\n </Flex>\n <Estimations\n depositAmount={depositAmount}\n bondData={bondData}\n youSpendString={youSpendString}\n isZap={isZap}\n fetchingZapQuote={fetchingZapQuote}\n zapError={zapError}\n hidePromotionUi\n />\n <TokenSelectorPanel\n typedValue={inputValue}\n setTypedValue={setInputValue}\n selectedToken={inputToken}\n handleValueBtn={handleMaxButton}\n handleCurrencySelect={handleCurrencySelect}\n bondChainId={bondData?.chainId}\n enableZap={true}\n bondPrincipalToken={bondData?.lpToken}\n tokenBalance={inputCurrencyBalance ?? undefined}\n selectedTokenPrice={inputTokenPrice}\n isConnected={!!accountSolana}\n />\n {bondData?.warningCard && (\n <Flex\n sx={{\n width: '100%',\n background: '#DE62F366',\n justifyContent: 'center',\n mt: '10px',\n borderRadius: 'normal',\n p: '2px 10px',\n }}\n >\n <Text sx={{ fontSize: '12px', fontWeight: 400, display: 'flex', alignItems: 'center', gap: '10px' }}>\n <SafeHTMLComponent html={bondData?.warningCard} />\n {bondData?.chainId === ChainId.SONIC && bondData?.earnToken.symbol.toLowerCase() === 'moon' && (\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Text sx={{ textTransform: 'none' }}>\n Open the &#39;cog&#39; icon menu in the top right and set the Slippage Tolerance to 5% or more.\n </Text>\n }\n width=\"315px\"\n placement=\"topRight\"\n transformTip=\"translate(9%, -10%)\"\n >\n <QuestionCircle width={14} color=\"textDisabledButton\" />\n </TooltipBubble>\n )}\n </Text>\n </Flex>\n )}\n <Flex className=\"modaltable-container button-container\">\n <Flex className=\"button-container buy\">\n {!accountSolana ? (\n <ConnectSolanaWalletButton />\n ) : (\n <Flex sx={{ width: '100%', gap: '10px', flexDirection: ['column', 'column', 'column', 'row'] }}>\n <Button\n variant=\"secondary\"\n onClick={() => onOpenLifiModal()}\n sx={{ width: ['100%', '100%', '100%', '35%'], fontSize: ['14px', '14px', '14px', '16px'] }}\n >\n bridge to sol\n </Button>\n <Button\n className=\"action-button\"\n load={load}\n disabled={\n load ||\n bondData?.soldOut ||\n !accountSolana ||\n !inputValue ||\n parseFloat(inputValue) === 0 ||\n fetchingZapQuote ||\n zapError ||\n exceedsRealMaxBuy ||\n exceedsBalance ||\n (isZap && !jupiterQuote) ||\n SDKConfig.blockSales\n }\n onClick={handleOpenModal}\n sx={{ width: ['100%', '100%', '100%', '65%'], fontSize: ['14px', '14px', '14px', '16px'] }}\n >\n {SDKConfig.blockSales\n ? 'Complete KYC to Buy'\n : exceedsRealMaxBuy\n ? 'Exceeds Max Buy. Reduce amount'\n : exceedsBalance\n ? 'Insufficient balance'\n : zapError\n ? 'Swap quote failed'\n : !inputValue || parseFloat(inputValue) === 0\n ? 'Insert amount'\n : 'buy'}\n </Button>\n </Flex>\n )}\n </Flex>\n </Flex>\n </Flex>\n </Flex>\n ) : (\n <></>\n )\n}\n\nexport default BuyComponentSolana\n"],"names":["_jsx","_jsxs","ConnectSolanaWalletButton","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"BuyComponentSolana.js","sources":["../../../src/views/BuyBond/BuyComponentSolana.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from 'react'\nimport clsx from 'clsx'\nimport useModal from '../../hooks/useModal'\nimport { ChainId, MarketingCampaign } from '@ape.swap/apeswap-lists'\nimport TokenSelectorPanel from '../../components/TokenSelectorPanel'\nimport useBondsData from '../../state/bonds/useBondsData'\nimport useTokenFromZapList from '../../hooks/useTokenFromZapList'\nimport { usePopups } from '../../state/popups/usePopups'\nimport { formatUSDNumber, getMaxBuy, getPayoutAmount, getPrincipalAmount } from '../../utils/displayHelpers'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport { useSlippage } from '../../state/slippage/useSlippage'\nimport { getSymbol } from '../../utils/getNativeTicker'\nimport BondModalHeader from './components/BondModalHeader'\nimport BondCards from './components/BondCards/BondCards'\nimport Estimations from './components/Estimations'\nimport ProjectDescription from './components/ProjectDescription'\nimport NoBonusModal from './components/NoBonusModal/NoBonusModal'\nimport useJupiterSolanaQuote from '../../state/zap/useJupiterSolanaQuote'\nimport useSortedZapList from '../../hooks/useSortedZapList'\n\n// Solana\nimport ConnectSolanaWalletButton from '../../components/ConnectSolanaWalletButton/ConnectSolanaWalletButton'\nimport {\n PublicKey,\n SystemProgram,\n SYSVAR_INSTRUCTIONS_PUBKEY,\n Keypair,\n Transaction,\n Connection,\n TransactionInstruction,\n} from '@solana/web3.js'\nimport { createJupiterApiClient } from '@jup-ag/api'\nimport { derivePda } from '../../utils/derivePda'\nimport {\n getAssociatedTokenAddress,\n ASSOCIATED_TOKEN_PROGRAM_ID,\n createAssociatedTokenAccountInstruction,\n getAccount,\n} from '@solana/spl-token'\nimport { getBondIssuanceAccountSolana } from '../../utils/getSolanaAccount'\nimport { getU64Codec } from '@solana/kit'\nimport { DEPOSIT_DISCRIMINATOR, MPL_CORE_PROGRAM_ID, PROGRAM_ID } from '../../constants/solanaConstants'\nimport { Buffer } from 'buffer'\nimport { BondsData } from '../../types/bonds'\nimport { BondIssuanceAccount } from '../../types'\nimport { getRPC } from '../../config/constants/networks'\nimport { reportError } from '../../utils/reportError'\nimport SafeHTMLComponent from '../../components/SafeHTMLComponent'\nimport { findHighestTrueBondPrice } from '../../utils/bondPriceHelpers'\nimport track from '../../utils/track'\nimport { remove0xPrefix } from '../../utils/remove0xPrefix'\nimport { MCBuyComponentStyles } from '../../utils/campaignStyles'\nimport useSOLAccount from '../../hooks/accounts/useSOLAccount'\nimport { useSendReferenceId } from '../../hooks/useSendReferenceId'\nimport LifiModal from '../LifiModal/LifiModal'\nimport { getAtaWithCreateInstruction, getTokenProgramForMint } from '../../utils/solanaAtaHelper'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport Text from '../../components/uikit-sdk/Text'\nimport TooltipBubble from '../../components/uikit-sdk/TooltipBubble'\nimport Button from '../../components/uikit-sdk/Button/Button'\nimport { formatNumberSI } from '../../utils/formatNumber'\nimport QuestionCircle from '../../components/uikit-sdk/Svg/Icons/QuestionCircle'\nimport { mulDivRound, parseUnits, toFixedString } from '../../utils/fixedPoint'\n\n// price * (100 + slippage) / (100 * 1e6), scaled by 1e6 to preserve fractional slippage\n// percentages without a float precompute (matches this bond program's price scale).\nconst slippageMaxPriceSolana = (priceBig: bigint, slippage: number): bigint =>\n mulDivRound(priceBig, parseUnits(String(100 + slippage), 6), parseUnits('100', 6) * 1_000_000n, 'halfUp')\n\ninterface BuyComponentSolanaProps {\n onDismiss?: () => void // this is only the modal\n bondAddress?: string\n bondChain?: number\n setBillId?: (id: string) => void\n isProjectView?: boolean\n}\n\nconst BuyComponentSolana: React.FC<BuyComponentSolanaProps> = ({\n onDismiss,\n bondAddress,\n bondChain,\n isProjectView,\n setBillId,\n}) => {\n const SDKConfig = useSDKConfig()\n\n // Hooks\n const { publicKey: accountSolana, signTransaction } = useSOLAccount()\n const { data: bonds } = useBondsData()\n const { addToastError, addToastSuccess } = usePopups()\n const { solSlippage: slippage } = useSlippage()\n const sendReferenceId = useSendReferenceId()\n\n const bondData: BondsData | undefined = bonds?.find(\n (bond) => bond?.contractAddress?.[bond?.chainId]?.toLowerCase() === bondAddress?.toLowerCase(),\n )\n\n // Tier Gating\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\n // On-chain Data\n const inputToken = useTokenFromZapList(inputTokenString, bondData?.chainId, bondData?.lpToken)\n const isZap = inputTokenString?.toLowerCase() !== bondData?.lpToken?.address?.[bondData?.chainId]?.toLowerCase()\n\n const [\n fetchingZapQuote,\n jupiterQuote,\n zapDepositAmount,\n zapError,\n isDirectRoute,\n minimumDepositAmount,\n wrapAndUnwrapSol,\n ] = useJupiterSolanaQuote(inputValue, inputToken, bondData, accountSolana?.toBase58(), true, slippage)\n\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)} = \n $${formatUSDNumber((parseFloat(inputValue) * (inputTokenPrice ?? 0)).toString())}`\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 const exceedsBalance = Number(inputCurrencyBalance ?? '0') < Number(inputValue)\n\n // Loading State - include zap loading\n const [loadingTx, setLoadingTx] = useState(false)\n const load = loadingTx || (fetchingZapQuote && !!inputValue)\n\n // State 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] ?? 18\n const maxBuyAmount = getMaxBuy(bondData, SDKConfig.showLowValueBonds)\n\n if (!isZap) {\n const maxPossibleUserPurchase = getPayoutAmount(bondData, balance.toString(), '0')\n if (maxPossibleUserPurchase > maxBuyAmount) {\n console.log('user balance exceeds max buy limit, setting to max buy')\n const principalForMaxBuy = getPrincipalAmount(bondData, maxBuyAmount.toString(), '0')\n setInputValue(toFixedString(principalForMaxBuy, principalDecimals))\n } else {\n console.log('balance is ok, can be used')\n setInputValue(toFixedString(balance, principalDecimals))\n }\n } else {\n const principalForMaxBuy = getPrincipalAmount(bondData, maxBuyAmount.toString(), '0')\n const principalForMaxBuyUSD = principalForMaxBuy * Number(bondData?.principalTokenPrice ?? 0)\n const maxBuyAmountInSelectedToken = principalForMaxBuyUSD / (inputTokenPrice ?? 0)\n const decimals =\n enrichedTokenData?.token === 'NATIVE' ? 18 : (enrichedTokenData?.token.decimals[bondData?.chainId!] ?? 18)\n\n if (balance >= maxBuyAmountInSelectedToken) {\n setInputValue(toFixedString(maxBuyAmountInSelectedToken, decimals))\n } else {\n setInputValue(toFixedString(balance, decimals))\n }\n }\n }\n\n const handleBuyCallback = async () => {\n if (!accountSolana || !bondData || !inputValue || !inputToken || !bondData) 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 connection = new Connection(getRPC(ChainId.SOL), 'confirmed')\n\n // Convert input value\n const amountBigInt = parseUnits(inputValue, bondData.lpToken.decimals[ChainId.SOL]!)\n\n const user = accountSolana\n\n const trueBondPriceWithoutFee = bondData?.trueBondPrices?.[0]?.trueBondPrice\n\n const maxPrice = slippageMaxPriceSolana(BigInt(trueBondPriceWithoutFee ?? '0'), slippage).toString()\n\n // Static addresses\n const bondIssuancePda = new PublicKey(bondData.contractAddress[bondData.chainId]!)\n const principalMint = new PublicKey(bondData.lpToken.address[bondData.chainId]!)\n const payoutMint = new PublicKey(bondData.earnToken.address[bondData.chainId]!)\n const collection = new PublicKey(bondData.billNnftAddress[bondData.chainId]!)\n\n // Detect token programs for both mints (supports Token-2022)\n const [principalTokenProgram, payoutTokenProgram] = await Promise.all([\n getTokenProgramForMint(connection, principalMint),\n getTokenProgramForMint(connection, payoutMint),\n ])\n\n // Fetch Bond Issuance Account\n const bondIssuanceAccounts = (await getBondIssuanceAccountSolana([\n bondIssuancePda.toBase58(),\n ])) as BondIssuanceAccount[]\n if (!bondIssuanceAccounts) return\n const bondIssuanceAccount = bondIssuanceAccounts[0]\n const feeRecipient = new PublicKey(bondIssuanceAccount.feePrincipalRecipient)\n const partnerRecipient = new PublicKey(bondIssuanceAccount.partnerPrincipalRecipient)\n const feePayoutRecipient = new PublicKey(bondIssuanceAccount.feePayoutRecipient) // ADDED\n\n // Derive PDAs\n const bondTermPda = derivePda('bond_term', bondIssuancePda, PROGRAM_ID)\n const bondPricingPda = derivePda('bond_pricing', bondIssuancePda, PROGRAM_ID)\n\n // Create NFT mint\n const nftMint = Keypair.generate()\n\n const [bondPda] = PublicKey.findProgramAddressSync(\n [Buffer.from('bond'), bondIssuancePda.toBuffer(), nftMint.publicKey.toBuffer()],\n PROGRAM_ID,\n )\n\n // ATAs - use correct token program for each mint\n const userPrincipalAta = await getAssociatedTokenAddress(principalMint, user, true, principalTokenProgram)\n const treasuryAta = await getAssociatedTokenAddress(payoutMint, bondIssuancePda, true, payoutTokenProgram)\n const feePrincipalRecipientAta = await getAssociatedTokenAddress(\n principalMint,\n feeRecipient,\n true,\n principalTokenProgram,\n )\n const partnerPrincipalRecipientAta = await getAssociatedTokenAddress(\n principalMint,\n partnerRecipient,\n true,\n principalTokenProgram,\n )\n\n const { address: feePayoutRecipientAta, createInstruction: createPayoutFeeRecipientAtaIx } =\n await getAtaWithCreateInstruction(connection, payoutMint, feePayoutRecipient, user)\n\n // Encode args\n const u64Codec = getU64Codec()\n const amountEncoded = Buffer.from(u64Codec.encode(amountBigInt))\n const maxPriceEncoded = Buffer.from(u64Codec.encode(BigInt(maxPrice)))\n const instructionData = Buffer.concat([DEPOSIT_DISCRIMINATOR, amountEncoded, maxPriceEncoded])\n\n // Instruction\n const keys = [\n { pubkey: bondPda, isSigner: false, isWritable: true },\n { pubkey: nftMint.publicKey, isSigner: true, isWritable: true },\n { pubkey: user, isSigner: true, isWritable: true },\n { pubkey: bondPricingPda, isSigner: false, isWritable: true },\n { pubkey: bondTermPda, isSigner: false, isWritable: true },\n { pubkey: bondIssuancePda, isSigner: false, isWritable: true },\n { pubkey: collection, isSigner: false, isWritable: true },\n { pubkey: userPrincipalAta, isSigner: false, isWritable: true },\n { pubkey: feePrincipalRecipientAta, isSigner: false, isWritable: true },\n { pubkey: partnerPrincipalRecipientAta, isSigner: false, isWritable: true },\n { pubkey: feePayoutRecipientAta, isSigner: false, isWritable: true },\n { pubkey: treasuryAta, isSigner: false, isWritable: true },\n { pubkey: principalMint, isSigner: false, isWritable: false },\n { pubkey: payoutMint, isSigner: false, isWritable: false },\n { pubkey: SystemProgram.programId, isSigner: false, isWritable: false },\n { pubkey: principalTokenProgram, isSigner: false, isWritable: false }, // principal_token_program (dynamic)\n { pubkey: payoutTokenProgram, isSigner: false, isWritable: false }, // payout_token_program (dynamic)\n { pubkey: ASSOCIATED_TOKEN_PROGRAM_ID, isSigner: false, isWritable: false },\n { pubkey: MPL_CORE_PROGRAM_ID, isSigner: false, isWritable: false },\n { pubkey: SYSVAR_INSTRUCTIONS_PUBKEY, isSigner: false, isWritable: false },\n ]\n\n const instruction = new TransactionInstruction({\n keys,\n programId: PROGRAM_ID,\n data: instructionData,\n })\n\n // Create tx (prepend payout fee recipient ATA creation if needed)\n const transaction = new Transaction()\n if (createPayoutFeeRecipientAtaIx) transaction.add(createPayoutFeeRecipientAtaIx)\n transaction.add(instruction)\n transaction.feePayer = user\n\n const { blockhash, lastValidBlockHeight } = await connection.getLatestBlockhash('confirmed')\n transaction.recentBlockhash = blockhash\n // Sign tx\n transaction.partialSign(nftMint)\n const signedTx = await signTransaction?.(transaction)!\n\n // Sends tx, generates hash\n const txId = await connection.sendRawTransaction(signedTx.serialize(), {\n skipPreflight: false,\n preflightCommitment: 'confirmed',\n })\n\n // awaits hash confirmation on chain - commitment \"confirmed\"\n await connection.confirmTransaction(\n {\n signature: txId,\n blockhash,\n lastValidBlockHeight,\n },\n 'confirmed',\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(bondData?.contractAddress?.[bondData.chainId]),\n usdAmount: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n\n await sendReferenceId(bondData.contractAddress[bondData.chainId]!, ChainId.SOL, txId)\n\n // waits 3 seconds before triggering after-purchase flow\n await new Promise((resolve) => setTimeout(resolve, 3000))\n\n addToastSuccess(txId, bondChain)\n setBillId?.(nftMint.publicKey.toString())\n } catch (error: any) {\n console.error('Error during bond purchase:', error)\n addToastError(error?.message || 'Unknown error')\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error: error.message,\n extraInfo: { type: 'solanaBuyBond', error: error.message },\n chainId: bondChain,\n account: accountSolana.toString(),\n })\n } finally {\n setLoadingTx(false)\n }\n }\n\n // Helper: Build Jupiter swap instructions from API response\n const buildSwapInstructions = (swapResult: any) => {\n const swapInstruction = new TransactionInstruction({\n programId: new PublicKey(swapResult.swapInstruction.programId),\n keys: swapResult.swapInstruction.accounts.map((key: any) => ({\n pubkey: new PublicKey(key.pubkey),\n isSigner: key.isSigner,\n isWritable: key.isWritable,\n })),\n data: Buffer.from(swapResult.swapInstruction.data, 'base64'),\n })\n\n const setupInstructions = (swapResult.setupInstructions || []).map(\n (ix: any) =>\n new TransactionInstruction({\n programId: new PublicKey(ix.programId),\n keys: ix.accounts.map((key: any) => ({\n pubkey: new PublicKey(key.pubkey),\n isSigner: key.isSigner,\n isWritable: key.isWritable,\n })),\n data: Buffer.from(ix.data, 'base64'),\n }),\n )\n\n return { setupInstructions, swapInstruction }\n }\n\n // Helper: Build bond instruction with specified amount\n const buildBondInstruction = (amount: bigint, maxPriceEncoded: Buffer, bondKeys: any[]) => {\n const u64Codec = getU64Codec()\n const amountEncoded = Buffer.from(u64Codec.encode(amount))\n const instructionData = Buffer.concat([DEPOSIT_DISCRIMINATOR, amountEncoded, maxPriceEncoded])\n\n return new TransactionInstruction({\n keys: bondKeys,\n programId: PROGRAM_ID,\n data: instructionData,\n })\n }\n\n // Helper: Ensure user's principal token account exists\n const ensureUserPrincipalAtaExists = async (\n connection: Connection,\n payer: PublicKey,\n principalMint: PublicKey,\n user: PublicKey,\n tokenProgram: PublicKey,\n ): Promise<{ ataAddress: PublicKey; createInstruction: TransactionInstruction | null }> => {\n const userPrincipalAta = await getAssociatedTokenAddress(principalMint, user, true, tokenProgram)\n\n try {\n // Check if account exists\n await getAccount(connection, userPrincipalAta, undefined, tokenProgram)\n return { ataAddress: userPrincipalAta, createInstruction: null }\n } catch {\n // Account doesn't exist, return instruction to create it\n const createAtaIx = createAssociatedTokenAccountInstruction(\n payer, // fee payer\n userPrincipalAta, // ATA to create\n user, // owner of ATA\n principalMint, // mint\n tokenProgram, // token program\n )\n return { ataAddress: userPrincipalAta, createInstruction: createAtaIx }\n }\n }\n\n // Helper: Track zap events\n const trackZapEvents = (txType: 'single-tx' | 'two-tx') => {\n track({\n event: 'zap',\n chain: bondChain,\n data: {\n cat: 'bond',\n token1: getSymbol(inputToken),\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: `zap-buy-${txType}`,\n type: bondData?.billType ?? '',\n typedValue: inputValue,\n principalToken: bondData?.lpToken.symbol ?? '',\n earnToken: bondData?.earnToken.symbol ?? '',\n address: remove0xPrefix(bondData?.contractAddress?.[bondData.chainId]),\n usdAmount: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n }\n\n const handleZapCallback = async () => {\n if (loadingTx || !accountSolana || !bondData || !jupiterQuote || !signTransaction) 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 connection = new Connection(getRPC(ChainId.SOL), 'confirmed')\n const jupiterApi = createJupiterApiClient()\n\n // STEP 1: Calculate bond parameters and prepare accounts\n const trueBondPriceWithoutFee = bondData?.trueBondPrices?.[0]?.trueBondPrice\n const maxPrice = slippageMaxPriceSolana(BigInt(trueBondPriceWithoutFee ?? '0'), slippage).toString()\n console.log(isDirectRoute ? 'Using direct route' : 'Using multi-hop route')\n const depositAmountForBond = isDirectRoute ? minimumDepositAmount : zapDepositAmount\n\n const amountBigInt = parseUnits(depositAmountForBond, bondData.lpToken.decimals[ChainId.SOL]!)\n\n const bondIssuancePda = new PublicKey(bondData.contractAddress[bondData.chainId]!)\n const principalMint = new PublicKey(bondData.lpToken.address[bondData.chainId]!)\n const payoutMint = new PublicKey(bondData.earnToken.address[bondData.chainId]!)\n const collection = new PublicKey(bondData.billNnftAddress[bondData.chainId]!)\n\n // Detect token programs for both mints (supports Token-2022)\n const [principalTokenProgram, payoutTokenProgram] = await Promise.all([\n getTokenProgramForMint(connection, principalMint),\n getTokenProgramForMint(connection, payoutMint),\n ])\n\n const bondIssuanceAccounts = (await getBondIssuanceAccountSolana([\n bondIssuancePda.toBase58(),\n ])) as BondIssuanceAccount[]\n if (!bondIssuanceAccounts) throw new Error('Failed to fetch bond issuance account')\n\n const bondIssuanceAccount = bondIssuanceAccounts[0]\n const feeRecipient = new PublicKey(bondIssuanceAccount.feePrincipalRecipient)\n const partnerRecipient = new PublicKey(bondIssuanceAccount.partnerPrincipalRecipient)\n const feePayoutRecipient = new PublicKey(bondIssuanceAccount.feePayoutRecipient)\n\n const bondTermPda = derivePda('bond_term', bondIssuancePda, PROGRAM_ID)\n const bondPricingPda = derivePda('bond_pricing', bondIssuancePda, PROGRAM_ID)\n\n const nftMint = Keypair.generate()\n const [bondPda] = PublicKey.findProgramAddressSync(\n [Buffer.from('bond'), bondIssuancePda.toBuffer(), nftMint.publicKey.toBuffer()],\n PROGRAM_ID,\n )\n\n // Ensure user's USDC account exists, get creation instruction if needed\n const { ataAddress: userPrincipalAta, createInstruction: createPrincipalAtaIx } =\n await ensureUserPrincipalAtaExists(\n connection,\n accountSolana,\n principalMint,\n accountSolana,\n principalTokenProgram,\n )\n const treasuryAta = await getAssociatedTokenAddress(payoutMint, bondIssuancePda, true, payoutTokenProgram)\n const feePrincipalRecipientAta = await getAssociatedTokenAddress(\n principalMint,\n feeRecipient,\n true,\n principalTokenProgram,\n )\n const partnerPrincipalRecipientAta = await getAssociatedTokenAddress(\n principalMint,\n partnerRecipient,\n true,\n principalTokenProgram,\n )\n const { address: feePayoutRecipientAta, createInstruction: createPayoutFeeRecipientAtaIx } =\n await getAtaWithCreateInstruction(connection, payoutMint, feePayoutRecipient, accountSolana)\n\n const u64Codec = getU64Codec()\n const maxPriceEncoded = Buffer.from(u64Codec.encode(BigInt(maxPrice)))\n\n const bondKeys = [\n { pubkey: bondPda, isSigner: false, isWritable: true },\n { pubkey: nftMint.publicKey, isSigner: true, isWritable: true },\n { pubkey: accountSolana, isSigner: true, isWritable: true },\n { pubkey: bondPricingPda, isSigner: false, isWritable: true },\n { pubkey: bondTermPda, isSigner: false, isWritable: true },\n { pubkey: bondIssuancePda, isSigner: false, isWritable: true },\n { pubkey: collection, isSigner: false, isWritable: true },\n { pubkey: userPrincipalAta, isSigner: false, isWritable: true },\n { pubkey: feePrincipalRecipientAta, isSigner: false, isWritable: true },\n { pubkey: partnerPrincipalRecipientAta, isSigner: false, isWritable: true },\n { pubkey: feePayoutRecipientAta, isSigner: false, isWritable: true },\n { pubkey: treasuryAta, isSigner: false, isWritable: true },\n { pubkey: principalMint, isSigner: false, isWritable: false },\n { pubkey: payoutMint, isSigner: false, isWritable: false },\n { pubkey: SystemProgram.programId, isSigner: false, isWritable: false },\n { pubkey: principalTokenProgram, isSigner: false, isWritable: false }, // principal_token_program (dynamic)\n { pubkey: payoutTokenProgram, isSigner: false, isWritable: false }, // payout_token_program (dynamic)\n { pubkey: ASSOCIATED_TOKEN_PROGRAM_ID, isSigner: false, isWritable: false },\n { pubkey: MPL_CORE_PROGRAM_ID, isSigner: false, isWritable: false },\n { pubkey: SYSVAR_INSTRUCTIONS_PUBKEY, isSigner: false, isWritable: false },\n ]\n\n // Build initial bond instruction (for single-tx attempt)\n const bondInstruction = buildBondInstruction(amountBigInt, maxPriceEncoded, bondKeys)\n\n // STEP 2: Get Jupiter swap instructions\n const swapResult = await jupiterApi.swapInstructionsPost({\n swapRequest: {\n quoteResponse: jupiterQuote,\n userPublicKey: accountSolana.toBase58(),\n wrapAndUnwrapSol: wrapAndUnwrapSol,\n dynamicComputeUnitLimit: true,\n prioritizationFeeLamports: {\n priorityLevelWithMaxLamports: {\n maxLamports: 4000000,\n priorityLevel: 'veryHigh',\n },\n },\n },\n })\n\n console.log('=== TRANSACTION SIZE ANALYSIS ===')\n console.log('Route used:', jupiterQuote.routePlan?.map((r) => r.swapInfo.label).join(' -> '))\n console.log('Swap accounts:', swapResult.swapInstruction.accounts.length)\n console.log('Setup instructions count:', swapResult.setupInstructions?.length || 0)\n\n let totalAccounts = swapResult.swapInstruction.accounts.length\n swapResult.setupInstructions?.forEach((ix, i) => {\n console.log(` Setup ${i}: ${ix.accounts.length} accounts`)\n totalAccounts += ix.accounts.length\n })\n\n console.log('Bond instruction accounts:', 20)\n console.log('Total accounts:', totalAccounts + 20)\n console.log('=== END ANALYSIS ===')\n\n // STEP 3: TRY SINGLE TRANSACTION (if direct route)\n if (isDirectRoute) {\n try {\n // Build swap instructions\n const { setupInstructions, swapInstruction } = buildSwapInstructions(swapResult)\n const setupIxs = [\n ...(createPrincipalAtaIx ? [createPrincipalAtaIx] : []),\n ...(createPayoutFeeRecipientAtaIx ? [createPayoutFeeRecipientAtaIx] : []),\n ...setupInstructions,\n ]\n const allInstructions = [...setupIxs, swapInstruction, bondInstruction]\n const { blockhash, lastValidBlockHeight } = await connection.getLatestBlockhash('confirmed')\n\n const combinedTx = new Transaction()\n combinedTx.add(...allInstructions)\n combinedTx.recentBlockhash = blockhash\n combinedTx.feePayer = accountSolana\n combinedTx.partialSign(nftMint)\n\n // Check size - account for signatures\n const messageSize = combinedTx.serializeMessage().length\n const numSignatures = combinedTx.signatures.length // Should be 2: nftMint + accountSolana\n const signatureOverhead = 1 + numSignatures * 64 // 1 byte for count + 64 bytes per signature\n const estimatedTxSize = messageSize + signatureOverhead\n\n console.log(`Combined transaction size: ${estimatedTxSize} bytes (limit: 1232 bytes)`)\n\n if (estimatedTxSize > 1232) {\n console.log('Transaction too large, falling back to two transactions')\n throw new Error('TRANSACTION_TOO_LARGE')\n }\n\n // Execute single transaction!\n console.log('Transaction fits. Executing combined swap + bond')\n const signedTx = await signTransaction(combinedTx)\n const txId = await connection.sendRawTransaction(signedTx.serialize(), {\n skipPreflight: false,\n preflightCommitment: 'confirmed',\n })\n\n await connection.confirmTransaction({ signature: txId, blockhash, lastValidBlockHeight }, 'confirmed')\n\n console.log('SINGLE transaction confirmed:', txId)\n\n // Track success\n trackZapEvents('single-tx')\n await sendReferenceId(bondData.contractAddress[bondData.chainId]!, ChainId.SOL, txId)\n\n await new Promise((resolve) => setTimeout(resolve, 3000))\n addToastSuccess(txId, bondChain)\n setBillId?.(nftMint.publicKey.toString())\n return\n } catch (singleTxError: any) {\n if (singleTxError.message !== 'TRANSACTION_TOO_LARGE') {\n throw singleTxError\n }\n console.log('Falling back to two separate transactions...')\n }\n }\n\n // STEP 4: FALLBACK - TWO SEPARATE TRANSACTIONS\n console.log('Executing TWO separate transactions...')\n\n // Execute swap first\n const { setupInstructions, swapInstruction } = buildSwapInstructions(swapResult)\n const swapSetupIxs = [...(createPrincipalAtaIx ? [createPrincipalAtaIx] : []), ...setupInstructions]\n const swapTx = new Transaction().add(...swapSetupIxs, swapInstruction)\n swapTx.feePayer = accountSolana\n const { blockhash: swapBlockhash, lastValidBlockHeight: swapLastValid } =\n await connection.getLatestBlockhash('confirmed')\n swapTx.recentBlockhash = swapBlockhash\n\n const signedSwapTx = await signTransaction(swapTx)\n const swapTxId = await connection.sendRawTransaction(signedSwapTx.serialize(), {\n skipPreflight: false,\n preflightCommitment: 'confirmed',\n })\n\n await connection.confirmTransaction(\n { signature: swapTxId, blockhash: swapBlockhash, lastValidBlockHeight: swapLastValid },\n 'confirmed',\n )\n console.log('Swap transaction confirmed:', swapTxId)\n\n // QUERY ACTUAL BALANCE RECEIVED FROM SWAP\n const principalTokenBalance = await connection.getTokenAccountBalance(userPrincipalAta)\n const actualAmount = BigInt(principalTokenBalance.value.amount)\n\n // REBUILD BOND INSTRUCTION WITH ACTUAL AMOUNT\n const actualBondInstruction = buildBondInstruction(actualAmount, maxPriceEncoded, bondKeys)\n\n const bondTx = new Transaction()\n if (createPayoutFeeRecipientAtaIx) bondTx.add(createPayoutFeeRecipientAtaIx)\n bondTx.add(actualBondInstruction)\n bondTx.feePayer = accountSolana\n const { blockhash, lastValidBlockHeight } = await connection.getLatestBlockhash('confirmed')\n bondTx.recentBlockhash = blockhash\n bondTx.partialSign(nftMint)\n\n const signedBondTx = await signTransaction(bondTx)\n const bondTxId = await connection.sendRawTransaction(signedBondTx.serialize(), {\n skipPreflight: false,\n preflightCommitment: 'confirmed',\n })\n\n await connection.confirmTransaction({ signature: bondTxId, blockhash, lastValidBlockHeight }, 'confirmed')\n console.log('Bond transaction confirmed:', bondTxId)\n\n // Track both transactions\n trackZapEvents('two-tx')\n await sendReferenceId(bondData.contractAddress[bondData.chainId]!, ChainId.SOL, bondTxId)\n\n await new Promise((resolve) => setTimeout(resolve, 3000))\n addToastSuccess(bondTxId, bondChain)\n setBillId?.(nftMint.publicKey.toString())\n } catch (error: any) {\n console.error('Error during zap + bond purchase:', error)\n addToastError(error?.message || 'Unknown error during swap and bond')\n\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error: error.message,\n extraInfo: {\n type: 'solanaJupiterZapBuyBond',\n error: error.message,\n isDirectRoute,\n quote: jupiterQuote,\n },\n chainId: bondChain,\n account: accountSolana.toString(),\n })\n } finally {\n setLoadingTx(false)\n }\n }\n\n const handleBothPurchases = () => {\n if (loadingTx) return // Prevent duplicate calls\n setLoadingTx(true)\n if (isZap) {\n handleZapCallback().finally(() => setLoadingTx(false))\n } else {\n handleBuyCallback().finally(() => setLoadingTx(false))\n }\n }\n\n const handleOpenModal = () => {\n const bonus = trueBondPriceData?.bonusWithFee ?? 0\n if (bonus <= 0) {\n openNoBonusModal()\n } else {\n handleBothPurchases()\n }\n }\n\n // Modals\n const [onOpenLifiModal] = useModal(\n <LifiModal bondChain={1151111081099710} principalToken={bondData?.lpToken?.address?.[bondData?.chainId]} />,\n true,\n false,\n 'LifiModal',\n )\n\n const [openNoBonusModal] = useModal(\n <NoBonusModal onAcknowledge={handleBothPurchases} showcaseTokenName={bondData?.showcaseTokenName} />,\n true,\n true,\n 'NoBonusModal',\n )\n // Effects\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 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 bondData={bondData}\n youSpendString={youSpendString}\n isZap={isZap}\n fetchingZapQuote={fetchingZapQuote}\n zapError={zapError}\n hidePromotionUi\n />\n <TokenSelectorPanel\n typedValue={inputValue}\n setTypedValue={setInputValue}\n selectedToken={inputToken}\n handleValueBtn={handleMaxButton}\n handleCurrencySelect={handleCurrencySelect}\n bondChainId={bondData?.chainId}\n enableZap={true}\n bondPrincipalToken={bondData?.lpToken}\n tokenBalance={inputCurrencyBalance ?? undefined}\n selectedTokenPrice={inputTokenPrice}\n isConnected={!!accountSolana}\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 size=\"12px\" className=\"ape:font-normal ape:flex ape:items-center ape:gap-[10px]\">\n <SafeHTMLComponent html={bondData?.warningCard} />\n {bondData?.chainId === ChainId.SONIC && bondData?.earnToken.symbol.toLowerCase() === 'moon' && (\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Text className=\"ape:normal-case\">\n Open the &#39;cog&#39; icon menu in the top right and set the Slippage Tolerance to 5% or more.\n </Text>\n }\n width=\"315px\"\n placement=\"topRight\"\n transformTip=\"translate(9%, -10%)\"\n >\n <QuestionCircle width={14} color=\"textDisabledButton\" />\n </TooltipBubble>\n )}\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 {!accountSolana ? (\n <ConnectSolanaWalletButton />\n ) : (\n <Flex className=\"ape:w-full ape:gap-[10px] ape:flex-col ape:lg:flex-row\">\n <Button\n variant=\"secondary\"\n onClick={() => onOpenLifiModal()}\n className=\"ape:w-full ape:lg:w-[35%] ape:text-[14px]! ape:lg:text-[16px]!\"\n >\n bridge to sol\n </Button>\n <Button\n className=\"action-button ape:w-full ape:lg:w-[65%] ape:text-[14px]! ape:lg:text-[16px]!\"\n load={load}\n disabled={\n load ||\n bondData?.soldOut ||\n !accountSolana ||\n !inputValue ||\n parseFloat(inputValue) === 0 ||\n fetchingZapQuote ||\n zapError ||\n exceedsRealMaxBuy ||\n exceedsBalance ||\n (isZap && !jupiterQuote) ||\n SDKConfig.blockSales\n }\n onClick={handleOpenModal}\n >\n {SDKConfig.blockSales\n ? 'Complete KYC to Buy'\n : exceedsRealMaxBuy\n ? 'Exceeds Max Buy. Reduce amount'\n : exceedsBalance\n ? 'Insufficient balance'\n : zapError\n ? 'Swap quote failed'\n : !inputValue || parseFloat(inputValue) === 0\n ? 'Insert amount'\n : 'buy'}\n </Button>\n </Flex>\n )}\n </Flex>\n </Flex>\n </Flex>\n </Flex>\n ) : (\n <></>\n )\n}\n\nexport default BuyComponentSolana\n"],"names":["_jsx","_jsxs","ConnectSolanaWalletButton","_Fragment"],"mappings":"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"}
@@ -1,5 +1,6 @@
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
6
  import useSuiZapQuote, { AFTERMATH_TX_API_URL } from '../../state/zap/useSuiZapQuote.js';
@@ -462,14 +463,7 @@ const BuyComponentSui = ({ onDismiss, bondAddress, bondChain, isProjectView, set
462
463
  !SDKConfig.blockSales &&
463
464
  !zapError &&
464
465
  !(isZap && !aftermathQuote);
465
- 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: {
466
- width: '100%',
467
- background: '#DE62F366',
468
- justifyContent: 'center',
469
- mt: '10px',
470
- borderRadius: 'normal',
471
- p: '2px 10px',
472
- }, 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, { 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
473
467
  ? 'Complete KYC to Buy'
474
468
  : zapError
475
469
  ? 'Swap quote failed'