@ape.swap/bonds-sdk 6.2.28 → 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 +205 -114
- 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/{views/YourBondsModal/components/Actions → adapters/aptos}/ActionsAptos.d.ts +1 -1
- package/dist/{views/YourBondsModal/components/Actions → adapters/aptos}/ActionsAptos.js +11 -11
- 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 +8 -8
- 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.js +2 -2
- package/dist/adapters/aptos/ConnectAptosWalletButton.js.map +1 -0
- package/dist/{components/ConnectoToVmBanners → adapters/aptos}/ConnectToAptosBanner.js +4 -4
- package/dist/adapters/aptos/ConnectToAptosBanner.js.map +1 -0
- package/dist/{views/YourBondsModal/components/TransferBondModal → adapters/aptos}/TransferActionAptos.d.ts +1 -1
- package/dist/{views/YourBondsModal/components/TransferBondModal → adapters/aptos}/TransferActionAptos.js +1 -1
- package/dist/adapters/aptos/TransferActionAptos.js.map +1 -0
- package/dist/{views/YourBonds/components/UserBondRow → adapters/aptos}/UserBondRowAptos.d.ts +1 -1
- package/dist/{views/YourBonds/components/UserBondRow → adapters/aptos}/UserBondRowAptos.js +22 -22
- package/dist/adapters/aptos/UserBondRowAptos.js.map +1 -0
- package/dist/{utils → adapters/aptos}/aptosHelpers.d.ts +1 -1
- package/dist/{utils → adapters/aptos}/aptosHelpers.js +1 -1
- 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 +3 -3
- 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 +4 -4
- 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/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/{views/YourBondsModal/components/Actions → adapters/evm}/Actions.d.ts +1 -1
- package/dist/{views/YourBondsModal/components/Actions → adapters/evm}/Actions.js +18 -18
- 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 +44 -27
- 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/{components/ConnectoToVmBanners → adapters/evm}/ConnectToEvmBanner.js +3 -3
- 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 +1 -1
- package/dist/{views/TransactionModal → adapters/evm}/TransactionModal.js +5 -4
- package/dist/adapters/evm/TransactionModal.js.map +1 -0
- package/dist/{views/YourBondsModal/components/TransferBondModal → adapters/evm}/TransferAction.d.ts +1 -1
- package/dist/{views/YourBondsModal/components/TransferBondModal → adapters/evm}/TransferAction.js +8 -8
- package/dist/adapters/evm/TransferAction.js.map +1 -0
- package/dist/{views/YourBonds/components/UserBondRow → adapters/evm}/UserBondRow.d.ts +1 -1
- package/dist/{views/YourBonds/components/UserBondRow → adapters/evm}/UserBondRow.js +27 -27
- 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 +2 -2
- package/dist/{state/bonds/fetchBondsData → adapters/evm}/fetchBondsDataEVM.js +8 -8
- 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 +4 -4
- 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.js +27 -27
- package/dist/adapters/evm/preTGE/BuyComponentPreTGE.js.map +1 -0
- package/dist/{views/Bonds/components/BondRows → adapters/evm/preTGE}/ModalHandlerPreTGE.js +4 -4
- package/dist/adapters/evm/preTGE/ModalHandlerPreTGE.js.map +1 -0
- package/dist/{views/YourBonds/components/UserBondRow → adapters/evm/preTGE}/PreTGEActions.d.ts +1 -1
- package/dist/{views/YourBonds/components/UserBondRow → adapters/evm/preTGE}/PreTGEActions.js +9 -9
- package/dist/adapters/evm/preTGE/PreTGEActions.js.map +1 -0
- package/dist/{views/YourBonds/components/UserBondRow → adapters/evm/preTGE}/UserBondRowPreTGE.d.ts +1 -1
- package/dist/{views/YourBonds/components/UserBondRow → adapters/evm/preTGE}/UserBondRowPreTGE.js +9 -9
- package/dist/adapters/evm/preTGE/UserBondRowPreTGE.js.map +1 -0
- package/dist/{views/YourBonds/components/UserBondRow → adapters/evm/preTGE}/UserBondRowYield.d.ts +1 -1
- package/dist/{views/YourBonds/components/UserBondRow → adapters/evm/preTGE}/UserBondRowYield.js +11 -11
- package/dist/adapters/evm/preTGE/UserBondRowYield.js.map +1 -0
- package/dist/{views → adapters/evm/preTGE}/YourBondsModalYield/YourBondsModalYield.d.ts +1 -1
- package/dist/{views → adapters/evm/preTGE}/YourBondsModalYield/YourBondsModalYield.js +22 -22
- package/dist/adapters/evm/preTGE/YourBondsModalYield/YourBondsModalYield.js.map +1 -0
- package/dist/{views → adapters/evm/preTGE}/YourBondsModalYield/components/UnstakeModalYield/UnstakeModalYield.d.ts +1 -1
- package/dist/{views → adapters/evm/preTGE}/YourBondsModalYield/components/UnstakeModalYield/UnstakeModalYield.js +10 -10
- 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 +1 -1
- package/dist/{views → adapters/evm/preTGE}/YourBondsModalYield/components/YourBondModalHeader/YourBondModalHeader.js +5 -5
- 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 +5 -14
- package/dist/adapters/evm/useSoulZapBondQuote.js.map +1 -0
- package/dist/{state/bonds → adapters/evm}/useTierProofSignature.js +2 -2
- 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 +9 -5
- 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/{views/YourBondsModal/components/Actions → adapters/solana}/ActionsSolana.d.ts +1 -1
- package/dist/{views/YourBondsModal/components/Actions → adapters/solana}/ActionsSolana.js +13 -13
- package/dist/adapters/solana/ActionsSolana.js.map +1 -0
- package/dist/{views/BuyBond → adapters/solana}/BuyComponentSolana.js +18 -15
- package/dist/adapters/solana/BuyComponentSolana.js.map +1 -0
- package/dist/{components/ConnectSolanaWalletButton → adapters/solana}/ConnectSolanaWalletButton.js +2 -2
- package/dist/adapters/solana/ConnectSolanaWalletButton.js.map +1 -0
- package/dist/{components/ConnectoToVmBanners → adapters/solana}/ConnectToSolanaBanner.js +3 -3
- 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 +1 -1
- package/dist/{views/YourBondsModal/components/TransferBondModal → adapters/solana}/TransferActionSolana.js +6 -6
- package/dist/adapters/solana/TransferActionSolana.js.map +1 -0
- package/dist/{views/YourBonds/components/UserBondRow → adapters/solana}/UserBondRowSolana.d.ts +1 -1
- package/dist/{views/YourBonds/components/UserBondRow → adapters/solana}/UserBondRowSolana.js +23 -23
- 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/{state/bonds/fetchBondsData → adapters/solana}/fetchBondsDataSOL.d.ts +2 -2
- package/dist/{state/bonds/fetchBondsData → adapters/solana}/fetchBondsDataSOL.js +8 -8
- 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 +5 -5
- package/dist/{state/bonds/fetchUsersBonds → adapters/solana}/fetchUsersBondsSOL.js.map +1 -1
- 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/{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/{views/YourBondsModal/components/Actions → adapters/sui}/ActionsSui.d.ts +1 -1
- package/dist/{views/YourBondsModal/components/Actions → adapters/sui}/ActionsSui.js +11 -11
- package/dist/adapters/sui/ActionsSui.js.map +1 -0
- package/dist/{views/BuyBond → adapters/sui}/BuyComponentSui.js +9 -9
- 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/{components/ConnectoToVmBanners → adapters/sui}/ConnectToSuiBanner.js +4 -4
- 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 +1 -1
- package/dist/{views/YourBondsModal/components/TransferBondModal → adapters/sui}/TransferActionSui.js +7 -7
- package/dist/adapters/sui/TransferActionSui.js.map +1 -0
- package/dist/{views/YourBonds/components/UserBondRow → adapters/sui}/UserBondRowSui.d.ts +1 -1
- package/dist/{views/YourBonds/components/UserBondRow → adapters/sui}/UserBondRowSui.js +22 -22
- 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 +3 -3
- 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 +4 -4
- 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.js.map +1 -0
- package/dist/{state/zap → adapters/sui}/useSuiZapQuote.js +1 -1
- package/dist/adapters/sui/useSuiZapQuote.js.map +1 -0
- package/dist/adapters/types.d.ts +110 -0
- package/dist/components/TokenSelectorPanel/index.js +6 -16
- package/dist/components/TokenSelectorPanel/index.js.map +1 -1
- package/dist/config/constants/chains.d.ts +0 -2
- package/dist/config/constants/chains.js +0 -2
- package/dist/config/constants/chains.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 +0 -1
- package/dist/config/constants/variables.js +1 -19
- package/dist/config/constants/variables.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.js +3 -2
- 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/bonds/fetchBondsData/{cleanBillsData.js → bondPricing.js} +1 -1
- package/dist/state/bonds/fetchBondsData/bondPricing.js.map +1 -0
- package/dist/state/bonds/useBondsData.js +23 -35
- package/dist/state/bonds/useBondsData.js.map +1 -1
- package/dist/state/bonds/useUserBonds.d.ts +3 -1
- package/dist/state/bonds/useUserBonds.js +21 -33
- 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 +1 -1
- package/dist/state/hotBonds/useHotBonds.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 -145
- package/dist/state/tiers/useTierPoints.js.map +1 -1
- package/dist/state/useSDKConfig.d.ts +3 -0
- package/dist/state/useSDKConfig.js +53 -6
- package/dist/state/useSDKConfig.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utils/displayHelpers.js +1 -1
- package/dist/utils/displayHelpers.js.map +1 -1
- package/dist/views/Bonds/components/BondRows/BondRow.js +6 -2
- package/dist/views/Bonds/components/BondRows/BondRow.js.map +1 -1
- package/dist/views/Bonds/components/BondRows/ModalHandler.js +8 -35
- package/dist/views/Bonds/components/BondRows/ModalHandler.js.map +1 -1
- package/dist/views/Bonds/components/BonusComponents/BonusTable.js +2 -1
- package/dist/views/Bonds/components/BonusComponents/BonusTable.js.map +1 -1
- package/dist/views/Bonds/components/CheckURL/index.js +8 -4
- package/dist/views/Bonds/components/CheckURL/index.js.map +1 -1
- package/dist/views/Bonds/components/RecommendationCards/index.js +3 -3
- package/dist/views/Bonds/components/RecommendationCards/index.js.map +1 -1
- package/dist/views/Bonds/utils.js +1 -1
- package/dist/views/Bonds/utils.js.map +1 -1
- package/dist/views/BuyBond/BuyBondModal.js +2 -7
- 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/components/BondModalHeader.js +2 -1
- package/dist/views/BuyBond/components/BondModalHeader.js.map +1 -1
- package/dist/views/BuyBond/components/BondModalMinTierHeader.js +1 -1
- package/dist/views/BuyBond/components/BondModalMinTierHeader.js.map +1 -1
- package/dist/views/BuyBond/components/Estimations.js +2 -1
- package/dist/views/BuyBond/components/Estimations.js.map +1 -1
- package/dist/views/BuyBond/components/PointsLeftForNextTier/PointsLeftForNextTier.js +2 -1
- package/dist/views/BuyBond/components/PointsLeftForNextTier/PointsLeftForNextTier.js.map +1 -1
- package/dist/views/BuyBond/index.d.ts +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/ProjectView/ProjectView.js +2 -2
- package/dist/views/ProjectView/ProjectView.js.map +1 -1
- package/dist/views/ProjectView/components/BondLeaderboard/components/SalesTable.js +2 -2
- package/dist/views/ProjectView/components/BondLeaderboard/components/SalesTable.js.map +1 -1
- package/dist/views/ProjectView/components/BondLeaderboard/components/TopSaleCard.js +2 -2
- package/dist/views/ProjectView/components/BondLeaderboard/components/TopSaleCard.js.map +1 -1
- package/dist/views/ProjectView/components/PriceChart/index.js +1 -1
- package/dist/views/ProjectView/components/PriceChart/index.js.map +1 -1
- package/dist/views/ProjectView/components/RecommendationCards/index.js +4 -4
- package/dist/views/ProjectView/components/RecommendationCards/index.js.map +1 -1
- package/dist/views/SingleBond/SingleBond.js +2 -2
- package/dist/views/SingleBond/SingleBond.js.map +1 -1
- package/dist/views/SingleBond/SoldOutBuyBondPlaceholder.js +4 -3
- package/dist/views/SingleBond/SoldOutBuyBondPlaceholder.js.map +1 -1
- package/dist/views/YourBonds/YourBonds.js +25 -28
- package/dist/views/YourBonds/YourBonds.js.map +1 -1
- package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.js +8 -175
- package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.js.map +1 -1
- package/dist/views/YourBonds/components/ClaimAll/index.js +4 -6
- package/dist/views/YourBonds/components/ClaimAll/index.js.map +1 -1
- package/dist/views/YourBondsModal/YourBondsModal.js +3 -5
- package/dist/views/YourBondsModal/YourBondsModal.js.map +1 -1
- package/dist/views/YourBondsModal/components/Recommendations/Recommendations.js +3 -3
- package/dist/views/YourBondsModal/components/Recommendations/Recommendations.js.map +1 -1
- package/dist/views/YourBondsModal/components/TransferBondModal/index.js +3 -6
- package/dist/views/YourBondsModal/components/TransferBondModal/index.js.map +1 -1
- package/package.json +88 -5
- package/dist/components/ConnectAptosWalletButton/ConnectAptosWalletButton.js.map +0 -1
- package/dist/components/ConnectSolanaWalletButton/ConnectSolanaWalletButton.js.map +0 -1
- package/dist/components/ConnectoToVmBanners/ConnectToAptosBanner.js.map +0 -1
- package/dist/components/ConnectoToVmBanners/ConnectToEvmBanner.js.map +0 -1
- package/dist/components/ConnectoToVmBanners/ConnectToSolanaBanner.js.map +0 -1
- package/dist/components/ConnectoToVmBanners/ConnectToSuiBanner.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/hooks/accounts/useEVMAccount.js.map +0 -1
- package/dist/hooks/accounts/useSOLAccount.js.map +0 -1
- package/dist/hooks/accounts/useSUIAccount.js.map +0 -1
- package/dist/hooks/useMonitorTx.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.js.map +0 -1
- package/dist/state/bonds/fetchBondsData/fetchBondsDataAptos.js.map +0 -1
- 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.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/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/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/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.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/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.map +0 -1
- package/dist/views/BuyBond/BuyComponentSolana.js.map +0 -1
- package/dist/views/BuyBond/BuyComponentSui.js.map +0 -1
- package/dist/views/LifiModal/LifiModal.d.ts +0 -6
- package/dist/views/LifiModal/LifiModal.js.map +0 -1
- package/dist/views/TransactionModal/TransactionModal.js.map +0 -1
- package/dist/views/YourBonds/components/UserBondRow/PreTGEActions.js.map +0 -1
- package/dist/views/YourBonds/components/UserBondRow/UserBondRow.js.map +0 -1
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowAptos.js.map +0 -1
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowPreTGE.js.map +0 -1
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowSolana.js.map +0 -1
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowSui.js.map +0 -1
- 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.js.map +0 -1
- package/dist/views/YourBondsModal/components/Actions/ActionsAptos.js.map +0 -1
- package/dist/views/YourBondsModal/components/Actions/ActionsSolana.js.map +0 -1
- 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.map +0 -1
- package/dist/views/YourBondsModalYield/components/UnstakeModalYield/UnstakeModalYield.js.map +0 -1
- package/dist/views/YourBondsModalYield/components/YourBondModalHeader/YourBondModalHeader.js.map +0 -1
- /package/dist/{views/BuyBond → adapters/aptos}/BuyComponentAptos.d.ts +0 -0
- /package/dist/{components/ConnectAptosWalletButton → adapters/aptos}/ConnectAptosWalletButton.d.ts +0 -0
- /package/dist/{components/ConnectoToVmBanners → adapters/aptos}/ConnectToAptosBanner.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/zap → adapters/aptos}/useAptosZapQuote.js +0 -0
- /package/dist/{state/balance → adapters/aptos}/useCurrencyBalanceAptos.d.ts +0 -0
- /package/dist/{components/ConnectoToVmBanners → adapters/evm}/ConnectToEvmBanner.d.ts +0 -0
- /package/dist/{utils → adapters/evm}/multicall.d.ts +0 -0
- /package/dist/{views/BuyBond → adapters/evm/preTGE}/BuyComponentPreTGE.d.ts +0 -0
- /package/dist/{views/Bonds/components/BondRows → adapters/evm/preTGE}/ModalHandlerPreTGE.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/{components/ConnectSolanaWalletButton → adapters/solana}/ConnectSolanaWalletButton.d.ts +0 -0
- /package/dist/{components/ConnectoToVmBanners → adapters/solana}/ConnectToSolanaBanner.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/{utils → adapters/solana}/solanaRpc.d.ts +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/{components/ConnectoToVmBanners → adapters/sui}/ConnectToSuiBanner.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/{hooks/accounts → adapters/sui}/useSUIAccount.d.ts +0 -0
- /package/dist/{hooks/accounts → adapters/sui}/useSUIAccount.js +0 -0
- /package/dist/{state/zap → adapters/sui}/useSuiZapQuote.d.ts +0 -0
- /package/dist/state/bonds/fetchBondsData/{cleanBillsData.d.ts → bondPricing.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -2,127 +2,223 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/@ape.swap/bonds-sdk)
|
|
4
4
|
|
|
5
|
-
The `@ape.swap/bonds-sdk` package provides
|
|
5
|
+
The `@ape.swap/bonds-sdk` package provides embeddable React components to show, buy and manage ApeBond bonds inside your own app, across EVM chains, Solana, Sui and Aptos.
|
|
6
6
|
|
|
7
7
|
## Key Features
|
|
8
8
|
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
|
|
9
|
+
- Ready-made bond views: `<FullBondsView />`, `<Bonds />`, `<YourBonds />`, `<SingleBond />`, `<ProjectView />` and `<BuyBondModal />`.
|
|
10
|
+
- **Chain adapters:** install and bundle only the chain families you use (EVM, Solana, Sui, Aptos), plus an optional LiFi cross-chain bridge.
|
|
11
|
+
- Works with your existing wallet setup (wagmi, Solana wallet adapter, Sui dapp-kit, Aptos wallet adapter) and your own wallet-connect modal.
|
|
12
|
+
- Prebuilt, scoped styles that never leak into your app, with stable classnames for overrides.
|
|
13
|
+
|
|
14
|
+
> **Upgrading from v6?** v7 requires the new `adapters` prop. See [Upgrading from v6](#upgrading-from-v6).
|
|
14
15
|
|
|
15
16
|
---
|
|
16
17
|
|
|
17
|
-
##
|
|
18
|
+
## How it works: chain adapters
|
|
18
19
|
|
|
19
|
-
|
|
20
|
+
Since v7, every chain family is an **adapter** that you import and pass to the SDK:
|
|
20
21
|
|
|
21
|
-
|
|
22
|
+
| Adapter | Import | Chains |
|
|
23
|
+
|---|---|---|
|
|
24
|
+
| `evmAdapter` | `@ape.swap/bonds-sdk/adapters/evm` | Every EVM chain (Ethereum, BNB, Base, Arbitrum, …), including tiers and launch/yield bonds |
|
|
25
|
+
| `solanaAdapter` | `@ape.swap/bonds-sdk/adapters/solana` | Solana |
|
|
26
|
+
| `suiAdapter` | `@ape.swap/bonds-sdk/adapters/sui` | Sui |
|
|
27
|
+
| `aptosAdapter` | `@ape.swap/bonds-sdk/adapters/aptos` | Aptos |
|
|
28
|
+
| `lifiAdapter` *(optional)* | `@ape.swap/bonds-sdk/adapters/lifi` | Adds the LiFi "Swap & Bridge" option to the buy flows |
|
|
29
|
+
| `allAdapters` | `@ape.swap/bonds-sdk/adapters/all` | All of the above (the v6 behaviour) |
|
|
22
30
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
31
|
+
You only install the libraries of the adapters you import, and your bundle only contains their code. For example, an EVM-only app never installs or bundles any Solana, Sui, Aptos or LiFi package, and a Solana-only app doesn't need wagmi or viem.
|
|
32
|
+
|
|
33
|
+
Chains in `chains` whose family has no registered adapter are hidden, with a console error naming the adapter to add.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Installation
|
|
26
38
|
|
|
27
|
-
|
|
39
|
+
### 1. The SDK and its core dependencies
|
|
40
|
+
|
|
41
|
+
These are always required:
|
|
28
42
|
|
|
29
43
|
```bash
|
|
30
|
-
|
|
44
|
+
npm install @ape.swap/bonds-sdk @tanstack/react-query react react-dom
|
|
31
45
|
```
|
|
32
46
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
## Peer Dependencies
|
|
47
|
+
### 2. The libraries of each chain family you use
|
|
36
48
|
|
|
37
|
-
The
|
|
49
|
+
The chain libraries are **optional peer dependencies**: npm doesn't install them for you, so install the ones for the adapters you use.
|
|
38
50
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
-
|
|
45
|
-
|
|
46
|
-
- **@mysten/sui** (^1.45.2): Sui TypeScript SDK used to build and read Sui transactions. Already installed alongside @mysten/dapp-kit.
|
|
47
|
-
- **@solana/kit** (2.3.0): Comprehensive toolkit for Solana blockchain development.
|
|
48
|
-
- **@solana/spl-token** (^0.4.14): Library for interacting with Solana SPL tokens.
|
|
49
|
-
- **@solana/wallet-adapter-react** (^0.15.39): React hooks for Solana wallet connections.
|
|
50
|
-
- **@solana/wallet-adapter-react-ui** (^0.9.39): Pre-built UI components for Solana wallet connections.
|
|
51
|
-
- **@solana/web3.js** (^1.98.4): Core library for interacting with the Solana blockchain.
|
|
52
|
-
- **@tanstack/react-query** (^5.90.2): Powerful data synchronization and caching library for React applications.
|
|
51
|
+
| Adapter | Install | Provider you must mount |
|
|
52
|
+
|---|---|---|
|
|
53
|
+
| `evmAdapter` | `npm install wagmi@^2 viem@2` | wagmi's `WagmiProvider` (its config must include the EVM chains you show) |
|
|
54
|
+
| `solanaAdapter` | `npm install @solana/web3.js@^1.98.4 @solana/kit@2.3.0 @solana/spl-token@^0.4.14 @solana/wallet-adapter-react@^0.15.39` | `ConnectionProvider` + `WalletProvider` from `@solana/wallet-adapter-react` |
|
|
55
|
+
| `suiAdapter` | `npm install @mysten/dapp-kit@^0.19.11 @mysten/sui@^1.45.2` | `SuiClientProvider` + `WalletProvider` from `@mysten/dapp-kit` |
|
|
56
|
+
| `aptosAdapter` | `npm install @aptos-labs/ts-sdk@^6.3.1 @aptos-labs/wallet-adapter-react@^8.3.3` | `AptosWalletAdapterProvider` from `@aptos-labs/wallet-adapter-react` |
|
|
57
|
+
| `lifiAdapter` | `npm install @lifi/widget@^3 @bigmi/react@^0.6.5` | none of its own (see note) |
|
|
53
58
|
|
|
54
|
-
|
|
59
|
+
Notes:
|
|
55
60
|
|
|
56
|
-
-
|
|
61
|
+
- **LiFi:** `@lifi/widget` v3 itself requires `wagmi`, `@mysten/dapp-kit` and `@solana/wallet-adapter-react`, whichever chains you show. If you want an app without EVM or Sui packages, don't register `lifiAdapter`; the buy flows then simply hide the bridge option.
|
|
62
|
+
- **Solana** needs a custom RPC: see [Custom RPCs](#custom-rpcs). The Solana adapter sets the `Buffer` global its libraries need, so you don't need a polyfill.
|
|
63
|
+
- **Aptos** runs on Aptos **testnet** unless `NEXT_PUBLIC_APTOS_NETWORK=mainnet` is set in your build environment.
|
|
64
|
+
- `@tanstack/react-query`'s `QueryClientProvider` must wrap the SDK in every setup; the SDK shares your `QueryClient` (its query keys are prefixed with `ApeBond-SDK-`).
|
|
65
|
+
- **Supported versions:** React 17 or later (the LiFi adapter needs React 18+), wagmi 2 and LiFi widget 3.
|
|
57
66
|
|
|
58
67
|
---
|
|
59
68
|
|
|
60
69
|
## Basic Usage
|
|
61
70
|
|
|
62
|
-
|
|
71
|
+
### EVM only
|
|
63
72
|
|
|
64
|
-
```
|
|
73
|
+
```tsx
|
|
65
74
|
import React from 'react'
|
|
66
|
-
import
|
|
75
|
+
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
|
|
76
|
+
import { WagmiProvider, createConfig, http } from 'wagmi'
|
|
77
|
+
import { bsc, mainnet } from 'wagmi/chains'
|
|
67
78
|
import { ChainId } from '@ape.swap/apeswap-lists'
|
|
79
|
+
import FullBondsView from '@ape.swap/bonds-sdk/views/FullBondsView'
|
|
80
|
+
import { evmAdapter } from '@ape.swap/bonds-sdk/adapters/evm'
|
|
68
81
|
import '@ape.swap/bonds-sdk/styles.css'
|
|
69
82
|
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
ChainId.
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
83
|
+
const wagmiConfig = createConfig({
|
|
84
|
+
chains: [mainnet, bsc],
|
|
85
|
+
transports: { [mainnet.id]: http(), [bsc.id]: http() },
|
|
86
|
+
})
|
|
87
|
+
const queryClient = new QueryClient()
|
|
88
|
+
|
|
89
|
+
export const App = () => (
|
|
90
|
+
<WagmiProvider config={wagmiConfig}>
|
|
91
|
+
<QueryClientProvider client={queryClient}>
|
|
92
|
+
<FullBondsView
|
|
93
|
+
referenceId="yourProjectId" // provided by the ApeBond team
|
|
94
|
+
chains={[ChainId.MAINNET, ChainId.BSC]}
|
|
95
|
+
adapters={[evmAdapter]}
|
|
96
|
+
openWalletConnectors={{ evm: openYourWalletModal }} // e.g. RainbowKit's openConnectModal
|
|
97
|
+
/>
|
|
98
|
+
</QueryClientProvider>
|
|
99
|
+
</WagmiProvider>
|
|
100
|
+
)
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Several chain families (EVM + Solana + the LiFi bridge)
|
|
104
|
+
|
|
105
|
+
```tsx
|
|
106
|
+
import { ConnectionProvider, WalletProvider } from '@solana/wallet-adapter-react'
|
|
107
|
+
import FullBondsView from '@ape.swap/bonds-sdk/views/FullBondsView'
|
|
108
|
+
import { evmAdapter } from '@ape.swap/bonds-sdk/adapters/evm'
|
|
109
|
+
import { solanaAdapter } from '@ape.swap/bonds-sdk/adapters/solana'
|
|
110
|
+
import { lifiAdapter } from '@ape.swap/bonds-sdk/adapters/lifi'
|
|
111
|
+
|
|
112
|
+
const SOLANA_RPC = 'https://mainnet.helius-rpc.com/?api-key=YOUR_KEY'
|
|
113
|
+
|
|
114
|
+
export const App = () => (
|
|
115
|
+
<WagmiProvider config={wagmiConfig}>
|
|
116
|
+
<QueryClientProvider client={queryClient}>
|
|
117
|
+
<ConnectionProvider endpoint={SOLANA_RPC}>
|
|
118
|
+
<WalletProvider wallets={[]} autoConnect>
|
|
119
|
+
<FullBondsView
|
|
120
|
+
referenceId="yourProjectId"
|
|
121
|
+
chains={[ChainId.MAINNET, ChainId.BSC, ChainId.SOL]}
|
|
122
|
+
adapters={[evmAdapter, solanaAdapter, lifiAdapter]}
|
|
123
|
+
customRPCS={{ [ChainId.SOL]: [SOLANA_RPC] }}
|
|
124
|
+
openWalletConnectors={{
|
|
125
|
+
evm: openYourEvmWalletModal,
|
|
126
|
+
sol: () => setSolanaWalletModalVisible(true), // e.g. useWalletModal() from @solana/wallet-adapter-react-ui
|
|
127
|
+
}}
|
|
128
|
+
/>
|
|
129
|
+
</WalletProvider>
|
|
130
|
+
</ConnectionProvider>
|
|
131
|
+
</QueryClientProvider>
|
|
132
|
+
</WagmiProvider>
|
|
133
|
+
)
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### Everything (the v6 setup)
|
|
137
|
+
|
|
138
|
+
```tsx
|
|
139
|
+
import { allAdapters } from '@ape.swap/bonds-sdk/adapters/all'
|
|
140
|
+
|
|
141
|
+
<FullBondsView referenceId="yourProjectId" chains={chains} adapters={allAdapters} />
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
`allAdapters` needs every family's libraries and wallet providers, like v6 did.
|
|
145
|
+
|
|
146
|
+
### Other views
|
|
147
|
+
|
|
148
|
+
All views take the same props (see [Configuration](#configuration)), including `adapters`; pass the same adapters to every SDK view you render.
|
|
149
|
+
|
|
150
|
+
```tsx
|
|
151
|
+
import Bonds from '@ape.swap/bonds-sdk/views/Bonds'
|
|
152
|
+
import YourBonds from '@ape.swap/bonds-sdk/views/YourBonds'
|
|
153
|
+
import SingleBond from '@ape.swap/bonds-sdk/views/SingleBond' // + tokenSymbol={['XYZ']}
|
|
154
|
+
import ProjectView from '@ape.swap/bonds-sdk/views/ProjectView' // + bondAddress, bondChain
|
|
155
|
+
import BuyBondModal from '@ape.swap/bonds-sdk/views/BuyBondModal' // + bondAddress, bondChain, onDismiss
|
|
95
156
|
```
|
|
96
157
|
|
|
158
|
+
Hooks and helpers are exported too: `@ape.swap/bonds-sdk/hooks/useBondsData`, `/hooks/useTokenPrices`, `/hooks/useSDKConfig`, `/hooks/useCurrencyBalance`, `/hooks/useUserTokensBalance`, `/hooks/useApproval` (EVM; needs the EVM libraries), `/components/TokenImage`, `/utils/generateImageFromTemplate`, `/constants/chains`.
|
|
159
|
+
|
|
160
|
+
The root import (`import { Bonds } from '@ape.swap/bonds-sdk'`) still works but is deprecated. It re-exports `useApproval`, so it requires the EVM libraries: apps without EVM must use the subpath imports above.
|
|
161
|
+
|
|
97
162
|
---
|
|
98
163
|
|
|
99
|
-
##
|
|
164
|
+
## Connecting wallets
|
|
165
|
+
|
|
166
|
+
The SDK uses the wallets your app already connects, through the providers above; it doesn't ship a wallet modal. When a user clicks one of the SDK's "Connect" buttons, it calls the matching function from `openWalletConnectors`, so it can open your own modal:
|
|
167
|
+
|
|
168
|
+
```tsx
|
|
169
|
+
openWalletConnectors={{
|
|
170
|
+
evm: () => openConnectModal(), // e.g. RainbowKit, AppKit, your own modal
|
|
171
|
+
sol: () => setSolanaModalVisible(true),
|
|
172
|
+
sui: () => openSuiModal(),
|
|
173
|
+
aptos: () => openAptosModal(),
|
|
174
|
+
}}
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
Without an opener, that family's "Connect" button is disabled.
|
|
100
178
|
|
|
101
|
-
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## Configuration
|
|
102
182
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
|
106
|
-
|
|
107
|
-
| `
|
|
108
|
-
| `
|
|
109
|
-
| `
|
|
110
|
-
| `
|
|
111
|
-
| `
|
|
112
|
-
| `
|
|
183
|
+
Props accepted by every view:
|
|
184
|
+
|
|
185
|
+
| Property | Type | Description |
|
|
186
|
+
|---|---|---|
|
|
187
|
+
| `referenceId` | `string` | **Required.** Your partner id, provided by the ApeBond team. |
|
|
188
|
+
| `chains` | `number[]` | **Required.** Chain ids to show (e.g. `ChainId.BSC`, `ChainId.SOL`), in display order. Chains without a registered adapter are hidden. |
|
|
189
|
+
| `adapters` | `SDKAdapter[]` | **Required since v7.** The chain adapters (and optionally `lifiAdapter`) to enable. See [How it works](#how-it-works-chain-adapters). |
|
|
190
|
+
| `openWalletConnectors` | `{ evm?, sol?, sui?, aptos? }` | Functions that open your wallet-connect modal for each family. See [Connecting wallets](#connecting-wallets). |
|
|
191
|
+
| `customRPCS` | `Partial<Record<ChainId, string[]>>` | Your own RPC URLs per chain. **Required for Solana.** See [Custom RPCs](#custom-rpcs). |
|
|
192
|
+
| `useHotBonds` | `boolean` | Show the "hot bonds" section. Default `true`. |
|
|
193
|
+
| `hotBondChains` | `number[]` | The hot bonds section is placed below these chains. Default `[BSC, Polygon]`. |
|
|
194
|
+
| `useTiers` | `boolean` | Enable ApeBond tier bonuses (EVM). Default `false`; always off with `namingPreference: 'Discount'`. |
|
|
195
|
+
| `namingPreference` | `'Bonus' \| 'Discount'` | How bond returns are labelled. Default `'Bonus'`. |
|
|
196
|
+
| `useCardsView` | `boolean` | Show the bond list as cards instead of rows. Default `false`. |
|
|
197
|
+
| `showLowValueBonds` | `boolean` | Also list bonds with little value left (about $100 or less), which are otherwise treated as sold out. Default `false`. |
|
|
198
|
+
| `bondPartner` | `string` | Only show this partner's bonds (including partner-only bonds). |
|
|
199
|
+
| `highlightedBond` | `string` | Token symbol to feature in the "buy again" row. |
|
|
200
|
+
| `blockSales` | `boolean` | Show bonds but disable buying. Default `false`. |
|
|
201
|
+
| `customBranch` | `string` | Load the bond list from a specific bond-list branch (for testing new bonds with the ApeBond team). |
|
|
202
|
+
| `urls` | `{ apiV2?, realTimeApi?, mainUrl? }` | Override the ApeBond API URLs. |
|
|
203
|
+
| `aptosAddress` / `suiAddress` | `string` | Show this address's Aptos / Sui bonds without a connected wallet (read-only). |
|
|
204
|
+
|
|
205
|
+
Component-specific props: `tokenSymbol` (`string[]`, `<SingleBond />`; one token is supported), `bondAddress` + `bondChain` (`<ProjectView />`, `<BuyBondModal />`).
|
|
206
|
+
|
|
207
|
+
The `theme` prop was removed in v7; see [Styling & Overrides](#styling--overrides).
|
|
113
208
|
|
|
114
209
|
### Custom RPCs
|
|
115
210
|
|
|
116
|
-
By default the SDK uses
|
|
211
|
+
By default the SDK uses public RPC endpoints for each supported chain. If you have a private or dedicated RPC (e.g. from Alchemy, Infura, Helius, QuickNode), override it per chain with `customRPCS`. The custom URL takes priority; any chain not listed falls back to the SDK default.
|
|
117
212
|
|
|
118
|
-
> ⚠️ **Solana requires a custom RPC.**
|
|
213
|
+
> ⚠️ **Solana requires a custom RPC.** Solana doesn't provide a reliable public RPC endpoint. If `chains` includes Solana, you **must** supply one for `ChainId.SOL` (e.g. from [Helius](https://helius.dev/) or [QuickNode](https://www.quicknode.com/)), otherwise Solana bonds won't load.
|
|
119
214
|
|
|
120
215
|
```tsx
|
|
121
|
-
import { ChainId } from '@ape.swap/apeswap-lists'
|
|
216
|
+
import { ChainId } from '@ape.swap/apeswap-lists'
|
|
122
217
|
|
|
123
218
|
<FullBondsView
|
|
124
219
|
referenceId="yourProjectId"
|
|
125
|
-
chains={[ChainId.BSC, ChainId.MAINNET]}
|
|
220
|
+
chains={[ChainId.BSC, ChainId.MAINNET, ChainId.SOL]}
|
|
221
|
+
adapters={[evmAdapter, solanaAdapter]}
|
|
126
222
|
customRPCS={{
|
|
127
223
|
[ChainId.BSC]: ['https://bsc-mainnet.g.alchemy.com/v2/YOUR_KEY'],
|
|
128
224
|
[ChainId.MAINNET]: ['https://eth-mainnet.g.alchemy.com/v2/YOUR_KEY'],
|
|
@@ -131,59 +227,55 @@ import { ChainId } from '@ape.swap/apeswap-lists';
|
|
|
131
227
|
/>
|
|
132
228
|
```
|
|
133
229
|
|
|
134
|
-
> **Note:**
|
|
230
|
+
> **Note:** `customRPCS` accepts an array of URLs per chain to allow future fallback support. Currently, only the first URL in each array is used.
|
|
135
231
|
|
|
136
232
|
### Chain Support
|
|
137
233
|
|
|
138
|
-
|
|
234
|
+
- **EVM** (`evmAdapter`): Ethereum, BNB Chain, Polygon, Arbitrum, Base, Linea, Lightlink, GraphLinq, IOTA, CrossFi, Avalanche, Blast, Sonic, Berachain, Unichain, Katana, Monad, HyperEVM, Robinhood, Layer One X.
|
|
235
|
+
- **Solana** (`solanaAdapter`)
|
|
236
|
+
- **Sui** (`suiAdapter`)
|
|
237
|
+
- **Aptos** (`aptosAdapter`)
|
|
238
|
+
|
|
239
|
+
The list is updated regularly, so make sure to use the latest version of the SDK.
|
|
139
240
|
|
|
140
|
-
|
|
241
|
+
---
|
|
141
242
|
|
|
142
|
-
|
|
143
|
-
- BNB Chain (BSC)
|
|
144
|
-
- Polygon
|
|
145
|
-
- Arbitrum
|
|
146
|
-
- Base
|
|
147
|
-
- Lightlink
|
|
148
|
-
- Linea
|
|
149
|
-
- Graphlinq
|
|
150
|
-
- IOTA
|
|
151
|
-
- CrossFi
|
|
152
|
-
- Unichain
|
|
153
|
-
- Berachain
|
|
154
|
-
- Sonic
|
|
155
|
-
- Katana
|
|
156
|
-
- Monad Testnet
|
|
157
|
-
- Hyper EVM
|
|
158
|
-
- Avalanche
|
|
243
|
+
## Upgrading from v6
|
|
159
244
|
|
|
160
|
-
|
|
245
|
+
1. **Pass `adapters`.** Without it no chains are shown (the console says so). Pick one:
|
|
246
|
+
- the fastest path, identical to v6: `adapters={allAdapters}` from `@ape.swap/bonds-sdk/adapters/all`;
|
|
247
|
+
- or only the families you show, e.g. `adapters={[evmAdapter]}` for an EVM-only app (see [How it works](#how-it-works-chain-adapters)).
|
|
248
|
+
2. **Install what your adapters need** (see [Installation](#installation)). Chain libraries are now optional peer dependencies, so npm no longer installs them automatically. With `allAdapters` keep everything you had in v6; otherwise you can remove the libraries of the families you don't use (e.g. an EVM-only app can remove `@solana/*`, `@mysten/*`, `@aptos-labs/*`, `@lifi/widget`, `@bigmi/react`).
|
|
249
|
+
3. **Mount only the wallet providers of your adapters.** An app without `evmAdapter` no longer needs a `WagmiProvider`.
|
|
250
|
+
4. **Import styles from `@ape.swap/bonds-sdk/styles.css`**, and drop the `theme` prop if you used it (see [Styling & Overrides](#styling--overrides)).
|
|
251
|
+
5. If you use the root import (`from '@ape.swap/bonds-sdk'`) in an app without EVM, switch to the subpath imports.
|
|
161
252
|
|
|
162
|
-
|
|
253
|
+
Behaviour changes to be aware of:
|
|
163
254
|
|
|
164
|
-
The
|
|
255
|
+
- The Solana adapter sets the `Buffer` global itself; you can remove a `Buffer` polyfill you only had for this SDK.
|
|
256
|
+
- `<SingleBond />` and `<ProjectView />` now use the right buy flow for Solana/Sui/Aptos bonds (v6 always used the EVM one).
|
|
257
|
+
- Claim All on a chain that doesn't support it (Solana) now says so instead of attempting an EVM claim.
|
|
258
|
+
- Peer ranges are stricter: `wagmi` `^2` and `@lifi/widget` `^3`.
|
|
165
259
|
|
|
166
260
|
---
|
|
167
261
|
|
|
168
262
|
## Styling & Overrides
|
|
169
263
|
|
|
170
|
-
The package comes with prebuilt styles that you must import in your project
|
|
264
|
+
The package comes with prebuilt styles that you must import in your project:
|
|
171
265
|
|
|
172
266
|
```javascript
|
|
173
|
-
import '@ape.swap/bonds-sdk/
|
|
267
|
+
import '@ape.swap/bonds-sdk/styles.css'
|
|
174
268
|
```
|
|
175
269
|
|
|
176
|
-
These styles ensure that the components render correctly and include all necessary design details.
|
|
177
|
-
|
|
178
270
|
### How styling works (v7+)
|
|
179
271
|
|
|
180
|
-
As of v7, the SDK is styled entirely at build time with [Tailwind CSS](https://tailwindcss.com/), scoped under an `ape:`-prefixed layer so it can never collide with a consumer app's own Tailwind setup or global styles. You do **not** need Tailwind in your own project to use the SDK
|
|
272
|
+
As of v7, the SDK is styled entirely at build time with [Tailwind CSS](https://tailwindcss.com/), scoped under an `ape:`-prefixed layer so it can never collide with a consumer app's own Tailwind setup or global styles. You do **not** need Tailwind in your own project to use the SDK: `styles.css` ships fully compiled, plain CSS.
|
|
181
273
|
|
|
182
|
-
This replaces the previous runtime `theme` prop (colors/radii/fonts passed in as a JS object), which
|
|
274
|
+
This replaces the previous runtime `theme` prop (colors/radii/fonts passed in as a JS object), which was removed. If you were using `theme` to reskin the SDK, restyle via the override classnames below instead.
|
|
183
275
|
|
|
184
276
|
### Overriding styles from your app
|
|
185
277
|
|
|
186
|
-
Every SDK element that's a meaningful restyling target keeps a stable, plain (non-`ape:`-prefixed) `className` alongside its internal Tailwind classes, e.g. `className="bond-row ape:flex ape:..."`. Target these from your own app's CSS (with sufficient specificity, or `!important` where needed) to override the default look
|
|
278
|
+
Every SDK element that's a meaningful restyling target keeps a stable, plain (non-`ape:`-prefixed) `className` alongside its internal Tailwind classes, e.g. `className="bond-row ape:flex ape:..."`. Target these from your own app's CSS (with sufficient specificity, or `!important` where needed) to override the default look. They are part of the SDK's public styling API and are kept stable across releases. Some of the more commonly used ones:
|
|
187
279
|
|
|
188
280
|
| Area | Classnames |
|
|
189
281
|
|---|---|
|
|
@@ -192,24 +284,23 @@ Every SDK element that's a meaningful restyling target keeps a stable, plain (no
|
|
|
192
284
|
| Your Bonds | `your-bonds`, `your-bonds-columns-container`, `your-bonds-content`, `your-bonds-content-title`, `your-bonds-content-tokens-amount`, `your-bonds-content-tokens-usd-amount`, `your-bonds-column-button`, `table-container`, `table-header-container` |
|
|
193
285
|
| Tooltips & filters | `tooltip-bubble`, `tooltip-column`, `network-filter`, `search-container` |
|
|
194
286
|
| Banners & layout | `full-bonds-view-container`, `banner-title`, `banner-subtitle`, `banner-actions`, `placeholder-monkey-wrapper`, `toggle-container` |
|
|
287
|
+
| LiFi bridge modal | `lifi-bridge-modal` |
|
|
195
288
|
|
|
196
|
-
This list isn't exhaustive
|
|
197
|
-
|
|
198
|
-
You can preview the SDK's default look (and, in the pre-v7 styling playground, generate a `theme` object — kept for reference only, no longer functional) at:
|
|
289
|
+
This list isn't exhaustive: inspect the rendered DOM for any element you want to target; most structural containers carry a plain descriptive classname for exactly this purpose.
|
|
199
290
|
|
|
200
|
-
<https://sdk.ape.bond
|
|
291
|
+
You can preview the SDK's default look at <https://sdk.ape.bond/>.
|
|
201
292
|
|
|
202
293
|
### Custom fonts
|
|
203
294
|
|
|
204
295
|
To use a custom font, download it and embed it in your project via a `<script>` or `<link>` tag in your HTML file, then set it as the default font stack for the elements you've overridden via CSS.
|
|
205
296
|
|
|
206
|
-
Bear in mind
|
|
297
|
+
Bear in mind that the components of the SDK use the width and height provided by the parent component, so we recommend wrapping ApeBond SDK components with a div of the desired size.
|
|
207
298
|
|
|
208
299
|
---
|
|
209
300
|
|
|
210
301
|
## 🦍 Built and Maintained by ApeSwap | ApeBond
|
|
211
302
|
|
|
212
|
-
For questions, issues, or contributions, reach out to [ApeBond](https://ape.bond/) or contact us on
|
|
303
|
+
For questions, issues, or contributions, reach out to [ApeBond](https://ape.bond/) or contact us on [Telegram](https://t.me/ape_bond).
|
|
213
304
|
|
|
214
305
|
---
|
|
215
306
|
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { SDKAdapter } from '../types';
|
|
2
|
+
import { evmAdapter } from '../evm';
|
|
3
|
+
import { solanaAdapter } from '../solana';
|
|
4
|
+
import { suiAdapter } from '../sui';
|
|
5
|
+
import { aptosAdapter } from '../aptos';
|
|
6
|
+
import { lifiAdapter } from '../lifi';
|
|
7
|
+
/**
|
|
8
|
+
* Every chain family plus the LiFi bridge: the v6 behaviour, for a one-line migration
|
|
9
|
+
* (`adapters={allAdapters}`). It requires every family's peer dependencies and wallet providers; partners that only
|
|
10
|
+
* show some families should import those adapters individually instead.
|
|
11
|
+
*/
|
|
12
|
+
export declare const allAdapters: SDKAdapter[];
|
|
13
|
+
export { evmAdapter, solanaAdapter, suiAdapter, aptosAdapter, lifiAdapter };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { evmAdapter } from '../evm/index.js';
|
|
2
|
+
import { solanaAdapter } from '../solana/index.js';
|
|
3
|
+
import { suiAdapter } from '../sui/index.js';
|
|
4
|
+
import { aptosAdapter } from '../aptos/index.js';
|
|
5
|
+
import { lifiAdapter } from '../lifi/index.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Every chain family plus the LiFi bridge: the v6 behaviour, for a one-line migration
|
|
9
|
+
* (`adapters={allAdapters}`). It requires every family's peer dependencies and wallet providers; partners that only
|
|
10
|
+
* show some families should import those adapters individually instead.
|
|
11
|
+
*/
|
|
12
|
+
const allAdapters = [evmAdapter, solanaAdapter, suiAdapter, aptosAdapter, lifiAdapter];
|
|
13
|
+
|
|
14
|
+
export { allAdapters, aptosAdapter, evmAdapter, lifiAdapter, solanaAdapter, suiAdapter };
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/adapters/all/index.ts"],"sourcesContent":["import type { SDKAdapter } from '../types'\nimport { evmAdapter } from '../evm'\nimport { solanaAdapter } from '../solana'\nimport { suiAdapter } from '../sui'\nimport { aptosAdapter } from '../aptos'\nimport { lifiAdapter } from '../lifi'\n\n/**\n * Every chain family plus the LiFi bridge: the v6 behaviour, for a one-line migration\n * (`adapters={allAdapters}`). It requires every family's peer dependencies and wallet providers; partners that only\n * show some families should import those adapters individually instead.\n */\nexport const allAdapters: SDKAdapter[] = [evmAdapter, solanaAdapter, suiAdapter, aptosAdapter, lifiAdapter]\n\nexport { evmAdapter, solanaAdapter, suiAdapter, aptosAdapter, lifiAdapter }\n"],"names":[],"mappings":";;;;;;AAOA;;;;AAIG;AACI,MAAM,WAAW,GAAiB,CAAC,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW;;;;"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import { ChainId } from '@ape.swap/apeswap-lists';
|
|
4
|
-
import { claimable } from '
|
|
5
|
-
import { getTimePeriods } from '
|
|
6
|
-
import useBondsData from '
|
|
7
|
-
import { usePopups } from '
|
|
8
|
-
import { useSDKConfig } from '
|
|
9
|
-
import { reportError } from '
|
|
10
|
-
import Button from '
|
|
4
|
+
import { claimable } from '../../utils/displayHelpers.js';
|
|
5
|
+
import { getTimePeriods } from '../../utils/getTimePeriods.js';
|
|
6
|
+
import useBondsData from '../../state/bonds/useBondsData.js';
|
|
7
|
+
import { usePopups } from '../../state/popups/usePopups.js';
|
|
8
|
+
import { useSDKConfig } from '../../state/useSDKConfig.js';
|
|
9
|
+
import { reportError } from '../../utils/reportError.js';
|
|
10
|
+
import Button from '../../components/uikit-sdk/Button/Button.js';
|
|
11
11
|
import { useQueryClient } from '@tanstack/react-query';
|
|
12
|
-
import useAPTAccount from '
|
|
13
|
-
import { APTOS_CLAIM_FUNCTION } from '
|
|
14
|
-
import { getAptosClient } from '
|
|
15
|
-
import { QUERY_KEYS } from '
|
|
12
|
+
import useAPTAccount from './useAPTAccount.js';
|
|
13
|
+
import { APTOS_CLAIM_FUNCTION } from '../../constants/aptosConstants.js';
|
|
14
|
+
import { getAptosClient } from './aptosHelpers.js';
|
|
15
|
+
import { QUERY_KEYS } from '../../config/constants/queryKeys.js';
|
|
16
16
|
|
|
17
17
|
// YourBondsModal action buttons for Aptos bonds. Mirrors the shape of
|
|
18
18
|
// `ActionsSolana`: one Claim button (simulation-aware) and one "Buy again"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionsAptos.js","sources":["../../../src/adapters/aptos/ActionsAptos.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { ChainId } from '@ape.swap/apeswap-lists'\n\nimport { claimable } from '../../utils/displayHelpers'\nimport { UserBill } from '../../types/yourbonds'\nimport { getTimePeriods } from '../../utils/getTimePeriods'\nimport useBondsData from '../../state/bonds/useBondsData'\nimport { usePopups } from '../../state/popups/usePopups'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport { reportError } from '../../utils/reportError'\nimport Button from '../../components/uikit-sdk/Button/Button'\n\nimport { useQueryClient } from '@tanstack/react-query'\nimport useAPTAccount from './useAPTAccount'\nimport { APTOS_CLAIM_FUNCTION } from '../../constants/aptosConstants'\nimport { getAptosClient } from './aptosHelpers'\nimport { QUERY_KEYS } from '../../config/constants/queryKeys'\n\n// YourBondsModal action buttons for Aptos bonds. Mirrors the shape of\n// `ActionsSolana`: one Claim button (simulation-aware) and one \"Buy again\"\n// button that jumps to an active bond of the same showcase token.\nconst ActionsAptos = ({ userBill }: { userBill?: UserBill }) => {\n // Hooks\n const SDKConfig = useSDKConfig()\n const queryClient = useQueryClient()\n const { address: aptosAccount, signAndSubmitTransaction } = useAPTAccount()\n const { addToastError, addToastSuccess } = usePopups()\n const { data: liveBonds } = useBondsData()\n\n // State\n const [loadingTx, setLoadingTx] = useState(false)\n\n // Static Data\n const similarLiveBond = liveBonds?.find(\n (bond) =>\n !bond?.soldOut &&\n !bond?.hide &&\n bond?.earnToken?.symbol?.toLowerCase() === userBill?.bond?.earnToken?.symbol?.toLowerCase(),\n )\n const canPurchaseAgain = !!similarLiveBond\n const vestingCliff = userBill?.bond?.vestingCliff\n const currentTime = Math.round(new Date().getTime() / 1000)\n const purchaseTimestamp = parseInt(userBill?.vestingStartTimestamp ?? '0')\n const isPendingCliff = vestingCliff ? currentTime - purchaseTimestamp < vestingCliff : false\n const cliffCountdown = getTimePeriods(purchaseTimestamp + (vestingCliff ?? 0) - currentTime, true)\n\n const handleClaim = async () => {\n if (loadingTx || !aptosAccount || !userBill) return\n\n try {\n setLoadingTx(true)\n\n const market = userBill?.bond?.contractAddress?.[userBill?.bond?.chainId ?? 0]\n if (!market) throw new Error('Missing bond market address')\n if (!userBill.id) throw new Error('Missing bill ID')\n\n // `apebond::bond::claim(market, bill_id: u64)` — the contract takes\n // the scalar bill_id, NOT the object address.\n const response = await signAndSubmitTransaction?.({\n data: {\n function: APTOS_CLAIM_FUNCTION,\n typeArguments: [],\n functionArguments: [market, userBill.id],\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\n await queryClient.invalidateQueries({ queryKey: [QUERY_KEYS.USER_BONDS] })\n addToastSuccess(response.hash, ChainId.APTOS)\n } catch (error: any) {\n console.error('Aptos claim failed:', error)\n addToastError(error?.message ?? 'Unknown error')\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error,\n account: aptosAccount ?? '',\n chainId: ChainId.APTOS,\n extraInfo: { type: 'aptosClaim', userBill, error },\n })\n } finally {\n setLoadingTx(false)\n }\n }\n\n return (\n <>\n <Button\n variant=\"secondary\"\n disabled={claimable(userBill) === 0 || loadingTx || !userBill || isPendingCliff}\n load={loadingTx}\n onClick={(event) => {\n event.stopPropagation()\n if (!loadingTx) handleClaim()\n }}\n className=\"ape:text-[14px]! ape:w-full\"\n >\n {isPendingCliff\n ? `Claimable in ${cliffCountdown.days !== 0 ? `${cliffCountdown.days} days` : cliffCountdown.hours !== 0 ? `${cliffCountdown.hours} hours` : `${cliffCountdown.minutes} mins`}`\n : 'Claim'}\n </Button>\n <Button\n className=\"ape:text-[14px]! ape:w-full\"\n onClick={() => {\n if (!canPurchaseAgain) return\n const params = `/bonds?bondAddress=${similarLiveBond.contractAddress[similarLiveBond.chainId]}&bondChain=${similarLiveBond.chainId}`\n window.location.href = `${params}`\n }}\n disabled={!canPurchaseAgain}\n >\n {canPurchaseAgain ? 'Buy again' : 'sold out'}\n </Button>\n </>\n )\n}\n\nexport default ActionsAptos\n"],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import useAPTAccount from './useAPTAccount.js';
|
|
2
|
+
import { usePublishChainAccount } from '../../state/chainAccount/useChainAccount.js';
|
|
3
|
+
|
|
4
|
+
/** Publishes the connected Aptos account (or the injected `aptosAddress`) for core code; see ChainAdapter.AccountBridge. */
|
|
5
|
+
const AptosAccountBridge = () => {
|
|
6
|
+
const { address } = useAPTAccount();
|
|
7
|
+
usePublishChainAccount('aptos', { address: address ?? null, connected: !!address });
|
|
8
|
+
return null;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export { AptosAccountBridge as default };
|
|
12
|
+
//# sourceMappingURL=AptosAccountBridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AptosAccountBridge.js","sources":["../../../src/adapters/aptos/AptosAccountBridge.tsx"],"sourcesContent":["import useAPTAccount from './useAPTAccount'\nimport { usePublishChainAccount } from '../../state/chainAccount/useChainAccount'\n\n/** Publishes the connected Aptos account (or the injected `aptosAddress`) for core code; see ChainAdapter.AccountBridge. */\nconst AptosAccountBridge = () => {\n const { address } = useAPTAccount()\n usePublishChainAccount('aptos', { address: address ?? null, connected: !!address })\n return null\n}\n\nexport default AptosAccountBridge\n"],"names":[],"mappings":";;;AAGA;AACA,MAAM,kBAAkB,GAAG,MAAK;AAC9B,IAAA,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE;AACnC,IAAA,sBAAsB,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;AACnF,IAAA,OAAO,IAAI;AACb;;;;"}
|
|
@@ -14,23 +14,23 @@ import { MCBuyComponentStyles } from '../../utils/campaignStyles.js';
|
|
|
14
14
|
import track from '../../utils/track.js';
|
|
15
15
|
import { remove0xPrefix } from '../../utils/remove0xPrefix.js';
|
|
16
16
|
import { getSymbol } from '../../utils/getNativeTicker.js';
|
|
17
|
-
import useAPTAccount from '
|
|
17
|
+
import useAPTAccount from './useAPTAccount.js';
|
|
18
18
|
import useTokenFromZapList from '../../hooks/useTokenFromZapList.js';
|
|
19
19
|
import useSortedZapList from '../../hooks/useSortedZapList.js';
|
|
20
|
-
import useAptosZapQuote from '
|
|
20
|
+
import useAptosZapQuote from './useAptosZapQuote.js';
|
|
21
21
|
import { findAptosZapToken } from '../../config/constants/aptosZapTokens.js';
|
|
22
|
-
import ConnectAptosWalletButton from '
|
|
22
|
+
import ConnectAptosWalletButton from './ConnectAptosWalletButton.js';
|
|
23
23
|
import TokenSelectorPanel from '../../components/TokenSelectorPanel/index.js';
|
|
24
|
-
import BondModalHeader from '
|
|
25
|
-
import BondCards from '
|
|
26
|
-
import Estimations from '
|
|
27
|
-
import ProjectDescription from '
|
|
24
|
+
import BondModalHeader from '../../views/BuyBond/components/BondModalHeader.js';
|
|
25
|
+
import BondCards from '../../views/BuyBond/components/BondCards/BondCards.js';
|
|
26
|
+
import Estimations from '../../views/BuyBond/components/Estimations.js';
|
|
27
|
+
import ProjectDescription from '../../views/BuyBond/components/ProjectDescription.js';
|
|
28
28
|
import Flex from '../../components/uikit-sdk/Flex/index.js';
|
|
29
29
|
import Text from '../../components/uikit-sdk/Text/index.js';
|
|
30
30
|
import Button from '../../components/uikit-sdk/Button/Button.js';
|
|
31
31
|
import SafeHTMLComponent from '../../components/SafeHTMLComponent/index.js';
|
|
32
32
|
import { APTOS_DEPOSIT_FUNCTION } from '../../constants/aptosConstants.js';
|
|
33
|
-
import { getAptosClient, readAptosMarketInfo, extractDepositEvent, extractBillMinted } from '
|
|
33
|
+
import { getAptosClient, readAptosMarketInfo, extractDepositEvent, extractBillMinted } from './aptosHelpers.js';
|
|
34
34
|
import { toFixedString, parseUnits, mulDivRound } from '../../utils/fixedPoint.js';
|
|
35
35
|
|
|
36
36
|
// (100 + slippage) / 100 as an exact integer fraction, scaled by 1e6 to preserve fractional
|