@berachain/berajs 0.2.13 → 0.3.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/actions/clients/BeraApolloClient.d.ts.map +1 -1
- package/dist/actions/clients/clientName.d.ts +10 -0
- package/dist/actions/clients/clientName.d.ts.map +1 -0
- package/dist/actions/clients/clientName.unit.test.d.ts +2 -0
- package/dist/actions/clients/clientName.unit.test.d.ts.map +1 -0
- package/dist/actions/clients/exports.d.ts +2 -0
- package/dist/actions/clients/exports.d.ts.map +1 -1
- package/dist/actions/clients/exports.mjs +26 -7
- package/dist/actions/clients/exports.mjs.map +1 -1
- package/dist/actions/clients/fetchBeep.d.ts +2 -2
- package/dist/actions/clients/fetchBeep.d.ts.map +1 -1
- package/dist/actions/clients/fetchEnso.d.ts +17 -0
- package/dist/actions/clients/fetchEnso.d.ts.map +1 -0
- package/dist/actions/clients/fetchLayerzero.d.ts +12 -0
- package/dist/actions/clients/fetchLayerzero.d.ts.map +1 -0
- package/dist/actions/clients/fetchOpenApi.d.ts +4 -1
- package/dist/actions/clients/fetchOpenApi.d.ts.map +1 -1
- package/dist/actions/clients/getApolloClient.d.ts.map +1 -1
- package/dist/actions/dex/aggregators/base.d.ts +30 -5
- package/dist/actions/dex/aggregators/base.d.ts.map +1 -1
- package/dist/actions/dex/aggregators/bex.d.ts +11 -1
- package/dist/actions/dex/aggregators/bex.d.ts.map +1 -1
- package/dist/actions/dex/aggregators/bgt.d.ts +2 -2
- package/dist/actions/dex/aggregators/bgt.d.ts.map +1 -1
- package/dist/actions/dex/aggregators/enso/enso.d.ts.map +1 -1
- package/dist/actions/dex/aggregators/enso/ensoErc4626.d.ts +1 -0
- package/dist/actions/dex/aggregators/enso/ensoErc4626.d.ts.map +1 -1
- package/dist/actions/dex/aggregators/erc4626.d.ts +2 -2
- package/dist/actions/dex/aggregators/erc4626.d.ts.map +1 -1
- package/dist/actions/dex/aggregators/fly.d.ts.map +1 -1
- package/dist/actions/dex/aggregators/haiku.d.ts +7 -1
- package/dist/actions/dex/aggregators/haiku.d.ts.map +1 -1
- package/dist/actions/dex/aggregators/honey.d.ts +2 -2
- package/dist/actions/dex/aggregators/honey.d.ts.map +1 -1
- package/dist/actions/dex/aggregators/kyberswap.d.ts.map +1 -1
- package/dist/actions/dex/aggregators/oogabooga.d.ts.map +1 -1
- package/dist/actions/dex/aggregators/openOcean.d.ts.map +1 -1
- package/dist/actions/dex/aggregators/wbera.d.ts +3 -2
- package/dist/actions/dex/aggregators/wbera.d.ts.map +1 -1
- package/dist/actions/dex/getAllPools.d.ts.map +1 -1
- package/dist/actions/dex/getApiPool.d.ts.map +1 -1
- package/dist/actions/enso/getEnsoUserTokensWithBalances.d.ts.map +1 -1
- package/dist/actions/enso/util.d.ts +1 -6
- package/dist/actions/enso/util.d.ts.map +1 -1
- package/dist/actions/exports.d.ts +3 -5
- package/dist/actions/exports.d.ts.map +1 -1
- package/dist/actions/exports.mjs +33 -64
- package/dist/actions/exports.mjs.map +1 -1
- package/dist/actions/governance/exports.mjs +3 -3
- package/dist/actions/honey/getChartData.d.ts +1 -1
- package/dist/actions/honey/getChartData.d.ts.map +1 -1
- package/dist/actions/honey/getHoney24hVolume.d.ts +2 -2
- package/dist/actions/honey/getHoney24hVolume.d.ts.map +1 -1
- package/dist/actions/honey/getHoneyCollaterals.d.ts +1 -1
- package/dist/actions/honey/getHoneyCollaterals.d.ts.map +1 -1
- package/dist/actions/honey/getHoneyTxns.d.ts +1 -1
- package/dist/actions/honey/getHoneyTxns.d.ts.map +1 -1
- package/dist/actions/pol/getBGTGlobalInfo.d.ts +0 -1
- package/dist/actions/pol/getBGTGlobalInfo.d.ts.map +1 -1
- package/dist/actions/pol/getBeraTokenTotalSupply.d.ts.map +1 -1
- package/dist/actions/pol/getEarnedStakedBeraVault.d.ts +4 -27
- package/dist/actions/pol/getEarnedStakedBeraVault.d.ts.map +1 -1
- package/dist/actions/pol/getLSTStakeConfig.d.ts.map +1 -1
- package/dist/actions/pol/getRewardVaults.d.ts.map +1 -1
- package/dist/actions/pol/getSWBeraVaultMetadata.d.ts +1 -14
- package/dist/actions/pol/getSWBeraVaultMetadata.d.ts.map +1 -1
- package/dist/actions/pol/getStakedBeraAPY.d.ts +14 -0
- package/dist/actions/pol/getStakedBeraAPY.d.ts.map +1 -0
- package/dist/actions/pol/getStakedBeraSnapshots.d.ts +14 -4
- package/dist/actions/pol/getStakedBeraSnapshots.d.ts.map +1 -1
- package/dist/actions/pol/getStakingDailyAssets.d.ts +2 -2
- package/dist/actions/pol/getStakingDailyAssets.d.ts.map +1 -1
- package/dist/actions/server/exports.mjs +5 -5
- package/dist/actions/server/exports.mjs.map +1 -1
- package/dist/actions/server/getDailyValidatorBlockStats.d.ts +1 -1
- package/dist/actions/server/getDailyValidatorBlockStats.d.ts.map +1 -1
- package/dist/actions/validators/getActiveBoostAndCommissionChangeDelay.d.ts +1 -1
- package/dist/actions/validators/getActiveBoostAndCommissionChangeDelay.d.ts.map +1 -1
- package/dist/actions/validators/getUserActiveValidators.d.ts +37 -1
- package/dist/actions/validators/getUserActiveValidators.d.ts.map +1 -1
- package/dist/actions/validators/getValidatorIncentiveDistribution.d.ts +1 -1
- package/dist/actions/validators/getValidatorIncentiveDistribution.d.ts.map +1 -1
- package/dist/actions/validators/getValidatorRewardAllocation.d.ts +4 -0
- package/dist/actions/validators/getValidatorRewardAllocation.d.ts.map +1 -1
- package/dist/chunk-3TRTSTDH.mjs +19 -0
- package/dist/chunk-3TRTSTDH.mjs.map +1 -0
- package/dist/{chunk-ZWTGVIPJ.mjs → chunk-4576RF2K.mjs} +29 -4
- package/dist/chunk-4576RF2K.mjs.map +1 -0
- package/dist/{chunk-PHYZRH4I.mjs → chunk-5MUCX35C.mjs} +9 -13
- package/dist/chunk-5MUCX35C.mjs.map +1 -0
- package/dist/{chunk-UA3Z47LT.mjs → chunk-6D4S3EAC.mjs} +97 -26
- package/dist/chunk-6D4S3EAC.mjs.map +1 -0
- package/dist/{chunk-AEN6IJFU.mjs → chunk-7KN7TDUC.mjs} +2 -2
- package/dist/{chunk-LE4CYW7S.mjs → chunk-FWRYUIJK.mjs} +3 -3
- package/dist/chunk-GDUKRUHE.mjs +29 -0
- package/dist/chunk-GDUKRUHE.mjs.map +1 -0
- package/dist/{chunk-PJRLHTGC.mjs → chunk-HPRLNT6R.mjs} +3 -3
- package/dist/{chunk-DOZJB6IJ.mjs → chunk-KY7JMIIS.mjs} +394 -346
- package/dist/chunk-KY7JMIIS.mjs.map +1 -0
- package/dist/{chunk-P3YZ7F22.mjs → chunk-LL7XR2H5.mjs} +34 -3
- package/dist/chunk-LL7XR2H5.mjs.map +1 -0
- package/dist/{chunk-EJIGERYM.mjs → chunk-M3MIGSH3.mjs} +2 -2
- package/dist/{chunk-NZAH3SGT.mjs → chunk-MVNQY2D4.mjs} +9 -4
- package/dist/chunk-MVNQY2D4.mjs.map +1 -0
- package/dist/{chunk-TGN55GKE.mjs → chunk-SC3BSCTN.mjs} +2 -2
- package/dist/{chunk-QQASX4LJ.mjs → chunk-TXWDUJOY.mjs} +2 -2
- package/dist/{chunk-EGAB6NFQ.mjs → chunk-UWJQ6UKG.mjs} +2 -2
- package/dist/chunk-XO2BFPTB.mjs +50 -0
- package/dist/chunk-XO2BFPTB.mjs.map +1 -0
- package/dist/{chunk-7TFV6UKF.mjs → chunk-XXKPXNQD.mjs} +1 -2
- package/dist/chunk-XXKPXNQD.mjs.map +1 -0
- package/dist/{chunk-IFNIPVTZ.mjs → chunk-Z337NBBW.mjs} +5 -49
- package/dist/chunk-Z337NBBW.mjs.map +1 -0
- package/dist/{chunk-J3LTASDE.mjs → chunk-ZHV3MQ4F.mjs} +4 -4
- package/dist/contexts/BeraFlags/BeraFlags.d.ts +1 -1
- package/dist/contexts/BeraFlags/BeraFlags.d.ts.map +1 -1
- package/dist/contexts/BeraFlags/defaultFlags.d.ts +2 -2
- package/dist/contexts/BeraFlags/defaultFlags.d.ts.map +1 -1
- package/dist/contexts/BexStatusProvider.d.ts +1 -1
- package/dist/contexts/BexStatusProvider.d.ts.map +1 -1
- package/dist/contexts/TokensProvider.d.ts +1 -1
- package/dist/contexts/TokensProvider.d.ts.map +1 -1
- package/dist/contexts/exports.mjs +9 -9
- package/dist/enum/contracts.d.ts +3 -0
- package/dist/enum/contracts.d.ts.map +1 -1
- package/dist/enum/exports.mjs +6 -4
- package/dist/enum/exports.mjs.map +1 -1
- package/dist/enum/txnEnum.d.ts +1 -1
- package/dist/enum/txnEnum.d.ts.map +1 -1
- package/dist/errors/RequestError.d.ts +19 -0
- package/dist/errors/RequestError.d.ts.map +1 -1
- package/dist/errors/errorMap.d.ts +4 -3
- package/dist/errors/errorMap.d.ts.map +1 -1
- package/dist/errors/exports.mjs +5 -5
- package/dist/errors/getErrorMessage.unit.test.d.ts +2 -0
- package/dist/errors/getErrorMessage.unit.test.d.ts.map +1 -0
- package/dist/generated/beep.d.ts +1597 -0
- package/dist/generated/beep.d.ts.map +1 -0
- package/dist/generated/enso.d.ts +4957 -0
- package/dist/generated/enso.d.ts.map +1 -0
- package/dist/generated/layerzero.d.ts +2057 -0
- package/dist/generated/layerzero.d.ts.map +1 -0
- package/dist/hooks/dex/useAggregatorsQuotes.d.ts.map +1 -1
- package/dist/hooks/dex/useAllUserPools.d.ts.map +1 -1
- package/dist/hooks/dex/useCrossChainNativeFee.d.ts +32 -0
- package/dist/hooks/dex/useCrossChainNativeFee.d.ts.map +1 -0
- package/dist/hooks/dex/useCrossChainNativeFee.unit.test.d.ts +2 -0
- package/dist/hooks/dex/useCrossChainNativeFee.unit.test.d.ts.map +1 -0
- package/dist/hooks/dex/useOnChainPoolData.d.ts.map +1 -1
- package/dist/hooks/dex/usePools.d.ts.map +1 -1
- package/dist/hooks/dex/useSingleAggregatorQuote.d.ts.map +1 -1
- package/dist/hooks/dex/useSingleAggregatorQuote.unit.test.d.ts +2 -0
- package/dist/hooks/dex/useSingleAggregatorQuote.unit.test.d.ts.map +1 -0
- package/dist/hooks/enso/useBendZapSupply.d.ts +2 -2
- package/dist/hooks/enso/useBendZapSupply.d.ts.map +1 -1
- package/dist/hooks/enso/useBendZapSupply.unit.test.d.ts +2 -0
- package/dist/hooks/enso/useBendZapSupply.unit.test.d.ts.map +1 -0
- package/dist/hooks/enso/useEnsoUserTokensWithBalances.d.ts.map +1 -1
- package/dist/hooks/enso/useEnsoUserTokensWithBalances.unit.test.d.ts +2 -0
- package/dist/hooks/enso/useEnsoUserTokensWithBalances.unit.test.d.ts.map +1 -0
- package/dist/hooks/enso/useZapStakeBera.d.ts.map +1 -1
- package/dist/hooks/enso/useZapStakeBera.unit.test.d.ts +2 -0
- package/dist/hooks/enso/useZapStakeBera.unit.test.d.ts.map +1 -0
- package/dist/hooks/exports.d.ts +2 -5
- package/dist/hooks/exports.d.ts.map +1 -1
- package/dist/hooks/exports.mjs +615 -911
- package/dist/hooks/exports.mjs.map +1 -1
- package/dist/hooks/governance/exports.mjs +4 -4
- package/dist/hooks/honey/useHoneyChartData.d.ts +4 -4
- package/dist/hooks/honey/useHoneyChartData.d.ts.map +1 -1
- package/dist/hooks/pol/useAutoclaimedIncentives.d.ts.map +1 -1
- package/dist/hooks/pol/useAutoclaimedIncentivesTxHash.d.ts.map +1 -1
- package/dist/hooks/pol/useRewardTokenToBeraRate.d.ts.map +1 -1
- package/dist/hooks/pol/useRewardVaultBalanceFromStakingToken.d.ts.map +1 -1
- package/dist/hooks/pol/useRewardVaults.d.ts.map +1 -1
- package/dist/hooks/pol/useStakedAPY.d.ts +11 -0
- package/dist/hooks/pol/useStakedAPY.d.ts.map +1 -0
- package/dist/hooks/pol/useStakedData.d.ts +4 -2
- package/dist/hooks/pol/useStakedData.d.ts.map +1 -1
- package/dist/hooks/pol/useStakedSnapshots.d.ts +1 -1
- package/dist/hooks/pol/useStakedSnapshots.d.ts.map +1 -1
- package/dist/hooks/pol/useStakingVaultsMetadata.d.ts +0 -1
- package/dist/hooks/pol/useStakingVaultsMetadata.d.ts.map +1 -1
- package/dist/hooks/tokens/useMultipleTokenInformation.d.ts +30 -0
- package/dist/hooks/tokens/useMultipleTokenInformation.d.ts.map +1 -1
- package/dist/hooks/tokens/useMultipleTokenInformation.unit.test.d.ts +2 -0
- package/dist/hooks/tokens/useMultipleTokenInformation.unit.test.d.ts.map +1 -0
- package/dist/hooks/tokens/usePollBalance.d.ts.map +1 -1
- package/dist/hooks/validators/useUserActiveValidators.d.ts +5 -0
- package/dist/hooks/validators/useUserActiveValidators.d.ts.map +1 -1
- package/dist/hooks/validators/useValidator.d.ts +0 -1
- package/dist/hooks/validators/useValidator.d.ts.map +1 -1
- package/dist/hooks/validators/useValidatorIncentiveDistribution.d.ts +4 -5
- package/dist/hooks/validators/useValidatorIncentiveDistribution.d.ts.map +1 -1
- package/dist/hooks/validators/useValidatorRewardAllocation.d.ts +1 -0
- package/dist/hooks/validators/useValidatorRewardAllocation.d.ts.map +1 -1
- package/dist/types/beep/exports.d.ts +2 -0
- package/dist/types/beep/exports.d.ts.map +1 -0
- package/dist/types/beep/exports.mjs +1 -0
- package/dist/types/beep/exports.mjs.map +1 -0
- package/dist/types/bribeBoost.d.ts +0 -49
- package/dist/types/dex.d.ts +17 -0
- package/dist/types/enso.d.ts +1 -27
- package/dist/types/global.d.ts +7 -0
- package/dist/types/pol.d.ts +3 -48
- package/dist/utils/crossChainBridge.d.ts +74 -0
- package/dist/utils/crossChainBridge.d.ts.map +1 -0
- package/dist/utils/crossChainBridge.unit.test.d.ts +2 -0
- package/dist/utils/crossChainBridge.unit.test.d.ts.map +1 -0
- package/dist/utils/exports.d.ts +1 -1
- package/dist/utils/exports.d.ts.map +1 -1
- package/dist/utils/exports.mjs +142 -72
- package/dist/utils/exports.mjs.map +1 -1
- package/dist/utils/getTestClient.d.ts +5 -3
- package/dist/utils/getTestClient.d.ts.map +1 -1
- package/dist/utils/parseWhiskToken.d.ts.map +1 -1
- package/package.json +14 -10
- package/src/actions/clients/BeraApolloClient.ts +4 -2
- package/src/actions/clients/clientName.ts +17 -0
- package/src/actions/clients/clientName.unit.test.ts +39 -0
- package/src/actions/clients/exports.ts +2 -0
- package/src/actions/clients/fetchBeep.ts +6 -4
- package/src/actions/clients/fetchEnso.ts +47 -0
- package/src/actions/clients/fetchLayerzero.ts +33 -0
- package/src/actions/clients/fetchOpenApi.ts +9 -2
- package/src/actions/clients/fetchOpenApi.unit.test.ts +27 -12
- package/src/actions/clients/getApolloClient.ts +3 -11
- package/src/actions/dex/__tests__/aggregators.unit.test.ts +231 -2
- package/src/actions/dex/aggregators/base.ts +75 -17
- package/src/actions/dex/aggregators/bex.ts +41 -1
- package/src/actions/dex/aggregators/bgt.ts +11 -6
- package/src/actions/dex/aggregators/enso/enso.ts +1 -0
- package/src/actions/dex/aggregators/enso/ensoErc4626.ts +27 -9
- package/src/actions/dex/aggregators/erc4626.ts +19 -5
- package/src/actions/dex/aggregators/fly.ts +1 -0
- package/src/actions/dex/aggregators/haiku.ts +33 -2
- package/src/actions/dex/aggregators/honey.ts +17 -6
- package/src/actions/dex/aggregators/kyberswap.ts +1 -0
- package/src/actions/dex/aggregators/oogabooga.ts +1 -0
- package/src/actions/dex/aggregators/openOcean.ts +1 -0
- package/src/actions/dex/aggregators/wbera.ts +17 -11
- package/src/actions/enso/getBendMultiplyBundle.ts +1 -1
- package/src/actions/enso/getEnsoUserTokensWithBalances.ts +4 -8
- package/src/actions/enso/util.ts +0 -59
- package/src/actions/exports.ts +3 -5
- package/src/actions/honey/getChartData.ts +2 -3
- package/src/actions/honey/getHoney24hVolume.ts +4 -13
- package/src/actions/honey/getHoneyCollaterals.ts +1 -1
- package/src/actions/honey/getHoneyTxns.ts +2 -3
- package/src/actions/pol/getBGTGlobalInfo.ts +0 -2
- package/src/actions/pol/getBeraTokenTotalSupply.ts +3 -33
- package/src/actions/pol/getEarnedStakedBeraVault.ts +1 -1
- package/src/actions/pol/getLSTStakeConfig.ts +0 -6
- package/src/actions/pol/getRewardVaults.ts +0 -1
- package/src/actions/pol/getSWBeraVaultMetadata.ts +2 -106
- package/src/actions/pol/getStakedBeraAPY.ts +44 -0
- package/src/actions/pol/getStakedBeraSnapshots.ts +17 -34
- package/src/actions/pol/getStakingDailyAssets.ts +1 -1
- package/src/actions/server/getDailyValidatorBlockStats.ts +1 -2
- package/src/actions/validators/getActiveBoostAndCommissionChangeDelay.ts +1 -1
- package/src/actions/validators/getUserActiveValidators.ts +116 -54
- package/src/actions/validators/getValidatorIncentiveDistribution.ts +1 -2
- package/src/actions/validators/getValidatorRewardAllocation.ts +12 -1
- package/src/contexts/BeraFlags/BeraFlags.tsx +1 -4
- package/src/contexts/BeraFlags/defaultFlags.ts +1 -3
- package/src/contexts/BexStatusProvider.tsx +1 -1
- package/src/contexts/TokensProvider.tsx +1 -4
- package/src/enum/contracts.ts +3 -0
- package/src/enum/txnEnum.ts +1 -1
- package/src/errors/BeraError.unit.test.ts +23 -0
- package/src/errors/RequestError.ts +46 -9
- package/src/errors/RequestError.unit.test.ts +54 -0
- package/src/errors/errorMap.ts +8 -3
- package/src/errors/getErrorMessage.unit.test.ts +32 -0
- package/src/generated/beep.ts +1605 -0
- package/src/generated/enso.ts +4965 -0
- package/src/generated/layerzero.ts +2065 -0
- package/src/hooks/dex/useAggregatorsQuotes.ts +7 -1
- package/src/hooks/dex/useCrossChainNativeFee.ts +83 -0
- package/src/hooks/dex/useCrossChainNativeFee.unit.test.ts +63 -0
- package/src/hooks/dex/useOnChainPoolData.ts +30 -13
- package/src/hooks/dex/useSingleAggregatorQuote.ts +10 -5
- package/src/hooks/dex/useSingleAggregatorQuote.unit.test.ts +86 -0
- package/src/hooks/enso/useBendZapSupply.ts +10 -38
- package/src/hooks/enso/useBendZapSupply.unit.test.ts +98 -0
- package/src/hooks/enso/useEnsoUserTokensWithBalances.ts +13 -3
- package/src/hooks/enso/useEnsoUserTokensWithBalances.unit.test.ts +69 -0
- package/src/hooks/enso/useZapStakeBera.ts +8 -1
- package/src/hooks/enso/useZapStakeBera.unit.test.ts +97 -0
- package/src/hooks/exports.ts +2 -5
- package/src/hooks/pol/useAutoclaimedIncentives.ts +6 -3
- package/src/hooks/pol/useAutoclaimedIncentivesTxHash.ts +5 -2
- package/src/hooks/pol/useRewardTokenToBeraRate.ts +5 -4
- package/src/hooks/pol/useRewardVaultBalanceFromStakingToken.ts +0 -1
- package/src/hooks/pol/{useStakedAPR.ts → useStakedAPY.ts} +11 -9
- package/src/hooks/pol/useStakedData.ts +15 -14
- package/src/hooks/pol/useStakedSnapshots.ts +1 -1
- package/src/hooks/pol/useStakingVaultsMetadata.ts +3 -8
- package/src/hooks/tokens/useMultipleTokenInformation.ts +64 -21
- package/src/hooks/tokens/useMultipleTokenInformation.unit.test.ts +91 -0
- package/src/hooks/tokens/usePollBalance.ts +4 -2
- package/src/hooks/validators/useUserActiveValidators.ts +54 -9
- package/src/hooks/validators/useValidatorIncentiveDistribution.ts +4 -5
- package/src/types/beep/exports.ts +4 -0
- package/src/types/bribeBoost.d.ts +0 -49
- package/src/types/dex.d.ts +17 -0
- package/src/types/enso.d.ts +1 -27
- package/src/types/global.d.ts +7 -0
- package/src/types/pol.d.ts +3 -48
- package/src/utils/crossChainBridge.ts +290 -0
- package/src/utils/crossChainBridge.unit.test.ts +177 -0
- package/src/utils/exports.ts +1 -1
- package/dist/BeraError-7-A5JYy_.d.ts +0 -123
- package/dist/BexStatusProvider-DRymVlQf.d.ts +0 -70
- package/dist/HoneyConfigProvider-COOuDNra.d.ts +0 -390
- package/dist/RequestError-DkUbo3ro.d.ts +0 -145
- package/dist/actions/dex/b-sdk.d.ts +0 -3
- package/dist/actions/enso/getEnsoSwapBundle.d.ts +0 -3
- package/dist/actions/enso/getEnsoSwapBundle.d.ts.map +0 -1
- package/dist/actions/pol/getBgtIncentiveDistributorPaused.d.ts +0 -10
- package/dist/actions/pol/getBgtIncentiveDistributorPaused.d.ts.map +0 -1
- package/dist/actions/pol/getRewardProofsByValidator.d.ts +0 -9
- package/dist/actions/pol/getRewardProofsByValidator.d.ts.map +0 -1
- package/dist/actions/pol/getStakedBeraAPR.d.ts +0 -12
- package/dist/actions/pol/getStakedBeraAPR.d.ts.map +0 -1
- package/dist/actions/pol/getUserClaimableIncentives.d.ts +0 -9
- package/dist/actions/pol/getUserClaimableIncentives.d.ts.map +0 -1
- package/dist/actions/validators/getValidatorAnalytics.d.ts +0 -12
- package/dist/actions/validators/getValidatorAnalytics.d.ts.map +0 -1
- package/dist/chunk-7TFV6UKF.mjs.map +0 -1
- package/dist/chunk-BSOWLS3W.mjs +0 -40
- package/dist/chunk-BSOWLS3W.mjs.map +0 -1
- package/dist/chunk-DOZJB6IJ.mjs.map +0 -1
- package/dist/chunk-IFNIPVTZ.mjs.map +0 -1
- package/dist/chunk-NZAH3SGT.mjs.map +0 -1
- package/dist/chunk-P3YZ7F22.mjs.map +0 -1
- package/dist/chunk-PHYZRH4I.mjs.map +0 -1
- package/dist/chunk-UA3Z47LT.mjs.map +0 -1
- package/dist/chunk-ZWTGVIPJ.mjs.map +0 -1
- package/dist/contexts/block-time-provider.d.ts +0 -10
- package/dist/defaultFlags-D6KfkTZx.d.ts +0 -10
- package/dist/dex-C_BB0b0O.d.ts +0 -37
- package/dist/getApolloClient-MWm_iq4u.d.ts +0 -39
- package/dist/getProposalVotes-DAUrdX2n.d.ts +0 -12
- package/dist/getValidatorQueuedOperatorAddress-N2I7wHd6.d.ts +0 -511
- package/dist/global.d-CR3zicga.d.ts +0 -231
- package/dist/global.d-CiZJ2eHz.d.ts +0 -231
- package/dist/honey-CYm0RWf4.d.ts +0 -14
- package/dist/hooks/enso/useEnsoSwapBundle.d.ts +0 -26
- package/dist/hooks/enso/useEnsoSwapBundle.d.ts.map +0 -1
- package/dist/hooks/pol/useBgtIncentiveDistributorPaused.d.ts +0 -8
- package/dist/hooks/pol/useBgtIncentiveDistributorPaused.d.ts.map +0 -1
- package/dist/hooks/pol/useStakedAPR.d.ts +0 -11
- package/dist/hooks/pol/useStakedAPR.d.ts.map +0 -1
- package/dist/hooks/validators/useUserClaimableIncentives.d.ts +0 -8
- package/dist/hooks/validators/useUserClaimableIncentives.d.ts.map +0 -1
- package/dist/hooks/validators/useValidatorAnalytics.d.ts +0 -11
- package/dist/hooks/validators/useValidatorAnalytics.d.ts.map +0 -1
- package/dist/pol.d-CeRgXBL8.d.ts +0 -167
- package/dist/txnEnum-ByI5dtDi.d.ts +0 -106
- package/dist/types/bribe-boost.d.ts +0 -69
- package/dist/useHoneySwapState-CXVWAThr.d.ts +0 -32
- package/dist/useHoneySwapState-twi7NTaO.d.ts +0 -32
- package/dist/utils/formatIncentivesTokenMap.d.ts +0 -3
- package/dist/utils/formatIncentivesTokenMap.d.ts.map +0 -1
- package/dist/utils/layerZeroScan.d.ts +0 -39
- package/dist/utils/layerZeroScan.d.ts.map +0 -1
- package/src/actions/enso/getEnsoSwapBundle.ts +0 -72
- package/src/actions/pol/getBgtIncentiveDistributorPaused.ts +0 -28
- package/src/actions/pol/getRewardProofsByValidator.ts +0 -49
- package/src/actions/pol/getStakedBeraAPR.ts +0 -56
- package/src/actions/pol/getUserClaimableIncentives.ts +0 -40
- package/src/actions/validators/getValidatorAnalytics.ts +0 -37
- package/src/hooks/enso/useEnsoSwapBundle.ts +0 -121
- package/src/hooks/pol/useBgtIncentiveDistributorPaused.ts +0 -34
- package/src/hooks/validators/useUserClaimableIncentives.ts +0 -148
- package/src/hooks/validators/useValidatorAnalytics.ts +0 -37
- package/src/utils/formatIncentivesTokenMap.ts +0 -19
- package/src/utils/layerZeroScan.ts +0 -124
- /package/dist/{chunk-AEN6IJFU.mjs.map → chunk-7KN7TDUC.mjs.map} +0 -0
- /package/dist/{chunk-LE4CYW7S.mjs.map → chunk-FWRYUIJK.mjs.map} +0 -0
- /package/dist/{chunk-PJRLHTGC.mjs.map → chunk-HPRLNT6R.mjs.map} +0 -0
- /package/dist/{chunk-EJIGERYM.mjs.map → chunk-M3MIGSH3.mjs.map} +0 -0
- /package/dist/{chunk-TGN55GKE.mjs.map → chunk-SC3BSCTN.mjs.map} +0 -0
- /package/dist/{chunk-QQASX4LJ.mjs.map → chunk-TXWDUJOY.mjs.map} +0 -0
- /package/dist/{chunk-EGAB6NFQ.mjs.map → chunk-UWJQ6UKG.mjs.map} +0 -0
- /package/dist/{chunk-J3LTASDE.mjs.map → chunk-ZHV3MQ4F.mjs.map} +0 -0
|
@@ -1,32 +1,19 @@
|
|
|
1
1
|
import { type Address, type PublicClient } from "viem";
|
|
2
2
|
export interface VaultMetadata {
|
|
3
3
|
current: {
|
|
4
|
-
exchangeRate: string;
|
|
5
|
-
totalSupply: string;
|
|
6
4
|
totalAssets: string;
|
|
7
|
-
tvl: string;
|
|
8
5
|
};
|
|
9
|
-
previous: {
|
|
10
|
-
exchangeRate: string;
|
|
11
|
-
totalSupply: string;
|
|
12
|
-
totalAssets: string;
|
|
13
|
-
tvl: string;
|
|
14
|
-
};
|
|
15
|
-
totalWBeraIssued: string;
|
|
16
6
|
lockPeriod?: number;
|
|
17
7
|
address: Address;
|
|
18
8
|
}
|
|
19
9
|
/**
|
|
20
10
|
*
|
|
21
11
|
* @param address - The address of the vault
|
|
22
|
-
* @param underlyingAsset - The address of the vault's underlying asset token
|
|
23
12
|
* @throws {Error} If the vault is not found
|
|
24
13
|
* @returns
|
|
25
14
|
*/
|
|
26
|
-
export declare function getSWBeraVaultMetadata({ address,
|
|
15
|
+
export declare function getSWBeraVaultMetadata({ address, publicClient, }: {
|
|
27
16
|
address: Address;
|
|
28
|
-
underlyingAsset: Address;
|
|
29
17
|
publicClient?: PublicClient;
|
|
30
|
-
blockTime: number;
|
|
31
18
|
}): Promise<VaultMetadata>;
|
|
32
19
|
//# sourceMappingURL=getSWBeraVaultMetadata.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSWBeraVaultMetadata.d.ts","sourceRoot":"","sources":["../../../src/actions/pol/getSWBeraVaultMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,
|
|
1
|
+
{"version":3,"file":"getSWBeraVaultMetadata.d.ts","sourceRoot":"","sources":["../../../src/actions/pol/getSWBeraVaultMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,MAAM,CAAC;AAOnE,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE;QACP,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB;AACD;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,EAC3C,OAAO,EACP,YAAY,GACb,EAAE;IACD,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,GAAG,OAAO,CAAC,aAAa,CAAC,CA6BzB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
type StakedBeraAPYWindow = "DAY" | "WEEK" | "6HOURS" | "12HOURS" | "18HOURS";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* @throws {Error} If the vault is not found
|
|
5
|
+
* @returns
|
|
6
|
+
*/
|
|
7
|
+
export declare function getStakedBeraAPY({ window, }: {
|
|
8
|
+
/**
|
|
9
|
+
* APY might vary depending on the annualized time window (day or week)
|
|
10
|
+
*/
|
|
11
|
+
window: StakedBeraAPYWindow;
|
|
12
|
+
} & BeraJS.BaseFunctionArgs): Promise<number>;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=getStakedBeraAPY.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getStakedBeraAPY.d.ts","sourceRoot":"","sources":["../../../src/actions/pol/getStakedBeraAPY.ts"],"names":[],"mappings":"AAGA,KAAK,mBAAmB,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAkB7E;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,EACrC,MAAM,GACP,EAAE;IACD;;OAEG;IACH,MAAM,EAAE,mBAAmB,CAAC;CAC7B,GAAG,MAAM,CAAC,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAU5C"}
|
|
@@ -1,12 +1,22 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type { paths } from "../../generated/beep";
|
|
2
|
+
/**
|
|
3
|
+
* Look-back span (in days) for the beep sWBERA APR history endpoint.
|
|
4
|
+
* The values are the literal `days` query params accepted by
|
|
5
|
+
* `/v0/stake/apr/history`, so they can be passed straight through.
|
|
6
|
+
*/
|
|
7
|
+
export declare enum StakeSnapshotRange {
|
|
8
|
+
SevenDays = "7",
|
|
9
|
+
ThirtyDays = "30",
|
|
10
|
+
SixtyDays = "60",
|
|
11
|
+
NinetyDays = "90"
|
|
12
|
+
}
|
|
2
13
|
export type GetStakedBeraSnapshotsArgs = {
|
|
3
|
-
|
|
4
|
-
range?: GqlVaultSnapshotDataRange;
|
|
14
|
+
range?: StakeSnapshotRange;
|
|
5
15
|
} & BeraJS.BaseFunctionArgs;
|
|
6
16
|
/**
|
|
7
17
|
*
|
|
8
18
|
* @throws {Error} If the vault is not found
|
|
9
19
|
* @returns
|
|
10
20
|
*/
|
|
11
|
-
export declare function getStakedBeraSnapshots({
|
|
21
|
+
export declare function getStakedBeraSnapshots({ range, }?: GetStakedBeraSnapshotsArgs): Promise<paths["/v0/stake/apr/history"]["get"]["responses"]["200"]["content"]["application/json"]>;
|
|
12
22
|
//# sourceMappingURL=getStakedBeraSnapshots.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getStakedBeraSnapshots.d.ts","sourceRoot":"","sources":["../../../src/actions/pol/getStakedBeraSnapshots.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"getStakedBeraSnapshots.d.ts","sourceRoot":"","sources":["../../../src/actions/pol/getStakedBeraSnapshots.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD;;;;GAIG;AACH,oBAAY,kBAAkB;IAC5B,SAAS,MAAM;IACf,UAAU,OAAO;IACjB,SAAS,OAAO;IAChB,UAAU,OAAO;CAClB;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC5B,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAE5B;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,EAC3C,KAAqC,GACtC,GAAE,0BAA+B,GAAG,OAAO,CAC1C,KAAK,CAAC,uBAAuB,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CACzF,CAEA"}
|
|
@@ -3,8 +3,8 @@ export declare function getStakingDailyAssets({ address, range, }: {
|
|
|
3
3
|
address: Address;
|
|
4
4
|
range: 30 | 60 | 90;
|
|
5
5
|
}): Promise<{
|
|
6
|
-
total_assets: import("
|
|
7
|
-
total_supply: import("
|
|
6
|
+
total_assets: import("../../generated/beep").components["schemas"]["BigIntStr"] | null;
|
|
7
|
+
total_supply: import("../../generated/beep").components["schemas"]["BigIntStr"] | null;
|
|
8
8
|
timestamp: number;
|
|
9
9
|
}[]>;
|
|
10
10
|
//# sourceMappingURL=getStakingDailyAssets.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getStakingDailyAssets.d.ts","sourceRoot":"","sources":["../../../src/actions/pol/getStakingDailyAssets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAIpC,wBAAsB,qBAAqB,CAAC,EAC1C,OAAO,EACP,KAAK,GACN,EAAE;IACD,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;CACrB;kBAO
|
|
1
|
+
{"version":3,"file":"getStakingDailyAssets.d.ts","sourceRoot":"","sources":["../../../src/actions/pol/getStakingDailyAssets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAIpC,wBAAsB,qBAAqB,CAAC,EAC1C,OAAO,EACP,KAAK,GACN,EAAE;IACD,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;CACrB;kBAO++a,oDAAsB;kBAA+C,oDAAsB;;KAD1kb"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
fetchBeep
|
|
3
|
-
} from "../../chunk-
|
|
4
|
-
import "../../chunk-
|
|
5
|
-
import "../../chunk-
|
|
3
|
+
} from "../../chunk-GDUKRUHE.mjs";
|
|
4
|
+
import "../../chunk-4576RF2K.mjs";
|
|
5
|
+
import "../../chunk-SC3BSCTN.mjs";
|
|
6
6
|
import "../../chunk-BMNEN4OK.mjs";
|
|
7
|
-
import "../../chunk-
|
|
8
|
-
import "../../chunk-
|
|
7
|
+
import "../../chunk-LL7XR2H5.mjs";
|
|
8
|
+
import "../../chunk-MVNQY2D4.mjs";
|
|
9
9
|
|
|
10
10
|
// src/actions/server/getDailyValidatorBlockStats.ts
|
|
11
11
|
async function getDailyValidatorBlockStats({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/actions/server/getDailyValidatorBlockStats.ts"],"sourcesContent":["import type { Address } from \"viem\";\n\nimport type {\n BlocksBlockStatsResponse,\n ValidatorBlockStatsResponse,\n} from \"
|
|
1
|
+
{"version":3,"sources":["../../../src/actions/server/getDailyValidatorBlockStats.ts"],"sourcesContent":["import type { Address } from \"viem\";\n\nimport type {\n BlocksBlockStatsResponse,\n ValidatorBlockStatsResponse,\n} from \"../../generated/beep\";\nimport { fetchBeep } from \"../clients/fetchBeep\";\n\n/**\n * Server-only RSC variant. Goes directly to the pol subgraph upstream\n * (no auth required) through the shared Apollo client factory.\n */\nexport async function getDailyValidatorBlockStats({\n pubKey,\n first = 1,\n}: BeraJS.BaseFunctionArgs & {\n pubKey: Address;\n first?: number;\n}): Promise<{\n validatorBlockStats: ValidatorBlockStatsResponse;\n blockStats: BlocksBlockStatsResponse;\n}> {\n const [validatorBlockStats, blockStats] = await Promise.all([\n fetchBeep(\"/v0/validators/{pubkey}/block-stats\", {\n path: { pubkey: pubKey },\n query: {\n interval: \"day\",\n perPage: first.toString(),\n },\n }),\n fetchBeep(\"/v0/blocks/block-stats\", {\n query: {\n interval: \"day\",\n perPage: first.toString(),\n },\n }),\n ]);\n\n return {\n validatorBlockStats: validatorBlockStats,\n blockStats: blockStats,\n };\n}\n"],"mappings":";;;;;;;;;;AAYA,eAAsB,4BAA4B;AAAA,EAChD;AAAA,EACA,QAAQ;AACV,GAMG;AACD,QAAM,CAAC,qBAAqB,UAAU,IAAI,MAAM,QAAQ,IAAI;AAAA,IAC1D,UAAU,uCAAuC;AAAA,MAC/C,MAAM,EAAE,QAAQ,OAAO;AAAA,MACvB,OAAO;AAAA,QACL,UAAU;AAAA,QACV,SAAS,MAAM,SAAS;AAAA,MAC1B;AAAA,IACF,CAAC;AAAA,IACD,UAAU,0BAA0B;AAAA,MAClC,OAAO;AAAA,QACL,UAAU;AAAA,QACV,SAAS,MAAM,SAAS;AAAA,MAC1B;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAED,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Address } from "viem";
|
|
2
|
-
import type { BlocksBlockStatsResponse, ValidatorBlockStatsResponse } from "
|
|
2
|
+
import type { BlocksBlockStatsResponse, ValidatorBlockStatsResponse } from "../../generated/beep";
|
|
3
3
|
/**
|
|
4
4
|
* Server-only RSC variant. Goes directly to the pol subgraph upstream
|
|
5
5
|
* (no auth required) through the shared Apollo client factory.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDailyValidatorBlockStats.d.ts","sourceRoot":"","sources":["../../../src/actions/server/getDailyValidatorBlockStats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,KAAK,EACV,wBAAwB,EACxB,2BAA2B,EAC5B,MAAM,
|
|
1
|
+
{"version":3,"file":"getDailyValidatorBlockStats.d.ts","sourceRoot":"","sources":["../../../src/actions/server/getDailyValidatorBlockStats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,KAAK,EACV,wBAAwB,EACxB,2BAA2B,EAC5B,MAAM,sBAAsB,CAAC;AAG9B;;;GAGG;AACH,wBAAsB,2BAA2B,CAAC,EAChD,MAAM,EACN,KAAS,GACV,EAAE,MAAM,CAAC,gBAAgB,GAAG;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC;IACV,mBAAmB,EAAE,2BAA2B,CAAC;IACjD,UAAU,EAAE,wBAAwB,CAAC;CACtC,CAAC,CAqBD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { PublicClient } from "viem";
|
|
2
|
-
import type { EdgeConfigSchema } from "@berachain/
|
|
2
|
+
import type { EdgeConfigSchema } from "@berachain/edge-config";
|
|
3
3
|
export interface ActiveBoostAndCommissionChangeDelay {
|
|
4
4
|
boostDelay: number;
|
|
5
5
|
unboostDelay: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getActiveBoostAndCommissionChangeDelay.d.ts","sourceRoot":"","sources":["../../../src/actions/validators/getActiveBoostAndCommissionChangeDelay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAEzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"getActiveBoostAndCommissionChangeDelay.d.ts","sourceRoot":"","sources":["../../../src/actions/validators/getActiveBoostAndCommissionChangeDelay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAEzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAO/D,MAAM,WAAW,mCAAmC;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,0BAA0B,EAAE,MAAM,CAAC;IACnC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gCAAgC,EAAE,MAAM,CAAC;IACzC;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,mCAAmC,EAAE,MAAM,CAAC;IAC5C;;OAEG;IACH,EAAE,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,2BAA2B,CAAC,CAAC;CAC1D;AAED,wBAAsB,sCAAsC,CAAC,EAC3D,YAAY,EACZ,EAAE,EACF,GAAG,IAAI,EACR,EAAE,MAAM,CAAC,gBAAgB,GACxB,IAAI,CAAC,mCAAmC,EAAE,IAAI,CAAC,GAAG;IAChD,YAAY,EAAE,YAAY,CAAC;CAC5B,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAoEjD"}
|
|
@@ -4,9 +4,45 @@ import { type UserBoostsOnValidator } from "./getUserBoostsOnValidator";
|
|
|
4
4
|
export type ValidatorWithUserBoost = ApiValidatorInListFragment & {
|
|
5
5
|
userBoosts: UserBoostsOnValidator;
|
|
6
6
|
};
|
|
7
|
+
export type UserValidatorsApiData = ApiValidatorInListFragment[];
|
|
8
|
+
/**
|
|
9
|
+
* Fetches the API-side data for a user's boosted validators: the list of
|
|
10
|
+
* validator IDs the user has boosted (from the boosts API) and the validator
|
|
11
|
+
* info for each. On-chain boost amounts are fetched separately by
|
|
12
|
+
* {@link getUserActiveValidatorsOnChain} so the two can refresh independently.
|
|
13
|
+
*/
|
|
14
|
+
export declare function getUserActiveValidatorsApi({ account, chain, ...args }: {
|
|
15
|
+
account: string;
|
|
16
|
+
chain?: GqlChain;
|
|
17
|
+
} & BeraJS.BaseFunctionArgs): Promise<UserValidatorsApiData>;
|
|
18
|
+
/**
|
|
19
|
+
* Reads the on-chain boost amounts for each validator in the API data.
|
|
20
|
+
* Cheap to re-run on its own, which is what powers the hook's
|
|
21
|
+
* `refreshOnChain()`.
|
|
22
|
+
*/
|
|
23
|
+
export declare function getUserActiveValidatorsOnChain({ account, validators, publicClient, }: {
|
|
24
|
+
account: string;
|
|
25
|
+
validators: UserValidatorsApiData;
|
|
26
|
+
publicClient: PublicClient | undefined;
|
|
27
|
+
}): Promise<UserBoostsOnValidator[]>;
|
|
28
|
+
/**
|
|
29
|
+
* Merges API validator info with on-chain boost amounts into the shape widgets
|
|
30
|
+
* consume. Validators without a matching on-chain read are dropped (the API can
|
|
31
|
+
* return a pubkey that was never actually boosted on-chain).
|
|
32
|
+
*/
|
|
33
|
+
export declare function mergeUserActiveValidators({ validators, onChainBoosts, }: {
|
|
34
|
+
validators: UserValidatorsApiData;
|
|
35
|
+
onChainBoosts: UserBoostsOnValidator[];
|
|
36
|
+
}): ValidatorWithUserBoost[];
|
|
37
|
+
/**
|
|
38
|
+
* Fetches a user's boosted validators with their on-chain boost amounts.
|
|
39
|
+
* Combines the API query, on-chain query, and merge; the hook
|
|
40
|
+
* `useUserActiveValidators` splits these so it can refresh the on-chain part
|
|
41
|
+
* alone.
|
|
42
|
+
*/
|
|
7
43
|
export declare function getUserActiveValidators({ account, publicClient, chain, ...args }: {
|
|
8
44
|
account: string;
|
|
9
45
|
publicClient: PublicClient | undefined;
|
|
10
46
|
chain?: GqlChain;
|
|
11
|
-
} & BeraJS.BaseFunctionArgs): Promise<ValidatorWithUserBoost[]
|
|
47
|
+
} & BeraJS.BaseFunctionArgs): Promise<ValidatorWithUserBoost[]>;
|
|
12
48
|
//# sourceMappingURL=getUserActiveValidators.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getUserActiveValidators.d.ts","sourceRoot":"","sources":["../../../src/actions/validators/getUserActiveValidators.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,YAAY,EAAc,MAAM,MAAM,CAAC;AAEhF,OAAO,KAAK,EACV,0BAA0B,EAC1B,QAAQ,EACT,MAAM,4BAA4B,CAAC;AAKpC,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,4BAA4B,CAAC;AAEpC,MAAM,MAAM,sBAAsB,GAAG,0BAA0B,GAAG;IAChE,UAAU,EAAE,qBAAqB,CAAC;CACnC,CAAC;AAEF,wBAAsB,uBAAuB,CAAC,EAC5C,OAAO,EACP,YAAY,EACZ,KAAK,EACL,GAAG,IAAI,EACR,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,YAAY,GAAG,SAAS,CAAC;IACvC,KAAK,CAAC,EAAE,QAAQ,CAAC;CAClB,GAAG,MAAM,CAAC,gBAAgB,GAAG,OAAO,CAAC,sBAAsB,EAAE,
|
|
1
|
+
{"version":3,"file":"getUserActiveValidators.d.ts","sourceRoot":"","sources":["../../../src/actions/validators/getUserActiveValidators.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,YAAY,EAAc,MAAM,MAAM,CAAC;AAEhF,OAAO,KAAK,EACV,0BAA0B,EAC1B,QAAQ,EACT,MAAM,4BAA4B,CAAC;AAKpC,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,4BAA4B,CAAC;AAEpC,MAAM,MAAM,sBAAsB,GAAG,0BAA0B,GAAG;IAChE,UAAU,EAAE,qBAAqB,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,0BAA0B,EAAE,CAAC;AAEjE;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAAC,EAC/C,OAAO,EACP,KAAK,EACL,GAAG,IAAI,EACR,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,QAAQ,CAAC;CAClB,GAAG,MAAM,CAAC,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAkB3D;AAED;;;;GAIG;AACH,wBAAsB,8BAA8B,CAAC,EACnD,OAAO,EACP,UAAU,EACV,YAAY,GACb,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,qBAAqB,CAAC;IAClC,YAAY,EAAE,YAAY,GAAG,SAAS,CAAC;CACxC,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAUnC;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,UAAU,EACV,aAAa,GACd,EAAE;IACD,UAAU,EAAE,qBAAqB,CAAC;IAClC,aAAa,EAAE,qBAAqB,EAAE,CAAC;CACxC,GAAG,sBAAsB,EAAE,CAwC3B;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAAC,EAC5C,OAAO,EACP,YAAY,EACZ,KAAK,EACL,GAAG,IAAI,EACR,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,YAAY,GAAG,SAAS,CAAC;IACvC,KAAK,CAAC,EAAE,QAAQ,CAAC;CAClB,GAAG,MAAM,CAAC,gBAAgB,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAY9D"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Address } from "viem";
|
|
2
|
-
import type { ValidatorIncentivesResponse } from "
|
|
2
|
+
import type { ValidatorIncentivesResponse } from "../../generated/beep";
|
|
3
3
|
/** Browser-only. Reads validator incentive distribution from beep. */
|
|
4
4
|
export declare function getValidatorIncentiveDistribution({ pubkey, dayRange, }: {
|
|
5
5
|
pubkey: Address;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getValidatorIncentiveDistribution.d.ts","sourceRoot":"","sources":["../../../src/actions/validators/getValidatorIncentiveDistribution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"getValidatorIncentiveDistribution.d.ts","sourceRoot":"","sources":["../../../src/actions/validators/getValidatorIncentiveDistribution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAGpC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAIxE,sEAAsE;AACtE,wBAAsB,iCAAiC,CAAC,EACtD,MAAM,EACN,QAAQ,GACT,EAAE;IACD,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,CA+CnD"}
|
|
@@ -47,6 +47,10 @@ export declare function getValidatorRewardAllocation({ client, pubKey, ...args }
|
|
|
47
47
|
* Whether the reward allocation is inactive so it falls back to the baseline reward allocation.
|
|
48
48
|
*/
|
|
49
49
|
isBaseline: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Whether the reward allocation is the default reward allocation.
|
|
52
|
+
*/
|
|
53
|
+
isDefault: boolean;
|
|
50
54
|
isNeverSet: boolean;
|
|
51
55
|
}>;
|
|
52
56
|
//# sourceMappingURL=getValidatorRewardAllocation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getValidatorRewardAllocation.d.ts","sourceRoot":"","sources":["../../../src/actions/validators/getValidatorRewardAllocation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"getValidatorRewardAllocation.d.ts","sourceRoot":"","sources":["../../../src/actions/validators/getValidatorRewardAllocation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAOlD,MAAM,WAAW,4BAA4B;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,SAAS;QAChB,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;QACxB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,EAAE,CAAC;CACL;AACD,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,OAAO,EAAE,SAAS;QAChB,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;QACxB;;WAEG;QACH,UAAU,EAAE,MAAM,CAAC;KACpB,EAAE,CAAC;CACL;AAED,MAAM,WAAW,+BAA+B;IAC9C,MAAM,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAC3C,GAAG,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,6CACf,SAAQ,+BAA+B;IACvC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,4BAA4B,EACjC,OAAO,EAAE,MAAM,GACd,yBAAyB,CAW3B;AACD,wBAAgB,sBAAsB,CACpC,CAAC,EAAE,yBAAyB,EAC5B,CAAC,EAAE,yBAAyB,GAC3B,OAAO,CAOT;AAED,wBAAsB,4BAA4B,CAAC,EACjD,MAAM,EACN,MAAM,EACN,GAAG,IAAI,EACR,EAAE,MAAM,CAAC,gBAAgB,GAAG;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CACjB,GAAG,OAAO,CAAC;IACV;;OAEG;IACH,sBAAsB,EAAE,yBAAyB,CAAC;IAClD;;;;;OAKG;IACH,mBAAmB,EAAE,yBAAyB,CAAC;IAC/C;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC,CA0ED"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import {
|
|
2
|
+
fetchOpenApi
|
|
3
|
+
} from "./chunk-4576RF2K.mjs";
|
|
4
|
+
|
|
5
|
+
// src/actions/clients/fetchLayerzero.ts
|
|
6
|
+
var LAYERZERO_SCAN_ORIGIN = "https://scan.layerzero-api.com/v1";
|
|
7
|
+
function fetchLayerzero(path, params) {
|
|
8
|
+
return fetchOpenApi(
|
|
9
|
+
LAYERZERO_SCAN_ORIGIN,
|
|
10
|
+
path,
|
|
11
|
+
params,
|
|
12
|
+
"layerzero"
|
|
13
|
+
);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export {
|
|
17
|
+
fetchLayerzero
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=chunk-3TRTSTDH.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/actions/clients/fetchLayerzero.ts"],"sourcesContent":["import type { paths } from \"../../generated/layerzero\";\nimport {\n type DefinedParams,\n fetchOpenApi,\n type GetPath,\n type GetResponse,\n} from \"./fetchOpenApi\";\n\n/**\n * LayerZero Scan API origin. Schema paths are relative to this base (e.g.\n * `/messages/tx/{tx}`).\n */\nconst LAYERZERO_SCAN_ORIGIN = \"https://scan.layerzero-api.com/v1\";\n\n/**\n * Typed GET against the LayerZero Scan API.\n *\n * The `path`, its path/query params and the response are all type-checked\n * against the LayerZero schema (`src/generated/layerzero`). The Scan API is\n * public (no auth), so requests hit it directly — no proxy split like\n * {@link fetchEnso}.\n */\nexport function fetchLayerzero<P extends GetPath<paths>>(\n path: P,\n params: DefinedParams<paths, P>,\n): Promise<GetResponse<paths, P>> {\n return fetchOpenApi<paths, P>(\n LAYERZERO_SCAN_ORIGIN,\n path,\n params,\n \"layerzero\",\n );\n}\n"],"mappings":";;;;;AAYA,IAAM,wBAAwB;AAUvB,SAAS,eACd,MACA,QACgC;AAChC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-BMNEN4OK.mjs";
|
|
4
4
|
import {
|
|
5
5
|
RequestError
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-LL7XR2H5.mjs";
|
|
7
7
|
|
|
8
8
|
// src/utils/getErrorResponse.ts
|
|
9
9
|
async function getErrorResponse(response) {
|
|
@@ -118,10 +118,35 @@ async function beraFetchJson(endpoint, options) {
|
|
|
118
118
|
return response.json();
|
|
119
119
|
}
|
|
120
120
|
|
|
121
|
+
// src/actions/clients/fetchOpenApi.ts
|
|
122
|
+
import { getUriFromLink } from "@berachain/config";
|
|
123
|
+
function fetchOpenApi(link, path, params, fallbackName, headers) {
|
|
124
|
+
const { path: pathParams, query } = params;
|
|
125
|
+
const pathStr = path;
|
|
126
|
+
const resolvedPath = pathStr.replace(/\{([^}]+)\}/g, (_, key) => {
|
|
127
|
+
const value = pathParams?.[key];
|
|
128
|
+
if (value === void 0) {
|
|
129
|
+
throw new Error(
|
|
130
|
+
`fetchOpenApi: missing path param "${key}" for "${pathStr}"`
|
|
131
|
+
);
|
|
132
|
+
}
|
|
133
|
+
return encodeURIComponent(String(value));
|
|
134
|
+
});
|
|
135
|
+
const search = query ? new URLSearchParams(
|
|
136
|
+
Object.entries(query).filter(([, v]) => v !== void 0).map(([k, v]) => [k, String(v)])
|
|
137
|
+
).toString() : "";
|
|
138
|
+
const url = `${getUriFromLink(link)}${resolvedPath}${search ? `?${search}` : ""}`;
|
|
139
|
+
const name = typeof link === "string" ? fallbackName : link.name;
|
|
140
|
+
return beraFetchJson(
|
|
141
|
+
{ url, name, type: "rest" },
|
|
142
|
+
{ headers }
|
|
143
|
+
);
|
|
144
|
+
}
|
|
145
|
+
|
|
121
146
|
export {
|
|
122
|
-
getErrorResponse,
|
|
123
147
|
sanitizeRpcUrl,
|
|
124
148
|
beraFetch,
|
|
125
|
-
beraFetchJson
|
|
149
|
+
beraFetchJson,
|
|
150
|
+
fetchOpenApi
|
|
126
151
|
};
|
|
127
|
-
//# sourceMappingURL=chunk-
|
|
152
|
+
//# sourceMappingURL=chunk-4576RF2K.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/getErrorResponse.ts","../src/utils/sanitizeRpcUrl.ts","../src/utils/beraFetch.ts","../src/actions/clients/fetchOpenApi.ts"],"sourcesContent":["/**\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 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","/**\n * Strips secret tokens from RPC URLs for safe use in span attributes and logs.\n *\n * QuickNode URLs embed API keys as path segments, e.g.:\n * https://polished-morning-sun.bera-mainnet.quiknode.pro/abc123def/\n * This function trims the subpath, producing:\n * https://polished-morning-sun.bera-mainnet.quiknode.pro/\n */\nexport function sanitizeRpcUrl(url: string | undefined): string {\n if (!url) return \"\";\n try {\n const parsed = new URL(url);\n if (parsed.hostname.endsWith(\".quiknode.pro\")) {\n parsed.pathname = \"/\";\n parsed.search = \"\";\n return parsed.toString();\n }\n return url;\n } catch {\n return url;\n }\n}\n","import { BeraTracing, type SpanContext } from \"../errors/BeraTracing\";\nimport { RequestError } from \"../errors/RequestError\";\nimport { getErrorResponse } from \"./getErrorResponse\";\nimport { sanitizeRpcUrl } from \"./sanitizeRpcUrl\";\n\ntype RequestOptions = RequestInit;\n\nexport async function beraFetch(\n endpoint: ConstructorParameters<typeof RequestError>[0][\"endpoint\"],\n options?: RequestOptions,\n spanContext?: SpanContext & {\n /**\n * If true, keep all query params in the span URL.\n * If an array of strings, keep only the query params in the array.\n * If false, remove all query params from the span URL.\n * If not provided, remove all query params from the span URL.\n */\n keepQueryParams?: boolean | string[];\n },\n) {\n try {\n let spanUrl = sanitizeRpcUrl(\n typeof endpoint === \"string\" || endpoint instanceof URL\n ? endpoint.toString()\n : endpoint.url.toString(),\n ).replace(/0x[a-fA-F0-9]{40}/g, \":address\");\n\n if (spanContext?.keepQueryParams !== true && URL.canParse(spanUrl)) {\n const queryParams = new URL(spanUrl).searchParams;\n if (Array.isArray(spanContext?.keepQueryParams)) {\n const searchParams = new URLSearchParams();\n\n for (const param of spanContext.keepQueryParams) {\n searchParams.set(param, queryParams.get(param) ?? \"\");\n }\n\n const newUrl = new URL(spanUrl);\n newUrl.search = searchParams.toString();\n spanUrl = newUrl.toString();\n } else {\n const newUrl = new URL(spanUrl);\n newUrl.search = \"\";\n spanUrl = newUrl.toString();\n }\n }\n\n const endpointName =\n typeof endpoint === \"string\" || endpoint instanceof URL\n ? undefined\n : endpoint.name;\n\n return await BeraTracing.startSpan(\n {\n op: \"beraFetch\",\n name: endpointName ? `beraFetch ${endpointName}` : \"beraFetch\",\n attributes:\n typeof endpoint === \"string\" || endpoint instanceof URL\n ? {\n \"operation.source.url\": spanUrl,\n ...spanContext?.attributes,\n }\n : ({\n \"operation.source.url\": spanUrl,\n \"operation.source.type\": endpoint.type,\n \"operation.source.name\": endpoint.name,\n ...spanContext?.attributes,\n } satisfies SpanContext[\"attributes\"]),\n },\n async () => {\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 },\n );\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 type { HttpLink } from \"@berachain/config\";\nimport { getUriFromLink } from \"@berachain/config\";\n\nimport { beraFetchJson } from \"../../utils/beraFetch\";\n\n/**\n * A minimal, fully-typed GET helper for our `openapi-typescript`-generated\n * `beep` backend. beep serves only GETs, so rather than a full OpenAPI client\n * we type a single `fetchOpenApi` against a schema's `paths` and wrap it\n * (`fetchBeep`).\n *\n * The `path`, its path/query params and the response body are all type-checked\n * against the schema, so route shapes can never drift out of sync with the\n * backend. Requests go through {@link beraFetchJson} so they keep the same\n * Sentry tracing, `RequestError` handling and URL sanitization as the rest of\n * the codebase.\n */\n\n/** Any `openapi-typescript` `paths` object. */\n// biome-ignore lint/suspicious/noExplicitAny: schema `paths` are structurally diverse; constrained at call sites by the concrete schema.\ntype AnyPaths = Record<string, any>;\n\n/** Paths in a schema that expose a JSON GET response. */\nexport type GetPath<Paths extends AnyPaths> = {\n [P in keyof Paths]: Paths[P] extends {\n get: { responses: { 200: { content: { \"application/json\": unknown } } } };\n }\n ? P\n : never;\n}[keyof Paths];\n\ntype GetParams<\n Paths extends AnyPaths,\n P extends GetPath<Paths>,\n> = Paths[P][\"get\"] extends { parameters: infer Params } ? Params : never;\n\nexport type GetResponse<\n Paths extends AnyPaths,\n P extends GetPath<Paths>,\n> = Paths[P][\"get\"][\"responses\"][200][\"content\"][\"application/json\"];\n\n// Drop the params keys that are `never` (e.g. an endpoint with no query) so\n// callers only pass what an endpoint actually accepts.\nexport type DefinedParams<Paths extends AnyPaths, P extends GetPath<Paths>> = {\n [K in keyof GetParams<Paths, P> as GetParams<Paths, P>[K] extends never\n ? never\n : K]: GetParams<Paths, P>[K];\n};\n\n/**\n * Perform a typed GET against an OpenAPI backend.\n *\n * @param link The backend `HttpLink`. The base URL and monitoring name are\n * read from it.\n * @param path An OpenAPI path template, e.g. `/v0/stake/{vault}/stats-by-day`.\n * @param params Path and query params, typed from the schema for `path`.\n * @param fallbackName Monitoring name to use when `link` is a bare string.\n * @param headers Request headers. Kept minimal by default — extra headers\n * (e.g. `X-Client-Id`, which only beep needs) trigger a CORS\n * preflight that third-party gateways like Enso reject.\n */\n// biome-ignore lint/complexity/useMaxParams: internal helper; the wrappers (fetchBeep, fetchEnso) are the public surface.\nexport function fetchOpenApi<Paths extends AnyPaths, P extends GetPath<Paths>>(\n link: HttpLink,\n path: P,\n params: DefinedParams<Paths, P>,\n fallbackName: string,\n headers?: Record<string, string>,\n): Promise<GetResponse<Paths, P>> {\n const { path: pathParams, query } = params as {\n path?: Record<string, string | number>;\n query?: Record<string, string | number | undefined>;\n };\n\n // Substitute `{param}` placeholders from the typed path params.\n const pathStr = path as string;\n const resolvedPath = pathStr.replace(/\\{([^}]+)\\}/g, (_, key) => {\n const value = pathParams?.[key];\n if (value === undefined) {\n throw new Error(\n `fetchOpenApi: missing path param \"${key}\" for \"${pathStr}\"`,\n );\n }\n return encodeURIComponent(String(value));\n });\n\n // Omit params whose value is `undefined` rather than serializing them as the\n // literal string \"undefined\" (e.g. optional filters left unset by callers).\n const search = query\n ? new URLSearchParams(\n Object.entries(query)\n .filter(([, v]) => v !== undefined)\n .map(([k, v]) => [k, String(v)]),\n ).toString()\n : \"\";\n\n const url = `${getUriFromLink(link)}${resolvedPath}${search ? `?${search}` : \"\"}`;\n const name = typeof link === \"string\" ? fallbackName : link.name;\n\n return beraFetchJson<GetResponse<Paths, P>>(\n { url, name, type: \"rest\" },\n { headers },\n );\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,15 +1,18 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getClientName
|
|
3
|
+
} from "./chunk-GDUKRUHE.mjs";
|
|
1
4
|
import {
|
|
2
5
|
parseBaseArgs
|
|
3
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-SC3BSCTN.mjs";
|
|
4
7
|
import {
|
|
5
8
|
BeraTracing
|
|
6
9
|
} from "./chunk-BMNEN4OK.mjs";
|
|
7
10
|
import {
|
|
8
11
|
RequestError
|
|
9
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-LL7XR2H5.mjs";
|
|
10
13
|
import {
|
|
11
14
|
BeraError
|
|
12
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-MVNQY2D4.mjs";
|
|
13
16
|
|
|
14
17
|
// src/actions/clients/BeraApolloClient.ts
|
|
15
18
|
import {
|
|
@@ -78,8 +81,6 @@ var BeraApolloClient = class extends ApolloClient {
|
|
|
78
81
|
}
|
|
79
82
|
if (error instanceof TypeError) {
|
|
80
83
|
throw new RequestError({
|
|
81
|
-
level: "fatal",
|
|
82
|
-
reason: "TypeError",
|
|
83
84
|
response: error,
|
|
84
85
|
cause: error,
|
|
85
86
|
endpoint,
|
|
@@ -106,13 +107,11 @@ function getQueryName(queryDefinition) {
|
|
|
106
107
|
import { InMemoryCache } from "@apollo/client";
|
|
107
108
|
import { HttpLink } from "@apollo/client/link/http";
|
|
108
109
|
import { getUriFromLink } from "@berachain/config";
|
|
109
|
-
import {
|
|
110
|
+
import { goldskyBaseUrl } from "@berachain/config/internal";
|
|
110
111
|
import apiResults from "@berachain/graphql/dex/api";
|
|
111
112
|
import { gql } from "@apollo/client";
|
|
112
113
|
function applyStellateClientName(url) {
|
|
113
114
|
const headers = typeof url === "string" ? void 0 : url.headers;
|
|
114
|
-
const isDapp = !!currentDapp;
|
|
115
|
-
const isTest = process.env.VERCEL_ENV === "test";
|
|
116
115
|
const uri = getUriFromLink(url);
|
|
117
116
|
const name = typeof url === "string" ? "unknown" : url.name;
|
|
118
117
|
return {
|
|
@@ -120,10 +119,7 @@ function applyStellateClientName(url) {
|
|
|
120
119
|
name,
|
|
121
120
|
headers: {
|
|
122
121
|
...headers,
|
|
123
|
-
"x-graphql-client-name":
|
|
124
|
-
// this tracks usage of the berajs package in other packages
|
|
125
|
-
"berajs"
|
|
126
|
-
)}`,
|
|
122
|
+
"x-graphql-client-name": getClientName(),
|
|
127
123
|
"x-graphql-client-version": `${process.env.VERCEL_TARGET_ENV}.${process.env.VERCEL_GIT_COMMIT_SHA}`
|
|
128
124
|
}
|
|
129
125
|
};
|
|
@@ -208,4 +204,4 @@ export {
|
|
|
208
204
|
getApolloClient,
|
|
209
205
|
gql
|
|
210
206
|
};
|
|
211
|
-
//# sourceMappingURL=chunk-
|
|
207
|
+
//# sourceMappingURL=chunk-5MUCX35C.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/actions/clients/BeraApolloClient.ts","../src/actions/clients/getApolloClient.ts"],"sourcesContent":["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 protected serviceName: string;\n constructor(\n options: ApolloClient.Options & {\n /**\n * The URL of the endpoint. Used for error reporting only.\n */\n url: string;\n /**\n * The name of the graphql service. Used for error reporting only.\n */\n name: string;\n },\n ) {\n super(options);\n this.url = options.url;\n this.serviceName = options.name;\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\n const endpoint = {\n url: this.url,\n type: \"graphql\",\n name: this.serviceName,\n } as const;\n\n const tags = {\n \"operation.type\": \"query\",\n \"operation.source.name\": endpoint.name,\n \"operation.source.url\": endpoint.url,\n \"operation.source.type\": endpoint.type,\n \"operation.source.queryName\": queryName,\n };\n\n try {\n // biome-ignore lint: function() overrides super and this\n const executeQuery = () => {\n return super.query<TData, TVariables>(\n options as ApolloClient.QueryOptions<TData, TVariables>,\n );\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 // A fetch TypeError (\"Failed to fetch\" / \"Load failed\" / CORS) is a\n // network failure, not a fatal bug. Let RequestError classify it as\n // NETWORK_ERROR (warning) so it groups by domain alongside every other\n // network error instead of fragmenting per-route. See HUB-4GF.\n throw new RequestError({\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 { InMemoryCache, type InMemoryCacheConfig } from \"@apollo/client\";\nimport { HttpLink } from \"@apollo/client/link/http\";\n\nimport type { HttpLink as BeraConfigHttpLink } from \"@berachain/config\";\nimport { getUriFromLink } from \"@berachain/config\";\nimport { goldskyBaseUrl } from \"@berachain/config/internal\";\n\nimport apiResults from \"@berachain/graphql/dex/api\";\n\nimport { BeraError } from \"../../errors/BeraError\";\nimport { parseBaseArgs } from \"../../utils/parseBaseArgs\";\nimport { BeraApolloClient } from \"./BeraApolloClient\";\nimport { getClientName } from \"./clientName\";\n\n/**\n * If currentDapp is set, it will add the stellate client name and version to the headers.\n * @see {@link https://stellate.co/docs/graphql-metrics/tracking/clients}\n */\nfunction applyStellateClientName(url: BeraConfigHttpLink): BeraConfigHttpLink {\n const headers = typeof url === \"string\" ? undefined : url.headers;\n\n const uri = getUriFromLink(url);\n const name = typeof url === \"string\" ? \"unknown\" : url.name;\n\n return {\n uri,\n name,\n headers: {\n ...headers,\n \"x-graphql-client-name\": getClientName(),\n \"x-graphql-client-version\": `${process.env.VERCEL_TARGET_ENV}.${process.env.VERCEL_GIT_COMMIT_SHA}`,\n },\n };\n}\n\nexport { gql } from \"@apollo/client\";\n\nfunction getClient(\n endpoint: BeraConfigHttpLink,\n {\n ssrMode,\n inMemoryCacheOptions,\n }: {\n ssrMode?: boolean;\n inMemoryCacheOptions?: InMemoryCacheConfig;\n } = {},\n) {\n const url = getUriFromLink(endpoint);\n const headers = typeof endpoint === \"string\" ? undefined : endpoint.headers;\n let name = typeof endpoint === \"string\" ? undefined : endpoint.name;\n\n if (!name && url.includes(goldskyBaseUrl)) {\n name = url.replace(goldskyBaseUrl, \"\").replace(\"/gn\", \"\");\n }\n\n return new BeraApolloClient({\n url,\n name: name ?? \"unknown\",\n link: new HttpLink({\n uri: url,\n headers,\n }),\n defaultOptions: {\n query: {\n // With the default none error policy, an error causes the promise to reject.\n errorPolicy: \"none\",\n fetchPolicy: \"no-cache\",\n },\n },\n cache: new InMemoryCache(inMemoryCacheOptions),\n ssrMode,\n });\n}\n\n/**\n * Browser-reachable Apollo client factory for `api` and Bend's `whisk`\n * endpoints. The pol subgraph client is server-only; browser data access goes\n * through the typed `/api/pol/*` REST endpoints. Same auth shape as\n * bend.whiskApi — non-public env values only resolve server-side.\n */\ntype GraphqlClient = \"api\" | \"bend.whisk\" | \"pol.subgraph\";\n\nconst SUBGRAPH_CLIENTS = [\n \"pol.subgraph\",\n] as const satisfies readonly GraphqlClient[];\n\ntype SubgraphClient = (typeof SUBGRAPH_CLIENTS)[number];\n\nfunction isSubgraphClient(name: GraphqlClient): name is SubgraphClient {\n return SUBGRAPH_CLIENTS.includes(name as SubgraphClient);\n}\n\nconst clientCache = new Map<string, BeraApolloClient>();\n\nfunction store(\n cacheKey: string | null,\n client: BeraApolloClient,\n): BeraApolloClient {\n if (cacheKey) clientCache.set(cacheKey, client);\n return client;\n}\n\nexport function getApolloClient(\n clientName: GraphqlClient,\n { ...args }: BeraJS.BaseFunctionArgs,\n): BeraApolloClient {\n if (typeof window !== \"undefined\" && isSubgraphClient(clientName)) {\n throw new BeraError({\n message: \"Subgraph Apollo client is server-only\",\n level: \"error\",\n });\n }\n\n const { config, chainId } = parseBaseArgs(args);\n\n // Caller-supplied configs are treated as unique (may override URLs/headers),\n // so they bypass the cache. The common path (chainId-only) is memoized.\n const cacheKey = args.config ? null : `${chainId}:${clientName}`;\n\n if (cacheKey) {\n const cached = clientCache.get(cacheKey);\n if (cached) return cached;\n }\n\n switch (clientName) {\n case \"api\":\n return store(\n cacheKey,\n getClient(applyStellateClientName(config.api), {\n inMemoryCacheOptions: {\n possibleTypes: apiResults.possibleTypes,\n },\n }),\n );\n\n case \"bend.whisk\":\n if (!config.bend.whiskApi) {\n throw new BeraError({\n message: \"Bend whisk API is not configured on this chain\",\n level: \"error\",\n });\n }\n return store(cacheKey, getClient(config.bend.whiskApi));\n\n case \"pol.subgraph\":\n return store(cacheKey, getClient(config.pol.subgraph));\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA,EACE;AAAA,EAIA;AAAA,OACK;AAEP,SAAS,iBAAiB;AAYnB,IAAM,mBAAN,cAA+B,aAAa;AAAA;AAAA;AAAA;AAAA,EAIvC;AAAA,EAEA;AAAA,EACV,YACE,SAUA;AACA,UAAM,OAAO;AACb,SAAK,MAAM,QAAQ;AACnB,SAAK,cAAc,QAAQ;AAAA,EAC7B;AAAA,EAEA,MAAM,MAKJ,SAIC;AACD,UAAM,YAAY,aAAa,QAAQ,KAAK;AAE5C,UAAM,WAAW;AAAA,MACf,KAAK,KAAK;AAAA,MACV,MAAM;AAAA,MACN,MAAM,KAAK;AAAA,IACb;AAEA,UAAM,OAAO;AAAA,MACX,kBAAkB;AAAA,MAClB,yBAAyB,SAAS;AAAA,MAClC,wBAAwB,SAAS;AAAA,MACjC,yBAAyB,SAAS;AAAA,MAClC,8BAA8B;AAAA,IAChC;AAEA,QAAI;AAEF,YAAM,eAAe,MAAM;AACzB,eAAO,MAAM;AAAA,UACX;AAAA,QACF;AAAA,MACF;AAEA,YAAM,MAAM,MAAM,YAAY;AAAA,QAC5B;AAAA,UACE,MAAM,WAAW,SAAS;AAAA,UAC1B,IAAI;AAAA,UACJ,YAAY;AAAA,QACd;AAAA,QACA;AAAA,MACF;AAEA,UAAI,IAAI,SAAS,IAAI,SAAS,QAAW;AACvC,cAAM,IAAI,UAAU;AAAA,UAClB,OAAO;AAAA,UACP;AAAA,UACA,SACE;AAAA,QACJ,CAAC;AAAA,MACH;AAEA,aAAO,EAAE,MAAM,IAAI,KAAK;AAAA,IAC1B,SAAS,OAAO;AACd,OAAC,UAAU,IAAI,gBACb,QAAQ,MAAM,0BAA0B,KAAK;AAE/C,UAAI,YAAY,GAAG,KAAK,GAAG;AACzB,cAAM,IAAI,aAAa;AAAA;AAAA,UAErB,UAAU,MAAM;AAAA,UAChB,OAAO;AAAA,UACP,YAAY,MAAM;AAAA,UAClB;AAAA,UACA;AAAA,QACF,CAAC;AAAA,MACH;AACA,UAAI,iBAAiB,WAAW;AAK9B,cAAM,IAAI,aAAa;AAAA,UACrB,UAAU;AAAA,UACV,OAAO;AAAA,UACP;AAAA,UACA;AAAA,QACF,CAAC;AAAA,MACH;AACA,YAAM,IAAI,aAAa;AAAA,QACrB,UAAU;AAAA,QACV;AAAA,QACA,OAAO;AAAA,QACP;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;AAEA,SAAS,aAAa,iBAA+B;AACnD,QAAM,aAAa,gBAAgB,YAAY;AAAA,IAC7C,CAAC,QAAQ,IAAI,SAAU;AAAA,EACzB;AAEA,SAAO,YAAY,MAAM;AAC3B;;;AC3IA,SAAS,qBAA+C;AACxD,SAAS,gBAAgB;AAGzB,SAAS,sBAAsB;AAC/B,SAAS,sBAAsB;AAE/B,OAAO,gBAAgB;AA4BvB,SAAS,WAAW;AAjBpB,SAAS,wBAAwB,KAA6C;AAC5E,QAAM,UAAU,OAAO,QAAQ,WAAW,SAAY,IAAI;AAE1D,QAAM,MAAM,eAAe,GAAG;AAC9B,QAAM,OAAO,OAAO,QAAQ,WAAW,YAAY,IAAI;AAEvD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,SAAS;AAAA,MACP,GAAG;AAAA,MACH,yBAAyB,cAAc;AAAA,MACvC,4BAA4B,GAAG,QAAQ,IAAI,iBAAiB,IAAI,QAAQ,IAAI,qBAAqB;AAAA,IACnG;AAAA,EACF;AACF;AAIA,SAAS,UACP,UACA;AAAA,EACE;AAAA,EACA;AACF,IAGI,CAAC,GACL;AACA,QAAM,MAAM,eAAe,QAAQ;AACnC,QAAM,UAAU,OAAO,aAAa,WAAW,SAAY,SAAS;AACpE,MAAI,OAAO,OAAO,aAAa,WAAW,SAAY,SAAS;AAE/D,MAAI,CAAC,QAAQ,IAAI,SAAS,cAAc,GAAG;AACzC,WAAO,IAAI,QAAQ,gBAAgB,EAAE,EAAE,QAAQ,OAAO,EAAE;AAAA,EAC1D;AAEA,SAAO,IAAI,iBAAiB;AAAA,IAC1B;AAAA,IACA,MAAM,QAAQ;AAAA,IACd,MAAM,IAAI,SAAS;AAAA,MACjB,KAAK;AAAA,MACL;AAAA,IACF,CAAC;AAAA,IACD,gBAAgB;AAAA,MACd,OAAO;AAAA;AAAA,QAEL,aAAa;AAAA,QACb,aAAa;AAAA,MACf;AAAA,IACF;AAAA,IACA,OAAO,IAAI,cAAc,oBAAoB;AAAA,IAC7C;AAAA,EACF,CAAC;AACH;AAUA,IAAM,mBAAmB;AAAA,EACvB;AACF;AAIA,SAAS,iBAAiB,MAA6C;AACrE,SAAO,iBAAiB,SAAS,IAAsB;AACzD;AAEA,IAAM,cAAc,oBAAI,IAA8B;AAEtD,SAAS,MACP,UACA,QACkB;AAClB,MAAI,SAAU,aAAY,IAAI,UAAU,MAAM;AAC9C,SAAO;AACT;AAEO,SAAS,gBACd,YACA,EAAE,GAAG,KAAK,GACQ;AAClB,MAAI,OAAO,WAAW,eAAe,iBAAiB,UAAU,GAAG;AACjE,UAAM,IAAI,UAAU;AAAA,MAClB,SAAS;AAAA,MACT,OAAO;AAAA,IACT,CAAC;AAAA,EACH;AAEA,QAAM,EAAE,QAAQ,QAAQ,IAAI,cAAc,IAAI;AAI9C,QAAM,WAAW,KAAK,SAAS,OAAO,GAAG,OAAO,IAAI,UAAU;AAE9D,MAAI,UAAU;AACZ,UAAM,SAAS,YAAY,IAAI,QAAQ;AACvC,QAAI,OAAQ,QAAO;AAAA,EACrB;AAEA,UAAQ,YAAY;AAAA,IAClB,KAAK;AACH,aAAO;AAAA,QACL;AAAA,QACA,UAAU,wBAAwB,OAAO,GAAG,GAAG;AAAA,UAC7C,sBAAsB;AAAA,YACpB,eAAe,WAAW;AAAA,UAC5B;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IAEF,KAAK;AACH,UAAI,CAAC,OAAO,KAAK,UAAU;AACzB,cAAM,IAAI,UAAU;AAAA,UAClB,SAAS;AAAA,UACT,OAAO;AAAA,QACT,CAAC;AAAA,MACH;AACA,aAAO,MAAM,UAAU,UAAU,OAAO,KAAK,QAAQ,CAAC;AAAA,IAExD,KAAK;AACH,aAAO,MAAM,UAAU,UAAU,OAAO,IAAI,QAAQ,CAAC;AAAA,EACzD;AACF;","names":[]}
|