@berachain/berajs 0.1.2 → 0.2.1
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} +79 -107
- package/dist/actions/{index.d.ts → exports.d.ts} +79 -107
- package/dist/actions/exports.mjs +2 -0
- package/dist/actions/exports.mjs.map +1 -0
- package/dist/chunk-22J3YJDN.cjs +2 -0
- package/dist/chunk-22J3YJDN.cjs.map +1 -0
- package/dist/chunk-2LL3P5PN.mjs +2 -0
- package/dist/chunk-2LL3P5PN.mjs.map +1 -0
- package/dist/chunk-3YXSUBA5.mjs +2 -0
- package/dist/chunk-3YXSUBA5.mjs.map +1 -0
- package/dist/chunk-55L7STYD.mjs +2 -0
- package/dist/chunk-55L7STYD.mjs.map +1 -0
- package/dist/chunk-575OK77P.mjs +2 -0
- package/dist/chunk-575OK77P.mjs.map +1 -0
- package/dist/chunk-6LDOG5RL.cjs +2 -0
- package/dist/chunk-6LDOG5RL.cjs.map +1 -0
- package/dist/chunk-7LNBSOVV.cjs +2 -0
- package/dist/chunk-7LNBSOVV.cjs.map +1 -0
- package/dist/chunk-7SMWQ6SN.mjs +2 -0
- package/dist/chunk-7SMWQ6SN.mjs.map +1 -0
- package/dist/chunk-7WRTK7RJ.mjs +2 -0
- package/dist/chunk-7WRTK7RJ.mjs.map +1 -0
- package/dist/chunk-A4UDYSB6.mjs +4 -0
- package/dist/chunk-A4UDYSB6.mjs.map +1 -0
- package/dist/chunk-AX2YQQFQ.mjs +2 -0
- package/dist/chunk-AX2YQQFQ.mjs.map +1 -0
- package/dist/chunk-C3FHGFLK.mjs +2 -0
- package/dist/chunk-C3FHGFLK.mjs.map +1 -0
- package/dist/chunk-C6ZGUO4H.cjs +2 -0
- package/dist/chunk-C6ZGUO4H.cjs.map +1 -0
- package/dist/chunk-CYKCYPFR.cjs +2 -0
- package/dist/chunk-CYKCYPFR.cjs.map +1 -0
- package/dist/chunk-ECRMUMTA.mjs +2 -0
- package/dist/chunk-ECRMUMTA.mjs.map +1 -0
- package/dist/chunk-F4BKSBEM.mjs +2 -0
- package/dist/chunk-F4BKSBEM.mjs.map +1 -0
- package/dist/chunk-FCWDGE62.cjs +2 -0
- package/dist/chunk-FCWDGE62.cjs.map +1 -0
- package/dist/chunk-FL2N3XHK.cjs +2 -0
- package/dist/chunk-FL2N3XHK.cjs.map +1 -0
- package/dist/chunk-MUCEYO3E.cjs +4 -0
- package/dist/chunk-MUCEYO3E.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-P2Q7CMUD.cjs +2 -0
- package/dist/chunk-P2Q7CMUD.cjs.map +1 -0
- package/dist/chunk-PKXAW6MO.cjs +2 -0
- package/dist/chunk-PKXAW6MO.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-THATXCJK.mjs +2 -0
- package/dist/chunk-THATXCJK.mjs.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-XNJLSA6P.cjs +2 -0
- package/dist/chunk-XNJLSA6P.cjs.map +1 -0
- package/dist/chunk-YXLFOEZN.mjs +2 -0
- package/dist/chunk-YXLFOEZN.mjs.map +1 -0
- package/dist/chunk-YZV5LKIP.cjs +2 -0
- package/dist/chunk-YZV5LKIP.cjs.map +1 -0
- package/dist/contexts/exports.cjs +2 -0
- package/dist/contexts/exports.cjs.map +1 -0
- package/dist/contexts/{index.d.cts → exports.d.cts} +10 -27
- package/dist/contexts/{index.d.ts → exports.d.ts} +10 -27
- package/dist/contexts/exports.mjs +2 -0
- package/dist/contexts/exports.mjs.map +1 -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 +23 -0
- package/dist/enum/exports.d.ts +23 -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 +408 -0
- package/dist/errors/exports.d.ts +408 -0
- package/dist/errors/exports.mjs +2 -0
- package/dist/{getValidatorQueuedOperatorAddress-Ne2zoiiV.d.ts → getValidatorQueuedOperatorAddress-Dstyaomr.d.cts} +125 -15
- package/dist/{getValidatorQueuedOperatorAddress-9xY2RUGe.d.cts → getValidatorQueuedOperatorAddress-RW4OMcD1.d.ts} +125 -15
- package/dist/global.d-CN6l2b9E.d.cts +473 -0
- package/dist/global.d-wYu8G8IQ.d.ts +473 -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} +218 -176
- package/dist/hooks/{index.d.ts → exports.d.ts} +218 -176
- package/dist/hooks/exports.mjs +4 -0
- package/dist/hooks/exports.mjs.map +1 -0
- package/dist/{txnEnum-BQKDfaeH.d.cts → txnEnum-BlBYhNRl.d.cts} +75 -1
- package/dist/{txnEnum-BQKDfaeH.d.ts → txnEnum-BlBYhNRl.d.ts} +75 -1
- package/dist/types/exports.cjs +1 -0
- package/dist/types/exports.cjs.map +1 -0
- package/dist/types/exports.d.cts +57 -0
- package/dist/types/exports.d.ts +57 -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 +19 -20
- 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 +24 -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/contexts/block-time-provider.tsx +1 -1
- package/src/contexts/{index.ts → exports.ts} +0 -1
- package/src/data/contracts.ts +17 -2
- 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 +61 -13
- 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 +29 -3
- package/src/errors/assert.ts +4 -2
- package/src/errors/assert.unit.test.ts +6 -2
- package/src/errors/errorMap.ts +19 -8
- package/src/errors/{index.ts → exports.ts} +7 -0
- package/src/errors/getErrorMessage.ts +67 -9
- package/src/errors/getRevertReason.integration.test.ts +18 -6
- 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} +17 -10
- 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/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/transactions/TransactionStoreContext.tsx +0 -59
- package/src/hooks/transactions/transactionStore.ts +0 -275
- package/src/hooks/transactions/transactionStore.unit.test.ts +0 -508
- package/src/hooks/transactions/useAddRecentTransaction.ts +0 -29
- package/src/hooks/transactions/useRecentTransactions.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
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } async function _asyncNullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return await rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } async function _asyncOptionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = await fn(value); } else if (op === 'call' || op === 'optionalCall') { value = await fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class;var _chunkVP7XUOSIcjs = require('./chunk-VP7XUOSI.cjs');var _chunk6LDOG5RLcjs = require('./chunk-6LDOG5RL.cjs');var _chunk7LNBSOVVcjs = require('./chunk-7LNBSOVV.cjs');var _chunkPKXAW6MOcjs = require('./chunk-PKXAW6MO.cjs');var _chunk22J3YJDNcjs = require('./chunk-22J3YJDN.cjs');var _chunkC6ZGUO4Hcjs = require('./chunk-C6ZGUO4H.cjs');var _viem = require('viem');async function La({sharesAmount:e,vaultAddress:t,publicClient:r}){let a=await r.readContract({address:t,abi:_chunkVP7XUOSIcjs.a,functionName:"convertToAssets",args:[e]});return{raw:a,formatted:_viem.formatEther.call(void 0, a)}}var _client = require('@apollo/client');var _internal = require('@berachain/config/internal');var ye=class extends _client.ApolloClient{constructor(t){super(t),this.url=t.url}async query(t){let r=Wt(t.query),a={url:this.url,type:"graphql"},o={"operation.type":"query","operation.source.url":a.url,"operation.source.type":a.type,"operation.source.queryName":r};try{let i=()=>super.query(t),l=await _chunk6LDOG5RLcjs.a.startSpan({name:`GraphQL ${r}`,op:"BeraApolloClient.query",attributes:o},i);if(l.error||l.data===void 0)throw new (0, _chunkC6ZGUO4Hcjs.f)({level:"fatal",tags:o,message:"Bera Apollo Client: No data returned from query, but error should be thrown since errorPolicy is none"});return{data:l.data}}catch(i){throw!_internal.appConfig.env.isProduction&&console.error("BeraApolloClient error",i),_client.ServerError.is(i)?new (0, _chunkC6ZGUO4Hcjs.g)({response:i.response,cause:i,statusCode:i.statusCode,endpoint:a,tags:o}):i instanceof TypeError?new (0, _chunkC6ZGUO4Hcjs.g)({level:"fatal",reason:"TypeError",response:i,cause:i,endpoint:a,tags:o}):new (0, _chunkC6ZGUO4Hcjs.g)({response:i,tags:o,cause:i,endpoint:a})}}};function Wt(e){return _optionalChain([e, 'access', _2 => _2.definitions, 'access', _3 => _3.find, 'call', _4 => _4(r=>r.kind==="OperationDefinition"), 'optionalAccess', _5 => _5.name, 'optionalAccess', _6 => _6.value])}var _http = require('@apollo/client/link/http');var _config = require('@berachain/config');var _api = require('@berachain/graphql/dex/api'); var _api2 = _interopRequireDefault(_api);function Ht(e){if(!_internal.currentDapp)return e;let t=typeof e=="string"?void 0:e.headers;return{uri:_config.getUriFromLink.call(void 0, e),headers:{...t,"x-graphql-client-name":`berachain.${_internal.currentDapp}.${process.env.NEXT_RUNTIME||"browser"}`,"x-graphql-client-version":`${process.env.VERCEL_TARGET_ENV}.${process.env.VERCEL_GIT_COMMIT_SHA}`}}}function Y(e,{ssrMode:t,inMemoryCacheOptions:r}={}){let a=_config.getUriFromLink.call(void 0, e),o=typeof e=="string"?void 0:e.headers;return new ye({url:a,link:new (0, _http.HttpLink)({uri:a,headers:o}),defaultOptions:{query:{errorPolicy:"none",fetchPolicy:"no-cache"}},cache:new (0, _client.InMemoryCache)(r),ssrMode:t})}function g(e,{...t}){let{config:r}=_chunk22J3YJDNcjs.a.call(void 0, t);switch(e){case"api":return Y(Ht(r.api),{inMemoryCacheOptions:{possibleTypes:_api2.default.possibleTypes}});case"bend.whisk":if(!r.bend.whiskApi)throw new (0, _chunkC6ZGUO4Hcjs.f)({message:"Bend whisk API is not configured on this chain",level:"error"});return Y(r.bend.whiskApi);case"honey.subgraph":return Y(r.honey.subgraph);case"pol.subgraph":return Y(r.pol.subgraph);case"governance.subgraph":return Y(r.governance.subgraph);case"blocks.subgraph":return Y(r.blocksSubgraph);case"bex.subgraph":return Y(r.bex.subgraph)}}var tt= (_class =class e{static __initStatic() {this.PATH_NOT_FOUND_REASON="NO_SWAP_PATHS"}__init() {this.needsAccountForQuote=!1}__init2() {this.notFoundMessages=[]}constructor(t={}){;_class.prototype.__init.call(this);_class.prototype.__init2.call(this);_class.prototype.__init3.call(this);let{config:r,chainId:a}=_chunk22J3YJDNcjs.a.call(void 0, t);this.config=r,this.chainId=a}__init3() {this.url=""}parseAddresses(t,r){if(!_viem.isAddress.call(void 0, t)||!_viem.isAddress.call(void 0, r))throw new (0, _chunkC6ZGUO4Hcjs.f)({message:`Invalid address: ${t} or ${r}`,level:"error"});return{tokenInAddress:_chunk22J3YJDNcjs.e.call(void 0, t,"BERA")?this.config.tokens.wbera:t,tokenOutAddress:_chunk22J3YJDNcjs.e.call(void 0, r,"BERA")?this.config.tokens.wbera:r,isTokenInNative:_chunk22J3YJDNcjs.e.call(void 0, t,"BERA"),isTokenOutNative:_chunk22J3YJDNcjs.e.call(void 0, r,"BERA")}}getAmountAfterFees(t,r){if(r===void 0)throw new (0, _chunkC6ZGUO4Hcjs.f)({message:"aggregatorsFeeBps is required",level:"error"});let a=new (0, _chunkPKXAW6MOcjs.a)(t).times(r).dividedBy(1e4).toFixed(0,_chunkPKXAW6MOcjs.a.ROUND_DOWN);return new (0, _chunkPKXAW6MOcjs.a)(t).minus(a).toFixed(0,_chunkPKXAW6MOcjs.a.ROUND_DOWN)}getInputData({tokenIn:t,amountIn:r,isNative:a,isPermit2Approval:o=!1,permit2SpenderAddress:i}){return{tokenIn:t,amountIn:BigInt(r),isNative:a,isPermit2Approval:o,permit2SpenderAddress:_nullishCoalesce(i, () => (_viem.zeroAddress))}}getMinAmountOut(t,r){if(r===void 0)throw new (0, _chunkC6ZGUO4Hcjs.f)({message:"slippage is required",level:"error"});let a=new (0, _chunkPKXAW6MOcjs.a)(t).times(1-r/100);return a.isNaN()||a.isZero()?0n:BigInt(a.toFixed(0))}parseAllowanceRequirements({tokenIn:t,rawAmount:r,spender:a}){return _chunk22J3YJDNcjs.e.call(void 0, t,"BERA")?[]:[{token:t,amount:{raw:r,formatted:_viem.formatUnits.call(void 0, BigInt(r),t.decimals)},spender:a}]}checkChainSupport({tokenIn:t,tokenOut:r}){return this.supportedChains===null?!0:this.supportedChains.includes(t.chainId)&&this.supportedChains.includes(r.chainId)}assertChainSupport({tokenIn:t,tokenOut:r,underlyingToken:a}){if(!this.checkChainSupport({tokenIn:t,tokenOut:r,underlyingToken:a}))throw new (0, _chunkC6ZGUO4Hcjs.f)({message:`${this.name} does not support tokens chain ID: ${t.chainId} and ${r.chainId}`,level:"error"})}async fetch(t,r){try{return await _chunkPKXAW6MOcjs.c.call(void 0, {url:t,name:this.name,type:this.type},{method:"GET",headers:{"Content-Type":"application/json"},...r})}catch(a){let o=_chunk7LNBSOVVcjs.a.call(void 0, {cause:a});throw this.notFoundMessages.some(i=>o.message.includes(i))&&(o.reason=e.PATH_NOT_FOUND_REASON),o}}}, _class.__initStatic(), _class);var _berancersdk = require('@berachain-foundation/berancer-sdk');var _chains = require('viem/chains');for(let e of Object.keys(_internal.chainConfigs)){let{config:t,chainId:r}=_chunk22J3YJDNcjs.a.call(void 0, {chainId:Number(e)});_berancersdk.API_CHAIN_NAMES[r]=t.bex.chainName,_berancersdk.CHAINS[r]=r===_chains.berachain.id?_chains.berachain:_chains.berachainBepolia,_berancersdk.BALANCER_RELAYER[r]=t.bex.relayer,_berancersdk.VAULT[r]=t.bex.vault,_berancersdk.BALANCER_QUERIES[r]=t.bex.queries,_berancersdk.WEIGHTED_POOL_FACTORY_BALANCER_V2[r]=_viem.zeroAddress,_berancersdk.COMPOSABLE_STABLE_POOL_FACTORY[r]=_viem.zeroAddress;let a=new (0, _berancersdk.Token)(r,_viem.zeroAddress,_chunk22J3YJDNcjs.b.decimals,_chunk22J3YJDNcjs.b.name,_chunk22J3YJDNcjs.b.symbol,t.tokens.wbera);_berancersdk.NATIVE_ASSETS[r]=a}var _api3 = require('@berachain/graphql/pol/api');async function So({textSearch:e,chain:t,first:r,orderBy:a,orderDirection:o,skip:i,fetchPolicy:l,userAddress:n,blacklistedPoolIds:s,...d}={}){let{config:u}=_chunk22J3YJDNcjs.a.call(void 0, d),f=await g("api",d).query({query:_api.GetPools,variables:{textSearch:e,chain:_nullishCoalesce(t, () => (u.bex.chainName)),first:r,orderBy:_nullishCoalesce(a, () => (_api3.GqlPoolOrderBy.TotalLiquidity)),orderDirection:_nullishCoalesce(o, () => (_api3.GqlPoolOrderDirection.Desc)),skip:i,userAddress:n,blacklistedPoolIds:s},fetchPolicy:l});return{pools:_nullishCoalesce(f.data.poolGetPools, () => ([])),count:_nullishCoalesce(f.data.count, () => (0))}}async function To({poolId:e,account:t,...r}){let{config:a}=_chunk22J3YJDNcjs.a.call(void 0, r),l=(await g("api",r).query({query:_api.GetPool,variables:{id:e,userAddress:t,chain:a.bex.chainName},fetchPolicy:"no-cache"})).data.poolGetPool;if(!l)throw new Error(`Pool not found for id: ${e} and user ${t}`);return l}async function Do(e={}){let{config:t}=_chunk22J3YJDNcjs.a.call(void 0, e);return(await g("api",e).query({query:_api.GetGlobalLiquidityAndSwapVolume,variables:{chain:t.bex.chainName}})).data}async function at({publicClient:e,poolAddress:t}){let r=_berancersdk.weightedPoolV4Abi_V2,a=await e.multicall({contracts:[{address:t,abi:r,functionName:"inRecoveryMode"},{address:t,abi:r,functionName:"getPausedState"}],allowFailure:!1});return{isPoolInRecoveryMode:a[0],isPoolPaused:a[1][0]}}async function jo({poolId:e,publicClient:t,...r}){let{config:a}=_chunk22J3YJDNcjs.a.call(void 0, r),o=e.slice(0,42);if(!_viem.isAddress.call(void 0, o)||!_viem.isHex.call(void 0, e))throw new (0, _chunkC6ZGUO4Hcjs.h)({property:"poolId",value:e,expected:"Hex"});try{let[i,l,n,s,d,u,m,f,b]=await Promise.all([t.readContract({address:o,abi:_viem.erc20Abi,functionName:"name"}),t.readContract({address:a.bex.vault,abi:_berancersdk.vaultV2Abi,functionName:"getPoolTokens",args:[e]}),t.readContract({address:o,abi:_viem.erc20Abi,functionName:"totalSupply"}),t.readContract({address:o,abi:_berancersdk.weightedPoolV4Abi_V2,functionName:"getSwapFeePercentage"}),t.readContract({address:o,abi:_berancersdk.weightedPoolV4Abi_V2,functionName:"version"}),t.readContract({address:o,abi:_berancersdk.weightedPoolV4Abi_V2,functionName:"decimals"}),t.readContract({address:a.bex.factories.composableStable,abi:_berancersdk.weightedPoolFactoryAbi_V3,functionName:"isPoolFromFactory",args:[o]}),t.readContract({address:a.bex.factories.weighted,abi:_berancersdk.weightedPoolFactoryAbi_V3,functionName:"isPoolFromFactory",args:[o]}),at({publicClient:t,poolAddress:o})]),p=Number(u),A=JSON.parse(d),C,V,y;if(m?[C,y]=await Promise.all([t.readContract({address:o,abi:[{type:"function",name:"getActualSupply",stateMutability:"view",inputs:[],outputs:[{type:"uint256"}]}],functionName:"getActualSupply"}),t.readContract({address:o,abi:_berancersdk.stablePoolAbi_V3,functionName:"getAmplificationParameter"})]):A.name==="WeightedPool"&&(V=await t.readContract({address:o,abi:_berancersdk.weightedPoolV4Abi_V2,functionName:"getNormalizedWeights"})),!m&&!f)throw new Error(`Pool ${o} is not a valid BEX pool`);return{name:i,address:o,id:e,poolTokens:[l[0],l[1].map(String),Number(l[2])],totalSupply:_viem.formatUnits.call(void 0, _nullishCoalesce(C, () => (n)),p),swapFee:_viem.formatEther.call(void 0, s),decimals:p,weights:_optionalChain([V, 'optionalAccess', _7 => _7.map, 'call', _8 => _8(q=>_viem.formatEther.call(void 0, q))]),version:A,factory:m?a.bex.factories.composableStable:a.bex.factories.weighted,type:m?_api3.GqlPoolType.Stable:_api3.GqlPoolType.Weighted,amplificationParameter:y?[Number(y[0]),y[1],Number(y[2])]:void 0,pausedState:b}}catch(i){throw _chunk7LNBSOVVcjs.a.call(void 0, {cause:i})}}async function Zo({poolId:e,typeInArray:t,...r}){let{config:a}=_chunk22J3YJDNcjs.a.call(void 0, r);return(await g("api",r).query({query:_api.GetPoolEvents,variables:{poolId:e,typeIn:t,chain:a.bex.chainName}})).data}async function nn({poolId:e,chain:t,...r}){if(!e||!_viem.isHex.call(void 0, e))throw new (0, _chunkC6ZGUO4Hcjs.h)({property:"poolId",value:e,expected:"hex string"});let a=g("api",r),{data:o}=await a.query({query:_api.GetPoolHistoricalData,variables:{poolId:e,chain:t}});return o.poolGetSnapshots}var _subgraph = require('@berachain/graphql/dex/subgraph');async function dn({poolId:e,...t}){if(!_viem.isHex.call(void 0, e))throw new Error("poolId is not a valid hex string");return(await g("bex.subgraph",t).query({query:_subgraph.GetSubgraphPool,variables:{id:e}})).data.pool}var ae=({fieldOrType:e,value:t,required:r=!0,baseUrl:a,components:o})=>{if(!["bool","string"].includes(e)&&r&&(t==null||t===""))return"Required";if(e.startsWith("uint")||e.startsWith("int")){if(typeof t!="string")return"Invalid amount";try{let l=BigInt(t);if(e.startsWith("uint")&&l<0n)return"Negative amount"}catch (e2){return"Invalid amount"}return null}switch(e){case"string":return t!==void 0&&typeof t!="string"?"Invalid amount":null;case"bool":return typeof t!="boolean"?"Invalid amount":null;case"title":return t.length===0?"Required":null;case"description":return t.length===0?"Required":null;case"forumLink":if(t.length===0)return"Required";if(!URL.canParse(t))return"Invalid address";let l=new URL(a);return t.startsWith(l.toString())?null:"Must be a berachain forum link";case"address":return _viem.isAddress.call(void 0, t,{strict:!0})?null:"Invalid address";case"hex":return _viem.isHex.call(void 0, t,{strict:!0})?null:"Invalid address";case"abi":try{JSON.parse(t)}catch (e3){return"Invalid ABI"}return null;case"action":return _viem.isAddress.call(void 0, t,{strict:!0})?null:"Invalid address";case"tuple":if(typeof t=="object"&&Array.isArray(o)){let n={};for(let s of o)n[s.name]=ae({fieldOrType:s.type,value:t[s.name],components:s.components});return Object.values(n).every(s=>s===null)?null:n}return null;case"tuple[]":if(Array.isArray(t)){let n=t.map(s=>ae({fieldOrType:"tuple",value:s,components:o}));return n.every(s=>s===null)?null:n}return null;case"logoURI":return t===void 0||t===""||URL.canParse(t)&&new URL(t).protocol==="https:"?null:"Must be HTTPS or IPFS";case"url":return t===void 0||t===""||URL.canParse(t)&&new URL(t).protocol==="https:"?null:"Must be HTTPS";default:return console.error(`Invalid field or type: ${e}`),null}};var _governance = require('@berachain/graphql/governance');var Cr=!1,bn= exports.p =[_governance.ProposalStatus.Active,_governance.ProposalStatus.PendingQueue,_governance.ProposalStatus.PendingExecution,_governance.ProposalStatus.Defeated,_governance.ProposalStatus.QuorumNotReached];function he(e,t){let r=Date.now()/1e3;if(t!==void 0){if(e.status===_governance.ProposalStatus.CanceledByGuardian)return _governance.ProposalStatus.CanceledByGuardian;if(t===2)return Number(e.voteStartAt)<r?_governance.ProposalStatus.CanceledByUser:_governance.ProposalStatus.CanceledByGuardian;if(t===3)return e.pollResult?!e.quorum||BigInt(e.quorum)>BigInt(e.pollResult.totalTowardsQuorum)?_governance.ProposalStatus.QuorumNotReached:_governance.ProposalStatus.Defeated:_governance.ProposalStatus.QuorumNotReached;if(t===4)return _governance.ProposalStatus.PendingQueue;if(t===5)return Number(e.queueEnd)<Date.now()/1e3?_governance.ProposalStatus.PendingExecution:_governance.ProposalStatus.InQueue;if(t===6)return console.warn("Unexpected expired state on proposal id: ",e.id),_governance.ProposalStatus.Defeated}return e.status===_governance.ProposalStatus.InQueue&&Number(e.queueEnd)<Date.now()/1e3?_governance.ProposalStatus.PendingExecution:Cr&&t===1&&e.quorum&&BigInt(e.quorum)<BigInt(e.pollResult.totalTowardsQuorum)&&Number(e.pollResult.forPercentage)>Number(e.pollResult.againstPercentage)?_governance.ProposalStatus.PendingQueue:e.status===_governance.ProposalStatus.Pending?Number(e.voteStartAt)<r&&Number(e.voteEndAt)>r?_governance.ProposalStatus.Active:Number(e.voteEndAt)<r?e.pollResult?!e.quorum||BigInt(e.quorum)>BigInt(e.pollResult.totalTowardsQuorum)?_governance.ProposalStatus.QuorumNotReached:_optionalChain([e, 'access', _9 => _9.pollResult, 'optionalAccess', _10 => _10.against])>_optionalChain([e, 'access', _11 => _11.pollResult, 'optionalAccess', _12 => _12.for])?_governance.ProposalStatus.Defeated:_governance.ProposalStatus.PendingQueue:_governance.ProposalStatus.QuorumNotReached:_governance.ProposalStatus.Pending:e.status===_governance.ProposalStatus.Active&&Number(e.voteEndAt)<r?!e.quorum||BigInt(e.quorum)>BigInt(e.pollResult.totalTowardsQuorum)?_governance.ProposalStatus.QuorumNotReached:BigInt(_nullishCoalesce(_optionalChain([e, 'access', _13 => _13.pollResult, 'optionalAccess', _14 => _14.against]), () => (0n)))>BigInt(_nullishCoalesce(_optionalChain([e, 'access', _15 => _15.pollResult, 'optionalAccess', _16 => _16.for]), () => (0n)))?_governance.ProposalStatus.Defeated:_governance.ProposalStatus.PendingQueue:e.status===_governance.ProposalStatus.InQueue&&Number(e.queueEnd)<Date.now()/1e3?_governance.ProposalStatus.PendingExecution:e.status}async function Cn({where:e,orderBy:t,orderDirection:r,offset:a=0,perPage:o=20,text:i,...l}){try{if(o>1e3)throw new Error("perPage must be less than 1000");let n=g("governance.subgraph",l),[s]=await Promise.all([i?n.query({query:_governance.SearchProposals,variables:{offset:a,limit:o,where:e,text:i}}):n.query({query:_governance.GetProposals,variables:{offset:a,limit:o,where:e,orderBy:t,orderDirection:r}})]);return s.data.proposals.map(d=>({...d,status:he(d)}))}catch(n){throw console.error("getAllProposals:",n),n}}var vn=(e,t)=>{let r={};return r.title=ae({fieldOrType:"title",value:e.title}),r.description=ae({fieldOrType:"description",value:e.description}),r.forumLink=ae({fieldOrType:"forumLink",value:e.forumLink,baseUrl:t.forumLink}),r};async function Nn({proposalId:e,...t}){let a=await g("governance.subgraph",t).query({query:_governance.GetProposal,variables:{id:e}});if(a.data.proposal)return{...a.data.proposal,status:he(a.data.proposal)}}var _graymatter = require('gray-matter'); var _graymatter2 = _interopRequireDefault(_graymatter);var Vr=e=>{let t=/#(?:([\w-]+)# )?(.+)\n([\s\S]*)/,r=e.match(t);if(r){let a=r[1]||null,o=r[2],i=r[3].replace(`
|
|
2
|
+
`,"<br />");return{type:a,title:o,content:i}}throw new Error("Invalid proposal body")},ct= exports.u =e=>{if(!e)return{isFrontMatter:!1,data:{title:"Loading..."},content:"",matter:"",language:"",orig:"",stringify:()=>""};let t=_nullishCoalesce(_optionalChain([e, 'optionalAccess', _17 => _17.description]), () => (""));if(_graymatter2.default.test(t))return{..._graymatter2.default.call(void 0, t),isFrontMatter:!0};try{let r=Vr(t);return{isFrontMatter:!1,data:{title:r.title},content:r.content,matter:"",language:"",orig:t,stringify:()=>t}}catch (e4){return{isFrontMatter:!1,data:{title:_optionalChain([e, 'optionalAccess', _18 => _18.description, 'optionalAccess', _19 => _19.split, 'call', _20 => _20(`
|
|
3
|
+
`), 'access', _21 => _21[0], 'access', _22 => _22.slice, 'call', _23 => _23(0,100)])},content:t,matter:"",language:"",orig:t,stringify:()=>t}}};async function Qn(e){_chunk7LNBSOVVcjs.c.call(void 0, e.publicClient);let t;"tx"in e?t=e.tx:t=await e.publicClient.getTransactionReceipt({hash:e.txHash});let r=_optionalChain([t, 'optionalAccess', _24 => _24.logs])?_optionalChain([_viem.parseEventLogs.call(void 0, {abi:_chunkVP7XUOSIcjs.c,logs:t.logs,eventName:"ProposalCreated"}), 'optionalAccess', _25 => _25.at, 'call', _26 => _26(0)]):void 0;if(!t||!r)return null;let a=await e.publicClient.getBlock({blockNumber:t.blockNumber}),o=ct({description:_optionalChain([r, 'optionalAccess', _27 => _27.args, 'access', _28 => _28.description])});return{id:String(r.args.proposalId),proposalId:String(_optionalChain([r, 'optionalAccess', _29 => _29.args, 'access', _30 => _30.proposalId])),createdAt:a.timestamp.toString(),title:o.data.title,createdAtBlock:a.timestamp.toString(),voteStartAt:String(_optionalChain([r, 'optionalAccess', _31 => _31.args, 'access', _32 => _32.voteStart])),voteEndAt:String(_optionalChain([r, 'optionalAccess', _33 => _33.args, 'access', _34 => _34.voteEnd])),proposer:_optionalChain([r, 'optionalAccess', _35 => _35.args, 'access', _36 => _36.proposer]),description:o.content,unverifiedForumLink:o.data.forumLink,pollResult:{for:"0",forVotersCount:0,forPercentage:"0",against:"0",againstVotersCount:0,againstPercentage:"0",abstain:"0",abstainVotersCount:0,abstainPercentage:"0",total:"0",totalVotersCount:0,totalTowardsQuorum:"0"},status:_governance.ProposalStatus.Pending,quorum:null,topics:o.data.topics,votes:[],executableCalls:_optionalChain([r, 'optionalAccess', _37 => _37.args, 'access', _38 => _38.targets, 'access', _39 => _39.map, 'call', _40 => _40((i,l)=>({__typename:"ExecutableCall",id:`${t.transactionHash}-${l}`,target:i,value:String(_optionalChain([r, 'optionalAccess', _41 => _41.args, 'access', _42 => _42.values, 'access', _43 => _43[l]])),calldata:_optionalChain([r, 'optionalAccess', _44 => _44.args, 'access', _45 => _45.calldatas, 'access', _46 => _46[l]])}))]),timelock:void 0}}async function On({variables:e,...t}){return g("governance.subgraph",t).query({query:_governance.GetProposalVotes,variables:e})}var _honey = require('@berachain/graphql/honey');async function Jn({days:e,...t}){return(await g("honey.subgraph",t).query({query:_honey.GetChartData,variables:{interval:_honey.Aggregation_Interval.Day,first:e}})).data}async function Yn({client:e,collateralList:t,...r}){let{config:a}=_chunk22J3YJDNcjs.a.call(void 0, r);try{let o=await e.readContract({address:a.honey.factory,abi:_chunkVP7XUOSIcjs.e,functionName:"getWeights"});return t.reduce((l,n,s)=>Object.assign(l,{[n.address]:o[s]}),{})}catch(o){throw console.log(o),o}}async function dt({address:e,publicClient:t,chainId:r}){try{if(!t)throw new Error("Public client not found");let[a,o,i]=await Promise.all([t.readContract({address:e,abi:_viem.erc20Abi,functionName:"decimals"}),t.readContract({address:e,abi:_viem.erc20Abi,functionName:"name"}),t.readContract({address:e,abi:_viem.erc20Abi,functionName:"symbol"})]),l={address:e,decimals:a,name:o,symbol:i,chainId:r};if(typeof l.decimals!="number"||typeof l.name!="string"||typeof l.symbol!="string")throw new Error(`Invalid ERC20 token. Address: ${e}`);return l}catch(a){throw console.error(a),_chunk7LNBSOVVcjs.a.call(void 0, {cause:a})}}async function Ne({client:e,tokenData:t,preferredCollateralOrder:r,...a}){let{config:o}=_chunk22J3YJDNcjs.a.call(void 0, a),[i,l]=await Promise.all([e.readContract({address:o.honey.factory,abi:_chunkVP7XUOSIcjs.e,functionName:"numRegisteredAssets"}),e.readContract({address:o.honey.factory,abi:_chunkVP7XUOSIcjs.e,functionName:"referenceCollateral"})]),n=[];for(let f=0;f<i;f++)n.push(e.readContract({address:o.honey.factory,abi:_chunkVP7XUOSIcjs.e,functionName:"registeredAssets",args:[BigInt(f)]}));let s=await Promise.all(n),u=(await Promise.all(s.map(f=>{let b=_optionalChain([t, 'optionalAccess', _47 => _47.find, 'call', _48 => _48(p=>_chunk22J3YJDNcjs.e.call(void 0, p,f))]);return b||dt({address:f,chainId:o.chainId,publicClient:e})}))).filter(f=>!!f).sort((f,b)=>s.indexOf(f.address)-s.indexOf(b.address)).map((f,b)=>({...f,order:b}));if(_optionalChain([r, 'optionalAccess', _49 => _49.length])){let f=[];for(let b of r){let p=u.find(A=>_chunk22J3YJDNcjs.e.call(void 0, A.address,b.address));p&&(f.push(p),u.splice(u.indexOf(p),1))}u.unshift(...f)}let m=u.find(f=>_chunk22J3YJDNcjs.e.call(void 0, f,l));if(!u)throw new Error("Collateral tokens not found");if(!m)throw new Error("Reference collateral address not found");return{collaterals:u,referenceCollateral:m}}async function mt({client:e,collateral:t,latestPrices:r,isPythWrapperEnabled:a,...o}){let{config:i}=_chunk22J3YJDNcjs.a.call(void 0, o);try{let l=e.readContract({address:i.honey.factory,abi:_chunkVP7XUOSIcjs.e,functionName:"isBadCollateralAsset",args:[t.address]}),n=e.readContract({address:i.honey.factory,abi:_chunkVP7XUOSIcjs.e,functionName:"isPegged",args:[t.address]});if(a&&r){let u=r.prices.map(m=>_viem.parseUnits.call(void 0, m,18));n=e.readContract({address:i.honey.reader,abi:_chunkVP7XUOSIcjs.f,functionName:"isPeggedWithPrice",args:[t.address,u[0]]})}let[s,d]=await Promise.all([l,n]);return{isBlacklisted:s,isDepegged:!d}}catch(l){throw console.log(l),l}}async function le({client:e,asset:t,amount:r,...a}){let{config:o}=_chunk22J3YJDNcjs.a.call(void 0, a);try{let[i,l]=await Promise.all([e.readContract({address:o.honey.factory,abi:_chunkVP7XUOSIcjs.e,functionName:"vaults",args:[t]}),e.readContract({address:o.honey.factory,abi:_chunkVP7XUOSIcjs.e,functionName:"collectedFees",args:[o.honey.factory,t]})]);return await e.readContract({address:i,abi:_chunkVP7XUOSIcjs.d,functionName:"balanceOf",args:[o.honey.factory]})+_viem.parseEther.call(void 0, _nullishCoalesce(r, () => ("0")))-l}catch(i){throw console.log(i),i}}var Er=_viem.parseEther.call(void 0, "1");async function vi({client:e,asset:t,amount:r,isMint:a,isPythWrapperEnabled:o,latestPrices:i,...l}){let{config:n}=_chunk22J3YJDNcjs.a.call(void 0, l);try{let s=await e.readContract({address:n.honey.factory,abi:_chunkVP7XUOSIcjs.e,functionName:"globalCap"});if(s>=Er)return!1;let[{collaterals:d},u]=await Promise.all([Ne({client:e}),Fr({client:e,asset:t,amount:r,latestPrices:i,isPythWrapperEnabled:o})]);if(!u)return;for(let m in u)if((a&&_chunk22J3YJDNcjs.e.call(void 0, d[m],t)||!a&&_chunk22J3YJDNcjs.e.call(void 0, d[m],t))&&u[m]>s-_chunkPKXAW6MOcjs.e)return!0;return!1}catch(s){throw console.log(s),s}}async function Fr({client:e,asset:t,amount:r,latestPrices:a,isPythWrapperEnabled:o}){let{collaterals:i}=await Ne({client:e}),l=0n,n=[];for(let s of i){let d=await mt({client:e,collateral:t,latestPrices:a,isPythWrapperEnabled:o});if(_optionalChain([d, 'optionalAccess', _50 => _50.isBlacklisted])||_optionalChain([d, 'optionalAccess', _51 => _51.isDepegged]))continue;let u=await le({client:e,asset:s.address,amount:_chunk22J3YJDNcjs.e.call(void 0, s,t)?r:"0"});u&&(l+=u,n.push(u))}if(l===0n)return n;for(let s in i)n[s]=_viem.parseEther.call(void 0, n[s].toString())/l;return n}async function ki({...e}={}){return(await g("honey.subgraph",e).query({query:_honey.GetGlobalData})).data}var qr=(s=>(s.Mint="previewMintHoney",s.MintWithPrice="previewMintHoneyWithPrices",s.RequiredCollateral="previewMintCollaterals",s.RequiredCollateralWithPrice="previewMintCollateralsWithPrices",s.Redeem="previewRedeemCollaterals",s.RedeemWithPrice="previewRedeemCollateralsWithPrices",s.HoneyToRedeem="previewRedeemHoney",s.HoneyToRedeemWithPrice="previewRedeemHoneyWithPrices",s))(qr||{});async function Ei({client:e,collateral:t,collateralList:r,amount:a,method:o,latestPrices:i,isPythWrapperEnabled:l,...n}){let{config:s}=_chunk22J3YJDNcjs.a.call(void 0, n);try{let d=o==="previewMintHoney"||o==="previewRedeemHoney"||o==="previewMintHoneyWithPrices"||o==="previewRedeemHoneyWithPrices",u=_viem.parseUnits.call(void 0, a,d?t.decimals:18),m,f=[t.address,u];if(l&&i){let p=i.prices.map(A=>_viem.parseUnits.call(void 0, A,18));f=[t.address,u,p]}if(d){let p=await e.readContract({address:s.honey.reader,abi:_chunkVP7XUOSIcjs.f,functionName:o,args:f});m={collaterals:p[0],honey:p[1]}}else m={collaterals:await e.readContract({address:s.honey.reader,abi:_chunkVP7XUOSIcjs.f,functionName:o,args:f}),honey:u};let b=r.reduce((p,A)=>{let C=A.order;return A.address===t.address&&m.collaterals[C]===BigInt(0)?Object.assign(p,{[A.address]:m.collaterals[0]}):Object.assign(p,{[A.address]:m.collaterals[C]})},{});return b[t.address]===BigInt(0)&&(b[t.address]=m.collaterals[0]),{collaterals:b,honey:m.honey}}catch(d){throw console.log("error",d),d}}async function Ui({client:e,collateralList:t,honeyFactoryAddress:r,...a}){let{config:o}=_chunk22J3YJDNcjs.a.call(void 0, a),i=_nullishCoalesce(r, () => (o.honey.factory));return await Promise.all(t.map(async n=>{let s=await e.readContract({address:o.honey.factory,abi:_chunkVP7XUOSIcjs.e,functionName:"vaults",args:[n.address]}),[d,u,[m,f]]=await Promise.all([e.readContract({address:s,abi:_chunkVP7XUOSIcjs.d,functionName:"balanceOf",args:[i]}),e.readContract({address:i,abi:_chunkVP7XUOSIcjs.e,functionName:"collectedAssetFees",args:[n.address]}),e.readContract({address:s,abi:_chunkVP7XUOSIcjs.d,functionName:"custodyInfo"})]),b=await e.readContract({address:s,abi:_chunkVP7XUOSIcjs.d,functionName:"convertToAssets",args:[d-u]});return{...n,balance:{raw:b.toString(),formatted:_viem.formatUnits.call(void 0, b,n.decimals)},vault:m?f:s}}))}var _hermesclient = require('@pythnetwork/hermes-client');var Wr="https://hermes.pyth.network";async function gt({priceFeedId:e}){let r=await new (0, _hermesclient.HermesClient)(Wr,{}).getLatestPriceUpdates(e,{encoding:"hex",parsed:!0});return{calldata:r.binary.data.map(a=>`0x${a}`),prices:_nullishCoalesce(_optionalChain([r, 'access', _52 => _52.parsed, 'optionalAccess', _53 => _53.flatMap, 'call', _54 => _54(a=>_viem.formatUnits.call(void 0, BigInt(a.price.price),a.price.expo*-1))]), () => ([]))}}async function Ki({client:e,asset:t,amount:r,isMint:a,referenceCollateral:o,...i}){let{config:l}=_chunk22J3YJDNcjs.a.call(void 0, i);if(t===o.address)return!1;try{let[n]=await Promise.all([e.readContract({address:l.honey.factory,abi:_chunkVP7XUOSIcjs.e,functionName:"relativeCap",args:[t]})]),[s,d]=await Promise.all([le({client:e,asset:t,amount:a?r:void 0}),le({client:e,asset:o.address,amount:a?void 0:r})]);return d===0n?s!==0n:_viem.parseEther.call(void 0, (_nullishCoalesce(s, () => (0n))).toString())/(_nullishCoalesce(d, () => (0n)))>=n-_chunkPKXAW6MOcjs.e}catch(n){throw console.log(n),n}}async function bt({client:e,priceFeedId:t,...r}){let{config:a}=_chunk22J3YJDNcjs.a.call(void 0, r);try{return await e.readContract({address:a.external.pyth,abi:_chunkVP7XUOSIcjs.n,functionName:"getUpdateFee",args:[t]})}catch(o){throw console.error("getPythUpdateFee",o),o}}var ls=async({state:e,publicClient:t,priceFeedMap:r,collateralList:a,isPythWrapperEnabled:o,...i})=>{let{config:l}=_chunk22J3YJDNcjs.a.call(void 0, i),n=_chunk22J3YJDNcjs.d.call(void 0, i),{actionType:s,fromAmount:d,collaterals:u,isBasketModeEnabled:m}=e,f=o?l.honey.pythWrapper:l.honey.factory,b=a.map(p=>p.address);if(d[0]&&b.length){let p=s==="mint";if(o&&t&&r){let C=(await gt({priceFeedId:Object.values(r)})).calldata,V=0n;try{V=await bt({client:t,priceFeedId:C})}catch (e5){V=_chunkPKXAW6MOcjs.k.call(void 0, u.length)}return({account:y})=>{let q=[C,_optionalChain([u, 'access', _55 => _55[0], 'optionalAccess', _56 => _56.address]),_viem.parseUnits.call(void 0, d[0],_nullishCoalesce((p?_optionalChain([u, 'access', _57 => _57[0], 'optionalAccess', _58 => _58.decimals]):_optionalChain([n, 'optionalAccess', _59 => _59.decimals])), () => (18))),y,!!m];return{address:f,abi:_chunkVP7XUOSIcjs.g,functionName:p?"mint":"redeem",params:q,value:V}}}return({account:A})=>{let C=[_optionalChain([u, 'access', _60 => _60[0], 'optionalAccess', _61 => _61.address]),_viem.parseUnits.call(void 0, d[0],_nullishCoalesce((p?_optionalChain([u, 'access', _62 => _62[0], 'optionalAccess', _63 => _63.decimals]):_optionalChain([n, 'optionalAccess', _64 => _64.decimals])), () => (18))),A,!!m];return{value:0n,address:f,abi:_chunkVP7XUOSIcjs.e,functionName:p?"mint":"redeem",params:C}}}throw new Error("Something went wrong while creating the Honey swap payload")};async function fs({client:e,isMint:t,collateralList:r,latestPrices:a,isPythWrapperEnabled:o,...i}){let{config:l}=_chunk22J3YJDNcjs.a.call(void 0, i);if(o&&a){if(r.length===0)return;let s=a.prices.map(u=>_viem.parseUnits.call(void 0, u,18));return await e.readContract({address:l.honey.reader,abi:_chunkVP7XUOSIcjs.f,functionName:"isBasketModeEnabledWithPrices",args:[t,s]})}return await e.readContract({address:l.honey.factory,abi:_chunkVP7XUOSIcjs.e,functionName:"isBasketModeEnabled",args:[t]})}async function As({block:e,currentBlock:t,blockTime:r,publicClient:a}){if(_chunk7LNBSOVVcjs.b.call(void 0, e,"block"),_chunk7LNBSOVVcjs.c.call(void 0, a),t>e){let i=await a.getBlock({blockNumber:BigInt(e),includeTransactions:!1});return{timestamp:Number(i.timestamp)}}return{timestamp:_chunkPKXAW6MOcjs.l.call(void 0, Date.now())+r*(Number(e)-Number(t))}}var Mr=(a=>(a.Duration="duration",a.TargetRate="targetRate",a.TargetApr="targetApr",a))(Mr||{});async function Bs(e,t){let[r,a,o,i,l,n]=await Promise.all([t.readContract({address:e,abi:_chunkVP7XUOSIcjs.k,functionName:"rewardsDuration"}),t.readContract({address:e,abi:_chunkVP7XUOSIcjs.k,functionName:"rewardVaultManager"}),t.readContract({address:e,abi:_chunkVP7XUOSIcjs.k,functionName:"rewardRate"}),t.readContract({address:e,abi:_chunkVP7XUOSIcjs.k,functionName:"periodFinish"}),t.readContract({address:e,abi:_chunkVP7XUOSIcjs.k,functionName:"targetRewardsPerSecond"}),t.readContract({address:e,abi:_chunkVP7XUOSIcjs.k,functionName:"minRewardDurationForTargetRate"})]),s=o*(i-BigInt(_chunkPKXAW6MOcjs.l.call(void 0, Date.now())))/10n**18n;return{rewardsDuration:Number(r),mode:l===0n?"duration":"targetRate",manager:a,rewardRate:_viem.formatUnits.call(void 0, o,36),periodFinish:Number(i),availableRewards:_viem.formatUnits.call(void 0, s,18),minRewardDurationForTargetRate:Number(n),targetRewardsPerSecond:_viem.formatUnits.call(void 0, l,36)}}function we(e,t,r){return e?r*t*_chunkPKXAW6MOcjs.y.call(void 0, 1)/e:null}function Hr(e,t,r){return r?e*r/(t*_chunkPKXAW6MOcjs.y.call(void 0, 1)):0}function Rs({availableRewards:e,periodFinish:t,tvl:r,bgtPrice:a,MIN_REWARD_DURATION:o,MAX_REWARD_DURATION:i,...l}){let n=_chunkPKXAW6MOcjs.l.call(void 0, Date.now());if(n>t)return{apr:0,duration:0,rewardRate:0,targetRate:null,periodFinish:0,mode:null};if(l.mode==="targetRate"||l.mode==="targetApr"){let m,{minRewardDurationForTargetRate:f,currentDuration:b}=l;if(l.mode==="targetRate"?m=l.rewardRate:m=Hr(l.apr,a,r),m===0){let C=Math.min(b,i),V=e?e/C:0;return{apr:we(r,a,V),duration:C,rewardRate:V,targetRate:null,periodFinish:C+n,mode:"duration"}}let p=f||o,A=e?e/m:0;if(A<p){let C=e?e/p:0;return{apr:we(r,a,C),duration:p,rewardRate:C,targetRate:C.toString(),periodFinish:p+n,mode:null}}return{apr:we(r,a,m),duration:A,rewardRate:m,targetRate:m.toString(),periodFinish:A+n,mode:null}}let{duration:s}=l,d=e/s;return{apr:we(r,a,d),mode:null,targetRate:null,duration:s,rewardRate:d,periodFinish:s+n}}async function Gs({address:e,account:t,...r}){let{config:a}=_chunk22J3YJDNcjs.a.call(void 0, r),o=`${a.bonder}/vaults/${e}/earnings/${t}`;return _chunkPKXAW6MOcjs.d.call(void 0, {url:o,type:"rest"})}async function Ce({filter:e,publicClient:t,...r}={}){let o=await g("api",r).query({query:_api3.GetVaults,variables:e}),i=await Promise.allSettled(o.data.polGetRewardVaults.vaults.map(async n=>{if(t)return Promise.allSettled(n.activeIncentives.map(s=>t.readContract({abi:_chunkVP7XUOSIcjs.k,address:n.address,functionName:"incentives",args:[s.tokenAddress]})))})),l=o.data.polGetRewardVaults.vaults.map((n,s)=>{let d=0,u=n.activeIncentives.map((m,f)=>{let b=Number(m.remainingAmountUsd)&&Number(m.remainingAmount)?Number(m.remainingAmountUsd)/Number(m.remainingAmount):0,p=_optionalChain([i, 'access', _65 => _65[s], 'optionalAccess', _66 => _66.status])==="fulfilled"&&_optionalChain([i, 'access', _67 => _67[s], 'optionalAccess', _68 => _68.value, 'optionalAccess', _69 => _69[f], 'optionalAccess', _70 => _70.status])==="fulfilled"?_viem.formatUnits.call(void 0, BigInt(i[s].value[f].value[2]),m.token.decimals):m.remainingAmount;return d+=Number(p)*Number(b),{...m,remainingAmount:p}});return{...n,dynamicData:{...n.dynamicData,allTimeReceivedBGTAmount:_nullishCoalesce(_optionalChain([n, 'access', _71 => _71.dynamicData, 'optionalAccess', _72 => _72.allTimeReceivedBGTAmount]), () => ("0")),bgtCapturePercentage:_nullishCoalesce(_optionalChain([n, 'access', _73 => _73.dynamicData, 'optionalAccess', _74 => _74.bgtCapturePercentage]), () => ("0")),activeIncentivesValueUsd:d.toString(),activeIncentivesRateUsd:_nullishCoalesce(_optionalChain([n, 'access', _75 => _75.dynamicData, 'optionalAccess', _76 => _76.activeIncentivesRateUsd]), () => ("0")),bgtCapturePerBlock:_nullishCoalesce(_optionalChain([n, 'access', _77 => _77.dynamicData, 'optionalAccess', _78 => _78.bgtCapturePerBlock]), () => ("0"))},activeIncentives:u}});return{pagination:o.data.polGetRewardVaults.pagination,gaugeList:l}}async function At(e={}){let{config:t}=_chunk22J3YJDNcjs.a.call(void 0, e),a=await g("api",e).query({query:_api3.GlobalData,variables:{chain:t.bex.chainName}});return{...a.data.polGetGlobalInfo,top3EmittingValidators:a.data.top3EmittingValidators.validators,allValidatorsCount:a.data.allValidatorsCount.pagination.totalCount}}async function ht({publicClient:e,...t}){let{config:r}=_chunk22J3YJDNcjs.a.call(void 0, t);_chunk7LNBSOVVcjs.c.call(void 0, e);try{let a=await e.readContract({address:r.tokens.bgt,abi:_chunkVP7XUOSIcjs.j,functionName:"totalBoosts",args:[]});return _viem.formatEther.call(void 0, a)}catch(a){throw console.log(a),a}}async function wt({publicClient:e,...t}){let{config:r}=_chunk22J3YJDNcjs.a.call(void 0, t);_chunk7LNBSOVVcjs.c.call(void 0, e);try{let a=await e.readContract({address:r.tokens.bgt,abi:_viem.erc20Abi,functionName:"totalSupply",args:[]});return _viem.formatEther.call(void 0, _nullishCoalesce(a, () => (0n)))}catch(a){throw console.log(a),a}}async function Ct(e){let{gaugeList:t}=await Ce({filter:{orderBy:_api3.GqlRewardVaultOrderBy.Apr,orderDirection:_api3.GqlRewardVaultOrderDirection.Desc,pageSize:e,where:{includeNonWhitelisted:!1}}});return t}async function nl(e){let[t,r,a,o]=await Promise.allSettled([At(),Ct(300),wt({publicClient:e}),ht({publicClient:e})]);return t.status==="rejected"&&_chunk7LNBSOVVcjs.f.captureException(_chunk7LNBSOVVcjs.a.call(void 0, {cause:t.reason,level:"warning"})),r.status==="rejected"&&_chunk7LNBSOVVcjs.f.captureException(_chunk7LNBSOVVcjs.a.call(void 0, {cause:r.reason,level:"warning"})),a.status==="rejected"&&_chunk7LNBSOVVcjs.f.captureException(_chunk7LNBSOVVcjs.a.call(void 0, {cause:a.reason,level:"warning"})),o.status==="rejected"&&_chunk7LNBSOVVcjs.f.captureException(_chunk7LNBSOVVcjs.a.call(void 0, {cause:o.reason,level:"warning"})),{bgtTotalSupply:a.status==="fulfilled"?a.value:void 0,globalCuttingBoard:r.status==="fulfilled"?r.value:[],bgtTotalBoosts:o.status==="fulfilled"?o.value:void 0,...t.status==="fulfilled"?t.value:{}}}var _subgraph3 = require('@berachain/graphql/pol/subgraph');async function Pt({...e}){let t=g("pol.subgraph",e),{data:r}=await t.query({query:_subgraph3.GetIncentiveFeeClaimStats});if(r.incentiveFeeClaims.length>0){let a=_optionalChain([r, 'optionalAccess', _79 => _79.incentiveFeeClaims, 'access', _80 => _80.reduce, 'call', _81 => _81((l,n)=>l+Number(n.payoutAmount),3e4)]),i=(_optionalChain([r, 'optionalAccess', _82 => _82.incentiveFeeClaims, 'access', _83 => _83.filter, 'call', _84 => _84(l=>Number(l.timestamp)/1e3>Date.now()-_chunkPKXAW6MOcjs.r.call(void 0, 1))])).reduce((l,n)=>l+Number(n.payoutAmount),0);return{sumAllClaims:a,sumClaimsInLast24Hours:i}}return{sumAllClaims:0,sumClaimsInLast24Hours:0}}async function ml(e={}){let{config:t}=_chunk22J3YJDNcjs.a.call(void 0, e);try{let a=await(await fetch(t.lists.rewardVaultList)).json();if(!a.protocols)throw new Error("Missing protocols in market list");return{marketList:a.protocols,marketDictionary:a.protocols.reduce((o,i)=>(o[i.name]=i,o),{})}}catch(r){throw console.error("Error fetching validator information",r),r}}async function yl({account:e,validator:t,page:r=1,perPage:a=1e3,...o}){let{config:i}=_chunk22J3YJDNcjs.a.call(void 0, o),l=await fetch(`${i.pol.bribeBoostApi}/api/v1/wallets/${e.toLowerCase()}/proofs/validator/${t.toLowerCase()}?page=${r}&per_page=${a}`,{cache:"no-store"});if(!l.ok){let s=await _chunkPKXAW6MOcjs.b.call(void 0, l);throw new (0, _chunkC6ZGUO4Hcjs.f)({message:"Failed to fetch proofs on server",cause:{error:s,result:l,account:e,validator:t},reason:_optionalChain([s, 'optionalAccess', _85 => _85.reason])})}return await l.json()}async function Pl({address:e,publicClient:t}){return _chunk7LNBSOVVcjs.c.call(void 0, t),t.readContract({address:e,abi:_chunkVP7XUOSIcjs.m,functionName:"previewRedeem",args:[_viem.parseUnits.call(void 0, "1",18)]}).then(r=>Number(_viem.formatUnits.call(void 0, r,18))).catch(()=>0)}async function kl({address:e,chainName:t,...r}){let{config:a}=_chunk22J3YJDNcjs.a.call(void 0, r),o=_nullishCoalesce(t, () => (a.bex.chainName)),i=g("api",r),{data:l}=await i.query({query:_api3.GetRewardVault,variables:{vaultId:e,chain:o}});if(!_optionalChain([l, 'optionalAccess', _86 => _86.rewardVault]))throw new (0, _chunk6LDOG5RLcjs.b)({resource:"Reward vault",id:e,chainId:a.chainId});return l.rewardVault}async function Il({address:e,stakingToken:t,publicClient:r}){let a=await r.readContract({address:e,abi:_chunkVP7XUOSIcjs.k,functionName:"getWhitelistedTokens"}),i=a.findIndex(n=>_berancersdk.isSameAddress.call(void 0, t,n))!==-1?await r.readContract({address:e,abi:_chunkVP7XUOSIcjs.k,functionName:"totalSupply"}):0n,l=await Promise.allSettled(a.map(async n=>{let[s,d,u,m]=await Promise.all([r.readContract({address:e,abi:_chunkVP7XUOSIcjs.k,functionName:"incentives",args:[n]}),r.readContract({address:n,abi:_viem.erc20Abi,functionName:"decimals"}),r.readContract({address:n,abi:_viem.erc20Abi,functionName:"symbol"}),r.readContract({address:n,abi:_viem.erc20Abi,functionName:"balanceOf",args:[e]})]),[f,b,p,A]=s;return{token:n,manager:A,minIncentiveRate:_viem.formatUnits.call(void 0, f,d),incentiveRate:_viem.formatUnits.call(void 0, b,d),remainingAmount:_viem.formatUnits.call(void 0, p,d),symbol:u,decimals:d,pendingAmount:_berancersdk.isSameAddress.call(void 0, t,n)?_viem.formatUnits.call(void 0, m-i-p,d):_viem.formatUnits.call(void 0, m-p,d)}}));return l.forEach((n,s)=>{n.status==="rejected"&&_chunk7LNBSOVVcjs.f.captureException(new (0, _chunkC6ZGUO4Hcjs.f)({reason:n.reason,message:"Incorrect incentives token received.",level:"error",extra:{token:a[s],address:e,error:n.reason}}))}),l.map(n=>n.status==="fulfilled"?n.value:null).filter(n=>n!==null)}async function Ql({address:e,publicClient:t}){return await t.readContract({address:e,abi:_chunkVP7XUOSIcjs.k,functionName:"stakeToken"})}function oa(e){return e==="DAY"?_api3.GqlSWberaVaultMetadataResolution.OneDay:_api3.GqlSWberaVaultMetadataResolution.SevenDays}async function Ml({window:e,...t}){let{config:r}=_chunk22J3YJDNcjs.a.call(void 0, t),a=g("api",t);try{let o=await a.query({query:_api3.GetSWberaVaultMetadata,variables:{chain:r.bex.chainName,resolution:oa(_nullishCoalesce(e, () => ("DAY")))}}),{apr:i}=o.data.polGetSWberaVaultMetadata;return Number(i)}catch(o){throw console.error("Failed to get SW Bera APR",o),o}}async function jl({chain:e,range:t=_api3.GqlVaultSnapshotDataRange.ThirtyDays,...r}={}){let{config:a}=_chunk22J3YJDNcjs.a.call(void 0, r),o=g("api",r);try{return(await o.query({query:_api3.GetSWberaVaultSnapshots,variables:{chain:_nullishCoalesce(e, () => (a.bex.chainName)),range:t}})).data.polGetSWberaVaultSnapshots}catch(i){throw console.error("Failed to get SW Bera Snapshots",i),i}}async function ce({publicClient:e,address:t}){let r=await e.readContract({address:t,abi:_chunkVP7XUOSIcjs.m,functionName:"WITHDRAWAL_COOLDOWN"});return Number(r)}async function nu({address:e,publicClient:t,blockTime:r,...a}){let{config:o}=_chunk22J3YJDNcjs.a.call(void 0, a);_chunk7LNBSOVVcjs.c.call(void 0, t);let i=26;try{let[l]=await Promise.all([t.getBlock({blockTag:"latest"})]),n=Math.floor(i*60*60/r),s=l.number-BigInt(n),[d,u,m,f,b,p,A,C,V,y,q]=await Promise.all([t.readContract({address:e,abi:_chunkVP7XUOSIcjs.m,functionName:"totalAssets"}),t.readContract({address:e,abi:_chunkVP7XUOSIcjs.m,functionName:"totalSupply"}),t.readContract({address:e,abi:_chunkVP7XUOSIcjs.m,functionName:"previewRedeem",args:[10n**18n],blockNumber:l.number}),t.readContract({address:o.tokens.wbera,abi:_viem.erc20Abi,functionName:"balanceOf",args:[e]}),t.readContract({address:e,abi:_chunkVP7XUOSIcjs.m,functionName:"totalAssets",blockNumber:s}),t.readContract({address:e,abi:_viem.erc20Abi,functionName:"totalSupply",blockNumber:s}),t.readContract({address:e,abi:_chunkVP7XUOSIcjs.m,functionName:"previewRedeem",args:[10n**18n],blockNumber:s}),t.readContract({address:o.tokens.wbera,abi:_viem.erc20Abi,functionName:"balanceOf",args:[e],blockNumber:s}),t.readContract({address:o.tokens.wbera,abi:_viem.erc20Abi,functionName:"totalSupply"}),ce({publicClient:t,address:e}),Pt({})]),T=new (0, _chunkPKXAW6MOcjs.a)(A.toString());return{current:{exchangeRate:new (0, _chunkPKXAW6MOcjs.a)(m.toString()).toString(),totalSupply:new (0, _chunkPKXAW6MOcjs.a)(u.toString()).dividedBy(1e18).toString(),totalAssets:new (0, _chunkPKXAW6MOcjs.a)(d.toString()).dividedBy(1e18).toString(),tvl:new (0, _chunkPKXAW6MOcjs.a)(f.toString()).dividedBy(1e18).toString()},previous:{exchangeRate:T.toString(),totalSupply:new (0, _chunkPKXAW6MOcjs.a)(p.toString()).dividedBy(1e18).toString(),totalAssets:new (0, _chunkPKXAW6MOcjs.a)(b.toString()).dividedBy(1e18).toString(),tvl:new (0, _chunkPKXAW6MOcjs.a)(C.toString()).dividedBy(1e18).toString()},totalWBeraIssued:new (0, _chunkPKXAW6MOcjs.a)(V.toString()).dividedBy(1e18).toString(),lockPeriod:y,totalBuyBacks:q.sumAllClaims,totalBuyBacksInLast24Hours:q.sumClaimsInLast24Hours}}catch(l){throw console.error("Failed to get SW Bera Vault Metadata",l),l}}function Vt(e){let t=Date.now(),r=e*1e3-t;if(r<=0)return;let a=_chunkPKXAW6MOcjs.l.call(void 0, r);return _chunkPKXAW6MOcjs.B.call(void 0, a,!0,!0)}async function mu({contractAddress:e,accountAddress:t,publicClient:r,version:a}){let o=[];function i(l,n){let[s,d,u]=l,m=s,f=Number(u)+Number(n),b=_chunkPKXAW6MOcjs.l.call(void 0, Date.now()),p=f-b;if(m>0){let A=Vt(p<=0?0:f);o.push({receiptTokenAddress:e,withdrawalAmount:m,timeRemaining:A})}}switch(a){case"V1":{let[l,n]=await Promise.all([r.readContract({address:e,abi:_chunkVP7XUOSIcjs.m,functionName:"withdrawalRequests",args:[t]}),ce({publicClient:r,address:e})]);return i(l,n),o}case"V2":{let[l,n]=await Promise.all([r.readContract({address:e,abi:_chunkVP7XUOSIcjs.m,functionName:"getERC721WithdrawalRequestIds",args:[t]}),ce({publicClient:r,address:e})]);if(_chunk22J3YJDNcjs.e.call(void 0, e,"SWBERA")){let u=await r.readContract({address:e,abi:_chunkVP7XUOSIcjs.m,functionName:"withdrawalRequests",args:[t]});i(u,n)}let d=(await Promise.all(l.map(async u=>{let m=await r.readContract({address:e,abi:_chunkVP7XUOSIcjs.m,functionName:"getERC721WithdrawalRequest",args:[u]}),{assets:f,requestTime:b}=m;if(!f||!b)throw new Error("Invalid withdrawal request");let p=f,A=Number(b)+Number(n),C=_chunkPKXAW6MOcjs.l.call(void 0, Date.now()),V=A-C;if(p>0){let y=Vt(V<=0?0:A);return{withdrawalAmount:p,timeRemaining:y,withdrawalRequestId:u,receiptTokenAddress:e}}return null}))).filter(u=>u!==null);return o.push(...d),o}}}async function bu({vaultAddresses:e,publicClient:t}){_chunk7LNBSOVVcjs.c.call(void 0, t);try{let r=await Promise.all(e.map(async o=>await t.readContract({address:o,abi:_chunkVP7XUOSIcjs.m,functionName:"totalAssets"})));return e.reduce((o,i,l)=>(o[i]=r[l],o),{})}catch(r){throw console.error("Failed to get total staked amount",r),r}}async function Cu({account:e,...t}){let{config:r}=_chunk22J3YJDNcjs.a.call(void 0, t),a=await fetch(`${r.pol.bribeBoostApi}/api/v1/wallets/${e.toLowerCase()}/rewards/aggregation`,{cache:"no-store"});if(!a.ok){let o=await _chunkPKXAW6MOcjs.b.call(void 0, a);throw new (0, _chunkC6ZGUO4Hcjs.f)({message:"Failed to fetch incentives on server",cause:{error:o,result:a,account:e},reason:_optionalChain([o, 'optionalAccess', _87 => _87.error])})}return await a.json()}async function Rt({account:e,vaultAddress:t,publicClient:r}){if(!r)throw new Error("Missing public client");if(!e)throw new Error("Missing user account");if(!t)throw new Error("Missing vault address");return await r.readContract({address:t,abi:_chunkVP7XUOSIcjs.k,functionName:"earned",args:[e]})}async function St({account:e,vaultAddress:t,publicClient:r}){_chunk7LNBSOVVcjs.c.call(void 0, r),_chunk7LNBSOVVcjs.d.call(void 0, e,"account"),_chunk7LNBSOVVcjs.d.call(void 0, t,"vaultAddress");try{let[a,o]=await Promise.all([r.readContract({address:t,abi:_chunkVP7XUOSIcjs.k,functionName:"balanceOf",args:[e]}),r.readContract({address:t,abi:_chunkVP7XUOSIcjs.k,functionName:"getTotalDelegateStaked",args:[e]})]);return{balance:a,delegated:o}}catch(a){throw console.log(a),a}}async function kt({vaultAddress:e,publicClient:t}){if(!t)throw new Error("Missing public client");if(!e)throw new Error("Missing vault address");try{return await t.readContract({address:e,abi:_chunkVP7XUOSIcjs.k,functionName:"totalSupply",args:[]})}catch(r){throw console.log(r),r}}async function Fu({account:e,vaultAddress:t,publicClient:r}){let[a,o,i]=await Promise.all([St({account:e,vaultAddress:t,publicClient:r}),Rt({account:e,vaultAddress:t,publicClient:r}),kt({vaultAddress:t,publicClient:r})]),l=a.balance-a.delegated,n=i>0n?Number(Number.parseFloat(_viem.formatEther.call(void 0, a.balance))/Number.parseFloat(_viem.formatEther.call(void 0, i))).toString():"0";return{balance:a.balance,delegatedBalance:a.delegated,withdrawableBalance:l,rewards:_viem.formatEther.call(void 0, o),percentage:n}}async function Mu({account:e,publicClient:t,...r}){let{config:a}=_chunk22J3YJDNcjs.a.call(void 0, r),l=await _asyncOptionalChain([(await g("api",r).query({query:_api3.GetUserVaults,variables:{userId:e,chain:a.bex.chainName}})), 'access', async _88 => _88.data, 'optionalAccess', async _89 => _89.userVaultDeposits, 'optionalAccess', async _90 => _90.deposits]);if(!l)return{totalBgtRewards:"0",vaults:[],totalStakedValue:0};let[n,s]=await Promise.all([t.multicall({allowFailure:!1,contracts:l.map(b=>({address:b.vaultAddress,abi:_chunkVP7XUOSIcjs.k,functionName:"earned",args:[e]}))}),t.multicall({allowFailure:!1,contracts:l.map(b=>({address:b.vaultAddress,abi:_chunkVP7XUOSIcjs.k,functionName:"balanceOf",args:[e]}))})]),{userVaults:d,total:u}=l.reduce((b,p,A)=>{let C=n[A],V=s[A];if(b.total+=C,!p.vault)return _chunk7LNBSOVVcjs.f.captureException(new (0, _chunkC6ZGUO4Hcjs.f)({message:"Deposit data from API is missing vault",level:"error",extra:{deposit:p}})),console.error("Deposit data from API is missing vault",p),b;if(C>0n||V>0n){let y=_optionalChain([p, 'access', _91 => _91.vault, 'access', _92 => _92.dynamicData, 'optionalAccess', _93 => _93.tvl])&&Number(p.vault.stakingTokenAmount)!==0?Number(_nullishCoalesce(_optionalChain([p, 'access', _94 => _94.vault, 'access', _95 => _95.dynamicData, 'optionalAccess', _96 => _96.tvl]), () => (0)))/Number(p.vault.stakingTokenAmount):null;b.userVaults.push({...p,vault:p.vault,unclaimedBgt:_viem.formatUnits.call(void 0, C,18),formattedBalance:_viem.formatUnits.call(void 0, V,p.vault.stakingToken.decimals),stakingTokenPrice:y})}return b},{userVaults:[],total:0n}),m=[...d].sort((b,p)=>{if(b.vault.isVaultWhitelisted&&!p.vault.isVaultWhitelisted)return-1;if(!b.vault.isVaultWhitelisted&&p.vault.isVaultWhitelisted)return 1;let A=Number.parseFloat(b.unclaimedBgt);return Number.parseFloat(p.unclaimedBgt)-A});return{totalStakedValue:m.reduce((b,p)=>{let A=Number(_nullishCoalesce(_optionalChain([p, 'access', _97 => _97.vault, 'access', _98 => _98.dynamicData, 'optionalAccess', _99 => _99.tvl]), () => (0)));if(A===0)return b;let C=Number.parseFloat(p.vault.stakingTokenAmount),V=A/C;return b+V*Number(p.formattedBalance)},0),totalBgtRewards:_viem.formatUnits.call(void 0, u,18),vaults:m}}async function ju({vault:e,chain:t,...r}){let{config:a}=_chunk22J3YJDNcjs.a.call(void 0, r);return(await g("api",r).query({query:_api3.GetVaultHistory,variables:{...r,vaultId:e,chain:_nullishCoalesce(t, () => (a.bex.chainName))}})).data.polGetRewardVaultSnapshots}async function Xu({address:e,onlyActiveValidators:t,...r}){returnawait _asyncNullishCoalesce((await g("api",r).query({query:_api3.GetVaultValidators,variables:{vaultId:e,isActive:t}})).data.validators.validators, async () => ([]))}async function ic({addressIn:e,...t}){let{config:r,chainId:a}=_chunk22J3YJDNcjs.a.call(void 0, t),o=e.map(n=>n.toLowerCase()).filter((n,s,d)=>n&&d.indexOf(n)===s),i=g("api",t),{data:l}=await i.query({query:_api.GetTokenCurrentPrices,variables:{chains:[r.bex.chainName],addressIn:o}});return l.tokenGetCurrentPrices.reduce((n,s)=>{if(!s.price||!s.address)return n;let d=s.address;return n[_viem.getAddress.call(void 0, d)]={price:_chunkPKXAW6MOcjs.D.call(void 0, s.price.toString()),updatedAt:s.updatedAt,chainId:a},n[d.toLowerCase()]={price:_chunkPKXAW6MOcjs.D.call(void 0, s.price.toString()),updatedAt:s.updatedAt,chainId:a},_chunk22J3YJDNcjs.e.call(void 0, d,"WBERA")&&(n[_viem.zeroAddress]={price:_chunkPKXAW6MOcjs.D.call(void 0, s.price.toString()),updatedAt:s.updatedAt,chainId:a},n[r.tokens.bgt.toLowerCase()]={price:_chunkPKXAW6MOcjs.D.call(void 0, s.price.toString()),updatedAt:s.updatedAt,chainId:a},n[r.tokens.bgt]={price:_chunkPKXAW6MOcjs.D.call(void 0, s.price.toString()),updatedAt:s.updatedAt,chainId:a}),n},{})}var _core = require('@wagmi/core');async function dc({items:e,account:t,config:r}){_chunk7LNBSOVVcjs.b.call(void 0, e,"items"),_chunk7LNBSOVVcjs.b.call(void 0, r,"config"),_chunk7LNBSOVVcjs.b.call(void 0, t,"account");let a=Object.groupBy(e,i=>i.token.chainId);return(await Promise.allSettled(Object.entries(a).map(async([i,l])=>{if(!l)return[];let n=_core.getPublicClient.call(void 0, r,{chainId:Number(i)});return _chunk7LNBSOVVcjs.c.call(void 0, n,`publicClient ${i}`),(await n.multicall({contracts:l.map(u=>({address:u.token.address,abi:_viem.erc20Abi,functionName:"allowance",args:[t,u.spender]}))})).map((u,m)=>{let f=l[m];return u.error?void 0:{token:f.token,spender:f.spender,amount:f.amount,allowance:{raw:u.result.toString(),formatted:_viem.formatUnits.call(void 0, u.result,f.token.decimals)},needsApproval:u.result<BigInt(f.amount.raw)}}).filter(u=>!!u)}))).flatMap(i=>i.status==="fulfilled"?i.value:void 0).filter(i=>!!i)}async function Nt({publicClient:e,abi:t,...r}){let a=[..._chunkC6ZGUO4Hcjs.c,..._nullishCoalesce(t, () => ([]))],o,i,l,n,s,d,u;if("txHash"in r){let m=await e.getTransaction({hash:r.txHash});if(!m.to)throw new (0, _chunkC6ZGUO4Hcjs.h)({property:"tx",value:m,expected:"Transaction",message:"Trying to get revert reason for a contract creation"});s=m.input,i=m.to,l=m.from,n=m.value,o=m.blockNumber}else if(o=r.blockNumber,i=r.to,l=r.account,n=r.value,"data"in r)s=r.data;else if("functionName"in r&&"args"in r)d=r.functionName,u=r.args;else if(!n)throw new (0, _chunkC6ZGUO4Hcjs.h)({property:"dataOrFunctionNameAndArgs",value:r,expected:"Hex or FunctionName and Args"});try{if(!a)if(s)await e.call({data:s,to:i,account:l,blockNumber:o,value:n});else throw new Error("Data is required if abi is not provided");if("functionName"in r&&"args"in r&&r.functionName)d=r.functionName,u=r.args;else if(s){if(!a){let m=await e.call({data:s,to:i,account:l,blockNumber:o,value:n});throw new Error(`Getting revert reason for successful simulation. Data: ${s}`,{cause:m})}try{let m=_viem.decodeFunctionData.call(void 0, {abi:a,data:s});d=m.functionName,u=m.args}catch(m){throw m instanceof _viem.AbiFunctionSignatureNotFoundError&&await e.call({data:s,to:i,account:l,blockNumber:o,value:n}),new Error("Data is required if abi is not provided")}}else throw new Error("No data or function name and args provided");throw a&&d?(await e.simulateContract({functionName:d,args:u,abi:a,address:i,account:l,blockNumber:o}),new (0, _chunk6LDOG5RLcjs.c)({message:"Getting revert reason for successful simulation",functionName:d,to:i,txHash:"txHash"in r?r.txHash:void 0,input:r})):new Error("No data or function name and args provided")}catch(m){if(m instanceof Error)return _chunkC6ZGUO4Hcjs.e.call(void 0, {error:m,abi:a,revertIfUnknown:!0});throw m}}var Sa=_chunkPKXAW6MOcjs.m.call(void 0, 1),Gt=(e,t)=>e*(100n+BigInt(t))/100n;function Fe({nonceResult:e,onWarning:t}){if(e.status==="fulfilled"){if(e.value&&e.value>Number.MAX_SAFE_INTEGER){_optionalChain([t, 'optionalCall', _100 => _100(new (0, _chunkC6ZGUO4Hcjs.f)({message:"Nonce is too large. No nonce will be provided to avoid IntegerOutOfRangeError.",cause:e.value,level:"debug"}))]);return}return e.value}}function ka(e=_internal.defaultChainId){return e===_internal.ChainId.BEPOLIA?process.env.NEXT_PUBLIC_80069_ANVIL_IMPERSONATE_ACCOUNT==="true":process.env.NEXT_PUBLIC_80094_ANVIL_IMPERSONATE_ACCOUNT==="true"}async function Ec(e){if(process.env.NODE_ENV==="development"&&!e.contractName&&e.address&&!("calls"in e||e.calls))throw console.warn("beraWriteContract: Contract name is required. Either update the contract mapping in devrel or provide a contract name in ContractName enum","This is a development error and will be thrown in development mode only."),new (0, _chunkC6ZGUO4Hcjs.h)({property:"contractName",value:e.contractName,expected:"ContractName",displayMessage:`[DEV] Contract name is required as it's not mapped in the devrel's contract mapping ${e.address}`,level:"error"});let{address:t,calls:r,value:a,gasLimit:o,onLoading:i,onSuccess:l,onWarning:n,onError:s,onSubmission:d,wagmiConfig:u,walletClient:m,account:f,txConfirmationTimeout:b=12e4,chainId:p=_internal.defaultChainId,impersonateAccount:A=ka(p),errorsAbi:C=[],pollingInterval:V=Sa,...y}=e;_optionalChain([i, 'optionalCall', _101 => _101(e)]);let q="data"in y?y.data:void 0,T=[..._chunkC6ZGUO4Hcjs.c,...C,..."abi"in y&&y.abi&&Array.isArray(y.abi)?y.abi:[]],E=m;if(!u){_optionalChain([s, 'optionalCall', _102 => _102(new (0, _chunkC6ZGUO4Hcjs.h)({property:"wagmiConfig",value:u,expected:"Config"}),e)]);return}if(!(_optionalChain([E, 'optionalAccess', _103 => _103.account, 'optionalAccess', _104 => _104.type])==="local"))try{await _core.switchChain.call(void 0, u,{chainId:p})}catch(S){let F=S;_optionalChain([s, 'optionalCall', _105 => _105(new (0, _chunkC6ZGUO4Hcjs.f)({cause:F,displayMessage:"There was an error switching to the chain."}),e)]);return}if(!E)try{E=await _core.getWalletClient.call(void 0, u,{chainId:p})}catch(S){_optionalChain([s, 'optionalCall', _106 => _106(new (0, _chunkC6ZGUO4Hcjs.f)({cause:S,displayMessage:"There was an error connecting to the wallet."}),e)]);return}if(!E){_optionalChain([s, 'optionalCall', _107 => _107(new (0, _chunkC6ZGUO4Hcjs.h)({displayMessage:"There was an error connecting to the wallet.",property:"walletClient",value:E,expected:"WalletClient"}),e)]);return}let U=f||E.account;if(!U){_optionalChain([s, 'optionalCall', _108 => _108(new (0, _chunkC6ZGUO4Hcjs.h)({property:"account",value:U,expected:"Account"}),e)]);return}let de=typeof U=="string"?U:U.address,H=_core.getPublicClient.call(void 0, u,{chainId:p});try{_chunk7LNBSOVVcjs.c.call(void 0, H)}catch(S){_optionalChain([s, 'optionalCall', _109 => _109(S,e)]);return}if(A){let S=_chunkPKXAW6MOcjs.F.call(void 0, p);await S.impersonateAccount({address:de}),E=_viem.createWalletClient.call(void 0, {transport:_viem.http.call(void 0, S.transport.url),account:U,chain:E.chain})}let D,ne={calls:"calls"in y?y.calls:void 0,params:"params"in y?y.params:void 0,value:a,data:"data"in y?y.data:void 0};try{let S=H.getTransactionCount({address:de,blockTag:"latest"}).catch(()=>{}),F={account:de,to:t,address:t,chainId:p,value:a};if(r){let Q=r.map(h=>{if("abi"in h&&Array.isArray(T)&&T.push(...h.abi),"data"in h)return{to:h.address,data:h.data,value:_nullishCoalesce(h.value, () => (0n))};if("abi"in h&&"functionName"in h){let _="params"in h?h.params:void 0;return{to:h.address,abi:h.abi,functionName:h.functionName,args:_,value:_nullishCoalesce(h.value, () => (0n))}}return{to:h.address,value:_nullishCoalesce(h.value, () => (0n))}});if(e.enableSimulateCalls){let h=await H.simulateCalls({calls:Q,account:U}),_=h.results.findIndex(J=>J.status==="failure");if(_!==-1){if(h.block.number===null)throw new (0, _chunkC6ZGUO4Hcjs.h)({property:"blockNumber",value:h.block.number,expected:"bigint",message:"Block number is null"});let J=h.results[_],{reason:Be}=J.data&&J.data!=="0x"?{reason:_chunkC6ZGUO4Hcjs.d.call(void 0, _viem.decodeErrorResult.call(void 0, {data:J.data,abi:T}))}:_chunkC6ZGUO4Hcjs.e.call(void 0, {error:J.error,revertIfUnknown:!1,abi:T});_optionalChain([s, 'optionalCall', _110 => _110(new (0, _chunk6LDOG5RLcjs.c)({cause:J.error,txHash:D,chainId:p,reason:Be,abi:T,input:ne,blockNumber:h.block.number}),e)]);return}}if(process.env.NODE_ENV==="test")throw new (0, _chunkC6ZGUO4Hcjs.h)({displayMessage:"Batch calls are not supported in test environment",expected:"not test",property:"NODE_ENV",value:process.env.NODE_ENV,level:"fatal"});let O=await E.sendCalls({calls:Q,account:U,forceAtomic:!0});_optionalChain([d, 'optionalCall', _111 => _111({id:O.id},e)]);let M=await E.waitForCallsStatus({id:O.id,pollingInterval:V,timeout:b});if(M.status==="success"){let h=_optionalChain([M, 'access', _112 => _112.receipts, 'optionalAccess', _113 => _113[0]]);if(!h)throw new (0, _chunkC6ZGUO4Hcjs.f)({message:"Call status is success but no receipt was found",cause:M,level:"error",reason:"CALL_STATUS_SUCCESS_BUT_NO_RECEIPT"});return _optionalChain([l, 'optionalCall', _114 => _114(h,e)]),h}throw console.error("wallet_sendCalls: Call failed",M),new (0, _chunk6LDOG5RLcjs.c)({cause:M,level:"error",input:ne,txHash:D,abi:T,chainId:p})}if(q){let[Q,O,M]=await Promise.allSettled([H.call({...F,data:q}),_nullishCoalesce(o, () => (H.estimateGas({...F,data:q}))),S]);if(Q.status==="rejected")throw Q.reason;let h=O.status==="fulfilled"?Gt(O.value,10):_chunkPKXAW6MOcjs.j;D=await E.sendTransaction({data:q,to:t,account:U,gas:h,chainId:p,nonce:Fe({nonceResult:M,onWarning(_){_optionalChain([n, 'optionalCall', _115 => _115(_,e)])}}),value:a}),_optionalChain([d, 'optionalCall', _116 => _116({txHash:D},e)])}else if("abi"in y&&"functionName"in y){let{abi:Q,functionName:O}=y,M="params"in y?y.params:void 0,[h,_,J]=await Promise.allSettled([H.simulateContract({...F,abi:T,functionName:O,args:M,account:U}),_nullishCoalesce(o, () => (H.estimateContractGas({...F,abi:T,functionName:O,args:M}))),S]);if(h.status==="rejected")throw h.reason;let Be=_nullishCoalesce(o, () => ((_.status==="fulfilled"?Gt(_.value,10):_chunkPKXAW6MOcjs.j)));D=await E.writeContract({...h.value.request,chainId:p,gas:Be,nonce:Fe({nonceResult:J,onWarning(It){_optionalChain([n, 'optionalCall', _117 => _117(It,e)])}})}),_optionalChain([d, 'optionalCall', _118 => _118({txHash:D},e)])}else{let[Q]=await Promise.allSettled([S]);D=await E.sendTransaction({chainId:p,to:t,value:a,account:U,nonce:Fe({nonceResult:Q,onWarning(O){_optionalChain([n, 'optionalCall', _119 => _119(O,e)])}})}),_optionalChain([d, 'optionalCall', _120 => _120({txHash:D},e)])}process.env.NODE_ENV==="test"&&await _chunkPKXAW6MOcjs.F.call(void 0, p).mine({blocks:1});let z=await H.waitForTransactionReceipt({hash:D,pollingInterval:V,timeout:b,confirmations:1});if(z.status==="success")_optionalChain([l, 'optionalCall', _121 => _121(z,e)]);else{let Q=await Nt({publicClient:H,blockNumber:z.blockNumber,to:t,account:de,abi:T,args:"params"in y?y.params:void 0,functionName:"functionName"in y?y.functionName:void 0,value:a,data:q});process.env.NODE_ENV==="test"&&console.error("beraWriteContract: Revert reason",Q),_optionalChain([s, 'optionalCall', _122 => _122(new (0, _chunk6LDOG5RLcjs.c)({reason:Q.reason,txHash:D,receipt:z,to:t,functionName:"functionName"in y?y.functionName:void 0,input:ne,chainId:p,abi:T,blockNumber:z.blockNumber}),e)])}return z}catch(S){if(S instanceof _chunkC6ZGUO4Hcjs.f)_optionalChain([s, 'optionalCall', _123 => _123(S,e)]);else if(S instanceof Error){let F=_chunkC6ZGUO4Hcjs.e.call(void 0, {error:S,revertIfUnknown:!1,abi:T});if(F&&F.rootCause instanceof _viem.BaseError&&"url"in F.rootCause){_optionalChain([s, 'optionalCall', _124 => _124(new (0, _chunkC6ZGUO4Hcjs.g)({cause:F.rootCause,response:void 0,endpoint:{url:F.rootCause.url,type:"rpc"},statusCode:F.rootCause instanceof _viem.HttpRequestError?F.rootCause.status:void 0}),e)]);return}_optionalChain([s, 'optionalCall', _125 => _125(new (0, _chunk6LDOG5RLcjs.c)({cause:S,to:t,txHash:D,chainId:p,abi:T,functionName:"functionName"in y?y.functionName:void 0,input:ne}),e)])}else _optionalChain([s, 'optionalCall', _126 => _126(new (0, _chunk6LDOG5RLcjs.c)({cause:S,txHash:D,to:t,chainId:p,functionName:"functionName"in y?y.functionName:void 0,input:ne,abi:T}),e)])}}async function Tt({variables:e={},...t}={}){let{config:r}=_chunk22J3YJDNcjs.a.call(void 0, t);return(await g("api",t).query({query:_api3.GetValidators,variables:{chain:r.bex.chainName,...e}})).data}async function Lc({allocation:e}){let t=await Ce({filter:{where:{vaultAddressIn:e.weights.map(a=>a.receiver)}}}),r=_nullishCoalesce(_optionalChain([e, 'optionalAccess', _127 => _127.start, 'access', _128 => _128.blockNumber]), () => (0));return _optionalChain([e, 'optionalAccess', _129 => _129.weights, 'access', _130 => _130.map, 'call', _131 => _131(a=>({percentage:a.percentage,receiver:a.receiver,startBlock:r,receivingVault:_optionalChain([t, 'optionalAccess', _132 => _132.gaugeList, 'access', _133 => _133.find, 'call', _134 => _134(o=>_viem.isAddressEqual.call(void 0, o.address,a.receiver))])}))])}async function Jc({id:e,...t}){let{config:r}=_chunk22J3YJDNcjs.a.call(void 0, t);return(await g("api",t).query({query:_api3.GetValidator,variables:{id:e,chain:r.bex.chainName}})).data}async function Yc({pubKey:e,first:t=1,...r}){let a=g("pol.subgraph",r);try{return(await a.query({query:_subgraph3.GetValidatorBlockStats,variables:{pubKey:e,first:t}})).data}catch(o){throw console.error("GetValidatorBlockStats:",o),o}}function oe(e,t){return{start:{blockNumber:Number(e.startBlock),timestamp:e.startBlock!==0n?t:0},weights:e.weights.map(r=>({receiver:r.receiver,percentage:Number(r.percentageNumerator)/1e4}))}}function Ea(e,t){return e.start.blockNumber===t.start.blockNumber&&e.weights.every((r,a)=>r.percentage===t.weights[a].percentage)}async function ed({client:e,pubKey:t,...r}){let{config:a}=_chunk22J3YJDNcjs.a.call(void 0, r);try{let[o,i]=await Promise.all([e.readContract({address:a.pol.beraChef,abi:_chunkVP7XUOSIcjs.i,functionName:"getActiveRewardAllocation",args:[t]}),e.readContract({address:a.pol.beraChef,abi:_chunkVP7XUOSIcjs.i,functionName:"getSetActiveRewardAllocation",args:[t]})]),[l,n]=await Promise.all([o.startBlock!==0n?e.getBlock({blockNumber:BigInt(o.startBlock)}):{timestamp:0},i.startBlock!==0n?e.getBlock({blockNumber:BigInt(i.startBlock)}):{timestamp:0}]),s=oe(o,Number(l.timestamp)),d=oe(i,Number(n.timestamp)),u=!1;return d.start.blockNumber===0?u=!0:u=!Ea(d,s),{activeRewardAllocation:s,setRewardAllocation:d,isBaseline:u,isNeverSet:_optionalChain([d, 'optionalAccess', _135 => _135.start, 'access', _136 => _136.blockNumber])===0}}catch(o){throw console.log("getValidatorRewardAllocation:",o),o}}function nd(e){return e.start.blockNumber===0}async function id({client:e,...t}){let{config:r}=_chunk22J3YJDNcjs.a.call(void 0, t),a=await e.readContract({address:r.pol.beraChef,abi:_chunkVP7XUOSIcjs.i,functionName:"getDefaultRewardAllocation",args:[]});return oe({...a,startBlock:0n},0)}async function cd({account:e,...t}){try{return(await g("pol.subgraph",t).query({query:_subgraph3.GetValidatorByAccount,variables:{account:e}})).data}catch(r){throw console.error("getManagedValidatorByAccount:",r),r}}async function md({client:e,valPubKey:t}){return 5614}async function Et({account:e,pubkey:t,publicClient:r,...a}){let{config:o}=_chunk22J3YJDNcjs.a.call(void 0, a);if(!e)throw new Error("account is required");if(!r)throw new Error("publicClient is required");let[i,l,n]=await Promise.all([r.readContract({address:o.tokens.bgt,abi:_chunkVP7XUOSIcjs.j,functionName:"boosted",args:[e,t]}),r.readContract({address:o.tokens.bgt,abi:_chunkVP7XUOSIcjs.j,functionName:"boostedQueue",args:[e,t]}),r.readContract({address:o.tokens.bgt,abi:_chunkVP7XUOSIcjs.j,functionName:"dropBoostQueue",args:[e,t]})]);return{pubkey:t,activeBoostAmount:_viem.formatEther.call(void 0, i),queuedBoostAmount:_viem.formatEther.call(void 0, l[1]),queuedDropBoostAmount:_viem.formatEther.call(void 0, n[1]),queuedBoostStartBlock:l[0],queuedDropBoostStartBlock:n[0],hasPendingBoosts:Number(l[1])>0||Number(n[1])>0,hasActiveBoosts:Number(i)>0}}async function Ft({account:e,block:t,...r}){return await g("pol.subgraph",r).query({query:_subgraph3.GetUserValidatorInformation,variables:{address:e.toLowerCase(),block:t}})}async function Rd({account:e,publicClient:t,chain:r,...a}){let{config:o}=_chunk22J3YJDNcjs.a.call(void 0, a),i=_nullishCoalesce(r, () => (o.bex.chainName)),l=await Ft({account:e}),[n,s]=await Promise.all([Tt({variables:{chain:i,where:{idIn:l.data.userValidatorInformations.map(d=>d.validator.id)}}}),t&&_chunkPKXAW6MOcjs.G.call(void 0, {lastBlockTimestamp:_optionalChain([l, 'access', _137 => _137.data, 'access', _138 => _138._meta, 'optionalAccess', _139 => _139.block, 'access', _140 => _140.timestamp]),blockTime:o.averageBlockTime})?Promise.all(l.data.userValidatorInformations.map(d=>Et({account:e,pubkey:d.validator.publicKey,publicClient:t}))):void 0]);return _optionalChain([n, 'optionalAccess', _141 => _141.validators, 'access', _142 => _142.validators, 'access', _143 => _143.map, 'call', _144 => _144(d=>{let u=s?s.find(m=>m.pubkey.toLowerCase()===d.pubkey.toLowerCase()):l.data.userValidatorInformations.find(m=>m.validator.id.toLowerCase()===d.id.toLowerCase());if(!u)throw new Error("User deposited not found");return{...d,userBoosts:{pubkey:"pubkey"in u?u.pubkey:u.validator.publicKey,activeBoostAmount:_optionalChain([u, 'optionalAccess', _145 => _145.activeBoostAmount]),queuedBoostAmount:_optionalChain([u, 'optionalAccess', _146 => _146.queuedBoostAmount]),queuedBoostStartBlock:Number(_optionalChain([u, 'optionalAccess', _147 => _147.queuedBoostStartBlock])),queuedDropBoostAmount:_optionalChain([u, 'optionalAccess', _148 => _148.queuedDropBoostAmount]),queuedDropBoostStartBlock:Number(_optionalChain([u, 'optionalAccess', _149 => _149.queuedDropBoostStartBlock])),hasPendingBoosts:Number(_optionalChain([u, 'optionalAccess', _150 => _150.queuedBoostAmount]))>0||Number(_optionalChain([u, 'optionalAccess', _151 => _151.queuedDropBoostAmount]))>0,hasActiveBoosts:Number(_optionalChain([u, 'optionalAccess', _152 => _152.activeBoostAmount]))>0}}})])}var qa=[{validatorAddress:"0x8f51e63d9921a461be29e73dca1c2385e1adc5943fbb36ded4ba96025ee8a783184d1118da08171f6ea831153c878a6d",earning:.045,staked:{amount:16114000000000000000n,formattedAmount:"161.14"},rewards:{amount:15214000000000000000n,formattedAmount:"152.14"}},{staked:{amount:141514000000000000000n,formattedAmount:"1415.14"},validatorAddress:"0x97b21253b17f4e814fe7505c15c18e68c85ab2477274ad370a762df50e3eb4cb1a48451e089bc22e158d7448549a8ab9",earning:.045,rewards:{amount:15414000000000000000n,formattedAmount:"154.14"},queueData:{stake:[{amount:16159000000000000000n,formattedAmount:"161.59"}],unstake:[{amount:16159000000000000000n,formattedAmount:"161.59",timestamp:_chunkPKXAW6MOcjs.l.call(void 0, Date.now()-72e6)}]}},{staked:{amount:141514000000000000000n,formattedAmount:"1415.14"},validatorAddress:"0xa2705d6b27891f3f5651f26547d1bb79e256f95f249d1ad717cef087d77d38b037e5d6dbaa2538930fd0731ec9b02f3a",earning:.145,rewards:{amount:15414000000000000000n,formattedAmount:"154.14"},queueData:{unstake:[{amount:16159000000000000000n,formattedAmount:"161.59",timestamp:_chunkPKXAW6MOcjs.l.call(void 0, Date.now()-72e6)}]}},{staked:{amount:141514000000000000000n,formattedAmount:"1415.14"},validatorAddress:"0xa2705d6b27891f3f5651f26547d1bb79e256f95f249d1ad717cef087d77d38b037e5d6dbaa2538930fd0731ec9b02f3a",earning:.145,rewards:{amount:15414000000000000000n,formattedAmount:"154.14"},queueData:{unstake:[{amount:16159000000000000000n,formattedAmount:"161.59",timestamp:_chunkPKXAW6MOcjs.l.call(void 0, Date.now()-72e6)}]}},{staked:{amount:141514000000000000000n,formattedAmount:"1415.14"},validatorAddress:"0xa2705d6b27891f3f5651f26547d1bb79e256f95f249d1ad717cef087d77d38b037e5d6dbaa2538930fd0731ec9b02f3a",earning:.145,rewards:{amount:15414000000000000000n,formattedAmount:"154.14"},queueData:{unstake:[{amount:16159000000000000000n,formattedAmount:"161.59",timestamp:_chunkPKXAW6MOcjs.l.call(void 0, Date.now()-72e6)}]}},{staked:{amount:141514000000000000000n,formattedAmount:"1415.14"},validatorAddress:"0xa2705d6b27891f3f5651f26547d1bb79e256f95f249d1ad717cef087d77d38b037e5d6dbaa2538930fd0731ec9b02f3a",earning:.145,rewards:{amount:15414000000000000000n,formattedAmount:"154.14"},queueData:{unstake:[{amount:16159000000000000000n,formattedAmount:"161.59",timestamp:_chunkPKXAW6MOcjs.l.call(void 0, Date.now()-72e6)}]}},{staked:{amount:141514000000000000000n,formattedAmount:"1415.14"},validatorAddress:"0xa2705d6b27891f3f5651f26547d1bb79e256f95f249d1ad717cef087d77d38b037e5d6dbaa2538930fd0731ec9b02f3a",earning:.145,rewards:{amount:15414000000000000000n,formattedAmount:"154.14"},queueData:{unstake:[{amount:16159000000000000000n,formattedAmount:"161.59",timestamp:_chunkPKXAW6MOcjs.l.call(void 0, Date.now()-72e6)}]}},{staked:{amount:241514000000000000000n,formattedAmount:"2415.14"},validatorAddress:"0xa4e4b63514f54d61da5197359f11ff1fc2930788ba2ffdd30c2fc059cbe0221020197bf9446b16ac347f36c7517a8686",earning:.145,rewards:{amount:15414000000000000000n,formattedAmount:"154.14"},queueData:{unstake:[{amount:1159000000000000000n,formattedAmount:"11.59",timestamp:_chunkPKXAW6MOcjs.l.call(void 0, Date.now()-36e6)}]}},{validatorAddress:"0xb0511ec039591e98bd4e183ba70b85572214a7ad8ca1a43e96ad3495d3821054927bc542e5482ec9733e35b7ef0b1f03",earning:.045,staked:{amount:141514000000000000000n,formattedAmount:"1415.14"},rewards:{amount:15414000000000000000n,formattedAmount:"154.14"},queueData:{stake:[{amount:1159000000000000000n,formattedAmount:"11.59"}]}}];async function Nd(e){return await new Promise(t=>setTimeout(t,2e3)),e==="0x4C368fFE3650379d6318C8d4630bc51f8Ad12bB6"?qa:[]}async function Fd({pubkey:e,dayRange:t,...r}){return(await g("pol.subgraph",r).query({query:_subgraph3.GetValidatorAnalytics,variables:{pubKey:e,timestamp:_chunkPKXAW6MOcjs.z.call(void 0, t).toString()}})).data}async function Qd({client:e,pubKey:t,...r}){let{config:a}=_chunk22J3YJDNcjs.a.call(void 0, r),o=await e.readContract({address:a.pol.beraChef,abi:_chunkVP7XUOSIcjs.i,functionName:"getValCommissionOnIncentiveTokens",args:[t]});return Number(_nullishCoalesce(o, () => (0n)))/1e4}var Ld=(e,t,r)=>{if(!t||!e)return 0;let a=_chunkPKXAW6MOcjs.y.call(void 0, 1)/r;return(t?a*(Number(_optionalChain([e, 'access', _153 => _153.dynamicData, 'optionalAccess', _154 => _154.stakedBeraAmount]))/t):0)*Number.parseFloat(_nullishCoalesce(_optionalChain([e, 'access', _155 => _155.dynamicData, 'optionalAccess', _156 => _156.rewardRate]), () => ("0")))};async function _d({client:e,pubKey:t,...r}){let{config:a}=_chunk22J3YJDNcjs.a.call(void 0, r);try{return await e.readContract({address:a.depositContract,abi:_chunkVP7XUOSIcjs.h,functionName:"getOperator",args:[t]})}catch(o){throw console.log("getValidatorOperatorAddress:",o),o}}async function Kd({client:e,pubKey:t,...r}){let{config:a}=_chunk22J3YJDNcjs.a.call(void 0, r),o=await e.readContract({address:a.pol.beraChef,abi:_chunkVP7XUOSIcjs.i,functionName:"getValQueuedCommissionOnIncentiveTokens",args:[t]});return{blockNumberLast:o.blockNumberLast,commissionRate:Number(o.commissionRate)/1e4}}async function Zd({client:e,pubKey:t,...r}){let{config:a}=_chunk22J3YJDNcjs.a.call(void 0, r);try{return await e.readContract({address:a.depositContract,abi:_chunkVP7XUOSIcjs.h,functionName:"queuedOperator",args:[t]})}catch(o){throw console.log("getValidatorQueuedOperatorAddress:",o),o}}async function om({client:e,pubKey:t,...r}){let{config:a}=_chunk22J3YJDNcjs.a.call(void 0, r);try{let o=await e.readContract({address:a.pol.beraChef,abi:_chunkVP7XUOSIcjs.i,functionName:"getQueuedRewardAllocation",args:[t]});return oe(o,0)}catch(o){throw console.log("getValidatorQueuedRewardAllocation:",o),o}}exports.a = La; exports.b = ye; exports.c = g; exports.d = _client.gql; exports.e = tt; exports.f = _berancersdk.BalancerApi; exports.g = So; exports.h = To; exports.i = Do; exports.j = at; exports.k = jo; exports.l = Zo; exports.m = nn; exports.n = dn; exports.o = ae; exports.p = bn; exports.q = he; exports.r = Cn; exports.s = vn; exports.t = Nn; exports.u = ct; exports.v = Qn; exports.w = On; exports.x = Jn; exports.y = Yn; exports.z = dt; exports.A = Ne; exports.B = mt; exports.C = vi; exports.D = ki; exports.E = qr; exports.F = Ei; exports.G = Ui; exports.H = gt; exports.I = Ki; exports.J = bt; exports.K = ls; exports.L = fs; exports.M = As; exports.N = Mr; exports.O = Bs; exports.P = Rs; exports.Q = Gs; exports.R = Ce; exports.S = nl; exports.T = Pt; exports.U = ml; exports.V = yl; exports.W = Pl; exports.X = kl; exports.Y = Il; exports.Z = Ql; exports._ = Ml; exports.$ = jl; exports.aa = ce; exports.ba = nu; exports.ca = mu; exports.da = bu; exports.ea = Cu; exports.fa = Rt; exports.ga = Fu; exports.ha = Mu; exports.ia = ju; exports.ja = Xu; exports.ka = ic; exports.la = dc; exports.ma = ka; exports.na = Ec; exports.oa = Tt; exports.pa = Lc; exports.qa = Jc; exports.ra = Yc; exports.sa = oe; exports.ta = Ea; exports.ua = ed; exports.va = nd; exports.wa = id; exports.xa = cd; exports.ya = md; exports.za = Et; exports.Aa = Rd; exports.Ba = Nd; exports.Ca = Fd; exports.Da = Qd; exports.Ea = Ld; exports.Fa = _d; exports.Ga = Kd; exports.Ha = Zd; exports.Ia = om;
|
|
4
|
+
//# sourceMappingURL=chunk-MUCEYO3E.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/liammcaweeney/Work/bera/monobera/packages/berajs/dist/chunk-MUCEYO3E.cjs","../src/actions/bend/getConvertToAssets.ts","../src/actions/clients/BeraApolloClient.ts","../src/actions/governance/parseProposalBody.ts","../src/actions/governance/getProposalFromTx.ts"],"names":["getConvertToAssets","sharesAmount","vaultAddress","publicClient","convertToAssets","metaMorphoAbi","formatEther","BeraApolloClient","ApolloClient","options","queryName","getQueryName","endpoint","tags","executeQuery","res","BeraTracing"],"mappings":"AAAA,q+CAA0H,wDAAyD,wDAAuE,wDAAgK,wDAAgE,wDAAgF,4BCA7e,MAU7D,SAAsBA,EAAAA,CAAmB,CACvC,YAAA,CAAAC,CAAAA,CACA,YAAA,CAAAC,CAAAA,CACA,YAAA,CAAAC,CACF,CAAA,CAAyE,CACvE,IAAMC,CAAAA,CAAkB,MAAMD,CAAAA,CAAa,YAAA,CAAa,CACtD,OAAA,CAASD,CAAAA,CACT,GAAA,CAAKG,mBAAAA,CACL,YAAA,CAAc,iBAAA,CACd,IAAA,CAAM,CAACJ,CAAY,CACrB,CAAC,CAAA,CACD,MAAO,CAAE,GAAA,CAAKG,CAAAA,CAAiB,SAAA,CAAWE,+BAAAA,CAA2B,CAAE,CACzE,CCtBA,wCAMO,sDAEmB,IAYbC,EAAAA,CAAN,MAAA,QAA+BC,oBAAa,CAIvC,WAEV,CACEC,CAAAA,CAMA,CACA,KAAA,CAAMA,CAAO,CAAA,CACb,IAAA,CAAK,GAAA,CAAMA,CAAAA,CAAQ,GACrB,CAEA,MAAM,KAAA,CAKJA,CAAAA,CAIC,CACD,IAAMC,CAAAA,CAAYC,EAAAA,CAAaF,CAAAA,CAAQ,KAAK,CAAA,CACtCG,CAAAA,CAAW,CACf,GAAA,CAAK,IAAA,CAAK,GAAA,CACV,IAAA,CAAM,SACR,CAAA,CAEMC,CAAAA,CAAO,CACX,gBAAA,CAAkB,OAAA,CAClB,sBAAA,CAAwBD,CAAAA,CAAS,GAAA,CACjC,uBAAA,CAAyBA,CAAAA,CAAS,IAAA,CAClC,4BAAA,CAA8BF,CAChC,CAAA,CAEA,GAAI,CACF,IAAMI,CAAAA,CAAe,CAAA,CAAA,EACnB,KAAA,CAAM,KAAA,CACJL,CACF,CAAA,CAEIM,CAAAA,CAAM,MAAMC,mBAAAA,CAAY,SAAA,CAC5B,CACE,IAAA,CAAM,CAAA,QAAA,EAAWN,CAAS,CAAA,CAAA;ACNQ;AC6BlC","file":"/Users/liammcaweeney/Work/bera/monobera/packages/berajs/dist/chunk-MUCEYO3E.cjs","sourcesContent":[null,"import { type Address, formatEther, type PublicClient } from \"viem\";\n\nimport { metaMorphoAbi } from \"~/abi/bend/metaMorpho\";\n\nexport interface GetConvertToAssetsProps {\n sharesAmount: bigint;\n vaultAddress: Address;\n publicClient: PublicClient;\n}\n\nexport async function getConvertToAssets({\n sharesAmount,\n vaultAddress,\n publicClient,\n}: GetConvertToAssetsProps): Promise<{ raw: bigint; formatted: string }> {\n const convertToAssets = await publicClient.readContract({\n address: vaultAddress,\n abi: metaMorphoAbi,\n functionName: \"convertToAssets\",\n args: [sharesAmount],\n });\n return { raw: convertToAssets, formatted: formatEther(convertToAssets) };\n}\n","import {\n ApolloClient,\n type DocumentNode,\n type ErrorLike,\n type OperationVariables,\n ServerError,\n} from \"@apollo/client\";\n\nimport { appConfig } from \"@berachain/config/internal\";\n\nimport { BeraError } from \"~/errors/BeraError\";\nimport { BeraTracing } from \"~/errors/BeraTracing\";\nimport { RequestError } from \"~/errors/RequestError\";\n\n/**\n * This is a wrapper around the ApolloClient that throws a BeraError if the query returns an error or no data.\n *\n * It's mostly a typescript helper that keeps data always defined since we use errorPolicy: \"none\" by default.\n * Such setting will throw an error if the query returns an error, rather than returning an object with undefined data and an error property.\n */\nexport class BeraApolloClient extends ApolloClient {\n /**\n * The URL of the endpoint. Used for error reporting only.\n */\n protected url: string;\n\n constructor(\n options: ApolloClient.Options & {\n /**\n * The URL of the endpoint. Used for error reporting only.\n */\n url: string;\n },\n ) {\n super(options);\n this.url = options.url;\n }\n\n async query<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n >(\n // We handle errors in our custom logic so we don't need to pass errorPolicy here\n options: Omit<ApolloClient.QueryOptions<TData, TVariables>, \"errorPolicy\">,\n ): Promise<{\n // Only data is returned and we're sure it's not undefined due to errorPolicy\n data: TData;\n }> {\n const queryName = getQueryName(options.query);\n const endpoint = {\n url: this.url,\n type: \"graphql\",\n } as const;\n\n const tags = {\n \"operation.type\": \"query\",\n \"operation.source.url\": endpoint.url,\n \"operation.source.type\": endpoint.type,\n \"operation.source.queryName\": queryName,\n };\n\n try {\n const executeQuery = () =>\n super.query<TData, TVariables>(\n options as ApolloClient.QueryOptions<TData, TVariables>,\n );\n\n const res = await BeraTracing.startSpan(\n {\n name: `GraphQL ${queryName}`,\n op: \"BeraApolloClient.query\",\n attributes: tags,\n },\n executeQuery,\n );\n\n if (res.error || res.data === undefined) {\n throw new BeraError({\n level: \"fatal\",\n tags,\n message:\n \"Bera Apollo Client: No data returned from query, but error should be thrown since errorPolicy is none\",\n });\n }\n\n return { data: res.data } as const;\n } catch (error) {\n !appConfig.env.isProduction &&\n console.error(\"BeraApolloClient error\", error);\n\n if (ServerError.is(error)) {\n throw new RequestError({\n // reason: error,\n response: error.response,\n cause: error,\n statusCode: error.statusCode,\n endpoint,\n tags,\n });\n }\n if (error instanceof TypeError) {\n throw new RequestError({\n level: \"fatal\",\n reason: \"TypeError\",\n response: error,\n cause: error,\n endpoint,\n tags,\n });\n }\n throw new RequestError({\n response: error as ErrorLike,\n tags,\n cause: error,\n endpoint,\n });\n }\n }\n}\n\nfunction getQueryName(queryDefinition: DocumentNode) {\n const likelyNode = queryDefinition.definitions.find(\n (def) => def.kind === (\"OperationDefinition\" as const),\n );\n\n return likelyNode?.name?.value;\n}\n","import graymatter from \"gray-matter\";\n\nimport type { ProposalSelectionFragment } from \"@berachain/graphql/governance\";\n\nconst parseLegacyBody = (\n s: string,\n): { type: string | null; title: string; content: string } => {\n const pattern = /#(?:([\\w-]+)# )?(.+)\\n([\\s\\S]*)/;\n const match = s.match(pattern);\n\n if (match) {\n const type = match[1] || null;\n const title = match[2];\n const content = match[3].replace(\"\\n\", \"<br />\");\n return {\n type,\n title,\n content,\n };\n }\n\n throw new Error(\"Invalid proposal body\");\n};\n\nexport const parseProposalBody = (\n proposal?: Pick<ProposalSelectionFragment, \"description\">,\n): graymatter.GrayMatterFile<string> & {\n isFrontMatter: boolean;\n} => {\n if (!proposal) {\n return {\n isFrontMatter: false,\n data: { title: \"Loading...\" },\n content: \"\",\n matter: \"\",\n language: \"\",\n orig: \"\",\n stringify: () => \"\",\n };\n }\n\n const body = proposal?.description ?? \"\";\n\n if (graymatter.test(body)) {\n return { ...graymatter(body), isFrontMatter: true };\n }\n\n try {\n const legacyBody = parseLegacyBody(body);\n\n return {\n isFrontMatter: false,\n data: { title: legacyBody.title },\n content: legacyBody.content,\n matter: \"\",\n language: \"\",\n orig: body,\n stringify: () => body,\n };\n } catch {\n return {\n isFrontMatter: false,\n data: {\n title: proposal?.description?.split(\"\\n\")[0].slice(0, 100),\n },\n content: body,\n matter: \"\",\n language: \"\",\n orig: body,\n stringify: () => body,\n };\n }\n};\n","import {\n type Address,\n type PublicClient,\n parseEventLogs,\n type TransactionReceipt,\n} from \"viem\";\n\nimport {\n type ExecutableCallSubsetFragment,\n ProposalStatus,\n type ProposalWithVotesFragment,\n} from \"@berachain/graphql/governance\";\n\nimport { governanceAbi } from \"~/abi/governance/governance\";\nimport { assertPublicClient } from \"~/errors/assert\";\nimport { parseProposalBody } from \"./parseProposalBody\";\n\nexport async function getProposalFromTx(\n args: {\n publicClient: PublicClient | undefined;\n } & (\n | {\n tx: TransactionReceipt;\n }\n | {\n txHash: Address;\n }\n ),\n): Promise<ProposalWithVotesFragment | null> {\n assertPublicClient(args.publicClient);\n\n let tx: TransactionReceipt;\n\n if (\"tx\" in args) {\n tx = args.tx;\n } else {\n tx = await args.publicClient.getTransactionReceipt({ hash: args.txHash });\n }\n\n const creationEvent = tx?.logs\n ? parseEventLogs({\n abi: governanceAbi,\n logs: tx.logs,\n eventName: \"ProposalCreated\",\n })?.at(0)\n : undefined;\n\n if (!tx || !creationEvent) {\n return null;\n }\n\n const block = await args.publicClient.getBlock({\n blockNumber: tx.blockNumber,\n });\n const fm = parseProposalBody({\n description: creationEvent?.args.description as string,\n });\n\n return {\n id: String(creationEvent.args.proposalId),\n proposalId: String(creationEvent?.args.proposalId),\n createdAt: block.timestamp.toString(),\n title: fm.data.title,\n createdAtBlock: block.timestamp.toString(),\n voteStartAt: String(creationEvent?.args.voteStart),\n voteEndAt: String(creationEvent?.args.voteEnd),\n proposer: creationEvent?.args.proposer,\n description: fm.content,\n unverifiedForumLink: fm.data.forumLink,\n pollResult: {\n for: \"0\",\n forVotersCount: 0,\n forPercentage: \"0\",\n against: \"0\",\n againstVotersCount: 0,\n againstPercentage: \"0\",\n abstain: \"0\",\n abstainVotersCount: 0,\n abstainPercentage: \"0\",\n total: \"0\",\n totalVotersCount: 0,\n totalTowardsQuorum: \"0\",\n },\n status: ProposalStatus.Pending,\n quorum: null,\n topics: fm.data.topics,\n votes: [],\n executableCalls: creationEvent?.args.targets.map(\n (target, index) =>\n ({\n __typename: \"ExecutableCall\",\n id: `${tx.transactionHash}-${index}`,\n target: target as Address,\n value: String(creationEvent?.args.values[index]),\n calldata: creationEvent?.args.calldatas[index],\n }) satisfies ExecutableCallSubsetFragment,\n ),\n timelock: undefined,\n } satisfies ProposalWithVotesFragment;\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var t=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall3.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bool",name:"allowFailure",type:"bool"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall3.Call3[]",name:"calls",type:"tuple[]"}],name:"aggregate3",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall3.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bool",name:"allowFailure",type:"bool"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall3.Call3Value[]",name:"calls",type:"tuple[]"}],name:"aggregate3Value",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall3.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall3.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall3.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"payable",type:"function"},{inputs:[],name:"getBasefee",outputs:[{internalType:"uint256",name:"basefee",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getChainId",outputs:[{internalType:"uint256",name:"chainid",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall3.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall3.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall3.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall3.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"payable",type:"function"}];export{t as a};
|
|
2
|
+
//# sourceMappingURL=chunk-NAXAZJJY.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/abi/utils/multicall3.ts"],"sourcesContent":["/**\n * This ABI is needed because viem exports a reduced version of this ABI.\n * For instance\n */\nexport const multicall3Abi = [\n {\n inputs: [\n {\n components: [\n { internalType: \"address\", name: \"target\", type: \"address\" },\n { internalType: \"bytes\", name: \"callData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Call[]\",\n name: \"calls\",\n type: \"tuple[]\",\n },\n ],\n name: \"aggregate\",\n outputs: [\n { internalType: \"uint256\", name: \"blockNumber\", type: \"uint256\" },\n { internalType: \"bytes[]\", name: \"returnData\", type: \"bytes[]\" },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n { internalType: \"address\", name: \"target\", type: \"address\" },\n { internalType: \"bool\", name: \"allowFailure\", type: \"bool\" },\n { internalType: \"bytes\", name: \"callData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Call3[]\",\n name: \"calls\",\n type: \"tuple[]\",\n },\n ],\n name: \"aggregate3\",\n outputs: [\n {\n components: [\n { internalType: \"bool\", name: \"success\", type: \"bool\" },\n { internalType: \"bytes\", name: \"returnData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Result[]\",\n name: \"returnData\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n { internalType: \"address\", name: \"target\", type: \"address\" },\n { internalType: \"bool\", name: \"allowFailure\", type: \"bool\" },\n { internalType: \"uint256\", name: \"value\", type: \"uint256\" },\n { internalType: \"bytes\", name: \"callData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Call3Value[]\",\n name: \"calls\",\n type: \"tuple[]\",\n },\n ],\n name: \"aggregate3Value\",\n outputs: [\n {\n components: [\n { internalType: \"bool\", name: \"success\", type: \"bool\" },\n { internalType: \"bytes\", name: \"returnData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Result[]\",\n name: \"returnData\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n { internalType: \"address\", name: \"target\", type: \"address\" },\n { internalType: \"bytes\", name: \"callData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Call[]\",\n name: \"calls\",\n type: \"tuple[]\",\n },\n ],\n name: \"blockAndAggregate\",\n outputs: [\n { internalType: \"uint256\", name: \"blockNumber\", type: \"uint256\" },\n { internalType: \"bytes32\", name: \"blockHash\", type: \"bytes32\" },\n {\n components: [\n { internalType: \"bool\", name: \"success\", type: \"bool\" },\n { internalType: \"bytes\", name: \"returnData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Result[]\",\n name: \"returnData\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getBasefee\",\n outputs: [{ internalType: \"uint256\", name: \"basefee\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"uint256\", name: \"blockNumber\", type: \"uint256\" }],\n name: \"getBlockHash\",\n outputs: [{ internalType: \"bytes32\", name: \"blockHash\", type: \"bytes32\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getBlockNumber\",\n outputs: [\n { internalType: \"uint256\", name: \"blockNumber\", type: \"uint256\" },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getChainId\",\n outputs: [{ internalType: \"uint256\", name: \"chainid\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getCurrentBlockCoinbase\",\n outputs: [{ internalType: \"address\", name: \"coinbase\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getCurrentBlockDifficulty\",\n outputs: [{ internalType: \"uint256\", name: \"difficulty\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getCurrentBlockGasLimit\",\n outputs: [{ internalType: \"uint256\", name: \"gaslimit\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getCurrentBlockTimestamp\",\n outputs: [{ internalType: \"uint256\", name: \"timestamp\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"addr\", type: \"address\" }],\n name: \"getEthBalance\",\n outputs: [{ internalType: \"uint256\", name: \"balance\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getLastBlockHash\",\n outputs: [{ internalType: \"bytes32\", name: \"blockHash\", type: \"bytes32\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"bool\", name: \"requireSuccess\", type: \"bool\" },\n {\n components: [\n { internalType: \"address\", name: \"target\", type: \"address\" },\n { internalType: \"bytes\", name: \"callData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Call[]\",\n name: \"calls\",\n type: \"tuple[]\",\n },\n ],\n name: \"tryAggregate\",\n outputs: [\n {\n components: [\n { internalType: \"bool\", name: \"success\", type: \"bool\" },\n { internalType: \"bytes\", name: \"returnData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Result[]\",\n name: \"returnData\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"bool\", name: \"requireSuccess\", type: \"bool\" },\n {\n components: [\n { internalType: \"address\", name: \"target\", type: \"address\" },\n { internalType: \"bytes\", name: \"callData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Call[]\",\n name: \"calls\",\n type: \"tuple[]\",\n },\n ],\n name: \"tryBlockAndAggregate\",\n outputs: [\n { internalType: \"uint256\", name: \"blockNumber\", type: \"uint256\" },\n { internalType: \"bytes32\", name: \"blockHash\", type: \"bytes32\" },\n {\n components: [\n { internalType: \"bool\", name: \"success\", type: \"bool\" },\n { internalType: \"bytes\", name: \"returnData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Result[]\",\n name: \"returnData\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n] as const;\n"],"mappings":"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","names":["multicall3Abi"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var T=(I=>(I[I.Pending=0]="Pending",I[I.Active=1]="Active",I[I.Canceled=2]="Canceled",I[I.Defeated=3]="Defeated",I[I.Succeeded=4]="Succeeded",I[I.Queued=5]="Queued",I[I.Expired=6]="Expired",I[I.Executed=7]="Executed",I))(T||{}),_=(n=>(n.AGAINST="no",n.FOR="yes",n.ABSTAIN="abstain",n))(_||{}),c=(A=>(A.REQUIRED="Required",A.INVALID_AMOUNT="Invalid amount",A.NEGATIVE_AMOUNT="Negative amount",A.INVALID_ADDRESS="Invalid address",A.INVALID_ACTION="Invalid action",A.INVALID_ABI="Invalid ABI",A.MUST_BE_HTTPS="Must be HTTPS",A.MUST_BE_HTTPS_OR_IPFS="Must be HTTPS or IPFS",A.INVALID_BASEPATH="Must be a berachain forum link",A.INVALID_CONTRACT="This is not a valid contract",A))(c||{}),e=(i=>(i.CUSTOM_PROPOSAL="custom-action",i.WHITELIST_REWARD_VAULT="whitelist-reward-vault",i.BLACKLIST_REWARD_VAULT="blacklist-reward-vault",i.ERC20_TRANSFER="erc20-transfer",i.WHITELIST_REWARD_VAULT_INCENTIVE="whitelist-reward-vault-incentive",i))(e||{}),N={yes:"#059669",1:"#059669",no:"#DC2629",2:"#DC2629",veto:"#0284C7",4:"#0284C7",abstain:"#78716c",3:"#78716c",yes_secondary:"#ECFDF5",no_secondary:"#FEF2F2",veto_secondary:"#F0F9FF",abstain_secondary:"#E7E5E4",default:"#57534e"};export{T as a,_ as b,c,e as d,N as e};
|
|
2
|
+
//# sourceMappingURL=chunk-OGJMSGB2.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/enum/governance.ts"],"sourcesContent":["/**\n * Maps the proposal state from the governor contract to a more human-readable format.\n * Don't edit this enum manually, it's synced with the governor contract.\n *\n * @see https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/governance/IGovernor.sol\n */\nexport enum ProposalState {\n Pending = 0,\n Active = 1,\n Canceled = 2,\n Defeated = 3,\n Succeeded = 4,\n Queued = 5,\n Expired = 6,\n Executed = 7,\n}\nexport enum VoteEnum {\n AGAINST = \"no\",\n FOR = \"yes\",\n ABSTAIN = \"abstain\",\n}\n\nexport enum ProposalErrorCodes {\n REQUIRED = \"Required\",\n INVALID_AMOUNT = \"Invalid amount\",\n NEGATIVE_AMOUNT = \"Negative amount\",\n INVALID_ADDRESS = \"Invalid address\",\n INVALID_ACTION = \"Invalid action\",\n INVALID_ABI = \"Invalid ABI\",\n MUST_BE_HTTPS = \"Must be HTTPS\",\n MUST_BE_HTTPS_OR_IPFS = \"Must be HTTPS or IPFS\",\n INVALID_BASEPATH = \"Must be a berachain forum link\",\n /**\n * Mainly used when it's not a reward vault\n */\n INVALID_CONTRACT = \"This is not a valid contract\",\n}\n\nexport enum ProposalTypeEnum {\n CUSTOM_PROPOSAL = \"custom-action\",\n WHITELIST_REWARD_VAULT = \"whitelist-reward-vault\",\n BLACKLIST_REWARD_VAULT = \"blacklist-reward-vault\",\n ERC20_TRANSFER = \"erc20-transfer\",\n WHITELIST_REWARD_VAULT_INCENTIVE = \"whitelist-reward-vault-incentive\",\n}\n\nexport const VoteColorMap = {\n yes: \"#059669\",\n 1: \"#059669\",\n no: \"#DC2629\",\n 2: \"#DC2629\",\n veto: \"#0284C7\",\n 4: \"#0284C7\",\n abstain: \"#78716c\",\n 3: \"#78716c\",\n yes_secondary: \"#ECFDF5\",\n no_secondary: \"#FEF2F2\",\n veto_secondary: \"#F0F9FF\",\n abstain_secondary: \"#E7E5E4\",\n default: \"#57534e\",\n} as const;\n"],"mappings":"AAMO,IAAKA,OACVA,IAAA,QAAU,GAAV,UACAA,IAAA,OAAS,GAAT,SACAA,IAAA,SAAW,GAAX,WACAA,IAAA,SAAW,GAAX,WACAA,IAAA,UAAY,GAAZ,YACAA,IAAA,OAAS,GAAT,SACAA,IAAA,QAAU,GAAV,UACAA,IAAA,SAAW,GAAX,WARUA,OAAA,IAUAC,OACVA,EAAA,QAAU,KACVA,EAAA,IAAM,MACNA,EAAA,QAAU,UAHAA,OAAA,IAMAC,OACVA,EAAA,SAAW,WACXA,EAAA,eAAiB,iBACjBA,EAAA,gBAAkB,kBAClBA,EAAA,gBAAkB,kBAClBA,EAAA,eAAiB,iBACjBA,EAAA,YAAc,cACdA,EAAA,cAAgB,gBAChBA,EAAA,sBAAwB,wBACxBA,EAAA,iBAAmB,iCAInBA,EAAA,iBAAmB,+BAbTA,OAAA,IAgBAC,OACVA,EAAA,gBAAkB,gBAClBA,EAAA,uBAAyB,yBACzBA,EAAA,uBAAyB,yBACzBA,EAAA,eAAiB,iBACjBA,EAAA,iCAAmC,mCALzBA,OAAA,IAQCC,EAAe,CAC1B,IAAK,UACL,EAAG,UACH,GAAI,UACJ,EAAG,UACH,KAAM,UACN,EAAG,UACH,QAAS,UACT,EAAG,UACH,cAAe,UACf,aAAc,UACd,eAAgB,UAChB,kBAAmB,UACnB,QAAS,SACX","names":["ProposalState","VoteEnum","ProposalErrorCodes","ProposalTypeEnum","VoteColorMap"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var t=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall3.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bool",name:"allowFailure",type:"bool"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall3.Call3[]",name:"calls",type:"tuple[]"}],name:"aggregate3",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall3.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bool",name:"allowFailure",type:"bool"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall3.Call3Value[]",name:"calls",type:"tuple[]"}],name:"aggregate3Value",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall3.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall3.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall3.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"payable",type:"function"},{inputs:[],name:"getBasefee",outputs:[{internalType:"uint256",name:"basefee",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getChainId",outputs:[{internalType:"uint256",name:"chainid",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall3.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall3.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall3.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall3.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"payable",type:"function"}];exports.a = t;
|
|
2
|
+
//# sourceMappingURL=chunk-OIYXOKTT.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/abi/utils/multicall3.ts"],"names":["multicall3Abi"],"mappings":"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","file":"/Users/liammcaweeney/Work/bera/monobera/packages/berajs/dist/chunk-OIYXOKTT.cjs","sourcesContent":["/**\n * This ABI is needed because viem exports a reduced version of this ABI.\n * For instance\n */\nexport const multicall3Abi = [\n {\n inputs: [\n {\n components: [\n { internalType: \"address\", name: \"target\", type: \"address\" },\n { internalType: \"bytes\", name: \"callData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Call[]\",\n name: \"calls\",\n type: \"tuple[]\",\n },\n ],\n name: \"aggregate\",\n outputs: [\n { internalType: \"uint256\", name: \"blockNumber\", type: \"uint256\" },\n { internalType: \"bytes[]\", name: \"returnData\", type: \"bytes[]\" },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n { internalType: \"address\", name: \"target\", type: \"address\" },\n { internalType: \"bool\", name: \"allowFailure\", type: \"bool\" },\n { internalType: \"bytes\", name: \"callData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Call3[]\",\n name: \"calls\",\n type: \"tuple[]\",\n },\n ],\n name: \"aggregate3\",\n outputs: [\n {\n components: [\n { internalType: \"bool\", name: \"success\", type: \"bool\" },\n { internalType: \"bytes\", name: \"returnData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Result[]\",\n name: \"returnData\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n { internalType: \"address\", name: \"target\", type: \"address\" },\n { internalType: \"bool\", name: \"allowFailure\", type: \"bool\" },\n { internalType: \"uint256\", name: \"value\", type: \"uint256\" },\n { internalType: \"bytes\", name: \"callData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Call3Value[]\",\n name: \"calls\",\n type: \"tuple[]\",\n },\n ],\n name: \"aggregate3Value\",\n outputs: [\n {\n components: [\n { internalType: \"bool\", name: \"success\", type: \"bool\" },\n { internalType: \"bytes\", name: \"returnData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Result[]\",\n name: \"returnData\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n { internalType: \"address\", name: \"target\", type: \"address\" },\n { internalType: \"bytes\", name: \"callData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Call[]\",\n name: \"calls\",\n type: \"tuple[]\",\n },\n ],\n name: \"blockAndAggregate\",\n outputs: [\n { internalType: \"uint256\", name: \"blockNumber\", type: \"uint256\" },\n { internalType: \"bytes32\", name: \"blockHash\", type: \"bytes32\" },\n {\n components: [\n { internalType: \"bool\", name: \"success\", type: \"bool\" },\n { internalType: \"bytes\", name: \"returnData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Result[]\",\n name: \"returnData\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getBasefee\",\n outputs: [{ internalType: \"uint256\", name: \"basefee\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"uint256\", name: \"blockNumber\", type: \"uint256\" }],\n name: \"getBlockHash\",\n outputs: [{ internalType: \"bytes32\", name: \"blockHash\", type: \"bytes32\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getBlockNumber\",\n outputs: [\n { internalType: \"uint256\", name: \"blockNumber\", type: \"uint256\" },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getChainId\",\n outputs: [{ internalType: \"uint256\", name: \"chainid\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getCurrentBlockCoinbase\",\n outputs: [{ internalType: \"address\", name: \"coinbase\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getCurrentBlockDifficulty\",\n outputs: [{ internalType: \"uint256\", name: \"difficulty\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getCurrentBlockGasLimit\",\n outputs: [{ internalType: \"uint256\", name: \"gaslimit\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getCurrentBlockTimestamp\",\n outputs: [{ internalType: \"uint256\", name: \"timestamp\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"addr\", type: \"address\" }],\n name: \"getEthBalance\",\n outputs: [{ internalType: \"uint256\", name: \"balance\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getLastBlockHash\",\n outputs: [{ internalType: \"bytes32\", name: \"blockHash\", type: \"bytes32\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"bool\", name: \"requireSuccess\", type: \"bool\" },\n {\n components: [\n { internalType: \"address\", name: \"target\", type: \"address\" },\n { internalType: \"bytes\", name: \"callData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Call[]\",\n name: \"calls\",\n type: \"tuple[]\",\n },\n ],\n name: \"tryAggregate\",\n outputs: [\n {\n components: [\n { internalType: \"bool\", name: \"success\", type: \"bool\" },\n { internalType: \"bytes\", name: \"returnData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Result[]\",\n name: \"returnData\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"bool\", name: \"requireSuccess\", type: \"bool\" },\n {\n components: [\n { internalType: \"address\", name: \"target\", type: \"address\" },\n { internalType: \"bytes\", name: \"callData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Call[]\",\n name: \"calls\",\n type: \"tuple[]\",\n },\n ],\n name: \"tryBlockAndAggregate\",\n outputs: [\n { internalType: \"uint256\", name: \"blockNumber\", type: \"uint256\" },\n { internalType: \"bytes32\", name: \"blockHash\", type: \"bytes32\" },\n {\n components: [\n { internalType: \"bool\", name: \"success\", type: \"bool\" },\n { internalType: \"bytes\", name: \"returnData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Result[]\",\n name: \"returnData\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n] as const;\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkPKXAW6MOcjs = require('./chunk-PKXAW6MO.cjs');var _chunk22J3YJDNcjs = require('./chunk-22J3YJDN.cjs');function m(e){return{...e,..._chunk22J3YJDNcjs.e.call(void 0, e,"BERA")&&_chunk22J3YJDNcjs.c}}function d(e){return e.map(r=>m(r))}var g=(e,r,i,o)=>{if(!e||!r||!i||!o)return 0;let n=new (0, _chunkPKXAW6MOcjs.a)(e).times(i),s=new (0, _chunkPKXAW6MOcjs.a)(r).times(o);if(n.lt(.01)||s.lt(.01)||n.isZero()||s.isZero())return 0;let u=s.div(n);return Number(new (0, _chunkPKXAW6MOcjs.a)(1).minus(u).toFixed())};exports.a = m; exports.b = d; exports.c = g;
|
|
2
|
+
//# sourceMappingURL=chunk-P2Q7CMUD.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/liammcaweeney/Work/bera/monobera/packages/berajs/dist/chunk-P2Q7CMUD.cjs","../src/utils/tokenWrapping.ts","../src/utils/math.ts"],"names":["wrapNativeToken","token","isToken","wBeraToken","wrapNativeTokens","tokens","computePriceImpact","tokenInPrice","tokenOutPrice","inAmount","outAmount","usdIn","bignumber_js_default","usdOut","ratio"],"mappings":"AAAA,iIAAwC,wDAAgD,SCMxEA,CAAAA,CAAqCC,CAAAA,CAAa,CAChE,MAAO,CACL,GAAGA,CAAAA,CACH,GAAIC,iCAAAA,CAAQD,CAAO,MAAM,CAAA,EAAKE,mBAChC,CACF,CAEO,SAASC,CAAAA,CAAsCC,CAAAA,CAAkB,CACtE,OAAOA,CAAAA,CAAO,GAAA,CAAKJ,CAAAA,EAAUD,CAAAA,CAAgBC,CAAK,CAAC,CACrD,CCLO,IAAMK,CAAAA,CAAqB,CAChCC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CAAAA,EACW,CACX,EAAA,CAAI,CAACH,CAAAA,EAAgB,CAACC,CAAAA,EAAiB,CAACC,CAAAA,EAAY,CAACC,CAAAA,CAAW,OAAO,CAAA,CAEvE,IAAMC,CAAAA,CAAQ,IAAIC,wBAAAA,CAAUL,CAAY,CAAA,CAAE,KAAA,CAAME,CAAQ,CAAA,CAClDI,CAAAA,CAAS,IAAID,wBAAAA,CAAUJ,CAAa,CAAA,CAAE,KAAA,CAAME,CAAS,CAAA,CAI3D,EAAA,CADIC,CAAAA,CAAM,EAAA,CAAG,GAAI,CAAA,EAAKE,CAAAA,CAAO,EAAA,CAAG,GAAI,CAAA,EAChCF,CAAAA,CAAM,MAAA,CAAO,CAAA,EAAKE,CAAAA,CAAO,MAAA,CAAO,CAAA,CAAG,OAAO,CAAA,CAE9C,IAAMC,CAAAA,CAAQD,CAAAA,CAAO,GAAA,CAAIF,CAAK,CAAA,CAC9B,OAAO,MAAA,CAAO,IAAIC,wBAAAA,CAAU,CAAC,CAAA,CAAE,KAAA,CAAME,CAAK,CAAA,CAAE,OAAA,CAAQ,CAAC,CACvD,CAAA,CAAA,4CAAA","file":"/Users/liammcaweeney/Work/bera/monobera/packages/berajs/dist/chunk-P2Q7CMUD.cjs","sourcesContent":[null,"import { isToken, wBeraToken } from \"./tokens\";\n\ntype BaseToken = {\n address: string;\n};\n\nexport function wrapNativeToken<T extends BaseToken>(token: T): T {\n return {\n ...token,\n ...(isToken(token, \"BERA\") && wBeraToken),\n };\n}\n\nexport function wrapNativeTokens<T extends BaseToken>(tokens: T[]): T[] {\n return tokens.map((token) => wrapNativeToken(token));\n}\n","import BigNumber from \"@berachain/utils/pkg/bignumber.js\";\n\n/**\n * Compute the price impact of a swap\n * @param {string} tokenInPrice - The price of the input token\n * @param {string} tokenOutPrice - The price of the output token\n * @param {string} inAmount - The amount of the input token\n * @param {string} outAmount - The amount of the output token\n * @returns {number} The price impact of the swap\n */\nexport const computePriceImpact = (\n tokenInPrice: string,\n tokenOutPrice: string,\n inAmount: string,\n outAmount: string,\n): number => {\n if (!tokenInPrice || !tokenOutPrice || !inAmount || !outAmount) return 0;\n\n const usdIn = new BigNumber(tokenInPrice).times(inAmount);\n const usdOut = new BigNumber(tokenOutPrice).times(outAmount);\n\n // is the amount is close to 0, return 0\n if (usdIn.lt(0.01) || usdOut.lt(0.01)) return 0;\n if (usdIn.isZero() || usdOut.isZero()) return 0;\n\n const ratio = usdOut.div(usdIn);\n return Number(new BigNumber(1).minus(ratio).toFixed());\n};\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkC6ZGUO4Hcjs = require('./chunk-C6ZGUO4H.cjs');async function F(e){if(_optionalChain([e, 'access', _2 => _2.headers, 'access', _3 => _3.get, 'call', _4 => _4("content-type"), 'optionalAccess', _5 => _5.includes, 'call', _6 => _6("application/json")]))return await e.json();{let t=await e.text();try{return JSON.parse(t)}catch (e2){return{message:"Unknown error, can't decode response into JSON",cause:t}}}}async function C(e,n){try{let t=await fetch(typeof e=="string"||e instanceof URL?e:e.url,{...n});if(!t.ok){let r=await F(t);throw new (0, _chunkC6ZGUO4Hcjs.g)({cause:r,response:t,endpoint:e})}return t}catch(t){throw t instanceof _chunkC6ZGUO4Hcjs.g?t:new (0, _chunkC6ZGUO4Hcjs.g)({cause:t,endpoint:e,response:void 0})}}async function te(e,n){return(await C(e,{...n,headers:{Accept:"application/json",..._optionalChain([n, 'optionalAccess', _7 => _7.headers])}})).json()}var _viem = require('viem');var oe=_viem.parseEther.call(void 0, "0.005"),se= exports.f =1e5,ue= exports.g =1,ie= exports.h =.1,ae= exports.i =50,me= exports.j =7920027n;var fe=e=>2n*BigInt(e);function be(e){return Math.floor(e/1e3)}function V(e){return e*1e3}function j(e){return e*V(60)}function J(e){return e*60}function q(e){return e*j(60)}function G(e){return e*J(60)}function S(e){return e*q(24)}function w(e){return e*G(24)}function pe(e){return e*S(7)}function de(e){return e*w(7)}function he(e){return e*S(30)}function Ne(e){return e*w(30)}function ge(e){return e*S(365)}function xe(e){return e*w(365)}function Me(e){let n=new Date;return n.setDate(n.getDate()-e)*1e3}var X=["January","February","March","April","May","June","July","August","September","October","November","December"],k=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function Te(e,n){let t=new Date(e*1e3),r=t.getDate(),u="th";return r===1||r===21||r===31?u="st":r===2||r===22?u="nd":(r===3||r===23)&&(u="rd"),n?`${k[t.getMonth()]} ${r}`:`${X[t.getMonth()]} ${r}${u}, ${t.getFullYear()}`}function Ie(...e){let n=e[0],t,r,u,l;if(typeof e[1]!="object")t=_nullishCoalesce(e[1], () => (!1)),r=_nullishCoalesce(e[2], () => (!1)),l=_nullishCoalesce(e[3], () => (!1)),u=!0;else{let s=e[1];t=_nullishCoalesce(s.condensed, () => (!1));let o=_nullishCoalesce(s.greaterUnit, () => ("hours"));o==="days"?(r=!0,u=!0):o==="hours"?(r=!1,u=!0,l=!1):(r=!1,u=!0),l=_nullishCoalesce(s.showSeconds, () => (!1))}let a=Math.floor(n/(3600*24)),i=Math.floor(n%(3600*24)/3600),c=Math.floor(n%3600/60),m=n%60;if(r||(i+=a*24,a=0),a===0&&i===0&&c===0)return t?"< 1 M":"less than a minute";let N=a>0?`${a}${t?"D":" day"}${!t&&a!==1?"s":""}`:"",g=i>0?`${i}${t?"H":" hour"}${!t&&i!==1?"s":""}`:"",M=c>0&&u||!a&&!i?`${c}${t?"M":" minute"}${!t&&c!==1?"s":""}`:"",T=m>0&&l?`${m}${t?"S":" second"}${!t&&m!==1?"s":""}`:"";return[N,g,M,T].filter(Boolean).join(t?" ":", ")}var _bignumberjs = require('bignumber.js'); var _bignumberjs2 = _interopRequireDefault(_bignumberjs);_bignumberjs2.default.set({EXPONENTIAL_AT:1e9});var D=_bignumberjs2.default;var _=["","K","M","B","T","P","E","Z","Y"];function L(e){return e instanceof D?e:new D(e)}function Y(e,n){return L(e).shiftedBy(n*-1)}function $e(e,n={}){if(typeof n=="number"){let d=n;if(e==null)return"";if(typeof e=="object")throw new Error("Value must be a number if using deprecated version");let b=Number(e).toFixed(d);return b=b.replace(/(\.\d*?[1-9])0+$|\.0*$/,"$1"),b}let{visibleDecimals:t,compact:r=!0,percent:u=!1,roundDown:l=!1,roundUp:a=!1,compactThreshold:i,maxValue:c,symbol:m,prefixText:N="",suffixText:g="",showIsSmallerThanMin:M=!0,ifNullish:T=""}=n||{};if(e==null)return T;let s=u?Number(e)*100:Number(e);if(Number.isNaN(s))return"NaN";if(s===Number.POSITIVE_INFINITY)return"Infinity";if(s===Number.NEGATIVE_INFINITY)return"-Infinity";let o=_nullishCoalesce(t, () => (0));s===0?o=0:t===void 0&&(Math.abs(s)>1||u||m==="USD"?o=2:o=7);let E=10**-o,$=s!==0&&Math.abs(s)<Math.abs(E),R=s<0,B=c?Math.abs(s)>c:!1,p=$?E:s,I=r&&(!i||Math.abs(s)>i);l&&!I?p=Math.trunc(Number(p)*10**o)/10**o:a&&!I&&(p=Math.ceil(Number(p)*10**o)/10**o);let x;if(B)x=s>c?"\u221E":"-\u221E";else if(I){let d=L(p),b=d.abs().toFixed(0).length;i&&Math.abs(s)<=i&&(b=0);let A=Math.min(Math.floor(b?(b-1)/3:0),_.length-1),P=_[A],h=Y(d,3*A).toNumber();l?h=Math.trunc(Number(h)*10**o)/10**o:a&&(h=Math.ceil(Number(h)*10**o)/10**o),x=`${new Intl.NumberFormat("en-US",{maximumFractionDigits:o,minimumFractionDigits:o}).format(h)}${P}`}else{let d=new Intl.NumberFormat("en-US",{maximumFractionDigits:o,minimumFractionDigits:o}).format(Math.abs(p));x=`${R?"-":""}${d}`}let f=[];return N&&f.push(N),$&&M&&f.push(s<0?">":"<"),_optionalChain([m, 'optionalAccess', _8 => _8.toLowerCase, 'call', _9 => _9()])==="usd"&&!u&&f.push("$"),f.push(x),u&&f.push("%"),_optionalChain([m, 'optionalAccess', _10 => _10.toLowerCase, 'call', _11 => _11()])!=="usd"&&typeof m<"u"&&f.push(" ",m),g&&f.push(g),f.join("")}var Ae=e=>e?Number(e)>Number.MAX_SAFE_INTEGER?Number.MAX_SAFE_INTEGER:_nullishCoalesce(Number(e), () => (0)):0,Fe= exports.E =(e,n)=>{if(!e)return"0";let[t="0",r="0"]=`${e}`.split(".");return`${t}.${r.substring(0,n)}`};var _internal = require('@berachain/config/internal');function Re(e=_internal.defaultChainId){let n=_internal.getRpcUrls.call(void 0, e);if(!n.isAnvil)throw new Error("No anvil RPC URL found");return _viem.createTestClient.call(void 0, {mode:"anvil",transport:_viem.http.call(void 0, n.jsonRpcUrl)})}function Pe({lastBlockTimestamp:e,blockTime:n}){return e?e<Date.now()/1e3-n*10:!0}exports.a = D; exports.b = F; exports.c = C; exports.d = te; exports.e = oe; exports.f = se; exports.g = ue; exports.h = ie; exports.i = ae; exports.j = me; exports.k = fe; exports.l = be; exports.m = V; exports.n = j; exports.o = J; exports.p = q; exports.q = G; exports.r = S; exports.s = w; exports.t = pe; exports.u = de; exports.v = he; exports.w = Ne; exports.x = ge; exports.y = xe; exports.z = Me; exports.A = Te; exports.B = Ie; exports.C = $e; exports.D = Ae; exports.E = Fe; exports.F = Re; exports.G = Pe;
|
|
2
|
+
//# sourceMappingURL=chunk-PKXAW6MO.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/liammcaweeney/Work/bera/monobera/packages/berajs/dist/chunk-PKXAW6MO.cjs","../src/utils/getErrorResponse.ts","../src/utils/beraFetch.ts","../src/utils/constants.ts","../src/utils/pythHoneyUtils.ts","../src/utils/time.ts","../src/utils/formatTimestamps.ts"],"names":["getErrorResponse","response","text","beraFetch","endpoint","options","error","RequestError","beraFetchJson","CAP_LIMIT_BUFFER","parseEther","MAX_CUSTOM_DEADLINE","MIN_CUSTOM_DEADLINE","MIN_CUSTOM_SLIPPAGE","MAX_CUSTOM_SLIPPAGE","DEFAULT_METAMASK_GAS_LIMIT","getPythDefaultUpdateFee","tokenListLength","msToSeconds","ms","seconds","minutes","minutesInSeconds","hours","hoursInSeconds","days","daysInSeconds","weeks","weeksInSeconds","months","monthsInSeconds","years","yearsInSeconds","calculateTimestampFromDays","daysRange","currentDate","monthNames","shortMonthNames","formatUnixTimestamp","unixTimestamp","isShort","date","day","daySuffix"],"mappings":"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","file":"/Users/liammcaweeney/Work/bera/monobera/packages/berajs/dist/chunk-PKXAW6MO.cjs","sourcesContent":[null,"/**\n * @deprecated use beraFetch instead\n */\nexport async function getErrorResponse(response: Response) {\n const contentType = response.headers.get(\"content-type\");\n\n if (contentType?.includes(\"application/json\")) {\n return await response.json();\n } else {\n const text = await response.text();\n try {\n return JSON.parse(text);\n } catch {\n return {\n message: \"Unknown error, can't decode response into JSON\",\n cause: text,\n };\n }\n }\n}\n","import { RequestError } from \"~/errors/RequestError\";\nimport { getErrorResponse } from \"./getErrorResponse\";\n\ntype RequestOptions = RequestInit;\n\nexport async function beraFetch(\n endpoint: ConstructorParameters<typeof RequestError>[0][\"endpoint\"],\n options?: RequestOptions,\n) {\n try {\n const response = await fetch(\n typeof endpoint === \"string\" || endpoint instanceof URL\n ? endpoint\n : endpoint.url,\n {\n ...options,\n },\n );\n if (!response.ok) {\n const error = await getErrorResponse(response);\n throw new RequestError({\n cause: error,\n // @to-do import getErrorResponse logic in this function\n // when it's removed from other places\n response: response,\n endpoint,\n });\n }\n return response;\n } catch (error) {\n if (error instanceof RequestError) {\n throw error;\n }\n\n throw new RequestError({\n cause: error,\n endpoint,\n response: undefined,\n });\n }\n}\n\nexport async function beraFetchJson<T>(\n endpoint: ConstructorParameters<typeof RequestError>[0][\"endpoint\"],\n options?: RequestOptions,\n) {\n const response = await beraFetch(endpoint, {\n ...options,\n headers: {\n Accept: \"application/json\",\n ...options?.headers,\n },\n });\n return response.json() as Promise<T>;\n}\n","import { parseEther } from \"viem\";\n\n// the buffer of the cap limit, if the user gets close to 10% of the cap limit\n// they should be warned\nexport const CAP_LIMIT_BUFFER = parseEther(\"0.005\");\n\n/**\n * Maximum allowed input for a custom deadline in seconds.\n * @type {number}\n */\nexport const MAX_CUSTOM_DEADLINE = 100000;\n\n/**\n * Minimum allowed input for a custom deadline in seconds.\n * @type {number}\n */\nexport const MIN_CUSTOM_DEADLINE = 1;\n\n/**\n * Minimum allowed input for a custom slippage tolerance percentage.\n * @type {number}\n */\nexport const MIN_CUSTOM_SLIPPAGE = 0.1;\n\n/**\n * Maximum allowed input for a custom slippage tolerance percentage.\n * @type {number}\n */\nexport const MAX_CUSTOM_SLIPPAGE = 50;\n\n/**\n * Default gas limit used by MetaMask\n * @see {@link https://github.com/MetaMask/metamask-extension/blob/06cf7459b963e26d0ae60312d4f9a342d07ab89d/ui/pages/confirmations/send/send.constants.js#L8}\n */\nexport const DEFAULT_METAMASK_GAS_LIMIT = 7920027n;\n","export const getPythDefaultUpdateFee = (tokenListLength: number) => {\n return 2n * BigInt(tokenListLength);\n};\n","/**\n * Convert milliseconds to seconds\n */\nexport function msToSeconds(ms: number): number {\n return Math.floor(ms / 1000);\n}\n\n/**\n * Time utility functions for converting between different time units.\n *\n * This utility file provides functions to convert between seconds, minutes, hours, and days.\n * Note on naming conventions: We use \"seconds\" instead of \"secondsToMs\" because JavaScript\n * is typically based in milliseconds, so the conversion to milliseconds is the more common\n * and expected operation. We use \"xxxInSeconds\" when converting to second-based units.\n */\n\n/**\n * Convert seconds to milliseconds\n */\nexport function seconds(seconds: number): number {\n return seconds * 1000;\n}\n\n/**\n * Convert minutes to milliseconds\n */\nexport function minutes(minutes: number): number {\n return minutes * seconds(60);\n}\n\n/**\n * Convert minutes to seconds\n */\nexport function minutesInSeconds(minutes: number): number {\n return minutes * 60;\n}\n\n/**\n * Convert hours to milliseconds\n */\nexport function hours(hours: number): number {\n return hours * minutes(60);\n}\n\n/**\n * Convert hours to seconds\n */\nexport function hoursInSeconds(hours: number): number {\n return hours * minutesInSeconds(60);\n}\n\n/**\n * Convert days to milliseconds\n */\nexport function days(days: number): number {\n return days * hours(24);\n}\n\n/**\n * Convert days to seconds\n */\nexport function daysInSeconds(days: number): number {\n return days * hoursInSeconds(24);\n}\n\n/**\n * Convert weeks to milliseconds\n */\nexport function weeks(weeks: number): number {\n return weeks * days(7);\n}\n\n/**\n * Convert weeks to seconds\n */\nexport function weeksInSeconds(weeks: number): number {\n return weeks * daysInSeconds(7);\n}\n\n/**\n * Convert months to milliseconds using 30 days per month\n */\nexport function months(months: number): number {\n return months * days(30);\n}\n\n/**\n * Convert months to seconds using 30 days per month\n */\nexport function monthsInSeconds(months: number): number {\n return months * daysInSeconds(30);\n}\n\n/**\n * Convert years to milliseconds using 365 days per year\n */\nexport function years(years: number): number {\n return years * days(365);\n}\n\n/**\n * Convert years to seconds using 365 days per year\n */\nexport function yearsInSeconds(years: number): number {\n return years * daysInSeconds(365);\n}\n","export function calculateTimestampFromDays(daysRange: number): number {\n const currentDate = new Date();\n return currentDate.setDate(currentDate.getDate() - daysRange) * 1000;\n}\n\nconst monthNames = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n];\n\nconst shortMonthNames = [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n];\n\nexport function formatUnixTimestamp(unixTimestamp: number, isShort?: boolean) {\n const date = new Date(unixTimestamp * 1000);\n\n const day = date.getDate();\n let daySuffix = \"th\";\n\n if (day === 1 || day === 21 || day === 31) {\n daySuffix = \"st\";\n } else if (day === 2 || day === 22) {\n daySuffix = \"nd\";\n } else if (day === 3 || day === 23) {\n daySuffix = \"rd\";\n }\n\n if (isShort) {\n return `${shortMonthNames[date.getMonth()]} ${day}`;\n }\n\n return `${\n monthNames[date.getMonth()]\n } ${day}${daySuffix}, ${date.getFullYear()}`;\n}\n\ntype LegacyArgs = [number, boolean?, boolean?, boolean?];\ntype FormatTimeLeftArgs = [\n number,\n {\n condensed?: boolean;\n greaterUnit?: \"days\" | \"hours\" | \"minutes\";\n showSeconds?: boolean;\n },\n];\n\n/**\n * Formats the time left into a string like \"8 hours, 23 minutes\".\n *\n * @param timeLeftInSeconds - The time left in seconds.\n * @returns A formatted string representing the time left.\n */\nexport function formatTimeLeft(\n ...args: FormatTimeLeftArgs | LegacyArgs\n): string {\n const timeLeftInSeconds = args[0];\n let condensed: boolean;\n\n let showDays: boolean;\n\n let showMinutes: boolean;\n let showSeconds: boolean;\n\n if (typeof args[1] !== \"object\") {\n condensed = args[1] ?? false;\n showDays = args[2] ?? false;\n showSeconds = args[3] ?? false;\n showMinutes = true;\n } else {\n const opts = args[1];\n condensed = opts.condensed ?? false;\n const greaterUnit = opts.greaterUnit ?? \"hours\";\n\n if (greaterUnit === \"days\") {\n showDays = true;\n showMinutes = true;\n } else if (greaterUnit === \"hours\") {\n showDays = false;\n showMinutes = true;\n showSeconds = false;\n } else {\n // minutes is the default\n showDays = false;\n showMinutes = true;\n }\n showSeconds = opts.showSeconds ?? false;\n }\n\n let days = Math.floor(timeLeftInSeconds / (3600 * 24));\n let hours = Math.floor((timeLeftInSeconds % (3600 * 24)) / 3600);\n const minutes = Math.floor((timeLeftInSeconds % 3600) / 60);\n const seconds = timeLeftInSeconds % 60;\n\n // If showDays=false, roll days into hours\n if (!showDays) {\n hours += days * 24;\n days = 0;\n }\n\n if (days === 0 && hours === 0 && minutes === 0) {\n return condensed ? \"< 1 M\" : \"less than a minute\";\n }\n\n const daysDisplay =\n days > 0\n ? `${days}${condensed ? \"D\" : \" day\"}${\n !condensed && days !== 1 ? \"s\" : \"\"\n }`\n : \"\";\n\n const hoursDisplay =\n hours > 0\n ? `${hours}${condensed ? \"H\" : \" hour\"}${\n !condensed && hours !== 1 ? \"s\" : \"\"\n }`\n : \"\";\n\n const minutesDisplay =\n (minutes > 0 && showMinutes) || (!days && !hours)\n ? `${minutes}${condensed ? \"M\" : \" minute\"}${\n !condensed && minutes !== 1 ? \"s\" : \"\"\n }`\n : \"\";\n const secondsDisplay =\n seconds > 0 && showSeconds\n ? `${seconds}${condensed ? \"S\" : \" second\"}${\n !condensed && seconds !== 1 ? \"s\" : \"\"\n }`\n : \"\";\n return [daysDisplay, hoursDisplay, minutesDisplay, secondsDisplay]\n .filter(Boolean)\n .join(condensed ? \" \" : \", \");\n}\n"]}
|