@berachain/berajs 0.2.3 → 0.2.4
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/.claude/skills/berajs/SKILL.md +222 -0
- package/.claude/skills/berajs/references/dex.md +235 -0
- package/.claude/skills/berajs/references/pol.md +194 -0
- package/.claude/skills/berajs/references/staking.md +198 -0
- package/.claude/skills/berajs/references/tokens.md +170 -0
- package/dist/{BexStatusProvider-nS3NcdxI.d.cts → BexStatusProvider-DRymVlQf.d.cts} +1 -1
- package/dist/{BexStatusProvider-nS3NcdxI.d.ts → BexStatusProvider-DRymVlQf.d.ts} +1 -1
- package/dist/{HoneyConfigProvider-CK6mOKFH.d.ts → HoneyConfigProvider-DVP_9KZn.d.ts} +1 -1
- package/dist/{HoneyConfigProvider-Ca3ouozs.d.cts → HoneyConfigProvider-DfkjmzEf.d.cts} +1 -1
- package/dist/abi/exports.cjs +1 -1
- package/dist/abi/exports.cjs.map +1 -1
- package/dist/abi/exports.d.cts +1893 -25347
- package/dist/abi/exports.d.ts +1893 -25347
- package/dist/abi/exports.mjs +1 -1
- package/dist/abi/exports.mjs.map +1 -1
- package/dist/actions/exports.cjs +1 -1
- package/dist/actions/exports.cjs.map +1 -1
- package/dist/actions/exports.d.cts +10 -9
- package/dist/actions/exports.d.ts +10 -9
- package/dist/actions/exports.mjs +1 -1
- package/dist/actions/exports.mjs.map +1 -1
- package/dist/chunk-4GU2O2OW.cjs +4 -0
- package/dist/chunk-4GU2O2OW.cjs.map +1 -0
- package/dist/chunk-5XWELBWR.mjs +2 -0
- package/dist/chunk-5XWELBWR.mjs.map +1 -0
- package/dist/chunk-BS6K7HGH.cjs +2 -0
- package/dist/chunk-BS6K7HGH.cjs.map +1 -0
- package/dist/chunk-NLVWRMGD.mjs +2 -0
- package/dist/chunk-NLVWRMGD.mjs.map +1 -0
- package/dist/chunk-OUD27MU7.cjs +2 -0
- package/dist/chunk-OUD27MU7.cjs.map +1 -0
- package/dist/chunk-RW3JFPED.mjs +4 -0
- package/dist/chunk-RW3JFPED.mjs.map +1 -0
- package/dist/chunk-S3EAKCVM.cjs +2 -0
- package/dist/{chunk-PKXAW6MO.cjs.map → chunk-S3EAKCVM.cjs.map} +1 -1
- package/dist/chunk-YNO7BCCM.mjs +2 -0
- package/dist/{chunk-3YXSUBA5.mjs.map → chunk-YNO7BCCM.mjs.map} +1 -1
- package/dist/contexts/exports.d.cts +3 -3
- package/dist/contexts/exports.d.ts +3 -3
- package/dist/enum/exports.d.cts +1 -1
- package/dist/enum/exports.d.ts +1 -1
- package/dist/errors/exports.d.cts +1 -1
- package/dist/errors/exports.d.ts +1 -1
- package/dist/{getValidatorQueuedOperatorAddress-NrjpnEn8.d.ts → getValidatorQueuedOperatorAddress-CqR6cyqC.d.ts} +3 -3
- package/dist/{getValidatorQueuedOperatorAddress-D_LEt3vv.d.cts → getValidatorQueuedOperatorAddress-DZgrPmZ2.d.cts} +3 -3
- package/dist/{global.d-X3cqpCEB.d.ts → global.d-BeYWDreg.d.ts} +4 -4
- package/dist/{global.d-DLRtrPG5.d.cts → global.d-DghRxpHd.d.cts} +4 -4
- package/dist/hooks/exports.cjs +3 -3
- package/dist/hooks/exports.cjs.map +1 -1
- package/dist/hooks/exports.d.cts +40 -38
- package/dist/hooks/exports.d.ts +40 -38
- package/dist/hooks/exports.mjs +3 -3
- package/dist/hooks/exports.mjs.map +1 -1
- package/dist/{txnEnum-BlBYhNRl.d.cts → txnEnum-DxPRHSJt.d.cts} +1 -1
- package/dist/{txnEnum-BlBYhNRl.d.ts → txnEnum-DxPRHSJt.d.ts} +1 -1
- package/dist/types/exports.d.cts +3 -3
- package/dist/types/exports.d.ts +3 -3
- package/dist/{useHoneySwapState-D1DKG_Of.d.ts → useHoneySwapState-B494PQDl.d.ts} +1 -1
- package/dist/{useHoneySwapState-B-vmIP1b.d.cts → useHoneySwapState-D6vpv19r.d.cts} +1 -1
- package/dist/utils/exports.cjs +1 -1
- package/dist/utils/exports.cjs.map +1 -1
- package/dist/utils/exports.d.cts +2 -2
- package/dist/utils/exports.d.ts +2 -2
- package/dist/utils/exports.mjs +1 -1
- package/dist/utils/exports.mjs.map +1 -1
- package/package.json +8 -9
- package/src/abi/exports.ts +0 -27
- package/src/actions/bend/getConvertToAssets.ts +1 -1
- package/src/actions/bend/getMaxDeposit.ts +1 -1
- package/src/actions/dex/aggregators/bex.ts +2 -1
- package/src/actions/dex/aggregators/enso/enso.ts +3 -2
- package/src/actions/dex/aggregators/enso/ensoErc4626.debug.test.ts +2 -3
- package/src/actions/dex/aggregators/erc4626.ts +2 -1
- package/src/actions/dex/aggregators/fly.ts +2 -1
- package/src/actions/dex/aggregators/haiku.ts +2 -1
- package/src/actions/dex/aggregators/kyberswap.ts +2 -2
- package/src/actions/dex/aggregators/oogabooga.ts +2 -1
- package/src/actions/dex/aggregators/openOcean.ts +2 -1
- package/src/actions/dex/aggregators/wbera.ts +2 -1
- package/src/actions/dex/getVaultPausedState.ts +2 -1
- package/src/actions/enso/getEnsoUserTokensWithBalances.debug.test.ts +1 -1
- package/src/actions/governance/__tests__/checkProposalField.unit.test.ts +2 -1
- package/src/actions/governance/__tests__/getDecodedFunctionData.integration.test.ts +66 -78
- package/src/actions/governance/__tests__/getQuorum.integration.test.ts +6 -7
- package/src/actions/governance/getDecodedFunctionData.ts +2 -2
- package/src/actions/governance/getProposalFromTx.ts +2 -1
- package/src/actions/governance/getProposalParams.ts +3 -2
- package/src/actions/governance/getQuorum.ts +2 -1
- package/src/actions/honey/getCollateralWeights.ts +2 -1
- package/src/actions/honey/getGlobalCapLimit.ts +2 -1
- package/src/actions/honey/getHoneyCollaterals.ts +2 -1
- package/src/actions/honey/getHoneyFees.ts +2 -1
- package/src/actions/honey/getHoneyPausedState.ts +2 -1
- package/src/actions/honey/getHoneyPreview.ts +2 -1
- package/src/actions/honey/getHoneyPythPriceOracle.ts +1 -1
- package/src/actions/honey/getHoneyRootPriceOracle.ts +2 -1
- package/src/actions/honey/getHoneyVaultsBalance.ts +3 -2
- package/src/actions/honey/getRelativeCapLimit.ts +2 -1
- package/src/actions/honey/getSharesWithoutFees.ts +3 -2
- package/src/actions/honey/getSwapPayload.ts +3 -2
- package/src/actions/honey/isBadCollateralAsset.ts +3 -2
- package/src/actions/honey/isBasketModeEnabled.ts +3 -2
- package/src/actions/pol/getBgtTokenTotalBoosts.ts +2 -1
- package/src/actions/pol/getLSTStakeConfig.ts +2 -1
- package/src/actions/pol/getRewardTokenToBeraRate.ts +2 -1
- package/src/actions/pol/getRewardVaultBeaconImplementation.ts +2 -1
- package/src/actions/pol/getRewardVaultDurationConstants.ts +2 -1
- package/src/actions/pol/getRewardVaultFromToken.ts +2 -1
- package/src/actions/pol/getRewardVaultIncentives.ts +2 -1
- package/src/actions/pol/getRewardVaultRewards.ts +2 -1
- package/src/actions/pol/getRewardVaultStakingToken.ts +1 -1
- package/src/actions/pol/getRewardVaults.ts +2 -1
- package/src/actions/pol/getSWBeraVaultMetadata.ts +2 -1
- package/src/actions/pol/getSWBeraWithdrawal.ts +2 -1
- package/src/actions/pol/getStakeWithdrawalCooldown.ts +1 -1
- package/src/actions/pol/getTotalStakedAmount.ts +2 -1
- package/src/actions/pol/getUserVaults.ts +2 -1
- package/src/actions/pol/getUserVaultsBalance.ts +2 -1
- package/src/actions/pol/getUserVaultsReward.ts +1 -1
- package/src/actions/pol/getVaultsSupply.ts +1 -1
- package/src/actions/pyth/getHoneyPythFeeds.ts +2 -1
- package/src/actions/transactions/beraWriteContract.integration.test.ts +48 -51
- package/src/actions/validators/getActiveBoostAndCommissionChangeDelay.ts +3 -2
- package/src/actions/validators/getBaselineRewardAllocation.ts +2 -1
- package/src/actions/validators/getDefaultRewardAllocation.ts +2 -1
- package/src/actions/validators/getUserBoostsOnValidator.ts +2 -1
- package/src/actions/validators/getValidatorCommission.ts +2 -1
- package/src/actions/validators/getValidatorOperatorAddress.ts +2 -1
- package/src/actions/validators/getValidatorQueuedCommission.ts +2 -1
- package/src/actions/validators/getValidatorQueuedOperatorAddress.ts +2 -1
- package/src/actions/validators/getValidatorQueuedRewardAllocation.ts +2 -1
- package/src/actions/validators/getValidatorRewardAllocation.ts +2 -1
- package/src/actions/validators/getValidatorRewardAllocatorAddress.ts +2 -1
- package/src/actions/validators/utils/__tests__/validatorUtils.integration.test.ts +10 -11
- package/src/errors/getRevertReason.integration.test.ts +115 -107
- package/src/hooks/dex/useAggregatorsRouterFeeBps.ts +2 -1
- package/src/hooks/dex/useCreatePool.ts +2 -1
- package/src/hooks/dex/usePollPoolCreationRelayerApproval.ts +2 -1
- package/src/hooks/governance/useGetPastVotes.ts +2 -1
- package/src/hooks/governance/useHasVoted.ts +2 -1
- package/src/hooks/governance/useIsCanceller.ts +2 -1
- package/src/hooks/governance/usePollProposalThreshold.ts +2 -1
- package/src/hooks/governance/usePollUserDelegates.ts +2 -1
- package/src/hooks/governance/useProposalSnapshot.ts +2 -1
- package/src/hooks/governance/useProposalState.ts +2 -1
- package/src/hooks/governance/useProposalTimelockState.ts +5 -4
- package/src/hooks/pol/useBgtUnstakedBalance.ts +2 -1
- package/src/hooks/pol/useOnChainRewardVault.ts +2 -1
- package/src/hooks/pol/useRewardVaultBalanceFromStakingToken.ts +2 -1
- package/src/hooks/pol/useRewardVaultFromToken.ts +2 -1
- package/src/hooks/validators/useOnChainValidator.ts +4 -3
- package/dist/chunk-3YXSUBA5.mjs +0 -2
- package/dist/chunk-A4UDYSB6.mjs +0 -4
- package/dist/chunk-A4UDYSB6.mjs.map +0 -1
- package/dist/chunk-CYKCYPFR.cjs +0 -2
- package/dist/chunk-CYKCYPFR.cjs.map +0 -1
- package/dist/chunk-ECRMUMTA.mjs +0 -2
- package/dist/chunk-ECRMUMTA.mjs.map +0 -1
- package/dist/chunk-F4BKSBEM.mjs +0 -2
- package/dist/chunk-F4BKSBEM.mjs.map +0 -1
- package/dist/chunk-FL2N3XHK.cjs +0 -2
- package/dist/chunk-FL2N3XHK.cjs.map +0 -1
- package/dist/chunk-MUCEYO3E.cjs +0 -4
- package/dist/chunk-MUCEYO3E.cjs.map +0 -1
- package/dist/chunk-P2Q7CMUD.cjs +0 -2
- package/dist/chunk-P2Q7CMUD.cjs.map +0 -1
- package/dist/chunk-PKXAW6MO.cjs +0 -2
- package/dist/chunk-Q3SCM6WL.mjs +0 -2
- package/dist/chunk-Q3SCM6WL.mjs.map +0 -1
- package/dist/chunk-TEBJWAVU.mjs +0 -2
- package/dist/chunk-TEBJWAVU.mjs.map +0 -1
- package/dist/chunk-VP7XUOSI.cjs +0 -2
- package/dist/chunk-VP7XUOSI.cjs.map +0 -1
- package/dist/pythWrapper-CBjsmmsK.d.cts +0 -1958
- package/dist/pythWrapper-CBjsmmsK.d.ts +0 -1958
- package/src/abi/bend/metaMorpho.ts +0 -2584
- package/src/abi/bend/morpho.ts +0 -444
- package/src/abi/bex/aggregatorsRouter.ts +0 -492
- package/src/abi/bex/balancerComposableStablePoolFactoryV6.ts +0 -283
- package/src/abi/bex/balancerPoolCreationHelper.ts +0 -267
- package/src/abi/bex/balancerVault.ts +0 -757
- package/src/abi/governance/governance.ts +0 -1016
- package/src/abi/governance/governanceTimelock.ts +0 -589
- package/src/abi/honey/collateralVault.ts +0 -1144
- package/src/abi/honey/honey.ts +0 -563
- package/src/abi/honey/honeyFactory.ts +0 -1270
- package/src/abi/honey/honeyFactoryReader.ts +0 -894
- package/src/abi/honey/honeyRootOracle.ts +0 -492
- package/src/abi/honey/pythPriceOracle.ts +0 -619
- package/src/abi/honey/pythWrapper.ts +0 -446
- package/src/abi/pol/LSTStakerVault.ts +0 -2032
- package/src/abi/pol/beaconDeposit.ts +0 -595
- package/src/abi/pol/beraChef.ts +0 -1019
- package/src/abi/pol/bgt.ts +0 -1008
- package/src/abi/pol/bgtIncentiveDistributor.ts +0 -640
- package/src/abi/pol/bgtStaker.ts +0 -1034
- package/src/abi/pol/rewardAllocationFactory.ts +0 -408
- package/src/abi/pol/rewardVault.ts +0 -1928
- package/src/abi/pol/rewardVaultFactory.ts +0 -586
- package/src/abi/pol/rewardVaultHelper.ts +0 -882
- package/src/abi/pol/stakeBeraVault.ts +0 -1116
- package/src/abi/pol/stakeBeraVaultWithdrawalRequest.ts +0 -618
- package/src/abi/pol/wbera.ts +0 -366
|
@@ -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 _chunkOUD27MU7cjs = require('./chunk-OUD27MU7.cjs');var _chunk6LDOG5RLcjs = require('./chunk-6LDOG5RL.cjs');var _chunk7LNBSOVVcjs = require('./chunk-7LNBSOVV.cjs');var _chunkS3EAKCVMcjs = require('./chunk-S3EAKCVM.cjs');var _chunk22J3YJDNcjs = require('./chunk-22J3YJDN.cjs');var _chunkC6ZGUO4Hcjs = require('./chunk-C6ZGUO4H.cjs');var _viem = require('viem');var _metaMorphoV11 = require('@berachain/abis/bend-metamorpho/metaMorphoV11');async function yo({sharesAmount:e,vaultAddress:t,publicClient:r}){let a=await r.readContract({address:t,abi:_metaMorphoV11.metaMorphoV11Abi,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 me=class extends _client.ApolloClient{constructor(t){super(t),this.url=t.url}async query(t){let r=_t(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 _t(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 Kt(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 _(e,{ssrMode:t,inMemoryCacheOptions:r}={}){let a=_config.getUriFromLink.call(void 0, e),o=typeof e=="string"?void 0:e.headers;return new me({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 _(Kt(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 _(r.bend.whiskApi);case"honey.subgraph":return _(r.honey.subgraph);case"pol.subgraph":return _(r.pol.subgraph);case"governance.subgraph":return _(r.governance.subgraph);case"blocks.subgraph":return _(r.blocksSubgraph);case"bex.subgraph":return _(r.bex.subgraph)}}var _bignumberjs = require('@berachain/utils/pkg/bignumber.js'); var _bignumberjs2 = _interopRequireDefault(_bignumberjs);var Xe= (_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, _bignumberjs2.default)(t).times(r).dividedBy(1e4).toFixed(0,_bignumberjs2.default.ROUND_DOWN);return new (0, _bignumberjs2.default)(t).minus(a).toFixed(0,_bignumberjs2.default.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, _bignumberjs2.default)(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 _chunkS3EAKCVMcjs.b.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 rn({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 ln({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 pn(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 et({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 vn({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]}),et({publicClient:t,poolAddress:o})]),p=Number(u),A=JSON.parse(d),C,B,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"&&(B=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([B, 'optionalAccess', _7 => _7.map, 'call', _8 => _8(T=>_viem.formatEther.call(void 0, T))]),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 Nn({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 In({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 Wn({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 Y=({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]=Y({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=>Y({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 Rr=!1,_n= exports.p =[_governance.ProposalStatus.Active,_governance.ProposalStatus.PendingQueue,_governance.ProposalStatus.PendingExecution,_governance.ProposalStatus.Defeated,_governance.ProposalStatus.QuorumNotReached];function fe(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:Rr&&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 Yn({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:fe(d)}))}catch(n){throw console.error("getAllProposals:",n),n}}var Zn=(e,t)=>{let r={};return r.title=Y({fieldOrType:"title",value:e.title}),r.description=Y({fieldOrType:"description",value:e.description}),r.forumLink=Y({fieldOrType:"forumLink",value:e.forumLink,baseUrl:t.forumLink}),r};async function oi({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:fe(a.data.proposal)}}var _graymatter = require('gray-matter'); var _graymatter2 = _interopRequireDefault(_graymatter);var Gr=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")},st= 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=Gr(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}}};var _berachainGovernance = require('@berachain/abis/gov/berachainGovernance');async function pi(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:_berachainGovernance.berachainGovernanceAbi,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=st({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 yi({variables:e,...t}){return g("governance.subgraph",t).query({query:_governance.GetProposalVotes,variables:e})}var _honey = require('@berachain/graphql/honey');async function Ci({days:e,...t}){return(await g("honey.subgraph",t).query({query:_honey.GetChartData,variables:{interval:_honey.Aggregation_Interval.Day,first:e}})).data}var _honeyFactory = require('@berachain/abis/honey/honeyFactory');async function Vi({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:_honeyFactory.honeyFactoryAbi,functionName:"getWeights"});return t.reduce((l,n,s)=>Object.assign(l,{[n.address]:o[s]}),{})}catch(o){throw console.log(o),o}}async function lt({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 Re({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:_honeyFactory.honeyFactoryAbi,functionName:"numRegisteredAssets"}),e.readContract({address:o.honey.factory,abi:_honeyFactory.honeyFactoryAbi,functionName:"referenceCollateral"})]),n=[];for(let f=0;f<i;f++)n.push(e.readContract({address:o.honey.factory,abi:_honeyFactory.honeyFactoryAbi,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||lt({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}}var _honeyFactoryReader = require('@berachain/abis/honey/honeyFactoryReader');async function ct({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:_honeyFactory.honeyFactoryAbi,functionName:"isBadCollateralAsset",args:[t.address]}),n=e.readContract({address:i.honey.factory,abi:_honeyFactory.honeyFactoryAbi,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:_honeyFactoryReader.honeyFactoryReaderAbi,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}}var _collateralVault = require('@berachain/abis/honey/collateralVault');async function ae({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:_honeyFactory.honeyFactoryAbi,functionName:"vaults",args:[t]}),e.readContract({address:o.honey.factory,abi:_honeyFactory.honeyFactoryAbi,functionName:"collectedFees",args:[o.honey.factory,t]})]);return await e.readContract({address:i,abi:_collateralVault.collateralVaultAbi,functionName:"balanceOf",args:[o.honey.factory]})+_viem.parseEther.call(void 0, _nullishCoalesce(r, () => ("0")))-l}catch(i){throw console.log(i),i}}var Mr=_viem.parseEther.call(void 0, "1");async function Zi({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:_honeyFactory.honeyFactoryAbi,functionName:"globalCap"});if(s>=Mr)return!1;let[{collaterals:d},u]=await Promise.all([Re({client:e}),Hr({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-_chunkS3EAKCVMcjs.d)return!0;return!1}catch(s){throw console.log(s),s}}async function Hr({client:e,asset:t,amount:r,latestPrices:a,isPythWrapperEnabled:o}){let{collaterals:i}=await Re({client:e}),l=0n,n=[];for(let s of i){let d=await ct({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 ae({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 as({...e}={}){return(await g("honey.subgraph",e).query({query:_honey.GetGlobalData})).data}var Jr=(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))(Jr||{});async function ls({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:_honeyFactoryReader.honeyFactoryReaderAbi,functionName:o,args:f});m={collaterals:p[0],honey:p[1]}}else m={collaterals:await e.readContract({address:s.honey.reader,abi:_honeyFactoryReader.honeyFactoryReaderAbi,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 fs({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:_honeyFactory.honeyFactoryAbi,functionName:"vaults",args:[n.address]}),[d,u,[m,f]]=await Promise.all([e.readContract({address:s,abi:_collateralVault.collateralVaultAbi,functionName:"balanceOf",args:[i]}),e.readContract({address:i,abi:_honeyFactory.honeyFactoryAbi,functionName:"collectedAssetFees",args:[n.address]}),e.readContract({address:s,abi:_collateralVault.collateralVaultAbi,functionName:"custodyInfo"})]),b=await e.readContract({address:s,abi:_collateralVault.collateralVaultAbi,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 Yr="https://hermes.pyth.network";async function bt({priceFeedId:e}){let r=await new (0, _hermesclient.HermesClient)(Yr,{}).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 vs({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:_honeyFactory.honeyFactoryAbi,functionName:"relativeCap",args:[t]})]),[s,d]=await Promise.all([ae({client:e,asset:t,amount:a?r:void 0}),ae({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-_chunkS3EAKCVMcjs.d}catch(n){throw console.log(n),n}}async function yt({client:e,priceFeedId:t,...r}){let{config:a}=_chunk22J3YJDNcjs.a.call(void 0, r);try{return await e.readContract({address:a.external.pyth,abi:_chunkOUD27MU7cjs.a,functionName:"getUpdateFee",args:[t]})}catch(o){throw console.error("getPythUpdateFee",o),o}}var _honeyFactoryPythWrapper = require('@berachain/abis/honey/honeyFactoryPythWrapper');var Ds=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 bt({priceFeedId:Object.values(r)})).calldata,B=0n;try{B=await yt({client:t,priceFeedId:C})}catch (e5){B=_chunkS3EAKCVMcjs.j.call(void 0, u.length)}return({account:y})=>{let T=[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:_honeyFactoryPythWrapper.honeyFactoryPythWrapperAbi,functionName:p?"mint":"redeem",params:T,value:B}}}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:_honeyFactory.honeyFactoryAbi,functionName:p?"mint":"redeem",params:C}}}throw new Error("Something went wrong while creating the Honey swap payload")};async function Ms({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:_honeyFactoryReader.honeyFactoryReaderAbi,functionName:"isBasketModeEnabledWithPrices",args:[t,s]})}return await e.readContract({address:l.honey.factory,abi:_honeyFactory.honeyFactoryAbi,functionName:"isBasketModeEnabled",args:[t]})}async function $s({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:_chunkS3EAKCVMcjs.k.call(void 0, Date.now())+r*(Number(e)-Number(t))}}var _rewardVault = require('@berachain/abis/pol/rewards/rewardVault');var oa=(a=>(a.Duration="duration",a.TargetRate="targetRate",a.TargetApr="targetApr",a))(oa||{});async function Xs(e,t){let[r,a,o,i,l,n]=await Promise.all([t.readContract({address:e,abi:_rewardVault.rewardVaultAbi,functionName:"rewardsDuration"}),t.readContract({address:e,abi:_rewardVault.rewardVaultAbi,functionName:"rewardVaultManager"}),t.readContract({address:e,abi:_rewardVault.rewardVaultAbi,functionName:"rewardRate"}),t.readContract({address:e,abi:_rewardVault.rewardVaultAbi,functionName:"periodFinish"}),t.readContract({address:e,abi:_rewardVault.rewardVaultAbi,functionName:"targetRewardsPerSecond"}),t.readContract({address:e,abi:_rewardVault.rewardVaultAbi,functionName:"minRewardDurationForTargetRate"})]),s=o*(i-BigInt(_chunkS3EAKCVMcjs.k.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 ge(e,t,r){return e?r*t*_chunkS3EAKCVMcjs.x.call(void 0, 1)/e:null}function na(e,t,r){return r?e*r/(t*_chunkS3EAKCVMcjs.x.call(void 0, 1)):0}function tl({availableRewards:e,periodFinish:t,tvl:r,bgtPrice:a,MIN_REWARD_DURATION:o,MAX_REWARD_DURATION:i,...l}){let n=_chunkS3EAKCVMcjs.k.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=na(l.apr,a,r),m===0){let C=Math.min(b,i),B=e?e/C:0;return{apr:ge(r,a,B),duration:C,rewardRate:B,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:ge(r,a,C),duration:p,rewardRate:C,targetRate:C.toString(),periodFinish:p+n,mode:null}}return{apr:ge(r,a,m),duration:A,rewardRate:m,targetRate:m.toString(),periodFinish:A+n,mode:null}}let{duration:s}=l,d=e/s;return{apr:ge(r,a,d),mode:null,targetRate:null,duration:s,rewardRate:d,periodFinish:s+n}}async function nl({address:e,account:t,...r}){let{config:a}=_chunk22J3YJDNcjs.a.call(void 0, r),o=`${a.bonder}/vaults/${e}/earnings/${t}`;return _chunkS3EAKCVMcjs.c.call(void 0, {url:o,type:"rest"})}async function be({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:_rewardVault.rewardVaultAbi,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 ht(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}}var _bgt = require('@berachain/abis/pol/bgt');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:_bgt.bgtAbi,functionName:"totalBoosts",args:[]});return _viem.formatEther.call(void 0, a)}catch(a){throw console.log(a),a}}async function Ct({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 Pt(e){let{gaugeList:t}=await be({filter:{orderBy:_api3.GqlRewardVaultOrderBy.Apr,orderDirection:_api3.GqlRewardVaultOrderDirection.Desc,pageSize:e,where:{includeNonWhitelisted:!1}}});return t}async function Fl(e){let[t,r,a,o]=await Promise.allSettled([ht(),Pt(300),Ct({publicClient:e}),wt({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 Bt({...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()-_chunkS3EAKCVMcjs.q.call(void 0, 1))])).reduce((l,n)=>l+Number(n.payoutAmount),0);return{sumAllClaims:a,sumClaimsInLast24Hours:i}}return{sumAllClaims:0,sumClaimsInLast24Hours:0}}async function Ll(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 Jl({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 _chunkS3EAKCVMcjs.a.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()}var _wberaStakerVault = require('@berachain/abis/pol/wberaStakerVault');async function zl({address:e,publicClient:t}){return _chunk7LNBSOVVcjs.c.call(void 0, t),t.readContract({address:e,abi:_wberaStakerVault.wberaStakerVaultAbi,functionName:"previewRedeem",args:[_viem.parseUnits.call(void 0, "1",18)]}).then(r=>Number(_viem.formatUnits.call(void 0, r,18))).catch(()=>0)}async function au({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 cu({address:e,stakingToken:t,publicClient:r}){let a=await r.readContract({address:e,abi:_rewardVault.rewardVaultAbi,functionName:"getWhitelistedTokens"}),i=a.findIndex(n=>_berancersdk.isSameAddress.call(void 0, t,n))!==-1?await r.readContract({address:e,abi:_rewardVault.rewardVaultAbi,functionName:"totalSupply"}):0n,l=await Promise.allSettled(a.map(async n=>{let[s,d,u,m]=await Promise.all([r.readContract({address:e,abi:_rewardVault.rewardVaultAbi,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 pu({address:e,publicClient:t}){return await t.readContract({address:e,abi:_rewardVault.rewardVaultAbi,functionName:"stakeToken"})}function Ba(e){return e==="DAY"?_api3.GqlSWberaVaultMetadataResolution.OneDay:_api3.GqlSWberaVaultMetadataResolution.SevenDays}async function Au({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:Ba(_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 Bu({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 ne({publicClient:e,address:t}){let r=await e.readContract({address:t,abi:_wberaStakerVault.wberaStakerVaultAbi,functionName:"WITHDRAWAL_COOLDOWN"});return Number(r)}async function Fu({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,B,y,T]=await Promise.all([t.readContract({address:e,abi:_wberaStakerVault.wberaStakerVaultAbi,functionName:"totalAssets"}),t.readContract({address:e,abi:_wberaStakerVault.wberaStakerVaultAbi,functionName:"totalSupply"}),t.readContract({address:e,abi:_wberaStakerVault.wberaStakerVaultAbi,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:_wberaStakerVault.wberaStakerVaultAbi,functionName:"totalAssets",blockNumber:s}),t.readContract({address:e,abi:_viem.erc20Abi,functionName:"totalSupply",blockNumber:s}),t.readContract({address:e,abi:_wberaStakerVault.wberaStakerVaultAbi,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"}),ne({publicClient:t,address:e}),Bt({})]),k=new (0, _bignumberjs2.default)(A.toString());return{current:{exchangeRate:new (0, _bignumberjs2.default)(m.toString()).toString(),totalSupply:new (0, _bignumberjs2.default)(u.toString()).dividedBy(1e18).toString(),totalAssets:new (0, _bignumberjs2.default)(d.toString()).dividedBy(1e18).toString(),tvl:new (0, _bignumberjs2.default)(f.toString()).dividedBy(1e18).toString()},previous:{exchangeRate:k.toString(),totalSupply:new (0, _bignumberjs2.default)(p.toString()).dividedBy(1e18).toString(),totalAssets:new (0, _bignumberjs2.default)(b.toString()).dividedBy(1e18).toString(),tvl:new (0, _bignumberjs2.default)(C.toString()).dividedBy(1e18).toString()},totalWBeraIssued:new (0, _bignumberjs2.default)(B.toString()).dividedBy(1e18).toString(),lockPeriod:y,totalBuyBacks:T.sumAllClaims,totalBuyBacksInLast24Hours:T.sumClaimsInLast24Hours}}catch(l){throw console.error("Failed to get SW Bera Vault Metadata",l),l}}function Rt(e){let t=Date.now(),r=e*1e3-t;if(r<=0)return;let a=_chunkS3EAKCVMcjs.k.call(void 0, r);return _chunkS3EAKCVMcjs.A.call(void 0, a,!0,!0)}async function Lu({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=_chunkS3EAKCVMcjs.k.call(void 0, Date.now()),p=f-b;if(m>0){let A=Rt(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:_wberaStakerVault.wberaStakerVaultAbi,functionName:"withdrawalRequests",args:[t]}),ne({publicClient:r,address:e})]);return i(l,n),o}case"V2":{let[l,n]=await Promise.all([r.readContract({address:e,abi:_wberaStakerVault.wberaStakerVaultAbi,functionName:"getERC721WithdrawalRequestIds",args:[t]}),ne({publicClient:r,address:e})]);if(_chunk22J3YJDNcjs.e.call(void 0, e,"SWBERA")){let u=await r.readContract({address:e,abi:_wberaStakerVault.wberaStakerVaultAbi,functionName:"withdrawalRequests",args:[t]});i(u,n)}let d=(await Promise.all(l.map(async u=>{let m=await r.readContract({address:e,abi:_wberaStakerVault.wberaStakerVaultAbi,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=_chunkS3EAKCVMcjs.k.call(void 0, Date.now()),B=A-C;if(p>0){let y=Rt(B<=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 _u({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:_wberaStakerVault.wberaStakerVaultAbi,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 Yu({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 _chunkS3EAKCVMcjs.a.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 St({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:_rewardVault.rewardVaultAbi,functionName:"earned",args:[e]})}async function Nt({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:_rewardVault.rewardVaultAbi,functionName:"balanceOf",args:[e]}),r.readContract({address:t,abi:_rewardVault.rewardVaultAbi,functionName:"getTotalDelegateStaked",args:[e]})]);return{balance:a,delegated:o}}catch(a){throw console.log(a),a}}async function Gt({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:_rewardVault.rewardVaultAbi,functionName:"totalSupply",args:[]})}catch(r){throw console.log(r),r}}async function uc({account:e,vaultAddress:t,publicClient:r}){let[a,o,i]=await Promise.all([Nt({account:e,vaultAddress:t,publicClient:r}),St({account:e,vaultAddress:t,publicClient:r}),Gt({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 Ac({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:_rewardVault.rewardVaultAbi,functionName:"earned",args:[e]}))}),t.multicall({allowFailure:!1,contracts:l.map(b=>({address:b.vaultAddress,abi:_rewardVault.rewardVaultAbi,functionName:"balanceOf",args:[e]}))})]),{userVaults:d,total:u}=l.reduce((b,p,A)=>{let C=n[A],B=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||B>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, B,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),B=A/C;return b+B*Number(p.formattedBalance)},0),totalBgtRewards:_viem.formatUnits.call(void 0, u,18),vaults:m}}async function Bc({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 Sc({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:_chunkS3EAKCVMcjs.C.call(void 0, s.price.toString()),updatedAt:s.updatedAt,chainId:a},n[d.toLowerCase()]={price:_chunkS3EAKCVMcjs.C.call(void 0, s.price.toString()),updatedAt:s.updatedAt,chainId:a},_chunk22J3YJDNcjs.e.call(void 0, d,"WBERA")&&(n[_viem.zeroAddress]={price:_chunkS3EAKCVMcjs.C.call(void 0, s.price.toString()),updatedAt:s.updatedAt,chainId:a},n[r.tokens.bgt.toLowerCase()]={price:_chunkS3EAKCVMcjs.C.call(void 0, s.price.toString()),updatedAt:s.updatedAt,chainId:a},n[r.tokens.bgt]={price:_chunkS3EAKCVMcjs.C.call(void 0, s.price.toString()),updatedAt:s.updatedAt,chainId:a}),n},{})}var _core = require('@wagmi/core');async function Wc({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 Tt({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 Ya=_chunkS3EAKCVMcjs.l.call(void 0, 1),Et=(e,t)=>e*(100n+BigInt(t))/100n;function Ee({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 za(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 ld(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=za(p),errorsAbi:C=[],pollingInterval:B=Ya,...y}=e;_optionalChain([i, 'optionalCall', _101 => _101(e)]);let T="data"in y?y.data:void 0,k=[..._chunkC6ZGUO4Hcjs.c,...C,..."abi"in y&&y.abi&&Array.isArray(y.abi)?y.abi:[]],N=m;if(!u){_optionalChain([s, 'optionalCall', _102 => _102(new (0, _chunkC6ZGUO4Hcjs.h)({property:"wagmiConfig",value:u,expected:"Config"}),e)]);return}if(!(_optionalChain([N, 'optionalAccess', _103 => _103.account, 'optionalAccess', _104 => _104.type])==="local"))try{await _core.switchChain.call(void 0, u,{chainId:p})}catch(V){let G=V;_optionalChain([s, 'optionalCall', _105 => _105(new (0, _chunkC6ZGUO4Hcjs.f)({cause:G,displayMessage:"There was an error switching to the chain."}),e)]);return}if(!N)try{N=await _core.getWalletClient.call(void 0, u,{chainId:p})}catch(V){_optionalChain([s, 'optionalCall', _106 => _106(new (0, _chunkC6ZGUO4Hcjs.f)({cause:V,displayMessage:"There was an error connecting to the wallet."}),e)]);return}if(!N){_optionalChain([s, 'optionalCall', _107 => _107(new (0, _chunkC6ZGUO4Hcjs.h)({displayMessage:"There was an error connecting to the wallet.",property:"walletClient",value:N,expected:"WalletClient"}),e)]);return}let I=f||N.account;if(!I){_optionalChain([s, 'optionalCall', _108 => _108(new (0, _chunkC6ZGUO4Hcjs.h)({property:"account",value:I,expected:"Account"}),e)]);return}let se=typeof I=="string"?I:I.address,U=_core.getPublicClient.call(void 0, u,{chainId:p});try{_chunk7LNBSOVVcjs.c.call(void 0, U)}catch(V){_optionalChain([s, 'optionalCall', _109 => _109(V,e)]);return}if(A){let V=_chunkS3EAKCVMcjs.E.call(void 0, p);await V.impersonateAccount({address:se}),N=_viem.createWalletClient.call(void 0, {transport:_viem.http.call(void 0, V.transport.url),account:I,chain:N.chain})}let E,Z={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 V=U.getTransactionCount({address:se,blockTag:"latest"}).catch(()=>{}),G={account:se,to:t,address:t,chainId:p,value:a};if(r){let F=r.map(h=>{if("abi"in h&&Array.isArray(k)&&k.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 W="params"in h?h.params:void 0;return{to:h.address,abi:h.abi,functionName:h.functionName,args:W,value:_nullishCoalesce(h.value, () => (0n))}}return{to:h.address,value:_nullishCoalesce(h.value, () => (0n))}});if(e.enableSimulateCalls){let h=await U.simulateCalls({calls:F,account:I}),W=h.results.findIndex(L=>L.status==="failure");if(W!==-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 L=h.results[W],{reason:he}=L.data&&L.data!=="0x"?{reason:_chunkC6ZGUO4Hcjs.d.call(void 0, _viem.decodeErrorResult.call(void 0, {data:L.data,abi:k}))}:_chunkC6ZGUO4Hcjs.e.call(void 0, {error:L.error,revertIfUnknown:!1,abi:k});_optionalChain([s, 'optionalCall', _110 => _110(new (0, _chunk6LDOG5RLcjs.c)({cause:L.error,txHash:E,chainId:p,reason:he,abi:k,input:Z,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 D=await N.sendCalls({calls:F,account:I,forceAtomic:!0});_optionalChain([d, 'optionalCall', _111 => _111({id:D.id},e)]);let Q=await N.waitForCallsStatus({id:D.id,pollingInterval:B,timeout:b});if(Q.status==="success"){let h=_optionalChain([Q, '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:Q,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",Q),new (0, _chunk6LDOG5RLcjs.c)({cause:Q,level:"error",input:Z,txHash:E,abi:k,chainId:p})}if(T){let[F,D,Q]=await Promise.allSettled([U.call({...G,data:T}),_nullishCoalesce(o, () => (U.estimateGas({...G,data:T}))),V]);if(F.status==="rejected")throw F.reason;let h=D.status==="fulfilled"?Et(D.value,10):_chunkS3EAKCVMcjs.i;E=await N.sendTransaction({data:T,to:t,account:I,gas:h,chainId:p,nonce:Ee({nonceResult:Q,onWarning(W){_optionalChain([n, 'optionalCall', _115 => _115(W,e)])}}),value:a}),_optionalChain([d, 'optionalCall', _116 => _116({txHash:E},e)])}else if("abi"in y&&"functionName"in y){let{abi:F,functionName:D}=y,Q="params"in y?y.params:void 0,[h,W,L]=await Promise.allSettled([U.simulateContract({...G,abi:k,functionName:D,args:Q,account:I}),_nullishCoalesce(o, () => (U.estimateContractGas({...G,abi:k,functionName:D,args:Q}))),V]);if(h.status==="rejected")throw h.reason;let he=_nullishCoalesce(o, () => ((W.status==="fulfilled"?Et(W.value,10):_chunkS3EAKCVMcjs.i)));E=await N.writeContract({...h.value.request,chainId:p,gas:he,nonce:Ee({nonceResult:L,onWarning(Ut){_optionalChain([n, 'optionalCall', _117 => _117(Ut,e)])}})}),_optionalChain([d, 'optionalCall', _118 => _118({txHash:E},e)])}else{let[F]=await Promise.allSettled([V]);E=await N.sendTransaction({chainId:p,to:t,value:a,account:I,nonce:Ee({nonceResult:F,onWarning(D){_optionalChain([n, 'optionalCall', _119 => _119(D,e)])}})}),_optionalChain([d, 'optionalCall', _120 => _120({txHash:E},e)])}process.env.NODE_ENV==="test"&&await _chunkS3EAKCVMcjs.E.call(void 0, p).mine({blocks:1});let J=await U.waitForTransactionReceipt({hash:E,pollingInterval:B,timeout:b,confirmations:1});if(J.status==="success")_optionalChain([l, 'optionalCall', _121 => _121(J,e)]);else{let F=await Tt({publicClient:U,blockNumber:J.blockNumber,to:t,account:se,abi:k,args:"params"in y?y.params:void 0,functionName:"functionName"in y?y.functionName:void 0,value:a,data:T});process.env.NODE_ENV==="test"&&console.error("beraWriteContract: Revert reason",F),_optionalChain([s, 'optionalCall', _122 => _122(new (0, _chunk6LDOG5RLcjs.c)({reason:F.reason,txHash:E,receipt:J,to:t,functionName:"functionName"in y?y.functionName:void 0,input:Z,chainId:p,abi:k,blockNumber:J.blockNumber}),e)])}return J}catch(V){if(V instanceof _chunkC6ZGUO4Hcjs.f)_optionalChain([s, 'optionalCall', _123 => _123(V,e)]);else if(V instanceof Error){let G=_chunkC6ZGUO4Hcjs.e.call(void 0, {error:V,revertIfUnknown:!1,abi:k});if(G&&G.rootCause instanceof _viem.BaseError&&"url"in G.rootCause){_optionalChain([s, 'optionalCall', _124 => _124(new (0, _chunkC6ZGUO4Hcjs.g)({cause:G.rootCause,response:void 0,endpoint:{url:G.rootCause.url,type:"rpc"},statusCode:G.rootCause instanceof _viem.HttpRequestError?G.rootCause.status:void 0}),e)]);return}_optionalChain([s, 'optionalCall', _125 => _125(new (0, _chunk6LDOG5RLcjs.c)({cause:V,to:t,txHash:E,chainId:p,abi:k,functionName:"functionName"in y?y.functionName:void 0,input:Z}),e)])}else _optionalChain([s, 'optionalCall', _126 => _126(new (0, _chunk6LDOG5RLcjs.c)({cause:V,txHash:E,to:t,chainId:p,functionName:"functionName"in y?y.functionName:void 0,input:Z,abi:k}),e)])}}async function It({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 bd({allocation:e}){let t=await be({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 Cd({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 Vd({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}}var _beraChef = require('@berachain/abis/pol/rewards/beraChef');function X(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 ro(e,t){return e.start.blockNumber===t.start.blockNumber&&e.weights.every((r,a)=>r.percentage===t.weights[a].percentage)}async function Nd({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:_beraChef.beraChefAbi,functionName:"getActiveRewardAllocation",args:[t]}),e.readContract({address:a.pol.beraChef,abi:_beraChef.beraChefAbi,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=X(o,Number(l.timestamp)),d=X(i,Number(n.timestamp)),u=!1;return d.start.blockNumber===0?u=!0:u=!ro(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 Fd(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:_beraChef.beraChefAbi,functionName:"getDefaultRewardAllocation",args:[]});return X({...a,startBlock:0n},0)}async function Ud({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 Ld({client:e,valPubKey:t}){return 5614}async function Dt({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:_bgt.bgtAbi,functionName:"boosted",args:[e,t]}),r.readContract({address:o.tokens.bgt,abi:_bgt.bgtAbi,functionName:"boostedQueue",args:[e,t]}),r.readContract({address:o.tokens.bgt,abi:_bgt.bgtAbi,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 Qt({account:e,block:t,...r}){return await g("pol.subgraph",r).query({query:_subgraph3.GetUserValidatorInformation,variables:{address:e.toLowerCase(),block:t}})}async function tm({account:e,publicClient:t,chain:r,...a}){let{config:o}=_chunk22J3YJDNcjs.a.call(void 0, a),i=_nullishCoalesce(r, () => (o.bex.chainName)),l=await Qt({account:e}),[n,s]=await Promise.all([It({variables:{chain:i,where:{idIn:l.data.userValidatorInformations.map(d=>d.validator.id)}}}),t&&_chunkS3EAKCVMcjs.F.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=>Dt({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 io=[{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:_chunkS3EAKCVMcjs.k.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:_chunkS3EAKCVMcjs.k.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:_chunkS3EAKCVMcjs.k.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:_chunkS3EAKCVMcjs.k.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:_chunkS3EAKCVMcjs.k.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:_chunkS3EAKCVMcjs.k.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:_chunkS3EAKCVMcjs.k.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 om(e){return await new Promise(t=>setTimeout(t,2e3)),e==="0x4C368fFE3650379d6318C8d4630bc51f8Ad12bB6"?io:[]}async function um({pubkey:e,dayRange:t,...r}){return(await g("pol.subgraph",r).query({query:_subgraph3.GetValidatorAnalytics,variables:{pubKey:e,timestamp:_chunkS3EAKCVMcjs.y.call(void 0, t).toString()}})).data}async function pm({client:e,pubKey:t,...r}){let{config:a}=_chunk22J3YJDNcjs.a.call(void 0, r),o=await e.readContract({address:a.pol.beraChef,abi:_beraChef.beraChefAbi,functionName:"getValCommissionOnIncentiveTokens",args:[t]});return Number(_nullishCoalesce(o, () => (0n)))/1e4}var bm=(e,t,r)=>{if(!t||!e)return 0;let a=_chunkS3EAKCVMcjs.x.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")))};var _beaconDeposit = require('@berachain/abis/pol/beaconDeposit');async function wm({client:e,pubKey:t,...r}){let{config:a}=_chunk22J3YJDNcjs.a.call(void 0, r);try{return await e.readContract({address:a.depositContract,abi:_beaconDeposit.beaconDepositAbi,functionName:"getOperator",args:[t]})}catch(o){throw console.log("getValidatorOperatorAddress:",o),o}}async function vm({client:e,pubKey:t,...r}){let{config:a}=_chunk22J3YJDNcjs.a.call(void 0, r),o=await e.readContract({address:a.pol.beraChef,abi:_beraChef.beraChefAbi,functionName:"getValQueuedCommissionOnIncentiveTokens",args:[t]});return{blockNumberLast:o.blockNumberLast,commissionRate:Number(o.commissionRate)/1e4}}async function km({client:e,pubKey:t,...r}){let{config:a}=_chunk22J3YJDNcjs.a.call(void 0, r);try{return await e.readContract({address:a.depositContract,abi:_beaconDeposit.beaconDepositAbi,functionName:"queuedOperator",args:[t]})}catch(o){throw console.log("getValidatorQueuedOperatorAddress:",o),o}}async function Em({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:_beraChef.beraChefAbi,functionName:"getQueuedRewardAllocation",args:[t]});return X(o,0)}catch(o){throw console.log("getValidatorQueuedRewardAllocation:",o),o}}exports.a = yo; exports.b = me; exports.c = g; exports.d = _client.gql; exports.e = Xe; exports.f = _berancersdk.BalancerApi; exports.g = rn; exports.h = ln; exports.i = pn; exports.j = et; exports.k = vn; exports.l = Nn; exports.m = In; exports.n = Wn; exports.o = Y; exports.p = _n; exports.q = fe; exports.r = Yn; exports.s = Zn; exports.t = oi; exports.u = st; exports.v = pi; exports.w = yi; exports.x = Ci; exports.y = Vi; exports.z = lt; exports.A = Re; exports.B = ct; exports.C = Zi; exports.D = as; exports.E = Jr; exports.F = ls; exports.G = fs; exports.H = bt; exports.I = vs; exports.J = yt; exports.K = Ds; exports.L = Ms; exports.M = $s; exports.N = oa; exports.O = Xs; exports.P = tl; exports.Q = nl; exports.R = be; exports.S = Fl; exports.T = Bt; exports.U = Ll; exports.V = Jl; exports.W = zl; exports.X = au; exports.Y = cu; exports.Z = pu; exports._ = Au; exports.$ = Bu; exports.aa = ne; exports.ba = Fu; exports.ca = Lu; exports.da = _u; exports.ea = Yu; exports.fa = St; exports.ga = uc; exports.ha = Ac; exports.ia = Bc; exports.ja = Sc; exports.ka = Ic; exports.la = Wc; exports.ma = za; exports.na = ld; exports.oa = It; exports.pa = bd; exports.qa = Cd; exports.ra = Vd; exports.sa = X; exports.ta = ro; exports.ua = Nd; exports.va = Fd; exports.wa = Id; exports.xa = Ud; exports.ya = Ld; exports.za = Dt; exports.Aa = tm; exports.Ba = om; exports.Ca = um; exports.Da = pm; exports.Ea = bm; exports.Fa = wm; exports.Ga = vm; exports.Ha = km; exports.Ia = Em;
|
|
4
|
+
//# sourceMappingURL=chunk-4GU2O2OW.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/liammcaweeney/Work/bera/monobera/packages/berajs/dist/chunk-4GU2O2OW.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+CAAyC,wDAAyD,wDAAsE,wDAAwJ,wDAAgE,wDAA+E,4BCAlZ,8EAEX,MAQlD,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,+BAAAA,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;ACyBxC","file":"/Users/liammcaweeney/Work/bera/monobera/packages/berajs/dist/chunk-4GU2O2OW.cjs","sourcesContent":[null,"import { type Address, formatEther, type PublicClient } from \"viem\";\n\nimport { metaMorphoV11Abi as metaMorphoAbi } from \"@berachain/abis/bend-metamorpho/metaMorphoV11\";\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 { berachainGovernanceAbi as governanceAbi } from \"@berachain/abis/gov/berachainGovernance\";\n\nimport {\n type ExecutableCallSubsetFragment,\n ProposalStatus,\n type ProposalWithVotesFragment,\n} from \"@berachain/graphql/governance\";\n\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
|
+
import{g as y}from"./chunk-AX2YQQFQ.mjs";async function F(e){if(e.headers.get("content-type")?.includes("application/json"))return await e.json();{let t=await e.text();try{return JSON.parse(t)}catch{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 y({cause:r,response:t,endpoint:e})}return t}catch(t){throw t instanceof y?t:new y({cause:t,endpoint:e,response:void 0})}}async function ee(e,n){return(await C(e,{...n,headers:{Accept:"application/json",...n?.headers}})).json()}import{parseEther as P}from"viem";var re=P("0.005"),oe=1e5,se=1,ue=.1,ie=50,ae=7920027n;var ce=e=>2n*BigInt(e);function le(e){return Math.floor(e/1e3)}function O(e){return e*1e3}function V(e){return e*O(60)}function j(e){return e*60}function J(e){return e*V(60)}function q(e){return e*j(60)}function S(e){return e*J(24)}function w(e){return e*q(24)}function be(e){return e*S(7)}function pe(e){return e*w(7)}function de(e){return e*S(30)}function he(e){return e*w(30)}function ge(e){return e*S(365)}function Ne(e){return e*w(365)}function ye(e){let n=new Date;return n.setDate(n.getDate()-e)*1e3}var G=["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 Me(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}`:`${G[t.getMonth()]} ${r}${u}, ${t.getFullYear()}`}function Ie(...e){let n=e[0],t,r,u,l;if(typeof e[1]!="object")t=e[1]??!1,r=e[2]??!1,l=e[3]??!1,u=!0;else{let s=e[1];t=s.condensed??!1;let o=s.greaterUnit??"hours";o==="days"?(r=!0,u=!0):o==="hours"?(r=!1,u=!0,l=!1):(r=!1,u=!0),l=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 g=a>0?`${a}${t?"D":" day"}${!t&&a!==1?"s":""}`:"",N=i>0?`${i}${t?"H":" hour"}${!t&&i!==1?"s":""}`:"",M=c>0&&u||!a&&!i?`${c}${t?"M":" minute"}${!t&&c!==1?"s":""}`:"",I=m>0&&l?`${m}${t?"S":" second"}${!t&&m!==1?"s":""}`:"";return[g,N,M,I].filter(Boolean).join(t?" ":", ")}import A from"@berachain/utils/pkg/bignumber.js";var U=["","K","M","B","T","P","E","Z","Y"];function _(e){return e instanceof A?e:new A(e)}function X(e,n){return _(e).shiftedBy(n*-1)}function we(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:g="",suffixText:N="",showIsSmallerThanMin:M=!0,ifNullish:I=""}=n||{};if(e==null)return I;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=t??0;s===0?o=0:t===void 0&&(Math.abs(s)>1||u||m==="USD"?o=2:o=7);let D=10**-o,$=s!==0&&Math.abs(s)<Math.abs(D),R=s<0,L=c?Math.abs(s)>c:!1,p=$?D:s,T=r&&(!i||Math.abs(s)>i);l&&!T?p=Math.trunc(Number(p)*10**o)/10**o:a&&!T&&(p=Math.ceil(Number(p)*10**o)/10**o);let x;if(L)x=s>c?"\u221E":"-\u221E";else if(T){let d=_(p),b=d.abs().toFixed(0).length;i&&Math.abs(s)<=i&&(b=0);let E=Math.min(Math.floor(b?(b-1)/3:0),U.length-1),B=U[E],h=X(d,3*E).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)}${B}`}else{let d=new Intl.NumberFormat("en-US",{maximumFractionDigits:o,minimumFractionDigits:o}).format(Math.abs(p));x=`${R?"-":""}${d}`}let f=[];return g&&f.push(g),$&&M&&f.push(s<0?">":"<"),m?.toLowerCase()==="usd"&&!u&&f.push("$"),f.push(x),u&&f.push("%"),m?.toLowerCase()!=="usd"&&typeof m<"u"&&f.push(" ",m),N&&f.push(N),f.join("")}var De=e=>e?Number(e)>Number.MAX_SAFE_INTEGER?Number.MAX_SAFE_INTEGER:Number(e)??0:0,$e=(e,n)=>{if(!e)return"0";let[t="0",r="0"]=`${e}`.split(".");return`${t}.${r.substring(0,n)}`};import{createTestClient as Y,http as K}from"viem";import{defaultChainId as z,getRpcUrls as H}from"@berachain/config/internal";function Ue(e=z){let n=H(e);if(!n.isAnvil)throw new Error("No anvil RPC URL found");return Y({mode:"anvil",transport:K(n.jsonRpcUrl)})}function Re({lastBlockTimestamp:e,blockTime:n}){return e?e<Date.now()/1e3-n*10:!0}export{F as a,C as b,ee as c,re as d,oe as e,se as f,ue as g,ie as h,ae as i,ce as j,le as k,O as l,V as m,j as n,J as o,q as p,S as q,w as r,be as s,pe as t,de as u,he as v,ge as w,Ne as x,ye as y,Me as z,Ie as A,we as B,De as C,$e as D,Ue as E,Re as F};
|
|
2
|
+
//# sourceMappingURL=chunk-5XWELBWR.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/getErrorResponse.ts","../src/utils/beraFetch.ts","../src/utils/constants.ts","../src/utils/pythHoneyUtils.ts","../src/utils/time.ts","../src/utils/formatTimestamps.ts","../src/utils/formatNumber.ts","../src/utils/getTestClient.ts","../src/utils/isSubgraphStale.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 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","import BigNumber from \"@berachain/utils/pkg/bignumber.js\";\n\nexport type BigNumberValue = string | number | BigNumber;\n\nexport interface FormatNumberOptions {\n /** Number of visible decimal places */\n visibleDecimals?: number;\n /** Whether to use compact notation (K, M, B, etc.) */\n compact?: boolean;\n /** Show as percentage */\n percent?: boolean;\n /** Round down instead of normal rounding */\n roundDown?: boolean;\n /** Round up instead of normal rounding */\n roundUp?: boolean;\n /** Threshold above which compact notation is used */\n compactThreshold?: number;\n /** Maximum value to display (shows ∞ if exceeded) */\n maxValue?: number;\n /** Currency symbol (e.g., \"USD\" for $) */\n symbol?: string;\n /** Prefix text */\n prefixText?: string;\n /** Suffix text */\n suffixText?: string;\n /** Show \"< min\" or \"> min\" indicators for very small values */\n showIsSmallerThanMin?: boolean;\n /** Text to show if value is null/undefined */\n ifNullish?: string;\n}\n\nconst POSTFIXES = [\"\", \"K\", \"M\", \"B\", \"T\", \"P\", \"E\", \"Z\", \"Y\"];\n\nfunction valueToBigNumber(amount: BigNumberValue): BigNumber {\n if (amount instanceof BigNumber) return amount;\n return new BigNumber(amount);\n}\n\nfunction normalizeBN(n: BigNumberValue, decimals: number): BigNumber {\n return valueToBigNumber(n).shiftedBy(decimals * -1);\n}\n\nexport function formatNumber(\n value: BigNumberValue | undefined | null,\n options: FormatNumberOptions | number = {},\n): string {\n if (typeof options === \"number\") {\n const decimals = options;\n if (value === undefined || value === null) {\n return \"\";\n }\n\n if (typeof value === \"object\") {\n throw new Error(\"Value must be a number if using deprecated version\");\n }\n\n // Convert to string with up to 8 decimal places\n let formatted = Number(value).toFixed(decimals);\n // Remove trailing zeros and decimal point if not needed\n formatted = formatted.replace(/(\\.\\d*?[1-9])0+$|\\.0*$/, \"$1\");\n return formatted;\n }\n\n const {\n visibleDecimals,\n compact = true,\n percent = false,\n roundDown = false,\n roundUp = false,\n compactThreshold,\n maxValue,\n symbol,\n prefixText = \"\",\n suffixText = \"\",\n showIsSmallerThanMin = true,\n ifNullish = \"\",\n } = options || {};\n\n // Handle null/undefined values\n if (value === undefined || value === null) {\n return ifNullish;\n }\n\n const number = percent ? Number(value) * 100 : Number(value);\n\n // Handle special numeric values\n if (Number.isNaN(number)) {\n return \"NaN\";\n }\n if (number === Number.POSITIVE_INFINITY) {\n return \"Infinity\";\n }\n if (number === Number.NEGATIVE_INFINITY) {\n return \"-Infinity\";\n }\n\n // Determine decimal places\n let decimals: number = visibleDecimals ?? 0;\n if (number === 0) {\n decimals = 0;\n } else if (visibleDecimals === undefined) {\n if (Math.abs(number) > 1 || percent || symbol === \"USD\") {\n decimals = 2;\n } else {\n decimals = 7;\n }\n }\n\n const minValue = 10 ** -(decimals as number);\n const isSmallerThanMin =\n number !== 0 && Math.abs(number) < Math.abs(minValue);\n const isNegative = number < 0;\n const isBiggerThanMax = maxValue ? Math.abs(number) > maxValue : false;\n\n let formattedNumber = isSmallerThanMin ? minValue : number;\n const forceCompact =\n compact && (!compactThreshold || Math.abs(number) > compactThreshold);\n\n // Apply rounding for non-compact numbers\n if (roundDown && !forceCompact) {\n formattedNumber =\n Math.trunc(Number(formattedNumber) * 10 ** decimals) / 10 ** decimals;\n } else if (roundUp && !forceCompact) {\n formattedNumber =\n Math.ceil(Number(formattedNumber) * 10 ** decimals) / 10 ** decimals;\n }\n\n let formattedValue: string;\n\n if (isBiggerThanMax) {\n formattedValue = number > maxValue! ? \"∞\" : \"-∞\";\n } else if (!forceCompact) {\n const absFormatted = new Intl.NumberFormat(\"en-US\", {\n maximumFractionDigits: decimals,\n minimumFractionDigits: decimals,\n }).format(Math.abs(formattedNumber));\n formattedValue = `${isNegative ? \"-\" : \"\"}${absFormatted}`;\n } else {\n // Compact number formatting\n const bnValue = valueToBigNumber(formattedNumber);\n let integerPlaces = bnValue.abs().toFixed(0).length;\n if (compactThreshold && Math.abs(number) <= compactThreshold) {\n integerPlaces = 0;\n }\n\n const significantDigitsGroup = Math.min(\n Math.floor(integerPlaces ? (integerPlaces - 1) / 3 : 0),\n POSTFIXES.length - 1,\n );\n\n const postfix = POSTFIXES[significantDigitsGroup];\n let compactValue = normalizeBN(\n bnValue,\n 3 * significantDigitsGroup,\n ).toNumber();\n\n if (roundDown) {\n compactValue =\n Math.trunc(Number(compactValue) * 10 ** decimals) / 10 ** decimals;\n } else if (roundUp) {\n compactValue =\n Math.ceil(Number(compactValue) * 10 ** decimals) / 10 ** decimals;\n }\n\n const prefix = new Intl.NumberFormat(\"en-US\", {\n maximumFractionDigits: decimals,\n minimumFractionDigits: decimals,\n }).format(compactValue);\n\n formattedValue = `${prefix}${postfix}`;\n }\n\n // Build the final formatted string\n const parts: string[] = [];\n\n // Add prefix text\n if (prefixText) {\n parts.push(prefixText);\n }\n\n // Add smaller than indicator\n if (isSmallerThanMin && showIsSmallerThanMin) {\n parts.push(number < 0 ? \">\" : \"<\");\n }\n\n // Add USD symbol\n if (symbol?.toLowerCase() === \"usd\" && !percent) {\n parts.push(\"$\");\n }\n\n // Add the formatted number\n parts.push(formattedValue);\n\n // Add percentage symbol\n if (percent) {\n parts.push(\"%\");\n }\n\n // Add other symbols\n if (symbol?.toLowerCase() !== \"usd\" && typeof symbol !== \"undefined\") {\n parts.push(\" \", symbol);\n }\n\n // Add suffix text\n if (suffixText) {\n parts.push(suffixText);\n }\n\n return parts.join(\"\");\n}\nexport const getSafeNumber = (value: string | undefined): number => {\n if (!value) return 0;\n return Number(value) > Number.MAX_SAFE_INTEGER\n ? Number.MAX_SAFE_INTEGER\n : (Number(value) ?? 0);\n};\n\nexport const truncateDecimal = (\n value: string | number | undefined,\n maxDecimal: number,\n): string => {\n if (!value) return \"0\";\n const [integerPart = \"0\", decimalPart = \"0\"] = `${value}`.split(\".\");\n return `${integerPart}.${decimalPart.substring(0, maxDecimal)}`;\n};\n","import { createTestClient, http } from \"viem\";\n\nimport {\n type ChainId,\n defaultChainId,\n getRpcUrls,\n} from \"@berachain/config/internal\";\n\nexport function getTestClient(chainId: ChainId = defaultChainId) {\n const rpc = getRpcUrls(chainId);\n\n if (!rpc.isAnvil) {\n throw new Error(\"No anvil RPC URL found\");\n }\n return createTestClient({\n mode: \"anvil\",\n transport: http(rpc.jsonRpcUrl),\n });\n}\n","export function isSubgraphStale({\n lastBlockTimestamp,\n blockTime,\n}: {\n lastBlockTimestamp: number | null | undefined;\n blockTime: number;\n}) {\n if (!lastBlockTimestamp) return true;\n return lastBlockTimestamp < Date.now() / 1000 - blockTime * 10;\n}\n"],"mappings":"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","names":["getErrorResponse","response","text","beraFetch","endpoint","options","response","error","getErrorResponse","RequestError","beraFetchJson","parseEther","CAP_LIMIT_BUFFER","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","formatTimeLeft","args","timeLeftInSeconds","condensed","showDays","showMinutes","showSeconds","opts","greaterUnit","days","hours","minutes","seconds","daysDisplay","hoursDisplay","minutesDisplay","secondsDisplay","BigNumber","POSTFIXES","valueToBigNumber","amount","normalizeBN","n","decimals","formatNumber","value","options","formatted","visibleDecimals","compact","percent","roundDown","roundUp","compactThreshold","maxValue","symbol","prefixText","suffixText","showIsSmallerThanMin","ifNullish","number","minValue","isSmallerThanMin","isNegative","isBiggerThanMax","formattedNumber","forceCompact","formattedValue","bnValue","integerPlaces","significantDigitsGroup","postfix","compactValue","absFormatted","parts","getSafeNumber","truncateDecimal","maxDecimal","integerPart","decimalPart","createTestClient","http","defaultChainId","getRpcUrls","getTestClient","chainId","rpc","isSubgraphStale","lastBlockTimestamp","blockTime"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }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 _bignumberjs = require('@berachain/utils/pkg/bignumber.js'); var _bignumberjs2 = _interopRequireDefault(_bignumberjs);var g=(e,r,i,o)=>{if(!e||!r||!i||!o)return 0;let t=new (0, _bignumberjs2.default)(e).times(i),n=new (0, _bignumberjs2.default)(r).times(o);if(t.lt(.01)||n.lt(.01)||t.isZero()||n.isZero())return 0;let u=n.div(t);return Number(new (0, _bignumberjs2.default)(1).minus(u).toFixed())};exports.a = m; exports.b = d; exports.c = g;
|
|
2
|
+
//# sourceMappingURL=chunk-BS6K7HGH.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/liammcaweeney/Work/bera/monobera/packages/berajs/dist/chunk-BS6K7HGH.cjs","../src/utils/tokenWrapping.ts","../src/utils/math.ts"],"names":["wrapNativeToken","token","isToken","wBeraToken","wrapNativeTokens","tokens","computePriceImpact","tokenInPrice","tokenOutPrice","inAmount","outAmount","usdIn","BigNumber","usdOut","ratio"],"mappings":"AAAA,iOAA+C,SCM/BA,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,CCfA,0HAAsB,IAUTK,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,0BAAAA,CAAUL,CAAY,CAAA,CAAE,KAAA,CAAME,CAAQ,CAAA,CAClDI,CAAAA,CAAS,IAAID,0BAAAA,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,0BAAAA,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-BS6K7HGH.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
|
+
var e=[{type:"function",name:"getEmaPrice",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"price",type:"tuple",internalType:"struct PythStructs.Price",components:[{name:"price",type:"int64",internalType:"int64"},{name:"conf",type:"uint64",internalType:"uint64"},{name:"expo",type:"int32",internalType:"int32"},{name:"publishTime",type:"uint256",internalType:"uint256"}]}],stateMutability:"view"},{type:"function",name:"getEmaPriceNoOlderThan",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"},{name:"age",type:"uint256",internalType:"uint256"}],outputs:[{name:"price",type:"tuple",internalType:"struct PythStructs.Price",components:[{name:"price",type:"int64",internalType:"int64"},{name:"conf",type:"uint64",internalType:"uint64"},{name:"expo",type:"int32",internalType:"int32"},{name:"publishTime",type:"uint256",internalType:"uint256"}]}],stateMutability:"view"},{type:"function",name:"getEmaPriceUnsafe",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"price",type:"tuple",internalType:"struct PythStructs.Price",components:[{name:"price",type:"int64",internalType:"int64"},{name:"conf",type:"uint64",internalType:"uint64"},{name:"expo",type:"int32",internalType:"int32"},{name:"publishTime",type:"uint256",internalType:"uint256"}]}],stateMutability:"view"},{type:"function",name:"getPrice",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"price",type:"tuple",internalType:"struct PythStructs.Price",components:[{name:"price",type:"int64",internalType:"int64"},{name:"conf",type:"uint64",internalType:"uint64"},{name:"expo",type:"int32",internalType:"int32"},{name:"publishTime",type:"uint256",internalType:"uint256"}]}],stateMutability:"view"},{type:"function",name:"getPriceNoOlderThan",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"},{name:"age",type:"uint256",internalType:"uint256"}],outputs:[{name:"price",type:"tuple",internalType:"struct PythStructs.Price",components:[{name:"price",type:"int64",internalType:"int64"},{name:"conf",type:"uint64",internalType:"uint64"},{name:"expo",type:"int32",internalType:"int32"},{name:"publishTime",type:"uint256",internalType:"uint256"}]}],stateMutability:"view"},{type:"function",name:"getPriceUnsafe",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"price",type:"tuple",internalType:"struct PythStructs.Price",components:[{name:"price",type:"int64",internalType:"int64"},{name:"conf",type:"uint64",internalType:"uint64"},{name:"expo",type:"int32",internalType:"int32"},{name:"publishTime",type:"uint256",internalType:"uint256"}]}],stateMutability:"view"},{type:"function",name:"getUpdateFee",inputs:[{name:"updateData",type:"bytes[]",internalType:"bytes[]"}],outputs:[{name:"feeAmount",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"getValidTimePeriod",inputs:[],outputs:[{name:"validTimePeriod",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"parsePriceFeedUpdates",inputs:[{name:"updateData",type:"bytes[]",internalType:"bytes[]"},{name:"priceIds",type:"bytes32[]",internalType:"bytes32[]"},{name:"minPublishTime",type:"uint64",internalType:"uint64"},{name:"maxPublishTime",type:"uint64",internalType:"uint64"}],outputs:[{name:"priceFeeds",type:"tuple[]",internalType:"struct PythStructs.PriceFeed[]",components:[{name:"id",type:"bytes32",internalType:"bytes32"},{name:"price",type:"tuple",internalType:"struct PythStructs.Price",components:[{name:"price",type:"int64",internalType:"int64"},{name:"conf",type:"uint64",internalType:"uint64"},{name:"expo",type:"int32",internalType:"int32"},{name:"publishTime",type:"uint256",internalType:"uint256"}]},{name:"emaPrice",type:"tuple",internalType:"struct PythStructs.Price",components:[{name:"price",type:"int64",internalType:"int64"},{name:"conf",type:"uint64",internalType:"uint64"},{name:"expo",type:"int32",internalType:"int32"},{name:"publishTime",type:"uint256",internalType:"uint256"}]}]}],stateMutability:"payable"},{type:"function",name:"parsePriceFeedUpdatesUnique",inputs:[{name:"updateData",type:"bytes[]",internalType:"bytes[]"},{name:"priceIds",type:"bytes32[]",internalType:"bytes32[]"},{name:"minPublishTime",type:"uint64",internalType:"uint64"},{name:"maxPublishTime",type:"uint64",internalType:"uint64"}],outputs:[{name:"priceFeeds",type:"tuple[]",internalType:"struct PythStructs.PriceFeed[]",components:[{name:"id",type:"bytes32",internalType:"bytes32"},{name:"price",type:"tuple",internalType:"struct PythStructs.Price",components:[{name:"price",type:"int64",internalType:"int64"},{name:"conf",type:"uint64",internalType:"uint64"},{name:"expo",type:"int32",internalType:"int32"},{name:"publishTime",type:"uint256",internalType:"uint256"}]},{name:"emaPrice",type:"tuple",internalType:"struct PythStructs.Price",components:[{name:"price",type:"int64",internalType:"int64"},{name:"conf",type:"uint64",internalType:"uint64"},{name:"expo",type:"int32",internalType:"int32"},{name:"publishTime",type:"uint256",internalType:"uint256"}]}]}],stateMutability:"payable"},{type:"function",name:"updatePriceFeeds",inputs:[{name:"updateData",type:"bytes[]",internalType:"bytes[]"}],outputs:[],stateMutability:"payable"},{type:"function",name:"updatePriceFeedsIfNecessary",inputs:[{name:"updateData",type:"bytes[]",internalType:"bytes[]"},{name:"priceIds",type:"bytes32[]",internalType:"bytes32[]"},{name:"publishTimes",type:"uint64[]",internalType:"uint64[]"}],outputs:[],stateMutability:"payable"},{type:"event",name:"BatchPriceFeedUpdate",inputs:[{name:"chainId",type:"uint16",indexed:!1,internalType:"uint16"},{name:"sequenceNumber",type:"uint64",indexed:!1,internalType:"uint64"}],anonymous:!1},{type:"event",name:"PriceFeedUpdate",inputs:[{name:"id",type:"bytes32",indexed:!0,internalType:"bytes32"},{name:"publishTime",type:"uint64",indexed:!1,internalType:"uint64"},{name:"price",type:"int64",indexed:!1,internalType:"int64"},{name:"conf",type:"uint64",indexed:!1,internalType:"uint64"}],anonymous:!1}];export{e as a};
|
|
2
|
+
//# sourceMappingURL=chunk-NLVWRMGD.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/abi/pyth/pyth.ts"],"sourcesContent":["export const pythAbi = [\n {\n type: \"function\",\n name: \"getEmaPrice\",\n inputs: [\n {\n name: \"id\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"price\",\n type: \"tuple\",\n internalType: \"struct PythStructs.Price\",\n components: [\n {\n name: \"price\",\n type: \"int64\",\n internalType: \"int64\",\n },\n {\n name: \"conf\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"expo\",\n type: \"int32\",\n internalType: \"int32\",\n },\n {\n name: \"publishTime\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getEmaPriceNoOlderThan\",\n inputs: [\n {\n name: \"id\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"age\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n outputs: [\n {\n name: \"price\",\n type: \"tuple\",\n internalType: \"struct PythStructs.Price\",\n components: [\n {\n name: \"price\",\n type: \"int64\",\n internalType: \"int64\",\n },\n {\n name: \"conf\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"expo\",\n type: \"int32\",\n internalType: \"int32\",\n },\n {\n name: \"publishTime\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getEmaPriceUnsafe\",\n inputs: [\n {\n name: \"id\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"price\",\n type: \"tuple\",\n internalType: \"struct PythStructs.Price\",\n components: [\n {\n name: \"price\",\n type: \"int64\",\n internalType: \"int64\",\n },\n {\n name: \"conf\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"expo\",\n type: \"int32\",\n internalType: \"int32\",\n },\n {\n name: \"publishTime\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getPrice\",\n inputs: [\n {\n name: \"id\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"price\",\n type: \"tuple\",\n internalType: \"struct PythStructs.Price\",\n components: [\n {\n name: \"price\",\n type: \"int64\",\n internalType: \"int64\",\n },\n {\n name: \"conf\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"expo\",\n type: \"int32\",\n internalType: \"int32\",\n },\n {\n name: \"publishTime\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getPriceNoOlderThan\",\n inputs: [\n {\n name: \"id\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"age\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n outputs: [\n {\n name: \"price\",\n type: \"tuple\",\n internalType: \"struct PythStructs.Price\",\n components: [\n {\n name: \"price\",\n type: \"int64\",\n internalType: \"int64\",\n },\n {\n name: \"conf\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"expo\",\n type: \"int32\",\n internalType: \"int32\",\n },\n {\n name: \"publishTime\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getPriceUnsafe\",\n inputs: [\n {\n name: \"id\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"price\",\n type: \"tuple\",\n internalType: \"struct PythStructs.Price\",\n components: [\n {\n name: \"price\",\n type: \"int64\",\n internalType: \"int64\",\n },\n {\n name: \"conf\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"expo\",\n type: \"int32\",\n internalType: \"int32\",\n },\n {\n name: \"publishTime\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getUpdateFee\",\n inputs: [\n {\n name: \"updateData\",\n type: \"bytes[]\",\n internalType: \"bytes[]\",\n },\n ],\n outputs: [\n {\n name: \"feeAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getValidTimePeriod\",\n inputs: [],\n outputs: [\n {\n name: \"validTimePeriod\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"parsePriceFeedUpdates\",\n inputs: [\n {\n name: \"updateData\",\n type: \"bytes[]\",\n internalType: \"bytes[]\",\n },\n {\n name: \"priceIds\",\n type: \"bytes32[]\",\n internalType: \"bytes32[]\",\n },\n {\n name: \"minPublishTime\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"maxPublishTime\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n ],\n outputs: [\n {\n name: \"priceFeeds\",\n type: \"tuple[]\",\n internalType: \"struct PythStructs.PriceFeed[]\",\n components: [\n {\n name: \"id\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"price\",\n type: \"tuple\",\n internalType: \"struct PythStructs.Price\",\n components: [\n {\n name: \"price\",\n type: \"int64\",\n internalType: \"int64\",\n },\n {\n name: \"conf\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"expo\",\n type: \"int32\",\n internalType: \"int32\",\n },\n {\n name: \"publishTime\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n {\n name: \"emaPrice\",\n type: \"tuple\",\n internalType: \"struct PythStructs.Price\",\n components: [\n {\n name: \"price\",\n type: \"int64\",\n internalType: \"int64\",\n },\n {\n name: \"conf\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"expo\",\n type: \"int32\",\n internalType: \"int32\",\n },\n {\n name: \"publishTime\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n ],\n },\n ],\n stateMutability: \"payable\",\n },\n {\n type: \"function\",\n name: \"parsePriceFeedUpdatesUnique\",\n inputs: [\n {\n name: \"updateData\",\n type: \"bytes[]\",\n internalType: \"bytes[]\",\n },\n {\n name: \"priceIds\",\n type: \"bytes32[]\",\n internalType: \"bytes32[]\",\n },\n {\n name: \"minPublishTime\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"maxPublishTime\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n ],\n outputs: [\n {\n name: \"priceFeeds\",\n type: \"tuple[]\",\n internalType: \"struct PythStructs.PriceFeed[]\",\n components: [\n {\n name: \"id\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"price\",\n type: \"tuple\",\n internalType: \"struct PythStructs.Price\",\n components: [\n {\n name: \"price\",\n type: \"int64\",\n internalType: \"int64\",\n },\n {\n name: \"conf\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"expo\",\n type: \"int32\",\n internalType: \"int32\",\n },\n {\n name: \"publishTime\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n {\n name: \"emaPrice\",\n type: \"tuple\",\n internalType: \"struct PythStructs.Price\",\n components: [\n {\n name: \"price\",\n type: \"int64\",\n internalType: \"int64\",\n },\n {\n name: \"conf\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"expo\",\n type: \"int32\",\n internalType: \"int32\",\n },\n {\n name: \"publishTime\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n ],\n },\n ],\n stateMutability: \"payable\",\n },\n {\n type: \"function\",\n name: \"updatePriceFeeds\",\n inputs: [\n {\n name: \"updateData\",\n type: \"bytes[]\",\n internalType: \"bytes[]\",\n },\n ],\n outputs: [],\n stateMutability: \"payable\",\n },\n {\n type: \"function\",\n name: \"updatePriceFeedsIfNecessary\",\n inputs: [\n {\n name: \"updateData\",\n type: \"bytes[]\",\n internalType: \"bytes[]\",\n },\n {\n name: \"priceIds\",\n type: \"bytes32[]\",\n internalType: \"bytes32[]\",\n },\n {\n name: \"publishTimes\",\n type: \"uint64[]\",\n internalType: \"uint64[]\",\n },\n ],\n outputs: [],\n stateMutability: \"payable\",\n },\n {\n type: \"event\",\n name: \"BatchPriceFeedUpdate\",\n inputs: [\n {\n name: \"chainId\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"sequenceNumber\",\n type: \"uint64\",\n indexed: false,\n internalType: \"uint64\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"PriceFeedUpdate\",\n inputs: [\n {\n name: \"id\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"publishTime\",\n type: \"uint64\",\n indexed: false,\n internalType: \"uint64\",\n },\n {\n name: \"price\",\n type: \"int64\",\n indexed: false,\n internalType: \"int64\",\n },\n {\n name: \"conf\",\n type: \"uint64\",\n indexed: false,\n internalType: \"uint64\",\n },\n ],\n anonymous: false,\n },\n] as const;\n"],"mappings":"AAAO,IAAMA,EAAU,CACrB,CACE,KAAM,WACN,KAAM,cACN,OAAQ,CACN,CACE,KAAM,KACN,KAAM,UACN,aAAc,SAChB,CACF,EACA,QAAS,CACP,CACE,KAAM,QACN,KAAM,QACN,aAAc,2BACd,WAAY,CACV,CACE,KAAM,QACN,KAAM,QACN,aAAc,OAChB,EACA,CACE,KAAM,OACN,KAAM,SACN,aAAc,QAChB,EACA,CACE,KAAM,OACN,KAAM,QACN,aAAc,OAChB,EACA,CACE,KAAM,cACN,KAAM,UACN,aAAc,SAChB,CACF,CACF,CACF,EACA,gBAAiB,MACnB,EACA,CACE,KAAM,WACN,KAAM,yBACN,OAAQ,CACN,CACE,KAAM,KACN,KAAM,UACN,aAAc,SAChB,EACA,CACE,KAAM,MACN,KAAM,UACN,aAAc,SAChB,CACF,EACA,QAAS,CACP,CACE,KAAM,QACN,KAAM,QACN,aAAc,2BACd,WAAY,CACV,CACE,KAAM,QACN,KAAM,QACN,aAAc,OAChB,EACA,CACE,KAAM,OACN,KAAM,SACN,aAAc,QAChB,EACA,CACE,KAAM,OACN,KAAM,QACN,aAAc,OAChB,EACA,CACE,KAAM,cACN,KAAM,UACN,aAAc,SAChB,CACF,CACF,CACF,EACA,gBAAiB,MACnB,EACA,CACE,KAAM,WACN,KAAM,oBACN,OAAQ,CACN,CACE,KAAM,KACN,KAAM,UACN,aAAc,SAChB,CACF,EACA,QAAS,CACP,CACE,KAAM,QACN,KAAM,QACN,aAAc,2BACd,WAAY,CACV,CACE,KAAM,QACN,KAAM,QACN,aAAc,OAChB,EACA,CACE,KAAM,OACN,KAAM,SACN,aAAc,QAChB,EACA,CACE,KAAM,OACN,KAAM,QACN,aAAc,OAChB,EACA,CACE,KAAM,cACN,KAAM,UACN,aAAc,SAChB,CACF,CACF,CACF,EACA,gBAAiB,MACnB,EACA,CACE,KAAM,WACN,KAAM,WACN,OAAQ,CACN,CACE,KAAM,KACN,KAAM,UACN,aAAc,SAChB,CACF,EACA,QAAS,CACP,CACE,KAAM,QACN,KAAM,QACN,aAAc,2BACd,WAAY,CACV,CACE,KAAM,QACN,KAAM,QACN,aAAc,OAChB,EACA,CACE,KAAM,OACN,KAAM,SACN,aAAc,QAChB,EACA,CACE,KAAM,OACN,KAAM,QACN,aAAc,OAChB,EACA,CACE,KAAM,cACN,KAAM,UACN,aAAc,SAChB,CACF,CACF,CACF,EACA,gBAAiB,MACnB,EACA,CACE,KAAM,WACN,KAAM,sBACN,OAAQ,CACN,CACE,KAAM,KACN,KAAM,UACN,aAAc,SAChB,EACA,CACE,KAAM,MACN,KAAM,UACN,aAAc,SAChB,CACF,EACA,QAAS,CACP,CACE,KAAM,QACN,KAAM,QACN,aAAc,2BACd,WAAY,CACV,CACE,KAAM,QACN,KAAM,QACN,aAAc,OAChB,EACA,CACE,KAAM,OACN,KAAM,SACN,aAAc,QAChB,EACA,CACE,KAAM,OACN,KAAM,QACN,aAAc,OAChB,EACA,CACE,KAAM,cACN,KAAM,UACN,aAAc,SAChB,CACF,CACF,CACF,EACA,gBAAiB,MACnB,EACA,CACE,KAAM,WACN,KAAM,iBACN,OAAQ,CACN,CACE,KAAM,KACN,KAAM,UACN,aAAc,SAChB,CACF,EACA,QAAS,CACP,CACE,KAAM,QACN,KAAM,QACN,aAAc,2BACd,WAAY,CACV,CACE,KAAM,QACN,KAAM,QACN,aAAc,OAChB,EACA,CACE,KAAM,OACN,KAAM,SACN,aAAc,QAChB,EACA,CACE,KAAM,OACN,KAAM,QACN,aAAc,OAChB,EACA,CACE,KAAM,cACN,KAAM,UACN,aAAc,SAChB,CACF,CACF,CACF,EACA,gBAAiB,MACnB,EACA,CACE,KAAM,WACN,KAAM,eACN,OAAQ,CACN,CACE,KAAM,aACN,KAAM,UACN,aAAc,SAChB,CACF,EACA,QAAS,CACP,CACE,KAAM,YACN,KAAM,UACN,aAAc,SAChB,CACF,EACA,gBAAiB,MACnB,EACA,CACE,KAAM,WACN,KAAM,qBACN,OAAQ,CAAC,EACT,QAAS,CACP,CACE,KAAM,kBACN,KAAM,UACN,aAAc,SAChB,CACF,EACA,gBAAiB,MACnB,EACA,CACE,KAAM,WACN,KAAM,wBACN,OAAQ,CACN,CACE,KAAM,aACN,KAAM,UACN,aAAc,SAChB,EACA,CACE,KAAM,WACN,KAAM,YACN,aAAc,WAChB,EACA,CACE,KAAM,iBACN,KAAM,SACN,aAAc,QAChB,EACA,CACE,KAAM,iBACN,KAAM,SACN,aAAc,QAChB,CACF,EACA,QAAS,CACP,CACE,KAAM,aACN,KAAM,UACN,aAAc,iCACd,WAAY,CACV,CACE,KAAM,KACN,KAAM,UACN,aAAc,SAChB,EACA,CACE,KAAM,QACN,KAAM,QACN,aAAc,2BACd,WAAY,CACV,CACE,KAAM,QACN,KAAM,QACN,aAAc,OAChB,EACA,CACE,KAAM,OACN,KAAM,SACN,aAAc,QAChB,EACA,CACE,KAAM,OACN,KAAM,QACN,aAAc,OAChB,EACA,CACE,KAAM,cACN,KAAM,UACN,aAAc,SAChB,CACF,CACF,EACA,CACE,KAAM,WACN,KAAM,QACN,aAAc,2BACd,WAAY,CACV,CACE,KAAM,QACN,KAAM,QACN,aAAc,OAChB,EACA,CACE,KAAM,OACN,KAAM,SACN,aAAc,QAChB,EACA,CACE,KAAM,OACN,KAAM,QACN,aAAc,OAChB,EACA,CACE,KAAM,cACN,KAAM,UACN,aAAc,SAChB,CACF,CACF,CACF,CACF,CACF,EACA,gBAAiB,SACnB,EACA,CACE,KAAM,WACN,KAAM,8BACN,OAAQ,CACN,CACE,KAAM,aACN,KAAM,UACN,aAAc,SAChB,EACA,CACE,KAAM,WACN,KAAM,YACN,aAAc,WAChB,EACA,CACE,KAAM,iBACN,KAAM,SACN,aAAc,QAChB,EACA,CACE,KAAM,iBACN,KAAM,SACN,aAAc,QAChB,CACF,EACA,QAAS,CACP,CACE,KAAM,aACN,KAAM,UACN,aAAc,iCACd,WAAY,CACV,CACE,KAAM,KACN,KAAM,UACN,aAAc,SAChB,EACA,CACE,KAAM,QACN,KAAM,QACN,aAAc,2BACd,WAAY,CACV,CACE,KAAM,QACN,KAAM,QACN,aAAc,OAChB,EACA,CACE,KAAM,OACN,KAAM,SACN,aAAc,QAChB,EACA,CACE,KAAM,OACN,KAAM,QACN,aAAc,OAChB,EACA,CACE,KAAM,cACN,KAAM,UACN,aAAc,SAChB,CACF,CACF,EACA,CACE,KAAM,WACN,KAAM,QACN,aAAc,2BACd,WAAY,CACV,CACE,KAAM,QACN,KAAM,QACN,aAAc,OAChB,EACA,CACE,KAAM,OACN,KAAM,SACN,aAAc,QAChB,EACA,CACE,KAAM,OACN,KAAM,QACN,aAAc,OAChB,EACA,CACE,KAAM,cACN,KAAM,UACN,aAAc,SAChB,CACF,CACF,CACF,CACF,CACF,EACA,gBAAiB,SACnB,EACA,CACE,KAAM,WACN,KAAM,mBACN,OAAQ,CACN,CACE,KAAM,aACN,KAAM,UACN,aAAc,SAChB,CACF,EACA,QAAS,CAAC,EACV,gBAAiB,SACnB,EACA,CACE,KAAM,WACN,KAAM,8BACN,OAAQ,CACN,CACE,KAAM,aACN,KAAM,UACN,aAAc,SAChB,EACA,CACE,KAAM,WACN,KAAM,YACN,aAAc,WAChB,EACA,CACE,KAAM,eACN,KAAM,WACN,aAAc,UAChB,CACF,EACA,QAAS,CAAC,EACV,gBAAiB,SACnB,EACA,CACE,KAAM,QACN,KAAM,uBACN,OAAQ,CACN,CACE,KAAM,UACN,KAAM,SACN,QAAS,GACT,aAAc,QAChB,EACA,CACE,KAAM,iBACN,KAAM,SACN,QAAS,GACT,aAAc,QAChB,CACF,EACA,UAAW,EACb,EACA,CACE,KAAM,QACN,KAAM,kBACN,OAAQ,CACN,CACE,KAAM,KACN,KAAM,UACN,QAAS,GACT,aAAc,SAChB,EACA,CACE,KAAM,cACN,KAAM,SACN,QAAS,GACT,aAAc,QAChB,EACA,CACE,KAAM,QACN,KAAM,QACN,QAAS,GACT,aAAc,OAChB,EACA,CACE,KAAM,OACN,KAAM,SACN,QAAS,GACT,aAAc,QAChB,CACF,EACA,UAAW,EACb,CACF","names":["pythAbi"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var e=[{type:"function",name:"getEmaPrice",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"price",type:"tuple",internalType:"struct PythStructs.Price",components:[{name:"price",type:"int64",internalType:"int64"},{name:"conf",type:"uint64",internalType:"uint64"},{name:"expo",type:"int32",internalType:"int32"},{name:"publishTime",type:"uint256",internalType:"uint256"}]}],stateMutability:"view"},{type:"function",name:"getEmaPriceNoOlderThan",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"},{name:"age",type:"uint256",internalType:"uint256"}],outputs:[{name:"price",type:"tuple",internalType:"struct PythStructs.Price",components:[{name:"price",type:"int64",internalType:"int64"},{name:"conf",type:"uint64",internalType:"uint64"},{name:"expo",type:"int32",internalType:"int32"},{name:"publishTime",type:"uint256",internalType:"uint256"}]}],stateMutability:"view"},{type:"function",name:"getEmaPriceUnsafe",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"price",type:"tuple",internalType:"struct PythStructs.Price",components:[{name:"price",type:"int64",internalType:"int64"},{name:"conf",type:"uint64",internalType:"uint64"},{name:"expo",type:"int32",internalType:"int32"},{name:"publishTime",type:"uint256",internalType:"uint256"}]}],stateMutability:"view"},{type:"function",name:"getPrice",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"price",type:"tuple",internalType:"struct PythStructs.Price",components:[{name:"price",type:"int64",internalType:"int64"},{name:"conf",type:"uint64",internalType:"uint64"},{name:"expo",type:"int32",internalType:"int32"},{name:"publishTime",type:"uint256",internalType:"uint256"}]}],stateMutability:"view"},{type:"function",name:"getPriceNoOlderThan",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"},{name:"age",type:"uint256",internalType:"uint256"}],outputs:[{name:"price",type:"tuple",internalType:"struct PythStructs.Price",components:[{name:"price",type:"int64",internalType:"int64"},{name:"conf",type:"uint64",internalType:"uint64"},{name:"expo",type:"int32",internalType:"int32"},{name:"publishTime",type:"uint256",internalType:"uint256"}]}],stateMutability:"view"},{type:"function",name:"getPriceUnsafe",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"price",type:"tuple",internalType:"struct PythStructs.Price",components:[{name:"price",type:"int64",internalType:"int64"},{name:"conf",type:"uint64",internalType:"uint64"},{name:"expo",type:"int32",internalType:"int32"},{name:"publishTime",type:"uint256",internalType:"uint256"}]}],stateMutability:"view"},{type:"function",name:"getUpdateFee",inputs:[{name:"updateData",type:"bytes[]",internalType:"bytes[]"}],outputs:[{name:"feeAmount",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"getValidTimePeriod",inputs:[],outputs:[{name:"validTimePeriod",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"parsePriceFeedUpdates",inputs:[{name:"updateData",type:"bytes[]",internalType:"bytes[]"},{name:"priceIds",type:"bytes32[]",internalType:"bytes32[]"},{name:"minPublishTime",type:"uint64",internalType:"uint64"},{name:"maxPublishTime",type:"uint64",internalType:"uint64"}],outputs:[{name:"priceFeeds",type:"tuple[]",internalType:"struct PythStructs.PriceFeed[]",components:[{name:"id",type:"bytes32",internalType:"bytes32"},{name:"price",type:"tuple",internalType:"struct PythStructs.Price",components:[{name:"price",type:"int64",internalType:"int64"},{name:"conf",type:"uint64",internalType:"uint64"},{name:"expo",type:"int32",internalType:"int32"},{name:"publishTime",type:"uint256",internalType:"uint256"}]},{name:"emaPrice",type:"tuple",internalType:"struct PythStructs.Price",components:[{name:"price",type:"int64",internalType:"int64"},{name:"conf",type:"uint64",internalType:"uint64"},{name:"expo",type:"int32",internalType:"int32"},{name:"publishTime",type:"uint256",internalType:"uint256"}]}]}],stateMutability:"payable"},{type:"function",name:"parsePriceFeedUpdatesUnique",inputs:[{name:"updateData",type:"bytes[]",internalType:"bytes[]"},{name:"priceIds",type:"bytes32[]",internalType:"bytes32[]"},{name:"minPublishTime",type:"uint64",internalType:"uint64"},{name:"maxPublishTime",type:"uint64",internalType:"uint64"}],outputs:[{name:"priceFeeds",type:"tuple[]",internalType:"struct PythStructs.PriceFeed[]",components:[{name:"id",type:"bytes32",internalType:"bytes32"},{name:"price",type:"tuple",internalType:"struct PythStructs.Price",components:[{name:"price",type:"int64",internalType:"int64"},{name:"conf",type:"uint64",internalType:"uint64"},{name:"expo",type:"int32",internalType:"int32"},{name:"publishTime",type:"uint256",internalType:"uint256"}]},{name:"emaPrice",type:"tuple",internalType:"struct PythStructs.Price",components:[{name:"price",type:"int64",internalType:"int64"},{name:"conf",type:"uint64",internalType:"uint64"},{name:"expo",type:"int32",internalType:"int32"},{name:"publishTime",type:"uint256",internalType:"uint256"}]}]}],stateMutability:"payable"},{type:"function",name:"updatePriceFeeds",inputs:[{name:"updateData",type:"bytes[]",internalType:"bytes[]"}],outputs:[],stateMutability:"payable"},{type:"function",name:"updatePriceFeedsIfNecessary",inputs:[{name:"updateData",type:"bytes[]",internalType:"bytes[]"},{name:"priceIds",type:"bytes32[]",internalType:"bytes32[]"},{name:"publishTimes",type:"uint64[]",internalType:"uint64[]"}],outputs:[],stateMutability:"payable"},{type:"event",name:"BatchPriceFeedUpdate",inputs:[{name:"chainId",type:"uint16",indexed:!1,internalType:"uint16"},{name:"sequenceNumber",type:"uint64",indexed:!1,internalType:"uint64"}],anonymous:!1},{type:"event",name:"PriceFeedUpdate",inputs:[{name:"id",type:"bytes32",indexed:!0,internalType:"bytes32"},{name:"publishTime",type:"uint64",indexed:!1,internalType:"uint64"},{name:"price",type:"int64",indexed:!1,internalType:"int64"},{name:"conf",type:"uint64",indexed:!1,internalType:"uint64"}],anonymous:!1}];exports.a = e;
|
|
2
|
+
//# sourceMappingURL=chunk-OUD27MU7.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/abi/pyth/pyth.ts"],"names":["pythAbi"],"mappings":"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","file":"/Users/liammcaweeney/Work/bera/monobera/packages/berajs/dist/chunk-OUD27MU7.cjs","sourcesContent":["export const pythAbi = [\n {\n type: \"function\",\n name: \"getEmaPrice\",\n inputs: [\n {\n name: \"id\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"price\",\n type: \"tuple\",\n internalType: \"struct PythStructs.Price\",\n components: [\n {\n name: \"price\",\n type: \"int64\",\n internalType: \"int64\",\n },\n {\n name: \"conf\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"expo\",\n type: \"int32\",\n internalType: \"int32\",\n },\n {\n name: \"publishTime\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getEmaPriceNoOlderThan\",\n inputs: [\n {\n name: \"id\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"age\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n outputs: [\n {\n name: \"price\",\n type: \"tuple\",\n internalType: \"struct PythStructs.Price\",\n components: [\n {\n name: \"price\",\n type: \"int64\",\n internalType: \"int64\",\n },\n {\n name: \"conf\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"expo\",\n type: \"int32\",\n internalType: \"int32\",\n },\n {\n name: \"publishTime\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getEmaPriceUnsafe\",\n inputs: [\n {\n name: \"id\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"price\",\n type: \"tuple\",\n internalType: \"struct PythStructs.Price\",\n components: [\n {\n name: \"price\",\n type: \"int64\",\n internalType: \"int64\",\n },\n {\n name: \"conf\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"expo\",\n type: \"int32\",\n internalType: \"int32\",\n },\n {\n name: \"publishTime\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getPrice\",\n inputs: [\n {\n name: \"id\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"price\",\n type: \"tuple\",\n internalType: \"struct PythStructs.Price\",\n components: [\n {\n name: \"price\",\n type: \"int64\",\n internalType: \"int64\",\n },\n {\n name: \"conf\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"expo\",\n type: \"int32\",\n internalType: \"int32\",\n },\n {\n name: \"publishTime\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getPriceNoOlderThan\",\n inputs: [\n {\n name: \"id\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"age\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n outputs: [\n {\n name: \"price\",\n type: \"tuple\",\n internalType: \"struct PythStructs.Price\",\n components: [\n {\n name: \"price\",\n type: \"int64\",\n internalType: \"int64\",\n },\n {\n name: \"conf\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"expo\",\n type: \"int32\",\n internalType: \"int32\",\n },\n {\n name: \"publishTime\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getPriceUnsafe\",\n inputs: [\n {\n name: \"id\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"price\",\n type: \"tuple\",\n internalType: \"struct PythStructs.Price\",\n components: [\n {\n name: \"price\",\n type: \"int64\",\n internalType: \"int64\",\n },\n {\n name: \"conf\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"expo\",\n type: \"int32\",\n internalType: \"int32\",\n },\n {\n name: \"publishTime\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getUpdateFee\",\n inputs: [\n {\n name: \"updateData\",\n type: \"bytes[]\",\n internalType: \"bytes[]\",\n },\n ],\n outputs: [\n {\n name: \"feeAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getValidTimePeriod\",\n inputs: [],\n outputs: [\n {\n name: \"validTimePeriod\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"parsePriceFeedUpdates\",\n inputs: [\n {\n name: \"updateData\",\n type: \"bytes[]\",\n internalType: \"bytes[]\",\n },\n {\n name: \"priceIds\",\n type: \"bytes32[]\",\n internalType: \"bytes32[]\",\n },\n {\n name: \"minPublishTime\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"maxPublishTime\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n ],\n outputs: [\n {\n name: \"priceFeeds\",\n type: \"tuple[]\",\n internalType: \"struct PythStructs.PriceFeed[]\",\n components: [\n {\n name: \"id\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"price\",\n type: \"tuple\",\n internalType: \"struct PythStructs.Price\",\n components: [\n {\n name: \"price\",\n type: \"int64\",\n internalType: \"int64\",\n },\n {\n name: \"conf\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"expo\",\n type: \"int32\",\n internalType: \"int32\",\n },\n {\n name: \"publishTime\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n {\n name: \"emaPrice\",\n type: \"tuple\",\n internalType: \"struct PythStructs.Price\",\n components: [\n {\n name: \"price\",\n type: \"int64\",\n internalType: \"int64\",\n },\n {\n name: \"conf\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"expo\",\n type: \"int32\",\n internalType: \"int32\",\n },\n {\n name: \"publishTime\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n ],\n },\n ],\n stateMutability: \"payable\",\n },\n {\n type: \"function\",\n name: \"parsePriceFeedUpdatesUnique\",\n inputs: [\n {\n name: \"updateData\",\n type: \"bytes[]\",\n internalType: \"bytes[]\",\n },\n {\n name: \"priceIds\",\n type: \"bytes32[]\",\n internalType: \"bytes32[]\",\n },\n {\n name: \"minPublishTime\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"maxPublishTime\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n ],\n outputs: [\n {\n name: \"priceFeeds\",\n type: \"tuple[]\",\n internalType: \"struct PythStructs.PriceFeed[]\",\n components: [\n {\n name: \"id\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"price\",\n type: \"tuple\",\n internalType: \"struct PythStructs.Price\",\n components: [\n {\n name: \"price\",\n type: \"int64\",\n internalType: \"int64\",\n },\n {\n name: \"conf\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"expo\",\n type: \"int32\",\n internalType: \"int32\",\n },\n {\n name: \"publishTime\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n {\n name: \"emaPrice\",\n type: \"tuple\",\n internalType: \"struct PythStructs.Price\",\n components: [\n {\n name: \"price\",\n type: \"int64\",\n internalType: \"int64\",\n },\n {\n name: \"conf\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"expo\",\n type: \"int32\",\n internalType: \"int32\",\n },\n {\n name: \"publishTime\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n ],\n },\n ],\n stateMutability: \"payable\",\n },\n {\n type: \"function\",\n name: \"updatePriceFeeds\",\n inputs: [\n {\n name: \"updateData\",\n type: \"bytes[]\",\n internalType: \"bytes[]\",\n },\n ],\n outputs: [],\n stateMutability: \"payable\",\n },\n {\n type: \"function\",\n name: \"updatePriceFeedsIfNecessary\",\n inputs: [\n {\n name: \"updateData\",\n type: \"bytes[]\",\n internalType: \"bytes[]\",\n },\n {\n name: \"priceIds\",\n type: \"bytes32[]\",\n internalType: \"bytes32[]\",\n },\n {\n name: \"publishTimes\",\n type: \"uint64[]\",\n internalType: \"uint64[]\",\n },\n ],\n outputs: [],\n stateMutability: \"payable\",\n },\n {\n type: \"event\",\n name: \"BatchPriceFeedUpdate\",\n inputs: [\n {\n name: \"chainId\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"sequenceNumber\",\n type: \"uint64\",\n indexed: false,\n internalType: \"uint64\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"PriceFeedUpdate\",\n inputs: [\n {\n name: \"id\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"publishTime\",\n type: \"uint64\",\n indexed: false,\n internalType: \"uint64\",\n },\n {\n name: \"price\",\n type: \"int64\",\n indexed: false,\n internalType: \"int64\",\n },\n {\n name: \"conf\",\n type: \"uint64\",\n indexed: false,\n internalType: \"uint64\",\n },\n ],\n anonymous: false,\n },\n] as const;\n"]}
|