@ape.swap/bonds-sdk 6.2.13-test.1 → 6.2.13-test.2

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 (116) hide show
  1. package/dist/components/ConnectButton/index.js +1 -1
  2. package/dist/components/ConnectButton/index.js.map +1 -1
  3. package/dist/components/ConnectoToVmBanners/ConnectToAptosBanner.js +1 -1
  4. package/dist/components/ConnectoToVmBanners/ConnectToAptosBanner.js.map +1 -1
  5. package/dist/components/ConnectoToVmBanners/ConnectToSolanaBanner.js +1 -8
  6. package/dist/components/ConnectoToVmBanners/ConnectToSolanaBanner.js.map +1 -1
  7. package/dist/components/ConnectoToVmBanners/ConnectToSuiBanner.js +1 -1
  8. package/dist/components/ConnectoToVmBanners/ConnectToSuiBanner.js.map +1 -1
  9. package/dist/components/FavIcons/FavFilter.js +1 -1
  10. package/dist/components/FavIcons/FavFilter.js.map +1 -1
  11. package/dist/components/MenuSelect/MenuSelect.js +1 -5
  12. package/dist/components/MenuSelect/MenuSelect.js.map +1 -1
  13. package/dist/components/NetworkFilter/index.js +10 -9
  14. package/dist/components/NetworkFilter/index.js.map +1 -1
  15. package/dist/components/ProgressBar/ProgressBar.js +1 -1
  16. package/dist/components/ProgressBar/ProgressBar.js.map +1 -1
  17. package/dist/components/Toast/index.js +2 -2
  18. package/dist/components/Toast/index.js.map +1 -1
  19. package/dist/components/TokenInfoAndName/index.js +2 -4
  20. package/dist/components/TokenInfoAndName/index.js.map +1 -1
  21. package/dist/components/TokenSelectorModal/index.js +1 -1
  22. package/dist/components/TokenSelectorModal/index.js.map +1 -1
  23. package/dist/components/TokenSelectorPanel/index.js +3 -3
  24. package/dist/components/TokenSelectorPanel/index.js.map +1 -1
  25. package/dist/components/uikit-sdk/Button/Button.js +1 -1
  26. package/dist/components/uikit-sdk/Button/Button.js.map +1 -1
  27. package/dist/components/uikit-sdk/Button/IconButton.js +1 -2
  28. package/dist/components/uikit-sdk/Button/IconButton.js.map +1 -1
  29. package/dist/components/uikit-sdk/Input/Input.d.ts +2 -6
  30. package/dist/components/uikit-sdk/Input/Input.js +4 -20
  31. package/dist/components/uikit-sdk/Input/Input.js.map +1 -1
  32. package/dist/components/uikit-sdk/Modal/ModalHeader.js +1 -1
  33. package/dist/components/uikit-sdk/Modal/ModalHeader.js.map +1 -1
  34. package/dist/components/uikit-sdk/Modal/index.js +1 -1
  35. package/dist/components/uikit-sdk/Modal/index.js.map +1 -1
  36. package/dist/components/uikit-sdk/Select/Select.js +7 -2
  37. package/dist/components/uikit-sdk/Select/Select.js.map +1 -1
  38. package/dist/components/uikit-sdk/Svg/styles.js +2 -3
  39. package/dist/components/uikit-sdk/Svg/styles.js.map +1 -1
  40. package/dist/components/uikit-sdk/Text/index.d.ts +1 -1
  41. package/dist/components/uikit-sdk/Text/index.js +3 -4
  42. package/dist/components/uikit-sdk/Text/index.js.map +1 -1
  43. package/dist/components/uikit-sdk/Text/types.d.ts +1 -0
  44. package/dist/components/uikit-sdk/Text/types.js.map +1 -1
  45. package/dist/components/uikit-sdk/TooltipBubble/index.js +11 -15
  46. package/dist/components/uikit-sdk/TooltipBubble/index.js.map +1 -1
  47. package/dist/config/constants/variables.d.ts +0 -1
  48. package/dist/config/constants/variables.js +1 -2
  49. package/dist/config/constants/variables.js.map +1 -1
  50. package/dist/providers/index.d.ts +12 -2
  51. package/dist/providers/index.js +2 -8
  52. package/dist/providers/index.js.map +1 -1
  53. package/dist/styles.css +1 -1
  54. package/dist/utils/resolveColor.d.ts +13 -0
  55. package/dist/utils/resolveColor.js +21 -0
  56. package/dist/utils/resolveColor.js.map +1 -0
  57. package/dist/views/Bonds/components/BondRows/BondRow.js +4 -4
  58. package/dist/views/Bonds/components/BondRows/BondRow.js.map +1 -1
  59. package/dist/views/Bonds/components/BondsMenu/BondsMenu.js +1 -1
  60. package/dist/views/Bonds/components/BondsMenu/BondsMenu.js.map +1 -1
  61. package/dist/views/Bonds/components/BonusComponents/BonusComponent.js +1 -1
  62. package/dist/views/Bonds/components/BonusComponents/BonusComponent.js.map +1 -1
  63. package/dist/views/Bonds/index.js +1 -1
  64. package/dist/views/Bonds/index.js.map +1 -1
  65. package/dist/views/BuyBond/BuyBondModal.js +1 -1
  66. package/dist/views/BuyBond/BuyBondModal.js.map +1 -1
  67. package/dist/views/BuyBond/BuyComponent.js +3 -7
  68. package/dist/views/BuyBond/BuyComponent.js.map +1 -1
  69. package/dist/views/BuyBond/BuyComponentAptos.js +1 -1
  70. package/dist/views/BuyBond/BuyComponentAptos.js.map +1 -1
  71. package/dist/views/BuyBond/BuyComponentSolana.js +1 -1
  72. package/dist/views/BuyBond/BuyComponentSolana.js.map +1 -1
  73. package/dist/views/BuyBond/BuyComponentSui.js +1 -1
  74. package/dist/views/BuyBond/BuyComponentSui.js.map +1 -1
  75. package/dist/views/BuyBond/components/BondCards/BondCards.js +3 -3
  76. package/dist/views/BuyBond/components/BondCards/BondCards.js.map +1 -1
  77. package/dist/views/BuyBond/components/BondModalHeader.js +2 -2
  78. package/dist/views/BuyBond/components/BondModalHeader.js.map +1 -1
  79. package/dist/views/BuyBond/components/Estimations.js +3 -4
  80. package/dist/views/BuyBond/components/Estimations.js.map +1 -1
  81. package/dist/views/BuyBond/components/PointsLeftForNextTier/PointsLeftForNextTier.js +9 -15
  82. package/dist/views/BuyBond/components/PointsLeftForNextTier/PointsLeftForNextTier.js.map +1 -1
  83. package/dist/views/BuyBond/components/ProjectDescription.js +1 -1
  84. package/dist/views/BuyBond/components/ProjectDescription.js.map +1 -1
  85. package/dist/views/BuyBond/index.js +1 -1
  86. package/dist/views/BuyBond/index.js.map +1 -1
  87. package/dist/views/BuyBond/utils.js +1 -0
  88. package/dist/views/BuyBond/utils.js.map +1 -1
  89. package/dist/views/FullBondsView/index.js +1 -1
  90. package/dist/views/FullBondsView/index.js.map +1 -1
  91. package/dist/views/ProjectView/index.js +1 -1
  92. package/dist/views/ProjectView/index.js.map +1 -1
  93. package/dist/views/SingleBond/index.js +1 -1
  94. package/dist/views/SingleBond/index.js.map +1 -1
  95. package/dist/views/TransactionModal/TransactionModal.js +1 -3
  96. package/dist/views/TransactionModal/TransactionModal.js.map +1 -1
  97. package/dist/views/YourBonds/YourBonds.js +1 -1
  98. package/dist/views/YourBonds/YourBonds.js.map +1 -1
  99. package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.js +1 -1
  100. package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.js.map +1 -1
  101. package/dist/views/YourBonds/components/ClaimAll/index.js +1 -1
  102. package/dist/views/YourBonds/components/ClaimAll/index.js.map +1 -1
  103. package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.js +1 -1
  104. package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.js.map +1 -1
  105. package/dist/views/YourBonds/index.js +1 -1
  106. package/dist/views/YourBonds/index.js.map +1 -1
  107. package/dist/views/YourBondsModal/YourBondsModal.js +5 -4
  108. package/dist/views/YourBondsModal/YourBondsModal.js.map +1 -1
  109. package/dist/views/YourBondsModal/components/NFTImage/NFTImage.js +1 -1
  110. package/dist/views/YourBondsModal/components/NFTImage/NFTImage.js.map +1 -1
  111. package/dist/views/YourBondsModalYield/YourBondsModalYield.js +1 -1
  112. package/dist/views/YourBondsModalYield/YourBondsModalYield.js.map +1 -1
  113. package/package.json +2 -2
  114. package/dist/theme/colors.d.ts +0 -20
  115. package/dist/theme/colors.js +0 -25
  116. package/dist/theme/colors.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/views/BuyBond/index.tsx"],"sourcesContent":["import React from 'react'\nimport Providers from '../../providers'\nimport { BuyComponentProps } from './BuyComponent'\nimport { SDKPropsDTO, useSDKConfig } from '../../state/useSDKConfig'\nimport BuyBondModal from './BuyBondModal'\n\ninterface Props extends SDKPropsDTO, BuyComponentProps {}\n\nconst BuyBondModalWithProviders: React.FC<Props> = (props) => {\n useSDKConfig(props)\n\n return (\n <Providers theme={props.theme}>\n <BuyBondModal {...props} />\n </Providers>\n )\n}\n\nexport default BuyBondModalWithProviders\n"],"names":["_jsx"],"mappings":";;;;;AAQA,MAAM,yBAAyB,GAAoB,CAAC,KAAK,KAAI;IAC3D,YAAY,CAAC,KAAK,CAAC;AAEnB,IAAA,QACEA,GAAA,CAAC,SAAS,EAAA,EAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAA,QAAA,EAC3BA,IAAC,YAAY,EAAA,EAAA,GAAK,KAAK,EAAA,CAAI,EAAA,CACjB;AAEhB;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/views/BuyBond/index.tsx"],"sourcesContent":["import React from 'react'\nimport Providers from '../../providers'\nimport { BuyComponentProps } from './BuyComponent'\nimport { SDKPropsDTO, useSDKConfig } from '../../state/useSDKConfig'\nimport BuyBondModal from './BuyBondModal'\n\ninterface Props extends SDKPropsDTO, BuyComponentProps {}\n\nconst BuyBondModalWithProviders: React.FC<Props> = (props) => {\n useSDKConfig(props)\n\n return (\n <Providers>\n <BuyBondModal {...props} />\n </Providers>\n )\n}\n\nexport default BuyBondModalWithProviders\n"],"names":["_jsx"],"mappings":";;;;;AAQA,MAAM,yBAAyB,GAAoB,CAAC,KAAK,KAAI;IAC3D,YAAY,CAAC,KAAK,CAAC;IAEnB,QACEA,GAAA,CAAC,SAAS,EAAA,EAAA,QAAA,EACRA,GAAA,CAAC,YAAY,EAAA,EAAA,GAAK,KAAK,EAAA,CAAI,EAAA,CACjB;AAEhB;;;;"}
@@ -20,6 +20,7 @@ function calculateOptimizationData(inputAmount, userPoints = '0', bond, inputTok
20
20
  }
21
21
  const currentTierData = findHighestTrueBondPrice(userPoints, trueBondPrices);
22
22
  const currentTier = getUserTier(userPoints);
23
+ console.log(currentTier);
23
24
  // const bonus_curr = 1 + currentTierData?.bonusWithFee! / 100
24
25
  const currentPoints = BigInt(userPoints);
25
26
  const inputAmountUSD = parseFloat(inputAmount || '0') * inputTokenPriceUsd;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../src/views/BuyBond/utils.ts"],"sourcesContent":["import { BondsData } from '../../types/bonds'\nimport { findHighestTrueBondPrice } from '../../utils/bondPriceHelpers'\nimport { getUserTier, NewTiers, TIERS_NAMES } from '../../state/tiers/useTierPoints'\nimport { ChainId } from '@ape.swap/apeswap-lists'\n\nexport function calculateOptimizationData(\n inputAmount: string,\n userPoints = '0',\n bond: BondsData,\n inputTokenPriceUsd = 0,\n abondPriceUsd?: number,\n) {\n if (bond.chainId === ChainId.SUI || bond.chainId === ChainId.APTOS || bond.chainId === ChainId.SOL) return null\n\n const { trueBondPrices } = bond\n\n if (!trueBondPrices) {\n console.log('no truebondprices')\n return null\n }\n if (!abondPriceUsd) {\n console.log('No Abond Price')\n return null\n }\n\n if (inputTokenPriceUsd <= 0) {\n console.log('missing token price')\n return null\n }\n\n const currentTierData = findHighestTrueBondPrice(userPoints, trueBondPrices)\n const currentTier = getUserTier(userPoints)!\n\n // const bonus_curr = 1 + currentTierData?.bonusWithFee! / 100\n const currentPoints = BigInt(userPoints)\n\n const inputAmountUSD = parseFloat(inputAmount || '0') * inputTokenPriceUsd\n\n const tierBoostRate = (bond.tierBoostRate ?? 0) / 100\n const tierBoostUsd = inputAmountUSD * tierBoostRate\n const feeInAbond = tierBoostUsd / abondPriceUsd\n const tierBoostPoints = feeInAbond * 4\n const currentPrice = parseFloat(currentTierData?.trueBondPrice!)\n\n const dataToReturn: Record<\n number,\n {\n tier: number\n tierName: string\n isProfitable: boolean\n tierCostUSD: number\n minBreakevenWithFeeUSD: number\n necessaryPointsToUpgrade: number\n }\n > = {}\n\n for (const tierData of trueBondPrices) {\n if (tierData.boost <= currentTier) continue\n // @ts-ignore\n const tierName = TIERS_NAMES[tierData.boost]\n\n const pointsNeededWei = BigInt(tierData.points) - currentPoints\n const abondNeededRaw = Math.ceil(Number(pointsNeededWei) / 1e18 / 4)\n\n const tierCostUsd = abondNeededRaw * abondPriceUsd\n const newPrice = parseFloat(tierData.trueBondPrice)\n const priceDiff = (currentPrice - newPrice) / currentPrice\n\n // const newBonusWithThisTier = tierData.bonusWithFee\n\n // const bonus_new = 1 + newBonusWithThisTier / 100\n\n // const denominator = bonus_new - bonus_curr + tierBoostRate\n const denominator = (1 - tierBoostRate) * priceDiff + tierBoostRate\n const minBreakeven = denominator > 0 ? tierCostUsd / denominator : Infinity\n const minBreakevenWithFee = minBreakeven * 1.05 + 0.1\n\n // for debugging purposes this two should match\n // const originalOutputUsd = minBreakeven * bonus_curr\n // const outputAfterUpgrade = (minBreakeven - (tierCostUsd - minBreakeven * tierBoostRate)) * bonus_new\n\n const isProfitable = inputAmountUSD > (minBreakevenWithFee ?? 0)\n\n dataToReturn[tierData.boost] = {\n tier: tierData.boost as NewTiers,\n tierName,\n isProfitable,\n tierCostUSD: tierCostUsd,\n minBreakevenWithFeeUSD: minBreakevenWithFee,\n necessaryPointsToUpgrade: abondNeededRaw * 4,\n }\n }\n\n const profitableTiers = Object.values(dataToReturn).filter((item) => item.isProfitable)\n const highestProfitableTier = profitableTiers[profitableTiers.length - 1]\n\n return { tierBoostPoints, highestProfitableTier, data: Object.values(dataToReturn) }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sources":["../../../src/views/BuyBond/utils.ts"],"sourcesContent":["import { BondsData } from '../../types/bonds'\nimport { findHighestTrueBondPrice } from '../../utils/bondPriceHelpers'\nimport { getUserTier, NewTiers, TIERS_NAMES } from '../../state/tiers/useTierPoints'\nimport { ChainId } from '@ape.swap/apeswap-lists'\n\nexport function calculateOptimizationData(\n inputAmount: string,\n userPoints = '0',\n bond: BondsData,\n inputTokenPriceUsd = 0,\n abondPriceUsd?: number,\n) {\n if (bond.chainId === ChainId.SUI || bond.chainId === ChainId.APTOS || bond.chainId === ChainId.SOL) return null\n\n const { trueBondPrices } = bond\n\n if (!trueBondPrices) {\n console.log('no truebondprices')\n return null\n }\n if (!abondPriceUsd) {\n console.log('No Abond Price')\n return null\n }\n\n if (inputTokenPriceUsd <= 0) {\n console.log('missing token price')\n return null\n }\n\n const currentTierData = findHighestTrueBondPrice(userPoints, trueBondPrices)\n const currentTier = getUserTier(userPoints)!\n console.log(currentTier)\n\n // const bonus_curr = 1 + currentTierData?.bonusWithFee! / 100\n const currentPoints = BigInt(userPoints)\n\n const inputAmountUSD = parseFloat(inputAmount || '0') * inputTokenPriceUsd\n\n const tierBoostRate = (bond.tierBoostRate ?? 0) / 100\n const tierBoostUsd = inputAmountUSD * tierBoostRate\n const feeInAbond = tierBoostUsd / abondPriceUsd\n const tierBoostPoints = feeInAbond * 4\n const currentPrice = parseFloat(currentTierData?.trueBondPrice!)\n\n const dataToReturn: Record<\n number,\n {\n tier: number\n tierName: string\n isProfitable: boolean\n tierCostUSD: number\n minBreakevenWithFeeUSD: number\n necessaryPointsToUpgrade: number\n }\n > = {}\n\n for (const tierData of trueBondPrices) {\n if (tierData.boost <= currentTier) continue\n // @ts-ignore\n const tierName = TIERS_NAMES[tierData.boost]\n\n const pointsNeededWei = BigInt(tierData.points) - currentPoints\n const abondNeededRaw = Math.ceil(Number(pointsNeededWei) / 1e18 / 4)\n\n const tierCostUsd = abondNeededRaw * abondPriceUsd\n const newPrice = parseFloat(tierData.trueBondPrice)\n const priceDiff = (currentPrice - newPrice) / currentPrice\n\n // const newBonusWithThisTier = tierData.bonusWithFee\n\n // const bonus_new = 1 + newBonusWithThisTier / 100\n\n // const denominator = bonus_new - bonus_curr + tierBoostRate\n const denominator = (1 - tierBoostRate) * priceDiff + tierBoostRate\n const minBreakeven = denominator > 0 ? tierCostUsd / denominator : Infinity\n const minBreakevenWithFee = minBreakeven * 1.05 + 0.1\n\n // for debugging purposes this two should match\n // const originalOutputUsd = minBreakeven * bonus_curr\n // const outputAfterUpgrade = (minBreakeven - (tierCostUsd - minBreakeven * tierBoostRate)) * bonus_new\n\n const isProfitable = inputAmountUSD > (minBreakevenWithFee ?? 0)\n\n dataToReturn[tierData.boost] = {\n tier: tierData.boost as NewTiers,\n tierName,\n isProfitable,\n tierCostUSD: tierCostUsd,\n minBreakevenWithFeeUSD: minBreakevenWithFee,\n necessaryPointsToUpgrade: abondNeededRaw * 4,\n }\n }\n\n const profitableTiers = Object.values(dataToReturn).filter((item) => item.isProfitable)\n const highestProfitableTier = profitableTiers[profitableTiers.length - 1]\n\n return { tierBoostPoints, highestProfitableTier, data: Object.values(dataToReturn) }\n}\n"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { useSDKConfig } from '../../state/useSDKConfig.js';
5
5
 
6
6
  const FullBondsViewWithProviders = (props) => {
7
7
  useSDKConfig(props);
8
- return (jsx(Providers, { theme: props?.theme, children: jsx(FullBondsView, {}) }));
8
+ return (jsx(Providers, { children: jsx(FullBondsView, {}) }));
9
9
  };
10
10
 
11
11
  export { FullBondsViewWithProviders as default };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/views/FullBondsView/index.tsx"],"sourcesContent":["import React from 'react'\nimport Providers from '../../providers'\nimport FullBondsView from './FullBondsView'\nimport { SDKPropsDTO, useSDKConfig } from '../../state/useSDKConfig'\n\nconst FullBondsViewWithProviders: React.FC<SDKPropsDTO> = (props) => {\n useSDKConfig(props)\n return (\n <Providers theme={props?.theme}>\n <FullBondsView />\n </Providers>\n )\n}\n\nexport default FullBondsViewWithProviders\n"],"names":["_jsx"],"mappings":";;;;;AAKA,MAAM,0BAA0B,GAA0B,CAAC,KAAK,KAAI;IAClE,YAAY,CAAC,KAAK,CAAC;AACnB,IAAA,QACEA,GAAA,CAAC,SAAS,EAAA,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,YAC5BA,GAAA,CAAC,aAAa,EAAA,EAAA,CAAG,EAAA,CACP;AAEhB;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/views/FullBondsView/index.tsx"],"sourcesContent":["import React from 'react'\nimport Providers from '../../providers'\nimport FullBondsView from './FullBondsView'\nimport { SDKPropsDTO, useSDKConfig } from '../../state/useSDKConfig'\n\nconst FullBondsViewWithProviders: React.FC<SDKPropsDTO> = (props) => {\n useSDKConfig(props)\n return (\n <Providers>\n <FullBondsView />\n </Providers>\n )\n}\n\nexport default FullBondsViewWithProviders\n"],"names":["_jsx"],"mappings":";;;;;AAKA,MAAM,0BAA0B,GAA0B,CAAC,KAAK,KAAI;IAClE,YAAY,CAAC,KAAK,CAAC;IACnB,QACEA,IAAC,SAAS,EAAA,EAAA,QAAA,EACRA,IAAC,aAAa,EAAA,EAAA,CAAG,EAAA,CACP;AAEhB;;;;"}
@@ -5,7 +5,7 @@ import ProjectView from './ProjectView.js';
5
5
 
6
6
  const ProjectViewWithProviders = (props) => {
7
7
  useSDKConfig(props);
8
- return (jsx(Providers, { theme: props.theme, children: jsx(ProjectView, { ...props }) }));
8
+ return (jsx(Providers, { children: jsx(ProjectView, { ...props }) }));
9
9
  };
10
10
 
11
11
  export { ProjectViewWithProviders as default };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/views/ProjectView/index.tsx"],"sourcesContent":["import React from 'react'\nimport Providers from '../../providers'\nimport { SDKPropsDTO, useSDKConfig } from '../../state/useSDKConfig'\nimport ProjectView, { ProjectViewProps } from './ProjectView'\n\ninterface Props extends SDKPropsDTO, ProjectViewProps {}\n\nconst ProjectViewWithProviders: React.FC<Props> = (props) => {\n useSDKConfig(props)\n\n return (\n <Providers theme={props.theme}>\n <ProjectView {...props} />\n </Providers>\n )\n}\n\nexport default ProjectViewWithProviders\n"],"names":["_jsx"],"mappings":";;;;;AAOA,MAAM,wBAAwB,GAAoB,CAAC,KAAK,KAAI;IAC1D,YAAY,CAAC,KAAK,CAAC;AAEnB,IAAA,QACEA,GAAA,CAAC,SAAS,EAAA,EAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAA,QAAA,EAC3BA,IAAC,WAAW,EAAA,EAAA,GAAK,KAAK,EAAA,CAAI,EAAA,CAChB;AAEhB;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/views/ProjectView/index.tsx"],"sourcesContent":["import React from 'react'\nimport Providers from '../../providers'\nimport { SDKPropsDTO, useSDKConfig } from '../../state/useSDKConfig'\nimport ProjectView, { ProjectViewProps } from './ProjectView'\n\ninterface Props extends SDKPropsDTO, ProjectViewProps {}\n\nconst ProjectViewWithProviders: React.FC<Props> = (props) => {\n useSDKConfig(props)\n\n return (\n <Providers>\n <ProjectView {...props} />\n </Providers>\n )\n}\n\nexport default ProjectViewWithProviders\n"],"names":["_jsx"],"mappings":";;;;;AAOA,MAAM,wBAAwB,GAAoB,CAAC,KAAK,KAAI;IAC1D,YAAY,CAAC,KAAK,CAAC;IAEnB,QACEA,GAAA,CAAC,SAAS,EAAA,EAAA,QAAA,EACRA,GAAA,CAAC,WAAW,EAAA,EAAA,GAAK,KAAK,EAAA,CAAI,EAAA,CAChB;AAEhB;;;;"}
@@ -5,7 +5,7 @@ import SingleBond from './SingleBond.js';
5
5
 
6
6
  const SingleBondWithProviders = (props) => {
7
7
  useSDKConfig(props);
8
- return (jsx(Providers, { theme: props.theme, children: jsx(SingleBond, { ...props }) }));
8
+ return (jsx(Providers, { children: jsx(SingleBond, { ...props }) }));
9
9
  };
10
10
 
11
11
  export { SingleBondWithProviders as default };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/views/SingleBond/index.tsx"],"sourcesContent":["import React from 'react'\nimport Providers from '../../providers'\nimport { SDKPropsDTO, useSDKConfig } from '../../state/useSDKConfig'\nimport SingleBond, { SingleBondProps } from './SingleBond'\n\ninterface Props extends SDKPropsDTO, SingleBondProps {}\n\nconst SingleBondWithProviders: React.FC<Props> = (props) => {\n useSDKConfig(props)\n return (\n <Providers theme={props.theme}>\n <SingleBond {...props} />\n </Providers>\n )\n}\n\nexport default SingleBondWithProviders\n"],"names":["_jsx"],"mappings":";;;;;AAOA,MAAM,uBAAuB,GAAoB,CAAC,KAAK,KAAI;IACzD,YAAY,CAAC,KAAK,CAAC;AACnB,IAAA,QACEA,GAAA,CAAC,SAAS,EAAA,EAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAA,QAAA,EAC3BA,IAAC,UAAU,EAAA,EAAA,GAAK,KAAK,EAAA,CAAI,EAAA,CACf;AAEhB;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/views/SingleBond/index.tsx"],"sourcesContent":["import React from 'react'\nimport Providers from '../../providers'\nimport { SDKPropsDTO, useSDKConfig } from '../../state/useSDKConfig'\nimport SingleBond, { SingleBondProps } from './SingleBond'\n\ninterface Props extends SDKPropsDTO, SingleBondProps {}\n\nconst SingleBondWithProviders: React.FC<Props> = (props) => {\n useSDKConfig(props)\n return (\n <Providers>\n <SingleBond {...props} />\n </Providers>\n )\n}\n\nexport default SingleBondWithProviders\n"],"names":["_jsx"],"mappings":";;;;;AAOA,MAAM,uBAAuB,GAAoB,CAAC,KAAK,KAAI;IACzD,YAAY,CAAC,KAAK,CAAC;IACnB,QACEA,GAAA,CAAC,SAAS,EAAA,EAAA,QAAA,EACRA,GAAA,CAAC,UAAU,EAAA,EAAA,GAAK,KAAK,EAAA,CAAI,EAAA,CACf;AAEhB;;;;"}
@@ -157,9 +157,7 @@ const TransactionModal = ({ onDismiss, txChain, approvalState, approveCallback,
157
157
  borderColor: 'var(--ape-color-success)',
158
158
  background: 'rgba(56, 166, 17, 0.13)',
159
159
  color: 'var(--ape-color-success)',
160
- }, children: [bondData.earnToken.symbol.toLowerCase() === 'ireet'
161
- ? '3.00'
162
- : trueBondPrice?.bonusWithFee?.toFixed(2), ' ', "% Bonus"] })] })] }), jsxs(Flex, { className: "ape:w-full ape:justify-between ape:mt-[10px]", children: [jsxs(Flex, { className: "ape:p-[10px] ape:rounded-normal ape:bg-white3 ape:items-center ape:w-[45%]", children: [isArray(splited) ? (jsx(TokenImage, { symbol: splited[0], symbol2: splited[1], size: 20, chain: txChain })) : (jsx(TokenImage, { symbol: getSymbol(inputToken, txChain), size: 20, chain: txChain })), jsx(Flex, { className: "ape:text-[14px] ape:font-semibold ape:mx-[5px]", children: formatNumberSI(inputValue, 4) ?? '0' }), jsxs(Flex, { className: "ape:text-[12px] ape:font-normal", style: { color: 'var(--ape-color-text-disabled-button)' }, children: ["(", inputTokenPrice?.price && inputValue
160
+ }, children: [trueBondPrice?.bonusWithFee?.toFixed(2), " % Bonus"] })] })] }), jsxs(Flex, { className: "ape:w-full ape:justify-between ape:mt-[10px]", children: [jsxs(Flex, { className: "ape:p-[10px] ape:rounded-normal ape:bg-white3 ape:items-center ape:w-[45%]", children: [isArray(splited) ? (jsx(TokenImage, { symbol: splited[0], symbol2: splited[1], size: 20, chain: txChain })) : (jsx(TokenImage, { symbol: getSymbol(inputToken, txChain), size: 20, chain: txChain })), jsx(Flex, { className: "ape:text-[14px] ape:font-semibold ape:mx-[5px]", children: formatNumberSI(inputValue, 4) ?? '0' }), jsxs(Flex, { className: "ape:text-[12px] ape:font-normal", style: { color: 'var(--ape-color-text-disabled-button)' }, children: ["(", inputTokenPrice?.price && inputValue
163
161
  ? `$${formatNumberSI(inputTokenPrice?.price * parseFloat(inputValue))}`
164
162
  : '0.00', ")"] })] }), jsx(Arrow, { direction: 'right', width: '10px' }), jsxs(Flex, { className: "ape:p-[10px] ape:rounded-normal ape:bg-white3 ape:items-center ape:w-[45%]", children: [jsx(TokenImage, { symbol: getSymbol(bondData.earnToken, txChain), chain: txChain, size: 20 }), jsx(Flex, { className: "ape:text-[14px] ape:font-semibold ape:mx-[5px]", children: formatNumberSI(estimatedOutputAmount, 4) }), jsxs(Flex, { className: "ape:text-[12px] ape:font-normal", style: { color: 'var(--ape-color-text-disabled-button)' }, children: ["($", formatNumberSI(estimatedOutputUSD), ")"] })] })] })] })), jsx(Flex, { className: "ape:mt-[20px]", children: hasToSwitchChain ? (jsxs(Button, { load: loadingSwitchChain, disabled: loadingSwitchChain, onClick: handleSwitchChain, fullWidth: true, children: ["switch to ", NETWORK_LABEL[txChain]] })) : !hasToApprove ? (jsx(Button, { load: loadingTx || verifyingTx, disabled: loadingTx || verifyingTx, onClick: txCallback, fullWidth: true, children: "buy" })) : (jsx(Button, { className: "action-button", load: approvalState === ApprovalState.PENDING || approveLoading, disabled: approvalState === ApprovalState.PENDING || approveLoading, onClick: handleApprove, fullWidth: true, children: "Approve" })) })] })] }));
165
163
  };
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionModal.js","sources":["../../../src/views/TransactionModal/TransactionModal.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useRef, useState } from 'react'\nimport Button from '../../components/uikit-sdk/Button/Button'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport Modal from '../../components/uikit-sdk/Modal'\nimport StepBubble from '../../components/StepBubble'\nimport LoadingSpinner from '../../components/LoadingSpinner'\nimport { useSwitchChain } from 'wagmi'\nimport { NETWORK_LABEL } from '../../config/constants/chains'\nimport ModalHeader from '../../components/uikit-sdk/Modal/ModalHeader'\nimport { ApprovalState } from '../../state/allowance/useAllowance'\nimport {\n discountEarnTokenPriceForUser,\n earnTokenPrice,\n getPayoutAmount,\n getVestingTermsString,\n} from '../../utils/displayHelpers'\nimport TokenImage from '../../components/uikit-sdk/TokenImage'\nimport useTierPoints, { getUserTier, TIERS_WEIGHT } from '../../state/tiers/useTierPoints'\nimport { BondsData } from '../../types/bonds'\nimport useCurrencyPrice from '../../state/price/useCurrencyPrice'\nimport { ChainId, Token } from '@ape.swap/apeswap-lists'\nimport { useMonitorTx } from '../../hooks/useMonitorTx'\nimport { getSymbol } from '../../utils/getNativeTicker'\nimport isArray from 'lodash-es/isArray.js'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport { getTimePeriods } from '../../utils/getTimePeriods'\nimport { formatNumberSI } from '../../utils/formatNumber'\nimport { findHighestTrueBondPrice } from '../../utils/bondPriceHelpers'\nimport useEVMAccount from '../../hooks/accounts/useEVMAccount'\nimport Arrow from '../../components/uikit-sdk/Svg/Icons/Arrow'\n\nconst stepDelay = 1000\n\nconst TransactionModal = ({\n onDismiss,\n txChain,\n approvalState,\n approveCallback,\n loadingTx,\n txCallback,\n bondData,\n inputToken,\n inputValue,\n depositAmount,\n buyTxHash,\n rateChanged,\n}: {\n onDismiss?: () => void\n txChain?: number\n approvalState?: ApprovalState\n approveCallback?: () => Promise<void>\n loadingTx?: boolean\n txCallback?: () => void\n bondData: BondsData\n inputToken: Token | 'NATIVE' | undefined\n inputValue: string\n depositAmount: string\n buyTxHash?: string\n rateChanged: boolean\n}) => {\n // Hooks\n const { chain } = useEVMAccount()\n const { data: tierPointsState } = useTierPoints()\n const { promotionalPoints } = tierPointsState || {}\n const inputTokenPrice = useCurrencyPrice(inputToken ?? null, txChain as ChainId)\n const { switchChainAsync } = useSwitchChain()\n const SDKConfig = useSDKConfig()\n\n // Flow\n const initialChain = useMemo(\n () => chain?.id,\n /* eslint-disable react-hooks/exhaustive-deps */\n [],\n )\n const showSwitchChainFlow = txChain !== initialChain\n // const showSwitchChainFlow = true\n const [hasToSwitchChain, setHasToSwitchChain] = useState<boolean>(showSwitchChainFlow)\n const [hasToApprove, setHasToApprove] = useState<boolean>(true)\n\n // Loading state\n const [loadingSwitchChain, setLoadingSwitchChain] = useState<boolean>(false)\n const [approveLoading, setApproveLoading] = useState<boolean>(false)\n\n // Values for regular bonds\n const estimatedOutputAmount = getPayoutAmount(bondData, depositAmount, promotionalPoints ?? '0')\n const estimatedOutputUSD = estimatedOutputAmount * parseFloat(bondData?.payoutTokenPrice ?? '0')\n const preTGEEstimatedOutput = parseFloat(inputValue) / (bondData?.initPrice ?? 0)\n const preTGEEstimatedOutputUSD = preTGEEstimatedOutput * (bondData?.tgePrice ?? 0)\n\n const handleSwitchChain = () => {\n setLoadingSwitchChain(true)\n switchChainAsync({ chainId: txChain! })\n .then(() => {\n setHasToSwitchChain(false)\n setApproveLoading(true)\n })\n .catch((e) => console.error(e))\n .finally(() => {\n setLoadingSwitchChain(false)\n })\n }\n\n const handleApprove = () => {\n setApproveLoading(true)\n approveCallback?.().catch(() => {\n setApproveLoading(false)\n })\n }\n\n // Switch Chain Step #1\n const hasTriggeredSwitch = useRef(false)\n useEffect(() => {\n if (hasToSwitchChain && !hasTriggeredSwitch.current) {\n setLoadingSwitchChain(true)\n const delay = setTimeout(() => {\n hasTriggeredSwitch.current = true\n handleSwitchChain()\n }, stepDelay)\n return () => clearTimeout(delay)\n }\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [hasToSwitchChain])\n\n // Trigger approve Step #2\n const hasTriggeredApproval = useRef(false)\n useEffect(() => {\n if (!hasToSwitchChain || !showSwitchChainFlow) {\n if (approvalState === ApprovalState.APPROVED) {\n setApproveLoading(true)\n const delay = setTimeout(() => {\n setApproveLoading(false)\n setHasToApprove(false)\n }, stepDelay)\n return () => clearTimeout(delay)\n } else if (!hasTriggeredApproval.current && approvalState !== ApprovalState.PENDING) {\n setApproveLoading(true)\n hasTriggeredApproval.current = true\n handleApprove()\n }\n }\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [hasToSwitchChain, approvalState])\n\n // Execute main tx Step #3\n const hasTriggeredTx = useRef(false)\n useEffect(() => {\n if (!hasToSwitchChain && !hasToApprove && !hasTriggeredTx.current) {\n hasTriggeredTx.current = true\n if (rateChanged) {\n onDismiss?.()\n } else {\n setApproveLoading(false)\n txCallback?.()\n }\n }\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [hasToSwitchChain, hasToApprove, txCallback])\n\n // Close modal if a hash is found. Final Step\n const { data: txReceipt, isSuccess, isLoading: verifyingTx } = useMonitorTx(buyTxHash, txChain)\n useEffect(() => {\n if (buyTxHash && txReceipt) {\n if (isSuccess) {\n onDismiss?.()\n }\n }\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [buyTxHash, txReceipt, isSuccess])\n\n const currentStep: number = showSwitchChainFlow ? (hasToSwitchChain ? 1 : hasToApprove ? 2 : 3) : hasToApprove ? 1 : 2\n const splited = typeof inputToken !== 'string' ? inputToken?.symbol?.split('-') : undefined\n const trueBondPrice = findHighestTrueBondPrice(\n // @ts-ignore\n TIERS_WEIGHT[getUserTier(promotionalPoints)] ?? '0',\n bondData?.trueBondPrices,\n )\n\n return (\n <Modal>\n <ModalHeader onDismiss={onDismiss} hideDivider />\n <Flex className=\"ape:flex-col ape:w-full\">\n <Flex className=\"ape:w-full ape:items-center ape:p-[10px]\">\n {showSwitchChainFlow && (\n <StepBubble number={1} title={'Switch Chain'} currentStep={currentStep} loading={loadingSwitchChain} />\n )}\n <StepBubble\n number={showSwitchChainFlow ? 2 : 1}\n title={'Approve'}\n currentStep={currentStep}\n loading={approveLoading || approvalState === ApprovalState.PENDING}\n />\n <StepBubble\n number={showSwitchChainFlow ? 3 : 2}\n title={'Buy'}\n currentStep={currentStep}\n loading={loadingTx || verifyingTx}\n hideBar\n />\n </Flex>\n <Flex className=\"ape:w-full ape:mt-[40px] ape:justify-center\">\n <LoadingSpinner\n isLoading={\n loadingSwitchChain ||\n approveLoading ||\n loadingTx ||\n verifyingTx ||\n approvalState === ApprovalState.PENDING\n }\n size={100}\n />\n </Flex>\n <Flex className=\"ape:w-full ape:justify-center ape:mt-[10px]\">\n {hasToSwitchChain\n ? loadingSwitchChain\n ? 'Switching Chain...'\n : 'Switch Chain'\n : hasToApprove\n ? approveLoading || approvalState === ApprovalState.PENDING\n ? 'Approving...'\n : 'Approve Contract'\n : loadingTx || verifyingTx\n ? 'Buying...'\n : 'Buy'}\n </Flex>\n {bondData.billType === 'fcfs' ? (\n <Flex className=\"ape:w-full ape:flex-col ape:mt-[20px]\">\n <Flex\n className=\"ape:w-full ape:bg-white3 ape:p-[5px] ape:rounded-normal ape:justify-center\"\n style={{ color: 'var(--ape-color-text-disabled-button)' }}\n >\n {bondData.underlyingEarnToken?.symbol || bondData.earnToken?.symbol}\n {!bondData.yieldBond && <>({getTimePeriods(bondData?.vestingTerm).months} Mo)</>}\n </Flex>\n <Flex className=\"ape:w-full ape:bg-white3 ape:p-[10px] ape:rounded-normal ape:mt-[10px]\">\n <TokenImage\n symbol={bondData.underlyingEarnToken?.symbol || bondData.earnToken?.symbol}\n size={40}\n chain={txChain}\n />\n <Flex className=\"ape:w-full ape:justify-between ape:items-center\">\n <Flex className=\"ape:flex-col ape:text-[12px] ape:ml-[10px]\">\n {bondData.yieldBond ? (\n <>{bondData.underlyingEarnToken?.symbol || bondData.earnToken?.symbol}</>\n ) : (\n <>\n <Flex\n className=\"ape:font-normal ape:line-through\"\n style={{ color: 'var(--ape-color-text-disabled-button)' }}\n >\n ${bondData.tgePrice}\n </Flex>\n <Flex className=\"ape:font-semibold\" style={{ color: 'green' }}>\n ${bondData.initPrice}\n </Flex>\n </>\n )}\n </Flex>\n <Flex\n className=\"ape:p-[5px] ape:rounded-normal ape:border ape:leading-[18px]\"\n style={{\n borderColor: 'var(--ape-color-success)',\n background: 'rgba(56, 166, 17, 0.13)',\n color: 'var(--ape-color-success)',\n }}\n >\n {bondData.yieldBond\n ? `${bondData.yieldData?.apr.toFixed()} % APR`\n : `${trueBondPrice?.bonusWithFee?.toFixed(2)} % Bonus`}\n </Flex>\n </Flex>\n </Flex>\n <Flex className=\"ape:w-full ape:justify-between ape:mt-[10px]\">\n <Flex className=\"ape:p-[10px] ape:rounded-normal ape:bg-white3 ape:items-center ape:w-[45%]\">\n {isArray(splited) ? (\n <TokenImage symbol={splited[0]} symbol2={splited[1]} size={20} chain={txChain} />\n ) : (\n <TokenImage symbol={getSymbol(inputToken, txChain)} size={20} chain={txChain} />\n )}\n <Flex className=\"ape:text-[14px] ape:font-semibold ape:mx-[5px]\">\n {formatNumberSI(inputValue, 4) ?? '0'}\n </Flex>\n <Flex\n className=\"ape:text-[12px] ape:font-normal\"\n style={{ color: 'var(--ape-color-text-disabled-button)' }}\n >\n (\n {inputTokenPrice?.price && inputValue\n ? `$${formatNumberSI(inputTokenPrice?.price * parseFloat(inputValue))}`\n : '0.00'}\n )\n </Flex>\n </Flex>\n <Arrow direction={'right'} width={'10px'} />\n <Flex className=\"ape:p-[10px] ape:rounded-normal ape:bg-white3 ape:items-center ape:w-[45%] ape:gap-[5px]\">\n <TokenImage\n symbol={\n bondData.yieldBond\n ? bondData.underlyingEarnToken?.symbol || bondData.earnToken?.symbol\n : getSymbol(bondData.earnToken, txChain)\n }\n chain={txChain}\n size={20}\n />\n {bondData.yieldBond ? (\n <Flex className=\"ape:text-[14px] ape:font-semibold\">\n ${formatNumberSI(preTGEEstimatedOutputUSD)}\n </Flex>\n ) : (\n <>\n <Flex className=\"ape:text-[14px] ape:font-semibold ape:mx-[5px]\">\n {formatNumberSI(preTGEEstimatedOutput, 4)}\n </Flex>\n <Flex\n className=\"ape:text-[12px] ape:font-normal\"\n style={{ color: 'var(--ape-color-text-disabled-button)' }}\n >\n (${formatNumberSI(preTGEEstimatedOutputUSD)})\n </Flex>\n </>\n )}\n </Flex>\n </Flex>\n </Flex>\n ) : (\n <Flex className=\"ape:w-full ape:flex-col ape:mt-[20px]\">\n <Flex\n className=\"ape:w-full ape:bg-white3 ape:p-[5px] ape:rounded-normal ape:justify-center\"\n style={{ color: 'var(--ape-color-text-disabled-button)' }}\n >\n {bondData.earnToken.symbol} ({getVestingTermsString(bondData)})\n </Flex>\n <Flex className=\"ape:w-full ape:bg-white3 ape:p-[10px] ape:rounded-normal ape:mt-[10px]\">\n <TokenImage symbol={bondData.earnToken.symbol} size={40} chain={txChain} />\n <Flex className=\"ape:w-full ape:justify-between ape:items-center\">\n <Flex className=\"ape:flex-col ape:text-[12px] ape:ml-[10px]\">\n <Flex\n className=\"ape:font-normal ape:line-through\"\n style={{ color: 'var(--ape-color-text-disabled-button)' }}\n >\n ${earnTokenPrice(bondData)}\n </Flex>\n <Flex className=\"ape:font-semibold\" style={{ color: 'green' }}>\n $\n {discountEarnTokenPriceForUser(\n bondData,\n SDKConfig.useTiers,\n getUserTier(promotionalPoints!) ?? undefined,\n )}\n </Flex>\n </Flex>\n <Flex\n className=\"ape:p-[5px] ape:rounded-normal ape:border ape:leading-[18px]\"\n style={{\n borderColor: 'var(--ape-color-success)',\n background: 'rgba(56, 166, 17, 0.13)',\n color: 'var(--ape-color-success)',\n }}\n >\n {bondData.earnToken.symbol.toLowerCase() === 'ireet'\n ? '3.00'\n : trueBondPrice?.bonusWithFee?.toFixed(2)}{' '}\n % Bonus\n </Flex>\n </Flex>\n </Flex>\n <Flex className=\"ape:w-full ape:justify-between ape:mt-[10px]\">\n <Flex className=\"ape:p-[10px] ape:rounded-normal ape:bg-white3 ape:items-center ape:w-[45%]\">\n {isArray(splited) ? (\n <TokenImage symbol={splited[0]} symbol2={splited[1]} size={20} chain={txChain} />\n ) : (\n <TokenImage symbol={getSymbol(inputToken, txChain)} size={20} chain={txChain} />\n )}\n <Flex className=\"ape:text-[14px] ape:font-semibold ape:mx-[5px]\">\n {formatNumberSI(inputValue, 4) ?? '0'}\n </Flex>\n <Flex\n className=\"ape:text-[12px] ape:font-normal\"\n style={{ color: 'var(--ape-color-text-disabled-button)' }}\n >\n (\n {inputTokenPrice?.price && inputValue\n ? `$${formatNumberSI(inputTokenPrice?.price * parseFloat(inputValue))}`\n : '0.00'}\n )\n </Flex>\n </Flex>\n <Arrow direction={'right'} width={'10px'} />\n <Flex className=\"ape:p-[10px] ape:rounded-normal ape:bg-white3 ape:items-center ape:w-[45%]\">\n <TokenImage symbol={getSymbol(bondData.earnToken, txChain)} chain={txChain} size={20} />\n <Flex className=\"ape:text-[14px] ape:font-semibold ape:mx-[5px]\">\n {formatNumberSI(estimatedOutputAmount, 4)}\n </Flex>\n <Flex\n className=\"ape:text-[12px] ape:font-normal\"\n style={{ color: 'var(--ape-color-text-disabled-button)' }}\n >\n (${formatNumberSI(estimatedOutputUSD)})\n </Flex>\n </Flex>\n </Flex>\n </Flex>\n )}\n\n {/*\n\n Action Buttons\n\n */}\n <Flex className=\"ape:mt-[20px]\">\n {hasToSwitchChain ? (\n <Button load={loadingSwitchChain} disabled={loadingSwitchChain} onClick={handleSwitchChain} fullWidth>\n switch to {NETWORK_LABEL[txChain!]}\n </Button>\n ) : !hasToApprove ? (\n <Button load={loadingTx || verifyingTx} disabled={loadingTx || verifyingTx} onClick={txCallback} fullWidth>\n buy\n </Button>\n ) : (\n <Button\n className=\"action-button\"\n load={approvalState === ApprovalState.PENDING || approveLoading}\n disabled={approvalState === ApprovalState.PENDING || approveLoading}\n onClick={handleApprove}\n fullWidth\n >\n Approve\n </Button>\n )}\n </Flex>\n </Flex>\n </Modal>\n )\n}\n\nexport default TransactionModal\n"],"names":["_jsxs","_jsx","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"TransactionModal.js","sources":["../../../src/views/TransactionModal/TransactionModal.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useRef, useState } from 'react'\nimport Button from '../../components/uikit-sdk/Button/Button'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport Modal from '../../components/uikit-sdk/Modal'\nimport StepBubble from '../../components/StepBubble'\nimport LoadingSpinner from '../../components/LoadingSpinner'\nimport { useSwitchChain } from 'wagmi'\nimport { NETWORK_LABEL } from '../../config/constants/chains'\nimport ModalHeader from '../../components/uikit-sdk/Modal/ModalHeader'\nimport { ApprovalState } from '../../state/allowance/useAllowance'\nimport {\n discountEarnTokenPriceForUser,\n earnTokenPrice,\n getPayoutAmount,\n getVestingTermsString,\n} from '../../utils/displayHelpers'\nimport TokenImage from '../../components/uikit-sdk/TokenImage'\nimport useTierPoints, { getUserTier, TIERS_WEIGHT } from '../../state/tiers/useTierPoints'\nimport { BondsData } from '../../types/bonds'\nimport useCurrencyPrice from '../../state/price/useCurrencyPrice'\nimport { ChainId, Token } from '@ape.swap/apeswap-lists'\nimport { useMonitorTx } from '../../hooks/useMonitorTx'\nimport { getSymbol } from '../../utils/getNativeTicker'\nimport isArray from 'lodash-es/isArray.js'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport { getTimePeriods } from '../../utils/getTimePeriods'\nimport { formatNumberSI } from '../../utils/formatNumber'\nimport { findHighestTrueBondPrice } from '../../utils/bondPriceHelpers'\nimport useEVMAccount from '../../hooks/accounts/useEVMAccount'\nimport Arrow from '../../components/uikit-sdk/Svg/Icons/Arrow'\n\nconst stepDelay = 1000\n\nconst TransactionModal = ({\n onDismiss,\n txChain,\n approvalState,\n approveCallback,\n loadingTx,\n txCallback,\n bondData,\n inputToken,\n inputValue,\n depositAmount,\n buyTxHash,\n rateChanged,\n}: {\n onDismiss?: () => void\n txChain?: number\n approvalState?: ApprovalState\n approveCallback?: () => Promise<void>\n loadingTx?: boolean\n txCallback?: () => void\n bondData: BondsData\n inputToken: Token | 'NATIVE' | undefined\n inputValue: string\n depositAmount: string\n buyTxHash?: string\n rateChanged: boolean\n}) => {\n // Hooks\n const { chain } = useEVMAccount()\n const { data: tierPointsState } = useTierPoints()\n const { promotionalPoints } = tierPointsState || {}\n const inputTokenPrice = useCurrencyPrice(inputToken ?? null, txChain as ChainId)\n const { switchChainAsync } = useSwitchChain()\n const SDKConfig = useSDKConfig()\n\n // Flow\n const initialChain = useMemo(\n () => chain?.id,\n /* eslint-disable react-hooks/exhaustive-deps */\n [],\n )\n const showSwitchChainFlow = txChain !== initialChain\n // const showSwitchChainFlow = true\n const [hasToSwitchChain, setHasToSwitchChain] = useState<boolean>(showSwitchChainFlow)\n const [hasToApprove, setHasToApprove] = useState<boolean>(true)\n\n // Loading state\n const [loadingSwitchChain, setLoadingSwitchChain] = useState<boolean>(false)\n const [approveLoading, setApproveLoading] = useState<boolean>(false)\n\n // Values for regular bonds\n const estimatedOutputAmount = getPayoutAmount(bondData, depositAmount, promotionalPoints ?? '0')\n const estimatedOutputUSD = estimatedOutputAmount * parseFloat(bondData?.payoutTokenPrice ?? '0')\n const preTGEEstimatedOutput = parseFloat(inputValue) / (bondData?.initPrice ?? 0)\n const preTGEEstimatedOutputUSD = preTGEEstimatedOutput * (bondData?.tgePrice ?? 0)\n\n const handleSwitchChain = () => {\n setLoadingSwitchChain(true)\n switchChainAsync({ chainId: txChain! })\n .then(() => {\n setHasToSwitchChain(false)\n setApproveLoading(true)\n })\n .catch((e) => console.error(e))\n .finally(() => {\n setLoadingSwitchChain(false)\n })\n }\n\n const handleApprove = () => {\n setApproveLoading(true)\n approveCallback?.().catch(() => {\n setApproveLoading(false)\n })\n }\n\n // Switch Chain Step #1\n const hasTriggeredSwitch = useRef(false)\n useEffect(() => {\n if (hasToSwitchChain && !hasTriggeredSwitch.current) {\n setLoadingSwitchChain(true)\n const delay = setTimeout(() => {\n hasTriggeredSwitch.current = true\n handleSwitchChain()\n }, stepDelay)\n return () => clearTimeout(delay)\n }\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [hasToSwitchChain])\n\n // Trigger approve Step #2\n const hasTriggeredApproval = useRef(false)\n useEffect(() => {\n if (!hasToSwitchChain || !showSwitchChainFlow) {\n if (approvalState === ApprovalState.APPROVED) {\n setApproveLoading(true)\n const delay = setTimeout(() => {\n setApproveLoading(false)\n setHasToApprove(false)\n }, stepDelay)\n return () => clearTimeout(delay)\n } else if (!hasTriggeredApproval.current && approvalState !== ApprovalState.PENDING) {\n setApproveLoading(true)\n hasTriggeredApproval.current = true\n handleApprove()\n }\n }\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [hasToSwitchChain, approvalState])\n\n // Execute main tx Step #3\n const hasTriggeredTx = useRef(false)\n useEffect(() => {\n if (!hasToSwitchChain && !hasToApprove && !hasTriggeredTx.current) {\n hasTriggeredTx.current = true\n if (rateChanged) {\n onDismiss?.()\n } else {\n setApproveLoading(false)\n txCallback?.()\n }\n }\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [hasToSwitchChain, hasToApprove, txCallback])\n\n // Close modal if a hash is found. Final Step\n const { data: txReceipt, isSuccess, isLoading: verifyingTx } = useMonitorTx(buyTxHash, txChain)\n useEffect(() => {\n if (buyTxHash && txReceipt) {\n if (isSuccess) {\n onDismiss?.()\n }\n }\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [buyTxHash, txReceipt, isSuccess])\n\n const currentStep: number = showSwitchChainFlow ? (hasToSwitchChain ? 1 : hasToApprove ? 2 : 3) : hasToApprove ? 1 : 2\n const splited = typeof inputToken !== 'string' ? inputToken?.symbol?.split('-') : undefined\n const trueBondPrice = findHighestTrueBondPrice(\n // @ts-ignore\n TIERS_WEIGHT[getUserTier(promotionalPoints)] ?? '0',\n bondData?.trueBondPrices,\n )\n\n return (\n <Modal>\n <ModalHeader onDismiss={onDismiss} hideDivider />\n <Flex className=\"ape:flex-col ape:w-full\">\n <Flex className=\"ape:w-full ape:items-center ape:p-[10px]\">\n {showSwitchChainFlow && (\n <StepBubble number={1} title={'Switch Chain'} currentStep={currentStep} loading={loadingSwitchChain} />\n )}\n <StepBubble\n number={showSwitchChainFlow ? 2 : 1}\n title={'Approve'}\n currentStep={currentStep}\n loading={approveLoading || approvalState === ApprovalState.PENDING}\n />\n <StepBubble\n number={showSwitchChainFlow ? 3 : 2}\n title={'Buy'}\n currentStep={currentStep}\n loading={loadingTx || verifyingTx}\n hideBar\n />\n </Flex>\n <Flex className=\"ape:w-full ape:mt-[40px] ape:justify-center\">\n <LoadingSpinner\n isLoading={\n loadingSwitchChain ||\n approveLoading ||\n loadingTx ||\n verifyingTx ||\n approvalState === ApprovalState.PENDING\n }\n size={100}\n />\n </Flex>\n <Flex className=\"ape:w-full ape:justify-center ape:mt-[10px]\">\n {hasToSwitchChain\n ? loadingSwitchChain\n ? 'Switching Chain...'\n : 'Switch Chain'\n : hasToApprove\n ? approveLoading || approvalState === ApprovalState.PENDING\n ? 'Approving...'\n : 'Approve Contract'\n : loadingTx || verifyingTx\n ? 'Buying...'\n : 'Buy'}\n </Flex>\n {bondData.billType === 'fcfs' ? (\n <Flex className=\"ape:w-full ape:flex-col ape:mt-[20px]\">\n <Flex\n className=\"ape:w-full ape:bg-white3 ape:p-[5px] ape:rounded-normal ape:justify-center\"\n style={{ color: 'var(--ape-color-text-disabled-button)' }}\n >\n {bondData.underlyingEarnToken?.symbol || bondData.earnToken?.symbol}\n {!bondData.yieldBond && <>({getTimePeriods(bondData?.vestingTerm).months} Mo)</>}\n </Flex>\n <Flex className=\"ape:w-full ape:bg-white3 ape:p-[10px] ape:rounded-normal ape:mt-[10px]\">\n <TokenImage\n symbol={bondData.underlyingEarnToken?.symbol || bondData.earnToken?.symbol}\n size={40}\n chain={txChain}\n />\n <Flex className=\"ape:w-full ape:justify-between ape:items-center\">\n <Flex className=\"ape:flex-col ape:text-[12px] ape:ml-[10px]\">\n {bondData.yieldBond ? (\n <>{bondData.underlyingEarnToken?.symbol || bondData.earnToken?.symbol}</>\n ) : (\n <>\n <Flex\n className=\"ape:font-normal ape:line-through\"\n style={{ color: 'var(--ape-color-text-disabled-button)' }}\n >\n ${bondData.tgePrice}\n </Flex>\n <Flex className=\"ape:font-semibold\" style={{ color: 'green' }}>\n ${bondData.initPrice}\n </Flex>\n </>\n )}\n </Flex>\n <Flex\n className=\"ape:p-[5px] ape:rounded-normal ape:border ape:leading-[18px]\"\n style={{\n borderColor: 'var(--ape-color-success)',\n background: 'rgba(56, 166, 17, 0.13)',\n color: 'var(--ape-color-success)',\n }}\n >\n {bondData.yieldBond\n ? `${bondData.yieldData?.apr.toFixed()} % APR`\n : `${trueBondPrice?.bonusWithFee?.toFixed(2)} % Bonus`}\n </Flex>\n </Flex>\n </Flex>\n <Flex className=\"ape:w-full ape:justify-between ape:mt-[10px]\">\n <Flex className=\"ape:p-[10px] ape:rounded-normal ape:bg-white3 ape:items-center ape:w-[45%]\">\n {isArray(splited) ? (\n <TokenImage symbol={splited[0]} symbol2={splited[1]} size={20} chain={txChain} />\n ) : (\n <TokenImage symbol={getSymbol(inputToken, txChain)} size={20} chain={txChain} />\n )}\n <Flex className=\"ape:text-[14px] ape:font-semibold ape:mx-[5px]\">\n {formatNumberSI(inputValue, 4) ?? '0'}\n </Flex>\n <Flex\n className=\"ape:text-[12px] ape:font-normal\"\n style={{ color: 'var(--ape-color-text-disabled-button)' }}\n >\n (\n {inputTokenPrice?.price && inputValue\n ? `$${formatNumberSI(inputTokenPrice?.price * parseFloat(inputValue))}`\n : '0.00'}\n )\n </Flex>\n </Flex>\n <Arrow direction={'right'} width={'10px'} />\n <Flex className=\"ape:p-[10px] ape:rounded-normal ape:bg-white3 ape:items-center ape:w-[45%] ape:gap-[5px]\">\n <TokenImage\n symbol={\n bondData.yieldBond\n ? bondData.underlyingEarnToken?.symbol || bondData.earnToken?.symbol\n : getSymbol(bondData.earnToken, txChain)\n }\n chain={txChain}\n size={20}\n />\n {bondData.yieldBond ? (\n <Flex className=\"ape:text-[14px] ape:font-semibold\">${formatNumberSI(preTGEEstimatedOutputUSD)}</Flex>\n ) : (\n <>\n <Flex className=\"ape:text-[14px] ape:font-semibold ape:mx-[5px]\">\n {formatNumberSI(preTGEEstimatedOutput, 4)}\n </Flex>\n <Flex\n className=\"ape:text-[12px] ape:font-normal\"\n style={{ color: 'var(--ape-color-text-disabled-button)' }}\n >\n (${formatNumberSI(preTGEEstimatedOutputUSD)})\n </Flex>\n </>\n )}\n </Flex>\n </Flex>\n </Flex>\n ) : (\n <Flex className=\"ape:w-full ape:flex-col ape:mt-[20px]\">\n <Flex\n className=\"ape:w-full ape:bg-white3 ape:p-[5px] ape:rounded-normal ape:justify-center\"\n style={{ color: 'var(--ape-color-text-disabled-button)' }}\n >\n {bondData.earnToken.symbol} ({getVestingTermsString(bondData)})\n </Flex>\n <Flex className=\"ape:w-full ape:bg-white3 ape:p-[10px] ape:rounded-normal ape:mt-[10px]\">\n <TokenImage symbol={bondData.earnToken.symbol} size={40} chain={txChain} />\n <Flex className=\"ape:w-full ape:justify-between ape:items-center\">\n <Flex className=\"ape:flex-col ape:text-[12px] ape:ml-[10px]\">\n <Flex\n className=\"ape:font-normal ape:line-through\"\n style={{ color: 'var(--ape-color-text-disabled-button)' }}\n >\n ${earnTokenPrice(bondData)}\n </Flex>\n <Flex className=\"ape:font-semibold\" style={{ color: 'green' }}>\n $\n {discountEarnTokenPriceForUser(\n bondData,\n SDKConfig.useTiers,\n getUserTier(promotionalPoints!) ?? undefined,\n )}\n </Flex>\n </Flex>\n <Flex\n className=\"ape:p-[5px] ape:rounded-normal ape:border ape:leading-[18px]\"\n style={{\n borderColor: 'var(--ape-color-success)',\n background: 'rgba(56, 166, 17, 0.13)',\n color: 'var(--ape-color-success)',\n }}\n >\n {trueBondPrice?.bonusWithFee?.toFixed(2)} % Bonus\n </Flex>\n </Flex>\n </Flex>\n <Flex className=\"ape:w-full ape:justify-between ape:mt-[10px]\">\n <Flex className=\"ape:p-[10px] ape:rounded-normal ape:bg-white3 ape:items-center ape:w-[45%]\">\n {isArray(splited) ? (\n <TokenImage symbol={splited[0]} symbol2={splited[1]} size={20} chain={txChain} />\n ) : (\n <TokenImage symbol={getSymbol(inputToken, txChain)} size={20} chain={txChain} />\n )}\n <Flex className=\"ape:text-[14px] ape:font-semibold ape:mx-[5px]\">\n {formatNumberSI(inputValue, 4) ?? '0'}\n </Flex>\n <Flex\n className=\"ape:text-[12px] ape:font-normal\"\n style={{ color: 'var(--ape-color-text-disabled-button)' }}\n >\n (\n {inputTokenPrice?.price && inputValue\n ? `$${formatNumberSI(inputTokenPrice?.price * parseFloat(inputValue))}`\n : '0.00'}\n )\n </Flex>\n </Flex>\n <Arrow direction={'right'} width={'10px'} />\n <Flex className=\"ape:p-[10px] ape:rounded-normal ape:bg-white3 ape:items-center ape:w-[45%]\">\n <TokenImage symbol={getSymbol(bondData.earnToken, txChain)} chain={txChain} size={20} />\n <Flex className=\"ape:text-[14px] ape:font-semibold ape:mx-[5px]\">\n {formatNumberSI(estimatedOutputAmount, 4)}\n </Flex>\n <Flex\n className=\"ape:text-[12px] ape:font-normal\"\n style={{ color: 'var(--ape-color-text-disabled-button)' }}\n >\n (${formatNumberSI(estimatedOutputUSD)})\n </Flex>\n </Flex>\n </Flex>\n </Flex>\n )}\n\n {/*\n\n Action Buttons\n\n */}\n <Flex className=\"ape:mt-[20px]\">\n {hasToSwitchChain ? (\n <Button load={loadingSwitchChain} disabled={loadingSwitchChain} onClick={handleSwitchChain} fullWidth>\n switch to {NETWORK_LABEL[txChain!]}\n </Button>\n ) : !hasToApprove ? (\n <Button load={loadingTx || verifyingTx} disabled={loadingTx || verifyingTx} onClick={txCallback} fullWidth>\n buy\n </Button>\n ) : (\n <Button\n className=\"action-button\"\n load={approvalState === ApprovalState.PENDING || approveLoading}\n disabled={approvalState === ApprovalState.PENDING || approveLoading}\n onClick={handleApprove}\n fullWidth\n >\n Approve\n </Button>\n )}\n </Flex>\n </Flex>\n </Modal>\n )\n}\n\nexport default TransactionModal\n"],"names":["_jsxs","_jsx","_Fragment"],"mappings":"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"}
@@ -164,7 +164,7 @@ const YourBonds = ({ showOnly }) => {
164
164
  if (bond.bond?.chainId === ChainId.SUI)
165
165
  return jsx(UserBondRowSui, { bill: bond }, `sui-${bond?.id}`);
166
166
  return jsx(UserBondRow, { bill: bond }, `${bond?.id}-${bond?.billNftAddress}`);
167
- })] })) : inputValue !== '' || !chainFilterOption.includes('All Chains') ? (jsx(Flex, { className: "placeholder-monkey-wrapper ape:w-full ape:flex-col ape:pt-[100px] ape:pb-[100px] ape:bg-white2 ape:items-center ape:rounded-[10px] ape:mt-[15px] ape:justify-center ape:h-[400px]", children: jsx(PlaceholderMonkey, { text: 'No results, change filters.' }) })) : hasFetched && !hasBonds ? (jsx(Flex, { className: "placeholder-monkey-wrapper ape:w-full ape:flex-col ape:pt-[100px] ape:pb-[100px] ape:bg-white2 ape:items-center ape:rounded-[10px] ape:mt-[15px] ape:justify-center ape:h-[400px]", children: jsx(PlaceholderMonkey, { text: `You do not own any ${[account && 'EVM', solanaAccount && 'SOL', aptosAccount && 'Aptos', suiAccount && 'Sui'].filter(Boolean).join(' nor ') || 'EVM'} Bonds.` }) })) : (jsx(Flex, { className: "placeholder-monkey-wrapper ape:w-full ape:flex-col ape:pt-[100px] ape:pb-[100px] ape:bg-white2 ape:items-center ape:rounded-[10px] ape:mt-[15px] ape:justify-center ape:h-[400px]", children: jsx(Spinner, { size: 100 }) })), jsxs(Flex, { className: "ape:w-full ape:flex-col ape:xl:flex-row ape:gap-[10px] ape:my-[10px]", children: [!solanaAccount && SDKConfig.chains?.includes(ChainId.SOL) && (jsx(Flex, { className: "ape:w-full ape:mt-[5px]", children: jsx(ConnectToSolanaCard, {}) })), !aptosAccount && SDKConfig.chains?.includes(ChainId.APTOS) && (jsx(Flex, { className: "ape:w-full ape:mt-[5px]", children: jsx(ConnectToAptosBanner, {}) })), !suiAccount && SDKConfig.chains?.includes(ChainId.SUI) && (jsx(Flex, { className: "ape:w-full ape:mt-[5px]", children: jsx(ConnectToSuiBanner, {}) })), !account && (jsx(Flex, { className: "ape:w-full ape:mt-[5px]", children: jsx(ConnectToEVMBanner, {}) }))] })] }));
167
+ })] })) : inputValue !== '' || !chainFilterOption.includes('All Chains') ? (jsx(Flex, { className: "placeholder-monkey-wrapper ape:w-full ape:flex-col ape:pt-[100px] ape:pb-[100px] ape:bg-white2 ape:items-center ape:rounded-[10px] ape:mt-[15px] ape:justify-center ape:h-[400px]", children: jsx(PlaceholderMonkey, { text: 'No results, change filters.' }) })) : hasFetched && !hasBonds ? (jsx(Flex, { className: "placeholder-monkey-wrapper ape:w-full ape:flex-col ape:pt-[100px] ape:pb-[100px] ape:bg-white2 ape:items-center ape:rounded-[10px] ape:mt-[15px] ape:justify-center ape:h-[400px]", children: jsx(PlaceholderMonkey, { text: `You do not own any ${[account && 'EVM', solanaAccount && 'SOL', aptosAccount && 'Aptos', suiAccount && 'Sui'].filter(Boolean).join(' nor ') || 'EVM'} Bonds.` }) })) : (jsx(Flex, { className: "placeholder-monkey-wrapper ape:w-full ape:flex-col ape:pt-[100px] ape:pb-[100px] ape:bg-white2 ape:items-center ape:rounded-[10px] ape:mt-[15px] ape:justify-center ape:h-[400px]", children: jsx(Spinner, { size: 100 }) })), jsxs(Flex, { className: "ape:w-full ape:flex-col ape:xl:flex-row ape:gap-[10px] ape:my-[10px]", children: [!account && (jsx(Flex, { className: "ape:w-full ape:mt-[5px]", children: jsx(ConnectToEVMBanner, {}) })), !solanaAccount && SDKConfig.chains?.includes(ChainId.SOL) && (jsx(Flex, { className: "ape:w-full ape:mt-[5px]", children: jsx(ConnectToSolanaCard, {}) })), !aptosAccount && SDKConfig.chains?.includes(ChainId.APTOS) && (jsx(Flex, { className: "ape:w-full ape:mt-[5px]", children: jsx(ConnectToAptosBanner, {}) })), !suiAccount && SDKConfig.chains?.includes(ChainId.SUI) && (jsx(Flex, { className: "ape:w-full ape:mt-[5px]", children: jsx(ConnectToSuiBanner, {}) }))] })] }));
168
168
  };
169
169
 
170
170
  export { YourBonds as default };
@@ -1 +1 @@
1
- {"version":3,"file":"YourBonds.js","sources":["../../../src/views/YourBonds/YourBonds.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from 'react'\nimport Spinner from '../../components/uikit-sdk/Spinner'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport { UserBill } from '../../types/yourbonds'\nimport { claimableUSD, pendingUSD, getTimeLeftForFullyVested } from '../../utils/displayHelpers'\nimport useUserBonds from '../../state/bonds/useUserBonds'\nimport useTokenPrices from '../../state/tokenPrices/useTokenPrices'\nimport PlaceholderMonkey from '../../components/PlaceholderMonkey'\nimport useChainFilterOption from '../../state/chainFilterOption/useChainFilterOption'\nimport YourBondsMenu from './components/YourBondsMenu/YourBondsMenu'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport ConnectToSolanaBanner from '../../components/ConnectoToVmBanners/ConnectToSolanaBanner'\nimport ConnectToEVMBanner from '../../components/ConnectoToVmBanners/ConnectToEvmBanner'\nimport ConnectToAptosBanner from '../../components/ConnectoToVmBanners/ConnectToAptosBanner'\nimport ConnectToSuiBanner from '../../components/ConnectoToVmBanners/ConnectToSuiBanner'\nimport {\n UserBondRowPreTGE,\n UserBondRowSolana,\n UserBondRowAptos,\n UserBondRowSui,\n UserBondRow,\n} from './components/UserBondRow'\nimport useUserBondsPreTGE from '../../state/bonds/useUserBondsPreTGE'\nimport useEVMAccount from '../../hooks/accounts/useEVMAccount'\nimport useSOLAccount from '../../hooks/accounts/useSOLAccount'\nimport useAPTAccount from '../../hooks/accounts/useAPTAccount'\nimport useSUIAccount from '../../hooks/accounts/useSUIAccount'\nimport useBondsData from '../../state/bonds/useBondsData'\nimport UserBondRowYield from './components/UserBondRow/UserBondRowYield'\n\ntype SortDirection = 'asc' | 'desc'\nexport type SortableKeys = 'claimable' | 'pending' | 'terms'\n\nconst YourBonds = ({ showOnly }: { showOnly?: string }) => {\n useTokenPrices()\n useBondsData()\n // Hooks\n const SDKConfig = useSDKConfig()\n const { address: account } = useEVMAccount()\n const { publicKey: solanaAccount } = useSOLAccount()\n const { address: aptosAccount } = useAPTAccount()\n const { address: suiAccount } = useSUIAccount()\n const { data: userBonds, isFetched: userBondsFetched } = useUserBonds()\n const { data: chainFilterOption, setChainFilterOption } = useChainFilterOption()\n const { data: preTGEUserBonds, isFetched: preTGEFetched } = useUserBondsPreTGE()\n const hasFetched = userBondsFetched && (preTGEFetched || !account)\n\n // State\n const [sortConfig, setSortConfig] = useState<{ key: SortableKeys; direction: SortDirection } | null>({\n key: 'claimable',\n direction: 'desc',\n })\n\n const [inputValue, setInputValue] = useState('')\n const filterOptions = ['CLAIMABLE', 'ALL']\n const [filterOption, setFilterOption] = useState(filterOptions[0])\n\n const preTGEBondsToRender = preTGEUserBonds\n ?.filter((userBond) => {\n if (!userBond?.accountInfo?.hasRedeemed) {\n return parseFloat(userBond?.accountInfo?.depositAmount ?? '0') > 0\n } else if (userBond.yieldBond && parseFloat(userBond?.accountInfo?.depositAmount ?? '0') > 0) {\n return (userBond?.yieldData?.depositedAssets ?? 0) > 0\n } else {\n return userBond?.userOwnedBillsData?.payout !== '0'\n }\n })\n .filter(\n (userBond) =>\n chainFilterOption.includes(userBond.chainId?.toString() ?? '') || chainFilterOption.includes('All Chains'),\n )\n .filter((userBond) => userBond.earnToken.symbol?.toLowerCase().includes(inputValue.toLowerCase()))\n\n const handleSort = (key: SortableKeys) => {\n let direction: SortDirection = 'desc'\n if (sortConfig?.key === key && sortConfig?.direction === 'desc') {\n direction = 'asc'\n }\n setSortConfig({ key, direction })\n }\n\n const bondsToRender = useMemo((): UserBill[] => {\n if (!userBonds) return []\n let bondsToReturn = userBonds\n\n // Handle Filtering //\n\n bondsToReturn = bondsToReturn?.filter((bond) => {\n return bond.bond?.onlyPartner ? bond.bond.bondPartner === SDKConfig.bondPartner : true\n })\n\n if (SDKConfig.bondPartner) {\n bondsToReturn = bondsToReturn?.filter((bond) => {\n return bond.bond?.bondPartner === SDKConfig.bondPartner\n })\n }\n\n // Filter Single Token View\n if (showOnly) {\n bondsToReturn = bondsToReturn?.filter((bond) => {\n return bond?.bond?.earnToken?.symbol?.toLowerCase() === showOnly.toLowerCase()\n })\n }\n\n // Filter by search query\n if (inputValue !== '') {\n bondsToReturn = bondsToReturn?.filter((bond) => {\n return [\n bond?.bond?.showcaseTokenName?.toLowerCase(),\n bond?.bond?.earnToken?.symbol?.toLowerCase(),\n bond?.bond?.lpToken?.symbol?.toLowerCase(),\n ].some((property) => property?.includes(inputValue.toLowerCase()))\n })\n }\n\n // Filter by chain selector\n if (!chainFilterOption.includes('All Chains')) {\n bondsToReturn = bondsToReturn?.filter((bond) => {\n return chainFilterOption.includes(bond?.bond?.chainId?.toString() ?? '')\n })\n }\n\n // Filter by filter option (claimable or all buttons)\n if (filterOption === 'CLAIMABLE') {\n bondsToReturn = bondsToReturn?.filter((bond) => {\n if (bond?.bond?.vestingCliff) {\n return bond.payout !== '0'\n }\n return bond.pendingRewards !== '0'\n })\n }\n\n // Handle sorting //\n if (sortConfig !== null) {\n bondsToReturn = bondsToReturn?.sort((a, b) => {\n let aValue: number, bValue: number\n\n if (sortConfig.key === 'claimable') {\n aValue = claimableUSD(a)\n bValue = claimableUSD(b)\n } else if (sortConfig.key === 'pending') {\n aValue = pendingUSD(a)\n bValue = pendingUSD(b)\n } else if (sortConfig.key === 'terms') {\n // little nasty trick to have the lowest time (closest to being fully vested) show up first when sorting ascending\n const aRemainingTime = getTimeLeftForFullyVested(b)\n const bRemainingTime = getTimeLeftForFullyVested(a)\n\n aValue = aRemainingTime\n bValue = bRemainingTime\n } else {\n aValue = a[sortConfig.key]\n bValue = b[sortConfig.key]\n }\n\n if (aValue < bValue) {\n return sortConfig.direction === 'asc' ? -1 : 1\n }\n if (aValue > bValue) {\n return sortConfig.direction === 'asc' ? 1 : -1\n }\n return 0\n })\n }\n return bondsToReturn\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [userBonds, sortConfig, inputValue, chainFilterOption, filterOption, userBondsFetched])\n\n const handleFilterOption = useCallback((newOption: string) => {\n setFilterOption(newOption)\n }, [])\n\n const hasBonds = useMemo(() => {\n return (bondsToRender && bondsToRender.length > 0) || !!preTGEBondsToRender?.length\n }, [bondsToRender, preTGEBondsToRender])\n\n return (\n <Flex className=\"yourbonds table-container ape:w-full ape:flex ape:flex-col ape:px-[10px]\">\n {!showOnly && (\n <YourBondsMenu\n chainFilterOption={chainFilterOption}\n setChainFilterOption={setChainFilterOption}\n filterOptions={filterOptions}\n filterOption={filterOption}\n setFilterOption={handleFilterOption}\n setInputValue={setInputValue}\n inputValue={inputValue}\n handleSort={handleSort}\n />\n )}\n {!account && !solanaAccount && !aptosAccount && !suiAccount ? (\n <Flex className=\"placeholder-monkey-wrapper ape:w-full ape:flex-col ape:pt-[100px] ape:pb-[100px] ape:bg-white2 ape:items-center ape:rounded-[10px] ape:mt-[15px] ape:justify-center ape:h-[400px]\">\n <PlaceholderMonkey text={'You are not connected.'} />\n </Flex>\n ) : hasBonds && hasFetched ? (\n <>\n {preTGEBondsToRender?.map((userBond, index) => {\n return userBond.yieldBond ? (\n <UserBondRowYield userBond={userBond} key={index} />\n ) : (\n <UserBondRowPreTGE userBond={userBond} key={index} />\n )\n })}\n {bondsToRender.map((bond) => {\n if (bond.bond?.chainId === ChainId.SOL)\n return <UserBondRowSolana bill={bond} key={`${bond?.billNftAddress}-${bond.id}`} />\n if (bond.bond?.chainId === ChainId.APTOS) return <UserBondRowAptos bill={bond} key={`aptos-${bond?.id}`} />\n if (bond.bond?.chainId === ChainId.SUI) return <UserBondRowSui bill={bond} key={`sui-${bond?.id}`} />\n return <UserBondRow bill={bond} key={`${bond?.id}-${bond?.billNftAddress}`} />\n })}\n </>\n ) : inputValue !== '' || !chainFilterOption.includes('All Chains') ? (\n <Flex className=\"placeholder-monkey-wrapper ape:w-full ape:flex-col ape:pt-[100px] ape:pb-[100px] ape:bg-white2 ape:items-center ape:rounded-[10px] ape:mt-[15px] ape:justify-center ape:h-[400px]\">\n <PlaceholderMonkey text={'No results, change filters.'} />\n </Flex>\n ) : hasFetched && !hasBonds ? (\n <Flex className=\"placeholder-monkey-wrapper ape:w-full ape:flex-col ape:pt-[100px] ape:pb-[100px] ape:bg-white2 ape:items-center ape:rounded-[10px] ape:mt-[15px] ape:justify-center ape:h-[400px]\">\n <PlaceholderMonkey\n text={`You do not own any ${[account && 'EVM', solanaAccount && 'SOL', aptosAccount && 'Aptos', suiAccount && 'Sui'].filter(Boolean).join(' nor ') || 'EVM'} Bonds.`}\n />\n </Flex>\n ) : (\n <Flex className=\"placeholder-monkey-wrapper ape:w-full ape:flex-col ape:pt-[100px] ape:pb-[100px] ape:bg-white2 ape:items-center ape:rounded-[10px] ape:mt-[15px] ape:justify-center ape:h-[400px]\">\n <Spinner size={100} />\n </Flex>\n )}\n <Flex className=\"ape:w-full ape:flex-col ape:xl:flex-row ape:gap-[10px] ape:my-[10px]\">\n {!solanaAccount && SDKConfig.chains?.includes(ChainId.SOL) && (\n <Flex className=\"ape:w-full ape:mt-[5px]\">\n <ConnectToSolanaBanner />\n </Flex>\n )}\n {!aptosAccount && SDKConfig.chains?.includes(ChainId.APTOS) && (\n <Flex className=\"ape:w-full ape:mt-[5px]\">\n <ConnectToAptosBanner />\n </Flex>\n )}\n {!suiAccount && SDKConfig.chains?.includes(ChainId.SUI) && (\n <Flex className=\"ape:w-full ape:mt-[5px]\">\n <ConnectToSuiBanner />\n </Flex>\n )}\n {!account && (\n <Flex className=\"ape:w-full ape:mt-[5px]\">\n <ConnectToEVMBanner />\n </Flex>\n )}\n </Flex>\n </Flex>\n )\n}\n\nexport default YourBonds\n"],"names":["_jsxs","_jsx","_Fragment","ConnectToSolanaBanner"],"mappings":"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"}
1
+ {"version":3,"file":"YourBonds.js","sources":["../../../src/views/YourBonds/YourBonds.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from 'react'\nimport Spinner from '../../components/uikit-sdk/Spinner'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport { UserBill } from '../../types/yourbonds'\nimport { claimableUSD, pendingUSD, getTimeLeftForFullyVested } from '../../utils/displayHelpers'\nimport useUserBonds from '../../state/bonds/useUserBonds'\nimport useTokenPrices from '../../state/tokenPrices/useTokenPrices'\nimport PlaceholderMonkey from '../../components/PlaceholderMonkey'\nimport useChainFilterOption from '../../state/chainFilterOption/useChainFilterOption'\nimport YourBondsMenu from './components/YourBondsMenu/YourBondsMenu'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport ConnectToSolanaBanner from '../../components/ConnectoToVmBanners/ConnectToSolanaBanner'\nimport ConnectToEVMBanner from '../../components/ConnectoToVmBanners/ConnectToEvmBanner'\nimport ConnectToAptosBanner from '../../components/ConnectoToVmBanners/ConnectToAptosBanner'\nimport ConnectToSuiBanner from '../../components/ConnectoToVmBanners/ConnectToSuiBanner'\nimport {\n UserBondRowPreTGE,\n UserBondRowSolana,\n UserBondRowAptos,\n UserBondRowSui,\n UserBondRow,\n} from './components/UserBondRow'\nimport useUserBondsPreTGE from '../../state/bonds/useUserBondsPreTGE'\nimport useEVMAccount from '../../hooks/accounts/useEVMAccount'\nimport useSOLAccount from '../../hooks/accounts/useSOLAccount'\nimport useAPTAccount from '../../hooks/accounts/useAPTAccount'\nimport useSUIAccount from '../../hooks/accounts/useSUIAccount'\nimport useBondsData from '../../state/bonds/useBondsData'\nimport UserBondRowYield from './components/UserBondRow/UserBondRowYield'\n\ntype SortDirection = 'asc' | 'desc'\nexport type SortableKeys = 'claimable' | 'pending' | 'terms'\n\nconst YourBonds = ({ showOnly }: { showOnly?: string }) => {\n useTokenPrices()\n useBondsData()\n // Hooks\n const SDKConfig = useSDKConfig()\n const { address: account } = useEVMAccount()\n const { publicKey: solanaAccount } = useSOLAccount()\n const { address: aptosAccount } = useAPTAccount()\n const { address: suiAccount } = useSUIAccount()\n const { data: userBonds, isFetched: userBondsFetched } = useUserBonds()\n const { data: chainFilterOption, setChainFilterOption } = useChainFilterOption()\n const { data: preTGEUserBonds, isFetched: preTGEFetched } = useUserBondsPreTGE()\n const hasFetched = userBondsFetched && (preTGEFetched || !account)\n\n // State\n const [sortConfig, setSortConfig] = useState<{ key: SortableKeys; direction: SortDirection } | null>({\n key: 'claimable',\n direction: 'desc',\n })\n\n const [inputValue, setInputValue] = useState('')\n const filterOptions = ['CLAIMABLE', 'ALL']\n const [filterOption, setFilterOption] = useState(filterOptions[0])\n\n const preTGEBondsToRender = preTGEUserBonds\n ?.filter((userBond) => {\n if (!userBond?.accountInfo?.hasRedeemed) {\n return parseFloat(userBond?.accountInfo?.depositAmount ?? '0') > 0\n } else if (userBond.yieldBond && parseFloat(userBond?.accountInfo?.depositAmount ?? '0') > 0) {\n return (userBond?.yieldData?.depositedAssets ?? 0) > 0\n } else {\n return userBond?.userOwnedBillsData?.payout !== '0'\n }\n })\n .filter(\n (userBond) =>\n chainFilterOption.includes(userBond.chainId?.toString() ?? '') || chainFilterOption.includes('All Chains'),\n )\n .filter((userBond) => userBond.earnToken.symbol?.toLowerCase().includes(inputValue.toLowerCase()))\n\n const handleSort = (key: SortableKeys) => {\n let direction: SortDirection = 'desc'\n if (sortConfig?.key === key && sortConfig?.direction === 'desc') {\n direction = 'asc'\n }\n setSortConfig({ key, direction })\n }\n\n const bondsToRender = useMemo((): UserBill[] => {\n if (!userBonds) return []\n let bondsToReturn = userBonds\n\n // Handle Filtering //\n\n bondsToReturn = bondsToReturn?.filter((bond) => {\n return bond.bond?.onlyPartner ? bond.bond.bondPartner === SDKConfig.bondPartner : true\n })\n\n if (SDKConfig.bondPartner) {\n bondsToReturn = bondsToReturn?.filter((bond) => {\n return bond.bond?.bondPartner === SDKConfig.bondPartner\n })\n }\n\n // Filter Single Token View\n if (showOnly) {\n bondsToReturn = bondsToReturn?.filter((bond) => {\n return bond?.bond?.earnToken?.symbol?.toLowerCase() === showOnly.toLowerCase()\n })\n }\n\n // Filter by search query\n if (inputValue !== '') {\n bondsToReturn = bondsToReturn?.filter((bond) => {\n return [\n bond?.bond?.showcaseTokenName?.toLowerCase(),\n bond?.bond?.earnToken?.symbol?.toLowerCase(),\n bond?.bond?.lpToken?.symbol?.toLowerCase(),\n ].some((property) => property?.includes(inputValue.toLowerCase()))\n })\n }\n\n // Filter by chain selector\n if (!chainFilterOption.includes('All Chains')) {\n bondsToReturn = bondsToReturn?.filter((bond) => {\n return chainFilterOption.includes(bond?.bond?.chainId?.toString() ?? '')\n })\n }\n\n // Filter by filter option (claimable or all buttons)\n if (filterOption === 'CLAIMABLE') {\n bondsToReturn = bondsToReturn?.filter((bond) => {\n if (bond?.bond?.vestingCliff) {\n return bond.payout !== '0'\n }\n return bond.pendingRewards !== '0'\n })\n }\n\n // Handle sorting //\n if (sortConfig !== null) {\n bondsToReturn = bondsToReturn?.sort((a, b) => {\n let aValue: number, bValue: number\n\n if (sortConfig.key === 'claimable') {\n aValue = claimableUSD(a)\n bValue = claimableUSD(b)\n } else if (sortConfig.key === 'pending') {\n aValue = pendingUSD(a)\n bValue = pendingUSD(b)\n } else if (sortConfig.key === 'terms') {\n // little nasty trick to have the lowest time (closest to being fully vested) show up first when sorting ascending\n const aRemainingTime = getTimeLeftForFullyVested(b)\n const bRemainingTime = getTimeLeftForFullyVested(a)\n\n aValue = aRemainingTime\n bValue = bRemainingTime\n } else {\n aValue = a[sortConfig.key]\n bValue = b[sortConfig.key]\n }\n\n if (aValue < bValue) {\n return sortConfig.direction === 'asc' ? -1 : 1\n }\n if (aValue > bValue) {\n return sortConfig.direction === 'asc' ? 1 : -1\n }\n return 0\n })\n }\n return bondsToReturn\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [userBonds, sortConfig, inputValue, chainFilterOption, filterOption, userBondsFetched])\n\n const handleFilterOption = useCallback((newOption: string) => {\n setFilterOption(newOption)\n }, [])\n\n const hasBonds = useMemo(() => {\n return (bondsToRender && bondsToRender.length > 0) || !!preTGEBondsToRender?.length\n }, [bondsToRender, preTGEBondsToRender])\n\n return (\n <Flex className=\"yourbonds table-container ape:w-full ape:flex ape:flex-col ape:px-[10px]\">\n {!showOnly && (\n <YourBondsMenu\n chainFilterOption={chainFilterOption}\n setChainFilterOption={setChainFilterOption}\n filterOptions={filterOptions}\n filterOption={filterOption}\n setFilterOption={handleFilterOption}\n setInputValue={setInputValue}\n inputValue={inputValue}\n handleSort={handleSort}\n />\n )}\n {!account && !solanaAccount && !aptosAccount && !suiAccount ? (\n <Flex className=\"placeholder-monkey-wrapper ape:w-full ape:flex-col ape:pt-[100px] ape:pb-[100px] ape:bg-white2 ape:items-center ape:rounded-[10px] ape:mt-[15px] ape:justify-center ape:h-[400px]\">\n <PlaceholderMonkey text={'You are not connected.'} />\n </Flex>\n ) : hasBonds && hasFetched ? (\n <>\n {preTGEBondsToRender?.map((userBond, index) => {\n return userBond.yieldBond ? (\n <UserBondRowYield userBond={userBond} key={index} />\n ) : (\n <UserBondRowPreTGE userBond={userBond} key={index} />\n )\n })}\n {bondsToRender.map((bond) => {\n if (bond.bond?.chainId === ChainId.SOL)\n return <UserBondRowSolana bill={bond} key={`${bond?.billNftAddress}-${bond.id}`} />\n if (bond.bond?.chainId === ChainId.APTOS) return <UserBondRowAptos bill={bond} key={`aptos-${bond?.id}`} />\n if (bond.bond?.chainId === ChainId.SUI) return <UserBondRowSui bill={bond} key={`sui-${bond?.id}`} />\n return <UserBondRow bill={bond} key={`${bond?.id}-${bond?.billNftAddress}`} />\n })}\n </>\n ) : inputValue !== '' || !chainFilterOption.includes('All Chains') ? (\n <Flex className=\"placeholder-monkey-wrapper ape:w-full ape:flex-col ape:pt-[100px] ape:pb-[100px] ape:bg-white2 ape:items-center ape:rounded-[10px] ape:mt-[15px] ape:justify-center ape:h-[400px]\">\n <PlaceholderMonkey text={'No results, change filters.'} />\n </Flex>\n ) : hasFetched && !hasBonds ? (\n <Flex className=\"placeholder-monkey-wrapper ape:w-full ape:flex-col ape:pt-[100px] ape:pb-[100px] ape:bg-white2 ape:items-center ape:rounded-[10px] ape:mt-[15px] ape:justify-center ape:h-[400px]\">\n <PlaceholderMonkey\n text={`You do not own any ${[account && 'EVM', solanaAccount && 'SOL', aptosAccount && 'Aptos', suiAccount && 'Sui'].filter(Boolean).join(' nor ') || 'EVM'} Bonds.`}\n />\n </Flex>\n ) : (\n <Flex className=\"placeholder-monkey-wrapper ape:w-full ape:flex-col ape:pt-[100px] ape:pb-[100px] ape:bg-white2 ape:items-center ape:rounded-[10px] ape:mt-[15px] ape:justify-center ape:h-[400px]\">\n <Spinner size={100} />\n </Flex>\n )}\n <Flex className=\"ape:w-full ape:flex-col ape:xl:flex-row ape:gap-[10px] ape:my-[10px]\">\n {!account && (\n <Flex className=\"ape:w-full ape:mt-[5px]\">\n <ConnectToEVMBanner />\n </Flex>\n )}\n {!solanaAccount && SDKConfig.chains?.includes(ChainId.SOL) && (\n <Flex className=\"ape:w-full ape:mt-[5px]\">\n <ConnectToSolanaBanner />\n </Flex>\n )}\n {!aptosAccount && SDKConfig.chains?.includes(ChainId.APTOS) && (\n <Flex className=\"ape:w-full ape:mt-[5px]\">\n <ConnectToAptosBanner />\n </Flex>\n )}\n {!suiAccount && SDKConfig.chains?.includes(ChainId.SUI) && (\n <Flex className=\"ape:w-full ape:mt-[5px]\">\n <ConnectToSuiBanner />\n </Flex>\n )}\n </Flex>\n </Flex>\n )\n}\n\nexport default YourBonds\n"],"names":["_jsxs","_jsx","_Fragment","ConnectToSolanaBanner"],"mappings":"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"}
@@ -227,7 +227,7 @@ const ClaimAllModal = () => {
227
227
  return (jsx(Modal, { title: "Claim All", className: "ape:w-[420px]", children: viewAllChains ? (jsxs(Fragment, { children: [jsxs(Flex, { className: "ape:justify-between ape:mb-[20px]", children: [jsx(Flex, { onClick: () => setViewAllChains(false), className: "ape:hover:cursor-pointer", children: jsx(Arrow, { width: "10px", direction: "left" }) }), jsx(Text, { size: "16px", weight: 300, children: "All Chain Options" })] }), jsx(ChainOptionsList, { setSelectedChain: setSelectedChain, setViewAllChains: setViewAllChains, chainList: chains })] })) : (jsxs(Flex, { className: "ape:flex-col ape:w-full", children: [jsx(Text, { size: "14px", weight: 400, className: "ape:my-[10px]", children: "Select the chain from which you want to claim your Bonds." }), jsx(ChainOptionsButtons, { setSelectedChain: setSelectedChain, selectedChain: selectedChain, setViewAllChains: setViewAllChains, chainList: purchasedBillsChains ?? [] }), jsx(Flex, { className: "ape:w-full ape:mt-[10px] ape:bg-white3 ape:rounded-normal ape:p-[10px] ape:flex-col ape:h-[30vh] ape:overflow-y-auto", children: bondsOfSelectedChain && bondsOfSelectedChain?.length > 0 ? (bondsOfSelectedChain
228
228
  ?.filter((userBill) => userBill.bond.chainId === selectedChain)
229
229
  .map((ownedBill, index) => {
230
- return (jsxs(Flex, { className: "ape:w-full ape:items-center ape:p-[5px]", children: [jsx(TokenImage, { symbol: ownedBill.bond.earnToken.symbol, size: 30 }), jsxs(Text, { className: "ape:ml-[10px]", children: [ownedBill.bond.earnToken.symbol, jsxs(Text, { size: "14px", weight: 400, className: "ape:ml-[10px]", style: { color: 'var(--ape-color-text-disabled-button)' }, children: ["(", ownedBill?.userOwnedBills?.length, " Bond", ownedBill?.userOwnedBills && ownedBill?.userOwnedBills?.length > 1 ? 's' : '', ")"] })] })] }, `${ownedBill.bond.earnToken.symbol}-${index}`));
230
+ return (jsxs(Flex, { className: "ape:w-full ape:items-center ape:p-[5px]", children: [jsx(TokenImage, { symbol: ownedBill.bond.earnToken.symbol, size: 30 }), jsxs(Text, { className: "ape:ml-[10px]", children: [ownedBill.bond.earnToken.symbol, jsxs(Text, { as: "span", size: "14px", weight: 400, className: "ape:ml-[10px]", style: { color: 'var(--ape-color-text-disabled-button)' }, children: ["(", ownedBill?.userOwnedBills?.length, " Bond", ownedBill?.userOwnedBills && ownedBill?.userOwnedBills?.length > 1 ? 's' : '', ")"] })] })] }, `${ownedBill.bond.earnToken.symbol}-${index}`));
231
231
  })) : (jsx(Flex, { className: "ape:text-[14px] ape:font-normal ape:justify-center ape:mt-[10px]", style: { color: 'var(--ape-color-text-disabled-button)' }, children: "No bonds to claim for this chain" })) }), jsxs(Text, { size: "14px", weight: 400, className: "ape:mt-[15px]", children: [`You'll claim`, " ", ownedBillsAmount, " Bonds in", ' ', isAptosChain ? ownedBillsAmount : isSuiChain ? 1 : bondsOfSelectedChain?.length, " transaction", (isAptosChain ? (ownedBillsAmount ?? 0) : isSuiChain ? 0 : (bondsOfSelectedChain?.length ?? 0)) > 1
232
232
  ? 's'
233
233
  : '', "."] }), isSuiChain ? (jsx(Button, { className: "ape:mt-[15px] ape:w-full", onClick: handleClaim, disabled: !suiAccount || loadingTx || !ownedBillsAmount, load: loadingTx, children: !suiAccount ? 'Connect Sui Wallet' : 'Claim' })) : isAptosChain ? (jsx(Button, { className: "ape:mt-[15px] ape:w-full", onClick: handleClaim, disabled: !aptosAccount || loadingTx || !ownedBillsAmount, load: loadingTx, children: !aptosAccount ? 'Connect Aptos Wallet' : 'Claim' })) : chainId === selectedChain ? (jsx(Button, { className: "ape:mt-[15px] ape:w-full", onClick: handleClaim, children: "Claim" })) : (jsxs(Button, { className: "ape:mt-[15px] ape:w-full", onClick: () => switchChain({ chainId: selectedChain }), children: ["Switch to ", NETWORK_LABEL[selectedChain ?? 0]] }))] })) }));
@@ -1 +1 @@
1
- {"version":3,"file":"ClaimAllModal.js","sources":["../../../../../src/views/YourBonds/components/ClaimAll/ClaimAllModal.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\nimport { useSwitchChain, useWriteContract } from 'wagmi'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport useUserBonds from '../../../../state/bonds/useUserBonds'\nimport Button from '../../../../components/uikit-sdk/Button/Button'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport Modal from '../../../../components/uikit-sdk/Modal'\nimport Text from '../../../../components/uikit-sdk/Text'\nimport TokenImage from '../../../../components/uikit-sdk/TokenImage'\nimport { NETWORK_LABEL } from '../../../../config/constants/chains'\nimport ChainOptionsList from '../../../../components/ChainOptionList/ChainOptionsList'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\nimport ChainOptionsButtons from '../../../../components/ChainOptionList/ChainOptionsButtons'\nimport { UserBill } from '../../../../types/yourbonds'\nimport BOND_ABI from '../../../../config/abi/BOND_2_4_0.json'\nimport track from '../../../../utils/track'\nimport { usePopups } from '../../../../state/popups/usePopups'\nimport { BillsConfig } from '@ape.swap/apeswap-lists'\nimport { reportError } from '../../../../utils/reportError'\nimport useEVMAccount from '../../../../hooks/accounts/useEVMAccount'\nimport useAPTAccount from '../../../../hooks/accounts/useAPTAccount'\nimport useSUIAccount from '../../../../hooks/accounts/useSUIAccount'\nimport { APTOS_CLAIM_FUNCTION } from '../../../../constants/aptosConstants'\nimport { SUI_CLAIM_FUNCTION } from '../../../../constants/suiConstants'\nimport { getAptosClient } from '../../../../utils/aptosHelpers'\nimport { Transaction } from '@mysten/sui/transactions'\nimport { verifySuiTxSuccess } from '../../../../utils/suiHelpers'\nimport Arrow from '../../../../components/uikit-sdk/Svg/Icons/Arrow'\n\nconst ClaimAllModal = () => {\n const { chainId, address: account } = useEVMAccount()\n const { address: aptosAccount, signAndSubmitTransaction } = useAPTAccount()\n const { address: suiAccount, signAndExecuteTransaction } = useSUIAccount()\n const { switchChain } = useSwitchChain()\n const SDKConfig = useSDKConfig()\n const chains = SDKConfig?.chains as number[]\n\n const [selectedChain, setSelectedChain] = useState(\n chainId ?? (aptosAccount ? ChainId.APTOS : suiAccount ? ChainId.SUI : 56),\n )\n const [viewAllChains, setViewAllChains] = useState<boolean>(false)\n const { data: userOwnedBills } = useUserBonds()\n const ownedBills = userOwnedBills?.filter((bill) => parseFloat(bill?.payout) > 0)\n\n const groupedBills = ownedBills?.reduce((acc: { bond: BillsConfig; userOwnedBills: UserBill[] }[], bill) => {\n const bondIndex = bill?.bond?.index\n\n // Check if this bond index already exists in the accumulator\n const existingGroup = acc.find((group) => group.bond.index === bondIndex)\n\n if (existingGroup) {\n // If the group already exists, add this bill to the userOwnedBills array\n existingGroup.userOwnedBills.push(bill)\n } else {\n // If it doesn't exist, create a new group\n acc.push({\n bond: bill.bond as any,\n userOwnedBills: [bill],\n })\n }\n\n return acc\n }, [])\n\n const bondsOfSelectedChain = groupedBills?.filter((group) => group.bond.chainId === selectedChain)\n const ownedBillsAmount = bondsOfSelectedChain?.reduce(\n (total, ownerBills) => total + (ownerBills.userOwnedBills?.length || 0),\n 0,\n )\n const { addToastError, addToastSuccess } = usePopups()\n\n const { writeContractAsync } = useWriteContract()\n const { refetch } = useUserBonds()\n const [loadingTx, setLoadingTx] = useState(false)\n\n const isAptosChain = selectedChain === ChainId.APTOS\n const isSuiChain = selectedChain === ChainId.SUI\n\n const handleClaimEVM = async () => {\n try {\n bondsOfSelectedChain?.map(async (purchasedBond) => {\n const address: `0x${string}` = purchasedBond.bond.contractAddress[purchasedBond.bond.chainId] as `0x${string}`\n track({\n event: 'bond',\n chain: purchasedBond.bond.chainId,\n data: {\n cat: 'claimAll',\n address,\n earnToken: purchasedBond?.bond.earnToken.symbol,\n },\n })\n return writeContractAsync({\n address,\n abi: BOND_ABI,\n functionName: 'batchRedeem',\n args: [purchasedBond.userOwnedBills.map((b) => b.id)],\n chain: chainId as any,\n account,\n })\n })\n } catch (error: any) {\n console.error('Claim All failed:', error)\n addToastError(error.message)\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error,\n extraInfo: { type: 'claimAll', bondsOfSelectedChain, error },\n chainId,\n account,\n })\n }\n }\n\n const handleClaimAptos = async () => {\n if (!aptosAccount || !bondsOfSelectedChain?.length) return\n\n setLoadingTx(true)\n try {\n // Aptos has no batchRedeem — claim each bill individually\n const allBills = bondsOfSelectedChain.flatMap((group) =>\n group.userOwnedBills.map((b) => ({ bill: b, market: group.bond.contractAddress[group.bond.chainId] })),\n )\n\n let lastTxHash = ''\n for (const { bill, market } of allBills) {\n if (!market || !bill.id) continue\n\n track({\n event: 'bond',\n chain: ChainId.APTOS,\n data: { cat: 'claimAll', address: market, earnToken: bill.bond?.earnToken?.symbol },\n })\n\n const response = await signAndSubmitTransaction?.({\n data: {\n function: APTOS_CLAIM_FUNCTION,\n typeArguments: [],\n functionArguments: [market, bill.id],\n },\n })\n if (!response?.hash) throw new Error('No tx hash returned by wallet')\n lastTxHash = response.hash\n\n const aptos = getAptosClient()\n await aptos.waitForTransaction({ transactionHash: response.hash })\n }\n\n refetch()\n addToastSuccess(lastTxHash, ChainId.APTOS)\n } catch (error: any) {\n console.error('Aptos Claim All failed:', error)\n addToastError(error?.message ?? 'Unknown error')\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error,\n extraInfo: { type: 'aptosClaimAll', bondsOfSelectedChain, error },\n chainId: ChainId.APTOS,\n account: aptosAccount ?? '',\n })\n } finally {\n setLoadingTx(false)\n }\n }\n\n const handleClaimSui = async () => {\n if (!suiAccount || !bondsOfSelectedChain?.length || !signAndExecuteTransaction) return\n\n setLoadingTx(true)\n try {\n const allBills = bondsOfSelectedChain\n .flatMap((group) =>\n group.userOwnedBills.map((b) => ({ bill: b, market: group.bond.contractAddress[group.bond.chainId] })),\n )\n .filter(({ bill }) => bill.pendingRewards !== '0')\n\n // Build a single PTB that claims all bills in one transaction\n const tx = new Transaction()\n for (const { bill, market } of allBills) {\n if (!market || !bill.address) continue\n\n const payoutCoinType = bill.bond?.earnToken?.address?.[bill.bond?.chainId ?? 0]\n const principalCoinType = bill.bond?.lpToken?.address?.[bill.bond?.chainId ?? 0]\n if (!payoutCoinType || !principalCoinType) continue\n\n track({\n event: 'bond',\n chain: ChainId.SUI,\n data: { cat: 'claimAll', address: market, earnToken: bill.bond?.earnToken?.symbol },\n })\n\n const [claimedCoin] = tx.moveCall({\n target: SUI_CLAIM_FUNCTION,\n typeArguments: [payoutCoinType, principalCoinType],\n arguments: [\n tx.object(market),\n tx.object(bill.address), // BondNFT object ID\n tx.object('0x6'), // clock\n ],\n })\n tx.transferObjects([claimedCoin], tx.pure.address(suiAccount!))\n }\n\n // Pre-build so the wallet receives fully-resolved bytes\n tx.setSender(suiAccount!)\n tx.setGasBudget(50_000_000)\n const { getSuiClient } = await import('../../../../utils/suiHelpers')\n const suiClient = getSuiClient()\n const builtBytes = await tx.build({ client: suiClient })\n const prebuiltTx = Transaction.from(builtBytes)\n\n const claimResponse = await signAndExecuteTransaction({ transaction: prebuiltTx })\n const claimDigest = claimResponse?.digest\n if (claimDigest) {\n await verifySuiTxSuccess(claimDigest)\n }\n\n refetch()\n addToastSuccess(claimDigest, ChainId.SUI)\n } catch (error: any) {\n console.error('Sui Claim All failed:', error)\n addToastError(error?.message ?? 'Unknown error')\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error,\n extraInfo: { type: 'suiClaimAll', bondsOfSelectedChain, error },\n chainId: ChainId.SUI,\n account: suiAccount ?? '',\n })\n } finally {\n setLoadingTx(false)\n }\n }\n\n const handleClaim = isSuiChain ? handleClaimSui : isAptosChain ? handleClaimAptos : handleClaimEVM\n\n const purchasedBillsChains = groupedBills\n ?.reduce((acc: number[], bill) => {\n if (acc.includes(bill.bond.chainId)) {\n return acc\n } else return [...acc, bill.bond.chainId]\n }, [])\n ?.sort((a, b) => a - b)\n\n // Auto-select the first chain that has bonds when the current selection has none\n useEffect(() => {\n if (purchasedBillsChains?.length && !purchasedBillsChains.includes(selectedChain)) {\n setSelectedChain(purchasedBillsChains[0])\n }\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [purchasedBillsChains?.length])\n\n return (\n <Modal title=\"Claim All\" className=\"ape:w-[420px]\">\n {viewAllChains ? (\n <>\n <Flex className=\"ape:justify-between ape:mb-[20px]\">\n <Flex onClick={() => setViewAllChains(false)} className=\"ape:hover:cursor-pointer\">\n <Arrow width=\"10px\" direction=\"left\" />\n </Flex>\n <Text size=\"16px\" weight={300}>All Chain Options</Text>\n </Flex>\n <ChainOptionsList\n setSelectedChain={setSelectedChain}\n setViewAllChains={setViewAllChains}\n chainList={chains}\n />\n </>\n ) : (\n <Flex className=\"ape:flex-col ape:w-full\">\n <Text size=\"14px\" weight={400} className=\"ape:my-[10px]\">\n Select the chain from which you want to claim your Bonds.\n </Text>\n <ChainOptionsButtons\n setSelectedChain={setSelectedChain}\n selectedChain={selectedChain}\n setViewAllChains={setViewAllChains}\n chainList={purchasedBillsChains ?? []}\n />\n <Flex className=\"ape:w-full ape:mt-[10px] ape:bg-white3 ape:rounded-normal ape:p-[10px] ape:flex-col ape:h-[30vh] ape:overflow-y-auto\">\n {bondsOfSelectedChain && bondsOfSelectedChain?.length > 0 ? (\n bondsOfSelectedChain\n ?.filter((userBill) => userBill.bond.chainId === selectedChain)\n .map((ownedBill, index) => {\n return (\n <Flex\n key={`${ownedBill.bond.earnToken.symbol}-${index}`}\n className=\"ape:w-full ape:items-center ape:p-[5px]\"\n >\n <TokenImage symbol={ownedBill.bond.earnToken.symbol} size={30} />\n <Text className=\"ape:ml-[10px]\">\n {ownedBill.bond.earnToken.symbol}\n <Text\n size=\"14px\"\n weight={400}\n className=\"ape:ml-[10px]\"\n style={{ color: 'var(--ape-color-text-disabled-button)' }}\n >\n ({ownedBill?.userOwnedBills?.length} Bond\n {ownedBill?.userOwnedBills && ownedBill?.userOwnedBills?.length > 1 ? 's' : ''})\n </Text>\n </Text>\n </Flex>\n )\n })\n ) : (\n <Flex\n className=\"ape:text-[14px] ape:font-normal ape:justify-center ape:mt-[10px]\"\n style={{ color: 'var(--ape-color-text-disabled-button)' }}\n >\n No bonds to claim for this chain\n </Flex>\n )}\n </Flex>\n <Text size=\"14px\" weight={400} className=\"ape:mt-[15px]\">\n {`You'll claim`} {ownedBillsAmount} Bonds in{' '}\n {isAptosChain ? ownedBillsAmount : isSuiChain ? 1 : bondsOfSelectedChain?.length} transaction\n {(isAptosChain ? (ownedBillsAmount ?? 0) : isSuiChain ? 0 : (bondsOfSelectedChain?.length ?? 0)) > 1\n ? 's'\n : ''}\n .\n </Text>\n {isSuiChain ? (\n <Button\n className=\"ape:mt-[15px] ape:w-full\"\n onClick={handleClaim}\n disabled={!suiAccount || loadingTx || !ownedBillsAmount}\n load={loadingTx}\n >\n {!suiAccount ? 'Connect Sui Wallet' : 'Claim'}\n </Button>\n ) : isAptosChain ? (\n <Button\n className=\"ape:mt-[15px] ape:w-full\"\n onClick={handleClaim}\n disabled={!aptosAccount || loadingTx || !ownedBillsAmount}\n load={loadingTx}\n >\n {!aptosAccount ? 'Connect Aptos Wallet' : 'Claim'}\n </Button>\n ) : chainId === selectedChain ? (\n <Button className=\"ape:mt-[15px] ape:w-full\" onClick={handleClaim}>\n Claim\n </Button>\n ) : (\n <Button className=\"ape:mt-[15px] ape:w-full\" onClick={() => switchChain({ chainId: selectedChain })}>\n Switch to {NETWORK_LABEL[selectedChain ?? 0]}\n </Button>\n )}\n </Flex>\n )}\n </Modal>\n )\n}\n\nexport default ClaimAllModal\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,MAAM,aAAa,GAAG,MAAK;IACzB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE;IACrD,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,GAAG,aAAa,EAAE;IAC3E,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,yBAAyB,EAAE,GAAG,aAAa,EAAE;AAC1E,IAAA,MAAM,EAAE,WAAW,EAAE,GAAG,cAAc,EAAE;AACxC,IAAA,MAAM,SAAS,GAAG,YAAY,EAAE;AAChC,IAAA,MAAM,MAAM,GAAG,SAAS,EAAE,MAAkB;AAE5C,IAAA,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAChD,OAAO,KAAK,YAAY,GAAG,OAAO,CAAC,KAAK,GAAG,UAAU,GAAG,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC,CAC1E;IACD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC;IAClE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,YAAY,EAAE;IAC/C,MAAM,UAAU,GAAG,cAAc,EAAE,MAAM,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAEjF,MAAM,YAAY,GAAG,UAAU,EAAE,MAAM,CAAC,CAAC,GAAwD,EAAE,IAAI,KAAI;AACzG,QAAA,MAAM,SAAS,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK;;AAGnC,QAAA,MAAM,aAAa,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC;QAEzE,IAAI,aAAa,EAAE;;AAEjB,YAAA,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;QACzC;aAAO;;YAEL,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,IAAI,CAAC,IAAW;gBACtB,cAAc,EAAE,CAAC,IAAI,CAAC;AACvB,aAAA,CAAC;QACJ;AAEA,QAAA,OAAO,GAAG;IACZ,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,MAAM,oBAAoB,GAAG,YAAY,EAAE,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,aAAa,CAAC;IAClG,MAAM,gBAAgB,GAAG,oBAAoB,EAAE,MAAM,CACnD,CAAC,KAAK,EAAE,UAAU,KAAK,KAAK,IAAI,UAAU,CAAC,cAAc,EAAE,MAAM,IAAI,CAAC,CAAC,EACvE,CAAC,CACF;IACD,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,SAAS,EAAE;AAEtD,IAAA,MAAM,EAAE,kBAAkB,EAAE,GAAG,gBAAgB,EAAE;AACjD,IAAA,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,EAAE;IAClC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;AAEjD,IAAA,MAAM,YAAY,GAAG,aAAa,KAAK,OAAO,CAAC,KAAK;AACpD,IAAA,MAAM,UAAU,GAAG,aAAa,KAAK,OAAO,CAAC,GAAG;AAEhD,IAAA,MAAM,cAAc,GAAG,YAAW;AAChC,QAAA,IAAI;AACF,YAAA,oBAAoB,EAAE,GAAG,CAAC,OAAO,aAAa,KAAI;AAChD,gBAAA,MAAM,OAAO,GAAkB,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAkB;AAC9G,gBAAA,KAAK,CAAC;AACJ,oBAAA,KAAK,EAAE,MAAM;AACb,oBAAA,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,OAAO;AACjC,oBAAA,IAAI,EAAE;AACJ,wBAAA,GAAG,EAAE,UAAU;wBACf,OAAO;AACP,wBAAA,SAAS,EAAE,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;AAChD,qBAAA;AACF,iBAAA,CAAC;AACF,gBAAA,OAAO,kBAAkB,CAAC;oBACxB,OAAO;AACP,oBAAA,GAAG,EAAE,QAAQ;AACb,oBAAA,YAAY,EAAE,aAAa;AAC3B,oBAAA,IAAI,EAAE,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AACrD,oBAAA,KAAK,EAAE,OAAc;oBACrB,OAAO;AACR,iBAAA,CAAC;AACJ,YAAA,CAAC,CAAC;QACJ;QAAE,OAAO,KAAU,EAAE;AACnB,YAAA,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC;AACzC,YAAA,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AAC5B,YAAA,WAAW,CAAC;AACV,gBAAA,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;gBAC9B,KAAK;gBACL,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,oBAAoB,EAAE,KAAK,EAAE;gBAC5D,OAAO;gBACP,OAAO;AACR,aAAA,CAAC;QACJ;AACF,IAAA,CAAC;AAED,IAAA,MAAM,gBAAgB,GAAG,YAAW;AAClC,QAAA,IAAI,CAAC,YAAY,IAAI,CAAC,oBAAoB,EAAE,MAAM;YAAE;QAEpD,YAAY,CAAC,IAAI,CAAC;AAClB,QAAA,IAAI;;YAEF,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC,KAAK,KAClD,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CACvG;YAED,IAAI,UAAU,GAAG,EAAE;YACnB,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,QAAQ,EAAE;AACvC,gBAAA,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE;oBAAE;AAEzB,gBAAA,KAAK,CAAC;AACJ,oBAAA,KAAK,EAAE,MAAM;oBACb,KAAK,EAAE,OAAO,CAAC,KAAK;AACpB,oBAAA,IAAI,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE;AACpF,iBAAA,CAAC;AAEF,gBAAA,MAAM,QAAQ,GAAG,MAAM,wBAAwB,GAAG;AAChD,oBAAA,IAAI,EAAE;AACJ,wBAAA,QAAQ,EAAE,oBAAoB;AAC9B,wBAAA,aAAa,EAAE,EAAE;AACjB,wBAAA,iBAAiB,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;AACrC,qBAAA;AACF,iBAAA,CAAC;gBACF,IAAI,CAAC,QAAQ,EAAE,IAAI;AAAE,oBAAA,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC;AACrE,gBAAA,UAAU,GAAG,QAAQ,CAAC,IAAI;AAE1B,gBAAA,MAAM,KAAK,GAAG,cAAc,EAAE;AAC9B,gBAAA,MAAM,KAAK,CAAC,kBAAkB,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpE;AAEA,YAAA,OAAO,EAAE;AACT,YAAA,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC;QAC5C;QAAE,OAAO,KAAU,EAAE;AACnB,YAAA,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC;AAC/C,YAAA,aAAa,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe,CAAC;AAChD,YAAA,WAAW,CAAC;AACV,gBAAA,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;gBAC9B,KAAK;gBACL,SAAS,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,oBAAoB,EAAE,KAAK,EAAE;gBACjE,OAAO,EAAE,OAAO,CAAC,KAAK;gBACtB,OAAO,EAAE,YAAY,IAAI,EAAE;AAC5B,aAAA,CAAC;QACJ;gBAAU;YACR,YAAY,CAAC,KAAK,CAAC;QACrB;AACF,IAAA,CAAC;AAED,IAAA,MAAM,cAAc,GAAG,YAAW;QAChC,IAAI,CAAC,UAAU,IAAI,CAAC,oBAAoB,EAAE,MAAM,IAAI,CAAC,yBAAyB;YAAE;QAEhF,YAAY,CAAC,IAAI,CAAC;AAClB,QAAA,IAAI;YACF,MAAM,QAAQ,GAAG;AACd,iBAAA,OAAO,CAAC,CAAC,KAAK,KACb,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAEvG,iBAAA,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,cAAc,KAAK,GAAG,CAAC;;AAGpD,YAAA,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE;YAC5B,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,QAAQ,EAAE;AACvC,gBAAA,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO;oBAAE;AAE9B,gBAAA,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC;AAC/E,gBAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC;AAChF,gBAAA,IAAI,CAAC,cAAc,IAAI,CAAC,iBAAiB;oBAAE;AAE3C,gBAAA,KAAK,CAAC;AACJ,oBAAA,KAAK,EAAE,MAAM;oBACb,KAAK,EAAE,OAAO,CAAC,GAAG;AAClB,oBAAA,IAAI,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE;AACpF,iBAAA,CAAC;AAEF,gBAAA,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC;AAChC,oBAAA,MAAM,EAAE,kBAAkB;AAC1B,oBAAA,aAAa,EAAE,CAAC,cAAc,EAAE,iBAAiB,CAAC;AAClD,oBAAA,SAAS,EAAE;AACT,wBAAA,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;wBACjB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;AACvB,wBAAA,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;AACjB,qBAAA;AACF,iBAAA,CAAC;AACF,gBAAA,EAAE,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAW,CAAC,CAAC;YACjE;;AAGA,YAAA,EAAE,CAAC,SAAS,CAAC,UAAW,CAAC;AACzB,YAAA,EAAE,CAAC,YAAY,CAAC,QAAU,CAAC;YAC3B,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,OAAO,iCAA8B,CAAC;AACrE,YAAA,MAAM,SAAS,GAAG,YAAY,EAAE;AAChC,YAAA,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;YACxD,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;YAE/C,MAAM,aAAa,GAAG,MAAM,yBAAyB,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AAClF,YAAA,MAAM,WAAW,GAAG,aAAa,EAAE,MAAM;YACzC,IAAI,WAAW,EAAE;AACf,gBAAA,MAAM,kBAAkB,CAAC,WAAW,CAAC;YACvC;AAEA,YAAA,OAAO,EAAE;AACT,YAAA,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC;QAC3C;QAAE,OAAO,KAAU,EAAE;AACnB,YAAA,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC;AAC7C,YAAA,aAAa,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe,CAAC;AAChD,YAAA,WAAW,CAAC;AACV,gBAAA,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;gBAC9B,KAAK;gBACL,SAAS,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,oBAAoB,EAAE,KAAK,EAAE;gBAC/D,OAAO,EAAE,OAAO,CAAC,GAAG;gBACpB,OAAO,EAAE,UAAU,IAAI,EAAE;AAC1B,aAAA,CAAC;QACJ;gBAAU;YACR,YAAY,CAAC,KAAK,CAAC;QACrB;AACF,IAAA,CAAC;AAED,IAAA,MAAM,WAAW,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY,GAAG,gBAAgB,GAAG,cAAc;IAElG,MAAM,oBAAoB,GAAG;AAC3B,UAAE,MAAM,CAAC,CAAC,GAAa,EAAE,IAAI,KAAI;QAC/B,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;AACnC,YAAA,OAAO,GAAG;QACZ;;YAAO,OAAO,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;IAC3C,CAAC,EAAE,EAAE;AACL,UAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;;IAGzB,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,oBAAoB,EAAE,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;AACjF,YAAA,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAC3C;;AAEF,IAAA,CAAC,EAAE,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;AAElC,IAAA,QACEA,GAAA,CAAC,KAAK,EAAA,EAAC,KAAK,EAAC,WAAW,EAAC,SAAS,EAAC,eAAe,EAAA,QAAA,EAC/C,aAAa,IACZC,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CACED,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,mCAAmC,aACjDD,GAAA,CAAC,IAAI,EAAA,EAAC,OAAO,EAAE,MAAM,gBAAgB,CAAC,KAAK,CAAC,EAAE,SAAS,EAAC,0BAA0B,EAAA,QAAA,EAChFA,GAAA,CAAC,KAAK,EAAA,EAAC,KAAK,EAAC,MAAM,EAAC,SAAS,EAAC,MAAM,EAAA,CAAG,GAClC,EACPA,GAAA,CAAC,IAAI,EAAA,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAE,GAAG,EAAA,QAAA,EAAA,mBAAA,EAAA,CAA0B,CAAA,EAAA,CAClD,EACPA,IAAC,gBAAgB,EAAA,EACf,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,MAAM,GACjB,CAAA,EAAA,CACD,KAEHC,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,yBAAyB,EAAA,QAAA,EAAA,CACvCD,GAAA,CAAC,IAAI,EAAA,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAC,eAAe,EAAA,QAAA,EAAA,2DAAA,EAAA,CAEjD,EACPA,IAAC,mBAAmB,EAAA,EAClB,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,oBAAoB,IAAI,EAAE,EAAA,CACrC,EACFA,GAAA,CAAC,IAAI,IAAC,SAAS,EAAC,sHAAsH,EAAA,QAAA,EACnI,oBAAoB,IAAI,oBAAoB,EAAE,MAAM,GAAG,CAAC,IACvD;AACE,0BAAE,MAAM,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,CAAC,OAAO,KAAK,aAAa;AAC7D,yBAAA,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,KAAI;wBACxB,QACEC,KAAC,IAAI,EAAA,EAEH,SAAS,EAAC,yCAAyC,EAAA,QAAA,EAAA,CAEnDD,GAAA,CAAC,UAAU,EAAA,EAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAA,CAAI,EACjEC,IAAA,CAAC,IAAI,IAAC,SAAS,EAAC,eAAe,EAAA,QAAA,EAAA,CAC5B,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAChCA,IAAA,CAAC,IAAI,EAAA,EACH,IAAI,EAAC,MAAM,EACX,MAAM,EAAE,GAAG,EACX,SAAS,EAAC,eAAe,EACzB,KAAK,EAAE,EAAE,KAAK,EAAE,uCAAuC,EAAE,EAAA,QAAA,EAAA,CAAA,GAAA,EAEvD,SAAS,EAAE,cAAc,EAAE,MAAM,EAAA,OAAA,EAClC,SAAS,EAAE,cAAc,IAAI,SAAS,EAAE,cAAc,EAAE,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,EAAA,GAAA,CAAA,EAAA,CACzE,CAAA,EAAA,CACF,CAAA,EAAA,EAfF,CAAA,EAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,KAAK,CAAA,CAAE,CAgB7C;oBAEX,CAAC,CAAC,KAEJD,GAAA,CAAC,IAAI,EAAA,EACH,SAAS,EAAC,kEAAkE,EAC5E,KAAK,EAAE,EAAE,KAAK,EAAE,uCAAuC,EAAE,EAAA,QAAA,EAAA,kCAAA,EAAA,CAGpD,CACR,GACI,EACPC,IAAA,CAAC,IAAI,EAAA,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAC,eAAe,EAAA,QAAA,EAAA,CACrD,CAAA,YAAA,CAAc,OAAG,gBAAgB,EAAA,WAAA,EAAW,GAAG,EAC/C,YAAY,GAAG,gBAAgB,GAAG,UAAU,GAAG,CAAC,GAAG,oBAAoB,EAAE,MAAM,EAAA,cAAA,EAC/E,CAAC,YAAY,IAAI,gBAAgB,IAAI,CAAC,IAAI,UAAU,GAAG,CAAC,IAAI,oBAAoB,EAAE,MAAM,IAAI,CAAC,CAAC,IAAI;AACjG,8BAAE;AACF,8BAAE,EAAE,EAAA,GAAA,CAAA,EAAA,CAED,EACN,UAAU,IACTD,IAAC,MAAM,EAAA,EACL,SAAS,EAAC,0BAA0B,EACpC,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,CAAC,UAAU,IAAI,SAAS,IAAI,CAAC,gBAAgB,EACvD,IAAI,EAAE,SAAS,YAEd,CAAC,UAAU,GAAG,oBAAoB,GAAG,OAAO,EAAA,CACtC,IACP,YAAY,IACdA,GAAA,CAAC,MAAM,EAAA,EACL,SAAS,EAAC,0BAA0B,EACpC,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,CAAC,YAAY,IAAI,SAAS,IAAI,CAAC,gBAAgB,EACzD,IAAI,EAAE,SAAS,EAAA,QAAA,EAEd,CAAC,YAAY,GAAG,sBAAsB,GAAG,OAAO,EAAA,CAC1C,IACP,OAAO,KAAK,aAAa,IAC3BA,GAAA,CAAC,MAAM,EAAA,EAAC,SAAS,EAAC,0BAA0B,EAAC,OAAO,EAAE,WAAW,EAAA,QAAA,EAAA,OAAA,EAAA,CAExD,KAETC,IAAA,CAAC,MAAM,IAAC,SAAS,EAAC,0BAA0B,EAAC,OAAO,EAAE,MAAM,WAAW,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAA,QAAA,EAAA,CAAA,YAAA,EACtF,aAAa,CAAC,aAAa,IAAI,CAAC,CAAC,IACrC,CACV,CAAA,EAAA,CACI,CACR,EAAA,CACK;AAEZ;;;;"}
1
+ {"version":3,"file":"ClaimAllModal.js","sources":["../../../../../src/views/YourBonds/components/ClaimAll/ClaimAllModal.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\nimport { useSwitchChain, useWriteContract } from 'wagmi'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport useUserBonds from '../../../../state/bonds/useUserBonds'\nimport Button from '../../../../components/uikit-sdk/Button/Button'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport Modal from '../../../../components/uikit-sdk/Modal'\nimport Text from '../../../../components/uikit-sdk/Text'\nimport TokenImage from '../../../../components/uikit-sdk/TokenImage'\nimport { NETWORK_LABEL } from '../../../../config/constants/chains'\nimport ChainOptionsList from '../../../../components/ChainOptionList/ChainOptionsList'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\nimport ChainOptionsButtons from '../../../../components/ChainOptionList/ChainOptionsButtons'\nimport { UserBill } from '../../../../types/yourbonds'\nimport BOND_ABI from '../../../../config/abi/BOND_2_4_0.json'\nimport track from '../../../../utils/track'\nimport { usePopups } from '../../../../state/popups/usePopups'\nimport { BillsConfig } from '@ape.swap/apeswap-lists'\nimport { reportError } from '../../../../utils/reportError'\nimport useEVMAccount from '../../../../hooks/accounts/useEVMAccount'\nimport useAPTAccount from '../../../../hooks/accounts/useAPTAccount'\nimport useSUIAccount from '../../../../hooks/accounts/useSUIAccount'\nimport { APTOS_CLAIM_FUNCTION } from '../../../../constants/aptosConstants'\nimport { SUI_CLAIM_FUNCTION } from '../../../../constants/suiConstants'\nimport { getAptosClient } from '../../../../utils/aptosHelpers'\nimport { Transaction } from '@mysten/sui/transactions'\nimport { verifySuiTxSuccess } from '../../../../utils/suiHelpers'\nimport Arrow from '../../../../components/uikit-sdk/Svg/Icons/Arrow'\n\nconst ClaimAllModal = () => {\n const { chainId, address: account } = useEVMAccount()\n const { address: aptosAccount, signAndSubmitTransaction } = useAPTAccount()\n const { address: suiAccount, signAndExecuteTransaction } = useSUIAccount()\n const { switchChain } = useSwitchChain()\n const SDKConfig = useSDKConfig()\n const chains = SDKConfig?.chains as number[]\n\n const [selectedChain, setSelectedChain] = useState(\n chainId ?? (aptosAccount ? ChainId.APTOS : suiAccount ? ChainId.SUI : 56),\n )\n const [viewAllChains, setViewAllChains] = useState<boolean>(false)\n const { data: userOwnedBills } = useUserBonds()\n const ownedBills = userOwnedBills?.filter((bill) => parseFloat(bill?.payout) > 0)\n\n const groupedBills = ownedBills?.reduce((acc: { bond: BillsConfig; userOwnedBills: UserBill[] }[], bill) => {\n const bondIndex = bill?.bond?.index\n\n // Check if this bond index already exists in the accumulator\n const existingGroup = acc.find((group) => group.bond.index === bondIndex)\n\n if (existingGroup) {\n // If the group already exists, add this bill to the userOwnedBills array\n existingGroup.userOwnedBills.push(bill)\n } else {\n // If it doesn't exist, create a new group\n acc.push({\n bond: bill.bond as any,\n userOwnedBills: [bill],\n })\n }\n\n return acc\n }, [])\n\n const bondsOfSelectedChain = groupedBills?.filter((group) => group.bond.chainId === selectedChain)\n const ownedBillsAmount = bondsOfSelectedChain?.reduce(\n (total, ownerBills) => total + (ownerBills.userOwnedBills?.length || 0),\n 0,\n )\n const { addToastError, addToastSuccess } = usePopups()\n\n const { writeContractAsync } = useWriteContract()\n const { refetch } = useUserBonds()\n const [loadingTx, setLoadingTx] = useState(false)\n\n const isAptosChain = selectedChain === ChainId.APTOS\n const isSuiChain = selectedChain === ChainId.SUI\n\n const handleClaimEVM = async () => {\n try {\n bondsOfSelectedChain?.map(async (purchasedBond) => {\n const address: `0x${string}` = purchasedBond.bond.contractAddress[purchasedBond.bond.chainId] as `0x${string}`\n track({\n event: 'bond',\n chain: purchasedBond.bond.chainId,\n data: {\n cat: 'claimAll',\n address,\n earnToken: purchasedBond?.bond.earnToken.symbol,\n },\n })\n return writeContractAsync({\n address,\n abi: BOND_ABI,\n functionName: 'batchRedeem',\n args: [purchasedBond.userOwnedBills.map((b) => b.id)],\n chain: chainId as any,\n account,\n })\n })\n } catch (error: any) {\n console.error('Claim All failed:', error)\n addToastError(error.message)\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error,\n extraInfo: { type: 'claimAll', bondsOfSelectedChain, error },\n chainId,\n account,\n })\n }\n }\n\n const handleClaimAptos = async () => {\n if (!aptosAccount || !bondsOfSelectedChain?.length) return\n\n setLoadingTx(true)\n try {\n // Aptos has no batchRedeem — claim each bill individually\n const allBills = bondsOfSelectedChain.flatMap((group) =>\n group.userOwnedBills.map((b) => ({ bill: b, market: group.bond.contractAddress[group.bond.chainId] })),\n )\n\n let lastTxHash = ''\n for (const { bill, market } of allBills) {\n if (!market || !bill.id) continue\n\n track({\n event: 'bond',\n chain: ChainId.APTOS,\n data: { cat: 'claimAll', address: market, earnToken: bill.bond?.earnToken?.symbol },\n })\n\n const response = await signAndSubmitTransaction?.({\n data: {\n function: APTOS_CLAIM_FUNCTION,\n typeArguments: [],\n functionArguments: [market, bill.id],\n },\n })\n if (!response?.hash) throw new Error('No tx hash returned by wallet')\n lastTxHash = response.hash\n\n const aptos = getAptosClient()\n await aptos.waitForTransaction({ transactionHash: response.hash })\n }\n\n refetch()\n addToastSuccess(lastTxHash, ChainId.APTOS)\n } catch (error: any) {\n console.error('Aptos Claim All failed:', error)\n addToastError(error?.message ?? 'Unknown error')\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error,\n extraInfo: { type: 'aptosClaimAll', bondsOfSelectedChain, error },\n chainId: ChainId.APTOS,\n account: aptosAccount ?? '',\n })\n } finally {\n setLoadingTx(false)\n }\n }\n\n const handleClaimSui = async () => {\n if (!suiAccount || !bondsOfSelectedChain?.length || !signAndExecuteTransaction) return\n\n setLoadingTx(true)\n try {\n const allBills = bondsOfSelectedChain\n .flatMap((group) =>\n group.userOwnedBills.map((b) => ({ bill: b, market: group.bond.contractAddress[group.bond.chainId] })),\n )\n .filter(({ bill }) => bill.pendingRewards !== '0')\n\n // Build a single PTB that claims all bills in one transaction\n const tx = new Transaction()\n for (const { bill, market } of allBills) {\n if (!market || !bill.address) continue\n\n const payoutCoinType = bill.bond?.earnToken?.address?.[bill.bond?.chainId ?? 0]\n const principalCoinType = bill.bond?.lpToken?.address?.[bill.bond?.chainId ?? 0]\n if (!payoutCoinType || !principalCoinType) continue\n\n track({\n event: 'bond',\n chain: ChainId.SUI,\n data: { cat: 'claimAll', address: market, earnToken: bill.bond?.earnToken?.symbol },\n })\n\n const [claimedCoin] = tx.moveCall({\n target: SUI_CLAIM_FUNCTION,\n typeArguments: [payoutCoinType, principalCoinType],\n arguments: [\n tx.object(market),\n tx.object(bill.address), // BondNFT object ID\n tx.object('0x6'), // clock\n ],\n })\n tx.transferObjects([claimedCoin], tx.pure.address(suiAccount!))\n }\n\n // Pre-build so the wallet receives fully-resolved bytes\n tx.setSender(suiAccount!)\n tx.setGasBudget(50_000_000)\n const { getSuiClient } = await import('../../../../utils/suiHelpers')\n const suiClient = getSuiClient()\n const builtBytes = await tx.build({ client: suiClient })\n const prebuiltTx = Transaction.from(builtBytes)\n\n const claimResponse = await signAndExecuteTransaction({ transaction: prebuiltTx })\n const claimDigest = claimResponse?.digest\n if (claimDigest) {\n await verifySuiTxSuccess(claimDigest)\n }\n\n refetch()\n addToastSuccess(claimDigest, ChainId.SUI)\n } catch (error: any) {\n console.error('Sui Claim All failed:', error)\n addToastError(error?.message ?? 'Unknown error')\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error,\n extraInfo: { type: 'suiClaimAll', bondsOfSelectedChain, error },\n chainId: ChainId.SUI,\n account: suiAccount ?? '',\n })\n } finally {\n setLoadingTx(false)\n }\n }\n\n const handleClaim = isSuiChain ? handleClaimSui : isAptosChain ? handleClaimAptos : handleClaimEVM\n\n const purchasedBillsChains = groupedBills\n ?.reduce((acc: number[], bill) => {\n if (acc.includes(bill.bond.chainId)) {\n return acc\n } else return [...acc, bill.bond.chainId]\n }, [])\n ?.sort((a, b) => a - b)\n\n // Auto-select the first chain that has bonds when the current selection has none\n useEffect(() => {\n if (purchasedBillsChains?.length && !purchasedBillsChains.includes(selectedChain)) {\n setSelectedChain(purchasedBillsChains[0])\n }\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [purchasedBillsChains?.length])\n\n return (\n <Modal title=\"Claim All\" className=\"ape:w-[420px]\">\n {viewAllChains ? (\n <>\n <Flex className=\"ape:justify-between ape:mb-[20px]\">\n <Flex onClick={() => setViewAllChains(false)} className=\"ape:hover:cursor-pointer\">\n <Arrow width=\"10px\" direction=\"left\" />\n </Flex>\n <Text size=\"16px\" weight={300}>All Chain Options</Text>\n </Flex>\n <ChainOptionsList\n setSelectedChain={setSelectedChain}\n setViewAllChains={setViewAllChains}\n chainList={chains}\n />\n </>\n ) : (\n <Flex className=\"ape:flex-col ape:w-full\">\n <Text size=\"14px\" weight={400} className=\"ape:my-[10px]\">\n Select the chain from which you want to claim your Bonds.\n </Text>\n <ChainOptionsButtons\n setSelectedChain={setSelectedChain}\n selectedChain={selectedChain}\n setViewAllChains={setViewAllChains}\n chainList={purchasedBillsChains ?? []}\n />\n <Flex className=\"ape:w-full ape:mt-[10px] ape:bg-white3 ape:rounded-normal ape:p-[10px] ape:flex-col ape:h-[30vh] ape:overflow-y-auto\">\n {bondsOfSelectedChain && bondsOfSelectedChain?.length > 0 ? (\n bondsOfSelectedChain\n ?.filter((userBill) => userBill.bond.chainId === selectedChain)\n .map((ownedBill, index) => {\n return (\n <Flex\n key={`${ownedBill.bond.earnToken.symbol}-${index}`}\n className=\"ape:w-full ape:items-center ape:p-[5px]\"\n >\n <TokenImage symbol={ownedBill.bond.earnToken.symbol} size={30} />\n <Text className=\"ape:ml-[10px]\">\n {ownedBill.bond.earnToken.symbol}\n <Text\n as=\"span\"\n size=\"14px\"\n weight={400}\n className=\"ape:ml-[10px]\"\n style={{ color: 'var(--ape-color-text-disabled-button)' }}\n >\n ({ownedBill?.userOwnedBills?.length} Bond\n {ownedBill?.userOwnedBills && ownedBill?.userOwnedBills?.length > 1 ? 's' : ''})\n </Text>\n </Text>\n </Flex>\n )\n })\n ) : (\n <Flex\n className=\"ape:text-[14px] ape:font-normal ape:justify-center ape:mt-[10px]\"\n style={{ color: 'var(--ape-color-text-disabled-button)' }}\n >\n No bonds to claim for this chain\n </Flex>\n )}\n </Flex>\n <Text size=\"14px\" weight={400} className=\"ape:mt-[15px]\">\n {`You'll claim`} {ownedBillsAmount} Bonds in{' '}\n {isAptosChain ? ownedBillsAmount : isSuiChain ? 1 : bondsOfSelectedChain?.length} transaction\n {(isAptosChain ? (ownedBillsAmount ?? 0) : isSuiChain ? 0 : (bondsOfSelectedChain?.length ?? 0)) > 1\n ? 's'\n : ''}\n .\n </Text>\n {isSuiChain ? (\n <Button\n className=\"ape:mt-[15px] ape:w-full\"\n onClick={handleClaim}\n disabled={!suiAccount || loadingTx || !ownedBillsAmount}\n load={loadingTx}\n >\n {!suiAccount ? 'Connect Sui Wallet' : 'Claim'}\n </Button>\n ) : isAptosChain ? (\n <Button\n className=\"ape:mt-[15px] ape:w-full\"\n onClick={handleClaim}\n disabled={!aptosAccount || loadingTx || !ownedBillsAmount}\n load={loadingTx}\n >\n {!aptosAccount ? 'Connect Aptos Wallet' : 'Claim'}\n </Button>\n ) : chainId === selectedChain ? (\n <Button className=\"ape:mt-[15px] ape:w-full\" onClick={handleClaim}>\n Claim\n </Button>\n ) : (\n <Button className=\"ape:mt-[15px] ape:w-full\" onClick={() => switchChain({ chainId: selectedChain })}>\n Switch to {NETWORK_LABEL[selectedChain ?? 0]}\n </Button>\n )}\n </Flex>\n )}\n </Modal>\n )\n}\n\nexport default ClaimAllModal\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
@@ -11,7 +11,7 @@ const ClaimAll = () => {
11
11
  const { address: aptosAccount } = useAPTAccount();
12
12
  const { address: suiAccount } = useSUIAccount();
13
13
  const [onOpenModal] = useModal(jsx(ClaimAllModal, {}));
14
- return (jsx(Button, { onClick: onOpenModal, disabled: !evmAccount && !aptosAccount && !suiAccount, className: "ape:h-[30px] ape:text-[14px]! ape:font-semibold ape:w-full ape:opacity-100 ape:ml-[10px] ape:lg:ml-0", style: { lineHeight: '12px' }, children: "Claim All" }));
14
+ return (jsx(Button, { onClick: onOpenModal, disabled: !evmAccount && !aptosAccount && !suiAccount, className: "ape:w-full ape:h-[30px] ape:text-[14px]! ape:font-semibold ape:ml-[10px] ape:lg:ml-0", children: "Claim All" }));
15
15
  };
16
16
 
17
17
  export { ClaimAll as default };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/YourBonds/components/ClaimAll/index.tsx"],"sourcesContent":["import React from 'react'\nimport ClaimAllModal from './ClaimAllModal'\nimport Button from '../../../../components/uikit-sdk/Button/Button'\nimport useModal from '../../../../hooks/useModal'\nimport useEVMAccount from '../../../../hooks/accounts/useEVMAccount'\nimport useAPTAccount from '../../../../hooks/accounts/useAPTAccount'\nimport useSUIAccount from '../../../../hooks/accounts/useSUIAccount'\n\nconst ClaimAll = () => {\n const { address: evmAccount } = useEVMAccount()\n const { address: aptosAccount } = useAPTAccount()\n const { address: suiAccount } = useSUIAccount()\n const [onOpenModal] = useModal(<ClaimAllModal />)\n\n return (\n <Button\n onClick={onOpenModal}\n disabled={!evmAccount && !aptosAccount && !suiAccount}\n className=\"ape:h-[30px] ape:text-[14px]! ape:font-semibold ape:w-full ape:opacity-100 ape:ml-[10px] ape:lg:ml-0\"\n style={{ lineHeight: '12px' }}\n >\n Claim All\n </Button>\n )\n}\n\nexport default ClaimAll\n"],"names":["_jsx"],"mappings":";;;;;;;;AAQA,MAAM,QAAQ,GAAG,MAAK;IACpB,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,aAAa,EAAE;IAC/C,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,aAAa,EAAE;IACjD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,aAAa,EAAE;IAC/C,MAAM,CAAC,WAAW,CAAC,GAAG,QAAQ,CAACA,GAAA,CAAC,aAAa,EAAA,EAAA,CAAG,CAAC;AAEjD,IAAA,QACEA,GAAA,CAAC,MAAM,EAAA,EACL,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,CAAC,UAAU,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,EACrD,SAAS,EAAC,sGAAsG,EAChH,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAA,QAAA,EAAA,WAAA,EAAA,CAGtB;AAEb;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/views/YourBonds/components/ClaimAll/index.tsx"],"sourcesContent":["import React from 'react'\nimport ClaimAllModal from './ClaimAllModal'\nimport Button from '../../../../components/uikit-sdk/Button/Button'\nimport useModal from '../../../../hooks/useModal'\nimport useEVMAccount from '../../../../hooks/accounts/useEVMAccount'\nimport useAPTAccount from '../../../../hooks/accounts/useAPTAccount'\nimport useSUIAccount from '../../../../hooks/accounts/useSUIAccount'\n\nconst ClaimAll = () => {\n const { address: evmAccount } = useEVMAccount()\n const { address: aptosAccount } = useAPTAccount()\n const { address: suiAccount } = useSUIAccount()\n const [onOpenModal] = useModal(<ClaimAllModal />)\n\n return (\n <Button\n onClick={onOpenModal}\n disabled={!evmAccount && !aptosAccount && !suiAccount}\n className=\"ape:w-full ape:h-[30px] ape:text-[14px]! ape:font-semibold ape:ml-[10px] ape:lg:ml-0\"\n >\n Claim All\n </Button>\n )\n}\n\nexport default ClaimAll\n"],"names":["_jsx"],"mappings":";;;;;;;;AAQA,MAAM,QAAQ,GAAG,MAAK;IACpB,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,aAAa,EAAE;IAC/C,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,aAAa,EAAE;IACjD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,aAAa,EAAE;IAC/C,MAAM,CAAC,WAAW,CAAC,GAAG,QAAQ,CAACA,GAAA,CAAC,aAAa,EAAA,EAAA,CAAG,CAAC;IAEjD,QACEA,GAAA,CAAC,MAAM,EAAA,EACL,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,CAAC,UAAU,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,EACrD,SAAS,EAAC,sFAAsF,EAAA,QAAA,EAAA,WAAA,EAAA,CAGzF;AAEb;;;;"}
@@ -8,7 +8,7 @@ import Sort from '../../../../components/uikit-sdk/Svg/Icons/Sort.js';
8
8
 
9
9
  const YourBondsMenu = ({ chainFilterOption, setChainFilterOption, filterOptions, filterOption, setFilterOption, setInputValue, inputValue, handleSort, }) => {
10
10
  const SDKConfig = useSDKConfig();
11
- return (jsxs("div", { className: "bonds-menu ape:flex ape:justify-around ape:items-center ape:flex-col ape:w-full ape:text-[11px]", children: [jsx(BondFilters, { chainFilterOption: chainFilterOption ?? ['All Chains'], setChainFilterOption: setChainFilterOption, filterOptions: filterOptions, filterOption: filterOption, setFilterOption: setFilterOption, onHandleQueryChange: () => setInputValue('') }), jsxs("div", { className: "table-header-container ape:flex ape:w-full ape:justify-between ape:overflow-hidden ape:py-[10px] ape:min-[1000px]:p-[20px_0_10px_0]", children: [jsx("div", { className: "search-container ape:flex ape:flex-row ape:lg:w-[30%] ape:lg:min-w-[400px] ape:min-w-[unset] ape:lg:min-w-[300px]!", children: jsx(Flex, { className: "ape:w-full ape:max-w-[300px]", children: jsx(Input, { className: "search-input ape:font-semibold ape:bg-white2 ape:h-[30px] ape:text-[14px]! ape:text-white", value: inputValue, onChange: (event) => setInputValue(event.target.value), variant: "search", width: '100%', placeholder: 'Search...' }) }) }), jsxs("div", { className: "headers-container ape:flex ape:w-1/2 ape:justify-end ape:items-center ape:min-[1000px]:justify-between ape:min-[1000px]:w-[70%] ape:pr-0 ape:md:pr-[20px]", children: [jsx(Flex, { className: "ape:hidden ape:md:flex ape:w-[125px]" }), jsxs("div", { className: "your-bonds-table-headers ape:hidden ape:w-[130px] ape:items-center ape:justify-center ape:cursor-pointer ape:opacity-60 ape:leading-[12px] ape:min-[1000px]:flex", onClick: () => handleSort('claimable'), children: ["CLAIMABLE", jsx(Flex, { className: "ape:ml-[5px]", children: jsx(Sort, { width: "12px", color: "textDisabledButton" }) })] }), jsxs("div", { className: "your-bonds-table-headers ape:hidden ape:w-[130px] ape:items-center ape:justify-center ape:cursor-pointer ape:opacity-60 ape:leading-[12px] ape:min-[1000px]:flex", onClick: () => handleSort('pending'), children: ["PENDING", jsx(Flex, { className: "ape:ml-[5px]", children: jsx(Sort, { width: "12px", color: "textDisabledButton" }) })] }), jsxs("div", { className: "your-bonds-table-headers ape:hidden ape:w-[130px] ape:items-center ape:justify-center ape:cursor-pointer ape:opacity-60 ape:leading-[12px] ape:min-[1000px]:flex", onClick: () => handleSort('terms'), children: ["VESTING PROGRESS", jsx(Flex, { className: "ape:ml-[5px]", children: jsx(Sort, { width: "12px", color: "textDisabledButton" }) })] }), jsx(Flex, { className: "claim-all-button-container ape:flex ape:w-[210px] ape:items-end ape:justify-center ape:cursor-pointer", children: SDKConfig.referenceId === 'apebond' && jsx(ClaimAll, {}) })] })] })] }));
11
+ return (jsxs("div", { className: "bonds-menu ape:flex ape:justify-around ape:items-center ape:flex-col ape:w-full ape:text-[11px]", children: [jsx(BondFilters, { chainFilterOption: chainFilterOption ?? ['All Chains'], setChainFilterOption: setChainFilterOption, filterOptions: filterOptions, filterOption: filterOption, setFilterOption: setFilterOption, onHandleQueryChange: () => setInputValue('') }), jsxs("div", { className: "table-header-container ape:flex ape:w-full ape:justify-between ape:overflow-hidden ape:py-[10px] ape:min-[1000px]:p-[20px_0_10px_0]", children: [jsx("div", { className: "search-container ape:flex ape:flex-row ape:lg:w-[30%] ape:lg:min-w-[400px] ape:min-w-[unset] ape:lg:min-w-[300px]!", children: jsx(Flex, { className: "ape:w-full ape:max-w-85", children: jsx(Input, { className: "search-input ape:font-medium ape:bg-white2 ape:h-7.5 ape:text-[14px] ape:w-[calc(50vw-25px)] ape:text-white", value: inputValue, onChange: (event) => setInputValue(event.target.value), variant: "search", width: '100%', placeholder: 'Search...' }) }) }), jsxs("div", { className: "headers-container ape:flex ape:w-1/2 ape:justify-end ape:items-center ape:min-[1000px]:justify-between ape:min-[1000px]:w-[70%] ape:pr-0 ape:md:pr-[20px]", children: [jsx(Flex, { className: "ape:hidden ape:md:flex ape:w-[125px]" }), jsxs("div", { className: "your-bonds-table-headers ape:hidden ape:w-[130px] ape:items-center ape:justify-center ape:cursor-pointer ape:opacity-60 ape:leading-[12px] ape:min-[1000px]:flex", onClick: () => handleSort('claimable'), children: ["CLAIMABLE", jsx(Flex, { className: "ape:ml-[5px]", children: jsx(Sort, { width: "12px", color: "textDisabledButton" }) })] }), jsxs("div", { className: "your-bonds-table-headers ape:hidden ape:w-[130px] ape:items-center ape:justify-center ape:cursor-pointer ape:opacity-60 ape:leading-[12px] ape:min-[1000px]:flex", onClick: () => handleSort('pending'), children: ["PENDING", jsx(Flex, { className: "ape:ml-[5px]", children: jsx(Sort, { width: "12px", color: "textDisabledButton" }) })] }), jsxs("div", { className: "your-bonds-table-headers ape:hidden ape:w-[130px] ape:items-center ape:justify-center ape:cursor-pointer ape:opacity-60 ape:leading-[12px] ape:min-[1000px]:flex", onClick: () => handleSort('terms'), children: ["VESTING PROGRESS", jsx(Flex, { className: "ape:ml-[5px]", children: jsx(Sort, { width: "12px", color: "textDisabledButton" }) })] }), jsx(Flex, { className: "claim-all-button-container ape:flex ape:w-[210px] ape:items-end ape:justify-center ape:cursor-pointer", children: SDKConfig.referenceId === 'apebond' && jsx(ClaimAll, {}) })] })] })] }));
12
12
  };
13
13
 
14
14
  export { YourBondsMenu as default };