@berachain/berajs 0.2.4 → 0.2.5

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.
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); 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; }var _chunk4GU2O2OWcjs = require('../chunk-4GU2O2OW.cjs');require('../chunk-OUD27MU7.cjs');var _chunkFCWDGE62cjs = require('../chunk-FCWDGE62.cjs');require('../chunk-OIYXOKTT.cjs');require('../chunk-WRFDB3QJ.cjs');require('../chunk-6LDOG5RL.cjs');var _chunk7LNBSOVVcjs = require('../chunk-7LNBSOVV.cjs');var _chunkS3EAKCVMcjs = require('../chunk-S3EAKCVM.cjs');var _chunk22J3YJDNcjs = require('../chunk-22J3YJDN.cjs');require('../chunk-C6ZGUO4H.cjs');var _viem = require('viem');var _metaMorphoV11 = require('@berachain/abis/bend-metamorpho/metaMorphoV11');async function Et({vaultAddress:e,publicClient:t}){let r=await t.readContract({address:e,abi:_metaMorphoV11.metaMorphoV11Abi,functionName:"maxDeposit",args:[e]});return _viem.formatEther.call(void 0, r)}var _berancersdk = require('@berachain-foundation/berancer-sdk');var Lt=e=>({type:_berancersdk.mapPoolType.call(void 0, e.type),protocolVersion:e.protocolVersion,tokens:e.tokens.map(t=>({...t,address:t.address})),id:e.id,address:e.address});var _vault = require('@berachain/abis/bex/vault');async function Xt({publicClient:e,...t}){let{config:r}=_chunk22J3YJDNcjs.a.call(void 0, t);return(await e.readContract({address:r.bex.vault,abi:_vault.vaultAbi,functionName:"getPausedState"}))[0]}var _internal = require('@berachain/config/internal');var _beraChef = require('@berachain/abis/pol/rewards/beraChef');var _rewardVault = require('@berachain/abis/pol/rewards/rewardVault');function q(e){return e.some(t=>t.name==="implementation"||t.name==="proxyType"||t.type==="constructor"&&_optionalChain([t, 'access', _2 => _2.inputs, 'optionalAccess', _3 => _3[0], 'optionalAccess', _4 => _4.name])==="implementation")}async function N({contractAddress:e,chainId:t,publicClient:r}){let o=`https://api.etherscan.io/v2/api?module=contract&action=getabi&address=${e}&apikey=${_internal.appConfig.apiKeys.private.etherscan}&chainId=${t}`,a=await fetch(o);if(!a.ok)throw new Error(`Failed to fetch ABI: ${a.statusText}`);let n=await a.json();if(n.status==="0")throw new Error(n.result);let p=JSON.parse(n.result);if(!q(p))return p;let i=await r.getStorageAt({address:e,slot:"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc"});if(!i||_viem.trim.call(void 0, i)==="0x00")return p;let s=_viem.pad.call(void 0, _viem.trim.call(void 0, i),{size:20});return N({contractAddress:s,chainId:t,publicClient:r})}async function L({address:e,callData:t,knownAbi:r,chainId:o,publicClient:a}){try{if(_viem.decodeFunctionData.call(void 0, {data:t,abi:r}))return r}catch (e2){}try{return await N({contractAddress:e,chainId:o,publicClient:a})}catch (e3){}}function U(e,t){try{return _viem.decodeFunctionData.call(void 0, {data:e,abi:t})}catch (e4){return}}function Q(e,t){return e.find(r=>r.type==="function"&&r.name===t)}function z(e){if(e)try{return _viem.toFunctionSignature.call(void 0, e)}catch(t){console.error(t)}}async function tr({address:e,callData:t,chainId:r=_internal.defaultChainId,publicClient:o}){let a=[..._beraChef.beraChefAbi,..._rewardVault.rewardVaultAbi,..._viem.erc20Abi],n=await L({address:e,callData:t,knownAbi:a,chainId:r,publicClient:o}),p=U(t,n);if(!n||!p)return{args:[]};let i=Q(n,p.functionName),s=z(i);return{abiItem:i,functionSignature:s,functionName:p.functionName,args:p.args}}var _honeyFactory = require('@berachain/abis/honey/honeyFactory');async function ir({client:e,collateralList:t,...r}){let{config:o}=_chunk22J3YJDNcjs.a.call(void 0, r);try{let a={mint:[],redeem:[]};for(let s of t)a.mint.push(e.readContract({address:o.honey.factory,abi:_honeyFactory.honeyFactoryAbi,functionName:"mintRates",args:[s.address]})),a.redeem.push(e.readContract({address:o.honey.factory,abi:_honeyFactory.honeyFactoryAbi,functionName:"redeemRates",args:[s.address]}));let[n,p,i]=await Promise.all([Promise.all(a.mint),Promise.all(a.redeem),e.readContract({address:o.honey.factory,abi:_honeyFactory.honeyFactoryAbi,functionName:"getWeights"})]);return t.reduce((s,d)=>{let c=t.indexOf(d);return s.single[d.address]={mintFee:1-+_viem.formatUnits.call(void 0, n[c],18),redeemFee:1-+_viem.formatUnits.call(void 0, p[c],18)},s.basket.mintFee+=s.single[d.address].mintFee*+_viem.formatUnits.call(void 0, i[c],18),s.basket.redeemFee+=s.single[d.address].redeemFee*+_viem.formatUnits.call(void 0, i[c],18),s},{single:{},basket:{mintFee:0,redeemFee:0}})}catch(a){throw console.log(a),a}}var _honey = require('@berachain/abis/honey/honey');async function dr({client:e,...t}){let{config:r}=_chunk22J3YJDNcjs.a.call(void 0, t),o=r.honey.token;return await e.readContract({address:o,abi:_honey.honeyAbi,functionName:"paused"})}var _rootPriceOracle = require('@berachain/abis/extras/rootPriceOracle');async function lr({pythOracle:e,publicClient:t}){return await t.readContract({address:e,abi:_rootPriceOracle.rootPriceOracleAbi,functionName:"pythOracle"})}async function xr({publicClient:e,factory:t,...r}){let{config:o}=_chunk22J3YJDNcjs.a.call(void 0, r);return await e.readContract({address:_nullishCoalesce(t, () => (o.honey.factory)),abi:_honeyFactory.honeyFactoryAbi,functionName:"priceOracle"})}var _chain = require('@berachain/graphql/chain');async function wr({defaultBlockTime:e,blocksSpan:t,...r}={}){let{config:o}=_chunk22J3YJDNcjs.a.call(void 0, r),a=_chunk4GU2O2OWcjs.c.call(void 0, "blocks.subgraph",r),n=_nullishCoalesce(e, () => (o.averageBlockTime)),p=_nullishCoalesce(t, () => (Math.floor(_chunkS3EAKCVMcjs.p.call(void 0, 1)/n))),s=(await a.query({query:_chain.GetBlocksTimeStamp,variables:{skip:p}})).data;return(_chunkS3EAKCVMcjs.k.call(void 0, Date.now())-Number(_optionalChain([s, 'optionalAccess', _5 => _5.oldest, 'access', _6 => _6[0], 'optionalAccess', _7 => _7.timestamp])))/(Number(_optionalChain([s, 'optionalAccess', _8 => _8.newest, 'access', _9 => _9[0], 'optionalAccess', _10 => _10.number]))-Number(_optionalChain([s, 'optionalAccess', _11 => _11.oldest, 'access', _12 => _12[0], 'optionalAccess', _13 => _13.number])))}var _lstStakerVault = require('@berachain/abis/pol/lst/lstStakerVault');async function Fr({tokenList:e,publicClient:t,lstStakingVaults:r,...o}){_chunk7LNBSOVVcjs.c.call(void 0, t);let{config:a}=_chunk22J3YJDNcjs.a.call(void 0, {...o,chainId:_nullishCoalesce(_optionalChain([t, 'access', _14 => _14.chain, 'optionalAccess', _15 => _15.id]), () => (o.chainId))}),n=e.filter(i=>r.includes(i.address));return n.length===0?[]:(await Promise.all(n.map(async i=>({assetTokenAddress:await t.readContract({address:i.address,abi:_lstStakerVault.lstStakerVaultAbi,functionName:"asset"}),stakingToken:i})))).reduce((i,{assetTokenAddress:s,stakingToken:d})=>{let c=e.find(y=>_chunk22J3YJDNcjs.e.call(void 0, y,s));return c&&i.push({id:d.address,receiptToken:d,inputTokens:[c]}),i},[])}var _rewardVaultFactory = require('@berachain/abis/pol/rewards/rewardVaultFactory');var S=[{inputs:[{internalType:"address",name:"initialOwner",type:"address"},{internalType:"address",name:"initialImplementation",type:"address"}],stateMutability:"payable",type:"constructor"},{inputs:[],name:"NewImplementationHasNoCode",type:"error"},{inputs:[],name:"NewOwnerIsZeroAddress",type:"error"},{inputs:[],name:"Unauthorized",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"implementation",type:"address"}],name:"Upgraded",type:"event"},{inputs:[],name:"implementation",outputs:[{internalType:"address",name:"result",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"result",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newImplementation",type:"address"}],name:"upgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"}];async function D({publicClient:e,...t}){let{config:r}=_chunk22J3YJDNcjs.a.call(void 0, t),o=r.pol.factory;_chunk7LNBSOVVcjs.b.call(void 0, e,"publicClient"),_chunk7LNBSOVVcjs.d.call(void 0, r.pol.factory,"factoryAddress");let a=await e.readContract({address:o,abi:_rewardVaultFactory.rewardVaultFactoryAbi,functionName:"beacon"});return await e.readContract({address:a,abi:S,functionName:"implementation"})}async function _r({publicClient:e,...t}){_chunk7LNBSOVVcjs.c.call(void 0, e);let r=await D({publicClient:e,...t}),[o,a]=await Promise.all([e.readContract({address:r,abi:_rewardVault.rewardVaultAbi,functionName:"MIN_REWARD_DURATION"}),e.readContract({address:r,abi:_rewardVault.rewardVaultAbi,functionName:"MAX_REWARD_DURATION"})]);return{minRewardDuration:Number(o),maxRewardDuration:Number(a)}}async function Lr({tokenAddress:e,publicClient:t,factoryAddress:r,...o}){let{config:a}=_chunk22J3YJDNcjs.a.call(void 0, o),n=await t.readContract({address:_nullishCoalesce(r, () => (a.pol.factory)),abi:_rewardVaultFactory.rewardVaultFactoryAbi,functionName:"getVault",args:[e]});return n===_viem.zeroAddress?null:n}var _pythPriceOracle = require('@berachain/abis/extras/pythPriceOracle');async function Xr({tokenList:e,publicClient:t,...r}){let{config:o}=_chunk22J3YJDNcjs.a.call(void 0, r);try{let a=await Promise.all(e.map(n=>t.readContract({address:o.honey.pythOracle,abi:_pythPriceOracle.pythPriceOracleAbi,functionName:"feeds",args:[n]})));return e.reduce((n,p,i)=>({...n,[p]:a[i]}),{})}catch(a){throw console.error("getPythPriceFeedId",a),a}}async function Yr({url:e,...t}={}){let{config:r}=_chunk22J3YJDNcjs.a.call(void 0, t);returnawait _asyncNullishCoalesce((await _chunkS3EAKCVMcjs.c.call(void 0, {url:_nullishCoalesce(e, () => (r.lists.tokenList)),type:"rest",name:"GitHub"})).tokens, async () => ([]))}var _bgt = require('@berachain/abis/pol/bgt');async function ao({publicClient:e,ui:t,...r}){let{config:o}=_chunk22J3YJDNcjs.a.call(void 0, r),[a,n,p,i,s,d,c,y]=await Promise.all([e.readContract({address:o.pol.beraChef,abi:_beraChef.beraChefAbi,functionName:"MAX_COMMISSION_RATE"}),e.readContract({address:o.pol.beraChef,abi:_beraChef.beraChefAbi,functionName:"commissionChangeDelay"}),e.readContract({address:o.pol.beraChef,abi:_beraChef.beraChefAbi,functionName:"rewardAllocationBlockDelay"}),e.readContract({address:o.pol.beraChef,abi:_beraChef.beraChefAbi,functionName:"maxWeightPerVault"}),e.readContract({address:o.pol.beraChef,abi:_beraChef.beraChefAbi,functionName:"maxNumWeightsPerRewardAllocation"}),e.readContract({address:o.tokens.bgt,abi:_bgt.bgtAbi,functionName:"dropBoostDelay"}),e.readContract({address:o.tokens.bgt,abi:_bgt.bgtAbi,functionName:"activateBoostDelay"}),e.readContract({address:o.pol.beraChef,abi:_beraChef.beraChefAbi,functionName:"rewardAllocationInactivityBlockSpan"})]);return{maxCommissionRate:Number(a)/1e4,boostDelay:Number(c),unboostDelay:Number(d),commissionChangeDelay:Number(n),rewardAllocationBlockDelay:Number(p),maxWeightPerVault:Number(i)/1e4,maxNumWeightsPerRewardAllocation:Number(s),rewardAllocationInactivityBlockSpan:Number(y),ui:t}}function ae(e){return _optionalChain([e, 'optionalAccess', _16 => _16.rewardAllocationWeights, 'optionalAccess', _17 => _17.reduce, 'call', _18 => _18((t,r)=>{if(!r)return t;let o=_nullishCoalesce(_optionalChain([r, 'access', _19 => _19.receivingVault, 'optionalAccess', _20 => _20.activeIncentives, 'access', _21 => _21.filter, 'call', _22 => _22(a=>Number(a.remainingAmount)>0), 'access', _23 => _23.reduce, 'call', _24 => _24((a,n)=>{let p=Number(n.remainingAmountUsd)/Number(n.remainingAmount);return a+Number(n.incentiveRate)*p},0)]), () => (0));return t+o*r.percentage},0)])}function io({validator:e,bgtPrice:t}){let r=Number(_nullishCoalesce(_optionalChain([e, 'access', _25 => _25.dynamicData, 'optionalAccess', _26 => _26.activeBoostAmount]), () => (0))),o=ae(e);return!o||!r?0:o*Number(_nullishCoalesce(_optionalChain([e, 'access', _27 => _27.dynamicData, 'optionalAccess', _28 => _28.lastDayDistributedBGTAmount]), () => (0)))*365/(r*t)}exports.BalancerApi = _chunk4GU2O2OWcjs.f; exports.BaseAggregator = _chunk4GU2O2OWcjs.e; exports.BeraApolloClient = _chunk4GU2O2OWcjs.b; exports.HoneyPreviewMethod = _chunk4GU2O2OWcjs.E; exports.MOCKED_PROPOSAL_STATUSES = _chunk4GU2O2OWcjs.p; exports.RewardVaultDistributionMode = _chunk4GU2O2OWcjs.N; exports.beraWriteContract = _chunk4GU2O2OWcjs.na; exports.checkProposalField = _chunk4GU2O2OWcjs.o; exports.computeActualStatus = _chunk4GU2O2OWcjs.q; exports.formatValidatorRewardAllocation = _chunk4GU2O2OWcjs.sa; exports.getActiveBoostAndCommissionChangeDelay = ao; exports.getAllPools = _chunk4GU2O2OWcjs.g; exports.getAllProposals = _chunk4GU2O2OWcjs.r; exports.getAllValidators = _chunk4GU2O2OWcjs.oa; exports.getAllowances = _chunk4GU2O2OWcjs.la; exports.getApiEnrichedAllocation = _chunk4GU2O2OWcjs.pa; exports.getApiPool = _chunk4GU2O2OWcjs.h; exports.getApiValidator = _chunk4GU2O2OWcjs.qa; exports.getApolloClient = _chunk4GU2O2OWcjs.c; exports.getBalanceCall = _chunkFCWDGE62cjs.b; exports.getBgtAprSimulation = _chunk4GU2O2OWcjs.P; exports.getBlockTime = wr; exports.getBlockTimestamp = _chunk4GU2O2OWcjs.M; exports.getBodyErrors = _chunk4GU2O2OWcjs.s; exports.getChartData = _chunk4GU2O2OWcjs.x; exports.getCollateralWeights = _chunk4GU2O2OWcjs.y; exports.getConvertToAssets = _chunk4GU2O2OWcjs.a; exports.getDailyValidatorBlockStats = _chunk4GU2O2OWcjs.ra; exports.getDecodedFunctionData = tr; exports.getDefaultRewardAllocation = _chunk4GU2O2OWcjs.wa; exports.getEarnedStakedBeraVault = _chunk4GU2O2OWcjs.Q; exports.getEnsoClient = _chunkFCWDGE62cjs.a; exports.getGlobalCapLimit = _chunk4GU2O2OWcjs.C; exports.getGlobalData = _chunk4GU2O2OWcjs.S; exports.getGlobalLiquidityAndSwapVolume = _chunk4GU2O2OWcjs.i; exports.getHoneyCollaterals = _chunk4GU2O2OWcjs.A; exports.getHoneyFees = ir; exports.getHoneyGlobalData = _chunk4GU2O2OWcjs.D; exports.getHoneyPausedState = dr; exports.getHoneyPreview = _chunk4GU2O2OWcjs.F; exports.getHoneyPythFeeds = Xr; exports.getHoneyPythOracle = lr; exports.getHoneyRootPriceOracle = xr; exports.getHoneyVaultsBalance = _chunk4GU2O2OWcjs.G; exports.getIncentiveFeeClaimStats = _chunk4GU2O2OWcjs.T; exports.getLSTStakeConfig = Fr; exports.getManagedValidatorByAccount = _chunk4GU2O2OWcjs.xa; exports.getMarkets = _chunk4GU2O2OWcjs.U; exports.getMaxDeposit = Et; exports.getOnChainPool = _chunk4GU2O2OWcjs.k; exports.getPoolEvents = _chunk4GU2O2OWcjs.l; exports.getPoolHistoricalData = _chunk4GU2O2OWcjs.m; exports.getPoolPausedState = _chunk4GU2O2OWcjs.j; exports.getPoolState = Lt; exports.getProposalDetails = _chunk4GU2O2OWcjs.t; exports.getProposalFromTx = _chunk4GU2O2OWcjs.v; exports.getProposalVotes = _chunk4GU2O2OWcjs.w; exports.getPythLatestPrices = _chunk4GU2O2OWcjs.H; exports.getPythUpdateFee = _chunk4GU2O2OWcjs.J; exports.getRelativeCapLimit = _chunk4GU2O2OWcjs.I; exports.getRewardProofsByValidator = _chunk4GU2O2OWcjs.V; exports.getRewardTokenToBeraRate = _chunk4GU2O2OWcjs.W; exports.getRewardVault = _chunk4GU2O2OWcjs.X; exports.getRewardVaultDurationConstants = _r; exports.getRewardVaultFromToken = Lr; exports.getRewardVaultIncentives = _chunk4GU2O2OWcjs.Y; exports.getRewardVaultRewards = _chunk4GU2O2OWcjs.O; exports.getRewardVaultStakingToken = _chunk4GU2O2OWcjs.Z; exports.getRewardVaults = _chunk4GU2O2OWcjs.R; exports.getSWBeraVaultMetadata = _chunk4GU2O2OWcjs.ba; exports.getSWBeraWithdrawal = _chunk4GU2O2OWcjs.ca; exports.getStakeWithdrawalCooldown = _chunk4GU2O2OWcjs.aa; exports.getStakedBeraAPR = _chunk4GU2O2OWcjs._; exports.getStakedBeraSnapshots = _chunk4GU2O2OWcjs.$; exports.getStakingPoolBatch = _chunk4GU2O2OWcjs.ya; exports.getSubgraphPool = _chunk4GU2O2OWcjs.n; exports.getSwapPayload = _chunk4GU2O2OWcjs.K; exports.getTokenCurrentPrices = _chunk4GU2O2OWcjs.ka; exports.getTokenInformation = _chunk4GU2O2OWcjs.z; exports.getTokens = Yr; exports.getTotalStakedAmount = _chunk4GU2O2OWcjs.da; exports.getUserActiveValidators = _chunk4GU2O2OWcjs.Aa; exports.getUserBoostsOnValidator = _chunk4GU2O2OWcjs.za; exports.getUserClaimableIncentives = _chunk4GU2O2OWcjs.ea; exports.getUserStakingPositions = _chunk4GU2O2OWcjs.Ba; exports.getUserVaultInfo = _chunk4GU2O2OWcjs.ga; exports.getUserVaults = _chunk4GU2O2OWcjs.ha; exports.getUserVaultsReward = _chunk4GU2O2OWcjs.fa; exports.getValidatorAnalytics = _chunk4GU2O2OWcjs.Ca; exports.getValidatorBoostApy = io; exports.getValidatorCommission = _chunk4GU2O2OWcjs.Da; exports.getValidatorEstimatedBgtPerYear = _chunk4GU2O2OWcjs.Ea; exports.getValidatorOperatorAddress = _chunk4GU2O2OWcjs.Fa; exports.getValidatorQueuedCommission = _chunk4GU2O2OWcjs.Ga; exports.getValidatorQueuedOperatorAddress = _chunk4GU2O2OWcjs.Ha; exports.getValidatorQueuedRewardAllocation = _chunk4GU2O2OWcjs.Ia; exports.getValidatorReturnPerBgt = ae; exports.getValidatorRewardAllocation = _chunk4GU2O2OWcjs.ua; exports.getVaultHistory = _chunk4GU2O2OWcjs.ia; exports.getVaultPausedState = Xt; exports.getVaultValidators = _chunk4GU2O2OWcjs.ja; exports.getWalletBalances = _chunkFCWDGE62cjs.c; exports.gql = _chunk4GU2O2OWcjs.d; exports.isBadCollateralAsset = _chunk4GU2O2OWcjs.B; exports.isBasketModeEnabled = _chunk4GU2O2OWcjs.L; exports.isDefaultRewardAllocation = _chunk4GU2O2OWcjs.va; exports.isImpersonateAccount = _chunk4GU2O2OWcjs.ma; exports.isSameRewardAllocation = _chunk4GU2O2OWcjs.ta; exports.parseProposalBody = _chunk4GU2O2OWcjs.u;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); 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; }var _chunkUXGB54NEcjs = require('../chunk-UXGB54NE.cjs');require('../chunk-OUD27MU7.cjs');var _chunkFCWDGE62cjs = require('../chunk-FCWDGE62.cjs');require('../chunk-OIYXOKTT.cjs');require('../chunk-WRFDB3QJ.cjs');require('../chunk-6LDOG5RL.cjs');var _chunk7LNBSOVVcjs = require('../chunk-7LNBSOVV.cjs');var _chunkPKXAW6MOcjs = require('../chunk-PKXAW6MO.cjs');var _chunk22J3YJDNcjs = require('../chunk-22J3YJDN.cjs');require('../chunk-C6ZGUO4H.cjs');var _viem = require('viem');var _metaMorphoV11 = require('@berachain/abis/bend-metamorpho/metaMorphoV11');async function Et({vaultAddress:e,publicClient:t}){let r=await t.readContract({address:e,abi:_metaMorphoV11.metaMorphoV11Abi,functionName:"maxDeposit",args:[e]});return _viem.formatEther.call(void 0, r)}var _berancersdk = require('@berachain-foundation/berancer-sdk');var Lt=e=>({type:_berancersdk.mapPoolType.call(void 0, e.type),protocolVersion:e.protocolVersion,tokens:e.tokens.map(t=>({...t,address:t.address})),id:e.id,address:e.address});var _vault = require('@berachain/abis/bex/vault');async function Xt({publicClient:e,...t}){let{config:r}=_chunk22J3YJDNcjs.a.call(void 0, t);return(await e.readContract({address:r.bex.vault,abi:_vault.vaultAbi,functionName:"getPausedState"}))[0]}var _internal = require('@berachain/config/internal');var _beraChef = require('@berachain/abis/pol/rewards/beraChef');var _rewardVault = require('@berachain/abis/pol/rewards/rewardVault');function q(e){return e.some(t=>t.name==="implementation"||t.name==="proxyType"||t.type==="constructor"&&_optionalChain([t, 'access', _2 => _2.inputs, 'optionalAccess', _3 => _3[0], 'optionalAccess', _4 => _4.name])==="implementation")}async function N({contractAddress:e,chainId:t,publicClient:r}){let o=`https://api.etherscan.io/v2/api?module=contract&action=getabi&address=${e}&apikey=${_internal.appConfig.apiKeys.private.etherscan}&chainId=${t}`,a=await fetch(o);if(!a.ok)throw new Error(`Failed to fetch ABI: ${a.statusText}`);let n=await a.json();if(n.status==="0")throw new Error(n.result);let p=JSON.parse(n.result);if(!q(p))return p;let i=await r.getStorageAt({address:e,slot:"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc"});if(!i||_viem.trim.call(void 0, i)==="0x00")return p;let s=_viem.pad.call(void 0, _viem.trim.call(void 0, i),{size:20});return N({contractAddress:s,chainId:t,publicClient:r})}async function L({address:e,callData:t,knownAbi:r,chainId:o,publicClient:a}){try{if(_viem.decodeFunctionData.call(void 0, {data:t,abi:r}))return r}catch (e2){}try{return await N({contractAddress:e,chainId:o,publicClient:a})}catch (e3){}}function U(e,t){try{return _viem.decodeFunctionData.call(void 0, {data:e,abi:t})}catch (e4){return}}function Q(e,t){return e.find(r=>r.type==="function"&&r.name===t)}function z(e){if(e)try{return _viem.toFunctionSignature.call(void 0, e)}catch(t){console.error(t)}}async function tr({address:e,callData:t,chainId:r=_internal.defaultChainId,publicClient:o}){let a=[..._beraChef.beraChefAbi,..._rewardVault.rewardVaultAbi,..._viem.erc20Abi],n=await L({address:e,callData:t,knownAbi:a,chainId:r,publicClient:o}),p=U(t,n);if(!n||!p)return{args:[]};let i=Q(n,p.functionName),s=z(i);return{abiItem:i,functionSignature:s,functionName:p.functionName,args:p.args}}var _honeyFactory = require('@berachain/abis/honey/honeyFactory');async function ir({client:e,collateralList:t,...r}){let{config:o}=_chunk22J3YJDNcjs.a.call(void 0, r);try{let a={mint:[],redeem:[]};for(let s of t)a.mint.push(e.readContract({address:o.honey.factory,abi:_honeyFactory.honeyFactoryAbi,functionName:"mintRates",args:[s.address]})),a.redeem.push(e.readContract({address:o.honey.factory,abi:_honeyFactory.honeyFactoryAbi,functionName:"redeemRates",args:[s.address]}));let[n,p,i]=await Promise.all([Promise.all(a.mint),Promise.all(a.redeem),e.readContract({address:o.honey.factory,abi:_honeyFactory.honeyFactoryAbi,functionName:"getWeights"})]);return t.reduce((s,d)=>{let c=t.indexOf(d);return s.single[d.address]={mintFee:1-+_viem.formatUnits.call(void 0, n[c],18),redeemFee:1-+_viem.formatUnits.call(void 0, p[c],18)},s.basket.mintFee+=s.single[d.address].mintFee*+_viem.formatUnits.call(void 0, i[c],18),s.basket.redeemFee+=s.single[d.address].redeemFee*+_viem.formatUnits.call(void 0, i[c],18),s},{single:{},basket:{mintFee:0,redeemFee:0}})}catch(a){throw console.log(a),a}}var _honey = require('@berachain/abis/honey/honey');async function dr({client:e,...t}){let{config:r}=_chunk22J3YJDNcjs.a.call(void 0, t),o=r.honey.token;return await e.readContract({address:o,abi:_honey.honeyAbi,functionName:"paused"})}var _rootPriceOracle = require('@berachain/abis/extras/rootPriceOracle');async function lr({pythOracle:e,publicClient:t}){return await t.readContract({address:e,abi:_rootPriceOracle.rootPriceOracleAbi,functionName:"pythOracle"})}async function xr({publicClient:e,factory:t,...r}){let{config:o}=_chunk22J3YJDNcjs.a.call(void 0, r);return await e.readContract({address:_nullishCoalesce(t, () => (o.honey.factory)),abi:_honeyFactory.honeyFactoryAbi,functionName:"priceOracle"})}var _chain = require('@berachain/graphql/chain');async function wr({defaultBlockTime:e,blocksSpan:t,...r}={}){let{config:o}=_chunk22J3YJDNcjs.a.call(void 0, r),a=_chunkUXGB54NEcjs.c.call(void 0, "blocks.subgraph",r),n=_nullishCoalesce(e, () => (o.averageBlockTime)),p=_nullishCoalesce(t, () => (Math.floor(_chunkPKXAW6MOcjs.q.call(void 0, 1)/n))),s=(await a.query({query:_chain.GetBlocksTimeStamp,variables:{skip:p}})).data;return(_chunkPKXAW6MOcjs.l.call(void 0, Date.now())-Number(_optionalChain([s, 'optionalAccess', _5 => _5.oldest, 'access', _6 => _6[0], 'optionalAccess', _7 => _7.timestamp])))/(Number(_optionalChain([s, 'optionalAccess', _8 => _8.newest, 'access', _9 => _9[0], 'optionalAccess', _10 => _10.number]))-Number(_optionalChain([s, 'optionalAccess', _11 => _11.oldest, 'access', _12 => _12[0], 'optionalAccess', _13 => _13.number])))}var _lstStakerVault = require('@berachain/abis/pol/lst/lstStakerVault');async function Fr({tokenList:e,publicClient:t,lstStakingVaults:r,...o}){_chunk7LNBSOVVcjs.c.call(void 0, t);let{config:a}=_chunk22J3YJDNcjs.a.call(void 0, {...o,chainId:_nullishCoalesce(_optionalChain([t, 'access', _14 => _14.chain, 'optionalAccess', _15 => _15.id]), () => (o.chainId))}),n=e.filter(i=>r.includes(i.address));return n.length===0?[]:(await Promise.all(n.map(async i=>({assetTokenAddress:await t.readContract({address:i.address,abi:_lstStakerVault.lstStakerVaultAbi,functionName:"asset"}),stakingToken:i})))).reduce((i,{assetTokenAddress:s,stakingToken:d})=>{let c=e.find(y=>_chunk22J3YJDNcjs.e.call(void 0, y,s));return c&&i.push({id:d.address,receiptToken:d,inputTokens:[c]}),i},[])}var _rewardVaultFactory = require('@berachain/abis/pol/rewards/rewardVaultFactory');var S=[{inputs:[{internalType:"address",name:"initialOwner",type:"address"},{internalType:"address",name:"initialImplementation",type:"address"}],stateMutability:"payable",type:"constructor"},{inputs:[],name:"NewImplementationHasNoCode",type:"error"},{inputs:[],name:"NewOwnerIsZeroAddress",type:"error"},{inputs:[],name:"Unauthorized",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"implementation",type:"address"}],name:"Upgraded",type:"event"},{inputs:[],name:"implementation",outputs:[{internalType:"address",name:"result",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"result",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newImplementation",type:"address"}],name:"upgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"}];async function D({publicClient:e,...t}){let{config:r}=_chunk22J3YJDNcjs.a.call(void 0, t),o=r.pol.factory;_chunk7LNBSOVVcjs.b.call(void 0, e,"publicClient"),_chunk7LNBSOVVcjs.d.call(void 0, r.pol.factory,"factoryAddress");let a=await e.readContract({address:o,abi:_rewardVaultFactory.rewardVaultFactoryAbi,functionName:"beacon"});return await e.readContract({address:a,abi:S,functionName:"implementation"})}async function _r({publicClient:e,...t}){_chunk7LNBSOVVcjs.c.call(void 0, e);let r=await D({publicClient:e,...t}),[o,a]=await Promise.all([e.readContract({address:r,abi:_rewardVault.rewardVaultAbi,functionName:"MIN_REWARD_DURATION"}),e.readContract({address:r,abi:_rewardVault.rewardVaultAbi,functionName:"MAX_REWARD_DURATION"})]);return{minRewardDuration:Number(o),maxRewardDuration:Number(a)}}async function Lr({tokenAddress:e,publicClient:t,factoryAddress:r,...o}){let{config:a}=_chunk22J3YJDNcjs.a.call(void 0, o),n=await t.readContract({address:_nullishCoalesce(r, () => (a.pol.factory)),abi:_rewardVaultFactory.rewardVaultFactoryAbi,functionName:"getVault",args:[e]});return n===_viem.zeroAddress?null:n}var _pythPriceOracle = require('@berachain/abis/extras/pythPriceOracle');async function Xr({tokenList:e,publicClient:t,...r}){let{config:o}=_chunk22J3YJDNcjs.a.call(void 0, r);try{let a=await Promise.all(e.map(n=>t.readContract({address:o.honey.pythOracle,abi:_pythPriceOracle.pythPriceOracleAbi,functionName:"feeds",args:[n]})));return e.reduce((n,p,i)=>({...n,[p]:a[i]}),{})}catch(a){throw console.error("getPythPriceFeedId",a),a}}async function Yr({url:e,...t}={}){let{config:r}=_chunk22J3YJDNcjs.a.call(void 0, t);returnawait _asyncNullishCoalesce((await _chunkPKXAW6MOcjs.d.call(void 0, {url:_nullishCoalesce(e, () => (r.lists.tokenList)),type:"rest",name:"GitHub"})).tokens, async () => ([]))}var _bgt = require('@berachain/abis/pol/bgt');async function ao({publicClient:e,ui:t,...r}){let{config:o}=_chunk22J3YJDNcjs.a.call(void 0, r),[a,n,p,i,s,d,c,y]=await Promise.all([e.readContract({address:o.pol.beraChef,abi:_beraChef.beraChefAbi,functionName:"MAX_COMMISSION_RATE"}),e.readContract({address:o.pol.beraChef,abi:_beraChef.beraChefAbi,functionName:"commissionChangeDelay"}),e.readContract({address:o.pol.beraChef,abi:_beraChef.beraChefAbi,functionName:"rewardAllocationBlockDelay"}),e.readContract({address:o.pol.beraChef,abi:_beraChef.beraChefAbi,functionName:"maxWeightPerVault"}),e.readContract({address:o.pol.beraChef,abi:_beraChef.beraChefAbi,functionName:"maxNumWeightsPerRewardAllocation"}),e.readContract({address:o.tokens.bgt,abi:_bgt.bgtAbi,functionName:"dropBoostDelay"}),e.readContract({address:o.tokens.bgt,abi:_bgt.bgtAbi,functionName:"activateBoostDelay"}),e.readContract({address:o.pol.beraChef,abi:_beraChef.beraChefAbi,functionName:"rewardAllocationInactivityBlockSpan"})]);return{maxCommissionRate:Number(a)/1e4,boostDelay:Number(c),unboostDelay:Number(d),commissionChangeDelay:Number(n),rewardAllocationBlockDelay:Number(p),maxWeightPerVault:Number(i)/1e4,maxNumWeightsPerRewardAllocation:Number(s),rewardAllocationInactivityBlockSpan:Number(y),ui:t}}function ae(e){return _optionalChain([e, 'optionalAccess', _16 => _16.rewardAllocationWeights, 'optionalAccess', _17 => _17.reduce, 'call', _18 => _18((t,r)=>{if(!r)return t;let o=_nullishCoalesce(_optionalChain([r, 'access', _19 => _19.receivingVault, 'optionalAccess', _20 => _20.activeIncentives, 'access', _21 => _21.filter, 'call', _22 => _22(a=>Number(a.remainingAmount)>0), 'access', _23 => _23.reduce, 'call', _24 => _24((a,n)=>{let p=Number(n.remainingAmountUsd)/Number(n.remainingAmount);return a+Number(n.incentiveRate)*p},0)]), () => (0));return t+o*r.percentage},0)])}function io({validator:e,bgtPrice:t}){let r=Number(_nullishCoalesce(_optionalChain([e, 'access', _25 => _25.dynamicData, 'optionalAccess', _26 => _26.activeBoostAmount]), () => (0))),o=ae(e);return!o||!r?0:o*Number(_nullishCoalesce(_optionalChain([e, 'access', _27 => _27.dynamicData, 'optionalAccess', _28 => _28.lastDayDistributedBGTAmount]), () => (0)))*365/(r*t)}exports.BalancerApi = _chunkUXGB54NEcjs.f; exports.BaseAggregator = _chunkUXGB54NEcjs.e; exports.BeraApolloClient = _chunkUXGB54NEcjs.b; exports.HoneyPreviewMethod = _chunkUXGB54NEcjs.E; exports.MOCKED_PROPOSAL_STATUSES = _chunkUXGB54NEcjs.p; exports.RewardVaultDistributionMode = _chunkUXGB54NEcjs.N; exports.beraWriteContract = _chunkUXGB54NEcjs.na; exports.checkProposalField = _chunkUXGB54NEcjs.o; exports.computeActualStatus = _chunkUXGB54NEcjs.q; exports.formatValidatorRewardAllocation = _chunkUXGB54NEcjs.sa; exports.getActiveBoostAndCommissionChangeDelay = ao; exports.getAllPools = _chunkUXGB54NEcjs.g; exports.getAllProposals = _chunkUXGB54NEcjs.r; exports.getAllValidators = _chunkUXGB54NEcjs.oa; exports.getAllowances = _chunkUXGB54NEcjs.la; exports.getApiEnrichedAllocation = _chunkUXGB54NEcjs.pa; exports.getApiPool = _chunkUXGB54NEcjs.h; exports.getApiValidator = _chunkUXGB54NEcjs.qa; exports.getApolloClient = _chunkUXGB54NEcjs.c; exports.getBalanceCall = _chunkFCWDGE62cjs.b; exports.getBgtAprSimulation = _chunkUXGB54NEcjs.P; exports.getBlockTime = wr; exports.getBlockTimestamp = _chunkUXGB54NEcjs.M; exports.getBodyErrors = _chunkUXGB54NEcjs.s; exports.getChartData = _chunkUXGB54NEcjs.x; exports.getCollateralWeights = _chunkUXGB54NEcjs.y; exports.getConvertToAssets = _chunkUXGB54NEcjs.a; exports.getDailyValidatorBlockStats = _chunkUXGB54NEcjs.ra; exports.getDecodedFunctionData = tr; exports.getDefaultRewardAllocation = _chunkUXGB54NEcjs.wa; exports.getEarnedStakedBeraVault = _chunkUXGB54NEcjs.Q; exports.getEnsoClient = _chunkFCWDGE62cjs.a; exports.getGlobalCapLimit = _chunkUXGB54NEcjs.C; exports.getGlobalData = _chunkUXGB54NEcjs.S; exports.getGlobalLiquidityAndSwapVolume = _chunkUXGB54NEcjs.i; exports.getHoneyCollaterals = _chunkUXGB54NEcjs.A; exports.getHoneyFees = ir; exports.getHoneyGlobalData = _chunkUXGB54NEcjs.D; exports.getHoneyPausedState = dr; exports.getHoneyPreview = _chunkUXGB54NEcjs.F; exports.getHoneyPythFeeds = Xr; exports.getHoneyPythOracle = lr; exports.getHoneyRootPriceOracle = xr; exports.getHoneyVaultsBalance = _chunkUXGB54NEcjs.G; exports.getIncentiveFeeClaimStats = _chunkUXGB54NEcjs.T; exports.getLSTStakeConfig = Fr; exports.getManagedValidatorByAccount = _chunkUXGB54NEcjs.xa; exports.getMarkets = _chunkUXGB54NEcjs.U; exports.getMaxDeposit = Et; exports.getOnChainPool = _chunkUXGB54NEcjs.k; exports.getPoolEvents = _chunkUXGB54NEcjs.l; exports.getPoolHistoricalData = _chunkUXGB54NEcjs.m; exports.getPoolPausedState = _chunkUXGB54NEcjs.j; exports.getPoolState = Lt; exports.getProposalDetails = _chunkUXGB54NEcjs.t; exports.getProposalFromTx = _chunkUXGB54NEcjs.v; exports.getProposalVotes = _chunkUXGB54NEcjs.w; exports.getPythLatestPrices = _chunkUXGB54NEcjs.H; exports.getPythUpdateFee = _chunkUXGB54NEcjs.J; exports.getRelativeCapLimit = _chunkUXGB54NEcjs.I; exports.getRewardProofsByValidator = _chunkUXGB54NEcjs.V; exports.getRewardTokenToBeraRate = _chunkUXGB54NEcjs.W; exports.getRewardVault = _chunkUXGB54NEcjs.X; exports.getRewardVaultDurationConstants = _r; exports.getRewardVaultFromToken = Lr; exports.getRewardVaultIncentives = _chunkUXGB54NEcjs.Y; exports.getRewardVaultRewards = _chunkUXGB54NEcjs.O; exports.getRewardVaultStakingToken = _chunkUXGB54NEcjs.Z; exports.getRewardVaults = _chunkUXGB54NEcjs.R; exports.getSWBeraVaultMetadata = _chunkUXGB54NEcjs.ba; exports.getSWBeraWithdrawal = _chunkUXGB54NEcjs.ca; exports.getStakeWithdrawalCooldown = _chunkUXGB54NEcjs.aa; exports.getStakedBeraAPR = _chunkUXGB54NEcjs._; exports.getStakedBeraSnapshots = _chunkUXGB54NEcjs.$; exports.getStakingPoolBatch = _chunkUXGB54NEcjs.ya; exports.getSubgraphPool = _chunkUXGB54NEcjs.n; exports.getSwapPayload = _chunkUXGB54NEcjs.K; exports.getTokenCurrentPrices = _chunkUXGB54NEcjs.ka; exports.getTokenInformation = _chunkUXGB54NEcjs.z; exports.getTokens = Yr; exports.getTotalStakedAmount = _chunkUXGB54NEcjs.da; exports.getUserActiveValidators = _chunkUXGB54NEcjs.Aa; exports.getUserBoostsOnValidator = _chunkUXGB54NEcjs.za; exports.getUserClaimableIncentives = _chunkUXGB54NEcjs.ea; exports.getUserStakingPositions = _chunkUXGB54NEcjs.Ba; exports.getUserVaultInfo = _chunkUXGB54NEcjs.ga; exports.getUserVaults = _chunkUXGB54NEcjs.ha; exports.getUserVaultsReward = _chunkUXGB54NEcjs.fa; exports.getValidatorAnalytics = _chunkUXGB54NEcjs.Ca; exports.getValidatorBoostApy = io; exports.getValidatorCommission = _chunkUXGB54NEcjs.Da; exports.getValidatorEstimatedBgtPerYear = _chunkUXGB54NEcjs.Ea; exports.getValidatorOperatorAddress = _chunkUXGB54NEcjs.Fa; exports.getValidatorQueuedCommission = _chunkUXGB54NEcjs.Ga; exports.getValidatorQueuedOperatorAddress = _chunkUXGB54NEcjs.Ha; exports.getValidatorQueuedRewardAllocation = _chunkUXGB54NEcjs.Ia; exports.getValidatorReturnPerBgt = ae; exports.getValidatorRewardAllocation = _chunkUXGB54NEcjs.ua; exports.getVaultHistory = _chunkUXGB54NEcjs.ia; exports.getVaultPausedState = Xt; exports.getVaultValidators = _chunkUXGB54NEcjs.ja; exports.getWalletBalances = _chunkFCWDGE62cjs.c; exports.gql = _chunkUXGB54NEcjs.d; exports.isBadCollateralAsset = _chunkUXGB54NEcjs.B; exports.isBasketModeEnabled = _chunkUXGB54NEcjs.L; exports.isDefaultRewardAllocation = _chunkUXGB54NEcjs.va; exports.isImpersonateAccount = _chunkUXGB54NEcjs.ma; exports.isSameRewardAllocation = _chunkUXGB54NEcjs.ta; exports.parseProposalBody = _chunkUXGB54NEcjs.u;
2
2
  //# sourceMappingURL=exports.cjs.map
@@ -1,2 +1,2 @@
1
- import{$ as rt,A as Fe,Aa as Rt,B as Te,Ba as vt,C as Re,Ca as It,D as ve,Da as Mt,E as Ie,Ea as Vt,F as Me,Fa as Ot,G as Ve,Ga as Wt,H as Oe,Ha as Jt,I as We,Ia as Gt,J as Je,K as Ge,L as _e,M as He,N as Ee,O as $e,P as qe,Q as Le,R as Ue,S as Qe,T as ze,U as Xe,V as je,W as Ke,X as Ze,Y as Ye,Z as et,_ as tt,a as ne,aa as ot,b as R,ba as at,c as b,ca as nt,d as v,da as it,e as se,ea as st,f as me,fa as mt,g as pe,ga as pt,h as de,ha as dt,i as ce,ia as ct,j as ue,ja as ut,k as le,ka as lt,l as fe,la as ft,m as ye,ma as xt,n as be,na as gt,o as xe,oa as At,p as ge,pa as ht,q as Ae,qa as Ct,r as he,ra as Pt,s as Ce,sa as wt,t as Pe,ta as Bt,u as we,ua as kt,v as Be,va as Nt,w as ke,wa as St,x as Ne,xa as Dt,y as Se,ya as Ft,z as De,za as Tt}from"../chunk-RW3JFPED.mjs";import"../chunk-NLVWRMGD.mjs";import{a as ie,b as yt,c as bt}from"../chunk-7SMWQ6SN.mjs";import"../chunk-NAXAZJJY.mjs";import"../chunk-OGJMSGB2.mjs";import"../chunk-7WRTK7RJ.mjs";import{b as h,c as l,d as C}from"../chunk-2LL3P5PN.mjs";import{c as g,k as P,p as w}from"../chunk-5XWELBWR.mjs";import{a as m,e as A}from"../chunk-THATXCJK.mjs";import"../chunk-AX2YQQFQ.mjs";import{formatEther as I}from"viem";import{metaMorphoV11Abi as M}from"@berachain/abis/bend-metamorpho/metaMorphoV11";async function Et({vaultAddress:e,publicClient:t}){let r=await t.readContract({address:e,abi:M,functionName:"maxDeposit",args:[e]});return I(r)}import{mapPoolType as V}from"@berachain-foundation/berancer-sdk";var Lt=e=>({type:V(e.type),protocolVersion:e.protocolVersion,tokens:e.tokens.map(t=>({...t,address:t.address})),id:e.id,address:e.address});import{vaultAbi as O}from"@berachain/abis/bex/vault";async function Xt({publicClient:e,...t}){let{config:r}=m(t);return(await e.readContract({address:r.bex.vault,abi:O,functionName:"getPausedState"}))[0]}import{decodeFunctionData as k,erc20Abi as W,pad as J,toFunctionSignature as G,trim as B}from"viem";import{appConfig as _,defaultChainId as H}from"@berachain/config/internal";import{beraChefAbi as E}from"@berachain/abis/pol/rewards/beraChef";import{rewardVaultAbi as $}from"@berachain/abis/pol/rewards/rewardVault";function q(e){return e.some(t=>t.name==="implementation"||t.name==="proxyType"||t.type==="constructor"&&t.inputs?.[0]?.name==="implementation")}async function N({contractAddress:e,chainId:t,publicClient:r}){let o=`https://api.etherscan.io/v2/api?module=contract&action=getabi&address=${e}&apikey=${_.apiKeys.private.etherscan}&chainId=${t}`,a=await fetch(o);if(!a.ok)throw new Error(`Failed to fetch ABI: ${a.statusText}`);let n=await a.json();if(n.status==="0")throw new Error(n.result);let p=JSON.parse(n.result);if(!q(p))return p;let i=await r.getStorageAt({address:e,slot:"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc"});if(!i||B(i)==="0x00")return p;let s=J(B(i),{size:20});return N({contractAddress:s,chainId:t,publicClient:r})}async function L({address:e,callData:t,knownAbi:r,chainId:o,publicClient:a}){try{if(k({data:t,abi:r}))return r}catch{}try{return await N({contractAddress:e,chainId:o,publicClient:a})}catch{}}function U(e,t){try{return k({data:e,abi:t})}catch{return}}function Q(e,t){return e.find(r=>r.type==="function"&&r.name===t)}function z(e){if(e)try{return G(e)}catch(t){console.error(t)}}async function tr({address:e,callData:t,chainId:r=H,publicClient:o}){let a=[...E,...$,...W],n=await L({address:e,callData:t,knownAbi:a,chainId:r,publicClient:o}),p=U(t,n);if(!n||!p)return{args:[]};let i=Q(n,p.functionName),s=z(i);return{abiItem:i,functionSignature:s,functionName:p.functionName,args:p.args}}import{formatUnits as f}from"viem";import{honeyFactoryAbi as x}from"@berachain/abis/honey/honeyFactory";async function ir({client:e,collateralList:t,...r}){let{config:o}=m(r);try{let a={mint:[],redeem:[]};for(let s of t)a.mint.push(e.readContract({address:o.honey.factory,abi:x,functionName:"mintRates",args:[s.address]})),a.redeem.push(e.readContract({address:o.honey.factory,abi:x,functionName:"redeemRates",args:[s.address]}));let[n,p,i]=await Promise.all([Promise.all(a.mint),Promise.all(a.redeem),e.readContract({address:o.honey.factory,abi:x,functionName:"getWeights"})]);return t.reduce((s,d)=>{let c=t.indexOf(d);return s.single[d.address]={mintFee:1-+f(n[c],18),redeemFee:1-+f(p[c],18)},s.basket.mintFee+=s.single[d.address].mintFee*+f(i[c],18),s.basket.redeemFee+=s.single[d.address].redeemFee*+f(i[c],18),s},{single:{},basket:{mintFee:0,redeemFee:0}})}catch(a){throw console.log(a),a}}import{honeyAbi as X}from"@berachain/abis/honey/honey";async function dr({client:e,...t}){let{config:r}=m(t),o=r.honey.token;return await e.readContract({address:o,abi:X,functionName:"paused"})}import{rootPriceOracleAbi as j}from"@berachain/abis/extras/rootPriceOracle";async function lr({pythOracle:e,publicClient:t}){return await t.readContract({address:e,abi:j,functionName:"pythOracle"})}import{honeyFactoryAbi as K}from"@berachain/abis/honey/honeyFactory";async function xr({publicClient:e,factory:t,...r}){let{config:o}=m(r);return await e.readContract({address:t??o.honey.factory,abi:K,functionName:"priceOracle"})}import{GetBlocksTimeStamp as Z}from"@berachain/graphql/chain";async function wr({defaultBlockTime:e,blocksSpan:t,...r}={}){let{config:o}=m(r),a=b("blocks.subgraph",r),n=e??o.averageBlockTime,p=t??Math.floor(w(1)/n),s=(await a.query({query:Z,variables:{skip:p}})).data;return(P(Date.now())-Number(s?.oldest[0]?.timestamp))/(Number(s?.newest[0]?.number)-Number(s?.oldest[0]?.number))}import{lstStakerVaultAbi as Y}from"@berachain/abis/pol/lst/lstStakerVault";async function Fr({tokenList:e,publicClient:t,lstStakingVaults:r,...o}){l(t);let{config:a}=m({...o,chainId:t.chain?.id??o.chainId}),n=e.filter(i=>r.includes(i.address));return n.length===0?[]:(await Promise.all(n.map(async i=>({assetTokenAddress:await t.readContract({address:i.address,abi:Y,functionName:"asset"}),stakingToken:i})))).reduce((i,{assetTokenAddress:s,stakingToken:d})=>{let c=e.find(y=>A(y,s));return c&&i.push({id:d.address,receiptToken:d,inputTokens:[c]}),i},[])}import{rewardVaultAbi as F}from"@berachain/abis/pol/rewards/rewardVault";import{rewardVaultFactoryAbi as ee}from"@berachain/abis/pol/rewards/rewardVaultFactory";var S=[{inputs:[{internalType:"address",name:"initialOwner",type:"address"},{internalType:"address",name:"initialImplementation",type:"address"}],stateMutability:"payable",type:"constructor"},{inputs:[],name:"NewImplementationHasNoCode",type:"error"},{inputs:[],name:"NewOwnerIsZeroAddress",type:"error"},{inputs:[],name:"Unauthorized",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"implementation",type:"address"}],name:"Upgraded",type:"event"},{inputs:[],name:"implementation",outputs:[{internalType:"address",name:"result",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"result",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newImplementation",type:"address"}],name:"upgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"}];async function D({publicClient:e,...t}){let{config:r}=m(t),o=r.pol.factory;h(e,"publicClient"),C(r.pol.factory,"factoryAddress");let a=await e.readContract({address:o,abi:ee,functionName:"beacon"});return await e.readContract({address:a,abi:S,functionName:"implementation"})}async function _r({publicClient:e,...t}){l(e);let r=await D({publicClient:e,...t}),[o,a]=await Promise.all([e.readContract({address:r,abi:F,functionName:"MIN_REWARD_DURATION"}),e.readContract({address:r,abi:F,functionName:"MAX_REWARD_DURATION"})]);return{minRewardDuration:Number(o),maxRewardDuration:Number(a)}}import{zeroAddress as te}from"viem";import{rewardVaultFactoryAbi as re}from"@berachain/abis/pol/rewards/rewardVaultFactory";async function Lr({tokenAddress:e,publicClient:t,factoryAddress:r,...o}){let{config:a}=m(o),n=await t.readContract({address:r??a.pol.factory,abi:re,functionName:"getVault",args:[e]});return n===te?null:n}import{pythPriceOracleAbi as oe}from"@berachain/abis/extras/pythPriceOracle";async function Xr({tokenList:e,publicClient:t,...r}){let{config:o}=m(r);try{let a=await Promise.all(e.map(n=>t.readContract({address:o.honey.pythOracle,abi:oe,functionName:"feeds",args:[n]})));return e.reduce((n,p,i)=>({...n,[p]:a[i]}),{})}catch(a){throw console.error("getPythPriceFeedId",a),a}}async function Yr({url:e,...t}={}){let{config:r}=m(t);return(await g({url:e??r.lists.tokenList,type:"rest",name:"GitHub"})).tokens??[]}import{bgtAbi as T}from"@berachain/abis/pol/bgt";import{beraChefAbi as u}from"@berachain/abis/pol/rewards/beraChef";async function ao({publicClient:e,ui:t,...r}){let{config:o}=m(r),[a,n,p,i,s,d,c,y]=await Promise.all([e.readContract({address:o.pol.beraChef,abi:u,functionName:"MAX_COMMISSION_RATE"}),e.readContract({address:o.pol.beraChef,abi:u,functionName:"commissionChangeDelay"}),e.readContract({address:o.pol.beraChef,abi:u,functionName:"rewardAllocationBlockDelay"}),e.readContract({address:o.pol.beraChef,abi:u,functionName:"maxWeightPerVault"}),e.readContract({address:o.pol.beraChef,abi:u,functionName:"maxNumWeightsPerRewardAllocation"}),e.readContract({address:o.tokens.bgt,abi:T,functionName:"dropBoostDelay"}),e.readContract({address:o.tokens.bgt,abi:T,functionName:"activateBoostDelay"}),e.readContract({address:o.pol.beraChef,abi:u,functionName:"rewardAllocationInactivityBlockSpan"})]);return{maxCommissionRate:Number(a)/1e4,boostDelay:Number(c),unboostDelay:Number(d),commissionChangeDelay:Number(n),rewardAllocationBlockDelay:Number(p),maxWeightPerVault:Number(i)/1e4,maxNumWeightsPerRewardAllocation:Number(s),rewardAllocationInactivityBlockSpan:Number(y),ui:t}}function ae(e){return e?.rewardAllocationWeights?.reduce((t,r)=>{if(!r)return t;let o=r.receivingVault?.activeIncentives.filter(a=>Number(a.remainingAmount)>0).reduce((a,n)=>{let p=Number(n.remainingAmountUsd)/Number(n.remainingAmount);return a+Number(n.incentiveRate)*p},0)??0;return t+o*r.percentage},0)}function io({validator:e,bgtPrice:t}){let r=Number(e.dynamicData?.activeBoostAmount??0),o=ae(e);return!o||!r?0:o*Number(e.dynamicData?.lastDayDistributedBGTAmount??0)*365/(r*t)}export{me as BalancerApi,se as BaseAggregator,R as BeraApolloClient,Ie as HoneyPreviewMethod,ge as MOCKED_PROPOSAL_STATUSES,Ee as RewardVaultDistributionMode,gt as beraWriteContract,xe as checkProposalField,Ae as computeActualStatus,wt as formatValidatorRewardAllocation,ao as getActiveBoostAndCommissionChangeDelay,pe as getAllPools,he as getAllProposals,At as getAllValidators,ft as getAllowances,ht as getApiEnrichedAllocation,de as getApiPool,Ct as getApiValidator,b as getApolloClient,yt as getBalanceCall,qe as getBgtAprSimulation,wr as getBlockTime,He as getBlockTimestamp,Ce as getBodyErrors,Ne as getChartData,Se as getCollateralWeights,ne as getConvertToAssets,Pt as getDailyValidatorBlockStats,tr as getDecodedFunctionData,St as getDefaultRewardAllocation,Le as getEarnedStakedBeraVault,ie as getEnsoClient,Re as getGlobalCapLimit,Qe as getGlobalData,ce as getGlobalLiquidityAndSwapVolume,Fe as getHoneyCollaterals,ir as getHoneyFees,ve as getHoneyGlobalData,dr as getHoneyPausedState,Me as getHoneyPreview,Xr as getHoneyPythFeeds,lr as getHoneyPythOracle,xr as getHoneyRootPriceOracle,Ve as getHoneyVaultsBalance,ze as getIncentiveFeeClaimStats,Fr as getLSTStakeConfig,Dt as getManagedValidatorByAccount,Xe as getMarkets,Et as getMaxDeposit,le as getOnChainPool,fe as getPoolEvents,ye as getPoolHistoricalData,ue as getPoolPausedState,Lt as getPoolState,Pe as getProposalDetails,Be as getProposalFromTx,ke as getProposalVotes,Oe as getPythLatestPrices,Je as getPythUpdateFee,We as getRelativeCapLimit,je as getRewardProofsByValidator,Ke as getRewardTokenToBeraRate,Ze as getRewardVault,_r as getRewardVaultDurationConstants,Lr as getRewardVaultFromToken,Ye as getRewardVaultIncentives,$e as getRewardVaultRewards,et as getRewardVaultStakingToken,Ue as getRewardVaults,at as getSWBeraVaultMetadata,nt as getSWBeraWithdrawal,ot as getStakeWithdrawalCooldown,tt as getStakedBeraAPR,rt as getStakedBeraSnapshots,Ft as getStakingPoolBatch,be as getSubgraphPool,Ge as getSwapPayload,lt as getTokenCurrentPrices,De as getTokenInformation,Yr as getTokens,it as getTotalStakedAmount,Rt as getUserActiveValidators,Tt as getUserBoostsOnValidator,st as getUserClaimableIncentives,vt as getUserStakingPositions,pt as getUserVaultInfo,dt as getUserVaults,mt as getUserVaultsReward,It as getValidatorAnalytics,io as getValidatorBoostApy,Mt as getValidatorCommission,Vt as getValidatorEstimatedBgtPerYear,Ot as getValidatorOperatorAddress,Wt as getValidatorQueuedCommission,Jt as getValidatorQueuedOperatorAddress,Gt as getValidatorQueuedRewardAllocation,ae as getValidatorReturnPerBgt,kt as getValidatorRewardAllocation,ct as getVaultHistory,Xt as getVaultPausedState,ut as getVaultValidators,bt as getWalletBalances,v as gql,Te as isBadCollateralAsset,_e as isBasketModeEnabled,Nt as isDefaultRewardAllocation,xt as isImpersonateAccount,Bt as isSameRewardAllocation,we as parseProposalBody};
1
+ import{$ as rt,A as Fe,Aa as Rt,B as Te,Ba as vt,C as Re,Ca as It,D as ve,Da as Mt,E as Ie,Ea as Vt,F as Me,Fa as Ot,G as Ve,Ga as Wt,H as Oe,Ha as Jt,I as We,Ia as Gt,J as Je,K as Ge,L as _e,M as He,N as Ee,O as $e,P as qe,Q as Le,R as Ue,S as Qe,T as ze,U as Xe,V as je,W as Ke,X as Ze,Y as Ye,Z as et,_ as tt,a as ne,aa as ot,b as R,ba as at,c as b,ca as nt,d as v,da as it,e as se,ea as st,f as me,fa as mt,g as pe,ga as pt,h as de,ha as dt,i as ce,ia as ct,j as ue,ja as ut,k as le,ka as lt,l as fe,la as ft,m as ye,ma as xt,n as be,na as gt,o as xe,oa as At,p as ge,pa as ht,q as Ae,qa as Ct,r as he,ra as Pt,s as Ce,sa as wt,t as Pe,ta as Bt,u as we,ua as kt,v as Be,va as Nt,w as ke,wa as St,x as Ne,xa as Dt,y as Se,ya as Ft,z as De,za as Tt}from"../chunk-BKDBIBVO.mjs";import"../chunk-NLVWRMGD.mjs";import{a as ie,b as yt,c as bt}from"../chunk-7SMWQ6SN.mjs";import"../chunk-NAXAZJJY.mjs";import"../chunk-OGJMSGB2.mjs";import"../chunk-7WRTK7RJ.mjs";import{b as h,c as l,d as C}from"../chunk-2LL3P5PN.mjs";import{d as g,l as P,q as w}from"../chunk-ECRMUMTA.mjs";import{a as m,e as A}from"../chunk-THATXCJK.mjs";import"../chunk-AX2YQQFQ.mjs";import{formatEther as I}from"viem";import{metaMorphoV11Abi as M}from"@berachain/abis/bend-metamorpho/metaMorphoV11";async function Et({vaultAddress:e,publicClient:t}){let r=await t.readContract({address:e,abi:M,functionName:"maxDeposit",args:[e]});return I(r)}import{mapPoolType as V}from"@berachain-foundation/berancer-sdk";var Lt=e=>({type:V(e.type),protocolVersion:e.protocolVersion,tokens:e.tokens.map(t=>({...t,address:t.address})),id:e.id,address:e.address});import{vaultAbi as O}from"@berachain/abis/bex/vault";async function Xt({publicClient:e,...t}){let{config:r}=m(t);return(await e.readContract({address:r.bex.vault,abi:O,functionName:"getPausedState"}))[0]}import{decodeFunctionData as k,erc20Abi as W,pad as J,toFunctionSignature as G,trim as B}from"viem";import{appConfig as _,defaultChainId as H}from"@berachain/config/internal";import{beraChefAbi as E}from"@berachain/abis/pol/rewards/beraChef";import{rewardVaultAbi as $}from"@berachain/abis/pol/rewards/rewardVault";function q(e){return e.some(t=>t.name==="implementation"||t.name==="proxyType"||t.type==="constructor"&&t.inputs?.[0]?.name==="implementation")}async function N({contractAddress:e,chainId:t,publicClient:r}){let o=`https://api.etherscan.io/v2/api?module=contract&action=getabi&address=${e}&apikey=${_.apiKeys.private.etherscan}&chainId=${t}`,a=await fetch(o);if(!a.ok)throw new Error(`Failed to fetch ABI: ${a.statusText}`);let n=await a.json();if(n.status==="0")throw new Error(n.result);let p=JSON.parse(n.result);if(!q(p))return p;let i=await r.getStorageAt({address:e,slot:"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc"});if(!i||B(i)==="0x00")return p;let s=J(B(i),{size:20});return N({contractAddress:s,chainId:t,publicClient:r})}async function L({address:e,callData:t,knownAbi:r,chainId:o,publicClient:a}){try{if(k({data:t,abi:r}))return r}catch{}try{return await N({contractAddress:e,chainId:o,publicClient:a})}catch{}}function U(e,t){try{return k({data:e,abi:t})}catch{return}}function Q(e,t){return e.find(r=>r.type==="function"&&r.name===t)}function z(e){if(e)try{return G(e)}catch(t){console.error(t)}}async function tr({address:e,callData:t,chainId:r=H,publicClient:o}){let a=[...E,...$,...W],n=await L({address:e,callData:t,knownAbi:a,chainId:r,publicClient:o}),p=U(t,n);if(!n||!p)return{args:[]};let i=Q(n,p.functionName),s=z(i);return{abiItem:i,functionSignature:s,functionName:p.functionName,args:p.args}}import{formatUnits as f}from"viem";import{honeyFactoryAbi as x}from"@berachain/abis/honey/honeyFactory";async function ir({client:e,collateralList:t,...r}){let{config:o}=m(r);try{let a={mint:[],redeem:[]};for(let s of t)a.mint.push(e.readContract({address:o.honey.factory,abi:x,functionName:"mintRates",args:[s.address]})),a.redeem.push(e.readContract({address:o.honey.factory,abi:x,functionName:"redeemRates",args:[s.address]}));let[n,p,i]=await Promise.all([Promise.all(a.mint),Promise.all(a.redeem),e.readContract({address:o.honey.factory,abi:x,functionName:"getWeights"})]);return t.reduce((s,d)=>{let c=t.indexOf(d);return s.single[d.address]={mintFee:1-+f(n[c],18),redeemFee:1-+f(p[c],18)},s.basket.mintFee+=s.single[d.address].mintFee*+f(i[c],18),s.basket.redeemFee+=s.single[d.address].redeemFee*+f(i[c],18),s},{single:{},basket:{mintFee:0,redeemFee:0}})}catch(a){throw console.log(a),a}}import{honeyAbi as X}from"@berachain/abis/honey/honey";async function dr({client:e,...t}){let{config:r}=m(t),o=r.honey.token;return await e.readContract({address:o,abi:X,functionName:"paused"})}import{rootPriceOracleAbi as j}from"@berachain/abis/extras/rootPriceOracle";async function lr({pythOracle:e,publicClient:t}){return await t.readContract({address:e,abi:j,functionName:"pythOracle"})}import{honeyFactoryAbi as K}from"@berachain/abis/honey/honeyFactory";async function xr({publicClient:e,factory:t,...r}){let{config:o}=m(r);return await e.readContract({address:t??o.honey.factory,abi:K,functionName:"priceOracle"})}import{GetBlocksTimeStamp as Z}from"@berachain/graphql/chain";async function wr({defaultBlockTime:e,blocksSpan:t,...r}={}){let{config:o}=m(r),a=b("blocks.subgraph",r),n=e??o.averageBlockTime,p=t??Math.floor(w(1)/n),s=(await a.query({query:Z,variables:{skip:p}})).data;return(P(Date.now())-Number(s?.oldest[0]?.timestamp))/(Number(s?.newest[0]?.number)-Number(s?.oldest[0]?.number))}import{lstStakerVaultAbi as Y}from"@berachain/abis/pol/lst/lstStakerVault";async function Fr({tokenList:e,publicClient:t,lstStakingVaults:r,...o}){l(t);let{config:a}=m({...o,chainId:t.chain?.id??o.chainId}),n=e.filter(i=>r.includes(i.address));return n.length===0?[]:(await Promise.all(n.map(async i=>({assetTokenAddress:await t.readContract({address:i.address,abi:Y,functionName:"asset"}),stakingToken:i})))).reduce((i,{assetTokenAddress:s,stakingToken:d})=>{let c=e.find(y=>A(y,s));return c&&i.push({id:d.address,receiptToken:d,inputTokens:[c]}),i},[])}import{rewardVaultAbi as F}from"@berachain/abis/pol/rewards/rewardVault";import{rewardVaultFactoryAbi as ee}from"@berachain/abis/pol/rewards/rewardVaultFactory";var S=[{inputs:[{internalType:"address",name:"initialOwner",type:"address"},{internalType:"address",name:"initialImplementation",type:"address"}],stateMutability:"payable",type:"constructor"},{inputs:[],name:"NewImplementationHasNoCode",type:"error"},{inputs:[],name:"NewOwnerIsZeroAddress",type:"error"},{inputs:[],name:"Unauthorized",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"implementation",type:"address"}],name:"Upgraded",type:"event"},{inputs:[],name:"implementation",outputs:[{internalType:"address",name:"result",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"result",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newImplementation",type:"address"}],name:"upgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"}];async function D({publicClient:e,...t}){let{config:r}=m(t),o=r.pol.factory;h(e,"publicClient"),C(r.pol.factory,"factoryAddress");let a=await e.readContract({address:o,abi:ee,functionName:"beacon"});return await e.readContract({address:a,abi:S,functionName:"implementation"})}async function _r({publicClient:e,...t}){l(e);let r=await D({publicClient:e,...t}),[o,a]=await Promise.all([e.readContract({address:r,abi:F,functionName:"MIN_REWARD_DURATION"}),e.readContract({address:r,abi:F,functionName:"MAX_REWARD_DURATION"})]);return{minRewardDuration:Number(o),maxRewardDuration:Number(a)}}import{zeroAddress as te}from"viem";import{rewardVaultFactoryAbi as re}from"@berachain/abis/pol/rewards/rewardVaultFactory";async function Lr({tokenAddress:e,publicClient:t,factoryAddress:r,...o}){let{config:a}=m(o),n=await t.readContract({address:r??a.pol.factory,abi:re,functionName:"getVault",args:[e]});return n===te?null:n}import{pythPriceOracleAbi as oe}from"@berachain/abis/extras/pythPriceOracle";async function Xr({tokenList:e,publicClient:t,...r}){let{config:o}=m(r);try{let a=await Promise.all(e.map(n=>t.readContract({address:o.honey.pythOracle,abi:oe,functionName:"feeds",args:[n]})));return e.reduce((n,p,i)=>({...n,[p]:a[i]}),{})}catch(a){throw console.error("getPythPriceFeedId",a),a}}async function Yr({url:e,...t}={}){let{config:r}=m(t);return(await g({url:e??r.lists.tokenList,type:"rest",name:"GitHub"})).tokens??[]}import{bgtAbi as T}from"@berachain/abis/pol/bgt";import{beraChefAbi as u}from"@berachain/abis/pol/rewards/beraChef";async function ao({publicClient:e,ui:t,...r}){let{config:o}=m(r),[a,n,p,i,s,d,c,y]=await Promise.all([e.readContract({address:o.pol.beraChef,abi:u,functionName:"MAX_COMMISSION_RATE"}),e.readContract({address:o.pol.beraChef,abi:u,functionName:"commissionChangeDelay"}),e.readContract({address:o.pol.beraChef,abi:u,functionName:"rewardAllocationBlockDelay"}),e.readContract({address:o.pol.beraChef,abi:u,functionName:"maxWeightPerVault"}),e.readContract({address:o.pol.beraChef,abi:u,functionName:"maxNumWeightsPerRewardAllocation"}),e.readContract({address:o.tokens.bgt,abi:T,functionName:"dropBoostDelay"}),e.readContract({address:o.tokens.bgt,abi:T,functionName:"activateBoostDelay"}),e.readContract({address:o.pol.beraChef,abi:u,functionName:"rewardAllocationInactivityBlockSpan"})]);return{maxCommissionRate:Number(a)/1e4,boostDelay:Number(c),unboostDelay:Number(d),commissionChangeDelay:Number(n),rewardAllocationBlockDelay:Number(p),maxWeightPerVault:Number(i)/1e4,maxNumWeightsPerRewardAllocation:Number(s),rewardAllocationInactivityBlockSpan:Number(y),ui:t}}function ae(e){return e?.rewardAllocationWeights?.reduce((t,r)=>{if(!r)return t;let o=r.receivingVault?.activeIncentives.filter(a=>Number(a.remainingAmount)>0).reduce((a,n)=>{let p=Number(n.remainingAmountUsd)/Number(n.remainingAmount);return a+Number(n.incentiveRate)*p},0)??0;return t+o*r.percentage},0)}function io({validator:e,bgtPrice:t}){let r=Number(e.dynamicData?.activeBoostAmount??0),o=ae(e);return!o||!r?0:o*Number(e.dynamicData?.lastDayDistributedBGTAmount??0)*365/(r*t)}export{me as BalancerApi,se as BaseAggregator,R as BeraApolloClient,Ie as HoneyPreviewMethod,ge as MOCKED_PROPOSAL_STATUSES,Ee as RewardVaultDistributionMode,gt as beraWriteContract,xe as checkProposalField,Ae as computeActualStatus,wt as formatValidatorRewardAllocation,ao as getActiveBoostAndCommissionChangeDelay,pe as getAllPools,he as getAllProposals,At as getAllValidators,ft as getAllowances,ht as getApiEnrichedAllocation,de as getApiPool,Ct as getApiValidator,b as getApolloClient,yt as getBalanceCall,qe as getBgtAprSimulation,wr as getBlockTime,He as getBlockTimestamp,Ce as getBodyErrors,Ne as getChartData,Se as getCollateralWeights,ne as getConvertToAssets,Pt as getDailyValidatorBlockStats,tr as getDecodedFunctionData,St as getDefaultRewardAllocation,Le as getEarnedStakedBeraVault,ie as getEnsoClient,Re as getGlobalCapLimit,Qe as getGlobalData,ce as getGlobalLiquidityAndSwapVolume,Fe as getHoneyCollaterals,ir as getHoneyFees,ve as getHoneyGlobalData,dr as getHoneyPausedState,Me as getHoneyPreview,Xr as getHoneyPythFeeds,lr as getHoneyPythOracle,xr as getHoneyRootPriceOracle,Ve as getHoneyVaultsBalance,ze as getIncentiveFeeClaimStats,Fr as getLSTStakeConfig,Dt as getManagedValidatorByAccount,Xe as getMarkets,Et as getMaxDeposit,le as getOnChainPool,fe as getPoolEvents,ye as getPoolHistoricalData,ue as getPoolPausedState,Lt as getPoolState,Pe as getProposalDetails,Be as getProposalFromTx,ke as getProposalVotes,Oe as getPythLatestPrices,Je as getPythUpdateFee,We as getRelativeCapLimit,je as getRewardProofsByValidator,Ke as getRewardTokenToBeraRate,Ze as getRewardVault,_r as getRewardVaultDurationConstants,Lr as getRewardVaultFromToken,Ye as getRewardVaultIncentives,$e as getRewardVaultRewards,et as getRewardVaultStakingToken,Ue as getRewardVaults,at as getSWBeraVaultMetadata,nt as getSWBeraWithdrawal,ot as getStakeWithdrawalCooldown,tt as getStakedBeraAPR,rt as getStakedBeraSnapshots,Ft as getStakingPoolBatch,be as getSubgraphPool,Ge as getSwapPayload,lt as getTokenCurrentPrices,De as getTokenInformation,Yr as getTokens,it as getTotalStakedAmount,Rt as getUserActiveValidators,Tt as getUserBoostsOnValidator,st as getUserClaimableIncentives,vt as getUserStakingPositions,pt as getUserVaultInfo,dt as getUserVaults,mt as getUserVaultsReward,It as getValidatorAnalytics,io as getValidatorBoostApy,Mt as getValidatorCommission,Vt as getValidatorEstimatedBgtPerYear,Ot as getValidatorOperatorAddress,Wt as getValidatorQueuedCommission,Jt as getValidatorQueuedOperatorAddress,Gt as getValidatorQueuedRewardAllocation,ae as getValidatorReturnPerBgt,kt as getValidatorRewardAllocation,ct as getVaultHistory,Xt as getVaultPausedState,ut as getVaultValidators,bt as getWalletBalances,v as gql,Te as isBadCollateralAsset,_e as isBasketModeEnabled,Nt as isDefaultRewardAllocation,xt as isImpersonateAccount,Bt as isSameRewardAllocation,we as parseProposalBody};
2
2
  //# sourceMappingURL=exports.mjs.map
@@ -0,0 +1,2 @@
1
+ import{a as t}from"./chunk-ECRMUMTA.mjs";import{c as T,e as a}from"./chunk-THATXCJK.mjs";function m(e){return{...e,...a(e,"BERA")&&T}}function d(e){return e.map(r=>m(r))}var g=(e,r,i,o)=>{if(!e||!r||!i||!o)return 0;let n=new t(e).times(i),s=new t(r).times(o);if(n.lt(.01)||s.lt(.01)||n.isZero()||s.isZero())return 0;let u=s.div(n);return Number(new t(1).minus(u).toFixed())};export{m as a,d as b,g as c};
2
+ //# sourceMappingURL=chunk-3YXSUBA5.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/utils/tokenWrapping.ts","../src/utils/math.ts"],"sourcesContent":["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"],"mappings":"gDAMO,SAASA,EAAqCC,EAAa,CAChE,MAAO,CACL,GAAGA,EACH,GAAIC,EAAQD,EAAO,MAAM,GAAKE,CAChC,CACF,CAEO,SAASC,EAAsCC,EAAkB,CACtE,OAAOA,EAAO,IAAKJ,GAAUD,EAAgBC,CAAK,CAAC,CACrD,CCfA,OAAOK,MAAe,oCAUf,IAAMC,EAAqB,CAChCC,EACAC,EACAC,EACAC,IACW,CACX,GAAI,CAACH,GAAgB,CAACC,GAAiB,CAACC,GAAY,CAACC,EAAW,MAAO,GAEvE,IAAMC,EAAQ,IAAIN,EAAUE,CAAY,EAAE,MAAME,CAAQ,EAClDG,EAAS,IAAIP,EAAUG,CAAa,EAAE,MAAME,CAAS,EAI3D,GADIC,EAAM,GAAG,GAAI,GAAKC,EAAO,GAAG,GAAI,GAChCD,EAAM,OAAO,GAAKC,EAAO,OAAO,EAAG,MAAO,GAE9C,IAAMC,EAAQD,EAAO,IAAID,CAAK,EAC9B,OAAO,OAAO,IAAIN,EAAU,CAAC,EAAE,MAAMQ,CAAK,EAAE,QAAQ,CAAC,CACvD","names":["wrapNativeToken","token","isToken","wBeraToken","wrapNativeTokens","tokens","BigNumber","computePriceImpact","tokenInPrice","tokenOutPrice","inAmount","outAmount","usdIn","usdOut","ratio"]}
1
+ {"version":3,"sources":["../src/utils/tokenWrapping.ts","../src/utils/math.ts"],"sourcesContent":["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"],"mappings":"yFAMO,SAASA,EAAqCC,EAAa,CAChE,MAAO,CACL,GAAGA,EACH,GAAIC,EAAQD,EAAO,MAAM,GAAKE,CAChC,CACF,CAEO,SAASC,EAAsCC,EAAkB,CACtE,OAAOA,EAAO,IAAKJ,GAAUD,EAAgBC,CAAK,CAAC,CACrD,CCLO,IAAMK,EAAqB,CAChCC,EACAC,EACAC,EACAC,IACW,CACX,GAAI,CAACH,GAAgB,CAACC,GAAiB,CAACC,GAAY,CAACC,EAAW,MAAO,GAEvE,IAAMC,EAAQ,IAAIC,EAAUL,CAAY,EAAE,MAAME,CAAQ,EAClDI,EAAS,IAAID,EAAUJ,CAAa,EAAE,MAAME,CAAS,EAI3D,GADIC,EAAM,GAAG,GAAI,GAAKE,EAAO,GAAG,GAAI,GAChCF,EAAM,OAAO,GAAKE,EAAO,OAAO,EAAG,MAAO,GAE9C,IAAMC,EAAQD,EAAO,IAAIF,CAAK,EAC9B,OAAO,OAAO,IAAIC,EAAU,CAAC,EAAE,MAAME,CAAK,EAAE,QAAQ,CAAC,CACvD","names":["wrapNativeToken","token","isToken","wBeraToken","wrapNativeTokens","tokens","computePriceImpact","tokenInPrice","tokenOutPrice","inAmount","outAmount","usdIn","bignumber_js_default","usdOut","ratio"]}
@@ -0,0 +1,4 @@
1
+ import{a as Ie}from"./chunk-NLVWRMGD.mjs";import{a as De,b as He,c as H}from"./chunk-7WRTK7RJ.mjs";import{a as D,b as j,c as v,d as he,f as M}from"./chunk-2LL3P5PN.mjs";import{B as Je,D as K,F as Ce,G as $e,a as k,b as le,c as Qe,d as Ue,e as ce,j as we,k as Le,l as S,m as Oe,r as Me,y as te,z as _e}from"./chunk-ECRMUMTA.mjs";import{a as c,b as ue,d as We,e as R}from"./chunk-THATXCJK.mjs";import{c as se,d as qe,e as ee,f as P,g as $,h as T}from"./chunk-AX2YQQFQ.mjs";import{formatEther as Ut}from"viem";import{metaMorphoV11Abi as Wt}from"@berachain/abis/bend-metamorpho/metaMorphoV11";async function bo({sharesAmount:e,vaultAddress:t,publicClient:r}){let a=await r.readContract({address:t,abi:Wt,functionName:"convertToAssets",args:[e]});return{raw:a,formatted:Ut(a)}}import{ApolloClient as Lt,ServerError as Ot}from"@apollo/client";import{appConfig as Mt}from"@berachain/config/internal";var de=class extends Lt{url;constructor(t){super(t),this.url=t.url}async query(t){let r=Ht(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 De.startSpan({name:`GraphQL ${r}`,op:"BeraApolloClient.query",attributes:o},i);if(l.error||l.data===void 0)throw new P({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!Mt.env.isProduction&&console.error("BeraApolloClient error",i),Ot.is(i)?new $({response:i.response,cause:i,statusCode:i.statusCode,endpoint:a,tags:o}):i instanceof TypeError?new $({level:"fatal",reason:"TypeError",response:i,cause:i,endpoint:a,tags:o}):new $({response:i,tags:o,cause:i,endpoint:a})}}};function Ht(e){return e.definitions.find(r=>r.kind==="OperationDefinition")?.name?.value}import{InMemoryCache as _t}from"@apollo/client";import{HttpLink as Jt}from"@apollo/client/link/http";import{getUriFromLink as Ke}from"@berachain/config";import{currentDapp as je}from"@berachain/config/internal";import $t from"@berachain/graphql/dex/api";import{gql as Fo}from"@apollo/client";function jt(e){if(!je)return e;let t=typeof e=="string"?void 0:e.headers;return{uri:Ke(e),headers:{...t,"x-graphql-client-name":`berachain.${je}.${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=Ke(e),o=typeof e=="string"?void 0:e.headers;return new de({url:a,link:new Jt({uri:a,headers:o}),defaultOptions:{query:{errorPolicy:"none",fetchPolicy:"no-cache"}},cache:new _t(r),ssrMode:t})}function g(e,{...t}){let{config:r}=c(t);switch(e){case"api":return _(jt(r.api),{inMemoryCacheOptions:{possibleTypes:$t.possibleTypes}});case"bend.whisk":if(!r.bend.whiskApi)throw new P({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)}}import{formatUnits as Kt,isAddress as Ye,zeroAddress as Yt}from"viem";var ze=class e{static PATH_NOT_FOUND_REASON="NO_SWAP_PATHS";needsAccountForQuote=!1;notFoundMessages=[];config;chainId;constructor(t={}){let{config:r,chainId:a}=c(t);this.config=r,this.chainId=a}url="";parseAddresses(t,r){if(!Ye(t)||!Ye(r))throw new P({message:`Invalid address: ${t} or ${r}`,level:"error"});return{tokenInAddress:R(t,"BERA")?this.config.tokens.wbera:t,tokenOutAddress:R(r,"BERA")?this.config.tokens.wbera:r,isTokenInNative:R(t,"BERA"),isTokenOutNative:R(r,"BERA")}}getAmountAfterFees(t,r){if(r===void 0)throw new P({message:"aggregatorsFeeBps is required",level:"error"});let a=new k(t).times(r).dividedBy(1e4).toFixed(0,k.ROUND_DOWN);return new k(t).minus(a).toFixed(0,k.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:i??Yt}}getMinAmountOut(t,r){if(r===void 0)throw new P({message:"slippage is required",level:"error"});let a=new k(t).times(1-r/100);return a.isNaN()||a.isZero()?0n:BigInt(a.toFixed(0))}parseAllowanceRequirements({tokenIn:t,rawAmount:r,spender:a}){return R(t,"BERA")?[]:[{token:t,amount:{raw:r,formatted:Kt(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 P({message:`${this.name} does not support tokens chain ID: ${t.chainId} and ${r.chainId}`,level:"error"})}async fetch(t,r){try{return await Qe({url:t,name:this.name,type:this.type},{method:"GET",headers:{"Content-Type":"application/json"},...r})}catch(a){let o=D({cause:a});throw this.notFoundMessages.some(i=>o.message.includes(i))&&(o.reason=e.PATH_NOT_FOUND_REASON),o}}};import{API_CHAIN_NAMES as zt,BALANCER_QUERIES as Xt,BALANCER_RELAYER as Zt,BalancerApi as Ho,CHAINS as er,COMPOSABLE_STABLE_POOL_FACTORY as tr,NATIVE_ASSETS as rr,Token as ar,VAULT as or,WEIGHTED_POOL_FACTORY_BALANCER_V2 as nr}from"@berachain-foundation/berancer-sdk";import{zeroAddress as Pe}from"viem";import{berachain as Xe,berachainBepolia as ir}from"viem/chains";import{chainConfigs as sr}from"@berachain/config/internal";for(let e of Object.keys(sr)){let{config:t,chainId:r}=c({chainId:Number(e)});zt[r]=t.bex.chainName,er[r]=r===Xe.id?Xe:ir,Zt[r]=t.bex.relayer,or[r]=t.bex.vault,Xt[r]=t.bex.queries,nr[r]=Pe,tr[r]=Pe;let a=new ar(r,Pe,ue.decimals,ue.name,ue.symbol,t.tokens.wbera);rr[r]=a}import{GetPools as lr}from"@berachain/graphql/dex/api";import{GqlPoolOrderBy as ur,GqlPoolOrderDirection as cr}from"@berachain/graphql/pol/api";async function tn({textSearch:e,chain:t,first:r,orderBy:a,orderDirection:o,skip:i,fetchPolicy:l,userAddress:n,blacklistedPoolIds:s,...d}={}){let{config:u}=c(d),f=await g("api",d).query({query:lr,variables:{textSearch:e,chain:t??u.bex.chainName,first:r,orderBy:a??ur.TotalLiquidity,orderDirection:o??cr.Desc,skip:i,userAddress:n,blacklistedPoolIds:s},fetchPolicy:l});return{pools:f.data.poolGetPools??[],count:f.data.count??0}}import{GetPool as dr}from"@berachain/graphql/dex/api";async function sn({poolId:e,account:t,...r}){let{config:a}=c(r),l=(await g("api",r).query({query:dr,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}import{GetGlobalLiquidityAndSwapVolume as mr}from"@berachain/graphql/dex/api";async function mn(e={}){let{config:t}=c(e);return(await g("api",e).query({query:mr,variables:{chain:t.bex.chainName}})).data}import{weightedPoolV4Abi_V2 as pr}from"@berachain-foundation/berancer-sdk";async function Ze({publicClient:e,poolAddress:t}){let r=pr,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]}}import{stablePoolAbi_V3 as fr,vaultV2Abi as gr,weightedPoolFactoryAbi_V3 as et,weightedPoolV4Abi_V2 as me}from"@berachain-foundation/berancer-sdk";import{erc20Abi as tt,formatEther as rt,formatUnits as br,isAddress as yr,isHex as Ar}from"viem";import{GqlPoolType as at}from"@berachain/graphql/pol/api";async function Bn({poolId:e,publicClient:t,...r}){let{config:a}=c(r),o=e.slice(0,42);if(!yr(o)||!Ar(e))throw new T({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:tt,functionName:"name"}),t.readContract({address:a.bex.vault,abi:gr,functionName:"getPoolTokens",args:[e]}),t.readContract({address:o,abi:tt,functionName:"totalSupply"}),t.readContract({address:o,abi:me,functionName:"getSwapFeePercentage"}),t.readContract({address:o,abi:me,functionName:"version"}),t.readContract({address:o,abi:me,functionName:"decimals"}),t.readContract({address:a.bex.factories.composableStable,abi:et,functionName:"isPoolFromFactory",args:[o]}),t.readContract({address:a.bex.factories.weighted,abi:et,functionName:"isPoolFromFactory",args:[o]}),Ze({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:fr,functionName:"getAmplificationParameter"})]):A.name==="WeightedPool"&&(B=await t.readContract({address:o,abi:me,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:br(C??n,p),swapFee:rt(s),decimals:p,weights:B?.map(E=>rt(E)),version:A,factory:m?a.bex.factories.composableStable:a.bex.factories.weighted,type:m?at.Stable:at.Weighted,amplificationParameter:y?[Number(y[0]),y[1],Number(y[2])]:void 0,pausedState:b}}catch(i){throw D({cause:i})}}import{GetPoolEvents as hr}from"@berachain/graphql/dex/api";async function kn({poolId:e,typeInArray:t,...r}){let{config:a}=c(r);return(await g("api",r).query({query:hr,variables:{poolId:e,typeIn:t,chain:a.bex.chainName}})).data}import{isHex as wr}from"viem";import{GetPoolHistoricalData as Cr}from"@berachain/graphql/dex/api";async function Fn({poolId:e,chain:t,...r}){if(!e||!wr(e))throw new T({property:"poolId",value:e,expected:"hex string"});let a=g("api",r),{data:o}=await a.query({query:Cr,variables:{poolId:e,chain:t}});return o.poolGetSnapshots}import{isHex as Pr}from"viem";import{GetSubgraphPool as Br}from"@berachain/graphql/dex/subgraph";async function Un({poolId:e,...t}){if(!Pr(e))throw new Error("poolId is not a valid hex string");return(await g("bex.subgraph",t).query({query:Br,variables:{id:e}})).data.pool}import{isAddress as ot,isHex as vr}from"viem";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{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 ot(t,{strict:!0})?null:"Invalid address";case"hex":return vr(t,{strict:!0})?null:"Invalid address";case"abi":try{JSON.parse(t)}catch{return"Invalid ABI"}return null;case"action":return ot(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}};import{ProposalStatus as w}from"@berachain/graphql/governance";var Vr=!1,Hn=[w.Active,w.PendingQueue,w.PendingExecution,w.Defeated,w.QuorumNotReached];function pe(e,t){let r=Date.now()/1e3;if(t!==void 0){if(e.status===w.CanceledByGuardian)return w.CanceledByGuardian;if(t===2)return Number(e.voteStartAt)<r?w.CanceledByUser:w.CanceledByGuardian;if(t===3)return e.pollResult?!e.quorum||BigInt(e.quorum)>BigInt(e.pollResult.totalTowardsQuorum)?w.QuorumNotReached:w.Defeated:w.QuorumNotReached;if(t===4)return w.PendingQueue;if(t===5)return Number(e.queueEnd)<Date.now()/1e3?w.PendingExecution:w.InQueue;if(t===6)return console.warn("Unexpected expired state on proposal id: ",e.id),w.Defeated}return e.status===w.InQueue&&Number(e.queueEnd)<Date.now()/1e3?w.PendingExecution:Vr&&t===1&&e.quorum&&BigInt(e.quorum)<BigInt(e.pollResult.totalTowardsQuorum)&&Number(e.pollResult.forPercentage)>Number(e.pollResult.againstPercentage)?w.PendingQueue:e.status===w.Pending?Number(e.voteStartAt)<r&&Number(e.voteEndAt)>r?w.Active:Number(e.voteEndAt)<r?e.pollResult?!e.quorum||BigInt(e.quorum)>BigInt(e.pollResult.totalTowardsQuorum)?w.QuorumNotReached:e.pollResult?.against>e.pollResult?.for?w.Defeated:w.PendingQueue:w.QuorumNotReached:w.Pending:e.status===w.Active&&Number(e.voteEndAt)<r?!e.quorum||BigInt(e.quorum)>BigInt(e.pollResult.totalTowardsQuorum)?w.QuorumNotReached:BigInt(e.pollResult?.against??0n)>BigInt(e.pollResult?.for??0n)?w.Defeated:w.PendingQueue:e.status===w.InQueue&&Number(e.queueEnd)<Date.now()/1e3?w.PendingExecution:e.status}import{GetProposals as Rr,SearchProposals as Sr}from"@berachain/graphql/governance";async function Kn({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:Sr,variables:{offset:a,limit:o,where:e,text:i}}):n.query({query:Rr,variables:{offset:a,limit:o,where:e,orderBy:t,orderDirection:r}})]);return s.data.proposals.map(d=>({...d,status:pe(d)}))}catch(n){throw console.error("getAllProposals:",n),n}}var Xn=(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};import{GetProposal as kr}from"@berachain/graphql/governance";async function ai({proposalId:e,...t}){let a=await g("governance.subgraph",t).query({query:kr,variables:{id:e}});if(a.data.proposal)return{...a.data.proposal,status:pe(a.data.proposal)}}import nt from"gray-matter";var Nr=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")},it=e=>{if(!e)return{isFrontMatter:!1,data:{title:"Loading..."},content:"",matter:"",language:"",orig:"",stringify:()=>""};let t=e?.description??"";if(nt.test(t))return{...nt(t),isFrontMatter:!0};try{let r=Nr(t);return{isFrontMatter:!1,data:{title:r.title},content:r.content,matter:"",language:"",orig:t,stringify:()=>t}}catch{return{isFrontMatter:!1,data:{title:e?.description?.split(`
3
+ `)[0].slice(0,100)},content:t,matter:"",language:"",orig:t,stringify:()=>t}}};import{parseEventLogs as Gr}from"viem";import{berachainGovernanceAbi as xr}from"@berachain/abis/gov/berachainGovernance";import{ProposalStatus as Tr}from"@berachain/graphql/governance";async function mi(e){v(e.publicClient);let t;"tx"in e?t=e.tx:t=await e.publicClient.getTransactionReceipt({hash:e.txHash});let r=t?.logs?Gr({abi:xr,logs:t.logs,eventName:"ProposalCreated"})?.at(0):void 0;if(!t||!r)return null;let a=await e.publicClient.getBlock({blockNumber:t.blockNumber}),o=it({description:r?.args.description});return{id:String(r.args.proposalId),proposalId:String(r?.args.proposalId),createdAt:a.timestamp.toString(),title:o.data.title,createdAtBlock:a.timestamp.toString(),voteStartAt:String(r?.args.voteStart),voteEndAt:String(r?.args.voteEnd),proposer:r?.args.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:Tr.Pending,quorum:null,topics:o.data.topics,votes:[],executableCalls:r?.args.targets.map((i,l)=>({__typename:"ExecutableCall",id:`${t.transactionHash}-${l}`,target:i,value:String(r?.args.values[l]),calldata:r?.args.calldatas[l]})),timelock:void 0}}import{GetProposalVotes as Er}from"@berachain/graphql/governance";async function bi({variables:e,...t}){return g("governance.subgraph",t).query({query:Er,variables:e})}import{Aggregation_Interval as Fr,GetChartData as Ir}from"@berachain/graphql/honey";async function wi({days:e,...t}){return(await g("honey.subgraph",t).query({query:Ir,variables:{interval:Fr.Day,first:e}})).data}import{honeyFactoryAbi as qr}from"@berachain/abis/honey/honeyFactory";async function vi({client:e,collateralList:t,...r}){let{config:a}=c(r);try{let o=await e.readContract({address:a.honey.factory,abi:qr,functionName:"getWeights"});return t.reduce((l,n,s)=>Object.assign(l,{[n.address]:o[s]}),{})}catch(o){throw console.log(o),o}}import{erc20Abi as Be}from"viem";async function st({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:Be,functionName:"decimals"}),t.readContract({address:e,abi:Be,functionName:"name"}),t.readContract({address:e,abi:Be,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),D({cause:a})}}import{honeyFactoryAbi as ve}from"@berachain/abis/honey/honeyFactory";async function Ve({client:e,tokenData:t,preferredCollateralOrder:r,...a}){let{config:o}=c(a),[i,l]=await Promise.all([e.readContract({address:o.honey.factory,abi:ve,functionName:"numRegisteredAssets"}),e.readContract({address:o.honey.factory,abi:ve,functionName:"referenceCollateral"})]),n=[];for(let f=0;f<i;f++)n.push(e.readContract({address:o.honey.factory,abi:ve,functionName:"registeredAssets",args:[BigInt(f)]}));let s=await Promise.all(n),u=(await Promise.all(s.map(f=>{let b=t?.find(p=>R(p,f));return b||st({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(r?.length){let f=[];for(let b of r){let p=u.find(A=>R(A.address,b.address));p&&(f.push(p),u.splice(u.indexOf(p),1))}u.unshift(...f)}let m=u.find(f=>R(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}}import{parseUnits as Dr}from"viem";import{honeyFactoryAbi as lt}from"@berachain/abis/honey/honeyFactory";import{honeyFactoryReaderAbi as Qr}from"@berachain/abis/honey/honeyFactoryReader";async function ut({client:e,collateral:t,latestPrices:r,isPythWrapperEnabled:a,...o}){let{config:i}=c(o);try{let l=e.readContract({address:i.honey.factory,abi:lt,functionName:"isBadCollateralAsset",args:[t.address]}),n=e.readContract({address:i.honey.factory,abi:lt,functionName:"isPegged",args:[t.address]});if(a&&r){let u=r.prices.map(m=>Dr(m,18));n=e.readContract({address:i.honey.reader,abi:Qr,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}}import{parseEther as dt}from"viem";import{honeyFactoryAbi as Lr}from"@berachain/abis/honey/honeyFactory";import{parseEther as Ur}from"viem";import{collateralVaultAbi as Wr}from"@berachain/abis/honey/collateralVault";import{honeyFactoryAbi as ct}from"@berachain/abis/honey/honeyFactory";async function re({client:e,asset:t,amount:r,...a}){let{config:o}=c(a);try{let[i,l]=await Promise.all([e.readContract({address:o.honey.factory,abi:ct,functionName:"vaults",args:[t]}),e.readContract({address:o.honey.factory,abi:ct,functionName:"collectedFees",args:[o.honey.factory,t]})]);return await e.readContract({address:i,abi:Wr,functionName:"balanceOf",args:[o.honey.factory]})+Ur(r??"0")-l}catch(i){throw console.log(i),i}}var Or=dt("1");async function Xi({client:e,asset:t,amount:r,isMint:a,isPythWrapperEnabled:o,latestPrices:i,...l}){let{config:n}=c(l);try{let s=await e.readContract({address:n.honey.factory,abi:Lr,functionName:"globalCap"});if(s>=Or)return!1;let[{collaterals:d},u]=await Promise.all([Ve({client:e}),Mr({client:e,asset:t,amount:r,latestPrices:i,isPythWrapperEnabled:o})]);if(!u)return;for(let m in u)if((a&&R(d[m],t)||!a&&R(d[m],t))&&u[m]>s-ce)return!0;return!1}catch(s){throw console.log(s),s}}async function Mr({client:e,asset:t,amount:r,latestPrices:a,isPythWrapperEnabled:o}){let{collaterals:i}=await Ve({client:e}),l=0n,n=[];for(let s of i){let d=await ut({client:e,collateral:t,latestPrices:a,isPythWrapperEnabled:o});if(d?.isBlacklisted||d?.isDepegged)continue;let u=await re({client:e,asset:s.address,amount:R(s,t)?r:"0"});u&&(l+=u,n.push(u))}if(l===0n)return n;for(let s in i)n[s]=dt(n[s].toString())/l;return n}import{GetGlobalData as Hr}from"@berachain/graphql/honey";async function rs({...e}={}){return(await g("honey.subgraph",e).query({query:Hr})).data}import{parseUnits as mt}from"viem";import{honeyFactoryReaderAbi as pt}from"@berachain/abis/honey/honeyFactoryReader";var _r=(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))(_r||{});async function ss({client:e,collateral:t,collateralList:r,amount:a,method:o,latestPrices:i,isPythWrapperEnabled:l,...n}){let{config:s}=c(n);try{let d=o==="previewMintHoney"||o==="previewRedeemHoney"||o==="previewMintHoneyWithPrices"||o==="previewRedeemHoneyWithPrices",u=mt(a,d?t.decimals:18),m,f=[t.address,u];if(l&&i){let p=i.prices.map(A=>mt(A,18));f=[t.address,u,p]}if(d){let p=await e.readContract({address:s.honey.reader,abi:pt,functionName:o,args:f});m={collaterals:p[0],honey:p[1]}}else m={collaterals:await e.readContract({address:s.honey.reader,abi:pt,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}}import{formatUnits as Jr}from"viem";import{collateralVaultAbi as Re}from"@berachain/abis/honey/collateralVault";import{honeyFactoryAbi as ft}from"@berachain/abis/honey/honeyFactory";async function ps({client:e,collateralList:t,honeyFactoryAddress:r,...a}){let{config:o}=c(a),i=r??o.honey.factory;return await Promise.all(t.map(async n=>{let s=await e.readContract({address:o.honey.factory,abi:ft,functionName:"vaults",args:[n.address]}),[d,u,[m,f]]=await Promise.all([e.readContract({address:s,abi:Re,functionName:"balanceOf",args:[i]}),e.readContract({address:i,abi:ft,functionName:"collectedAssetFees",args:[n.address]}),e.readContract({address:s,abi:Re,functionName:"custodyInfo"})]),b=await e.readContract({address:s,abi:Re,functionName:"convertToAssets",args:[d-u]});return{...n,balance:{raw:b.toString(),formatted:Jr(b,n.decimals)},vault:m?f:s}}))}import{HermesClient as $r}from"@pythnetwork/hermes-client";import{formatUnits as jr}from"viem";var Kr="https://hermes.pyth.network";async function gt({priceFeedId:e}){let r=await new $r(Kr,{}).getLatestPriceUpdates(e,{encoding:"hex",parsed:!0});return{calldata:r.binary.data.map(a=>`0x${a}`),prices:r.parsed?.flatMap(a=>jr(BigInt(a.price.price),a.price.expo*-1))??[]}}import{parseEther as Yr}from"viem";import{honeyFactoryAbi as zr}from"@berachain/abis/honey/honeyFactory";async function Bs({client:e,asset:t,amount:r,isMint:a,referenceCollateral:o,...i}){let{config:l}=c(i);if(t===o.address)return!1;try{let[n]=await Promise.all([e.readContract({address:l.honey.factory,abi:zr,functionName:"relativeCap",args:[t]})]),[s,d]=await Promise.all([re({client:e,asset:t,amount:a?r:void 0}),re({client:e,asset:o.address,amount:a?void 0:r})]);return d===0n?s!==0n:Yr((s??0n).toString())/(d??0n)>=n-ce}catch(n){throw console.log(n),n}}async function bt({client:e,priceFeedId:t,...r}){let{config:a}=c(r);try{return await e.readContract({address:a.external.pyth,abi:Ie,functionName:"getUpdateFee",args:[t]})}catch(o){throw console.error("getPythUpdateFee",o),o}}import{parseUnits as yt}from"viem";import{honeyFactoryAbi as Xr}from"@berachain/abis/honey/honeyFactory";import{honeyFactoryPythWrapperAbi as Zr}from"@berachain/abis/honey/honeyFactoryPythWrapper";var qs=async({state:e,publicClient:t,priceFeedMap:r,collateralList:a,isPythWrapperEnabled:o,...i})=>{let{config:l}=c(i),n=We(i),{actionType:s,fromAmount:d,collaterals:u,isBasketModeEnabled:m}=e,f=o?l.honey.pythWrapper:l.honey.factory,b=a.map(p=>p.address);if(d[0]&&b.length){let p=s==="mint";if(o&&t&&r){let C=(await gt({priceFeedId:Object.values(r)})).calldata,B=0n;try{B=await bt({client:t,priceFeedId:C})}catch{B=Le(u.length)}return({account:y})=>{let E=[C,u[0]?.address,yt(d[0],(p?u[0]?.decimals:n?.decimals)??18),y,!!m];return{address:f,abi:Zr,functionName:p?"mint":"redeem",params:E,value:B}}}return({account:A})=>{let C=[u[0]?.address,yt(d[0],(p?u[0]?.decimals:n?.decimals)??18),A,!!m];return{value:0n,address:f,abi:Xr,functionName:p?"mint":"redeem",params:C}}}throw new Error("Something went wrong while creating the Honey swap payload")};import{parseUnits as ea}from"viem";import{honeyFactoryAbi as ta}from"@berachain/abis/honey/honeyFactory";import{honeyFactoryReaderAbi as ra}from"@berachain/abis/honey/honeyFactoryReader";async function Os({client:e,isMint:t,collateralList:r,latestPrices:a,isPythWrapperEnabled:o,...i}){let{config:l}=c(i);if(o&&a){if(r.length===0)return;let s=a.prices.map(u=>ea(u,18));return await e.readContract({address:l.honey.reader,abi:ra,functionName:"isBasketModeEnabledWithPrices",args:[t,s]})}return await e.readContract({address:l.honey.factory,abi:ta,functionName:"isBasketModeEnabled",args:[t]})}async function Js({block:e,currentBlock:t,blockTime:r,publicClient:a}){if(j(e,"block"),v(a),t>e){let i=await a.getBlock({blockNumber:BigInt(e),includeTransactions:!1});return{timestamp:Number(i.timestamp)}}return{timestamp:S(Date.now())+r*(Number(e)-Number(t))}}import{formatUnits as Se}from"viem";import{rewardVaultAbi as z}from"@berachain/abis/pol/rewards/rewardVault";var aa=(a=>(a.Duration="duration",a.TargetRate="targetRate",a.TargetApr="targetApr",a))(aa||{});async function zs(e,t){let[r,a,o,i,l,n]=await Promise.all([t.readContract({address:e,abi:z,functionName:"rewardsDuration"}),t.readContract({address:e,abi:z,functionName:"rewardVaultManager"}),t.readContract({address:e,abi:z,functionName:"rewardRate"}),t.readContract({address:e,abi:z,functionName:"periodFinish"}),t.readContract({address:e,abi:z,functionName:"targetRewardsPerSecond"}),t.readContract({address:e,abi:z,functionName:"minRewardDurationForTargetRate"})]),s=o*(i-BigInt(S(Date.now())))/10n**18n;return{rewardsDuration:Number(r),mode:l===0n?"duration":"targetRate",manager:a,rewardRate:Se(o,36),periodFinish:Number(i),availableRewards:Se(s,18),minRewardDurationForTargetRate:Number(n),targetRewardsPerSecond:Se(l,36)}}function fe(e,t,r){return e?r*t*te(1)/e:null}function oa(e,t,r){return r?e*r/(t*te(1)):0}function el({availableRewards:e,periodFinish:t,tvl:r,bgtPrice:a,MIN_REWARD_DURATION:o,MAX_REWARD_DURATION:i,...l}){let n=S(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=oa(l.apr,a,r),m===0){let C=Math.min(b,i),B=e?e/C:0;return{apr:fe(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:fe(r,a,C),duration:p,rewardRate:C,targetRate:C.toString(),periodFinish:p+n,mode:null}}return{apr:fe(r,a,m),duration:A,rewardRate:m,targetRate:m.toString(),periodFinish:A+n,mode:null}}let{duration:s}=l,d=e/s;return{apr:fe(r,a,d),mode:null,targetRate:null,duration:s,rewardRate:d,periodFinish:s+n}}async function ol({address:e,account:t,...r}){let{config:a}=c(r),o=`${a.bonder}/vaults/${e}/earnings/${t}`;return Ue({url:o,type:"rest"})}import{formatUnits as na}from"viem";import{rewardVaultAbi as ia}from"@berachain/abis/pol/rewards/rewardVault";import{GetVaults as sa}from"@berachain/graphql/pol/api";async function ge({filter:e,publicClient:t,...r}={}){let o=await g("api",r).query({query:sa,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:ia,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=i[s]?.status==="fulfilled"&&i[s]?.value?.[f]?.status==="fulfilled"?na(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:n.dynamicData?.allTimeReceivedBGTAmount??"0",bgtCapturePercentage:n.dynamicData?.bgtCapturePercentage??"0",activeIncentivesValueUsd:d.toString(),activeIncentivesRateUsd:n.dynamicData?.activeIncentivesRateUsd??"0",bgtCapturePerBlock:n.dynamicData?.bgtCapturePerBlock??"0"},activeIncentives:u}});return{pagination:o.data.polGetRewardVaults.pagination,gaugeList:l}}import{GlobalData as la}from"@berachain/graphql/pol/api";async function At(e={}){let{config:t}=c(e),a=await g("api",e).query({query:la,variables:{chain:t.bex.chainName}});return{...a.data.polGetGlobalInfo,top3EmittingValidators:a.data.top3EmittingValidators.validators,allValidatorsCount:a.data.allValidatorsCount.pagination.totalCount}}import{formatEther as ua}from"viem";import{bgtAbi as ca}from"@berachain/abis/pol/bgt";async function ht({publicClient:e,...t}){let{config:r}=c(t);v(e);try{let a=await e.readContract({address:r.tokens.bgt,abi:ca,functionName:"totalBoosts",args:[]});return ua(a)}catch(a){throw console.log(a),a}}import{erc20Abi as da,formatEther as ma}from"viem";async function wt({publicClient:e,...t}){let{config:r}=c(t);v(e);try{let a=await e.readContract({address:r.tokens.bgt,abi:da,functionName:"totalSupply",args:[]});return ma(a??0n)}catch(a){throw console.log(a),a}}import{GqlRewardVaultOrderBy as pa,GqlRewardVaultOrderDirection as fa}from"@berachain/graphql/pol/api";async function Ct(e){let{gaugeList:t}=await ge({filter:{orderBy:pa.Apr,orderDirection:fa.Desc,pageSize:e,where:{includeNonWhitelisted:!1}}});return t}async function El(e){let[t,r,a,o]=await Promise.allSettled([At(),Ct(300),wt({publicClient:e}),ht({publicClient:e})]);return t.status==="rejected"&&M.captureException(D({cause:t.reason,level:"warning"})),r.status==="rejected"&&M.captureException(D({cause:r.reason,level:"warning"})),a.status==="rejected"&&M.captureException(D({cause:a.reason,level:"warning"})),o.status==="rejected"&&M.captureException(D({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:{}}}import{GetIncentiveFeeClaimStats as ga}from"@berachain/graphql/pol/subgraph";async function Pt({...e}){let t=g("pol.subgraph",e),{data:r}=await t.query({query:ga});if(r.incentiveFeeClaims.length>0){let a=r?.incentiveFeeClaims.reduce((l,n)=>l+Number(n.payoutAmount),3e4),i=(r?.incentiveFeeClaims.filter(l=>Number(l.timestamp)/1e3>Date.now()-Me(1))).reduce((l,n)=>l+Number(n.payoutAmount),0);return{sumAllClaims:a,sumClaimsInLast24Hours:i}}return{sumAllClaims:0,sumClaimsInLast24Hours:0}}async function Wl(e={}){let{config:t}=c(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 _l({account:e,validator:t,page:r=1,perPage:a=1e3,...o}){let{config:i}=c(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 le(l);throw new P({message:"Failed to fetch proofs on server",cause:{error:s,result:l,account:e,validator:t},reason:s?.reason})}return await l.json()}import{formatUnits as ba,parseUnits as ya}from"viem";import{wberaStakerVaultAbi as Aa}from"@berachain/abis/pol/wberaStakerVault";async function Yl({address:e,publicClient:t}){return v(t),t.readContract({address:e,abi:Aa,functionName:"previewRedeem",args:[ya("1",18)]}).then(r=>Number(ba(r,18))).catch(()=>0)}import{GetRewardVault as ha}from"@berachain/graphql/pol/api";async function ru({address:e,chainName:t,...r}){let{config:a}=c(r),o=t??a.bex.chainName,i=g("api",r),{data:l}=await i.query({query:ha,variables:{vaultId:e,chain:o}});if(!l?.rewardVault)throw new He({resource:"Reward vault",id:e,chainId:a.chainId});return l.rewardVault}import{isSameAddress as Bt}from"@berachain-foundation/berancer-sdk";import{erc20Abi as ke,formatUnits as ae}from"viem";import{rewardVaultAbi as Ne}from"@berachain/abis/pol/rewards/rewardVault";async function uu({address:e,stakingToken:t,publicClient:r}){let a=await r.readContract({address:e,abi:Ne,functionName:"getWhitelistedTokens"}),i=a.findIndex(n=>Bt(t,n))!==-1?await r.readContract({address:e,abi:Ne,functionName:"totalSupply"}):0n,l=await Promise.allSettled(a.map(async n=>{let[s,d,u,m]=await Promise.all([r.readContract({address:e,abi:Ne,functionName:"incentives",args:[n]}),r.readContract({address:n,abi:ke,functionName:"decimals"}),r.readContract({address:n,abi:ke,functionName:"symbol"}),r.readContract({address:n,abi:ke,functionName:"balanceOf",args:[e]})]),[f,b,p,A]=s;return{token:n,manager:A,minIncentiveRate:ae(f,d),incentiveRate:ae(b,d),remainingAmount:ae(p,d),symbol:u,decimals:d,pendingAmount:Bt(t,n)?ae(m-i-p,d):ae(m-p,d)}}));return l.forEach((n,s)=>{n.status==="rejected"&&M.captureException(new P({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)}import{rewardVaultAbi as wa}from"@berachain/abis/pol/rewards/rewardVault";async function mu({address:e,publicClient:t}){return await t.readContract({address:e,abi:wa,functionName:"stakeToken"})}import{GetSWberaVaultMetadata as Ca,GqlSWberaVaultMetadataResolution as vt}from"@berachain/graphql/pol/api";function Pa(e){return e==="DAY"?vt.OneDay:vt.SevenDays}async function yu({window:e,...t}){let{config:r}=c(t),a=g("api",t);try{let o=await a.query({query:Ca,variables:{chain:r.bex.chainName,resolution:Pa(e??"DAY")}}),{apr:i}=o.data.polGetSWberaVaultMetadata;return Number(i)}catch(o){throw console.error("Failed to get SW Bera APR",o),o}}import{GetSWberaVaultSnapshots as Ba,GqlVaultSnapshotDataRange as va}from"@berachain/graphql/pol/api";async function Pu({chain:e,range:t=va.ThirtyDays,...r}={}){let{config:a}=c(r),o=g("api",r);try{return(await o.query({query:Ba,variables:{chain:e??a.bex.chainName,range:t}})).data.polGetSWberaVaultSnapshots}catch(i){throw console.error("Failed to get SW Bera Snapshots",i),i}}import{wberaStakerVaultAbi as Va}from"@berachain/abis/pol/wberaStakerVault";async function oe({publicClient:e,address:t}){let r=await e.readContract({address:t,abi:Va,functionName:"WITHDRAWAL_COOLDOWN"});return Number(r)}import{erc20Abi as be}from"viem";import{wberaStakerVaultAbi as ne}from"@berachain/abis/pol/wberaStakerVault";async function Eu({address:e,publicClient:t,blockTime:r,...a}){let{config:o}=c(a);v(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,E]=await Promise.all([t.readContract({address:e,abi:ne,functionName:"totalAssets"}),t.readContract({address:e,abi:ne,functionName:"totalSupply"}),t.readContract({address:e,abi:ne,functionName:"previewRedeem",args:[10n**18n],blockNumber:l.number}),t.readContract({address:o.tokens.wbera,abi:be,functionName:"balanceOf",args:[e]}),t.readContract({address:e,abi:ne,functionName:"totalAssets",blockNumber:s}),t.readContract({address:e,abi:be,functionName:"totalSupply",blockNumber:s}),t.readContract({address:e,abi:ne,functionName:"previewRedeem",args:[10n**18n],blockNumber:s}),t.readContract({address:o.tokens.wbera,abi:be,functionName:"balanceOf",args:[e],blockNumber:s}),t.readContract({address:o.tokens.wbera,abi:be,functionName:"totalSupply"}),oe({publicClient:t,address:e}),Pt({})]),N=new k(A.toString());return{current:{exchangeRate:new k(m.toString()).toString(),totalSupply:new k(u.toString()).dividedBy(1e18).toString(),totalAssets:new k(d.toString()).dividedBy(1e18).toString(),tvl:new k(f.toString()).dividedBy(1e18).toString()},previous:{exchangeRate:N.toString(),totalSupply:new k(p.toString()).dividedBy(1e18).toString(),totalAssets:new k(b.toString()).dividedBy(1e18).toString(),tvl:new k(C.toString()).dividedBy(1e18).toString()},totalWBeraIssued:new k(B.toString()).dividedBy(1e18).toString(),lockPeriod:y,totalBuyBacks:E.sumAllClaims,totalBuyBacksInLast24Hours:E.sumClaimsInLast24Hours}}catch(l){throw console.error("Failed to get SW Bera Vault Metadata",l),l}}import{wberaStakerVaultAbi as ye}from"@berachain/abis/pol/wberaStakerVault";function Vt(e){let t=Date.now(),r=e*1e3-t;if(r<=0)return;let a=S(r);return Je(a,!0,!0)}async function Wu({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=S(Date.now()),p=f-b;if(m>0){let A=Vt(p<=0?0:f);o.push({receiptTokenAddress:e,withdrawalAmount:m,timeRemaining:A})}}switch(a){case"V1":{let[l,n]=await Promise.all([r.readContract({address:e,abi:ye,functionName:"withdrawalRequests",args:[t]}),oe({publicClient:r,address:e})]);return i(l,n),o}case"V2":{let[l,n]=await Promise.all([r.readContract({address:e,abi:ye,functionName:"getERC721WithdrawalRequestIds",args:[t]}),oe({publicClient:r,address:e})]);if(R(e,"SWBERA")){let u=await r.readContract({address:e,abi:ye,functionName:"withdrawalRequests",args:[t]});i(u,n)}let d=(await Promise.all(l.map(async u=>{let m=await r.readContract({address:e,abi:ye,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=S(Date.now()),B=A-C;if(p>0){let y=Vt(B<=0?0:A);return{withdrawalAmount:p,timeRemaining:y,withdrawalRequestId:u,receiptTokenAddress:e}}return null}))).filter(u=>u!==null);return o.push(...d),o}}}import{wberaStakerVaultAbi as Ra}from"@berachain/abis/pol/wberaStakerVault";async function Hu({vaultAddresses:e,publicClient:t}){v(t);try{let r=await Promise.all(e.map(async o=>await t.readContract({address:o,abi:Ra,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 Ku({account:e,...t}){let{config:r}=c(t),a=await fetch(`${r.pol.bribeBoostApi}/api/v1/wallets/${e.toLowerCase()}/rewards/aggregation`,{cache:"no-store"});if(!a.ok){let o=await le(a);throw new P({message:"Failed to fetch incentives on server",cause:{error:o,result:a,account:e},reason:o?.error})}return await a.json()}import{rewardVaultAbi as Sa}from"@berachain/abis/pol/rewards/rewardVault";async function Rt({account:e,vaultAddress:t,publicClient:r}){if(!r)throw new Error("Missing public client");if(!e)throw new Error("Missing user account");if(!t)throw new Error("Missing vault address");return await r.readContract({address:t,abi:Sa,functionName:"earned",args:[e]})}import{formatEther as Ge}from"viem";import{rewardVaultAbi as St}from"@berachain/abis/pol/rewards/rewardVault";async function kt({account:e,vaultAddress:t,publicClient:r}){v(r),he(e,"account"),he(t,"vaultAddress");try{let[a,o]=await Promise.all([r.readContract({address:t,abi:St,functionName:"balanceOf",args:[e]}),r.readContract({address:t,abi:St,functionName:"getTotalDelegateStaked",args:[e]})]);return{balance:a,delegated:o}}catch(a){throw console.log(a),a}}import{rewardVaultAbi as ka}from"@berachain/abis/pol/rewards/rewardVault";async function Nt({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:ka,functionName:"totalSupply",args:[]})}catch(r){throw console.log(r),r}}async function lc({account:e,vaultAddress:t,publicClient:r}){let[a,o,i]=await Promise.all([kt({account:e,vaultAddress:t,publicClient:r}),Rt({account:e,vaultAddress:t,publicClient:r}),Nt({vaultAddress:t,publicClient:r})]),l=a.balance-a.delegated,n=i>0n?Number(Number.parseFloat(Ge(a.balance))/Number.parseFloat(Ge(i))).toString():"0";return{balance:a.balance,delegatedBalance:a.delegated,withdrawableBalance:l,rewards:Ge(o),percentage:n}}import{formatUnits as xe}from"viem";import{rewardVaultAbi as Gt}from"@berachain/abis/pol/rewards/rewardVault";import{GetUserVaults as Na}from"@berachain/graphql/pol/api";async function yc({account:e,publicClient:t,...r}){let{config:a}=c(r),l=(await g("api",r).query({query:Na,variables:{userId:e,chain:a.bex.chainName}})).data?.userVaultDeposits?.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:Gt,functionName:"earned",args:[e]}))}),t.multicall({allowFailure:!1,contracts:l.map(b=>({address:b.vaultAddress,abi:Gt,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 M.captureException(new P({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=p.vault.dynamicData?.tvl&&Number(p.vault.stakingTokenAmount)!==0?Number(p.vault.dynamicData?.tvl??0)/Number(p.vault.stakingTokenAmount):null;b.userVaults.push({...p,vault:p.vault,unclaimedBgt:xe(C,18),formattedBalance:xe(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(p.vault.dynamicData?.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:xe(u,18),vaults:m}}import{GetVaultHistory as Ga}from"@berachain/graphql/pol/api";async function Pc({vault:e,chain:t,...r}){let{config:a}=c(r);return(await g("api",r).query({query:Ga,variables:{...r,vaultId:e,chain:t??a.bex.chainName}})).data.polGetRewardVaultSnapshots}import{GetVaultValidators as xa}from"@berachain/graphql/pol/api";async function Rc({address:e,onlyActiveValidators:t,...r}){return(await g("api",r).query({query:xa,variables:{vaultId:e,isActive:t}})).data.validators.validators??[]}import{getAddress as Ta,zeroAddress as Ea}from"viem";import{GetTokenCurrentPrices as Fa}from"@berachain/graphql/dex/api";async function Fc({addressIn:e,...t}){let{config:r,chainId:a}=c(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:Fa,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[Ta(d)]={price:K(s.price.toString()),updatedAt:s.updatedAt,chainId:a},n[d.toLowerCase()]={price:K(s.price.toString()),updatedAt:s.updatedAt,chainId:a},R(d,"WBERA")&&(n[Ea]={price:K(s.price.toString()),updatedAt:s.updatedAt,chainId:a},n[r.tokens.bgt.toLowerCase()]={price:K(s.price.toString()),updatedAt:s.updatedAt,chainId:a},n[r.tokens.bgt]={price:K(s.price.toString()),updatedAt:s.updatedAt,chainId:a}),n},{})}import{getPublicClient as Ia}from"@wagmi/core";import{erc20Abi as qa,formatUnits as Da}from"viem";async function Uc({items:e,account:t,config:r}){j(e,"items"),j(r,"config"),j(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=Ia(r,{chainId:Number(i)});return v(n,`publicClient ${i}`),(await n.multicall({contracts:l.map(u=>({address:u.token.address,abi:qa,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:Da(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)}import{getPublicClient as Wa,getWalletClient as La,switchChain as Oa}from"@wagmi/core";import{BaseError as Ma,createWalletClient as Ha,decodeErrorResult as _a,HttpRequestError as Ja,http as $a}from"viem";import{ChainId as ja,defaultChainId as Et}from"@berachain/config/internal";import{AbiFunctionSignatureNotFoundError as Qa,decodeFunctionData as Ua}from"viem";async function xt({publicClient:e,abi:t,...r}){let a=[...se,...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 T({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 T({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=Ua({abi:a,data:s});d=m.functionName,u=m.args}catch(m){throw m instanceof Qa&&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 H({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 ee({error:m,abi:a,revertIfUnknown:!0});throw m}}var Ka=Oe(1),Tt=(e,t)=>e*(100n+BigInt(t))/100n;function Te({nonceResult:e,onWarning:t}){if(e.status==="fulfilled"){if(e.value&&e.value>Number.MAX_SAFE_INTEGER){t?.(new P({message:"Nonce is too large. No nonce will be provided to avoid IntegerOutOfRangeError.",cause:e.value,level:"debug"}));return}return e.value}}function Ya(e=Et){return e===ja.BEPOLIA?process.env.NEXT_PUBLIC_80069_ANVIL_IMPERSONATE_ACCOUNT==="true":process.env.NEXT_PUBLIC_80094_ANVIL_IMPERSONATE_ACCOUNT==="true"}async function sd(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 T({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=Et,impersonateAccount:A=Ya(p),errorsAbi:C=[],pollingInterval:B=Ka,...y}=e;i?.(e);let E="data"in y?y.data:void 0,N=[...se,...C,..."abi"in y&&y.abi&&Array.isArray(y.abi)?y.abi:[]],G=m;if(!u){s?.(new T({property:"wagmiConfig",value:u,expected:"Config"}),e);return}if(!(G?.account?.type==="local"))try{await Oa(u,{chainId:p})}catch(V){let x=V;s?.(new P({cause:x,displayMessage:"There was an error switching to the chain."}),e);return}if(!G)try{G=await La(u,{chainId:p})}catch(V){s?.(new P({cause:V,displayMessage:"There was an error connecting to the wallet."}),e);return}if(!G){s?.(new T({displayMessage:"There was an error connecting to the wallet.",property:"walletClient",value:G,expected:"WalletClient"}),e);return}let q=f||G.account;if(!q){s?.(new T({property:"account",value:q,expected:"Account"}),e);return}let ie=typeof q=="string"?q:q.address,W=Wa(u,{chainId:p});try{v(W)}catch(V){s?.(V,e);return}if(A){let V=Ce(p);await V.impersonateAccount({address:ie}),G=Ha({transport:$a(V.transport.url),account:q,chain:G.chain})}let F,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=W.getTransactionCount({address:ie,blockTag:"latest"}).catch(()=>{}),x={account:ie,to:t,address:t,chainId:p,value:a};if(r){let I=r.map(h=>{if("abi"in h&&Array.isArray(N)&&N.push(...h.abi),"data"in h)return{to:h.address,data:h.data,value:h.value??0n};if("abi"in h&&"functionName"in h){let L="params"in h?h.params:void 0;return{to:h.address,abi:h.abi,functionName:h.functionName,args:L,value:h.value??0n}}return{to:h.address,value:h.value??0n}});if(e.enableSimulateCalls){let h=await W.simulateCalls({calls:I,account:q}),L=h.results.findIndex(O=>O.status==="failure");if(L!==-1){if(h.block.number===null)throw new T({property:"blockNumber",value:h.block.number,expected:"bigint",message:"Block number is null"});let O=h.results[L],{reason:Ae}=O.data&&O.data!=="0x"?{reason:qe(_a({data:O.data,abi:N}))}:ee({error:O.error,revertIfUnknown:!1,abi:N});s?.(new H({cause:O.error,txHash:F,chainId:p,reason:Ae,abi:N,input:Z,blockNumber:h.block.number}),e);return}}if(process.env.NODE_ENV==="test")throw new T({displayMessage:"Batch calls are not supported in test environment",expected:"not test",property:"NODE_ENV",value:process.env.NODE_ENV,level:"fatal"});let Q=await G.sendCalls({calls:I,account:q,forceAtomic:!0});d?.({id:Q.id},e);let U=await G.waitForCallsStatus({id:Q.id,pollingInterval:B,timeout:b});if(U.status==="success"){let h=U.receipts?.[0];if(!h)throw new P({message:"Call status is success but no receipt was found",cause:U,level:"error",reason:"CALL_STATUS_SUCCESS_BUT_NO_RECEIPT"});return l?.(h,e),h}throw console.error("wallet_sendCalls: Call failed",U),new H({cause:U,level:"error",input:Z,txHash:F,abi:N,chainId:p})}if(E){let[I,Q,U]=await Promise.allSettled([W.call({...x,data:E}),o??W.estimateGas({...x,data:E}),V]);if(I.status==="rejected")throw I.reason;let h=Q.status==="fulfilled"?Tt(Q.value,10):we;F=await G.sendTransaction({data:E,to:t,account:q,gas:h,chainId:p,nonce:Te({nonceResult:U,onWarning(L){n?.(L,e)}}),value:a}),d?.({txHash:F},e)}else if("abi"in y&&"functionName"in y){let{abi:I,functionName:Q}=y,U="params"in y?y.params:void 0,[h,L,O]=await Promise.allSettled([W.simulateContract({...x,abi:N,functionName:Q,args:U,account:q}),o??W.estimateContractGas({...x,abi:N,functionName:Q,args:U}),V]);if(h.status==="rejected")throw h.reason;let Ae=o??(L.status==="fulfilled"?Tt(L.value,10):we);F=await G.writeContract({...h.value.request,chainId:p,gas:Ae,nonce:Te({nonceResult:O,onWarning(Qt){n?.(Qt,e)}})}),d?.({txHash:F},e)}else{let[I]=await Promise.allSettled([V]);F=await G.sendTransaction({chainId:p,to:t,value:a,account:q,nonce:Te({nonceResult:I,onWarning(Q){n?.(Q,e)}})}),d?.({txHash:F},e)}process.env.NODE_ENV==="test"&&await Ce(p).mine({blocks:1});let J=await W.waitForTransactionReceipt({hash:F,pollingInterval:B,timeout:b,confirmations:1});if(J.status==="success")l?.(J,e);else{let I=await xt({publicClient:W,blockNumber:J.blockNumber,to:t,account:ie,abi:N,args:"params"in y?y.params:void 0,functionName:"functionName"in y?y.functionName:void 0,value:a,data:E});process.env.NODE_ENV==="test"&&console.error("beraWriteContract: Revert reason",I),s?.(new H({reason:I.reason,txHash:F,receipt:J,to:t,functionName:"functionName"in y?y.functionName:void 0,input:Z,chainId:p,abi:N,blockNumber:J.blockNumber}),e)}return J}catch(V){if(V instanceof P)s?.(V,e);else if(V instanceof Error){let x=ee({error:V,revertIfUnknown:!1,abi:N});if(x&&x.rootCause instanceof Ma&&"url"in x.rootCause){s?.(new $({cause:x.rootCause,response:void 0,endpoint:{url:x.rootCause.url,type:"rpc"},statusCode:x.rootCause instanceof Ja?x.rootCause.status:void 0}),e);return}s?.(new H({cause:V,to:t,txHash:F,chainId:p,abi:N,functionName:"functionName"in y?y.functionName:void 0,input:Z}),e)}else s?.(new H({cause:V,txHash:F,to:t,chainId:p,functionName:"functionName"in y?y.functionName:void 0,input:Z,abi:N}),e)}}import{GetValidators as za}from"@berachain/graphql/pol/api";async function Ft({variables:e={},...t}={}){let{config:r}=c(t);return(await g("api",t).query({query:za,variables:{chain:r.bex.chainName,...e}})).data}import{isAddressEqual as Xa}from"viem";async function gd({allocation:e}){let t=await ge({filter:{where:{vaultAddressIn:e.weights.map(a=>a.receiver)}}}),r=e?.start.blockNumber??0;return e?.weights.map(a=>({percentage:a.percentage,receiver:a.receiver,startBlock:r,receivingVault:t?.gaugeList.find(o=>Xa(o.address,a.receiver))}))}import{GetValidator as Za}from"@berachain/graphql/pol/api";async function wd({id:e,...t}){let{config:r}=c(t);return(await g("api",t).query({query:Za,variables:{id:e,chain:r.bex.chainName}})).data}import{GetValidatorBlockStats as eo}from"@berachain/graphql/pol/subgraph";async function vd({pubKey:e,first:t=1,...r}){let a=g("pol.subgraph",r);try{return(await a.query({query:eo,variables:{pubKey:e,first:t}})).data}catch(o){throw console.error("GetValidatorBlockStats:",o),o}}import{beraChefAbi as It}from"@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 to(e,t){return e.start.blockNumber===t.start.blockNumber&&e.weights.every((r,a)=>r.percentage===t.weights[a].percentage)}async function kd({client:e,pubKey:t,...r}){let{config:a}=c(r);try{let[o,i]=await Promise.all([e.readContract({address:a.pol.beraChef,abi:It,functionName:"getActiveRewardAllocation",args:[t]}),e.readContract({address:a.pol.beraChef,abi:It,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=!to(d,s),{activeRewardAllocation:s,setRewardAllocation:d,isBaseline:u,isNeverSet:d?.start.blockNumber===0}}catch(o){throw console.log("getValidatorRewardAllocation:",o),o}}import{beraChefAbi as ro}from"@berachain/abis/pol/rewards/beraChef";function Ed(e){return e.start.blockNumber===0}async function Fd({client:e,...t}){let{config:r}=c(t),a=await e.readContract({address:r.pol.beraChef,abi:ro,functionName:"getDefaultRewardAllocation",args:[]});return X({...a,startBlock:0n},0)}import{GetValidatorByAccount as ao}from"@berachain/graphql/pol/subgraph";async function Qd({account:e,...t}){try{return(await g("pol.subgraph",t).query({query:ao,variables:{account:e}})).data}catch(r){throw console.error("getManagedValidatorByAccount:",r),r}}async function Wd({client:e,valPubKey:t}){return 5614}import{formatEther as Ee}from"viem";import{bgtAbi as Fe}from"@berachain/abis/pol/bgt";async function qt({account:e,pubkey:t,publicClient:r,...a}){let{config:o}=c(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:Fe,functionName:"boosted",args:[e,t]}),r.readContract({address:o.tokens.bgt,abi:Fe,functionName:"boostedQueue",args:[e,t]}),r.readContract({address:o.tokens.bgt,abi:Fe,functionName:"dropBoostQueue",args:[e,t]})]);return{pubkey:t,activeBoostAmount:Ee(i),queuedBoostAmount:Ee(l[1]),queuedDropBoostAmount:Ee(n[1]),queuedBoostStartBlock:l[0],queuedDropBoostStartBlock:n[0],hasPendingBoosts:Number(l[1])>0||Number(n[1])>0,hasActiveBoosts:Number(i)>0}}import{GetUserValidatorInformation as oo}from"@berachain/graphql/pol/subgraph";async function Dt({account:e,block:t,...r}){return await g("pol.subgraph",r).query({query:oo,variables:{address:e.toLowerCase(),block:t}})}async function em({account:e,publicClient:t,chain:r,...a}){let{config:o}=c(a),i=r??o.bex.chainName,l=await Dt({account:e}),[n,s]=await Promise.all([Ft({variables:{chain:i,where:{idIn:l.data.userValidatorInformations.map(d=>d.validator.id)}}}),t&&$e({lastBlockTimestamp:l.data._meta?.block.timestamp,blockTime:o.averageBlockTime})?Promise.all(l.data.userValidatorInformations.map(d=>qt({account:e,pubkey:d.validator.publicKey,publicClient:t}))):void 0]);return n?.validators.validators.map(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:u?.activeBoostAmount,queuedBoostAmount:u?.queuedBoostAmount,queuedBoostStartBlock:Number(u?.queuedBoostStartBlock),queuedDropBoostAmount:u?.queuedDropBoostAmount,queuedDropBoostStartBlock:Number(u?.queuedDropBoostStartBlock),hasPendingBoosts:Number(u?.queuedBoostAmount)>0||Number(u?.queuedDropBoostAmount)>0,hasActiveBoosts:Number(u?.activeBoostAmount)>0}}})}var no=[{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:S(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:S(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:S(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:S(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:S(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:S(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:S(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 am(e){return await new Promise(t=>setTimeout(t,2e3)),e==="0x4C368fFE3650379d6318C8d4630bc51f8Ad12bB6"?no:[]}import{GetValidatorAnalytics as io}from"@berachain/graphql/pol/subgraph";async function lm({pubkey:e,dayRange:t,...r}){return(await g("pol.subgraph",r).query({query:io,variables:{pubKey:e,timestamp:_e(t).toString()}})).data}import{beraChefAbi as so}from"@berachain/abis/pol/rewards/beraChef";async function mm({client:e,pubKey:t,...r}){let{config:a}=c(r),o=await e.readContract({address:a.pol.beraChef,abi:so,functionName:"getValCommissionOnIncentiveTokens",args:[t]});return Number(o??0n)/1e4}var gm=(e,t,r)=>{if(!t||!e)return 0;let a=te(1)/r;return(t?a*(Number(e.dynamicData?.stakedBeraAmount)/t):0)*Number.parseFloat(e.dynamicData?.rewardRate??"0")};import{beaconDepositAbi as lo}from"@berachain/abis/pol/beaconDeposit";async function hm({client:e,pubKey:t,...r}){let{config:a}=c(r);try{return await e.readContract({address:a.depositContract,abi:lo,functionName:"getOperator",args:[t]})}catch(o){throw console.log("getValidatorOperatorAddress:",o),o}}import{beraChefAbi as uo}from"@berachain/abis/pol/rewards/beraChef";async function Bm({client:e,pubKey:t,...r}){let{config:a}=c(r),o=await e.readContract({address:a.pol.beraChef,abi:uo,functionName:"getValQueuedCommissionOnIncentiveTokens",args:[t]});return{blockNumberLast:o.blockNumberLast,commissionRate:Number(o.commissionRate)/1e4}}import{beaconDepositAbi as co}from"@berachain/abis/pol/beaconDeposit";async function Sm({client:e,pubKey:t,...r}){let{config:a}=c(r);try{return await e.readContract({address:a.depositContract,abi:co,functionName:"queuedOperator",args:[t]})}catch(o){throw console.log("getValidatorQueuedOperatorAddress:",o),o}}import{beraChefAbi as mo}from"@berachain/abis/pol/rewards/beraChef";async function Tm({client:e,pubKey:t,...r}){let{config:a}=c(r);try{let o=await e.readContract({address:a.pol.beraChef,abi:mo,functionName:"getQueuedRewardAllocation",args:[t]});return X(o,0)}catch(o){throw console.log("getValidatorQueuedRewardAllocation:",o),o}}export{bo as a,de as b,g as c,Fo as d,ze as e,Ho as f,tn as g,sn as h,mn as i,Ze as j,Bn as k,kn as l,Fn as m,Un as n,Y as o,Hn as p,pe as q,Kn as r,Xn as s,ai as t,it as u,mi as v,bi as w,wi as x,vi as y,st as z,Ve as A,ut as B,Xi as C,rs as D,_r as E,ss as F,ps as G,gt as H,Bs as I,bt as J,qs as K,Os as L,Js as M,aa as N,zs as O,el as P,ol as Q,ge as R,El as S,Pt as T,Wl as U,_l as V,Yl as W,ru as X,uu as Y,mu as Z,yu as _,Pu as $,oe as aa,Eu as ba,Wu as ca,Hu as da,Ku as ea,Rt as fa,lc as ga,yc as ha,Pc as ia,Rc as ja,Fc as ka,Uc as la,Ya as ma,sd as na,Ft as oa,gd as pa,wd as qa,vd as ra,X as sa,to as ta,kd as ua,Ed as va,Fd as wa,Qd as xa,Wd as ya,qt as za,em as Aa,am as Ba,lm as Ca,mm as Da,gm as Ea,hm as Fa,Bm as Ga,Sm as Ha,Tm as Ia};
4
+ //# sourceMappingURL=chunk-BKDBIBVO.mjs.map