@berachain/berajs 0.1.2 → 0.2.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/dist/{BeraError-D1HS_rbb.d.cts → BeraError-_mQdkanr.d.cts} +35 -10
- package/dist/{BeraError-D1HS_rbb.d.ts → BeraError-_mQdkanr.d.ts} +35 -10
- package/dist/HoneyConfigProvider-CK6mOKFH.d.ts +390 -0
- package/dist/HoneyConfigProvider-Ca3ouozs.d.cts +390 -0
- package/dist/{RequestError-D8AE6xnI.d.cts → RequestError-A8XJ6QR9.d.cts} +1 -1
- package/dist/{RequestError-m4jxyM7D.d.ts → RequestError-Dk97z8rm.d.ts} +1 -1
- package/dist/abi/exports.cjs +2 -0
- package/dist/abi/exports.cjs.map +1 -0
- package/dist/abi/{index.d.cts → exports.d.cts} +12369 -9122
- package/dist/abi/{index.d.ts → exports.d.ts} +12369 -9122
- package/dist/abi/exports.mjs +2 -0
- package/dist/abi/exports.mjs.map +1 -0
- package/dist/actions/exports.cjs +2 -0
- package/dist/actions/exports.cjs.map +1 -0
- package/dist/actions/{index.d.cts → exports.d.cts} +80 -107
- package/dist/actions/{index.d.ts → exports.d.ts} +80 -107
- package/dist/actions/exports.mjs +2 -0
- package/dist/actions/exports.mjs.map +1 -0
- package/dist/chunk-575OK77P.mjs +2 -0
- package/dist/chunk-575OK77P.mjs.map +1 -0
- package/dist/chunk-7GWTHOLO.mjs +2 -0
- package/dist/chunk-7GWTHOLO.mjs.map +1 -0
- package/dist/chunk-7SC4VD3U.cjs +2 -0
- package/dist/chunk-7SC4VD3U.cjs.map +1 -0
- package/dist/chunk-BHNQX4XC.mjs +2 -0
- package/dist/chunk-BHNQX4XC.mjs.map +1 -0
- package/dist/chunk-BOYZVULX.cjs +2 -0
- package/dist/chunk-BOYZVULX.cjs.map +1 -0
- package/dist/chunk-C3FHGFLK.mjs +2 -0
- package/dist/chunk-C3FHGFLK.mjs.map +1 -0
- package/dist/chunk-C3G5KXCH.mjs +2 -0
- package/dist/chunk-C3G5KXCH.mjs.map +1 -0
- package/dist/chunk-CYKCYPFR.cjs +2 -0
- package/dist/chunk-CYKCYPFR.cjs.map +1 -0
- package/dist/chunk-F4BKSBEM.mjs +2 -0
- package/dist/chunk-F4BKSBEM.mjs.map +1 -0
- package/dist/chunk-FL2N3XHK.cjs +2 -0
- package/dist/chunk-FL2N3XHK.cjs.map +1 -0
- package/dist/chunk-G6NA6NSM.mjs +4 -0
- package/dist/chunk-G6NA6NSM.mjs.map +1 -0
- package/dist/chunk-H2QSRMVS.mjs +2 -0
- package/dist/chunk-H2QSRMVS.mjs.map +1 -0
- package/dist/chunk-IJM76AWK.cjs +4 -0
- package/dist/chunk-IJM76AWK.cjs.map +1 -0
- package/dist/chunk-MTS5SZLA.mjs +2 -0
- package/dist/chunk-MTS5SZLA.mjs.map +1 -0
- package/dist/chunk-MUNAP5TM.cjs +2 -0
- package/dist/chunk-MUNAP5TM.cjs.map +1 -0
- package/dist/chunk-NAXAZJJY.mjs +2 -0
- package/dist/chunk-NAXAZJJY.mjs.map +1 -0
- package/dist/chunk-OGJMSGB2.mjs +2 -0
- package/dist/chunk-OGJMSGB2.mjs.map +1 -0
- package/dist/chunk-OIYXOKTT.cjs +2 -0
- package/dist/chunk-OIYXOKTT.cjs.map +1 -0
- package/dist/chunk-OS5AJMYJ.cjs +2 -0
- package/dist/chunk-OS5AJMYJ.cjs.map +1 -0
- package/dist/chunk-Q3SCM6WL.mjs +2 -0
- package/dist/chunk-Q3SCM6WL.mjs.map +1 -0
- package/dist/chunk-SWMJQOH6.cjs +2 -0
- package/dist/chunk-SWMJQOH6.cjs.map +1 -0
- package/dist/chunk-TEBJWAVU.mjs +2 -0
- package/dist/chunk-TEBJWAVU.mjs.map +1 -0
- package/dist/chunk-TJWKS54T.mjs +2 -0
- package/dist/chunk-TJWKS54T.mjs.map +1 -0
- package/dist/chunk-UQUWMHVF.cjs +2 -0
- package/dist/chunk-UQUWMHVF.cjs.map +1 -0
- package/dist/chunk-UXUWSRVV.cjs +2 -0
- package/dist/chunk-UXUWSRVV.cjs.map +1 -0
- package/dist/chunk-VP7XUOSI.cjs +2 -0
- package/dist/chunk-VP7XUOSI.cjs.map +1 -0
- package/dist/chunk-VXL2ZZ4X.cjs +2 -0
- package/dist/chunk-VXL2ZZ4X.cjs.map +1 -0
- package/dist/chunk-WRFDB3QJ.cjs +2 -0
- package/dist/chunk-WRFDB3QJ.cjs.map +1 -0
- package/dist/chunk-WTCBORPB.cjs +2 -0
- package/dist/chunk-WTCBORPB.cjs.map +1 -0
- package/dist/chunk-XNJLSA6P.cjs +2 -0
- package/dist/chunk-XNJLSA6P.cjs.map +1 -0
- package/dist/chunk-YQGZMWDT.mjs +2 -0
- package/dist/chunk-YQGZMWDT.mjs.map +1 -0
- package/dist/chunk-YXLFOEZN.mjs +2 -0
- package/dist/chunk-YXLFOEZN.mjs.map +1 -0
- package/dist/chunk-ZAKA4TGK.cjs +2 -0
- package/dist/chunk-ZAKA4TGK.cjs.map +1 -0
- package/dist/chunk-ZQRACIGR.mjs +2 -0
- package/dist/chunk-ZQRACIGR.mjs.map +1 -0
- package/dist/contexts/exports.cjs +2 -0
- package/dist/contexts/exports.cjs.map +1 -0
- package/dist/contexts/{index.d.ts → exports.d.cts} +19 -28
- package/dist/contexts/{index.d.cts → exports.d.ts} +19 -28
- package/dist/contexts/exports.mjs +2 -0
- package/dist/contexts/exports.mjs.map +1 -0
- package/dist/contracts-CQIPk0Jc.d.cts +74 -0
- package/dist/contracts-CQIPk0Jc.d.ts +74 -0
- package/dist/{defaultFlags-V-tJs2K8.d.cts → defaultFlags-d0kPbT0i.d.cts} +1 -1
- package/dist/{defaultFlags-V-tJs2K8.d.ts → defaultFlags-d0kPbT0i.d.ts} +1 -1
- package/dist/dex-C_BB0b0O.d.cts +37 -0
- package/dist/dex-C_BB0b0O.d.ts +37 -0
- package/dist/enum/exports.cjs +2 -0
- package/dist/enum/exports.cjs.map +1 -0
- package/dist/enum/exports.d.cts +24 -0
- package/dist/enum/exports.d.ts +24 -0
- package/dist/enum/exports.mjs +2 -0
- package/dist/enum/exports.mjs.map +1 -0
- package/dist/errors/exports.cjs +2 -0
- package/dist/errors/exports.cjs.map +1 -0
- package/dist/errors/exports.d.cts +385 -0
- package/dist/errors/exports.d.ts +385 -0
- package/dist/errors/exports.mjs +2 -0
- package/dist/{getValidatorQueuedOperatorAddress-9xY2RUGe.d.cts → getValidatorQueuedOperatorAddress-BX35p2Lv.d.ts} +125 -15
- package/dist/{getValidatorQueuedOperatorAddress-Ne2zoiiV.d.ts → getValidatorQueuedOperatorAddress-It0GsdvQ.d.cts} +125 -15
- package/dist/global.d-Ba-NIojH.d.cts +474 -0
- package/dist/global.d-By70bEv2.d.ts +474 -0
- package/dist/honey-CYm0RWf4.d.cts +14 -0
- package/dist/honey-CYm0RWf4.d.ts +14 -0
- package/dist/hooks/exports.cjs +4 -0
- package/dist/hooks/exports.cjs.map +1 -0
- package/dist/hooks/{index.d.cts → exports.d.cts} +223 -173
- package/dist/hooks/{index.d.ts → exports.d.ts} +223 -173
- package/dist/hooks/exports.mjs +4 -0
- package/dist/hooks/exports.mjs.map +1 -0
- package/dist/{BexStatusProvider-nS3NcdxI.d.cts → transactionStore-BvStaXf3.d.ts} +41 -1
- package/dist/{BexStatusProvider-nS3NcdxI.d.ts → transactionStore-CQrGYSY2.d.cts} +41 -1
- package/dist/{txnEnum-BQKDfaeH.d.cts → txnEnum-BYNbCxla.d.cts} +1 -0
- package/dist/{txnEnum-BQKDfaeH.d.ts → txnEnum-BYNbCxla.d.ts} +1 -0
- package/dist/types/exports.cjs +1 -0
- package/dist/types/exports.cjs.map +1 -0
- package/dist/types/exports.d.cts +58 -0
- package/dist/types/exports.d.ts +58 -0
- package/dist/types/exports.mjs +1 -0
- package/dist/{useHoneySwapState-C-9BV4VB.d.cts → useHoneySwapState-B-vmIP1b.d.cts} +1 -1
- package/dist/{useHoneySwapState-CUY5Sm1b.d.ts → useHoneySwapState-D1DKG_Of.d.ts} +1 -1
- package/dist/utils/exports.cjs +2 -0
- package/dist/utils/exports.cjs.map +1 -0
- package/dist/utils/{index.d.cts → exports.d.cts} +83 -20
- package/dist/utils/{index.d.ts → exports.d.ts} +83 -20
- package/dist/utils/exports.mjs +2 -0
- package/dist/utils/exports.mjs.map +1 -0
- package/package.json +16 -17
- package/src/abi/{index.ts → exports.ts} +3 -0
- package/src/abi/pol/LSTStakerVault.ts +2032 -0
- package/src/abi/utils/openChainErrors.ts +71 -30
- package/src/abi/utils/thirdwebMinimalAccount.ts +616 -0
- package/src/actions/clients/BeraApolloClient.ts +8 -6
- package/src/actions/dex/__tests__/aggregators.unit.test.ts +2 -5
- package/src/actions/dex/aggregators/base.ts +74 -16
- package/src/actions/dex/aggregators/bex.ts +54 -74
- package/src/actions/dex/aggregators/bgt.ts +31 -8
- package/src/actions/dex/aggregators/{enso.ts → enso/enso.ts} +18 -14
- package/src/actions/dex/aggregators/enso/ensoErc4626.debug.test.ts +37 -0
- package/src/actions/dex/aggregators/enso/ensoErc4626.ts +176 -0
- package/src/actions/dex/aggregators/erc4626.ts +122 -0
- package/src/actions/dex/aggregators/fly.ts +59 -53
- package/src/actions/dex/aggregators/haiku.ts +52 -54
- package/src/actions/dex/aggregators/honey.ts +54 -45
- package/src/actions/dex/aggregators/kyberswap.ts +41 -39
- package/src/actions/dex/aggregators/oogabooga.ts +47 -46
- package/src/actions/dex/aggregators/openOcean.ts +51 -46
- package/src/actions/dex/aggregators/wbera.ts +54 -42
- package/src/actions/dex/b-sdk.ts +5 -2
- package/src/actions/dex/getIsTokenExploited.ts +2 -2
- package/src/actions/enso/{zap.ts → getEnsoSwapBundle.ts} +4 -5
- package/src/actions/enso/getEnsoUserTokensWithBalances.debug.test.ts +73 -0
- package/src/actions/enso/{getEnsoUserToken.ts → getEnsoUserTokensWithBalances.ts} +42 -30
- package/src/actions/enso/util.ts +1 -1
- package/src/actions/{index.ts → exports.ts} +5 -0
- package/src/actions/governance/__tests__/checkProposalField.unit.test.ts +1 -1
- package/src/actions/governance/__tests__/getQuorum.integration.test.ts +1 -1
- package/src/actions/governance/checkProposalField.ts +1 -1
- package/src/actions/governance/computeActualStatus.ts +1 -1
- package/src/actions/governance/getBodyErrors.ts +1 -1
- package/src/actions/governance/getDecodedFunctionData.ts +1 -4
- package/src/actions/governance/getProposalDetails.ts +2 -2
- package/src/actions/governance/getProposalFromTx.ts +1 -2
- package/src/actions/governance/getProposalParams.ts +7 -8
- package/src/actions/governance/getQuorum.ts +1 -2
- package/src/actions/honey/getCollateralWeights.ts +1 -1
- package/src/actions/honey/getHoneyCollaterals.ts +1 -0
- package/src/actions/honey/getHoneyVaultsBalance.ts +51 -55
- package/src/actions/honey/getSwapPayload.ts +37 -35
- package/src/actions/honey/tests/pyth.integration.test.ts +0 -1
- package/src/actions/pol/__tests__/getAllValidators.integration.test.ts +1 -1
- package/src/actions/pol/getEarnedStakedBeraVault.ts +31 -0
- package/src/actions/pol/getGlobalData.ts +14 -13
- package/src/actions/pol/getLSTStakeConfig.ts +67 -0
- package/src/actions/pol/getMarkets.ts +1 -1
- package/src/actions/pol/getRewardProofsByValidator.ts +1 -1
- package/src/actions/pol/getRewardVaultIncentives.ts +3 -5
- package/src/actions/pol/getRewardVaults.ts +2 -3
- package/src/actions/pol/getSWBeraVaultMetadata.ts +7 -5
- package/src/actions/pol/getSWBeraWithdrawal.ts +41 -27
- package/src/actions/pol/getStakeWithdrawalCooldown.ts +5 -7
- package/src/actions/pol/getStakingDailyAssets.ts +21 -0
- package/src/actions/pol/getStakingTokenInformation.ts +3 -4
- package/src/actions/pol/getTotalStakedAmount.ts +47 -0
- package/src/actions/pol/getUserClaimableIncentives.ts +1 -1
- package/src/actions/pol/getUserVaults.ts +8 -6
- package/src/actions/pol/getUserVaultsBalance.ts +4 -16
- package/src/actions/prices/getTokenCurrentPrices.ts +8 -3
- package/src/actions/tokens/getAllowances.ts +68 -41
- package/src/actions/tokens/getTokenInformation.ts +4 -1
- package/src/actions/tokens/getTokens.ts +1 -1
- package/src/actions/tokens/getUnderlyingToken.ts +53 -0
- package/src/actions/tokens/getWalletBalances.integration.test.ts +53 -14
- package/src/actions/tokens/getWalletBalances.ts +69 -43
- package/src/actions/transactions/beraWriteContract.integration.test.ts +18 -6
- package/src/actions/transactions/beraWriteContract.ts +3 -3
- package/src/actions/validators/getUserActiveValidators.ts +2 -3
- package/src/actions/validators/getUserBoostsOnValidator.ts +2 -3
- package/src/contexts/BeraFlags/defaultFlags.ts +4 -0
- package/src/contexts/SwrFallback.tsx +13 -3
- package/src/contexts/TokensProvider.tsx +35 -8
- package/src/{hooks/transactions → contexts}/TransactionStoreContext.tsx +32 -4
- package/src/contexts/block-time-provider.tsx +1 -1
- package/src/contexts/{index.ts → exports.ts} +1 -1
- package/src/data/contracts.ts +16 -1
- package/src/enum/contracts.ts +13 -0
- package/src/enum/dex.ts +29 -0
- package/src/enum/{index.ts → exports.ts} +3 -0
- package/src/enum/governance.ts +61 -0
- package/src/enum/honey.ts +12 -0
- package/src/enum/txnEnum.ts +1 -0
- package/src/errors/BeraError.ts +50 -11
- package/src/errors/BeraMonitoring.ts +66 -0
- package/src/errors/BeraTracing.ts +79 -0
- package/src/errors/BeraTracing.unit.test.ts +198 -0
- package/src/errors/RequestError.ts +2 -2
- package/src/errors/assert.ts +4 -2
- package/src/errors/assert.unit.test.ts +6 -2
- package/src/errors/errorMap.ts +16 -6
- package/src/errors/{index.ts → exports.ts} +7 -0
- package/src/errors/getErrorMessage.ts +22 -3
- package/src/errors/getRevertReason.integration.test.ts +17 -5
- package/src/errors/getRevertReason.ts +41 -2
- package/src/errors/initBeraError.ts +52 -7
- package/src/errors/parseViemError.ts +114 -27
- package/src/errors/severity.ts +12 -0
- package/src/hooks/bend/useGetConvertToAssets.ts +3 -2
- package/src/hooks/dex/useAggregatorsQuotes.ts +126 -365
- package/src/hooks/dex/useAllUserPools.ts +1 -1
- package/src/hooks/dex/useApiPool.ts +1 -1
- package/src/hooks/dex/useCreatePool.ts +6 -5
- package/src/hooks/dex/useExploitedTokens.ts +1 -1
- package/src/hooks/dex/useLiquidityMismatch.ts +2 -5
- package/src/hooks/dex/useLpPosition.ts +21 -20
- package/src/hooks/dex/useMultipleTokenApprovalsWithSlippage.ts +40 -29
- package/src/hooks/dex/usePollPoolCreationRelayerApproval.ts +1 -1
- package/src/hooks/dex/usePoolEvents.ts +1 -1
- package/src/hooks/dex/usePools.ts +1 -1
- package/src/hooks/dex/usePriceImpact.ts +40 -0
- package/src/hooks/dex/useSingleAggregatorQuote.ts +350 -0
- package/src/hooks/enso/useBendZapSupply.ts +216 -0
- package/src/hooks/enso/useEnsoSwapBundle.ts +107 -0
- package/src/hooks/enso/useEnsoUserTokensWithBalances.ts +43 -0
- package/src/hooks/enso/useZapStakeBera.ts +113 -0
- package/src/hooks/{index.ts → exports.ts} +18 -7
- package/src/hooks/governance/useCreateProposal.ts +8 -8
- package/src/hooks/governance/usePollAllProposals.ts +1 -1
- package/src/hooks/governance/usePollProposal.ts +1 -1
- package/src/hooks/governance/usePollProposalThreshold.ts +1 -1
- package/src/hooks/governance/usePollUserDelegates.ts +1 -1
- package/src/hooks/governance/useProposalState.ts +2 -2
- package/src/hooks/honey/useCappedGlobally.ts +2 -1
- package/src/hooks/honey/useCappedRelatively.ts +1 -1
- package/src/hooks/honey/useCollateralWeights.ts +2 -1
- package/src/hooks/honey/useHoneyAlerts.ts +11 -11
- package/src/hooks/honey/useHoneyBalances.ts +7 -3
- package/src/hooks/honey/useHoneyGlobalData.ts +2 -1
- package/src/hooks/honey/useHoneySwapState.ts +2 -1
- package/src/hooks/honey/useHoneyVaultsBalance.ts +1 -1
- package/src/hooks/honey/useIsBadCollateralAsset.ts +2 -1
- package/src/hooks/honey/useIsBasketModeEnabled.ts +1 -1
- package/src/hooks/honey/usePythLatestPrices.ts +1 -1
- package/src/hooks/pol/useOnChainRewardVault.ts +3 -2
- package/src/hooks/pol/usePollGlobalData.ts +1 -1
- package/src/hooks/pol/usePollMarkets.ts +1 -1
- package/src/hooks/pol/useQueuedBeraUnlock.ts +17 -15
- package/src/hooks/pol/useRewardTokenToBeraRate.ts +6 -3
- package/src/hooks/pol/useRewardVault.ts +1 -1
- package/src/hooks/pol/useRewardVaults.ts +1 -1
- package/src/hooks/pol/useSWBeraVaultMetadata.ts +35 -0
- package/src/hooks/pol/useStakedAPR.ts +38 -0
- package/src/hooks/pol/useStakedData.ts +117 -0
- package/src/hooks/pol/useStakedSnapshots.ts +52 -0
- package/src/hooks/pol/useTotalStakedAmount.ts +30 -0
- package/src/hooks/pol/useUserVaultInfo.ts +1 -1
- package/src/hooks/pol/useVaultValidators.ts +1 -1
- package/src/hooks/tokens/useMultipleTokenInformation.ts +15 -6
- package/src/hooks/tokens/usePollAllowances.ts +15 -19
- package/src/hooks/tokens/usePollBalance.ts +8 -4
- package/src/hooks/tokens/usePollWalletBalances.ts +14 -11
- package/src/hooks/tokens/useStakingTokenInformation.ts +2 -1
- package/src/hooks/tokens/useTokenCurrentPrice.ts +4 -2
- package/src/hooks/tokens/useTokenCurrentPrices.ts +92 -13
- package/src/hooks/tokens/useTokenInformation.ts +11 -6
- package/src/hooks/tokens/useTokenPrice.ts +21 -0
- package/src/hooks/tokens/useTokenPrices.ts +133 -0
- package/src/hooks/tokens/useTokens.ts +1 -0
- package/src/hooks/tokens/useUnderlyingAsset.ts +23 -0
- package/src/hooks/transactions/transactionStore.ts +86 -65
- package/src/hooks/transactions/transactionStore.unit.test.ts +54 -1
- package/src/hooks/transactions/useAddRecentTransaction.ts +1 -1
- package/src/hooks/transactions/useRecentTransactions.ts +1 -1
- package/src/hooks/transactions/useSetTransactionStatus.ts +31 -0
- package/src/hooks/useContractWrite/useBeraContractWrite.ts +2 -1
- package/src/hooks/validators/useAllValidators.ts +1 -1
- package/src/hooks/validators/useApiValidator.ts +1 -1
- package/src/hooks/validators/useDailyValidatorBlockStats.ts +1 -1
- package/src/hooks/validators/useManagedValidatorByAccount.ts +1 -1
- package/src/hooks/validators/useManagedValidatorRole.ts +1 -1
- package/src/hooks/validators/useOnChainValidator.ts +1 -1
- package/src/hooks/validators/useStakingPoolBatch.ts +1 -1
- package/src/hooks/validators/useUserActiveValidators.ts +1 -1
- package/src/hooks/validators/useUserBoostsOnValidator.ts +1 -1
- package/src/hooks/validators/useUserClaimableIncentives.ts +8 -8
- package/src/hooks/validators/useValidator.ts +1 -1
- package/src/hooks/validators/useValidatorAnalytics.ts +1 -1
- package/src/hooks/validators/useValidatorCommission.ts +1 -1
- package/src/hooks/validators/useValidatorQueuedCommission.ts +1 -1
- package/src/hooks/validators/useValidatorQueuedOperatorAddress.ts +1 -1
- package/src/hooks/validators/useValidatorQueuedRewardAllocation.ts +1 -1
- package/src/hooks/validators/useValidatorRewardAllocation.ts +1 -1
- package/src/types/{dex.ts → dex.d.ts} +96 -67
- package/src/types/{enso.ts → enso.d.ts} +1 -1
- package/src/types/exports.ts +8 -0
- package/src/types/{global.ts → global.d.ts} +1 -30
- package/src/types/{governance.ts → governance.d.ts} +2 -64
- package/src/types/{honeySwap.ts → honeySwap.d.ts} +1 -13
- package/src/types/{pol.ts → pol.d.ts} +12 -1
- package/src/types/staking.d.ts +22 -0
- package/src/utils/createEmitter.ts +122 -0
- package/src/utils/createEmitter.unit.test.ts +149 -0
- package/src/utils/{index.ts → exports.ts} +3 -2
- package/src/utils/filter.ts +34 -0
- package/src/utils/formatNumber.ts +1 -1
- package/src/utils/formatNumber.unit.test.ts +2 -1
- package/src/utils/formatTokenList.ts +4 -10
- package/src/utils/getHoneySwapMessage.test.ts +1 -2
- package/src/utils/getServerSideClient.ts +4 -5
- package/src/utils/isDifferenceExceedingThreshold.ts +1 -1
- package/src/utils/layerZeroScan.ts +122 -0
- package/src/utils/math.ts +1 -1
- package/src/utils/parseWhiskToken.ts +15 -0
- package/src/utils/poolNamings.ts +1 -1
- package/src/utils/tokens.ts +23 -7
- package/dist/HoneyConfigProvider-6PXZJMSU.d.cts +0 -562
- package/dist/HoneyConfigProvider-CwDFrt02.d.ts +0 -562
- package/dist/abi/index.cjs +0 -2
- package/dist/abi/index.cjs.map +0 -1
- package/dist/abi/index.mjs +0 -2
- package/dist/actions/index.cjs +0 -2
- package/dist/actions/index.cjs.map +0 -1
- package/dist/actions/index.mjs +0 -2
- package/dist/aggregatorsRouter-Cny4B_MB.d.cts +0 -593
- package/dist/aggregatorsRouter-Cny4B_MB.d.ts +0 -593
- package/dist/chunk-22MQVFHP.cjs +0 -2
- package/dist/chunk-22MQVFHP.cjs.map +0 -1
- package/dist/chunk-3TKSVFZ3.mjs +0 -2
- package/dist/chunk-3TKSVFZ3.mjs.map +0 -1
- package/dist/chunk-6VF3RF53.cjs +0 -3
- package/dist/chunk-6VF3RF53.cjs.map +0 -1
- package/dist/chunk-6W22TFYA.mjs +0 -2
- package/dist/chunk-6W22TFYA.mjs.map +0 -1
- package/dist/chunk-AMRJ4B36.mjs +0 -2
- package/dist/chunk-AMRJ4B36.mjs.map +0 -1
- package/dist/chunk-DS2ZDVKU.mjs +0 -2
- package/dist/chunk-DS2ZDVKU.mjs.map +0 -1
- package/dist/chunk-ED43NYSE.cjs +0 -2
- package/dist/chunk-ED43NYSE.cjs.map +0 -1
- package/dist/chunk-EU4WFADK.cjs +0 -2
- package/dist/chunk-EU4WFADK.cjs.map +0 -1
- package/dist/chunk-HCTFDGXL.mjs +0 -2
- package/dist/chunk-HCTFDGXL.mjs.map +0 -1
- package/dist/chunk-IOSYBHKU.mjs +0 -2
- package/dist/chunk-IOSYBHKU.mjs.map +0 -1
- package/dist/chunk-JMKLDDKY.cjs +0 -2
- package/dist/chunk-JMKLDDKY.cjs.map +0 -1
- package/dist/chunk-KMKUXP2S.mjs +0 -3
- package/dist/chunk-KMKUXP2S.mjs.map +0 -1
- package/dist/chunk-OJXJ6CZ4.mjs +0 -4
- package/dist/chunk-OJXJ6CZ4.mjs.map +0 -1
- package/dist/chunk-PHIOKO3A.mjs +0 -2
- package/dist/chunk-PHIOKO3A.mjs.map +0 -1
- package/dist/chunk-QCK474XD.cjs +0 -2
- package/dist/chunk-QCK474XD.cjs.map +0 -1
- package/dist/chunk-REDXXUK7.cjs +0 -2
- package/dist/chunk-REDXXUK7.cjs.map +0 -1
- package/dist/chunk-S74ZMG2G.cjs +0 -2
- package/dist/chunk-S74ZMG2G.cjs.map +0 -1
- package/dist/chunk-TOAXF4YW.cjs +0 -2
- package/dist/chunk-TOAXF4YW.cjs.map +0 -1
- package/dist/chunk-UZ5CB33M.cjs +0 -2
- package/dist/chunk-UZ5CB33M.cjs.map +0 -1
- package/dist/chunk-VYWYJR63.mjs +0 -2
- package/dist/chunk-VYWYJR63.mjs.map +0 -1
- package/dist/chunk-XFPTQMAK.cjs +0 -4
- package/dist/chunk-XFPTQMAK.cjs.map +0 -1
- package/dist/chunk-YK4NINF5.mjs +0 -2
- package/dist/chunk-YK4NINF5.mjs.map +0 -1
- package/dist/contexts/index.cjs +0 -2
- package/dist/contexts/index.cjs.map +0 -1
- package/dist/contexts/index.mjs +0 -2
- package/dist/contexts/index.mjs.map +0 -1
- package/dist/enum/index.cjs +0 -2
- package/dist/enum/index.cjs.map +0 -1
- package/dist/enum/index.d.cts +0 -31
- package/dist/enum/index.d.ts +0 -31
- package/dist/enum/index.mjs +0 -2
- package/dist/enum/index.mjs.map +0 -1
- package/dist/errors/index.cjs +0 -2
- package/dist/errors/index.cjs.map +0 -1
- package/dist/errors/index.d.cts +0 -204
- package/dist/errors/index.d.ts +0 -204
- package/dist/errors/index.mjs +0 -2
- package/dist/errors/index.mjs.map +0 -1
- package/dist/hooks/index.cjs +0 -4
- package/dist/hooks/index.cjs.map +0 -1
- package/dist/hooks/index.mjs +0 -4
- package/dist/hooks/index.mjs.map +0 -1
- package/dist/staking-F9Nx9TKD.d.ts +0 -246
- package/dist/staking-f4BpYH7l.d.cts +0 -246
- package/dist/types/index.cjs +0 -2
- package/dist/types/index.cjs.map +0 -1
- package/dist/types/index.d.cts +0 -56
- package/dist/types/index.d.ts +0 -56
- package/dist/types/index.mjs +0 -2
- package/dist/types/index.mjs.map +0 -1
- package/dist/utils/index.cjs +0 -2
- package/dist/utils/index.cjs.map +0 -1
- package/dist/utils/index.mjs +0 -2
- package/dist/utils/index.mjs.map +0 -1
- package/src/actions/dex/getTransactionCount.ts +0 -29
- package/src/actions/enso/bend.ts +0 -143
- package/src/actions/enso/getEnsoUserToken.debug.test.ts +0 -57
- package/src/contexts/berajsProvider/context.tsx +0 -49
- package/src/contexts/berajsProvider/index.ts +0 -2
- package/src/contexts/berajsProvider/useBeraJs.ts +0 -18
- package/src/hooks/dex/usePollVaultIsPaused.ts +0 -30
- package/src/hooks/enso/useBendTransactionRequests.ts +0 -247
- package/src/hooks/enso/useEnsoZap.ts +0 -166
- package/src/hooks/enso/useZapTransactionRequests.ts +0 -81
- package/src/hooks/pol/useEarnedStakedBeraVault.ts +0 -59
- package/src/hooks/pol/useStakedBeraSnapshots.ts +0 -27
- package/src/hooks/validators/validatorRoleManager.ts +0 -0
- package/src/types/index.ts +0 -8
- package/src/types/staking.ts +0 -7
- package/src/utils/formatAggregatorsQuotes.ts +0 -57
- package/src/utils/formatAggregatorsQuotes.unit.test.ts +0 -191
- package/src/utils/sentryBeforeSend.ts +0 -52
- /package/dist/{abi/index.mjs.map → errors/exports.mjs.map} +0 -0
- /package/dist/{actions/index.mjs.map → types/exports.mjs.map} +0 -0
- /package/src/actions/dex/{__tests__ → aggregators}/haiku.integration.test.ts +0 -0
- /package/src/types/{bribe-boost.ts → bribe-boost.d.ts} +0 -0
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{a as D,b as We,c as pe,d as Me}from"../chunk-TEBJWAVU.mjs";import{$ as mr,Aa as Lr,B as Kt,Ba as Ur,C as qt,Ca as Nr,D as $t,Da as Hr,Ea as Vr,F as zt,Fa as Wr,G as ye,Ga as Mr,H as Zt,Ha as _r,I as Ye,Ia as Qr,J as Jt,K as Xt,L as Ae,M as tr,O as rr,P as or,Q as sr,R as ar,S as nr,U as ir,V as lr,W as Re,X as ur,Y as we,Z as ke,_ as pr,a as vt,ba as dr,c as Z,ca as cr,da as fr,e as I,ea as gr,f as Dt,fa as yr,g as ge,ga as Ar,h as Ot,ha as br,i as Lt,ia as hr,ja as Rr,k as Ut,ka as Pe,l as Nt,la as wr,m as Ht,n as Vt,na as Pr,o as L,oa as Cr,pa as Tr,qa as Ir,r as Wt,ra as Sr,s as Mt,sa as Er,t as _t,ua as xr,v as Qt,w as Yt,wa as vr,x as Gt,xa as Br,y as Ft,ya as Dr,z as q,za as Or}from"../chunk-G6NA6NSM.mjs";import{b as ie,c as _,h as St,i as F,j as Q,k as me,l as Et,m as xt}from"../chunk-Q3SCM6WL.mjs";import{c as U,e as Ge,g as J,l as v,m as Yr,o as vm,p as Bm,q as Dm,r as Om,s as Lm,u as X}from"../chunk-BHNQX4XC.mjs";import{a as de,c as j}from"../chunk-ZQRACIGR.mjs";import"../chunk-NAXAZJJY.mjs";import"../chunk-YXLFOEZN.mjs";import"../chunk-OGJMSGB2.mjs";import"../chunk-575OK77P.mjs";import{c as kr}from"../chunk-7GWTHOLO.mjs";import{a as Bt,b as K,c as g,d as Y,e as _e,f as he}from"../chunk-MTS5SZLA.mjs";import{b as Ce,c as Gr}from"../chunk-H2QSRMVS.mjs";import{c as ce,i as Qe,j as jt,k as er,l as be}from"../chunk-TJWKS54T.mjs";import"../chunk-C3FHGFLK.mjs";import{a as k,b as O,d as fe,e as h}from"../chunk-YQGZMWDT.mjs";import{e as x,f as z,g as E}from"../chunk-C3G5KXCH.mjs";import ys from"swr";import{usePublicClient as As}from"@berachain/wagmi/hooks";var Fr=({sharesAmount:e,vaultAddress:t,vaultChainId:r},o)=>{let s=As({chainId:r}),a=ys(s&&e&&t?["useGetConvertToAssets",e,t,r]:null,async([i,n,l])=>(g(s),vt({sharesAmount:n,vaultAddress:l,publicClient:s})),{...o?.opts});return{...a,refresh:()=>{a.mutate()}}};import{useMemo as ta}from"react";import{zeroAddress as ra}from"viem";import{defaultChainId as oa}from"@berachain/config/internal";import{useBeraWallet as sa,usePublicClient as aa}from"@berachain/wagmi/hooks";import{Slippage as bs,Swap as hs,SwapKind as Rs,Token as Kr,TokenAmount as ws}from"@berachain-foundation/berancer-sdk";import{decodeFunctionData as ks,formatEther as qr,zeroAddress as Ps}from"viem";import{getUriFromLink as Cs}from"@berachain/config";import{ChainId as $r}from"@berachain/config/internal";var Ts=300,Is=.05,Fe=Rs.GivenIn,Ke=class extends I{name="Hub Pools";supportedChains=[$r.MAINNET,$r.BEPOLIA];url=Cs(this.config.api);type="graphql";convertZeroToWrapped(t){return h(t,"BERA")?this.config.tokens.wbera:t}calculatePriceImpact(t){return t.error?(console.error("Swap price impact error",t),0):Number(t.priceImpact)}checkStalePrices({onChainAmount:t,sorPaths:r,sorAmount:o,queryData:s}){let a=Number.parseFloat(qr(t.scale18))/Number.parseFloat(o);if(Math.abs(1-a)>Is){console.warn("SOR returned stale prices. Delta from return amount is more than 5%",{deltaFromSorAmount:a});let i=new x({reason:"SOR_STALE_PRICES",level:"warning",message:"SOR returned stale prices. Delta from return amount is more than 5%",extra:{deltaFromSorAmount:a,pools:r.map(n=>n.pools),onChainAmount:qr(t.scale18),sorAmount:o,queryData:s},fingerprint:["SOR_STALE_PRICES"]});he.captureException(i)}}async getQuote(t){let r=new Dt(this.url,this.chainId),{tokenIn:o,tokenOut:s,amount:a,slippage:i,account:n=Ps,publicClient:l}=t;this.assertChainSupport({tokenIn:o,tokenOut:s}),g(l);let u=h(o,"BERA")||h(s,"BERA"),m=new Kr(this.chainId,this.convertZeroToWrapped(o.address),o.decimals),p=new Kr(this.chainId,this.convertZeroToWrapped(s.address),s.decimals),c=ws.fromRawAmount(m,a),{paths:d,priceImpact:f,returnAmount:y}=await r.sorSwapPaths.fetchSorSwapPaths({chainId:this.chainId,tokenIn:m.address,tokenOut:p.address,swapKind:Fe,swapAmount:c});if(!d?.length)throw new z({response:void 0,endpoint:{url:this.url,name:this.name,type:this.type},reason:I.PATH_NOT_FOUND_REASON,chainId:this.chainId,payload:{tokenIn:m.address,tokenOut:p.address,swapKind:Fe,swapAmount:c},message:"No swap paths returned from Balancer API"});let A=new hs({chainId:this.chainId,paths:d,swapKind:Fe,userData:"0x"}),R=await A.query(l.transport.url);if(!("expectedAmountOut"in R))throw new Error("No Bex paths found");return this.checkStalePrices({onChainAmount:R.expectedAmountOut,sorPaths:d,sorAmount:y,queryData:t}),{amountOut:R.expectedAmountOut.amount.toString(),amountIn:a,allowanceRequirements:this.parseAllowanceRequirements({tokenIn:o,rawAmount:a,spender:R.to}),name:this.name,priceImpactPercentage:this.calculatePriceImpact(f),swapFeeBps:0,getCalldata:({account:w})=>{let b=A.buildCall({slippage:bs.fromPercentage(i.toString()),deadline:BigInt(Math.round(Date.now()/1e3)+Ts),queryOutput:R,sender:w,recipient:w,wethIsEth:u}),{args:C,functionName:P}=ks({abi:ie,data:b.callData});return{params:C,functionName:P,abi:ie,address:b.to,value:b.value||BigInt(0)}}}}},qe=new Ke;import{ChainId as zr}from"@berachain/config/internal";var $e=class extends I{name="RedeemBgt";supportedChains=[zr.MAINNET,zr.BEPOLIA];type="rpc";checkChainSupport({tokenIn:t,tokenOut:r}){return super.checkChainSupport({tokenIn:t,tokenOut:r})?t.chainId===r.chainId&&h(t,"BGT",{chainId:t.chainId})&&h(r,"BERA"):!1}async getQuote({tokenIn:t,amount:r}){if(this.assertChainSupport({tokenIn:t,tokenOut:{...O,chainId:t.chainId}}),!h(t,"BGT",{config:this.config}))throw new E({property:"tokenIn",value:t,expected:"BGT",level:"warning"});return{amountOut:r,amountIn:r,allowanceRequirements:[],name:"RedeemBgt",isNativeSwap:!0,swapFeeBps:0}}},Zr=new $e;import{zeroAddress as jr}from"viem";import{ChainId as Jr}from"@berachain/config/internal";var ze=class extends I{name="Enso";supportedChains=[Jr.MAINNET];type="rest";needsAccountForQuote=!0;notFoundMessages=["Could not build shortcuts for route","Could not quote shortcuts for route","Swap not found for a required underlying of defi route,","No route found from"];async getQuote({tokenIn:t,tokenOut:r,amount:o,slippage:s,account:a=jr,aggregatorsFeeBps:i,proxyAggregatorsThroughVercel:n=!1,rewardVault:l}){this.assertChainSupport({tokenIn:t,tokenOut:r});let{tokenInAddress:u,tokenOutAddress:m,isTokenInNative:p,isTokenOutNative:c}=this.parseAddresses(t.address,r.address),d=this.getAmountAfterFees(o,i);this.url=n?"/api/aggregators?aggregator=enso":`${this.config.bex.aggregatorsProxyUrl}/enso/api/v1/shortcuts/route?`;let f=new URL(this.url);f.searchParams.set("fromAddress",this.config.bex.aggregatorsRouterExecutor),f.searchParams.set("receiver",this.config.bex.aggregatorsRouterExecutor),f.searchParams.set("spender",this.config.bex.aggregatorsRouterExecutor),f.searchParams.set("amountIn",d),f.searchParams.set("tokenIn",u),f.searchParams.set("tokenOut",m),f.searchParams.set("chainId",Jr.MAINNET.toString()),f.searchParams.set("slippage",(Number(s)*100).toString()),f.searchParams.set("refundReceiver",a);let A=await(await this.fetch(f)).json(),R=this.getInputData({tokenIn:u,amountIn:o,isNative:p}),w={tokenOut:m,receiver:a,minAmountOut:this.getMinAmountOut(A.amountOut.toString(),s),isNative:c},b={aggregator:A.tx?.to,data:A.tx?.data};return{amountOut:A.amountOut.toString(),amountIn:o,allowanceRequirements:this.parseAllowanceRequirements({tokenIn:t,rawAmount:o,spender:this.config.bex.aggregatorsRouter}),name:this.name,swapFeeBps:i,getCalldata:()=>({params:[R,w,b,{rewardVault:l??jr,isSwapAndStake:!!l}],functionName:"swap",abi:D,value:BigInt(p?o:"0"),address:this.config.bex.aggregatorsRouter})}}},Ze=new ze;import{erc4626Abi as Xr,formatUnits as Ss}from"viem";var je=class extends I{name="Mint";supportedChains=null;type="rpc";checkChainSupport({tokenIn:t,tokenOut:r,underlyingToken:o}){return super.checkChainSupport({tokenIn:t,tokenOut:r,underlyingToken:o})&&!!o&&o?.chainId===r.chainId&&(h(o,t)||h(t,"BERA")&&h(r,"SWBERA"))}async getQuote({tokenIn:t,tokenOut:r,amount:o,underlyingToken:s,publicClient:a}){this.assertChainSupport({tokenIn:t,tokenOut:r,underlyingToken:s}),K(s,"underlyingToken"),g(a);let i=await a.readContract({address:r.address,abi:Xr,functionName:"convertToShares",args:[BigInt(o)]}),n=h(r,"SWBERA")&&h(t,"BERA");return{amountOut:i.toString(),amountIn:o,allowanceRequirements:n?[]:[{token:t,spender:r.address,amount:{raw:o,formatted:Ss(BigInt(o),t.decimals)}}],name:"Mint",isNativeSwap:!1,swapFeeBps:0,getCalldata:({account:l})=>n?{abi:xt,address:r.address,functionName:"depositNative",params:[BigInt(o),l],value:BigInt(o)}:{abi:Xr,address:r.address,functionName:"deposit",contractName:"others.erc4626",params:[BigInt(o),l],value:0n}}}},Je=new je;import{zeroAddress as Es}from"viem";import{ChainId as xs}from"@berachain/config/internal";var eo="https://api.fly.trade/aggregator",Xe=class extends I{name="Fly";supportedChains=[xs.MAINNET];type="rest";notFoundMessages=["Couldn't recognize to token","Couldn't recognize from token","There is not enough liquidity. Amount is too high.","Routes were not found"];async getQuote({tokenIn:t,tokenOut:r,amount:o,slippage:s,account:a,aggregatorsFeeBps:i,rewardVault:n}){this.assertChainSupport({tokenIn:t,tokenOut:r});let{tokenInAddress:l,tokenOutAddress:u,isTokenInNative:m,isTokenOutNative:p}=this.parseAddresses(t.address,r.address),c=this.getAmountAfterFees(o,i),d=new URL(`${eo}/quote`);this.url=d.toString();let f=new URLSearchParams({fromTokenAddress:l,toTokenAddress:u,sellAmount:c,slippage:(s/100).toString(),gasless:"false",network:"berachain"});f.set("fromAddress",this.config.bex.aggregatorsRouterExecutor),f.set("toAddress",this.config.bex.aggregatorsRouterExecutor),d.search=f.toString();let A=await(await this.fetch(d)).json(),R={amountOut:A.amountOut,amountIn:o,allowanceRequirements:this.parseAllowanceRequirements({tokenIn:t,rawAmount:o,spender:this.config.bex.aggregatorsRouter}),name:this.name,swapFeeBps:i??0},w=new URL(`${eo}/transaction`);this.url=w.toString();let b=new URLSearchParams({quoteId:A.id,estimateGas:"false"});w.search=b.toString();let P=await(await this.fetch(w)).json();return{...R,getCalldata:({account:T})=>{let S=this.getInputData({tokenIn:l,amountIn:o,isNative:m}),B={tokenOut:u,receiver:T,minAmountOut:this.getMinAmountOut(A.amountOut,s),isNative:p},H={aggregator:P?.to,data:P?.data};return{params:[S,B,H,{rewardVault:n??Es,isSwapAndStake:!!n}],functionName:"swap",abi:D,value:h(t,"BERA")?BigInt(o):BigInt("0"),address:this.config.bex.aggregatorsRouter}}}}},et=new Xe;import{formatUnits as vs,parseUnits as Bs,zeroAddress as Ds}from"viem";import{ChainId as Os}from"@berachain/config/internal";var tt=class extends I{name="Haiku";supportedChains=[Os.MAINNET];type="rest";notFoundMessages=["token not found","Token is not supported","No route found for the given input or the liquidity is not enough","Invalid input amount. Please ensure the total amount of input is greater than 0.001 USD"];async getQuote({tokenIn:t,tokenOut:r,amount:o,slippage:s,aggregatorsFeeBps:a,proxyAggregatorsThroughVercel:i=!1,referrer:n,rewardVault:l}){if(t.decimals===void 0||r.decimals===void 0)throw new x({message:"Missing required params",level:"error"});this.assertChainSupport({tokenIn:t,tokenOut:r});let{tokenInAddress:u,tokenOutAddress:m,isTokenInNative:p,isTokenOutNative:c}=this.parseAddresses(t.address,r.address),d=this.getAmountAfterFees(o,a),f={intent:{allowancesMode:"approve",slippage:s/100,receiver:this.config.bex.aggregatorsRouterExecutor,input_positions:{[`bera:${u}`]:vs(BigInt(d),t.decimals)},target_weights:{[`bera:${m}`]:1}}},y=n==="ZAP"?"zap-haiku":"haiku";this.url=i?"/api/aggregators?aggregator=haikuQuote":`${this.config.bex.aggregatorsProxyUrl}/${y}/v1/quoteIntent`;let R=await(await this.fetch(this.url,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(f)})).json(),w={amountOut:Bs(R.balances[0].amount,r.decimals).toString(),amountIn:o,allowanceRequirements:this.parseAllowanceRequirements({tokenIn:t,rawAmount:d,spender:this.config.bex.aggregatorsRouter}),name:this.name,swapFeeBps:a};this.url=i?"/api/aggregators?aggregator=haikuSolve":`${this.config.bex.aggregatorsProxyUrl}/${y}/v1/solveIntent`;let C=await(await this.fetch(this.url,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({quoteId:R.quoteId})})).json();return{...w,getCalldata:({account:P})=>{let T=this.getInputData({tokenIn:u,amountIn:o,isNative:p,isPermit2Approval:!0,permit2SpenderAddress:this.config.bex.haikuAgentAddress}),S={tokenOut:m,receiver:P,minAmountOut:this.getMinAmountOut(w.amountOut,s),isNative:c},B={aggregator:C.to,data:C.data};return{params:[T,S,B,{rewardVault:l??Ds,isSwapAndStake:!!l}],functionName:"swap",abi:D,value:BigInt(p?o:"0"),address:this.config.bex.aggregatorsRouter}}}}},rt=new tt;import{formatUnits as to}from"viem";import{ChainId as Ls}from"@berachain/config/internal";import Us from"@berachain/utils/pkg/bignumber.js";function Ns(e){return e?"previewMintHoney":"previewRedeemCollaterals"}var ot=class extends I{name="Honey";supportedChains=[Ls.MAINNET];type="rpc";honeyToken=fe(this);isHoneyNativeSwap({tokenIn:t,tokenOut:r,honeyNativeState:o,...s}){if(!o?.collateralList)return!1;let a=h(r,"HONEY",s),i=h(t,"HONEY",s);return!a&&!i?!1:o.collateralList.some(n=>h(n.address,a?t:r))}checkChainSupport({tokenIn:t,tokenOut:r,honeyNativeState:o}){return super.checkChainSupport({tokenIn:t,tokenOut:r})&&t.chainId===r.chainId&&this.isHoneyNativeSwap({tokenIn:t.address,tokenOut:r.address,honeyNativeState:o})}async getQuote({tokenIn:t,tokenOut:r,amount:o,publicClient:s,account:a,honeyNativeState:i}){let{collateralList:n}=i??{};if(!n)throw new E({message:"Invalid Honey Context state",property:"collaterals",value:n,expected:"TokenWithOrder[]"});g(s),this.assertChainSupport({tokenIn:t,tokenOut:r});let l=h(r,this.honeyToken),u=n,m=n.find(T=>h(T.address,l?t.address:r.address));if(!m)throw new x({message:"This collateral is not part of the Honey protocol"});let[p,c]=await Promise.all([ye({client:s,collateralList:[m]}),Ae({client:s,isMint:l,collateralList:n,latestPrices:void 0,isPythWrapperEnabled:!1})]);if(!p)throw new x({message:"Failed to fetch the Honey vault balances"});if(c)return;let d=p[0],f=m.order;u.length>1&&f!==0&&(u.splice(f,1),u.unshift(m));let y=to(BigInt(o),l?m.decimals:this.honeyToken.decimals),A={client:s,collateral:m,collateralList:n,amount:y,method:Ns(l),latestPrices:void 0,isPythWrapperEnabled:!1},R=await zt(A);if(!R)throw new x({message:"Failed to fetch the Honey preview"});let{honey:w,collaterals:b}=R;if(!(l?!0:new Us(d?.balance.formatted??"0").gte(to(b[m.address],m.decimals))))return;let P=await Xt({state:{actionType:l?"mint":"redeem",fromAmount:[y],collaterals:u,isBasketModeEnabled:!1},collateralList:u,publicClient:s,priceFeedMap:void 0,isPythWrapperEnabled:!1});if(!P&&a)throw new x({message:"Failed to fetch the Honey swap payload"});return{amountIn:o,amountOut:l?w.toString():b[m.address].toString(),allowanceRequirements:this.parseAllowanceRequirements({tokenIn:t,rawAmount:o,spender:this.config.bex.aggregatorsRouter}),name:"Honey",swapFeeBps:0,getCalldata:({account:T})=>P({account:T})}}},st=new ot;import{zeroAddress as ro}from"viem";import{ChainId as Hs}from"@berachain/config/internal";var at=class extends I{name="KyberSwap";supportedChains=[Hs.MAINNET];type="rest";notFoundMessages=["token not found","route not found","amountIn is greater than max allowed"];async getQuote({tokenIn:t,tokenOut:r,amount:o,slippage:s,account:a=ro,aggregatorsFeeBps:i,proxyAggregatorsThroughVercel:n=!1,rewardVault:l}){this.assertChainSupport({tokenIn:t,tokenOut:r});let{isTokenInNative:u,isTokenOutNative:m,tokenInAddress:p,tokenOutAddress:c}=this.parseAddresses(t.address,r.address),d=this.getAmountAfterFees(o,i);this.url=n?"/api/aggregators?aggregator=kyberswapRoutes":`${this.config.bex.aggregatorsProxyUrl}/kyberswap/berachain/api/v1/routes`;let f=new URL(this.url);f.searchParams.set("tokenIn",p),f.searchParams.set("tokenOut",c),f.searchParams.set("amountIn",d),f.searchParams.set("slippageTolerance",(s/100).toString()),f.searchParams.set("to",this.config.bex.aggregatorsRouterExecutor),f.searchParams.set("clientData",JSON.stringify({source:"berachain"}));let A=await(await this.fetch(f)).json(),R={amountOut:A.data.routeSummary.amountOut,amountIn:o,name:this.name,swapFeeBps:i,allowanceRequirements:this.parseAllowanceRequirements({tokenIn:t,rawAmount:o,spender:this.config.bex.aggregatorsRouter})},w={routeSummary:A.data.routeSummary,sender:this.config.bex.aggregatorsRouterExecutor,recipient:this.config.bex.aggregatorsRouterExecutor,slippageTolerance:s*100,deadline:Math.floor(Date.now()/1e3)+300,source:"berachain"},b=f.searchParams.entries(),C=new URL(n?"/api/aggregators?aggregator=kyberswapBuild":`${this.config.bex.aggregatorsProxyUrl}/kyberswap/berachain/api/v1/route/build`);for(let[B,H]of b)C.searchParams.set(B,H);let T=await(await this.fetch(C,{method:"POST",body:JSON.stringify(w)})).json(),S=this.getInputData({tokenIn:p,amountIn:o,isNative:u});return{...R,getCalldata:({account:B})=>{let H={tokenOut:c,receiver:B,minAmountOut:this.getMinAmountOut(R.amountOut,s),isNative:m},G={aggregator:T.data.routerAddress,data:T.data.data};return{params:[S,H,G,{rewardVault:l??ro,isSwapAndStake:!!l}],functionName:"swap",abi:D,value:BigInt(u?o:"0"),address:this.config.bex.aggregatorsRouter}}}}},nt=new at;import{zeroAddress as Vs}from"viem";import{ChainId as Ws}from"@berachain/config/internal";var it=class extends I{name="Oogabooga";supportedChains=[Ws.MAINNET];type="rest";async getQuote({tokenIn:t,tokenOut:r,amount:o,slippage:s,aggregatorsFeeBps:a,proxyAggregatorsThroughVercel:i=!1,rewardVault:n}){this.assertChainSupport({tokenIn:t,tokenOut:r});let{tokenInAddress:l,tokenOutAddress:u,isTokenInNative:m,isTokenOutNative:p}=this.parseAddresses(t.address,r.address),c=this.getAmountAfterFees(o,a),d=new URLSearchParams({tokenIn:l,tokenOut:u,amount:c,slippage:(s/100).toString(),to:this.config.bex.aggregatorsRouterExecutor,referrer:this.config.bex.aggregatorsRouter});this.url=i?`/api/aggregators?aggregator=oogabooga&${d.toString()}`:`${this.config.bex.aggregatorsProxyUrl}/oogabooga/v1/swap?${d.toString()}`;let y=await(await this.fetch(this.url)).json(),A={amountOut:y.assumedAmountOut,amountIn:o,allowanceRequirements:this.parseAllowanceRequirements({tokenIn:t,spender:this.config.bex.aggregatorsRouter,rawAmount:c}),name:this.name,priceImpactPercentage:y.priceImpact,swapFeeBps:a};return{...A,getCalldata:({account:R})=>{let w=this.getInputData({tokenIn:l,amountIn:o,isNative:m}),b={tokenOut:u,receiver:R,minAmountOut:this.getMinAmountOut(A.amountOut,s),isNative:p},C={aggregator:y.tx?.to,data:y.tx?.data};return{params:[w,b,C,{rewardVault:n??Vs,isSwapAndStake:!!n}],functionName:"swap",abi:D,value:BigInt(m?o:"0"),address:this.config.bex.aggregatorsRouter}}}}},lt=new it;import{zeroAddress as oo}from"viem";import{ChainId as so}from"@berachain/config/internal";var ut=class extends I{name="OpenOcean";supportedChains=[so.MAINNET];type="rest";url="https://open-api.openocean.finance/v4/bera/swap";notFoundMessages=["No avail liquidity for the pair"];async getQuote({tokenIn:t,tokenOut:r,amount:o,slippage:s,account:a=oo,aggregatorsFeeBps:i,publicClient:n,rewardVault:l}){if(g(n),!t.decimals)throw new E({property:"tokenIn.decimals",value:t.decimals,expected:"number",chainId:this.chainId});this.assertChainSupport({tokenIn:t,tokenOut:r});let u=this.getAmountAfterFees(o,i),{tokenInAddress:m,tokenOutAddress:p,isTokenInNative:c,isTokenOutNative:d}=this.parseAddresses(t.address,r.address),f=(await n.getGasPrice()).toString(),y=new URLSearchParams({chain:so.MAINNET.toString(),inTokenAddress:m,outTokenAddress:p,amountDecimals:u,slippage:s<.01?"0.01":s.toString(),account:this.config.bex.aggregatorsRouterExecutor,referrer:this.config.bex.aggregatorsRouter,gasPrice:f}),A=await this.fetch(`${this.url}?${y.toString()}`),R=await A.json();if(R.code!==200||!R.data){let b=this.notFoundMessages.some(C=>R.error.includes(C));throw new z({response:A,endpoint:{url:this.url,name:this.name,type:this.type},cause:R,reason:b?I.PATH_NOT_FOUND_REASON:R.error})}let w={amountOut:R.data.outAmount,amountIn:o,allowanceRequirements:this.parseAllowanceRequirements({tokenIn:t,rawAmount:o,spender:this.config.bex.aggregatorsRouter}),name:this.name,swapFeeBps:i};return{...w,getCalldata:({account:b})=>{let C=this.getInputData({tokenIn:m,amountIn:o,isNative:c}),P={tokenOut:p,receiver:b,minAmountOut:this.getMinAmountOut(w.amountOut,s),isNative:d},T={aggregator:R.data.to,data:R.data.data};return{params:[C,P,T,{rewardVault:l??oo,isSwapAndStake:!!l}],functionName:"swap",abi:D,value:BigInt(c?o:"0"),address:this.config.bex.aggregatorsRouter}}}}},pt=new ut;import{ChainId as ao}from"@berachain/config/internal";var mt=class extends I{name="Wrap";supportedChains=[ao.MAINNET,ao.BEPOLIA];type="rpc";checkChainSupport({tokenIn:t,tokenOut:r}){return t.chainId!==r.chainId||!super.checkChainSupport({tokenIn:t,tokenOut:r})?!1:h(t,"BERA")&&h(r,"WBERA")||h(t,"WBERA")&&h(r,"BERA")}async getQuote({tokenIn:t,tokenOut:r,amount:o}){this.assertChainSupport({tokenIn:t,tokenOut:r});let s=h(t,"BERA")&&h(r,"WBERA");return{amountOut:o,amountIn:o,allowanceRequirements:[],name:s?"Wrap":"Unwrap",isNativeSwap:!0,swapFeeBps:0,getCalldata:()=>s?{abi:Me,address:this.config.tokens.wbera,functionName:"deposit",params:[],value:BigInt(o)}:{abi:Me,address:this.config.tokens.wbera,functionName:"withdraw",params:[BigInt(o)],value:BigInt(0)}}}},dt=new mt;import Ms from"swr/immutable";import{zeroAddress as _s}from"viem";import{usePublicClient as Qs}from"@berachain/wagmi/hooks";var Te=()=>{let e=Qs(),{config:t}=k({chainId:e.chain?.id}),r=Ms(e&&t.bex.aggregatorsRouter&&t.bex.aggregatorsRouter!==_s?["useAggregatorsRouterFeeBps",t.bex.aggregatorsRouter]:null,async([,o])=>{let s=await e.readContract({address:o,abi:D,functionName:"SWAP_FEE_RATE"});return Number(s)});return{...r,refresh:r.mutate}};import Fs from"swr/immutable";import{useConfig as Ks}from"@berachain/wagmi/hooks";import{getPublicClient as Ys}from"@wagmi/core";import{erc4626Abi as Gs}from"viem";async function no({token:e,wagmiConfig:t}){try{if(h(e,"BERA"))return null;let r=Ys(t,{chainId:e.chainId});g(r);let o=await r.readContract({address:e.address,abi:Gs,functionName:"asset"});return await q({address:o,publicClient:r,chainId:e.chainId})}catch(r){let o=Bt({cause:r});if(o.reason==='The contract function "asset" reverted.')return null;throw o}}function io({token:e}){let t=Ks();return Fs(e&&t&&!h(e,"BERA")?["useUnderlyingAsset",e]:null,async([,r])=>no({token:r,wagmiConfig:t}))}import qs from"swr";import{parseUnits as $s,zeroAddress as zs}from"viem";import{useBeraWallet as Zs,usePublicClient as js}from"@berachain/wagmi/hooks";var lo="useAggregatorsQuotes";function Js({aggregator:e,account:t,args:r,feeBps:o,options:s,activeAggregators:a,isMAEnabled:i}){if(s?.opts?.isEnabled!==void 0&&!s?.opts?.isEnabled||!Number(r.amount)||!e.checkChainSupport({tokenIn:r.tokenIn,tokenOut:r.tokenOut,underlyingToken:r.underlyingToken,honeyNativeState:r.honeyNativeState}))return null;let n=e.name,l=!["Hub Pools","Honey","Wrap","Unwrap","Mint"].includes(n);if(!i&&l)return null;let{tokenIn:u,tokenOut:m,amount:p,slippage:c,referrer:d,rewardVault:f}=r,y=$s(p,u.decimals).toString();if(!(e.name==="Wrap"||e.name==="RedeemBgt"||e.name==="Honey"||!a||a.includes(n.toLowerCase().replaceAll(" ","")))||e.name==="Honey"&&r.honeyNativeState?.protocol.isPaused)return null;let R=e.name==="Mint"||e.name==="Enso (Mint)";return l&&o===void 0?null:[lo,n,u,m,y,c,e.needsAccountForQuote?t:void 0,l?o:0,d,f,R?r.underlyingToken:void 0,e.name==="Honey"?r.honeyNativeState?.collateralList:void 0]}function Xs({aggregator:e,publicClient:t,proxyAggregatorsThroughVercel:r}){return async([,,o,s,a,i,n,l,u,m,p,c])=>e.getQuote({tokenIn:o,tokenOut:s,amount:a,slippage:i,account:n,aggregatorsFeeBps:l,publicClient:t,proxyAggregatorsThroughVercel:r,referrer:u,rewardVault:m,underlyingToken:p,honeyNativeState:{collateralList:c??[]}})}function N({feeBps:e,publicClient:t,account:r,proxyAggregatorsThroughVercel:o,activeAggregators:s,isMAEnabled:a,...i},n){return qs(Js({aggregator:i.aggregator,account:r,args:i,feeBps:e,options:n,activeAggregators:s,isMAEnabled:a}),Xs({aggregator:i.aggregator,proxyAggregatorsThroughVercel:o,publicClient:t}),n?.opts)}function ct(e){return{refreshInterval:1e4,errorRetryCount:3,...e?.opts,onErrorRetry(t,r,o,s,a){if(e?.opts?.onErrorRetry?.(t,r,o,s,a),!(t instanceof x&&t.reason===I.PATH_NOT_FOUND_REASON)){if(t instanceof z&&t.statusCode===403){console.warn(r[1],"returned error 403, stopping retries");return}a.retryCount>(o.errorRetryCount??3)||setTimeout(()=>{s()},o.errorRetryInterval??be(10))}}}}function ea(e,t){let{address:r}=Zs(),o=U("proxyAggregatorsThroughVercel"),s=U("aggregators"),a=js(),{data:i}=Te();if(e.aggregator.name!=="Wrap"&&!((h(e.tokenIn.address,"BERA")||h(e.tokenIn.address,"WBERA"))&&(h(e.tokenOut.address,"BERA")||h(e.tokenOut.address,"WBERA"))))return null;let{config:n}=k(e),l=n.bex.aggregatorsRouter!==zs;return N({...e,aggregator:e.aggregator,feeBps:i,activeAggregators:s,account:r,isMAEnabled:l,publicClient:a,proxyAggregatorsThroughVercel:o},{...t,opts:ct(t)})}var na=[lt,et,nt,pt,rt,Ze,qe,st,Je];function mf(e,t){let{address:r}=sa(),o=U("proxyAggregatorsThroughVercel"),s=U("aggregators"),a=aa(),{data:i}=Te(),n=(h(e.tokenIn.address,"BERA")||h(e.tokenIn.address,"WBERA"))&&(h(e.tokenOut.address,"BERA")||h(e.tokenOut.address,"WBERA")),l=h(e.tokenIn.address,"BGT",{chainId:oa}),{data:u}=io({token:e.tokenOut}),m=n||l,{config:p}=k(e),c=p.bex.aggregatorsRouter!==ra,d=ct(t),f={activeAggregators:s,isMAEnabled:c,underlyingToken:u,isNativeSwap:m,account:r,publicClient:a,proxyAggregatorsThroughVercel:o,feeBps:i},y=N({...f,...e,aggregator:lt},{opts:d}),A=N({...f,...e,aggregator:et},{opts:d}),R=N({...f,...e,aggregator:Je},{opts:d}),w=N({...f,...e,aggregator:nt},{opts:d}),b=N({...f,...e,aggregator:pt},{opts:d}),C=N({...f,...e,aggregator:rt},{opts:d}),P=N({...f,...e,aggregator:Ze},{opts:d}),{protocol:T}=Ge(),S=N({...f,...e,aggregator:qe},{opts:{...d,isEnabled:T.isPaused===!1}}),B=N({...f,...e,aggregator:dt}),H=N({...f,...e,aggregator:Zr},{opts:d}),G=N({...f,...e,aggregator:st},{opts:d}),V=n?[B]:l?[H]:[y,R,A,w,b,C,P,G,T.isPaused===!1?S:null].filter($=>$!==null);return{...ta(()=>{let $=V.reduce((M,Ve)=>M||Ve.error,void 0),ue=V.map((M,Ve)=>M.isLoading?m?dt.name:na[Ve].name:null).filter(Boolean),It=V.filter(M=>M!==void 0&&!M.isLoading&&!M.error&&M.data?.amountOut).map(({data:M})=>M),gs=It.length===0&&ue.length>0;return{quotes:It,loadingAggregatorsNames:ue,isLoading:gs,error:$}},[V]),refresh:()=>V.map($=>$.mutate())}}import ia from"swr";var la=({query:e}={})=>["useAllUserPools",e],uo=(e,t)=>{let r=ia(la({query:e}),async([o,s])=>ge({...s,fetchPolicy:"no-cache"}),{refreshInterval:18e4,...t?.opts});return{...r,refresh:()=>{r.mutate()}}};import ua from"swr";import{isAddress as pa}from"viem";var ma=({poolId:e,account:t})=>e?["usePool-api",e,t]:null;function po({poolId:e,account:t}){let r=ua(ma({poolId:e,account:t}),async([,o,s])=>{if(s&&!pa(s))throw new E({property:"account",value:s,expected:"Address"});return Ot({poolId:o,account:s})},{refreshInterval:1e5});return{...r,refresh:()=>{r.mutate()}}}import{useMemo as go}from"react";import{PoolType as Ie}from"@berachain-foundation/berancer-sdk";import ca from"swr/immutable";import{formatUnits as fa,keccak256 as ga,parseUnits as Se,zeroAddress as gt}from"viem";import{GetDedupedSubgraphPools as ya}from"@berachain/graphql/dex/subgraph";import{PoolType as mo}from"@berachain-foundation/berancer-sdk";import{formatUnits as da}from"viem";var ft=e=>[...e].sort((t,r)=>t.address.toLowerCase().localeCompare(r.address.toLowerCase())),co=e=>e.length===0?"":ft(e).map(t=>t.symbol).join(" | "),fo=(e,t,r)=>{let o;switch(r){case mo.ComposableStable:o="STABLE";break;default:o=r.toString().toUpperCase();break}return r===mo.Weighted?t.length===0?"":`${ft(e).map((s,a)=>{let i=t[a];return`${(Number.parseFloat(da(i,18))*100).toFixed(0)}${s.symbol}`}).join("-")}-${o}`:`${ft(e).map(s=>s.symbol).join("-")}-${o}`};var Aa=.005,ba=(r=>(r.None="None",r.Custom="Custom",r))(ba||{}),ha=({poolCreationHelper:e,poolCreateTokens:t,initialLiquidityTokens:r,swapFeePercentage:o,salt:s,poolName:a,poolSymbol:i,owner:n,amplification:l,oracles:u,message:m,actionType:p,gasLimit:c=Qe})=>{let d=t.map(P=>P.address.toLowerCase()).sort((P,T)=>P<T?-1:1),f=d.map(P=>{let T=r.find(V=>V.address.toLowerCase()===P||h(P,"WBERA")&&h(V.address,"BERA")),S=T?Se(T.amount,T.decimals):0n,B=u.find(V=>V.tokenAddress.toLowerCase()===P.toLowerCase()),H=B?B.address:gt,G=BigInt(B?B.cacheDuration:100);return{amountIn:S,rateProvider:H,cacheDuration:G}}),y=f.map(P=>P.amountIn),A=f.map(P=>P.rateProvider),R=f.map(P=>P.cacheDuration),w=r.findIndex(P=>h(P.address,"BERA")),b=w!==-1?Se(r[w].amount,r[w].decimals):0n,C=b>0n;return{address:e,abi:We,functionName:"createAndJoinStablePool",params:[a,i,d,BigInt(l),A,R,!1,o,y,n,s,C],message:m,actionType:p,value:b,gasLimit:c,track:{eventName:"hub_pool_create",eventData:{poolName:a,poolSymbol:i}}}},Ra=({poolCreationHelper:e,poolCreateTokens:t,initialLiquidityTokens:r,normalizedWeights:o,swapFeePercentage:s,salt:a,poolName:i,poolSymbol:n,owner:l,message:u,actionType:m,gasLimit:p=Qe})=>{let c=[],d=[],f=[],y=[];t.map((w,b)=>({createToken:w.address,joinToken:r[b].address,weight:o[b],amountIn:Se(r[b].amount,r[b].decimals)})).sort((w,b)=>w.createToken.toLowerCase()<b.createToken.toLowerCase()?-1:1).forEach(w=>{c.push(w.createToken),d.push(w.joinToken),f.push(w.weight),y.push(w.amountIn)});let A=d.indexOf(gt),R=A!==-1?y[A]:0n;return{address:e,abi:We,functionName:"createAndJoinWeightedPool",params:[i,n,c,d,f,Array(c.length).fill(gt),s,y,l,a],message:u,actionType:m,value:R,gasLimit:p,track:{eventName:"hub_pool_create",eventData:{poolName:i,poolSymbol:n}}}},Nf=({poolCreateTokens:e,initialLiquidityTokens:t,normalizedWeights:r,poolType:o,poolName:s,poolSymbol:a,swapFee:i,owner:n,amplification:l,oracles:u,weightsDuplicationThreshold:m=Aa,...p})=>{let{data:c,error:d,isLoading:f}=ca(["useCreatePool__deduped_pool",e,o,r],async()=>{if(e.length===0||!o)return null;let w=Z("bex.subgraph",{});try{let b=Ce(e).map(T=>T.address.toLowerCase()).sort((T,S)=>T.toLowerCase()<S.toLowerCase()?-1:1);return(await w.query({query:ya,variables:{tokens:b,type:o}})).data.pools.filter(T=>T.tokens?.every(S=>o===Ie.Weighted?b.includes(S.address)&&Math.abs(Number(S.weight)-Number(fa(r[b.indexOf(S.address)],18)))<m:b.includes(S.address)||S.address===T.address))?.at(0)??null}catch{return null}}),{generatedPoolName:y,generatedPoolSymbol:A}=go(()=>{if(!e)return{generatedPoolName:"",generatedPoolSymbol:""};let w=co(e),b=fo(e,r,o);return{generatedPoolName:w,generatedPoolSymbol:b}},[e,r,o]),R=go(()=>{if(!n||s===""||a===""||e.length!==t.length||e.length===0)return null;let w=Se(i.toString(),16),b=ga(Buffer.from(`${s}-${n}`)),{config:C}=k(p);return o===Ie.Weighted?Ra({poolCreationHelper:C.bex.poolCreationHelper,poolCreateTokens:e,initialLiquidityTokens:t,normalizedWeights:r,swapFeePercentage:w,salt:b,poolName:s,poolSymbol:a,owner:n,message:`Create pool ${s}`,actionType:"Create Pool"}):o===Ie.ComposableStable||o===Ie.MetaStable?ha({poolCreationHelper:C.bex.poolCreationHelper,poolCreateTokens:e,initialLiquidityTokens:t,swapFeePercentage:w,salt:b,poolName:s,poolSymbol:a,owner:n,amplification:l,oracles:u,message:`Create pool ${s}`,actionType:"Create Pool"}):null},[e,t,r,o,i,s,a,n,l,u]);return{generatedPoolName:y,generatedPoolSymbol:A,isDupePool:!!c,dupePool:c,createPoolArgs:R,isLoadingPools:f,errorLoadingPools:d}};import Ia from"swr";import{usePublicClient as Sa}from"@berachain/wagmi/hooks";import{erc20Abi as wa,formatUnits as ka}from"viem";import{GetExploitedTokens as Pa}from"@berachain/graphql/dex/subgraph";import Ca from"@berachain/utils/pkg/bignumber.js";var Ta=1e-4;async function yo({token:e,publicClient:t,...r}){let o=Z("bex.subgraph",r),s=await t.readContract({address:e.address,abi:wa,functionName:"totalSupply"}),a=Ca(ka(s,e.decimals)).multipliedBy(Ta),{data:i}=await o.query({query:Pa,variables:{token:e.address,balance:a.toFixed()}});return i.userInternalBalances.length>0}var Ea=e=>{let t=e?.filter(r=>r.address);return!t||t.length===0?null:["useExploitedTokens",t]},qf=({tokens:e})=>{let t=Ea(e),r=Sa(),o=Ia(r?t:null,async([,s])=>(g(r),(await Promise.all(s.map(i=>yo({token:i,publicClient:r})))).reduce((i,n,l)=>(n!==void 0&&(i[s[l].address]=n),i),{})));return{...o,refresh:()=>o.mutate()}};import xa from"swr";var va=()=>{let e=xa("useGlobalLiquidityAndSwapVolume",async()=>Lt());return{...e,data:{totalLiquidity:Number(e.data?.protocolMetricsAggregated.totalLiquidity),swapVolume24h:Number(e.data?.protocolMetricsAggregated.swapVolume24h)},refresh:()=>e.mutate()}};import{useEffect as Ba,useState as Da}from"react";import{PoolType as le}from"@berachain-foundation/berancer-sdk";var Oa=.05,tg=({currentStep:e,tokenPrices:t,isLoadingTokenPrices:r,tokens:o,weights:s,weightsError:a,poolType:i,liquidityMismatchTolerancePercent:n=Oa,oracles:l})=>{let[u,m]=Da({title:null,message:null});return Ba(()=>{if(!t||r||!o||!s||a||o.some(b=>!b.address)||l.some(b=>b.mode==="Custom")){m({title:null,message:null});return}let p=0,c=[],d=o.length,y=Ce(o).map(b=>{let C=t[b.address.toLowerCase()]?.price??0;if(!C||C===0)return c.push(0),null;let P=C*Number.parseFloat(b.amount);return c.push(P),p+=P,C});if(y.some(b=>b===null)||y.length!==d){m({title:"Missing token price data",message:`One or more token(s) do not have valid market price data. Please verify that token market prices align with the pool
|
|
2
|
+
weightings and your initial liquidity amounts.`});return}if(e==="Select Tokens"&&i===le.ComposableStable){let b=y.map(P=>P/y[0]);Math.max(...b)-Math.min(...b)>n?m({title:"Selected tokens have a significant price deviation",message:"Did you mean to create a Weighted pool instead?",suggestWeighted:!0}):m({title:null,message:null});return}if(p===0||c.some(b=>b===0)){m({title:null,message:null});return}let A=0;if(i===le.ComposableStable){let b=p/d;c.forEach(C=>{A+=Math.abs(b-C)})}else i===le.Weighted&&c.forEach((b,C)=>{let P=Number(s[C])/1e18,T=p*P;A+=Math.abs(T-b)});let R=A>=p*.9;A=Math.min(A,p);let w=A/p;w>n?m({title:R?"You could lose all of your initial liquidity":`You could lose $${A.toFixed(2)} (~${(w*100).toFixed(2)}%)`,message:`Based on the market token prices, the value of tokens does not align with the specified pool weights.
|
|
3
|
+
This discrepancy could expose you to potential losses from arbitrageurs. ${i===le.ComposableStable?"Did you mean to create a Weighted pool instead?":""}`,suggestWeighted:i===le.ComposableStable}):m({title:null,message:null})},[e,t,r,o,s,a,i,n,l]),u};import{formatEther as wo,isAddressEqual as tn}from"viem";import ko from"@berachain/utils/pkg/bignumber.js";import Va from"swr";import{isAddress as Ao,zeroAddress as Wa}from"viem";import{useBeraWallet as Ma,usePublicClient as _a}from"@berachain/wagmi/hooks";import La from"swr/immutable";import{isAddress as Ua,zeroAddress as Na}from"viem";import{usePublicClient as Ha}from"@berachain/wagmi/hooks";var yt=({tokenAddress:e},{isEnabled:t=!0}={})=>{let r=Ha(),o=r&&e&&Ua(e)&&t?["useRewardVaultFromToken",e]:null,s=La(o,async([,a])=>{if(!a)throw new Error("useRewardVaultFromToken needs a valid token address");g(r);let{config:i}=k({chainId:r.chain.id}),n=await r.readContract({address:i.pol.factory,abi:Et,functionName:"getVault",args:[a]});return n===Na?void 0:n});return{...s,refresh:()=>s.mutate()}};var bo=({stakingToken:e,rewardVaultAddress:t},r)=>{let{address:o}=Ma(),s=_a(),a=r?.opts?.isEnabled??!0,{data:i=t,error:n,mutate:l,isLoading:u}=yt({tokenAddress:e},{isEnabled:!t&&a}),m=Va(i&&o&&s&&Ao(i)&&Ao(o)&&a?["useVaultBalanceFromStakingToken",i,o]:null,async([,p,c])=>{if(g(s),p===Wa)return{address:p,balance:0n};let d=await s.readContract({address:p,abi:me,functionName:"balanceOf",args:[c]});return{address:p,balance:d}});return{...m,refresh:()=>{l(),m.mutate()},isLoading:m.isLoading||u}};import qa from"swr";import{erc20Abi as $a,formatEther as za,formatUnits as Za,isAddress as Ro,zeroAddress as ja}from"viem";import{defaultChainId as Ja}from"@berachain/config/internal";import{useBeraWallet as Xa,usePublicClient as en}from"@berachain/wagmi/hooks";import Qa from"swr/immutable";import{isAddress as Ya,zeroAddress as Ga}from"viem";import{defaultChainId as Fa}from"@berachain/config/internal";import{usePublicClient as Ka}from"@berachain/wagmi/hooks";function ho(e,t){let r=Ka({chainId:e.chainId}),o=e?.address&&r&&Ya(e.address)?["useTokenInformation",e.address,e.chainId]:null,s=Qa(o,async([a,i,n=Fa])=>h(i,"BERA")?{address:Ga,decimals:O.decimals,name:O.name,symbol:O.symbol,chainId:n}:(g(r),await q({address:i,publicClient:r,chainId:n})),{...t?.opts});return{...s,refresh:()=>s?.mutate?.()}}function Ee({address:e,owner:t,chainId:r=Ja},o){let s=e;h(s,"ETH")&&(s=ja);let a=en({chainId:r}),{address:i}=Xa(),n=t??i,l=(o?.opts?.isEnabled??!0)&&a&&n&&Ro(n)&&s&&Ro(s)?["usePollBalance",n,s,r]:null,{data:u,isLoading:m}=ho({address:s,chainId:r}),p=h(s,"BERA"),{isLoading:c,data:d,error:f,...y}=qa(l,async([,w,b])=>(g(a),h(b,"BERA")?await a.getBalance({address:w}):await a.readContract({address:b,abi:$a,functionName:"balanceOf",args:[w]})),{refreshInterval:1e4}),A=!f&&d?h(s,"BERA")?za(d):u&&!m?Za(d,u.decimals):void 0:void 0,R={chainId:r,balance:d?{raw:d.toString(),formatted:A??"0"}:{raw:"0",formatted:"0"},address:s,decimals:p?O.decimals:u?.decimals??0,symbol:p?O.symbol:u?.symbol??"",name:p?O.name:u?.name??""};return{...y,refresh:()=>{y.mutate()},isLoading:c||p?m:!1,error:f||!p?f:void 0,data:R}}var Hg=({pool:e,vaultAddress:t},r)=>{let{data:o,...s}=Ee({address:e?.address}),{data:a,refresh:i}=bo({stakingToken:e?.address,rewardVaultAddress:t??e?.rewardVault?.vaultAddress},r),n=e?Number.parseFloat(e?.dynamicData?.totalShares??"0"):0,l=e?.dynamicData?.totalLiquidity?Number(e?.dynamicData?.totalLiquidity??0):null,u=n&&l?l/Number(n):0,m=e?.tokens?.map(p=>({address:p.address,ratio:n?Number(p.balance)/Number(n):0}));return{data:{lpTokenPrice:u,lpBalance:o?{...o,usdValue:o?Number(o.balance.formatted)*u:void 0}:void 0,tokenBalances:e?.tokens?.map(p=>{let c=m?.find(y=>tn(y.address,p.address))?.ratio??0,d=c?ko(o?.balance.formatted??"0").times(c):ko(0),f=Number(p.balanceUSD)/Number(p.balance);return{...p,balance:{raw:d?.isGreaterThan(0)?d.times(10**p.decimals).toFixed(0).toString():"0",formatted:d.toString()},price:f,usdValue:Number.isNaN(f)||!d?void 0:Number.parseFloat(d.toString())*f}}),stakedBalance:a?.address?{...a,balance:{raw:a.balance.toString(),formatted:wo(a.balance)},usdValue:Number(wo(a.balance))*u}:void 0},...s,refresh:()=>{s.refresh?.(),i()}}};import{useMemo as Co}from"react";import{parseUnits as an,zeroAddress as nn}from"viem";import To from"@berachain/utils/pkg/bignumber.js";import rn from"swr";import{useBeraWallet as on,useConfig as sn}from"@berachain/wagmi/hooks";function Po(e,t){let r=sn(),{address:o}=on(),s=r&&o&&e?.items?["usePollAllowances",o,e?.items]:null,a=rn(s,async([,i,n])=>wr({items:n,account:i,config:r}),{...t?.opts,refreshInterval:t?.opts?.refreshInterval??1e5});return{...a,refresh:()=>a?.mutate?.()}}function ln({amount:e,decimals:t,slippage:r}){let o=an((r??0).toString(),t);return e+e*o/BigInt(100*10**t)}function un(e,t){let{slippage:r}=t??{},o=Co(()=>e.filter(l=>l.token.address!==nn).filter(l=>To(l.amount.formatted).gt(0)),[e]),{data:s,refresh:a,isLoading:i}=Po({items:o});return{needsApproval:Co(()=>s?.map(l=>{let u=o.find(p=>h(p.token.address,l.token));if(!u)throw new x({message:"Token not found when matching allowance in useMultipleTokenApprovalsWithSlippage",cause:{allowance:l,items:o}});let m=ln({decimals:u.token.decimals,amount:BigInt(u.amount.raw),slippage:r});if(To(l.allowance.raw).lt(m))return{...u,needsApproval:!0,maxAmountIn:m,allowance:{raw:l.allowance.raw,formatted:l.allowance.formatted}}}).filter(l=>l!==void 0)??[],[s,r,o]),refresh:a,isLoading:i}}import{useMemo as bn}from"react";import hn from"swr/immutable";import{formatUnits as Rn,isAddress as wn}from"viem";import{usePublicClient as kn}from"@berachain/wagmi/hooks";import pn from"swr/immutable";import{isAddress as mn}from"viem";import{defaultChainId as dn}from"@berachain/config/internal";import{usePublicClient as cn}from"@berachain/wagmi/hooks";function Io(e,t){let r=cn(),o=r&&e.addresses?["useMultipleTokenInformation",e.addresses,e.chainId??dn]:null,s=pn(o,async([,a,i])=>(g(r),Promise.all(a.map(async n=>{if(!n||!mn(n,{strict:!1}))throw new Error("Invalid address");let l=await q({address:n,publicClient:r,chainId:i});if(!l)throw new Error(`Token ${n} not found`);return l}))),{...t?.opts});return{...s,refresh:()=>s?.mutate?.()}}import{useMemo as xe}from"react";import gn from"swr";import{isAddress as yn,zeroAddress as An}from"viem";import{defaultChainId as te}from"@berachain/config/internal";import{useContext as fn}from"react";function ee(){let e=fn(Yr);if(!e)throw new x({message:"useTokens must be used within a TokensProvider",level:"fatal"});return{...e,data:{tokenList:e.tokenList,customTokenList:e.userTokens,featuredTokenList:e.featuredTokens}}}function re({addressIn:e}={},t={opts:{refreshInterval:1e5,revalidateOnFocus:!0}}){let{tokenList:r,ensoTokens:o}=ee(),s=xe(()=>{let p=[];return e&&p.push(...e.filter(c=>yn(c))),p.map(c=>c.toLowerCase())},[r]),i=xe(()=>{let p=new Set(r?.map(c=>c.address.toLowerCase()));return r.some(c=>h(c,"WBERA"))&&p.add(An),s?.some(c=>!p.has(c))},[s,r])?s:r.map(p=>p.address),n=i&&(t.opts?.isEnabled??!0)?["useTokenCurrentPrices",i.map(p=>p.toLowerCase())]:null,l=gn(n,async([,p])=>Pe({addressIn:p}),t.opts),u=xe(()=>{if(!o)return{};let p=new Map([[te,new Map]]);for(let c of o)c.price===void 0||c.chainId!==te||p.get(te)?.set(c.address.toLowerCase(),{...c,price:c.price,chainId:te});return Object.fromEntries(i.map(c=>{let d=p.get(te)?.get(c)?.price;return d?[c.toLowerCase(),{price:d,chainId:te,updatedAt:Date.now()}]:[null,null]}))},[o]),m=xe(()=>({...u,...l.data}),[u,l.data]);return{...l,data:m}}function Pn(e){let t="poolId"in e?e.poolId?.slice(0,42):e.address;return wn(t)&&t?["useOnChainPoolData",t]:null}function So(e){let t=kn(),r=e?.slice(0,42),o=Pn({poolId:e}),{data:s,error:a,isLoading:i,mutate:n}=hn(t?o:null,async([,d])=>Ut({poolId:d,publicClient:t})),{data:l,isLoading:u}=Io({addresses:s?.poolTokens[0]}),{data:m,isLoading:p}=re({addressIn:s?.poolTokens[0]});return{data:bn(()=>{if(!s||!l)return;let d={address:r.toLowerCase(),id:e.toLowerCase(),type:s.type,factory:s.factory,totalShares:s.totalSupply,totalLiquidity:"0",swapFee:s.swapFee,createTime:0,name:s.name,tokens:l.map((y,A)=>({address:y.address.toLowerCase(),name:y.name,decimals:y.decimals,symbol:y.symbol,index:A,weight:s.weights?.[A]??void 0,balance:Rn(BigInt(s.poolTokens[1][A]),y.decimals),token:{__typename:"Token",token:y,latestUSDPrice:m?.[y.address]}})),amplificationParameter:s?.amplificationParameter&&{currentFormattedValue:Number(s.amplificationParameter[0])/Number(s.amplificationParameter[2])}},f=d.tokens?.reduce((y,A)=>{let R=Number(m?.[A.address.toLowerCase()]?.price??0);return R?y+R*Number(A.balance):y},0);return d.totalLiquidity=f?.toString()??"",d},[s,l,m,r,e]),error:a,isLoading:i||u||p,mutate:n,refresh:()=>n()}}import Cn from"swr";import{useBeraWallet as Tn,usePublicClient as In}from"@berachain/wagmi/hooks";var Sn=e=>{let{address:t}=Tn(),r=In(),o=t&&r?["usePollPoolCreationRelayerApproval",t,r.chain.id]:null,s=Cn(o,async([,i])=>{g(r);let{config:n}=k({chainId:r.chain.id});return await r.readContract({address:n.bex.vault,abi:ie,functionName:"hasApprovedRelayer",args:[i,n.bex.poolCreationHelper]})},{...e?.opts});return{...s,refreshPoolCreationApproval:()=>{s.mutate()}}};import{useMemo as En}from"react";import xn from"swr";function vn({poolId:e}){return e?["usePool-subgraph",e]:null}var Ly=({poolId:e})=>{let t=xn(vn({poolId:e}),async([,n])=>Vt({poolId:n}),{refreshInterval:1e5}),r=po({poolId:e}),{data:o,isLoading:s,refresh:a}=So(e);return{data:[En(()=>{if(!t.data)return o;let n={...t.data};return o&&(n.swapFee=o.swapFee,n.totalShares=o.totalShares,n.createTime=o.createTime??n.createTime),n},[o,t]),r.data,o],isLoading:r.isLoading||t.isLoading||s,isError:r.error||t.error,refresh:()=>{r.refresh(),t.mutate(),a()}}};import Bn from"swr/immutable";var Vy=({poolId:e,typeInArray:t})=>Bn(e?["usePoolEvents",e,t]:null,async([,r,o])=>Nt({poolId:r,typeInArray:o}),{refreshInterval:18e4});import Dn from"swr";var Yy=({poolId:e,...t},r)=>{let{config:o}=k(t),a=Dn(e?["usePoolHistoricalData",e]:null,async([,i])=>await Ht({poolId:i,chain:o.bex.chainName}),r?.opts);return{...a,refresh:()=>void a.mutate()}};import{useMemo as Eo}from"react";import On from"swr";import{useBeraWallet as Ln}from"@berachain/wagmi/hooks";var Un=({query:e}={})=>["useAllPools",e],Zy=(e,t)=>{let{address:r}=Ln(),{data:o,isLoading:s,mutate:a}=uo({userAddress:r,chain:e.chain}),{data:i,isLoading:n,mutate:l}=On(Un({query:e}),async([p,c])=>ge(c),{refreshInterval:18e4,...t?.opts}),u=Eo(()=>{if(!i||!o?.pools?.length)return i?.pools??[];let p=Object.fromEntries(o.pools.map(c=>[c.id.toLowerCase(),c]));return i.pools.map(c=>({...c,...p[c.id.toLowerCase()]||{}})).filter(Boolean)},[i,o]),m=Eo(()=>({page:Math.ceil((e?.skip??0)/(e?.first??10)),pageSize:e?.first,count:Math.ceil((i?.count??0)/(e?.first??10))}),[i,e.skip,e.first]);return{pools:u??[],walletPools:i?.pools??[],isLoading:n||s,refresh:()=>{l(),a()},pagination:m}};import{useMemo as Hn}from"react";import{useCallback as Nn,useMemo as xo}from"react";import{defaultChainId as oe}from"@berachain/config/internal";function se({tokens:e}={},t={opts:{refreshInterval:1e5,revalidateOnFocus:!0}}){let{ensoTokens:r}=ee(),o=re({addressIn:e?.filter(n=>n.chainId===oe).map(n=>n.address)},t),s=xo(()=>{let n=[];if(!e)return[];let l=new Map;for(let u of e){let m=u.chainId??oe;l.has(m)||l.set(m,new Map),l.get(m)?.set(u.address.toLowerCase(),u)}if(o.data){for(let[u,m]of Object.entries(o.data))if(m&&l.get(m.chainId??oe)?.get(u.toLowerCase())&&m.price!==void 0){let p=l.get(m.chainId??oe)?.get(u.toLowerCase());if(!p)continue;n.push({...p,chainId:m.chainId,price:m.price})}}if(r)for(let u of r)u.price!==void 0&&u.chainId!==void 0&&n.push({...u,chainId:u.chainId,price:u.price});return n},[o.data,r,e]),a=xo(()=>{let n={};for(let l of s){let u=l.chainId??oe;n[u]||(n[u]={}),n[u][l.address.toLowerCase()]=l.price}return n},[s]),i=Nn(n=>n?a[n.chainId??oe]?.[n.address?.toLowerCase()]??void 0:void 0,[a]);return{isLoading:o.isLoading,data:s,priceMap:a,getTokenPrice:i}}function ve({tokenIn:e,tokenOut:t,formattedAmountIn:r,formattedAmountOut:o}){let{getTokenPrice:s,isLoading:a}=se({tokens:e&&t?[e,t]:void 0});return{data:Hn(()=>{if(!e||!t||!r||!o)return;let n=s(e),l=s(t);return!n||!l?null:Gr(n.toString(),l.toString(),r,o)},[e,t,r,o]),isLoading:a}}import Vn from"swr";import{formatEther as Wn,parseUnits as Mn,zeroAddress as Bo}from"viem";import{defaultChainId as _n}from"@berachain/config/internal";import{useBeraWallet as Qn,usePublicClient as Yn}from"@berachain/wagmi/hooks";import{ethAddress as vo,zeroAddress as At}from"viem";var bt=class extends I{name="Enso (Mint)";supportedChains=null;type="rest";needsAccountForQuote=!0;notFoundMessages=["Could not build shortcuts for route","Could not quote shortcuts for route","Swap not found for a required underlying of defi route,","No route found from"];async getQuote({tokenIn:t,tokenOut:r,amount:o,slippage:s,account:a=At,aggregatorsFeeBps:i,proxyAggregatorsThroughVercel:n=!1,rewardVault:l,underlyingToken:u}){this.assertChainSupport({tokenIn:t,tokenOut:r}),Y(a,"account");let m=de({useProxy:!n});t.address===At&&(t.address=vo),r.address===At&&(r.address=vo);let p=u??r,c=[{protocol:"enso",action:"route",args:{tokenIn:t.address,tokenOut:p.address,destinationChainId:t.chainId===p.chainId?void 0:p.chainId,refundReceiver:a,amountIn:o,slippage:s*100}}];if(u&&c.push({protocol:"erc4626",action:"deposit",args:{amountIn:{useOutputOfCallAt:0},tokenIn:u.address,primaryAddress:r.address,tokenOut:r.address}}),l){let A=c.length;c.push({protocol:"enso",action:"balance",args:{token:r.address}},{protocol:"erc20",action:"approve",args:{amount:{useOutputOfCallAt:A},spender:l,token:r.address}},{protocol:"enso",action:"call",args:{address:l,args:[a,{useOutputOfCallAt:A}],method:"stakeOnBehalf",abi:"function stakeOnBehalf(address account, uint256 amount) external"}},{protocol:"enso",action:"balance",args:{token:l}})}let d=await m.getBundleData({fromAddress:a,receiver:a,spender:a,chainId:t.chainId,routingStrategy:"router"},c),f=l?.toLowerCase()??r.address.toLowerCase();return{amountOut:d.minAmountsOut[f]??d.amountsOut[f]??"0",amountIn:o,allowanceRequirements:this.parseAllowanceRequirements({tokenIn:t,rawAmount:o,spender:d.tx.to}),name:this.name,swapFeeBps:0,priceImpactPercentage:d.priceImpact?d.priceImpact/100:null,getCalldata:()=>({address:d.tx.to,data:d.tx.data,value:BigInt(d.tx.value??0)})}}},Be=new bt;function PA({tokenIn:e,loanToken:t,bendVault:r,rewardVault:o,amount:s,slippage:a},i){let{getTokenPrice:n}=se({tokens:e&&t?[e,t]:void 0}),l=Gn({tokenIn:e,loanToken:t,bendVault:r,rewardVault:o,amount:s?Mn(s,e?.decimals??18).toString():void 0,slippage:a},i),{data:u}=Fr({sharesAmount:BigInt(l.data?.amountOut??0),vaultAddress:r.address}),{data:m}=ve({tokenIn:e,tokenOut:t,formattedAmountIn:s,formattedAmountOut:u?.formatted??"0"}),p=e?.chainId&&e.chainId!==_n,{data:c,isLoading:d}=Ee({address:Bo,chainId:p?e?.chainId:void 0},{opts:{isEnabled:!!p}}),f=l.data?.getCalldata?.({account:Bo})?.value??0n,y=c?.balance??{raw:"0",formatted:"0"},A=p&&f>0n&&!d&&f>BigInt(y.raw),R=p&&f>0n?Wn(f):void 0;return{...l,zapSupplyAmount:u,priceImpact:m,hasInsufficientNativeBalance:A,isCrossChain:p,nativeFee:R,refresh:()=>{l.mutate()}}}function Gn({tokenIn:e,loanToken:t,bendVault:r,rewardVault:o,amount:s,slippage:a},i){let{address:n}=Qn(),l=!!e&&!!t&&!!r&&!!s&&!!n&&!h(t.address,e.address)&&e.chainId&&Number(s)>0&&!!a,u=Yn();return Vn(l?["useBendZapSupply",e,t,r,o,s,a]:null,async([,p,c,d,f,y,A])=>(g(u),Y(n,"fromAddress"),Y(p?.address,"tokenInAddress"),K(p?.chainId,"tokenInChainId"),await Be.getQuote({tokenIn:p,tokenOut:d,underlyingToken:c,amount:y,slippage:A,account:n,rewardVault:f})),{...i?.opts,refreshInterval:1e5})}import{getPublicClient as ei}from"@wagmi/core";import ti from"swr";import{parseUnits as ri}from"viem";import{defaultChainId as oi}from"@berachain/config/internal";import{useBeraWallet as si,useConfig as ai}from"@berachain/wagmi/hooks";import{ethAddress as qn,zeroAddress as $n}from"viem";import{erc20Abi as Fn,ethAddress as Kn}from"viem";var Do=async({fromAddress:e,amountIn:t,tokenIn:r,chainId:o,ensoClient:s,bundle:a,publicClient:i})=>{let n=[];if(r!==Kn){let l=await s.getApprovalData({fromAddress:e,tokenAddress:r,chainId:o,amount:t}),u=!0;i&&(u=await i.readContract({address:r,abi:Fn,functionName:"allowance",args:[e,l.spender]})<BigInt(t)),u&&n.push({to:l.tx.to,data:l.tx.data,value:l.tx.value,gasLimit:BigInt(l.gas)})}return n.push({to:a.tx.to,data:a.tx.data,value:a.tx.value,gasLimit:BigInt(a.gas)}),n};async function Oo({fromAddress:e,amountIn:t,tokenIn:r,tokenOut:o,chainId:s,ensoClient:a,destinationChainId:i,slippage:n,publicClient:l}){if(!e)throw new E({property:"fromAddress",value:e,expected:"address"});o===$n&&(o=qn);let u={protocol:"enso",action:"route",args:{tokenIn:r,tokenOut:o,amountIn:t,slippage:n*100}};i&&i!==s&&(u.args={...u.args,destinationChainId:i,refundReceiver:e});let m=await a.getBundleData({fromAddress:e,receiver:e,spender:e,chainId:s,routingStrategy:"router"},[u]),p=await Do({fromAddress:e,amountIn:t,tokenIn:r,chainId:s,ensoClient:a,bundle:m,publicClient:l});return{bundle:m,transactions:p}}import{useMemo as zn}from"react";import Zn from"swr";import{useBeraWallet as jn,useConfig as Jn,usePublicClient as Xn}from"@berachain/wagmi/hooks";function Lo(e,t){let r=Xn(),o=Jn(),{address:s}=jn(),{tokenList:a,refresh:i}=ee(),n=e?.walletAddress??s,l=zn(()=>new Map((e?.tokens??a)?.map(p=>[p.address.toLowerCase(),p])??[]),[a,e?.tokens]),u=r&&a!==void 0&&n?["usePollWalletBalances",n,Array.from(l.values())]:null,m=Zn(u,async([,p,c])=>j({account:p,tokenList:c,wagmiConfig:o}),{refreshInterval:1e5,...t?.opts});return{...m,refresh:()=>{m?.mutate?.(),i()}}}function KA({tokenIn:e,tokenOut:t,amount:r,slippage:o}){let{address:s}=si(),a=ai(),i=de(),{refresh:n}=Lo(),l=!!e&&!!t&&!!r&&Number(r)>0&&!!o&&!!s&&!!e.chainId,m=ti(l?["useEnsoSwapBundle",e,t,r,o]:null,async([,p,c,d,f])=>{Y(s,"fromAddress"),Y(p?.address,"tokenInAddress"),K(p?.chainId,"tokenInChainId"),Y(c?.address,"tokenOutAddress"),_e(d,"amount"),_e(f,"slippage");let y=ei(a,{chainId:p.chainId});g(y);let A=ri(d,p.decimals).toString();return Oo({fromAddress:s,amountIn:A,tokenIn:p.address,tokenOut:c.address,chainId:p.chainId,ensoClient:i,destinationChainId:oi,slippage:f,publicClient:y})},{refreshInterval:1e5,isEnabled:l});return{...m,refresh:()=>{m.mutate(),n()}}}import ni from"swr";import{formatUnits as ii,parseUnits as li}from"viem";import{chainConfigs as ui,defaultChainId as pi}from"@berachain/config/internal";import{useBeraWallet as mi}from"@berachain/wagmi/hooks";function eb({inputToken:e,amount:t,underlyingToken:r,slippage:o,tokenOut:s},a){let{address:i}=mi(),n=i??ui[pi].bex.aggregatorsRouterExecutor,u=!!e&&!!t&&Number(t)>0&&!!e.chainId&&!!r&&!!o?["useZapStakeBera",e,t,n,o,r,s]:null,m=ni(u,async([,c,d,f,y,A,R])=>{let w=li(d,c.decimals).toString();return Be.getQuote({account:f,amount:w,tokenIn:c,underlyingToken:A,tokenOut:R,slippage:y})},{...a?.opts,refreshInterval:1e5}),{data:p}=ve({tokenIn:e,tokenOut:s,formattedAmountIn:t,formattedAmountOut:ii(BigInt(m.data?.amountOut??"0"),s.decimals)});return{...m,data:{...m.data,priceImpactPercentage:p,isCrossChain:e&&s.chainId!==e?.chainId},refresh:()=>{m.mutate()}}}import{useCallback as ht,useEffect as yi,useState as Ai}from"react";import di from"gray-matter";import{encodeFunctionData as Oe,erc20Abi as ci,parseAbiItem as fi,toHex as gi}from"viem";function De(e){return Object.values(e).some(t=>Array.isArray(t)?t.some(r=>typeof r=="object"&&r!==null?De(r):!!r):typeof t=="object"&&t!==null?De(t):!!t)}var Uo=({proposal:e,currentTopic:t,onError:r})=>{let o=Mt(e,t),s=[];if(o.actions=e.actions.map((n,l)=>{let u={};if(u.target=L({fieldOrType:"address",value:n.target}),n.type==="custom-action")if(n.input==="ABI")if(u.ABI=L({fieldOrType:"abi",value:n.ABI}),!n.functionSignature)u.functionSignature="Required";else try{let p=fi(n.functionSignature);p.type!=="function"?(console.error("parsedSignatureAbi is not a function",p),u.functionSignature="Invalid ABI"):(u.args=p.inputs.map((c,d)=>{try{return"components"in c?L({fieldOrType:c.type,value:n.args?.[d],components:c.components}):L({fieldOrType:c.type,value:n.args?.[d]})}catch{return null}}),u.args.some(c=>c)||(s[l]=Oe({abi:[p],args:n.args})))}catch{u.functionSignature="Invalid ABI"}else if(n.input==="rawCalldata")u.rawCalldata=L({fieldOrType:"hex",value:n.rawCalldata}),s[l]=n.rawCalldata;else if(n.input==="message")u.message=L({fieldOrType:"string",value:n.message}),s[l]=gi(n.message);else throw new Error("Invalid input type");else if(n.type==="whitelist-reward-vault"||n.type==="blacklist-reward-vault"){if(u.vault=L({fieldOrType:"address",value:n.vault}),!u.vault){let p=n.type==="whitelist-reward-vault";s[l]=Oe({abi:F,functionName:"setVaultWhitelistedStatus",args:[n.vault,p,""]})}}else n.type==="whitelist-reward-vault-incentive"?(u.token=L({fieldOrType:"address",value:n.token}),u.minIncentiveRate=L({fieldOrType:"uint256",value:n.minIncentiveRate}),u.managerAddress=L({fieldOrType:"address",value:n.managerAddress}),!u.token&&!u.minIncentiveRate&&!u.managerAddress&&(s[l]=Oe({abi:me,functionName:"whitelistIncentiveToken",args:[n.token,BigInt(n.minIncentiveRate),n.managerAddress]}))):n.type==="erc20-transfer"&&(u.amount=L({fieldOrType:"uint256",value:n.amount}),u.to=L({fieldOrType:"address",value:n.to}),!u.amount&&!u.to&&(s[l]=Oe({abi:ci,functionName:"transfer",args:[n.to,BigInt(n.amount)]})));return De(u)?u:null}),r?.(o),Object.getOwnPropertyNames(o).map(n=>o[n]).some(n=>Array.isArray(n)?n.filter(l=>l).length>0:n===null?!1:!!n)){console.warn("Proposal has errors",o);return}if(s.length===0)throw new Error("No actions submitted in proposal");let a=new URL(e.forumLink),i=di.stringify(e.description,{title:e.title,topics:Array.from(e.topic.values()),forumLink:a.toString(),version:"1.0.0","content-encoding":"utf-8","content-type":"text/markdown",actions:e.actions.map(n=>{let l={type:n.type};return n.type==="custom-action"&&(l.inputType=n.input),l})});return[e.actions.map(n=>n.target),e.actions.map(n=>n.value??0n),s,i]};var No={type:"custom-action",target:"",ABI:"",value:0n,functionSignature:"",args:[],input:"ABI",rawCalldata:"0x",message:""},bi=({initialData:e={},currentTopic:t,onError:r})=>{let[o,s]=Ai({title:"",description:"",forumLink:"",actions:[No],...e,topic:new Set});yi(()=>{s(l=>({...l,topic:new Set([t.id])}))},[t]);let a=ht(()=>{s(l=>({...l,actions:[...l.actions,No]}))},[]),i=ht(l=>{s(u=>{let m=[...u.actions];return m.splice(l,1),{...u,actions:m}})},[s]),n=ht(()=>o?Uo({proposal:o,currentTopic:t,onError:r}):void 0,[o,t]);return{proposal:o,setProposal:s,addProposalAction:a,removeProposalAction:i,computeParamsAndErrors:n}};import wi from"swr/immutable";import{formatUnits as ki}from"viem";import{useBeraWallet as Pi,usePublicClient as Ci}from"@berachain/wagmi/hooks";import hi from"swr/immutable";import{usePublicClient as Ri}from"@berachain/wagmi/hooks";var Ho=({proposalId:e})=>{let t=Ri();return hi(t&&e?["useProposalSnapshot",e]:null,async([,o])=>{g(t);let{config:s}=k({chainId:t.chain.id});return(await t.readContract({abi:_,address:s.governance.governor,functionName:"proposalSnapshot",args:[BigInt(o)]})).toString()})};var Sb=e=>{let{address:t}=Pi(),r=Ci(),o=e.wallet||t,{data:s}=Ho({proposalId:e.proposalId}),a=e.timepoint||s;return wi(a&&r&&o?["useGetPastVotes",a,o]:null,async([,n,l])=>{g(r);let{config:u}=k({chainId:r.chain.id});if(Number(n)>Date.now()/1e3)throw new Error("timepoint is in the future");let m=await r.readContract({abi:Q,address:u.tokens.bgt,functionName:"getPastVotes",args:[l,BigInt(n)]});return ki(m,18)})};import Ti from"swr";import{isAddress as Ii}from"viem";import{useBeraWallet as Si,usePublicClient as Ei}from"@berachain/wagmi/hooks";var Ub=({proposalId:e,wallet:t})=>{let{address:r}=Si(),o=Ei(),s=t||r;return Ti(o&&s&&Ii(s)?["useHasVoted",e,s]:null,([,a,i])=>{g(o);let{config:n}=k({chainId:o.chain.id});return o.readContract({address:n.governance.governor,abi:_,functionName:"hasVoted",args:[BigInt(a),i]})})};import xi from"swr";import{usePublicClient as vi}from"@berachain/wagmi/hooks";var Vo="0xfd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783";var Gb=({account:e,...t})=>{let r=vi(),{config:o}=k(t);return xi(e&&r?["useCancellerRole",e]:null,async([,a])=>(g(r),await r.readContract({abi:pe,address:o.governance.timelock,functionName:"hasRole",args:[Vo,a]})),{refreshInterval:18e4,revalidateOnFocus:!1})};import{useEffect as Wo,useMemo as Bi,useState as Di}from"react";import Oi from"swr/infinite";import{Proposal_OrderBy as Li,ProposalStatus as W}from"@berachain/graphql/governance";var Mo=10,Ui=e=>{switch(e){case W.QuorumNotReached:return[W.Active,W.Pending];case W.PendingQueue:case W.Defeated:return[W.Active];case W.PendingExecution:return[W.InQueue];default:return[e]}};function Ni(e,t={}){let r=2*(t.perPage??Mo);return(o,s)=>{if(o!==0&&s&&s.length<r)return null;let a=t.status_in?.flatMap(Ui).filter((i,n,l)=>l.indexOf(i)===n);return["usePollAllProposals",o,e,t.where,a,t.orderBy,t.orderDirection,r,t.text]}}function Zb(e,t){let r=t?.autoRefresh??!1,o=e.perPage??Mo,s=2*o,a=Ni(e.topic,e);async function i(d){if(!d)return[];let[,f,y,A,R,w,b,C,P]=d;return(await Wt({where:{topics_contains:[y],status_in:R?.length?R:void 0,...A},orderBy:w,orderDirection:b,text:P,perPage:C,offset:f*C})??[]).filter(Boolean)}let n=Oi(a,i,{initialSize:1,refreshInterval:t?.opts?.refreshInterval??18e4,...t?.opts}),l=Bi(()=>{if(!n.data)return[];let d=n.data.flat().filter(y=>y?e.status_in?.length?e.status_in.includes(y.status):!0:!1).sort((y,A)=>{if(!e.text)return 0;if(e.orderBy===Li.CreatedAt){let R=Number(A.createdAt)-Number(y.createdAt);return e.orderDirection==="asc"?R:-R}return 0}),f=[];for(let y=0;y<d.length;y+=o)f.push(d.slice(y,y+o));return f},[n.data,e,o]),u=n.data?.[n.data.length-1],m=!!u&&u.length===s,[p,c]=Di(Date.now()/1e3);return Wo(()=>{if(!r)return;let d=setInterval(()=>{c(Date.now()/1e3)},1e4);return()=>clearInterval(d)},[r]),Wo(()=>{if(!n.data)return;let d=!1;for(let f of n.data.flat()){switch(f.status){case W.Pending:p>=Number(f.voteStartAt)&&(d=!0);break;case W.Active:p>=Number(f.voteEndAt)&&(d=!0);break;case W.InQueue:Date.now()/1e3+1>=Number(f.queueEnd)&&(d=!0);break;default:break}if(d)break}d&&n.mutate()},[n.data,p]),{...n,data:l,hasMore:m}}import{useEffect as _o,useState as Hi}from"react";import Vi from"swr";import{ProposalStatus as Rt}from"@berachain/graphql/governance";import{usePublicClient as Wi}from"@berachain/wagmi/hooks";var sh=(e,t)=>{let r=t?.autoRefresh??!1,o=Wi(),a=Vi(e&&o?["usePollProposal",e]:null,([,l])=>(g(o),_t({proposalId:l,client:o})),{...t?.opts,refreshInterval:t?.opts?.refreshInterval??18e4}),[i,n]=Hi(Date.now());return _o(()=>{if(!r)return;let l=setInterval(()=>{n(Date.now()/1e3)},1e4);return()=>clearInterval(l)},[]),_o(()=>{if(a.data!==void 0)switch(a.data.status){case Rt.Pending:i>=Number(a.data.voteStartAt)&&a.mutate();break;case Rt.Active:i>=Number(a.data.voteEndAt)&&a.mutate();break;case Rt.InQueue:Date.now()/1e3+1>=Number(a.data.queueEnd)&&a.mutate();break}},[a.data?.status,i]),{...a,refresh:()=>a?.mutate?.()}};import Mi from"swr";import{formatEther as _i}from"viem";import{usePublicClient as Qi}from"@berachain/wagmi/hooks";var mh=e=>{let t=Qi(),o=Mi(t?["usePollProposalThreshold",e]:null,async([,s])=>{g(t);let a=await t.readContract({address:s,abi:_,functionName:"proposalThreshold"});return{votesThreshold:_i(a)}},{refreshInterval:18e4});return{...o,refresh:o.mutate}};import Yi from"swr/infinite";var Le=1e3,gh=(e,t)=>Yi(Gi(e,t),async([r,o])=>Yt({variables:{...e,limit:Le,offset:Le*o}}),{parallel:!0,initialSize:Number.POSITIVE_INFINITY}),Gi=({...e},t)=>r=>r>Math.floor(t/Le)?null:["usePollProposalVotes",r,Le,e.proposalId,e.orderBy,e.orderDirection];import Fi from"swr";import{formatEther as Ki}from"viem";import{useBeraWallet as qi,usePublicClient as $i}from"@berachain/wagmi/hooks";var Ph=e=>{let{address:t}=qi(),r=$i(),s=Fi(t?["usePollUserDelegates",t]:null,async([,a])=>{g(r);let{config:i}=k({chainId:r.chain.id});if(!r||!a)throw new Error("usePollUserDelegates needs publicClient and account");let[n,l]=await Promise.all([r.readContract({address:i.tokens.bgt,abi:Q,functionName:"delegates",args:[a]}),r.readContract({address:i.tokens.bgt,abi:Q,functionName:"getVotes",args:[a]})]);return{delegate:n,currentVotes:Ki(l)}},{...e?.opts,refreshInterval:e?.opts?.refreshInterval??18e4});return{...s,refresh:()=>s?.mutate?.()}};import zi from"swr";import{usePublicClient as Zi,useTransactionReceipt as ji}from"@berachain/wagmi/hooks";var Eh=e=>{let{data:t}=ji({hash:e}),r=Zi();return zi(t&&r?["useProposalFromTx",e]:null,async([,a])=>{if(!t)throw new Error("Transaction not found");if(t.transactionHash!==a)throw new Error("Transaction hash mismatch");return Qt({tx:t,publicClient:r})})};import Ji from"swr/immutable";import{usePublicClient as Xi}from"@berachain/wagmi/hooks";var el={0:"pending",1:"active",2:"canceled",3:"defeated",4:"succeeded",5:"queued",6:"expired",7:"executed"},Lh=({proposalId:e,governorAddress:t})=>{let r=Xi();return Ji(t&&r&&e?["useProposalState",e]:null,async([,s])=>{g(r);let a=await r.readContract({abi:_,address:t,functionName:"state",args:[BigInt(s)]});return el[a]})};import tl from"swr";import{usePublicClient as rl}from"@berachain/wagmi/hooks";var ol={0:"unset",1:"waiting",2:"ready",3:"done"},Mh=({proposalTimelockId:e,timelockAddress:t})=>{let r=rl();return tl(t&&r&&e?["useProposalTimelockState",e,t]:null,async([,s,a])=>{g(r);let i=await r.readContract({abi:pe,address:a,functionName:"getOperationState",args:[s]});return ol[i]},{refreshInterval:18e4})};import al from"swr";import{usePublicClient as nl}from"@berachain/wagmi/hooks";import{formatEther as sl}from"viem";async function wt({at:e,publicClient:t,...r}){let{config:o}=k(r);g(t);let s=await t.readContract({address:o.governance.governor,abi:_,functionName:"quorum",blockTag:"pending",args:[BigInt(e??Math.floor(Date.now()/1e3))]});return sl(s)}function Zh({at:e},{isEnabled:t=!0}){let r=Math.floor(Date.now()/1e3),o=nl(),s=t&&o?["useQuorum",Number(e)>r?"now":e]:null,a=al(s,async([,i])=>i==="now"?wt({publicClient:o}):wt({at:i,publicClient:o}));return{...a,data:a.data?Number(a.data):void 0}}import ll from"swr";import{usePublicClient as ul}from"@berachain/wagmi/hooks";import il from"swr";function ae({priceFeedMap:e},t){let r=e?Object.values(e):null,o=(t?.opts?.isEnabled??!0)&&r?["usePythLatestPrices",r]:null;return il(o,async([a,i])=>await Zt({priceFeedId:i}))}var Qo=({asset:e,amount:t,isMint:r,isBasketModeEnabled:o},s)=>{let a=ul(),{priceFeedMap:i,flags:n}=v(),{data:l}=ae({priceFeedMap:e?.address&&i?{[e.address]:i[e.address]}:void 0},{opts:{isEnabled:n.isPythWrapperEnabled&&!!e?.address}}),u=t&&e&&(n.isPythWrapperEnabled&&l?.prices.length||!n.isPythWrapperEnabled)?["useCappedGlobally",t,e,l,n.isPythWrapperEnabled,o]:null,m=ll(u,async([p,c,d,f,y,A])=>A?!1:(g(a),await qt({client:a,asset:d,amount:r?c:`-${c}`,isMint:r,latestPrices:f,isPythWrapperEnabled:y})),{...s?.opts,refreshInterval:0});return{...m,refresh:()=>void m.mutate()}};import pl from"swr";import{usePublicClient as ml}from"@berachain/wagmi/hooks";var Yo=({asset:e,amount:t,isMint:r,isBasketModeEnabled:o},s)=>{let a=ml(),{collateralList:i,referenceCollateral:n}=v(),u=pl(e&&t?["useCappedRelatively",e,t,i,n]:null,async([m,p,c,d,f])=>{if(o)return!1;if(g(a),!r){let y=`-${c}`;return f.address!==p?!1:(await Promise.all(d.map(R=>Ye({client:a,asset:R.address,amount:y,isMint:r,referenceCollateral:f})))).some(R=>R)}return await Ye({client:a,asset:p,amount:c,isMint:r,referenceCollateral:f})},{refreshInterval:0,...s?.opts});return{...u,refresh:()=>void u.mutate()}};import dl from"swr";import{usePublicClient as cl}from"@berachain/wagmi/hooks";var bR=({collateralList:e},t)=>{let r=cl(),s=dl(r&&e?["useCollateralWeights",e]:void 0,async([a,i])=>(g(r),await Ft({client:r,collateralList:i})),{...t?.opts,refreshInterval:t?.opts?.refreshInterval??1e5});return{...s,refresh:()=>void s.mutate()}};import{useMemo as kt}from"react";import ne from"@berachain/utils/pkg/bignumber.js";import fl from"swr";import{useBeraWallet as gl,useConfig as yl,usePublicClient as Al}from"@berachain/wagmi/hooks";var Go=()=>{let e=Al(),{address:t}=gl(),{collateralList:r}=v(),o=yl(),a=fl(t&&r&&e?["useHoneyBalances",t,r]:null,async([i,n,l])=>{g(e);let u=[...l??[],fe({})];return(await j({account:n,tokenList:u,wagmiConfig:o}))?.reduce((c,d)=>(c[d.address]=d,c),{})},{refreshInterval:1e4});return{...a,refresh:()=>a.mutate()}};import bl from"swr";import{usePublicClient as hl}from"@berachain/wagmi/hooks";var Fo=e=>{let t=hl(),{collateralList:r}=v(),s=bl(r&&t?["useHoneyVaultsBalance",r]:null,async([a,i])=>(g(t),await ye({client:t,collateralList:i})),{...e?.opts,refreshInterval:1e5});return{...s,refresh:()=>void s.mutate()}};import Rl from"swr";import{usePublicClient as wl}from"@berachain/wagmi/hooks";var Ko=({collateral:e},t)=>{let r=wl(),{priceFeedMap:o,flags:s}=v(),{data:a}=ae({priceFeedMap:e?.address?{[e.address]:o[e.address]}:void 0},{opts:{isEnabled:s.isPythWrapperEnabled&&!!e?.address}}),i=r&&e&&(s.isPythWrapperEnabled&&a?.prices.length||!s.isPythWrapperEnabled)?["useIsBadCollateralAsset",e,a,s.isPythWrapperEnabled]:null,n=Rl(i,async([l,u,m,p])=>(g(r),await Kt({client:r,collateral:u,latestPrices:m,isPythWrapperEnabled:p})),{...t?.opts,refreshInterval:t?.opts?.refreshInterval??1e5});return{...n,refresh:()=>void n.mutate()}};var qo=({lowerThan:e,vaultsBalances:t,state:r,collateralList:o})=>{if(!(r.actionType==="mint")&&!r.isBasketModeEnabled){let a=t?.find(l=>l.address.toLowerCase()===r.collaterals[0].address.toLowerCase()),i=new ne(a?.balance.formatted??"0").lte(e),n=o.filter(l=>{let u=t?.find(m=>m.address.toLowerCase()===l.address.toLowerCase());return new ne(u?.balance.formatted??"0").lte(e)});return{isLow:i,isLiquidityLowCollaterals:n}}return{isLow:!1,isLiquidityLowCollaterals:[]}},kl=({vaultsBalances:e,redeemedVaultBalance:t,state:r,collateralList:o})=>{if(!(r.actionType==="mint")&&e&&t){let a=o.filter(i=>{let n=e.find(u=>u.address.toLowerCase()===i.address.toLowerCase()),l=r.toAmount[r.collaterals.indexOf(i)];return new ne(n?.balance.formatted??"0").lt(l??"0")});return{isMore:!!a.find(i=>h(i,r.collaterals[0])),isRedeemMoreThanLiquidityCollaterals:a}}return{isMore:!1,isRedeemMoreThanLiquidityCollaterals:void 0}};function Pl({state:e,honeyBalances:t,...r}){let{config:o}=k(r),s=e.actionType==="mint";return!s&&t?new ne(e.fromAmount[0]).gt(t[o.honey.token]?.balance.formatted??"0"):s&&t&&e.isBasketModeEnabled!==void 0&&e.collaterals.length>0?e.isBasketModeEnabled?e.collaterals.some((a,i)=>{let n=e.fromAmount[i];return new ne(t[a.address]?.balance.formatted).lt(n)}):new ne(t[e.collaterals[0].address]?.balance.formatted).lt(e.fromAmount[0]):!1}var ZR=({actionType:e,collaterals:t,fromAmount:r,toAmount:o,isBasketModeEnabled:s})=>{let a={actionType:e,collaterals:t,fromAmount:r,toAmount:o,isBasketModeEnabled:s},i=e==="mint",{data:n}=Ko({collateral:t[0]}),{collateralList:l}=v(),{isBlacklisted:u,isDepegged:m}=n??{isBlacklisted:!1,isDepegged:!1},{data:p}=Qo({asset:t[0],amount:i?r[0]:o[0],isMint:i,isBasketModeEnabled:s}),{data:c}=Yo({asset:t[0]?.address,amount:i?r[0]:o[0],isMint:i,isBasketModeEnabled:s}),{data:d}=Go(),{data:f}=Fo(),y=t[0]?.address,A=f?.find(T=>T.address.toLowerCase()===y.toLowerCase()),[R,w]=kt(()=>{let T=qo({lowerThan:1,vaultsBalances:f,state:a,collateralList:l}),S=qo({lowerThan:1e3,vaultsBalances:f,state:a,collateralList:l});return[T,S]},[f,a]),{isMore:b,isRedeemMoreThanLiquidityCollaterals:C}=kt(()=>kl({vaultsBalances:f,redeemedVaultBalance:A,state:a,collateralList:l}),[f,A,a,l]),P=kt(()=>Pl({state:a,honeyBalances:d}),[a,d]);return{isLiquidityDepleted:R.isLow,isLiquidityDepletedCollaterals:R.isLiquidityLowCollaterals,isRedeemMoreThanLiquidity:b,isRedeemMoreThanLiquidityCollaterals:C,isLowLiquidity:w.isLow,isLiquidityLowCollaterals:w.isLiquidityLowCollaterals,isBlacklisted:a.isBasketModeEnabled?!1:u,isDepegged:a.isBasketModeEnabled?!1:m,isCappedGlobally:p,isCappedRelatively:c,isExceedingBalance:P}};import Cl from"swr";function ew({days:e}){let t=Cl(["useHoneyChartData",e],async([r,o])=>await Gt({days:o}));return{...t,refresh:()=>t.mutate()}}import Tl from"swr";import $o from"@berachain/utils/pkg/bignumber.js";function aw(){let e=Tl(["useHoneyGlobalData"],()=>$t()),t=e.data?.honeySnapshots.reduce((r,o)=>new $o(o.totalVolume).plus(r),new $o(0));return{...e,data:{...e.data,dailyVolume:t},refresh:()=>e.mutate()}}import{useEffect as El,useReducer as xl}from"react";import{formatUnits as Zo}from"viem";import{defaultChainId as vl}from"@berachain/config/internal";import Il from"swr";import{usePublicClient as Sl}from"@berachain/wagmi/hooks";function zo({state:e},t){let r=Sl(),{priceFeedMap:o,flags:s,collateralList:a}=v(),{data:i}=ae({priceFeedMap:o},{opts:{isEnabled:s.isPythWrapperEnabled&&!!a.length}}),n=e.actionType==="mint",l=r&&e&&a.length>0&&(s.isPythWrapperEnabled&&i?.prices.length||!s.isPythWrapperEnabled)?["useIsBasketModeEnabled",n,i,s.isPythWrapperEnabled,a]:null,u=Il(l,async([m,p,c,d,f])=>(g(r),await Ae({client:r,isMint:p,collateralList:f,latestPrices:c,isPythWrapperEnabled:d})),{...t?.opts,refreshInterval:t?.opts?.refreshInterval??1e4});return{...u,data:u.data,refresh:()=>void u.mutate()}}var Bl={actionType:"mint",collaterals:[],fromAmount:[],toAmount:[],isBasketModeEnabled:!1,isTyping:!1,isSubmitting:!1,isLoading:!1};function jo(e,t){switch(t.type){case"RESET_AMOUNTS":return{...e,fromAmount:[],toAmount:[]};case"ACTION_TYPE_CHANGE":return jo({...e,actionType:t.value},{type:"RESET_AMOUNTS"});case"COLLATERALS_CHANGE":return{...e,collaterals:t.value,fromAmount:[],toAmount:[]};case"FROM_AMOUNT_CHANGE":{let r=e.fromAmount;return r[t.index]=t.value,{...e,fromAmount:r}}case"TO_AMOUNT_CHANGE":{let r=e.toAmount;return r[t.index]=t.value,{...e,toAmount:r}}case"PREVIEW_CHANGE":{let r=t.value,o=e.actionType==="mint",s=e.collaterals.map((i,n)=>t.changedAsset===i.address?o?e.fromAmount[n]:e.toAmount[n]:r.collaterals[i.address]?Zo(r.collaterals[i.address],i.decimals):e.isBasketModeEnabled?"0":""),a=h(t.changedAsset,"HONEY",{chainId:vl})?o?e.toAmount[0]:e.fromAmount[0]:r.honey?Zo(r.honey,18):e.isBasketModeEnabled?"0":"";return{...e,fromAmount:o?s:[a],toAmount:o?[a]:s}}case"IS_BASKET_MODE_ENABLED_CHANGE":return{...e,isBasketModeEnabled:t.value,fromAmount:[],toAmount:[]};case"IS_TYPING_CHANGE":return{...e,isTyping:t.value};case"IS_SUBMITTING_CHANGE":return{...e,isSubmitting:t.value};case"IS_LOADING_CHANGE":return{...e,isLoading:t.value};default:throw new Error(`Unknown action type: ${t}`)}}var Rw=()=>{let{collateralList:e}=v(),[t,r]=xl(jo,Bl,s=>({...s,collaterals:e})),{data:o}=zo({state:t});return El(()=>{o!==void 0&&t.isBasketModeEnabled!==o&&(r({type:"IS_LOADING_CHANGE",value:!0}),r({type:"IS_BASKET_MODE_ENABLED_CHANGE",value:o}),r({type:"IS_LOADING_CHANGE",value:!1}))},[o]),{state:t,dispatch:r}};import Dl from"swr/immutable";import{usePublicClient as Ol}from"@berachain/wagmi/hooks";var Sw=({pythPriceFeedCalldata:e,tokenListLength:t},r)=>{let o=Ol(),s=(r?.opts?.isEnabled??!0)&&e&&e.length>0?["usePythUpdateFee",e]:null,{data:a=jt(t),isLoading:i}=Dl(s,async([n,l])=>(g(o),await Jt({client:o,priceFeedId:l})));return{QUERY_KEY:s,data:a,isLoading:i}};import{useMemo as Ll}from"react";function Bw(e){return Ll(()=>{if(e)return or(e)},[e])}import Ul from"swr";import{formatEther as Nl}from"viem";import{useBeraWallet as Hl,usePublicClient as Vl}from"@berachain/wagmi/hooks";var Wl=e=>{let{address:t}=Hl(),r=Vl(),s=Ul(t&&r?["useBgtUnstakedBalance",t]:null,async([,a])=>{g(r);let{config:i}=k({chainId:r.chain.id}),n=await r.readContract({address:i.tokens.bgt,abi:Q,functionName:"unboostedBalanceOf",args:[a]});return Nl(n)},{...e,refreshInterval:e?.opts?.refreshInterval??1e5});return{...s,refresh:()=>s.mutate()}};import Ml from"swr";import{formatUnits as _l}from"viem";import{useBeraWallet as Ql,usePublicClient as Yl}from"@berachain/wagmi/hooks";var Gl=()=>{let{address:e}=Ql(),t=Yl(),o=Ml(e&&t?["useClaimableFees",e]:null,async([,s])=>{g(t);let{config:a}=k({chainId:t.chain.id}),i=await yr({account:s,vaultAddress:a.pol.staker,publicClient:t});return _l(i,18)},{refreshInterval:18e4*2});return{...o,refresh:()=>o?.mutate?.()}};import{GqlRewardVaultOrderBy as $l,GqlRewardVaultOrderDirection as zl}from"@berachain/graphql/pol/api";import Fl from"swr";import{usePublicClient as Kl}from"@berachain/wagmi/hooks";var ql=(e,t=!1)=>["useRewardVaults",e,t],Pt=(e,t)=>{let r=ql(e.filter,e.onChainIncentives),o=Kl(),s=Fl(t?.opts?.isEnabled??!0?r:null,async([,a,i])=>await ar({filter:a,publicClient:i?o:void 0}),{...t?.opts});return{...s,refresh:s.mutate}};var Xw=(e={},{isEnabled:t=!0}={})=>{let r=Pt({filter:{orderBy:$l.Apr,orderDirection:zl.Desc,pageSize:1,where:e}},{opts:{refreshInterval:0,revalidateOnFocus:!1,refreshWhenOffline:!1,isEnabled:t}});return{isLoading:r.isLoading,highestApr:r.data?.gaugeList[0].dynamicData?.apr,refresh:r.mutate}};import Zl from"swr";import{usePublicClient as jl}from"@berachain/wagmi/hooks";var Jo=e=>{let t=jl(),r=Zl(t?"usePollGlobalData":null,async()=>(g(t),nr(t)),{revalidateOnFocus:!1,...e?.opts});return{...r,refresh:r.mutate}};import Jl from"swr/immutable";var Xl=()=>"usePollMarkets",lk=e=>{let t=Xl(),r=Jl(t,async()=>await ir(),{...e?.opts});return{...r,refresh:()=>r.mutate()}};import eu from"swr/immutable";import{isAddress as tu}from"viem";import{usePublicClient as ru}from"@berachain/wagmi/hooks";function gk({receiptTokenAddresses:e,account:t,version:r},o){let s=ru(),a=e&&t&&s&&tu(t)&&r?["useQueuedBeraUnlock",e,t,r]:null,i=eu(a,async([,n,l,u])=>(g(s),await Promise.all(n.map(async m=>await cr({contractAddress:m,accountAddress:l,publicClient:s,version:u}))).then(m=>m.flat())),{refreshInterval:1e4,...o?.opts});return{...i,refresh:()=>i.mutate()}}import ou from"swr";import{isAddress as su}from"viem";import{defaultChainId as au}from"@berachain/config/internal";import{usePublicClient as nu}from"@berachain/wagmi/hooks";var Ck=({address:e},t)=>{let r=e?["useRewardTokenToBeraRate",e]:null,o=nu({chainId:au});return ou(r,async([s,a])=>{if(!a||!su(a))throw new E({property:"address",value:a,expected:"Address"});return g(o),Re({address:a,publicClient:o})},{...t?.opts})};import fu from"swr";import lu from"swr";import{erc20Abi as uu,formatUnits as pu,isAddress as mu}from"viem";import{usePublicClient as du}from"@berachain/wagmi/hooks";import{erc20Abi as Ue,formatUnits as iu}from"viem";async function Ne({address:e,publicClient:t}){g(t);let[r,o,s,a]=await t.multicall({contracts:[{address:e,abi:Ue,functionName:"decimals"},{address:e,abi:Ue,functionName:"name"},{address:e,abi:Ue,functionName:"symbol"},{address:e,abi:Ue,functionName:"totalSupply"}],allowFailure:!0});return{address:e,decimals:r.result,name:o.result,symbol:s.result,totalSupply:a.result!==void 0?r.status==="success"?iu(a.result,r.result):a.result.toString():void 0}}var cu=e=>e&&mu(e)?["onChainRewardVault",e.toLowerCase()]:null,Xo=({address:e},t)=>{let r=du(),o=t.opts?.isEnabled??!0,s=cu(e);return lu(o&&r?s:null,async([,a])=>{g(r);let{config:i}=k({chainId:r.chain.id}),n=await ke({address:a,publicClient:r}),[l,u,m]=await Promise.all([we({address:a,stakingToken:n,publicClient:r}),r.readContract({address:i.pol.beraChef,abi:F,functionName:"isWhitelistedVault",args:[a]}),r.readContract({address:n,abi:uu,functionName:"balanceOf",args:[a]})]),[p,c]=await Promise.all([Ne({address:n,publicClient:r}),Promise.all(l.map(d=>q({address:d.token,chainId:r.chain.id,publicClient:r})))]);if(!p)throw new Error("Staking token not found");return{id:a,address:a,vaultAddress:a,stakingToken:{address:n,name:p.name??"",symbol:p.symbol??"",decimals:p.decimals??0},stakingTokenAmount:pu(m,p.decimals??18),isVaultWhitelisted:u,activeIncentives:l.map((d,f)=>({active:!!d.remainingAmount,remainingAmount:d.remainingAmount,remainingAmountUsd:"0",incentiveRate:d.incentiveRate,incentiveRateUsd:"0",tokenAddress:d.token,token:c[f]}))}})};var gu=e=>e?["useRewardVault",e.toLowerCase()]:null,Yk=(e,t)=>{let r=gu(e),o=fu(r,async([i,n])=>ur({address:n}),{...t?.opts}),s=t?.opts?.isEnabled??((!!o.error||!o.isLoading)&&!o.data),a=Xo({address:e},{opts:{...t?.opts,isEnabled:s}});return{data:a.data??o.data,error:a.error??o.error,isLoading:a.isLoading||o.isLoading,isValidating:a.isValidating??o.isValidating,refresh:()=>{o.mutate(),a.mutate()}}};import yu from"swr";import{usePublicClient as Au}from"@berachain/wagmi/hooks";function zk({address:e,stakingToken:t}){let r=Au(),s=yu(r&&e&&t?["useRewardVaultIncentives",e,t]:null,async([,a,i])=>(g(r),await we({address:a,stakingToken:i,publicClient:r})));return{...s,refresh:()=>s?.mutate?.()}}import bu from"swr";import{usePublicClient as hu}from"@berachain/wagmi/hooks";var Ru=(e,t)=>{let r=hu(),s=bu(r&&e?["useRewardVaultRewards",e]:null,async([,a])=>(g(r),await rr(a,r)),{...t?.opts});return{...s,refresh:()=>s?.mutate?.()}};import wu from"swr";var He=e=>{let t=[],r="";for(let o of e){if(!o.timestamp&&!o._timestamp)continue;let s=(o?.timestamp??o?._timestamp??0)*1e3,a=new Date(s),i=a.toDateString();if(i!==r){let n=new Date(a.setHours(0,0,0,0)).getTime()/1e3;t.push({...o,timestamp:n,_timestamp:n}),r=i}}return t};function nP({range:e}){let r=wu(e?["useStakedAPR",e]:null,async([,o])=>{let s=await mr({range:o});return He(s.sort((i,n)=>i.timestamp-n.timestamp)).map(i=>({_timestamp:i.timestamp,apr:i.apr}))});return{...r,refresh:()=>r.mutate()}}import ku from"swr";import{useBeraWallet as Pu,useConfig as Cu,usePublicClient as Tu}from"@berachain/wagmi/hooks";import es from"@berachain/utils/pkg/bignumber.js";var bP=e=>{let t=U("swberaAprWindow"),r=Cu(),o=Tu(),{address:s}=Pu();return ku(s&&r&&e?["useData",s,e,t]:null,async([,i,n,l])=>{K(r,"wagmiConfig"),g(o);let u=await pr({window:l}),m=n.map(d=>d.receiptToken),p=await j({account:i,tokenList:m,wagmiConfig:r});return await Promise.all(n.map(async d=>{let f=d.receiptToken,y=d.inputTokens[0],[A,R,w]=await Promise.all([sr({address:f.address,account:i}),Pe({addressIn:[y.address]}),Re({address:f.address,publicClient:o})]),b=R[y.address]?.price??0,C=p?.find(ue=>ue.address===f.address)?.balance.raw??"0",P=w??0,T=new es(A.earningsTotal).minus(A.earningsRealized),H=new es(C).multipliedBy(P).minus(T).dividedBy(10**y.decimals),G=T.dividedBy(10**y.decimals),V=H.multipliedBy(b),Tt=G.multipliedBy(b);return{token:y,apr:u??0,stakedAmount:H.toNumber(),earnedAmount:G.toNumber(),stakedAmountUsd:V.toNumber(),earnedAmountUsd:Tt.toNumber()}}))},{refreshInterval:1e4})};import Iu from"swr";async function ts({address:e,range:t}){let r=new Date,o=new Date(r.getTime()-Number(t)*24*60*60*1e3),{config:s}=k({}),a=`${s.bonder}/vaults/${e}/total-assets-by-day?start=${o.toISOString().split("T")[0]}`;return ce(a)}function IP({range:e,addresses:t}){let o=Iu(e?["useStakedSnapshots",e,t]:null,async([,s,a])=>{let[...i]=await Promise.all([...a.map(async n=>{let l=await ts({address:n,range:s}),u=He(l.sort((m,p)=>m._timestamp-p._timestamp));return{[n]:u}})]);return i.reduce((n,l)=>({...n,...l}),{})});return{...o,refresh:()=>o.mutate()}}import Su from"swr";import{usePublicClient as Eu}from"@berachain/wagmi/hooks";var OP=e=>{let t=Eu(),r=J();return Su(e&&t&&r?["useStakingVaultMetadata",e,t,r]:null,async([,s,a,i])=>(g(a),dr({address:s,publicClient:a,blockTime:i})),{refreshInterval:1e4})};import xu from"swr";import{usePublicClient as vu}from"@berachain/wagmi/hooks";function VP({vaultAddresses:e}){let t=vu(),r=xu(e&&t?["useTotalStakedAmount",e]:null,([,o])=>fr({vaultAddresses:o,publicClient:t}));return{...r,refresh:()=>r.mutate()}}import Bu from"swr";import{useBeraWallet as Du,usePublicClient as Ou}from"@berachain/wagmi/hooks";var Lu=(e,t)=>{let{address:r}=Du(),o=Ou(),s=r&&o&&e.vaultAddress?["useUserVaultInfo",r,e.vaultAddress]:null,a=Bu(s,async([,i,n])=>(g(o),Ar({account:i,vaultAddress:n,publicClient:o})),{...t,refreshInterval:t?.opts?.refreshInterval??1e5});return{...a,refresh:()=>a.mutate()}};import Uu from"swr";import{useBeraWallet as Nu,usePublicClient as Hu}from"@berachain/wagmi/hooks";var Vu=e=>{let{address:t}=Nu(),r=Hu(),s=Uu(t&&r?["useUserVaults",t]:null,async([,a])=>(g(r),await br({account:a,publicClient:r})),{...e,refreshInterval:e?.opts?.refreshInterval??1e5,keepPreviousData:!0});return{...s,refresh:()=>s?.mutate?.()}};import Wu from"swr";import{usePublicClient as Mu}from"@berachain/wagmi/hooks";var eC=e=>{let t=Mu();return Wu(e&&t?["useVaultAddress",e]:null,async([,o])=>{g(t);let[s]=await Promise.all([ke({address:o,publicClient:t})]);return{stakeToken:s,address:o}})};import _u from"swr";var sC=({vault:e,range:t,resolution:r})=>{let s=_u(e?["useVaultHistory",e,t,r]:null,([,a,i,n])=>hr({vault:a,range:i,resolution:n}));return{...s,refresh:()=>s.mutate()}};import Qu from"swr";var Yu=(e,t)=>{let o=Qu(e?["useVaultValidators",e]:null,async([,s])=>await Rr({address:s}),{...t?.opts});return{...o,refresh:()=>o.mutate()}};import{zeroAddress as Gu}from"viem";function rs({address:e},t){let r=re({addressIn:e?[e]:void 0},t);return{...r,data:e?r.data?.[e.toLowerCase()]:void 0}}function cC(e){return rs({address:Gu},e)}import Fu from"swr/immutable";import{isAddress as Ku,zeroAddress as qu}from"viem";import{usePublicClient as $u}from"@berachain/wagmi/hooks";var RC=(e,t)=>{let r=$u(),o=e?.address&&r&&Ku(e.address)?["useStakingTokenInformation",e.address]:null,s=Fu(o,async([a,i])=>h(i,"BERA")?{address:qu,decimals:O.decimals,name:O.name,symbol:O.symbol}:await Ne({address:i,publicClient:r}),{...t?.opts});return{...s,refresh:()=>s?.mutate?.()}};function PC({token:e},t){let{isLoading:r,priceMap:o}=se({tokens:e?[e]:void 0},t);return{data:e?o[e.chainId]?.[e.address.toLowerCase()]:void 0,isLoading:r}}import zu from"swr";import{erc20Abi as Zu}from"viem";import{usePublicClient as ju}from"@berachain/wagmi/hooks";function xC({address:e}){let t=ju();return zu(e&&t?["useTotalSupply",e]:null,([,r])=>(g(t),t.readContract({address:r,abi:Zu,functionName:"totalSupply",args:[]})))}import{useCallback as Ju}from"react";import{useBeraWagmi as Xu}from"@berachain/wagmi/hooks";function UC(){let e=X(),{account:t}=Xu(),r=t?.wallet?.address;return Ju(o=>{if(!r)throw new E({property:"address",value:r,expected:"Address"});e.addTransaction(r,o)},[e,r])}import{useEffect as ep,useState as tp}from"react";import{useBeraWallet as rp}from"@berachain/wagmi/hooks";function MC(){let e=X(),{address:t}=rp(),[r,o]=tp(()=>e&&t?e.getTransactions(t):[]);return ep(()=>{if(e&&t)return o(e.getTransactions(t)),e.onChange(()=>{o(e.getTransactions(t))})},[e,t]),r}import{useCallback as op}from"react";import{useBeraWagmi as sp}from"@berachain/wagmi/hooks";function KC(){let e=X(),{account:t}=sp(),r=t?.wallet?.address;return op((o,s)=>{if(!r)throw new E({property:"address",value:r,expected:"Address"});e.setTransactionStatus(r,o,s)},[e,r])}import ap from"swr/immutable";import{useBlockNumber as np,usePublicClient as ip}from"@berachain/wagmi/hooks";function tT(e){let t=ip(),{config:r}=k({chainId:t?.chain.id}),{data:o,isLoading:s}=np({cacheTime:be(r.averageBlockTime)}),{data:a}=ap(o&&t&&Number(e)>0?["useBlockToTimestamp",e,o]:null,async([,n,l])=>(g(t),tr({block:n,currentBlock:l,blockTime:i,publicClient:t}))),i=J();if(a)return Number(a.timestamp);if(!(s||!o))return Math.floor(er(Date.now())+i*(Number(e)-Number(o)))}import{useCallback as ss,useReducer as lp}from"react";import{useBeraWagmi as up,useConfig as pp}from"@berachain/wagmi/hooks";var Ct={confirmState:"idle",txnHash:"",message:""},os=(e,t)=>{switch(t.type){case"confirm_sending":return{...e,confirmState:"loading"};case"confirm_receipt":return{...e,confirmState:"success"};case"confirm_error":return{...e,confirmState:"fail"};case"confirm_submitting":return{...e,confirmState:"submitting"};case"confirm_reset":return{...Ct};default:return e}};function mp({onlyPermissionless:e,onSuccess:t,onError:r,onLoading:o,onWarning:s,onSubmission:a}={}){let[i,n]=lp(os,Ct),{account:l,onSmartAccountRejection:u}=up(),m=pp(),p=l?.wallet?.isContract?6e4*10:12e4,c=ss(()=>{n({type:"confirm_reset"})},[]),d=U("enableSimulateCalls"),f=ss(y=>{if(e&&!y.permissionless){let A=new kr({message:"Trying to send a non-permissionless transaction with an overridden account",displayMessage:"You can't send this transaction with an overridden account. Please reset the account in the settings popover.",level:"info",input:y});throw s?.(A,y),r?.(A,y),A}return Pr({wagmiConfig:m,...y,txConfirmationTimeout:p,enableSimulateCalls:d,onLoading(...A){n({type:"confirm_sending"}),y.onLoading?.(y),o?.(...A)},onWarning(...A){y.onWarning?.(A[0],y),s?.(...A)},onSubmission(...A){n({type:"confirm_submitting"}),y.onSubmission?.(A[0],y),a?.(...A)},onSuccess(...A){n({type:"confirm_receipt"}),y.onSuccess?.(A[0],y),t?.(...A)},onError(...A){n({type:"confirm_error"}),y.onError?.(A[0],y),A[0].reason==="AtomicReadyWalletRejectedUpgradeError"&&u(),r?.(...A)}})},[m,o,s,a,t,r,e,d]);return{isLoading:i.confirmState==="loading",isSubmitting:i.confirmState==="submitting",isSuccess:i.confirmState==="success",isError:i.confirmState==="fail",write:f,reset:c}}var dp=mp;import cp from"swr/immutable";import{isAddress as fp,zeroAddress as gp}from"viem";import{chainId as yp}from"@berachain/config/internal";async function Ap(e){let t=await ce({url:`https://api.routescan.io/v2/network/testnet/evm/${yp}/etherscan/api?module=contract&action=getabi&address=${e}`,type:"rest",name:"RouteScan"});if(t.status==="0")throw new Error(t.result);return t.result}var hT=e=>cp(e&&fp(e)&&e!==gp?["useGetVerifiedAbi",e]:null,()=>e?Ap(e):Promise.resolve(""),{});import{useCallback as as,useEffect as bp,useState as hp}from"react";function kT({key:e,defaultValue:t}){let r=as(()=>{if(typeof window>"u")return t;let i=window.history.state?.[e];return i!==void 0?i:t},[e,t]),[o,s]=hp(r()),a=as(i=>{let n=r(),l=i instanceof Function?i(n):i,m={...window.history.state||{},[e]:l};window.history.replaceState(m,""),s(l)},[e,r]);return bp(()=>{if(window.history.state?.[e]===void 0){let l={...window.history.state||{},[e]:t};window.history.replaceState(l,"")}},[e,t]),[o,a]}import{useEffect as Rp,useRef as wp}from"react";function TT(e){let t=wp(void 0);return Rp(()=>{t.current=e}),t.current}import kp from"swr";var Pp=({variables:e}={})=>["useAllValidators",e],vT=(e,t)=>{let{config:r}=k(e),o=kp(Pp({variables:e}),async([,s])=>await Cr({variables:{chain:r.bex.chainName,...s}}),{refreshInterval:18e4,...t?.opts});return{...o,refresh:()=>o.mutate()}};import Cp from"swr";function LT({allocation:e}){return Cp(e?["useApiEnrichedAllocation",e]:null,([,t])=>Tr({allocation:t}))}import Tp from"swr";import{isHex as Ip}from"viem";var Sp=e=>e?["useApiValidator",e]:null,ns=(e,t)=>{let r=Sp(e),o=t?.opts?.isEnabled??!0,s=Tp(o&&e?r:null,async([,a])=>{if(!a||!Ip(a))throw new Error(`Invalid validator ID: ${a}`);return Ir({id:a})},{...t?.opts});return{...s,refresh:()=>s.mutate()}};import Ep from"swr";import{usePublicClient as xp}from"@berachain/wagmi/hooks";var is=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"AccessControlBadConfirmation",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"bytes32",name:"neededRole",type:"bytes32"}],name:"AccessControlUnauthorizedAccount",type:"error"},{inputs:[{internalType:"address",name:"target",type:"address"}],name:"AddressEmptyCode",type:"error"},{inputs:[],name:"AmountGreaterThanReward",type:"error"},{inputs:[],name:"AmountLessThanMinIncentiveRate",type:"error"},{inputs:[],name:"CannotRecoverIncentiveToken",type:"error"},{inputs:[],name:"CannotRecoverRewardToken",type:"error"},{inputs:[],name:"CannotRecoverStakingToken",type:"error"},{inputs:[],name:"CommissionChangeAlreadyQueued",type:"error"},{inputs:[],name:"CommissionNotQueuedOrDelayNotPassed",type:"error"},{inputs:[],name:"DepositNotMultipleOfGwei",type:"error"},{inputs:[],name:"DepositValueTooHigh",type:"error"},{inputs:[],name:"DonateAmountLessThanPayoutAmount",type:"error"},{inputs:[{internalType:"address",name:"receiver",type:"address"}],name:"DuplicateReceiver",type:"error"},{inputs:[],name:"DurationChangeNotAllowed",type:"error"},{inputs:[{internalType:"address",name:"implementation",type:"address"}],name:"ERC1967InvalidImplementation",type:"error"},{inputs:[],name:"ERC1967NonPayable",type:"error"},{inputs:[],name:"FailedCall",type:"error"},{inputs:[],name:"IncentiveRateTooHigh",type:"error"},{inputs:[],name:"IndexOutOfRange",type:"error"},{inputs:[],name:"InsolventReward",type:"error"},{inputs:[],name:"InsufficientDelegateStake",type:"error"},{inputs:[],name:"InsufficientDeposit",type:"error"},{inputs:[],name:"InsufficientIncentiveTokens",type:"error"},{inputs:[],name:"InsufficientNativeValue",type:"error"},{inputs:[],name:"InsufficientSelfStake",type:"error"},{inputs:[],name:"InsufficientStake",type:"error"},{inputs:[],name:"InvalidActivateBoostDelay",type:"error"},{inputs:[],name:"InvalidArray",type:"error"},{inputs:[],name:"InvalidBaseRate",type:"error"},{inputs:[],name:"InvalidBoostMultiplier",type:"error"},{inputs:[],name:"InvalidCommissionChangeDelay",type:"error"},{inputs:[],name:"InvalidCommissionValue",type:"error"},{inputs:[],name:"InvalidCredentialsLength",type:"error"},{inputs:[],name:"InvalidDistribution",type:"error"},{inputs:[],name:"InvalidDropBoostDelay",type:"error"},{inputs:[],name:"InvalidIncentiveFeeRate",type:"error"},{inputs:[],name:"InvalidIncentiveRate",type:"error"},{inputs:[],name:"InvalidInitialization",type:"error"},{inputs:[],name:"InvalidMaxIncentiveTokensCount",type:"error"},{inputs:[],name:"InvalidMaxWeightPerVault",type:"error"},{inputs:[],name:"InvalidMerkleRoot",type:"error"},{inputs:[],name:"InvalidMinBoostedRewardRate",type:"error"},{inputs:[],name:"InvalidProof",type:"error"},{inputs:[],name:"InvalidPubKeyLength",type:"error"},{inputs:[],name:"InvalidRewardAllocationInactivityBlockSpan",type:"error"},{inputs:[],name:"InvalidRewardAllocationWeights",type:"error"},{inputs:[],name:"InvalidRewardClaimDelay",type:"error"},{inputs:[],name:"InvalidRewardConvexity",type:"error"},{inputs:[],name:"InvalidRewardDuration",type:"error"},{inputs:[],name:"InvalidRewardRate",type:"error"},{inputs:[],name:"InvalidSignatureLength",type:"error"},{inputs:[],name:"InvalidStartBlock",type:"error"},{inputs:[],name:"InvalidToken",type:"error"},{inputs:[],name:"InvalidWeight",type:"error"},{inputs:[],name:"InvalidateDefaultRewardAllocation",type:"error"},{inputs:[],name:"InvariantCheckFailed",type:"error"},{inputs:[],name:"MaxNumWeightsPerRewardAllocationIsZero",type:"error"},{inputs:[],name:"MethodNotAllowed",type:"error"},{inputs:[],name:"MinIncentiveRateIsZero",type:"error"},{inputs:[],name:"NonTransferable",type:"error"},{inputs:[],name:"NotAContract",type:"error"},{inputs:[],name:"NotApprovedSender",type:"error"},{inputs:[],name:"NotBGT",type:"error"},{inputs:[],name:"NotBlockRewardController",type:"error"},{inputs:[],name:"NotDelegate",type:"error"},{inputs:[],name:"NotDistributor",type:"error"},{inputs:[],name:"NotEnoughBalance",type:"error"},{inputs:[],name:"NotEnoughBoostedBalance",type:"error"},{inputs:[],name:"NotEnoughTime",type:"error"},{inputs:[],name:"NotFactoryVault",type:"error"},{inputs:[],name:"NotFeeCollector",type:"error"},{inputs:[],name:"NotIncentiveManager",type:"error"},{inputs:[],name:"NotInitializing",type:"error"},{inputs:[],name:"NotNewOperator",type:"error"},{inputs:[],name:"NotOperator",type:"error"},{inputs:[],name:"NotRewardAllocator",type:"error"},{inputs:[],name:"NotRewardDurationManager",type:"error"},{inputs:[],name:"NotRewardVaultManager",type:"error"},{inputs:[],name:"NotSystemAddress",type:"error"},{inputs:[],name:"NotWBERAStakerVault",type:"error"},{inputs:[],name:"NotWhitelistedVault",type:"error"},{inputs:[],name:"OnlyNFTOwnerAllowed",type:"error"},{inputs:[],name:"OnlySystemCallAllowed",type:"error"},{inputs:[],name:"OperatorAlreadySet",type:"error"},{inputs:[],name:"PayoutAmountIsZero",type:"error"},{inputs:[],name:"RewardAllocationAlreadyQueued",type:"error"},{inputs:[],name:"RewardAllocationBlockDelayTooLarge",type:"error"},{inputs:[],name:"RewardCycleNotEnded",type:"error"},{inputs:[],name:"RewardDurationCoolDownPeriodNotPassed",type:"error"},{inputs:[],name:"RewardInactive",type:"error"},{inputs:[],name:"RewardsDurationIsZero",type:"error"},{inputs:[],name:"StakeAmountIsZero",type:"error"},{inputs:[],name:"TimestampAlreadyProcessed",type:"error"},{inputs:[],name:"TokenAlreadyWhitelistedOrLimitReached",type:"error"},{inputs:[],name:"TokenNotWhitelisted",type:"error"},{inputs:[],name:"TooManyWeights",type:"error"},{inputs:[],name:"TotalSupplyOverflow",type:"error"},{inputs:[],name:"UUPSUnauthorizedCallContext",type:"error"},{inputs:[{internalType:"bytes32",name:"slot",type:"bytes32"}],name:"UUPSUnsupportedProxiableUUID",type:"error"},{inputs:[],name:"UnauthorizedETHTransfer",type:"error"},{inputs:[],name:"WithdrawAmountIsZero",type:"error"},{inputs:[],name:"WithdrawalAlreadyRequested",type:"error"},{inputs:[],name:"WithdrawalNotReady",type:"error"},{inputs:[],name:"WithdrawalNotRequested",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{inputs:[],name:"ZeroOperatorOnFirstDeposit",type:"error"},{inputs:[],name:"ZeroPercentageWeight",type:"error"},{anonymous:!1,inputs:[{components:[{internalType:"address",name:"receiver",type:"address"},{internalType:"uint96",name:"percentageNumerator",type:"uint96"}],indexed:!1,internalType:"struct IBeraChef.Weight[]",name:"weights",type:"tuple[]"}],name:"BaselineAllocationSet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint64",name:"version",type:"uint64"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"previousAdminRole",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"newAdminRole",type:"bytes32"}],name:"RoleAdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleGranted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleRevoked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"implementation",type:"address"}],name:"Upgraded",type:"event"},{inputs:[],name:"ALLOCATION_SETTER_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_ADMIN_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"UPGRADE_INTERFACE_VERSION",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"beraChef",outputs:[{internalType:"contract IBeraChef",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBaselineAllocation",outputs:[{components:[{internalType:"uint64",name:"startBlock",type:"uint64"},{components:[{internalType:"address",name:"receiver",type:"address"},{internalType:"uint96",name:"percentageNumerator",type:"uint96"}],internalType:"struct IBeraChef.Weight[]",name:"weights",type:"tuple[]"}],internalType:"struct IBeraChef.RewardAllocation",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleAdmin",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"grantRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"hasRole",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_governance",type:"address"},{internalType:"address",name:"_beraChef",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"callerConfirmation",type:"address"}],name:"renounceRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"revokeRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"receiver",type:"address"},{internalType:"uint96",name:"percentageNumerator",type:"uint96"}],internalType:"struct IBeraChef.Weight[]",name:"weights",type:"tuple[]"}],name:"setBaselineAllocation",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newImplementation",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"upgradeToAndCall",outputs:[],stateMutability:"payable",type:"function"}];async function ls({publicClient:e,...t}){let{config:r}=k(t),o=await e.readContract({abi:is,address:r.pol.rewardAllocationFactory,functionName:"getBaselineAllocation"}),s=o.startBlock!==0n?await e.getBlock({blockNumber:o.startBlock}):{timestamp:0};return Er(o,Number(s.timestamp))}function zT(){let e=xp();return Ep(e?["baselineRewardAllocation"]:null,()=>(g(e),ls({publicClient:e})))}import vp from"swr";var Bp=({pubKey:e,first:t=1})=>{let o=vp(e?["useDailyValidatorBlockStats",e,t]:null,async([,s,a])=>await Sr({pubKey:s,first:a}),{refreshInterval:18e4});return{...o,refresh:()=>o.mutate()}};import Dp from"swr";import{usePublicClient as Op}from"@berachain/wagmi/hooks";function Lp(e){let t=Op(),o=Dp(t?["useDefaultRewardAllocation"]:null,async()=>(g(t),await vr({client:t})),{...e?.opts});return{...o,refresh:()=>o.mutate()}}import Up from"swr/immutable";var Np=({account:e},t)=>{let o=Up(e?["useManagedValidatorByAccount",e]:null,async([,s])=>await Br({account:s}),{...t?.opts});return{...o,refresh:()=>o.mutate()}};import{useMemo as ps}from"react";import Vp from"swr";import{useBeraWallet as Wp,usePublicClient as Mp}from"@berachain/wagmi/hooks";import{zeroAddress as Hp}from"viem";async function us({client:e,pubKey:t,...r}){let{config:o}=k(r);try{let s=await e.readContract({address:o.pol.beraChef,abi:F,functionName:"valRewardAllocator",args:[t]});return s===Hp?null:s}catch(s){throw console.log("getValidatorRewardAllocatorAddress:",s),s}}function ms(e,t){return!e||!t?!1:t.operator?.toLowerCase()===e.toLowerCase()}function _p(e,t){return!e||!t?!1:t.rewardAllocator?t.rewardAllocator.toLowerCase()===e.toLowerCase():ms(e,t)}function Qp({pubKey:e,account:t},r){let o=Mp(),s=U("mockValidatorOperator"),a=U("mockValidatorRewardAllocator"),i=o&&e?["useManagedValidatorRole",e]:null,{address:n}=Wp(),l=t??n,u=Vp(i,async([,c])=>{g(o);let[d,f]=await Promise.all([Wr({client:o,pubKey:c}),us({client:o,pubKey:c})]);return{operator:d??null,rewardAllocator:f}},{...r?.opts}),m=ps(()=>s||ms(l,u.data),[l,s,u.data]),p=ps(()=>a||_p(l,u.data),[l,a,u.data]);return{...u,data:u.data?{...u.data,hasOperatorRole:m,hasRewardAllocatorRole:p}:void 0,refresh:()=>u.mutate()}}import Yp from"swr";import{keccak256 as Gp}from"viem";import{usePublicClient as Fp}from"@berachain/wagmi/hooks";var ds=({pubkey:e},t)=>{let r=Fp(),o=e?["useOnChainValidator",e]:null,s=t.opts?.isEnabled??!0,a=Yp(s&&r?o:null,async([,i])=>{g(r);let{config:n}=k({chainId:r.chain.id}),[l,u,m]=await Promise.all([r.readContract({address:n.depositContract,abi:St,functionName:"getOperator",args:[i]}),r?.readContract({address:n.tokens.bgt,abi:Q,functionName:"boostees",args:[i]}),r.readContract({address:n.pol.beraChef,abi:F,functionName:"getActiveRewardAllocation",args:[i]})]);return{id:Gp(i),pubkey:i,operator:l,votingPower:Number(u)}});return{...a,refresh:()=>{a.mutate()}}};import Kp from"swr";import{usePublicClient as qp}from"@berachain/wagmi/hooks";var OI=({valPubKey:e,options:t})=>{let r=qp(),s=(t?.opts?.isEnabled??!0)&&r&&e?["useStakingPoolBatch",e]:null,a=Kp(s,async([,i])=>(g(r),await Dr({client:r,valPubKey:i})),{refreshInterval:1e4,...t?.opts});return{...a,refresh:()=>a.mutate()}};import $p from"swr";import{GetUserValidatorInformation as zp}from"@berachain/graphql/pol/subgraph";import{useBeraWallet as Zp}from"@berachain/wagmi/hooks";var jp=({account:e}={})=>{let{address:t}=Zp(),r=e??t;return $p(r?["useSubgraphUserValidators",r]:null,async([,s])=>{let a=Z("pol.subgraph",{}),{data:i}=await a.query({query:zp,variables:{address:s}});return i.userValidatorInformations})};import Jp from"swr";import{useBeraWallet as Xp,usePublicClient as em}from"@berachain/wagmi/hooks";var tm=e=>{let{address:t}=Xp(),r=em(),s=Jp(r&&t?["useUserActiveValidators",t]:null,async([,a])=>await Lr({account:a,publicClient:r}),{...e,refreshInterval:e?.opts?.refreshInterval??18e4,keepPreviousData:!0});return{...s,refresh:()=>s?.mutate?.()}};import rm from"swr";import{useBeraWallet as om,usePublicClient as sm}from"@berachain/wagmi/hooks";var am=({pubkey:e,...t})=>{let{address:r}=om(),o=sm(),s=t.account??r,i=rm(s&&e?["useUserBoostsOnValidator",e,s]:null,async([,n,l])=>await Or({account:l,pubkey:n,publicClient:o}),{refreshInterval:1e5});return{...i,refresh:()=>i.mutate()}};import{useCallback as nm,useMemo as im}from"react";import fs from"swr";import{useBeraWallet as lm}from"@berachain/wagmi/hooks";var cs=e=>{let t=new Set;return e.forEach(r=>{Array.isArray(r.rewards)&&r.rewards.forEach(o=>{o.token&&t.add(o.token)})}),t};var um=()=>{let{address:e}=lm(),r=fs(e?["useUserClaimableIncentives",e]:null,async([,l])=>{if(!l)throw new x({message:"useUserClaimableIncentives needs a logged in account",level:"error"});return await gr({account:l})},{revalidateOnFocus:!1,revalidateOnReconnect:!1,revalidateIfStale:!1,refreshInterval:18e4}),o=r?.data,s=im(()=>{if(o){if(!Array.isArray(o)){he.captureException(new x({message:"Incorrect aggregated incentives data receieved.",level:"error",extra:{allRewards:o,account:e}}));return}return cs(o)}},[o,e]),i=fs(e&&o?["useUserClaimableIncentives",e,o]:null,async([,l,u])=>{if(!l)throw new E({property:"account",value:l,expected:"Address"});if(!u)return[];if(!Array.isArray(u))throw new E({message:"Incorrect aggregated incentives data receieved to calculate proofs.",property:"allRewards",value:u,expected:"Array",level:"error"});let m=new Set(u.map(c=>c.validator)),p=Array.from(m);return await Promise.all(p.map(async c=>({...await lr({account:l,validator:c,page:1,perPage:1e4}),validator:c})))},{revalidateOnFocus:!1,revalidateOnReconnect:!1,revalidateIfStale:!1,refreshInterval:18e4}),n=nm(()=>{r?.mutate(),i?.mutate()},[r,i]);return{...i,isLoading:r?.isLoading||i?.isLoading,tokenMap:s,refresh:n}};import pm from"swr/immutable";var iS=({account:e,validatorAddress:t})=>{let o=pm(e?["useUserStakingPositions",e,t]:null,async([s,a,i])=>{let n=await Ur(a);return i?n.filter(l=>l.validatorAddress.toLowerCase()===i.toLowerCase()):n});return{...o,refresh:()=>{o.mutate()}}};import{keccak256 as mm}from"viem";function dS({pubkey:e},t){let{data:{validator:r,uptime:o}={},isLoading:s,error:a}=ns(mm(e),t),{data:i,isLoading:n,error:l}=ds({pubkey:e},t);return{data:{uptime:o,validator:r||i?{...r,...i,operator:i?.operator??r?.operator,dynamicData:{activeBoostAmount:i?.dynamicData?.activeBoostAmount??r?.dynamicData?.activeBoostAmount??"",queuedBoostAmount:r?.dynamicData?.queuedBoostAmount??"",usersActiveBoostCount:r?.dynamicData?.usersActiveBoostCount??0,usersQueuedBoostCount:r?.dynamicData?.usersQueuedBoostCount??0,allTimeDistributedBGTAmount:r?.dynamicData?.allTimeDistributedBGTAmount??"0",rewardRate:i?.dynamicData?.rewardRate??r?.dynamicData?.rewardRate??"",stakedBeraAmount:r?.dynamicData?.stakedBeraAmount??"",lastDayDistributedBGTAmount:r?.dynamicData?.lastDayDistributedBGTAmount??"",activeBoostAmountRank:r?.dynamicData?.activeBoostAmountRank??0,boostApr:r?.dynamicData?.boostApr??0,commissionOnIncentives:r?.dynamicData?.commissionOnIncentives??0},id:i?.id??r?.id,pubkey:i?.pubkey??r?.pubkey,metadata:i?.metadata??r?.metadata,rewardAllocationWeights:i?.rewardAllocationWeights??r?.rewardAllocationWeights??[]}:null},isLoading:s||n,error:a||l}}import dm from"swr";function cm({pubkey:e,dayRange:t}){let o=dm(e&&t?["useValidatorAnalytics",e,t]:null,async([,s,a])=>await Nr({pubkey:s,dayRange:a}),{refreshInterval:18e4});return{...o,refresh:()=>o.mutate()}}import fm from"swr";import{usePublicClient as gm}from"@berachain/wagmi/hooks";var ym=(e,t)=>{let r=gm(),s=fm(r&&e?["useValidatorCommission",e]:null,async([,a])=>await Hr({client:r,pubKey:a}),{...t?.opts});return{...s,refresh:()=>s.mutate()}};var Am=e=>{let{data:t,isLoading:r}=Jo(),o=J();return{data:t?Vr(e,Number(t?.totalStakedBeraAmount),o):void 0,isLoading:r}};import bm from"swr";import{usePublicClient as hm}from"@berachain/wagmi/hooks";function Rm(e,t){let r=hm(),s=bm(r&&e?["useValidatorQueuedCommission",e]:null,async([,a])=>(g(r),await Mr({client:r,pubKey:a})),{...t?.opts});return{...s,refresh:()=>s.mutate()}}import wm from"swr";import{usePublicClient as km}from"@berachain/wagmi/hooks";var Pm=(e,t)=>{let r=km(),s=wm(r&&e?["useValidatorQueuedOperatorAddress",e]:null,async([,a])=>await _r({client:r,pubKey:a}),{...t?.opts});return{...s,refresh:()=>s.mutate()}};import Cm from"swr";import{usePublicClient as Tm}from"@berachain/wagmi/hooks";var Im=(e,t)=>{let r=Tm(),s=Cm(r&&e?["useValidatorQueuedRewardAllocation",e]:null,async([,a])=>await Qr({client:r,pubKey:a}),{...t?.opts});return{...s,refresh:()=>s.mutate()}};import Sm from"swr";import{usePublicClient as Em}from"@berachain/wagmi/hooks";function xm(e,t){let r=Em(),s=Sm(r&&e?["useValidatorRewardAllocation",e]:null,async([,a])=>await xr({client:r,pubKey:a}),{...t?.opts});return{...s,refresh:()=>s.mutate()}}export{ba as OracleMode,lo as USE_AGGREGATORS_QUOTES_QUERY_KEY,Bm as convertLegacyDataToNewData,Lm as createTransactionStore,Dm as filterDuplicatefn,Om as mergeData,jo as reducer,vm as safeParseJsonData,UC as useAddRecentTransaction,mf as useAggregatorsQuotes,Te as useAggregatorsRouterFeeBps,uo as useAllUserPools,la as useAllUserPoolsQueryKey,vT as useAllValidators,Pp as useAllValidatorsQueryKey,LT as useApiEnrichedAllocation,po as useApiPool,ma as useApiPoolQueryKey,ns as useApiValidator,Sp as useApiValidatorQueryKey,zT as useBaselineRewardAllocation,PA as useBendZapSupply,Gn as useBendZapSupplyHelper,dp as useBeraContractWrite,cC as useBeraCurrentPrice,Ge as useBexStatus,Bw as useBgtAprSimulation,Wl as useBgtUnstakedBalance,tT as useBlockToTimestamp,Qo as useCappedGlobally,Yo as useCappedRelatively,Gl as useClaimableFees,bR as useCollateralWeights,Nf as useCreatePool,bi as useCreateProposal,Bp as useDailyValidatorBlockStats,Lp as useDefaultRewardAllocation,KA as useEnsoSwapBundle,qf as useExploitedTokens,Ea as useExploitedTokensQueryKey,Fr as useGetConvertToAssets,Sb as useGetPastVotes,hT as useGetVerifiedAbi,va as useGlobalLiquidityAndSwapVolume,Ub as useHasVoted,Xw as useHighestVaultsAPR,kT as useHistoryState,ZR as useHoneyAlerts,Go as useHoneyBalances,ew as useHoneyChartData,aw as useHoneyGlobalData,Rw as useHoneySwapState,Fo as useHoneyVaultsBalance,Ko as useIsBadCollateralAsset,zo as useIsBasketModeEnabled,Gb as useIsCanceller,tg as useLiquidityMismatch,Hg as useLpPosition,Np as useManagedValidatorByAccount,Qp as useManagedValidatorRole,un as useMultipleTokenApprovalsWithSlippage,Io as useMultipleTokenInformation,So as useOnChainPoolData,Pn as useOnChainPoolDataQueryKey,ds as useOnChainValidator,Zb as usePollAllProposals,Ni as usePollAllProposalsQueryKey,Po as usePollAllowances,Ee as usePollBalance,Jo as usePollGlobalData,lk as usePollMarkets,Xl as usePollMarketsQueryKey,Sn as usePollPoolCreationRelayerApproval,sh as usePollProposal,mh as usePollProposalThreshold,gh as usePollProposalVotes,Gi as usePollProposalVotesQueryKey,Ph as usePollUserDelegates,Lo as usePollWalletBalances,Ly as usePool,Vy as usePoolEvents,Yy as usePoolHistoricalData,Zy as usePools,Un as usePoolsQueryKey,TT as usePrevious,ve as usePriceImpact,Eh as useProposalFromTx,Ho as useProposalSnapshot,Lh as useProposalState,Mh as useProposalTimelockState,ae as usePythLatestPrices,Sw as usePythUpdateFee,gk as useQueuedBeraUnlock,Zh as useQuorum,MC as useRecentTransactions,Ck as useRewardTokenToBeraRate,Yk as useRewardVault,bo as useRewardVaultBalanceFromStakingToken,yt as useRewardVaultFromToken,zk as useRewardVaultIncentives,gu as useRewardVaultQueryKey,Ru as useRewardVaultRewards,Pt as useRewardVaults,ql as useRewardVaultsQueryKey,OP as useSWBeraVaultMetadata,KC as useSetTransactionStatus,ea as useSingleAggregatorQuote,nP as useStakedAPR,bP as useStakedData,IP as useStakedSnapshots,OI as useStakingPoolBatch,RC as useStakingTokenInformation,vn as useSubgraphPoolQueryKey,jp as useSubgraphUserValidators,rs as useTokenCurrentPrice,re as useTokenCurrentPrices,ho as useTokenInformation,PC as useTokenPrice,se as useTokenPrices,ee as useTokens,VP as useTotalStakedAmount,xC as useTotalSupply,tm as useUserActiveValidators,am as useUserBoostsOnValidator,um as useUserClaimableIncentives,iS as useUserStakingPositions,Lu as useUserVaultInfo,Vu as useUserVaults,dS as useValidator,cm as useValidatorAnalytics,ym as useValidatorCommission,Am as useValidatorEstimatedBgtPerYear,Rm as useValidatorQueuedCommission,Pm as useValidatorQueuedOperatorAddress,Im as useValidatorQueuedRewardAllocation,xm as useValidatorRewardAllocation,eC as useVaultAddress,sC as useVaultHistory,Yu as useVaultValidators,eb as useZapStakeBera};
|
|
4
|
+
//# sourceMappingURL=exports.mjs.map
|