@ape.swap/bonds-sdk 6.3.0-test.69 → 7.0.0-test.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +223 -131
- package/dist/adapters/all/index.d.ts +13 -0
- package/dist/adapters/all/index.js +15 -0
- package/dist/adapters/all/index.js.map +1 -0
- package/dist/adapters/aptos/ActionsAptos.d.ts +5 -0
- package/dist/{views/YourBondsModal/components/Actions → adapters/aptos}/ActionsAptos.js +14 -14
- package/dist/adapters/aptos/ActionsAptos.js.map +1 -0
- package/dist/adapters/aptos/AptosAccountBridge.d.ts +3 -0
- package/dist/adapters/aptos/AptosAccountBridge.js +12 -0
- package/dist/adapters/aptos/AptosAccountBridge.js.map +1 -0
- package/dist/{views/BuyBond → adapters/aptos}/BuyComponentAptos.js +11 -17
- package/dist/adapters/aptos/BuyComponentAptos.js.map +1 -0
- package/dist/adapters/aptos/ClaimAllActionAptos.d.ts +5 -0
- package/dist/adapters/aptos/ClaimAllActionAptos.js +73 -0
- package/dist/adapters/aptos/ClaimAllActionAptos.js.map +1 -0
- package/dist/{components/ConnectAptosWalletButton → adapters/aptos}/ConnectAptosWalletButton.d.ts +1 -1
- package/dist/{components/ConnectAptosWalletButton → adapters/aptos}/ConnectAptosWalletButton.js +4 -9
- package/dist/adapters/aptos/ConnectAptosWalletButton.js.map +1 -0
- package/dist/adapters/aptos/ConnectToAptosBanner.d.ts +1 -0
- package/dist/adapters/aptos/ConnectToAptosBanner.js +21 -0
- package/dist/adapters/aptos/ConnectToAptosBanner.js.map +1 -0
- package/dist/{views/YourBondsModal/components/TransferBondModal → adapters/aptos}/TransferActionAptos.d.ts +2 -3
- package/dist/{views/YourBondsModal/components/TransferBondModal → adapters/aptos}/TransferActionAptos.js +3 -3
- package/dist/adapters/aptos/TransferActionAptos.js.map +1 -0
- package/dist/adapters/aptos/UserBondRowAptos.d.ts +5 -0
- package/dist/adapters/aptos/UserBondRowAptos.js +108 -0
- package/dist/adapters/aptos/UserBondRowAptos.js.map +1 -0
- package/dist/{utils → adapters/aptos}/aptosHelpers.d.ts +3 -2
- package/dist/{utils → adapters/aptos}/aptosHelpers.js +4 -3
- package/dist/adapters/aptos/aptosHelpers.js.map +1 -0
- package/dist/{state/bonds/fetchBondsData → adapters/aptos}/fetchBondsDataAptos.d.ts +2 -2
- package/dist/{state/bonds/fetchBondsData → adapters/aptos}/fetchBondsDataAptos.js +4 -27
- package/dist/adapters/aptos/fetchBondsDataAptos.js.map +1 -0
- package/dist/{state/bonds/fetchUsersBonds → adapters/aptos}/fetchUsersBondsAptos.d.ts +2 -2
- package/dist/{state/bonds/fetchUsersBonds → adapters/aptos}/fetchUsersBondsAptos.js +8 -8
- package/dist/adapters/aptos/fetchUsersBondsAptos.js.map +1 -0
- package/dist/adapters/aptos/index.d.ts +6 -0
- package/dist/adapters/aptos/index.js +37 -0
- package/dist/adapters/aptos/index.js.map +1 -0
- package/dist/{hooks/accounts → adapters/aptos}/useAPTAccount.js +1 -1
- package/dist/{hooks/accounts → adapters/aptos}/useAPTAccount.js.map +1 -1
- package/dist/{state/zap → adapters/aptos}/useAptosZapQuote.js +2 -3
- package/dist/adapters/aptos/useAptosZapQuote.js.map +1 -0
- package/dist/{state/balance → adapters/aptos}/useCurrencyBalanceAptos.js +1 -1
- package/dist/adapters/aptos/useCurrencyBalanceAptos.js.map +1 -0
- package/dist/adapters/evm/Actions.d.ts +5 -0
- package/dist/{views/YourBondsModal/components/Actions → adapters/evm}/Actions.js +26 -21
- package/dist/adapters/evm/Actions.js.map +1 -0
- package/dist/adapters/evm/BuyComponent.d.ts +5 -0
- package/dist/{views/BuyBond → adapters/evm}/BuyComponent.js +57 -61
- package/dist/adapters/evm/BuyComponent.js.map +1 -0
- package/dist/adapters/evm/ClaimAllActionEVM.d.ts +5 -0
- package/dist/adapters/evm/ClaimAllActionEVM.js +60 -0
- package/dist/adapters/evm/ClaimAllActionEVM.js.map +1 -0
- package/dist/adapters/evm/ConnectToEvmBanner.d.ts +1 -0
- package/dist/adapters/evm/ConnectToEvmBanner.js +12 -0
- package/dist/adapters/evm/ConnectToEvmBanner.js.map +1 -0
- package/dist/adapters/evm/EvmAccountBridge.d.ts +6 -0
- package/dist/adapters/evm/EvmAccountBridge.js +15 -0
- package/dist/adapters/evm/EvmAccountBridge.js.map +1 -0
- package/dist/{views/TransactionModal → adapters/evm}/TransactionModal.d.ts +2 -3
- package/dist/adapters/evm/TransactionModal.js +167 -0
- package/dist/adapters/evm/TransactionModal.js.map +1 -0
- package/dist/{views/YourBondsModal/components/TransferBondModal → adapters/evm}/TransferAction.d.ts +2 -3
- package/dist/{views/YourBondsModal/components/TransferBondModal → adapters/evm}/TransferAction.js +14 -12
- package/dist/adapters/evm/TransferAction.js.map +1 -0
- package/dist/adapters/evm/UserBondRow.d.ts +5 -0
- package/dist/adapters/evm/UserBondRow.js +138 -0
- package/dist/adapters/evm/UserBondRow.js.map +1 -0
- package/dist/adapters/evm/balances.d.ts +6 -0
- package/dist/adapters/evm/balances.js +61 -0
- package/dist/adapters/evm/balances.js.map +1 -0
- package/dist/{state/bonds/fetchBondsData → adapters/evm}/fetchBondsDataEVM.d.ts +3 -2
- package/dist/adapters/evm/fetchBondsDataEVM.js +156 -0
- package/dist/adapters/evm/fetchBondsDataEVM.js.map +1 -0
- package/dist/{state/bonds/fetchUsersBonds → adapters/evm}/fetchUsersBondsEVM.d.ts +2 -2
- package/dist/{state/bonds/fetchUsersBonds → adapters/evm}/fetchUsersBondsEVM.js +10 -10
- package/dist/adapters/evm/fetchUsersBondsEVM.js.map +1 -0
- package/dist/adapters/evm/getTierPoints.d.ts +3 -0
- package/dist/adapters/evm/getTierPoints.js +48 -0
- package/dist/adapters/evm/getTierPoints.js.map +1 -0
- package/dist/adapters/evm/index.d.ts +6 -0
- package/dist/adapters/evm/index.js +53 -0
- package/dist/adapters/evm/index.js.map +1 -0
- package/dist/{utils → adapters/evm}/multicall.js +3 -3
- package/dist/adapters/evm/multicall.js.map +1 -0
- package/dist/{views/BuyBond → adapters/evm/preTGE}/BuyComponentPreTGE.d.ts +1 -2
- package/dist/adapters/evm/preTGE/BuyComponentPreTGE.js +128 -0
- package/dist/adapters/evm/preTGE/BuyComponentPreTGE.js.map +1 -0
- package/dist/{views/Bonds/components/BondRows → adapters/evm/preTGE}/ModalHandlerPreTGE.d.ts +1 -2
- package/dist/{views/Bonds/components/BondRows → adapters/evm/preTGE}/ModalHandlerPreTGE.js +5 -5
- package/dist/adapters/evm/preTGE/ModalHandlerPreTGE.js.map +1 -0
- package/dist/adapters/evm/preTGE/PreTGEActions.d.ts +5 -0
- package/dist/{views/YourBonds/components/UserBondRow → adapters/evm/preTGE}/PreTGEActions.js +11 -15
- package/dist/adapters/evm/preTGE/PreTGEActions.js.map +1 -0
- package/dist/adapters/evm/preTGE/UserBondRowPreTGE.d.ts +5 -0
- package/dist/adapters/evm/preTGE/UserBondRowPreTGE.js +41 -0
- package/dist/adapters/evm/preTGE/UserBondRowPreTGE.js.map +1 -0
- package/dist/adapters/evm/preTGE/UserBondRowYield.d.ts +5 -0
- package/dist/adapters/evm/preTGE/UserBondRowYield.js +43 -0
- package/dist/adapters/evm/preTGE/UserBondRowYield.js.map +1 -0
- package/dist/{views → adapters/evm/preTGE}/YourBondsModalYield/YourBondsModalYield.d.ts +2 -3
- package/dist/adapters/evm/preTGE/YourBondsModalYield/YourBondsModalYield.js +150 -0
- package/dist/adapters/evm/preTGE/YourBondsModalYield/YourBondsModalYield.js.map +1 -0
- package/dist/{views → adapters/evm/preTGE}/YourBondsModalYield/components/UnstakeModalYield/UnstakeModalYield.d.ts +2 -3
- package/dist/adapters/evm/preTGE/YourBondsModalYield/components/UnstakeModalYield/UnstakeModalYield.js +66 -0
- package/dist/adapters/evm/preTGE/YourBondsModalYield/components/UnstakeModalYield/UnstakeModalYield.js.map +1 -0
- package/dist/{views → adapters/evm/preTGE}/YourBondsModalYield/components/YourBondModalHeader/YourBondModalHeader.d.ts +2 -3
- package/dist/adapters/evm/preTGE/YourBondsModalYield/components/YourBondModalHeader/YourBondModalHeader.js +15 -0
- package/dist/adapters/evm/preTGE/YourBondsModalYield/components/YourBondModalHeader/YourBondModalHeader.js.map +1 -0
- package/dist/{state/bonds/fetchBondsData → adapters/evm/preTGE}/fetchBondsDataPreTGE.d.ts +1 -1
- package/dist/{state/bonds/fetchBondsData → adapters/evm/preTGE}/fetchBondsDataPreTGE.js +1 -1
- package/dist/adapters/evm/preTGE/fetchBondsDataPreTGE.js.map +1 -0
- package/dist/adapters/evm/preTGE/fetchUserBondsPreTGE.d.ts +5 -0
- package/dist/adapters/evm/preTGE/fetchUserBondsPreTGE.js +204 -0
- package/dist/adapters/evm/preTGE/fetchUserBondsPreTGE.js.map +1 -0
- package/dist/{state/allowance → adapters/evm}/useAllowance.js +4 -4
- package/dist/adapters/evm/useAllowance.js.map +1 -0
- package/dist/adapters/evm/useEVMAccount.js.map +1 -0
- package/dist/{hooks → adapters/evm}/useMonitorTx.js +1 -1
- package/dist/adapters/evm/useMonitorTx.js.map +1 -0
- package/dist/{state/zap → adapters/evm}/useSoulZapBondQuote.js +12 -24
- package/dist/adapters/evm/useSoulZapBondQuote.js.map +1 -0
- package/dist/{state/bonds → adapters/evm}/useTierProofSignature.js +5 -5
- package/dist/adapters/evm/useTierProofSignature.js.map +1 -0
- package/dist/adapters/lifi/LifiModal.d.ts +4 -0
- package/dist/{views/LifiModal → adapters/lifi}/LifiModal.js +10 -7
- package/dist/adapters/lifi/LifiModal.js.map +1 -0
- package/dist/adapters/lifi/index.d.ts +6 -0
- package/dist/adapters/lifi/index.js +34 -0
- package/dist/adapters/lifi/index.js.map +1 -0
- package/dist/adapters/registry.d.ts +8 -0
- package/dist/adapters/registry.js +24 -0
- package/dist/adapters/registry.js.map +1 -0
- package/dist/adapters/solana/ActionsSolana.d.ts +5 -0
- package/dist/{views/YourBondsModal/components/Actions → adapters/solana}/ActionsSolana.js +16 -16
- package/dist/adapters/solana/ActionsSolana.js.map +1 -0
- package/dist/{views/BuyBond → adapters/solana}/BuyComponentSolana.js +21 -24
- package/dist/adapters/solana/BuyComponentSolana.js.map +1 -0
- package/dist/{components/ConnectSolanaWalletButton → adapters/solana}/ConnectSolanaWalletButton.d.ts +1 -1
- package/dist/adapters/solana/ConnectSolanaWalletButton.js +14 -0
- package/dist/adapters/solana/ConnectSolanaWalletButton.js.map +1 -0
- package/dist/adapters/solana/ConnectToSolanaBanner.d.ts +1 -0
- package/dist/adapters/solana/ConnectToSolanaBanner.js +18 -0
- package/dist/adapters/solana/ConnectToSolanaBanner.js.map +1 -0
- package/dist/adapters/solana/SolanaAccountBridge.d.ts +3 -0
- package/dist/adapters/solana/SolanaAccountBridge.js +13 -0
- package/dist/adapters/solana/SolanaAccountBridge.js.map +1 -0
- package/dist/{views/YourBondsModal/components/TransferBondModal → adapters/solana}/TransferActionSolana.d.ts +2 -2
- package/dist/{views/YourBondsModal/components/TransferBondModal → adapters/solana}/TransferActionSolana.js +7 -7
- package/dist/adapters/solana/TransferActionSolana.js.map +1 -0
- package/dist/adapters/solana/UserBondRowSolana.d.ts +5 -0
- package/dist/{views/YourBonds/components/UserBondRow → adapters/solana}/UserBondRowSolana.js +27 -30
- package/dist/adapters/solana/UserBondRowSolana.js.map +1 -0
- package/dist/{utils → adapters/solana}/calculateSolanaTrueBillPrice.js +1 -1
- package/dist/adapters/solana/calculateSolanaTrueBillPrice.js.map +1 -0
- package/dist/{types → adapters/solana/codecs}/bondCodec.d.ts +2 -2
- package/dist/{types → adapters/solana/codecs}/bondCodec.js +2 -3
- package/dist/adapters/solana/codecs/bondCodec.js.map +1 -0
- package/dist/{types → adapters/solana/codecs}/bondIssuanceCodec.d.ts +2 -2
- package/dist/{types → adapters/solana/codecs}/bondIssuanceCodec.js +2 -3
- package/dist/adapters/solana/codecs/bondIssuanceCodec.js.map +1 -0
- package/dist/{types → adapters/solana/codecs}/bondPricingCodec.d.ts +1 -1
- package/dist/{types → adapters/solana/codecs}/bondPricingCodec.js +2 -2
- package/dist/adapters/solana/codecs/bondPricingCodec.js.map +1 -0
- package/dist/{types → adapters/solana/codecs}/bondTermCodec.d.ts +1 -1
- package/dist/{types → adapters/solana/codecs}/bondTermCodec.js +2 -2
- package/dist/adapters/solana/codecs/bondTermCodec.js.map +1 -0
- package/dist/adapters/solana/derivePda.js.map +1 -0
- package/dist/adapters/solana/fetchBondsDataSOL.d.ts +4 -0
- package/dist/adapters/solana/fetchBondsDataSOL.js +123 -0
- package/dist/adapters/solana/fetchBondsDataSOL.js.map +1 -0
- package/dist/{state/bonds/fetchUsersBonds → adapters/solana}/fetchUsersBondsSOL.d.ts +2 -2
- package/dist/{state/bonds/fetchUsersBonds → adapters/solana}/fetchUsersBondsSOL.js +11 -11
- package/dist/adapters/solana/fetchUsersBondsSOL.js.map +1 -0
- package/dist/{utils → adapters/solana}/getSolanaAccount.d.ts +1 -1
- package/dist/{utils → adapters/solana}/getSolanaAccount.js +4 -4
- package/dist/adapters/solana/getSolanaAccount.js.map +1 -0
- package/dist/adapters/solana/index.d.ts +8 -0
- package/dist/adapters/solana/index.js +40 -0
- package/dist/adapters/solana/index.js.map +1 -0
- package/dist/adapters/solana/polyfills.d.ts +1 -0
- package/dist/adapters/solana/polyfills.js +7 -0
- package/dist/adapters/solana/polyfills.js.map +1 -0
- package/dist/adapters/solana/solanaAtaHelper.js.map +1 -0
- package/dist/{constants → adapters/solana}/solanaConstants.js +1 -1
- package/dist/adapters/solana/solanaConstants.js.map +1 -0
- package/dist/adapters/solana/solanaMulticall.js.map +1 -0
- package/dist/adapters/solana/solanaRpc.d.ts +1 -0
- package/dist/{utils → adapters/solana}/solanaRpc.js +2 -2
- package/dist/adapters/solana/solanaRpc.js.map +1 -0
- package/dist/{state/balance → adapters/solana}/useCurrencyBalanceSolana.d.ts +4 -0
- package/dist/{state/balance → adapters/solana}/useCurrencyBalanceSolana.js +9 -2
- package/dist/adapters/solana/useCurrencyBalanceSolana.js.map +1 -0
- package/dist/adapters/solana/useJupiterSolanaQuote.js.map +1 -0
- package/dist/adapters/solana/useSOLAccount.js.map +1 -0
- package/dist/adapters/sui/ActionsSui.d.ts +5 -0
- package/dist/{views/YourBondsModal/components/Actions → adapters/sui}/ActionsSui.js +14 -14
- package/dist/adapters/sui/ActionsSui.js.map +1 -0
- package/dist/{views/BuyBond → adapters/sui}/BuyComponentSui.js +14 -21
- package/dist/adapters/sui/BuyComponentSui.js.map +1 -0
- package/dist/adapters/sui/ClaimAllActionSui.d.ts +5 -0
- package/dist/adapters/sui/ClaimAllActionSui.js +89 -0
- package/dist/adapters/sui/ClaimAllActionSui.js.map +1 -0
- package/dist/adapters/sui/ConnectToSuiBanner.d.ts +1 -0
- package/dist/adapters/sui/ConnectToSuiBanner.js +16 -0
- package/dist/adapters/sui/ConnectToSuiBanner.js.map +1 -0
- package/dist/adapters/sui/SuiAccountBridge.d.ts +3 -0
- package/dist/adapters/sui/SuiAccountBridge.js +12 -0
- package/dist/adapters/sui/SuiAccountBridge.js.map +1 -0
- package/dist/{views/YourBondsModal/components/TransferBondModal → adapters/sui}/TransferActionSui.d.ts +2 -3
- package/dist/{views/YourBondsModal/components/TransferBondModal → adapters/sui}/TransferActionSui.js +8 -8
- package/dist/adapters/sui/TransferActionSui.js.map +1 -0
- package/dist/adapters/sui/UserBondRowSui.d.ts +5 -0
- package/dist/adapters/sui/UserBondRowSui.js +125 -0
- package/dist/adapters/sui/UserBondRowSui.js.map +1 -0
- package/dist/{state/bonds/fetchBondsData → adapters/sui}/fetchBondsDataSui.d.ts +2 -2
- package/dist/{state/bonds/fetchBondsData → adapters/sui}/fetchBondsDataSui.js +4 -30
- package/dist/adapters/sui/fetchBondsDataSui.js.map +1 -0
- package/dist/{state/bonds/fetchUsersBonds → adapters/sui}/fetchUsersBondsSUI.d.ts +2 -2
- package/dist/{state/bonds/fetchUsersBonds → adapters/sui}/fetchUsersBondsSUI.js +8 -8
- package/dist/adapters/sui/fetchUsersBondsSUI.js.map +1 -0
- package/dist/adapters/sui/index.d.ts +6 -0
- package/dist/adapters/sui/index.js +37 -0
- package/dist/adapters/sui/index.js.map +1 -0
- package/dist/adapters/sui/suiConstants.js.map +1 -0
- package/dist/{utils → adapters/sui}/suiHelpers.js +1 -1
- package/dist/adapters/sui/suiHelpers.js.map +1 -0
- package/dist/adapters/sui/suiZapTokens.js.map +1 -0
- package/dist/{state/balance → adapters/sui}/useCurrencyBalanceSui.js +1 -1
- package/dist/adapters/sui/useCurrencyBalanceSui.js.map +1 -0
- package/dist/adapters/sui/useSUIAccount.d.ts +14 -0
- package/dist/{hooks/accounts → adapters/sui}/useSUIAccount.js +3 -2
- package/dist/adapters/sui/useSUIAccount.js.map +1 -0
- package/dist/{state/zap → adapters/sui}/useSuiZapQuote.js +3 -4
- package/dist/adapters/sui/useSuiZapQuote.js.map +1 -0
- package/dist/adapters/types.d.ts +110 -0
- package/dist/components/BondFilters/BondFilters.js +3 -3
- package/dist/components/BondFilters/BondFilters.js.map +1 -1
- package/dist/components/Carousel/index.d.ts +8 -0
- package/dist/components/Carousel/index.js +148 -0
- package/dist/components/Carousel/index.js.map +1 -0
- package/dist/components/ChainOptionList/ChainOptionsButtons.d.ts +1 -1
- package/dist/components/ChainOptionList/ChainOptionsButtons.js +6 -9
- package/dist/components/ChainOptionList/ChainOptionsButtons.js.map +1 -1
- package/dist/components/ChainOptionList/ChainOptionsList.d.ts +1 -1
- package/dist/components/ChainOptionList/ChainOptionsList.js +3 -4
- package/dist/components/ChainOptionList/ChainOptionsList.js.map +1 -1
- package/dist/components/CircularProgress/index.js +3 -14
- package/dist/components/CircularProgress/index.js.map +1 -1
- package/dist/components/ConnectButton/index.d.ts +1 -2
- package/dist/components/ConnectButton/index.js +2 -5
- package/dist/components/ConnectButton/index.js.map +1 -1
- package/dist/components/ConnectSuiWalletButton/ConnectSuiWalletButton.d.ts +1 -2
- package/dist/components/CustomClaimModals/AbondModal.d.ts +1 -2
- package/dist/components/CustomClaimModals/AbondModal.js +2 -3
- package/dist/components/CustomClaimModals/AbondModal.js.map +1 -1
- package/dist/components/CustomClaimModals/OabondModal.d.ts +1 -2
- package/dist/components/CustomClaimModals/OabondModal.js +2 -3
- package/dist/components/CustomClaimModals/OabondModal.js.map +1 -1
- package/dist/components/CustomClaimModals/PmusdModal.d.ts +1 -2
- package/dist/components/CustomClaimModals/PmusdModal.js +2 -9
- package/dist/components/CustomClaimModals/PmusdModal.js.map +1 -1
- package/dist/components/CustomClaimModals/PostClaimModal.d.ts +7 -0
- package/dist/components/CustomClaimModals/PostClaimModal.js +14 -0
- package/dist/components/CustomClaimModals/PostClaimModal.js.map +1 -0
- package/dist/components/FavIcons/AddFavToken.d.ts +1 -2
- package/dist/components/FavIcons/AddFavToken.js +2 -2
- package/dist/components/FavIcons/AddFavToken.js.map +1 -1
- package/dist/components/FavIcons/FavFilter.d.ts +1 -2
- package/dist/components/FavIcons/FavFilter.js +3 -3
- package/dist/components/FavIcons/FavFilter.js.map +1 -1
- package/dist/components/LoadingSpinner/index.d.ts +1 -2
- package/dist/components/LoadingSpinner/index.js +8 -30
- package/dist/components/LoadingSpinner/index.js.map +1 -1
- package/dist/components/MenuSelect/MenuSelect.d.ts +1 -2
- package/dist/components/MenuSelect/MenuSelect.js +3 -9
- package/dist/components/MenuSelect/MenuSelect.js.map +1 -1
- package/dist/components/MenuSelect/RecommendationSelector.d.ts +1 -2
- package/dist/components/MenuSelect/RecommendationSelector.js +4 -24
- package/dist/components/MenuSelect/RecommendationSelector.js.map +1 -1
- package/dist/components/NetworkFilter/index.d.ts +1 -2
- package/dist/components/NetworkFilter/index.js +14 -53
- package/dist/components/NetworkFilter/index.js.map +1 -1
- package/dist/components/PlaceholderMonkey/index.d.ts +1 -2
- package/dist/components/PlaceholderMonkey/index.js +2 -7
- package/dist/components/PlaceholderMonkey/index.js.map +1 -1
- package/dist/components/ProgressBar/ProgressBar.js +3 -5
- package/dist/components/ProgressBar/ProgressBar.js.map +1 -1
- package/dist/components/ProgressBar/ProgressBarWrapper.d.ts +2 -2
- package/dist/components/ProgressBar/ProgressBarWrapper.js +4 -4
- package/dist/components/ProgressBar/ProgressBarWrapper.js.map +1 -1
- package/dist/components/ProgressiveImage/index.d.ts +1 -2
- package/dist/components/ProgressiveImage/index.js +3 -21
- package/dist/components/ProgressiveImage/index.js.map +1 -1
- package/dist/components/SafeHTMLComponent/index.d.ts +1 -2
- package/dist/components/SafeHTMLComponent/index.js +1 -1
- package/dist/components/SlippageModal/index.d.ts +1 -2
- package/dist/components/SlippageModal/index.js +7 -43
- package/dist/components/SlippageModal/index.js.map +1 -1
- package/dist/components/StepBubble/index.d.ts +1 -2
- package/dist/components/StepBubble/index.js +5 -33
- package/dist/components/StepBubble/index.js.map +1 -1
- package/dist/components/Toast/index.d.ts +1 -2
- package/dist/components/Toast/index.js +4 -15
- package/dist/components/Toast/index.js.map +1 -1
- package/dist/components/TokenInfoAndName/index.d.ts +3 -3
- package/dist/components/TokenInfoAndName/index.js +8 -19
- package/dist/components/TokenInfoAndName/index.js.map +1 -1
- package/dist/components/TokenSelectorModal/TokenRow.d.ts +1 -2
- package/dist/components/TokenSelectorModal/TokenRow.js +3 -3
- package/dist/components/TokenSelectorModal/TokenRow.js.map +1 -1
- package/dist/components/TokenSelectorModal/index.js +2 -14
- package/dist/components/TokenSelectorModal/index.js.map +1 -1
- package/dist/components/TokenSelectorPanel/index.d.ts +1 -1
- package/dist/components/TokenSelectorPanel/index.js +12 -25
- package/dist/components/TokenSelectorPanel/index.js.map +1 -1
- package/dist/components/Tooltip/ButtonsRow.js +3 -4
- package/dist/components/Tooltip/ButtonsRow.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.js +4 -4
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/YouTooltip/YouTooltip.d.ts +1 -2
- package/dist/components/YouTooltip/YouTooltip.js +2 -24
- package/dist/components/YouTooltip/YouTooltip.js.map +1 -1
- package/dist/components/uikit-sdk/Button/Button.d.ts +1 -2
- package/dist/components/uikit-sdk/Button/Button.js +34 -40
- package/dist/components/uikit-sdk/Button/Button.js.map +1 -1
- package/dist/components/uikit-sdk/Button/IconButton.js +16 -15
- package/dist/components/uikit-sdk/Button/IconButton.js.map +1 -1
- package/dist/components/uikit-sdk/Button/types.d.ts +1 -2
- package/dist/components/uikit-sdk/Button/types.js +6 -6
- package/dist/components/uikit-sdk/Button/types.js.map +1 -1
- package/dist/components/uikit-sdk/Checkbox/index.d.ts +1 -1
- package/dist/components/uikit-sdk/Checkbox/index.js +11 -8
- package/dist/components/uikit-sdk/Checkbox/index.js.map +1 -1
- package/dist/components/uikit-sdk/Checkbox/types.d.ts +2 -2
- package/dist/components/uikit-sdk/Checkbox/types.js.map +1 -1
- package/dist/components/uikit-sdk/Flex/index.d.ts +9 -3
- package/dist/components/uikit-sdk/Flex/index.js +8 -4
- package/dist/components/uikit-sdk/Flex/index.js.map +1 -1
- package/dist/components/uikit-sdk/Input/Input.d.ts +4 -7
- package/dist/components/uikit-sdk/Input/Input.js +4 -46
- package/dist/components/uikit-sdk/Input/Input.js.map +1 -1
- package/dist/components/uikit-sdk/LoadingDots/index.d.ts +1 -1
- package/dist/components/uikit-sdk/LoadingDots/index.js +2 -21
- package/dist/components/uikit-sdk/LoadingDots/index.js.map +1 -1
- package/dist/components/uikit-sdk/Modal/ModalHeader.js +5 -5
- package/dist/components/uikit-sdk/Modal/ModalHeader.js.map +1 -1
- package/dist/components/uikit-sdk/Modal/index.d.ts +1 -2
- package/dist/components/uikit-sdk/Modal/index.js +10 -14
- package/dist/components/uikit-sdk/Modal/index.js.map +1 -1
- package/dist/components/uikit-sdk/Modal/types.d.ts +3 -3
- package/dist/components/uikit-sdk/Select/Select.d.ts +1 -2
- package/dist/components/uikit-sdk/Select/Select.js +24 -17
- package/dist/components/uikit-sdk/Select/Select.js.map +1 -1
- package/dist/components/uikit-sdk/Select/SelectItem.d.ts +1 -1
- package/dist/components/uikit-sdk/Select/SelectItem.js +26 -15
- package/dist/components/uikit-sdk/Select/SelectItem.js.map +1 -1
- package/dist/components/uikit-sdk/Select/types.d.ts +1 -0
- package/dist/components/uikit-sdk/Select/types.js +9 -9
- package/dist/components/uikit-sdk/Select/types.js.map +1 -1
- package/dist/components/uikit-sdk/Skeleton/index.d.ts +1 -2
- package/dist/components/uikit-sdk/Skeleton/index.js +7 -8
- package/dist/components/uikit-sdk/Skeleton/index.js.map +1 -1
- package/dist/components/uikit-sdk/Skeleton/types.d.ts +2 -2
- package/dist/components/uikit-sdk/Skeleton/types.js.map +1 -1
- package/dist/components/uikit-sdk/Spinner/index.d.ts +11 -0
- package/dist/components/uikit-sdk/Spinner/index.js +9 -0
- package/dist/components/uikit-sdk/Spinner/index.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/AllChains.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Arrow.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Arrow.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/BitTensor.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Caret.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Caret.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Close.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Close.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Cog.d.ts +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Cog.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Cog.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/CoinGecko.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/CoinGecko.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/DexScreener.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/DexScreener.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Discord.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Discord.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Discount.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Discount.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Error.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Error.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Expand.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Expand.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/External.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/External.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/FirePink.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/GiftBox.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/GiftBoxPlain.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Insight.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Insight.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/L1X.d.ts +4 -0
- package/dist/components/uikit-sdk/Svg/Icons/L1X.js +8 -0
- package/dist/components/uikit-sdk/Svg/Icons/L1X.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/LineChart.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/More.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/More.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/NewOffer.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/NewOffer.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/PlaceholderMonkey.d.ts +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/PlaceholderMonkey.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/PlaceholderMonkey.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Question.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/QuestionCircle.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/QuestionCircle.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Robinhood.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Search.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Search.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/SellingFast.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/SellingFast.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/ShortSupply.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Sort.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Sort.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Star.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/StarFilled.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Success.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Success.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Tag.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Tick.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Tick.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Timer.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/TurnArrow.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/TurnArrow.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Twitter.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Twitter.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/URL.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/URL.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/WhaleActivity.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/WhaleActivity.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/styles.d.ts +5 -2
- package/dist/components/uikit-sdk/Svg/styles.js +8 -7
- package/dist/components/uikit-sdk/Svg/styles.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/APTOS.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/ARBITRUM.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/AVAX.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/BASE.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/BERA.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/BLAST.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/BNB.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/CROSSFI.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/ETH.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/GraphLinq.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/HYPEREVM.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/INEVM.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/IOTA.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/KATANA.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/LIGHTLINK.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/LINEA.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/MEGAETH.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/MONAD.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/POLYGON.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/SOL.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/SONIC.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/SUI.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/TLOS.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/UNICHAIN.js +1 -1
- package/dist/components/uikit-sdk/SwiperDots/index.d.ts +1 -2
- package/dist/components/uikit-sdk/SwiperDots/index.js +3 -9
- package/dist/components/uikit-sdk/SwiperDots/index.js.map +1 -1
- package/dist/components/uikit-sdk/TabNav/index.js +3 -34
- package/dist/components/uikit-sdk/TabNav/index.js.map +1 -1
- package/dist/components/uikit-sdk/Tag/ListTag.d.ts +1 -2
- package/dist/components/uikit-sdk/Tag/ListTag.js +13 -16
- package/dist/components/uikit-sdk/Tag/ListTag.js.map +1 -1
- package/dist/components/uikit-sdk/Text/index.d.ts +1 -2
- package/dist/components/uikit-sdk/Text/index.js +21 -8
- package/dist/components/uikit-sdk/Text/index.js.map +1 -1
- package/dist/components/uikit-sdk/Text/types.d.ts +3 -2
- package/dist/components/uikit-sdk/Text/types.js.map +1 -1
- package/dist/components/uikit-sdk/Toggle/index.d.ts +1 -2
- package/dist/components/uikit-sdk/Toggle/index.js +7 -8
- package/dist/components/uikit-sdk/Toggle/index.js.map +1 -1
- package/dist/components/uikit-sdk/TokenImage/index.d.ts +1 -2
- package/dist/components/uikit-sdk/TokenImage/index.js +3 -45
- package/dist/components/uikit-sdk/TokenImage/index.js.map +1 -1
- package/dist/components/uikit-sdk/TooltipBubble/index.js +29 -53
- package/dist/components/uikit-sdk/TooltipBubble/index.js.map +1 -1
- package/dist/components/uikit-sdk/TooltipBubble/types.d.ts +5 -4
- package/dist/components/uikit-sdk/TooltipBubble/types.js.map +1 -1
- package/dist/config/constants/addresses.d.ts +1 -1
- package/dist/config/constants/addresses.js +22 -17
- package/dist/config/constants/addresses.js.map +1 -1
- package/dist/config/constants/chains.d.ts +0 -2
- package/dist/config/constants/chains.js +6 -2
- package/dist/config/constants/chains.js.map +1 -1
- package/dist/config/constants/networks.js +1 -0
- package/dist/config/constants/networks.js.map +1 -1
- package/dist/config/constants/queryKeys.d.ts +1 -0
- package/dist/config/constants/queryKeys.js +1 -0
- package/dist/config/constants/queryKeys.js.map +1 -1
- package/dist/config/constants/variables.d.ts +2 -4
- package/dist/config/constants/variables.js +15 -30
- package/dist/config/constants/variables.js.map +1 -1
- package/dist/constants/aptosConstants.d.ts +0 -2
- package/dist/constants/aptosConstants.js +1 -4
- package/dist/constants/aptosConstants.js.map +1 -1
- package/dist/contexts/ModalContext.d.ts +1 -1
- package/dist/contexts/ModalContext.js +1 -1
- package/dist/contexts/Popups.d.ts +1 -1
- package/dist/contexts/Popups.js +2 -2
- package/dist/contexts/Popups.js.map +1 -1
- package/dist/hooks/useSendReferenceId.js +2 -2
- package/dist/hooks/useSendReferenceId.js.map +1 -1
- package/dist/main.d.ts +1 -1
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/providers/index.d.ts +3 -4
- package/dist/providers/index.js +5 -39
- package/dist/providers/index.js.map +1 -1
- package/dist/state/balance/useCurrencyBalance.js +3 -23
- package/dist/state/balance/useCurrencyBalance.js.map +1 -1
- package/dist/state/balance/useUserTokensBalance.js +8 -78
- package/dist/state/balance/useUserTokensBalance.js.map +1 -1
- package/dist/state/bondApiStats/useGetBondApiStats.js +2 -3
- package/dist/state/bondApiStats/useGetBondApiStats.js.map +1 -1
- package/dist/state/bonds/fetchBondsData/bondPricing.d.ts +4 -0
- package/dist/state/bonds/fetchBondsData/bondPricing.js +39 -0
- package/dist/state/bonds/fetchBondsData/bondPricing.js.map +1 -0
- package/dist/state/bonds/useBondsData.js +25 -37
- package/dist/state/bonds/useBondsData.js.map +1 -1
- package/dist/state/bonds/useBondsList.js +2 -3
- package/dist/state/bonds/useBondsList.js.map +1 -1
- package/dist/state/bonds/useBondsListPreTGE.js +2 -3
- package/dist/state/bonds/useBondsListPreTGE.js.map +1 -1
- package/dist/state/bonds/useUserBonds.d.ts +3 -1
- package/dist/state/bonds/useUserBonds.js +25 -37
- package/dist/state/bonds/useUserBonds.js.map +1 -1
- package/dist/state/bonds/useUserBondsPreTGE.d.ts +1 -2
- package/dist/state/bonds/useUserBondsPreTGE.js +7 -203
- package/dist/state/bonds/useUserBondsPreTGE.js.map +1 -1
- package/dist/state/chainAccount/useChainAccount.d.ts +13 -0
- package/dist/state/chainAccount/useChainAccount.js +30 -0
- package/dist/state/chainAccount/useChainAccount.js.map +1 -0
- package/dist/state/hotBonds/useHotBonds.js +4 -4
- package/dist/state/hotBonds/useHotBonds.js.map +1 -1
- package/dist/state/recommendations/useGetBondRecommendations.js +2 -2
- package/dist/state/recommendations/useGetBondRecommendations.js.map +1 -1
- package/dist/state/tiers/tiers.d.ts +66 -0
- package/dist/state/tiers/tiers.js +97 -0
- package/dist/state/tiers/tiers.js.map +1 -0
- package/dist/state/tiers/useTierPoints.d.ts +2 -66
- package/dist/state/tiers/useTierPoints.js +13 -148
- package/dist/state/tiers/useTierPoints.js.map +1 -1
- package/dist/state/tokenPrices/resolveTokenPrice.d.ts +13 -0
- package/dist/state/tokenPrices/resolveTokenPrice.js +37 -0
- package/dist/state/tokenPrices/resolveTokenPrice.js.map +1 -0
- package/dist/state/tokenPrices/useTokenPrices.js +2 -3
- package/dist/state/tokenPrices/useTokenPrices.js.map +1 -1
- package/dist/state/useSDKConfig.d.ts +3 -2
- package/dist/state/useSDKConfig.js +53 -6
- package/dist/state/useSDKConfig.js.map +1 -1
- package/dist/styles.css +2 -1588
- package/dist/utils/bondPriceHelpers.js +1 -11
- package/dist/utils/bondPriceHelpers.js.map +1 -1
- package/dist/utils/campaignStyles.d.ts +5 -5
- package/dist/utils/campaignStyles.js.map +1 -1
- package/dist/utils/displayHelpers.js +1 -1
- package/dist/utils/displayHelpers.js.map +1 -1
- package/dist/utils/httpClient.d.ts +11 -0
- package/dist/utils/httpClient.js +48 -0
- package/dist/utils/httpClient.js.map +1 -0
- package/dist/utils/resolveColor.d.ts +1 -0
- package/dist/utils/resolveColor.js +9 -0
- package/dist/utils/resolveColor.js.map +1 -0
- package/dist/views/Bonds/Bonds.d.ts +1 -2
- package/dist/views/Bonds/Bonds.js +2 -11
- package/dist/views/Bonds/Bonds.js.map +1 -1
- package/dist/views/Bonds/components/BondRows/ActiveBondRows.js +6 -11
- package/dist/views/Bonds/components/BondRows/ActiveBondRows.js.map +1 -1
- package/dist/views/Bonds/components/BondRows/BondRow.js +23 -14
- package/dist/views/Bonds/components/BondRows/BondRow.js.map +1 -1
- package/dist/views/Bonds/components/BondRows/ChainTitle.d.ts +1 -2
- package/dist/views/Bonds/components/BondRows/ChainTitle.js +5 -13
- package/dist/views/Bonds/components/BondRows/ChainTitle.js.map +1 -1
- package/dist/views/Bonds/components/BondRows/ModalHandler.d.ts +1 -2
- package/dist/views/Bonds/components/BondRows/ModalHandler.js +9 -36
- package/dist/views/Bonds/components/BondRows/ModalHandler.js.map +1 -1
- package/dist/views/Bonds/components/BondRows/SoldOutRows.d.ts +1 -2
- package/dist/views/Bonds/components/BondRows/SoldOutRows.js +6 -8
- package/dist/views/Bonds/components/BondRows/SoldOutRows.js.map +1 -1
- package/dist/views/Bonds/components/BondsMenu/BondsMenu.js +4 -10
- package/dist/views/Bonds/components/BondsMenu/BondsMenu.js.map +1 -1
- package/dist/views/Bonds/components/BonusComponents/BonusComponent.d.ts +1 -2
- package/dist/views/Bonds/components/BonusComponents/BonusComponent.js +5 -25
- package/dist/views/Bonds/components/BonusComponents/BonusComponent.js.map +1 -1
- package/dist/views/Bonds/components/BonusComponents/BonusContainer.d.ts +3 -3
- package/dist/views/Bonds/components/BonusComponents/BonusContainer.js +6 -3
- package/dist/views/Bonds/components/BonusComponents/BonusContainer.js.map +1 -1
- package/dist/views/Bonds/components/BonusComponents/BonusTable.d.ts +1 -2
- package/dist/views/Bonds/components/BonusComponents/BonusTable.js +10 -22
- package/dist/views/Bonds/components/BonusComponents/BonusTable.js.map +1 -1
- package/dist/views/Bonds/components/BuyAgainRow/index.d.ts +1 -2
- package/dist/views/Bonds/components/BuyAgainRow/index.js +3 -22
- package/dist/views/Bonds/components/BuyAgainRow/index.js.map +1 -1
- package/dist/views/Bonds/components/ChainBanner/ChainBanner.d.ts +1 -2
- package/dist/views/Bonds/components/ChainBanner/ChainBanner.js +5 -11
- package/dist/views/Bonds/components/ChainBanner/ChainBanner.js.map +1 -1
- package/dist/views/Bonds/components/CheckURL/index.d.ts +1 -2
- package/dist/views/Bonds/components/CheckURL/index.js +9 -5
- package/dist/views/Bonds/components/CheckURL/index.js.map +1 -1
- package/dist/views/Bonds/components/HotBondCards/HotBondCard.d.ts +1 -2
- package/dist/views/Bonds/components/HotBondCards/HotBondCard.js +2 -19
- package/dist/views/Bonds/components/HotBondCards/HotBondCard.js.map +1 -1
- package/dist/views/Bonds/components/HotBondCards/index.d.ts +1 -2
- package/dist/views/Bonds/components/HotBondCards/index.js +4 -38
- package/dist/views/Bonds/components/HotBondCards/index.js.map +1 -1
- package/dist/views/Bonds/components/LoadingSkeleton/LoadingSkeleton.d.ts +1 -2
- package/dist/views/Bonds/components/LoadingSkeleton/LoadingSkeleton.js +2 -17
- package/dist/views/Bonds/components/LoadingSkeleton/LoadingSkeleton.js.map +1 -1
- package/dist/views/Bonds/components/RecommendationCards/SmallRecommendationCard.d.ts +1 -2
- package/dist/views/Bonds/components/RecommendationCards/SmallRecommendationCard.js +3 -3
- package/dist/views/Bonds/components/RecommendationCards/SmallRecommendationCard.js.map +1 -1
- package/dist/views/Bonds/components/RecommendationCards/index.d.ts +1 -2
- package/dist/views/Bonds/components/RecommendationCards/index.js +5 -15
- package/dist/views/Bonds/components/RecommendationCards/index.js.map +1 -1
- package/dist/views/Bonds/index.js +2 -2
- package/dist/views/Bonds/index.js.map +1 -1
- package/dist/views/Bonds/utils.js +2 -2
- package/dist/views/Bonds/utils.js.map +1 -1
- package/dist/views/BuyBond/BuyBondModal.js +3 -8
- package/dist/views/BuyBond/BuyBondModal.js.map +1 -1
- package/dist/views/BuyBond/ChainBuyComponent.d.ts +5 -0
- package/dist/views/BuyBond/ChainBuyComponent.js +11 -0
- package/dist/views/BuyBond/ChainBuyComponent.js.map +1 -0
- package/dist/views/BuyBond/ParticipationSuccessful.d.ts +1 -2
- package/dist/views/BuyBond/ParticipationSuccessful.js +8 -26
- package/dist/views/BuyBond/ParticipationSuccessful.js.map +1 -1
- package/dist/views/BuyBond/components/BondCards/BondCards.d.ts +1 -2
- package/dist/views/BuyBond/components/BondCards/BondCards.js +27 -54
- package/dist/views/BuyBond/components/BondCards/BondCards.js.map +1 -1
- package/dist/views/BuyBond/components/BondCards/BondCardsPreTGE.d.ts +1 -2
- package/dist/views/BuyBond/components/BondCards/BondCardsPreTGE.js +3 -56
- package/dist/views/BuyBond/components/BondCards/BondCardsPreTGE.js.map +1 -1
- package/dist/views/BuyBond/components/BondModalHeader.d.ts +1 -2
- package/dist/views/BuyBond/components/BondModalHeader.js +6 -49
- package/dist/views/BuyBond/components/BondModalHeader.js.map +1 -1
- package/dist/views/BuyBond/components/BondModalMinTierHeader.d.ts +1 -1
- package/dist/views/BuyBond/components/BondModalMinTierHeader.js +4 -9
- package/dist/views/BuyBond/components/BondModalMinTierHeader.js.map +1 -1
- package/dist/views/BuyBond/components/Estimations.d.ts +1 -2
- package/dist/views/BuyBond/components/Estimations.js +10 -39
- package/dist/views/BuyBond/components/Estimations.js.map +1 -1
- package/dist/views/BuyBond/components/ExpandedViewButton.d.ts +1 -2
- package/dist/views/BuyBond/components/ExpandedViewButton.js +2 -15
- package/dist/views/BuyBond/components/ExpandedViewButton.js.map +1 -1
- package/dist/views/BuyBond/components/L1xIframe/L1xIframe.d.ts +4 -0
- package/dist/views/BuyBond/components/L1xIframe/L1xIframe.js +12 -0
- package/dist/views/BuyBond/components/L1xIframe/L1xIframe.js.map +1 -0
- package/dist/views/BuyBond/components/NewRateModal/NewRateModal.d.ts +1 -2
- package/dist/views/BuyBond/components/NewRateModal/NewRateModal.js +2 -14
- package/dist/views/BuyBond/components/NewRateModal/NewRateModal.js.map +1 -1
- package/dist/views/BuyBond/components/NoBonusModal/NoBonusModal.js +2 -2
- package/dist/views/BuyBond/components/NoBonusModal/NoBonusModal.js.map +1 -1
- package/dist/views/BuyBond/components/PointsLeftForNextTier/PointsLeftForNextTier.js +14 -94
- package/dist/views/BuyBond/components/PointsLeftForNextTier/PointsLeftForNextTier.js.map +1 -1
- package/dist/views/BuyBond/components/ProjectDescription.d.ts +1 -2
- package/dist/views/BuyBond/components/ProjectDescription.js +2 -15
- package/dist/views/BuyBond/components/ProjectDescription.js.map +1 -1
- package/dist/views/BuyBond/index.d.ts +2 -2
- package/dist/views/BuyBond/index.js +2 -2
- package/dist/views/BuyBond/index.js.map +1 -1
- package/dist/views/BuyBond/utils.js +1 -1
- package/dist/views/BuyBond/utils.js.map +1 -1
- package/dist/views/FullBondsView/FullBondsView.d.ts +1 -2
- package/dist/views/FullBondsView/FullBondsView.js +2 -2
- package/dist/views/FullBondsView/FullBondsView.js.map +1 -1
- package/dist/views/FullBondsView/index.js +2 -2
- package/dist/views/FullBondsView/index.js.map +1 -1
- package/dist/views/ProjectView/ProjectView.js +3 -16
- package/dist/views/ProjectView/ProjectView.js.map +1 -1
- package/dist/views/ProjectView/components/BondLeaderboard/components/SalesTable.d.ts +1 -2
- package/dist/views/ProjectView/components/BondLeaderboard/components/SalesTable.js +5 -24
- package/dist/views/ProjectView/components/BondLeaderboard/components/SalesTable.js.map +1 -1
- package/dist/views/ProjectView/components/BondLeaderboard/components/TopSaleCard.d.ts +1 -2
- package/dist/views/ProjectView/components/BondLeaderboard/components/TopSaleCard.js +9 -21
- package/dist/views/ProjectView/components/BondLeaderboard/components/TopSaleCard.js.map +1 -1
- package/dist/views/ProjectView/components/BondLeaderboard/components/TopThreeSalesCards.d.ts +1 -2
- package/dist/views/ProjectView/components/BondLeaderboard/components/TopThreeSalesCards.js +2 -2
- package/dist/views/ProjectView/components/BondLeaderboard/components/TopThreeSalesCards.js.map +1 -1
- package/dist/views/ProjectView/components/BondLeaderboard/index.d.ts +1 -2
- package/dist/views/ProjectView/components/BondLeaderboard/index.js +2 -14
- package/dist/views/ProjectView/components/BondLeaderboard/index.js.map +1 -1
- package/dist/views/ProjectView/components/BondStats/LineChart.d.ts +10 -0
- package/dist/views/ProjectView/components/BondStats/LineChart.js +144 -0
- package/dist/views/ProjectView/components/BondStats/LineChart.js.map +1 -0
- package/dist/views/ProjectView/components/BondStats/index.d.ts +1 -2
- package/dist/views/ProjectView/components/BondStats/index.js +18 -47
- package/dist/views/ProjectView/components/BondStats/index.js.map +1 -1
- package/dist/views/ProjectView/components/BondStats/types.d.ts +2 -37
- package/dist/views/ProjectView/components/BondStats/types.js +1 -28
- package/dist/views/ProjectView/components/BondStats/types.js.map +1 -1
- package/dist/views/ProjectView/components/NavPanel/index.d.ts +1 -2
- package/dist/views/ProjectView/components/NavPanel/index.js +2 -10
- package/dist/views/ProjectView/components/NavPanel/index.js.map +1 -1
- package/dist/views/ProjectView/components/PriceChart/components/CandleStickChart.d.ts +1 -2
- package/dist/views/ProjectView/components/PriceChart/components/CandleStickChart.js +1 -1
- package/dist/views/ProjectView/components/PriceChart/components/LineChart.d.ts +1 -2
- package/dist/views/ProjectView/components/PriceChart/components/LineChart.js +1 -1
- package/dist/views/ProjectView/components/PriceChart/index.d.ts +1 -2
- package/dist/views/ProjectView/components/PriceChart/index.js +5 -4
- package/dist/views/ProjectView/components/PriceChart/index.js.map +1 -1
- package/dist/views/ProjectView/components/ProjectInfo/index.d.ts +1 -2
- package/dist/views/ProjectView/components/ProjectInfo/index.js +2 -3
- package/dist/views/ProjectView/components/ProjectInfo/index.js.map +1 -1
- package/dist/views/ProjectView/components/RecommendationCards/index.d.ts +1 -2
- package/dist/views/ProjectView/components/RecommendationCards/index.js +6 -20
- package/dist/views/ProjectView/components/RecommendationCards/index.js.map +1 -1
- package/dist/views/ProjectView/index.js +2 -2
- package/dist/views/ProjectView/index.js.map +1 -1
- package/dist/views/SingleBond/SingleBond.js +5 -11
- package/dist/views/SingleBond/SingleBond.js.map +1 -1
- package/dist/views/SingleBond/SoldOutBuyBondPlaceholder.js +9 -31
- package/dist/views/SingleBond/SoldOutBuyBondPlaceholder.js.map +1 -1
- package/dist/views/SingleBond/index.js +2 -2
- package/dist/views/SingleBond/index.js.map +1 -1
- package/dist/views/YourBonds/YourBonds.d.ts +1 -2
- package/dist/views/YourBonds/YourBonds.js +29 -36
- package/dist/views/YourBonds/YourBonds.js.map +1 -1
- package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.d.ts +1 -2
- package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.js +11 -197
- package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.js.map +1 -1
- package/dist/views/YourBonds/components/ClaimAll/index.d.ts +1 -2
- package/dist/views/YourBonds/components/ClaimAll/index.js +6 -16
- package/dist/views/YourBonds/components/ClaimAll/index.js.map +1 -1
- package/dist/views/YourBonds/components/ProfitCard/ProfitCard.d.ts +1 -2
- package/dist/views/YourBonds/components/ProfitCard/ProfitCard.js +3 -15
- package/dist/views/YourBonds/components/ProfitCard/ProfitCard.js.map +1 -1
- package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.d.ts +1 -2
- package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.js +3 -3
- package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.js.map +1 -1
- package/dist/views/YourBonds/index.js +2 -2
- package/dist/views/YourBonds/index.js.map +1 -1
- package/dist/views/YourBondsModal/YourBondsModal.d.ts +1 -2
- package/dist/views/YourBondsModal/YourBondsModal.js +9 -101
- package/dist/views/YourBondsModal/YourBondsModal.js.map +1 -1
- package/dist/views/YourBondsModal/components/LinkShare/LinkShare.d.ts +1 -1
- package/dist/views/YourBondsModal/components/LinkShare/LinkShare.js +3 -16
- package/dist/views/YourBondsModal/components/LinkShare/LinkShare.js.map +1 -1
- package/dist/views/YourBondsModal/components/LinkShare/templateImageShare.js +1 -2
- package/dist/views/YourBondsModal/components/LinkShare/templateImageShare.js.map +1 -1
- package/dist/views/YourBondsModal/components/LinkShare/utils.js +8 -7
- package/dist/views/YourBondsModal/components/LinkShare/utils.js.map +1 -1
- package/dist/views/YourBondsModal/components/NFTImage/NFTImage.d.ts +1 -2
- package/dist/views/YourBondsModal/components/NFTImage/NFTImage.js +8 -86
- package/dist/views/YourBondsModal/components/NFTImage/NFTImage.js.map +1 -1
- package/dist/views/YourBondsModal/components/Recommendations/CardRecommendation.d.ts +1 -1
- package/dist/views/YourBondsModal/components/Recommendations/CardRecommendation.js +2 -15
- package/dist/views/YourBondsModal/components/Recommendations/CardRecommendation.js.map +1 -1
- package/dist/views/YourBondsModal/components/Recommendations/RecSkeleton.d.ts +1 -2
- package/dist/views/YourBondsModal/components/Recommendations/RecSkeleton.js +2 -12
- package/dist/views/YourBondsModal/components/Recommendations/RecSkeleton.js.map +1 -1
- package/dist/views/YourBondsModal/components/Recommendations/Recommendations.d.ts +1 -2
- package/dist/views/YourBondsModal/components/Recommendations/Recommendations.js +5 -9
- package/dist/views/YourBondsModal/components/Recommendations/Recommendations.js.map +1 -1
- package/dist/views/YourBondsModal/components/TransferBondModal/index.js +5 -9
- package/dist/views/YourBondsModal/components/TransferBondModal/index.js.map +1 -1
- package/dist/views/YourBondsModal/components/YourBondModalHeader/YourBondModalHeader.d.ts +1 -2
- package/dist/views/YourBondsModal/components/YourBondModalHeader/YourBondModalHeader.js +2 -24
- package/dist/views/YourBondsModal/components/YourBondModalHeader/YourBondModalHeader.js.map +1 -1
- package/package.json +100 -21
- package/dist/components/ChainOptionList/styles.d.ts +0 -2
- package/dist/components/ChainOptionList/styles.js +0 -54
- package/dist/components/ChainOptionList/styles.js.map +0 -1
- package/dist/components/ConnectAptosWalletButton/ConnectAptosWalletButton.js.map +0 -1
- package/dist/components/ConnectSolanaWalletButton/ConnectSolanaWalletButton.js +0 -19
- package/dist/components/ConnectSolanaWalletButton/ConnectSolanaWalletButton.js.map +0 -1
- package/dist/components/ConnectoToVmBanners/ConnectToAptosBanner.d.ts +0 -1
- package/dist/components/ConnectoToVmBanners/ConnectToAptosBanner.js +0 -50
- package/dist/components/ConnectoToVmBanners/ConnectToAptosBanner.js.map +0 -1
- package/dist/components/ConnectoToVmBanners/ConnectToEvmBanner.d.ts +0 -1
- package/dist/components/ConnectoToVmBanners/ConnectToEvmBanner.js +0 -50
- package/dist/components/ConnectoToVmBanners/ConnectToEvmBanner.js.map +0 -1
- package/dist/components/ConnectoToVmBanners/ConnectToSolanaBanner.d.ts +0 -1
- package/dist/components/ConnectoToVmBanners/ConnectToSolanaBanner.js +0 -49
- package/dist/components/ConnectoToVmBanners/ConnectToSolanaBanner.js.map +0 -1
- package/dist/components/ConnectoToVmBanners/ConnectToSuiBanner.d.ts +0 -1
- package/dist/components/ConnectoToVmBanners/ConnectToSuiBanner.js +0 -45
- package/dist/components/ConnectoToVmBanners/ConnectToSuiBanner.js.map +0 -1
- package/dist/components/ProgressBar/styles.d.ts +0 -2
- package/dist/components/ProgressBar/styles.js +0 -15
- package/dist/components/ProgressBar/styles.js.map +0 -1
- package/dist/components/Toast/styles.d.ts +0 -3
- package/dist/components/Toast/styles.js +0 -30
- package/dist/components/Toast/styles.js.map +0 -1
- package/dist/components/Tooltip/styles.d.ts +0 -2
- package/dist/components/Tooltip/styles.js +0 -32
- package/dist/components/Tooltip/styles.js.map +0 -1
- package/dist/components/uikit-sdk/Button/styles.d.ts +0 -3
- package/dist/components/uikit-sdk/Button/styles.js +0 -31
- package/dist/components/uikit-sdk/Button/styles.js.map +0 -1
- package/dist/components/uikit-sdk/Modal/styles.d.ts +0 -3
- package/dist/components/uikit-sdk/Modal/styles.js +0 -47
- package/dist/components/uikit-sdk/Modal/styles.js.map +0 -1
- package/dist/components/uikit-sdk/Select/styles.d.ts +0 -4
- package/dist/components/uikit-sdk/Select/styles.js +0 -50
- package/dist/components/uikit-sdk/Select/styles.js.map +0 -1
- package/dist/components/uikit-sdk/Skeleton/styles.d.ts +0 -3
- package/dist/components/uikit-sdk/Skeleton/styles.js +0 -43
- package/dist/components/uikit-sdk/Skeleton/styles.js.map +0 -1
- package/dist/components/uikit-sdk/Toggle/styles.d.ts +0 -3
- package/dist/components/uikit-sdk/Toggle/styles.js +0 -22
- package/dist/components/uikit-sdk/Toggle/styles.js.map +0 -1
- package/dist/components/uikit-sdk/TooltipBubble/styles.d.ts +0 -4
- package/dist/components/uikit-sdk/TooltipBubble/styles.js +0 -108
- package/dist/components/uikit-sdk/TooltipBubble/styles.js.map +0 -1
- package/dist/config/constants/suiZapTokens.js.map +0 -1
- package/dist/constants/solanaConstants.js.map +0 -1
- package/dist/constants/suiConstants.js.map +0 -1
- package/dist/contexts/SwiperProvider.d.ts +0 -12
- package/dist/contexts/SwiperProvider.js +0 -21
- package/dist/contexts/SwiperProvider.js.map +0 -1
- package/dist/hooks/accounts/useEVMAccount.js.map +0 -1
- package/dist/hooks/accounts/useSOLAccount.js.map +0 -1
- package/dist/hooks/accounts/useSUIAccount.d.ts +0 -7
- package/dist/hooks/accounts/useSUIAccount.js.map +0 -1
- package/dist/hooks/useMonitorTx.js.map +0 -1
- package/dist/hooks/useSwiper.d.ts +0 -2
- package/dist/hooks/useSwiper.js +0 -13
- package/dist/hooks/useSwiper.js.map +0 -1
- package/dist/providers/AptosWalletProvider.d.ts +0 -5
- package/dist/providers/SolanaWalletProvider.d.ts +0 -5
- package/dist/providers/SuiWalletProvider.d.ts +0 -5
- package/dist/state/allowance/useAllowance.js.map +0 -1
- package/dist/state/balance/useCurrencyBalanceAptos.js.map +0 -1
- package/dist/state/balance/useCurrencyBalanceSolana.js.map +0 -1
- package/dist/state/balance/useCurrencyBalanceSui.js.map +0 -1
- package/dist/state/bonds/fetchBondsData/cleanBillsData.d.ts +0 -4
- package/dist/state/bonds/fetchBondsData/cleanBillsData.js +0 -142
- package/dist/state/bonds/fetchBondsData/cleanBillsData.js.map +0 -1
- package/dist/state/bonds/fetchBondsData/fetchBondsDataAptos.js.map +0 -1
- package/dist/state/bonds/fetchBondsData/fetchBondsDataEVM.js +0 -89
- package/dist/state/bonds/fetchBondsData/fetchBondsDataEVM.js.map +0 -1
- package/dist/state/bonds/fetchBondsData/fetchBondsDataPreTGE.js.map +0 -1
- package/dist/state/bonds/fetchBondsData/fetchBondsDataSOL.d.ts +0 -3
- package/dist/state/bonds/fetchBondsData/fetchBondsDataSOL.js +0 -68
- package/dist/state/bonds/fetchBondsData/fetchBondsDataSOL.js.map +0 -1
- package/dist/state/bonds/fetchBondsData/fetchBondsDataSui.js.map +0 -1
- package/dist/state/bonds/fetchUsersBonds/fetchUsersBondsAptos.js.map +0 -1
- package/dist/state/bonds/fetchUsersBonds/fetchUsersBondsEVM.js.map +0 -1
- package/dist/state/bonds/fetchUsersBonds/fetchUsersBondsSOL.js.map +0 -1
- package/dist/state/bonds/fetchUsersBonds/fetchUsersBondsSUI.js.map +0 -1
- package/dist/state/bonds/useTierProofSignature.js.map +0 -1
- package/dist/state/zap/useAptosZapQuote.js.map +0 -1
- package/dist/state/zap/useJupiterSolanaQuote.js.map +0 -1
- package/dist/state/zap/useSoulZapBondQuote.js.map +0 -1
- package/dist/state/zap/useSuiZapQuote.js.map +0 -1
- package/dist/theme/base.d.ts +0 -109
- package/dist/theme/base.js +0 -125
- package/dist/theme/base.js.map +0 -1
- package/dist/theme/colors.d.ts +0 -20
- package/dist/theme/colors.js +0 -25
- package/dist/theme/colors.js.map +0 -1
- package/dist/theme/components.d.ts +0 -411
- package/dist/theme/components.js +0 -365
- package/dist/theme/components.js.map +0 -1
- package/dist/theme/index.d.ts +0 -2
- package/dist/theme/index.js +0 -12
- package/dist/theme/index.js.map +0 -1
- package/dist/types/bondCodec.js.map +0 -1
- package/dist/types/bondIssuanceCodec.js.map +0 -1
- package/dist/types/bondPricingCodec.js.map +0 -1
- package/dist/types/bondTermCodec.js.map +0 -1
- package/dist/utils/aptosHelpers.js.map +0 -1
- package/dist/utils/calculateSolanaTrueBillPrice.js.map +0 -1
- package/dist/utils/derivePda.js.map +0 -1
- package/dist/utils/getDotPos.d.ts +0 -1
- package/dist/utils/getDotPos.js +0 -12
- package/dist/utils/getDotPos.js.map +0 -1
- package/dist/utils/getSolanaAccount.js.map +0 -1
- package/dist/utils/multicall.js.map +0 -1
- package/dist/utils/solanaAtaHelper.js.map +0 -1
- package/dist/utils/solanaMulticall.js.map +0 -1
- package/dist/utils/solanaRpc.d.ts +0 -1
- package/dist/utils/solanaRpc.js.map +0 -1
- package/dist/utils/suiHelpers.js.map +0 -1
- package/dist/views/Bonds/components/BondRows/ModalHandlerPreTGE.js.map +0 -1
- package/dist/views/Bonds/components/HotBondCards/styles.d.ts +0 -35
- package/dist/views/Bonds/components/HotBondCards/styles.js +0 -38
- package/dist/views/Bonds/components/HotBondCards/styles.js.map +0 -1
- package/dist/views/Bonds/components/RecommendationCards/styles.d.ts +0 -2
- package/dist/views/Bonds/components/RecommendationCards/styles.js +0 -24
- package/dist/views/Bonds/components/RecommendationCards/styles.js.map +0 -1
- package/dist/views/BuyBond/BuyComponent.d.ts +0 -11
- package/dist/views/BuyBond/BuyComponent.js.map +0 -1
- package/dist/views/BuyBond/BuyComponentAptos.js.map +0 -1
- package/dist/views/BuyBond/BuyComponentPreTGE.js +0 -147
- package/dist/views/BuyBond/BuyComponentPreTGE.js.map +0 -1
- package/dist/views/BuyBond/BuyComponentSolana.js.map +0 -1
- package/dist/views/BuyBond/BuyComponentSui.js.map +0 -1
- package/dist/views/BuyBond/components/GetUpToComponent/GetUpToComponent.js +0 -61
- package/dist/views/BuyBond/components/GetUpToComponent/GetUpToComponent.js.map +0 -1
- package/dist/views/BuyBond/styles.d.ts +0 -2
- package/dist/views/BuyBond/styles.js +0 -33
- package/dist/views/BuyBond/styles.js.map +0 -1
- package/dist/views/LifiModal/LifiModal.d.ts +0 -7
- package/dist/views/LifiModal/LifiModal.js.map +0 -1
- package/dist/views/ProjectView/components/BondLeaderboard/components/styles.d.ts +0 -2
- package/dist/views/ProjectView/components/BondLeaderboard/components/styles.js +0 -51
- package/dist/views/ProjectView/components/BondLeaderboard/components/styles.js.map +0 -1
- package/dist/views/ProjectView/components/BondStats/styles.d.ts +0 -2
- package/dist/views/ProjectView/components/BondStats/styles.js +0 -49
- package/dist/views/ProjectView/components/BondStats/styles.js.map +0 -1
- package/dist/views/ProjectView/components/PriceChart/styles.d.ts +0 -2
- package/dist/views/ProjectView/components/PriceChart/styles.js +0 -44
- package/dist/views/ProjectView/components/PriceChart/styles.js.map +0 -1
- package/dist/views/ProjectView/components/ProjectInfo/styles.d.ts +0 -2
- package/dist/views/ProjectView/components/ProjectInfo/styles.js +0 -21
- package/dist/views/ProjectView/components/ProjectInfo/styles.js.map +0 -1
- package/dist/views/ProjectView/styles.d.ts +0 -2
- package/dist/views/ProjectView/styles.js +0 -10
- package/dist/views/ProjectView/styles.js.map +0 -1
- package/dist/views/TransactionModal/TransactionModal.js +0 -195
- package/dist/views/TransactionModal/TransactionModal.js.map +0 -1
- package/dist/views/YourBonds/components/UserBondRow/PreTGEActions.d.ts +0 -6
- package/dist/views/YourBonds/components/UserBondRow/PreTGEActions.js.map +0 -1
- package/dist/views/YourBonds/components/UserBondRow/UserBondRow.d.ts +0 -6
- package/dist/views/YourBonds/components/UserBondRow/UserBondRow.js +0 -136
- package/dist/views/YourBonds/components/UserBondRow/UserBondRow.js.map +0 -1
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowAptos.d.ts +0 -6
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowAptos.js +0 -109
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowAptos.js.map +0 -1
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowPreTGE.d.ts +0 -6
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowPreTGE.js +0 -43
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowPreTGE.js.map +0 -1
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowSolana.d.ts +0 -6
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowSolana.js.map +0 -1
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowSui.d.ts +0 -6
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowSui.js +0 -126
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowSui.js.map +0 -1
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowYield.d.ts +0 -6
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowYield.js +0 -50
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowYield.js.map +0 -1
- package/dist/views/YourBonds/components/UserBondRow/index.d.ts +0 -5
- package/dist/views/YourBondsModal/components/Actions/Actions.d.ts +0 -6
- package/dist/views/YourBondsModal/components/Actions/Actions.js.map +0 -1
- package/dist/views/YourBondsModal/components/Actions/ActionsAptos.d.ts +0 -6
- package/dist/views/YourBondsModal/components/Actions/ActionsAptos.js.map +0 -1
- package/dist/views/YourBondsModal/components/Actions/ActionsSolana.d.ts +0 -6
- package/dist/views/YourBondsModal/components/Actions/ActionsSolana.js.map +0 -1
- package/dist/views/YourBondsModal/components/Actions/ActionsSui.d.ts +0 -6
- package/dist/views/YourBondsModal/components/Actions/ActionsSui.js.map +0 -1
- package/dist/views/YourBondsModal/components/TransferBondModal/TransferAction.js.map +0 -1
- package/dist/views/YourBondsModal/components/TransferBondModal/TransferActionAptos.js.map +0 -1
- package/dist/views/YourBondsModal/components/TransferBondModal/TransferActionSolana.js.map +0 -1
- package/dist/views/YourBondsModal/components/TransferBondModal/TransferActionSui.js.map +0 -1
- package/dist/views/YourBondsModalYield/YourBondsModalYield.js +0 -220
- package/dist/views/YourBondsModalYield/YourBondsModalYield.js.map +0 -1
- package/dist/views/YourBondsModalYield/components/UnstakeModalYield/UnstakeModalYield.js +0 -71
- package/dist/views/YourBondsModalYield/components/UnstakeModalYield/UnstakeModalYield.js.map +0 -1
- package/dist/views/YourBondsModalYield/components/YourBondModalHeader/YourBondModalHeader.js +0 -32
- package/dist/views/YourBondsModalYield/components/YourBondModalHeader/YourBondModalHeader.js.map +0 -1
- /package/dist/{views/BuyBond → adapters/aptos}/BuyComponentAptos.d.ts +0 -0
- /package/dist/{types → adapters/aptos}/aptosBonds.d.ts +0 -0
- /package/dist/{hooks/accounts → adapters/aptos}/useAPTAccount.d.ts +0 -0
- /package/dist/{state/zap → adapters/aptos}/useAptosZapQuote.d.ts +0 -0
- /package/dist/{state/balance → adapters/aptos}/useCurrencyBalanceAptos.d.ts +0 -0
- /package/dist/{utils → adapters/evm}/multicall.d.ts +0 -0
- /package/dist/{state/allowance → adapters/evm}/useAllowance.d.ts +0 -0
- /package/dist/{hooks/accounts → adapters/evm}/useEVMAccount.d.ts +0 -0
- /package/dist/{hooks/accounts → adapters/evm}/useEVMAccount.js +0 -0
- /package/dist/{hooks → adapters/evm}/useMonitorTx.d.ts +0 -0
- /package/dist/{state/zap → adapters/evm}/useSoulZapBondQuote.d.ts +0 -0
- /package/dist/{state/bonds → adapters/evm}/useTierProofSignature.d.ts +0 -0
- /package/dist/{views/BuyBond → adapters/solana}/BuyComponentSolana.d.ts +0 -0
- /package/dist/{utils → adapters/solana}/calculateSolanaTrueBillPrice.d.ts +0 -0
- /package/dist/{types → adapters/solana/codecs}/index.d.ts +0 -0
- /package/dist/{utils → adapters/solana}/derivePda.d.ts +0 -0
- /package/dist/{utils → adapters/solana}/derivePda.js +0 -0
- /package/dist/{types → adapters/solana}/helius.d.ts +0 -0
- /package/dist/{utils → adapters/solana}/solanaAtaHelper.d.ts +0 -0
- /package/dist/{utils → adapters/solana}/solanaAtaHelper.js +0 -0
- /package/dist/{types → adapters/solana}/solanaBonds.d.ts +0 -0
- /package/dist/{constants → adapters/solana}/solanaConstants.d.ts +0 -0
- /package/dist/{utils → adapters/solana}/solanaMulticall.d.ts +0 -0
- /package/dist/{utils → adapters/solana}/solanaMulticall.js +0 -0
- /package/dist/{state/zap → adapters/solana}/useJupiterSolanaQuote.d.ts +0 -0
- /package/dist/{state/zap → adapters/solana}/useJupiterSolanaQuote.js +0 -0
- /package/dist/{hooks/accounts → adapters/solana}/useSOLAccount.d.ts +0 -0
- /package/dist/{hooks/accounts → adapters/solana}/useSOLAccount.js +0 -0
- /package/dist/{views/BuyBond → adapters/sui}/BuyComponentSui.d.ts +0 -0
- /package/dist/{constants → adapters/sui}/suiConstants.d.ts +0 -0
- /package/dist/{constants → adapters/sui}/suiConstants.js +0 -0
- /package/dist/{utils → adapters/sui}/suiHelpers.d.ts +0 -0
- /package/dist/{config/constants → adapters/sui}/suiZapTokens.d.ts +0 -0
- /package/dist/{config/constants → adapters/sui}/suiZapTokens.js +0 -0
- /package/dist/{state/balance → adapters/sui}/useCurrencyBalanceSui.d.ts +0 -0
- /package/dist/{state/zap → adapters/sui}/useSuiZapQuote.d.ts +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"suiHelpers.js","sources":["../../src/utils/suiHelpers.ts"],"sourcesContent":["import { SuiClient } from '@mysten/sui/client'\nimport { PUBLIC_RPC_URLS } from '../config/constants/networks'\nimport { ChainId } from '@ape.swap/apeswap-lists'\n\n// ---------------------------------------------------------------------------\n// Sui client — lazy singleton\n// ---------------------------------------------------------------------------\nlet _suiClient: SuiClient | undefined\n\nexport const getSuiClient = (): SuiClient => {\n if (_suiClient) return _suiClient\n _suiClient = new SuiClient({ url: PUBLIC_RPC_URLS?.[ChainId.SUI]?.[0]! })\n return _suiClient\n}\n\n// ---------------------------------------------------------------------------\n// Unit conversion\n// ---------------------------------------------------------------------------\n// User inputs live in \"whole tokens\" (e.g. \"1.5 SUI\"). The Sui SDK\n// serialises numeric function arguments from strings, so we convert to\n// atomic units and return a stringified BigInt.\n// export const toAtomicUnits = (amount: string | number, decimals: number): string => {\n// if (amount === '' || amount == null) return '0'\n// const bn = new BigNumber(amount).times(new BigNumber(10).pow(decimals))\n// // Floor so we never over-spend what the user typed.\n// return bn.integerValue(BigNumber.ROUND_FLOOR).toFixed(0)\n// }\n//\n// // Atomic → human-readable.\n// export const fromAtomicUnits = (amount: string | number, decimals: number): number => {\n// if (amount === '' || amount == null) return 0\n// return new BigNumber(amount).div(new BigNumber(10).pow(decimals)).toNumber()\n// }\n\n// ---------------------------------------------------------------------------\n// Fresh bond price reader — reads the BondMarket object on-chain and\n// computes the current true_price using the same bond_math formulas as\n// the Move contract. Returns the u64 value (scaled 1e8).\n// ---------------------------------------------------------------------------\n\nconst PRICE_DECIMALS = 100_000_000n // 1e8\nconst PERCENTAGE_BASE = 1_000_000n // 1e6\n\nconst pow10bi = (n: number): bigint => 10n ** BigInt(n)\n\nconst valueOfToken = (fromDec: number, toDec: number, amount: bigint): bigint => {\n if (toDec >= fromDec) return amount * pow10bi(toDec - fromDec)\n return amount / pow10bi(fromDec - toDec)\n}\n\nexport const readFreshTrueBondPrice = async (marketObjectId?: string): Promise<bigint> => {\n if (!marketObjectId) {\n throw new Error('marketObjectId is required')\n }\n\n const client = getSuiClient()\n const obj = await client.getObject({ id: marketObjectId, options: { showContent: true } })\n\n if (!obj.data?.content || obj.data.content.dataType !== 'moveObject') {\n throw new Error(`[Sui] Could not read BondMarket ${marketObjectId}`)\n }\n\n const f = obj.data.content.fields as Record<string, unknown>\n const terms =\n ((f.terms as Record<string, unknown>)?.fields as Record<string, unknown>) ?? (f.terms as Record<string, unknown>)\n\n const totalDebt = BigInt(String(f.total_debt ?? '0'))\n const payoutInitialSupply = BigInt(String(f.payout_token_initial_supply ?? '0'))\n const controlVariable = BigInt(String(terms.control_variable ?? '0'))\n const minimumPrice = BigInt(String(terms.minimum_price ?? '0'))\n const vestingTerm = BigInt(String(terms.vesting_term ?? '1'))\n const lastDecay = BigInt(String(f.last_decay ?? '0'))\n const feeInPrincipal = BigInt(String(f.fee_in_principal ?? '0'))\n const payoutDecimals = Number(f.payout_decimals ?? 9)\n const principalDecimals = Number(f.principal_decimals ?? 9)\n\n // Decay debt client-side (same as contract's decay_debt)\n const nowSeconds = BigInt(Math.floor(Date.now() / 1000))\n let currentDebt = totalDebt\n if (nowSeconds > lastDecay && vestingTerm > 0n) {\n const elapsed = nowSeconds - lastDecay\n const decay = (totalDebt * elapsed) / vestingTerm\n currentDebt = totalDebt > decay ? totalDebt - decay : 0n\n }\n\n // calculate_price — contract casts total_debt (u128) to u64 via `as u64`\n const currentDebtU64 = currentDebt & 0xffffffffffffffffn\n const currentDebtPayout = valueOfToken(principalDecimals, payoutDecimals, currentDebtU64)\n const payoutScale = pow10bi(payoutDecimals)\n const principalScale = pow10bi(principalDecimals)\n\n const debtRatio = payoutInitialSupply > 0n ? (currentDebtPayout * payoutScale) / payoutInitialSupply : 0n\n const basePrice = (controlVariable * debtRatio * principalScale) / PRICE_DECIMALS\n\n const price = basePrice < minimumPrice ? minimumPrice : basePrice\n\n // calculate_true_price (includes fee)\n const denominator = PERCENTAGE_BASE - feeInPrincipal\n const truePrice = denominator > 0n ? (price * PERCENTAGE_BASE) / denominator : price\n\n return truePrice\n}\n\n// ---------------------------------------------------------------------------\n// TX status verification — Sui returns digests for failed TXs too.\n// Call this after waitForTransaction to ensure the TX actually succeeded.\n// ---------------------------------------------------------------------------\n\nexport const verifySuiTxSuccess = async (digest: string): Promise<void> => {\n const client = getSuiClient()\n const txBlock = await client.getTransactionBlock({\n digest,\n options: { showEffects: true },\n })\n const status = txBlock.effects?.status\n if (status?.status !== 'success') {\n const errorMsg = status?.error ?? 'Transaction failed on-chain'\n throw new Error(`Transaction failed: ${errorMsg}`)\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ModalHandlerPreTGE.js","sources":["../../../../../src/views/Bonds/components/BondRows/ModalHandlerPreTGE.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\nimport useBondsData from '../../../../state/bonds/useBondsData'\nimport { BondsData } from '../../../../types/bonds'\nimport { useMonitorTx } from '../../../../hooks/useMonitorTx'\nimport ParticipationSuccessful from '../../../BuyBond/ParticipationSuccessful'\nimport BuyComponentPreTGE from '../../../BuyBond/BuyComponentPreTGE'\n\n/*\n * Basically this is a handler that controls which Modal is displayed to the user.\n * It will start by showing the buy modal and if a user purchases a bond, a inputAmount will be set, this will trigger the\n * display of the ParticipationSuccessful modal\n * */\n\nconst ModalHandlerPreTGE = ({\n onDismiss,\n bondAddress,\n bondChain,\n}: {\n onDismiss?: () => void\n bondAddress: string\n bondChain: number\n}) => {\n const { data: bonds } = useBondsData()\n\n const [inputAmount, setInputAmount] = useState<string>('')\n const [buyTxHash, setBuyTxHash] = useState<string>('')\n const [bond, setBond] = useState<BondsData>()\n const { data: txReceipt, isSuccess } = useMonitorTx(buyTxHash, bondChain)\n\n useEffect(() => {\n if (inputAmount && bonds && txReceipt && isSuccess) {\n const bond = bonds.find(\n (bond) =>\n bond?.contractAddress?.[bond.chainId]?.toLowerCase() === bondAddress?.toLowerCase() &&\n bond?.chainId === bondChain,\n )\n setBond(bond)\n }\n }, [inputAmount, bonds, bondAddress, bondChain, txReceipt, isSuccess])\n\n return bond ? (\n <ParticipationSuccessful bond={bond} inputAmount={inputAmount} onDismiss={onDismiss} />\n ) : (\n <BuyComponentPreTGE\n bondAddress={bondAddress}\n bondChain={bondChain}\n handlePurchasedBond={(hash: string, inputAmount: string) => {\n setInputAmount(inputAmount)\n setBuyTxHash(hash)\n }}\n onDismiss={() => {\n // window.history.pushState({}, '', `${locationPath !== '/bonds' ? locationPath : '/bonds'}`)\n onDismiss?.()\n }}\n />\n )\n}\n\nexport default ModalHandlerPreTGE\n"],"names":["_jsx"],"mappings":";;;;;;;AAOA;;;;AAIK;AAEL,MAAM,kBAAkB,GAAG,CAAC,EAC1B,SAAS,EACT,WAAW,EACX,SAAS,GAKV,KAAI;IACH,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE;IAEtC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC;IAC1D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC;IACtD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,EAAa;AAC7C,IAAA,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC;IAEzE,SAAS,CAAC,MAAK;QACb,IAAI,WAAW,IAAI,KAAK,IAAI,SAAS,IAAI,SAAS,EAAE;YAClD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CACrB,CAAC,IAAI,KACH,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,WAAW,EAAE;AACnF,gBAAA,IAAI,EAAE,OAAO,KAAK,SAAS,CAC9B;YACD,OAAO,CAAC,IAAI,CAAC;QACf;AACF,IAAA,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AAEtE,IAAA,OAAO,IAAI,IACTA,GAAA,CAAC,uBAAuB,EAAA,EAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAA,CAAI,KAEvFA,GAAA,CAAC,kBAAkB,IACjB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,mBAAmB,EAAE,CAAC,IAAY,EAAE,WAAmB,KAAI;YACzD,cAAc,CAAC,WAAW,CAAC;YAC3B,YAAY,CAAC,IAAI,CAAC;AACpB,QAAA,CAAC,EACD,SAAS,EAAE,MAAK;;YAEd,SAAS,IAAI;QACf,CAAC,EAAA,CACD,CACH;AACH;;;;"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
export declare const styles: {
|
|
2
|
-
mainComponent: {
|
|
3
|
-
width: string;
|
|
4
|
-
flexDirection: string;
|
|
5
|
-
overflow: string[];
|
|
6
|
-
pt: string;
|
|
7
|
-
pb: string[];
|
|
8
|
-
};
|
|
9
|
-
hotBondTitle: {
|
|
10
|
-
pt: string;
|
|
11
|
-
color: string;
|
|
12
|
-
fontSize: string;
|
|
13
|
-
fontWeight: number;
|
|
14
|
-
cursor: string;
|
|
15
|
-
textTransform: string;
|
|
16
|
-
};
|
|
17
|
-
desktopCards: {
|
|
18
|
-
width: string;
|
|
19
|
-
gap: string;
|
|
20
|
-
justifyContent: string;
|
|
21
|
-
flexDirection: string[];
|
|
22
|
-
display: string;
|
|
23
|
-
'@media screen and (min-width: 1000px)': {
|
|
24
|
-
display: string;
|
|
25
|
-
};
|
|
26
|
-
};
|
|
27
|
-
desktopCard: {
|
|
28
|
-
backgroundImage: string;
|
|
29
|
-
backgroundSize: string;
|
|
30
|
-
width: string;
|
|
31
|
-
borderRadius: string;
|
|
32
|
-
cursor: string;
|
|
33
|
-
height: string;
|
|
34
|
-
};
|
|
35
|
-
};
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
const styles = {
|
|
2
|
-
mainComponent: {
|
|
3
|
-
width: '100%',
|
|
4
|
-
flexDirection: 'column',
|
|
5
|
-
overflow: ['hidden', 'hidden', 'hidden', 'visible'],
|
|
6
|
-
pt: '10px',
|
|
7
|
-
pb: ['10px', '10px', '10px', '20px'],
|
|
8
|
-
},
|
|
9
|
-
hotBondTitle: {
|
|
10
|
-
pt: '15px',
|
|
11
|
-
color: 'textDisabledButton',
|
|
12
|
-
fontSize: '13px',
|
|
13
|
-
fontWeight: 500,
|
|
14
|
-
cursor: 'pointer',
|
|
15
|
-
textTransform: 'uppercase',
|
|
16
|
-
},
|
|
17
|
-
desktopCards: {
|
|
18
|
-
width: '100%',
|
|
19
|
-
gap: '15px',
|
|
20
|
-
justifyContent: 'space-between',
|
|
21
|
-
flexDirection: ['column', 'column', 'column', 'row'],
|
|
22
|
-
display: 'none',
|
|
23
|
-
'@media screen and (min-width: 1000px)': {
|
|
24
|
-
display: 'flex',
|
|
25
|
-
},
|
|
26
|
-
},
|
|
27
|
-
desktopCard: {
|
|
28
|
-
backgroundImage: 'url(https://ape.bond/images/mc/fireBG.png)',
|
|
29
|
-
backgroundSize: 'cover',
|
|
30
|
-
width: '100%',
|
|
31
|
-
borderRadius: 'normal',
|
|
32
|
-
cursor: 'pointer',
|
|
33
|
-
height: '125px',
|
|
34
|
-
},
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
export { styles };
|
|
38
|
-
//# sourceMappingURL=styles.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sources":["../../../../../src/views/Bonds/components/HotBondCards/styles.ts"],"sourcesContent":["export const styles = {\n mainComponent: {\n width: '100%',\n flexDirection: 'column',\n overflow: ['hidden', 'hidden', 'hidden', 'visible'],\n pt: '10px',\n pb: ['10px', '10px', '10px', '20px'],\n },\n hotBondTitle: {\n pt: '15px',\n color: 'textDisabledButton',\n fontSize: '13px',\n fontWeight: 500,\n cursor: 'pointer',\n textTransform: 'uppercase',\n },\n desktopCards: {\n width: '100%',\n gap: '15px',\n justifyContent: 'space-between',\n flexDirection: ['column', 'column', 'column', 'row'],\n display: 'none',\n '@media screen and (min-width: 1000px)': {\n display: 'flex',\n },\n },\n desktopCard: {\n backgroundImage: 'url(https://ape.bond/images/mc/fireBG.png)',\n backgroundSize: 'cover',\n width: '100%',\n borderRadius: 'normal',\n cursor: 'pointer',\n height: '125px',\n },\n}\n"],"names":[],"mappings":"AAAO,MAAM,MAAM,GAAG;AACpB,IAAA,aAAa,EAAE;AACb,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,aAAa,EAAE,QAAQ;QACvB,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC;AACnD,QAAA,EAAE,EAAE,MAAM;QACV,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;AACrC,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,EAAE,EAAE,MAAM;AACV,QAAA,KAAK,EAAE,oBAAoB;AAC3B,QAAA,QAAQ,EAAE,MAAM;AAChB,QAAA,UAAU,EAAE,GAAG;AACf,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,aAAa,EAAE,WAAW;AAC3B,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,GAAG,EAAE,MAAM;AACX,QAAA,cAAc,EAAE,eAAe;QAC/B,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC;AACpD,QAAA,OAAO,EAAE,MAAM;AACf,QAAA,uCAAuC,EAAE;AACvC,YAAA,OAAO,EAAE,MAAM;AAChB,SAAA;AACF,KAAA;AACD,IAAA,WAAW,EAAE;AACX,QAAA,eAAe,EAAE,4CAA4C;AAC7D,QAAA,cAAc,EAAE,OAAO;AACvB,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,YAAY,EAAE,QAAQ;AACtB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,MAAM,EAAE,OAAO;AAChB,KAAA;;;;;"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
const styles = {
|
|
2
|
-
smallCardContainer: {
|
|
3
|
-
width: '100%',
|
|
4
|
-
p: '6px 12px',
|
|
5
|
-
background: 'white2',
|
|
6
|
-
borderRadius: 'normal',
|
|
7
|
-
justifyContent: 'space-between',
|
|
8
|
-
alignItems: 'center',
|
|
9
|
-
cursor: 'pointer',
|
|
10
|
-
mr: '10px',
|
|
11
|
-
':last-of-type': {
|
|
12
|
-
mr: '0px',
|
|
13
|
-
},
|
|
14
|
-
},
|
|
15
|
-
subTitle: {
|
|
16
|
-
color: 'textDisabledButton',
|
|
17
|
-
fontSize: '12px',
|
|
18
|
-
fontWeight: 400,
|
|
19
|
-
lineHeight: '16px',
|
|
20
|
-
},
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
export { styles };
|
|
24
|
-
//# sourceMappingURL=styles.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sources":["../../../../../src/views/Bonds/components/RecommendationCards/styles.ts"],"sourcesContent":["import { ThemeUIStyleObject } from 'theme-ui'\n\nexport const styles: Record<'smallCardContainer' | 'subTitle', ThemeUIStyleObject> = {\n smallCardContainer: {\n width: '100%',\n p: '6px 12px',\n background: 'white2',\n borderRadius: 'normal',\n justifyContent: 'space-between',\n alignItems: 'center',\n cursor: 'pointer',\n mr: '10px',\n ':last-of-type': {\n mr: '0px',\n },\n },\n subTitle: {\n color: 'textDisabledButton',\n fontSize: '12px',\n fontWeight: 400,\n lineHeight: '16px',\n },\n}\n"],"names":[],"mappings":"AAEO,MAAM,MAAM,GAAkE;AACnF,IAAA,kBAAkB,EAAE;AAClB,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,CAAC,EAAE,UAAU;AACb,QAAA,UAAU,EAAE,QAAQ;AACpB,QAAA,YAAY,EAAE,QAAQ;AACtB,QAAA,cAAc,EAAE,eAAe;AAC/B,QAAA,UAAU,EAAE,QAAQ;AACpB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,EAAE,EAAE,MAAM;AACV,QAAA,eAAe,EAAE;AACf,YAAA,EAAE,EAAE,KAAK;AACV,SAAA;AACF,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,KAAK,EAAE,oBAAoB;AAC3B,QAAA,QAAQ,EAAE,MAAM;AAChB,QAAA,UAAU,EAAE,GAAG;AACf,QAAA,UAAU,EAAE,MAAM;AACnB,KAAA;;;;;"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { PurchasedBondData } from './BuyBondModal';
|
|
3
|
-
export interface BuyComponentProps {
|
|
4
|
-
onDismiss?: () => void;
|
|
5
|
-
bondAddress?: string;
|
|
6
|
-
bondChain?: number;
|
|
7
|
-
handlePurchasedBond?: (data: PurchasedBondData) => void;
|
|
8
|
-
isProjectView?: boolean;
|
|
9
|
-
}
|
|
10
|
-
declare const _default: React.NamedExoticComponent<BuyComponentProps>;
|
|
11
|
-
export default _default;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BuyComponent.js","sources":["../../../src/views/BuyBond/BuyComponent.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from 'react'\nimport { convertToBigish } from '../../utils/convertToBigish'\nimport { mulDivRound, toFixedString } from '../../utils/fixedPoint'\nimport ABI_DEPOSIT from '../../config/abi/deposit.json'\nimport ABI_DEPOSIT_SIG from '../../config/abi/depositSig.json'\nimport { PurchasedBondData } from './BuyBondModal'\nimport {\n useChainId,\n useSendTransaction,\n useWriteContract,\n // useConfig\n} from 'wagmi'\nimport useModal from '../../hooks/useModal'\n// import ZapModal from '../ZapModal'\nimport { BillVersion, ChainId, LaunchBondTiers, MarketingCampaign } from '@ape.swap/apeswap-lists'\nimport TokenSelectorPanel from '../../components/TokenSelectorPanel'\nimport { useApproval } from '../../state/allowance/useAllowance'\nimport { SoulZapTokenManager } from '../../config/constants/addresses'\nimport useSoulZapBondQuote from '../../state/zap/useSoulZapBondQuote'\nimport { parseEther } from 'viem'\nimport useBondsData from '../../state/bonds/useBondsData'\nimport useTokenFromZapList from '../../hooks/useTokenFromZapList'\nimport { useMonitorTx } from '../../hooks/useMonitorTx'\nimport { usePopups } from '../../state/popups/usePopups'\nimport {\n formatUSDNumber,\n getMaxBuy,\n getPayoutAmount,\n getPrincipalAmount,\n getRawBonus,\n} from '../../utils/displayHelpers'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport {\n LifiSupported,\n tierOptimizerUIEnabled,\n zapSupported,\n ZapSupportedChainId,\n} from '../../config/constants/variables'\nimport { getSymbol } from '../../utils/getNativeTicker'\nimport { useSendReferenceId } from '../../hooks/useSendReferenceId'\nimport ConnectButton from '../../components/ConnectButton'\nimport BondModalHeader from './components/BondModalHeader'\nimport BondCards from './components/BondCards/BondCards'\nimport Estimations from './components/Estimations'\nimport ProjectDescription from './components/ProjectDescription'\nimport track from '../../utils/track'\nimport { remove0xPrefix } from '../../utils/remove0xPrefix'\nimport useTierPoints, { getUserTier, Promotions, TIERS_WEIGHT } from '../../state/tiers/useTierPoints'\nimport NewRateModal from './components/NewRateModal/NewRateModal'\nimport NoBonusModal from './components/NoBonusModal/NoBonusModal'\nimport useTierProofSignature from '../../state/bonds/useTierProofSignature'\nimport PointsLeftForNextTier from './components/PointsLeftForNextTier/PointsLeftForNextTier'\nimport SafeHTMLComponent from '../../components/SafeHTMLComponent'\nimport useSortedZapList from '../../hooks/useSortedZapList'\nimport TransactionModal from '../TransactionModal/TransactionModal'\nimport { reportError } from '../../utils/reportError'\nimport { findHighestTrueBondPrice } from '../../utils/bondPriceHelpers'\nimport { MCBuyComponentStyles } from '../../utils/campaignStyles'\nimport useEVMAccount from '../../hooks/accounts/useEVMAccount'\nimport LifiModal from '../LifiModal/LifiModal'\n// import useTierOptimizationPreview from '../../state/zap/useTierOptimizationPreview'\nimport { SHORT_NETWORK_LABEL } from '../../config/constants/chains'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport Text from '../../components/uikit-sdk/Text'\nimport Button from '../../components/uikit-sdk/Button/Button'\nimport { formatNumberSI } from '../../utils/formatNumber'\nimport TooltipBubble from '../../components/uikit-sdk/TooltipBubble'\nimport GetUpToComponent from './components/GetUpToComponent/GetUpToComponent'\nimport QuestionCircle from '../../components/uikit-sdk/Svg/Icons/QuestionCircle'\n// import { simulateContract } from 'wagmi/actions'\n\nexport interface BuyComponentProps {\n onDismiss?: () => void // this is only the modal\n bondAddress?: string\n bondChain?: number\n handlePurchasedBond?: (data: PurchasedBondData) => void\n isProjectView?: boolean\n}\n\nconst PROMOTION_TRACKING_SUFFIXES: Partial<Record<Promotions, string>> = {\n [Promotions.WelcomeBonus]: 'welcome-bonus',\n [Promotions.BonusWeek]: 'bonus-week',\n}\n\nconst getPromotionTrackingSuffix = (promotion?: Promotions | null): string => {\n if (!promotion) return ''\n return PROMOTION_TRACKING_SUFFIXES[promotion] ?? ''\n}\n\nconst BuyComponent: React.FC<BuyComponentProps> = ({\n onDismiss,\n bondAddress,\n bondChain,\n handlePurchasedBond,\n isProjectView,\n}) => {\n // Hooks\n // const config = useConfig()\n const SDKConfig = useSDKConfig()\n const userChainId = useChainId()\n const { address: account } = useEVMAccount()\n const { writeContractAsync } = useWriteContract()\n const { sendTransactionAsync } = useSendTransaction()\n const { data: bonds, refetch: refetchBondState } = useBondsData()\n const sendReferenceId = useSendReferenceId()\n const { data: tierPointsState } = useTierPoints()\n const { promotionalPoints, promotion, eligibleChains, onChainPoints } = tierPointsState || {}\n // if promotion comes with eligibleChains undefined means it should be used for every chain\n const isBondEligibleForPromotion = eligibleChains === undefined || eligibleChains?.includes(bondChain as ChainId)\n const pointsToBeUsed = isBondEligibleForPromotion ? promotionalPoints : onChainPoints\n // Bond To be used\n const bondData = useMemo(() => {\n return bonds?.find((bond) => bond?.contractAddress?.[bond.chainId]?.toLowerCase() === bondAddress?.toLowerCase())!\n }, [bonds, bondAddress])\n\n // Tier Gating\n const userTier = getUserTier(pointsToBeUsed ?? '0')\n const minTier = bondData?.minTier !== undefined ? bondData.minTier : null\n const isUserRestricted = minTier !== null && (userTier === null || userTier < minTier)\n const trueBondPriceData = findHighestTrueBondPrice(pointsToBeUsed, bondData?.trueBondPrices)\n const trueBondPrice = trueBondPriceData?.trueBondPrice\n const { data: tierProofSig } = useTierProofSignature(bondAddress, bondChain, isUserRestricted)\n\n // State\n const [buyTxHash, setBuyTxHash] = useState<string | undefined>()\n const [inputValue, setInputValue] = useState('')\n const [inputTokenString, setInputTokenString] = useState(bondData?.lpToken?.address?.[bondData.chainId])\n\n // On-chain Data\n const inputToken = useTokenFromZapList(inputTokenString, bondData?.chainId, bondData?.lpToken)\n const isZapSupported = zapSupported.includes(bondData?.chainId as ZapSupportedChainId)\n\n const [fetchingZapQuote, zapData, zapDepositAmount, zapError, zapTrueBondPrice] = useSoulZapBondQuote(\n inputValue,\n inputToken,\n bondData,\n account,\n tierProofSig ?? undefined,\n )\n\n const { sortedZapList, isFetched: zapListFetched } = useSortedZapList(bondChain, bondData?.lpToken)\n const enrichedTokenData = sortedZapList.find((item) =>\n item.token === 'NATIVE' || inputToken === 'NATIVE'\n ? item.token === inputToken\n : item?.token?.address?.[bondChain as ChainId]?.toLowerCase() ===\n inputToken?.address?.[bondChain as ChainId]?.toLowerCase(),\n )\n const inputCurrencyBalance = enrichedTokenData?.balance\n const inputTokenPrice = enrichedTokenData?.price\n const rateChanged = parseFloat(zapTrueBondPrice ?? '0') > parseFloat(trueBondPrice ?? '0') * 1.01 && isZapSupported\n const promotionTrackingSuffix = getPromotionTrackingSuffix(promotion)\n const getTrackingCategory = useCallback(\n (baseCategory: string) => (promotionTrackingSuffix ? `${baseCategory}-${promotionTrackingSuffix}` : baseCategory),\n [promotionTrackingSuffix],\n )\n\n // Estimations\n const depositAmount = isZapSupported ? zapDepositAmount : inputValue\n const youSpendString = `${formatNumberSI(inputValue)} ${getSymbol(inputToken, bondData?.chainId)} = \n $${formatUSDNumber((parseFloat(inputValue) * (inputTokenPrice ?? 0)).toString())}`\n\n // Validations\n const exceedsRealMaxBuy = getMaxBuy(bondData, true) <= getPayoutAmount(bondData, depositAmount, pointsToBeUsed)\n const exceedsSafeMaxBuy =\n getMaxBuy(bondData, false) * (isZapSupported ? 0.995 : 0.9995) <=\n getPayoutAmount(bondData, depositAmount, pointsToBeUsed)\n const exceedsBalance = Number(inputCurrencyBalance ?? '0') < Number(inputValue)\n const isPrincipalTokenLP = bondData?.lpToken?.symbol?.includes('-')\n\n // Loading State\n const [loadingTx, setLoadingTx] = useState(false)\n const { addToastError } = usePopups()\n const { isLoading: isConfirming, isSuccess: isConfirmed } = useMonitorTx(buyTxHash, userChainId)\n const load = loadingTx || (isConfirming && !isConfirmed)\n\n // State Handlers\n const handleCurrencySelect = useCallback((newInputToken: string) => {\n setInputValue('')\n setInputTokenString(newInputToken)\n }, [])\n\n const handleMaxButton = useCallback(() => {\n const balance = Number(inputCurrencyBalance ?? '0')\n const maxBuyAmount = getMaxBuy(bondData, SDKConfig.showLowValueBonds)\n\n if (!isZapSupported) {\n const maxPossibleUserPurchase = getPayoutAmount(bondData, balance.toString(), pointsToBeUsed)\n const principalDecimals = bondData?.lpToken?.decimals?.[bondData?.chainId] ?? 18\n if (maxPossibleUserPurchase > maxBuyAmount) {\n const principalForMaxBuy = getPrincipalAmount(bondData, maxBuyAmount.toString(), pointsToBeUsed)\n setInputValue(toFixedString(principalForMaxBuy, principalDecimals))\n } else {\n setInputValue(toFixedString(balance, principalDecimals))\n }\n } else {\n const principalForMaxBuy = getPrincipalAmount(bondData, maxBuyAmount.toString(), pointsToBeUsed)\n const principalForMaxBuyUSD = principalForMaxBuy * Number(bondData?.principalTokenPrice ?? 0)\n const maxBuyAmountInSelectedToken = principalForMaxBuyUSD / (inputTokenPrice ?? 0)\n const decimals =\n enrichedTokenData?.token === 'NATIVE' ? 18 : (enrichedTokenData?.token.decimals[bondData?.chainId] ?? 18)\n\n if (balance >= maxBuyAmountInSelectedToken) {\n setInputValue(toFixedString(maxBuyAmountInSelectedToken, decimals))\n } else {\n setInputValue(toFixedString(balance, decimals))\n }\n }\n }, [\n bondData,\n isZapSupported,\n pointsToBeUsed,\n SDKConfig.showLowValueBonds,\n inputTokenPrice,\n enrichedTokenData?.token,\n inputCurrencyBalance,\n ])\n\n // Approve & Purchase Functions\n const [approvalState, approveCallback] = useApproval(\n inputValue,\n inputToken ?? null,\n (isZapSupported\n ? SoulZapTokenManager?.[bondData?.chainId as ZapSupportedChainId]\n : bondData?.contractAddress?.[bondData.chainId]) ?? null,\n account ?? null,\n bondData?.chainId ?? null,\n )\n const handleApprove = async () => {\n return approveCallback().then(() => {\n track({\n event: 'approveBondClick',\n chain: userChainId,\n data: {\n cat: bondData?.billType,\n bond: bondData?.earnToken.symbol,\n },\n })\n })\n }\n\n const handleBuyCallback = async () => {\n const billAddress: `0x${string}` = bondData?.contractAddress?.[bondData.chainId] as `0x${string}`\n const decimals = bondData?.lpToken.decimals?.[bondData?.chainId] ?? 18\n track({\n event: 'buyBondClick',\n chain: bondChain,\n data: {\n cat: bondData?.billType,\n bond: bondData?.earnToken.symbol,\n value: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n try {\n const maxPrice = mulDivRound(BigInt(trueBondPrice ?? '0'), 102n, 100n, 'halfUp').toString() // multiply it by 1.02\n const amount = convertToBigish(inputValue, decimals)\n\n const shouldUseSig = bondData?.billVersion === BillVersion.V4 && SDKConfig.useTiers\n const args = shouldUseSig ? [amount, maxPrice, account, tierProofSig] : [amount, maxPrice, account]\n\n // const simulationResult = await simulateContract(config, {\n // address: billAddress,\n // abi: ABI_DEPOSIT_SIG,\n // functionName: 'deposit',\n // args: args,\n // chainId: bondData?.chainId as any,\n // account,\n // })\n // .then((e) => console.log('success!', e))\n // .catch((e) => {\n // console.error(e)\n // })\n\n const hash = await writeContractAsync({\n address: billAddress,\n abi: shouldUseSig ? ABI_DEPOSIT_SIG : ABI_DEPOSIT,\n functionName: 'deposit',\n args: args,\n chain: bondData?.chainId as any,\n account,\n })\n if (hash) {\n setBuyTxHash(hash)\n await sendReferenceId(billAddress, userChainId, hash)\n\n // lostProfit\n const bonusString = getRawBonus(bondData, depositAmount, TIERS_WEIGHT[LaunchBondTiers.Mythical])\n const noTierAmount = getRawBonus(bondData, depositAmount, '0')\n const lostProfit = parseFloat(bonusString) - parseFloat(noTierAmount)\n\n handlePurchasedBond?.({\n buyTxHash: hash,\n lostProfit: SDKConfig.useTiers && !userTier && lostProfit > 0.01 ? lostProfit.toFixed(2) : undefined,\n })\n track({\n event: 'bond',\n chain: bondChain,\n data: {\n cat: getTrackingCategory('lp-buy'),\n type: bondData?.billType ?? '',\n typedValue: inputValue,\n principalToken: bondData?.lpToken.symbol ?? '',\n earnToken: bondData?.earnToken.symbol ?? '',\n address: remove0xPrefix(bondData?.contractAddress?.[bondData.chainId]),\n usdAmount: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n }\n } catch (error: any) {\n console.error('Buy error', error)\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error,\n extraInfo: { type: 'buyBond', bondData, error },\n chainId: bondChain,\n account,\n })\n addToastError(error.shortMessage)\n }\n }\n\n const handleZapCallback = async () => {\n if (zapData && zapData?.txData?.to && zapData?.txData?.data) {\n console.log('Attempting zap tx')\n track({\n event: 'buyBondClick',\n chain: bondData?.chainId,\n data: {\n cat: bondData?.billType,\n bond: bondData?.earnToken.symbol ?? '',\n value: zapData.lpQuote.fromAmountUSD,\n },\n })\n try {\n console.log(zapData)\n const validated18DecimalAmount = toFixedString(inputValue ?? '0', 18, 'trunc')\n const parsedValue = parseEther(validated18DecimalAmount)\n\n const hash = await sendTransactionAsync({\n to: zapData.txData.to,\n data: zapData.txData.data,\n value: inputToken === 'NATIVE' ? parsedValue : undefined,\n })\n if (hash) {\n setBuyTxHash(hash)\n await sendReferenceId(bondData?.contractAddress?.[bondData.chainId] ?? '', userChainId, hash)\n\n // lostProfit\n const bonusString = getRawBonus(bondData, depositAmount, TIERS_WEIGHT[LaunchBondTiers.Mythical])\n const noTierAmount = getRawBonus(bondData, depositAmount, '0')\n const lostProfit = parseFloat(bonusString) - parseFloat(noTierAmount)\n\n handlePurchasedBond?.({\n buyTxHash: hash,\n lostProfit: SDKConfig.useTiers && !userTier && lostProfit > 0.01 ? lostProfit.toFixed(2) : undefined,\n })\n track({\n event: 'zap',\n chain: bondChain,\n data: {\n cat: 'bill',\n token1: getSymbol(inputToken),\n token2: `${bondData?.lpToken.symbol ?? ''}`,\n amount: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n track({\n event: 'bond',\n chain: bondChain,\n data: {\n cat: getTrackingCategory('zap-buy'),\n type: bondData?.billType ?? '',\n principalToken: bondData?.lpToken.symbol ?? '',\n earnToken: bondData?.earnToken.symbol ?? '',\n address: remove0xPrefix(bondData?.contractAddress?.[bondData.chainId]),\n amount: inputValue,\n usdAmount: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n }\n } catch (e: any) {\n console.log(e)\n addToastError(e.shortMessage)\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error: e,\n extraInfo: { type: 'zapBuyBond', bondData, zapData, e },\n chainId: bondChain,\n account,\n })\n }\n }\n }\n\n const handleBothPurchases = () => {\n setLoadingTx(true)\n if (isZapSupported) {\n handleZapCallback().finally(() => setLoadingTx(false))\n } else {\n handleBuyCallback().finally(() => setLoadingTx(false))\n }\n }\n\n const handleOpenModal = () => {\n const bonus = trueBondPriceData?.bonusWithFee ?? 0\n if (bonus <= 0) {\n openNoBonusModal()\n } else {\n openTxModal()\n }\n }\n\n const openExternal = () => {\n if (bondData?.lpToken?.getLpUrl?.[bondData?.chainId]) {\n window.open(bondData.lpToken.getLpUrl?.[bondData?.chainId], '_blank')\n } else {\n window.open(\n `https://ape.bond/swap?outputcurrency=${bondData?.lpToken.address[bondData?.chainId]}&outputChain=${bondData?.chainId}`,\n '_blank',\n )\n }\n }\n\n // Modals\n const [onOpenLifiModal] = useModal(\n <LifiModal\n bondChain={bondChain}\n principalToken={isPrincipalTokenLP ? 'ETH' : bondData?.lpToken?.address?.[bondData?.chainId]}\n />,\n )\n\n const [openNewRateModal] = useModal(\n <NewRateModal\n bond={bondData}\n zapTrueBondPrice={zapTrueBondPrice}\n depositAmount={depositAmount}\n youSpendString={youSpendString}\n fetchingZapQuote={fetchingZapQuote}\n zapError={zapError}\n />,\n true,\n false,\n 'newRateModal',\n )\n\n const [openTxModal] = useModal(\n <TransactionModal\n txChain={bondChain}\n approvalState={approvalState}\n approveCallback={handleApprove}\n loadingTx={loadingTx}\n txCallback={handleBothPurchases}\n bondData={bondData!}\n inputToken={inputToken}\n inputValue={inputValue}\n depositAmount={depositAmount}\n buyTxHash={buyTxHash}\n rateChanged={rateChanged}\n />,\n false,\n true,\n 'transactionModal',\n )\n\n // const [onOpenZapModal] = useModal(\n // <ZapModal outputToken={bondData?.lpToken as Token} account={account} chainId={bondData?.chainId as ChainId} />,\n // true,\n // true,\n // 'zapModal',\n // )\n\n const [openNoBonusModal] = useModal(\n <NoBonusModal onAcknowledge={openTxModal} showcaseTokenName={bondData?.showcaseTokenName} />,\n true,\n true,\n 'NoBonusModal',\n )\n\n // Effects\n const [hasChecked, setHasChecked] = useState(false)\n useEffect(() => {\n if (zapListFetched && !hasChecked) {\n if (parseFloat(inputCurrencyBalance ?? '0') < 0.0001) {\n setInputTokenString(\n sortedZapList[0].token === 'NATIVE' ? 'NATIVE' : sortedZapList[0].token.address[bondChain as ChainId],\n )\n }\n setHasChecked(true)\n }\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [inputCurrencyBalance, zapListFetched])\n\n // If rateChanged meaning the zap quote has a >1% difference from the true bond price, we let the user know and we update state\n useEffect(() => {\n if (rateChanged) {\n console.log('rate changed, refetch state and let user know')\n openNewRateModal()\n refetchBondState()\n }\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [rateChanged])\n\n return bondData ? (\n <Flex className=\"modal-content\" sx={{ ...MCBuyComponentStyles[bondData?.marketingCampaign as MarketingCampaign] }}>\n <Flex className=\"modaltable-container\">\n <BondModalHeader\n bondData={bondData}\n onDismiss={onDismiss}\n showProjectInfoButton={SDKConfig?.referenceId === 'apebond'}\n />\n <ProjectDescription description={bondData.shortDescription} isProjectView />\n <Flex sx={{ width: '100%', display: isProjectView ? ['flex', 'flex', 'flex', 'none'] : 'flex' }}>\n <BondCards bondData={bondData} isDoingMaxBuy={exceedsSafeMaxBuy && !exceedsRealMaxBuy} />\n </Flex>\n <Estimations\n depositAmount={depositAmount}\n inputValue={inputValue}\n inputTokenPrice={inputTokenPrice}\n bondData={bondData}\n youSpendString={youSpendString}\n isZap={isZapSupported}\n fetchingZapQuote={fetchingZapQuote}\n zapError={zapError}\n />\n <TokenSelectorPanel\n typedValue={inputValue}\n setTypedValue={setInputValue}\n selectedToken={inputToken}\n handleValueBtn={handleMaxButton}\n handleCurrencySelect={handleCurrencySelect}\n bondChainId={bondData?.chainId}\n enableZap={isZapSupported}\n bondPrincipalToken={bondData?.lpToken}\n tokenBalance={inputCurrencyBalance}\n selectedTokenPrice={inputTokenPrice}\n inputDisabled={isUserRestricted}\n marketingCampaign={bondData?.marketingCampaign}\n isConnected={!!account}\n />\n {SDKConfig.useTiers && (\n <>\n {(bondData?.trueBondPrices?.length ?? 0) > 1 &&\n bondData.earnToken.symbol.toLowerCase() !== 'ireet' &&\n tierOptimizerUIEnabled ? (\n <PointsLeftForNextTier\n bond={bondData}\n inputAmount={inputValue}\n setInputValue={setInputValue}\n inputTokenPrice={inputTokenPrice}\n inputTokenDecimals={inputToken === 'NATIVE' ? 18 : (inputToken?.decimals?.[bondData?.chainId] ?? 18)}\n />\n ) : (\n <GetUpToComponent bond={bondData} depositAmount={depositAmount} />\n )}\n </>\n )}\n {bondData.earnToken.symbol.toLowerCase() === 'ireet' && (\n <Flex\n sx={{\n width: '100%',\n background: '#DE62F366',\n mt: '10px',\n borderRadius: 'normal',\n p: '2px 10px',\n minHeight: '28px',\n alignItems: 'center',\n }}\n >\n <span sx={{ flex: 1, fontSize: '12px', fontWeight: 400 }}>\n Extra rewards to be distributed in pmUSD by RAAC at bond maturity.{' '}\n <span\n sx={{\n display: ['inline-flex', 'inline-flex', 'inline-flex', 'none'],\n alignItems: 'center',\n verticalAlign: 'middle',\n }}\n >\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Flex>{`If the bond gets filled before April 21st, all buyers get a 2% $pmUSD bonus (5% total bonus). Under the same condition, RAAC Bot NFT holders get an extra 2% on top (7% total bonus).`}</Flex>\n }\n width={'200px'}\n placement=\"topRight\"\n transformTip=\"translate(12%, -8%)\"\n >\n <Flex sx={{ opacity: 0.6 }}>\n <QuestionCircle width=\"12px\" />\n </Flex>\n </TooltipBubble>\n </span>\n <span\n sx={{\n display: ['none', 'none', 'none', 'inline-flex'],\n alignItems: 'center',\n verticalAlign: 'middle',\n }}\n >\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Flex>{`If the bond gets filled before April 21st, all buyers get a 2% $pmUSD bonus (5% total bonus). Under the same condition, RAAC Bot NFT holders get an extra 2% on top (7% total bonus).`}</Flex>\n }\n width={'280px'}\n placement=\"topRight\"\n transformTip=\"translate(10%, -11%)\"\n >\n <Flex sx={{ opacity: 0.6 }}>\n <QuestionCircle width=\"12px\" />\n </Flex>\n </TooltipBubble>\n </span>\n </span>\n </Flex>\n )}\n {bondData?.warningCard && (\n <Flex\n sx={{\n width: '100%',\n background: '#DE62F366',\n mt: '10px',\n borderRadius: 'normal',\n p: '2px 10px',\n }}\n >\n <Text sx={{ fontSize: '12px', fontWeight: 400, display: 'flex', alignItems: 'center', gap: '10px' }}>\n <SafeHTMLComponent html={bondData?.warningCard} />\n </Text>\n </Flex>\n )}\n <Flex className=\"modaltable-container button-container\">\n <Flex className=\"button-container buy\">\n {!account ? (\n <ConnectButton />\n ) : (\n <Flex sx={{ width: '100%', gap: '10px', flexDirection: ['column', 'column', 'column', 'row'] }}>\n <Button\n variant=\"secondary\"\n onClick={() => (LifiSupported.includes(bondChain!) ? onOpenLifiModal() : openExternal())}\n sx={{ width: ['100%', '100%', '100%', '35%'], fontSize: ['14px', '14px', '14px', '16px'] }}\n >\n {LifiSupported.includes(bondChain!)\n ? `Bridge to ${SHORT_NETWORK_LABEL[bondData?.chainId as ChainId]}`\n : `Get ${getSymbol(bondData?.lpToken, bondData?.chainId)}`}\n </Button>\n {isUserRestricted ? (\n <Button className=\"action-button\" disabled>\n INSUFFICIENT TIER\n </Button>\n ) : (\n <Button\n className=\"action-button\"\n load={load || fetchingZapQuote}\n disabled={\n load ||\n bondData?.soldOut ||\n !account ||\n !inputValue ||\n parseFloat(inputValue) === 0 ||\n fetchingZapQuote ||\n zapError ||\n exceedsRealMaxBuy ||\n exceedsBalance ||\n (isZapSupported && !zapData) ||\n SDKConfig.blockSales\n }\n onClick={handleOpenModal}\n sx={{ fontSize: ['14px', '14px', '14px', '16px'] }}\n >\n {SDKConfig.blockSales\n ? 'Complete KYC to Buy'\n : exceedsRealMaxBuy\n ? 'Exceeds Max Buy. Reduce amount'\n : exceedsBalance\n ? 'Exceeds balance'\n : zapError\n ? 'something went wrong'\n : !inputValue || parseFloat(inputValue) === 0\n ? 'Insert amount'\n : `buy`}\n </Button>\n )}{' '}\n </Flex>\n )}\n </Flex>\n </Flex>\n </Flex>\n </Flex>\n ) : (\n <></>\n )\n}\nexport default React.memo(BuyComponent)\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+EA,MAAM,2BAA2B,GAAwC;AACvE,IAAA,CAAC,UAAU,CAAC,YAAY,GAAG,eAAe;AAC1C,IAAA,CAAC,UAAU,CAAC,SAAS,GAAG,YAAY;CACrC;AAED,MAAM,0BAA0B,GAAG,CAAC,SAA6B,KAAY;AAC3E,IAAA,IAAI,CAAC,SAAS;AAAE,QAAA,OAAO,EAAE;AACzB,IAAA,OAAO,2BAA2B,CAAC,SAAS,CAAC,IAAI,EAAE;AACrD,CAAC;AAED,MAAM,YAAY,GAAgC,CAAC,EACjD,SAAS,EACT,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,aAAa,GACd,KAAI;;;AAGH,IAAA,MAAM,SAAS,GAAG,YAAY,EAAE;AAChC,IAAA,MAAM,WAAW,GAAG,UAAU,EAAE;IAChC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE;AAC5C,IAAA,MAAM,EAAE,kBAAkB,EAAE,GAAG,gBAAgB,EAAE;AACjD,IAAA,MAAM,EAAE,oBAAoB,EAAE,GAAG,kBAAkB,EAAE;AACrD,IAAA,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,YAAY,EAAE;AACjE,IAAA,MAAM,eAAe,GAAG,kBAAkB,EAAE;IAC5C,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,aAAa,EAAE;AACjD,IAAA,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,eAAe,IAAI,EAAE;;AAE7F,IAAA,MAAM,0BAA0B,GAAG,cAAc,KAAK,SAAS,IAAI,cAAc,EAAE,QAAQ,CAAC,SAAoB,CAAC;IACjH,MAAM,cAAc,GAAG,0BAA0B,GAAG,iBAAiB,GAAG,aAAa;;AAErF,IAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAK;QAC5B,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,WAAW,EAAE,CAAE;AACpH,IAAA,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;;IAGxB,MAAM,QAAQ,GAAG,WAAW,CAAC,cAAc,IAAI,GAAG,CAAC;AACnD,IAAA,MAAM,OAAO,GAAG,QAAQ,EAAE,OAAO,KAAK,SAAS,GAAG,QAAQ,CAAC,OAAO,GAAG,IAAI;AACzE,IAAA,MAAM,gBAAgB,GAAG,OAAO,KAAK,IAAI,KAAK,QAAQ,KAAK,IAAI,IAAI,QAAQ,GAAG,OAAO,CAAC;IACtF,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,cAAc,EAAE,QAAQ,EAAE,cAAc,CAAC;AAC5F,IAAA,MAAM,aAAa,GAAG,iBAAiB,EAAE,aAAa;AACtD,IAAA,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,qBAAqB,CAAC,WAAW,EAAE,SAAS,EAAE,gBAAgB,CAAC;;IAG9F,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,EAAsB;IAChE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;IAChD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;;AAGxG,IAAA,MAAM,UAAU,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC;IAC9F,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAA8B,CAAC;IAEtF,MAAM,CAAC,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,gBAAgB,CAAC,GAAG,mBAAmB,CACnG,UAAU,EACV,UAAU,EACV,QAAQ,EACR,OAAO,EACP,YAAY,IAAI,SAAS,CAC1B;AAED,IAAA,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,gBAAgB,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC;AACnG,IAAA,MAAM,iBAAiB,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,KAChD,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,UAAU,KAAK;AACxC,UAAE,IAAI,CAAC,KAAK,KAAK;AACjB,UAAE,IAAI,EAAE,KAAK,EAAE,OAAO,GAAG,SAAoB,CAAC,EAAE,WAAW,EAAE;YAC3D,UAAU,EAAE,OAAO,GAAG,SAAoB,CAAC,EAAE,WAAW,EAAE,CAC/D;AACD,IAAA,MAAM,oBAAoB,GAAG,iBAAiB,EAAE,OAAO;AACvD,IAAA,MAAM,eAAe,GAAG,iBAAiB,EAAE,KAAK;AAChD,IAAA,MAAM,WAAW,GAAG,UAAU,CAAC,gBAAgB,IAAI,GAAG,CAAC,GAAG,UAAU,CAAC,aAAa,IAAI,GAAG,CAAC,GAAG,IAAI,IAAI,cAAc;AACnH,IAAA,MAAM,uBAAuB,GAAG,0BAA0B,CAAC,SAAS,CAAC;AACrE,IAAA,MAAM,mBAAmB,GAAG,WAAW,CACrC,CAAC,YAAoB,MAAM,uBAAuB,GAAG,CAAA,EAAG,YAAY,CAAA,CAAA,EAAI,uBAAuB,CAAA,CAAE,GAAG,YAAY,CAAC,EACjH,CAAC,uBAAuB,CAAC,CAC1B;;IAGD,MAAM,aAAa,GAAG,cAAc,GAAG,gBAAgB,GAAG,UAAU;AACpE,IAAA,MAAM,cAAc,GAAG,CAAA,EAAG,cAAc,CAAC,UAAU,CAAC,CAAA,CAAA,EAAI,SAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;AAC7E,mBAAA,EAAA,eAAe,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,eAAe,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE;;AAGlG,IAAA,MAAM,iBAAiB,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,eAAe,CAAC,QAAQ,EAAE,aAAa,EAAE,cAAc,CAAC;AAC/G,IAAA,MAAM,iBAAiB,GACrB,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,cAAc,GAAG,KAAK,GAAG,MAAM,CAAC;AAC9D,QAAA,eAAe,CAAC,QAAQ,EAAE,aAAa,EAAE,cAAc,CAAC;AAC1D,IAAA,MAAM,cAAc,GAAG,MAAM,CAAC,oBAAoB,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC;AAC/E,IAAA,MAAM,kBAAkB,GAAG,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC;;IAGnE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;AACjD,IAAA,MAAM,EAAE,aAAa,EAAE,GAAG,SAAS,EAAE;AACrC,IAAA,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,YAAY,CAAC,SAAS,EAAE,WAAW,CAAC;IAChG,MAAM,IAAI,GAAG,SAAS,KAAK,YAAY,IAAI,CAAC,WAAW,CAAC;;AAGxD,IAAA,MAAM,oBAAoB,GAAG,WAAW,CAAC,CAAC,aAAqB,KAAI;QACjE,aAAa,CAAC,EAAE,CAAC;QACjB,mBAAmB,CAAC,aAAa,CAAC;IACpC,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,MAAM,eAAe,GAAG,WAAW,CAAC,MAAK;QACvC,MAAM,OAAO,GAAG,MAAM,CAAC,oBAAoB,IAAI,GAAG,CAAC;QACnD,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,iBAAiB,CAAC;QAErE,IAAI,CAAC,cAAc,EAAE;AACnB,YAAA,MAAM,uBAAuB,GAAG,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,cAAc,CAAC;AAC7F,YAAA,MAAM,iBAAiB,GAAG,QAAQ,EAAE,OAAO,EAAE,QAAQ,GAAG,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE;AAChF,YAAA,IAAI,uBAAuB,GAAG,YAAY,EAAE;AAC1C,gBAAA,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,EAAE,cAAc,CAAC;gBAChG,aAAa,CAAC,aAAa,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAC;YACrE;iBAAO;gBACL,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;YAC1D;QACF;aAAO;AACL,YAAA,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,EAAE,cAAc,CAAC;AAChG,YAAA,MAAM,qBAAqB,GAAG,kBAAkB,GAAG,MAAM,CAAC,QAAQ,EAAE,mBAAmB,IAAI,CAAC,CAAC;YAC7F,MAAM,2BAA2B,GAAG,qBAAqB,IAAI,eAAe,IAAI,CAAC,CAAC;AAClF,YAAA,MAAM,QAAQ,GACZ,iBAAiB,EAAE,KAAK,KAAK,QAAQ,GAAG,EAAE,IAAI,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;AAE3G,YAAA,IAAI,OAAO,IAAI,2BAA2B,EAAE;gBAC1C,aAAa,CAAC,aAAa,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;YACrE;iBAAO;gBACL,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACjD;QACF;AACF,IAAA,CAAC,EAAE;QACD,QAAQ;QACR,cAAc;QACd,cAAc;AACd,QAAA,SAAS,CAAC,iBAAiB;QAC3B,eAAe;AACf,QAAA,iBAAiB,EAAE,KAAK;QACxB,oBAAoB;AACrB,KAAA,CAAC;;AAGF,IAAA,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC,GAAG,WAAW,CAClD,UAAU,EACV,UAAU,IAAI,IAAI,EAClB,CAAC;AACC,UAAE,mBAAmB,GAAG,QAAQ,EAAE,OAA8B;UAC9D,QAAQ,EAAE,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,EAC1D,OAAO,IAAI,IAAI,EACf,QAAQ,EAAE,OAAO,IAAI,IAAI,CAC1B;AACD,IAAA,MAAM,aAAa,GAAG,YAAW;AAC/B,QAAA,OAAO,eAAe,EAAE,CAAC,IAAI,CAAC,MAAK;AACjC,YAAA,KAAK,CAAC;AACJ,gBAAA,KAAK,EAAE,kBAAkB;AACzB,gBAAA,KAAK,EAAE,WAAW;AAClB,gBAAA,IAAI,EAAE;oBACJ,GAAG,EAAE,QAAQ,EAAE,QAAQ;AACvB,oBAAA,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM;AACjC,iBAAA;AACF,aAAA,CAAC;AACJ,QAAA,CAAC,CAAC;AACJ,IAAA,CAAC;AAED,IAAA,MAAM,iBAAiB,GAAG,YAAW;QACnC,MAAM,WAAW,GAAkB,QAAQ,EAAE,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAkB;AACjG,QAAA,MAAM,QAAQ,GAAG,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAG,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE;AACtE,QAAA,KAAK,CAAC;AACJ,YAAA,KAAK,EAAE,cAAc;AACrB,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,IAAI,EAAE;gBACJ,GAAG,EAAE,QAAQ,EAAE,QAAQ;AACvB,gBAAA,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM;gBAChC,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,eAAe,IAAI,CAAC,CAAC;AACvD,aAAA;AACF,SAAA,CAAC;AACF,QAAA,IAAI;YACF,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,aAAa,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAA;YAC3F,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC;AAEpD,YAAA,MAAM,YAAY,GAAG,QAAQ,EAAE,WAAW,KAAK,WAAW,CAAC,EAAE,IAAI,SAAS,CAAC,QAAQ;YACnF,MAAM,IAAI,GAAG,YAAY,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC;;;;;;;;;;;;;AAenG,YAAA,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC;AACpC,gBAAA,OAAO,EAAE,WAAW;gBACpB,GAAG,EAAE,YAAY,GAAG,eAAe,GAAG,WAAW;AACjD,gBAAA,YAAY,EAAE,SAAS;AACvB,gBAAA,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,QAAQ,EAAE,OAAc;gBAC/B,OAAO;AACR,aAAA,CAAC;YACF,IAAI,IAAI,EAAE;gBACR,YAAY,CAAC,IAAI,CAAC;gBAClB,MAAM,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC;;AAGrD,gBAAA,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,EAAE,aAAa,EAAE,YAAY,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;gBAChG,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,CAAC;gBAC9D,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC;AAErE,gBAAA,mBAAmB,GAAG;AACpB,oBAAA,SAAS,EAAE,IAAI;oBACf,UAAU,EAAE,SAAS,CAAC,QAAQ,IAAI,CAAC,QAAQ,IAAI,UAAU,GAAG,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS;AACrG,iBAAA,CAAC;AACF,gBAAA,KAAK,CAAC;AACJ,oBAAA,KAAK,EAAE,MAAM;AACb,oBAAA,KAAK,EAAE,SAAS;AAChB,oBAAA,IAAI,EAAE;AACJ,wBAAA,GAAG,EAAE,mBAAmB,CAAC,QAAQ,CAAC;AAClC,wBAAA,IAAI,EAAE,QAAQ,EAAE,QAAQ,IAAI,EAAE;AAC9B,wBAAA,UAAU,EAAE,UAAU;AACtB,wBAAA,cAAc,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;AAC9C,wBAAA,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,IAAI,EAAE;AAC3C,wBAAA,OAAO,EAAE,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;wBACtE,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,eAAe,IAAI,CAAC,CAAC;AAC3D,qBAAA;AACF,iBAAA,CAAC;YACJ;QACF;QAAE,OAAO,KAAU,EAAE;AACnB,YAAA,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC;AACjC,YAAA,WAAW,CAAC;AACV,gBAAA,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;gBAC9B,KAAK;gBACL,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE;AAC/C,gBAAA,OAAO,EAAE,SAAS;gBAClB,OAAO;AACR,aAAA,CAAC;AACF,YAAA,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC;QACnC;AACF,IAAA,CAAC;AAED,IAAA,MAAM,iBAAiB,GAAG,YAAW;AACnC,QAAA,IAAI,OAAO,IAAI,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE;AAC3D,YAAA,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;AAChC,YAAA,KAAK,CAAC;AACJ,gBAAA,KAAK,EAAE,cAAc;gBACrB,KAAK,EAAE,QAAQ,EAAE,OAAO;AACxB,gBAAA,IAAI,EAAE;oBACJ,GAAG,EAAE,QAAQ,EAAE,QAAQ;AACvB,oBAAA,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,IAAI,EAAE;AACtC,oBAAA,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,aAAa;AACrC,iBAAA;AACF,aAAA,CAAC;AACF,YAAA,IAAI;AACF,gBAAA,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;AACpB,gBAAA,MAAM,wBAAwB,GAAG,aAAa,CAAC,UAAU,IAAI,GAAG,EAAE,EAAE,EAAE,OAAO,CAAC;AAC9E,gBAAA,MAAM,WAAW,GAAG,UAAU,CAAC,wBAAwB,CAAC;AAExD,gBAAA,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC;AACtC,oBAAA,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE;AACrB,oBAAA,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;oBACzB,KAAK,EAAE,UAAU,KAAK,QAAQ,GAAG,WAAW,GAAG,SAAS;AACzD,iBAAA,CAAC;gBACF,IAAI,IAAI,EAAE;oBACR,YAAY,CAAC,IAAI,CAAC;AAClB,oBAAA,MAAM,eAAe,CAAC,QAAQ,EAAE,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC;;AAG7F,oBAAA,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,EAAE,aAAa,EAAE,YAAY,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;oBAChG,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,CAAC;oBAC9D,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC;AAErE,oBAAA,mBAAmB,GAAG;AACpB,wBAAA,SAAS,EAAE,IAAI;wBACf,UAAU,EAAE,SAAS,CAAC,QAAQ,IAAI,CAAC,QAAQ,IAAI,UAAU,GAAG,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS;AACrG,qBAAA,CAAC;AACF,oBAAA,KAAK,CAAC;AACJ,wBAAA,KAAK,EAAE,KAAK;AACZ,wBAAA,KAAK,EAAE,SAAS;AAChB,wBAAA,IAAI,EAAE;AACJ,4BAAA,GAAG,EAAE,MAAM;AACX,4BAAA,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC;4BAC7B,MAAM,EAAE,GAAG,QAAQ,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE,CAAA,CAAE;4BAC3C,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,eAAe,IAAI,CAAC,CAAC;AACxD,yBAAA;AACF,qBAAA,CAAC;AACF,oBAAA,KAAK,CAAC;AACJ,wBAAA,KAAK,EAAE,MAAM;AACb,wBAAA,KAAK,EAAE,SAAS;AAChB,wBAAA,IAAI,EAAE;AACJ,4BAAA,GAAG,EAAE,mBAAmB,CAAC,SAAS,CAAC;AACnC,4BAAA,IAAI,EAAE,QAAQ,EAAE,QAAQ,IAAI,EAAE;AAC9B,4BAAA,cAAc,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;AAC9C,4BAAA,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,IAAI,EAAE;AAC3C,4BAAA,OAAO,EAAE,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;AACtE,4BAAA,MAAM,EAAE,UAAU;4BAClB,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,eAAe,IAAI,CAAC,CAAC;AAC3D,yBAAA;AACF,qBAAA,CAAC;gBACJ;YACF;YAAE,OAAO,CAAM,EAAE;AACf,gBAAA,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AACd,gBAAA,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC;AAC7B,gBAAA,WAAW,CAAC;AACV,oBAAA,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAC9B,oBAAA,KAAK,EAAE,CAAC;oBACR,SAAS,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;AACvD,oBAAA,OAAO,EAAE,SAAS;oBAClB,OAAO;AACR,iBAAA,CAAC;YACJ;QACF;AACF,IAAA,CAAC;IAED,MAAM,mBAAmB,GAAG,MAAK;QAC/B,YAAY,CAAC,IAAI,CAAC;QAClB,IAAI,cAAc,EAAE;AAClB,YAAA,iBAAiB,EAAE,CAAC,OAAO,CAAC,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;QACxD;aAAO;AACL,YAAA,iBAAiB,EAAE,CAAC,OAAO,CAAC,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;QACxD;AACF,IAAA,CAAC;IAED,MAAM,eAAe,GAAG,MAAK;AAC3B,QAAA,MAAM,KAAK,GAAG,iBAAiB,EAAE,YAAY,IAAI,CAAC;AAClD,QAAA,IAAI,KAAK,IAAI,CAAC,EAAE;AACd,YAAA,gBAAgB,EAAE;QACpB;aAAO;AACL,YAAA,WAAW,EAAE;QACf;AACF,IAAA,CAAC;IAED,MAAM,YAAY,GAAG,MAAK;AACxB,QAAA,IAAI,QAAQ,EAAE,OAAO,EAAE,QAAQ,GAAG,QAAQ,EAAE,OAAO,CAAC,EAAE;AACpD,YAAA,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC;QACvE;aAAO;YACL,MAAM,CAAC,IAAI,CACT,CAAA,qCAAA,EAAwC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,gBAAgB,QAAQ,EAAE,OAAO,CAAA,CAAE,EACvH,QAAQ,CACT;QACH;AACF,IAAA,CAAC;;AAGD,IAAA,MAAM,CAAC,eAAe,CAAC,GAAG,QAAQ,CAChCA,GAAA,CAAC,SAAS,EAAA,EACR,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,kBAAkB,GAAG,KAAK,GAAG,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,CAAC,EAAA,CAC5F,CACH;AAED,IAAA,MAAM,CAAC,gBAAgB,CAAC,GAAG,QAAQ,CACjCA,IAAC,YAAY,EAAA,EACX,IAAI,EAAE,QAAQ,EACd,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,QAAQ,EAAA,CAClB,EACF,IAAI,EACJ,KAAK,EACL,cAAc,CACf;AAED,IAAA,MAAM,CAAC,WAAW,CAAC,GAAG,QAAQ,CAC5BA,GAAA,CAAC,gBAAgB,EAAA,EACf,OAAO,EAAE,SAAS,EAClB,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,aAAa,EAC9B,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,mBAAmB,EAC/B,QAAQ,EAAE,QAAS,EACnB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EAAA,CACxB,EACF,KAAK,EACL,IAAI,EACJ,kBAAkB,CACnB;;;;;;;IASD,MAAM,CAAC,gBAAgB,CAAC,GAAG,QAAQ,CACjCA,GAAA,CAAC,YAAY,EAAA,EAAC,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB,EAAA,CAAI,EAC5F,IAAI,EACJ,IAAI,EACJ,cAAc,CACf;;IAGD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IACnD,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,cAAc,IAAI,CAAC,UAAU,EAAE;YACjC,IAAI,UAAU,CAAC,oBAAoB,IAAI,GAAG,CAAC,GAAG,MAAM,EAAE;AACpD,gBAAA,mBAAmB,CACjB,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,GAAG,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAoB,CAAC,CACtG;YACH;YACA,aAAa,CAAC,IAAI,CAAC;QACrB;;AAEF,IAAA,CAAC,EAAE,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;;IAG1C,SAAS,CAAC,MAAK;QACb,IAAI,WAAW,EAAE;AACf,YAAA,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC;AAC5D,YAAA,gBAAgB,EAAE;AAClB,YAAA,gBAAgB,EAAE;QACpB;;AAEF,IAAA,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IAEjB,OAAO,QAAQ,IACbA,IAAC,IAAI,EAAA,EAAC,SAAS,EAAC,eAAe,EAAC,EAAE,EAAE,EAAE,GAAG,oBAAoB,CAAC,QAAQ,EAAE,iBAAsC,CAAC,EAAE,EAAA,QAAA,EAC/GC,IAAA,CAAC,IAAI,IAAC,SAAS,EAAC,sBAAsB,EAAA,QAAA,EAAA,CACpCD,GAAA,CAAC,eAAe,IACd,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,qBAAqB,EAAE,SAAS,EAAE,WAAW,KAAK,SAAS,EAAA,CAC3D,EACFA,GAAA,CAAC,kBAAkB,EAAA,EAAC,WAAW,EAAE,QAAQ,CAAC,gBAAgB,EAAE,aAAa,EAAA,IAAA,EAAA,CAAG,EAC5EA,GAAA,CAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,EAAA,QAAA,EAC7FA,GAAA,CAAC,SAAS,EAAA,EAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,iBAAiB,IAAI,CAAC,iBAAiB,EAAA,CAAI,EAAA,CACpF,EACPA,GAAA,CAAC,WAAW,EAAA,EACV,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,cAAc,EACrB,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,QAAQ,EAAA,CAClB,EACFA,GAAA,CAAC,kBAAkB,IACjB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,UAAU,EACzB,cAAc,EAAE,eAAe,EAC/B,oBAAoB,EAAE,oBAAoB,EAC1C,WAAW,EAAE,QAAQ,EAAE,OAAO,EAC9B,SAAS,EAAE,cAAc,EACzB,kBAAkB,EAAE,QAAQ,EAAE,OAAO,EACrC,YAAY,EAAE,oBAAoB,EAClC,kBAAkB,EAAE,eAAe,EACnC,aAAa,EAAE,gBAAgB,EAC/B,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB,EAC9C,WAAW,EAAE,CAAC,CAAC,OAAO,EAAA,CACtB,EACD,SAAS,CAAC,QAAQ,KACjBA,GAAA,CAAAE,QAAA,EAAA,EAAA,QAAA,EACG,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC;wBAC5C,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,OAAO;AACnD,wBAAA,sBAAsB,IACpBF,GAAA,CAAC,qBAAqB,IACpB,IAAI,EAAE,QAAQ,EACd,WAAW,EAAE,UAAU,EACvB,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,kBAAkB,EAAE,UAAU,KAAK,QAAQ,GAAG,EAAE,IAAI,UAAU,EAAE,QAAQ,GAAG,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,EAAA,CACpG,KAEFA,GAAA,CAAC,gBAAgB,EAAA,EAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAA,CAAI,CACnE,GACA,CACJ,EACA,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,OAAO,KAClDA,IAAC,IAAI,EAAA,EACH,EAAE,EAAE;AACF,wBAAA,KAAK,EAAE,MAAM;AACb,wBAAA,UAAU,EAAE,WAAW;AACvB,wBAAA,EAAE,EAAE,MAAM;AACV,wBAAA,YAAY,EAAE,QAAQ;AACtB,wBAAA,CAAC,EAAE,UAAU;AACb,wBAAA,SAAS,EAAE,MAAM;AACjB,wBAAA,UAAU,EAAE,QAAQ;qBACrB,EAAA,QAAA,EAEDC,IAAA,CAAA,MAAA,EAAA,EAAM,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,mFACa,GAAG,EACtED,GAAA,CAAA,MAAA,EAAA,EACE,EAAE,EAAE;oCACF,OAAO,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC;AAC9D,oCAAA,UAAU,EAAE,QAAQ;AACpB,oCAAA,aAAa,EAAE,QAAQ;iCACxB,EAAA,QAAA,EAEDA,GAAA,CAAC,aAAa,EAAA,EACZ,SAAS,EAAC,gBAAgB,EAC1B,IAAI,EACFA,GAAA,CAAC,IAAI,cAAE,CAAA,qLAAA,CAAuL,EAAA,CAAQ,EAExM,KAAK,EAAE,OAAO,EACd,SAAS,EAAC,UAAU,EACpB,YAAY,EAAC,qBAAqB,EAAA,QAAA,EAElCA,GAAA,CAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAA,QAAA,EACxBA,GAAA,CAAC,cAAc,EAAA,EAAC,KAAK,EAAC,MAAM,EAAA,CAAG,EAAA,CAC1B,GACO,EAAA,CACX,EACPA,GAAA,CAAA,MAAA,EAAA,EACE,EAAE,EAAE;oCACF,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC;AAChD,oCAAA,UAAU,EAAE,QAAQ;AACpB,oCAAA,aAAa,EAAE,QAAQ;AACxB,iCAAA,EAAA,QAAA,EAEDA,GAAA,CAAC,aAAa,EAAA,EACZ,SAAS,EAAC,gBAAgB,EAC1B,IAAI,EACFA,GAAA,CAAC,IAAI,EAAA,EAAA,QAAA,EAAE,CAAA,qLAAA,CAAuL,EAAA,CAAQ,EAExM,KAAK,EAAE,OAAO,EACd,SAAS,EAAC,UAAU,EACpB,YAAY,EAAC,sBAAsB,EAAA,QAAA,EAEnCA,GAAA,CAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAA,QAAA,EACxBA,GAAA,CAAC,cAAc,EAAA,EAAC,KAAK,EAAC,MAAM,EAAA,CAAG,EAAA,CAC1B,EAAA,CACO,EAAA,CACX,CAAA,EAAA,CACF,EAAA,CACF,CACR,EACA,QAAQ,EAAE,WAAW,KACpBA,GAAA,CAAC,IAAI,EAAA,EACH,EAAE,EAAE;AACF,wBAAA,KAAK,EAAE,MAAM;AACb,wBAAA,UAAU,EAAE,WAAW;AACvB,wBAAA,EAAE,EAAE,MAAM;AACV,wBAAA,YAAY,EAAE,QAAQ;AACtB,wBAAA,CAAC,EAAE,UAAU;AACd,qBAAA,EAAA,QAAA,EAEDA,IAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,EAAA,QAAA,EACjGA,GAAA,CAAC,iBAAiB,EAAA,EAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,GAAI,EAAA,CAC7C,EAAA,CACF,CACR,EACDA,IAAC,IAAI,EAAA,EAAC,SAAS,EAAC,uCAAuC,EAAA,QAAA,EACrDA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,sBAAsB,EAAA,QAAA,EACnC,CAAC,OAAO,IACPA,IAAC,aAAa,EAAA,EAAA,CAAG,KAEjBC,IAAA,CAAC,IAAI,IAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAA,QAAA,EAAA,CAC5FD,GAAA,CAAC,MAAM,EAAA,EACL,OAAO,EAAC,WAAW,EACnB,OAAO,EAAE,OAAO,aAAa,CAAC,QAAQ,CAAC,SAAU,CAAC,GAAG,eAAe,EAAE,GAAG,YAAY,EAAE,CAAC,EACxF,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAA,QAAA,EAEzF,aAAa,CAAC,QAAQ,CAAC,SAAU;0CAC9B,aAAa,mBAAmB,CAAC,QAAQ,EAAE,OAAkB,CAAC,CAAA;0CAC9D,OAAO,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA,CAAE,EAAA,CACrD,EACR,gBAAgB,IACfA,GAAA,CAAC,MAAM,EAAA,EAAC,SAAS,EAAC,eAAe,EAAC,QAAQ,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,CAEjC,KAETA,GAAA,CAAC,MAAM,EAAA,EACL,SAAS,EAAC,eAAe,EACzB,IAAI,EAAE,IAAI,IAAI,gBAAgB,EAC9B,QAAQ,EACN,IAAI;AACJ,wCAAA,QAAQ,EAAE,OAAO;AACjB,wCAAA,CAAC,OAAO;AACR,wCAAA,CAAC,UAAU;AACX,wCAAA,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC;wCAC5B,gBAAgB;wCAChB,QAAQ;wCACR,iBAAiB;wCACjB,cAAc;AACd,yCAAC,cAAc,IAAI,CAAC,OAAO,CAAC;wCAC5B,SAAS,CAAC,UAAU,EAEtB,OAAO,EAAE,eAAe,EACxB,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAA,QAAA,EAEjD,SAAS,CAAC;AACT,0CAAE;AACF,0CAAE;AACA,8CAAE;AACF,8CAAE;AACA,kDAAE;AACF,kDAAE;AACA,sDAAE;sDACA,CAAC,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK;AAC1C,0DAAE;AACF,0DAAE,CAAA,GAAA,CAAK,EAAA,CACV,CACV,EAAE,GAAG,IACD,CACR,EAAA,CACI,GACF,CAAA,EAAA,CACF,EAAA,CACF,KAEPA,GAAA,CAAAE,QAAA,EAAA,EAAA,CAAK,CACN;AACH,CAAC;AACD,cAAe,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BuyComponentAptos.js","sources":["../../../src/views/BuyBond/BuyComponentAptos.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from 'react'\nimport { ChainId, MarketingCampaign } from '@ape.swap/apeswap-lists'\n\nimport useBondsData from '../../state/bonds/useBondsData'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport { usePopups } from '../../state/popups/usePopups'\nimport { useSlippage } from '../../state/slippage/useSlippage'\nimport { BondsData } from '../../types/bonds'\nimport { formatUSDNumber, getMaxBuy, getPayoutAmount, getPrincipalAmount } from '../../utils/displayHelpers'\nimport { formatNumberSI } from '../../utils/formatNumber'\nimport { findHighestTrueBondPrice } from '../../utils/bondPriceHelpers'\nimport { reportError } from '../../utils/reportError'\nimport { MCBuyComponentStyles } from '../../utils/campaignStyles'\nimport track from '../../utils/track'\nimport { remove0xPrefix } from '../../utils/remove0xPrefix'\nimport { getSymbol } from '../../utils/getNativeTicker'\n\nimport useAPTAccount from '../../hooks/accounts/useAPTAccount'\nimport useTokenFromZapList from '../../hooks/useTokenFromZapList'\nimport useSortedZapList from '../../hooks/useSortedZapList'\nimport useAptosZapQuote from '../../state/zap/useAptosZapQuote'\nimport { findAptosZapToken } from '../../config/constants/aptosZapTokens'\nimport ConnectAptosWalletButton from '../../components/ConnectAptosWalletButton/ConnectAptosWalletButton'\nimport TokenSelectorPanel from '../../components/TokenSelectorPanel'\nimport BondModalHeader from './components/BondModalHeader'\nimport BondCards from './components/BondCards/BondCards'\nimport Estimations from './components/Estimations'\nimport ProjectDescription from './components/ProjectDescription'\n\nimport Flex from '../../components/uikit-sdk/Flex'\nimport Text from '../../components/uikit-sdk/Text'\nimport Button from '../../components/uikit-sdk/Button/Button'\nimport SafeHTMLComponent from '../../components/SafeHTMLComponent'\n\nimport { APTOS_DEPOSIT_FUNCTION } from '../../constants/aptosConstants'\nimport { extractBillMinted, extractDepositEvent, getAptosClient, readAptosMarketInfo } from '../../utils/aptosHelpers'\nimport { mulDivRound, parseUnits, toFixedString } from '../../utils/fixedPoint'\n\n// (100 + slippage) / 100 as an exact integer fraction, scaled by 1e6 to preserve fractional\n// slippage percentages (e.g. 0.5%) without a float precompute.\nconst slippageMaxPrice = (priceBig: bigint, slippage: number): bigint =>\n mulDivRound(priceBig, parseUnits(String(100 + slippage), 6), parseUnits('100', 6), 'ceil')\n\ninterface BuyComponentAptosProps {\n onDismiss?: () => void\n bondAddress?: string\n bondChain?: number\n setBillId?: (id: string) => void\n isProjectView?: boolean\n}\n\nconst BuyComponentAptos: React.FC<BuyComponentAptosProps> = ({\n onDismiss,\n bondAddress,\n bondChain,\n isProjectView,\n setBillId,\n}) => {\n const SDKConfig = useSDKConfig()\n\n // Hooks\n const { address: aptosAccount, signAndSubmitTransaction } = useAPTAccount()\n const { data: bonds } = useBondsData()\n const { addToastError, addToastSuccess } = usePopups()\n const { solSlippage: slippage } = useSlippage() // reuse Sol slippage bucket for Aptos\n\n const bondData: BondsData | undefined = bonds?.find(\n (bond) => bond?.contractAddress?.[bond?.chainId]?.toLowerCase() === bondAddress?.toLowerCase(),\n )\n\n // Derived pricing (same path the Solana no-tier branch uses).\n const trueBondPriceData = findHighestTrueBondPrice('0', bondData?.trueBondPrices)\n\n // State\n const [inputValue, setInputValue] = useState('')\n const [inputTokenString, setInputTokenString] = useState(bondData?.lpToken?.address?.[bondData?.chainId])\n const [loadingTx, setLoadingTx] = useState(false)\n\n // Token selection — reuses the same infrastructure as Solana\n const inputToken = useTokenFromZapList(inputTokenString, bondData?.chainId, bondData?.lpToken)\n const principalAddress = bondData?.lpToken?.address?.[bondData?.chainId]\n // APT native ('NATIVE') and APT metadata ('0xa') are the same token — not a zap\n const isNativeMatchingPrincipal = inputTokenString === 'NATIVE' && principalAddress?.toLowerCase() === '0xa'\n const isZap =\n !!inputTokenString &&\n !!principalAddress &&\n !isNativeMatchingPrincipal &&\n inputTokenString.toLowerCase() !== principalAddress.toLowerCase()\n\n // Zap quote from Panora DEX aggregator\n const aptosZapToken = findAptosZapToken(\n inputToken && inputToken !== 'NATIVE'\n ? inputToken?.address?.[ChainId.APTOS]\n : inputToken === 'NATIVE'\n ? '0xa'\n : undefined,\n )\n const [fetchingZapQuote, panoraQuote, zapDepositAmount, zapError] = useAptosZapQuote(\n inputValue,\n aptosZapToken,\n bondData,\n aptosAccount,\n slippage,\n )\n\n // Sorted zap list (balances + prices)\n const { sortedZapList, isFetched: zapListFetched } = useSortedZapList(bondChain, bondData?.lpToken)\n const enrichedTokenData = sortedZapList.find((item) =>\n item.token === 'NATIVE' || inputToken === 'NATIVE'\n ? item.token === inputToken\n : item?.token?.address?.[bondChain as ChainId]?.toLowerCase() ===\n inputToken?.address?.[bondChain as ChainId]?.toLowerCase(),\n )\n const inputCurrencyBalance = enrichedTokenData?.balance\n const inputTokenPrice = enrichedTokenData?.price\n\n // Estimations — use zapDepositAmount if swapping\n const depositAmount = isZap ? zapDepositAmount : inputValue\n const youSpendString = `${formatNumberSI(inputValue)} ${getSymbol(inputToken, bondData?.chainId)} = $${formatUSDNumber(\n (parseFloat(inputValue || '0') * (inputTokenPrice ?? 0)).toString(),\n )}`\n\n const exceedsRealMaxBuy = getMaxBuy(bondData, true) <= getPayoutAmount(bondData, depositAmount, '0')\n const exceedsSafeMaxBuy =\n getMaxBuy(bondData, false) * (isZap ? 0.995 : 0.9995) <= getPayoutAmount(bondData, depositAmount, '0')\n const exceedsBalance = Number(inputCurrencyBalance ?? '0') < Number(inputValue)\n\n const load = loadingTx || (fetchingZapQuote && !!inputValue)\n\n // Handlers\n const handleCurrencySelect = useCallback((newInputToken: string) => {\n setInputValue('')\n setInputTokenString(newInputToken)\n }, [])\n\n const handleMaxButton = () => {\n const balance = Number(inputCurrencyBalance ?? '0')\n const principalDecimals = bondData?.lpToken?.decimals?.[bondData?.chainId] ?? 6\n const maxBuyAmount = getMaxBuy(bondData, SDKConfig.showLowValueBonds)\n\n if (!isZap) {\n const maxPossibleUserPurchase = getPayoutAmount(bondData, balance.toString(), '0')\n if (maxPossibleUserPurchase > maxBuyAmount) {\n const principalForMaxBuy = getPrincipalAmount(bondData, maxBuyAmount.toString(), '0')\n setInputValue(toFixedString(principalForMaxBuy, principalDecimals))\n } else {\n setInputValue(toFixedString(balance, principalDecimals))\n }\n } else {\n const principalForMaxBuy = getPrincipalAmount(bondData, maxBuyAmount.toString(), '0')\n const principalForMaxBuyUSD = principalForMaxBuy * Number(bondData?.principalTokenPrice ?? 0)\n const maxBuyAmountInSelectedToken = principalForMaxBuyUSD / (inputTokenPrice ?? 0)\n const decimals =\n enrichedTokenData?.token === 'NATIVE' ? 8 : (enrichedTokenData?.token.decimals[bondData?.chainId!] ?? 8)\n\n if (balance >= maxBuyAmountInSelectedToken) {\n setInputValue(toFixedString(maxBuyAmountInSelectedToken, decimals))\n } else {\n setInputValue(toFixedString(balance, decimals))\n }\n }\n }\n\n const handleBuyCallback = async () => {\n if (!aptosAccount || !bondData || !inputValue) return\n track({\n event: 'buyBondClick',\n chain: bondChain,\n data: {\n cat: bondData?.billType,\n bond: bondData?.earnToken.symbol,\n value: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n try {\n setLoadingTx(true)\n\n const principalDecimals = bondData.lpToken.decimals[bondData.chainId] ?? 6\n const atomicAmount = parseUnits(inputValue, principalDecimals, 'floor').toString()\n\n const market = bondData.contractAddress[bondData.chainId] ?? ''\n\n // Read fresh pricing from the contract\n const marketInfo = await readAptosMarketInfo(market)\n const trueBillPriceU64 = marketInfo[17] // u64 scaled 1e8\n const atomicMaxPrice = slippageMaxPrice(BigInt(trueBillPriceU64), slippage).toString()\n\n const response = await signAndSubmitTransaction?.({\n data: {\n function: APTOS_DEPOSIT_FUNCTION,\n typeArguments: [],\n functionArguments: [market, atomicAmount, atomicMaxPrice, aptosAccount],\n },\n })\n if (!response?.hash) throw new Error('No tx hash returned by wallet')\n\n const aptos = getAptosClient()\n await aptos.waitForTransaction({ transactionHash: response.hash })\n // waitForTransaction may not include events — fetch full tx details separately\n const txDetails = await aptos.getTransactionByHash({ transactionHash: response.hash })\n const txnWithEvents = txDetails as unknown as { events?: Array<{ type: string; data: any }> }\n const depositEvent = extractDepositEvent(txnWithEvents)\n const newBillId = depositEvent?.bill_id ?? extractBillMinted(txnWithEvents)?.bill_id ?? ''\n\n track({\n event: 'bond',\n chain: bondChain,\n data: {\n cat: 'lp-buy',\n type: bondData?.billType ?? '',\n typedValue: inputValue,\n principalToken: bondData?.lpToken.symbol ?? '',\n earnToken: bondData?.earnToken.symbol ?? '',\n address: remove0xPrefix(market),\n usdAmount: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n\n addToastSuccess(response.hash, bondChain as ChainId)\n setBillId?.(newBillId)\n } catch (error: any) {\n console.error('Error during Aptos bond purchase:', error)\n addToastError(error?.message || 'Unknown error')\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error: error?.message,\n extraInfo: { type: 'aptosBuyBond', error: error?.message },\n chainId: bondChain,\n account: aptosAccount,\n })\n } finally {\n setLoadingTx(false)\n }\n }\n\n const handleZapCallback = async () => {\n if (loadingTx || !aptosAccount || !bondData || !panoraQuote || !signAndSubmitTransaction) return\n\n track({\n event: 'buyBondClick',\n chain: bondChain,\n data: {\n cat: bondData?.billType,\n bond: bondData?.earnToken.symbol,\n value: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n\n try {\n setLoadingTx(true)\n const aptos = getAptosClient()\n\n // TX1: Execute Panora swap — the quote's txData contains the entry\n // function payload ready for the wallet adapter.\n const swapTxData = panoraQuote.txData\n if (!swapTxData || !swapTxData.function) {\n throw new Error('Panora quote missing txData')\n }\n\n const swapResponse = await signAndSubmitTransaction({\n data: swapTxData as any,\n })\n if (!swapResponse?.hash) throw new Error('No tx hash returned for swap')\n\n await aptos.waitForTransaction({ transactionHash: swapResponse.hash })\n\n // TX2: Deposit into bond with the swapped principal tokens.\n // Use the deposit amount from the quote (what we received from the swap).\n const principalDecimals = bondData.lpToken.decimals[bondData.chainId] ?? 6\n const depositAmountAtomic = parseUnits(zapDepositAmount, principalDecimals, 'floor').toString()\n\n const market = bondData.contractAddress[bondData.chainId] ?? ''\n\n // Read fresh pricing\n const marketInfo = await readAptosMarketInfo(market)\n const trueBillPriceU64 = marketInfo[17]\n const atomicMaxPrice = slippageMaxPrice(BigInt(trueBillPriceU64), slippage).toString()\n\n const depositResponse = await signAndSubmitTransaction({\n data: {\n function: APTOS_DEPOSIT_FUNCTION,\n typeArguments: [],\n functionArguments: [market, depositAmountAtomic, atomicMaxPrice, aptosAccount],\n },\n })\n if (!depositResponse?.hash) throw new Error('No tx hash returned for deposit')\n\n await aptos.waitForTransaction({ transactionHash: depositResponse.hash })\n const txDetails = await aptos.getTransactionByHash({ transactionHash: depositResponse.hash })\n const txnWithEvents = txDetails as unknown as { events?: Array<{ type: string; data: any }> }\n const depositEvent = extractDepositEvent(txnWithEvents)\n const newBillId = depositEvent?.bill_id ?? extractBillMinted(txnWithEvents)?.bill_id ?? ''\n\n // Track zap events\n track({\n event: 'zap',\n chain: bondChain,\n data: {\n cat: 'bond',\n token1: getSymbol(inputToken),\n token2: bondData?.lpToken.symbol ?? '',\n amount: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n\n track({\n event: 'bond',\n chain: bondChain,\n data: {\n cat: 'zap-buy-two-tx',\n type: bondData?.billType ?? '',\n typedValue: inputValue,\n principalToken: bondData?.lpToken.symbol ?? '',\n earnToken: bondData?.earnToken.symbol ?? '',\n address: remove0xPrefix(market),\n usdAmount: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n\n addToastSuccess(depositResponse.hash, bondChain as ChainId)\n setBillId?.(newBillId)\n } catch (error: any) {\n console.error('Error during Aptos zap + bond purchase:', error)\n addToastError(error?.message || 'Unknown error during swap and bond')\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error: error?.message,\n extraInfo: { type: 'aptosPanoraZapBuyBond', error: error?.message, quote: panoraQuote },\n chainId: bondChain,\n account: aptosAccount,\n })\n } finally {\n setLoadingTx(false)\n }\n }\n\n const handleBuy = () => {\n if (loadingTx) return\n if (isZap) {\n handleZapCallback()\n } else {\n handleBuyCallback()\n }\n }\n\n // Sync inputTokenString when bondData loads after initial render\n useEffect(() => {\n const addr = bondData?.lpToken?.address?.[bondData?.chainId]\n if (addr && !inputTokenString) {\n setInputTokenString(addr)\n }\n }, [bondData?.lpToken?.address, bondData?.chainId]) // eslint-disable-line react-hooks/exhaustive-deps\n\n // Auto-select highest balance token when zap list loads\n const [hasChecked, setHasChecked] = useState(false)\n useEffect(() => {\n if (zapListFetched && !hasChecked) {\n if (parseFloat(inputCurrencyBalance ?? '0') < 0.0001) {\n setInputTokenString(\n sortedZapList[0]?.token === 'NATIVE' ? 'NATIVE' : sortedZapList[0]?.token.address[bondChain as ChainId],\n )\n }\n setHasChecked(true)\n }\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [inputCurrencyBalance, zapListFetched])\n\n const hasPositiveBonus = (trueBondPriceData?.bonusWithFee ?? 0) > 0\n\n const canBuy =\n !load &&\n !!aptosAccount &&\n !bondData?.soldOut &&\n !!inputValue &&\n parseFloat(inputValue) > 0 &&\n !exceedsRealMaxBuy &&\n !exceedsBalance &&\n hasPositiveBonus &&\n !SDKConfig.blockSales &&\n !zapError &&\n !(isZap && !panoraQuote)\n\n return bondData ? (\n <Flex className=\"modal-content\" sx={{ ...MCBuyComponentStyles[bondData?.marketingCampaign as MarketingCampaign] }}>\n <Flex className=\"modaltable-container\">\n <BondModalHeader bondData={bondData} onDismiss={onDismiss} hidePromotionUi />\n <ProjectDescription description={bondData.shortDescription} isProjectView />\n <Flex sx={{ width: '100%', display: isProjectView ? ['flex', 'flex', 'flex', 'none'] : 'flex' }}>\n <BondCards bondData={bondData} isDoingMaxBuy={exceedsSafeMaxBuy && !exceedsRealMaxBuy} />\n </Flex>\n <Estimations\n depositAmount={depositAmount}\n inputValue={inputValue}\n inputTokenPrice={inputTokenPrice}\n bondData={bondData}\n youSpendString={youSpendString}\n isZap={isZap}\n fetchingZapQuote={fetchingZapQuote}\n zapError={zapError}\n />\n <TokenSelectorPanel\n typedValue={inputValue}\n setTypedValue={setInputValue}\n selectedToken={inputToken}\n handleValueBtn={handleMaxButton}\n handleCurrencySelect={handleCurrencySelect}\n bondChainId={ChainId.APTOS}\n enableZap={true}\n bondPrincipalToken={bondData?.lpToken}\n tokenBalance={inputCurrencyBalance ?? undefined}\n selectedTokenPrice={inputTokenPrice}\n isConnected={!!aptosAccount}\n />\n {bondData?.warningCard && (\n <Flex\n sx={{\n width: '100%',\n background: '#DE62F366',\n justifyContent: 'center',\n mt: '10px',\n borderRadius: 'normal',\n p: '2px 10px',\n }}\n >\n <Text sx={{ fontSize: '12px', fontWeight: 400, display: 'flex', alignItems: 'center', gap: '10px' }}>\n <SafeHTMLComponent html={bondData?.warningCard} />\n </Text>\n </Flex>\n )}\n <Flex className=\"modaltable-container button-container\">\n <Flex className=\"button-container buy\">\n {!aptosAccount ? (\n <ConnectAptosWalletButton />\n ) : (\n <Button\n className=\"action-button\"\n load={load}\n disabled={!canBuy}\n onClick={handleBuy}\n sx={{ width: '100%', fontSize: ['14px', '14px', '14px', '16px'] }}\n >\n {SDKConfig.blockSales\n ? 'Complete KYC to Buy'\n : exceedsRealMaxBuy\n ? 'Exceeds Max Buy. Reduce amount'\n : exceedsBalance\n ? 'Insufficient balance'\n : zapError\n ? 'Swap quote failed'\n : !inputValue || parseFloat(inputValue) === 0\n ? 'Insert amount'\n : 'buy'}\n </Button>\n )}\n </Flex>\n </Flex>\n </Flex>\n </Flex>\n ) : (\n <></>\n )\n}\n\nexport default BuyComponentAptos\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import { jsx, jsxs, Fragment } from 'theme-ui/jsx-runtime';
|
|
2
|
-
import { useState } from 'react';
|
|
3
|
-
import { styles } from './styles.js';
|
|
4
|
-
import { getBalanceNumber } from '../../utils/getBalanceNumber.js';
|
|
5
|
-
import { parseUnits, mulDivRound } from '../../utils/fixedPoint.js';
|
|
6
|
-
import TokenSelectorPanel from '../../components/TokenSelectorPanel/index.js';
|
|
7
|
-
import useCurrencyBalance from '../../state/balance/useCurrencyBalance.js';
|
|
8
|
-
import { useWriteContract } from 'wagmi';
|
|
9
|
-
import TokenImage from '../../components/uikit-sdk/TokenImage/index.js';
|
|
10
|
-
import ModalHeader from '../../components/uikit-sdk/Modal/ModalHeader.js';
|
|
11
|
-
import ProjectDescription from './components/ProjectDescription.js';
|
|
12
|
-
import { TooltipText } from '../../config/constants/tooltips.js';
|
|
13
|
-
import { formatNumberSI } from '../../utils/formatNumber.js';
|
|
14
|
-
import BondCardsPreTGE from './components/BondCards/BondCardsPreTGE.js';
|
|
15
|
-
import useBondsData from '../../state/bonds/useBondsData.js';
|
|
16
|
-
import useModal from '../../hooks/useModal.js';
|
|
17
|
-
import TransactionModal from '../TransactionModal/TransactionModal.js';
|
|
18
|
-
import { useApproval } from '../../state/allowance/useAllowance.js';
|
|
19
|
-
import LaunchBondABI_V_2_4_1 from '../../config/abi/launchBond_v2_4_1.json.js';
|
|
20
|
-
import ConnectButton from '../../components/ConnectButton/index.js';
|
|
21
|
-
import track from '../../utils/track.js';
|
|
22
|
-
import useEVMAccount from '../../hooks/accounts/useEVMAccount.js';
|
|
23
|
-
import { useSDKConfig } from '../../state/useSDKConfig.js';
|
|
24
|
-
import Modal from '../../components/uikit-sdk/Modal/index.js';
|
|
25
|
-
import Flex from '../../components/uikit-sdk/Flex/index.js';
|
|
26
|
-
import Text from '../../components/uikit-sdk/Text/index.js';
|
|
27
|
-
import ListTag from '../../components/uikit-sdk/Tag/ListTag.js';
|
|
28
|
-
import TooltipBubble from '../../components/uikit-sdk/TooltipBubble/index.js';
|
|
29
|
-
import Button from '../../components/uikit-sdk/Button/Button.js';
|
|
30
|
-
import { getTimePeriods } from '../../utils/getTimePeriods.js';
|
|
31
|
-
import QuestionCircle from '../../components/uikit-sdk/Svg/Icons/QuestionCircle.js';
|
|
32
|
-
|
|
33
|
-
const BuyComponentPreTGE = ({ bondAddress, bondChain, onDismiss, handlePurchasedBond, }) => {
|
|
34
|
-
const SDKConfig = useSDKConfig();
|
|
35
|
-
const { data: preTGEBonds } = useBondsData();
|
|
36
|
-
const bond = preTGEBonds?.find((bond) => bond.contractAddress?.[bond.chainId]?.toLowerCase() === bondAddress.toLowerCase() && bond.chainId === bondChain);
|
|
37
|
-
// Hooks
|
|
38
|
-
const { address } = useEVMAccount();
|
|
39
|
-
const { data: principalTokenBalance } = useCurrencyBalance(bond.lpToken, address, bond.chainId);
|
|
40
|
-
// Local state
|
|
41
|
-
const [inputValue, setInputValue] = useState('');
|
|
42
|
-
// Display Values
|
|
43
|
-
const raiseGoal = getBalanceNumber(bond?.totalRaise ?? '0', 18);
|
|
44
|
-
const totalPrincipalBilled = getBalanceNumber(bond?.totalPrincipalBilled ?? '0', 18);
|
|
45
|
-
const percentageSold = (totalPrincipalBilled * 100) / raiseGoal;
|
|
46
|
-
const tgePrice = bond?.tgePrice ?? 0;
|
|
47
|
-
const initPrice = bond?.initPrice ?? 0;
|
|
48
|
-
const inputValueToDisplay = parseFloat(inputValue).toFixed(2);
|
|
49
|
-
const inputValueToDisplayUSD = parseFloat(inputValueToDisplay) * parseFloat(bond?.principalTokenPrice ?? '0');
|
|
50
|
-
const youGet = parseFloat(inputValue) / initPrice;
|
|
51
|
-
const youGetUSD = youGet * tgePrice;
|
|
52
|
-
const bonusUSD = youGetUSD - inputValueToDisplayUSD;
|
|
53
|
-
const apr = bond.yieldData?.apr ?? 0;
|
|
54
|
-
const aprUSD = inputValueToDisplayUSD * (apr / 100);
|
|
55
|
-
const handleClose = () => {
|
|
56
|
-
if (typeof window !== 'undefined') {
|
|
57
|
-
window.history.pushState({}, '', `/bonds`);
|
|
58
|
-
}
|
|
59
|
-
onDismiss?.();
|
|
60
|
-
};
|
|
61
|
-
const [loading, setLoading] = useState(false);
|
|
62
|
-
const [buyTxHash, setHash] = useState('');
|
|
63
|
-
// Approve logic
|
|
64
|
-
const [approvalState, approveCallback] = useApproval(inputValue, bond.lpToken, bond?.contractAddress[bond.chainId], address, bond.chainId);
|
|
65
|
-
const handleApprove = async () => {
|
|
66
|
-
return approveCallback().then(() => {
|
|
67
|
-
track({
|
|
68
|
-
event: 'approveBondClick',
|
|
69
|
-
chain: bondChain,
|
|
70
|
-
data: {
|
|
71
|
-
cat: bond?.billType,
|
|
72
|
-
bond: bond?.earnToken.symbol,
|
|
73
|
-
},
|
|
74
|
-
});
|
|
75
|
-
});
|
|
76
|
-
};
|
|
77
|
-
const { writeContractAsync } = useWriteContract();
|
|
78
|
-
const onBuyBill = async () => {
|
|
79
|
-
setLoading(true);
|
|
80
|
-
const amount = parseUnits(inputValue, bond?.lpToken?.decimals?.[bond?.chainId] ?? 18).toString();
|
|
81
|
-
const maxPrice = mulDivRound(BigInt(bond?.trueBondPrices?.[0].trueBondPrice ?? '0'), 102n, 100n, 'halfUp').toString();
|
|
82
|
-
const args = [amount, maxPrice, address];
|
|
83
|
-
await writeContractAsync({
|
|
84
|
-
address: bond?.contractAddress?.[bond.chainId],
|
|
85
|
-
abi: LaunchBondABI_V_2_4_1,
|
|
86
|
-
functionName: 'deposit',
|
|
87
|
-
args: args,
|
|
88
|
-
chain: bond.chainId,
|
|
89
|
-
account: address,
|
|
90
|
-
})
|
|
91
|
-
.then((hash) => {
|
|
92
|
-
setHash(hash);
|
|
93
|
-
handlePurchasedBond(hash, inputValue);
|
|
94
|
-
})
|
|
95
|
-
.finally(() => {
|
|
96
|
-
setLoading(false);
|
|
97
|
-
});
|
|
98
|
-
};
|
|
99
|
-
const [openTxModal] = useModal(jsx(TransactionModal, { txChain: bondChain, approvalState: approvalState, approveCallback: handleApprove, loadingTx: loading, txCallback: onBuyBill, bondData: bond, inputToken: bond.lpToken, inputValue: inputValue, depositAmount: inputValue, buyTxHash: buyTxHash, rateChanged: false }), false, true, 'transactionModal');
|
|
100
|
-
const { data: currencyBalanceString } = useCurrencyBalance(bond.lpToken, address, bond.chainId);
|
|
101
|
-
const exceedsBalance = parseFloat(inputValue) > parseFloat(currencyBalanceString ?? '0');
|
|
102
|
-
const saleStartTime = (bond?.initTime?.[bond.chainId] ?? 0) * 1000;
|
|
103
|
-
const saleFinishTime = (bond?.finishTime ?? 0) * 1000;
|
|
104
|
-
const now = new Date().getTime();
|
|
105
|
-
const saleHasStarted = now > saleStartTime;
|
|
106
|
-
const saleHasFinished = now > saleFinishTime || bond.finalized;
|
|
107
|
-
const error = SDKConfig.blockSales
|
|
108
|
-
? 'Complete KYC to Buy'
|
|
109
|
-
: !saleHasStarted
|
|
110
|
-
? `Sale hasn't started`
|
|
111
|
-
: saleHasFinished
|
|
112
|
-
? 'Sale Finished'
|
|
113
|
-
: exceedsBalance
|
|
114
|
-
? 'Exceeds balance'
|
|
115
|
-
: percentageSold > 99.9
|
|
116
|
-
? 'Soldout'
|
|
117
|
-
: !inputValue || parseFloat(inputValue) === 0
|
|
118
|
-
? 'Insert amount'
|
|
119
|
-
: !bond
|
|
120
|
-
? 'no bond'
|
|
121
|
-
: null;
|
|
122
|
-
return (jsxs(Modal, { onDismiss: handleClose, sx: { width: '740px' }, children: [jsx(ModalHeader, { onDismiss: handleClose, hideDivider: true }), jsx(Flex, { sx: styles.buyContainer, children: jsxs(Flex, { sx: styles.cardContainer, children: [jsx(Flex, { sx: { width: '100%', justifyContent: 'space-between' }, children: jsxs(Flex, { children: [jsxs(Flex, { children: [jsx(Flex, { className: "title-container bondicon", children: jsx(TokenImage, { symbol: bond.underlyingEarnToken?.symbol || bond.earnToken.symbol, size: 50, chain: bond.chainId }) }), jsxs(Flex, { className: "title-container bondname", children: [bond.underlyingEarnToken?.symbol || bond.earnToken.symbol, jsx(ListTag, { text: bond?.tags?.[0] })] })] }), !bond.yieldBond && (jsxs(Flex, { sx: { flexDirection: 'column', ml: '15px' }, children: [jsxs(Flex, { className: "price-container price", children: ["$", bond.tgePrice] }), jsxs(Flex, { sx: { fontSize: '24px', fontWeight: 700 }, children: ["$", bond.initPrice] })] }))] }) }), jsx(ProjectDescription, { description: bond.shortDescription, isProjectView: true }), jsx(BondCardsPreTGE, { bond: bond }), jsxs(Flex, { sx: { ...styles.infoRowsContainer, mt: '10px' }, children: [jsxs(Flex, { sx: styles.infoRow, children: [jsx(Text, { sx: styles.infoTitle, children: "You Spend:" }), jsxs(Text, { sx: styles.infoData, children: [isNaN(parseFloat(inputValueToDisplay)) ? 0 : inputValueToDisplay, " ", bond?.lpToken.symbol, " = $", isNaN(inputValueToDisplayUSD) ? '0' : inputValueToDisplayUSD.toFixed(2)] })] }), bond.yieldBond ? (jsxs(Flex, { sx: styles.infoRow, children: [jsxs(Flex, { sx: { ...styles.infoTitle, alignItems: 'center' }, children: ["Yield Bonus:", jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Flex, { children: "This is the duration over which the bonus yield will be distributed while your initial tokens remain staked." }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, 0%)", children: jsx(Flex, { className: "row-container premium-icon", children: jsx(QuestionCircle, { width: "12px" }) }) })] }), jsxs(Text, { sx: { ...styles.infoData, color: 'success' }, children: ["$", isNaN(aprUSD) ? '0' : aprUSD.toFixed(2)] })] })) : (jsxs(Flex, { sx: styles.infoRow, children: [jsxs(Flex, { sx: { ...styles.infoTitle, alignItems: 'center' }, children: ["Bonus:", jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Flex, { children: TooltipText.Premium }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, 0%)", children: jsx(Flex, { className: "row-container premium-icon", children: jsx(QuestionCircle, { width: "12px" }) }) })] }), jsxs(Text, { sx: { ...styles.infoData, color: 'success' }, children: ["$", isNaN(bonusUSD) ? '0' : bonusUSD.toFixed(2)] })] })), jsxs(Flex, { sx: styles.infoRow, children: [jsxs(Text, { sx: styles.infoTitle, children: ["You Get (over", ' ', getTimePeriods((bond?.yieldData?.rewardDistributionEnd ?? 0) - parseInt(bond.startVestingTimestamp ?? '0'), true).days, ' ', "days):"] }), bond.yieldBond ? (jsxs(Flex, { sx: { ...styles.infoData, alignItems: 'center', gap: '5px' }, children: [jsx(TooltipBubble, { className: "tooltip-bubble", body: jsxs(Flex, { sx: { width: '100%', flexDirection: 'column' }, children: ["This is the expected total return by the end of the pool duration, including the initial tokens.", jsx(Flex, { sx: { mt: '10px', mb: '5px' }, children: "Breakdown" }), jsxs(Flex, { sx: { width: '100%', justifyContent: 'space-between' }, children: [jsx(Flex, { children: "Initial capital:" }), jsxs(Flex, { children: ["$", formatNumberSI(inputValueToDisplayUSD), " in ", bond.underlyingEarnToken?.symbol] })] }), jsxs(Flex, { sx: { width: '100%', justifyContent: 'space-between' }, children: [jsx(Flex, { children: "Yield Bonus:" }), jsxs(Flex, { children: ["$", formatNumberSI(aprUSD), " in ", bond.underlyingEarnToken?.symbol] })] })] }), width: "230px", placement: "bottomRight", transformTip: "translate(10%, 0%)", children: jsx(Flex, { className: "row-container premium-icon", children: jsx(QuestionCircle, { width: "12px" }) }) }), "$", formatNumberSI(youGetUSD + aprUSD)] })) : (jsxs(Text, { sx: styles.infoData, children: [isNaN(youGet) ? 0 : formatNumberSI(youGet, 0), " ", bond?.earnToken.symbol, " = $", isNaN(youGetUSD) ? '0' : youGetUSD.toFixed(2)] }))] })] }), jsx(TokenSelectorPanel, { typedValue: inputValue, setTypedValue: setInputValue, selectedToken: bond?.lpToken, handleValueBtn: () => setInputValue(principalTokenBalance ?? '0'), handleCurrencySelect: () => null, bondChainId: bond?.chainId, enableZap: false, bondPrincipalToken: bond?.lpToken, tokenBalance: principalTokenBalance ?? undefined, selectedTokenPrice: parseFloat(bond?.principalTokenPrice ?? '0'), inputDisabled: false, isConnected: !!address }), jsx(Flex, { sx: {
|
|
123
|
-
width: '100%',
|
|
124
|
-
background: '#DE62F366',
|
|
125
|
-
justifyContent: 'center',
|
|
126
|
-
mt: '10px',
|
|
127
|
-
borderRadius: 'normal',
|
|
128
|
-
p: '4px 10px',
|
|
129
|
-
fontSize: '12px',
|
|
130
|
-
fontWeight: 400,
|
|
131
|
-
}, children: bond.warningCard ? (bond.warningCard) : bond.yieldBond ? (jsxs("span", { children: ["This is a Yield Bond. Your initial capital unlocks in", ' ', getTimePeriods((bond?.yieldData?.rewardDistributionEnd ?? 0) - parseInt(bond.startVestingTimestamp ?? '0'), true).days, ' ', "days, followed by an APR bonus distributed over the pool duration.", jsx("span", { sx: {
|
|
132
|
-
ml: '3px',
|
|
133
|
-
color: '#837fd7',
|
|
134
|
-
fontWeight: 700,
|
|
135
|
-
cursor: 'pointer',
|
|
136
|
-
':hover': { textDecoration: 'underline' },
|
|
137
|
-
}, children: 'Learn More >' })] })) : (jsxs(Fragment, { children: ["This is a Pre-TGE Bond - Tokens will be tradeable upon listing.", jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Text, { sx: { textTransform: 'none' }, children: "Pre-TGE Bonds are a pre-sale for tokens before their Token Generation Event (TGE), when tokens are officially launched to the public." }), width: "315px", placement: "topRight", transformTip: "translate(9%, -10%)", children: jsx(Flex, { sx: { ml: '4px', minWidth: '14px' }, children: jsx(QuestionCircle, { width: 12 }) }) })] })) }), jsx(Flex, { sx: {
|
|
138
|
-
width: '100%',
|
|
139
|
-
mt: '10px',
|
|
140
|
-
justifyContent: 'space-between',
|
|
141
|
-
height: ['unset', 'unset', 'unset', '40px'],
|
|
142
|
-
flexDirection: ['column-reverse', 'column-reverse', 'column-reverse', 'row'],
|
|
143
|
-
}, children: !address ? (jsx(ConnectButton, {})) : (jsxs(Fragment, { children: [jsx(Flex, { sx: { width: ['100%', '100%', '100%', '45%'], justifyContent: 'center' }, children: jsxs(Button, { variant: "secondary", onClick: () => window.open(`/swap?outputCurrency=${bond?.lpToken?.address[bond?.chainId]}&outputChain=${bond?.chainId}`, '_blank'), fullWidth: true, children: ["Get ", bond?.lpToken?.symbol] }) }), error ? (jsx(Button, { disabled: true, fullWidth: true, sx: { ml: ['0', '0', '0', '10px'] }, children: error })) : (jsx(Button, { disabled: loading, load: loading, onClick: openTxModal, fullWidth: true, sx: { ml: ['0', '0', '0', '10px'] }, children: "Buy" }))] })) })] }) })] }));
|
|
144
|
-
};
|
|
145
|
-
|
|
146
|
-
export { BuyComponentPreTGE as default };
|
|
147
|
-
//# sourceMappingURL=BuyComponentPreTGE.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BuyComponentPreTGE.js","sources":["../../../src/views/BuyBond/BuyComponentPreTGE.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { styles } from './styles'\nimport { getBalanceNumber } from '../../utils/getBalanceNumber'\nimport { mulDivRound, parseUnits } from '../../utils/fixedPoint'\nimport TokenSelectorPanel from '../../components/TokenSelectorPanel'\nimport useCurrencyBalance from '../../state/balance/useCurrencyBalance'\nimport { useWriteContract } from 'wagmi'\nimport TokenImage from '../../components/uikit-sdk/TokenImage'\nimport ModalHeader from '../../components/uikit-sdk/Modal/ModalHeader'\nimport ProjectDescription from '../BuyBond/components/ProjectDescription'\nimport { TooltipText } from '../../config/constants/tooltips'\nimport { formatNumberSI } from '../../utils/formatNumber'\nimport BondCardsPreTGE from './components/BondCards/BondCardsPreTGE'\nimport useBondsData from '../../state/bonds/useBondsData'\nimport useModal from '../../hooks/useModal'\nimport TransactionModal from '../TransactionModal/TransactionModal'\nimport { useApproval } from '../../state/allowance/useAllowance'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport launchBondsABI_V2_2_0 from '../../config/abi/launchBond_v2_4_1.json'\nimport ConnectButton from '../../components/ConnectButton'\nimport track from '../../utils/track'\nimport useEVMAccount from '../../hooks/accounts/useEVMAccount'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport Modal from '../../components/uikit-sdk/Modal'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport Text from '../../components/uikit-sdk/Text'\nimport ListTag from '../../components/uikit-sdk/Tag/ListTag'\nimport TooltipBubble from '../../components/uikit-sdk/TooltipBubble'\nimport Button from '../../components/uikit-sdk/Button/Button'\nimport { getTimePeriods } from '../../utils/getTimePeriods'\nimport QuestionCircle from '../../components/uikit-sdk/Svg/Icons/QuestionCircle'\n\nconst BuyComponentPreTGE = ({\n bondAddress,\n bondChain,\n onDismiss,\n handlePurchasedBond,\n}: {\n bondAddress: string\n bondChain: number\n onDismiss?: () => void\n handlePurchasedBond: (hash: string, inputAmount: string) => void\n}) => {\n const SDKConfig = useSDKConfig()\n const { data: preTGEBonds } = useBondsData()\n const bond = preTGEBonds?.find(\n (bond) =>\n bond.contractAddress?.[bond.chainId]?.toLowerCase() === bondAddress.toLowerCase() && bond.chainId === bondChain,\n )!\n // Hooks\n const { address } = useEVMAccount()\n const { data: principalTokenBalance } = useCurrencyBalance(bond.lpToken, address as string, bond.chainId)\n // Local state\n const [inputValue, setInputValue] = useState<string>('')\n\n // Display Values\n const raiseGoal = getBalanceNumber(bond?.totalRaise ?? '0', 18)\n const totalPrincipalBilled = getBalanceNumber(bond?.totalPrincipalBilled ?? '0', 18)\n const percentageSold = (totalPrincipalBilled * 100) / raiseGoal\n const tgePrice = bond?.tgePrice ?? 0\n const initPrice = bond?.initPrice ?? 0\n\n const inputValueToDisplay = parseFloat(inputValue).toFixed(2)\n const inputValueToDisplayUSD = parseFloat(inputValueToDisplay) * parseFloat(bond?.principalTokenPrice ?? '0')\n const youGet = parseFloat(inputValue) / initPrice\n const youGetUSD = youGet * tgePrice\n const bonusUSD = youGetUSD - inputValueToDisplayUSD\n\n const apr = bond.yieldData?.apr ?? 0\n const aprUSD = inputValueToDisplayUSD * (apr / 100)\n\n const handleClose = () => {\n if (typeof window !== 'undefined') {\n window.history.pushState({}, '', `/bonds`)\n }\n onDismiss?.()\n }\n\n const [loading, setLoading] = useState<boolean>(false)\n const [buyTxHash, setHash] = useState<string>('')\n // Approve logic\n const [approvalState, approveCallback] = useApproval(\n inputValue,\n bond.lpToken,\n bond?.contractAddress[bond.chainId] as `0x${string}`,\n address as string,\n bond.chainId as ChainId,\n )\n const handleApprove = async () => {\n return approveCallback().then(() => {\n track({\n event: 'approveBondClick',\n chain: bondChain,\n data: {\n cat: bond?.billType,\n bond: bond?.earnToken.symbol,\n },\n })\n })\n }\n const { writeContractAsync } = useWriteContract()\n const onBuyBill = async () => {\n setLoading(true)\n const amount = parseUnits(inputValue, bond?.lpToken?.decimals?.[bond?.chainId] ?? 18).toString()\n const maxPrice = mulDivRound(BigInt(bond?.trueBondPrices?.[0].trueBondPrice ?? '0'), 102n, 100n, 'halfUp').toString()\n const args = [amount, maxPrice, address]\n\n await writeContractAsync({\n address: bond?.contractAddress?.[bond.chainId] as `0x${string}`,\n abi: launchBondsABI_V2_2_0,\n functionName: 'deposit',\n args: args,\n chain: bond.chainId as any,\n account: address,\n })\n .then((hash) => {\n setHash(hash)\n handlePurchasedBond(hash, inputValue)\n })\n .finally(() => {\n setLoading(false)\n })\n }\n\n const [openTxModal] = useModal(\n <TransactionModal\n txChain={bondChain}\n approvalState={approvalState}\n approveCallback={handleApprove}\n loadingTx={loading}\n txCallback={onBuyBill}\n bondData={bond!}\n inputToken={bond.lpToken}\n inputValue={inputValue}\n depositAmount={inputValue}\n buyTxHash={buyTxHash}\n rateChanged={false}\n />,\n false,\n true,\n 'transactionModal',\n )\n\n const { data: currencyBalanceString } = useCurrencyBalance(bond.lpToken, address as string, bond.chainId)\n const exceedsBalance = parseFloat(inputValue) > parseFloat(currencyBalanceString ?? '0')\n const saleStartTime = (bond?.initTime?.[bond.chainId] ?? 0) * 1000\n const saleFinishTime = (bond?.finishTime ?? 0) * 1000\n const now = new Date().getTime()\n const saleHasStarted = now > saleStartTime\n const saleHasFinished = now > saleFinishTime || bond.finalized\n\n const error = SDKConfig.blockSales\n ? 'Complete KYC to Buy'\n : !saleHasStarted\n ? `Sale hasn't started`\n : saleHasFinished\n ? 'Sale Finished'\n : exceedsBalance\n ? 'Exceeds balance'\n : percentageSold > 99.9\n ? 'Soldout'\n : !inputValue || parseFloat(inputValue) === 0\n ? 'Insert amount'\n : !bond\n ? 'no bond'\n : null\n\n return (\n <Modal onDismiss={handleClose} sx={{ width: '740px' }}>\n <ModalHeader onDismiss={handleClose} hideDivider />\n <Flex sx={styles.buyContainer}>\n <Flex sx={styles.cardContainer}>\n <Flex sx={{ width: '100%', justifyContent: 'space-between' }}>\n <Flex>\n <Flex>\n <Flex className=\"title-container bondicon\">\n <TokenImage\n symbol={bond.underlyingEarnToken?.symbol || bond.earnToken.symbol}\n size={50}\n chain={bond.chainId}\n />\n </Flex>\n <Flex className=\"title-container bondname\">\n {bond.underlyingEarnToken?.symbol || bond.earnToken.symbol}\n <ListTag text={bond?.tags?.[0]} />\n </Flex>\n </Flex>\n {!bond.yieldBond && (\n <Flex sx={{ flexDirection: 'column', ml: '15px' }}>\n <Flex className=\"price-container price\">${bond.tgePrice}</Flex>\n <Flex sx={{ fontSize: '24px', fontWeight: 700 }}>${bond.initPrice}</Flex>\n </Flex>\n )}\n </Flex>\n </Flex>\n <ProjectDescription description={bond.shortDescription} isProjectView />\n <BondCardsPreTGE bond={bond} />\n <Flex sx={{ ...styles.infoRowsContainer, mt: '10px' }}>\n <Flex sx={styles.infoRow}>\n <Text sx={styles.infoTitle}>You Spend:</Text>\n <Text sx={styles.infoData}>\n {isNaN(parseFloat(inputValueToDisplay)) ? 0 : inputValueToDisplay} {bond?.lpToken.symbol} = $\n {isNaN(inputValueToDisplayUSD) ? '0' : inputValueToDisplayUSD.toFixed(2)}\n </Text>\n </Flex>\n {bond.yieldBond ? (\n <Flex sx={styles.infoRow}>\n <Flex sx={{ ...styles.infoTitle, alignItems: 'center' }}>\n Yield Bonus:\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Flex>\n This is the duration over which the bonus yield will be distributed while your initial tokens\n remain staked.\n </Flex>\n }\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, 0%)\"\n >\n <Flex className=\"row-container premium-icon\">\n <QuestionCircle width=\"12px\" />\n </Flex>\n </TooltipBubble>\n </Flex>\n <Text sx={{ ...styles.infoData, color: 'success' }}>${isNaN(aprUSD) ? '0' : aprUSD.toFixed(2)}</Text>\n </Flex>\n ) : (\n <Flex sx={styles.infoRow}>\n <Flex sx={{ ...styles.infoTitle, alignItems: 'center' }}>\n Bonus:\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={<Flex>{TooltipText.Premium}</Flex>}\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, 0%)\"\n >\n <Flex className=\"row-container premium-icon\">\n <QuestionCircle width=\"12px\" />\n </Flex>\n </TooltipBubble>\n </Flex>\n <Text sx={{ ...styles.infoData, color: 'success' }}>\n ${isNaN(bonusUSD) ? '0' : bonusUSD.toFixed(2)}\n </Text>\n </Flex>\n )}\n\n <Flex sx={styles.infoRow}>\n <Text sx={styles.infoTitle}>\n You Get (over{' '}\n {\n getTimePeriods(\n (bond?.yieldData?.rewardDistributionEnd ?? 0) - parseInt(bond.startVestingTimestamp ?? '0'),\n true,\n ).days\n }{' '}\n days):\n </Text>\n {bond.yieldBond ? (\n <Flex sx={{ ...styles.infoData, alignItems: 'center', gap: '5px' }}>\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Flex sx={{ width: '100%', flexDirection: 'column' }}>\n This is the expected total return by the end of the pool duration, including the initial tokens.\n <Flex sx={{ mt: '10px', mb: '5px' }}>Breakdown</Flex>\n <Flex sx={{ width: '100%', justifyContent: 'space-between' }}>\n <Flex>Initial capital:</Flex>\n <Flex>\n ${formatNumberSI(inputValueToDisplayUSD)} in {bond.underlyingEarnToken?.symbol}\n </Flex>\n </Flex>\n <Flex sx={{ width: '100%', justifyContent: 'space-between' }}>\n <Flex>Yield Bonus:</Flex>\n <Flex>\n ${formatNumberSI(aprUSD)} in {bond.underlyingEarnToken?.symbol}\n </Flex>\n </Flex>\n </Flex>\n }\n width=\"230px\"\n placement=\"bottomRight\"\n transformTip=\"translate(10%, 0%)\"\n >\n <Flex className=\"row-container premium-icon\">\n <QuestionCircle width=\"12px\" />\n </Flex>\n </TooltipBubble>\n ${formatNumberSI(youGetUSD + aprUSD)}\n </Flex>\n ) : (\n <Text sx={styles.infoData}>\n {isNaN(youGet) ? 0 : formatNumberSI(youGet, 0)} {bond?.earnToken.symbol} = $\n {isNaN(youGetUSD) ? '0' : youGetUSD.toFixed(2)}\n </Text>\n )}\n </Flex>\n </Flex>\n <TokenSelectorPanel\n typedValue={inputValue}\n setTypedValue={setInputValue}\n selectedToken={bond?.lpToken}\n handleValueBtn={() => setInputValue(principalTokenBalance ?? '0')}\n handleCurrencySelect={() => null}\n bondChainId={bond?.chainId}\n enableZap={false}\n bondPrincipalToken={bond?.lpToken}\n tokenBalance={principalTokenBalance ?? undefined}\n selectedTokenPrice={parseFloat(bond?.principalTokenPrice ?? '0')}\n inputDisabled={false}\n isConnected={!!address}\n />\n <Flex\n sx={{\n width: '100%',\n background: '#DE62F366',\n justifyContent: 'center',\n mt: '10px',\n borderRadius: 'normal',\n p: '4px 10px',\n fontSize: '12px',\n fontWeight: 400,\n }}\n >\n {bond.warningCard ? (\n bond.warningCard\n ) : bond.yieldBond ? (\n <span>\n This is a Yield Bond. Your initial capital unlocks in{' '}\n {\n getTimePeriods(\n (bond?.yieldData?.rewardDistributionEnd ?? 0) - parseInt(bond.startVestingTimestamp ?? '0'),\n true,\n ).days\n }{' '}\n days, followed by an APR bonus distributed over the pool duration.\n <span\n sx={{\n ml: '3px',\n color: '#837fd7',\n fontWeight: 700,\n cursor: 'pointer',\n ':hover': { textDecoration: 'underline' },\n }}\n >\n {'Learn More >'}\n </span>\n </span>\n ) : (\n <>\n This is a Pre-TGE Bond - Tokens will be tradeable upon listing.\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Text sx={{ textTransform: 'none' }}>\n Pre-TGE Bonds are a pre-sale for tokens before their Token Generation Event (TGE), when tokens are\n officially launched to the public.\n </Text>\n }\n width=\"315px\"\n placement=\"topRight\"\n transformTip=\"translate(9%, -10%)\"\n >\n <Flex sx={{ ml: '4px', minWidth: '14px' }}>\n <QuestionCircle width={12} />\n </Flex>\n </TooltipBubble>\n </>\n )}\n </Flex>\n <Flex\n sx={{\n width: '100%',\n mt: '10px',\n justifyContent: 'space-between',\n height: ['unset', 'unset', 'unset', '40px'],\n flexDirection: ['column-reverse', 'column-reverse', 'column-reverse', 'row'],\n }}\n >\n {!address ? (\n <ConnectButton />\n ) : (\n <>\n <Flex sx={{ width: ['100%', '100%', '100%', '45%'], justifyContent: 'center' }}>\n <Button\n variant=\"secondary\"\n onClick={() =>\n window.open(\n `/swap?outputCurrency=${bond?.lpToken?.address[bond?.chainId]}&outputChain=${bond?.chainId}`,\n '_blank',\n )\n }\n fullWidth\n >\n Get {bond?.lpToken?.symbol}\n </Button>\n </Flex>\n {error ? (\n <Button disabled fullWidth sx={{ ml: ['0', '0', '0', '10px'] }}>\n {error}\n </Button>\n ) : (\n <Button\n disabled={loading}\n load={loading}\n onClick={openTxModal}\n fullWidth\n sx={{ ml: ['0', '0', '0', '10px'] }}\n >\n Buy\n </Button>\n )}\n </>\n )}\n </Flex>\n </Flex>\n </Flex>\n </Modal>\n )\n}\n\nexport default BuyComponentPreTGE\n"],"names":["launchBondsABI_V2_2_0","_jsx","_jsxs","_Fragment"],"mappings":"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"}
|