@ape.swap/bonds-sdk 3.1.8 → 3.1.9-test.3

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 (736) hide show
  1. package/dist/components/BondFilters/BondFilters.js +41 -0
  2. package/dist/components/BondFilters/BondFilters.js.map +1 -0
  3. package/dist/components/ChainOptionList/ChainOptionsButtons.js +35 -0
  4. package/dist/components/ChainOptionList/ChainOptionsButtons.js.map +1 -0
  5. package/dist/components/ChainOptionList/ChainOptionsList.js +41 -0
  6. package/dist/components/ChainOptionList/ChainOptionsList.js.map +1 -0
  7. package/dist/components/ChainOptionList/constants.js +11 -0
  8. package/dist/components/ChainOptionList/constants.js.map +1 -0
  9. package/dist/components/ChainOptionList/styles.js +54 -0
  10. package/dist/components/ChainOptionList/styles.js.map +1 -0
  11. package/dist/components/ConnectButton/AppKitButton.js +22 -0
  12. package/dist/components/ConnectButton/AppKitButton.js.map +1 -0
  13. package/dist/components/ConnectButton/RainbowKitButton.js +35 -0
  14. package/dist/components/ConnectButton/RainbowKitButton.js.map +1 -0
  15. package/dist/components/ConnectButton/index.js +26 -0
  16. package/dist/components/ConnectButton/index.js.map +1 -0
  17. package/dist/components/FavIcons/AddFavToken.js +34 -0
  18. package/dist/components/FavIcons/AddFavToken.js.map +1 -0
  19. package/dist/components/FavIcons/FavFilter.js +29 -0
  20. package/dist/components/FavIcons/FavFilter.js.map +1 -0
  21. package/dist/components/LoadingSpinner/index.js +50 -0
  22. package/dist/components/LoadingSpinner/index.js.map +1 -0
  23. package/dist/components/MenuSelect/MenuSelect.js +30 -0
  24. package/dist/components/MenuSelect/MenuSelect.js.map +1 -0
  25. package/dist/components/MenuSelect/RecommendationSelector.js +57 -0
  26. package/dist/components/MenuSelect/RecommendationSelector.js.map +1 -0
  27. package/dist/components/NetworkFilter/index.js +112 -0
  28. package/dist/components/NetworkFilter/index.js.map +1 -0
  29. package/dist/components/PlaceholderMonkey/index.js +31 -0
  30. package/dist/components/PlaceholderMonkey/index.js.map +1 -0
  31. package/dist/components/ProgressBar/ProgressBar.js +11 -0
  32. package/dist/components/ProgressBar/ProgressBar.js.map +1 -0
  33. package/dist/components/ProgressBar/ProgressBarWrapper.js +23 -0
  34. package/dist/components/ProgressBar/ProgressBarWrapper.js.map +1 -0
  35. package/dist/components/ProgressBar/styles.js +15 -0
  36. package/dist/components/ProgressBar/styles.js.map +1 -0
  37. package/dist/components/SafeHTMLComponent/index.js +30 -0
  38. package/dist/components/SafeHTMLComponent/index.js.map +1 -0
  39. package/dist/components/SlippageModal/index.js +70 -0
  40. package/dist/components/SlippageModal/index.js.map +1 -0
  41. package/dist/components/StepBubble/index.js +61 -0
  42. package/dist/components/StepBubble/index.js.map +1 -0
  43. package/dist/components/Toast/index.js +55 -0
  44. package/dist/components/Toast/index.js.map +1 -0
  45. package/dist/components/Toast/styles.js +30 -0
  46. package/dist/components/Toast/styles.js.map +1 -0
  47. package/dist/components/TokenInfoAndName/index.js +66 -0
  48. package/dist/components/TokenInfoAndName/index.js.map +1 -0
  49. package/dist/components/TokenSelectorModal/TokenRow.js +31 -0
  50. package/dist/components/TokenSelectorModal/TokenRow.js.map +1 -0
  51. package/dist/components/TokenSelectorModal/index.js +62 -0
  52. package/dist/components/TokenSelectorModal/index.js.map +1 -0
  53. package/dist/components/TokenSelectorPanel/index.js +55 -0
  54. package/dist/components/TokenSelectorPanel/index.js.map +1 -0
  55. package/dist/components/Tooltip/ButtonsRow.js +36 -0
  56. package/dist/components/Tooltip/ButtonsRow.js.map +1 -0
  57. package/dist/components/Tooltip/Tooltip.js +46 -0
  58. package/dist/components/Tooltip/Tooltip.js.map +1 -0
  59. package/dist/components/Tooltip/styles.js +32 -0
  60. package/dist/components/Tooltip/styles.js.map +1 -0
  61. package/dist/components/YouTooltip/YouTooltip.js +44 -0
  62. package/dist/components/YouTooltip/YouTooltip.js.map +1 -0
  63. package/dist/components/uikit-sdk/Button/Button.js +84 -0
  64. package/dist/components/uikit-sdk/Button/Button.js.map +1 -0
  65. package/dist/components/uikit-sdk/Button/IconButton.js +23 -0
  66. package/dist/components/uikit-sdk/Button/IconButton.js.map +1 -0
  67. package/dist/components/uikit-sdk/Button/styles.js +31 -0
  68. package/dist/components/uikit-sdk/Button/styles.js.map +1 -0
  69. package/dist/components/uikit-sdk/Button/types.js +39 -0
  70. package/dist/components/uikit-sdk/Button/types.js.map +1 -0
  71. package/dist/components/uikit-sdk/Checkbox/index.js +25 -0
  72. package/dist/components/uikit-sdk/Checkbox/index.js.map +1 -0
  73. package/dist/components/uikit-sdk/Checkbox/types.js +8 -0
  74. package/dist/components/uikit-sdk/Checkbox/types.js.map +1 -0
  75. package/dist/components/uikit-sdk/Flex/index.js +9 -0
  76. package/dist/components/uikit-sdk/Flex/index.js.map +1 -0
  77. package/dist/components/uikit-sdk/Input/Input.js +53 -0
  78. package/dist/components/uikit-sdk/Input/Input.js.map +1 -0
  79. package/dist/components/uikit-sdk/LoadingDots/index.js +41 -0
  80. package/dist/components/uikit-sdk/LoadingDots/index.js.map +1 -0
  81. package/dist/components/uikit-sdk/Modal/ModalHeader.js +13 -0
  82. package/dist/components/uikit-sdk/Modal/ModalHeader.js.map +1 -0
  83. package/dist/components/uikit-sdk/Modal/index.js +26 -0
  84. package/dist/components/uikit-sdk/Modal/index.js.map +1 -0
  85. package/dist/components/uikit-sdk/Modal/styles.js +47 -0
  86. package/dist/components/uikit-sdk/Modal/styles.js.map +1 -0
  87. package/dist/components/uikit-sdk/Select/Select.js +51 -0
  88. package/dist/components/uikit-sdk/Select/Select.js.map +1 -0
  89. package/dist/components/uikit-sdk/Select/SelectItem.js +20 -0
  90. package/dist/components/uikit-sdk/Select/SelectItem.js.map +1 -0
  91. package/dist/components/uikit-sdk/Select/styles.js +50 -0
  92. package/dist/components/uikit-sdk/Select/styles.js.map +1 -0
  93. package/dist/components/uikit-sdk/Select/types.d.ts +1 -1
  94. package/dist/components/uikit-sdk/Select/types.js +39 -0
  95. package/dist/components/uikit-sdk/Select/types.js.map +1 -0
  96. package/dist/components/uikit-sdk/Skeleton/index.js +16 -0
  97. package/dist/components/uikit-sdk/Skeleton/index.js.map +1 -0
  98. package/dist/components/uikit-sdk/Skeleton/styles.js +43 -0
  99. package/dist/components/uikit-sdk/Skeleton/styles.js.map +1 -0
  100. package/dist/components/uikit-sdk/Skeleton/types.js +13 -0
  101. package/dist/components/uikit-sdk/Skeleton/types.js.map +1 -0
  102. package/dist/components/uikit-sdk/Svg/Icons/AbondFullLogo.js +18 -0
  103. package/dist/components/uikit-sdk/Svg/Icons/AbondFullLogo.js.map +1 -0
  104. package/dist/components/uikit-sdk/Svg/Icons/AbondSmallLogo.js +8 -0
  105. package/dist/components/uikit-sdk/Svg/Icons/AbondSmallLogo.js.map +1 -0
  106. package/dist/components/uikit-sdk/Svg/Icons/AccountMonkey.js +18 -0
  107. package/dist/components/uikit-sdk/Svg/Icons/AccountMonkey.js.map +1 -0
  108. package/dist/components/uikit-sdk/Svg/Icons/AllChains.js +8 -0
  109. package/dist/components/uikit-sdk/Svg/Icons/AllChains.js.map +1 -0
  110. package/dist/components/uikit-sdk/Svg/Icons/ApebondLogo.js +19 -0
  111. package/dist/components/uikit-sdk/Svg/Icons/ApebondLogo.js.map +1 -0
  112. package/dist/components/uikit-sdk/Svg/Icons/ApeswapSmallLogo.js +8 -0
  113. package/dist/components/uikit-sdk/Svg/Icons/ApeswapSmallLogo.js.map +1 -0
  114. package/dist/components/uikit-sdk/Svg/Icons/Arrow.js +18 -0
  115. package/dist/components/uikit-sdk/Svg/Icons/Arrow.js.map +1 -0
  116. package/dist/components/uikit-sdk/Svg/Icons/Audit.js +18 -0
  117. package/dist/components/uikit-sdk/Svg/Icons/Audit.js.map +1 -0
  118. package/dist/components/uikit-sdk/Svg/Icons/BananaIcon.js +8 -0
  119. package/dist/components/uikit-sdk/Svg/Icons/BananaIcon.js.map +1 -0
  120. package/dist/components/uikit-sdk/Svg/Icons/BillsM1.js +18 -0
  121. package/dist/components/uikit-sdk/Svg/Icons/BillsM1.js.map +1 -0
  122. package/dist/components/uikit-sdk/Svg/Icons/BillsM2.js +19 -0
  123. package/dist/components/uikit-sdk/Svg/Icons/BillsM2.js.map +1 -0
  124. package/dist/components/uikit-sdk/Svg/Icons/BillsM3.js +18 -0
  125. package/dist/components/uikit-sdk/Svg/Icons/BillsM3.js.map +1 -0
  126. package/dist/components/uikit-sdk/Svg/Icons/Bridge.js +18 -0
  127. package/dist/components/uikit-sdk/Svg/Icons/Bridge.js.map +1 -0
  128. package/dist/components/uikit-sdk/Svg/Icons/Bubble.js +18 -0
  129. package/dist/components/uikit-sdk/Svg/Icons/Bubble.js.map +1 -0
  130. package/dist/components/uikit-sdk/Svg/Icons/Calculator.js +18 -0
  131. package/dist/components/uikit-sdk/Svg/Icons/Calculator.js.map +1 -0
  132. package/dist/components/uikit-sdk/Svg/Icons/Calendar.js +8 -0
  133. package/dist/components/uikit-sdk/Svg/Icons/Calendar.js.map +1 -0
  134. package/dist/components/uikit-sdk/Svg/Icons/Cancelled.js +18 -0
  135. package/dist/components/uikit-sdk/Svg/Icons/Cancelled.js.map +1 -0
  136. package/dist/components/uikit-sdk/Svg/Icons/Card.js +18 -0
  137. package/dist/components/uikit-sdk/Svg/Icons/Card.js.map +1 -0
  138. package/dist/components/uikit-sdk/Svg/Icons/Caret.js +18 -0
  139. package/dist/components/uikit-sdk/Svg/Icons/Caret.js.map +1 -0
  140. package/dist/components/uikit-sdk/Svg/Icons/Chain.js +10 -0
  141. package/dist/components/uikit-sdk/Svg/Icons/Chain.js.map +1 -0
  142. package/dist/components/uikit-sdk/Svg/Icons/Chart.js +18 -0
  143. package/dist/components/uikit-sdk/Svg/Icons/Chart.js.map +1 -0
  144. package/dist/components/uikit-sdk/Svg/Icons/Chat.js +18 -0
  145. package/dist/components/uikit-sdk/Svg/Icons/Chat.js.map +1 -0
  146. package/dist/components/uikit-sdk/Svg/Icons/Close.js +11 -0
  147. package/dist/components/uikit-sdk/Svg/Icons/Close.js.map +1 -0
  148. package/dist/components/uikit-sdk/Svg/Icons/Cog.js +18 -0
  149. package/dist/components/uikit-sdk/Svg/Icons/Cog.js.map +1 -0
  150. package/dist/components/uikit-sdk/Svg/Icons/Collapse.js +18 -0
  151. package/dist/components/uikit-sdk/Svg/Icons/Collapse.js.map +1 -0
  152. package/dist/components/uikit-sdk/Svg/Icons/Copy.js +18 -0
  153. package/dist/components/uikit-sdk/Svg/Icons/Copy.js.map +1 -0
  154. package/dist/components/uikit-sdk/Svg/Icons/Discord.js +18 -0
  155. package/dist/components/uikit-sdk/Svg/Icons/Discord.js.map +1 -0
  156. package/dist/components/uikit-sdk/Svg/Icons/DiscordNew.js +18 -0
  157. package/dist/components/uikit-sdk/Svg/Icons/DiscordNew.js.map +1 -0
  158. package/dist/components/uikit-sdk/Svg/Icons/Docs.js +18 -0
  159. package/dist/components/uikit-sdk/Svg/Icons/Docs.js.map +1 -0
  160. package/dist/components/uikit-sdk/Svg/Icons/DocsV2.js +18 -0
  161. package/dist/components/uikit-sdk/Svg/Icons/DocsV2.js.map +1 -0
  162. package/dist/components/uikit-sdk/Svg/Icons/Ellipse.js +18 -0
  163. package/dist/components/uikit-sdk/Svg/Icons/Ellipse.js.map +1 -0
  164. package/dist/components/uikit-sdk/Svg/Icons/Error.js +18 -0
  165. package/dist/components/uikit-sdk/Svg/Icons/Error.js.map +1 -0
  166. package/dist/components/uikit-sdk/Svg/Icons/Expand.js +18 -0
  167. package/dist/components/uikit-sdk/Svg/Icons/Expand.js.map +1 -0
  168. package/dist/components/uikit-sdk/Svg/Icons/Explorer.js +18 -0
  169. package/dist/components/uikit-sdk/Svg/Icons/Explorer.js.map +1 -0
  170. package/dist/components/uikit-sdk/Svg/Icons/External.js +18 -0
  171. package/dist/components/uikit-sdk/Svg/Icons/External.js.map +1 -0
  172. package/dist/components/uikit-sdk/Svg/Icons/Farcaster.js +8 -0
  173. package/dist/components/uikit-sdk/Svg/Icons/Farcaster.js.map +1 -0
  174. package/dist/components/uikit-sdk/Svg/Icons/Farm.js +18 -0
  175. package/dist/components/uikit-sdk/Svg/Icons/Farm.js.map +1 -0
  176. package/dist/components/uikit-sdk/Svg/Icons/Fav.js +18 -0
  177. package/dist/components/uikit-sdk/Svg/Icons/Fav.js.map +1 -0
  178. package/dist/components/uikit-sdk/Svg/Icons/FilledURL.js +18 -0
  179. package/dist/components/uikit-sdk/Svg/Icons/FilledURL.js.map +1 -0
  180. package/dist/components/uikit-sdk/Svg/Icons/Fire.js +8 -0
  181. package/dist/components/uikit-sdk/Svg/Icons/Fire.js.map +1 -0
  182. package/dist/components/uikit-sdk/Svg/Icons/FirePink.js +8 -0
  183. package/dist/components/uikit-sdk/Svg/Icons/FirePink.js.map +1 -0
  184. package/dist/components/uikit-sdk/Svg/Icons/Frame.js +18 -0
  185. package/dist/components/uikit-sdk/Svg/Icons/Frame.js.map +1 -0
  186. package/dist/components/uikit-sdk/Svg/Icons/FullLogo.js +8 -0
  187. package/dist/components/uikit-sdk/Svg/Icons/FullLogo.js.map +1 -0
  188. package/dist/components/uikit-sdk/Svg/Icons/Gnana.js +18 -0
  189. package/dist/components/uikit-sdk/Svg/Icons/Gnana.js.map +1 -0
  190. package/dist/components/uikit-sdk/Svg/Icons/GreenShield.js +8 -0
  191. package/dist/components/uikit-sdk/Svg/Icons/GreenShield.js.map +1 -0
  192. package/dist/components/uikit-sdk/Svg/Icons/Hamburger.js +18 -0
  193. package/dist/components/uikit-sdk/Svg/Icons/Hamburger.js.map +1 -0
  194. package/dist/components/uikit-sdk/Svg/Icons/HamburgerClosed.js +18 -0
  195. package/dist/components/uikit-sdk/Svg/Icons/HamburgerClosed.js.map +1 -0
  196. package/dist/components/uikit-sdk/Svg/Icons/Home.js +18 -0
  197. package/dist/components/uikit-sdk/Svg/Icons/Home.js.map +1 -0
  198. package/dist/components/uikit-sdk/Svg/Icons/Hot.js +8 -0
  199. package/dist/components/uikit-sdk/Svg/Icons/Hot.js.map +1 -0
  200. package/dist/components/uikit-sdk/Svg/Icons/Info.js +18 -0
  201. package/dist/components/uikit-sdk/Svg/Icons/Info.js.map +1 -0
  202. package/dist/components/uikit-sdk/Svg/Icons/InfoSolid.js +18 -0
  203. package/dist/components/uikit-sdk/Svg/Icons/InfoSolid.js.map +1 -0
  204. package/dist/components/uikit-sdk/Svg/Icons/Insight.js +18 -0
  205. package/dist/components/uikit-sdk/Svg/Icons/Insight.js.map +1 -0
  206. package/dist/components/uikit-sdk/Svg/Icons/Instagram.js +18 -0
  207. package/dist/components/uikit-sdk/Svg/Icons/Instagram.js.map +1 -0
  208. package/dist/components/uikit-sdk/Svg/Icons/Island.js +18 -0
  209. package/dist/components/uikit-sdk/Svg/Icons/Island.js.map +1 -0
  210. package/dist/components/uikit-sdk/Svg/Icons/LanguageIcon.js +18 -0
  211. package/dist/components/uikit-sdk/Svg/Icons/LanguageIcon.js.map +1 -0
  212. package/dist/components/uikit-sdk/Svg/Icons/LineChart.js +8 -0
  213. package/dist/components/uikit-sdk/Svg/Icons/LineChart.js.map +1 -0
  214. package/dist/components/uikit-sdk/Svg/Icons/LiquidityIcon.js +18 -0
  215. package/dist/components/uikit-sdk/Svg/Icons/LiquidityIcon.js.map +1 -0
  216. package/dist/components/uikit-sdk/Svg/Icons/Logout.js +18 -0
  217. package/dist/components/uikit-sdk/Svg/Icons/Logout.js.map +1 -0
  218. package/dist/components/uikit-sdk/Svg/Icons/Medium.js +18 -0
  219. package/dist/components/uikit-sdk/Svg/Icons/Medium.js.map +1 -0
  220. package/dist/components/uikit-sdk/Svg/Icons/MenuSettings.js +18 -0
  221. package/dist/components/uikit-sdk/Svg/Icons/MenuSettings.js.map +1 -0
  222. package/dist/components/uikit-sdk/Svg/Icons/Message.js +11 -0
  223. package/dist/components/uikit-sdk/Svg/Icons/Message.js.map +1 -0
  224. package/dist/components/uikit-sdk/Svg/Icons/Migrate.js +18 -0
  225. package/dist/components/uikit-sdk/Svg/Icons/Migrate.js.map +1 -0
  226. package/dist/components/uikit-sdk/Svg/Icons/Moon.js +18 -0
  227. package/dist/components/uikit-sdk/Svg/Icons/Moon.js.map +1 -0
  228. package/dist/components/uikit-sdk/Svg/Icons/More.js +18 -0
  229. package/dist/components/uikit-sdk/Svg/Icons/More.js.map +1 -0
  230. package/dist/components/uikit-sdk/Svg/Icons/NFA.js +18 -0
  231. package/dist/components/uikit-sdk/Svg/Icons/NFA.js.map +1 -0
  232. package/dist/components/uikit-sdk/Svg/Icons/NavCaret.js +18 -0
  233. package/dist/components/uikit-sdk/Svg/Icons/NavCaret.js.map +1 -0
  234. package/dist/components/uikit-sdk/Svg/Icons/PlaceholderMonkey.js +18 -0
  235. package/dist/components/uikit-sdk/Svg/Icons/PlaceholderMonkey.js.map +1 -0
  236. package/dist/components/uikit-sdk/Svg/Icons/PlaceholderMonkeyAlt.js +18 -0
  237. package/dist/components/uikit-sdk/Svg/Icons/PlaceholderMonkeyAlt.js.map +1 -0
  238. package/dist/components/uikit-sdk/Svg/Icons/Play.js +8 -0
  239. package/dist/components/uikit-sdk/Svg/Icons/Play.js.map +1 -0
  240. package/dist/components/uikit-sdk/Svg/Icons/Pool.js +18 -0
  241. package/dist/components/uikit-sdk/Svg/Icons/Pool.js.map +1 -0
  242. package/dist/components/uikit-sdk/Svg/Icons/Positions.js +18 -0
  243. package/dist/components/uikit-sdk/Svg/Icons/Positions.js.map +1 -0
  244. package/dist/components/uikit-sdk/Svg/Icons/ProfileDark.js +8 -0
  245. package/dist/components/uikit-sdk/Svg/Icons/ProfileDark.js.map +1 -0
  246. package/dist/components/uikit-sdk/Svg/Icons/ProfileIcon.js +15 -0
  247. package/dist/components/uikit-sdk/Svg/Icons/ProfileIcon.js.map +1 -0
  248. package/dist/components/uikit-sdk/Svg/Icons/ProfileLight.js +8 -0
  249. package/dist/components/uikit-sdk/Svg/Icons/ProfileLight.js.map +1 -0
  250. package/dist/components/uikit-sdk/Svg/Icons/Question.js +8 -0
  251. package/dist/components/uikit-sdk/Svg/Icons/Question.js.map +1 -0
  252. package/dist/components/uikit-sdk/Svg/Icons/QuestionCircle.js +18 -0
  253. package/dist/components/uikit-sdk/Svg/Icons/QuestionCircle.js.map +1 -0
  254. package/dist/components/uikit-sdk/Svg/Icons/QuestionFill.js +18 -0
  255. package/dist/components/uikit-sdk/Svg/Icons/QuestionFill.js.map +1 -0
  256. package/dist/components/uikit-sdk/Svg/Icons/Quiz.js +18 -0
  257. package/dist/components/uikit-sdk/Svg/Icons/Quiz.js.map +1 -0
  258. package/dist/components/uikit-sdk/Svg/Icons/Receipt.js +18 -0
  259. package/dist/components/uikit-sdk/Svg/Icons/Receipt.js.map +1 -0
  260. package/dist/components/uikit-sdk/Svg/Icons/Reddit.js +18 -0
  261. package/dist/components/uikit-sdk/Svg/Icons/Reddit.js.map +1 -0
  262. package/dist/components/uikit-sdk/Svg/Icons/Rocket.js +18 -0
  263. package/dist/components/uikit-sdk/Svg/Icons/Rocket.js.map +1 -0
  264. package/dist/components/uikit-sdk/Svg/Icons/ScrollTop.js +18 -0
  265. package/dist/components/uikit-sdk/Svg/Icons/ScrollTop.js.map +1 -0
  266. package/dist/components/uikit-sdk/Svg/Icons/Search.js +18 -0
  267. package/dist/components/uikit-sdk/Svg/Icons/Search.js.map +1 -0
  268. package/dist/components/uikit-sdk/Svg/Icons/Send.js +18 -0
  269. package/dist/components/uikit-sdk/Svg/Icons/Send.js.map +1 -0
  270. package/dist/components/uikit-sdk/Svg/Icons/Settings.js +18 -0
  271. package/dist/components/uikit-sdk/Svg/Icons/Settings.js.map +1 -0
  272. package/dist/components/uikit-sdk/Svg/Icons/Share.js +18 -0
  273. package/dist/components/uikit-sdk/Svg/Icons/Share.js.map +1 -0
  274. package/dist/components/uikit-sdk/Svg/Icons/Sort.js +18 -0
  275. package/dist/components/uikit-sdk/Svg/Icons/Sort.js.map +1 -0
  276. package/dist/components/uikit-sdk/Svg/Icons/Star.js +8 -0
  277. package/dist/components/uikit-sdk/Svg/Icons/Star.js.map +1 -0
  278. package/dist/components/uikit-sdk/Svg/Icons/StarFilled.js +8 -0
  279. package/dist/components/uikit-sdk/Svg/Icons/StarFilled.js.map +1 -0
  280. package/dist/components/uikit-sdk/Svg/Icons/Success.js +18 -0
  281. package/dist/components/uikit-sdk/Svg/Icons/Success.js.map +1 -0
  282. package/dist/components/uikit-sdk/Svg/Icons/SuccessOutline.js +18 -0
  283. package/dist/components/uikit-sdk/Svg/Icons/SuccessOutline.js.map +1 -0
  284. package/dist/components/uikit-sdk/Svg/Icons/SwapArrows.js +18 -0
  285. package/dist/components/uikit-sdk/Svg/Icons/SwapArrows.js.map +1 -0
  286. package/dist/components/uikit-sdk/Svg/Icons/SwitchArrows.js +18 -0
  287. package/dist/components/uikit-sdk/Svg/Icons/SwitchArrows.js.map +1 -0
  288. package/dist/components/uikit-sdk/Svg/Icons/Tag.js +8 -0
  289. package/dist/components/uikit-sdk/Svg/Icons/Tag.js.map +1 -0
  290. package/dist/components/uikit-sdk/Svg/Icons/Telegram.js +18 -0
  291. package/dist/components/uikit-sdk/Svg/Icons/Telegram.js.map +1 -0
  292. package/dist/components/uikit-sdk/Svg/Icons/TelegramNew.js +18 -0
  293. package/dist/components/uikit-sdk/Svg/Icons/TelegramNew.js.map +1 -0
  294. package/dist/components/uikit-sdk/Svg/Icons/TextLogo.js +8 -0
  295. package/dist/components/uikit-sdk/Svg/Icons/TextLogo.js.map +1 -0
  296. package/dist/components/uikit-sdk/Svg/Icons/Tick.js +18 -0
  297. package/dist/components/uikit-sdk/Svg/Icons/Tick.js.map +1 -0
  298. package/dist/components/uikit-sdk/Svg/Icons/TickShield.js +18 -0
  299. package/dist/components/uikit-sdk/Svg/Icons/TickShield.js.map +1 -0
  300. package/dist/components/uikit-sdk/Svg/Icons/Timer.js +8 -0
  301. package/dist/components/uikit-sdk/Svg/Icons/Timer.js.map +1 -0
  302. package/dist/components/uikit-sdk/Svg/Icons/Trade.js +18 -0
  303. package/dist/components/uikit-sdk/Svg/Icons/Trade.js.map +1 -0
  304. package/dist/components/uikit-sdk/Svg/Icons/Trash.js +18 -0
  305. package/dist/components/uikit-sdk/Svg/Icons/Trash.js.map +1 -0
  306. package/dist/components/uikit-sdk/Svg/Icons/Twitter.js +18 -0
  307. package/dist/components/uikit-sdk/Svg/Icons/Twitter.js.map +1 -0
  308. package/dist/components/uikit-sdk/Svg/Icons/URL.js +18 -0
  309. package/dist/components/uikit-sdk/Svg/Icons/URL.js.map +1 -0
  310. package/dist/components/uikit-sdk/Svg/Icons/Vaults.js +18 -0
  311. package/dist/components/uikit-sdk/Svg/Icons/Vaults.js.map +1 -0
  312. package/dist/components/uikit-sdk/Svg/Icons/Verified.js +8 -0
  313. package/dist/components/uikit-sdk/Svg/Icons/Verified.js.map +1 -0
  314. package/dist/components/uikit-sdk/Svg/Icons/Wallet.js +18 -0
  315. package/dist/components/uikit-sdk/Svg/Icons/Wallet.js.map +1 -0
  316. package/dist/components/uikit-sdk/Svg/Icons/Warning.js +18 -0
  317. package/dist/components/uikit-sdk/Svg/Icons/Warning.js.map +1 -0
  318. package/dist/components/uikit-sdk/Svg/Icons/Watch.js +18 -0
  319. package/dist/components/uikit-sdk/Svg/Icons/Watch.js.map +1 -0
  320. package/dist/components/uikit-sdk/Svg/Icons/Website.js +18 -0
  321. package/dist/components/uikit-sdk/Svg/Icons/Website.js.map +1 -0
  322. package/dist/components/uikit-sdk/Svg/Icons/WebsiteNew.js +18 -0
  323. package/dist/components/uikit-sdk/Svg/Icons/WebsiteNew.js.map +1 -0
  324. package/dist/components/uikit-sdk/Svg/Icons/WhitepaperNew.js +18 -0
  325. package/dist/components/uikit-sdk/Svg/Icons/WhitepaperNew.js.map +1 -0
  326. package/dist/components/uikit-sdk/Svg/Icons/XNew.js +18 -0
  327. package/dist/components/uikit-sdk/Svg/Icons/XNew.js.map +1 -0
  328. package/dist/components/uikit-sdk/Svg/Icons/YellowQuestionMark.js +8 -0
  329. package/dist/components/uikit-sdk/Svg/Icons/YellowQuestionMark.js.map +1 -0
  330. package/dist/components/uikit-sdk/Svg/Icons/ZapArrow.js +18 -0
  331. package/dist/components/uikit-sdk/Svg/Icons/ZapArrow.js.map +1 -0
  332. package/dist/components/uikit-sdk/Svg/Icons/ZapIcon.js +18 -0
  333. package/dist/components/uikit-sdk/Svg/Icons/ZapIcon.js.map +1 -0
  334. package/dist/components/uikit-sdk/Svg/Icons/polygonNew.js +18 -0
  335. package/dist/components/uikit-sdk/Svg/Icons/polygonNew.js.map +1 -0
  336. package/dist/components/uikit-sdk/Svg/index.js +515 -0
  337. package/dist/components/uikit-sdk/Svg/index.js.map +1 -0
  338. package/dist/components/uikit-sdk/Svg/styles.js +14 -0
  339. package/dist/components/uikit-sdk/Svg/styles.js.map +1 -0
  340. package/dist/components/uikit-sdk/Svg/tokens/ABOND.js +8 -0
  341. package/dist/components/uikit-sdk/Svg/tokens/ABOND.js.map +1 -0
  342. package/dist/components/uikit-sdk/Svg/tokens/ARBITRUM.js +8 -0
  343. package/dist/components/uikit-sdk/Svg/tokens/ARBITRUM.js.map +1 -0
  344. package/dist/components/uikit-sdk/Svg/tokens/AVAX.js +8 -0
  345. package/dist/components/uikit-sdk/Svg/tokens/AVAX.js.map +1 -0
  346. package/dist/components/uikit-sdk/Svg/tokens/BANANA.js +8 -0
  347. package/dist/components/uikit-sdk/Svg/tokens/BANANA.js.map +1 -0
  348. package/dist/components/uikit-sdk/Svg/tokens/BASE.js +8 -0
  349. package/dist/components/uikit-sdk/Svg/tokens/BASE.js.map +1 -0
  350. package/dist/components/uikit-sdk/Svg/tokens/BERA.js +8 -0
  351. package/dist/components/uikit-sdk/Svg/tokens/BERA.js.map +1 -0
  352. package/dist/components/uikit-sdk/Svg/tokens/BLAST.js +8 -0
  353. package/dist/components/uikit-sdk/Svg/tokens/BLAST.js.map +1 -0
  354. package/dist/components/uikit-sdk/Svg/tokens/BNB.js +8 -0
  355. package/dist/components/uikit-sdk/Svg/tokens/BNB.js.map +1 -0
  356. package/dist/components/uikit-sdk/Svg/tokens/BSC.js +8 -0
  357. package/dist/components/uikit-sdk/Svg/tokens/BSC.js.map +1 -0
  358. package/dist/components/uikit-sdk/Svg/tokens/CELO.js +8 -0
  359. package/dist/components/uikit-sdk/Svg/tokens/CELO.js.map +1 -0
  360. package/dist/components/uikit-sdk/Svg/tokens/CRONOS.js +8 -0
  361. package/dist/components/uikit-sdk/Svg/tokens/CRONOS.js.map +1 -0
  362. package/dist/components/uikit-sdk/Svg/tokens/CROSSFI.js +8 -0
  363. package/dist/components/uikit-sdk/Svg/tokens/CROSSFI.js.map +1 -0
  364. package/dist/components/uikit-sdk/Svg/tokens/ETH.js +8 -0
  365. package/dist/components/uikit-sdk/Svg/tokens/ETH.js.map +1 -0
  366. package/dist/components/uikit-sdk/Svg/tokens/FANTOM.js +8 -0
  367. package/dist/components/uikit-sdk/Svg/tokens/FANTOM.js.map +1 -0
  368. package/dist/components/uikit-sdk/Svg/tokens/GNANA.js +8 -0
  369. package/dist/components/uikit-sdk/Svg/tokens/GNANA.js.map +1 -0
  370. package/dist/components/uikit-sdk/Svg/tokens/GNOSIS.js +8 -0
  371. package/dist/components/uikit-sdk/Svg/tokens/GNOSIS.js.map +1 -0
  372. package/dist/components/uikit-sdk/Svg/tokens/GraphLinq.js +8 -0
  373. package/dist/components/uikit-sdk/Svg/tokens/GraphLinq.js.map +1 -0
  374. package/dist/components/uikit-sdk/Svg/tokens/INEVM.js +8 -0
  375. package/dist/components/uikit-sdk/Svg/tokens/INEVM.js.map +1 -0
  376. package/dist/components/uikit-sdk/Svg/tokens/IOTA.js +8 -0
  377. package/dist/components/uikit-sdk/Svg/tokens/IOTA.js.map +1 -0
  378. package/dist/components/uikit-sdk/Svg/tokens/KATANA.js +8 -0
  379. package/dist/components/uikit-sdk/Svg/tokens/KATANA.js.map +1 -0
  380. package/dist/components/uikit-sdk/Svg/tokens/LIGHTLINK.js +8 -0
  381. package/dist/components/uikit-sdk/Svg/tokens/LIGHTLINK.js.map +1 -0
  382. package/dist/components/uikit-sdk/Svg/tokens/LINEA.js +8 -0
  383. package/dist/components/uikit-sdk/Svg/tokens/LINEA.js.map +1 -0
  384. package/dist/components/uikit-sdk/Svg/tokens/MONAD.js +8 -0
  385. package/dist/components/uikit-sdk/Svg/tokens/MONAD.js.map +1 -0
  386. package/dist/components/uikit-sdk/Svg/tokens/OKX.js +8 -0
  387. package/dist/components/uikit-sdk/Svg/tokens/OKX.js.map +1 -0
  388. package/dist/components/uikit-sdk/Svg/tokens/OPTIMISM.js +10 -0
  389. package/dist/components/uikit-sdk/Svg/tokens/OPTIMISM.js.map +1 -0
  390. package/dist/components/uikit-sdk/Svg/tokens/POLYGON.js +8 -0
  391. package/dist/components/uikit-sdk/Svg/tokens/POLYGON.js.map +1 -0
  392. package/dist/components/uikit-sdk/Svg/tokens/POLYGONZK.js +8 -0
  393. package/dist/components/uikit-sdk/Svg/tokens/POLYGONZK.js.map +1 -0
  394. package/dist/components/uikit-sdk/Svg/tokens/SONIC.js +8 -0
  395. package/dist/components/uikit-sdk/Svg/tokens/SONIC.js.map +1 -0
  396. package/dist/components/uikit-sdk/Svg/tokens/TLOS.js +8 -0
  397. package/dist/components/uikit-sdk/Svg/tokens/TLOS.js.map +1 -0
  398. package/dist/components/uikit-sdk/Svg/tokens/UNICHAIN.js +8 -0
  399. package/dist/components/uikit-sdk/Svg/tokens/UNICHAIN.js.map +1 -0
  400. package/dist/components/uikit-sdk/Svg/types.js +183 -0
  401. package/dist/components/uikit-sdk/Svg/types.js.map +1 -0
  402. package/dist/components/uikit-sdk/Svg/walletIcons/BinanceChain.js +8 -0
  403. package/dist/components/uikit-sdk/Svg/walletIcons/BinanceChain.js.map +1 -0
  404. package/dist/components/uikit-sdk/Svg/walletIcons/Bitkeep.js +8 -0
  405. package/dist/components/uikit-sdk/Svg/walletIcons/Bitkeep.js.map +1 -0
  406. package/dist/components/uikit-sdk/Svg/walletIcons/Brave.js +8 -0
  407. package/dist/components/uikit-sdk/Svg/walletIcons/Brave.js.map +1 -0
  408. package/dist/components/uikit-sdk/Svg/walletIcons/Coinbase.js +8 -0
  409. package/dist/components/uikit-sdk/Svg/walletIcons/Coinbase.js.map +1 -0
  410. package/dist/components/uikit-sdk/Svg/walletIcons/MadWallet.js +8 -0
  411. package/dist/components/uikit-sdk/Svg/walletIcons/MadWallet.js.map +1 -0
  412. package/dist/components/uikit-sdk/Svg/walletIcons/MathWallet.js +8 -0
  413. package/dist/components/uikit-sdk/Svg/walletIcons/MathWallet.js.map +1 -0
  414. package/dist/components/uikit-sdk/Svg/walletIcons/Metamask.js +8 -0
  415. package/dist/components/uikit-sdk/Svg/walletIcons/Metamask.js.map +1 -0
  416. package/dist/components/uikit-sdk/Svg/walletIcons/Nabox.js +8 -0
  417. package/dist/components/uikit-sdk/Svg/walletIcons/Nabox.js.map +1 -0
  418. package/dist/components/uikit-sdk/Svg/walletIcons/OKX.js +8 -0
  419. package/dist/components/uikit-sdk/Svg/walletIcons/OKX.js.map +1 -0
  420. package/dist/components/uikit-sdk/Svg/walletIcons/OntoWallet.js +8 -0
  421. package/dist/components/uikit-sdk/Svg/walletIcons/OntoWallet.js.map +1 -0
  422. package/dist/components/uikit-sdk/Svg/walletIcons/SafePalWallet.js +8 -0
  423. package/dist/components/uikit-sdk/Svg/walletIcons/SafePalWallet.js.map +1 -0
  424. package/dist/components/uikit-sdk/Svg/walletIcons/SocialLogin.js +8 -0
  425. package/dist/components/uikit-sdk/Svg/walletIcons/SocialLogin.js.map +1 -0
  426. package/dist/components/uikit-sdk/Svg/walletIcons/TokenPocket.js +8 -0
  427. package/dist/components/uikit-sdk/Svg/walletIcons/TokenPocket.js.map +1 -0
  428. package/dist/components/uikit-sdk/Svg/walletIcons/TorusWallet.js +8 -0
  429. package/dist/components/uikit-sdk/Svg/walletIcons/TorusWallet.js.map +1 -0
  430. package/dist/components/uikit-sdk/Svg/walletIcons/TrustWallet.js +8 -0
  431. package/dist/components/uikit-sdk/Svg/walletIcons/TrustWallet.js.map +1 -0
  432. package/dist/components/uikit-sdk/Svg/walletIcons/Unstoppable.js +8 -0
  433. package/dist/components/uikit-sdk/Svg/walletIcons/Unstoppable.js.map +1 -0
  434. package/dist/components/uikit-sdk/Svg/walletIcons/WalletConnect.js +8 -0
  435. package/dist/components/uikit-sdk/Svg/walletIcons/WalletConnect.js.map +1 -0
  436. package/dist/components/uikit-sdk/Svg/walletIcons/WalletImage.js +8 -0
  437. package/dist/components/uikit-sdk/Svg/walletIcons/WalletImage.js.map +1 -0
  438. package/dist/components/uikit-sdk/SwiperDots/index.js +16 -0
  439. package/dist/components/uikit-sdk/SwiperDots/index.js.map +1 -0
  440. package/dist/components/uikit-sdk/Tag/ListTag.js +18 -0
  441. package/dist/components/uikit-sdk/Tag/ListTag.js.map +1 -0
  442. package/dist/components/uikit-sdk/Text/index.js +15 -0
  443. package/dist/components/uikit-sdk/Text/index.js.map +1 -0
  444. package/dist/components/uikit-sdk/Text/types.js +16 -0
  445. package/dist/components/uikit-sdk/Text/types.js.map +1 -0
  446. package/dist/components/uikit-sdk/Toggle/index.js +18 -0
  447. package/dist/components/uikit-sdk/Toggle/index.js.map +1 -0
  448. package/dist/components/uikit-sdk/Toggle/styles.js +22 -0
  449. package/dist/components/uikit-sdk/Toggle/styles.js.map +1 -0
  450. package/dist/components/uikit-sdk/TokenImage/index.js +57 -0
  451. package/dist/components/uikit-sdk/TokenImage/index.js.map +1 -0
  452. package/dist/components/uikit-sdk/TooltipBubble/index.js +65 -0
  453. package/dist/components/uikit-sdk/TooltipBubble/index.js.map +1 -0
  454. package/dist/components/uikit-sdk/TooltipBubble/styles.js +108 -0
  455. package/dist/components/uikit-sdk/TooltipBubble/styles.js.map +1 -0
  456. package/dist/components/uikit-sdk/TooltipBubble/types.js +12 -0
  457. package/dist/components/uikit-sdk/TooltipBubble/types.js.map +1 -0
  458. package/dist/config/abi/BOND_2_0_0.json.js +1065 -0
  459. package/dist/config/abi/BOND_2_0_0.json.js.map +1 -0
  460. package/dist/config/abi/BOND_2_4_0.json.js +2409 -0
  461. package/dist/config/abi/BOND_2_4_0.json.js.map +1 -0
  462. package/dist/config/abi/bondNft.json.js +959 -0
  463. package/dist/config/abi/bondNft.json.js.map +1 -0
  464. package/dist/config/abi/deposit.json.js +29 -0
  465. package/dist/config/abi/deposit.json.js.map +1 -0
  466. package/dist/config/abi/depositSig.json.js +39 -0
  467. package/dist/config/abi/depositSig.json.js.map +1 -0
  468. package/dist/config/abi/erc20.json.js +229 -0
  469. package/dist/config/abi/erc20.json.js.map +1 -0
  470. package/dist/config/abi/launchBond_v2_4_1.json.js +2358 -0
  471. package/dist/config/abi/launchBond_v2_4_1.json.js.map +1 -0
  472. package/dist/config/abi/lensContract.json.js +338 -0
  473. package/dist/config/abi/lensContract.json.js.map +1 -0
  474. package/dist/config/abi/multicallv2.json.js +151 -0
  475. package/dist/config/abi/multicallv2.json.js.map +1 -0
  476. package/dist/config/abi/price-getter-v3.json.js +853 -0
  477. package/dist/config/abi/price-getter-v3.json.js.map +1 -0
  478. package/dist/config/abi/usdtETH.json.js +704 -0
  479. package/dist/config/abi/usdtETH.json.js.map +1 -0
  480. package/dist/config/constants/addresses.js +61 -0
  481. package/dist/config/constants/addresses.js.map +1 -0
  482. package/dist/config/constants/chains.js +101 -0
  483. package/dist/config/constants/chains.js.map +1 -0
  484. package/dist/config/constants/networks.js +50 -0
  485. package/dist/config/constants/networks.js.map +1 -0
  486. package/dist/config/constants/queryKeys.js +28 -0
  487. package/dist/config/constants/queryKeys.js.map +1 -0
  488. package/dist/config/constants/tokens.js +669 -0
  489. package/dist/config/constants/tokens.js.map +1 -0
  490. package/dist/config/constants/tooltips.js +21 -0
  491. package/dist/config/constants/tooltips.js.map +1 -0
  492. package/dist/config/constants/variables.js +21 -0
  493. package/dist/config/constants/variables.js.map +1 -0
  494. package/dist/contexts/ModalContext.js +70 -0
  495. package/dist/contexts/ModalContext.js.map +1 -0
  496. package/dist/contexts/Popups.js +28 -0
  497. package/dist/contexts/Popups.js.map +1 -0
  498. package/dist/contexts/SwiperProvider.js +21 -0
  499. package/dist/contexts/SwiperProvider.js.map +1 -0
  500. package/dist/hooks/useDebounce.js +21 -0
  501. package/dist/hooks/useDebounce.js.map +1 -0
  502. package/dist/hooks/useIsMobile.js +22 -0
  503. package/dist/hooks/useIsMobile.js.map +1 -0
  504. package/dist/hooks/useModal.js +34 -0
  505. package/dist/hooks/useModal.js.map +1 -0
  506. package/dist/hooks/useMonitorTxHash.d.ts +1 -0
  507. package/dist/hooks/useMonitorTxHash.js +26 -0
  508. package/dist/hooks/useMonitorTxHash.js.map +1 -0
  509. package/dist/hooks/useSendReferenceId.js +22 -0
  510. package/dist/hooks/useSendReferenceId.js.map +1 -0
  511. package/dist/hooks/useSortedZapList.js +44 -0
  512. package/dist/hooks/useSortedZapList.js.map +1 -0
  513. package/dist/hooks/useSwiper.js +13 -0
  514. package/dist/hooks/useSwiper.js.map +1 -0
  515. package/dist/hooks/useTokenFromZapList.js +13 -0
  516. package/dist/hooks/useTokenFromZapList.js.map +1 -0
  517. package/dist/hooks/useTopTags.js +38 -0
  518. package/dist/hooks/useTopTags.js.map +1 -0
  519. package/dist/main.d.ts +1 -4
  520. package/dist/main.js +6 -98175
  521. package/dist/main.js.map +1 -0
  522. package/dist/providers/index.js +62 -0
  523. package/dist/providers/index.js.map +1 -0
  524. package/dist/state/abtesting/useCookie.js +40 -0
  525. package/dist/state/abtesting/useCookie.js.map +1 -0
  526. package/dist/state/activeView/index.js +39 -0
  527. package/dist/state/activeView/index.js.map +1 -0
  528. package/dist/state/allowance/useAllowance.js +136 -0
  529. package/dist/state/allowance/useAllowance.js.map +1 -0
  530. package/dist/state/balance/useCurrencyBalance.js +39 -0
  531. package/dist/state/balance/useCurrencyBalance.js.map +1 -0
  532. package/dist/state/balance/useUserTokensBalance.js +79 -0
  533. package/dist/state/balance/useUserTokensBalance.js.map +1 -0
  534. package/dist/state/bondApiStats/useUserApiStats.js +25 -0
  535. package/dist/state/bondApiStats/useUserApiStats.js.map +1 -0
  536. package/dist/state/bonds/useBondNFTData.js +35 -0
  537. package/dist/state/bonds/useBondNFTData.js.map +1 -0
  538. package/dist/state/bonds/useBondsData.js +204 -0
  539. package/dist/state/bonds/useBondsData.js.map +1 -0
  540. package/dist/state/bonds/useBondsList.js +34 -0
  541. package/dist/state/bonds/useBondsList.js.map +1 -0
  542. package/dist/state/bonds/useGetBondRecommendations.js +23 -0
  543. package/dist/state/bonds/useGetBondRecommendations.js.map +1 -0
  544. package/dist/state/bonds/useHotBonds.js +51 -0
  545. package/dist/state/bonds/useHotBonds.js.map +1 -0
  546. package/dist/state/bonds/useTierProofSignature.js +45 -0
  547. package/dist/state/bonds/useTierProofSignature.js.map +1 -0
  548. package/dist/state/bonds/useUserBonds.js +70 -0
  549. package/dist/state/bonds/useUserBonds.js.map +1 -0
  550. package/dist/state/bonds/utils.js +105 -0
  551. package/dist/state/bonds/utils.js.map +1 -0
  552. package/dist/state/chainFilterOption/useChainFilterOption.js +34 -0
  553. package/dist/state/chainFilterOption/useChainFilterOption.js.map +1 -0
  554. package/dist/state/favoriteTokens/useFavoriteTokens.js +49 -0
  555. package/dist/state/favoriteTokens/useFavoriteTokens.js.map +1 -0
  556. package/dist/state/popups/usePopups.js +57 -0
  557. package/dist/state/popups/usePopups.js.map +1 -0
  558. package/dist/state/preTGEBonds/usePreTGEList.js +35 -0
  559. package/dist/state/preTGEBonds/usePreTGEList.js.map +1 -0
  560. package/dist/state/preTGEBonds/usePreTGEUserBonds.js +140 -0
  561. package/dist/state/preTGEBonds/usePreTGEUserBonds.js.map +1 -0
  562. package/dist/state/price/useCurrencyPrice.js +17 -0
  563. package/dist/state/price/useCurrencyPrice.js.map +1 -0
  564. package/dist/state/slippage/useSlippage.js +22 -0
  565. package/dist/state/slippage/useSlippage.js.map +1 -0
  566. package/dist/state/tiers/useTierPoints.js +110 -0
  567. package/dist/state/tiers/useTierPoints.js.map +1 -0
  568. package/dist/state/tokenPrices/useTokenPrices.js +183 -0
  569. package/dist/state/tokenPrices/useTokenPrices.js.map +1 -0
  570. package/dist/state/useSDKConfig.js +49 -0
  571. package/dist/state/useSDKConfig.js.map +1 -0
  572. package/dist/state/zap/getChainParam.js +54 -0
  573. package/dist/state/zap/getChainParam.js.map +1 -0
  574. package/dist/state/zap/useSoulZapBondQuote.js +148 -0
  575. package/dist/state/zap/useSoulZapBondQuote.js.map +1 -0
  576. package/dist/state/zap/useSoulZapTokenQuote.js +124 -0
  577. package/dist/state/zap/useSoulZapTokenQuote.js.map +1 -0
  578. package/dist/theme/base.js +125 -0
  579. package/dist/theme/base.js.map +1 -0
  580. package/dist/theme/colors.js +25 -0
  581. package/dist/theme/colors.js.map +1 -0
  582. package/dist/theme/components.js +365 -0
  583. package/dist/theme/components.js.map +1 -0
  584. package/dist/theme/index.js +12 -0
  585. package/dist/theme/index.js.map +1 -0
  586. package/dist/utils/convertToTokenValue.js +27 -0
  587. package/dist/utils/convertToTokenValue.js.map +1 -0
  588. package/dist/utils/displayHelpers.js +168 -0
  589. package/dist/utils/displayHelpers.js.map +1 -0
  590. package/dist/utils/formatNumber.js +53 -0
  591. package/dist/utils/formatNumber.js.map +1 -0
  592. package/dist/utils/formatNumbers.js +66 -0
  593. package/dist/utils/formatNumbers.js.map +1 -0
  594. package/dist/utils/getBalanceNumber.js +11 -0
  595. package/dist/utils/getBalanceNumber.js.map +1 -0
  596. package/dist/utils/getDotPos.js +12 -0
  597. package/dist/utils/getDotPos.js.map +1 -0
  598. package/dist/utils/getNativeTicker.js +19 -0
  599. package/dist/utils/getNativeTicker.js.map +1 -0
  600. package/dist/utils/getTimePeriods.js +46 -0
  601. package/dist/utils/getTimePeriods.js.map +1 -0
  602. package/dist/utils/index.js +16 -0
  603. package/dist/utils/index.js.map +1 -0
  604. package/dist/utils/multicall.js +41 -0
  605. package/dist/utils/multicall.js.map +1 -0
  606. package/dist/utils/numbers.js +9 -0
  607. package/dist/utils/numbers.js.map +1 -0
  608. package/dist/utils/remove0xPrefix.js +9 -0
  609. package/dist/utils/remove0xPrefix.js.map +1 -0
  610. package/dist/utils/reportError.js +31 -0
  611. package/dist/utils/reportError.js.map +1 -0
  612. package/dist/utils/roundNumber.js +16 -0
  613. package/dist/utils/roundNumber.js.map +1 -0
  614. package/dist/utils/track.js +6 -0
  615. package/dist/utils/track.js.map +1 -0
  616. package/dist/views/Bonds/Bonds.js +145 -0
  617. package/dist/views/Bonds/Bonds.js.map +1 -0
  618. package/dist/views/Bonds/components/BannerTestnet/BannerTestnet.js +48 -0
  619. package/dist/views/Bonds/components/BannerTestnet/BannerTestnet.js.map +1 -0
  620. package/dist/views/Bonds/components/BondRows/BondRow.js +65 -0
  621. package/dist/views/Bonds/components/BondRows/BondRow.js.map +1 -0
  622. package/dist/views/Bonds/components/BondRows/BondRowsByChain.js +24 -0
  623. package/dist/views/Bonds/components/BondRows/BondRowsByChain.js.map +1 -0
  624. package/dist/views/Bonds/components/BondRows/BondRowsWithTitle.js +57 -0
  625. package/dist/views/Bonds/components/BondRows/BondRowsWithTitle.js.map +1 -0
  626. package/dist/views/Bonds/components/BondRows/ChainTitle.js +37 -0
  627. package/dist/views/Bonds/components/BondRows/ChainTitle.js.map +1 -0
  628. package/dist/views/Bonds/components/BondRows/ModalHandler.js +57 -0
  629. package/dist/views/Bonds/components/BondRows/ModalHandler.js.map +1 -0
  630. package/dist/views/Bonds/components/BondsMenu/BondsMenu.js +35 -0
  631. package/dist/views/Bonds/components/BondsMenu/BondsMenu.js.map +1 -0
  632. package/dist/views/Bonds/components/BonusComponents/BonusComponent.js +58 -0
  633. package/dist/views/Bonds/components/BonusComponents/BonusComponent.js.map +1 -0
  634. package/dist/views/Bonds/components/BonusComponents/BonusContainer.js +11 -0
  635. package/dist/views/Bonds/components/BonusComponents/BonusContainer.js.map +1 -0
  636. package/dist/views/Bonds/components/BonusComponents/BonusTable.js +53 -0
  637. package/dist/views/Bonds/components/BonusComponents/BonusTable.js.map +1 -0
  638. package/dist/views/Bonds/components/BuyAgainRow/index.js +93 -0
  639. package/dist/views/Bonds/components/BuyAgainRow/index.js.map +1 -0
  640. package/dist/views/Bonds/components/CheckURL/index.js +43 -0
  641. package/dist/views/Bonds/components/CheckURL/index.js.map +1 -0
  642. package/dist/views/Bonds/components/HotBondCards/HotBondCard.js +49 -0
  643. package/dist/views/Bonds/components/HotBondCards/HotBondCard.js.map +1 -0
  644. package/dist/views/Bonds/components/HotBondCards/index.d.ts +1 -1
  645. package/dist/views/Bonds/components/HotBondCards/index.js +72 -0
  646. package/dist/views/Bonds/components/HotBondCards/index.js.map +1 -0
  647. package/dist/views/Bonds/components/HotBondCards/styles.js +47 -0
  648. package/dist/views/Bonds/components/HotBondCards/styles.js.map +1 -0
  649. package/dist/views/Bonds/components/RecommendationCards/SmallRecommendationCard.js +26 -0
  650. package/dist/views/Bonds/components/RecommendationCards/SmallRecommendationCard.js.map +1 -0
  651. package/dist/views/Bonds/components/RecommendationCards/index.js +79 -0
  652. package/dist/views/Bonds/components/RecommendationCards/index.js.map +1 -0
  653. package/dist/views/Bonds/components/RecommendationCards/styles.js +24 -0
  654. package/dist/views/Bonds/components/RecommendationCards/styles.js.map +1 -0
  655. package/dist/views/Bonds/index.js +12 -0
  656. package/dist/views/Bonds/index.js.map +1 -0
  657. package/dist/views/Bonds/utils.js +124 -0
  658. package/dist/views/Bonds/utils.js.map +1 -0
  659. package/dist/views/BuyBond/BuyBond.js +352 -0
  660. package/dist/views/BuyBond/BuyBond.js.map +1 -0
  661. package/dist/views/BuyBond/BuyBondModal.js +23 -0
  662. package/dist/views/BuyBond/BuyBondModal.js.map +1 -0
  663. package/dist/views/BuyBond/components/BondCards.js +80 -0
  664. package/dist/views/BuyBond/components/BondCards.js.map +1 -0
  665. package/dist/views/BuyBond/components/BondModalHeader.js +80 -0
  666. package/dist/views/BuyBond/components/BondModalHeader.js.map +1 -0
  667. package/dist/views/BuyBond/components/BondModalMinTierHeader.js +32 -0
  668. package/dist/views/BuyBond/components/BondModalMinTierHeader.js.map +1 -0
  669. package/dist/views/BuyBond/components/Estimations.js +59 -0
  670. package/dist/views/BuyBond/components/Estimations.js.map +1 -0
  671. package/dist/views/BuyBond/components/ExpandedViewButton.js +36 -0
  672. package/dist/views/BuyBond/components/ExpandedViewButton.js.map +1 -0
  673. package/dist/views/BuyBond/components/GetUpToComponent/GetUpToComponent.js +63 -0
  674. package/dist/views/BuyBond/components/GetUpToComponent/GetUpToComponent.js.map +1 -0
  675. package/dist/views/BuyBond/components/NewRateModal/NewRateModal.js +53 -0
  676. package/dist/views/BuyBond/components/NewRateModal/NewRateModal.js.map +1 -0
  677. package/dist/views/BuyBond/components/NoBonusModal/NoBonusModal.js +35 -0
  678. package/dist/views/BuyBond/components/NoBonusModal/NoBonusModal.js.map +1 -0
  679. package/dist/views/BuyBond/components/ProjectDescription.js +37 -0
  680. package/dist/views/BuyBond/components/ProjectDescription.js.map +1 -0
  681. package/dist/views/BuyBond/findHighestTrueBondPrice.js +51 -0
  682. package/dist/views/BuyBond/findHighestTrueBondPrice.js.map +1 -0
  683. package/dist/views/BuyBond/index.js +12 -0
  684. package/dist/views/BuyBond/index.js.map +1 -0
  685. package/dist/views/FullBondsView/FullBondsView.js +31 -0
  686. package/dist/views/FullBondsView/FullBondsView.js.map +1 -0
  687. package/dist/views/FullBondsView/index.js +12 -0
  688. package/dist/views/FullBondsView/index.js.map +1 -0
  689. package/dist/views/PreTGEBonds/components/BuyComponent/BondCards.js +71 -0
  690. package/dist/views/PreTGEBonds/components/BuyComponent/BondCards.js.map +1 -0
  691. package/dist/views/PreTGEBonds/components/BuyComponent/ParticipationSuccessful.js +76 -0
  692. package/dist/views/PreTGEBonds/components/BuyComponent/ParticipationSuccessful.js.map +1 -0
  693. package/dist/views/PreTGEBonds/components/BuyComponent/PreTGEBuyComponent.js +144 -0
  694. package/dist/views/PreTGEBonds/components/BuyComponent/PreTGEBuyComponent.js.map +1 -0
  695. package/dist/views/PreTGEBonds/components/BuyComponent/PreTGEModalHandler.js +36 -0
  696. package/dist/views/PreTGEBonds/components/BuyComponent/PreTGEModalHandler.js.map +1 -0
  697. package/dist/views/PreTGEBonds/components/BuyComponent/styles.js +42 -0
  698. package/dist/views/PreTGEBonds/components/BuyComponent/styles.js.map +1 -0
  699. package/dist/views/PreTGEBonds/components/PreTGEUserRows/PreTGEActions.js +115 -0
  700. package/dist/views/PreTGEBonds/components/PreTGEUserRows/PreTGEActions.js.map +1 -0
  701. package/dist/views/PreTGEBonds/components/PreTGEUserRows/PreTGEUserRow.js +50 -0
  702. package/dist/views/PreTGEBonds/components/PreTGEUserRows/PreTGEUserRow.js.map +1 -0
  703. package/dist/views/TransactionModal/TransactionModal.js +187 -0
  704. package/dist/views/TransactionModal/TransactionModal.js.map +1 -0
  705. package/dist/views/YourBonds/YourBonds.js +128 -0
  706. package/dist/views/YourBonds/YourBonds.js.map +1 -0
  707. package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.js +131 -0
  708. package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.js.map +1 -0
  709. package/dist/views/YourBonds/components/ClaimAll/index.js +35 -0
  710. package/dist/views/YourBonds/components/ClaimAll/index.js.map +1 -0
  711. package/dist/views/YourBonds/components/UserBondRow/index.js +109 -0
  712. package/dist/views/YourBonds/components/UserBondRow/index.js.map +1 -0
  713. package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.js +28 -0
  714. package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.js.map +1 -0
  715. package/dist/views/YourBonds/fetchBillsUser.js +110 -0
  716. package/dist/views/YourBonds/fetchBillsUser.js.map +1 -0
  717. package/dist/views/YourBonds/getBillNftData.js +55 -0
  718. package/dist/views/YourBonds/getBillNftData.js.map +1 -0
  719. package/dist/views/YourBonds/index.js +12 -0
  720. package/dist/views/YourBonds/index.js.map +1 -0
  721. package/dist/views/YourBondsModal/YourBondsModal.js +183 -0
  722. package/dist/views/YourBondsModal/YourBondsModal.js.map +1 -0
  723. package/dist/views/YourBondsModal/components/Recommendations/CardRecommendation.js +55 -0
  724. package/dist/views/YourBondsModal/components/Recommendations/CardRecommendation.js.map +1 -0
  725. package/dist/views/YourBondsModal/components/Recommendations/CardRecommendationsMobile.js +57 -0
  726. package/dist/views/YourBondsModal/components/Recommendations/CardRecommendationsMobile.js.map +1 -0
  727. package/dist/views/YourBondsModal/components/Recommendations/Recommendations.js +52 -0
  728. package/dist/views/YourBondsModal/components/Recommendations/Recommendations.js.map +1 -0
  729. package/dist/views/YourBondsModal/components/TransferBondModal/TransferAction.js +84 -0
  730. package/dist/views/YourBondsModal/components/TransferBondModal/TransferAction.js.map +1 -0
  731. package/dist/views/YourBondsModal/components/TransferBondModal/index.js +39 -0
  732. package/dist/views/YourBondsModal/components/TransferBondModal/index.js.map +1 -0
  733. package/dist/views/ZapModal/index.js +155 -0
  734. package/dist/views/ZapModal/index.js.map +1 -0
  735. package/package.json +11 -9
  736. package/dist/assets/output-2LTDuc8n.css +0 -174
@@ -0,0 +1,183 @@
1
+ import { useQuery } from '@tanstack/react-query';
2
+ import axios from 'axios';
3
+ import { LiquidityDex, ChainId, dexFactories, Protocols, defaultDexFactories } from '@ape.swap/apeswap-lists';
4
+ import { QUERY_KEYS } from '../../config/constants/queryKeys.js';
5
+ import { PRICE_GETTER_ADDRESSES } from '../../config/constants/addresses.js';
6
+ import { getBalanceNumber } from '../../utils/getBalanceNumber.js';
7
+ import multicall from '../../utils/multicall.js';
8
+ import { useURLByEnvironment, useSDKConfig } from '../useSDKConfig.js';
9
+ import PRICE_GETTER_V3_ABI from '../../config/abi/price-getter-v3.json.js';
10
+ import { reportError } from '../../utils/reportError.js';
11
+
12
+ function useTokenPrices() {
13
+ const realTime = useURLByEnvironment('realTimeApi');
14
+ const SDKConfig = useSDKConfig();
15
+ const apiUrl = SDKConfig?.urls?.apiV2;
16
+ return useQuery({
17
+ queryKey: [QUERY_KEYS.TOKEN_PRICES],
18
+ queryFn: () => getTokenPrices(realTime, SDKConfig.chains, apiUrl),
19
+ refetchInterval: 60000, // 60 sec
20
+ refetchOnMount: false,
21
+ refetchOnWindowFocus: false,
22
+ enabled: !!SDKConfig.chains && SDKConfig.chains.length > 0,
23
+ });
24
+ }
25
+ const getTokenPrices = async (realTimeApiURL, chains, apiUrl) => {
26
+ try {
27
+ const response = await axios.get(`${realTimeApiURL}/utils/tokens`);
28
+ const tokenList = response.data;
29
+ const promises = chains.map(async (chain) => {
30
+ try {
31
+ // Directly return the result of fetching prices, or handle any exceptions here
32
+ return await getAllTokenPrices(+chain, tokenList, apiUrl);
33
+ }
34
+ catch (error) {
35
+ console.error(`Failed to fetch prices for chain ${chain}:`, error);
36
+ reportError({
37
+ apiUrl,
38
+ error,
39
+ extraInfo: { type: 'getAllTokenPrices', chains, error },
40
+ });
41
+ return null;
42
+ }
43
+ });
44
+ const responses = await Promise.allSettled(promises);
45
+ // Combine the filtering and mapping into a single loop, avoiding dual mapping
46
+ const flattenedPrices = responses.reduce((acc, result) => {
47
+ if (result.status === 'fulfilled' && result.value) {
48
+ acc.push(...result.value);
49
+ }
50
+ return acc;
51
+ }, []);
52
+ return flattenedPrices;
53
+ }
54
+ catch (error) {
55
+ reportError({
56
+ apiUrl,
57
+ error,
58
+ extraInfo: { type: 'getTokenPrices', chains, error },
59
+ });
60
+ return [];
61
+ }
62
+ };
63
+ const getAllTokenPrices = async (chainId, tokens, apiUrl) => {
64
+ const { externalTokens, filterTokensToCall, arrayFilterTokens } = Object.keys(tokens).reduce((acc, key) => {
65
+ const token = tokens[key];
66
+ if (token?.liquidityDex?.[chainId] === LiquidityDex.External) {
67
+ acc.externalTokens.push({
68
+ ...token,
69
+ address: token.address[chainId] ?? '',
70
+ decimals: token?.decimals?.[chainId] ?? 18,
71
+ lpToken: token.lpToken ?? false,
72
+ });
73
+ }
74
+ else if (token?.active &&
75
+ token.address[chainId] &&
76
+ token.decimals?.[chainId] &&
77
+ //@ts-ignore
78
+ token?.liquidityDex?.[chainId] !== LiquidityDex.External) {
79
+ acc.filterTokensToCall[key] = token;
80
+ acc.arrayFilterTokens.push(token);
81
+ }
82
+ return acc;
83
+ },
84
+ // Accumulator
85
+ {
86
+ externalTokens: [],
87
+ filterTokensToCall: {},
88
+ arrayFilterTokens: [],
89
+ });
90
+ if (chainId === ChainId.BSC_TESTNET) {
91
+ return arrayFilterTokens.map((token) => {
92
+ return {
93
+ symbol: token.symbol,
94
+ address: token.address[chainId],
95
+ price: 1,
96
+ decimals: token.decimals?.[chainId] ?? undefined,
97
+ chainId,
98
+ };
99
+ });
100
+ }
101
+ const externalResults = await getBatchTokensExternal({ chainId, tokens: externalTokens, apiUrl });
102
+ const tokenResults = await getTokenPricesV3FromPriceGetter(filterTokensToCall, chainId);
103
+ const parsedTokenResults = arrayFilterTokens.map((token, i) => {
104
+ const price = getBalanceNumber(tokenResults?.[i]?.toString(), 18);
105
+ return {
106
+ symbol: token.symbol,
107
+ address: token.address[chainId],
108
+ price: price ?? undefined,
109
+ decimals: token.decimals?.[chainId] ?? undefined,
110
+ chainId,
111
+ };
112
+ });
113
+ return [...parsedTokenResults, ...externalResults];
114
+ };
115
+ const getBatchTokensExternal = async (params) => {
116
+ const { chainId, tokens, apiUrl } = params;
117
+ try {
118
+ const baseURL = 'https://price-api.ape.bond/prices';
119
+ const tokensToCall = tokens.map((token) => token.address);
120
+ if (tokensToCall.length === 0)
121
+ return [];
122
+ const response = await axios.post(`${baseURL}`, {
123
+ rpcUrl: 'string',
124
+ tokens: tokensToCall,
125
+ chain: chainId,
126
+ });
127
+ return response.data.map((token) => {
128
+ return {
129
+ symbol: token.symbol,
130
+ address: token.tokenAddress,
131
+ price: parseFloat(token.price),
132
+ chainId,
133
+ };
134
+ });
135
+ }
136
+ catch (error) {
137
+ console.log(`Failed to get price from api for chain ${chainId}.`);
138
+ reportError({
139
+ apiUrl,
140
+ error,
141
+ extraInfo: { type: 'getBatchTokensExternal', tokens, error },
142
+ chainId,
143
+ });
144
+ return [];
145
+ }
146
+ };
147
+ async function getTokenPricesV3FromPriceGetter(tokensToCall, chain) {
148
+ const calls = [];
149
+ Object.values(tokensToCall).map((token) => {
150
+ const call = getPriceGetterV3Call(chain, token);
151
+ if (call) {
152
+ calls.push(call);
153
+ }
154
+ });
155
+ return await multicall(+chain, PRICE_GETTER_V3_ABI, calls);
156
+ }
157
+ const getPriceGetterV3Call = (chain, token) => {
158
+ const address = token.address[chain];
159
+ const liquidityDex = token.liquidityDex?.[chain];
160
+ const dexFactory = dexFactories[chain]?.[liquidityDex];
161
+ const protocol = dexFactory?.protocol ?? Protocols.V2;
162
+ const factory = dexFactory?.factory ?? defaultDexFactories?.[chain]?.[protocol];
163
+ const priceGetterAddress = PRICE_GETTER_ADDRESSES[chain];
164
+ const wrapper = token.liquidityWrapper;
165
+ if (!factory) {
166
+ console.log(`No default dex factory found for retrieving price for protocol ${protocol}. Please contact support.`);
167
+ return;
168
+ }
169
+ const params = [address, protocol, factory];
170
+ // eslint-disable-next-line
171
+ const methodName = token.lpToken ? (!!wrapper ? 'getWrappedLPPrice' : 'getLPPrice') : 'getTokenPrice';
172
+ if (wrapper && token.lpToken) {
173
+ params.push(wrapper);
174
+ }
175
+ return {
176
+ address: priceGetterAddress,
177
+ name: methodName,
178
+ params,
179
+ };
180
+ };
181
+
182
+ export { useTokenPrices as default, getTokenPrices, getTokenPricesV3FromPriceGetter };
183
+ //# sourceMappingURL=useTokenPrices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTokenPrices.js","sources":["../../../src/state/tokenPrices/useTokenPrices.ts"],"sourcesContent":["import { useQuery, UseQueryResult } from '@tanstack/react-query'\nimport axios from 'axios'\nimport {\n ChainId,\n defaultDexFactories,\n dexFactories,\n LiquidityDex,\n Protocols,\n Token,\n Wrappers,\n} from '@ape.swap/apeswap-lists'\nimport { QUERY_KEYS } from '../../config/constants/queryKeys'\nimport { PRICE_GETTER_ADDRESSES } from '../../config/constants/addresses'\nimport { getBalanceNumber } from '../../utils/getBalanceNumber'\nimport multicall, { Call } from '../../utils/multicall'\nimport { useSDKConfig, useURLByEnvironment } from '../useSDKConfig'\nimport PRICE_GETTER_V3_ABI from '../../config/abi/price-getter-v3.json'\nimport { reportError } from '../../utils/reportError'\n\nexport interface TokenPrices {\n symbol: string | undefined\n address: string | undefined\n price: number | undefined\n chainId: ChainId | undefined\n}\n\nexport default function useTokenPrices(): UseQueryResult<TokenPrices[]> {\n const realTime = useURLByEnvironment('realTimeApi')\n const SDKConfig = useSDKConfig()\n const apiUrl = SDKConfig?.urls?.apiV2\n return useQuery({\n queryKey: [QUERY_KEYS.TOKEN_PRICES],\n queryFn: () => getTokenPrices(realTime, SDKConfig.chains!, apiUrl),\n refetchInterval: 60000, // 60 sec\n refetchOnMount: false,\n refetchOnWindowFocus: false,\n enabled: !!SDKConfig.chains && SDKConfig.chains.length > 0,\n })\n}\n\nexport const getTokenPrices = async (\n realTimeApiURL: string,\n chains: number[],\n apiUrl?: string,\n): Promise<TokenPrices[]> => {\n try {\n const response = await axios.get(`${realTimeApiURL}/utils/tokens`)\n const tokenList: Record<string, Token> = response.data\n const promises = chains.map(async (chain) => {\n try {\n // Directly return the result of fetching prices, or handle any exceptions here\n return await getAllTokenPrices(+chain, tokenList, apiUrl)\n } catch (error) {\n console.error(`Failed to fetch prices for chain ${chain}:`, error)\n reportError({\n apiUrl,\n error,\n extraInfo: { type: 'getAllTokenPrices', chains, error },\n })\n return null\n }\n })\n\n const responses = await Promise.allSettled(promises)\n\n // Combine the filtering and mapping into a single loop, avoiding dual mapping\n const flattenedPrices = responses.reduce<TokenPrices[]>((acc, result) => {\n if (result.status === 'fulfilled' && result.value) {\n acc.push(...result.value)\n }\n return acc\n }, [])\n return flattenedPrices\n } catch (error) {\n reportError({\n apiUrl,\n error,\n extraInfo: { type: 'getTokenPrices', chains, error },\n })\n return []\n }\n}\n\nconst getAllTokenPrices = async (\n chainId: ChainId,\n tokens: Record<string, Token>,\n apiUrl?: string,\n): Promise<TokenPrices[]> => {\n const { externalTokens, filterTokensToCall, arrayFilterTokens } = Object.keys(tokens).reduce(\n (acc, key) => {\n const token = tokens[key]\n\n if (token?.liquidityDex?.[chainId] === LiquidityDex.External) {\n acc.externalTokens.push({\n ...token,\n address: token.address[chainId] ?? '',\n decimals: token?.decimals?.[chainId] ?? 18,\n lpToken: token.lpToken ?? false,\n })\n } else if (\n token?.active &&\n token.address[chainId] &&\n token.decimals?.[chainId] &&\n //@ts-ignore\n token?.liquidityDex?.[chainId] !== LiquidityDex.External\n ) {\n acc.filterTokensToCall[key] = token\n acc.arrayFilterTokens.push(token)\n }\n\n return acc\n },\n // Accumulator\n {\n externalTokens: [] as {\n address: string\n decimals: number\n lpToken: boolean\n symbol: string\n [key: string]: any\n }[],\n filterTokensToCall: {} as Record<string, Token>,\n arrayFilterTokens: [] as Token[],\n },\n )\n\n if (chainId === ChainId.BSC_TESTNET) {\n return arrayFilterTokens.map((token) => {\n return {\n symbol: token.symbol,\n address: token.address[chainId],\n price: 1,\n decimals: token.decimals?.[chainId] ?? undefined,\n chainId,\n }\n })\n }\n const externalResults = await getBatchTokensExternal({ chainId, tokens: externalTokens, apiUrl })\n const tokenResults = await getTokenPricesV3FromPriceGetter(filterTokensToCall, chainId)\n\n const parsedTokenResults = arrayFilterTokens.map((token, i) => {\n const price = getBalanceNumber(tokenResults?.[i]?.toString(), 18)\n\n return {\n symbol: token.symbol,\n address: token.address[chainId],\n price: price ?? undefined,\n decimals: token.decimals?.[chainId] ?? undefined,\n chainId,\n }\n })\n\n return [...parsedTokenResults, ...externalResults]\n}\n\nconst getBatchTokensExternal = async (params: {\n chainId: ChainId\n tokens: {\n address: string\n lpToken: boolean\n symbol: string\n totalSupply?: number\n }[]\n apiUrl?: string\n}): Promise<TokenPrices[]> => {\n const { chainId, tokens, apiUrl } = params\n try {\n const baseURL = 'https://price-api.ape.bond/prices'\n const tokensToCall = tokens.map((token) => token.address)\n if (tokensToCall.length === 0) return []\n const response = await axios.post(`${baseURL}`, {\n rpcUrl: 'string',\n tokens: tokensToCall,\n chain: chainId,\n })\n return response.data.map((token: any) => {\n return {\n symbol: token.symbol,\n address: token.tokenAddress,\n price: parseFloat(token.price),\n chainId,\n }\n })\n } catch (error) {\n console.log(`Failed to get price from api for chain ${chainId}.`)\n reportError({\n apiUrl,\n error,\n extraInfo: { type: 'getBatchTokensExternal', tokens, error },\n chainId,\n })\n return []\n }\n}\n\nexport async function getTokenPricesV3FromPriceGetter(tokensToCall: Record<string, Token>, chain: ChainId) {\n const calls: Call[] = []\n Object.values(tokensToCall).map((token) => {\n const call = getPriceGetterV3Call(chain, token)\n if (call) {\n calls.push(call)\n }\n })\n return await multicall(+chain, PRICE_GETTER_V3_ABI, calls)\n}\n\nconst getPriceGetterV3Call = (chain: ChainId, token: Token) => {\n const address = token.address[chain] as string\n const liquidityDex = token.liquidityDex?.[chain]\n const dexFactory = dexFactories[chain]?.[liquidityDex!]\n const protocol = dexFactory?.protocol ?? Protocols.V2\n const factory = dexFactory?.factory ?? defaultDexFactories?.[chain]?.[protocol]\n const priceGetterAddress = PRICE_GETTER_ADDRESSES[chain]\n const wrapper = token.liquidityWrapper\n\n if (!factory) {\n console.log(`No default dex factory found for retrieving price for protocol ${protocol}. Please contact support.`)\n return\n }\n\n const params: (string | Protocols | Wrappers)[] = [address, protocol, factory]\n\n // eslint-disable-next-line\n const methodName = token.lpToken ? (!!wrapper ? 'getWrappedLPPrice' : 'getLPPrice') : 'getTokenPrice'\n if (wrapper && token.lpToken) {\n params.push(wrapper)\n }\n\n return {\n address: priceGetterAddress,\n name: methodName,\n params,\n }\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { useQuery } from '@tanstack/react-query';
2
+ import { QUERY_KEYS } from '../config/constants/queryKeys.js';
3
+ import { ChainId } from '@ape.swap/apeswap-lists';
4
+
5
+ // Prod URLS. Do not make changes here
6
+ const defaultUrls = {
7
+ apiV2: 'https://api.ape.bond',
8
+ realTimeApi: 'https://realtime-api.ape.bond',
9
+ mainUrl: 'https://ape.bond',
10
+ };
11
+ // Staging URLS.
12
+ const stagingUrls = {
13
+ apiV2: 'https://staging-api.ape.bond',
14
+ realTimeApi: 'https://realtime-api-staging.ape.bond',
15
+ mainUrl: 'https://staging.ape.bond',
16
+ };
17
+ const useSDKConfig = (config) => {
18
+ const urls = process.env.NODE_ENV === 'production' ? defaultUrls : stagingUrls;
19
+ const initialData = {
20
+ referenceId: '',
21
+ chains: [],
22
+ hotBondChains: [ChainId.BSC, ChainId.MATIC],
23
+ useHotBonds: true,
24
+ connector: 'default',
25
+ useTiers: false,
26
+ useTGEBonds: false,
27
+ showLowValueBonds: false,
28
+ bondPartner: undefined,
29
+ namingPreference: 'Bonus',
30
+ ...config,
31
+ urls: { ...urls, ...config?.urls },
32
+ highestCompatibleVersion: '2.1.3',
33
+ };
34
+ const { data } = useQuery({
35
+ queryKey: [QUERY_KEYS.SDK_CONFIG],
36
+ queryFn: () => {
37
+ throw new Error('Just a hotfix for latest versions of react-query that make queryFn a required prop');
38
+ },
39
+ initialData,
40
+ });
41
+ return data;
42
+ };
43
+ const useURLByEnvironment = (key) => {
44
+ const config = useSDKConfig();
45
+ return config?.urls?.[key];
46
+ };
47
+
48
+ export { useSDKConfig, useURLByEnvironment };
49
+ //# sourceMappingURL=useSDKConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSDKConfig.js","sources":["../../src/state/useSDKConfig.ts"],"sourcesContent":["import { useQuery } from '@tanstack/react-query'\nimport { QUERY_KEYS } from '../config/constants/queryKeys'\nimport { ChainId } from '@ape.swap/apeswap-lists'\n\n// Prod URLS. Do not make changes here\nconst defaultUrls = {\n apiV2: 'https://api.ape.bond',\n realTimeApi: 'https://realtime-api.ape.bond',\n mainUrl: 'https://ape.bond',\n}\n\n// Staging URLS.\nconst stagingUrls = {\n apiV2: 'https://staging-api.ape.bond',\n realTimeApi: 'https://realtime-api-staging.ape.bond',\n mainUrl: 'https://staging.ape.bond',\n}\n\nexport interface SDKPropsDTO {\n referenceId: string\n chains: number[]\n hotBondChains?: number[]\n connector?: 'rainbowkit' | 'appkit' | 'default'\n useHotBonds?: boolean\n useTiers?: boolean\n useTGEBonds?: boolean\n showLowValueBonds?: boolean\n bondPartner?: string\n namingPreference?: 'Discount' | 'Bonus'\n urls?: Partial<Record<URLKeys, string>>\n theme?: any\n highestCompatibleVersion?: string\n}\n\nexport interface SDKProps {\n referenceId: string\n chains: number[]\n hotBondChains: number[]\n connector?: 'rainbowkit' | 'appkit' | 'default'\n useHotBonds: boolean\n useTiers: boolean\n useTGEBonds: boolean\n showLowValueBonds: boolean\n bondPartner?: string\n namingPreference: 'Discount' | 'Bonus'\n urls: Record<URLKeys, string>\n theme?: any\n highestCompatibleVersion?: string\n}\n\nexport const useSDKConfig = (config?: SDKPropsDTO): SDKProps => {\n const urls = process.env.NODE_ENV === 'production' ? defaultUrls : stagingUrls\n\n const initialData: SDKProps = {\n referenceId: '',\n chains: [],\n hotBondChains: [ChainId.BSC, ChainId.MATIC],\n useHotBonds: true,\n connector: 'default',\n useTiers: false,\n useTGEBonds: false,\n showLowValueBonds: false,\n bondPartner: undefined,\n namingPreference: 'Bonus',\n ...config,\n urls: { ...urls, ...config?.urls },\n highestCompatibleVersion: '2.1.3',\n }\n const { data } = useQuery({\n queryKey: [QUERY_KEYS.SDK_CONFIG],\n queryFn: () => {\n throw new Error('Just a hotfix for latest versions of react-query that make queryFn a required prop')\n },\n initialData,\n })\n return data as SDKProps\n}\n\nexport type URLKeys = 'apiV2' | 'realTimeApi' | 'mainUrl'\n\nexport const useURLByEnvironment = (key: URLKeys) => {\n const config = useSDKConfig()\n return config?.urls?.[key] as string\n}\n"],"names":[],"mappings":";;;;AAIA;AACA,MAAM,WAAW,GAAG;AAClB,IAAA,KAAK,EAAE,sBAAsB;AAC7B,IAAA,WAAW,EAAE,+BAA+B;AAC5C,IAAA,OAAO,EAAE,kBAAkB;CAC5B;AAED;AACA,MAAM,WAAW,GAAG;AAClB,IAAA,KAAK,EAAE,8BAA8B;AACrC,IAAA,WAAW,EAAE,uCAAuC;AACpD,IAAA,OAAO,EAAE,0BAA0B;CACpC;AAkCM,MAAM,YAAY,GAAG,CAAC,MAAoB,KAAc;AAC7D,IAAA,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,GAAG,WAAW,GAAG,WAAW;AAE9E,IAAA,MAAM,WAAW,GAAa;AAC5B,QAAA,WAAW,EAAE,EAAE;AACf,QAAA,MAAM,EAAE,EAAE;QACV,aAAa,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC;AAC3C,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,SAAS,EAAE,SAAS;AACpB,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,iBAAiB,EAAE,KAAK;AACxB,QAAA,WAAW,EAAE,SAAS;AACtB,QAAA,gBAAgB,EAAE,OAAO;AACzB,QAAA,GAAG,MAAM;QACT,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE;AAClC,QAAA,wBAAwB,EAAE,OAAO;KAClC;AACD,IAAA,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;AACxB,QAAA,QAAQ,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;QACjC,OAAO,EAAE,MAAK;AACZ,YAAA,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC;QACvG,CAAC;QACD,WAAW;AACZ,KAAA,CAAC;AACF,IAAA,OAAO,IAAgB;AACzB;AAIO,MAAM,mBAAmB,GAAG,CAAC,GAAY,KAAI;AAClD,IAAA,MAAM,MAAM,GAAG,YAAY,EAAE;AAC7B,IAAA,OAAO,MAAM,EAAE,IAAI,GAAG,GAAG,CAAW;AACtC;;;;"}
@@ -0,0 +1,54 @@
1
+ import { ChainId, Protocols } from '@ape.swap/apeswap-lists';
2
+
3
+ var NetworkNames;
4
+ (function (NetworkNames) {
5
+ NetworkNames["MAINNET"] = "eth";
6
+ NetworkNames["BNB"] = "bnb";
7
+ NetworkNames["POLYGON"] = "pol";
8
+ NetworkNames["ARBITRUM"] = "arb";
9
+ NetworkNames["LINEA"] = "lna";
10
+ NetworkNames["BASE"] = "bas";
11
+ NetworkNames["AVAX"] = "ava";
12
+ NetworkNames["BLAST"] = "bls";
13
+ NetworkNames["SONIC"] = "son";
14
+ NetworkNames["BERACHAIN"] = "ber";
15
+ })(NetworkNames || (NetworkNames = {}));
16
+ const getChainParam = (chain) => {
17
+ return chain === ChainId.LINEA
18
+ ? NetworkNames.LINEA
19
+ : chain === ChainId.MATIC
20
+ ? NetworkNames.POLYGON
21
+ : chain === ChainId.BSC
22
+ ? NetworkNames.BNB
23
+ : chain === ChainId.BASE
24
+ ? NetworkNames.BASE
25
+ : chain === ChainId.ARBITRUM
26
+ ? NetworkNames.ARBITRUM
27
+ : chain === ChainId.MAINNET
28
+ ? NetworkNames.MAINNET
29
+ : chain === ChainId.AVAX
30
+ ? NetworkNames.AVAX
31
+ : chain === ChainId.BLAST
32
+ ? NetworkNames.BLAST
33
+ : chain === ChainId.SONIC
34
+ ? NetworkNames.SONIC
35
+ : chain === ChainId.BERACHAIN
36
+ ? NetworkNames.BERACHAIN
37
+ : null;
38
+ };
39
+ const getLpType = (protocol) => {
40
+ return protocol === Protocols.Algebra
41
+ ? 'ichi'
42
+ : protocol === Protocols.Solidly
43
+ ? 'solidly'
44
+ : protocol === Protocols.V2
45
+ ? 'univ2'
46
+ : protocol === Protocols.V3 // This might be a hot fix. Lets revisit this on the future
47
+ ? 'ichi'
48
+ : protocol === Protocols.Curve
49
+ ? 'curve'
50
+ : null;
51
+ };
52
+
53
+ export { getChainParam, getLpType };
54
+ //# sourceMappingURL=getChainParam.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getChainParam.js","sources":["../../../src/state/zap/getChainParam.ts"],"sourcesContent":["import { ChainId, Protocols } from '@ape.swap/apeswap-lists'\n\nenum NetworkNames {\n MAINNET = 'eth',\n BNB = 'bnb',\n POLYGON = 'pol',\n ARBITRUM = 'arb',\n LINEA = 'lna',\n BASE = 'bas',\n AVAX = 'ava',\n BLAST = 'bls',\n SONIC = 'son',\n BERACHAIN = 'ber',\n}\n\nexport const getChainParam = (chain?: ChainId): NetworkNames | null => {\n return chain === ChainId.LINEA\n ? NetworkNames.LINEA\n : chain === ChainId.MATIC\n ? NetworkNames.POLYGON\n : chain === ChainId.BSC\n ? NetworkNames.BNB\n : chain === ChainId.BASE\n ? NetworkNames.BASE\n : chain === ChainId.ARBITRUM\n ? NetworkNames.ARBITRUM\n : chain === ChainId.MAINNET\n ? NetworkNames.MAINNET\n : chain === ChainId.AVAX\n ? NetworkNames.AVAX\n : chain === ChainId.BLAST\n ? NetworkNames.BLAST\n : chain === ChainId.SONIC\n ? NetworkNames.SONIC\n : chain === ChainId.BERACHAIN\n ? NetworkNames.BERACHAIN\n : null\n}\n\nexport const getLpType = (protocol?: Protocols): 'ichi' | 'solidly' | 'univ2' | 'curve' | null => {\n return protocol === Protocols.Algebra\n ? 'ichi'\n : protocol === Protocols.Solidly\n ? 'solidly'\n : protocol === Protocols.V2\n ? 'univ2'\n : protocol === Protocols.V3 // This might be a hot fix. Lets revisit this on the future\n ? 'ichi'\n : protocol === Protocols.Curve\n ? 'curve'\n : null\n}\n"],"names":[],"mappings":";;AAEA,IAAK,YAWJ;AAXD,CAAA,UAAK,YAAY,EAAA;AACf,IAAA,YAAA,CAAA,SAAA,CAAA,GAAA,KAAe;AACf,IAAA,YAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACX,IAAA,YAAA,CAAA,SAAA,CAAA,GAAA,KAAe;AACf,IAAA,YAAA,CAAA,UAAA,CAAA,GAAA,KAAgB;AAChB,IAAA,YAAA,CAAA,OAAA,CAAA,GAAA,KAAa;AACb,IAAA,YAAA,CAAA,MAAA,CAAA,GAAA,KAAY;AACZ,IAAA,YAAA,CAAA,MAAA,CAAA,GAAA,KAAY;AACZ,IAAA,YAAA,CAAA,OAAA,CAAA,GAAA,KAAa;AACb,IAAA,YAAA,CAAA,OAAA,CAAA,GAAA,KAAa;AACb,IAAA,YAAA,CAAA,WAAA,CAAA,GAAA,KAAiB;AACnB,CAAC,EAXI,YAAY,KAAZ,YAAY,GAAA,EAAA,CAAA,CAAA;AAaV,MAAM,aAAa,GAAG,CAAC,KAAe,KAAyB;AACpE,IAAA,OAAO,KAAK,KAAK,OAAO,CAAC;UACrB,YAAY,CAAC;AACf,UAAE,KAAK,KAAK,OAAO,CAAC;cAChB,YAAY,CAAC;AACf,cAAE,KAAK,KAAK,OAAO,CAAC;kBAChB,YAAY,CAAC;AACf,kBAAE,KAAK,KAAK,OAAO,CAAC;sBAChB,YAAY,CAAC;AACf,sBAAE,KAAK,KAAK,OAAO,CAAC;0BAChB,YAAY,CAAC;AACf,0BAAE,KAAK,KAAK,OAAO,CAAC;8BAChB,YAAY,CAAC;AACf,8BAAE,KAAK,KAAK,OAAO,CAAC;kCAChB,YAAY,CAAC;AACf,kCAAE,KAAK,KAAK,OAAO,CAAC;sCAChB,YAAY,CAAC;AACf,sCAAE,KAAK,KAAK,OAAO,CAAC;0CAChB,YAAY,CAAC;AACf,0CAAE,KAAK,KAAK,OAAO,CAAC;8CAChB,YAAY,CAAC;8CACb,IAAI;AAC5B;AAEO,MAAM,SAAS,GAAG,CAAC,QAAoB,KAAmD;AAC/F,IAAA,OAAO,QAAQ,KAAK,SAAS,CAAC;AAC5B,UAAE;AACF,UAAE,QAAQ,KAAK,SAAS,CAAC;AACvB,cAAE;AACF,cAAE,QAAQ,KAAK,SAAS,CAAC;AACvB,kBAAE;AACF,kBAAE,QAAQ,KAAK,SAAS,CAAC,EAAE;AACzB,sBAAE;AACF,sBAAE,QAAQ,KAAK,SAAS,CAAC;AACvB,0BAAE;0BACA,IAAI;AAClB;;;;"}
@@ -0,0 +1,148 @@
1
+ import { useMemo } from 'react';
2
+ import BigNumber from 'bignumber.js';
3
+ import { dexFactories, BillVersion } from '@ape.swap/apeswap-lists';
4
+ import { getChainParam, getLpType } from './getChainParam.js';
5
+ import axios from 'axios';
6
+ import { useQuery } from '@tanstack/react-query';
7
+ import { QUERY_KEYS } from '../../config/constants/queryKeys.js';
8
+ import useCurrencyPrice from '../price/useCurrencyPrice.js';
9
+ import { useSlippage } from '../slippage/useSlippage.js';
10
+ import useDebounce from '../../hooks/useDebounce.js';
11
+ import { zapInputTokens, WNATIVE } from '../../config/constants/tokens.js';
12
+ import { SOUL_ZAP_API } from '../../config/constants/variables.js';
13
+
14
+ const useSoulZapBondQuote = (typedValue, inputCurrency, bond, account, tierProofSig) => {
15
+ const debouncedInput = useDebounce(typedValue, 400);
16
+ const [slippage] = useSlippage();
17
+ const principalToken = bond?.lpToken;
18
+ const bondContractAddress = bond?.contractAddress[bond?.chainId];
19
+ const chainId = bond?.chainId;
20
+ const inputCurrencyString = inputCurrency === 'NATIVE' ? '0x0000000000000000000000000000000000000000' : inputCurrency?.address[chainId];
21
+ const inputCurrencyDecimals = inputCurrency === 'NATIVE' ? 18 : inputCurrency?.decimals[chainId];
22
+ const principalContractAddress = principalToken?.address[chainId];
23
+ const chainName = getChainParam(chainId);
24
+ const isReserveBond = bond?.billType === 'reserve' || bond?.billType === 'staking';
25
+ const liquidityDex = principalToken?.liquiditySource?.[chainId] ?? principalToken?.liquidityDex?.[chainId];
26
+ const protocol = dexFactories[chainId]?.[liquidityDex]?.protocol;
27
+ const lpType = isReserveBond ? 'single' : getLpType(protocol);
28
+ const ichiUnderlyingDex = principalToken?.ichiUnderlyingDex;
29
+ const vault = principalToken?.address?.[chainId];
30
+ const router = dexFactories[chainId]?.[liquidityDex]?.router;
31
+ // Validates that the user did not pass an amount with 19 decimals or more
32
+ const validated18DecimalAmount = new BigNumber(debouncedInput ?? '0').toFixed(18, 5);
33
+ const bigishInputAmount = new BigNumber(validated18DecimalAmount ?? '0')
34
+ .times(new BigNumber(10).pow(inputCurrencyDecimals ?? 18))
35
+ .toString();
36
+ const zapInputData = useMemo(() => {
37
+ if (inputCurrencyString &&
38
+ inputCurrencyDecimals &&
39
+ bigishInputAmount !== 'NaN' &&
40
+ bigishInputAmount !== '0' &&
41
+ principalContractAddress &&
42
+ chainName &&
43
+ bondContractAddress &&
44
+ (inputCurrency === 'NATIVE' || inputCurrency?.address[chainId] !== principalToken.address[chainId])) {
45
+ return {
46
+ chain: chainName,
47
+ recipient: account ?? '0x0000000000000000000000000000000000000000',
48
+ user: account ?? '0x0000000000000000000000000000000000000000',
49
+ lpData: {
50
+ lpType,
51
+ fromToken: inputCurrencyString,
52
+ fromAmount: bigishInputAmount,
53
+ underlyingDex: ichiUnderlyingDex,
54
+ vault: isReserveBond ? undefined : vault,
55
+ slippage: slippage,
56
+ lpAddress: lpType === 'solidly' || lpType === 'univ2' || lpType === 'curve' ? vault : undefined,
57
+ router: lpType === 'solidly' || lpType === 'univ2' ? router : undefined,
58
+ toToken: isReserveBond ? vault : undefined,
59
+ },
60
+ protocolData: {
61
+ protocol: 'ApeBond',
62
+ bond: bondContractAddress,
63
+ depositer: account ?? '0x0000000000000000000000000000000000000000',
64
+ tierProofSignature: bond.billVersion === BillVersion.V4 && tierProofSig ? tierProofSig : undefined,
65
+ },
66
+ };
67
+ }
68
+ else {
69
+ return null;
70
+ }
71
+ /* eslint-disable react-hooks/exhaustive-deps */
72
+ }, [
73
+ bigishInputAmount,
74
+ principalContractAddress,
75
+ chainName,
76
+ account,
77
+ ichiUnderlyingDex,
78
+ vault,
79
+ lpType,
80
+ router,
81
+ slippage,
82
+ ]);
83
+ const queryKey = useMemo(() => {
84
+ if (!zapInputData)
85
+ return null;
86
+ return [
87
+ 'zapBondDetails',
88
+ zapInputData.chain,
89
+ zapInputData.user,
90
+ zapInputData.lpData.lpType,
91
+ zapInputData.lpData.fromToken,
92
+ zapInputData.lpData.fromAmount,
93
+ zapInputData.lpData.underlyingDex ?? '',
94
+ zapInputData.lpData.vault,
95
+ zapInputData.lpData.slippage,
96
+ zapInputData.lpData.lpAddress,
97
+ zapInputData.lpData.router ?? '',
98
+ ];
99
+ }, [zapInputData]);
100
+ const fetchZapDetails = async () => {
101
+ const response = await axios.post(SOUL_ZAP_API, {
102
+ '0': zapInputData,
103
+ });
104
+ return response.data?.[0]?.result?.data;
105
+ };
106
+ const { data: response, isLoading, isFetching, error, } = useQuery({
107
+ queryKey: [QUERY_KEYS.ZAP_TOKEN_QUOTE, queryKey],
108
+ queryFn: fetchZapDetails,
109
+ refetchInterval: 60000, // i.e. 60 sec
110
+ enabled: !!queryKey,
111
+ retry: 1,
112
+ });
113
+ const zapError = !!error;
114
+ const tokenList = zapInputTokens[chainId] ? zapInputTokens[chainId] : [];
115
+ // toToken0 data
116
+ const toToken0Estimate = response?.lpQuote?.token0?.fromAmountEstimate;
117
+ const toToken0 = [...tokenList, principalToken]?.find((token) => token?.address?.[chainId]?.toLowerCase() === response?.lpQuote?.token0?.address?.toLowerCase());
118
+ const toToken0Price = useCurrencyPrice(toToken0 ?? null, chainId);
119
+ // toToken1 data
120
+ const toToken1Estimate = response?.lpQuote?.token1?.fromAmountEstimate;
121
+ const toToken1 = zapInputTokens[chainId]?.find((token) => token.address[chainId]?.toLowerCase() === response?.lpQuote?.token1?.address?.toLowerCase());
122
+ const toToken1Price = useCurrencyPrice(toToken1 ?? null, chainId);
123
+ let toToken0USD = new BigNumber(toToken0Estimate ?? '0')
124
+ ?.div(new BigNumber(10).pow(toToken0?.decimals[chainId] ?? 18)) // this is amount of swap output
125
+ ?.times(new BigNumber(toToken0Price?.price ?? 0)); // convert it to usd price
126
+ if (response?.lpQuote?.token0?.fromAmountUSD) {
127
+ toToken0USD = new BigNumber(response?.lpQuote?.token0?.fromAmountUSD);
128
+ }
129
+ let toToken1USD = new BigNumber(toToken1Estimate ?? '0')
130
+ ?.div(new BigNumber(10).pow(toToken1?.decimals[chainId] ?? 18)) // this is amount of swap output
131
+ ?.times(new BigNumber(toToken1Price?.price ?? 0)); // convert it to usd price
132
+ if (response?.lpQuote?.token1?.fromAmountUSD) {
133
+ toToken1USD = new BigNumber(response?.lpQuote?.token1?.fromAmountUSD);
134
+ }
135
+ const youSpendUSD = toToken0USD.plus(toToken1USD); // youSpendUSD
136
+ const estimatedDepositAmount = youSpendUSD.div(bond?.principalTokenPrice ?? '0');
137
+ const isWrap = inputCurrency === 'NATIVE' &&
138
+ bond?.lpToken?.address?.[chainId]?.toLowerCase() === WNATIVE[chainId]?.address?.[chainId]?.toLowerCase();
139
+ const estimatedDepositAmountToReturn = isWrap ? typedValue : estimatedDepositAmount.toString();
140
+ const trueBondPrice = response?.protocolQuote?.trueBondPrice;
141
+ const zapLoading = isLoading || isFetching;
142
+ if (zapLoading)
143
+ return [true, undefined, '', false, undefined];
144
+ return [zapLoading, response, estimatedDepositAmountToReturn, zapError, trueBondPrice];
145
+ };
146
+
147
+ export { useSoulZapBondQuote as default };
148
+ //# sourceMappingURL=useSoulZapBondQuote.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSoulZapBondQuote.js","sources":["../../../src/state/zap/useSoulZapBondQuote.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport BigNumber from 'bignumber.js'\nimport { BillVersion, ChainId, dexFactories, LiquidityDex, Token } from '@ape.swap/apeswap-lists'\nimport { getChainParam, getLpType } from './getChainParam'\nimport axios from 'axios'\nimport { useQuery } from '@tanstack/react-query'\nimport { QUERY_KEYS } from '../../config/constants/queryKeys'\nimport useCurrencyPrice from '../../state/price/useCurrencyPrice'\nimport { BondsData } from '../../types/bonds'\nimport { useSlippage } from '../slippage/useSlippage'\nimport useDebounce from '../../hooks/useDebounce'\nimport { WNATIVE, zapInputTokens } from '../../config/constants/tokens'\nimport { SOUL_ZAP_API } from '../../config/constants/variables'\n\nconst useSoulZapBondQuote = (\n typedValue: string,\n inputCurrency: 'NATIVE' | Token | undefined,\n bond: BondsData | undefined,\n account?: string,\n tierProofSig?: string,\n): [loading: boolean, response: any, depositAmount: string, error: boolean, trueBondPrice: string | undefined] => {\n const debouncedInput = useDebounce(typedValue, 400)\n const [slippage] = useSlippage()\n\n const principalToken = bond?.lpToken as Token\n const bondContractAddress = bond?.contractAddress[bond?.chainId as ChainId]\n const chainId = bond?.chainId as ChainId\n const inputCurrencyString =\n inputCurrency === 'NATIVE' ? '0x0000000000000000000000000000000000000000' : inputCurrency?.address[chainId]\n const inputCurrencyDecimals = inputCurrency === 'NATIVE' ? 18 : inputCurrency?.decimals![chainId]\n const principalContractAddress = principalToken?.address[chainId]\n const chainName = getChainParam(chainId)\n\n const isReserveBond = bond?.billType === 'reserve' || bond?.billType === 'staking'\n const liquidityDex: LiquidityDex | undefined =\n principalToken?.liquiditySource?.[chainId] ?? principalToken?.liquidityDex?.[chainId]\n const protocol = dexFactories[chainId]?.[liquidityDex!]?.protocol\n const lpType = isReserveBond ? 'single' : getLpType(protocol)\n const ichiUnderlyingDex = principalToken?.ichiUnderlyingDex\n const vault = principalToken?.address?.[chainId]\n const router = dexFactories[chainId]?.[liquidityDex!]?.router\n\n // Validates that the user did not pass an amount with 19 decimals or more\n const validated18DecimalAmount = new BigNumber(debouncedInput ?? '0').toFixed(18, 5)\n const bigishInputAmount = new BigNumber(validated18DecimalAmount ?? '0')\n .times(new BigNumber(10).pow(inputCurrencyDecimals ?? 18))\n .toString()\n\n const zapInputData = useMemo(() => {\n if (\n inputCurrencyString &&\n inputCurrencyDecimals &&\n bigishInputAmount !== 'NaN' &&\n bigishInputAmount !== '0' &&\n principalContractAddress &&\n chainName &&\n bondContractAddress &&\n (inputCurrency === 'NATIVE' || inputCurrency?.address[chainId] !== principalToken.address[chainId])\n ) {\n return {\n chain: chainName,\n recipient: account ?? '0x0000000000000000000000000000000000000000',\n user: account ?? '0x0000000000000000000000000000000000000000',\n lpData: {\n lpType,\n fromToken: inputCurrencyString,\n fromAmount: bigishInputAmount,\n underlyingDex: ichiUnderlyingDex,\n vault: isReserveBond ? undefined : vault,\n slippage: slippage,\n lpAddress: lpType === 'solidly' || lpType === 'univ2' || lpType === 'curve' ? vault : undefined,\n router: lpType === 'solidly' || lpType === 'univ2' ? router : undefined,\n toToken: isReserveBond ? vault : undefined,\n },\n protocolData: {\n protocol: 'ApeBond',\n bond: bondContractAddress,\n depositer: account ?? '0x0000000000000000000000000000000000000000',\n tierProofSignature: bond.billVersion === BillVersion.V4 && tierProofSig ? tierProofSig : undefined,\n },\n }\n } else {\n return null\n }\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [\n bigishInputAmount,\n principalContractAddress,\n chainName,\n account,\n ichiUnderlyingDex,\n vault,\n lpType,\n router,\n slippage,\n ])\n\n const queryKey = useMemo(() => {\n if (!zapInputData) return null\n return [\n 'zapBondDetails',\n zapInputData.chain,\n zapInputData.user,\n zapInputData.lpData.lpType,\n zapInputData.lpData.fromToken,\n zapInputData.lpData.fromAmount,\n zapInputData.lpData.underlyingDex ?? '',\n zapInputData.lpData.vault,\n zapInputData.lpData.slippage,\n zapInputData.lpData.lpAddress,\n zapInputData.lpData.router ?? '',\n ]\n }, [zapInputData])\n\n const fetchZapDetails = async () => {\n const response = await axios.post(SOUL_ZAP_API, {\n '0': zapInputData,\n })\n return response.data?.[0]?.result?.data\n }\n\n const {\n data: response,\n isLoading,\n isFetching,\n error,\n } = useQuery({\n queryKey: [QUERY_KEYS.ZAP_TOKEN_QUOTE, queryKey],\n queryFn: fetchZapDetails,\n refetchInterval: 60000, // i.e. 60 sec\n enabled: !!queryKey,\n retry: 1,\n })\n const zapError = !!error\n\n const tokenList = zapInputTokens[chainId] ? zapInputTokens[chainId] : []\n\n // toToken0 data\n const toToken0Estimate: string | undefined = response?.lpQuote?.token0?.fromAmountEstimate\n const toToken0 = [...tokenList, principalToken]?.find(\n (token) => token?.address?.[chainId]?.toLowerCase() === response?.lpQuote?.token0?.address?.toLowerCase(),\n )\n const toToken0Price = useCurrencyPrice(toToken0 ?? null, chainId)\n\n // toToken1 data\n const toToken1Estimate: string | undefined = response?.lpQuote?.token1?.fromAmountEstimate\n const toToken1 = zapInputTokens[chainId]?.find(\n (token) => token.address[chainId]?.toLowerCase() === response?.lpQuote?.token1?.address?.toLowerCase(),\n )\n const toToken1Price = useCurrencyPrice(toToken1 ?? null, chainId)\n\n let toToken0USD = new BigNumber(toToken0Estimate ?? '0')\n ?.div(new BigNumber(10).pow(toToken0?.decimals![chainId] ?? 18)) // this is amount of swap output\n ?.times(new BigNumber(toToken0Price?.price ?? 0)) // convert it to usd price\n\n if (response?.lpQuote?.token0?.fromAmountUSD) {\n toToken0USD = new BigNumber(response?.lpQuote?.token0?.fromAmountUSD)\n }\n\n let toToken1USD = new BigNumber(toToken1Estimate ?? '0')\n ?.div(new BigNumber(10).pow(toToken1?.decimals![chainId] ?? 18)) // this is amount of swap output\n ?.times(new BigNumber(toToken1Price?.price ?? 0)) // convert it to usd price\n\n if (response?.lpQuote?.token1?.fromAmountUSD) {\n toToken1USD = new BigNumber(response?.lpQuote?.token1?.fromAmountUSD)\n }\n\n const youSpendUSD = toToken0USD.plus(toToken1USD) // youSpendUSD\n const estimatedDepositAmount = youSpendUSD.div(bond?.principalTokenPrice ?? '0')\n\n const isWrap =\n inputCurrency === 'NATIVE' &&\n bond?.lpToken?.address?.[chainId]?.toLowerCase() === WNATIVE[chainId]?.address?.[chainId]?.toLowerCase()\n\n const estimatedDepositAmountToReturn = isWrap ? typedValue : estimatedDepositAmount.toString()\n\n const trueBondPrice: string | undefined = response?.protocolQuote?.trueBondPrice\n\n const zapLoading = isLoading || isFetching\n if (zapLoading) return [true, undefined, '', false, undefined]\n\n return [zapLoading, response, estimatedDepositAmountToReturn, zapError, trueBondPrice]\n}\n\nexport default useSoulZapBondQuote\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,124 @@
1
+ import { useMemo } from 'react';
2
+ import BigNumber from 'bignumber.js';
3
+ import { dexFactories } from '@ape.swap/apeswap-lists';
4
+ import { getChainParam, getLpType } from './getChainParam.js';
5
+ import axios from 'axios';
6
+ import { useQuery } from '@tanstack/react-query';
7
+ import { QUERY_KEYS } from '../../config/constants/queryKeys.js';
8
+ import useCurrencyPrice from '../price/useCurrencyPrice.js';
9
+ import { useSlippage } from '../slippage/useSlippage.js';
10
+ import useDebounce from '../../hooks/useDebounce.js';
11
+ import { SOUL_ZAP_API } from '../../config/constants/variables.js';
12
+ import { zapInputTokens } from '../../config/constants/tokens.js';
13
+
14
+ const useSoulZapTokenQuote = (typedValue, inputCurrency, outputToken, chainId, account) => {
15
+ const debouncedInput = useDebounce(typedValue, 400);
16
+ const [slippage] = useSlippage();
17
+ const inputCurrencyString = inputCurrency === 'NATIVE' ? '0x0000000000000000000000000000000000000000' : inputCurrency?.address[chainId];
18
+ const inputCurrencyDecimals = inputCurrency === 'NATIVE' ? 18 : inputCurrency?.decimals[chainId];
19
+ const contractAddress = outputToken?.address[chainId];
20
+ const chain = getChainParam(chainId);
21
+ const isLP = outputToken?.lpToken ?? false;
22
+ const liquidityDex = outputToken?.liquidityDex?.[chainId];
23
+ const protocol = dexFactories[chainId]?.[liquidityDex]?.protocol;
24
+ const lpType = outputToken?.lpToken ? getLpType(protocol) : 'single';
25
+ const ichiUnderlyingDex = outputToken?.ichiUnderlyingDex;
26
+ const vault = outputToken?.address?.[chainId];
27
+ const router = dexFactories[chainId]?.[liquidityDex]?.router;
28
+ // Validates that the user did not pass an amount with 19 decimals or more
29
+ const validated18DecimalAmount = new BigNumber(debouncedInput ?? '0').toFixed(18, 5);
30
+ const bigishInputAmount = new BigNumber(validated18DecimalAmount ?? '0')
31
+ .times(new BigNumber(10).pow(inputCurrencyDecimals ?? 18))
32
+ .toString();
33
+ const zapInputData = useMemo(() => {
34
+ if (inputCurrencyString &&
35
+ inputCurrencyDecimals &&
36
+ bigishInputAmount !== 'NaN' &&
37
+ bigishInputAmount !== '0' &&
38
+ contractAddress &&
39
+ chain) {
40
+ return {
41
+ chain,
42
+ recipient: account ?? '',
43
+ user: account ?? '',
44
+ lpData: {
45
+ lpType,
46
+ fromToken: inputCurrencyString,
47
+ fromAmount: bigishInputAmount,
48
+ underlyingDex: ichiUnderlyingDex,
49
+ vault: isLP ? vault : undefined,
50
+ slippage: slippage,
51
+ lpAddress: lpType === 'solidly' || lpType === 'univ2' || lpType === 'curve' ? vault : undefined,
52
+ router: lpType === 'solidly' || lpType === 'univ2' ? router : undefined,
53
+ toToken: isLP ? undefined : vault,
54
+ },
55
+ };
56
+ }
57
+ else {
58
+ return null;
59
+ }
60
+ /* eslint-disable react-hooks/exhaustive-deps */
61
+ }, [bigishInputAmount, contractAddress, chain, account, ichiUnderlyingDex, vault, lpType, router, slippage]);
62
+ const queryKey = useMemo(() => {
63
+ if (!zapInputData)
64
+ return null;
65
+ return [
66
+ 'zapTokenDetails',
67
+ zapInputData.chain,
68
+ zapInputData.user,
69
+ zapInputData.lpData.lpType,
70
+ zapInputData.lpData.fromToken,
71
+ zapInputData.lpData.fromAmount,
72
+ zapInputData.lpData.underlyingDex ?? '',
73
+ zapInputData.lpData.vault,
74
+ zapInputData.lpData.slippage,
75
+ zapInputData.lpData.lpAddress,
76
+ zapInputData.lpData.router ?? '',
77
+ ];
78
+ }, [zapInputData]);
79
+ const fetchZapDetails = async () => {
80
+ console.log('Making SoulZap Token Call');
81
+ const response = await axios.post(SOUL_ZAP_API, {
82
+ '0': zapInputData,
83
+ });
84
+ return response.data?.[0]?.result?.data;
85
+ };
86
+ const { data: response, isLoading, error, } = useQuery({
87
+ queryKey: [QUERY_KEYS.ZAP_TOKEN_QUOTE, queryKey],
88
+ queryFn: fetchZapDetails,
89
+ refetchInterval: 20000,
90
+ enabled: !!queryKey,
91
+ retry: 1,
92
+ });
93
+ const zapError = !!error;
94
+ const tokenList = zapInputTokens[chainId] ? zapInputTokens[chainId] : [];
95
+ // toToken0 data
96
+ const toToken0Estimate = response?.lpQuote?.token0?.fromAmountEstimate;
97
+ const toToken0 = [...tokenList, outputToken]?.find((token) => token?.address?.[chainId]?.toLowerCase() === response?.lpQuote?.token0?.address?.toLowerCase());
98
+ const toToken0Price = useCurrencyPrice(toToken0 ?? null, chainId);
99
+ // toToken1 data
100
+ const toToken1Estimate = response?.lpQuote?.token1?.fromAmountEstimate;
101
+ const toToken1 = zapInputTokens[chainId]?.find((token) => token.address[chainId]?.toLowerCase() === response?.lpQuote?.token1?.address?.toLowerCase());
102
+ const toToken1Price = useCurrencyPrice(toToken1 ?? null, chainId);
103
+ let toToken0USD = new BigNumber(toToken0Estimate ?? '0')
104
+ ?.div(new BigNumber(10).pow(toToken0?.decimals[chainId] ?? 18)) // this is amount of swap output
105
+ ?.times(new BigNumber(toToken0Price?.price ?? 0)); // convert it to usd price
106
+ if (response?.lpQuote?.token0?.fromAmountUSD) {
107
+ toToken0USD = new BigNumber(response?.lpQuote?.token0?.fromAmountUSD);
108
+ }
109
+ let toToken1USD = new BigNumber(toToken1Estimate ?? '0')
110
+ ?.div(new BigNumber(10).pow(toToken1?.decimals[chainId] ?? 18)) // this is amount of swap output
111
+ ?.times(new BigNumber(toToken1Price?.price ?? 0)); // convert it to usd price
112
+ if (response?.lpQuote?.token1?.fromAmountUSD) {
113
+ toToken1USD = new BigNumber(response?.lpQuote?.token1?.fromAmountUSD);
114
+ }
115
+ const totalUSDAmount = toToken0USD.plus(toToken1USD);
116
+ const ouputTokenPrice = useCurrencyPrice(outputToken ?? null, chainId);
117
+ const outputTokenPrice = new BigNumber(ouputTokenPrice?.price ?? 1);
118
+ const lpAmount = totalUSDAmount.div(outputTokenPrice); // then we divide the lp USD price to get the amount of LP tokens
119
+ const estimateOutput = lpAmount.toNumber();
120
+ return [isLoading, response, estimateOutput, zapError];
121
+ };
122
+
123
+ export { useSoulZapTokenQuote as default };
124
+ //# sourceMappingURL=useSoulZapTokenQuote.js.map