@berachain/berajs 0.1.0-alpha.4 → 0.1.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/abi/index.cjs +1 -1
- package/dist/abi/index.mjs +1 -1
- package/dist/actions/index.cjs +1 -1
- package/dist/actions/index.mjs +1 -1
- package/dist/chunk-AHAZC5K3.mjs +1 -0
- package/dist/chunk-BI76GRHX.mjs +3 -0
- package/dist/chunk-FVT7BKWY.cjs +3 -0
- package/dist/chunk-KIA6GUIN.cjs +1 -0
- package/dist/hooks/index.cjs +2 -2
- package/dist/hooks/index.mjs +2 -2
- package/package.json +3 -3
- package/dist/chunk-7LKILKNX.cjs +0 -1
- package/dist/chunk-DNBQFEY3.mjs +0 -1
- package/dist/chunk-H5477UEM.mjs +0 -3
- package/dist/chunk-NNYEN6SA.cjs +0 -3
package/dist/chunk-H5477UEM.mjs
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{a as fe,b as _e,c as v,d as C,e as et,f as B,g as te,h as K,i as tt,j as rt,k as at,l as ot,m as H,n as D,o as Ae,p as it,q as st,r as he}from"./chunk-DNBQFEY3.mjs";import{B as R,C as Ye,G as ze,H as Xe,I as Ze,O as ie,a as ge,b as Me,c as Le,d as be,i as Ne,n as ee,p as He,r as Je,v as $e,w as ke,y as je,z as Ke}from"./chunk-7SDDMT3W.mjs";import{b as c,c as pe,e as Oe,f as N}from"./chunk-HOCEXCQJ.mjs";import{a as Z,b as $,c as k,d as ye,f as nt,g as j}from"./chunk-YKNKCICU.mjs";import{a as X}from"./chunk-5UFI7X4U.mjs";import{c as me,d as Ue,e as ne,f as x,g as T}from"./chunk-5GPS724E.mjs";import{formatEther as tr}from"viem";async function Ro({sharesAmount:e,vaultAddress:t,publicClient:r}){let a=await r.readContract({address:t,abi:fe,functionName:"convertToAssets",args:[e]});return{raw:a,formatted:tr(a)}}import{formatEther as rr}from"viem";async function ko({vaultAddress:e,publicClient:t}){let r=await t.readContract({address:e,abi:fe,functionName:"maxDeposit",args:[e]});return rr(r)}import{InMemoryCache as sr}from"@apollo/client";import{HttpLink as lr}from"@apollo/client/link/http";import{getUriFromLink as ut}from"@berachain/config";import{currentDapp as ct}from"@berachain/config/internal";import cr from"@berachain/graphql/dex/api";import{ApolloClient as ar,ServerError as or}from"@apollo/client";import*as lt from"@sentry/nextjs";import{appConfig as nr}from"@berachain/config/internal";var we=class extends ar{url;constructor(t){super(t),this.url=t.url}async query(t){let r=ir(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 n=await lt.startSpan({name:`GraphQL ${r}`,op:"BeraApolloClient.query",attributes:o},async()=>super.query(t));if(n.error||n.data===void 0)throw new x({level:"fatal",tags:o,message:"Bera Apollo Client: No data returned from query, but error should be thrown since errorPolicy is none"});return{data:n.data}}catch(n){throw!nr.env.isProduction&&console.error("BeraApolloClient error",n),or.is(n)?new X({response:n.response,cause:n,statusCode:n.statusCode,endpoint:a,tags:o}):n instanceof TypeError?new X({level:"fatal",reason:"TypeError",response:n,cause:n,endpoint:a,tags:o}):new X({response:n,tags:o,cause:n,endpoint:a})}}};function ir(e){return e.definitions.find(r=>r.kind==="OperationDefinition")?.name?.value}import{gql as dr}from"@apollo/client";function ur(e){if(!ct)return e;let t=typeof e=="string"?void 0:e.headers;return{uri:ut(e),headers:{...t,"x-graphql-client-name":`berachain.${ct}.${process.env.NEXT_RUNTIME||"browser"}`,"x-graphql-client-version":`${process.env.VERCEL_TARGET_ENV}.${process.env.VERCEL_GIT_COMMIT_SHA}`}}}function Y(e,{ssrMode:t,inMemoryCacheOptions:r}={}){let a=ut(e),o=typeof e=="string"?void 0:e.headers;return new we({url:a,link:new lr({uri:a,headers:o}),defaultOptions:{query:{errorPolicy:"none",fetchPolicy:"no-cache"}},cache:new sr(r),ssrMode:t})}function f(e,{...t}){let{config:r}=c(t);switch(e){case"api":return Y(ur(r.api),{inMemoryCacheOptions:{possibleTypes:cr.possibleTypes}});case"bend.whisk":if(!r.bend.whiskApi)throw new x({message:"Bend whisk API is not configured on this chain",level:"error"});return Y(r.bend.whiskApi);case"honey.subgraph":return Y(r.honey.subgraph);case"pol.subgraph":return Y(r.pol.subgraph);case"governance.subgraph":return Y(r.governance.subgraph);case"blocks.subgraph":return Y(r.blocksSubgraph);case"bex.subgraph":return Y(r.bex.subgraph)}}import{BigNumber as se}from"bignumber.js";import{isAddress as dt,zeroAddress as mr}from"viem";var mt=class e{static PATH_NOT_FOUND_REASON="NO_SWAP_PATHS";notFoundMessages=[];config;chainId;constructor(t={}){let{config:r,chainId:a}=c(t);this.config=r,this.chainId=a}url="";parseAddresses(t,r){if(!dt(t)||!dt(r))throw new x({message:`Invalid address: ${t} or ${r}`,level:"error"});return{tokenInAddress:N(t,"BERA")?this.config.tokens.wbera:t,tokenOutAddress:N(r,"BERA")?this.config.tokens.wbera:r,isTokenInNative:N(t,"BERA"),isTokenOutNative:N(r,"BERA")}}getAmountAfterFees(t,r){if(r===void 0)throw new x({message:"aggregatorsFeeBps is required",level:"error"});let a=new se(t).times(r).dividedBy(1e4).toFixed(0,se.ROUND_DOWN);return new se(t).minus(a).toFixed(0,se.ROUND_DOWN)}getInputData({tokenIn:t,amountIn:r,isNative:a,isPermit2Approval:o=!1,permit2SpenderAddress:n=mr}){return{tokenIn:t,amountIn:BigInt(r),isNative:a,isPermit2Approval:o,permit2SpenderAddress:n}}getMinAmountOut(t,r){if(r===void 0)throw new x({message:"slippage is required",level:"error"});let a=new se(t).times(1-r/100);return a.isNaN()||a.isZero()?0n:BigInt(a.toFixed(0))}checkChainSupport(){if(!this.supportedChains.includes(this.chainId))throw new x({message:`${this.name} is not supported on chain ${this.chainId}`,level:"error"})}async fetch(t,r){try{return await Me({url:t,name:this.name,type:this.type},{method:"GET",headers:{"Content-Type":"application/json"},...r})}catch(a){let o=Z({cause:a});throw this.notFoundMessages.some(n=>o.message.includes(n))&&(o.reason=e.PATH_NOT_FOUND_REASON),o}}};import{API_CHAIN_NAMES as pr,BALANCER_QUERIES as fr,BALANCER_RELAYER as gr,BalancerApi as rn,CHAINS as br,COMPOSABLE_STABLE_POOL_FACTORY as yr,NATIVE_ASSETS as Ar,Token as hr,VAULT as wr,WEIGHTED_POOL_FACTORY_BALANCER_V2 as Cr}from"@berachain-foundation/berancer-sdk";import{zeroAddress as Ge}from"viem";import{berachain as pt,berachainBepolia as Pr}from"viem/chains";import{chainConfigs as Br}from"@berachain/config/internal";for(let e of Object.keys(Br)){let{config:t,chainId:r}=c({chainId:Number(e)});pr[r]=t.bex.chainName,br[r]=r===pt.id?pt:Pr,gr[r]=t.bex.relayer,wr[r]=t.bex.vault,fr[r]=t.bex.queries,Cr[r]=Ge,yr[r]=Ge;let a=new hr(r,Ge,pe.decimals,pe.name,pe.symbol,t.tokens.wbera);Ar[r]=a}import{GetPools as xr}from"@berachain/graphql/dex/api";import{GqlPoolOrderBy as vr,GqlPoolOrderDirection as Rr}from"@berachain/graphql/pol/api";async function fn({textSearch:e,chain:t,first:r,orderBy:a,orderDirection:o,skip:n,fetchPolicy:s,userAddress:i,blacklistedPoolIds:l,...u}={}){let{config:m}=c(u),b=await f("api",u).query({query:xr,variables:{textSearch:e,chain:t??m.bex.chainName,first:r,orderBy:a??vr.TotalLiquidity,orderDirection:o??Rr.Desc,skip:n,userAddress:i,blacklistedPoolIds:l},fetchPolicy:s});return{pools:b.data.poolGetPools??[],count:b.data.count??0}}import{GetPool as Vr}from"@berachain/graphql/dex/api";async function hn({poolId:e,account:t,...r}){let{config:a}=c(r),s=(await f("api",r).query({query:Vr,variables:{id:e,userAddress:t,chain:a.bex.chainName},fetchPolicy:"no-cache"})).data.poolGetPool;if(!s)throw new Error(`Pool not found for id: ${e} and user ${t}`);return s}import{GetGlobalLiquidityAndSwapVolume as Sr}from"@berachain/graphql/dex/api";async function xn(e={}){let{config:t}=c(e);return(await f("api",e).query({query:Sr,variables:{chain:t.bex.chainName}})).data}import{stablePoolAbi_V3 as kr,vaultV2Abi as Gr,weightedPoolFactoryAbi_V3 as gt,weightedPoolV4Abi_V2 as Ce}from"@berachain-foundation/berancer-sdk";import{erc20Abi as bt,formatEther as yt,formatUnits as Tr,isAddress as Fr,isHex as Dr}from"viem";import{GqlPoolType as At}from"@berachain/graphql/pol/api";import{weightedPoolV4Abi_V2 as Nr}from"@berachain-foundation/berancer-sdk";async function ft({publicClient:e,poolAddress:t}){let r=Nr,a=await e.multicall({contracts:[{address:t,abi:r,functionName:"inRecoveryMode"},{address:t,abi:r,functionName:"getPausedState"}],allowFailure:!1});return{isPoolInRecoveryMode:a[0],isPoolPaused:a[1][0]}}async function In({poolId:e,publicClient:t,...r}){let{config:a}=c(r),o=e.slice(0,42);if(!Fr(o)||!Dr(e))throw new T({property:"poolId",value:e,expected:"Hex"});try{let[n,s,i,l,u,m,d,b,g]=await Promise.all([t.readContract({address:o,abi:bt,functionName:"name"}),t.readContract({address:a.bex.vault,abi:Gr,functionName:"getPoolTokens",args:[e]}),t.readContract({address:o,abi:bt,functionName:"totalSupply"}),t.readContract({address:o,abi:Ce,functionName:"getSwapFeePercentage"}),t.readContract({address:o,abi:Ce,functionName:"version"}),t.readContract({address:o,abi:Ce,functionName:"decimals"}),t.readContract({address:a.bex.factories.composableStable,abi:gt,functionName:"isPoolFromFactory",args:[o]}),t.readContract({address:a.bex.factories.weighted,abi:gt,functionName:"isPoolFromFactory",args:[o]}),ft({publicClient:t,poolAddress:o})]),p=Number(m),A=JSON.parse(u),P,S,y;if(d?[P,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:kr,functionName:"getAmplificationParameter"})]):A.name==="WeightedPool"&&(S=await t.readContract({address:o,abi:Ce,functionName:"getNormalizedWeights"})),!d&&!b)throw new Error(`Pool ${o} is not a valid BEX pool`);return{name:n,address:o,id:e,poolTokens:[s[0],s[1].map(String),Number(s[2])],totalSupply:Tr(P??i,p),swapFee:yt(l),decimals:p,weights:S?.map(F=>yt(F)),version:A,factory:d?a.bex.factories.composableStable:a.bex.factories.weighted,type:d?At.Stable:At.Weighted,amplificationParameter:y?[Number(y[0]),y[1],Number(y[2])]:void 0,pausedState:g}}catch(n){throw Z({cause:n})}}import{GetPoolEvents as Ir}from"@berachain/graphql/dex/api";async function Un({poolId:e,typeInArray:t,...r}){let{config:a}=c(r);return(await f("api",r).query({query:Ir,variables:{poolId:e,typeIn:t,chain:a.bex.chainName}})).data}import{isHex as Er}from"viem";import{GetPoolHistoricalData as qr}from"@berachain/graphql/dex/api";async function Jn({poolId:e,chain:t,...r}){if(!e||!Er(e))throw new T({property:"poolId",value:e,expected:"hex string"});let a=f("api",r),{data:o}=await a.query({query:qr,variables:{poolId:e,chain:t}});return o.poolGetSnapshots}import{mapPoolType as Qr}from"@berachain-foundation/berancer-sdk";var Kn=e=>({type:Qr(e.type),protocolVersion:e.protocolVersion,tokens:e.tokens.map(t=>({...t,address:t.address})),id:e.id,address:e.address});import{isHex as Wr}from"viem";import{GetSubgraphPool as Ur}from"@berachain/graphql/dex/subgraph";async function ei({poolId:e,...t}){if(!Wr(e))throw new Error("poolId is not a valid hex string");return(await f("bex.subgraph",t).query({query:Ur,variables:{id:e}})).data.pool}async function oi({publicClient:e,...t}){let{config:r}=c(t);return(await e.readContract({address:r.bex.vault,abi:_e,functionName:"getPausedState"}))[0]}import{isAddress as ht,isHex as Or}from"viem";var re=({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 s=BigInt(t);if(e.startsWith("uint")&&s<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 s=new URL(a);return t.startsWith(s.toString())?null:"Must be a berachain forum link";case"address":return ht(t,{strict:!0})?null:"Invalid address";case"hex":return Or(t,{strict:!0})?null:"Invalid address";case"abi":try{JSON.parse(t)}catch{return"Invalid ABI"}return null;case"action":return ht(t,{strict:!0})?null:"Invalid address";case"tuple":if(typeof t=="object"&&Array.isArray(o)){let i={};for(let l of o)i[l.name]=re({fieldOrType:l.type,value:t[l.name],components:l.components});return Object.values(i).every(l=>l===null)?null:i}return null;case"tuple[]":if(Array.isArray(t)){let i=t.map(l=>re({fieldOrType:"tuple",value:l,components:o}));return i.every(l=>l===null)?null:i}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 Mr=!1,ci=[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:Mr&&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 Lr,SearchProposals as _r}from"@berachain/graphql/governance";async function fi({where:e,orderBy:t,orderDirection:r,offset:a=0,perPage:o=20,text:n,...s}){try{if(o>1e3)throw new Error("perPage must be less than 1000");let i=f("governance.subgraph",s),[l]=await Promise.all([n?i.query({query:_r,variables:{offset:a,limit:o,where:e,text:n}}):i.query({query:Lr,variables:{offset:a,limit:o,where:e,orderBy:t,orderDirection:r}})]);return l.data.proposals.map(u=>({...u,status:Pe(u)}))}catch(i){throw console.error("getAllProposals:",i),i}}var yi=(e,t)=>{let r={};return r.title=re({fieldOrType:"title",value:e.title}),r.description=re({fieldOrType:"description",value:e.description}),r.forumLink=re({fieldOrType:"forumLink",value:e.forumLink,baseUrl:t.forumLink}),r};import{decodeFunctionData as Ct,erc20Abi as Hr,pad as Jr,toFunctionSignature as $r,trim as wt}from"viem";import{appConfig as jr,defaultChainId as Kr}from"@berachain/config/internal";function Yr(e){return e.some(t=>t.name==="implementation"||t.name==="proxyType"||t.type==="constructor"&&t.inputs?.[0]?.name==="implementation")}async function Pt({contractAddress:e,chainId:t}){let r=`https://api.etherscan.io/v2/api?module=contract&action=getabi&address=${e}&apikey=${jr.apiKeys.private.etherscan}&chainId=${t}`,a=await fetch(r,{next:{revalidate:Ze(1)}});if(!a.ok)throw new Error(`Failed to fetch ABI: ${a.statusText}`);let o=await a.json();if(o.status==="0")throw new Error(o.result);let n=JSON.parse(o.result);if(!Yr(n))return n;let s=await $e().getStorageAt({address:e,slot:"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc"});if(!s||wt(s)==="0x00")return n;let i=Jr(wt(s),{size:20});return Pt({contractAddress:i,chainId:t})}async function zr({address:e,callData:t,knownAbi:r,chainId:a}){try{if(Ct({data:t,abi:r}))return r}catch{}try{return await Pt({contractAddress:e,chainId:a})}catch{}}function Xr(e,t){try{return Ct({data:e,abi:t})}catch{return}}function Zr(e,t){return e.find(r=>r.type==="function"&&r.name===t)}function ea(e){if(e)try{return $r(e)}catch(t){console.error(t)}}async function vi({address:e,callData:t,chainId:r=Kr}){let a=[...v,...C,...Hr],o=await zr({address:e,callData:t,knownAbi:a,chainId:r}),n=Xr(t,o);if(!o||!n)return{args:[]};let s=Zr(o,n.functionName),i=ea(s);return{abiItem:s,functionSignature:i,functionName:n.functionName,args:n.args}}import{GetProposal as ta}from"@berachain/graphql/governance";async function ki({proposalId:e,...t}){let a=await f("governance.subgraph",t).query({query:ta,variables:{id:e}});if(a.data.proposal)return{...a.data.proposal,status:Pe(a.data.proposal)}}import{parseEventLogs as aa}from"viem";import{ProposalStatus as oa}from"@berachain/graphql/governance";import Bt from"gray-matter";var ra=e=>{let t=/#(?:([\w-]+)# )?(.+)\n([\s\S]*)/,r=e.match(t);if(r){let a=r[1]||null,o=r[2],n=r[3].replace(`
|
|
2
|
-
`,"<br />");return{type:a,title:o,content:n}}throw new Error("Invalid proposal body")},xt=e=>{if(!e)return{isFrontMatter:!1,data:{title:"Loading..."},content:"",matter:"",language:"",orig:"",stringify:()=>""};let t=e?.description??"";if(Bt.test(t))return{...Bt(t),isFrontMatter:!0};try{let r=ra(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}}};async function Wi(e){k(e.publicClient);let t;"tx"in e?t=e.tx:t=await e.publicClient.getTransactionReceipt({hash:e.txHash});let r=t?.logs?aa({abi:et,logs:t.logs,eventName:"ProposalCreated"})?.at(0):void 0;if(!t||!r)return null;let a=await e.publicClient.getBlock({blockNumber:t.blockNumber}),o=xt({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:oa.Pending,quorum:null,topics:o.data.topics,votes:[],executableCalls:r?.args.targets.map((n,s)=>({__typename:"ExecutableCall",id:`${t.transactionHash}-${s}`,target:n,value:String(r?.args.values[s]),calldata:r?.args.calldatas[s]})),timelock:void 0}}import{GetProposalVotes as na}from"@berachain/graphql/governance";async function Li({variables:e,...t}){return f("governance.subgraph",t).query({query:na,variables:e})}import{Aggregation_Interval as ia,GetChartData as sa}from"@berachain/graphql/honey";async function $i({days:e,...t}){return(await f("honey.subgraph",t).query({query:sa,variables:{interval:ia.Day,first:e}})).data}async function zi({client:e,collateralList:t,...r}){let{config:a}=c(r);try{let o=await e.readContract({address:a.honey.factory,abi:B,functionName:"getWeights"});return t.reduce((s,i,l)=>Object.assign(s,{[i.address]:o[l]}),{})}catch(o){throw console.log(o),o}}import{parseEther as Vt}from"viem";import{erc20Abi as Te}from"viem";async function vt({address:e,publicClient:t}){try{if(!t)throw new Error("Public client not found");let[r,a,o]=await Promise.all([t.readContract({address:e,abi:Te,functionName:"decimals"}),t.readContract({address:e,abi:Te,functionName:"name"}),t.readContract({address:e,abi:Te,functionName:"symbol"})]),n={address:e,decimals:r,name:a,symbol:o};if(typeof n.decimals!="number"||typeof n.name!="string"||typeof n.symbol!="string")throw new Error(`Invalid ERC20 token. Address: ${e}`);return n}catch(r){throw console.error(r),Z({cause:r})}}async function Fe({client:e,tokenData:t,preferredCollateralOrder:r,...a}){let{config:o}=c(a),[n,s]=await Promise.all([e.readContract({address:o.honey.factory,abi:B,functionName:"numRegisteredAssets"}),e.readContract({address:o.honey.factory,abi:B,functionName:"referenceCollateral"})]),i=[];for(let b=0;b<n;b++)i.push(e.readContract({address:o.honey.factory,abi:B,functionName:"registeredAssets",args:[BigInt(b)]}));let l=await Promise.all(i),m=(await Promise.all(l.map(b=>{let g=t?.find(p=>N(p,b));return g||vt({address:b,publicClient:e})}))).filter(b=>!!b).sort((b,g)=>l.indexOf(b.address)-l.indexOf(g.address)).map((b,g)=>({...b,order:g}));if(r?.length){let b=[];for(let g of r){let p=m.find(A=>N(A.address,g.address));p&&(b.push(p),m.splice(m.indexOf(p),1))}m.unshift(...b)}let d=m.find(b=>N(b,s));if(!m)throw new Error("Collateral tokens not found");if(!d)throw new Error("Reference collateral address not found");return{collaterals:m,referenceCollateral:d}}import{parseEther as la}from"viem";async function le({client:e,asset:t,amount:r,...a}){let{config:o}=c(a);try{let[n,s]=await Promise.all([e.readContract({address:o.honey.factory,abi:B,functionName:"vaults",args:[t]}),e.readContract({address:o.honey.factory,abi:B,functionName:"collectedFees",args:[o.honey.factory,t]})]);return await e.readContract({address:n,abi:te,functionName:"balanceOf",args:[o.honey.factory]})+la(r??"0")-s}catch(n){throw console.log(n),n}}import{parseUnits as ca}from"viem";async function Rt({client:e,collateral:t,latestPrices:r,isPythWrapperEnabled:a,...o}){let{config:n}=c(o);try{let s=e.readContract({address:n.honey.factory,abi:B,functionName:"isBadCollateralAsset",args:[t.address]}),i=e.readContract({address:n.honey.factory,abi:B,functionName:"isPegged",args:[t.address]});if(a&&r){let m=r.prices.map(d=>ca(d,18));i=e.readContract({address:n.honey.reader,abi:K,functionName:"isPeggedWithPrice",args:[t.address,m[0]]})}let[l,u]=await Promise.all([s,i]);return{isBlacklisted:l,isDepegged:!u}}catch(s){throw console.log(s),s}}var ua=Vt("1");async function vs({client:e,asset:t,amount:r,isMint:a,isPythWrapperEnabled:o,latestPrices:n,...s}){let{config:i}=c(s);try{let l=await e.readContract({address:i.honey.factory,abi:B,functionName:"globalCap"});if(l>=ua)return!1;let[{collaterals:u},m]=await Promise.all([Fe({client:e}),da({client:e,asset:t,amount:r,latestPrices:n,isPythWrapperEnabled:o})]);if(!m)return;for(let d in m)if((a&&N(u[d],t)||!a&&N(u[d],t))&&m[d]>l-be)return!0;return!1}catch(l){throw console.log(l),l}}async function da({client:e,asset:t,amount:r,latestPrices:a,isPythWrapperEnabled:o}){let{collaterals:n}=await Fe({client:e}),s=0n,i=[];for(let l of n){let u=await Rt({client:e,collateral:t,latestPrices:a,isPythWrapperEnabled:o});if(u?.isBlacklisted||u?.isDepegged)continue;let m=await le({client:e,asset:l.address,amount:N(l,t)?r:"0"});m&&(s+=m,i.push(m))}if(s===0n)return i;for(let l in n)i[l]=Vt(i[l].toString())/s;return i}import{formatUnits as Be}from"viem";async function ks({client:e,collateralList:t,...r}){let{config:a}=c(r);try{let o={mint:[],redeem:[]};for(let l of t)o.mint.push(e.readContract({address:a.honey.factory,abi:B,functionName:"mintRates",args:[l.address]})),o.redeem.push(e.readContract({address:a.honey.factory,abi:B,functionName:"redeemRates",args:[l.address]}));let[n,s,i]=await Promise.all([Promise.all(o.mint),Promise.all(o.redeem),e.readContract({address:a.honey.factory,abi:B,functionName:"getWeights"})]);return t.reduce((l,u)=>{let m=t.indexOf(u);return l.single[u.address]={mintFee:1-+Be(n[m],18),redeemFee:1-+Be(s[m],18)},l.basket.mintFee+=l.single[u.address].mintFee*+Be(i[m],18),l.basket.redeemFee+=l.single[u.address].redeemFee*+Be(i[m],18),l},{single:{},basket:{mintFee:0,redeemFee:0}})}catch(o){throw console.log(o),o}}import{GetGlobalData as ma}from"@berachain/graphql/honey";async function Ds({...e}={}){return(await f("honey.subgraph",e).query({query:ma})).data}async function Qs({client:e,...t}){let{config:r}=c(t),a=r.honey.token;return await e.readContract({address:a,abi:tt,functionName:"paused"})}import{parseUnits as St}from"viem";var pa=(l=>(l.Mint="previewMintHoney",l.MintWithPrice="previewMintHoneyWithPrices",l.RequiredCollateral="previewMintCollaterals",l.RequiredCollateralWithPrice="previewMintCollateralsWithPrices",l.Redeem="previewRedeemCollaterals",l.RedeemWithPrice="previewRedeemCollateralsWithPrices",l.HoneyToRedeem="previewRedeemHoney",l.HoneyToRedeemWithPrice="previewRedeemHoneyWithPrices",l))(pa||{});async function Ls({client:e,collateral:t,collateralList:r,amount:a,method:o,latestPrices:n,isPythWrapperEnabled:s,...i}){let{config:l}=c(i);try{let u=o==="previewMintHoney"||o==="previewRedeemHoney"||o==="previewMintHoneyWithPrices"||o==="previewRedeemHoneyWithPrices",m=St(a,u?t.decimals:18),d,b=[t.address,m];if(s&&n){let p=n.prices.map(A=>St(A,18));b=[t.address,m,p]}if(u){let p=await e.readContract({address:l.honey.reader,abi:K,functionName:o,args:b});d={collaterals:p[0],honey:p[1]}}else d={collaterals:await e.readContract({address:l.honey.reader,abi:K,functionName:o,args:b}),honey:m};let g=r.reduce((p,A)=>{let P=A.order;return A.address===t.address&&d.collaterals[P]===BigInt(0)?Object.assign(p,{[A.address]:d.collaterals[0]}):Object.assign(p,{[A.address]:d.collaterals[P]})},{});return g[t.address]===BigInt(0)&&(g[t.address]=d.collaterals[0]),{collaterals:g,honey:d.honey}}catch(u){throw console.log("error",u),u}}async function Js({pythOracle:e,publicClient:t}){return await t.readContract({address:e,abi:rt,functionName:"pythOracle"})}async function Ys({publicClient:e,factory:t,...r}){let{config:a}=c(r);return await e.readContract({address:t??a.honey.factory,abi:B,functionName:"priceOracle"})}import{formatUnits as fa}from"viem";async function rl({client:e,collateralList:t,honeyFactoryAddress:r,...a}){let{config:o}=c(a),n=r??o.honey.factory;try{return await Promise.all(t.map(async i=>{let l=await e.readContract({address:o.honey.factory,abi:B,functionName:"vaults",args:[i.address]}),[u,m,[d,b]]=await Promise.all([e.readContract({address:l,abi:te,functionName:"balanceOf",args:[n]}),e.readContract({address:n,abi:B,functionName:"collectedAssetFees",args:[i.address]}),e.readContract({address:l,abi:te,functionName:"custodyInfo"})]),g=await e.readContract({address:l,abi:te,functionName:"convertToAssets",args:[u-m]});return{address:i.address,balance:g.toString(),formattedBalance:fa(g,i.decimals),vault:d?b:l}}))}catch(s){throw console.log(s),s}}import{HermesClient as ga}from"@pythnetwork/hermes-client";import{formatUnits as ba}from"viem";var ya="https://hermes.pyth.network";async function Nt({priceFeedId:e}){let r=await new ga(ya,{}).getLatestPriceUpdates(e,{encoding:"hex",parsed:!0});return{calldata:r.binary.data.map(a=>`0x${a}`),prices:r.parsed?.flatMap(a=>ba(BigInt(a.price.price),a.price.expo*-1))??[]}}import{parseEther as Aa}from"viem";async function ml({client:e,asset:t,amount:r,isMint:a,referenceCollateral:o,...n}){let{config:s}=c(n);if(t===o.address)return!1;try{let[i]=await Promise.all([e.readContract({address:s.honey.factory,abi:B,functionName:"relativeCap",args:[t]})]),[l,u]=await Promise.all([le({client:e,asset:t,amount:a?r:void 0}),le({client:e,asset:o.address,amount:a?void 0:r})]);return u===0n?l!==0n:Aa((l??0n).toString())/(u??0n)>=i-be}catch(i){throw console.log(i),i}}import{parseUnits as Gt}from"viem";async function kt({client:e,priceFeedId:t,...r}){let{config:a}=c(r);try{return await e.readContract({address:a.external.pyth,abi:ot,functionName:"getUpdateFee",args:[t]})}catch(o){throw console.error("getPythUpdateFee",o),o}}var vl=async({state:e,account:t,publicClient:r,priceFeedMap:a,collateralList:o,isPythWrapperEnabled:n,...s})=>{let{config:i}=c(s),l=Oe(s),{actionType:u,fromAmount:m,collaterals:d,isBasketModeEnabled:b}=e,g=n?i.honey.pythWrapper:i.honey.factory,p=o.map(A=>A.address);if(t&&m[0]&&p.length){let A=u==="mint";if(n&&r&&a){let y=(await Nt({priceFeedId:Object.values(a)})).calldata,F;try{F=await kt({client:r,priceFeedId:y})}catch{F=Ke(d.length)}let G=[y,d[0]?.address,Gt(m[0],(A?d[0]?.decimals:l?.decimals)??18),t,!!b];return{address:g,abi:at,functionName:A?"mint":"redeem",params:G,value:F}}let P=[d[0]?.address,Gt(m[0],(A?d[0]?.decimals:l?.decimals)??18),t,!!b];return{address:g,abi:B,functionName:A?"mint":"redeem",params:P}}throw new Error("Something went wrong while creating the Honey swap payload")};import{parseUnits as ha}from"viem";async function Gl({client:e,isMint:t,collateralList:r,latestPrices:a,isPythWrapperEnabled:o,...n}){let{config:s}=c(n);if(o&&a){if(r.length===0)return;let l=a.prices.map(m=>ha(m,18));return await e.readContract({address:s.honey.reader,abi:K,functionName:"isBasketModeEnabledWithPrices",args:[t,l]})}return await e.readContract({address:s.honey.factory,abi:B,functionName:"isBasketModeEnabled",args:[t]})}async function Il({block:e,currentBlock:t,blockTime:r,publicClient:a}){if($(e,"block"),k(a),t>e){let n=await a.getBlock({blockNumber:BigInt(e),includeTransactions:!1});return{timestamp:Number(n.timestamp)}}return{timestamp:R(Date.now())+r*(Number(e)-Number(t))}}import{formatUnits as De}from"viem";var wa=(a=>(a.Duration="duration",a.TargetRate="targetRate",a.TargetApr="targetApr",a))(wa||{});async function Ul(e,t){let[r,a,o,n,s,i]=await Promise.all([t.readContract({address:e,abi:C,functionName:"rewardsDuration"}),t.readContract({address:e,abi:C,functionName:"rewardVaultManager"}),t.readContract({address:e,abi:C,functionName:"rewardRate"}),t.readContract({address:e,abi:C,functionName:"periodFinish"}),t.readContract({address:e,abi:C,functionName:"targetRewardsPerSecond"}),t.readContract({address:e,abi:C,functionName:"minRewardDurationForTargetRate"})]),l=o*(n-BigInt(R(Date.now())))/10n**18n;return{rewardsDuration:Number(r),mode:s===0n?"duration":"targetRate",manager:a,rewardRate:De(o,36),periodFinish:Number(n),availableRewards:De(l,18),minRewardDurationForTargetRate:Number(i),targetRewardsPerSecond:De(s,36)}}function xe(e,t,r){return e?r*t*ie(1)/e:null}function Ca(e,t,r){return r?e*r/(t*ie(1)):0}function Ll({availableRewards:e,periodFinish:t,tvl:r,bgtPrice:a,MIN_REWARD_DURATION:o,MAX_REWARD_DURATION:n,...s}){let i=R(Date.now());if(i>t)return{apr:0,duration:0,rewardRate:0,targetRate:null,periodFinish:0,mode:null};if(s.mode==="targetRate"||s.mode==="targetApr"){let d,{minRewardDurationForTargetRate:b,currentDuration:g}=s;if(s.mode==="targetRate"?d=s.rewardRate:d=Ca(s.apr,a,r),d===0){let P=Math.min(g,n),S=e?e/P:0;return{apr:xe(r,a,S),duration:P,rewardRate:S,targetRate:null,periodFinish:P+i,mode:"duration"}}let p=b||o,A=e?e/d:0;if(A<p){let P=e?e/p:0;return{apr:xe(r,a,P),duration:p,rewardRate:P,targetRate:P.toString(),periodFinish:p+i,mode:null}}return{apr:xe(r,a,d),duration:A,rewardRate:d,targetRate:d.toString(),periodFinish:A+i,mode:null}}let{duration:l}=s,u=e/l;return{apr:xe(r,a,u),mode:null,targetRate:null,duration:l,rewardRate:u,periodFinish:l+i}}import{GetBlocksTimeStamp as Pa}from"@berachain/graphql/chain";async function Tt({defaultBlockTime:e,blocksSpan:t,...r}={}){let{config:a}=c(r),o=f("blocks.subgraph",r),n=e??a.averageBlockTime,s=t??Math.floor(ze(1)/n),l=(await o.query({query:Pa,variables:{skip:s}})).data;return(R(Date.now())-Number(l?.oldest[0]?.timestamp))/(Number(l?.newest[0]?.number)-Number(l?.oldest[0]?.number))}import{captureException as Re}from"@sentry/nextjs";import{GlobalData as Ba}from"@berachain/graphql/pol/api";async function Ft(e={}){let{config:t}=c(e),a=await f("api",e).query({query:Ba,variables:{chain:t.bex.chainName}});return{...a.data.polGetGlobalInfo,top3EmittingValidators:a.data.top3EmittingValidators.validators,allValidatorsCount:a.data.allValidatorsCount.pagination.totalCount}}import{formatEther as xa}from"viem";async function Dt({publicClient:e,...t}){let{config:r}=c(t);k(e);try{let a=await e.readContract({address:r.tokens.bgt,abi:H,functionName:"totalBoosts",args:[]});return xa(a)}catch(a){throw console.log(a),a}}import{erc20Abi as va,formatEther as Ra}from"viem";async function It({publicClient:e,...t}){let{config:r}=c(t);k(e);try{let a=await e.readContract({address:r.tokens.bgt,abi:va,functionName:"totalSupply",args:[]});return Ra(a??0n)}catch(a){throw console.log(a),a}}import{GqlRewardVaultOrderBy as Na,GqlRewardVaultOrderDirection as ka}from"@berachain/graphql/pol/api";import{formatUnits as Va}from"viem";import{GetVaults as Sa}from"@berachain/graphql/pol/api";async function ve({filter:e,publicClient:t,...r}={}){let o=await f("api",r).query({query:Sa,variables:e}),n=await Promise.allSettled(o.data.polGetRewardVaults.vaults.map(async i=>{if(t)return Promise.allSettled(i.activeIncentives.map(l=>t.readContract({abi:C,address:i.address,functionName:"incentives",args:[l.tokenAddress]})))})),s=o.data.polGetRewardVaults.vaults.map((i,l)=>{let u=0,m=i.activeIncentives.map((d,b)=>{let g=Number(d.remainingAmountUsd)&&Number(d.remainingAmount)?Number(d.remainingAmountUsd)/Number(d.remainingAmount):0,p=n[l]?.status==="fulfilled"&&n[l]?.value?.[b]?.status==="fulfilled"?Va(BigInt(n[l].value[b].value[2]),d.token.decimals):d.remainingAmount;return u+=Number(p)*Number(g),{...d,remainingAmount:p}});return{...i,dynamicData:{...i.dynamicData,allTimeReceivedBGTAmount:i.dynamicData?.allTimeReceivedBGTAmount??"0",bgtCapturePercentage:i.dynamicData?.bgtCapturePercentage??"0",activeIncentivesValueUsd:u.toString(),activeIncentivesRateUsd:i.dynamicData?.activeIncentivesRateUsd??"0",bgtCapturePerBlock:i.dynamicData?.bgtCapturePerBlock??"0"},activeIncentives:m}});return{pagination:o.data.polGetRewardVaults.pagination,gaugeList:s}}async function Et(e){let{gaugeList:t}=await ve({filter:{orderBy:Na.Apr,orderDirection:ka.Desc,pageSize:e,where:{includeNonWhitelisted:!1}}});return t}async function Pc(e){let[t,r,a,o]=await Promise.allSettled([Ft(),Et(300),It({publicClient:e}),Dt({publicClient:e})]);return t.status==="rejected"&&Re(t.reason,{level:"warning"}),r.status==="rejected"&&Re(r.reason,{level:"warning"}),a.status==="rejected"&&Re(a.reason,{level:"warning"}),o.status==="rejected"&&Re(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 qt({...e}){let t=f("pol.subgraph",e),{data:r}=await t.query({query:Ga});if(r.incentiveFeeClaims.length>0){let a=r?.incentiveFeeClaims.reduce((s,i)=>s+Number(i.payoutAmount),3e4),n=(r?.incentiveFeeClaims.filter(s=>Number(s.timestamp)/1e3>Date.now()-Xe(1))).reduce((s,i)=>s+Number(i.payoutAmount),0);return{sumAllClaims:a,sumClaimsInLast24Hours:n}}return{sumAllClaims:0,sumClaimsInLast24Hours:0}}async function Nc(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,n)=>(o[n.name]=n,o),{})}}catch(r){throw console.error("Error fetching validator information",r),r}}async function Dc({account:e,validator:t,page:r=1,perPage:a=1e3,...o}){let{config:n}=c(o),s=await fetch(`${n.pol.bribeBoostApi}/api/v1/wallets/${e.toLowerCase()}/proofs/validator/${t.toLowerCase()}?page=${r}&per_page=${a}`,{cache:"no-store"});if(!s.ok){let l=await ge(s);throw new x({message:"Failed to fetch proofs on server",cause:{error:l,result:s,account:e,validator:t},reason:l?.reason})}return await s.json()}import{formatUnits as Ta,parseUnits as Fa}from"viem";async function Wc({address:e,publicClient:t}){return k(t),t.readContract({address:e,abi:D,functionName:"previewRedeem",args:[Fa("1",18)]}).then(r=>Number(Ta(r,18))).catch(()=>0)}import{GetRewardVault as Da}from"@berachain/graphql/pol/api";async function Hc({address:e,chainName:t,...r}){let{config:a}=c(r),o=t??a.bex.chainName,n=f("api",r),{data:s}=await n.query({query:Da,variables:{vaultId:e,chain:o}});if(!s?.rewardVault)throw new nt({resource:"Reward vault",id:e,chainId:a.chainId});return s.rewardVault}var Qt=[{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 Wt({publicClient:e,...t}){let{config:r}=c(t),a=r.pol.factory;$(e,"publicClient"),ye(r.pol.factory,"factoryAddress");let o=await e.readContract({address:a,abi:Ae,functionName:"beacon"});return await e.readContract({address:o,abi:Qt,functionName:"implementation"})}async function ru({publicClient:e,...t}){k(e);let r=await Wt({publicClient:e,...t}),[a,o]=await Promise.all([e.readContract({address:r,abi:C,functionName:"MIN_REWARD_DURATION"}),e.readContract({address:r,abi:C,functionName:"MAX_REWARD_DURATION"})]);return{minRewardDuration:Number(a),maxRewardDuration:Number(o)}}import{zeroAddress as Ia}from"viem";async function su({tokenAddress:e,publicClient:t,factoryAddress:r,...a}){let{config:o}=c(a),n=await t.readContract({address:r??o.pol.factory,abi:Ae,functionName:"getVault",args:[e]});return n===Ia?null:n}import{isSameAddress as Ut}from"@berachain-foundation/berancer-sdk";import{captureException as Ea}from"@sentry/nextjs";import{erc20Abi as Ie,formatUnits as ce}from"viem";async function fu({address:e,stakingToken:t,publicClient:r}){let a=await r.readContract({address:e,abi:C,functionName:"getWhitelistedTokens"}),n=a.findIndex(i=>Ut(t,i))!==-1?await r.readContract({address:e,abi:C,functionName:"totalSupply"}):0n,s=await Promise.allSettled(a.map(async i=>{let[l,u,m,d]=await Promise.all([r.readContract({address:e,abi:C,functionName:"incentives",args:[i]}),r.readContract({address:i,abi:Ie,functionName:"decimals"}),r.readContract({address:i,abi:Ie,functionName:"symbol"}),r.readContract({address:i,abi:Ie,functionName:"balanceOf",args:[e]})]),[b,g,p,A]=l;return{token:i,manager:A,minIncentiveRate:ce(b,u),incentiveRate:ce(g,u),remainingAmount:ce(p,u),symbol:m,decimals:u,pendingAmount:Ut(t,i)?ce(d-n-p,u):ce(d-p,u)}}));return s.forEach((i,l)=>{i.status==="rejected"&&Ea(new x({reason:i.reason,message:"Incorrect incentives token received.",level:"error"}),{extra:{token:a[l],address:e,error:i.reason}})}),s.map(i=>i.status==="fulfilled"?i.value:null).filter(i=>i!==null)}async function yu({address:e,publicClient:t}){return await t.readContract({address:e,abi:C,functionName:"stakeToken"})}import{GetSWberaVaultMetadata as qa,GqlSWberaVaultMetadataResolution as Ot}from"@berachain/graphql/pol/api";function Qa(e){return e==="DAY"?Ot.OneDay:Ot.SevenDays}async function Pu({window:e,...t}){let{config:r}=c(t),a=f("api",t);try{let o=await a.query({query:qa,variables:{chain:r.bex.chainName,resolution:Qa(e??"DAY")}}),{apr:n}=o.data.polGetSWberaVaultMetadata;return Number(n)}catch(o){throw console.error("Failed to get SW Bera APR",o),o}}import{GetSWberaVaultSnapshots as Wa,GqlVaultSnapshotDataRange as Ua}from"@berachain/graphql/pol/api";async function Vu({chain:e,range:t=Ua.ThirtyDays,...r}={}){let{config:a}=c(r),o=f("api",r);try{return(await o.query({query:Wa,variables:{chain:e??a.bex.chainName,range:t}})).data.polGetSWberaVaultSnapshots}catch(n){throw console.error("Failed to get SW Bera Snapshots",n),n}}async function ue({publicClient:e,...t}){let{config:r}=c(t),a=await e.readContract({address:r.tokens.swbera,abi:D,functionName:"WITHDRAWAL_COOLDOWN"});return Number(a)}import J from"bignumber.js";import{erc20Abi as Ve}from"viem";async function Uu({address:e,publicClient:t,...r}){let{config:a}=c(r);k(t);let o=26;try{let[n,s]=await Promise.all([t.getBlock({blockTag:"latest"}),Tt()]),i=Math.floor(o*60*60/s),l=n.number-BigInt(i),[u,m,d,b,g,p,A,P,S,y,F]=await Promise.all([t.readContract({address:e,abi:D,functionName:"totalAssets"}),t.readContract({address:e,abi:D,functionName:"totalSupply"}),t.readContract({address:e,abi:D,functionName:"previewRedeem",args:[10n**18n],blockNumber:n.number}),t.readContract({address:a.tokens.wbera,abi:Ve,functionName:"balanceOf",args:[e]}),t.readContract({address:e,abi:D,functionName:"totalAssets",blockNumber:l}),t.readContract({address:e,abi:Ve,functionName:"totalSupply",blockNumber:l}),t.readContract({address:e,abi:D,functionName:"previewRedeem",args:[10n**18n],blockNumber:l}),t.readContract({address:a.tokens.wbera,abi:Ve,functionName:"balanceOf",args:[e],blockNumber:l}),t.readContract({address:a.tokens.wbera,abi:Ve,functionName:"totalSupply"}),ue({publicClient:t}),qt({})]),G=new J(A.toString());return{current:{exchangeRate:new J(d.toString()).toString(),totalSupply:new J(m.toString()).dividedBy(1e18).toString(),totalAssets:new J(u.toString()).dividedBy(1e18).toString(),tvl:new J(b.toString()).dividedBy(1e18).toString()},previous:{exchangeRate:G.toString(),totalSupply:new J(p.toString()).dividedBy(1e18).toString(),totalAssets:new J(g.toString()).dividedBy(1e18).toString(),tvl:new J(P.toString()).dividedBy(1e18).toString()},totalWBeraIssued:new J(S.toString()).dividedBy(1e18).toString(),lockPeriod:y,totalBuyBacks:F.sumAllClaims,totalBuyBacksInLast24Hours:F.sumClaimsInLast24Hours}}catch(n){throw console.error("Failed to get SW Bera Vault Metadata",n),n}}function Mt(e){let t=Date.now(),r=e*1e3-t;if(r<=0)return;let a=R(r);return Je(a,!0,!0)}async function Hu(e,t,r,a){let o=[];function n(s,i){let[l,u,m]=s,d=l,b=Number(m)+Number(i),g=R(Date.now()),p=b-g;if(d>0){let A=Mt(p<=0?0:b);o.push({withdrawalAmount:d,timeRemaining:A})}}switch(a){case"V1":{let[s,i]=await Promise.all([r.readContract({address:e,abi:D,functionName:"withdrawalRequests",args:[t]}),ue({publicClient:r})]);return n(s,i),o}case"V2":{let[s,i,l]=await Promise.all([r.readContract({address:e,abi:D,functionName:"withdrawalRequests",args:[t]}),r.readContract({address:e,abi:D,functionName:"getERC721WithdrawalRequestIds",args:[t]}),ue({publicClient:r})]);n(s,l);let m=(await Promise.all(i.map(async d=>{let b=await r.readContract({address:e,abi:D,functionName:"getERC721WithdrawalRequest",args:[d]}),{assets:g,requestTime:p}=b;if(!g||!p)throw new Error("Invalid withdrawal request");let A=g,P=Number(p)+Number(l),S=R(Date.now()),y=P-S;if(A>0){let F=Mt(y<=0?0:P);return{withdrawalAmount:A,timeRemaining:F,withdrawalRequestId:d}}return null}))).filter(d=>d!==null);return o.push(...m),o}}}async function Yu({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 ge(a);throw new x({message:"Failed to fetch incentives on server",cause:{error:o,result:a,account:e},reason:o?.error})}return await a.json()}import{formatEther as Ee}from"viem";import{isAddress as Lt}from"viem";async function _t({account:e,vaultAddress:t,publicClient:r}){if(k(r),!e||!Lt(e))throw new T({property:"account",value:e,expected:"Address"});if(!t||!Lt(t))throw new T({property:"vaultAddress",value:t,expected:"Address"});try{let[a,o]=await Promise.all([r.readContract({address:t,abi:C,functionName:"balanceOf",args:[e]}),r.readContract({address:t,abi:C,functionName:"getTotalDelegateStaked",args:[e]})]);return{balance:a,delegated:o}}catch(a){throw console.log(a),a}}async function Ht({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:C,functionName:"earned",args:[e]})}async function Jt({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:C,functionName:"totalSupply",args:[]})}catch(r){throw console.log(r),r}}async function ud({account:e,vaultAddress:t,publicClient:r}){let[a,o,n]=await Promise.all([_t({account:e,vaultAddress:t,publicClient:r}),Ht({account:e,vaultAddress:t,publicClient:r}),Jt({vaultAddress:t,publicClient:r})]),s=a.balance-a.delegated,i=n>0n?Number(Number.parseFloat(Ee(a.balance))/Number.parseFloat(Ee(n))).toString():"0";return{balance:a.balance,delegatedBalance:a.delegated,withdrawableBalance:s,rewards:Ee(o),percentage:i}}import{captureException as Oa}from"@sentry/nextjs";import{formatUnits as qe}from"viem";import{GetUserVaults as Ma}from"@berachain/graphql/pol/api";async function Ad({account:e,publicClient:t,...r}){let{config:a}=c(r),s=(await f("api",r).query({query:Ma,variables:{userId:e,chain:a.bex.chainName}})).data?.userVaultDeposits?.deposits;if(!s)return{totalBgtRewards:"0",vaults:[],totalStakedValue:0};let[i,l]=await Promise.all([t.multicall({allowFailure:!1,contracts:s.map(g=>({address:g.vaultAddress,abi:C,functionName:"earned",args:[e]}))}),t.multicall({allowFailure:!1,contracts:s.map(g=>({address:g.vaultAddress,abi:C,functionName:"balanceOf",args:[e]}))})]),{userVaults:u,total:m}=s.reduce((g,p,A)=>{let P=i[A],S=l[A];if(g.total+=P,!p.vault)return Oa(new Error("Deposit data from API is missing vault"),{data:{deposit:p}}),console.error("Deposit data from API is missing vault",p),g;if(P>0n||S>0n){let y=p.vault.dynamicData?.tvl&&Number(p.vault.stakingTokenAmount)!==0?Number(p.vault.dynamicData?.tvl??0)/Number(p.vault.stakingTokenAmount):null;g.userVaults.push({...p,vault:p.vault,unclaimedBgt:qe(P,18),formattedBalance:qe(S,p.vault.stakingToken.decimals),stakingTokenPrice:y})}return g},{userVaults:[],total:0n}),d=[...u].sort((g,p)=>{if(g.vault.isVaultWhitelisted&&!p.vault.isVaultWhitelisted)return-1;if(!g.vault.isVaultWhitelisted&&p.vault.isVaultWhitelisted)return 1;let A=Number.parseFloat(g.unclaimedBgt);return Number.parseFloat(p.unclaimedBgt)-A});return{totalStakedValue:d.reduce((g,p)=>{let A=Number(p.vault.dynamicData?.tvl??0);if(A===0)return g;let P=Number.parseFloat(p.vault.stakingTokenAmount),S=A/P;return g+S*Number(p.formattedBalance)},0),totalBgtRewards:qe(m,18),vaults:d}}import{GetVaultHistory as La}from"@berachain/graphql/pol/api";async function Bd({vault:e,chain:t,...r}){let{config:a}=c(r);return(await f("api",r).query({query:La,variables:{...r,vaultId:e,chain:t??a.bex.chainName}})).data.polGetRewardVaultSnapshots}import{GetVaultValidators as _a}from"@berachain/graphql/pol/api";async function Vd({address:e,onlyActiveValidators:t,...r}){return(await f("api",r).query({query:_a,variables:{vaultId:e,isActive:t}})).data.validators.validators??[]}import{getAddress as Ha,zeroAddress as Ja}from"viem";import{GetTokenCurrentPrices as $a}from"@berachain/graphql/dex/api";async function Id({addressIn:e,...t}){let{config:r}=c(t),a=e.map(s=>s.toLowerCase()).filter((s,i,l)=>s&&l.indexOf(s)===i),o=f("api",t),{data:n}=await o.query({query:$a,variables:{chains:[r.bex.chainName],addressIn:a}});return n.tokenGetCurrentPrices.reduce((s,i)=>{if(!i.price||!i.address)return s;let l=i.address;return s[Ha(l)]={price:ee(i.price.toString()),updatedAt:i.updatedAt},s[l.toLowerCase()]={price:ee(i.price.toString()),updatedAt:i.updatedAt},N(l,"WBERA")&&(s[Ja]={price:ee(i.price.toString()),updatedAt:i.updatedAt},s[r.tokens.bgt.toLowerCase()]={price:ee(i.price.toString()),updatedAt:i.updatedAt},s[r.tokens.bgt]={price:ee(i.price.toString()),updatedAt:i.updatedAt}),s},{})}async function Wd({tokenList:e,publicClient:t,...r}){let{config:a}=c(r);try{let o=await Promise.all(e.map(n=>t.readContract({address:a.honey.pythOracle,abi:it,functionName:"feeds",args:[n]})));return e.reduce((n,s,i)=>({...n,[s]:o[i]}),{})}catch(o){throw console.error("getPythPriceFeedId",o),o}}import{erc20Abi as ja,formatUnits as Ka}from"viem";async function Md({tokens:e,account:t,spender:r,publicClient:a}){if(!a||!e||!r)throw new Error("missing publicClient, tokens, or spender");if(t){let o=e.map(i=>({address:i.address,abi:ja,functionName:"allowance",args:[t,r]}));return(await a.multicall({contracts:o})).map((i,l)=>{let u=e[l];return i.error?{balance:0,...u}:{allowance:i.result,formattedAllowance:Ka(i.result,u?.decimals||18),...u}})}}async function Jd({url:e,...t}={}){let{config:r}=c(t);return(await Le({url:e??r.lists.tokenList,type:"rest",name:"GitHub"})).tokens??[]}import{erc20Abi as Ya,formatUnits as za,isAddress as $t}from"viem";function Xa({token:e,account:t,multicallAddress:r}){return N(e,"BERA")||N(e,"ETH")?{address:r,abi:st,functionName:"getEthBalance",args:[t]}:{address:e.address,abi:Ya,functionName:"balanceOf",args:[t]}}async function Xd({account:e,tokenList:t,publicClient:r}){if(!r)throw new Error("publicClient is not defined");if(!e||!t)throw new Error("account or tokenList is not defined");if(!$t(e))throw new Error("account is not a valid address");let a=t.filter(u=>$t(u.address));$(r.chain,"publicClient.chain"),$(r.chain.contracts,"publicClient.chain.contracts"),$(r.chain.contracts.multicall3,"publicClient.chain.contracts.multicall3");let{multicall3:o}=r.chain.contracts,n=typeof o=="string"?o:o.address;ye(n,"multicall3Address");let s=a.map(u=>Xa({token:u,account:e,multicallAddress:n})),i=await r.multicall({contracts:s});return await Promise.all(i.map(async(u,m)=>{let d=a[m];if(u.error)return{balance:0n,formattedBalance:"0",...d};let b=za(u.result,d?.decimals||18);return{balance:u.result,formattedBalance:b.includes("e")?"0":b,...d}}))}import{getPublicClient as to,getWalletClient as ro,switchChain as ao}from"@wagmi/core";import{BaseError as oo,createWalletClient as no,decodeErrorResult as io,HttpRequestError as so,http as lo}from"viem";import{ChainId as co,defaultChainId as Yt}from"@berachain/config/internal";import{AbiFunctionSignatureNotFoundError as Za,decodeFunctionData as eo}from"viem";async function jt({publicClient:e,abi:t,...r}){let a=[...me,...t??[]],o,n,s,i,l,u,m;if("txHash"in r){let d=await e.getTransaction({hash:r.txHash});if(!d.to)throw new T({property:"tx",value:d,expected:"Transaction",message:"Trying to get revert reason for a contract creation"});l=d.input,n=d.to,s=d.from,i=d.value,o=d.blockNumber}else if(o=r.blockNumber,n=r.to,s=r.account,i=r.value,"data"in r)l=r.data;else if("functionName"in r&&"args"in r)u=r.functionName,m=r.args;else if(!i)throw new T({property:"dataOrFunctionNameAndArgs",value:r,expected:"Hex or FunctionName and Args"});try{if(!a)if(l)await e.call({data:l,to:n,account:s,blockNumber:o,value:i});else throw new Error("Data is required if abi is not provided");if("functionName"in r&&"args"in r&&r.functionName)u=r.functionName,m=r.args;else if(l){if(!a){let d=await e.call({data:l,to:n,account:s,blockNumber:o,value:i});throw new Error(`Getting revert reason for successful simulation. Data: ${l}`,{cause:d})}try{let d=eo({abi:a,data:l});u=d.functionName,m=d.args}catch(d){throw d instanceof Za&&await e.call({data:l,to:n,account:s,blockNumber:o,value:i}),new Error("Data is required if abi is not provided")}}else throw new Error("No data or function name and args provided");throw a&&u?(await e.simulateContract({functionName:u,args:m,abi:a,address:n,account:s,blockNumber:o}),new j({message:"Getting revert reason for successful simulation",functionName:u,to:n,txHash:"txHash"in r?r.txHash:void 0,input:r})):new Error("No data or function name and args provided")}catch(d){if(d instanceof Error)return ne({error:d,abi:a,revertIfUnknown:!0});throw d}}var uo=Ye(1),Kt=(e,t)=>e*(100n+BigInt(t))/100n;function Qe({nonceResult:e,onWarning:t}){if(e.status==="fulfilled"){if(e.value&&e.value>Number.MAX_SAFE_INTEGER){t?.(new x({message:"Nonce is too large. No nonce will be provided to avoid IntegerOutOfRangeError.",cause:e.value,level:"debug"}));return}return e.value}}function mo(e=Yt){return e===co.BEPOLIA?process.env.NEXT_PUBLIC_80069_ANVIL_IMPERSONATE_ACCOUNT==="true":process.env.NEXT_PUBLIC_80094_ANVIL_IMPERSONATE_ACCOUNT==="true"}async function wm(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:n,onSuccess:s,onWarning:i,onError:l,onSubmission:u,wagmiConfig:m,walletClient:d,account:b,txConfirmationTimeout:g=12e4,chainId:p=Yt,impersonateAccount:A=mo(p),errorsAbi:P=[],pollingInterval:S=uo,...y}=e;n?.(e);let F="data"in y?y.data:void 0,G=[...me,...P,..."abi"in y&&y.abi&&Array.isArray(y.abi)?y.abi:[]],I=d;if(!m){l?.(new T({property:"wagmiConfig",value:m,expected:"Config"}),e);return}if(!(I?.account?.type==="local"))try{await ao(m,{chainId:p})}catch(V){let E=V;l?.(new x({cause:E,displayMessage:"There was an error switching to the chain."}),e);return}if(!I)try{I=await ro(m,{chainId:p})}catch(V){l?.(new x({cause:V,displayMessage:"There was an error connecting to the wallet."}),e);return}if(!I){l?.(new T({displayMessage:"There was an error connecting to the wallet.",property:"walletClient",value:I,expected:"WalletClient"}),e);return}let W=b||I.account;if(!W){l?.(new T({property:"account",value:W,expected:"Account"}),e);return}let de=typeof W=="string"?W:W.address,M=to(m,{chainId:p});try{k(M)}catch(V){l?.(V,e);return}if(A){let V=ke(p);await V.impersonateAccount({address:de}),I=no({transport:lo(V.transport.url),account:W,chain:I.chain})}let q,oe={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=M.getTransactionCount({address:de,blockTag:"latest"}).catch(()=>{}),E={account:de,to:t,address:t,chainId:p,value:a};if(r){let Q=r.map(h=>{if("abi"in h&&Array.isArray(G)&&G.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 M.simulateCalls({calls:Q,account:W}),L=h.results.findIndex(_=>_.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 _=h.results[L],{reason:Se}=_.data&&_.data!=="0x"?{reason:Ue(io({data:_.data,abi:G}))}:ne({error:_.error,revertIfUnknown:!1,abi:G});l?.(new j({cause:_.error,txHash:q,chainId:p,reason:Se,abi:G,input:oe,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 U=await I.sendCalls({calls:Q,account:W,forceAtomic:!0});u?.({id:U.id},e);let O=await I.waitForCallsStatus({id:U.id,pollingInterval:S,timeout:g});if(O.status==="success"){let h=O.receipts?.[0];if(!h)throw new x({message:"Call status is success but no receipt was found",cause:O,level:"error",reason:"CALL_STATUS_SUCCESS_BUT_NO_RECEIPT"});return s?.(h,e),h}throw console.error("wallet_sendCalls: Call failed",O),new j({cause:O,level:"error",input:oe,txHash:q,abi:G,chainId:p})}if(F){let[Q,U,O]=await Promise.allSettled([M.call({...E,data:F}),o??M.estimateGas({...E,data:F}),V]);if(Q.status==="rejected")throw Q.reason;let h=U.status==="fulfilled"?Kt(U.value,10):Ne;q=await I.sendTransaction({data:F,to:t,account:W,gas:h,chainId:p,nonce:Qe({nonceResult:O,onWarning(L){i?.(L,e)}}),value:a}),u?.({txHash:q},e)}else if("abi"in y&&"functionName"in y){let{abi:Q,functionName:U}=y,O="params"in y?y.params:void 0,[h,L,_]=await Promise.allSettled([M.simulateContract({...E,abi:G,functionName:U,args:O,account:W}),o??M.estimateContractGas({...E,abi:G,functionName:U,args:O}),V]);if(h.status==="rejected")throw h.reason;let Se=o??(L.status==="fulfilled"?Kt(L.value,10):Ne);q=await I.writeContract({...h.value.request,chainId:p,gas:Se,nonce:Qe({nonceResult:_,onWarning(er){i?.(er,e)}})}),u?.({txHash:q},e)}else{let[Q]=await Promise.allSettled([V]);q=await I.sendTransaction({chainId:p,to:t,value:a,account:W,nonce:Qe({nonceResult:Q,onWarning(U){i?.(U,e)}})}),u?.({txHash:q},e)}process.env.NODE_ENV==="test"&&await ke(p).mine({blocks:1});let z=await M.waitForTransactionReceipt({hash:q,pollingInterval:S,timeout:g,confirmations:1});if(z.status==="success")s?.(z,e);else{let Q=await jt({publicClient:M,blockNumber:z.blockNumber,to:t,account:de,abi:G,args:"params"in y?y.params:void 0,functionName:"functionName"in y?y.functionName:void 0,value:a,data:F});process.env.NODE_ENV==="test"&&console.error("beraWriteContract: Revert reason",Q),l?.(new j({reason:Q.reason,txHash:q,receipt:z,to:t,functionName:"functionName"in y?y.functionName:void 0,input:oe,chainId:p,abi:G,blockNumber:z.blockNumber}),e)}return z}catch(V){if(V instanceof x)l?.(V,e);else if(V instanceof Error){let E=ne({error:V,revertIfUnknown:!1,abi:G});if(E&&E.rootCause instanceof oo&&"url"in E.rootCause){l?.(new X({cause:E.rootCause,response:void 0,endpoint:{url:E.rootCause.url,type:"rpc"},statusCode:E.rootCause instanceof so?E.rootCause.status:void 0}),e);return}l?.(new j({cause:V,to:t,txHash:q,chainId:p,abi:G,functionName:"functionName"in y?y.functionName:void 0,input:oe}),e)}else l?.(new j({cause:V,txHash:q,to:t,chainId:p,functionName:"functionName"in y?y.functionName:void 0,input:oe,abi:G}),e)}}async function vm({publicClient:e,ui:t,...r}){let{config:a}=c(r),[o,n,s,i,l,u,m,d]=await Promise.all([e.readContract({address:a.pol.beraChef,abi:v,functionName:"MAX_COMMISSION_RATE"}),e.readContract({address:a.pol.beraChef,abi:v,functionName:"commissionChangeDelay"}),e.readContract({address:a.pol.beraChef,abi:v,functionName:"rewardAllocationBlockDelay"}),e.readContract({address:a.pol.beraChef,abi:v,functionName:"maxWeightPerVault"}),e.readContract({address:a.pol.beraChef,abi:v,functionName:"maxNumWeightsPerRewardAllocation"}),e.readContract({address:a.tokens.bgt,abi:H,functionName:"dropBoostDelay"}),e.readContract({address:a.tokens.bgt,abi:H,functionName:"activateBoostDelay"}),e.readContract({address:a.pol.beraChef,abi:v,functionName:"rewardAllocationInactivityBlockSpan"})]);return{maxCommissionRate:Number(o)/1e4,boostDelay:Number(m),unboostDelay:Number(u),commissionChangeDelay:Number(n),rewardAllocationBlockDelay:Number(s),maxWeightPerVault:Number(i)/1e4,maxNumWeightsPerRewardAllocation:Number(l),rewardAllocationInactivityBlockSpan:Number(d),ui:t}}import{GetValidators as po}from"@berachain/graphql/pol/api";async function zt({variables:e={},...t}={}){let{config:r}=c(t);return(await f("api",t).query({query:po,variables:{chain:r.bex.chainName,...e}})).data}import{isAddressEqual as fo}from"viem";async function Fm({allocation:e}){let t=await ve({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=>fo(o.address,a.receiver))}))}import{GetValidator as go}from"@berachain/graphql/pol/api";async function Qm({id:e,...t}){let{config:r}=c(t);return(await f("api",t).query({query:go,variables:{id:e,chain:r.bex.chainName}})).data}import{GetValidatorBlockStats as bo}from"@berachain/graphql/pol/subgraph";async function Mm({pubKey:e,first:t=1,...r}){let a=f("pol.subgraph",r);try{return(await a.query({query:bo,variables:{pubKey:e,first:t}})).data}catch(o){throw console.error("GetValidatorBlockStats:",o),o}}function ae(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 yo(e,t){return e.start.blockNumber===t.start.blockNumber&&e.weights.every((r,a)=>r.percentage===t.weights[a].percentage)}async function Jm({client:e,pubKey:t,...r}){let{config:a}=c(r);try{let[o,n]=await Promise.all([e.readContract({address:a.pol.beraChef,abi:v,functionName:"getActiveRewardAllocation",args:[t]}),e.readContract({address:a.pol.beraChef,abi:v,functionName:"getSetActiveRewardAllocation",args:[t]})]),[s,i]=await Promise.all([o.startBlock!==0n?e.getBlock({blockNumber:BigInt(o.startBlock)}):{timestamp:0},n.startBlock!==0n?e.getBlock({blockNumber:BigInt(n.startBlock)}):{timestamp:0}]),l=ae(o,Number(s.timestamp)),u=ae(n,Number(i.timestamp)),m=!1;return u.start.blockNumber===0?m=!0:m=!yo(u,l),{activeRewardAllocation:l,setRewardAllocation:u,isBaseline:m,isNeverSet:u?.start.blockNumber===0}}catch(o){throw console.log("getValidatorRewardAllocation:",o),o}}function zm(e){return e.start.blockNumber===0}async function Xm({client:e,...t}){let{config:r}=c(t),a=await e.readContract({address:r.pol.beraChef,abi:v,functionName:"getDefaultRewardAllocation",args:[]});return ae({...a,startBlock:0n},0)}import{GetValidatorByAccount as Ao}from"@berachain/graphql/pol/subgraph";async function rp({account:e,...t}){try{return(await f("pol.subgraph",t).query({query:Ao,variables:{account:e}})).data}catch(r){throw console.error("getManagedValidatorByAccount:",r),r}}async function op({client:e,valPubKey:t}){return 5614}import{GetUserValidatorInformation as ho}from"@berachain/graphql/pol/subgraph";async function Xt({account:e,block:t,...r}){return await f("pol.subgraph",r).query({query:ho,variables:{address:e.toLowerCase(),block:t}})}import{formatEther as We}from"viem";async function Zt({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[n,s,i]=await Promise.all([r.readContract({address:o.tokens.bgt,abi:H,functionName:"boosted",args:[e,t]}),r.readContract({address:o.tokens.bgt,abi:H,functionName:"boostedQueue",args:[e,t]}),r.readContract({address:o.tokens.bgt,abi:H,functionName:"dropBoostQueue",args:[e,t]})]);return{pubkey:t,activeBoostAmount:We(n),queuedBoostAmount:We(s[1]),queuedDropBoostAmount:We(i[1]),queuedBoostStartBlock:s[0],queuedDropBoostStartBlock:i[0],hasPendingBoosts:Number(s[1])>0||Number(i[1])>0,hasActiveBoosts:Number(n)>0}}async function Ap({account:e,publicClient:t,chain:r,...a}){let{config:o}=c(a),n=r??o.bex.chainName,s=await Xt({account:e}),[i,l]=await Promise.all([zt({variables:{chain:n,where:{idIn:s.data.userValidatorInformations.map(u=>u.validator.id)}}}),t&&je({lastBlockTimestamp:s.data._meta?.block.timestamp,blockTime:o.averageBlockTime})?Promise.all(s.data.userValidatorInformations.map(u=>Zt({account:e,pubkey:u.validator.publicKey,publicClient:t}))):void 0]);return i?.validators.validators.map(u=>{let m=l?l.find(d=>d.pubkey.toLowerCase()===u.pubkey.toLowerCase()):s.data.userValidatorInformations.find(d=>d.validator.id.toLowerCase()===u.id.toLowerCase());if(!m)throw new Error("User deposited not found");return{...u,userBoosts:{pubkey:"pubkey"in m?m.pubkey:m.validator.publicKey,activeBoostAmount:m?.activeBoostAmount,queuedBoostAmount:m?.queuedBoostAmount,queuedBoostStartBlock:Number(m?.queuedBoostStartBlock),queuedDropBoostAmount:m?.queuedDropBoostAmount,queuedDropBoostStartBlock:Number(m?.queuedDropBoostStartBlock),hasPendingBoosts:Number(m?.queuedBoostAmount)>0||Number(m?.queuedDropBoostAmount)>0,hasActiveBoosts:Number(m?.activeBoostAmount)>0}}})}var wo=[{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:R(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:R(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:R(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:R(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:R(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:R(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:R(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 Cp(e){return await new Promise(t=>setTimeout(t,2e3)),e==="0x4C368fFE3650379d6318C8d4630bc51f8Ad12bB6"?wo:[]}import{GetValidatorAnalytics as Co}from"@berachain/graphql/pol/subgraph";async function Rp({pubkey:e,dayRange:t,...r}){return(await f("pol.subgraph",r).query({query:Co,variables:{pubKey:e,timestamp:He(t).toString()}})).data}async function kp({client:e,pubKey:t,...r}){let{config:a}=c(r),o=await e.readContract({address:a.pol.beraChef,abi:v,functionName:"getValCommissionOnIncentiveTokens",args:[t]});return Number(o??0n)/1e4}var Fp=(e,t,r)=>{if(!t||!e)return 0;let a=ie(1)/r;return(t?a*(Number(e.dynamicData?.stakedBeraAmount)/t):0)*Number.parseFloat(e.dynamicData?.rewardRate??"0")};async function qp({client:e,pubKey:t,...r}){let{config:a}=c(r);try{return await e.readContract({address:a.depositContract,abi:he,functionName:"getOperator",args:[t]})}catch(o){throw console.log("getValidatorOperatorAddress:",o),o}}async function Op({client:e,pubKey:t,...r}){let{config:a}=c(r),o=await e.readContract({address:a.pol.beraChef,abi:v,functionName:"getValQueuedCommissionOnIncentiveTokens",args:[t]});return{blockNumberLast:o.blockNumberLast,commissionRate:Number(o.commissionRate)/1e4}}async function Hp({client:e,pubKey:t,...r}){let{config:a}=c(r);try{return await e.readContract({address:a.depositContract,abi:he,functionName:"queuedOperator",args:[t]})}catch(o){throw console.log("getValidatorQueuedOperatorAddress:",o),o}}async function Yp({client:e,pubKey:t,...r}){let{config:a}=c(r);try{let o=await e.readContract({address:a.pol.beraChef,abi:v,functionName:"getQueuedRewardAllocation",args:[t]});return ae(o,0)}catch(o){throw console.log("getValidatorQueuedRewardAllocation:",o),o}}function Po(e){return e?.rewardAllocationWeights?.reduce((t,r)=>{if(!r)return t;let a=r.receivingVault?.activeIncentives.filter(o=>Number(o.remainingAmount)>0).reduce((o,n)=>{let s=Number(n.remainingAmountUsd)/Number(n.remainingAmount);return o+Number(n.incentiveRate)*s},0)??0;return t+a*r.percentage},0)}function Xp({validator:e,bgtPrice:t}){let r=Number(e.dynamicData?.activeBoostAmount??0),a=Po(e);return!a||!r?0:a*Number(e.dynamicData?.lastDayDistributedBGTAmount??0)*365/(r*t)}export{Ro as a,ko as b,f as c,dr as d,mt as e,rn as f,fn as g,hn as h,xn as i,ft as j,In as k,Un as l,Jn as m,Kn as n,ei as o,oi as p,re as q,ci as r,Pe as s,fi as t,yi as u,vi as v,ki as w,xt as x,Wi as y,Li as z,$i as A,zi as B,vt as C,Fe as D,Rt as E,vs as F,ks as G,Ds as H,Qs as I,pa as J,Ls as K,Js as L,Ys as M,rl as N,Nt as O,ml as P,kt as Q,vl as R,Gl as S,Il as T,wa as U,Ul as V,Ll as W,Tt as X,ve as Y,Pc as Z,qt as _,Nc as $,Dc as aa,Wc as ba,Hc as ca,ru as da,su as ea,fu as fa,yu as ga,Pu as ha,Vu as ia,ue as ja,Uu as ka,Hu as la,Yu as ma,Ht as na,ud as oa,Ad as pa,Bd as qa,Vd as ra,Id as sa,Wd as ta,Md as ua,Jd as va,Xa as wa,Xd as xa,mo as ya,wm as za,vm as Aa,zt as Ba,Fm as Ca,Qm as Da,Mm as Ea,ae as Fa,yo as Ga,Jm as Ha,zm as Ia,Xm as Ja,rp as Ka,op as La,Zt as Ma,Ap as Na,Cp as Oa,Rp as Pa,kp as Qa,Fp as Ra,qp as Sa,Op as Ta,Hp as Ua,Yp as Va,Po as Wa,Xp as Xa};
|
package/dist/chunk-NNYEN6SA.cjs
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } async function _asyncNullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return await rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } async function _asyncOptionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = await fn(value); } else if (op === 'call' || op === 'optionalCall') { value = await fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class;var _chunk7LKILKNXcjs = require('./chunk-7LKILKNX.cjs');var _chunkTYTNDYXVcjs = require('./chunk-TYTNDYXV.cjs');var _chunk7DPUKGDTcjs = require('./chunk-7DPUKGDT.cjs');var _chunk6PL44I45cjs = require('./chunk-6PL44I45.cjs');var _chunkMDA4YT6Jcjs = require('./chunk-MDA4YT6J.cjs');var _chunk33CW5NUNcjs = require('./chunk-33CW5NUN.cjs');var _viem = require('viem');async function Ro({sharesAmount:e,vaultAddress:t,publicClient:r}){let a=await r.readContract({address:t,abi:_chunk7LKILKNXcjs.a,functionName:"convertToAssets",args:[e]});return{raw:a,formatted:_viem.formatEther.call(void 0, a)}}async function ko({vaultAddress:e,publicClient:t}){let r=await t.readContract({address:e,abi:_chunk7LKILKNXcjs.a,functionName:"maxDeposit",args:[e]});return _viem.formatEther.call(void 0, r)}var _client = require('@apollo/client');var _http = require('@apollo/client/link/http');var _config = require('@berachain/config');var _internal = require('@berachain/config/internal');var _api = require('@berachain/graphql/dex/api'); var _api2 = _interopRequireDefault(_api);var _nextjs = require('@sentry/nextjs'); var lt = _interopRequireWildcard(_nextjs);var we=class extends _client.ApolloClient{constructor(t){super(t),this.url=t.url}async query(t){let r=ir(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 n=await lt.startSpan({name:`GraphQL ${r}`,op:"BeraApolloClient.query",attributes:o},async()=>super.query(t));if(n.error||n.data===void 0)throw new (0, _chunk33CW5NUNcjs.f)({level:"fatal",tags:o,message:"Bera Apollo Client: No data returned from query, but error should be thrown since errorPolicy is none"});return{data:n.data}}catch(n){throw!_internal.appConfig.env.isProduction&&console.error("BeraApolloClient error",n),_client.ServerError.is(n)?new (0, _chunkMDA4YT6Jcjs.a)({response:n.response,cause:n,statusCode:n.statusCode,endpoint:a,tags:o}):n instanceof TypeError?new (0, _chunkMDA4YT6Jcjs.a)({level:"fatal",reason:"TypeError",response:n,cause:n,endpoint:a,tags:o}):new (0, _chunkMDA4YT6Jcjs.a)({response:n,tags:o,cause:n,endpoint:a})}}};function ir(e){return _optionalChain([e, 'access', _2 => _2.definitions, 'access', _3 => _3.find, 'call', _4 => _4(r=>r.kind==="OperationDefinition"), 'optionalAccess', _5 => _5.name, 'optionalAccess', _6 => _6.value])}function ur(e){if(!_internal.currentDapp)return e;let t=typeof e=="string"?void 0:e.headers;return{uri:_config.getUriFromLink.call(void 0, e),headers:{...t,"x-graphql-client-name":`berachain.${_internal.currentDapp}.${process.env.NEXT_RUNTIME||"browser"}`,"x-graphql-client-version":`${process.env.VERCEL_TARGET_ENV}.${process.env.VERCEL_GIT_COMMIT_SHA}`}}}function Y(e,{ssrMode:t,inMemoryCacheOptions:r}={}){let a=_config.getUriFromLink.call(void 0, e),o=typeof e=="string"?void 0:e.headers;return new we({url:a,link:new (0, _http.HttpLink)({uri:a,headers:o}),defaultOptions:{query:{errorPolicy:"none",fetchPolicy:"no-cache"}},cache:new (0, _client.InMemoryCache)(r),ssrMode:t})}function f(e,{...t}){let{config:r}=_chunk7DPUKGDTcjs.b.call(void 0, t);switch(e){case"api":return Y(ur(r.api),{inMemoryCacheOptions:{possibleTypes:_api2.default.possibleTypes}});case"bend.whisk":if(!r.bend.whiskApi)throw new (0, _chunk33CW5NUNcjs.f)({message:"Bend whisk API is not configured on this chain",level:"error"});return Y(r.bend.whiskApi);case"honey.subgraph":return Y(r.honey.subgraph);case"pol.subgraph":return Y(r.pol.subgraph);case"governance.subgraph":return Y(r.governance.subgraph);case"blocks.subgraph":return Y(r.blocksSubgraph);case"bex.subgraph":return Y(r.bex.subgraph)}}var _bignumberjs = require('bignumber.js'); var _bignumberjs2 = _interopRequireDefault(_bignumberjs);var mt= (_class =class e{static __initStatic() {this.PATH_NOT_FOUND_REASON="NO_SWAP_PATHS"}__init() {this.notFoundMessages=[]}constructor(t={}){;_class.prototype.__init.call(this);_class.prototype.__init2.call(this);let{config:r,chainId:a}=_chunk7DPUKGDTcjs.b.call(void 0, t);this.config=r,this.chainId=a}__init2() {this.url=""}parseAddresses(t,r){if(!_viem.isAddress.call(void 0, t)||!_viem.isAddress.call(void 0, r))throw new (0, _chunk33CW5NUNcjs.f)({message:`Invalid address: ${t} or ${r}`,level:"error"});return{tokenInAddress:_chunk7DPUKGDTcjs.f.call(void 0, t,"BERA")?this.config.tokens.wbera:t,tokenOutAddress:_chunk7DPUKGDTcjs.f.call(void 0, r,"BERA")?this.config.tokens.wbera:r,isTokenInNative:_chunk7DPUKGDTcjs.f.call(void 0, t,"BERA"),isTokenOutNative:_chunk7DPUKGDTcjs.f.call(void 0, r,"BERA")}}getAmountAfterFees(t,r){if(r===void 0)throw new (0, _chunk33CW5NUNcjs.f)({message:"aggregatorsFeeBps is required",level:"error"});let a=new (0, _bignumberjs.BigNumber)(t).times(r).dividedBy(1e4).toFixed(0,_bignumberjs.BigNumber.ROUND_DOWN);return new (0, _bignumberjs.BigNumber)(t).minus(a).toFixed(0,_bignumberjs.BigNumber.ROUND_DOWN)}getInputData({tokenIn:t,amountIn:r,isNative:a,isPermit2Approval:o=!1,permit2SpenderAddress:n=_viem.zeroAddress}){return{tokenIn:t,amountIn:BigInt(r),isNative:a,isPermit2Approval:o,permit2SpenderAddress:n}}getMinAmountOut(t,r){if(r===void 0)throw new (0, _chunk33CW5NUNcjs.f)({message:"slippage is required",level:"error"});let a=new (0, _bignumberjs.BigNumber)(t).times(1-r/100);return a.isNaN()||a.isZero()?0n:BigInt(a.toFixed(0))}checkChainSupport(){if(!this.supportedChains.includes(this.chainId))throw new (0, _chunk33CW5NUNcjs.f)({message:`${this.name} is not supported on chain ${this.chainId}`,level:"error"})}async fetch(t,r){try{return await _chunkTYTNDYXVcjs.b.call(void 0, {url:t,name:this.name,type:this.type},{method:"GET",headers:{"Content-Type":"application/json"},...r})}catch(a){let o=_chunk6PL44I45cjs.a.call(void 0, {cause:a});throw this.notFoundMessages.some(n=>o.message.includes(n))&&(o.reason=e.PATH_NOT_FOUND_REASON),o}}}, _class.__initStatic(), _class);var _berancersdk = require('@berachain-foundation/berancer-sdk');var _chains = require('viem/chains');for(let e of Object.keys(_internal.chainConfigs)){let{config:t,chainId:r}=_chunk7DPUKGDTcjs.b.call(void 0, {chainId:Number(e)});_berancersdk.API_CHAIN_NAMES[r]=t.bex.chainName,_berancersdk.CHAINS[r]=r===_chains.berachain.id?_chains.berachain:_chains.berachainBepolia,_berancersdk.BALANCER_RELAYER[r]=t.bex.relayer,_berancersdk.VAULT[r]=t.bex.vault,_berancersdk.BALANCER_QUERIES[r]=t.bex.queries,_berancersdk.WEIGHTED_POOL_FACTORY_BALANCER_V2[r]=_viem.zeroAddress,_berancersdk.COMPOSABLE_STABLE_POOL_FACTORY[r]=_viem.zeroAddress;let a=new (0, _berancersdk.Token)(r,_viem.zeroAddress,_chunk7DPUKGDTcjs.c.decimals,_chunk7DPUKGDTcjs.c.name,_chunk7DPUKGDTcjs.c.symbol,t.tokens.wbera);_berancersdk.NATIVE_ASSETS[r]=a}var _api3 = require('@berachain/graphql/pol/api');async function fn({textSearch:e,chain:t,first:r,orderBy:a,orderDirection:o,skip:n,fetchPolicy:s,userAddress:i,blacklistedPoolIds:l,...u}={}){let{config:m}=_chunk7DPUKGDTcjs.b.call(void 0, u),b=await f("api",u).query({query:_api.GetPools,variables:{textSearch:e,chain:_nullishCoalesce(t, () => (m.bex.chainName)),first:r,orderBy:_nullishCoalesce(a, () => (_api3.GqlPoolOrderBy.TotalLiquidity)),orderDirection:_nullishCoalesce(o, () => (_api3.GqlPoolOrderDirection.Desc)),skip:n,userAddress:i,blacklistedPoolIds:l},fetchPolicy:s});return{pools:_nullishCoalesce(b.data.poolGetPools, () => ([])),count:_nullishCoalesce(b.data.count, () => (0))}}async function hn({poolId:e,account:t,...r}){let{config:a}=_chunk7DPUKGDTcjs.b.call(void 0, r),s=(await f("api",r).query({query:_api.GetPool,variables:{id:e,userAddress:t,chain:a.bex.chainName},fetchPolicy:"no-cache"})).data.poolGetPool;if(!s)throw new Error(`Pool not found for id: ${e} and user ${t}`);return s}async function xn(e={}){let{config:t}=_chunk7DPUKGDTcjs.b.call(void 0, e);return(await f("api",e).query({query:_api.GetGlobalLiquidityAndSwapVolume,variables:{chain:t.bex.chainName}})).data}async function ft({publicClient:e,poolAddress:t}){let r=_berancersdk.weightedPoolV4Abi_V2,a=await e.multicall({contracts:[{address:t,abi:r,functionName:"inRecoveryMode"},{address:t,abi:r,functionName:"getPausedState"}],allowFailure:!1});return{isPoolInRecoveryMode:a[0],isPoolPaused:a[1][0]}}async function In({poolId:e,publicClient:t,...r}){let{config:a}=_chunk7DPUKGDTcjs.b.call(void 0, r),o=e.slice(0,42);if(!_viem.isAddress.call(void 0, o)||!_viem.isHex.call(void 0, e))throw new (0, _chunk33CW5NUNcjs.g)({property:"poolId",value:e,expected:"Hex"});try{let[n,s,i,l,u,m,d,b,g]=await Promise.all([t.readContract({address:o,abi:_viem.erc20Abi,functionName:"name"}),t.readContract({address:a.bex.vault,abi:_berancersdk.vaultV2Abi,functionName:"getPoolTokens",args:[e]}),t.readContract({address:o,abi:_viem.erc20Abi,functionName:"totalSupply"}),t.readContract({address:o,abi:_berancersdk.weightedPoolV4Abi_V2,functionName:"getSwapFeePercentage"}),t.readContract({address:o,abi:_berancersdk.weightedPoolV4Abi_V2,functionName:"version"}),t.readContract({address:o,abi:_berancersdk.weightedPoolV4Abi_V2,functionName:"decimals"}),t.readContract({address:a.bex.factories.composableStable,abi:_berancersdk.weightedPoolFactoryAbi_V3,functionName:"isPoolFromFactory",args:[o]}),t.readContract({address:a.bex.factories.weighted,abi:_berancersdk.weightedPoolFactoryAbi_V3,functionName:"isPoolFromFactory",args:[o]}),ft({publicClient:t,poolAddress:o})]),p=Number(m),A=JSON.parse(u),P,S,y;if(d?[P,y]=await Promise.all([t.readContract({address:o,abi:[{type:"function",name:"getActualSupply",stateMutability:"view",inputs:[],outputs:[{type:"uint256"}]}],functionName:"getActualSupply"}),t.readContract({address:o,abi:_berancersdk.stablePoolAbi_V3,functionName:"getAmplificationParameter"})]):A.name==="WeightedPool"&&(S=await t.readContract({address:o,abi:_berancersdk.weightedPoolV4Abi_V2,functionName:"getNormalizedWeights"})),!d&&!b)throw new Error(`Pool ${o} is not a valid BEX pool`);return{name:n,address:o,id:e,poolTokens:[s[0],s[1].map(String),Number(s[2])],totalSupply:_viem.formatUnits.call(void 0, _nullishCoalesce(P, () => (i)),p),swapFee:_viem.formatEther.call(void 0, l),decimals:p,weights:_optionalChain([S, 'optionalAccess', _7 => _7.map, 'call', _8 => _8(F=>_viem.formatEther.call(void 0, F))]),version:A,factory:d?a.bex.factories.composableStable:a.bex.factories.weighted,type:d?_api3.GqlPoolType.Stable:_api3.GqlPoolType.Weighted,amplificationParameter:y?[Number(y[0]),y[1],Number(y[2])]:void 0,pausedState:g}}catch(n){throw _chunk6PL44I45cjs.a.call(void 0, {cause:n})}}async function Un({poolId:e,typeInArray:t,...r}){let{config:a}=_chunk7DPUKGDTcjs.b.call(void 0, r);return(await f("api",r).query({query:_api.GetPoolEvents,variables:{poolId:e,typeIn:t,chain:a.bex.chainName}})).data}async function Jn({poolId:e,chain:t,...r}){if(!e||!_viem.isHex.call(void 0, e))throw new (0, _chunk33CW5NUNcjs.g)({property:"poolId",value:e,expected:"hex string"});let a=f("api",r),{data:o}=await a.query({query:_api.GetPoolHistoricalData,variables:{poolId:e,chain:t}});return o.poolGetSnapshots}var Kn=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 _subgraph = require('@berachain/graphql/dex/subgraph');async function ei({poolId:e,...t}){if(!_viem.isHex.call(void 0, e))throw new Error("poolId is not a valid hex string");return(await f("bex.subgraph",t).query({query:_subgraph.GetSubgraphPool,variables:{id:e}})).data.pool}async function oi({publicClient:e,...t}){let{config:r}=_chunk7DPUKGDTcjs.b.call(void 0, t);return(await e.readContract({address:r.bex.vault,abi:_chunk7LKILKNXcjs.b,functionName:"getPausedState"}))[0]}var re=({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 s=BigInt(t);if(e.startsWith("uint")&&s<0n)return"Negative amount"}catch (e2){return"Invalid amount"}return null}switch(e){case"string":return t!==void 0&&typeof t!="string"?"Invalid amount":null;case"bool":return typeof t!="boolean"?"Invalid amount":null;case"title":return t.length===0?"Required":null;case"description":return t.length===0?"Required":null;case"forumLink":if(t.length===0)return"Required";if(!URL.canParse(t))return"Invalid address";let s=new URL(a);return t.startsWith(s.toString())?null:"Must be a berachain forum link";case"address":return _viem.isAddress.call(void 0, t,{strict:!0})?null:"Invalid address";case"hex":return _viem.isHex.call(void 0, t,{strict:!0})?null:"Invalid address";case"abi":try{JSON.parse(t)}catch (e3){return"Invalid ABI"}return null;case"action":return _viem.isAddress.call(void 0, t,{strict:!0})?null:"Invalid address";case"tuple":if(typeof t=="object"&&Array.isArray(o)){let i={};for(let l of o)i[l.name]=re({fieldOrType:l.type,value:t[l.name],components:l.components});return Object.values(i).every(l=>l===null)?null:i}return null;case"tuple[]":if(Array.isArray(t)){let i=t.map(l=>re({fieldOrType:"tuple",value:l,components:o}));return i.every(l=>l===null)?null:i}return null;case"logoURI":return t===void 0||t===""||URL.canParse(t)&&new URL(t).protocol==="https:"?null:"Must be HTTPS or IPFS";case"url":return t===void 0||t===""||URL.canParse(t)&&new URL(t).protocol==="https:"?null:"Must be HTTPS";default:return console.error(`Invalid field or type: ${e}`),null}};var _governance = require('@berachain/graphql/governance');var Mr=!1,ci= exports.r =[_governance.ProposalStatus.Active,_governance.ProposalStatus.PendingQueue,_governance.ProposalStatus.PendingExecution,_governance.ProposalStatus.Defeated,_governance.ProposalStatus.QuorumNotReached];function Pe(e,t){let r=Date.now()/1e3;if(t!==void 0){if(e.status===_governance.ProposalStatus.CanceledByGuardian)return _governance.ProposalStatus.CanceledByGuardian;if(t===2)return Number(e.voteStartAt)<r?_governance.ProposalStatus.CanceledByUser:_governance.ProposalStatus.CanceledByGuardian;if(t===3)return e.pollResult?!e.quorum||BigInt(e.quorum)>BigInt(e.pollResult.totalTowardsQuorum)?_governance.ProposalStatus.QuorumNotReached:_governance.ProposalStatus.Defeated:_governance.ProposalStatus.QuorumNotReached;if(t===4)return _governance.ProposalStatus.PendingQueue;if(t===5)return Number(e.queueEnd)<Date.now()/1e3?_governance.ProposalStatus.PendingExecution:_governance.ProposalStatus.InQueue;if(t===6)return console.warn("Unexpected expired state on proposal id: ",e.id),_governance.ProposalStatus.Defeated}return e.status===_governance.ProposalStatus.InQueue&&Number(e.queueEnd)<Date.now()/1e3?_governance.ProposalStatus.PendingExecution:Mr&&t===1&&e.quorum&&BigInt(e.quorum)<BigInt(e.pollResult.totalTowardsQuorum)&&Number(e.pollResult.forPercentage)>Number(e.pollResult.againstPercentage)?_governance.ProposalStatus.PendingQueue:e.status===_governance.ProposalStatus.Pending?Number(e.voteStartAt)<r&&Number(e.voteEndAt)>r?_governance.ProposalStatus.Active:Number(e.voteEndAt)<r?e.pollResult?!e.quorum||BigInt(e.quorum)>BigInt(e.pollResult.totalTowardsQuorum)?_governance.ProposalStatus.QuorumNotReached:_optionalChain([e, 'access', _9 => _9.pollResult, 'optionalAccess', _10 => _10.against])>_optionalChain([e, 'access', _11 => _11.pollResult, 'optionalAccess', _12 => _12.for])?_governance.ProposalStatus.Defeated:_governance.ProposalStatus.PendingQueue:_governance.ProposalStatus.QuorumNotReached:_governance.ProposalStatus.Pending:e.status===_governance.ProposalStatus.Active&&Number(e.voteEndAt)<r?!e.quorum||BigInt(e.quorum)>BigInt(e.pollResult.totalTowardsQuorum)?_governance.ProposalStatus.QuorumNotReached:BigInt(_nullishCoalesce(_optionalChain([e, 'access', _13 => _13.pollResult, 'optionalAccess', _14 => _14.against]), () => (0n)))>BigInt(_nullishCoalesce(_optionalChain([e, 'access', _15 => _15.pollResult, 'optionalAccess', _16 => _16.for]), () => (0n)))?_governance.ProposalStatus.Defeated:_governance.ProposalStatus.PendingQueue:e.status===_governance.ProposalStatus.InQueue&&Number(e.queueEnd)<Date.now()/1e3?_governance.ProposalStatus.PendingExecution:e.status}async function fi({where:e,orderBy:t,orderDirection:r,offset:a=0,perPage:o=20,text:n,...s}){try{if(o>1e3)throw new Error("perPage must be less than 1000");let i=f("governance.subgraph",s),[l]=await Promise.all([n?i.query({query:_governance.SearchProposals,variables:{offset:a,limit:o,where:e,text:n}}):i.query({query:_governance.GetProposals,variables:{offset:a,limit:o,where:e,orderBy:t,orderDirection:r}})]);return l.data.proposals.map(u=>({...u,status:Pe(u)}))}catch(i){throw console.error("getAllProposals:",i),i}}var yi=(e,t)=>{let r={};return r.title=re({fieldOrType:"title",value:e.title}),r.description=re({fieldOrType:"description",value:e.description}),r.forumLink=re({fieldOrType:"forumLink",value:e.forumLink,baseUrl:t.forumLink}),r};function Yr(e){return e.some(t=>t.name==="implementation"||t.name==="proxyType"||t.type==="constructor"&&_optionalChain([t, 'access', _17 => _17.inputs, 'optionalAccess', _18 => _18[0], 'optionalAccess', _19 => _19.name])==="implementation")}async function Pt({contractAddress:e,chainId:t}){let r=`https://api.etherscan.io/v2/api?module=contract&action=getabi&address=${e}&apikey=${_internal.appConfig.apiKeys.private.etherscan}&chainId=${t}`,a=await fetch(r,{next:{revalidate:_chunkTYTNDYXVcjs.I.call(void 0, 1)}});if(!a.ok)throw new Error(`Failed to fetch ABI: ${a.statusText}`);let o=await a.json();if(o.status==="0")throw new Error(o.result);let n=JSON.parse(o.result);if(!Yr(n))return n;let s=await _chunkTYTNDYXVcjs.v.call(void 0, ).getStorageAt({address:e,slot:"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc"});if(!s||_viem.trim.call(void 0, s)==="0x00")return n;let i=_viem.pad.call(void 0, _viem.trim.call(void 0, s),{size:20});return Pt({contractAddress:i,chainId:t})}async function zr({address:e,callData:t,knownAbi:r,chainId:a}){try{if(_viem.decodeFunctionData.call(void 0, {data:t,abi:r}))return r}catch (e4){}try{return await Pt({contractAddress:e,chainId:a})}catch (e5){}}function Xr(e,t){try{return _viem.decodeFunctionData.call(void 0, {data:e,abi:t})}catch (e6){return}}function Zr(e,t){return e.find(r=>r.type==="function"&&r.name===t)}function ea(e){if(e)try{return _viem.toFunctionSignature.call(void 0, e)}catch(t){console.error(t)}}async function vi({address:e,callData:t,chainId:r=_internal.defaultChainId}){let a=[..._chunk7LKILKNXcjs.c,..._chunk7LKILKNXcjs.d,..._viem.erc20Abi],o=await zr({address:e,callData:t,knownAbi:a,chainId:r}),n=Xr(t,o);if(!o||!n)return{args:[]};let s=Zr(o,n.functionName),i=ea(s);return{abiItem:s,functionSignature:i,functionName:n.functionName,args:n.args}}async function ki({proposalId:e,...t}){let a=await f("governance.subgraph",t).query({query:_governance.GetProposal,variables:{id:e}});if(a.data.proposal)return{...a.data.proposal,status:Pe(a.data.proposal)}}var _graymatter = require('gray-matter'); var _graymatter2 = _interopRequireDefault(_graymatter);var ra=e=>{let t=/#(?:([\w-]+)# )?(.+)\n([\s\S]*)/,r=e.match(t);if(r){let a=r[1]||null,o=r[2],n=r[3].replace(`
|
|
2
|
-
`,"<br />");return{type:a,title:o,content:n}}throw new Error("Invalid proposal body")},xt= exports.x =e=>{if(!e)return{isFrontMatter:!1,data:{title:"Loading..."},content:"",matter:"",language:"",orig:"",stringify:()=>""};let t=_nullishCoalesce(_optionalChain([e, 'optionalAccess', _20 => _20.description]), () => (""));if(_graymatter2.default.test(t))return{..._graymatter2.default.call(void 0, t),isFrontMatter:!0};try{let r=ra(t);return{isFrontMatter:!1,data:{title:r.title},content:r.content,matter:"",language:"",orig:t,stringify:()=>t}}catch (e7){return{isFrontMatter:!1,data:{title:_optionalChain([e, 'optionalAccess', _21 => _21.description, 'optionalAccess', _22 => _22.split, 'call', _23 => _23(`
|
|
3
|
-
`), 'access', _24 => _24[0], 'access', _25 => _25.slice, 'call', _26 => _26(0,100)])},content:t,matter:"",language:"",orig:t,stringify:()=>t}}};async function Wi(e){_chunk6PL44I45cjs.c.call(void 0, e.publicClient);let t;"tx"in e?t=e.tx:t=await e.publicClient.getTransactionReceipt({hash:e.txHash});let r=_optionalChain([t, 'optionalAccess', _27 => _27.logs])?_optionalChain([_viem.parseEventLogs.call(void 0, {abi:_chunk7LKILKNXcjs.e,logs:t.logs,eventName:"ProposalCreated"}), 'optionalAccess', _28 => _28.at, 'call', _29 => _29(0)]):void 0;if(!t||!r)return null;let a=await e.publicClient.getBlock({blockNumber:t.blockNumber}),o=xt({description:_optionalChain([r, 'optionalAccess', _30 => _30.args, 'access', _31 => _31.description])});return{id:String(r.args.proposalId),proposalId:String(_optionalChain([r, 'optionalAccess', _32 => _32.args, 'access', _33 => _33.proposalId])),createdAt:a.timestamp.toString(),title:o.data.title,createdAtBlock:a.timestamp.toString(),voteStartAt:String(_optionalChain([r, 'optionalAccess', _34 => _34.args, 'access', _35 => _35.voteStart])),voteEndAt:String(_optionalChain([r, 'optionalAccess', _36 => _36.args, 'access', _37 => _37.voteEnd])),proposer:_optionalChain([r, 'optionalAccess', _38 => _38.args, 'access', _39 => _39.proposer]),description:o.content,unverifiedForumLink:o.data.forumLink,pollResult:{for:"0",forVotersCount:0,forPercentage:"0",against:"0",againstVotersCount:0,againstPercentage:"0",abstain:"0",abstainVotersCount:0,abstainPercentage:"0",total:"0",totalVotersCount:0,totalTowardsQuorum:"0"},status:_governance.ProposalStatus.Pending,quorum:null,topics:o.data.topics,votes:[],executableCalls:_optionalChain([r, 'optionalAccess', _40 => _40.args, 'access', _41 => _41.targets, 'access', _42 => _42.map, 'call', _43 => _43((n,s)=>({__typename:"ExecutableCall",id:`${t.transactionHash}-${s}`,target:n,value:String(_optionalChain([r, 'optionalAccess', _44 => _44.args, 'access', _45 => _45.values, 'access', _46 => _46[s]])),calldata:_optionalChain([r, 'optionalAccess', _47 => _47.args, 'access', _48 => _48.calldatas, 'access', _49 => _49[s]])}))]),timelock:void 0}}async function Li({variables:e,...t}){return f("governance.subgraph",t).query({query:_governance.GetProposalVotes,variables:e})}var _honey = require('@berachain/graphql/honey');async function $i({days:e,...t}){return(await f("honey.subgraph",t).query({query:_honey.GetChartData,variables:{interval:_honey.Aggregation_Interval.Day,first:e}})).data}async function zi({client:e,collateralList:t,...r}){let{config:a}=_chunk7DPUKGDTcjs.b.call(void 0, r);try{let o=await e.readContract({address:a.honey.factory,abi:_chunk7LKILKNXcjs.f,functionName:"getWeights"});return t.reduce((s,i,l)=>Object.assign(s,{[i.address]:o[l]}),{})}catch(o){throw console.log(o),o}}async function vt({address:e,publicClient:t}){try{if(!t)throw new Error("Public client not found");let[r,a,o]=await Promise.all([t.readContract({address:e,abi:_viem.erc20Abi,functionName:"decimals"}),t.readContract({address:e,abi:_viem.erc20Abi,functionName:"name"}),t.readContract({address:e,abi:_viem.erc20Abi,functionName:"symbol"})]),n={address:e,decimals:r,name:a,symbol:o};if(typeof n.decimals!="number"||typeof n.name!="string"||typeof n.symbol!="string")throw new Error(`Invalid ERC20 token. Address: ${e}`);return n}catch(r){throw console.error(r),_chunk6PL44I45cjs.a.call(void 0, {cause:r})}}async function Fe({client:e,tokenData:t,preferredCollateralOrder:r,...a}){let{config:o}=_chunk7DPUKGDTcjs.b.call(void 0, a),[n,s]=await Promise.all([e.readContract({address:o.honey.factory,abi:_chunk7LKILKNXcjs.f,functionName:"numRegisteredAssets"}),e.readContract({address:o.honey.factory,abi:_chunk7LKILKNXcjs.f,functionName:"referenceCollateral"})]),i=[];for(let b=0;b<n;b++)i.push(e.readContract({address:o.honey.factory,abi:_chunk7LKILKNXcjs.f,functionName:"registeredAssets",args:[BigInt(b)]}));let l=await Promise.all(i),m=(await Promise.all(l.map(b=>{let g=_optionalChain([t, 'optionalAccess', _50 => _50.find, 'call', _51 => _51(p=>_chunk7DPUKGDTcjs.f.call(void 0, p,b))]);return g||vt({address:b,publicClient:e})}))).filter(b=>!!b).sort((b,g)=>l.indexOf(b.address)-l.indexOf(g.address)).map((b,g)=>({...b,order:g}));if(_optionalChain([r, 'optionalAccess', _52 => _52.length])){let b=[];for(let g of r){let p=m.find(A=>_chunk7DPUKGDTcjs.f.call(void 0, A.address,g.address));p&&(b.push(p),m.splice(m.indexOf(p),1))}m.unshift(...b)}let d=m.find(b=>_chunk7DPUKGDTcjs.f.call(void 0, b,s));if(!m)throw new Error("Collateral tokens not found");if(!d)throw new Error("Reference collateral address not found");return{collaterals:m,referenceCollateral:d}}async function le({client:e,asset:t,amount:r,...a}){let{config:o}=_chunk7DPUKGDTcjs.b.call(void 0, a);try{let[n,s]=await Promise.all([e.readContract({address:o.honey.factory,abi:_chunk7LKILKNXcjs.f,functionName:"vaults",args:[t]}),e.readContract({address:o.honey.factory,abi:_chunk7LKILKNXcjs.f,functionName:"collectedFees",args:[o.honey.factory,t]})]);return await e.readContract({address:n,abi:_chunk7LKILKNXcjs.g,functionName:"balanceOf",args:[o.honey.factory]})+_viem.parseEther.call(void 0, _nullishCoalesce(r, () => ("0")))-s}catch(n){throw console.log(n),n}}async function Rt({client:e,collateral:t,latestPrices:r,isPythWrapperEnabled:a,...o}){let{config:n}=_chunk7DPUKGDTcjs.b.call(void 0, o);try{let s=e.readContract({address:n.honey.factory,abi:_chunk7LKILKNXcjs.f,functionName:"isBadCollateralAsset",args:[t.address]}),i=e.readContract({address:n.honey.factory,abi:_chunk7LKILKNXcjs.f,functionName:"isPegged",args:[t.address]});if(a&&r){let m=r.prices.map(d=>_viem.parseUnits.call(void 0, d,18));i=e.readContract({address:n.honey.reader,abi:_chunk7LKILKNXcjs.h,functionName:"isPeggedWithPrice",args:[t.address,m[0]]})}let[l,u]=await Promise.all([s,i]);return{isBlacklisted:l,isDepegged:!u}}catch(s){throw console.log(s),s}}var ua=_viem.parseEther.call(void 0, "1");async function vs({client:e,asset:t,amount:r,isMint:a,isPythWrapperEnabled:o,latestPrices:n,...s}){let{config:i}=_chunk7DPUKGDTcjs.b.call(void 0, s);try{let l=await e.readContract({address:i.honey.factory,abi:_chunk7LKILKNXcjs.f,functionName:"globalCap"});if(l>=ua)return!1;let[{collaterals:u},m]=await Promise.all([Fe({client:e}),da({client:e,asset:t,amount:r,latestPrices:n,isPythWrapperEnabled:o})]);if(!m)return;for(let d in m)if((a&&_chunk7DPUKGDTcjs.f.call(void 0, u[d],t)||!a&&_chunk7DPUKGDTcjs.f.call(void 0, u[d],t))&&m[d]>l-_chunkTYTNDYXVcjs.d)return!0;return!1}catch(l){throw console.log(l),l}}async function da({client:e,asset:t,amount:r,latestPrices:a,isPythWrapperEnabled:o}){let{collaterals:n}=await Fe({client:e}),s=0n,i=[];for(let l of n){let u=await Rt({client:e,collateral:t,latestPrices:a,isPythWrapperEnabled:o});if(_optionalChain([u, 'optionalAccess', _53 => _53.isBlacklisted])||_optionalChain([u, 'optionalAccess', _54 => _54.isDepegged]))continue;let m=await le({client:e,asset:l.address,amount:_chunk7DPUKGDTcjs.f.call(void 0, l,t)?r:"0"});m&&(s+=m,i.push(m))}if(s===0n)return i;for(let l in n)i[l]=_viem.parseEther.call(void 0, i[l].toString())/s;return i}async function ks({client:e,collateralList:t,...r}){let{config:a}=_chunk7DPUKGDTcjs.b.call(void 0, r);try{let o={mint:[],redeem:[]};for(let l of t)o.mint.push(e.readContract({address:a.honey.factory,abi:_chunk7LKILKNXcjs.f,functionName:"mintRates",args:[l.address]})),o.redeem.push(e.readContract({address:a.honey.factory,abi:_chunk7LKILKNXcjs.f,functionName:"redeemRates",args:[l.address]}));let[n,s,i]=await Promise.all([Promise.all(o.mint),Promise.all(o.redeem),e.readContract({address:a.honey.factory,abi:_chunk7LKILKNXcjs.f,functionName:"getWeights"})]);return t.reduce((l,u)=>{let m=t.indexOf(u);return l.single[u.address]={mintFee:1-+_viem.formatUnits.call(void 0, n[m],18),redeemFee:1-+_viem.formatUnits.call(void 0, s[m],18)},l.basket.mintFee+=l.single[u.address].mintFee*+_viem.formatUnits.call(void 0, i[m],18),l.basket.redeemFee+=l.single[u.address].redeemFee*+_viem.formatUnits.call(void 0, i[m],18),l},{single:{},basket:{mintFee:0,redeemFee:0}})}catch(o){throw console.log(o),o}}async function Ds({...e}={}){return(await f("honey.subgraph",e).query({query:_honey.GetGlobalData})).data}async function Qs({client:e,...t}){let{config:r}=_chunk7DPUKGDTcjs.b.call(void 0, t),a=r.honey.token;return await e.readContract({address:a,abi:_chunk7LKILKNXcjs.i,functionName:"paused"})}var pa=(l=>(l.Mint="previewMintHoney",l.MintWithPrice="previewMintHoneyWithPrices",l.RequiredCollateral="previewMintCollaterals",l.RequiredCollateralWithPrice="previewMintCollateralsWithPrices",l.Redeem="previewRedeemCollaterals",l.RedeemWithPrice="previewRedeemCollateralsWithPrices",l.HoneyToRedeem="previewRedeemHoney",l.HoneyToRedeemWithPrice="previewRedeemHoneyWithPrices",l))(pa||{});async function Ls({client:e,collateral:t,collateralList:r,amount:a,method:o,latestPrices:n,isPythWrapperEnabled:s,...i}){let{config:l}=_chunk7DPUKGDTcjs.b.call(void 0, i);try{let u=o==="previewMintHoney"||o==="previewRedeemHoney"||o==="previewMintHoneyWithPrices"||o==="previewRedeemHoneyWithPrices",m=_viem.parseUnits.call(void 0, a,u?t.decimals:18),d,b=[t.address,m];if(s&&n){let p=n.prices.map(A=>_viem.parseUnits.call(void 0, A,18));b=[t.address,m,p]}if(u){let p=await e.readContract({address:l.honey.reader,abi:_chunk7LKILKNXcjs.h,functionName:o,args:b});d={collaterals:p[0],honey:p[1]}}else d={collaterals:await e.readContract({address:l.honey.reader,abi:_chunk7LKILKNXcjs.h,functionName:o,args:b}),honey:m};let g=r.reduce((p,A)=>{let P=A.order;return A.address===t.address&&d.collaterals[P]===BigInt(0)?Object.assign(p,{[A.address]:d.collaterals[0]}):Object.assign(p,{[A.address]:d.collaterals[P]})},{});return g[t.address]===BigInt(0)&&(g[t.address]=d.collaterals[0]),{collaterals:g,honey:d.honey}}catch(u){throw console.log("error",u),u}}async function Js({pythOracle:e,publicClient:t}){return await t.readContract({address:e,abi:_chunk7LKILKNXcjs.j,functionName:"pythOracle"})}async function Ys({publicClient:e,factory:t,...r}){let{config:a}=_chunk7DPUKGDTcjs.b.call(void 0, r);return await e.readContract({address:_nullishCoalesce(t, () => (a.honey.factory)),abi:_chunk7LKILKNXcjs.f,functionName:"priceOracle"})}async function rl({client:e,collateralList:t,honeyFactoryAddress:r,...a}){let{config:o}=_chunk7DPUKGDTcjs.b.call(void 0, a),n=_nullishCoalesce(r, () => (o.honey.factory));try{return await Promise.all(t.map(async i=>{let l=await e.readContract({address:o.honey.factory,abi:_chunk7LKILKNXcjs.f,functionName:"vaults",args:[i.address]}),[u,m,[d,b]]=await Promise.all([e.readContract({address:l,abi:_chunk7LKILKNXcjs.g,functionName:"balanceOf",args:[n]}),e.readContract({address:n,abi:_chunk7LKILKNXcjs.f,functionName:"collectedAssetFees",args:[i.address]}),e.readContract({address:l,abi:_chunk7LKILKNXcjs.g,functionName:"custodyInfo"})]),g=await e.readContract({address:l,abi:_chunk7LKILKNXcjs.g,functionName:"convertToAssets",args:[u-m]});return{address:i.address,balance:g.toString(),formattedBalance:_viem.formatUnits.call(void 0, g,i.decimals),vault:d?b:l}}))}catch(s){throw console.log(s),s}}var _hermesclient = require('@pythnetwork/hermes-client');var ya="https://hermes.pyth.network";async function Nt({priceFeedId:e}){let r=await new (0, _hermesclient.HermesClient)(ya,{}).getLatestPriceUpdates(e,{encoding:"hex",parsed:!0});return{calldata:r.binary.data.map(a=>`0x${a}`),prices:_nullishCoalesce(_optionalChain([r, 'access', _55 => _55.parsed, 'optionalAccess', _56 => _56.flatMap, 'call', _57 => _57(a=>_viem.formatUnits.call(void 0, BigInt(a.price.price),a.price.expo*-1))]), () => ([]))}}async function ml({client:e,asset:t,amount:r,isMint:a,referenceCollateral:o,...n}){let{config:s}=_chunk7DPUKGDTcjs.b.call(void 0, n);if(t===o.address)return!1;try{let[i]=await Promise.all([e.readContract({address:s.honey.factory,abi:_chunk7LKILKNXcjs.f,functionName:"relativeCap",args:[t]})]),[l,u]=await Promise.all([le({client:e,asset:t,amount:a?r:void 0}),le({client:e,asset:o.address,amount:a?void 0:r})]);return u===0n?l!==0n:_viem.parseEther.call(void 0, (_nullishCoalesce(l, () => (0n))).toString())/(_nullishCoalesce(u, () => (0n)))>=i-_chunkTYTNDYXVcjs.d}catch(i){throw console.log(i),i}}async function kt({client:e,priceFeedId:t,...r}){let{config:a}=_chunk7DPUKGDTcjs.b.call(void 0, r);try{return await e.readContract({address:a.external.pyth,abi:_chunk7LKILKNXcjs.l,functionName:"getUpdateFee",args:[t]})}catch(o){throw console.error("getPythUpdateFee",o),o}}var vl=async({state:e,account:t,publicClient:r,priceFeedMap:a,collateralList:o,isPythWrapperEnabled:n,...s})=>{let{config:i}=_chunk7DPUKGDTcjs.b.call(void 0, s),l=_chunk7DPUKGDTcjs.e.call(void 0, s),{actionType:u,fromAmount:m,collaterals:d,isBasketModeEnabled:b}=e,g=n?i.honey.pythWrapper:i.honey.factory,p=o.map(A=>A.address);if(t&&m[0]&&p.length){let A=u==="mint";if(n&&r&&a){let y=(await Nt({priceFeedId:Object.values(a)})).calldata,F;try{F=await kt({client:r,priceFeedId:y})}catch (e8){F=_chunkTYTNDYXVcjs.z.call(void 0, d.length)}let G=[y,_optionalChain([d, 'access', _58 => _58[0], 'optionalAccess', _59 => _59.address]),_viem.parseUnits.call(void 0, m[0],_nullishCoalesce((A?_optionalChain([d, 'access', _60 => _60[0], 'optionalAccess', _61 => _61.decimals]):_optionalChain([l, 'optionalAccess', _62 => _62.decimals])), () => (18))),t,!!b];return{address:g,abi:_chunk7LKILKNXcjs.k,functionName:A?"mint":"redeem",params:G,value:F}}let P=[_optionalChain([d, 'access', _63 => _63[0], 'optionalAccess', _64 => _64.address]),_viem.parseUnits.call(void 0, m[0],_nullishCoalesce((A?_optionalChain([d, 'access', _65 => _65[0], 'optionalAccess', _66 => _66.decimals]):_optionalChain([l, 'optionalAccess', _67 => _67.decimals])), () => (18))),t,!!b];return{address:g,abi:_chunk7LKILKNXcjs.f,functionName:A?"mint":"redeem",params:P}}throw new Error("Something went wrong while creating the Honey swap payload")};async function Gl({client:e,isMint:t,collateralList:r,latestPrices:a,isPythWrapperEnabled:o,...n}){let{config:s}=_chunk7DPUKGDTcjs.b.call(void 0, n);if(o&&a){if(r.length===0)return;let l=a.prices.map(m=>_viem.parseUnits.call(void 0, m,18));return await e.readContract({address:s.honey.reader,abi:_chunk7LKILKNXcjs.h,functionName:"isBasketModeEnabledWithPrices",args:[t,l]})}return await e.readContract({address:s.honey.factory,abi:_chunk7LKILKNXcjs.f,functionName:"isBasketModeEnabled",args:[t]})}async function Il({block:e,currentBlock:t,blockTime:r,publicClient:a}){if(_chunk6PL44I45cjs.b.call(void 0, e,"block"),_chunk6PL44I45cjs.c.call(void 0, a),t>e){let n=await a.getBlock({blockNumber:BigInt(e),includeTransactions:!1});return{timestamp:Number(n.timestamp)}}return{timestamp:_chunkTYTNDYXVcjs.B.call(void 0, Date.now())+r*(Number(e)-Number(t))}}var wa=(a=>(a.Duration="duration",a.TargetRate="targetRate",a.TargetApr="targetApr",a))(wa||{});async function Ul(e,t){let[r,a,o,n,s,i]=await Promise.all([t.readContract({address:e,abi:_chunk7LKILKNXcjs.d,functionName:"rewardsDuration"}),t.readContract({address:e,abi:_chunk7LKILKNXcjs.d,functionName:"rewardVaultManager"}),t.readContract({address:e,abi:_chunk7LKILKNXcjs.d,functionName:"rewardRate"}),t.readContract({address:e,abi:_chunk7LKILKNXcjs.d,functionName:"periodFinish"}),t.readContract({address:e,abi:_chunk7LKILKNXcjs.d,functionName:"targetRewardsPerSecond"}),t.readContract({address:e,abi:_chunk7LKILKNXcjs.d,functionName:"minRewardDurationForTargetRate"})]),l=o*(n-BigInt(_chunkTYTNDYXVcjs.B.call(void 0, Date.now())))/10n**18n;return{rewardsDuration:Number(r),mode:s===0n?"duration":"targetRate",manager:a,rewardRate:_viem.formatUnits.call(void 0, o,36),periodFinish:Number(n),availableRewards:_viem.formatUnits.call(void 0, l,18),minRewardDurationForTargetRate:Number(i),targetRewardsPerSecond:_viem.formatUnits.call(void 0, s,36)}}function xe(e,t,r){return e?r*t*_chunkTYTNDYXVcjs.O.call(void 0, 1)/e:null}function Ca(e,t,r){return r?e*r/(t*_chunkTYTNDYXVcjs.O.call(void 0, 1)):0}function Ll({availableRewards:e,periodFinish:t,tvl:r,bgtPrice:a,MIN_REWARD_DURATION:o,MAX_REWARD_DURATION:n,...s}){let i=_chunkTYTNDYXVcjs.B.call(void 0, Date.now());if(i>t)return{apr:0,duration:0,rewardRate:0,targetRate:null,periodFinish:0,mode:null};if(s.mode==="targetRate"||s.mode==="targetApr"){let d,{minRewardDurationForTargetRate:b,currentDuration:g}=s;if(s.mode==="targetRate"?d=s.rewardRate:d=Ca(s.apr,a,r),d===0){let P=Math.min(g,n),S=e?e/P:0;return{apr:xe(r,a,S),duration:P,rewardRate:S,targetRate:null,periodFinish:P+i,mode:"duration"}}let p=b||o,A=e?e/d:0;if(A<p){let P=e?e/p:0;return{apr:xe(r,a,P),duration:p,rewardRate:P,targetRate:P.toString(),periodFinish:p+i,mode:null}}return{apr:xe(r,a,d),duration:A,rewardRate:d,targetRate:d.toString(),periodFinish:A+i,mode:null}}let{duration:l}=s,u=e/l;return{apr:xe(r,a,u),mode:null,targetRate:null,duration:l,rewardRate:u,periodFinish:l+i}}var _chain = require('@berachain/graphql/chain');async function Tt({defaultBlockTime:e,blocksSpan:t,...r}={}){let{config:a}=_chunk7DPUKGDTcjs.b.call(void 0, r),o=f("blocks.subgraph",r),n=_nullishCoalesce(e, () => (a.averageBlockTime)),s=_nullishCoalesce(t, () => (Math.floor(_chunkTYTNDYXVcjs.G.call(void 0, 1)/n))),l=(await o.query({query:_chain.GetBlocksTimeStamp,variables:{skip:s}})).data;return(_chunkTYTNDYXVcjs.B.call(void 0, Date.now())-Number(_optionalChain([l, 'optionalAccess', _68 => _68.oldest, 'access', _69 => _69[0], 'optionalAccess', _70 => _70.timestamp])))/(Number(_optionalChain([l, 'optionalAccess', _71 => _71.newest, 'access', _72 => _72[0], 'optionalAccess', _73 => _73.number]))-Number(_optionalChain([l, 'optionalAccess', _74 => _74.oldest, 'access', _75 => _75[0], 'optionalAccess', _76 => _76.number])))}async function Ft(e={}){let{config:t}=_chunk7DPUKGDTcjs.b.call(void 0, e),a=await f("api",e).query({query:_api3.GlobalData,variables:{chain:t.bex.chainName}});return{...a.data.polGetGlobalInfo,top3EmittingValidators:a.data.top3EmittingValidators.validators,allValidatorsCount:a.data.allValidatorsCount.pagination.totalCount}}async function Dt({publicClient:e,...t}){let{config:r}=_chunk7DPUKGDTcjs.b.call(void 0, t);_chunk6PL44I45cjs.c.call(void 0, e);try{let a=await e.readContract({address:r.tokens.bgt,abi:_chunk7LKILKNXcjs.m,functionName:"totalBoosts",args:[]});return _viem.formatEther.call(void 0, a)}catch(a){throw console.log(a),a}}async function It({publicClient:e,...t}){let{config:r}=_chunk7DPUKGDTcjs.b.call(void 0, t);_chunk6PL44I45cjs.c.call(void 0, e);try{let a=await e.readContract({address:r.tokens.bgt,abi:_viem.erc20Abi,functionName:"totalSupply",args:[]});return _viem.formatEther.call(void 0, _nullishCoalesce(a, () => (0n)))}catch(a){throw console.log(a),a}}async function ve({filter:e,publicClient:t,...r}={}){let o=await f("api",r).query({query:_api3.GetVaults,variables:e}),n=await Promise.allSettled(o.data.polGetRewardVaults.vaults.map(async i=>{if(t)return Promise.allSettled(i.activeIncentives.map(l=>t.readContract({abi:_chunk7LKILKNXcjs.d,address:i.address,functionName:"incentives",args:[l.tokenAddress]})))})),s=o.data.polGetRewardVaults.vaults.map((i,l)=>{let u=0,m=i.activeIncentives.map((d,b)=>{let g=Number(d.remainingAmountUsd)&&Number(d.remainingAmount)?Number(d.remainingAmountUsd)/Number(d.remainingAmount):0,p=_optionalChain([n, 'access', _77 => _77[l], 'optionalAccess', _78 => _78.status])==="fulfilled"&&_optionalChain([n, 'access', _79 => _79[l], 'optionalAccess', _80 => _80.value, 'optionalAccess', _81 => _81[b], 'optionalAccess', _82 => _82.status])==="fulfilled"?_viem.formatUnits.call(void 0, BigInt(n[l].value[b].value[2]),d.token.decimals):d.remainingAmount;return u+=Number(p)*Number(g),{...d,remainingAmount:p}});return{...i,dynamicData:{...i.dynamicData,allTimeReceivedBGTAmount:_nullishCoalesce(_optionalChain([i, 'access', _83 => _83.dynamicData, 'optionalAccess', _84 => _84.allTimeReceivedBGTAmount]), () => ("0")),bgtCapturePercentage:_nullishCoalesce(_optionalChain([i, 'access', _85 => _85.dynamicData, 'optionalAccess', _86 => _86.bgtCapturePercentage]), () => ("0")),activeIncentivesValueUsd:u.toString(),activeIncentivesRateUsd:_nullishCoalesce(_optionalChain([i, 'access', _87 => _87.dynamicData, 'optionalAccess', _88 => _88.activeIncentivesRateUsd]), () => ("0")),bgtCapturePerBlock:_nullishCoalesce(_optionalChain([i, 'access', _89 => _89.dynamicData, 'optionalAccess', _90 => _90.bgtCapturePerBlock]), () => ("0"))},activeIncentives:m}});return{pagination:o.data.polGetRewardVaults.pagination,gaugeList:s}}async function Et(e){let{gaugeList:t}=await ve({filter:{orderBy:_api3.GqlRewardVaultOrderBy.Apr,orderDirection:_api3.GqlRewardVaultOrderDirection.Desc,pageSize:e,where:{includeNonWhitelisted:!1}}});return t}async function Pc(e){let[t,r,a,o]=await Promise.allSettled([Ft(),Et(300),It({publicClient:e}),Dt({publicClient:e})]);return t.status==="rejected"&&_nextjs.captureException.call(void 0, t.reason,{level:"warning"}),r.status==="rejected"&&_nextjs.captureException.call(void 0, r.reason,{level:"warning"}),a.status==="rejected"&&_nextjs.captureException.call(void 0, a.reason,{level:"warning"}),o.status==="rejected"&&_nextjs.captureException.call(void 0, o.reason,{level:"warning"}),{bgtTotalSupply:a.status==="fulfilled"?a.value:void 0,globalCuttingBoard:r.status==="fulfilled"?r.value:[],bgtTotalBoosts:o.status==="fulfilled"?o.value:void 0,...t.status==="fulfilled"?t.value:{}}}var _subgraph3 = require('@berachain/graphql/pol/subgraph');async function qt({...e}){let t=f("pol.subgraph",e),{data:r}=await t.query({query:_subgraph3.GetIncentiveFeeClaimStats});if(r.incentiveFeeClaims.length>0){let a=_optionalChain([r, 'optionalAccess', _91 => _91.incentiveFeeClaims, 'access', _92 => _92.reduce, 'call', _93 => _93((s,i)=>s+Number(i.payoutAmount),3e4)]),n=(_optionalChain([r, 'optionalAccess', _94 => _94.incentiveFeeClaims, 'access', _95 => _95.filter, 'call', _96 => _96(s=>Number(s.timestamp)/1e3>Date.now()-_chunkTYTNDYXVcjs.H.call(void 0, 1))])).reduce((s,i)=>s+Number(i.payoutAmount),0);return{sumAllClaims:a,sumClaimsInLast24Hours:n}}return{sumAllClaims:0,sumClaimsInLast24Hours:0}}async function Nc(e={}){let{config:t}=_chunk7DPUKGDTcjs.b.call(void 0, e);try{let a=await(await fetch(t.lists.rewardVaultList)).json();if(!a.protocols)throw new Error("Missing protocols in market list");return{marketList:a.protocols,marketDictionary:a.protocols.reduce((o,n)=>(o[n.name]=n,o),{})}}catch(r){throw console.error("Error fetching validator information",r),r}}async function Dc({account:e,validator:t,page:r=1,perPage:a=1e3,...o}){let{config:n}=_chunk7DPUKGDTcjs.b.call(void 0, o),s=await fetch(`${n.pol.bribeBoostApi}/api/v1/wallets/${e.toLowerCase()}/proofs/validator/${t.toLowerCase()}?page=${r}&per_page=${a}`,{cache:"no-store"});if(!s.ok){let l=await _chunkTYTNDYXVcjs.a.call(void 0, s);throw new (0, _chunk33CW5NUNcjs.f)({message:"Failed to fetch proofs on server",cause:{error:l,result:s,account:e,validator:t},reason:_optionalChain([l, 'optionalAccess', _97 => _97.reason])})}return await s.json()}async function Wc({address:e,publicClient:t}){return _chunk6PL44I45cjs.c.call(void 0, t),t.readContract({address:e,abi:_chunk7LKILKNXcjs.n,functionName:"previewRedeem",args:[_viem.parseUnits.call(void 0, "1",18)]}).then(r=>Number(_viem.formatUnits.call(void 0, r,18))).catch(()=>0)}async function Hc({address:e,chainName:t,...r}){let{config:a}=_chunk7DPUKGDTcjs.b.call(void 0, r),o=_nullishCoalesce(t, () => (a.bex.chainName)),n=f("api",r),{data:s}=await n.query({query:_api3.GetRewardVault,variables:{vaultId:e,chain:o}});if(!_optionalChain([s, 'optionalAccess', _98 => _98.rewardVault]))throw new (0, _chunk6PL44I45cjs.f)({resource:"Reward vault",id:e,chainId:a.chainId});return s.rewardVault}var Qt=[{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 Wt({publicClient:e,...t}){let{config:r}=_chunk7DPUKGDTcjs.b.call(void 0, t),a=r.pol.factory;_chunk6PL44I45cjs.b.call(void 0, e,"publicClient"),_chunk6PL44I45cjs.d.call(void 0, r.pol.factory,"factoryAddress");let o=await e.readContract({address:a,abi:_chunk7LKILKNXcjs.o,functionName:"beacon"});return await e.readContract({address:o,abi:Qt,functionName:"implementation"})}async function ru({publicClient:e,...t}){_chunk6PL44I45cjs.c.call(void 0, e);let r=await Wt({publicClient:e,...t}),[a,o]=await Promise.all([e.readContract({address:r,abi:_chunk7LKILKNXcjs.d,functionName:"MIN_REWARD_DURATION"}),e.readContract({address:r,abi:_chunk7LKILKNXcjs.d,functionName:"MAX_REWARD_DURATION"})]);return{minRewardDuration:Number(a),maxRewardDuration:Number(o)}}async function su({tokenAddress:e,publicClient:t,factoryAddress:r,...a}){let{config:o}=_chunk7DPUKGDTcjs.b.call(void 0, a),n=await t.readContract({address:_nullishCoalesce(r, () => (o.pol.factory)),abi:_chunk7LKILKNXcjs.o,functionName:"getVault",args:[e]});return n===_viem.zeroAddress?null:n}async function fu({address:e,stakingToken:t,publicClient:r}){let a=await r.readContract({address:e,abi:_chunk7LKILKNXcjs.d,functionName:"getWhitelistedTokens"}),n=a.findIndex(i=>_berancersdk.isSameAddress.call(void 0, t,i))!==-1?await r.readContract({address:e,abi:_chunk7LKILKNXcjs.d,functionName:"totalSupply"}):0n,s=await Promise.allSettled(a.map(async i=>{let[l,u,m,d]=await Promise.all([r.readContract({address:e,abi:_chunk7LKILKNXcjs.d,functionName:"incentives",args:[i]}),r.readContract({address:i,abi:_viem.erc20Abi,functionName:"decimals"}),r.readContract({address:i,abi:_viem.erc20Abi,functionName:"symbol"}),r.readContract({address:i,abi:_viem.erc20Abi,functionName:"balanceOf",args:[e]})]),[b,g,p,A]=l;return{token:i,manager:A,minIncentiveRate:_viem.formatUnits.call(void 0, b,u),incentiveRate:_viem.formatUnits.call(void 0, g,u),remainingAmount:_viem.formatUnits.call(void 0, p,u),symbol:m,decimals:u,pendingAmount:_berancersdk.isSameAddress.call(void 0, t,i)?_viem.formatUnits.call(void 0, d-n-p,u):_viem.formatUnits.call(void 0, d-p,u)}}));return s.forEach((i,l)=>{i.status==="rejected"&&_nextjs.captureException.call(void 0, new (0, _chunk33CW5NUNcjs.f)({reason:i.reason,message:"Incorrect incentives token received.",level:"error"}),{extra:{token:a[l],address:e,error:i.reason}})}),s.map(i=>i.status==="fulfilled"?i.value:null).filter(i=>i!==null)}async function yu({address:e,publicClient:t}){return await t.readContract({address:e,abi:_chunk7LKILKNXcjs.d,functionName:"stakeToken"})}function Qa(e){return e==="DAY"?_api3.GqlSWberaVaultMetadataResolution.OneDay:_api3.GqlSWberaVaultMetadataResolution.SevenDays}async function Pu({window:e,...t}){let{config:r}=_chunk7DPUKGDTcjs.b.call(void 0, t),a=f("api",t);try{let o=await a.query({query:_api3.GetSWberaVaultMetadata,variables:{chain:r.bex.chainName,resolution:Qa(_nullishCoalesce(e, () => ("DAY")))}}),{apr:n}=o.data.polGetSWberaVaultMetadata;return Number(n)}catch(o){throw console.error("Failed to get SW Bera APR",o),o}}async function Vu({chain:e,range:t=_api3.GqlVaultSnapshotDataRange.ThirtyDays,...r}={}){let{config:a}=_chunk7DPUKGDTcjs.b.call(void 0, r),o=f("api",r);try{return(await o.query({query:_api3.GetSWberaVaultSnapshots,variables:{chain:_nullishCoalesce(e, () => (a.bex.chainName)),range:t}})).data.polGetSWberaVaultSnapshots}catch(n){throw console.error("Failed to get SW Bera Snapshots",n),n}}async function ue({publicClient:e,...t}){let{config:r}=_chunk7DPUKGDTcjs.b.call(void 0, t),a=await e.readContract({address:r.tokens.swbera,abi:_chunk7LKILKNXcjs.n,functionName:"WITHDRAWAL_COOLDOWN"});return Number(a)}async function Uu({address:e,publicClient:t,...r}){let{config:a}=_chunk7DPUKGDTcjs.b.call(void 0, r);_chunk6PL44I45cjs.c.call(void 0, t);let o=26;try{let[n,s]=await Promise.all([t.getBlock({blockTag:"latest"}),Tt()]),i=Math.floor(o*60*60/s),l=n.number-BigInt(i),[u,m,d,b,g,p,A,P,S,y,F]=await Promise.all([t.readContract({address:e,abi:_chunk7LKILKNXcjs.n,functionName:"totalAssets"}),t.readContract({address:e,abi:_chunk7LKILKNXcjs.n,functionName:"totalSupply"}),t.readContract({address:e,abi:_chunk7LKILKNXcjs.n,functionName:"previewRedeem",args:[10n**18n],blockNumber:n.number}),t.readContract({address:a.tokens.wbera,abi:_viem.erc20Abi,functionName:"balanceOf",args:[e]}),t.readContract({address:e,abi:_chunk7LKILKNXcjs.n,functionName:"totalAssets",blockNumber:l}),t.readContract({address:e,abi:_viem.erc20Abi,functionName:"totalSupply",blockNumber:l}),t.readContract({address:e,abi:_chunk7LKILKNXcjs.n,functionName:"previewRedeem",args:[10n**18n],blockNumber:l}),t.readContract({address:a.tokens.wbera,abi:_viem.erc20Abi,functionName:"balanceOf",args:[e],blockNumber:l}),t.readContract({address:a.tokens.wbera,abi:_viem.erc20Abi,functionName:"totalSupply"}),ue({publicClient:t}),qt({})]),G=new (0, _bignumberjs2.default)(A.toString());return{current:{exchangeRate:new (0, _bignumberjs2.default)(d.toString()).toString(),totalSupply:new (0, _bignumberjs2.default)(m.toString()).dividedBy(1e18).toString(),totalAssets:new (0, _bignumberjs2.default)(u.toString()).dividedBy(1e18).toString(),tvl:new (0, _bignumberjs2.default)(b.toString()).dividedBy(1e18).toString()},previous:{exchangeRate:G.toString(),totalSupply:new (0, _bignumberjs2.default)(p.toString()).dividedBy(1e18).toString(),totalAssets:new (0, _bignumberjs2.default)(g.toString()).dividedBy(1e18).toString(),tvl:new (0, _bignumberjs2.default)(P.toString()).dividedBy(1e18).toString()},totalWBeraIssued:new (0, _bignumberjs2.default)(S.toString()).dividedBy(1e18).toString(),lockPeriod:y,totalBuyBacks:F.sumAllClaims,totalBuyBacksInLast24Hours:F.sumClaimsInLast24Hours}}catch(n){throw console.error("Failed to get SW Bera Vault Metadata",n),n}}function Mt(e){let t=Date.now(),r=e*1e3-t;if(r<=0)return;let a=_chunkTYTNDYXVcjs.B.call(void 0, r);return _chunkTYTNDYXVcjs.r.call(void 0, a,!0,!0)}async function Hu(e,t,r,a){let o=[];function n(s,i){let[l,u,m]=s,d=l,b=Number(m)+Number(i),g=_chunkTYTNDYXVcjs.B.call(void 0, Date.now()),p=b-g;if(d>0){let A=Mt(p<=0?0:b);o.push({withdrawalAmount:d,timeRemaining:A})}}switch(a){case"V1":{let[s,i]=await Promise.all([r.readContract({address:e,abi:_chunk7LKILKNXcjs.n,functionName:"withdrawalRequests",args:[t]}),ue({publicClient:r})]);return n(s,i),o}case"V2":{let[s,i,l]=await Promise.all([r.readContract({address:e,abi:_chunk7LKILKNXcjs.n,functionName:"withdrawalRequests",args:[t]}),r.readContract({address:e,abi:_chunk7LKILKNXcjs.n,functionName:"getERC721WithdrawalRequestIds",args:[t]}),ue({publicClient:r})]);n(s,l);let m=(await Promise.all(i.map(async d=>{let b=await r.readContract({address:e,abi:_chunk7LKILKNXcjs.n,functionName:"getERC721WithdrawalRequest",args:[d]}),{assets:g,requestTime:p}=b;if(!g||!p)throw new Error("Invalid withdrawal request");let A=g,P=Number(p)+Number(l),S=_chunkTYTNDYXVcjs.B.call(void 0, Date.now()),y=P-S;if(A>0){let F=Mt(y<=0?0:P);return{withdrawalAmount:A,timeRemaining:F,withdrawalRequestId:d}}return null}))).filter(d=>d!==null);return o.push(...m),o}}}async function Yu({account:e,...t}){let{config:r}=_chunk7DPUKGDTcjs.b.call(void 0, t),a=await fetch(`${r.pol.bribeBoostApi}/api/v1/wallets/${e.toLowerCase()}/rewards/aggregation`,{cache:"no-store"});if(!a.ok){let o=await _chunkTYTNDYXVcjs.a.call(void 0, a);throw new (0, _chunk33CW5NUNcjs.f)({message:"Failed to fetch incentives on server",cause:{error:o,result:a,account:e},reason:_optionalChain([o, 'optionalAccess', _99 => _99.error])})}return await a.json()}async function _t({account:e,vaultAddress:t,publicClient:r}){if(_chunk6PL44I45cjs.c.call(void 0, r),!e||!_viem.isAddress.call(void 0, e))throw new (0, _chunk33CW5NUNcjs.g)({property:"account",value:e,expected:"Address"});if(!t||!_viem.isAddress.call(void 0, t))throw new (0, _chunk33CW5NUNcjs.g)({property:"vaultAddress",value:t,expected:"Address"});try{let[a,o]=await Promise.all([r.readContract({address:t,abi:_chunk7LKILKNXcjs.d,functionName:"balanceOf",args:[e]}),r.readContract({address:t,abi:_chunk7LKILKNXcjs.d,functionName:"getTotalDelegateStaked",args:[e]})]);return{balance:a,delegated:o}}catch(a){throw console.log(a),a}}async function Ht({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:_chunk7LKILKNXcjs.d,functionName:"earned",args:[e]})}async function Jt({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:_chunk7LKILKNXcjs.d,functionName:"totalSupply",args:[]})}catch(r){throw console.log(r),r}}async function ud({account:e,vaultAddress:t,publicClient:r}){let[a,o,n]=await Promise.all([_t({account:e,vaultAddress:t,publicClient:r}),Ht({account:e,vaultAddress:t,publicClient:r}),Jt({vaultAddress:t,publicClient:r})]),s=a.balance-a.delegated,i=n>0n?Number(Number.parseFloat(_viem.formatEther.call(void 0, a.balance))/Number.parseFloat(_viem.formatEther.call(void 0, n))).toString():"0";return{balance:a.balance,delegatedBalance:a.delegated,withdrawableBalance:s,rewards:_viem.formatEther.call(void 0, o),percentage:i}}async function Ad({account:e,publicClient:t,...r}){let{config:a}=_chunk7DPUKGDTcjs.b.call(void 0, r),s=await _asyncOptionalChain([(await f("api",r).query({query:_api3.GetUserVaults,variables:{userId:e,chain:a.bex.chainName}})), 'access', async _100 => _100.data, 'optionalAccess', async _101 => _101.userVaultDeposits, 'optionalAccess', async _102 => _102.deposits]);if(!s)return{totalBgtRewards:"0",vaults:[],totalStakedValue:0};let[i,l]=await Promise.all([t.multicall({allowFailure:!1,contracts:s.map(g=>({address:g.vaultAddress,abi:_chunk7LKILKNXcjs.d,functionName:"earned",args:[e]}))}),t.multicall({allowFailure:!1,contracts:s.map(g=>({address:g.vaultAddress,abi:_chunk7LKILKNXcjs.d,functionName:"balanceOf",args:[e]}))})]),{userVaults:u,total:m}=s.reduce((g,p,A)=>{let P=i[A],S=l[A];if(g.total+=P,!p.vault)return _nextjs.captureException.call(void 0, new Error("Deposit data from API is missing vault"),{data:{deposit:p}}),console.error("Deposit data from API is missing vault",p),g;if(P>0n||S>0n){let y=_optionalChain([p, 'access', _103 => _103.vault, 'access', _104 => _104.dynamicData, 'optionalAccess', _105 => _105.tvl])&&Number(p.vault.stakingTokenAmount)!==0?Number(_nullishCoalesce(_optionalChain([p, 'access', _106 => _106.vault, 'access', _107 => _107.dynamicData, 'optionalAccess', _108 => _108.tvl]), () => (0)))/Number(p.vault.stakingTokenAmount):null;g.userVaults.push({...p,vault:p.vault,unclaimedBgt:_viem.formatUnits.call(void 0, P,18),formattedBalance:_viem.formatUnits.call(void 0, S,p.vault.stakingToken.decimals),stakingTokenPrice:y})}return g},{userVaults:[],total:0n}),d=[...u].sort((g,p)=>{if(g.vault.isVaultWhitelisted&&!p.vault.isVaultWhitelisted)return-1;if(!g.vault.isVaultWhitelisted&&p.vault.isVaultWhitelisted)return 1;let A=Number.parseFloat(g.unclaimedBgt);return Number.parseFloat(p.unclaimedBgt)-A});return{totalStakedValue:d.reduce((g,p)=>{let A=Number(_nullishCoalesce(_optionalChain([p, 'access', _109 => _109.vault, 'access', _110 => _110.dynamicData, 'optionalAccess', _111 => _111.tvl]), () => (0)));if(A===0)return g;let P=Number.parseFloat(p.vault.stakingTokenAmount),S=A/P;return g+S*Number(p.formattedBalance)},0),totalBgtRewards:_viem.formatUnits.call(void 0, m,18),vaults:d}}async function Bd({vault:e,chain:t,...r}){let{config:a}=_chunk7DPUKGDTcjs.b.call(void 0, r);return(await f("api",r).query({query:_api3.GetVaultHistory,variables:{...r,vaultId:e,chain:_nullishCoalesce(t, () => (a.bex.chainName))}})).data.polGetRewardVaultSnapshots}async function Vd({address:e,onlyActiveValidators:t,...r}){returnawait _asyncNullishCoalesce((await f("api",r).query({query:_api3.GetVaultValidators,variables:{vaultId:e,isActive:t}})).data.validators.validators, async () => ([]))}async function Id({addressIn:e,...t}){let{config:r}=_chunk7DPUKGDTcjs.b.call(void 0, t),a=e.map(s=>s.toLowerCase()).filter((s,i,l)=>s&&l.indexOf(s)===i),o=f("api",t),{data:n}=await o.query({query:_api.GetTokenCurrentPrices,variables:{chains:[r.bex.chainName],addressIn:a}});return n.tokenGetCurrentPrices.reduce((s,i)=>{if(!i.price||!i.address)return s;let l=i.address;return s[_viem.getAddress.call(void 0, l)]={price:_chunkTYTNDYXVcjs.n.call(void 0, i.price.toString()),updatedAt:i.updatedAt},s[l.toLowerCase()]={price:_chunkTYTNDYXVcjs.n.call(void 0, i.price.toString()),updatedAt:i.updatedAt},_chunk7DPUKGDTcjs.f.call(void 0, l,"WBERA")&&(s[_viem.zeroAddress]={price:_chunkTYTNDYXVcjs.n.call(void 0, i.price.toString()),updatedAt:i.updatedAt},s[r.tokens.bgt.toLowerCase()]={price:_chunkTYTNDYXVcjs.n.call(void 0, i.price.toString()),updatedAt:i.updatedAt},s[r.tokens.bgt]={price:_chunkTYTNDYXVcjs.n.call(void 0, i.price.toString()),updatedAt:i.updatedAt}),s},{})}async function Wd({tokenList:e,publicClient:t,...r}){let{config:a}=_chunk7DPUKGDTcjs.b.call(void 0, r);try{let o=await Promise.all(e.map(n=>t.readContract({address:a.honey.pythOracle,abi:_chunk7LKILKNXcjs.p,functionName:"feeds",args:[n]})));return e.reduce((n,s,i)=>({...n,[s]:o[i]}),{})}catch(o){throw console.error("getPythPriceFeedId",o),o}}async function Md({tokens:e,account:t,spender:r,publicClient:a}){if(!a||!e||!r)throw new Error("missing publicClient, tokens, or spender");if(t){let o=e.map(i=>({address:i.address,abi:_viem.erc20Abi,functionName:"allowance",args:[t,r]}));return(await a.multicall({contracts:o})).map((i,l)=>{let u=e[l];return i.error?{balance:0,...u}:{allowance:i.result,formattedAllowance:_viem.formatUnits.call(void 0, i.result,_optionalChain([u, 'optionalAccess', _112 => _112.decimals])||18),...u}})}}async function Jd({url:e,...t}={}){let{config:r}=_chunk7DPUKGDTcjs.b.call(void 0, t);returnawait _asyncNullishCoalesce((await _chunkTYTNDYXVcjs.c.call(void 0, {url:_nullishCoalesce(e, () => (r.lists.tokenList)),type:"rest",name:"GitHub"})).tokens, async () => ([]))}function Xa({token:e,account:t,multicallAddress:r}){return _chunk7DPUKGDTcjs.f.call(void 0, e,"BERA")||_chunk7DPUKGDTcjs.f.call(void 0, e,"ETH")?{address:r,abi:_chunk7LKILKNXcjs.q,functionName:"getEthBalance",args:[t]}:{address:e.address,abi:_viem.erc20Abi,functionName:"balanceOf",args:[t]}}async function Xd({account:e,tokenList:t,publicClient:r}){if(!r)throw new Error("publicClient is not defined");if(!e||!t)throw new Error("account or tokenList is not defined");if(!_viem.isAddress.call(void 0, e))throw new Error("account is not a valid address");let a=t.filter(u=>_viem.isAddress.call(void 0, u.address));_chunk6PL44I45cjs.b.call(void 0, r.chain,"publicClient.chain"),_chunk6PL44I45cjs.b.call(void 0, r.chain.contracts,"publicClient.chain.contracts"),_chunk6PL44I45cjs.b.call(void 0, r.chain.contracts.multicall3,"publicClient.chain.contracts.multicall3");let{multicall3:o}=r.chain.contracts,n=typeof o=="string"?o:o.address;_chunk6PL44I45cjs.d.call(void 0, n,"multicall3Address");let s=a.map(u=>Xa({token:u,account:e,multicallAddress:n})),i=await r.multicall({contracts:s});return await Promise.all(i.map(async(u,m)=>{let d=a[m];if(u.error)return{balance:0n,formattedBalance:"0",...d};let b=_viem.formatUnits.call(void 0, u.result,_optionalChain([d, 'optionalAccess', _113 => _113.decimals])||18);return{balance:u.result,formattedBalance:b.includes("e")?"0":b,...d}}))}var _core = require('@wagmi/core');async function jt({publicClient:e,abi:t,...r}){let a=[..._chunk33CW5NUNcjs.c,..._nullishCoalesce(t, () => ([]))],o,n,s,i,l,u,m;if("txHash"in r){let d=await e.getTransaction({hash:r.txHash});if(!d.to)throw new (0, _chunk33CW5NUNcjs.g)({property:"tx",value:d,expected:"Transaction",message:"Trying to get revert reason for a contract creation"});l=d.input,n=d.to,s=d.from,i=d.value,o=d.blockNumber}else if(o=r.blockNumber,n=r.to,s=r.account,i=r.value,"data"in r)l=r.data;else if("functionName"in r&&"args"in r)u=r.functionName,m=r.args;else if(!i)throw new (0, _chunk33CW5NUNcjs.g)({property:"dataOrFunctionNameAndArgs",value:r,expected:"Hex or FunctionName and Args"});try{if(!a)if(l)await e.call({data:l,to:n,account:s,blockNumber:o,value:i});else throw new Error("Data is required if abi is not provided");if("functionName"in r&&"args"in r&&r.functionName)u=r.functionName,m=r.args;else if(l){if(!a){let d=await e.call({data:l,to:n,account:s,blockNumber:o,value:i});throw new Error(`Getting revert reason for successful simulation. Data: ${l}`,{cause:d})}try{let d=_viem.decodeFunctionData.call(void 0, {abi:a,data:l});u=d.functionName,m=d.args}catch(d){throw d instanceof _viem.AbiFunctionSignatureNotFoundError&&await e.call({data:l,to:n,account:s,blockNumber:o,value:i}),new Error("Data is required if abi is not provided")}}else throw new Error("No data or function name and args provided");throw a&&u?(await e.simulateContract({functionName:u,args:m,abi:a,address:n,account:s,blockNumber:o}),new (0, _chunk6PL44I45cjs.g)({message:"Getting revert reason for successful simulation",functionName:u,to:n,txHash:"txHash"in r?r.txHash:void 0,input:r})):new Error("No data or function name and args provided")}catch(d){if(d instanceof Error)return _chunk33CW5NUNcjs.e.call(void 0, {error:d,abi:a,revertIfUnknown:!0});throw d}}var uo=_chunkTYTNDYXVcjs.C.call(void 0, 1),Kt=(e,t)=>e*(100n+BigInt(t))/100n;function Qe({nonceResult:e,onWarning:t}){if(e.status==="fulfilled"){if(e.value&&e.value>Number.MAX_SAFE_INTEGER){_optionalChain([t, 'optionalCall', _114 => _114(new (0, _chunk33CW5NUNcjs.f)({message:"Nonce is too large. No nonce will be provided to avoid IntegerOutOfRangeError.",cause:e.value,level:"debug"}))]);return}return e.value}}function mo(e=_internal.defaultChainId){return e===_internal.ChainId.BEPOLIA?process.env.NEXT_PUBLIC_80069_ANVIL_IMPERSONATE_ACCOUNT==="true":process.env.NEXT_PUBLIC_80094_ANVIL_IMPERSONATE_ACCOUNT==="true"}async function wm(e){if(process.env.NODE_ENV==="development"&&!e.contractName&&e.address&&!("calls"in e||e.calls))throw console.warn("beraWriteContract: Contract name is required. Either update the contract mapping in devrel or provide a contract name in ContractName enum","This is a development error and will be thrown in development mode only."),new (0, _chunk33CW5NUNcjs.g)({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:n,onSuccess:s,onWarning:i,onError:l,onSubmission:u,wagmiConfig:m,walletClient:d,account:b,txConfirmationTimeout:g=12e4,chainId:p=_internal.defaultChainId,impersonateAccount:A=mo(p),errorsAbi:P=[],pollingInterval:S=uo,...y}=e;_optionalChain([n, 'optionalCall', _115 => _115(e)]);let F="data"in y?y.data:void 0,G=[..._chunk33CW5NUNcjs.c,...P,..."abi"in y&&y.abi&&Array.isArray(y.abi)?y.abi:[]],I=d;if(!m){_optionalChain([l, 'optionalCall', _116 => _116(new (0, _chunk33CW5NUNcjs.g)({property:"wagmiConfig",value:m,expected:"Config"}),e)]);return}if(!(_optionalChain([I, 'optionalAccess', _117 => _117.account, 'optionalAccess', _118 => _118.type])==="local"))try{await _core.switchChain.call(void 0, m,{chainId:p})}catch(V){let E=V;_optionalChain([l, 'optionalCall', _119 => _119(new (0, _chunk33CW5NUNcjs.f)({cause:E,displayMessage:"There was an error switching to the chain."}),e)]);return}if(!I)try{I=await _core.getWalletClient.call(void 0, m,{chainId:p})}catch(V){_optionalChain([l, 'optionalCall', _120 => _120(new (0, _chunk33CW5NUNcjs.f)({cause:V,displayMessage:"There was an error connecting to the wallet."}),e)]);return}if(!I){_optionalChain([l, 'optionalCall', _121 => _121(new (0, _chunk33CW5NUNcjs.g)({displayMessage:"There was an error connecting to the wallet.",property:"walletClient",value:I,expected:"WalletClient"}),e)]);return}let W=b||I.account;if(!W){_optionalChain([l, 'optionalCall', _122 => _122(new (0, _chunk33CW5NUNcjs.g)({property:"account",value:W,expected:"Account"}),e)]);return}let de=typeof W=="string"?W:W.address,M=_core.getPublicClient.call(void 0, m,{chainId:p});try{_chunk6PL44I45cjs.c.call(void 0, M)}catch(V){_optionalChain([l, 'optionalCall', _123 => _123(V,e)]);return}if(A){let V=_chunkTYTNDYXVcjs.w.call(void 0, p);await V.impersonateAccount({address:de}),I=_viem.createWalletClient.call(void 0, {transport:_viem.http.call(void 0, V.transport.url),account:W,chain:I.chain})}let q,oe={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=M.getTransactionCount({address:de,blockTag:"latest"}).catch(()=>{}),E={account:de,to:t,address:t,chainId:p,value:a};if(r){let Q=r.map(h=>{if("abi"in h&&Array.isArray(G)&&G.push(...h.abi),"data"in h)return{to:h.address,data:h.data,value:_nullishCoalesce(h.value, () => (0n))};if("abi"in h&&"functionName"in h){let L="params"in h?h.params:void 0;return{to:h.address,abi:h.abi,functionName:h.functionName,args:L,value:_nullishCoalesce(h.value, () => (0n))}}return{to:h.address,value:_nullishCoalesce(h.value, () => (0n))}});if(e.enableSimulateCalls){let h=await M.simulateCalls({calls:Q,account:W}),L=h.results.findIndex(_=>_.status==="failure");if(L!==-1){if(h.block.number===null)throw new (0, _chunk33CW5NUNcjs.g)({property:"blockNumber",value:h.block.number,expected:"bigint",message:"Block number is null"});let _=h.results[L],{reason:Se}=_.data&&_.data!=="0x"?{reason:_chunk33CW5NUNcjs.d.call(void 0, _viem.decodeErrorResult.call(void 0, {data:_.data,abi:G}))}:_chunk33CW5NUNcjs.e.call(void 0, {error:_.error,revertIfUnknown:!1,abi:G});_optionalChain([l, 'optionalCall', _124 => _124(new (0, _chunk6PL44I45cjs.g)({cause:_.error,txHash:q,chainId:p,reason:Se,abi:G,input:oe,blockNumber:h.block.number}),e)]);return}}if(process.env.NODE_ENV==="test")throw new (0, _chunk33CW5NUNcjs.g)({displayMessage:"Batch calls are not supported in test environment",expected:"not test",property:"NODE_ENV",value:process.env.NODE_ENV,level:"fatal"});let U=await I.sendCalls({calls:Q,account:W,forceAtomic:!0});_optionalChain([u, 'optionalCall', _125 => _125({id:U.id},e)]);let O=await I.waitForCallsStatus({id:U.id,pollingInterval:S,timeout:g});if(O.status==="success"){let h=_optionalChain([O, 'access', _126 => _126.receipts, 'optionalAccess', _127 => _127[0]]);if(!h)throw new (0, _chunk33CW5NUNcjs.f)({message:"Call status is success but no receipt was found",cause:O,level:"error",reason:"CALL_STATUS_SUCCESS_BUT_NO_RECEIPT"});return _optionalChain([s, 'optionalCall', _128 => _128(h,e)]),h}throw console.error("wallet_sendCalls: Call failed",O),new (0, _chunk6PL44I45cjs.g)({cause:O,level:"error",input:oe,txHash:q,abi:G,chainId:p})}if(F){let[Q,U,O]=await Promise.allSettled([M.call({...E,data:F}),_nullishCoalesce(o, () => (M.estimateGas({...E,data:F}))),V]);if(Q.status==="rejected")throw Q.reason;let h=U.status==="fulfilled"?Kt(U.value,10):_chunkTYTNDYXVcjs.i;q=await I.sendTransaction({data:F,to:t,account:W,gas:h,chainId:p,nonce:Qe({nonceResult:O,onWarning(L){_optionalChain([i, 'optionalCall', _129 => _129(L,e)])}}),value:a}),_optionalChain([u, 'optionalCall', _130 => _130({txHash:q},e)])}else if("abi"in y&&"functionName"in y){let{abi:Q,functionName:U}=y,O="params"in y?y.params:void 0,[h,L,_]=await Promise.allSettled([M.simulateContract({...E,abi:G,functionName:U,args:O,account:W}),_nullishCoalesce(o, () => (M.estimateContractGas({...E,abi:G,functionName:U,args:O}))),V]);if(h.status==="rejected")throw h.reason;let Se=_nullishCoalesce(o, () => ((L.status==="fulfilled"?Kt(L.value,10):_chunkTYTNDYXVcjs.i)));q=await I.writeContract({...h.value.request,chainId:p,gas:Se,nonce:Qe({nonceResult:_,onWarning(er){_optionalChain([i, 'optionalCall', _131 => _131(er,e)])}})}),_optionalChain([u, 'optionalCall', _132 => _132({txHash:q},e)])}else{let[Q]=await Promise.allSettled([V]);q=await I.sendTransaction({chainId:p,to:t,value:a,account:W,nonce:Qe({nonceResult:Q,onWarning(U){_optionalChain([i, 'optionalCall', _133 => _133(U,e)])}})}),_optionalChain([u, 'optionalCall', _134 => _134({txHash:q},e)])}process.env.NODE_ENV==="test"&&await _chunkTYTNDYXVcjs.w.call(void 0, p).mine({blocks:1});let z=await M.waitForTransactionReceipt({hash:q,pollingInterval:S,timeout:g,confirmations:1});if(z.status==="success")_optionalChain([s, 'optionalCall', _135 => _135(z,e)]);else{let Q=await jt({publicClient:M,blockNumber:z.blockNumber,to:t,account:de,abi:G,args:"params"in y?y.params:void 0,functionName:"functionName"in y?y.functionName:void 0,value:a,data:F});process.env.NODE_ENV==="test"&&console.error("beraWriteContract: Revert reason",Q),_optionalChain([l, 'optionalCall', _136 => _136(new (0, _chunk6PL44I45cjs.g)({reason:Q.reason,txHash:q,receipt:z,to:t,functionName:"functionName"in y?y.functionName:void 0,input:oe,chainId:p,abi:G,blockNumber:z.blockNumber}),e)])}return z}catch(V){if(V instanceof _chunk33CW5NUNcjs.f)_optionalChain([l, 'optionalCall', _137 => _137(V,e)]);else if(V instanceof Error){let E=_chunk33CW5NUNcjs.e.call(void 0, {error:V,revertIfUnknown:!1,abi:G});if(E&&E.rootCause instanceof _viem.BaseError&&"url"in E.rootCause){_optionalChain([l, 'optionalCall', _138 => _138(new (0, _chunkMDA4YT6Jcjs.a)({cause:E.rootCause,response:void 0,endpoint:{url:E.rootCause.url,type:"rpc"},statusCode:E.rootCause instanceof _viem.HttpRequestError?E.rootCause.status:void 0}),e)]);return}_optionalChain([l, 'optionalCall', _139 => _139(new (0, _chunk6PL44I45cjs.g)({cause:V,to:t,txHash:q,chainId:p,abi:G,functionName:"functionName"in y?y.functionName:void 0,input:oe}),e)])}else _optionalChain([l, 'optionalCall', _140 => _140(new (0, _chunk6PL44I45cjs.g)({cause:V,txHash:q,to:t,chainId:p,functionName:"functionName"in y?y.functionName:void 0,input:oe,abi:G}),e)])}}async function vm({publicClient:e,ui:t,...r}){let{config:a}=_chunk7DPUKGDTcjs.b.call(void 0, r),[o,n,s,i,l,u,m,d]=await Promise.all([e.readContract({address:a.pol.beraChef,abi:_chunk7LKILKNXcjs.c,functionName:"MAX_COMMISSION_RATE"}),e.readContract({address:a.pol.beraChef,abi:_chunk7LKILKNXcjs.c,functionName:"commissionChangeDelay"}),e.readContract({address:a.pol.beraChef,abi:_chunk7LKILKNXcjs.c,functionName:"rewardAllocationBlockDelay"}),e.readContract({address:a.pol.beraChef,abi:_chunk7LKILKNXcjs.c,functionName:"maxWeightPerVault"}),e.readContract({address:a.pol.beraChef,abi:_chunk7LKILKNXcjs.c,functionName:"maxNumWeightsPerRewardAllocation"}),e.readContract({address:a.tokens.bgt,abi:_chunk7LKILKNXcjs.m,functionName:"dropBoostDelay"}),e.readContract({address:a.tokens.bgt,abi:_chunk7LKILKNXcjs.m,functionName:"activateBoostDelay"}),e.readContract({address:a.pol.beraChef,abi:_chunk7LKILKNXcjs.c,functionName:"rewardAllocationInactivityBlockSpan"})]);return{maxCommissionRate:Number(o)/1e4,boostDelay:Number(m),unboostDelay:Number(u),commissionChangeDelay:Number(n),rewardAllocationBlockDelay:Number(s),maxWeightPerVault:Number(i)/1e4,maxNumWeightsPerRewardAllocation:Number(l),rewardAllocationInactivityBlockSpan:Number(d),ui:t}}async function zt({variables:e={},...t}={}){let{config:r}=_chunk7DPUKGDTcjs.b.call(void 0, t);return(await f("api",t).query({query:_api3.GetValidators,variables:{chain:r.bex.chainName,...e}})).data}async function Fm({allocation:e}){let t=await ve({filter:{where:{vaultAddressIn:e.weights.map(a=>a.receiver)}}}),r=_nullishCoalesce(_optionalChain([e, 'optionalAccess', _141 => _141.start, 'access', _142 => _142.blockNumber]), () => (0));return _optionalChain([e, 'optionalAccess', _143 => _143.weights, 'access', _144 => _144.map, 'call', _145 => _145(a=>({percentage:a.percentage,receiver:a.receiver,startBlock:r,receivingVault:_optionalChain([t, 'optionalAccess', _146 => _146.gaugeList, 'access', _147 => _147.find, 'call', _148 => _148(o=>_viem.isAddressEqual.call(void 0, o.address,a.receiver))])}))])}async function Qm({id:e,...t}){let{config:r}=_chunk7DPUKGDTcjs.b.call(void 0, t);return(await f("api",t).query({query:_api3.GetValidator,variables:{id:e,chain:r.bex.chainName}})).data}async function Mm({pubKey:e,first:t=1,...r}){let a=f("pol.subgraph",r);try{return(await a.query({query:_subgraph3.GetValidatorBlockStats,variables:{pubKey:e,first:t}})).data}catch(o){throw console.error("GetValidatorBlockStats:",o),o}}function ae(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 yo(e,t){return e.start.blockNumber===t.start.blockNumber&&e.weights.every((r,a)=>r.percentage===t.weights[a].percentage)}async function Jm({client:e,pubKey:t,...r}){let{config:a}=_chunk7DPUKGDTcjs.b.call(void 0, r);try{let[o,n]=await Promise.all([e.readContract({address:a.pol.beraChef,abi:_chunk7LKILKNXcjs.c,functionName:"getActiveRewardAllocation",args:[t]}),e.readContract({address:a.pol.beraChef,abi:_chunk7LKILKNXcjs.c,functionName:"getSetActiveRewardAllocation",args:[t]})]),[s,i]=await Promise.all([o.startBlock!==0n?e.getBlock({blockNumber:BigInt(o.startBlock)}):{timestamp:0},n.startBlock!==0n?e.getBlock({blockNumber:BigInt(n.startBlock)}):{timestamp:0}]),l=ae(o,Number(s.timestamp)),u=ae(n,Number(i.timestamp)),m=!1;return u.start.blockNumber===0?m=!0:m=!yo(u,l),{activeRewardAllocation:l,setRewardAllocation:u,isBaseline:m,isNeverSet:_optionalChain([u, 'optionalAccess', _149 => _149.start, 'access', _150 => _150.blockNumber])===0}}catch(o){throw console.log("getValidatorRewardAllocation:",o),o}}function zm(e){return e.start.blockNumber===0}async function Xm({client:e,...t}){let{config:r}=_chunk7DPUKGDTcjs.b.call(void 0, t),a=await e.readContract({address:r.pol.beraChef,abi:_chunk7LKILKNXcjs.c,functionName:"getDefaultRewardAllocation",args:[]});return ae({...a,startBlock:0n},0)}async function rp({account:e,...t}){try{return(await f("pol.subgraph",t).query({query:_subgraph3.GetValidatorByAccount,variables:{account:e}})).data}catch(r){throw console.error("getManagedValidatorByAccount:",r),r}}async function op({client:e,valPubKey:t}){return 5614}async function Xt({account:e,block:t,...r}){return await f("pol.subgraph",r).query({query:_subgraph3.GetUserValidatorInformation,variables:{address:e.toLowerCase(),block:t}})}async function Zt({account:e,pubkey:t,publicClient:r,...a}){let{config:o}=_chunk7DPUKGDTcjs.b.call(void 0, a);if(!e)throw new Error("account is required");if(!r)throw new Error("publicClient is required");let[n,s,i]=await Promise.all([r.readContract({address:o.tokens.bgt,abi:_chunk7LKILKNXcjs.m,functionName:"boosted",args:[e,t]}),r.readContract({address:o.tokens.bgt,abi:_chunk7LKILKNXcjs.m,functionName:"boostedQueue",args:[e,t]}),r.readContract({address:o.tokens.bgt,abi:_chunk7LKILKNXcjs.m,functionName:"dropBoostQueue",args:[e,t]})]);return{pubkey:t,activeBoostAmount:_viem.formatEther.call(void 0, n),queuedBoostAmount:_viem.formatEther.call(void 0, s[1]),queuedDropBoostAmount:_viem.formatEther.call(void 0, i[1]),queuedBoostStartBlock:s[0],queuedDropBoostStartBlock:i[0],hasPendingBoosts:Number(s[1])>0||Number(i[1])>0,hasActiveBoosts:Number(n)>0}}async function Ap({account:e,publicClient:t,chain:r,...a}){let{config:o}=_chunk7DPUKGDTcjs.b.call(void 0, a),n=_nullishCoalesce(r, () => (o.bex.chainName)),s=await Xt({account:e}),[i,l]=await Promise.all([zt({variables:{chain:n,where:{idIn:s.data.userValidatorInformations.map(u=>u.validator.id)}}}),t&&_chunkTYTNDYXVcjs.y.call(void 0, {lastBlockTimestamp:_optionalChain([s, 'access', _151 => _151.data, 'access', _152 => _152._meta, 'optionalAccess', _153 => _153.block, 'access', _154 => _154.timestamp]),blockTime:o.averageBlockTime})?Promise.all(s.data.userValidatorInformations.map(u=>Zt({account:e,pubkey:u.validator.publicKey,publicClient:t}))):void 0]);return _optionalChain([i, 'optionalAccess', _155 => _155.validators, 'access', _156 => _156.validators, 'access', _157 => _157.map, 'call', _158 => _158(u=>{let m=l?l.find(d=>d.pubkey.toLowerCase()===u.pubkey.toLowerCase()):s.data.userValidatorInformations.find(d=>d.validator.id.toLowerCase()===u.id.toLowerCase());if(!m)throw new Error("User deposited not found");return{...u,userBoosts:{pubkey:"pubkey"in m?m.pubkey:m.validator.publicKey,activeBoostAmount:_optionalChain([m, 'optionalAccess', _159 => _159.activeBoostAmount]),queuedBoostAmount:_optionalChain([m, 'optionalAccess', _160 => _160.queuedBoostAmount]),queuedBoostStartBlock:Number(_optionalChain([m, 'optionalAccess', _161 => _161.queuedBoostStartBlock])),queuedDropBoostAmount:_optionalChain([m, 'optionalAccess', _162 => _162.queuedDropBoostAmount]),queuedDropBoostStartBlock:Number(_optionalChain([m, 'optionalAccess', _163 => _163.queuedDropBoostStartBlock])),hasPendingBoosts:Number(_optionalChain([m, 'optionalAccess', _164 => _164.queuedBoostAmount]))>0||Number(_optionalChain([m, 'optionalAccess', _165 => _165.queuedDropBoostAmount]))>0,hasActiveBoosts:Number(_optionalChain([m, 'optionalAccess', _166 => _166.activeBoostAmount]))>0}}})])}var wo=[{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:_chunkTYTNDYXVcjs.B.call(void 0, Date.now()-72e6)}]}},{staked:{amount:141514000000000000000n,formattedAmount:"1415.14"},validatorAddress:"0xa2705d6b27891f3f5651f26547d1bb79e256f95f249d1ad717cef087d77d38b037e5d6dbaa2538930fd0731ec9b02f3a",earning:.145,rewards:{amount:15414000000000000000n,formattedAmount:"154.14"},queueData:{unstake:[{amount:16159000000000000000n,formattedAmount:"161.59",timestamp:_chunkTYTNDYXVcjs.B.call(void 0, Date.now()-72e6)}]}},{staked:{amount:141514000000000000000n,formattedAmount:"1415.14"},validatorAddress:"0xa2705d6b27891f3f5651f26547d1bb79e256f95f249d1ad717cef087d77d38b037e5d6dbaa2538930fd0731ec9b02f3a",earning:.145,rewards:{amount:15414000000000000000n,formattedAmount:"154.14"},queueData:{unstake:[{amount:16159000000000000000n,formattedAmount:"161.59",timestamp:_chunkTYTNDYXVcjs.B.call(void 0, Date.now()-72e6)}]}},{staked:{amount:141514000000000000000n,formattedAmount:"1415.14"},validatorAddress:"0xa2705d6b27891f3f5651f26547d1bb79e256f95f249d1ad717cef087d77d38b037e5d6dbaa2538930fd0731ec9b02f3a",earning:.145,rewards:{amount:15414000000000000000n,formattedAmount:"154.14"},queueData:{unstake:[{amount:16159000000000000000n,formattedAmount:"161.59",timestamp:_chunkTYTNDYXVcjs.B.call(void 0, Date.now()-72e6)}]}},{staked:{amount:141514000000000000000n,formattedAmount:"1415.14"},validatorAddress:"0xa2705d6b27891f3f5651f26547d1bb79e256f95f249d1ad717cef087d77d38b037e5d6dbaa2538930fd0731ec9b02f3a",earning:.145,rewards:{amount:15414000000000000000n,formattedAmount:"154.14"},queueData:{unstake:[{amount:16159000000000000000n,formattedAmount:"161.59",timestamp:_chunkTYTNDYXVcjs.B.call(void 0, Date.now()-72e6)}]}},{staked:{amount:141514000000000000000n,formattedAmount:"1415.14"},validatorAddress:"0xa2705d6b27891f3f5651f26547d1bb79e256f95f249d1ad717cef087d77d38b037e5d6dbaa2538930fd0731ec9b02f3a",earning:.145,rewards:{amount:15414000000000000000n,formattedAmount:"154.14"},queueData:{unstake:[{amount:16159000000000000000n,formattedAmount:"161.59",timestamp:_chunkTYTNDYXVcjs.B.call(void 0, Date.now()-72e6)}]}},{staked:{amount:241514000000000000000n,formattedAmount:"2415.14"},validatorAddress:"0xa4e4b63514f54d61da5197359f11ff1fc2930788ba2ffdd30c2fc059cbe0221020197bf9446b16ac347f36c7517a8686",earning:.145,rewards:{amount:15414000000000000000n,formattedAmount:"154.14"},queueData:{unstake:[{amount:1159000000000000000n,formattedAmount:"11.59",timestamp:_chunkTYTNDYXVcjs.B.call(void 0, Date.now()-36e6)}]}},{validatorAddress:"0xb0511ec039591e98bd4e183ba70b85572214a7ad8ca1a43e96ad3495d3821054927bc542e5482ec9733e35b7ef0b1f03",earning:.045,staked:{amount:141514000000000000000n,formattedAmount:"1415.14"},rewards:{amount:15414000000000000000n,formattedAmount:"154.14"},queueData:{stake:[{amount:1159000000000000000n,formattedAmount:"11.59"}]}}];async function Cp(e){return await new Promise(t=>setTimeout(t,2e3)),e==="0x4C368fFE3650379d6318C8d4630bc51f8Ad12bB6"?wo:[]}async function Rp({pubkey:e,dayRange:t,...r}){return(await f("pol.subgraph",r).query({query:_subgraph3.GetValidatorAnalytics,variables:{pubKey:e,timestamp:_chunkTYTNDYXVcjs.p.call(void 0, t).toString()}})).data}async function kp({client:e,pubKey:t,...r}){let{config:a}=_chunk7DPUKGDTcjs.b.call(void 0, r),o=await e.readContract({address:a.pol.beraChef,abi:_chunk7LKILKNXcjs.c,functionName:"getValCommissionOnIncentiveTokens",args:[t]});return Number(_nullishCoalesce(o, () => (0n)))/1e4}var Fp=(e,t,r)=>{if(!t||!e)return 0;let a=_chunkTYTNDYXVcjs.O.call(void 0, 1)/r;return(t?a*(Number(_optionalChain([e, 'access', _167 => _167.dynamicData, 'optionalAccess', _168 => _168.stakedBeraAmount]))/t):0)*Number.parseFloat(_nullishCoalesce(_optionalChain([e, 'access', _169 => _169.dynamicData, 'optionalAccess', _170 => _170.rewardRate]), () => ("0")))};async function qp({client:e,pubKey:t,...r}){let{config:a}=_chunk7DPUKGDTcjs.b.call(void 0, r);try{return await e.readContract({address:a.depositContract,abi:_chunk7LKILKNXcjs.r,functionName:"getOperator",args:[t]})}catch(o){throw console.log("getValidatorOperatorAddress:",o),o}}async function Op({client:e,pubKey:t,...r}){let{config:a}=_chunk7DPUKGDTcjs.b.call(void 0, r),o=await e.readContract({address:a.pol.beraChef,abi:_chunk7LKILKNXcjs.c,functionName:"getValQueuedCommissionOnIncentiveTokens",args:[t]});return{blockNumberLast:o.blockNumberLast,commissionRate:Number(o.commissionRate)/1e4}}async function Hp({client:e,pubKey:t,...r}){let{config:a}=_chunk7DPUKGDTcjs.b.call(void 0, r);try{return await e.readContract({address:a.depositContract,abi:_chunk7LKILKNXcjs.r,functionName:"queuedOperator",args:[t]})}catch(o){throw console.log("getValidatorQueuedOperatorAddress:",o),o}}async function Yp({client:e,pubKey:t,...r}){let{config:a}=_chunk7DPUKGDTcjs.b.call(void 0, r);try{let o=await e.readContract({address:a.pol.beraChef,abi:_chunk7LKILKNXcjs.c,functionName:"getQueuedRewardAllocation",args:[t]});return ae(o,0)}catch(o){throw console.log("getValidatorQueuedRewardAllocation:",o),o}}function Po(e){return _optionalChain([e, 'optionalAccess', _171 => _171.rewardAllocationWeights, 'optionalAccess', _172 => _172.reduce, 'call', _173 => _173((t,r)=>{if(!r)return t;let a=_nullishCoalesce(_optionalChain([r, 'access', _174 => _174.receivingVault, 'optionalAccess', _175 => _175.activeIncentives, 'access', _176 => _176.filter, 'call', _177 => _177(o=>Number(o.remainingAmount)>0), 'access', _178 => _178.reduce, 'call', _179 => _179((o,n)=>{let s=Number(n.remainingAmountUsd)/Number(n.remainingAmount);return o+Number(n.incentiveRate)*s},0)]), () => (0));return t+a*r.percentage},0)])}function Xp({validator:e,bgtPrice:t}){let r=Number(_nullishCoalesce(_optionalChain([e, 'access', _180 => _180.dynamicData, 'optionalAccess', _181 => _181.activeBoostAmount]), () => (0))),a=Po(e);return!a||!r?0:a*Number(_nullishCoalesce(_optionalChain([e, 'access', _182 => _182.dynamicData, 'optionalAccess', _183 => _183.lastDayDistributedBGTAmount]), () => (0)))*365/(r*t)}exports.a = Ro; exports.b = ko; exports.c = f; exports.d = _client.gql; exports.e = mt; exports.f = _berancersdk.BalancerApi; exports.g = fn; exports.h = hn; exports.i = xn; exports.j = ft; exports.k = In; exports.l = Un; exports.m = Jn; exports.n = Kn; exports.o = ei; exports.p = oi; exports.q = re; exports.r = ci; exports.s = Pe; exports.t = fi; exports.u = yi; exports.v = vi; exports.w = ki; exports.x = xt; exports.y = Wi; exports.z = Li; exports.A = $i; exports.B = zi; exports.C = vt; exports.D = Fe; exports.E = Rt; exports.F = vs; exports.G = ks; exports.H = Ds; exports.I = Qs; exports.J = pa; exports.K = Ls; exports.L = Js; exports.M = Ys; exports.N = rl; exports.O = Nt; exports.P = ml; exports.Q = kt; exports.R = vl; exports.S = Gl; exports.T = Il; exports.U = wa; exports.V = Ul; exports.W = Ll; exports.X = Tt; exports.Y = ve; exports.Z = Pc; exports._ = qt; exports.$ = Nc; exports.aa = Dc; exports.ba = Wc; exports.ca = Hc; exports.da = ru; exports.ea = su; exports.fa = fu; exports.ga = yu; exports.ha = Pu; exports.ia = Vu; exports.ja = ue; exports.ka = Uu; exports.la = Hu; exports.ma = Yu; exports.na = Ht; exports.oa = ud; exports.pa = Ad; exports.qa = Bd; exports.ra = Vd; exports.sa = Id; exports.ta = Wd; exports.ua = Md; exports.va = Jd; exports.wa = Xa; exports.xa = Xd; exports.ya = mo; exports.za = wm; exports.Aa = vm; exports.Ba = zt; exports.Ca = Fm; exports.Da = Qm; exports.Ea = Mm; exports.Fa = ae; exports.Ga = yo; exports.Ha = Jm; exports.Ia = zm; exports.Ja = Xm; exports.Ka = rp; exports.La = op; exports.Ma = Zt; exports.Na = Ap; exports.Oa = Cp; exports.Pa = Rp; exports.Qa = kp; exports.Ra = Fp; exports.Sa = qp; exports.Ta = Op; exports.Ua = Hp; exports.Va = Yp; exports.Wa = Po; exports.Xa = Xp;
|