@ape.swap/bonds-sdk 3.2.0 → 3.3.0-test.4

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 (205) hide show
  1. package/dist/components/BondFilters/BondFilters.js +0 -12
  2. package/dist/components/BondFilters/BondFilters.js.map +1 -1
  3. package/dist/components/ChainOptionList/ChainOptionsButtons.js +1 -13
  4. package/dist/components/ChainOptionList/ChainOptionsButtons.js.map +1 -1
  5. package/dist/components/ChainOptionList/ChainOptionsList.js +2 -13
  6. package/dist/components/ChainOptionList/ChainOptionsList.js.map +1 -1
  7. package/dist/components/ConnectButton/index.js +3 -17
  8. package/dist/components/ConnectButton/index.js.map +1 -1
  9. package/dist/components/FavIcons/AddFavToken.js +1 -12
  10. package/dist/components/FavIcons/AddFavToken.js.map +1 -1
  11. package/dist/components/FavIcons/FavFilter.js +1 -13
  12. package/dist/components/FavIcons/FavFilter.js.map +1 -1
  13. package/dist/components/LoadingSpinner/index.js +0 -13
  14. package/dist/components/LoadingSpinner/index.js.map +1 -1
  15. package/dist/components/MenuSelect/MenuSelect.js +1 -12
  16. package/dist/components/MenuSelect/MenuSelect.js.map +1 -1
  17. package/dist/components/MenuSelect/RecommendationSelector.js +0 -13
  18. package/dist/components/MenuSelect/RecommendationSelector.js.map +1 -1
  19. package/dist/components/NetworkFilter/index.js +2 -12
  20. package/dist/components/NetworkFilter/index.js.map +1 -1
  21. package/dist/components/PlaceholderMonkey/index.js +2 -13
  22. package/dist/components/PlaceholderMonkey/index.js.map +1 -1
  23. package/dist/components/ProgressBar/ProgressBarWrapper.js +1 -9
  24. package/dist/components/ProgressBar/ProgressBarWrapper.js.map +1 -1
  25. package/dist/components/SlippageModal/index.js +2 -13
  26. package/dist/components/SlippageModal/index.js.map +1 -1
  27. package/dist/components/StepBubble/index.js +1 -12
  28. package/dist/components/StepBubble/index.js.map +1 -1
  29. package/dist/components/Toast/index.js +2 -10
  30. package/dist/components/Toast/index.js.map +1 -1
  31. package/dist/components/TokenInfoAndName/index.js +2 -14
  32. package/dist/components/TokenInfoAndName/index.js.map +1 -1
  33. package/dist/components/TokenSelectorModal/TokenRow.js +1 -13
  34. package/dist/components/TokenSelectorModal/TokenRow.js.map +1 -1
  35. package/dist/components/TokenSelectorModal/index.js +2 -16
  36. package/dist/components/TokenSelectorModal/index.js.map +1 -1
  37. package/dist/components/TokenSelectorPanel/index.js +1 -13
  38. package/dist/components/TokenSelectorPanel/index.js.map +1 -1
  39. package/dist/components/Tooltip/ButtonsRow.js +1 -12
  40. package/dist/components/Tooltip/ButtonsRow.js.map +1 -1
  41. package/dist/components/Tooltip/Tooltip.js +0 -12
  42. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  43. package/dist/components/YouTooltip/YouTooltip.js +0 -13
  44. package/dist/components/YouTooltip/YouTooltip.js.map +1 -1
  45. package/dist/components/uikit-sdk/LoadingDots/index.js +0 -13
  46. package/dist/components/uikit-sdk/LoadingDots/index.js.map +1 -1
  47. package/dist/components/uikit-sdk/Toggle/index.js +1 -1
  48. package/dist/components/uikit-sdk/Toggle/index.js.map +1 -1
  49. package/dist/components/uikit-sdk/TokenImage/index.js +0 -13
  50. package/dist/components/uikit-sdk/TokenImage/index.js.map +1 -1
  51. package/dist/config/abi/launchBond_v2_4_1.json.js +2 -2
  52. package/dist/config/constants/walletConnectors.d.ts +3 -0
  53. package/dist/config/constants/walletConnectors.js +18 -0
  54. package/dist/config/constants/walletConnectors.js.map +1 -0
  55. package/dist/contexts/ModalContext.js +0 -11
  56. package/dist/contexts/ModalContext.js.map +1 -1
  57. package/dist/contexts/Popups.js +0 -13
  58. package/dist/contexts/Popups.js.map +1 -1
  59. package/dist/state/allowance/useAllowance.js +2 -2
  60. package/dist/state/allowance/useAllowance.js.map +1 -1
  61. package/dist/state/bonds/utils.js +2 -2
  62. package/dist/state/preTGEBonds/usePreTGEUserBonds.js +3 -3
  63. package/dist/state/useSDKConfig.d.ts +7 -2
  64. package/dist/state/useSDKConfig.js +10 -2
  65. package/dist/state/useSDKConfig.js.map +1 -1
  66. package/dist/utils/convertToTokenValue.d.ts +1 -3
  67. package/dist/utils/convertToTokenValue.js +7 -9
  68. package/dist/utils/convertToTokenValue.js.map +1 -1
  69. package/dist/utils/multicall.js +34 -18
  70. package/dist/utils/multicall.js.map +1 -1
  71. package/dist/views/Bonds/Bonds.js +0 -11
  72. package/dist/views/Bonds/Bonds.js.map +1 -1
  73. package/dist/views/Bonds/components/BannerTestnet/BannerTestnet.js +1 -13
  74. package/dist/views/Bonds/components/BannerTestnet/BannerTestnet.js.map +1 -1
  75. package/dist/views/Bonds/components/BondRows/BondRow.js +1 -13
  76. package/dist/views/Bonds/components/BondRows/BondRow.js.map +1 -1
  77. package/dist/views/Bonds/components/BondRows/ChainTitle.js +1 -12
  78. package/dist/views/Bonds/components/BondRows/ChainTitle.js.map +1 -1
  79. package/dist/views/Bonds/components/BondsMenu/BondsMenu.js +0 -12
  80. package/dist/views/Bonds/components/BondsMenu/BondsMenu.js.map +1 -1
  81. package/dist/views/Bonds/components/BonusComponents/BonusComponent.js +1 -13
  82. package/dist/views/Bonds/components/BonusComponents/BonusComponent.js.map +1 -1
  83. package/dist/views/Bonds/components/BonusComponents/BonusTable.js +1 -14
  84. package/dist/views/Bonds/components/BonusComponents/BonusTable.js.map +1 -1
  85. package/dist/views/Bonds/components/BuyAgainRow/index.js +0 -11
  86. package/dist/views/Bonds/components/BuyAgainRow/index.js.map +1 -1
  87. package/dist/views/Bonds/components/HotBondCards/HotBondCard.js +1 -13
  88. package/dist/views/Bonds/components/HotBondCards/HotBondCard.js.map +1 -1
  89. package/dist/views/Bonds/components/HotBondCards/index.js +0 -12
  90. package/dist/views/Bonds/components/HotBondCards/index.js.map +1 -1
  91. package/dist/views/Bonds/components/RecommendationCards/SmallRecommendationCard.js +0 -13
  92. package/dist/views/Bonds/components/RecommendationCards/SmallRecommendationCard.js.map +1 -1
  93. package/dist/views/Bonds/components/RecommendationCards/index.js +0 -12
  94. package/dist/views/Bonds/components/RecommendationCards/index.js.map +1 -1
  95. package/dist/views/BuyBond/BuyBond.js +2 -12
  96. package/dist/views/BuyBond/BuyBond.js.map +1 -1
  97. package/dist/views/BuyBond/BuyBondModal.js +0 -12
  98. package/dist/views/BuyBond/BuyBondModal.js.map +1 -1
  99. package/dist/views/BuyBond/components/BondModalHeader.js +1 -14
  100. package/dist/views/BuyBond/components/BondModalHeader.js.map +1 -1
  101. package/dist/views/BuyBond/components/BondModalMinTierHeader.js +0 -12
  102. package/dist/views/BuyBond/components/BondModalMinTierHeader.js.map +1 -1
  103. package/dist/views/BuyBond/components/ExpandedViewButton.js +1 -14
  104. package/dist/views/BuyBond/components/ExpandedViewButton.js.map +1 -1
  105. package/dist/views/BuyBond/components/GetUpToComponent/GetUpToComponent.js +2 -13
  106. package/dist/views/BuyBond/components/GetUpToComponent/GetUpToComponent.js.map +1 -1
  107. package/dist/views/BuyBond/components/NewRateModal/NewRateModal.js +1 -12
  108. package/dist/views/BuyBond/components/NewRateModal/NewRateModal.js.map +1 -1
  109. package/dist/views/BuyBond/components/NoBonusModal/NoBonusModal.js +1 -11
  110. package/dist/views/BuyBond/components/NoBonusModal/NoBonusModal.js.map +1 -1
  111. package/dist/views/BuyBond/components/ProjectDescription.js +0 -11
  112. package/dist/views/BuyBond/components/ProjectDescription.js.map +1 -1
  113. package/dist/views/BuyBond/index.d.ts +2 -2
  114. package/dist/views/BuyBond/index.js.map +1 -1
  115. package/dist/views/FullBondsView/FullBondsView.d.ts +0 -4
  116. package/dist/views/FullBondsView/FullBondsView.js +2 -19
  117. package/dist/views/FullBondsView/FullBondsView.js.map +1 -1
  118. package/dist/views/PreTGEBonds/components/BuyComponent/BondCards.js +1 -13
  119. package/dist/views/PreTGEBonds/components/BuyComponent/BondCards.js.map +1 -1
  120. package/dist/views/PreTGEBonds/components/BuyComponent/ParticipationSuccessful.js +4 -14
  121. package/dist/views/PreTGEBonds/components/BuyComponent/ParticipationSuccessful.js.map +1 -1
  122. package/dist/views/PreTGEBonds/components/BuyComponent/PreTGEBuyComponent.js +4 -13
  123. package/dist/views/PreTGEBonds/components/BuyComponent/PreTGEBuyComponent.js.map +1 -1
  124. package/dist/views/PreTGEBonds/components/PreTGEUserRows/PreTGEActions.js +3 -15
  125. package/dist/views/PreTGEBonds/components/PreTGEUserRows/PreTGEActions.js.map +1 -1
  126. package/dist/views/PreTGEBonds/components/PreTGEUserRows/PreTGEUserRow.js +1 -12
  127. package/dist/views/PreTGEBonds/components/PreTGEUserRows/PreTGEUserRow.js.map +1 -1
  128. package/dist/views/TransactionModal/TransactionModal.js +2 -13
  129. package/dist/views/TransactionModal/TransactionModal.js.map +1 -1
  130. package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.js +3 -13
  131. package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.js.map +1 -1
  132. package/dist/views/YourBonds/components/ClaimAll/index.js +0 -13
  133. package/dist/views/YourBonds/components/ClaimAll/index.js.map +1 -1
  134. package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.js +0 -12
  135. package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.js.map +1 -1
  136. package/dist/views/YourBondsModal/components/TransferBondModal/TransferAction.js +0 -12
  137. package/dist/views/YourBondsModal/components/TransferBondModal/TransferAction.js.map +1 -1
  138. package/dist/views/YourBondsModal/components/TransferBondModal/index.js +3 -12
  139. package/dist/views/YourBondsModal/components/TransferBondModal/index.js.map +1 -1
  140. package/dist/views/ZapModal/index.js +4 -13
  141. package/dist/views/ZapModal/index.js.map +1 -1
  142. package/package.json +18 -8
  143. package/dist/components/ConnectButton/AppKitButton.d.ts +0 -3
  144. package/dist/components/ConnectButton/AppKitButton.js +0 -22
  145. package/dist/components/ConnectButton/AppKitButton.js.map +0 -1
  146. package/dist/components/ConnectButton/RainbowKitButton.d.ts +0 -3
  147. package/dist/components/ConnectButton/RainbowKitButton.js +0 -35
  148. package/dist/components/ConnectButton/RainbowKitButton.js.map +0 -1
  149. package/dist/components/uikit-sdk/index.d.ts +0 -15
  150. package/dist/config/abi/types/Banana.d.ts +0 -394
  151. package/dist/config/abi/types/Bond.d.ts +0 -758
  152. package/dist/config/abi/types/BondNft.d.ts +0 -556
  153. package/dist/config/abi/types/EnsPublicResolver.d.ts +0 -437
  154. package/dist/config/abi/types/EnsRegistrar.d.ts +0 -254
  155. package/dist/config/abi/types/Erc20.d.ts +0 -156
  156. package/dist/config/abi/types/Erc20_bytes32.d.ts +0 -50
  157. package/dist/config/abi/types/JungleChef.d.ts +0 -245
  158. package/dist/config/abi/types/LaunchBonds.d.ts +0 -1306
  159. package/dist/config/abi/types/LensContract.d.ts +0 -276
  160. package/dist/config/abi/types/LockVeAbond.d.ts +0 -1173
  161. package/dist/config/abi/types/MigrationBond.d.ts +0 -1074
  162. package/dist/config/abi/types/MigrationFveAbond.d.ts +0 -284
  163. package/dist/config/abi/types/MiniComplexRewarder.d.ts +0 -423
  164. package/dist/config/abi/types/Multicallv2.d.ts +0 -139
  165. package/dist/config/abi/types/Multicallv3.d.ts +0 -98
  166. package/dist/config/abi/types/NonFungibleApes.d.ts +0 -492
  167. package/dist/config/abi/types/NonFungibleBananas.d.ts +0 -468
  168. package/dist/config/abi/types/PriceGetter.d.ts +0 -676
  169. package/dist/config/abi/types/PriceGetterLinea.d.ts +0 -756
  170. package/dist/config/abi/types/PriceGetterV2.d.ts +0 -692
  171. package/dist/config/abi/types/SousChef.d.ts +0 -542
  172. package/dist/config/abi/types/Treasury.d.ts +0 -274
  173. package/dist/config/abi/types/Weth.d.ts +0 -206
  174. package/dist/config/abi/types/Zap.d.ts +0 -484
  175. package/dist/config/abi/types/common.d.ts +0 -22
  176. package/dist/config/abi/types/factories/Banana__factory.d.ts +0 -475
  177. package/dist/config/abi/types/factories/BondNft__factory.d.ts +0 -723
  178. package/dist/config/abi/types/factories/Bond__factory.d.ts +0 -799
  179. package/dist/config/abi/types/factories/EnsPublicResolver__factory.d.ts +0 -649
  180. package/dist/config/abi/types/factories/EnsRegistrar__factory.d.ts +0 -338
  181. package/dist/config/abi/types/factories/Erc20__factory.d.ts +0 -175
  182. package/dist/config/abi/types/factories/Erc20_bytes32__factory.d.ts +0 -30
  183. package/dist/config/abi/types/factories/JungleChef__factory.d.ts +0 -247
  184. package/dist/config/abi/types/factories/LaunchBonds__factory.d.ts +0 -1560
  185. package/dist/config/abi/types/factories/LensContract__factory.d.ts +0 -254
  186. package/dist/config/abi/types/factories/LockVeAbond__factory.d.ts +0 -1698
  187. package/dist/config/abi/types/factories/MigrationBond__factory.d.ts +0 -1268
  188. package/dist/config/abi/types/factories/MigrationFveAbond__factory.d.ts +0 -262
  189. package/dist/config/abi/types/factories/MiniComplexRewarder__factory.d.ts +0 -448
  190. package/dist/config/abi/types/factories/Multicallv2__factory.d.ts +0 -115
  191. package/dist/config/abi/types/factories/Multicallv3__factory.d.ts +0 -76
  192. package/dist/config/abi/types/factories/NonFungibleApes__factory.d.ts +0 -617
  193. package/dist/config/abi/types/factories/NonFungibleBananas__factory.d.ts +0 -576
  194. package/dist/config/abi/types/factories/PriceGetterLinea__factory.d.ts +0 -1105
  195. package/dist/config/abi/types/factories/PriceGetterV2__factory.d.ts +0 -1027
  196. package/dist/config/abi/types/factories/PriceGetter__factory.d.ts +0 -999
  197. package/dist/config/abi/types/factories/SousChef__factory.d.ts +0 -511
  198. package/dist/config/abi/types/factories/Treasury__factory.d.ts +0 -235
  199. package/dist/config/abi/types/factories/Weth__factory.d.ts +0 -220
  200. package/dist/config/abi/types/factories/Zap__factory.d.ts +0 -695
  201. package/dist/config/abi/types/factories/index.d.ts +0 -25
  202. package/dist/config/abi/types/index.d.ts +0 -51
  203. package/dist/utils/index.d.ts +0 -1
  204. package/dist/utils/index.js +0 -16
  205. package/dist/utils/index.js.map +0 -1
@@ -4,20 +4,8 @@ import { styles } from './styles.js';
4
4
  import HotBondCard from './HotBondCard.js';
5
5
  import { Swiper, SwiperSlide } from 'swiper/react';
6
6
  import useHotBonds from '../../../../state/bonds/useHotBonds.js';
7
- import '../../../../components/uikit-sdk/Svg/types.js';
8
- import 'theme-ui';
9
7
  import Flex from '../../../../components/uikit-sdk/Flex/index.js';
10
- import '../../../../components/uikit-sdk/Text/types.js';
11
- import '../../../../components/uikit-sdk/Checkbox/types.js';
12
- import '../../../../components/uikit-sdk/Skeleton/types.js';
13
- import '../../../../components/uikit-sdk/Skeleton/styles.js';
14
- import '../../../../components/uikit-sdk/TooltipBubble/index.js';
15
- import 'framer-motion';
16
- import '../../../../components/uikit-sdk/Button/types.js';
17
- import '../../../../contexts/ModalContext.js';
18
- import '../../../FullBondsView/FullBondsView.js';
19
8
  import SwiperDots from '../../../../components/uikit-sdk/SwiperDots/index.js';
20
- import '../../../../components/uikit-sdk/Select/types.js';
21
9
  import useSwiper from '../../../../hooks/useSwiper.js';
22
10
  import { getDotPos } from '../../../../utils/getDotPos.js';
23
11
  import 'swiper/swiper.css';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/Bonds/components/HotBondCards/index.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { styles } from './styles'\nimport HotBondCard from './HotBondCard'\nimport { Swiper, SwiperSlide } from 'swiper/react'\nimport SwiperCore from 'swiper'\nimport useHotBonds from '../../../../state/bonds/useHotBonds'\nimport { Flex, SwiperDots } from '../../../../components/uikit-sdk'\nimport useSwiper from '../../../../hooks/useSwiper'\nimport { getDotPos } from '../../../../utils/getDotPos'\nimport 'swiper/swiper.css'\nimport { findHighestTrueBondPrice } from '../../../BuyBond/findHighestTrueBondPrice'\nimport { TIERS_WEIGHT } from '../../../../state/tiers/useTierPoints'\nimport { LaunchBondTiers } from '@ape.swap/apeswap-lists'\n\nconst HotBondCards = () => {\n const { data: hotBonds } = useHotBonds()\n const filteredBonds = hotBonds\n ?.sort(\n (a, b) =>\n (findHighestTrueBondPrice(TIERS_WEIGHT[LaunchBondTiers.Legend], b)?.bonus ?? 0) -\n (findHighestTrueBondPrice(TIERS_WEIGHT[LaunchBondTiers.Legend], a)?.bonus ?? 0),\n )\n ?.filter((bond) => {\n const bonus = findHighestTrueBondPrice(TIERS_WEIGHT[LaunchBondTiers.Legend], bond)?.bonus\n return bonus && bonus > 0 && bonus < 50\n })\n\n const [activeSlide, setActiveSlide] = useState(0)\n const { swiper, setSwiper } = useSwiper()\n\n const handleSlide = (event: SwiperCore) => {\n const slideNumber = getDotPos(event.activeIndex, filteredBonds?.length)\n setActiveSlide(slideNumber)\n }\n\n const slideTo = (index: number) => {\n setActiveSlide(index)\n swiper?.slideTo(index)\n }\n\n return (\n <Flex sx={styles.mainComponent}>\n <Flex sx={styles.hotBondTitle}>HOT BONDS</Flex>\n {/* DESKTOP CARDS */}\n <Flex sx={styles.desktopCards}>\n {filteredBonds?.slice(0, 3).map((bond, index) => {\n return <HotBondCard bond={bond} key={`${bond?.contractAddress?.[bond?.chainId]}-${index}`} />\n })}\n </Flex>\n {/* MOBILE CARDS WITH SWIPER */}\n <Flex\n sx={{\n flexDirection: 'column',\n width: '100%',\n alignItems: 'center',\n mb: '15px',\n overflow: 'hidden',\n display: 'flex',\n '@media screen and (min-width: 1000px)': {\n display: 'none',\n },\n }}\n >\n <Swiper\n id=\"hotbondsSweper\"\n onSwiper={setSwiper}\n slidesPerView=\"auto\"\n centeredSlides\n onSlideChange={handleSlide}\n style={{ width: '100%', paddingBottom: '15px', overflow: 'visible' }}\n >\n {filteredBonds?.map((bond, index) => {\n return (\n <SwiperSlide\n style={{\n width: '100%',\n padding: '1px',\n display: 'flex',\n justifyContent: 'center',\n }}\n key={index}\n >\n <HotBondCard bond={bond} key={`${bond?.contractAddress?.[bond?.chainId]}-${index}`} />\n </SwiperSlide>\n )\n })}\n </Swiper>\n <Flex>\n {[...Array(hotBonds?.length)].map((_, i) => {\n return <SwiperDots isActive={i === activeSlide} onClick={() => slideTo(i)} key={i} />\n })}\n </Flex>\n </Flex>\n </Flex>\n )\n}\n\nexport default HotBondCards\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/views/Bonds/components/HotBondCards/index.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { styles } from './styles'\nimport HotBondCard from './HotBondCard'\nimport { Swiper, SwiperSlide } from 'swiper/react'\nimport SwiperCore from 'swiper'\nimport useHotBonds from '../../../../state/bonds/useHotBonds'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport SwiperDots from '../../../../components/uikit-sdk/SwiperDots'\nimport useSwiper from '../../../../hooks/useSwiper'\nimport { getDotPos } from '../../../../utils/getDotPos'\nimport 'swiper/swiper.css'\nimport { findHighestTrueBondPrice } from '../../../BuyBond/findHighestTrueBondPrice'\nimport { TIERS_WEIGHT } from '../../../../state/tiers/useTierPoints'\nimport { LaunchBondTiers } from '@ape.swap/apeswap-lists'\n\nconst HotBondCards = () => {\n const { data: hotBonds } = useHotBonds()\n const filteredBonds = hotBonds\n ?.sort(\n (a, b) =>\n (findHighestTrueBondPrice(TIERS_WEIGHT[LaunchBondTiers.Legend], b)?.bonus ?? 0) -\n (findHighestTrueBondPrice(TIERS_WEIGHT[LaunchBondTiers.Legend], a)?.bonus ?? 0),\n )\n ?.filter((bond) => {\n const bonus = findHighestTrueBondPrice(TIERS_WEIGHT[LaunchBondTiers.Legend], bond)?.bonus\n return bonus && bonus > 0 && bonus < 50\n })\n\n const [activeSlide, setActiveSlide] = useState(0)\n const { swiper, setSwiper } = useSwiper()\n\n const handleSlide = (event: SwiperCore) => {\n const slideNumber = getDotPos(event.activeIndex, filteredBonds?.length)\n setActiveSlide(slideNumber)\n }\n\n const slideTo = (index: number) => {\n setActiveSlide(index)\n swiper?.slideTo(index)\n }\n\n return (\n <Flex sx={styles.mainComponent}>\n <Flex sx={styles.hotBondTitle}>HOT BONDS</Flex>\n {/* DESKTOP CARDS */}\n <Flex sx={styles.desktopCards}>\n {filteredBonds?.slice(0, 3).map((bond, index) => {\n return <HotBondCard bond={bond} key={`${bond?.contractAddress?.[bond?.chainId]}-${index}`} />\n })}\n </Flex>\n {/* MOBILE CARDS WITH SWIPER */}\n <Flex\n sx={{\n flexDirection: 'column',\n width: '100%',\n alignItems: 'center',\n mb: '15px',\n overflow: 'hidden',\n display: 'flex',\n '@media screen and (min-width: 1000px)': {\n display: 'none',\n },\n }}\n >\n <Swiper\n id=\"hotbondsSweper\"\n onSwiper={setSwiper}\n slidesPerView=\"auto\"\n centeredSlides\n onSlideChange={handleSlide}\n style={{ width: '100%', paddingBottom: '15px', overflow: 'visible' }}\n >\n {filteredBonds?.map((bond, index) => {\n return (\n <SwiperSlide\n style={{\n width: '100%',\n padding: '1px',\n display: 'flex',\n justifyContent: 'center',\n }}\n key={index}\n >\n <HotBondCard bond={bond} key={`${bond?.contractAddress?.[bond?.chainId]}-${index}`} />\n </SwiperSlide>\n )\n })}\n </Swiper>\n <Flex>\n {[...Array(hotBonds?.length)].map((_, i) => {\n return <SwiperDots isActive={i === activeSlide} onClick={() => slideTo(i)} key={i} />\n })}\n </Flex>\n </Flex>\n </Flex>\n )\n}\n\nexport default HotBondCards\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -1,19 +1,6 @@
1
1
  import { jsxs, jsx } from 'theme-ui/jsx-runtime';
2
2
  import getTimePeriods from '../../../../utils/getTimePeriods.js';
3
- import '../../../../components/uikit-sdk/Svg/types.js';
4
- import 'theme-ui';
5
3
  import Flex from '../../../../components/uikit-sdk/Flex/index.js';
6
- import '../../../../components/uikit-sdk/Text/types.js';
7
- import '../../../../components/uikit-sdk/Checkbox/types.js';
8
- import '../../../../components/uikit-sdk/Skeleton/types.js';
9
- import '../../../../components/uikit-sdk/Skeleton/styles.js';
10
- import '../../../../components/uikit-sdk/TooltipBubble/index.js';
11
- import 'react';
12
- import 'framer-motion';
13
- import '../../../../components/uikit-sdk/Button/types.js';
14
- import '../../../../contexts/ModalContext.js';
15
- import '../../../FullBondsView/FullBondsView.js';
16
- import '../../../../components/uikit-sdk/Select/types.js';
17
4
  import TokenImage from '../../../../components/uikit-sdk/TokenImage/index.js';
18
5
  import { styles } from './styles.js';
19
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"SmallRecommendationCard.js","sources":["../../../../../src/views/Bonds/components/RecommendationCards/SmallRecommendationCard.tsx"],"sourcesContent":["import React from 'react'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport getTimePeriods from '../../../../utils/getTimePeriods'\nimport { Flex } from '../../../../components/uikit-sdk'\nimport TokenImage from '../../../../components/uikit-sdk/TokenImage'\nimport { styles } from './styles'\n\nexport interface SmallCardBond {\n vestingTerm: number\n payoutTokenName: string\n contractAddress: string\n bonus: number\n chainId: ChainId\n}\n\nconst SmallRecommendationCard = ({ recommendation }: { recommendation: SmallCardBond }) => {\n const vestingTime = getTimePeriods(recommendation.vestingTerm ?? 0, true)\n\n return (\n <Flex\n sx={styles.smallCardContainer}\n onClick={() =>\n window.open(\n `${window.location.origin}/bonds?bondAddress=${recommendation.contractAddress}&bondChain=${recommendation.chainId}`,\n '_self',\n )\n }\n >\n <Flex sx={{ alignItems: 'center' }}>\n <TokenImage symbol={recommendation.payoutTokenName} size={32} chain={recommendation.chainId} />\n <Flex sx={{ mx: '10px', alignItems: 'center' }}>\n <Flex sx={{ fontSize: '14px', px: '6px' }}>{recommendation.payoutTokenName}</Flex>\n <Flex sx={styles.subTitle}>{vestingTime.days}D</Flex>\n </Flex>\n </Flex>\n <Flex sx={{ alignItems: 'center' }}>\n <Flex sx={styles.subTitle}>Bonus</Flex>\n <Flex sx={{ fontSize: '12px', color: recommendation.bonus > 0 ? 'success' : 'error', ml: '6px' }}>\n {recommendation.bonus.toFixed(2)}%\n </Flex>\n </Flex>\n </Flex>\n )\n}\n\nexport default SmallRecommendationCard\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;;;;;;;;;;;AAeA,MAAM,uBAAuB,GAAG,CAAC,EAAE,cAAc,EAAqC,KAAI;AACxF,IAAA,MAAM,WAAW,GAAG,cAAc,CAAC,cAAc,CAAC,WAAW,IAAI,CAAC,EAAE,IAAI,CAAC;AAEzE,IAAA,QACEA,IAAA,CAAC,IAAI,IACH,EAAE,EAAE,MAAM,CAAC,kBAAkB,EAC7B,OAAO,EAAE,MACP,MAAM,CAAC,IAAI,CACT,CAAA,EAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAA,mBAAA,EAAsB,cAAc,CAAC,eAAe,CAAA,WAAA,EAAc,cAAc,CAAC,OAAO,EAAE,EACnH,OAAO,CACR,EAAA,QAAA,EAAA,CAGHA,IAAA,CAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAA,QAAA,EAAA,CAChCC,GAAA,CAAC,UAAU,EAAA,EAAC,MAAM,EAAE,cAAc,CAAC,eAAe,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,OAAO,EAAA,CAAI,EAC/FD,IAAA,CAAC,IAAI,IAAC,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,aAC5CC,GAAA,CAAC,IAAI,IAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAA,QAAA,EAAG,cAAc,CAAC,eAAe,EAAA,CAAQ,EAClFD,IAAA,CAAC,IAAI,IAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,aAAG,WAAW,CAAC,IAAI,EAAA,GAAA,CAAA,EAAA,CAAS,CAAA,EAAA,CAChD,IACF,EACPA,IAAA,CAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,aAChCC,GAAA,CAAC,IAAI,IAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAA,QAAA,EAAA,OAAA,EAAA,CAAc,EACvCD,KAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,GAAG,CAAC,GAAG,SAAS,GAAG,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,aAC7F,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAC3B,CAAA,EAAA,CACF,CAAA,EAAA,CACF;AAEX;;;;"}
1
+ {"version":3,"file":"SmallRecommendationCard.js","sources":["../../../../../src/views/Bonds/components/RecommendationCards/SmallRecommendationCard.tsx"],"sourcesContent":["import React from 'react'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport getTimePeriods from '../../../../utils/getTimePeriods'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport TokenImage from '../../../../components/uikit-sdk/TokenImage'\nimport { styles } from './styles'\n\nexport interface SmallCardBond {\n vestingTerm: number\n payoutTokenName: string\n contractAddress: string\n bonus: number\n chainId: ChainId\n}\n\nconst SmallRecommendationCard = ({ recommendation }: { recommendation: SmallCardBond }) => {\n const vestingTime = getTimePeriods(recommendation.vestingTerm ?? 0, true)\n\n return (\n <Flex\n sx={styles.smallCardContainer}\n onClick={() =>\n window.open(\n `${window.location.origin}/bonds?bondAddress=${recommendation.contractAddress}&bondChain=${recommendation.chainId}`,\n '_self',\n )\n }\n >\n <Flex sx={{ alignItems: 'center' }}>\n <TokenImage symbol={recommendation.payoutTokenName} size={32} chain={recommendation.chainId} />\n <Flex sx={{ mx: '10px', alignItems: 'center' }}>\n <Flex sx={{ fontSize: '14px', px: '6px' }}>{recommendation.payoutTokenName}</Flex>\n <Flex sx={styles.subTitle}>{vestingTime.days}D</Flex>\n </Flex>\n </Flex>\n <Flex sx={{ alignItems: 'center' }}>\n <Flex sx={styles.subTitle}>Bonus</Flex>\n <Flex sx={{ fontSize: '12px', color: recommendation.bonus > 0 ? 'success' : 'error', ml: '6px' }}>\n {recommendation.bonus.toFixed(2)}%\n </Flex>\n </Flex>\n </Flex>\n )\n}\n\nexport default SmallRecommendationCard\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;AAeA,MAAM,uBAAuB,GAAG,CAAC,EAAE,cAAc,EAAqC,KAAI;AACxF,IAAA,MAAM,WAAW,GAAG,cAAc,CAAC,cAAc,CAAC,WAAW,IAAI,CAAC,EAAE,IAAI,CAAC;AAEzE,IAAA,QACEA,IAAA,CAAC,IAAI,IACH,EAAE,EAAE,MAAM,CAAC,kBAAkB,EAC7B,OAAO,EAAE,MACP,MAAM,CAAC,IAAI,CACT,CAAA,EAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAA,mBAAA,EAAsB,cAAc,CAAC,eAAe,CAAA,WAAA,EAAc,cAAc,CAAC,OAAO,EAAE,EACnH,OAAO,CACR,EAAA,QAAA,EAAA,CAGHA,IAAA,CAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAA,QAAA,EAAA,CAChCC,GAAA,CAAC,UAAU,EAAA,EAAC,MAAM,EAAE,cAAc,CAAC,eAAe,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,OAAO,EAAA,CAAI,EAC/FD,IAAA,CAAC,IAAI,IAAC,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,aAC5CC,GAAA,CAAC,IAAI,IAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAA,QAAA,EAAG,cAAc,CAAC,eAAe,EAAA,CAAQ,EAClFD,IAAA,CAAC,IAAI,IAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,aAAG,WAAW,CAAC,IAAI,EAAA,GAAA,CAAA,EAAA,CAAS,CAAA,EAAA,CAChD,IACF,EACPA,IAAA,CAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,aAChCC,GAAA,CAAC,IAAI,IAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAA,QAAA,EAAA,OAAA,EAAA,CAAc,EACvCD,KAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,GAAG,CAAC,GAAG,SAAS,GAAG,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,aAC7F,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAC3B,CAAA,EAAA,CACF,CAAA,EAAA,CACF;AAEX;;;;"}
@@ -5,19 +5,7 @@ import { useAccount } from 'wagmi';
5
5
  import useHotBonds from '../../../../state/bonds/useHotBonds.js';
6
6
  import useGetBondRecommendations from '../../../../state/bonds/useGetBondRecommendations.js';
7
7
  import useBondsData from '../../../../state/bonds/useBondsData.js';
8
- import '../../../../components/uikit-sdk/Svg/types.js';
9
- import 'theme-ui';
10
8
  import Flex from '../../../../components/uikit-sdk/Flex/index.js';
11
- import '../../../../components/uikit-sdk/Text/types.js';
12
- import '../../../../components/uikit-sdk/Checkbox/types.js';
13
- import '../../../../components/uikit-sdk/Skeleton/types.js';
14
- import '../../../../components/uikit-sdk/Skeleton/styles.js';
15
- import '../../../../components/uikit-sdk/TooltipBubble/index.js';
16
- import 'framer-motion';
17
- import '../../../../components/uikit-sdk/Button/types.js';
18
- import '../../../../contexts/ModalContext.js';
19
- import '../../../FullBondsView/FullBondsView.js';
20
- import '../../../../components/uikit-sdk/Select/types.js';
21
9
  import RecommendationSelector from '../../../../components/MenuSelect/RecommendationSelector.js';
22
10
  import SmallRecommendationCard from './SmallRecommendationCard.js';
23
11
  import { useSDKConfig } from '../../../../state/useSDKConfig.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/Bonds/components/RecommendationCards/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\nimport { useTopTags } from '../../../../hooks/useTopTags'\nimport { useAccount } from 'wagmi'\nimport useHotBonds from '../../../../state/bonds/useHotBonds'\nimport useGetBondRecommendations from '../../../../state/bonds/useGetBondRecommendations'\nimport useBondsData from '../../../../state/bonds/useBondsData'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport { Flex } from '../../../../components/uikit-sdk'\nimport RecommendationSelector from '../../../../components/MenuSelect/RecommendationSelector'\nimport SmallRecommendationCard from './SmallRecommendationCard'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\nimport { findHighestTrueBondPrice } from '../../../BuyBond/findHighestTrueBondPrice'\n\nexport interface SmallCardBond {\n vestingTerm: number\n payoutTokenName: string\n contractAddress: string\n bonus: number\n chainId: ChainId\n}\n\nconst RecommendationCards = () => {\n const topTags = useTopTags()\n const { address: account } = useAccount()\n const options = account ? ['For You', 'Hot', ...topTags] : ['Hot', ...topTags]\n const [activeOption, setActiveOption] = useState(options[0])\n const { data: hotRecommendations } = useHotBonds()\n const { data: bonds } = useBondsData()\n const SDKConfig = useSDKConfig()\n\n const { data: forYouRecommendations } = useGetBondRecommendations(account, undefined, '3')\n const sortedBonds =\n bonds && bonds?.length > 0\n ? [...bonds].sort(\n (a, b) =>\n (findHighestTrueBondPrice('0', b)?.bonusWithFee ?? 0) -\n (findHighestTrueBondPrice('0', a)?.bonusWithFee ?? 0),\n )\n : undefined\n\n const filteredBonds = sortedBonds?.filter(\n (bond) => bond?.tags?.includes(activeOption) && !bond?.soldOut && SDKConfig?.chains?.includes(bond.chainId),\n )\n\n const selectedBonds =\n activeOption === 'For You' ? forYouRecommendations : activeOption === 'Hot' ? hotRecommendations : filteredBonds\n\n const slicedBonds = selectedBonds?.filter((bond) => SDKConfig?.chains?.includes(bond.chainId)).slice(0, 3)\n\n const parsedBondsToRender: SmallCardBond[] | undefined = slicedBonds?.map((bond) => {\n const contractAddress =\n 'billAddress' in bond ? bond.billAddress : (bond?.contractAddress?.[bond?.chainId] as string)\n const payoutTokenName = 'payoutTokenName' in bond ? bond.payoutTokenName : bond.earnToken.symbol\n\n return {\n payoutTokenName: payoutTokenName,\n contractAddress,\n vestingTerm: bond.vestingTerm ?? 0,\n bonus: 'bonus' in bond ? bond.bonus : (findHighestTrueBondPrice('0', bond)?.bonusWithFee ?? 0),\n chainId: bond.chainId,\n }\n })\n\n useEffect(() => {\n if (account) {\n setActiveOption('For You')\n } else {\n setActiveOption('Hot')\n }\n }, [account])\n\n return (\n <Flex sx={{ mt: '15px', flexDirection: 'column', width: '100%', display: ['none', 'none', 'none', 'flex'] }}>\n <Flex sx={{ width: '100%', justifyContent: 'space-between' }}>\n <Flex>\n <Flex\n sx={{\n width: ['60px', '60px', '60px', 'unset'],\n mr: ['0px', '0px', '0px', '15px'],\n alignItems: 'center',\n color: 'grey',\n fontSize: ['11px'],\n fontWeight: 500,\n }}\n >\n BONDS MARKETS:\n </Flex>\n <RecommendationSelector options={options} activeOption={activeOption} setActiveOption={setActiveOption} />\n </Flex>\n <Flex sx={{ display: ['none', 'none', 'none', 'flex'] }} />\n </Flex>\n <Flex\n sx={{\n my: '10px',\n minHeight: '47.45px',\n }}\n >\n {parsedBondsToRender &&\n parsedBondsToRender.length > 0 &&\n parsedBondsToRender.map((bond, index) => {\n return <SmallRecommendationCard recommendation={bond} key={`${bond.payoutTokenName}-${index}`} />\n })}\n </Flex>\n </Flex>\n )\n}\n\nexport default RecommendationCards\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/views/Bonds/components/RecommendationCards/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\nimport { useTopTags } from '../../../../hooks/useTopTags'\nimport { useAccount } from 'wagmi'\nimport useHotBonds from '../../../../state/bonds/useHotBonds'\nimport useGetBondRecommendations from '../../../../state/bonds/useGetBondRecommendations'\nimport useBondsData from '../../../../state/bonds/useBondsData'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport RecommendationSelector from '../../../../components/MenuSelect/RecommendationSelector'\nimport SmallRecommendationCard from './SmallRecommendationCard'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\nimport { findHighestTrueBondPrice } from '../../../BuyBond/findHighestTrueBondPrice'\n\nexport interface SmallCardBond {\n vestingTerm: number\n payoutTokenName: string\n contractAddress: string\n bonus: number\n chainId: ChainId\n}\n\nconst RecommendationCards = () => {\n const topTags = useTopTags()\n const { address: account } = useAccount()\n const options = account ? ['For You', 'Hot', ...topTags] : ['Hot', ...topTags]\n const [activeOption, setActiveOption] = useState(options[0])\n const { data: hotRecommendations } = useHotBonds()\n const { data: bonds } = useBondsData()\n const SDKConfig = useSDKConfig()\n\n const { data: forYouRecommendations } = useGetBondRecommendations(account, undefined, '3')\n const sortedBonds =\n bonds && bonds?.length > 0\n ? [...bonds].sort(\n (a, b) =>\n (findHighestTrueBondPrice('0', b)?.bonusWithFee ?? 0) -\n (findHighestTrueBondPrice('0', a)?.bonusWithFee ?? 0),\n )\n : undefined\n\n const filteredBonds = sortedBonds?.filter(\n (bond) => bond?.tags?.includes(activeOption) && !bond?.soldOut && SDKConfig?.chains?.includes(bond.chainId),\n )\n\n const selectedBonds =\n activeOption === 'For You' ? forYouRecommendations : activeOption === 'Hot' ? hotRecommendations : filteredBonds\n\n const slicedBonds = selectedBonds?.filter((bond) => SDKConfig?.chains?.includes(bond.chainId)).slice(0, 3)\n\n const parsedBondsToRender: SmallCardBond[] | undefined = slicedBonds?.map((bond) => {\n const contractAddress =\n 'billAddress' in bond ? bond.billAddress : (bond?.contractAddress?.[bond?.chainId] as string)\n const payoutTokenName = 'payoutTokenName' in bond ? bond.payoutTokenName : bond.earnToken.symbol\n\n return {\n payoutTokenName: payoutTokenName,\n contractAddress,\n vestingTerm: bond.vestingTerm ?? 0,\n bonus: 'bonus' in bond ? bond.bonus : (findHighestTrueBondPrice('0', bond)?.bonusWithFee ?? 0),\n chainId: bond.chainId,\n }\n })\n\n useEffect(() => {\n if (account) {\n setActiveOption('For You')\n } else {\n setActiveOption('Hot')\n }\n }, [account])\n\n return (\n <Flex sx={{ mt: '15px', flexDirection: 'column', width: '100%', display: ['none', 'none', 'none', 'flex'] }}>\n <Flex sx={{ width: '100%', justifyContent: 'space-between' }}>\n <Flex>\n <Flex\n sx={{\n width: ['60px', '60px', '60px', 'unset'],\n mr: ['0px', '0px', '0px', '15px'],\n alignItems: 'center',\n color: 'grey',\n fontSize: ['11px'],\n fontWeight: 500,\n }}\n >\n BONDS MARKETS:\n </Flex>\n <RecommendationSelector options={options} activeOption={activeOption} setActiveOption={setActiveOption} />\n </Flex>\n <Flex sx={{ display: ['none', 'none', 'none', 'flex'] }} />\n </Flex>\n <Flex\n sx={{\n my: '10px',\n minHeight: '47.45px',\n }}\n >\n {parsedBondsToRender &&\n parsedBondsToRender.length > 0 &&\n parsedBondsToRender.map((bond, index) => {\n return <SmallRecommendationCard recommendation={bond} key={`${bond.payoutTokenName}-${index}`} />\n })}\n </Flex>\n </Flex>\n )\n}\n\nexport default RecommendationCards\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -1,21 +1,11 @@
1
1
  import { jsx, jsxs, Fragment } from 'theme-ui/jsx-runtime';
2
2
  import { useState, useCallback, useEffect } from 'react';
3
3
  import { BigNumber } from 'bignumber.js';
4
- import Svg from '../../components/uikit-sdk/Svg/index.js';
4
+ import Button from '../../components/uikit-sdk/Button/Button.js';
5
5
  import Flex from '../../components/uikit-sdk/Flex/index.js';
6
+ import Svg from '../../components/uikit-sdk/Svg/index.js';
6
7
  import Text from '../../components/uikit-sdk/Text/index.js';
7
- import '../../components/uikit-sdk/Checkbox/types.js';
8
- import 'theme-ui';
9
- import '../../components/uikit-sdk/Skeleton/types.js';
10
- import '../../components/uikit-sdk/Skeleton/styles.js';
11
8
  import TooltipBubble from '../../components/uikit-sdk/TooltipBubble/index.js';
12
- import 'framer-motion';
13
- import Button from '../../components/uikit-sdk/Button/Button.js';
14
- import '../../components/uikit-sdk/Svg/types.js';
15
- import '../../components/uikit-sdk/Button/types.js';
16
- import '../../contexts/ModalContext.js';
17
- import '../FullBondsView/FullBondsView.js';
18
- import '../../components/uikit-sdk/Select/types.js';
19
9
  import { adjustDecimals } from '../../utils/convertToTokenValue.js';
20
10
  import ABI_DEPOSIT from '../../config/abi/deposit.json.js';
21
11
  import ABI_DEPOSIT_SIG from '../../config/abi/depositSig.json.js';
@@ -1 +1 @@
1
- {"version":3,"file":"BuyBond.js","sources":["../../../src/views/BuyBond/BuyBond.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from 'react'\nimport { BigNumber } from 'bignumber.js'\nimport { Button, Flex, Svg, Text, TooltipBubble } from '../../components/uikit-sdk'\nimport { adjustDecimals } from '../../utils/convertToTokenValue'\nimport ABI_DEPOSIT from '../../config/abi/deposit.json'\nimport ABI_DEPOSIT_SIG from '../../config/abi/depositSig.json'\nimport { useAccount, useChainId, useSendTransaction, useWriteContract } from 'wagmi'\nimport useModal from '../../hooks/useModal'\nimport ZapModal from '../ZapModal'\nimport { BillArtCollection, BillVersion, ChainId, Token } from '@ape.swap/apeswap-lists'\nimport TokenSelectorPanel from '../../components/TokenSelectorPanel'\nimport { useApproval } from '../../state/allowance/useAllowance'\nimport { SoulZapTokenManager } from '../../config/constants/addresses'\nimport useSoulZapBondQuote from '../../state/zap/useSoulZapBondQuote'\nimport { parseEther } from 'viem'\nimport useBondsData from '../../state/bonds/useBondsData'\nimport useTokenFromZapList from '../../hooks/useTokenFromZapList'\nimport { useMonitorTxHash } from '../../hooks/useMonitorTxHash'\nimport { usePopups } from '../../state/popups/usePopups'\nimport { formatNumber, formatUSDNumber, getMaxBuy, getPayoutAmount } from '../../utils/displayHelpers'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport { supportedByLIFI } from '../../config/constants/variables'\nimport { getSymbol } from '../../utils/getNativeTicker'\nimport { useSendReferenceId } from '../../hooks/useSendReferenceId'\nimport ConnectButton from '../../components/ConnectButton'\nimport BondModalHeader from './components/BondModalHeader'\nimport BondCards from './components/BondCards'\nimport Estimations from './components/Estimations'\nimport ProjectDescription from './components/ProjectDescription'\nimport track from '../../utils/track'\nimport { remove0xPrefix } from '../../utils/remove0xPrefix'\nimport useTierPoints, { getUserTier } from '../../state/tiers/useTierPoints'\nimport NewRateModal from './components/NewRateModal/NewRateModal'\nimport NoBonusModal from './components/NoBonusModal/NoBonusModal'\nimport useTierProofSignature from '../../state/bonds/useTierProofSignature'\nimport { findHighestTrueBondPrice } from './findHighestTrueBondPrice'\nimport GetUpToComponent from './components/GetUpToComponent/GetUpToComponent'\nimport SafeHTMLComponent from '../../components/SafeHTMLComponent'\nimport { useIsMobile } from '../../hooks/useIsMobile'\nimport useSortedZapList from '../../hooks/useSortedZapList'\nimport TransactionModal from '../TransactionModal/TransactionModal'\nimport { reportError } from '../../utils/reportError'\n\nexport interface BuyBondProps {\n onDismiss?: () => void // this is only the modal\n bondAddress?: string\n bondChain?: number\n handlePurchasedBond?: (hash: string) => void\n isProjectView?: boolean\n}\n\nconst BuyBond: React.FC<BuyBondProps> = ({ onDismiss, bondAddress, bondChain, handlePurchasedBond, isProjectView }) => {\n const SDKConfig = useSDKConfig()\n // Hooks\n const userChainId = useChainId()\n const { address: account } = useAccount()\n const { writeContractAsync } = useWriteContract()\n const { sendTransactionAsync } = useSendTransaction()\n const { data: bonds, refetch: refetchBondState } = useBondsData()\n const sendReferenceId = useSendReferenceId()\n const { data: userPoints } = useTierPoints()\n const bondData = bonds?.find(\n (bond) => bond?.contractAddress?.[bond.chainId]?.toLowerCase() === bondAddress?.toLowerCase(),\n )!\n const isMobile = useIsMobile()\n\n // Tier Gating\n const userTier = getUserTier(userPoints ?? '0')\n const minTier = bondData?.minTier !== undefined ? bondData.minTier : null\n const isUserRestricted = minTier !== null && (userTier === null || userTier < minTier)\n const trueBondPriceData = findHighestTrueBondPrice(userPoints, bondData)\n const trueBondPrice = trueBondPriceData?.trueBondPrice\n const { data: tierProofSig } = useTierProofSignature(bondAddress, bondChain, isUserRestricted)\n\n // State\n const [buyTxHash, setBuyTxHash] = useState<string | undefined>()\n const [inputValue, setInputValue] = useState('')\n const [inputTokenString, setInputTokenString] = useState(bondData?.lpToken?.address?.[bondData.chainId])\n\n // On-chain Data\n const inputToken = useTokenFromZapList(inputTokenString, bondData?.chainId, bondData?.lpToken)\n const isZap = inputTokenString?.toLowerCase() !== bondData?.lpToken?.address?.[bondData?.chainId]?.toLowerCase()\n const [fetchingZapQuote, zapData, zapDepositAmount, zapError, zapTrueBondPrice] = useSoulZapBondQuote(\n inputValue,\n inputToken,\n bondData,\n account,\n tierProofSig ?? undefined,\n )\n\n const { sortedZapList } = useSortedZapList(bondChain, bondData?.lpToken)\n const enrichedTokenData = sortedZapList.find((item) =>\n item.token === 'NATIVE' || inputToken === 'NATIVE'\n ? item.token === inputToken\n : item?.token?.address?.[bondChain as ChainId]?.toLowerCase() ===\n inputToken?.address?.[bondChain as ChainId]?.toLowerCase(),\n )\n const inputCurrencyBalance = enrichedTokenData?.balance\n const inputTokenPrice = enrichedTokenData?.price\n const rateChanged = parseFloat(zapTrueBondPrice ?? '0') > parseFloat(trueBondPrice ?? '0') * 1.01 && isZap\n\n // Estimations\n const depositAmount = isZap ? zapDepositAmount : inputValue\n const youSpendString = `${formatNumber(inputValue)} ${getSymbol(inputToken, bondData?.chainId)} = \n $${formatUSDNumber((parseFloat(inputValue) * (inputTokenPrice ?? 0)).toString())}`\n\n // Validations\n const isGoldRush = bondData?.billArt?.collection === BillArtCollection.GoldenTicket_Collection1\n const zapEnabled = supportedByLIFI.includes(bondData?.chainId)\n const exceedsMaxBuy = getMaxBuy(bondData, SDKConfig.showLowValueBonds).lt(\n getPayoutAmount(bondData, depositAmount, userPoints ?? '0'),\n )\n const exceedsBalance = new BigNumber(inputCurrencyBalance ?? '0').lt(inputValue)\n\n // Loading State\n const [loadingTx, setLoadingTx] = useState(false)\n const { addToastError } = usePopups()\n const { isLoading: isConfirming, isSuccess: isConfirmed } = useMonitorTxHash(buyTxHash, userChainId)\n const load = loadingTx || (isConfirming && !isConfirmed)\n\n // State Handlers\n const handleCurrencySelect = useCallback((newInputToken: string) => {\n setInputValue('')\n setInputTokenString(newInputToken)\n }, [])\n\n const handleOpenZapModal = () => {\n onOpenZapModal()\n track({\n event: 'getTokenClick',\n chain: bondData?.chainId,\n data: {\n bond: bondData?.earnToken.symbol,\n token: bondData?.lpToken?.symbol,\n },\n })\n }\n\n // Approve & Purchase Functions\n const [approvalState, approveCallback] = useApproval(\n inputValue,\n inputToken ?? null,\n (isZap ? SoulZapTokenManager?.[bondData?.chainId as ChainId] : bondData?.contractAddress?.[bondData.chainId]) ??\n null,\n account ?? null,\n bondData?.chainId ?? null,\n )\n const handleApprove = async () => {\n return approveCallback().then(() => {\n track({\n event: 'approveBondClick',\n chain: userChainId,\n data: {\n cat: bondData?.billType,\n bond: bondData?.earnToken.symbol,\n },\n })\n })\n }\n\n const handleBuyCallback = async () => {\n const billAddress: `0x${string}` = bondData?.contractAddress?.[bondData.chainId] as `0x${string}`\n const decimals = bondData?.lpToken.decimals?.[bondData?.chainId] ?? 18\n track({\n event: 'buyBondClick',\n chain: bondChain,\n data: {\n cat: bondData?.billType,\n bond: bondData?.earnToken.symbol,\n value: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n try {\n const maxPrice = new BigNumber(trueBondPrice ?? '0').times(102).div(100).toFixed(0) // multiply it by 1.02\n const rawAmount = adjustDecimals(inputValue)\n const amount = new BigNumber(rawAmount).times(new BigNumber(10).pow(decimals ?? 18)).toString()\n\n const shouldUseSig = bondData?.billVersion === BillVersion.V4 && SDKConfig.useTiers\n const args = shouldUseSig ? [amount, maxPrice, account, tierProofSig] : [amount, maxPrice, account]\n const hash = await writeContractAsync({\n address: billAddress,\n abi: shouldUseSig ? ABI_DEPOSIT_SIG : ABI_DEPOSIT,\n functionName: 'deposit',\n args: args,\n chain: bondData?.chainId as any,\n account,\n })\n if (hash) {\n setBuyTxHash(hash)\n await sendReferenceId(billAddress, userChainId, hash)\n handlePurchasedBond?.(hash)\n track({\n event: 'bond',\n chain: bondChain,\n data: {\n cat: 'lp-buy',\n type: bondData?.billType ?? '',\n typedValue: inputValue,\n principalToken: bondData?.lpToken.symbol ?? '',\n earnToken: bondData?.earnToken.symbol ?? '',\n address: remove0xPrefix(bondData?.contractAddress?.[bondData.chainId]),\n usdAmount: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n }\n } catch (error: any) {\n console.error('Buy error', error)\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error,\n extraInfo: { type: 'buyBond', bondData, error },\n chainId: bondChain,\n account,\n })\n addToastError(error.shortMessage)\n }\n }\n const handleZapCallback = async () => {\n if (zapData && zapData?.txData?.to && zapData?.txData?.data) {\n console.log('Attempting zap tx')\n track({\n event: 'buyBondClick',\n chain: bondData?.chainId,\n data: {\n cat: bondData?.billType,\n bond: bondData?.earnToken.symbol ?? '',\n value: zapData.lpQuote.fromAmountUSD,\n },\n })\n try {\n console.log(zapData)\n const validated18DecimalAmount = new BigNumber(inputValue ?? '0').toFixed(18, 5)\n const parsedValue = parseEther(validated18DecimalAmount)\n\n const hash = await sendTransactionAsync({\n to: zapData.txData.to,\n data: zapData.txData.data,\n value: inputToken === 'NATIVE' ? parsedValue : undefined,\n })\n if (hash) {\n setBuyTxHash(hash)\n await sendReferenceId(bondData?.contractAddress?.[bondData.chainId] ?? '', userChainId, hash)\n handlePurchasedBond?.(hash)\n track({\n event: 'zap',\n chain: bondChain,\n data: {\n cat: 'bill',\n token1: getSymbol(inputToken),\n token2: `${bondData?.lpToken.symbol ?? ''}`,\n amount: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n track({\n event: 'bond',\n chain: bondChain,\n data: {\n cat: 'zap-buy',\n type: bondData?.billType ?? '',\n principalToken: bondData?.lpToken.symbol ?? '',\n earnToken: bondData?.earnToken.symbol ?? '',\n address: remove0xPrefix(bondData?.contractAddress?.[bondData.chainId]),\n amount: inputValue,\n usdAmount: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n }\n } catch (e: any) {\n console.log(e)\n addToastError(e.shortMessage)\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error: e,\n extraInfo: { type: 'zapBuyBond', bondData, zapData, e },\n chainId: bondChain,\n account,\n })\n }\n }\n }\n\n const handleBothPurchases = () => {\n setLoadingTx(true)\n if (isZap) {\n handleZapCallback().finally(() => setLoadingTx(false))\n } else {\n handleBuyCallback().finally(() => setLoadingTx(false))\n }\n }\n\n const handleOpenModal = () => {\n const bonus = trueBondPriceData?.bonusWithFee ?? 0\n if (bonus <= 0) {\n openNoBonusModal()\n } else {\n openTxModal()\n }\n }\n\n const openExternal = () => {\n if (bondData?.lpToken?.getLpUrl?.[bondData?.chainId]) {\n window.open(bondData.lpToken.getLpUrl?.[bondData?.chainId], '_blank')\n } else {\n window.open(\n `https://ape.bond/swap?outputcurrency=${bondData?.lpToken.address[bondData?.chainId]}&outputChain=${bondData?.chainId}`,\n '_blank',\n )\n }\n }\n\n // Modals\n\n const [openNewRateModal] = useModal(\n <NewRateModal\n bond={bondData}\n zapTrueBondPrice={zapTrueBondPrice}\n depositAmount={depositAmount}\n youSpendString={youSpendString}\n fetchingZapQuote={fetchingZapQuote}\n zapError={zapError}\n />,\n true,\n false,\n 'newRateModal',\n )\n\n const [openTxModal] = useModal(\n <TransactionModal\n txChain={bondChain}\n approvalState={approvalState}\n approveCallback={handleApprove}\n loadingTx={loadingTx}\n txCallback={handleBothPurchases}\n bondData={bondData!}\n inputToken={inputToken}\n inputValue={inputValue}\n depositAmount={depositAmount}\n buyTxHash={buyTxHash}\n rateChanged={rateChanged}\n />,\n false,\n true,\n 'transactionModal',\n )\n\n const [onOpenZapModal] = useModal(\n <ZapModal outputToken={bondData?.lpToken as Token} account={account} chainId={bondData?.chainId as ChainId} />,\n true,\n true,\n 'zapModal',\n )\n\n const [openNoBonusModal] = useModal(\n <NoBonusModal onAcknowledge={openTxModal} showcaseTokenName={bondData?.showcaseTokenName} />,\n true,\n true,\n 'NoBonusModal',\n )\n\n // Effects\n const [hasChecked, setHasChecked] = useState(false)\n const [hasCheckedTrack, setHasCheckedTrack] = useState<boolean>(false)\n useEffect(() => {\n if (\n inputCurrencyBalance !== undefined &&\n inputCurrencyBalance === '0' &&\n !hasChecked &&\n bondChain &&\n zapEnabled &&\n sortedZapList?.length > 0 &&\n sortedZapList[0].usdValue !== 0\n ) {\n setHasChecked(true)\n setInputTokenString(\n sortedZapList[0].token === 'NATIVE' ? 'NATIVE' : sortedZapList[0].token.address[bondChain as ChainId],\n )\n }\n if (bondData && !hasCheckedTrack) {\n setHasCheckedTrack(true)\n }\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [inputCurrencyBalance, sortedZapList, bondData])\n\n // If rateChanged meaning the zap quote has a >1% difference from the true bond price, we let the user know and we update state\n useEffect(() => {\n if (rateChanged) {\n console.log('rate changed, refetch state and let user know')\n openNewRateModal()\n refetchBondState()\n }\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [rateChanged])\n\n return bondData ? (\n <Flex className={`modal-content ${isGoldRush ? 'gold-rush' : ''}`}>\n {!isProjectView && <div className=\"gold-ribbon\"></div>}\n <Flex className=\"modaltable-container\">\n <BondModalHeader\n bondData={bondData}\n onDismiss={onDismiss}\n showProjectInfoButton={SDKConfig?.referenceId === 'apebond'}\n />\n <ProjectDescription description={bondData.shortDescription} isProjectView />\n <Flex sx={{ width: '100%', display: isProjectView ? ['flex', 'flex', 'flex', 'none'] : 'flex' }}>\n <BondCards bondData={bondData} />\n </Flex>\n <Estimations\n depositAmount={depositAmount}\n bondData={bondData}\n youSpendString={youSpendString}\n isZap={isZap}\n fetchingZapQuote={fetchingZapQuote}\n zapError={zapError}\n />\n <TokenSelectorPanel\n typedValue={inputValue}\n setTypedValue={setInputValue}\n selectedToken={inputToken}\n handleValueBtn={() => setInputValue(new BigNumber(inputCurrencyBalance ?? '0')?.toString())}\n handleCurrencySelect={handleCurrencySelect}\n chainId={bondData?.chainId}\n enableZap={zapEnabled}\n bondPrincipalToken={bondData?.lpToken}\n tokenBalance={inputCurrencyBalance}\n selectedTokenPrice={inputTokenPrice}\n inputDisabled={isUserRestricted}\n />\n {SDKConfig.useTiers && <GetUpToComponent bond={bondData} depositAmount={depositAmount} />}\n {bondData?.warningCard && (\n <Flex\n sx={{\n width: '100%',\n background: '#DE62F366',\n justifyContent: 'center',\n mt: '10px',\n borderRadius: 'normal',\n p: '2px 10px',\n }}\n >\n <Text sx={{ fontSize: '12px', fontWeight: 400, display: 'flex', alignItems: 'center', gap: '10px' }}>\n <SafeHTMLComponent html={bondData?.warningCard} />\n {bondData?.chainId === ChainId.SONIC && bondData?.earnToken.symbol.toLowerCase() === 'moon' && (\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Text sx={{ textTransform: 'none' }}>\n Open the &#39;cog&#39; icon menu in the top right and set the Slippage Tolerance to 5% or more.\n </Text>\n }\n width=\"315px\"\n placement=\"topRight\"\n transformTip=\"translate(9%, -10%)\"\n >\n <Svg icon=\"questionCircle\" width={14} color=\"textDisabledButton\" />\n </TooltipBubble>\n )}\n </Text>\n </Flex>\n )}\n <Flex className=\"modaltable-container button-container\">\n {account && (\n <Flex className=\"button-container get\">\n <Button\n className=\"action-button\"\n onClick={() =>\n bondData.billVersion === BillVersion.V4 && SDKConfig.useTiers && zapEnabled\n ? window.open('http://ape.bond/tier-staking', '_blank')\n : zapEnabled\n ? handleOpenZapModal()\n : openExternal()\n }\n variant=\"secondary\"\n fullWidth\n >\n {bondData.billVersion === BillVersion.V4 && SDKConfig.useTiers && zapEnabled\n ? `Get ${!isMobile ? 'your' : ''} Tier`\n : `Get ${getSymbol(bondData?.lpToken)}`}\n </Button>\n </Flex>\n )}\n <Flex className=\"button-container buy\">\n {!account ? (\n <ConnectButton />\n ) : isUserRestricted ? (\n <Button className=\"action-button\" disabled>\n INSUFFICIENT TIER\n </Button>\n ) : (\n <Button\n className=\"action-button\"\n load={load || fetchingZapQuote}\n disabled={\n load ||\n bondData?.soldOut ||\n !account ||\n !inputValue ||\n parseFloat(inputValue) === 0 ||\n fetchingZapQuote ||\n zapError ||\n exceedsMaxBuy ||\n exceedsBalance ||\n (isZap && !zapData)\n }\n onClick={handleOpenModal}\n >\n {exceedsMaxBuy\n ? 'Exceeds Max Buy'\n : exceedsBalance\n ? 'Exceeds balance'\n : zapError\n ? 'something went wrong'\n : !inputValue || parseFloat(inputValue) === 0\n ? 'Insert amount'\n : `buy`}\n </Button>\n )}\n </Flex>\n </Flex>\n </Flex>\n </Flex>\n ) : (\n <></>\n )\n}\nexport default BuyBond\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"BuyBond.js","sources":["../../../src/views/BuyBond/BuyBond.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from 'react'\nimport { BigNumber } from 'bignumber.js'\nimport Button from '../../components/uikit-sdk/Button/Button'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport Svg from '../../components/uikit-sdk/Svg'\nimport Text from '../../components/uikit-sdk/Text'\nimport TooltipBubble from '../../components/uikit-sdk/TooltipBubble'\nimport { adjustDecimals } from '../../utils/convertToTokenValue'\nimport ABI_DEPOSIT from '../../config/abi/deposit.json'\nimport ABI_DEPOSIT_SIG from '../../config/abi/depositSig.json'\nimport { useAccount, useChainId, useSendTransaction, useWriteContract } from 'wagmi'\nimport useModal from '../../hooks/useModal'\nimport ZapModal from '../ZapModal'\nimport { BillArtCollection, BillVersion, ChainId, Token } from '@ape.swap/apeswap-lists'\nimport TokenSelectorPanel from '../../components/TokenSelectorPanel'\nimport { useApproval } from '../../state/allowance/useAllowance'\nimport { SoulZapTokenManager } from '../../config/constants/addresses'\nimport useSoulZapBondQuote from '../../state/zap/useSoulZapBondQuote'\nimport { parseEther } from 'viem'\nimport useBondsData from '../../state/bonds/useBondsData'\nimport useTokenFromZapList from '../../hooks/useTokenFromZapList'\nimport { useMonitorTxHash } from '../../hooks/useMonitorTxHash'\nimport { usePopups } from '../../state/popups/usePopups'\nimport { formatNumber, formatUSDNumber, getMaxBuy, getPayoutAmount } from '../../utils/displayHelpers'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport { supportedByLIFI } from '../../config/constants/variables'\nimport { getSymbol } from '../../utils/getNativeTicker'\nimport { useSendReferenceId } from '../../hooks/useSendReferenceId'\nimport ConnectButton from '../../components/ConnectButton'\nimport BondModalHeader from './components/BondModalHeader'\nimport BondCards from './components/BondCards'\nimport Estimations from './components/Estimations'\nimport ProjectDescription from './components/ProjectDescription'\nimport track from '../../utils/track'\nimport { remove0xPrefix } from '../../utils/remove0xPrefix'\nimport useTierPoints, { getUserTier } from '../../state/tiers/useTierPoints'\nimport NewRateModal from './components/NewRateModal/NewRateModal'\nimport NoBonusModal from './components/NoBonusModal/NoBonusModal'\nimport useTierProofSignature from '../../state/bonds/useTierProofSignature'\nimport { findHighestTrueBondPrice } from './findHighestTrueBondPrice'\nimport GetUpToComponent from './components/GetUpToComponent/GetUpToComponent'\nimport SafeHTMLComponent from '../../components/SafeHTMLComponent'\nimport { useIsMobile } from '../../hooks/useIsMobile'\nimport useSortedZapList from '../../hooks/useSortedZapList'\nimport TransactionModal from '../TransactionModal/TransactionModal'\nimport { reportError } from '../../utils/reportError'\n\nexport interface BuyBondProps {\n onDismiss?: () => void // this is only the modal\n bondAddress?: string\n bondChain?: number\n handlePurchasedBond?: (hash: string) => void\n isProjectView?: boolean\n}\n\nconst BuyBond: React.FC<BuyBondProps> = ({ onDismiss, bondAddress, bondChain, handlePurchasedBond, isProjectView }) => {\n const SDKConfig = useSDKConfig()\n // Hooks\n const userChainId = useChainId()\n const { address: account } = useAccount()\n const { writeContractAsync } = useWriteContract()\n const { sendTransactionAsync } = useSendTransaction()\n const { data: bonds, refetch: refetchBondState } = useBondsData()\n const sendReferenceId = useSendReferenceId()\n const { data: userPoints } = useTierPoints()\n const bondData = bonds?.find(\n (bond) => bond?.contractAddress?.[bond.chainId]?.toLowerCase() === bondAddress?.toLowerCase(),\n )!\n const isMobile = useIsMobile()\n\n // Tier Gating\n const userTier = getUserTier(userPoints ?? '0')\n const minTier = bondData?.minTier !== undefined ? bondData.minTier : null\n const isUserRestricted = minTier !== null && (userTier === null || userTier < minTier)\n const trueBondPriceData = findHighestTrueBondPrice(userPoints, bondData)\n const trueBondPrice = trueBondPriceData?.trueBondPrice\n const { data: tierProofSig } = useTierProofSignature(bondAddress, bondChain, isUserRestricted)\n\n // State\n const [buyTxHash, setBuyTxHash] = useState<string | undefined>()\n const [inputValue, setInputValue] = useState('')\n const [inputTokenString, setInputTokenString] = useState(bondData?.lpToken?.address?.[bondData.chainId])\n\n // On-chain Data\n const inputToken = useTokenFromZapList(inputTokenString, bondData?.chainId, bondData?.lpToken)\n const isZap = inputTokenString?.toLowerCase() !== bondData?.lpToken?.address?.[bondData?.chainId]?.toLowerCase()\n const [fetchingZapQuote, zapData, zapDepositAmount, zapError, zapTrueBondPrice] = useSoulZapBondQuote(\n inputValue,\n inputToken,\n bondData,\n account,\n tierProofSig ?? undefined,\n )\n\n const { sortedZapList } = useSortedZapList(bondChain, bondData?.lpToken)\n const enrichedTokenData = sortedZapList.find((item) =>\n item.token === 'NATIVE' || inputToken === 'NATIVE'\n ? item.token === inputToken\n : item?.token?.address?.[bondChain as ChainId]?.toLowerCase() ===\n inputToken?.address?.[bondChain as ChainId]?.toLowerCase(),\n )\n const inputCurrencyBalance = enrichedTokenData?.balance\n const inputTokenPrice = enrichedTokenData?.price\n const rateChanged = parseFloat(zapTrueBondPrice ?? '0') > parseFloat(trueBondPrice ?? '0') * 1.01 && isZap\n\n // Estimations\n const depositAmount = isZap ? zapDepositAmount : inputValue\n const youSpendString = `${formatNumber(inputValue)} ${getSymbol(inputToken, bondData?.chainId)} = \n $${formatUSDNumber((parseFloat(inputValue) * (inputTokenPrice ?? 0)).toString())}`\n\n // Validations\n const isGoldRush = bondData?.billArt?.collection === BillArtCollection.GoldenTicket_Collection1\n const zapEnabled = supportedByLIFI.includes(bondData?.chainId)\n const exceedsMaxBuy = getMaxBuy(bondData, SDKConfig.showLowValueBonds).lt(\n getPayoutAmount(bondData, depositAmount, userPoints ?? '0'),\n )\n const exceedsBalance = new BigNumber(inputCurrencyBalance ?? '0').lt(inputValue)\n\n // Loading State\n const [loadingTx, setLoadingTx] = useState(false)\n const { addToastError } = usePopups()\n const { isLoading: isConfirming, isSuccess: isConfirmed } = useMonitorTxHash(buyTxHash, userChainId)\n const load = loadingTx || (isConfirming && !isConfirmed)\n\n // State Handlers\n const handleCurrencySelect = useCallback((newInputToken: string) => {\n setInputValue('')\n setInputTokenString(newInputToken)\n }, [])\n\n const handleOpenZapModal = () => {\n onOpenZapModal()\n track({\n event: 'getTokenClick',\n chain: bondData?.chainId,\n data: {\n bond: bondData?.earnToken.symbol,\n token: bondData?.lpToken?.symbol,\n },\n })\n }\n\n // Approve & Purchase Functions\n const [approvalState, approveCallback] = useApproval(\n inputValue,\n inputToken ?? null,\n (isZap ? SoulZapTokenManager?.[bondData?.chainId as ChainId] : bondData?.contractAddress?.[bondData.chainId]) ??\n null,\n account ?? null,\n bondData?.chainId ?? null,\n )\n const handleApprove = async () => {\n return approveCallback().then(() => {\n track({\n event: 'approveBondClick',\n chain: userChainId,\n data: {\n cat: bondData?.billType,\n bond: bondData?.earnToken.symbol,\n },\n })\n })\n }\n\n const handleBuyCallback = async () => {\n const billAddress: `0x${string}` = bondData?.contractAddress?.[bondData.chainId] as `0x${string}`\n const decimals = bondData?.lpToken.decimals?.[bondData?.chainId] ?? 18\n track({\n event: 'buyBondClick',\n chain: bondChain,\n data: {\n cat: bondData?.billType,\n bond: bondData?.earnToken.symbol,\n value: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n try {\n const maxPrice = new BigNumber(trueBondPrice ?? '0').times(102).div(100).toFixed(0) // multiply it by 1.02\n const rawAmount = adjustDecimals(inputValue)\n const amount = new BigNumber(rawAmount).times(new BigNumber(10).pow(decimals ?? 18)).toString()\n\n const shouldUseSig = bondData?.billVersion === BillVersion.V4 && SDKConfig.useTiers\n const args = shouldUseSig ? [amount, maxPrice, account, tierProofSig] : [amount, maxPrice, account]\n const hash = await writeContractAsync({\n address: billAddress,\n abi: shouldUseSig ? ABI_DEPOSIT_SIG : ABI_DEPOSIT,\n functionName: 'deposit',\n args: args,\n chain: bondData?.chainId as any,\n account,\n })\n if (hash) {\n setBuyTxHash(hash)\n await sendReferenceId(billAddress, userChainId, hash)\n handlePurchasedBond?.(hash)\n track({\n event: 'bond',\n chain: bondChain,\n data: {\n cat: 'lp-buy',\n type: bondData?.billType ?? '',\n typedValue: inputValue,\n principalToken: bondData?.lpToken.symbol ?? '',\n earnToken: bondData?.earnToken.symbol ?? '',\n address: remove0xPrefix(bondData?.contractAddress?.[bondData.chainId]),\n usdAmount: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n }\n } catch (error: any) {\n console.error('Buy error', error)\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error,\n extraInfo: { type: 'buyBond', bondData, error },\n chainId: bondChain,\n account,\n })\n addToastError(error.shortMessage)\n }\n }\n const handleZapCallback = async () => {\n if (zapData && zapData?.txData?.to && zapData?.txData?.data) {\n console.log('Attempting zap tx')\n track({\n event: 'buyBondClick',\n chain: bondData?.chainId,\n data: {\n cat: bondData?.billType,\n bond: bondData?.earnToken.symbol ?? '',\n value: zapData.lpQuote.fromAmountUSD,\n },\n })\n try {\n console.log(zapData)\n const validated18DecimalAmount = new BigNumber(inputValue ?? '0').toFixed(18, 5)\n const parsedValue = parseEther(validated18DecimalAmount)\n\n const hash = await sendTransactionAsync({\n to: zapData.txData.to,\n data: zapData.txData.data,\n value: inputToken === 'NATIVE' ? parsedValue : undefined,\n })\n if (hash) {\n setBuyTxHash(hash)\n await sendReferenceId(bondData?.contractAddress?.[bondData.chainId] ?? '', userChainId, hash)\n handlePurchasedBond?.(hash)\n track({\n event: 'zap',\n chain: bondChain,\n data: {\n cat: 'bill',\n token1: getSymbol(inputToken),\n token2: `${bondData?.lpToken.symbol ?? ''}`,\n amount: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n track({\n event: 'bond',\n chain: bondChain,\n data: {\n cat: 'zap-buy',\n type: bondData?.billType ?? '',\n principalToken: bondData?.lpToken.symbol ?? '',\n earnToken: bondData?.earnToken.symbol ?? '',\n address: remove0xPrefix(bondData?.contractAddress?.[bondData.chainId]),\n amount: inputValue,\n usdAmount: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n }\n } catch (e: any) {\n console.log(e)\n addToastError(e.shortMessage)\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error: e,\n extraInfo: { type: 'zapBuyBond', bondData, zapData, e },\n chainId: bondChain,\n account,\n })\n }\n }\n }\n\n const handleBothPurchases = () => {\n setLoadingTx(true)\n if (isZap) {\n handleZapCallback().finally(() => setLoadingTx(false))\n } else {\n handleBuyCallback().finally(() => setLoadingTx(false))\n }\n }\n\n const handleOpenModal = () => {\n const bonus = trueBondPriceData?.bonusWithFee ?? 0\n if (bonus <= 0) {\n openNoBonusModal()\n } else {\n openTxModal()\n }\n }\n\n const openExternal = () => {\n if (bondData?.lpToken?.getLpUrl?.[bondData?.chainId]) {\n window.open(bondData.lpToken.getLpUrl?.[bondData?.chainId], '_blank')\n } else {\n window.open(\n `https://ape.bond/swap?outputcurrency=${bondData?.lpToken.address[bondData?.chainId]}&outputChain=${bondData?.chainId}`,\n '_blank',\n )\n }\n }\n\n // Modals\n\n const [openNewRateModal] = useModal(\n <NewRateModal\n bond={bondData}\n zapTrueBondPrice={zapTrueBondPrice}\n depositAmount={depositAmount}\n youSpendString={youSpendString}\n fetchingZapQuote={fetchingZapQuote}\n zapError={zapError}\n />,\n true,\n false,\n 'newRateModal',\n )\n\n const [openTxModal] = useModal(\n <TransactionModal\n txChain={bondChain}\n approvalState={approvalState}\n approveCallback={handleApprove}\n loadingTx={loadingTx}\n txCallback={handleBothPurchases}\n bondData={bondData!}\n inputToken={inputToken}\n inputValue={inputValue}\n depositAmount={depositAmount}\n buyTxHash={buyTxHash}\n rateChanged={rateChanged}\n />,\n false,\n true,\n 'transactionModal',\n )\n\n const [onOpenZapModal] = useModal(\n <ZapModal outputToken={bondData?.lpToken as Token} account={account} chainId={bondData?.chainId as ChainId} />,\n true,\n true,\n 'zapModal',\n )\n\n const [openNoBonusModal] = useModal(\n <NoBonusModal onAcknowledge={openTxModal} showcaseTokenName={bondData?.showcaseTokenName} />,\n true,\n true,\n 'NoBonusModal',\n )\n\n // Effects\n const [hasChecked, setHasChecked] = useState(false)\n const [hasCheckedTrack, setHasCheckedTrack] = useState<boolean>(false)\n useEffect(() => {\n if (\n inputCurrencyBalance !== undefined &&\n inputCurrencyBalance === '0' &&\n !hasChecked &&\n bondChain &&\n zapEnabled &&\n sortedZapList?.length > 0 &&\n sortedZapList[0].usdValue !== 0\n ) {\n setHasChecked(true)\n setInputTokenString(\n sortedZapList[0].token === 'NATIVE' ? 'NATIVE' : sortedZapList[0].token.address[bondChain as ChainId],\n )\n }\n if (bondData && !hasCheckedTrack) {\n setHasCheckedTrack(true)\n }\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [inputCurrencyBalance, sortedZapList, bondData])\n\n // If rateChanged meaning the zap quote has a >1% difference from the true bond price, we let the user know and we update state\n useEffect(() => {\n if (rateChanged) {\n console.log('rate changed, refetch state and let user know')\n openNewRateModal()\n refetchBondState()\n }\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [rateChanged])\n\n return bondData ? (\n <Flex className={`modal-content ${isGoldRush ? 'gold-rush' : ''}`}>\n {!isProjectView && <div className=\"gold-ribbon\"></div>}\n <Flex className=\"modaltable-container\">\n <BondModalHeader\n bondData={bondData}\n onDismiss={onDismiss}\n showProjectInfoButton={SDKConfig?.referenceId === 'apebond'}\n />\n <ProjectDescription description={bondData.shortDescription} isProjectView />\n <Flex sx={{ width: '100%', display: isProjectView ? ['flex', 'flex', 'flex', 'none'] : 'flex' }}>\n <BondCards bondData={bondData} />\n </Flex>\n <Estimations\n depositAmount={depositAmount}\n bondData={bondData}\n youSpendString={youSpendString}\n isZap={isZap}\n fetchingZapQuote={fetchingZapQuote}\n zapError={zapError}\n />\n <TokenSelectorPanel\n typedValue={inputValue}\n setTypedValue={setInputValue}\n selectedToken={inputToken}\n handleValueBtn={() => setInputValue(new BigNumber(inputCurrencyBalance ?? '0')?.toString())}\n handleCurrencySelect={handleCurrencySelect}\n chainId={bondData?.chainId}\n enableZap={zapEnabled}\n bondPrincipalToken={bondData?.lpToken}\n tokenBalance={inputCurrencyBalance}\n selectedTokenPrice={inputTokenPrice}\n inputDisabled={isUserRestricted}\n />\n {SDKConfig.useTiers && <GetUpToComponent bond={bondData} depositAmount={depositAmount} />}\n {bondData?.warningCard && (\n <Flex\n sx={{\n width: '100%',\n background: '#DE62F366',\n justifyContent: 'center',\n mt: '10px',\n borderRadius: 'normal',\n p: '2px 10px',\n }}\n >\n <Text sx={{ fontSize: '12px', fontWeight: 400, display: 'flex', alignItems: 'center', gap: '10px' }}>\n <SafeHTMLComponent html={bondData?.warningCard} />\n {bondData?.chainId === ChainId.SONIC && bondData?.earnToken.symbol.toLowerCase() === 'moon' && (\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Text sx={{ textTransform: 'none' }}>\n Open the &#39;cog&#39; icon menu in the top right and set the Slippage Tolerance to 5% or more.\n </Text>\n }\n width=\"315px\"\n placement=\"topRight\"\n transformTip=\"translate(9%, -10%)\"\n >\n <Svg icon=\"questionCircle\" width={14} color=\"textDisabledButton\" />\n </TooltipBubble>\n )}\n </Text>\n </Flex>\n )}\n <Flex className=\"modaltable-container button-container\">\n {account && (\n <Flex className=\"button-container get\">\n <Button\n className=\"action-button\"\n onClick={() =>\n bondData.billVersion === BillVersion.V4 && SDKConfig.useTiers && zapEnabled\n ? window.open('http://ape.bond/tier-staking', '_blank')\n : zapEnabled\n ? handleOpenZapModal()\n : openExternal()\n }\n variant=\"secondary\"\n fullWidth\n >\n {bondData.billVersion === BillVersion.V4 && SDKConfig.useTiers && zapEnabled\n ? `Get ${!isMobile ? 'your' : ''} Tier`\n : `Get ${getSymbol(bondData?.lpToken)}`}\n </Button>\n </Flex>\n )}\n <Flex className=\"button-container buy\">\n {!account ? (\n <ConnectButton />\n ) : isUserRestricted ? (\n <Button className=\"action-button\" disabled>\n INSUFFICIENT TIER\n </Button>\n ) : (\n <Button\n className=\"action-button\"\n load={load || fetchingZapQuote}\n disabled={\n load ||\n bondData?.soldOut ||\n !account ||\n !inputValue ||\n parseFloat(inputValue) === 0 ||\n fetchingZapQuote ||\n zapError ||\n exceedsMaxBuy ||\n exceedsBalance ||\n (isZap && !zapData)\n }\n onClick={handleOpenModal}\n >\n {exceedsMaxBuy\n ? 'Exceeds Max Buy'\n : exceedsBalance\n ? 'Exceeds balance'\n : zapError\n ? 'something went wrong'\n : !inputValue || parseFloat(inputValue) === 0\n ? 'Insert amount'\n : `buy`}\n </Button>\n )}\n </Flex>\n </Flex>\n </Flex>\n </Flex>\n ) : (\n <></>\n )\n}\nexport default BuyBond\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuDA,MAAM,OAAO,GAA2B,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE,aAAa,EAAE,KAAI;AACpH,IAAA,MAAM,SAAS,GAAG,YAAY,EAAE;;AAEhC,IAAA,MAAM,WAAW,GAAG,UAAU,EAAE;IAChC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE;AACzC,IAAA,MAAM,EAAE,kBAAkB,EAAE,GAAG,gBAAgB,EAAE;AACjD,IAAA,MAAM,EAAE,oBAAoB,EAAE,GAAG,kBAAkB,EAAE;AACrD,IAAA,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,YAAY,EAAE;AACjE,IAAA,MAAM,eAAe,GAAG,kBAAkB,EAAE;IAC5C,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,aAAa,EAAE;AAC5C,IAAA,MAAM,QAAQ,GAAG,KAAK,EAAE,IAAI,CAC1B,CAAC,IAAI,KAAK,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,WAAW,EAAE,CAC7F;AACF,IAAA,MAAM,QAAQ,GAAG,WAAW,EAAE;;IAG9B,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,IAAI,GAAG,CAAC;AAC/C,IAAA,MAAM,OAAO,GAAG,QAAQ,EAAE,OAAO,KAAK,SAAS,GAAG,QAAQ,CAAC,OAAO,GAAG,IAAI;AACzE,IAAA,MAAM,gBAAgB,GAAG,OAAO,KAAK,IAAI,KAAK,QAAQ,KAAK,IAAI,IAAI,QAAQ,GAAG,OAAO,CAAC;IACtF,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,UAAU,EAAE,QAAQ,CAAC;AACxE,IAAA,MAAM,aAAa,GAAG,iBAAiB,EAAE,aAAa;AACtD,IAAA,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,qBAAqB,CAAC,WAAW,EAAE,SAAS,EAAE,gBAAgB,CAAC;;IAG9F,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,EAAsB;IAChE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;IAChD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;;AAGxG,IAAA,MAAM,UAAU,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC;IAC9F,MAAM,KAAK,GAAG,gBAAgB,EAAE,WAAW,EAAE,KAAK,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE;IAChH,MAAM,CAAC,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,gBAAgB,CAAC,GAAG,mBAAmB,CACnG,UAAU,EACV,UAAU,EACV,QAAQ,EACR,OAAO,EACP,YAAY,IAAI,SAAS,CAC1B;AAED,IAAA,MAAM,EAAE,aAAa,EAAE,GAAG,gBAAgB,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC;AACxE,IAAA,MAAM,iBAAiB,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,KAChD,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,UAAU,KAAK;AACxC,UAAE,IAAI,CAAC,KAAK,KAAK;AACjB,UAAE,IAAI,EAAE,KAAK,EAAE,OAAO,GAAG,SAAoB,CAAC,EAAE,WAAW,EAAE;YAC3D,UAAU,EAAE,OAAO,GAAG,SAAoB,CAAC,EAAE,WAAW,EAAE,CAC/D;AACD,IAAA,MAAM,oBAAoB,GAAG,iBAAiB,EAAE,OAAO;AACvD,IAAA,MAAM,eAAe,GAAG,iBAAiB,EAAE,KAAK;AAChD,IAAA,MAAM,WAAW,GAAG,UAAU,CAAC,gBAAgB,IAAI,GAAG,CAAC,GAAG,UAAU,CAAC,aAAa,IAAI,GAAG,CAAC,GAAG,IAAI,IAAI,KAAK;;IAG1G,MAAM,aAAa,GAAG,KAAK,GAAG,gBAAgB,GAAG,UAAU;AAC3D,IAAA,MAAM,cAAc,GAAG,CAAA,EAAG,YAAY,CAAC,UAAU,CAAC,CAAA,CAAA,EAAI,SAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;AAC3E,mBAAA,EAAA,eAAe,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,eAAe,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE;;IAGlG,MAAM,UAAU,GAAG,QAAQ,EAAE,OAAO,EAAE,UAAU,KAAK,iBAAiB,CAAC,wBAAwB;IAC/F,MAAM,UAAU,GAAG,eAAe,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC9D,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC,EAAE,CACvE,eAAe,CAAC,QAAQ,EAAE,aAAa,EAAE,UAAU,IAAI,GAAG,CAAC,CAC5D;AACD,IAAA,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,oBAAoB,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC;;IAGhF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;AACjD,IAAA,MAAM,EAAE,aAAa,EAAE,GAAG,SAAS,EAAE;AACrC,IAAA,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC;IACpG,MAAM,IAAI,GAAG,SAAS,KAAK,YAAY,IAAI,CAAC,WAAW,CAAC;;AAGxD,IAAA,MAAM,oBAAoB,GAAG,WAAW,CAAC,CAAC,aAAqB,KAAI;QACjE,aAAa,CAAC,EAAE,CAAC;QACjB,mBAAmB,CAAC,aAAa,CAAC;IACpC,CAAC,EAAE,EAAE,CAAC;IAEN,MAAM,kBAAkB,GAAG,MAAK;AAC9B,QAAA,cAAc,EAAE;AAChB,QAAA,KAAK,CAAC;AACJ,YAAA,KAAK,EAAE,eAAe;YACtB,KAAK,EAAE,QAAQ,EAAE,OAAO;AACxB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM;AAChC,gBAAA,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM;AACjC,aAAA;AACF,SAAA,CAAC;AACJ,IAAA,CAAC;;AAGD,IAAA,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC,GAAG,WAAW,CAClD,UAAU,EACV,UAAU,IAAI,IAAI,EAClB,CAAC,KAAK,GAAG,mBAAmB,GAAG,QAAQ,EAAE,OAAkB,CAAC,GAAG,QAAQ,EAAE,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC1G,IAAI,EACN,OAAO,IAAI,IAAI,EACf,QAAQ,EAAE,OAAO,IAAI,IAAI,CAC1B;AACD,IAAA,MAAM,aAAa,GAAG,YAAW;AAC/B,QAAA,OAAO,eAAe,EAAE,CAAC,IAAI,CAAC,MAAK;AACjC,YAAA,KAAK,CAAC;AACJ,gBAAA,KAAK,EAAE,kBAAkB;AACzB,gBAAA,KAAK,EAAE,WAAW;AAClB,gBAAA,IAAI,EAAE;oBACJ,GAAG,EAAE,QAAQ,EAAE,QAAQ;AACvB,oBAAA,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM;AACjC,iBAAA;AACF,aAAA,CAAC;AACJ,QAAA,CAAC,CAAC;AACJ,IAAA,CAAC;AAED,IAAA,MAAM,iBAAiB,GAAG,YAAW;QACnC,MAAM,WAAW,GAAkB,QAAQ,EAAE,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAkB;AACjG,QAAA,MAAM,QAAQ,GAAG,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAG,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE;AACtE,QAAA,KAAK,CAAC;AACJ,YAAA,KAAK,EAAE,cAAc;AACrB,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,IAAI,EAAE;gBACJ,GAAG,EAAE,QAAQ,EAAE,QAAQ;AACvB,gBAAA,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM;gBAChC,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,eAAe,IAAI,CAAC,CAAC;AACvD,aAAA;AACF,SAAA,CAAC;AACF,QAAA,IAAI;YACF,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,aAAa,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AACnF,YAAA,MAAM,SAAS,GAAG,cAAc,CAAC,UAAU,CAAC;YAC5C,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;AAE/F,YAAA,MAAM,YAAY,GAAG,QAAQ,EAAE,WAAW,KAAK,WAAW,CAAC,EAAE,IAAI,SAAS,CAAC,QAAQ;YACnF,MAAM,IAAI,GAAG,YAAY,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC;AACnG,YAAA,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC;AACpC,gBAAA,OAAO,EAAE,WAAW;gBACpB,GAAG,EAAE,YAAY,GAAG,eAAe,GAAG,WAAW;AACjD,gBAAA,YAAY,EAAE,SAAS;AACvB,gBAAA,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,QAAQ,EAAE,OAAc;gBAC/B,OAAO;AACR,aAAA,CAAC;YACF,IAAI,IAAI,EAAE;gBACR,YAAY,CAAC,IAAI,CAAC;gBAClB,MAAM,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC;AACrD,gBAAA,mBAAmB,GAAG,IAAI,CAAC;AAC3B,gBAAA,KAAK,CAAC;AACJ,oBAAA,KAAK,EAAE,MAAM;AACb,oBAAA,KAAK,EAAE,SAAS;AAChB,oBAAA,IAAI,EAAE;AACJ,wBAAA,GAAG,EAAE,QAAQ;AACb,wBAAA,IAAI,EAAE,QAAQ,EAAE,QAAQ,IAAI,EAAE;AAC9B,wBAAA,UAAU,EAAE,UAAU;AACtB,wBAAA,cAAc,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;AAC9C,wBAAA,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,IAAI,EAAE;AAC3C,wBAAA,OAAO,EAAE,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;wBACtE,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,eAAe,IAAI,CAAC,CAAC;AAC3D,qBAAA;AACF,iBAAA,CAAC;YACJ;QACF;QAAE,OAAO,KAAU,EAAE;AACnB,YAAA,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC;AACjC,YAAA,WAAW,CAAC;AACV,gBAAA,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;gBAC9B,KAAK;gBACL,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE;AAC/C,gBAAA,OAAO,EAAE,SAAS;gBAClB,OAAO;AACR,aAAA,CAAC;AACF,YAAA,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC;QACnC;AACF,IAAA,CAAC;AACD,IAAA,MAAM,iBAAiB,GAAG,YAAW;AACnC,QAAA,IAAI,OAAO,IAAI,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE;AAC3D,YAAA,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;AAChC,YAAA,KAAK,CAAC;AACJ,gBAAA,KAAK,EAAE,cAAc;gBACrB,KAAK,EAAE,QAAQ,EAAE,OAAO;AACxB,gBAAA,IAAI,EAAE;oBACJ,GAAG,EAAE,QAAQ,EAAE,QAAQ;AACvB,oBAAA,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,IAAI,EAAE;AACtC,oBAAA,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,aAAa;AACrC,iBAAA;AACF,aAAA,CAAC;AACF,YAAA,IAAI;AACF,gBAAA,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;AACpB,gBAAA,MAAM,wBAAwB,GAAG,IAAI,SAAS,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;AAChF,gBAAA,MAAM,WAAW,GAAG,UAAU,CAAC,wBAAwB,CAAC;AAExD,gBAAA,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC;AACtC,oBAAA,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE;AACrB,oBAAA,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;oBACzB,KAAK,EAAE,UAAU,KAAK,QAAQ,GAAG,WAAW,GAAG,SAAS;AACzD,iBAAA,CAAC;gBACF,IAAI,IAAI,EAAE;oBACR,YAAY,CAAC,IAAI,CAAC;AAClB,oBAAA,MAAM,eAAe,CAAC,QAAQ,EAAE,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC;AAC7F,oBAAA,mBAAmB,GAAG,IAAI,CAAC;AAC3B,oBAAA,KAAK,CAAC;AACJ,wBAAA,KAAK,EAAE,KAAK;AACZ,wBAAA,KAAK,EAAE,SAAS;AAChB,wBAAA,IAAI,EAAE;AACJ,4BAAA,GAAG,EAAE,MAAM;AACX,4BAAA,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC;4BAC7B,MAAM,EAAE,GAAG,QAAQ,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE,CAAA,CAAE;4BAC3C,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,eAAe,IAAI,CAAC,CAAC;AACxD,yBAAA;AACF,qBAAA,CAAC;AACF,oBAAA,KAAK,CAAC;AACJ,wBAAA,KAAK,EAAE,MAAM;AACb,wBAAA,KAAK,EAAE,SAAS;AAChB,wBAAA,IAAI,EAAE;AACJ,4BAAA,GAAG,EAAE,SAAS;AACd,4BAAA,IAAI,EAAE,QAAQ,EAAE,QAAQ,IAAI,EAAE;AAC9B,4BAAA,cAAc,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;AAC9C,4BAAA,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,IAAI,EAAE;AAC3C,4BAAA,OAAO,EAAE,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;AACtE,4BAAA,MAAM,EAAE,UAAU;4BAClB,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,eAAe,IAAI,CAAC,CAAC;AAC3D,yBAAA;AACF,qBAAA,CAAC;gBACJ;YACF;YAAE,OAAO,CAAM,EAAE;AACf,gBAAA,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AACd,gBAAA,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC;AAC7B,gBAAA,WAAW,CAAC;AACV,oBAAA,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAC9B,oBAAA,KAAK,EAAE,CAAC;oBACR,SAAS,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;AACvD,oBAAA,OAAO,EAAE,SAAS;oBAClB,OAAO;AACR,iBAAA,CAAC;YACJ;QACF;AACF,IAAA,CAAC;IAED,MAAM,mBAAmB,GAAG,MAAK;QAC/B,YAAY,CAAC,IAAI,CAAC;QAClB,IAAI,KAAK,EAAE;AACT,YAAA,iBAAiB,EAAE,CAAC,OAAO,CAAC,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;QACxD;aAAO;AACL,YAAA,iBAAiB,EAAE,CAAC,OAAO,CAAC,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;QACxD;AACF,IAAA,CAAC;IAED,MAAM,eAAe,GAAG,MAAK;AAC3B,QAAA,MAAM,KAAK,GAAG,iBAAiB,EAAE,YAAY,IAAI,CAAC;AAClD,QAAA,IAAI,KAAK,IAAI,CAAC,EAAE;AACd,YAAA,gBAAgB,EAAE;QACpB;aAAO;AACL,YAAA,WAAW,EAAE;QACf;AACF,IAAA,CAAC;IAED,MAAM,YAAY,GAAG,MAAK;AACxB,QAAA,IAAI,QAAQ,EAAE,OAAO,EAAE,QAAQ,GAAG,QAAQ,EAAE,OAAO,CAAC,EAAE;AACpD,YAAA,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC;QACvE;aAAO;YACL,MAAM,CAAC,IAAI,CACT,CAAA,qCAAA,EAAwC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,gBAAgB,QAAQ,EAAE,OAAO,CAAA,CAAE,EACvH,QAAQ,CACT;QACH;AACF,IAAA,CAAC;;AAID,IAAA,MAAM,CAAC,gBAAgB,CAAC,GAAG,QAAQ,CACjCA,IAAC,YAAY,EAAA,EACX,IAAI,EAAE,QAAQ,EACd,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,QAAQ,EAAA,CAClB,EACF,IAAI,EACJ,KAAK,EACL,cAAc,CACf;AAED,IAAA,MAAM,CAAC,WAAW,CAAC,GAAG,QAAQ,CAC5BA,GAAA,CAAC,gBAAgB,EAAA,EACf,OAAO,EAAE,SAAS,EAClB,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,aAAa,EAC9B,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,mBAAmB,EAC/B,QAAQ,EAAE,QAAS,EACnB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EAAA,CACxB,EACF,KAAK,EACL,IAAI,EACJ,kBAAkB,CACnB;AAED,IAAA,MAAM,CAAC,cAAc,CAAC,GAAG,QAAQ,CAC/BA,GAAA,CAAC,QAAQ,EAAA,EAAC,WAAW,EAAE,QAAQ,EAAE,OAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAkB,EAAA,CAAI,EAC9G,IAAI,EACJ,IAAI,EACJ,UAAU,CACX;IAED,MAAM,CAAC,gBAAgB,CAAC,GAAG,QAAQ,CACjCA,GAAA,CAAC,YAAY,EAAA,EAAC,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB,EAAA,CAAI,EAC5F,IAAI,EACJ,IAAI,EACJ,cAAc,CACf;;IAGD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IACnD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC;IACtE,SAAS,CAAC,MAAK;QACb,IACE,oBAAoB,KAAK,SAAS;AAClC,YAAA,oBAAoB,KAAK,GAAG;AAC5B,YAAA,CAAC,UAAU;YACX,SAAS;YACT,UAAU;YACV,aAAa,EAAE,MAAM,GAAG,CAAC;YACzB,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,EAC/B;YACA,aAAa,CAAC,IAAI,CAAC;AACnB,YAAA,mBAAmB,CACjB,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,GAAG,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAoB,CAAC,CACtG;QACH;AACA,QAAA,IAAI,QAAQ,IAAI,CAAC,eAAe,EAAE;YAChC,kBAAkB,CAAC,IAAI,CAAC;QAC1B;;IAEF,CAAC,EAAE,CAAC,oBAAoB,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;;IAGnD,SAAS,CAAC,MAAK;QACb,IAAI,WAAW,EAAE;AACf,YAAA,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC;AAC5D,YAAA,gBAAgB,EAAE;AAClB,YAAA,gBAAgB,EAAE;QACpB;;AAEF,IAAA,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IAEjB,OAAO,QAAQ,IACbC,KAAC,IAAI,EAAA,EAAC,SAAS,EAAE,CAAA,cAAA,EAAiB,UAAU,GAAG,WAAW,GAAG,EAAE,CAAA,CAAE,EAAA,QAAA,EAAA,CAC9D,CAAC,aAAa,IAAID,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,aAAa,EAAA,CAAO,EACtDC,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,sBAAsB,EAAA,QAAA,EAAA,CACpCD,GAAA,CAAC,eAAe,EAAA,EACd,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,qBAAqB,EAAE,SAAS,EAAE,WAAW,KAAK,SAAS,GAC3D,EACFA,GAAA,CAAC,kBAAkB,EAAA,EAAC,WAAW,EAAE,QAAQ,CAAC,gBAAgB,EAAE,aAAa,EAAA,IAAA,EAAA,CAAG,EAC5EA,IAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,YAC7FA,GAAA,CAAC,SAAS,EAAA,EAAC,QAAQ,EAAE,QAAQ,EAAA,CAAI,EAAA,CAC5B,EACPA,GAAA,CAAC,WAAW,EAAA,EACV,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,KAAK,EACZ,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,QAAQ,EAAA,CAClB,EACFA,GAAA,CAAC,kBAAkB,EAAA,EACjB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,UAAU,EACzB,cAAc,EAAE,MAAM,aAAa,CAAC,IAAI,SAAS,CAAC,oBAAoB,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,EAC3F,oBAAoB,EAAE,oBAAoB,EAC1C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAC1B,SAAS,EAAE,UAAU,EACrB,kBAAkB,EAAE,QAAQ,EAAE,OAAO,EACrC,YAAY,EAAE,oBAAoB,EAClC,kBAAkB,EAAE,eAAe,EACnC,aAAa,EAAE,gBAAgB,EAAA,CAC/B,EACD,SAAS,CAAC,QAAQ,IAAIA,GAAA,CAAC,gBAAgB,EAAA,EAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAA,CAAI,EACxF,QAAQ,EAAE,WAAW,KACpBA,GAAA,CAAC,IAAI,EAAA,EACH,EAAE,EAAE;AACF,4BAAA,KAAK,EAAE,MAAM;AACb,4BAAA,UAAU,EAAE,WAAW;AACvB,4BAAA,cAAc,EAAE,QAAQ;AACxB,4BAAA,EAAE,EAAE,MAAM;AACV,4BAAA,YAAY,EAAE,QAAQ;AACtB,4BAAA,CAAC,EAAE,UAAU;AACd,yBAAA,EAAA,QAAA,EAEDC,IAAA,CAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,EAAA,QAAA,EAAA,CACjGD,GAAA,CAAC,iBAAiB,IAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAA,CAAI,EACjD,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC,KAAK,IAAI,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,MAAM,KACzFA,GAAA,CAAC,aAAa,EAAA,EACZ,SAAS,EAAC,gBAAgB,EAC1B,IAAI,EACFA,GAAA,CAAC,IAAI,IAAC,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,EAAA,QAAA,EAAA,yFAAA,EAAA,CAE5B,EAET,KAAK,EAAC,OAAO,EACb,SAAS,EAAC,UAAU,EACpB,YAAY,EAAC,qBAAqB,EAAA,QAAA,EAElCA,GAAA,CAAC,GAAG,IAAC,IAAI,EAAC,gBAAgB,EAAC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAC,oBAAoB,EAAA,CAAG,EAAA,CACrD,CACjB,IACI,EAAA,CACF,CACR,EACDC,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,uCAAuC,EAAA,QAAA,EAAA,CACpD,OAAO,KACND,IAAC,IAAI,EAAA,EAAC,SAAS,EAAC,sBAAsB,EAAA,QAAA,EACpCA,GAAA,CAAC,MAAM,EAAA,EACL,SAAS,EAAC,eAAe,EACzB,OAAO,EAAE,MACP,QAAQ,CAAC,WAAW,KAAK,WAAW,CAAC,EAAE,IAAI,SAAS,CAAC,QAAQ,IAAI;0CAC7D,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,QAAQ;AACtD,0CAAE;8CACE,kBAAkB;8CAClB,YAAY,EAAE,EAEtB,OAAO,EAAC,WAAW,EACnB,SAAS,EAAA,IAAA,EAAA,QAAA,EAER,QAAQ,CAAC,WAAW,KAAK,WAAW,CAAC,EAAE,IAAI,SAAS,CAAC,QAAQ,IAAI;AAChE,0CAAE,CAAA,IAAA,EAAO,CAAC,QAAQ,GAAG,MAAM,GAAG,EAAE,CAAA,KAAA;AAChC,0CAAE,CAAA,IAAA,EAAO,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA,CAAE,EAAA,CAClC,EAAA,CACJ,CACR,EACDA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,sBAAsB,EAAA,QAAA,EACnC,CAAC,OAAO,IACPA,GAAA,CAAC,aAAa,EAAA,EAAA,CAAG,IACf,gBAAgB,IAClBA,GAAA,CAAC,MAAM,EAAA,EAAC,SAAS,EAAC,eAAe,EAAC,QAAQ,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,CAEjC,KAETA,GAAA,CAAC,MAAM,EAAA,EACL,SAAS,EAAC,eAAe,EACzB,IAAI,EAAE,IAAI,IAAI,gBAAgB,EAC9B,QAAQ,EACN,IAAI;AACJ,wCAAA,QAAQ,EAAE,OAAO;AACjB,wCAAA,CAAC,OAAO;AACR,wCAAA,CAAC,UAAU;AACX,wCAAA,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC;wCAC5B,gBAAgB;wCAChB,QAAQ;wCACR,aAAa;wCACb,cAAc;yCACb,KAAK,IAAI,CAAC,OAAO,CAAC,EAErB,OAAO,EAAE,eAAe,EAAA,QAAA,EAEvB;AACC,0CAAE;AACF,0CAAE;AACA,8CAAE;AACF,8CAAE;AACA,kDAAE;kDACA,CAAC,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK;AAC1C,sDAAE;AACF,sDAAE,CAAA,GAAA,CAAK,EAAA,CACR,CACV,GACI,CAAA,EAAA,CACF,CAAA,EAAA,CACF,CAAA,EAAA,CACF,KAEPA,GAAA,CAAAE,QAAA,EAAA,EAAA,CAAK,CACN;AACH;;;;"}
@@ -1,18 +1,6 @@
1
1
  import { jsx } from 'theme-ui/jsx-runtime';
2
- import '../../components/uikit-sdk/Svg/types.js';
3
- import 'theme-ui';
4
2
  import Flex from '../../components/uikit-sdk/Flex/index.js';
5
- import '../../components/uikit-sdk/Text/types.js';
6
- import '../../components/uikit-sdk/Checkbox/types.js';
7
- import '../../components/uikit-sdk/Skeleton/types.js';
8
- import '../../components/uikit-sdk/Skeleton/styles.js';
9
- import '../../components/uikit-sdk/TooltipBubble/index.js';
10
3
  import Modal from '../../components/uikit-sdk/Modal/index.js';
11
- import 'framer-motion';
12
- import '../FullBondsView/FullBondsView.js';
13
- import 'react';
14
- import '../../components/uikit-sdk/Button/types.js';
15
- import '../../components/uikit-sdk/Select/types.js';
16
4
  import BuyBond from './BuyBond.js';
17
5
 
18
6
  const BuyBondModal = ({ onDismiss, bondAddress, bondChain, handlePurchasedBond }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"BuyBondModal.js","sources":["../../../src/views/BuyBond/BuyBondModal.tsx"],"sourcesContent":["import React from 'react'\nimport { Flex, Modal } from '../../components/uikit-sdk'\nimport BuyBond, { BuyBondProps } from './BuyBond'\n\nconst BuyBondModal: React.FC<BuyBondProps> = ({ onDismiss, bondAddress, bondChain, handlePurchasedBond }) => {\n return (\n <Modal className=\"modal\" onDismiss={onDismiss} sx={{ width: '400px' }}>\n <Flex sx={{ width: '100%', maxWidth: '700px', mt: '-10px' }}>\n <BuyBond\n onDismiss={onDismiss}\n bondAddress={bondAddress}\n bondChain={bondChain}\n handlePurchasedBond={handlePurchasedBond}\n />\n </Flex>\n </Modal>\n )\n}\n\nexport default BuyBondModal\n"],"names":["_jsx"],"mappings":";;;;;;;;;;;;;;;;;AAIA,MAAM,YAAY,GAA2B,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE,KAAI;AAC1G,IAAA,QACEA,GAAA,CAAC,KAAK,EAAA,EAAC,SAAS,EAAC,OAAO,EAAC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAA,QAAA,EACnEA,GAAA,CAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAA,QAAA,EACzDA,GAAA,CAAC,OAAO,EAAA,EACN,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,mBAAmB,EAAE,mBAAmB,EAAA,CACxC,EAAA,CACG,EAAA,CACD;AAEZ;;;;"}
1
+ {"version":3,"file":"BuyBondModal.js","sources":["../../../src/views/BuyBond/BuyBondModal.tsx"],"sourcesContent":["import React from 'react'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport Modal from '../../components/uikit-sdk/Modal'\nimport BuyBond, { BuyBondProps } from './BuyBond'\n\nconst BuyBondModal: React.FC<BuyBondProps> = ({ onDismiss, bondAddress, bondChain, handlePurchasedBond }) => {\n return (\n <Modal className=\"modal\" onDismiss={onDismiss} sx={{ width: '400px' }}>\n <Flex sx={{ width: '100%', maxWidth: '700px', mt: '-10px' }}>\n <BuyBond\n onDismiss={onDismiss}\n bondAddress={bondAddress}\n bondChain={bondChain}\n handlePurchasedBond={handlePurchasedBond}\n />\n </Flex>\n </Modal>\n )\n}\n\nexport default BuyBondModal\n"],"names":["_jsx"],"mappings":";;;;;AAKA,MAAM,YAAY,GAA2B,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE,KAAI;AAC1G,IAAA,QACEA,GAAA,CAAC,KAAK,EAAA,EAAC,SAAS,EAAC,OAAO,EAAC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAA,QAAA,EACnEA,GAAA,CAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAA,QAAA,EACzDA,GAAA,CAAC,OAAO,EAAA,EACN,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,mBAAmB,EAAE,mBAAmB,EAAA,CACxC,EAAA,CACG,EAAA,CACD;AAEZ;;;;"}
@@ -1,20 +1,7 @@
1
1
  import { jsx, jsxs, Fragment } from 'theme-ui/jsx-runtime';
2
- import Svg from '../../../components/uikit-sdk/Svg/index.js';
3
2
  import Flex from '../../../components/uikit-sdk/Flex/index.js';
4
- import 'theme-ui';
5
- import '../../../components/uikit-sdk/Text/types.js';
6
- import '../../../components/uikit-sdk/Checkbox/types.js';
7
- import '../../../components/uikit-sdk/Skeleton/types.js';
8
- import '../../../components/uikit-sdk/Skeleton/styles.js';
9
- import '../../../components/uikit-sdk/TooltipBubble/index.js';
10
- import 'react';
11
- import 'framer-motion';
12
- import '../../../components/uikit-sdk/Button/types.js';
13
- import '../../../components/uikit-sdk/Svg/types.js';
14
- import '../../../contexts/ModalContext.js';
15
- import '../../FullBondsView/FullBondsView.js';
16
- import '../../../components/uikit-sdk/Select/types.js';
17
3
  import ListTag from '../../../components/uikit-sdk/Tag/ListTag.js';
4
+ import Svg from '../../../components/uikit-sdk/Svg/index.js';
18
5
  import TokenImage from '../../../components/uikit-sdk/TokenImage/index.js';
19
6
  import { earnTokenPrice, discountEarnTokenPrice } from '../../../utils/displayHelpers.js';
20
7
  import useModal from '../../../hooks/useModal.js';
@@ -1 +1 @@
1
- {"version":3,"file":"BondModalHeader.js","sources":["../../../../src/views/BuyBond/components/BondModalHeader.tsx"],"sourcesContent":["import React from 'react'\nimport { Flex, ListTag, Svg } from '../../../components/uikit-sdk'\nimport TokenImage from '../../../components/uikit-sdk/TokenImage'\nimport { discountEarnTokenPrice, earnTokenPrice } from '../../../utils/displayHelpers'\nimport useModal from '../../../hooks/useModal'\nimport SlippageModal from '../../../components/SlippageModal'\nimport { BondsData } from '../../../types/bonds'\nimport ExpandedViewButton from './ExpandedViewButton'\nimport track from '../../../utils/track'\nimport BondModalMinTierHeader from './BondModalMinTierHeader'\nimport { findHighestTrueBondPrice } from '../findHighestTrueBondPrice'\nimport { TIERS_WEIGHT } from '../../../state/tiers/useTierPoints'\nimport { BillVersion, LaunchBondTiers } from '@ape.swap/apeswap-lists'\nimport { useSDKConfig } from '../../../state/useSDKConfig'\n\nconst BondModalHeader = ({\n bondData,\n onDismiss,\n showProjectInfoButton,\n}: {\n bondData: BondsData\n onDismiss?: () => void\n showProjectInfoButton?: boolean\n}) => {\n const SDKConfig = useSDKConfig()\n const [onOpenSlippageModal] = useModal(<SlippageModal />)\n const minTier = bondData.minTier !== undefined ? bondData.minTier : null\n const bonusWithFee = findHighestTrueBondPrice(TIERS_WEIGHT[LaunchBondTiers.Legend], bondData)?.bonusWithFee\n\n const handleClose = () => {\n if (typeof window !== 'undefined') {\n window.history.pushState({}, '', `/bonds`)\n }\n onDismiss?.()\n }\n\n const handleProjectViewNavigation = () => {\n window.open(\n `${window.location.origin}/bonds/${bondData?.contractAddress?.[bondData?.chainId]}/${bondData?.chainId}`,\n '_self',\n )\n track({\n event: 'projectInfoClick',\n chain: bondData.chainId,\n data: {\n cat: 'Modal',\n bond: bondData.earnToken.symbol,\n bondChain: bondData.chainId,\n },\n })\n }\n\n return (\n <Flex\n className=\"modaltable-container title-container\"\n sx={{ flexDirection: 'column', justifyContent: 'center', alignItems: 'start' }}\n >\n <Flex\n sx={{\n width: '100%',\n height: '30px',\n mb: ['10px', '10px', '10px', '0px'],\n justifyContent: ['space-between', 'space-between', 'space-between', 'flex-end'],\n }}\n >\n <Flex sx={{ display: ['flex', 'flex', 'flex', 'none'] }}>\n <BondModalMinTierHeader minTier={minTier} />\n </Flex>\n <Flex sx={{ cursor: 'pointer' }}>\n {onDismiss ? (\n <>\n {showProjectInfoButton && <ExpandedViewButton handleNavigation={handleProjectViewNavigation} />}\n <Flex sx={{ mx: '10px' }} onClick={onOpenSlippageModal}>\n <Svg icon=\"cog\" width=\"16px\" />\n </Flex>\n <Flex onClick={handleClose}>\n <Svg icon=\"close\" color=\"text\" />\n </Flex>\n </>\n ) : (\n <Flex sx={{ py: '3px', mt: '10px' }} onClick={onOpenSlippageModal}>\n <Svg icon=\"cog\" width=\"16px\" />\n </Flex>\n )}\n </Flex>\n </Flex>\n <Flex sx={{ width: '100%' }}>\n <Flex className=\"title-container bondicon\">\n <TokenImage\n symbol={bondData.showcaseTokenName ?? bondData.earnToken.symbol}\n size={50}\n chain={bondData.chainId}\n />\n </Flex>\n <Flex className=\"title-container bondname\">\n {bondData?.showcaseTokenName}\n <ListTag text={bondData?.tags?.[0]} />\n </Flex>\n <Flex className=\"title-container price-container\" sx={{ flexDirection: 'column', pl: '20px' }}>\n <Flex className=\"price-container price\">${earnTokenPrice(bondData)}</Flex>\n {SDKConfig.useTiers && bondData.billVersion === BillVersion.V4 ? (\n <Flex\n sx={{\n p: '3px 6px',\n border: '1px solid var(--theme-ui-colors-primaryButton)',\n borderRadius: 'normal',\n background: 'transparent',\n position: 'relative',\n overflow: 'hidden',\n }}\n >\n <Flex\n sx={{\n position: 'absolute',\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n zIndex: 1,\n background: 'primaryButton',\n opacity: 0.3,\n }}\n />\n <Flex sx={{ width: '100%', zIndex: 2, alignItems: 'center' }}>\n <img\n src={`https://ape.bond/images/launch/mythical.png`}\n alt=\"minTier\"\n style={{ width: '21px', height: '21px', marginRight: '3px', zIndex: 1 }}\n />\n <Flex sx={{ fontSize: '14px', mr: '3px' }}>Up to</Flex>\n <Flex\n sx={{\n color: bonusWithFee && bonusWithFee > 0 ? 'success' : 'error',\n }}\n >\n ${discountEarnTokenPrice(bondData, true)}\n </Flex>\n </Flex>\n </Flex>\n ) : (\n <Flex sx={{ fontSize: '24px', fontWeight: 700 }}>${discountEarnTokenPrice(bondData)}</Flex>\n )}\n </Flex>\n <Flex sx={{ display: ['none', 'none', 'none', 'flex'], ml: '10px' }}>\n <BondModalMinTierHeader minTier={minTier} />\n </Flex>\n </Flex>\n </Flex>\n )\n}\n\nexport default BondModalHeader\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"BondModalHeader.js","sources":["../../../../src/views/BuyBond/components/BondModalHeader.tsx"],"sourcesContent":["import React from 'react'\nimport Flex from '../../../components/uikit-sdk/Flex'\nimport ListTag from '../../../components/uikit-sdk/Tag/ListTag'\nimport Svg from '../../../components/uikit-sdk/Svg'\nimport TokenImage from '../../../components/uikit-sdk/TokenImage'\nimport { discountEarnTokenPrice, earnTokenPrice } from '../../../utils/displayHelpers'\nimport useModal from '../../../hooks/useModal'\nimport SlippageModal from '../../../components/SlippageModal'\nimport { BondsData } from '../../../types/bonds'\nimport ExpandedViewButton from './ExpandedViewButton'\nimport track from '../../../utils/track'\nimport BondModalMinTierHeader from './BondModalMinTierHeader'\nimport { findHighestTrueBondPrice } from '../findHighestTrueBondPrice'\nimport { TIERS_WEIGHT } from '../../../state/tiers/useTierPoints'\nimport { BillVersion, LaunchBondTiers } from '@ape.swap/apeswap-lists'\nimport { useSDKConfig } from '../../../state/useSDKConfig'\n\nconst BondModalHeader = ({\n bondData,\n onDismiss,\n showProjectInfoButton,\n}: {\n bondData: BondsData\n onDismiss?: () => void\n showProjectInfoButton?: boolean\n}) => {\n const SDKConfig = useSDKConfig()\n const [onOpenSlippageModal] = useModal(<SlippageModal />)\n const minTier = bondData.minTier !== undefined ? bondData.minTier : null\n const bonusWithFee = findHighestTrueBondPrice(TIERS_WEIGHT[LaunchBondTiers.Legend], bondData)?.bonusWithFee\n\n const handleClose = () => {\n if (typeof window !== 'undefined') {\n window.history.pushState({}, '', `/bonds`)\n }\n onDismiss?.()\n }\n\n const handleProjectViewNavigation = () => {\n window.open(\n `${window.location.origin}/bonds/${bondData?.contractAddress?.[bondData?.chainId]}/${bondData?.chainId}`,\n '_self',\n )\n track({\n event: 'projectInfoClick',\n chain: bondData.chainId,\n data: {\n cat: 'Modal',\n bond: bondData.earnToken.symbol,\n bondChain: bondData.chainId,\n },\n })\n }\n\n return (\n <Flex\n className=\"modaltable-container title-container\"\n sx={{ flexDirection: 'column', justifyContent: 'center', alignItems: 'start' }}\n >\n <Flex\n sx={{\n width: '100%',\n height: '30px',\n mb: ['10px', '10px', '10px', '0px'],\n justifyContent: ['space-between', 'space-between', 'space-between', 'flex-end'],\n }}\n >\n <Flex sx={{ display: ['flex', 'flex', 'flex', 'none'] }}>\n <BondModalMinTierHeader minTier={minTier} />\n </Flex>\n <Flex sx={{ cursor: 'pointer' }}>\n {onDismiss ? (\n <>\n {showProjectInfoButton && <ExpandedViewButton handleNavigation={handleProjectViewNavigation} />}\n <Flex sx={{ mx: '10px' }} onClick={onOpenSlippageModal}>\n <Svg icon=\"cog\" width=\"16px\" />\n </Flex>\n <Flex onClick={handleClose}>\n <Svg icon=\"close\" color=\"text\" />\n </Flex>\n </>\n ) : (\n <Flex sx={{ py: '3px', mt: '10px' }} onClick={onOpenSlippageModal}>\n <Svg icon=\"cog\" width=\"16px\" />\n </Flex>\n )}\n </Flex>\n </Flex>\n <Flex sx={{ width: '100%' }}>\n <Flex className=\"title-container bondicon\">\n <TokenImage\n symbol={bondData.showcaseTokenName ?? bondData.earnToken.symbol}\n size={50}\n chain={bondData.chainId}\n />\n </Flex>\n <Flex className=\"title-container bondname\">\n {bondData?.showcaseTokenName}\n <ListTag text={bondData?.tags?.[0]} />\n </Flex>\n <Flex className=\"title-container price-container\" sx={{ flexDirection: 'column', pl: '20px' }}>\n <Flex className=\"price-container price\">${earnTokenPrice(bondData)}</Flex>\n {SDKConfig.useTiers && bondData.billVersion === BillVersion.V4 ? (\n <Flex\n sx={{\n p: '3px 6px',\n border: '1px solid var(--theme-ui-colors-primaryButton)',\n borderRadius: 'normal',\n background: 'transparent',\n position: 'relative',\n overflow: 'hidden',\n }}\n >\n <Flex\n sx={{\n position: 'absolute',\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n zIndex: 1,\n background: 'primaryButton',\n opacity: 0.3,\n }}\n />\n <Flex sx={{ width: '100%', zIndex: 2, alignItems: 'center' }}>\n <img\n src={`https://ape.bond/images/launch/mythical.png`}\n alt=\"minTier\"\n style={{ width: '21px', height: '21px', marginRight: '3px', zIndex: 1 }}\n />\n <Flex sx={{ fontSize: '14px', mr: '3px' }}>Up to</Flex>\n <Flex\n sx={{\n color: bonusWithFee && bonusWithFee > 0 ? 'success' : 'error',\n }}\n >\n ${discountEarnTokenPrice(bondData, true)}\n </Flex>\n </Flex>\n </Flex>\n ) : (\n <Flex sx={{ fontSize: '24px', fontWeight: 700 }}>${discountEarnTokenPrice(bondData)}</Flex>\n )}\n </Flex>\n <Flex sx={{ display: ['none', 'none', 'none', 'flex'], ml: '10px' }}>\n <BondModalMinTierHeader minTier={minTier} />\n </Flex>\n </Flex>\n </Flex>\n )\n}\n\nexport default BondModalHeader\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
@@ -1,18 +1,6 @@
1
1
  import { jsx, Fragment } from 'theme-ui/jsx-runtime';
2
- import '../../../components/uikit-sdk/Svg/types.js';
3
- import 'theme-ui';
4
2
  import Flex from '../../../components/uikit-sdk/Flex/index.js';
5
- import '../../../components/uikit-sdk/Text/types.js';
6
- import '../../../components/uikit-sdk/Checkbox/types.js';
7
- import '../../../components/uikit-sdk/Skeleton/types.js';
8
- import '../../../components/uikit-sdk/Skeleton/styles.js';
9
3
  import TooltipBubble from '../../../components/uikit-sdk/TooltipBubble/index.js';
10
- import 'react';
11
- import 'framer-motion';
12
- import '../../../components/uikit-sdk/Button/types.js';
13
- import '../../../contexts/ModalContext.js';
14
- import '../../FullBondsView/FullBondsView.js';
15
- import '../../../components/uikit-sdk/Select/types.js';
16
4
  import { TIERS_NAMES } from '../../../state/tiers/useTierPoints.js';
17
5
 
18
6
  const BondModalMinTierHeader = ({ minTier }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"BondModalMinTierHeader.js","sources":["../../../../src/views/BuyBond/components/BondModalMinTierHeader.tsx"],"sourcesContent":["import { Flex, TooltipBubble } from '../../../components/uikit-sdk'\nimport { TIERS_NAMES } from '../../../state/tiers/useTierPoints'\nimport { LaunchBondTiers } from '@ape.swap/apeswap-lists'\n\nconst BondModalMinTierHeader = ({ minTier }: { minTier: LaunchBondTiers | null }) => {\n return (\n <>\n {minTier !== null && minTier !== undefined && (\n <Flex\n sx={{\n justifyContent: 'start',\n alignItems: 'center',\n flexDirection: 'row-reverse',\n width: ['100%', '100%', '100%', 'auto', 'auto'],\n }}\n >\n {Object.values(TIERS_NAMES).map((tier, index) => {\n if (index >= minTier) {\n return (\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={<Flex sx={{ justifyContent: 'center' }}>{tier}</Flex>}\n width=\"100px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(1%, -5%)\"\n key={tier}\n >\n <img\n key={`tier-logo-${index}`}\n src={`https://ape.bond/images/launch/${tier.toLowerCase()}.png`}\n alt=\"minTier\"\n style={{ width: '25px', height: '25px', marginLeft: '3px', zIndex: 1 }}\n />\n </TooltipBubble>\n )\n }\n })}\n </Flex>\n )}\n </>\n )\n}\n\nexport default BondModalMinTierHeader\n"],"names":["_jsx","_Fragment"],"mappings":";;;;;;;;;;;;;;;;;AAIA,MAAM,sBAAsB,GAAG,CAAC,EAAE,OAAO,EAAuC,KAAI;AAClF,IAAA,QACEA,GAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EACG,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,KACxCD,GAAA,CAAC,IAAI,EAAA,EACH,EAAE,EAAE;AACF,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,UAAU,EAAE,QAAQ;AACpB,gBAAA,aAAa,EAAE,aAAa;gBAC5B,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;AAChD,aAAA,EAAA,QAAA,EAEA,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;AAC9C,gBAAA,IAAI,KAAK,IAAI,OAAO,EAAE;AACpB,oBAAA,QACEA,GAAA,CAAC,aAAa,EAAA,EACZ,SAAS,EAAC,gBAAgB,EAC1B,IAAI,EAAEA,IAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAG,IAAI,EAAA,CAAQ,EAC3D,KAAK,EAAC,OAAO,EACb,SAAS,EAAC,YAAY,EACtB,YAAY,EAAC,oBAAoB,EAAA,QAAA,EAGjCA,aAEE,GAAG,EAAE,CAAA,+BAAA,EAAkC,IAAI,CAAC,WAAW,EAAE,CAAA,IAAA,CAAM,EAC/D,GAAG,EAAC,SAAS,EACb,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,EAAA,EAHjE,CAAA,UAAA,EAAa,KAAK,CAAA,CAAE,CAIzB,IAPG,IAAI,CAQK;gBAEpB;AACF,YAAA,CAAC,CAAC,EAAA,CACG,CACR,EAAA,CACA;AAEP;;;;"}
1
+ {"version":3,"file":"BondModalMinTierHeader.js","sources":["../../../../src/views/BuyBond/components/BondModalMinTierHeader.tsx"],"sourcesContent":["import Flex from '../../../components/uikit-sdk/Flex'\nimport TooltipBubble from '../../../components/uikit-sdk/TooltipBubble'\nimport { TIERS_NAMES } from '../../../state/tiers/useTierPoints'\nimport { LaunchBondTiers } from '@ape.swap/apeswap-lists'\n\nconst BondModalMinTierHeader = ({ minTier }: { minTier: LaunchBondTiers | null }) => {\n return (\n <>\n {minTier !== null && minTier !== undefined && (\n <Flex\n sx={{\n justifyContent: 'start',\n alignItems: 'center',\n flexDirection: 'row-reverse',\n width: ['100%', '100%', '100%', 'auto', 'auto'],\n }}\n >\n {Object.values(TIERS_NAMES).map((tier, index) => {\n if (index >= minTier) {\n return (\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={<Flex sx={{ justifyContent: 'center' }}>{tier}</Flex>}\n width=\"100px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(1%, -5%)\"\n key={tier}\n >\n <img\n key={`tier-logo-${index}`}\n src={`https://ape.bond/images/launch/${tier.toLowerCase()}.png`}\n alt=\"minTier\"\n style={{ width: '25px', height: '25px', marginLeft: '3px', zIndex: 1 }}\n />\n </TooltipBubble>\n )\n }\n })}\n </Flex>\n )}\n </>\n )\n}\n\nexport default BondModalMinTierHeader\n"],"names":["_jsx","_Fragment"],"mappings":";;;;;AAKA,MAAM,sBAAsB,GAAG,CAAC,EAAE,OAAO,EAAuC,KAAI;AAClF,IAAA,QACEA,GAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EACG,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,KACxCD,GAAA,CAAC,IAAI,EAAA,EACH,EAAE,EAAE;AACF,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,UAAU,EAAE,QAAQ;AACpB,gBAAA,aAAa,EAAE,aAAa;gBAC5B,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;AAChD,aAAA,EAAA,QAAA,EAEA,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;AAC9C,gBAAA,IAAI,KAAK,IAAI,OAAO,EAAE;AACpB,oBAAA,QACEA,GAAA,CAAC,aAAa,EAAA,EACZ,SAAS,EAAC,gBAAgB,EAC1B,IAAI,EAAEA,IAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAG,IAAI,EAAA,CAAQ,EAC3D,KAAK,EAAC,OAAO,EACb,SAAS,EAAC,YAAY,EACtB,YAAY,EAAC,oBAAoB,EAAA,QAAA,EAGjCA,aAEE,GAAG,EAAE,CAAA,+BAAA,EAAkC,IAAI,CAAC,WAAW,EAAE,CAAA,IAAA,CAAM,EAC/D,GAAG,EAAC,SAAS,EACb,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,EAAA,EAHjE,CAAA,UAAA,EAAa,KAAK,CAAA,CAAE,CAIzB,IAPG,IAAI,CAQK;gBAEpB;AACF,YAAA,CAAC,CAAC,EAAA,CACG,CACR,EAAA,CACA;AAEP;;;;"}
@@ -1,19 +1,6 @@
1
1
  import { jsx, jsxs } from 'theme-ui/jsx-runtime';
2
- import Svg from '../../../components/uikit-sdk/Svg/index.js';
3
2
  import Flex from '../../../components/uikit-sdk/Flex/index.js';
4
- import 'theme-ui';
5
- import '../../../components/uikit-sdk/Text/types.js';
6
- import '../../../components/uikit-sdk/Checkbox/types.js';
7
- import '../../../components/uikit-sdk/Skeleton/types.js';
8
- import '../../../components/uikit-sdk/Skeleton/styles.js';
9
- import '../../../components/uikit-sdk/TooltipBubble/index.js';
10
- import 'react';
11
- import 'framer-motion';
12
- import '../../../components/uikit-sdk/Button/types.js';
13
- import '../../../components/uikit-sdk/Svg/types.js';
14
- import '../../../contexts/ModalContext.js';
15
- import '../../FullBondsView/FullBondsView.js';
16
- import '../../../components/uikit-sdk/Select/types.js';
3
+ import Svg from '../../../components/uikit-sdk/Svg/index.js';
17
4
 
18
5
  const ExpandedViewButton = ({ handleNavigation, rightPos }) => {
19
6
  return (jsx(Flex, { sx: { justifyContent: 'flex-end', position: 'absolute', top: '6px', right: rightPos ?? '35px', width: '122px' }, children: jsxs(Flex, { sx: {
@@ -1 +1 @@
1
- {"version":3,"file":"ExpandedViewButton.js","sources":["../../../../src/views/BuyBond/components/ExpandedViewButton.tsx"],"sourcesContent":["import React from 'react'\nimport { Flex, Svg } from '../../../components/uikit-sdk'\n\nconst ExpandedViewButton = ({ handleNavigation, rightPos }: { handleNavigation: () => void; rightPos?: string }) => {\n return (\n <Flex\n sx={{ justifyContent: 'flex-end', position: 'absolute', top: '6px', right: rightPos ?? '35px', width: '122px' }}\n >\n <Flex\n sx={{\n fontSize: '12px',\n fontWeight: 500,\n mr: '15px',\n background: 'primaryButton',\n pl: '10px',\n pr: '4px',\n borderRadius: 'normal',\n alignItems: 'center',\n position: 'relative',\n cursor: 'pointer',\n width: '100%',\n display: 'flex',\n }}\n onClick={handleNavigation}\n >\n Project Info\n <Flex sx={{ ml: '4px' }}>\n <Svg icon=\"expand\" width={20} color=\"white\" />\n </Flex>\n </Flex>\n </Flex>\n )\n}\n\nexport default ExpandedViewButton\n"],"names":["_jsx","_jsxs"],"mappings":";;;;;;;;;;;;;;;;;AAGA,MAAM,kBAAkB,GAAG,CAAC,EAAE,gBAAgB,EAAE,QAAQ,EAAuD,KAAI;AACjH,IAAA,QACEA,GAAA,CAAC,IAAI,EAAA,EACH,EAAE,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,IAAI,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAA,QAAA,EAE/GC,IAAA,CAAC,IAAI,EAAA,EACH,EAAE,EAAE;AACF,gBAAA,QAAQ,EAAE,MAAM;AAChB,gBAAA,UAAU,EAAE,GAAG;AACf,gBAAA,EAAE,EAAE,MAAM;AACV,gBAAA,UAAU,EAAE,eAAe;AAC3B,gBAAA,EAAE,EAAE,MAAM;AACV,gBAAA,EAAE,EAAE,KAAK;AACT,gBAAA,YAAY,EAAE,QAAQ;AACtB,gBAAA,UAAU,EAAE,QAAQ;AACpB,gBAAA,QAAQ,EAAE,UAAU;AACpB,gBAAA,MAAM,EAAE,SAAS;AACjB,gBAAA,KAAK,EAAE,MAAM;AACb,gBAAA,OAAO,EAAE,MAAM;AAChB,aAAA,EACD,OAAO,EAAE,gBAAgB,EAAA,QAAA,EAAA,CAAA,cAAA,EAGzBD,IAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,YACrBA,GAAA,CAAC,GAAG,EAAA,EAAC,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAC,OAAO,EAAA,CAAG,EAAA,CACzC,CAAA,EAAA,CACF,EAAA,CACF;AAEX;;;;"}
1
+ {"version":3,"file":"ExpandedViewButton.js","sources":["../../../../src/views/BuyBond/components/ExpandedViewButton.tsx"],"sourcesContent":["import React from 'react'\nimport Flex from '../../../components/uikit-sdk/Flex'\nimport Svg from '../../../components/uikit-sdk/Svg'\n\nconst ExpandedViewButton = ({ handleNavigation, rightPos }: { handleNavigation: () => void; rightPos?: string }) => {\n return (\n <Flex\n sx={{ justifyContent: 'flex-end', position: 'absolute', top: '6px', right: rightPos ?? '35px', width: '122px' }}\n >\n <Flex\n sx={{\n fontSize: '12px',\n fontWeight: 500,\n mr: '15px',\n background: 'primaryButton',\n pl: '10px',\n pr: '4px',\n borderRadius: 'normal',\n alignItems: 'center',\n position: 'relative',\n cursor: 'pointer',\n width: '100%',\n display: 'flex',\n }}\n onClick={handleNavigation}\n >\n Project Info\n <Flex sx={{ ml: '4px' }}>\n <Svg icon=\"expand\" width={20} color=\"white\" />\n </Flex>\n </Flex>\n </Flex>\n )\n}\n\nexport default ExpandedViewButton\n"],"names":["_jsx","_jsxs"],"mappings":";;;;AAIA,MAAM,kBAAkB,GAAG,CAAC,EAAE,gBAAgB,EAAE,QAAQ,EAAuD,KAAI;AACjH,IAAA,QACEA,GAAA,CAAC,IAAI,EAAA,EACH,EAAE,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,IAAI,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAA,QAAA,EAE/GC,IAAA,CAAC,IAAI,EAAA,EACH,EAAE,EAAE;AACF,gBAAA,QAAQ,EAAE,MAAM;AAChB,gBAAA,UAAU,EAAE,GAAG;AACf,gBAAA,EAAE,EAAE,MAAM;AACV,gBAAA,UAAU,EAAE,eAAe;AAC3B,gBAAA,EAAE,EAAE,MAAM;AACV,gBAAA,EAAE,EAAE,KAAK;AACT,gBAAA,YAAY,EAAE,QAAQ;AACtB,gBAAA,UAAU,EAAE,QAAQ;AACpB,gBAAA,QAAQ,EAAE,UAAU;AACpB,gBAAA,MAAM,EAAE,SAAS;AACjB,gBAAA,KAAK,EAAE,MAAM;AACb,gBAAA,OAAO,EAAE,MAAM;AAChB,aAAA,EACD,OAAO,EAAE,gBAAgB,EAAA,QAAA,EAAA,CAAA,cAAA,EAGzBD,IAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,YACrBA,GAAA,CAAC,GAAG,EAAA,EAAC,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAC,OAAO,EAAA,CAAG,EAAA,CACzC,CAAA,EAAA,CACF,EAAA,CACF;AAEX;;;;"}
@@ -1,21 +1,10 @@
1
1
  import { jsxs, jsx } from 'theme-ui/jsx-runtime';
2
2
  import { useState } from 'react';
3
- import Svg from '../../../../components/uikit-sdk/Svg/index.js';
4
3
  import Flex from '../../../../components/uikit-sdk/Flex/index.js';
5
- import 'theme-ui';
6
- import '../../../../components/uikit-sdk/Text/types.js';
7
- import '../../../../components/uikit-sdk/Checkbox/types.js';
8
- import '../../../../components/uikit-sdk/Skeleton/types.js';
9
- import '../../../../components/uikit-sdk/Skeleton/styles.js';
10
- import '../../../../components/uikit-sdk/TooltipBubble/index.js';
11
- import { AnimatePresence, motion } from 'framer-motion';
12
- import '../../../../components/uikit-sdk/Button/types.js';
13
- import '../../../../components/uikit-sdk/Svg/types.js';
14
- import '../../../../contexts/ModalContext.js';
15
- import '../../../FullBondsView/FullBondsView.js';
16
- import '../../../../components/uikit-sdk/Select/types.js';
4
+ import Svg from '../../../../components/uikit-sdk/Svg/index.js';
17
5
  import useTierPoints, { getUserTier, TIERS_WEIGHT } from '../../../../state/tiers/useTierPoints.js';
18
6
  import { LaunchBondTiers, BillVersion } from '@ape.swap/apeswap-lists';
7
+ import { AnimatePresence, motion } from 'framer-motion';
19
8
  import BonusTable from '../../../Bonds/components/BonusComponents/BonusTable.js';
20
9
  import { getRawBonus, formatUSDNumber } from '../../../../utils/displayHelpers.js';
21
10
  import { findHighestTrueBondPriceUserAgnostic } from '../../findHighestTrueBondPrice.js';