@berachain/berajs 0.2.8-beta.7 → 0.2.8-beta.9
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/RequestError-BRIiJgHk.d.ts +144 -0
- package/dist/RequestError-DSUzJ1Iy.d.cts +144 -0
- package/dist/abi/exports.mjs +1 -1
- package/dist/actions/exports.cjs +1 -1
- package/dist/actions/exports.cjs.map +1 -1
- package/dist/actions/exports.d.cts +11 -5
- package/dist/actions/exports.d.ts +11 -5
- package/dist/actions/exports.mjs +1 -1
- package/dist/actions/exports.mjs.map +1 -1
- package/dist/chunk-45HIEVNI.cjs +4 -0
- package/dist/chunk-45HIEVNI.cjs.map +1 -0
- package/dist/{chunk-6K252BGM.mjs → chunk-47ILYVHC.mjs} +2 -2
- package/dist/{chunk-5W7UKRHX.mjs → chunk-5NVZG5N6.mjs} +2 -2
- package/dist/chunk-6DIA6PXV.cjs +2 -0
- package/dist/chunk-6DIA6PXV.cjs.map +1 -0
- package/dist/{chunk-53TSJM6P.cjs → chunk-6JJIZCVY.cjs} +2 -2
- package/dist/{chunk-53TSJM6P.cjs.map → chunk-6JJIZCVY.cjs.map} +1 -1
- package/dist/{chunk-3MZ7MLKF.mjs → chunk-7F72ZH4Q.mjs} +2 -2
- package/dist/chunk-AUA42YIG.mjs +4 -0
- package/dist/chunk-AUA42YIG.mjs.map +1 -0
- package/dist/{chunk-UFIM7WQ4.cjs → chunk-BC2WX6O6.cjs} +2 -2
- package/dist/{chunk-UFIM7WQ4.cjs.map → chunk-BC2WX6O6.cjs.map} +1 -1
- package/dist/chunk-CJOZC5Z2.cjs +2 -0
- package/dist/{chunk-DKY4QPWU.cjs.map → chunk-CJOZC5Z2.cjs.map} +1 -1
- package/dist/{chunk-RSDCKN4Q.mjs → chunk-GXV2JA36.mjs} +2 -2
- package/dist/{chunk-RSDCKN4Q.mjs.map → chunk-GXV2JA36.mjs.map} +1 -1
- package/dist/{chunk-UENDEN3M.mjs → chunk-ISYNEDET.mjs} +2 -2
- package/dist/chunk-JDDRTHFG.mjs +2 -0
- package/dist/chunk-JDDRTHFG.mjs.map +1 -0
- package/dist/{chunk-QFLDL4UV.cjs → chunk-LVOXBZMA.cjs} +2 -2
- package/dist/{chunk-QFLDL4UV.cjs.map → chunk-LVOXBZMA.cjs.map} +1 -1
- package/dist/chunk-PRLVZIKD.mjs +2 -0
- package/dist/chunk-PRLVZIKD.mjs.map +1 -0
- package/dist/{chunk-JLFBRMOF.cjs → chunk-Q2SNRLW3.cjs} +2 -2
- package/dist/{chunk-JLFBRMOF.cjs.map → chunk-Q2SNRLW3.cjs.map} +1 -1
- package/dist/chunk-REWME3FY.cjs +2 -0
- package/dist/chunk-REWME3FY.cjs.map +1 -0
- package/dist/chunk-RJN36GBU.mjs +2 -0
- package/dist/chunk-RJN36GBU.mjs.map +1 -0
- package/dist/chunk-S4CDSVLK.cjs +2 -0
- package/dist/chunk-S4CDSVLK.cjs.map +1 -0
- package/dist/{chunk-ZYXVUXFQ.cjs → chunk-SFEULGSX.cjs} +2 -2
- package/dist/{chunk-ZYXVUXFQ.cjs.map → chunk-SFEULGSX.cjs.map} +1 -1
- package/dist/{chunk-CWKDFUFR.mjs → chunk-WBTS6KFG.mjs} +2 -2
- package/dist/contexts/exports.cjs +1 -1
- package/dist/contexts/exports.cjs.map +1 -1
- package/dist/contexts/exports.mjs +1 -1
- package/dist/errors/exports.cjs +1 -1
- package/dist/errors/exports.cjs.map +1 -1
- package/dist/errors/exports.d.cts +3 -89
- package/dist/errors/exports.d.ts +3 -89
- package/dist/errors/exports.mjs +1 -1
- package/dist/hooks/exports.cjs +3 -3
- package/dist/hooks/exports.cjs.map +1 -1
- package/dist/hooks/exports.d.cts +13 -27
- package/dist/hooks/exports.d.ts +13 -27
- package/dist/hooks/exports.mjs +3 -3
- package/dist/hooks/exports.mjs.map +1 -1
- package/dist/utils/exports.cjs +1 -1
- package/dist/utils/exports.cjs.map +1 -1
- package/dist/utils/exports.d.cts +10 -2
- package/dist/utils/exports.d.ts +10 -2
- package/dist/utils/exports.mjs +1 -1
- package/dist/utils/exports.mjs.map +1 -1
- package/package.json +14 -3
- package/src/actions/clients/BeraApolloClient.ts +9 -0
- package/src/actions/clients/getApolloClient.ts +12 -2
- package/src/actions/dex/aggregators/base.ts +1 -1
- package/src/actions/exports.ts +1 -1
- package/src/actions/honey/getChartData.ts +5 -5
- package/src/actions/honey/getHoney24hVolume.ts +30 -0
- package/src/actions/pol/getEarnedStakedBeraVault.ts +12 -2
- package/src/actions/pol/getStakingDailyAssets.ts +7 -1
- package/src/data/contracts.ts +5 -0
- package/src/errors/RequestError.ts +2 -1
- package/src/hooks/exports.ts +1 -1
- package/src/hooks/honey/useHoney24hVolume.ts +16 -0
- package/src/utils/beraFetch.ts +70 -15
- package/dist/RequestError-A8XJ6QR9.d.cts +0 -57
- package/dist/RequestError-Dk97z8rm.d.ts +0 -57
- package/dist/chunk-DKY4QPWU.cjs +0 -2
- package/dist/chunk-DTBJO6VT.cjs +0 -2
- package/dist/chunk-DTBJO6VT.cjs.map +0 -1
- package/dist/chunk-ESAVA5OD.mjs +0 -2
- package/dist/chunk-ESAVA5OD.mjs.map +0 -1
- package/dist/chunk-KT6L4K4K.cjs +0 -2
- package/dist/chunk-KT6L4K4K.cjs.map +0 -1
- package/dist/chunk-MASD43N5.mjs +0 -4
- package/dist/chunk-MASD43N5.mjs.map +0 -1
- package/dist/chunk-MGGPHKA2.cjs +0 -4
- package/dist/chunk-MGGPHKA2.cjs.map +0 -1
- package/dist/chunk-SSPFPAWX.mjs +0 -2
- package/dist/chunk-SSPFPAWX.mjs.map +0 -1
- package/src/actions/honey/getHoneyGlobalData.ts +0 -21
- package/src/hooks/honey/useHoneyGlobalData.ts +0 -23
- /package/dist/{chunk-6K252BGM.mjs.map → chunk-47ILYVHC.mjs.map} +0 -0
- /package/dist/{chunk-5W7UKRHX.mjs.map → chunk-5NVZG5N6.mjs.map} +0 -0
- /package/dist/{chunk-3MZ7MLKF.mjs.map → chunk-7F72ZH4Q.mjs.map} +0 -0
- /package/dist/{chunk-UENDEN3M.mjs.map → chunk-ISYNEDET.mjs.map} +0 -0
- /package/dist/{chunk-CWKDFUFR.mjs.map → chunk-WBTS6KFG.mjs.map} +0 -0
package/dist/chunk-MGGPHKA2.cjs
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } async function _asyncNullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return await rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } async function _asyncOptionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = await fn(value); } else if (op === 'call' || op === 'optionalCall') { value = await fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class;var _chunkOUD27MU7cjs = require('./chunk-OUD27MU7.cjs');var _chunkKT6L4K4Kcjs = require('./chunk-KT6L4K4K.cjs');var _chunkZYXVUXFQcjs = require('./chunk-ZYXVUXFQ.cjs');var _chunkDTBJO6VTcjs = require('./chunk-DTBJO6VT.cjs');var _chunkQFLDL4UVcjs = require('./chunk-QFLDL4UV.cjs');var _chunk53TSJM6Pcjs = require('./chunk-53TSJM6P.cjs');var _viem = require('viem');var _metaMorphoV11 = require('@berachain/abis/bend-metamorpho/metaMorphoV11');async function go({sharesAmount:e,vaultAddress:t,publicClient:r}){let a=await r.readContract({address:t,abi:_metaMorphoV11.metaMorphoV11Abi,functionName:"convertToAssets",args:[e]});return{raw:a,formatted:_viem.formatEther.call(void 0, a)}}var _client = require('@apollo/client');var _internal = require('@berachain/config/internal');var me=class extends _client.ApolloClient{constructor(t){super(t),this.url=t.url}async query(t){let r=Ht(t.query),a={url:this.url,type:"graphql"},o={"operation.type":"query","operation.source.url":a.url,"operation.source.type":a.type,"operation.source.queryName":r};try{let i=()=>super.query(t),s=await _chunkDTBJO6VTcjs.a.startSpan({name:`GraphQL ${r}`,op:"BeraApolloClient.query",attributes:o},i);if(s.error||s.data===void 0)throw new (0, _chunk53TSJM6Pcjs.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:s.data}}catch(i){throw!_internal.appConfig.env.isProduction&&console.error("BeraApolloClient error",i),_client.ServerError.is(i)?new (0, _chunk53TSJM6Pcjs.g)({response:i.response,cause:i,statusCode:i.statusCode,endpoint:a,tags:o}):i instanceof TypeError?new (0, _chunk53TSJM6Pcjs.g)({level:"fatal",reason:"TypeError",response:i,cause:i,endpoint:a,tags:o}):new (0, _chunk53TSJM6Pcjs.g)({response:i,tags:o,cause:i,endpoint:a})}}};function Ht(e){return _optionalChain([e, 'access', _2 => _2.definitions, 'access', _3 => _3.find, 'call', _4 => _4(r=>r.kind==="OperationDefinition"), 'optionalAccess', _5 => _5.name, 'optionalAccess', _6 => _6.value])}var _http = require('@apollo/client/link/http');var _config = require('@berachain/config');var _api = require('@berachain/graphql/dex/api'); var _api2 = _interopRequireDefault(_api);function Kt(e){let t=typeof e=="string"?void 0:e.headers,r=!!_internal.currentDapp,a=process.env.VERCEL_ENV==="test";return{uri:_config.getUriFromLink.call(void 0, e),headers:{...t,"x-graphql-client-name":`berachain.${r?"dapps":a?"test":"berajs"}`,"x-graphql-client-version":`${process.env.VERCEL_TARGET_ENV}.${process.env.VERCEL_GIT_COMMIT_SHA}`}}}function _(e,{ssrMode:t,inMemoryCacheOptions:r}={}){let a=_config.getUriFromLink.call(void 0, e),o=typeof e=="string"?void 0:e.headers;return new me({url:a,link:new (0, _http.HttpLink)({uri:a,headers:o}),defaultOptions:{query:{errorPolicy:"none",fetchPolicy:"no-cache"}},cache:new (0, _client.InMemoryCache)(r),ssrMode:t})}function b(e,{...t}){let{config:r}=_chunkZYXVUXFQcjs.a.call(void 0, t);switch(e){case"api":return _(Kt(r.api),{inMemoryCacheOptions:{possibleTypes:_api2.default.possibleTypes}});case"bend.whisk":if(!r.bend.whiskApi)throw new (0, _chunk53TSJM6Pcjs.f)({message:"Bend whisk API is not configured on this chain",level:"error"});return _(r.bend.whiskApi);case"honey.subgraph":return _(r.honey.subgraph);case"pol.subgraph":return _(r.pol.subgraph);case"pol.fees":return _(r.pol.feesSubgraph);case"governance.subgraph":return _(r.governance.subgraph);case"bex.subgraph":return _(r.bex.subgraph)}}var Ye= (_class =class e{static __initStatic() {this.PATH_NOT_FOUND_REASON="NO_SWAP_PATHS"}__init() {this.needsAccountForQuote=!1}__init2() {this.notFoundMessages=[]}constructor(t={}){;_class.prototype.__init.call(this);_class.prototype.__init2.call(this);_class.prototype.__init3.call(this);let{config:r,chainId:a}=_chunkZYXVUXFQcjs.a.call(void 0, t);this.config=r,this.chainId=a}__init3() {this.url=""}parseAddresses(t,r){if(!_viem.isAddress.call(void 0, t)||!_viem.isAddress.call(void 0, r))throw new (0, _chunk53TSJM6Pcjs.f)({message:`Invalid address: ${t} or ${r}`,level:"error"});return{tokenInAddress:_chunkZYXVUXFQcjs.e.call(void 0, t,"BERA")?this.config.tokens.wbera:t,tokenOutAddress:_chunkZYXVUXFQcjs.e.call(void 0, r,"BERA")?this.config.tokens.wbera:r,isTokenInNative:_chunkZYXVUXFQcjs.e.call(void 0, t,"BERA"),isTokenOutNative:_chunkZYXVUXFQcjs.e.call(void 0, r,"BERA")}}getAmountAfterFees(t,r){if(r===void 0)throw new (0, _chunk53TSJM6Pcjs.f)({message:"aggregatorsFeeBps is required",level:"error"});let a=new (0, _chunkKT6L4K4Kcjs.a)(t).times(r).dividedBy(1e4).toFixed(0,_chunkKT6L4K4Kcjs.a.ROUND_DOWN);return new (0, _chunkKT6L4K4Kcjs.a)(t).minus(a).toFixed(0,_chunkKT6L4K4Kcjs.a.ROUND_DOWN)}getInputData({tokenIn:t,amountIn:r,isNative:a,isPermit2Approval:o=!1,permit2SpenderAddress:i}){return{tokenIn:t,amountIn:BigInt(r),isNative:a,isPermit2Approval:o,permit2SpenderAddress:_nullishCoalesce(i, () => (_viem.zeroAddress))}}getMinAmountOut(t,r){if(r===void 0)throw new (0, _chunk53TSJM6Pcjs.f)({message:"slippage is required",level:"error"});let a=new (0, _chunkKT6L4K4Kcjs.a)(t).times(1-r/100);return a.isNaN()||a.isZero()?0n:BigInt(a.toFixed(0))}parseAllowanceRequirements({tokenIn:t,rawAmount:r,spender:a}){return _chunkZYXVUXFQcjs.e.call(void 0, t,"BERA")?[]:[{token:t,amount:{raw:r,formatted:_viem.formatUnits.call(void 0, BigInt(r),t.decimals)},spender:a}]}checkChainSupport({tokenIn:t,tokenOut:r}){return this.supportedChains===null?!0:this.supportedChains.includes(t.chainId)&&this.supportedChains.includes(r.chainId)}assertChainSupport({tokenIn:t,tokenOut:r,underlyingToken:a}){if(!this.checkChainSupport({tokenIn:t,tokenOut:r,underlyingToken:a}))throw new (0, _chunk53TSJM6Pcjs.f)({message:`${this.name} does not support tokens chain ID: ${t.chainId} and ${r.chainId}`,level:"error"})}async fetch(t,r){try{return _chunkKT6L4K4Kcjs.c.call(void 0, {url:t,name:this.name,type:this.type},{method:"GET",headers:{"Content-Type":"application/json"},...r})}catch(a){let o=_chunkQFLDL4UVcjs.a.call(void 0, {cause:a});throw this.notFoundMessages.some(i=>o.message.includes(i))&&(o.reason=e.PATH_NOT_FOUND_REASON),o}}}, _class.__initStatic(), _class);var _berancersdk = require('@berachain-foundation/berancer-sdk');var _chains = require('viem/chains');for(let e of Object.keys(_internal.chainConfigs)){let{config:t,chainId:r}=_chunkZYXVUXFQcjs.a.call(void 0, {chainId:Number(e)});_berancersdk.API_CHAIN_NAMES[r]=t.bex.chainName,_berancersdk.CHAINS[r]=r===_chains.berachain.id?_chains.berachain:_chains.berachainBepolia,_berancersdk.BALANCER_RELAYER[r]=t.bex.relayer,_berancersdk.VAULT[r]=t.bex.vault,_berancersdk.BALANCER_QUERIES[r]=t.bex.queries,_berancersdk.WEIGHTED_POOL_FACTORY_BALANCER_V2[r]=_viem.zeroAddress,_berancersdk.COMPOSABLE_STABLE_POOL_FACTORY[r]=_viem.zeroAddress;let a=new (0, _berancersdk.Token)(r,_viem.zeroAddress,_chunkZYXVUXFQcjs.b.decimals,_chunkZYXVUXFQcjs.b.name,_chunkZYXVUXFQcjs.b.symbol,t.tokens.wbera);_berancersdk.NATIVE_ASSETS[r]=a}var _api3 = require('@berachain/graphql/pol/api');async function en({textSearch:e,chain:t,first:r,orderBy:a,orderDirection:o,skip:i,fetchPolicy:s,userAddress:n,blacklistedPoolIds:l,...d}={}){let{config:u}=_chunkZYXVUXFQcjs.a.call(void 0, d),f=await b("api",d).query({query:_api.GetPools,variables:{textSearch:e,chain:_nullishCoalesce(t, () => (u.bex.chainName)),first:r,orderBy:_nullishCoalesce(a, () => (_api3.GqlPoolOrderBy.TotalLiquidity)),orderDirection:_nullishCoalesce(o, () => (_api3.GqlPoolOrderDirection.Desc)),skip:i,userAddress:n,blacklistedPoolIds:l},fetchPolicy:s});return{pools:_nullishCoalesce(f.data.poolGetPools, () => ([])),count:_nullishCoalesce(f.data.count, () => (0))}}async function nn({poolId:e,account:t,...r}){let{config:a}=_chunkZYXVUXFQcjs.a.call(void 0, r),s=(await b("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 dn(e={}){let{config:t}=_chunkZYXVUXFQcjs.a.call(void 0, e);return(await b("api",e).query({query:_api.GetGlobalLiquidityAndSwapVolume,variables:{chain:t.bex.chainName}})).data}async function Xe({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 Pn({poolId:e,publicClient:t,...r}){let{config:a}=_chunkZYXVUXFQcjs.a.call(void 0, r),o=e.slice(0,42);if(!_viem.isAddress.call(void 0, o)||!_viem.isHex.call(void 0, e))throw new (0, _chunk53TSJM6Pcjs.h)({property:"poolId",value:e,expected:"Hex"});try{let[i,s,n,l,d,u,m,f,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]}),Xe({publicClient:t,poolAddress:o})]),p=Number(u),A=JSON.parse(d),h,P,y;if(m?[h,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"&&(P=await t.readContract({address:o,abi:_berancersdk.weightedPoolV4Abi_V2,functionName:"getNormalizedWeights"})),!m&&!f)throw new Error(`Pool ${o} is not a valid BEX pool`);return{name:i,address:o,id:e,poolTokens:[s[0],s[1].map(String),Number(s[2])],totalSupply:_viem.formatUnits.call(void 0, _nullishCoalesce(h, () => (n)),p),swapFee:_viem.formatEther.call(void 0, l),decimals:p,weights:_optionalChain([P, 'optionalAccess', _7 => _7.map, 'call', _8 => _8(I=>_viem.formatEther.call(void 0, I))]),version:A,factory:m?a.bex.factories.composableStable:a.bex.factories.weighted,type:m?_api3.GqlPoolType.Stable:_api3.GqlPoolType.Weighted,amplificationParameter:y?[Number(y[0]),y[1],Number(y[2])]:void 0,pausedState:g}}catch(i){throw _chunkQFLDL4UVcjs.a.call(void 0, {cause:i})}}async function Sn({poolId:e,typeInArray:t,...r}){let{config:a}=_chunkZYXVUXFQcjs.a.call(void 0, r);return(await b("api",r).query({query:_api.GetPoolEvents,variables:{poolId:e,typeIn:t,chain:a.bex.chainName}})).data}async function Fn({poolId:e,chain:t,...r}){if(!e||!_viem.isHex.call(void 0, e))throw new (0, _chunk53TSJM6Pcjs.h)({property:"poolId",value:e,expected:"hex string"});let a=b("api",r),{data:o}=await a.query({query:_api.GetPoolHistoricalData,variables:{poolId:e,chain:t}});return o.poolGetSnapshots}function Y({fieldOrType:e,value:t,required:r=!0,baseUrl:a,components:o}){if(!["bool","string"].includes(e)&&r&&(t==null||t===""))return"Required";if(e.startsWith("uint")||e.startsWith("int")){if(typeof t!="string")return"Invalid amount";try{let 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 typeof t!="string"||t.length===0?"Required":null;case"description":return typeof t!="string"||t.length===0?"Required":null;case"forumLink":{if(typeof t!="string"||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 typeof t!="string"||!_viem.isAddress.call(void 0, t,{strict:!0})?"Invalid address":null;case"hex":return typeof t!="string"||!_viem.isHex.call(void 0, t,{strict:!0})?"Invalid address":null;case"abi":if(typeof t!="string")return"Invalid ABI";try{JSON.parse(t)}catch (e3){return"Invalid ABI"}return null;case"action":return typeof t!="string"||!_viem.isAddress.call(void 0, t,{strict:!0})?"Invalid address":null;case"tuple":if(typeof t=="object"&&Array.isArray(o)){let s={};for(let n of o){let l=n,d=l.name;s[d]=Y({fieldOrType:l.type,value:t[d],components:l.components})}return Object.values(s).every(n=>n===null)?null:s}return null;case"tuple[]":if(Array.isArray(t)){let s=t.map(n=>Y({fieldOrType:"tuple",value:n,components:o}));return s.every(n=>n===null)?null:s}return null;case"logoURI":return t===void 0||t===""?null:typeof t!="string"||!URL.canParse(t)||new URL(t).protocol!=="https:"?"Must be HTTPS or IPFS":null;case"url":return t===void 0||t===""?null:typeof t!="string"||!URL.canParse(t)||new URL(t).protocol!=="https:"?"Must be HTTPS":null;default:return console.error(`Invalid field or type: ${e}`),null}}var _governance = require('@berachain/graphql/governance');var vr=!1,Qn= exports.o =[_governance.ProposalStatus.Active,_governance.ProposalStatus.PendingQueue,_governance.ProposalStatus.PendingExecution,_governance.ProposalStatus.Defeated,_governance.ProposalStatus.QuorumNotReached];function fe(e,t){let r=Date.now()/1e3;if(t!==void 0){if(e.status===_governance.ProposalStatus.CanceledByGuardian)return _governance.ProposalStatus.CanceledByGuardian;if(t===2)return Number(e.voteStartAt)<r?_governance.ProposalStatus.CanceledByUser:_governance.ProposalStatus.CanceledByGuardian;if(t===3)return e.pollResult?!e.quorum||BigInt(e.quorum)>BigInt(e.pollResult.totalTowardsQuorum)?_governance.ProposalStatus.QuorumNotReached:_governance.ProposalStatus.Defeated:_governance.ProposalStatus.QuorumNotReached;if(t===4)return _governance.ProposalStatus.PendingQueue;if(t===5)return Number(e.queueEnd)<Date.now()/1e3?_governance.ProposalStatus.PendingExecution:_governance.ProposalStatus.InQueue;if(t===6)return console.warn("Unexpected expired state on proposal id: ",e.id),_governance.ProposalStatus.Defeated}return e.status===_governance.ProposalStatus.InQueue&&Number(e.queueEnd)<Date.now()/1e3?_governance.ProposalStatus.PendingExecution:vr&&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 Mn({where:e,orderBy:t,orderDirection:r,offset:a=0,perPage:o=20,text:i,...s}){try{if(o>1e3)throw new Error("perPage must be less than 1000");let n=b("governance.subgraph",s),[l]=await Promise.all([i?n.query({query:_governance.SearchProposals,variables:{offset:a,limit:o,where:e,text:i}}):n.query({query:_governance.GetProposals,variables:{offset:a,limit:o,where:e,orderBy:t,orderDirection:r}})]);return l.data.proposals.map(d=>({...d,status:fe(d)}))}catch(n){throw console.error("getAllProposals:",n),n}}function Jn({proposal:e,currentTopic:t}){let r={};return r.title=Y({fieldOrType:"title",value:e.title}),r.description=Y({fieldOrType:"description",value:e.description}),r.forumLink=Y({fieldOrType:"forumLink",value:e.forumLink,baseUrl:t.forumLink}),r}async function zn({proposalId:e,...t}){let a=await b("governance.subgraph",t).query({query:_governance.GetProposal,variables:{id:e}});if(a.data.proposal)return{...a.data.proposal,status:fe(a.data.proposal)}}var _graymatter = require('gray-matter'); var _graymatter2 = _interopRequireDefault(_graymatter);function kr(e){let t=/#(?:([\w-]+)# )?(.+)\n([\s\S]*)/,r=e.match(t);if(r){let a=r[1]||null,o=r[2],i=r[3].replace(`
|
|
2
|
-
`,"<br />");return{type:a,title:o,content:i}}throw new Error("Invalid proposal body")}function nt(e){if(!e)return{isFrontMatter:!1,data:{title:"Loading..."},content:"",matter:"",language:"",orig:"",stringify:()=>""};let t=_nullishCoalesce(_optionalChain([e, 'optionalAccess', _17 => _17.description]), () => (""));if(_graymatter2.default.test(t))return{..._graymatter2.default.call(void 0, t),isFrontMatter:!0};try{let r=kr(t);return{isFrontMatter:!1,data:{title:r.title},content:r.content,matter:"",language:"",orig:t,stringify:()=>t}}catch (e4){return{isFrontMatter:!1,data:{title:_optionalChain([e, 'optionalAccess', _18 => _18.description, 'optionalAccess', _19 => _19.split, 'call', _20 => _20(`
|
|
3
|
-
`), 'access', _21 => _21[0], 'access', _22 => _22.slice, 'call', _23 => _23(0,100)])},content:t,matter:"",language:"",orig:t,stringify:()=>t}}}var _berachainGovernance = require('@berachain/abis/gov/berachainGovernance');async function ii(e){_chunkQFLDL4UVcjs.c.call(void 0, e.publicClient);let t;"tx"in e?t=e.tx:t=await e.publicClient.getTransactionReceipt({hash:e.txHash});let r=_optionalChain([t, 'optionalAccess', _24 => _24.logs])?_optionalChain([_viem.parseEventLogs.call(void 0, {abi:_berachainGovernance.berachainGovernanceAbi,logs:t.logs,eventName:"ProposalCreated"}), 'optionalAccess', _25 => _25.at, 'call', _26 => _26(0)]):void 0;if(!t||!r)return null;let a=await e.publicClient.getBlock({blockNumber:t.blockNumber}),o=nt({description:_optionalChain([r, 'optionalAccess', _27 => _27.args, 'access', _28 => _28.description])});return{id:String(r.args.proposalId),proposalId:String(_optionalChain([r, 'optionalAccess', _29 => _29.args, 'access', _30 => _30.proposalId])),createdAt:a.timestamp.toString(),title:o.data.title,createdAtBlock:a.timestamp.toString(),voteStartAt:String(_optionalChain([r, 'optionalAccess', _31 => _31.args, 'access', _32 => _32.voteStart])),voteEndAt:String(_optionalChain([r, 'optionalAccess', _33 => _33.args, 'access', _34 => _34.voteEnd])),proposer:_optionalChain([r, 'optionalAccess', _35 => _35.args, 'access', _36 => _36.proposer]),description:o.content,unverifiedForumLink:o.data.forumLink,pollResult:{for:"0",forVotersCount:0,forPercentage:"0",against:"0",againstVotersCount:0,againstPercentage:"0",abstain:"0",abstainVotersCount:0,abstainPercentage:"0",total:"0",totalVotersCount:0,totalTowardsQuorum:"0"},status:_governance.ProposalStatus.Pending,quorum:null,topics:o.data.topics,votes:[],executableCalls:_optionalChain([r, 'optionalAccess', _37 => _37.args, 'access', _38 => _38.targets, 'access', _39 => _39.map, 'call', _40 => _40((i,s)=>({__typename:"ExecutableCall",id:`${t.transactionHash}-${s}`,target:i,value:String(_optionalChain([r, 'optionalAccess', _41 => _41.args, 'access', _42 => _42.values, 'access', _43 => _43[s]])),calldata:_optionalChain([r, 'optionalAccess', _44 => _44.args, 'access', _45 => _45.calldatas, 'access', _46 => _46[s]])}))]),timelock:void 0}}async function ci({variables:e,...t}){return b("governance.subgraph",t).query({query:_governance.GetProposalVotes,variables:e})}var _honey = require('@berachain/graphql/honey');async function fi({days:e,...t}){return(await b("honey.subgraph",t).query({query:_honey.GetChartData,variables:{interval:_honey.Aggregation_Interval.Day,first:e}})).data}var _honeyFactory = require('@berachain/abis/honey/honeyFactory');async function Ai({client:e,collateralList:t,...r}){let{config:a}=_chunkZYXVUXFQcjs.a.call(void 0, r);try{let o=await e.readContract({address:a.honey.factory,abi:_honeyFactory.honeyFactoryAbi,functionName:"getWeights"});return t.reduce((s,n,l)=>Object.assign(s,{[n.address]:o[l]}),{})}catch(o){throw console.log(o),o}}async function it({address:e,publicClient:t,chainId:r}){try{_chunkQFLDL4UVcjs.c.call(void 0, t);let[a,o,i]=await Promise.all([t.readContract({address:e,abi:_viem.erc20Abi,functionName:"decimals"}),t.readContract({address:e,abi:_viem.erc20Abi,functionName:"name"}),t.readContract({address:e,abi:_viem.erc20Abi,functionName:"symbol"})]);return{address:e,decimals:a,name:o,symbol:i,chainId:r}}catch(a){throw _chunkQFLDL4UVcjs.a.call(void 0, {cause:a})}}async function ke({client:e,tokenData:t,preferredCollateralOrder:r,...a}){let{config:o}=_chunkZYXVUXFQcjs.a.call(void 0, a),[i,s]=await Promise.all([e.readContract({address:o.honey.factory,abi:_honeyFactory.honeyFactoryAbi,functionName:"numRegisteredAssets"}),e.readContract({address:o.honey.factory,abi:_honeyFactory.honeyFactoryAbi,functionName:"referenceCollateral"})]),n=[];for(let f=0;f<i;f++)n.push(e.readContract({address:o.honey.factory,abi:_honeyFactory.honeyFactoryAbi,functionName:"registeredAssets",args:[BigInt(f)]}));let l=await Promise.all(n),u=(await Promise.all(l.map(f=>{let g=_optionalChain([t, 'optionalAccess', _47 => _47.find, 'call', _48 => _48(p=>_chunkZYXVUXFQcjs.e.call(void 0, p,f))]);return g||it({address:f,chainId:o.chainId,publicClient:e})}))).filter(f=>!!f).sort((f,g)=>l.indexOf(f.address)-l.indexOf(g.address)).map((f,g)=>({...f,order:g}));if(_optionalChain([r, 'optionalAccess', _49 => _49.length])){let f=[];for(let g of r){let p=u.find(A=>_chunkZYXVUXFQcjs.e.call(void 0, A.address,g.address));p&&(f.push(p),u.splice(u.indexOf(p),1))}u.unshift(...f)}let m=u.find(f=>_chunkZYXVUXFQcjs.e.call(void 0, f,s));if(!u)throw new Error("Collateral tokens not found");if(!m)throw new Error("Reference collateral address not found");return{collaterals:u,referenceCollateral:m}}var _honeyFactoryReader = require('@berachain/abis/honey/honeyFactoryReader');async function lt({client:e,collateral:t,latestPrices:r,isPythWrapperEnabled:a,...o}){let{config:i}=_chunkZYXVUXFQcjs.a.call(void 0, o);try{let s=e.readContract({address:i.honey.factory,abi:_honeyFactory.honeyFactoryAbi,functionName:"isBadCollateralAsset",args:[t.address]}),n=e.readContract({address:i.honey.factory,abi:_honeyFactory.honeyFactoryAbi,functionName:"isPegged",args:[t.address]});if(a&&r){let u=r.prices.map(m=>_viem.parseUnits.call(void 0, m,18));n=e.readContract({address:i.honey.reader,abi:_honeyFactoryReader.honeyFactoryReaderAbi,functionName:"isPeggedWithPrice",args:[t.address,u[0]]})}let[l,d]=await Promise.all([s,n]);return{isBlacklisted:l,isDepegged:!d}}catch(s){throw console.log(s),s}}var _collateralVault = require('@berachain/abis/honey/collateralVault');async function re({client:e,asset:t,amount:r,...a}){let{config:o}=_chunkZYXVUXFQcjs.a.call(void 0, a);try{let[i,s]=await Promise.all([e.readContract({address:o.honey.factory,abi:_honeyFactory.honeyFactoryAbi,functionName:"vaults",args:[t]}),e.readContract({address:o.honey.factory,abi:_honeyFactory.honeyFactoryAbi,functionName:"collectedFees",args:[o.honey.factory,t]})]);return await e.readContract({address:i,abi:_collateralVault.collateralVaultAbi,functionName:"balanceOf",args:[o.honey.factory]})+_viem.parseEther.call(void 0, _nullishCoalesce(r, () => ("0")))-s}catch(i){throw console.log(i),i}}var Lr=_viem.parseEther.call(void 0, "1");async function $i({client:e,asset:t,amount:r,isMint:a,isPythWrapperEnabled:o,latestPrices:i,...s}){let{config:n}=_chunkZYXVUXFQcjs.a.call(void 0, s);try{let l=await e.readContract({address:n.honey.factory,abi:_honeyFactory.honeyFactoryAbi,functionName:"globalCap"});if(l>=Lr)return!1;let[{collaterals:d},u]=await Promise.all([ke({client:e}),Or({client:e,asset:t,amount:r,latestPrices:i,isPythWrapperEnabled:o})]);if(!u)return;for(let m in u)if((a&&_chunkZYXVUXFQcjs.e.call(void 0, d[m],t)||!a&&_chunkZYXVUXFQcjs.e.call(void 0, d[m],t))&&u[m]>l-_chunkKT6L4K4Kcjs.e)return!0;return!1}catch(l){throw console.log(l),l}}async function Or({client:e,asset:t,amount:r,latestPrices:a,isPythWrapperEnabled:o}){let{collaterals:i}=await ke({client:e}),s=0n,n=[];for(let l of i){let d=await lt({client:e,collateral:t,latestPrices:a,isPythWrapperEnabled:o});if(_optionalChain([d, 'optionalAccess', _50 => _50.isBlacklisted])||_optionalChain([d, 'optionalAccess', _51 => _51.isDepegged]))continue;let u=await re({client:e,asset:l.address,amount:_chunkZYXVUXFQcjs.e.call(void 0, l,t)?r:"0"});u&&(s+=u,n.push(u))}if(s===0n)return n;for(let l in i)n[l]=_viem.parseEther.call(void 0, n[l].toString())/s;return n}async function zi({...e}={}){return(await b("honey.subgraph",e).query({query:_honey.GetGlobalData})).data}var Hr=(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))(Hr||{});async function rs({client:e,collateral:t,collateralList:r,amount:a,method:o,latestPrices:i,isPythWrapperEnabled:s,...n}){let{config:l}=_chunkZYXVUXFQcjs.a.call(void 0, n);try{let d=o==="previewMintHoney"||o==="previewRedeemHoney"||o==="previewMintHoneyWithPrices"||o==="previewRedeemHoneyWithPrices",u=_viem.parseUnits.call(void 0, a,d?t.decimals:18),m,f=[t.address,u];if(s&&i){let p=i.prices.map(A=>_viem.parseUnits.call(void 0, A,18));f=[t.address,u,p]}if(d){let p=await e.readContract({address:l.honey.reader,abi:_honeyFactoryReader.honeyFactoryReaderAbi,functionName:o,args:f});m={collaterals:p[0],honey:p[1]}}else m={collaterals:await e.readContract({address:l.honey.reader,abi:_honeyFactoryReader.honeyFactoryReaderAbi,functionName:o,args:f}),honey:u};let g=r.reduce((p,A)=>{let h=A.order;return A.address===t.address&&m.collaterals[h]===BigInt(0)?Object.assign(p,{[A.address]:m.collaterals[0]}):Object.assign(p,{[A.address]:m.collaterals[h]})},{});return g[t.address]===BigInt(0)&&(g[t.address]=m.collaterals[0]),{collaterals:g,honey:m.honey}}catch(d){throw console.log("error",d),d}}async function ls({client:e,collateralList:t,honeyFactoryAddress:r,...a}){let{config:o}=_chunkZYXVUXFQcjs.a.call(void 0, a),i=_nullishCoalesce(r, () => (o.honey.factory));return await Promise.all(t.map(async n=>{let l=await e.readContract({address:o.honey.factory,abi:_honeyFactory.honeyFactoryAbi,functionName:"vaults",args:[n.address]}),[d,u,[m,f]]=await Promise.all([e.readContract({address:l,abi:_collateralVault.collateralVaultAbi,functionName:"balanceOf",args:[i]}),e.readContract({address:i,abi:_honeyFactory.honeyFactoryAbi,functionName:"collectedAssetFees",args:[n.address]}),e.readContract({address:l,abi:_collateralVault.collateralVaultAbi,functionName:"custodyInfo"})]),g=await e.readContract({address:l,abi:_collateralVault.collateralVaultAbi,functionName:"convertToAssets",args:[d-u]});return{...n,balance:{raw:g.toString(),formatted:_viem.formatUnits.call(void 0, g,n.decimals)},vault:m?f:l}}))}var _hermesclient = require('@pythnetwork/hermes-client');var jr="https://hermes.pyth.network";async function ft({priceFeedId:e}){let r=await new (0, _hermesclient.HermesClient)(jr,{}).getLatestPriceUpdates(e,{encoding:"hex",parsed:!0});return{calldata:r.binary.data.map(a=>`0x${a}`),prices:_nullishCoalesce(_optionalChain([r, 'access', _52 => _52.parsed, 'optionalAccess', _53 => _53.flatMap, 'call', _54 => _54(a=>_viem.formatUnits.call(void 0, BigInt(a.price.price),a.price.expo*-1))]), () => ([]))}}async function As({client:e,asset:t,amount:r,isMint:a,referenceCollateral:o,...i}){let{config:s}=_chunkZYXVUXFQcjs.a.call(void 0, i);if(t===o.address)return!1;try{let[n]=await Promise.all([e.readContract({address:s.honey.factory,abi:_honeyFactory.honeyFactoryAbi,functionName:"relativeCap",args:[t]})]),[l,d]=await Promise.all([re({client:e,asset:t,amount:a?r:void 0}),re({client:e,asset:o.address,amount:a?void 0:r})]);return d===0n?l!==0n:_viem.parseEther.call(void 0, (_nullishCoalesce(l, () => (0n))).toString())/(_nullishCoalesce(d, () => (0n)))>=n-_chunkKT6L4K4Kcjs.e}catch(n){throw console.log(n),n}}async function gt({client:e,priceFeedId:t,...r}){let{config:a}=_chunkZYXVUXFQcjs.a.call(void 0, r);try{return await e.readContract({address:a.external.pyth,abi:_chunkOUD27MU7cjs.a,functionName:"getUpdateFee",args:[t]})}catch(o){throw console.error("getPythUpdateFee",o),o}}var _honeyFactoryPythWrapper = require('@berachain/abis/honey/honeyFactoryPythWrapper');var xs=async({state:e,publicClient:t,priceFeedMap:r,collateralList:a,isPythWrapperEnabled:o,...i})=>{let{config:s}=_chunkZYXVUXFQcjs.a.call(void 0, i),n=_chunkZYXVUXFQcjs.d.call(void 0, i),{actionType:l,fromAmount:d,collaterals:u,isBasketModeEnabled:m}=e,f=o?s.honey.pythWrapper:s.honey.factory,g=a.map(p=>p.address);if(d[0]&&g.length){let p=l==="mint";if(o&&t&&r){let h=(await ft({priceFeedId:Object.values(r)})).calldata,P=0n;try{P=await gt({client:t,priceFeedId:h})}catch (e5){P=_chunkKT6L4K4Kcjs.k.call(void 0, u.length)}return({account:y})=>{let I=[h,_optionalChain([u, 'access', _55 => _55[0], 'optionalAccess', _56 => _56.address]),_viem.parseUnits.call(void 0, d[0],_nullishCoalesce((p?_optionalChain([u, 'access', _57 => _57[0], 'optionalAccess', _58 => _58.decimals]):_optionalChain([n, 'optionalAccess', _59 => _59.decimals])), () => (18))),y,!!m];return{address:f,abi:_honeyFactoryPythWrapper.honeyFactoryPythWrapperAbi,functionName:p?"mint":"redeem",params:I,value:P}}}return({account:A})=>{let h=[_optionalChain([u, 'access', _60 => _60[0], 'optionalAccess', _61 => _61.address]),_viem.parseUnits.call(void 0, d[0],_nullishCoalesce((p?_optionalChain([u, 'access', _62 => _62[0], 'optionalAccess', _63 => _63.decimals]):_optionalChain([n, 'optionalAccess', _64 => _64.decimals])), () => (18))),A,!!m];return{value:0n,address:f,abi:_honeyFactory.honeyFactoryAbi,functionName:p?"mint":"redeem",params:h}}}throw new Error("Something went wrong while creating the Honey swap payload")};async function Ds({client:e,isMint:t,collateralList:r,latestPrices:a,isPythWrapperEnabled:o,...i}){let{config:s}=_chunkZYXVUXFQcjs.a.call(void 0, i);if(o&&a){if(r.length===0)return;let l=a.prices.map(u=>_viem.parseUnits.call(void 0, u,18));return await e.readContract({address:s.honey.reader,abi:_honeyFactoryReader.honeyFactoryReaderAbi,functionName:"isBasketModeEnabledWithPrices",args:[t,l]})}return await e.readContract({address:s.honey.factory,abi:_honeyFactory.honeyFactoryAbi,functionName:"isBasketModeEnabled",args:[t]})}async function Ls({block:e,currentBlock:t,blockTime:r,publicClient:a}){if(_chunkQFLDL4UVcjs.b.call(void 0, e,"block"),_chunkQFLDL4UVcjs.c.call(void 0, a),t>e){let i=await a.getBlock({blockNumber:BigInt(e),includeTransactions:!1});return{timestamp:Number(i.timestamp)}}return{timestamp:_chunkKT6L4K4Kcjs.l.call(void 0, Date.now())+r*(Number(e)-Number(t))}}var _rewardVault = require('@berachain/abis/pol/rewards/rewardVault');var ra=(a=>(a.Duration="duration",a.TargetRate="targetRate",a.TargetApr="targetApr",a))(ra||{});async function Js(e,t){let[r,a,o,i,s,n]=await Promise.all([t.readContract({address:e,abi:_rewardVault.rewardVaultAbi,functionName:"rewardsDuration"}),t.readContract({address:e,abi:_rewardVault.rewardVaultAbi,functionName:"rewardVaultManager"}),t.readContract({address:e,abi:_rewardVault.rewardVaultAbi,functionName:"rewardRate"}),t.readContract({address:e,abi:_rewardVault.rewardVaultAbi,functionName:"periodFinish"}),t.readContract({address:e,abi:_rewardVault.rewardVaultAbi,functionName:"targetRewardsPerSecond"}),t.readContract({address:e,abi:_rewardVault.rewardVaultAbi,functionName:"minRewardDurationForTargetRate"})]),l=o*(i-BigInt(_chunkKT6L4K4Kcjs.l.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(i),availableRewards:_viem.formatUnits.call(void 0, l,18),minRewardDurationForTargetRate:Number(n),targetRewardsPerSecond:_viem.formatUnits.call(void 0, s,36)}}function ge(e,t,r){return e?r*t*_chunkKT6L4K4Kcjs.y.call(void 0, 1)/e:null}function aa(e,t,r){return r?e*r/(t*_chunkKT6L4K4Kcjs.y.call(void 0, 1)):0}function Ks({availableRewards:e,periodFinish:t,tvl:r,bgtPrice:a,MIN_REWARD_DURATION:o,MAX_REWARD_DURATION:i,...s}){let n=_chunkKT6L4K4Kcjs.l.call(void 0, Date.now());if(n>t)return{apr:0,duration:0,rewardRate:0,targetRate:null,periodFinish:0,mode:null};if(s.mode==="targetRate"||s.mode==="targetApr"){let m,{minRewardDurationForTargetRate:f,currentDuration:g}=s;if(s.mode==="targetRate"?m=s.rewardRate:m=aa(s.apr,a,r),m===0){let h=Math.min(g,i),P=e?e/h:0;return{apr:ge(r,a,P),duration:h,rewardRate:P,targetRate:null,periodFinish:h+n,mode:"duration"}}let p=f||o,A=e?e/m:0;if(A<p){let h=e?e/p:0;return{apr:ge(r,a,h),duration:p,rewardRate:h,targetRate:h.toString(),periodFinish:p+n,mode:null}}return{apr:ge(r,a,m),duration:A,rewardRate:m,targetRate:m.toString(),periodFinish:A+n,mode:null}}let{duration:l}=s,d=e/l;return{apr:ge(r,a,d),mode:null,targetRate:null,duration:l,rewardRate:d,periodFinish:l+n}}async function Zs({address:e,account:t,...r}){let{config:a}=_chunkZYXVUXFQcjs.a.call(void 0, r),o=`${a.staking}/vaults/${e}/earnings/${t}`;return _chunkKT6L4K4Kcjs.d.call(void 0, {url:o,type:"rest"})}async function be({filter:e,publicClient:t,...r}={}){let o=await b("api",r).query({query:_api3.GetVaults,variables:e}),i=await Promise.allSettled(o.data.polGetRewardVaults.vaults.map(async n=>{if(t)return Promise.allSettled(n.activeIncentives.map(l=>t.readContract({abi:_rewardVault.rewardVaultAbi,address:n.address,functionName:"incentives",args:[l.tokenAddress]})))})),s=o.data.polGetRewardVaults.vaults.map((n,l)=>{let d=0,u=n.activeIncentives.map((m,f)=>{let g=Number(m.remainingAmountUsd)&&Number(m.remainingAmount)?Number(m.remainingAmountUsd)/Number(m.remainingAmount):0,p=_optionalChain([i, 'access', _65 => _65[l], 'optionalAccess', _66 => _66.status])==="fulfilled"&&_optionalChain([i, 'access', _67 => _67[l], 'optionalAccess', _68 => _68.value, 'optionalAccess', _69 => _69[f], 'optionalAccess', _70 => _70.status])==="fulfilled"?_viem.formatUnits.call(void 0, BigInt(i[l].value[f].value[2]),m.token.decimals):m.remainingAmount;return d+=Number(p)*Number(g),{...m,remainingAmount:p}});return{...n,dynamicData:{...n.dynamicData,allTimeReceivedBGTAmount:_nullishCoalesce(_optionalChain([n, 'access', _71 => _71.dynamicData, 'optionalAccess', _72 => _72.allTimeReceivedBGTAmount]), () => ("0")),bgtCapturePercentage:_nullishCoalesce(_optionalChain([n, 'access', _73 => _73.dynamicData, 'optionalAccess', _74 => _74.bgtCapturePercentage]), () => ("0")),activeIncentivesValueUsd:d.toString(),activeIncentivesRateUsd:_nullishCoalesce(_optionalChain([n, 'access', _75 => _75.dynamicData, 'optionalAccess', _76 => _76.activeIncentivesRateUsd]), () => ("0")),bgtCapturePerBlock:_nullishCoalesce(_optionalChain([n, 'access', _77 => _77.dynamicData, 'optionalAccess', _78 => _78.bgtCapturePerBlock]), () => ("0"))},activeIncentives:u}});return{pagination:o.data.polGetRewardVaults.pagination,gaugeList:s}}async function yt(e={}){let{config:t}=_chunkZYXVUXFQcjs.a.call(void 0, e),a=await b("api",e).query({query:_api3.GlobalData,variables:{chain:t.bex.chainName}});return{...a.data.polGetGlobalInfo,top3EmittingValidators:a.data.top3EmittingValidators.validators,allValidatorsCount:a.data.allValidatorsCount.pagination.totalCount}}var _bgt = require('@berachain/abis/pol/bgt');async function At({publicClient:e,...t}){let{config:r}=_chunkZYXVUXFQcjs.a.call(void 0, t);_chunkQFLDL4UVcjs.c.call(void 0, e);try{let a=await e.readContract({address:r.tokens.bgt,abi:_bgt.bgtAbi,functionName:"totalBoosts",args:[]});return _viem.formatEther.call(void 0, a)}catch(a){throw console.log(a),a}}async function ht({publicClient:e,...t}){let{config:r}=_chunkZYXVUXFQcjs.a.call(void 0, t);_chunkQFLDL4UVcjs.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 wt(e){let{gaugeList:t}=await be({filter:{orderBy:_api3.GqlRewardVaultOrderBy.Apr,orderDirection:_api3.GqlRewardVaultOrderDirection.Desc,pageSize:e,where:{includeNonWhitelisted:!1}}});return t}async function kl(e){let[t,r,a,o]=await Promise.allSettled([yt(),wt(300),ht({publicClient:e}),At({publicClient:e})]);return t.status==="rejected"&&_chunkQFLDL4UVcjs.g.captureException(_chunkQFLDL4UVcjs.a.call(void 0, {cause:t.reason,level:"warning"})),r.status==="rejected"&&_chunkQFLDL4UVcjs.g.captureException(_chunkQFLDL4UVcjs.a.call(void 0, {cause:r.reason,level:"warning"})),a.status==="rejected"&&_chunkQFLDL4UVcjs.g.captureException(_chunkQFLDL4UVcjs.a.call(void 0, {cause:a.reason,level:"warning"})),o.status==="rejected"&&_chunkQFLDL4UVcjs.g.captureException(_chunkQFLDL4UVcjs.a.call(void 0, {cause:o.reason,level:"warning"})),{bgtTotalSupply:a.status==="fulfilled"?a.value:void 0,globalCuttingBoard:r.status==="fulfilled"?r.value:[],bgtTotalBoosts:o.status==="fulfilled"?o.value:void 0,...t.status==="fulfilled"?t.value:{}}}var _fees = require('@berachain/graphql/pol/fees');async function Ct({...e}){let t=b("pol.fees",e),{data:r}=await t.query({query:_fees.GetIncentiveFeeClaimStats});if(r.incentiveFeeClaims.length>0){let a=_optionalChain([r, 'optionalAccess', _79 => _79.incentiveFeeClaims, 'access', _80 => _80.reduce, 'call', _81 => _81((s,n)=>s+Number(n.payoutAmount),3e4)]),i=(_optionalChain([r, 'optionalAccess', _82 => _82.incentiveFeeClaims, 'access', _83 => _83.filter, 'call', _84 => _84(s=>Number(s.timestamp)/1e3>Date.now()-_chunkKT6L4K4Kcjs.r.call(void 0, 1))])).reduce((s,n)=>s+Number(n.payoutAmount),0);return{sumAllClaims:a,sumClaimsInLast24Hours:i}}return{sumAllClaims:0,sumClaimsInLast24Hours:0}}async function Il(e={}){let{config:t}=_chunkZYXVUXFQcjs.a.call(void 0, e);try{let a=await(await fetch(t.lists.rewardVaultList)).json();if(!a.protocols)throw new Error("Missing protocols in market list");return{marketList:a.protocols,marketDictionary:a.protocols.reduce((o,i)=>(o[i.name]=i,o),{})}}catch(r){throw console.error("Error fetching validator information",r),r}}async function Wl({account:e,validator:t,page:r=1,perPage:a=1e3,...o}){let{config:i}=_chunkZYXVUXFQcjs.a.call(void 0, o),s=await fetch(`${i.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 _chunkKT6L4K4Kcjs.b.call(void 0, s);throw new (0, _chunk53TSJM6Pcjs.f)({message:"Failed to fetch proofs on server",cause:{error:l,result:s,account:e,validator:t},reason:_optionalChain([l, 'optionalAccess', _85 => _85.reason])})}return await s.json()}var _wberaStakerVault = require('@berachain/abis/pol/wberaStakerVault');async function _l({address:e,publicClient:t}){return _chunkQFLDL4UVcjs.c.call(void 0, t),t.readContract({address:e,abi:_wberaStakerVault.wberaStakerVaultAbi,functionName:"previewRedeem",args:[_viem.parseUnits.call(void 0, "1",18)]}).then(r=>Number(_viem.formatUnits.call(void 0, r,18))).catch(()=>0)}async function zl({address:e,chainName:t,...r}){let{config:a}=_chunkZYXVUXFQcjs.a.call(void 0, r),o=_nullishCoalesce(t, () => (a.bex.chainName)),i=b("api",r),{data:s}=await i.query({query:_api3.GetRewardVault,variables:{vaultId:e,chain:o}});if(!_optionalChain([s, 'optionalAccess', _86 => _86.rewardVault]))throw new (0, _chunkDTBJO6VTcjs.b)({resource:"Reward vault",id:e,chainId:a.chainId});return s.rewardVault}function oe(e,t){return e.status==="success"?e.result:t}async function ou({address:e,stakingToken:t,publicClient:r}){let a=await r.readContract({address:e,abi:_rewardVault.rewardVaultAbi,functionName:"getWhitelistedTokens"}),i=a.findIndex(n=>_berancersdk.isSameAddress.call(void 0, t,n))!==-1?await r.readContract({address:e,abi:_rewardVault.rewardVaultAbi,functionName:"totalSupply"}):0n,s=await Promise.allSettled(a.map(async n=>{let[l,d,u,m,f]=await r.multicall({allowFailure:!0,contracts:[{address:e,abi:_rewardVault.rewardVaultAbi,functionName:"incentives",args:[n]},{address:n,abi:_viem.erc20Abi,functionName:"decimals"},{address:n,abi:_viem.erc20Abi,functionName:"name"},{address:n,abi:_viem.erc20Abi,functionName:"symbol"},{address:n,abi:_viem.erc20Abi,functionName:"balanceOf",args:[e]}]});if(l.status==="failure")throw new (0, _chunk53TSJM6Pcjs.f)({cause:l.error,message:"Failed to get incentive info. This is not possible.",level:"error",extra:{token:n,address:e}});let[g,p,A,h]=l.result,P=oe(d,18);return{token:n,manager:h,minIncentiveRate:_viem.formatUnits.call(void 0, g,P),incentiveRate:_viem.formatUnits.call(void 0, p,P),remainingAmount:_viem.formatUnits.call(void 0, A,P),name:oe(u,void 0),symbol:oe(m,void 0),decimals:P,pendingAmount:_berancersdk.isSameAddress.call(void 0, t,n)?_viem.formatUnits.call(void 0, oe(f,0n)-i-A,P):_viem.formatUnits.call(void 0, oe(f,0n)-A,P)}}));return s.forEach((n,l)=>{n.status==="rejected"&&_chunkQFLDL4UVcjs.g.captureException(new (0, _chunk53TSJM6Pcjs.f)({reason:n.reason,message:"Incorrect incentives token received.",level:"error",extra:{token:a[l],address:e,error:n.reason}}))}),s.map(n=>n.status==="fulfilled"?n.value:null).filter(n=>n!==null)}async function su({address:e,publicClient:t}){return await t.readContract({address:e,abi:_rewardVault.rewardVaultAbi,functionName:"stakeToken"})}function Ca(e){return e==="DAY"?_api3.GqlSWberaVaultMetadataResolution.OneDay:_api3.GqlSWberaVaultMetadataResolution.SevenDays}async function mu({window:e,...t}){let{config:r}=_chunkZYXVUXFQcjs.a.call(void 0, t),a=b("api",t);try{let o=await a.query({query:_api3.GetSWberaVaultMetadata,variables:{chain:r.bex.chainName,resolution:Ca(_nullishCoalesce(e, () => ("DAY")))}}),{apr:i}=o.data.polGetSWberaVaultMetadata;return Number(i)}catch(o){throw console.error("Failed to get SW Bera APR",o),o}}async function yu({chain:e,range:t=_api3.GqlVaultSnapshotDataRange.ThirtyDays,...r}={}){let{config:a}=_chunkZYXVUXFQcjs.a.call(void 0, r),o=b("api",r);try{return(await o.query({query:_api3.GetSWberaVaultSnapshots,variables:{chain:_nullishCoalesce(e, () => (a.bex.chainName)),range:t}})).data.polGetSWberaVaultSnapshots}catch(i){throw console.error("Failed to get SW Bera Snapshots",i),i}}async function ne({publicClient:e,address:t}){let r=await e.readContract({address:t,abi:_wberaStakerVault.wberaStakerVaultAbi,functionName:"WITHDRAWAL_COOLDOWN"});return Number(r)}async function Vu({address:e,underlyingAsset:t,publicClient:r,blockTime:a}){_chunkQFLDL4UVcjs.c.call(void 0, r);let o=26;try{let i=await r.getBlock({blockTag:"latest"}),s=Math.floor(o*60*60/a),n=i.number-BigInt(s),[l,d,u,m,f,g,p,A,h,P,y]=await Promise.all([r.readContract({address:e,abi:_viem.erc4626Abi,functionName:"totalAssets"}),r.readContract({address:e,abi:_viem.erc4626Abi,functionName:"totalSupply"}),r.readContract({address:e,abi:_viem.erc4626Abi,functionName:"previewRedeem",args:[10n**18n],blockNumber:i.number}),r.readContract({address:t,abi:_viem.erc20Abi,functionName:"balanceOf",args:[e]}),r.readContract({address:e,abi:_viem.erc4626Abi,functionName:"totalAssets",blockNumber:n}),r.readContract({address:e,abi:_viem.erc20Abi,functionName:"totalSupply",blockNumber:n}),r.readContract({address:e,abi:_viem.erc4626Abi,functionName:"previewRedeem",args:[10n**18n],blockNumber:n}),r.readContract({address:t,abi:_viem.erc20Abi,functionName:"balanceOf",args:[e],blockNumber:n}),r.readContract({address:t,abi:_viem.erc20Abi,functionName:"totalSupply"}),ne({publicClient:r,address:e}),Ct({})]),I=new (0, _chunkKT6L4K4Kcjs.a)(p.toString()),N=new (0, _chunkKT6L4K4Kcjs.a)(u.toString());return{address:e,current:{exchangeRate:N.toString(),totalSupply:new (0, _chunkKT6L4K4Kcjs.a)(d.toString()).dividedBy(1e18).toString(),totalAssets:new (0, _chunkKT6L4K4Kcjs.a)(l.toString()).dividedBy(1e18).toString(),tvl:new (0, _chunkKT6L4K4Kcjs.a)(m.toString()).dividedBy(1e18).toString()},previous:{exchangeRate:I.toString(),totalSupply:new (0, _chunkKT6L4K4Kcjs.a)(g.toString()).dividedBy(1e18).toString(),totalAssets:new (0, _chunkKT6L4K4Kcjs.a)(f.toString()).dividedBy(1e18).toString(),tvl:new (0, _chunkKT6L4K4Kcjs.a)(A.toString()).dividedBy(1e18).toString()},totalWBeraIssued:new (0, _chunkKT6L4K4Kcjs.a)(h.toString()).dividedBy(1e18).toString(),lockPeriod:P,totalBuyBacks:y.sumAllClaims,totalBuyBacksInLast24Hours:y.sumClaimsInLast24Hours}}catch(i){throw console.error("Failed to get SW Bera Vault Metadata",i),i}}function vt(e){let t=Date.now(),r=e*1e3-t;if(r<=0)return;let a=_chunkKT6L4K4Kcjs.l.call(void 0, r);return _chunkKT6L4K4Kcjs.B.call(void 0, a,!0,!0)}async function Fu({contractAddress:e,accountAddress:t,publicClient:r,version:a}){let o=[];function i(s,n){let[l,d,u]=s,m=l,f=Number(u)+Number(n),g=_chunkKT6L4K4Kcjs.l.call(void 0, Date.now()),p=f-g;if(m>0){let A=vt(p<=0?0:f);o.push({receiptTokenAddress:e,withdrawalAmount:m,timeRemaining:A})}}switch(a){case"V1":{let[s,n]=await Promise.all([r.readContract({address:e,abi:_wberaStakerVault.wberaStakerVaultAbi,functionName:"withdrawalRequests",args:[t]}),ne({publicClient:r,address:e})]);return i(s,n),o}case"V2":{let[s,n]=await Promise.all([r.readContract({address:e,abi:_wberaStakerVault.wberaStakerVaultAbi,functionName:"getERC721WithdrawalRequestIds",args:[t]}),ne({publicClient:r,address:e})]);if(_chunkZYXVUXFQcjs.e.call(void 0, e,"SWBERA")){let u=await r.readContract({address:e,abi:_wberaStakerVault.wberaStakerVaultAbi,functionName:"withdrawalRequests",args:[t]});i(u,n)}let d=(await Promise.all(s.map(async u=>{let m=await r.readContract({address:e,abi:_wberaStakerVault.wberaStakerVaultAbi,functionName:"getERC721WithdrawalRequest",args:[u]}),{assets:f,requestTime:g}=m;if(!f||!g)throw new Error("Invalid withdrawal request");let p=f,A=Number(g)+Number(n),h=_chunkKT6L4K4Kcjs.l.call(void 0, Date.now()),P=A-h;if(p>0){let y=vt(P<=0?0:A);return{withdrawalAmount:p,timeRemaining:y,withdrawalRequestId:u,receiptTokenAddress:e}}return null}))).filter(u=>u!==null);return o.push(...d),o}}}async function Du({vaultAddresses:e,publicClient:t}){_chunkQFLDL4UVcjs.c.call(void 0, t);try{let r=await Promise.all(e.map(async o=>t.readContract({address:o,abi:_wberaStakerVault.wberaStakerVaultAbi,functionName:"totalAssets"})));return e.reduce((o,i,s)=>(o[i]=r[s],o),{})}catch(r){throw console.error("Failed to get total staked amount",r),r}}async function Ou({account:e,...t}){let{config:r}=_chunkZYXVUXFQcjs.a.call(void 0, t),a=await fetch(`${r.pol.bribeBoostApi}/api/v1/wallets/${e.toLowerCase()}/rewards/aggregation`,{cache:"no-store"});if(!a.ok){let o=await _chunkKT6L4K4Kcjs.b.call(void 0, a);throw new (0, _chunk53TSJM6Pcjs.f)({message:"Failed to fetch incentives on server",cause:{error:o,result:a,account:e},reason:_optionalChain([o, 'optionalAccess', _87 => _87.error])})}return a.json()}async function Rt({account:e,vaultAddress:t,publicClient:r}){if(!r)throw new Error("Missing public client");if(!e)throw new Error("Missing user account");if(!t)throw new Error("Missing vault address");return r.readContract({address:t,abi:_rewardVault.rewardVaultAbi,functionName:"earned",args:[e]})}async function St({account:e,vaultAddress:t,publicClient:r}){_chunkQFLDL4UVcjs.c.call(void 0, r),_chunkQFLDL4UVcjs.d.call(void 0, e,"account"),_chunkQFLDL4UVcjs.d.call(void 0, t,"vaultAddress");try{let[a,o]=await Promise.all([r.readContract({address:t,abi:_rewardVault.rewardVaultAbi,functionName:"balanceOf",args:[e]}),r.readContract({address:t,abi:_rewardVault.rewardVaultAbi,functionName:"getTotalDelegateStaked",args:[e]})]);return{balance:a,delegated:o}}catch(a){throw console.log(a),a}}async function kt({vaultAddress:e,publicClient:t}){if(!t)throw new Error("Missing public client");if(!e)throw new Error("Missing vault address");try{return await t.readContract({address:e,abi:_rewardVault.rewardVaultAbi,functionName:"totalSupply",args:[]})}catch(r){throw console.log(r),r}}async function tc({account:e,vaultAddress:t,publicClient:r}){let[a,o,i]=await Promise.all([St({account:e,vaultAddress:t,publicClient:r}),Rt({account:e,vaultAddress:t,publicClient:r}),kt({vaultAddress:t,publicClient:r})]),s=a.balance-a.delegated,n=i>0n?Number(Number.parseFloat(_viem.formatEther.call(void 0, a.balance))/Number.parseFloat(_viem.formatEther.call(void 0, i))).toString():"0";return{balance:a.balance,delegatedBalance:a.delegated,withdrawableBalance:s,rewards:_viem.formatEther.call(void 0, o),percentage:n}}async function cc({account:e,publicClient:t,...r}){let{config:a}=_chunkZYXVUXFQcjs.a.call(void 0, r),s=await _asyncOptionalChain([(await b("api",r).query({query:_api3.GetUserVaults,variables:{userId:e,chain:a.bex.chainName}})), 'access', async _88 => _88.data, 'optionalAccess', async _89 => _89.userVaultDeposits, 'optionalAccess', async _90 => _90.deposits]);if(!s)return{totalBgtRewards:"0",vaults:[],totalStakedValue:0};let[n,l]=await Promise.all([t.multicall({allowFailure:!1,contracts:s.map(g=>({address:g.vaultAddress,abi:_rewardVault.rewardVaultAbi,functionName:"earned",args:[e]}))}),t.multicall({allowFailure:!1,contracts:s.map(g=>({address:g.vaultAddress,abi:_rewardVault.rewardVaultAbi,functionName:"balanceOf",args:[e]}))})]),{userVaults:d,total:u}=s.reduce((g,p,A)=>{let h=n[A],P=l[A];if(g.total+=h,!p.vault)return _chunkQFLDL4UVcjs.g.captureException(new (0, _chunk53TSJM6Pcjs.f)({message:"Deposit data from API is missing vault",level:"error",extra:{deposit:p}})),console.error("Deposit data from API is missing vault",p),g;if(h>0n||P>0n){let y=_optionalChain([p, 'access', _91 => _91.vault, 'access', _92 => _92.dynamicData, 'optionalAccess', _93 => _93.tvl])&&Number(p.vault.stakingTokenAmount)!==0?Number(_nullishCoalesce(_optionalChain([p, 'access', _94 => _94.vault, 'access', _95 => _95.dynamicData, 'optionalAccess', _96 => _96.tvl]), () => (0)))/Number(p.vault.stakingTokenAmount):null;g.userVaults.push({...p,vault:p.vault,unclaimedBgt:_viem.formatUnits.call(void 0, h,18),formattedBalance:_viem.formatUnits.call(void 0, P,p.vault.stakingToken.decimals),stakingTokenPrice:y})}return g},{userVaults:[],total:0n}),m=[...d].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:m.reduce((g,p)=>{let A=Number(_nullishCoalesce(_optionalChain([p, 'access', _97 => _97.vault, 'access', _98 => _98.dynamicData, 'optionalAccess', _99 => _99.tvl]), () => (0)));if(A===0)return g;let h=Number.parseFloat(p.vault.stakingTokenAmount),P=A/h;return g+P*Number(p.formattedBalance)},0),totalBgtRewards:_viem.formatUnits.call(void 0, u,18),vaults:m}}async function gc({vault:e,chain:t,...r}){let{config:a}=_chunkZYXVUXFQcjs.a.call(void 0, r);return(await b("api",r).query({query:_api3.GetVaultHistory,variables:{...r,vaultId:e,chain:_nullishCoalesce(t, () => (a.bex.chainName))}})).data.polGetRewardVaultSnapshots}async function hc({address:e,onlyActiveValidators:t,...r}){return await _asyncNullishCoalesce((await b("api",r).query({query:_api3.GetVaultValidators,variables:{vaultId:e,isActive:t}})).data.validators.validators, async () => ([]))}async function Sc({addressIn:e,...t}){let{config:r,chainId:a}=_chunkZYXVUXFQcjs.a.call(void 0, t),o=e.map(n=>n.toLowerCase()).filter((n,l,d)=>n&&d.indexOf(n)===l),i=b("api",t),{data:s}=await i.query({query:_api.GetTokenCurrentPrices,variables:{chains:[r.bex.chainName],addressIn:o}});return s.tokenGetCurrentPrices.reduce((n,l)=>{if(!l.price||!l.address)return n;let d=l.address;return n[_viem.getAddress.call(void 0, d)]={price:_chunkKT6L4K4Kcjs.D.call(void 0, l.price.toString()),updatedAt:l.updatedAt,chainId:a},n[d.toLowerCase()]={price:_chunkKT6L4K4Kcjs.D.call(void 0, l.price.toString()),updatedAt:l.updatedAt,chainId:a},_chunkZYXVUXFQcjs.e.call(void 0, d,"WBERA")&&(n[_viem.zeroAddress]={price:_chunkKT6L4K4Kcjs.D.call(void 0, l.price.toString()),updatedAt:l.updatedAt,chainId:a},n[r.tokens.bgt.toLowerCase()]={price:_chunkKT6L4K4Kcjs.D.call(void 0, l.price.toString()),updatedAt:l.updatedAt,chainId:a},n[r.tokens.bgt]={price:_chunkKT6L4K4Kcjs.D.call(void 0, l.price.toString()),updatedAt:l.updatedAt,chainId:a}),n},{})}var _core = require('@wagmi/core');async function Tc({items:e,account:t,config:r}){_chunkQFLDL4UVcjs.b.call(void 0, e,"items"),_chunkQFLDL4UVcjs.b.call(void 0, r,"config"),_chunkQFLDL4UVcjs.b.call(void 0, t,"account");let a=Object.groupBy(e,i=>i.token.chainId);return(await Promise.allSettled(Object.entries(a).map(async([i,s])=>{if(!s)return[];let n=_core.getPublicClient.call(void 0, r,{chainId:Number(i)});return _chunkQFLDL4UVcjs.c.call(void 0, n,`publicClient ${i}`),(await n.multicall({contracts:s.map(u=>({address:u.token.address,abi:_viem.erc20Abi,functionName:"allowance",args:[t,u.spender]}))})).map((u,m)=>{let f=s[m];return u.error?void 0:{token:f.token,spender:f.spender,amount:f.amount,allowance:{raw:u.result.toString(),formatted:_viem.formatUnits.call(void 0, u.result,f.token.decimals)},needsApproval:u.result<BigInt(f.amount.raw)}}).filter(u=>!!u)}))).flatMap(i=>i.status==="fulfilled"?i.value:void 0).filter(i=>!!i)}async function Gt({publicClient:e,abi:t,...r}){let a=[..._chunk53TSJM6Pcjs.c,..._nullishCoalesce(t, () => ([]))],o,i,s,n,l,d,u;if("txHash"in r){let m=await e.getTransaction({hash:r.txHash});if(!m.to)throw new (0, _chunk53TSJM6Pcjs.h)({property:"tx",value:m,expected:"Transaction",message:"Trying to get revert reason for a contract creation"});l=m.input,i=m.to,s=m.from,n=m.value,o=m.blockNumber}else if(o=r.blockNumber,i=r.to,s=r.account,n=r.value,"data"in r)l=r.data;else if("functionName"in r&&"args"in r)d=r.functionName,u=r.args;else if(!n)throw new (0, _chunk53TSJM6Pcjs.h)({property:"dataOrFunctionNameAndArgs",value:r,expected:"Hex or FunctionName and Args"});try{if(!a)if(l)await e.call({data:l,to:i,account:s,blockNumber:o,value:n});else throw new Error("Data is required if abi is not provided");if("functionName"in r&&"args"in r&&r.functionName)d=r.functionName,u=r.args;else if(l){if(!a){let m=await e.call({data:l,to:i,account:s,blockNumber:o,value:n});throw new Error(`Getting revert reason for successful simulation. Data: ${l}`,{cause:m})}try{let m=_viem.decodeFunctionData.call(void 0, {abi:a,data:l});d=m.functionName,u=m.args}catch(m){throw m instanceof _viem.AbiFunctionSignatureNotFoundError&&await e.call({data:l,to:i,account:s,blockNumber:o,value:n}),new Error("Data is required if abi is not provided")}}else throw new Error("No data or function name and args provided");throw a&&d?(await e.simulateContract({functionName:d,args:u,abi:a,address:i,account:s,blockNumber:o}),new (0, _chunkDTBJO6VTcjs.c)({message:"Getting revert reason for successful simulation",functionName:d,to:i,txHash:"txHash"in r?r.txHash:void 0,input:r})):new Error("No data or function name and args provided")}catch(m){if(m instanceof Error)return _chunk53TSJM6Pcjs.e.call(void 0, {error:m,abi:a,revertIfUnknown:!0});throw m}}var ja=_chunkKT6L4K4Kcjs.m.call(void 0, 1),xt=(e,t)=>e*(100n+BigInt(t))/100n;function Ee({nonceResult:e,onWarning:t}){if(e.status==="fulfilled"){if(e.value&&e.value>Number.MAX_SAFE_INTEGER){_optionalChain([t, 'optionalCall', _100 => _100(new (0, _chunk53TSJM6Pcjs.f)({message:"Nonce is too large. No nonce will be provided to avoid IntegerOutOfRangeError.",cause:e.value,level:"debug"}))]);return}return e.value}}function Ka(e=_internal.defaultChainId){return e===_internal.ChainId.BEPOLIA?process.env.NEXT_PUBLIC_80069_ANVIL_IMPERSONATE_ACCOUNT==="true":process.env.NEXT_PUBLIC_80094_ANVIL_IMPERSONATE_ACCOUNT==="true"}async function ed(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, _chunk53TSJM6Pcjs.h)({property:"contractName",value:e.contractName,expected:"ContractName",displayMessage:`[DEV] Contract name is required as it's not mapped in the devrel's contract mapping ${e.address}`,level:"error"});let{address:t,calls:r,value:a,gasLimit:o,onLoading:i,onSuccess:s,onWarning:n,onError:l,onSubmission:d,wagmiConfig:u,walletClient:m,account:f,txConfirmationTimeout:g=12e4,chainId:p=_internal.defaultChainId,impersonateAccount:A=Ka(p),errorsAbi:h=[],pollingInterval:P=ja,...y}=e;_optionalChain([i, 'optionalCall', _101 => _101(e)]);let I="data"in y?y.data:void 0,N=[..._chunk53TSJM6Pcjs.c,...h,..."abi"in y&&y.abi&&Array.isArray(y.abi)?y.abi:[]],T=m;if(!u){_optionalChain([l, 'optionalCall', _102 => _102(new (0, _chunk53TSJM6Pcjs.h)({property:"wagmiConfig",value:u,expected:"Config"}),e)]);return}if(!(_optionalChain([T, 'optionalAccess', _103 => _103.account, 'optionalAccess', _104 => _104.type])==="local"))try{await _core.switchChain.call(void 0, u,{chainId:p})}catch(R){let G=R;_optionalChain([l, 'optionalCall', _105 => _105(new (0, _chunk53TSJM6Pcjs.f)({cause:G,displayMessage:"There was an error switching to the chain."}),e)]);return}if(!T)try{T=await _core.getWalletClient.call(void 0, u,{chainId:p})}catch(R){_optionalChain([l, 'optionalCall', _106 => _106(new (0, _chunk53TSJM6Pcjs.f)({cause:R,displayMessage:"There was an error connecting to the wallet."}),e)]);return}if(!T){_optionalChain([l, 'optionalCall', _107 => _107(new (0, _chunk53TSJM6Pcjs.h)({displayMessage:"There was an error connecting to the wallet.",property:"walletClient",value:T,expected:"WalletClient"}),e)]);return}let q=f||T.account;if(!q){_optionalChain([l, 'optionalCall', _108 => _108(new (0, _chunk53TSJM6Pcjs.h)({property:"account",value:q,expected:"Account"}),e)]);return}let se=typeof q=="string"?q:q.address,W=_core.getPublicClient.call(void 0, u,{chainId:p});try{_chunkQFLDL4UVcjs.c.call(void 0, W)}catch(R){_optionalChain([l, 'optionalCall', _109 => _109(R,e)]);return}if(A){let R=_chunkKT6L4K4Kcjs.F.call(void 0, p);await R.impersonateAccount({address:se}),T=_viem.createWalletClient.call(void 0, {transport:_viem.http.call(void 0, R.transport.url),account:q,chain:T.chain})}let F,Z={calls:"calls"in y?y.calls:void 0,params:"params"in y?y.params:void 0,value:a,data:"data"in y?y.data:void 0};try{let R=W.getTransactionCount({address:se,blockTag:"latest"}).catch(()=>{}),G={account:se,to:t,address:t,chainId:p,value:a};if(r){let E=r.map(w=>{if("abi"in w&&Array.isArray(N)&&N.push(...w.abi),"data"in w)return{to:w.address,data:w.data,value:_nullishCoalesce(w.value, () => (0n))};if("abi"in w&&"functionName"in w){let L="params"in w?w.params:void 0;return{to:w.address,abi:w.abi,functionName:w.functionName,args:L,value:_nullishCoalesce(w.value, () => (0n))}}return{to:w.address,value:_nullishCoalesce(w.value, () => (0n))}});if(e.enableSimulateCalls){let w=await W.simulateCalls({calls:E,account:q}),L=w.results.findIndex(O=>O.status==="failure");if(L!==-1){if(w.block.number===null)throw new (0, _chunk53TSJM6Pcjs.h)({property:"blockNumber",value:w.block.number,expected:"bigint",message:"Block number is null"});let O=w.results[L],{reason:Ce}=O.data&&O.data!=="0x"?{reason:_chunk53TSJM6Pcjs.d.call(void 0, _viem.decodeErrorResult.call(void 0, {data:O.data,abi:N}))}:_chunk53TSJM6Pcjs.e.call(void 0, {error:O.error,revertIfUnknown:!1,abi:N});_optionalChain([l, 'optionalCall', _110 => _110(new (0, _chunkDTBJO6VTcjs.c)({cause:O.error,txHash:F,chainId:p,reason:Ce,abi:N,input:Z,blockNumber:w.block.number}),e)]);return}}if(process.env.NODE_ENV==="test")throw new (0, _chunk53TSJM6Pcjs.h)({displayMessage:"Batch calls are not supported in test environment",expected:"not test",property:"NODE_ENV",value:process.env.NODE_ENV,level:"fatal"});let Q=await T.sendCalls({calls:E,account:q,forceAtomic:!0});_optionalChain([d, 'optionalCall', _111 => _111({id:Q.id},e)]);let U=await T.waitForCallsStatus({id:Q.id,pollingInterval:P,timeout:g});if(U.status==="success"){let w=_optionalChain([U, 'access', _112 => _112.receipts, 'optionalAccess', _113 => _113[0]]);if(!w)throw new (0, _chunk53TSJM6Pcjs.f)({message:"Call status is success but no receipt was found",cause:U,level:"error",reason:"CALL_STATUS_SUCCESS_BUT_NO_RECEIPT"});return _optionalChain([s, 'optionalCall', _114 => _114(w,e)]),w}throw console.error("wallet_sendCalls: Call failed",U),new (0, _chunkDTBJO6VTcjs.c)({cause:U,level:"error",input:Z,txHash:F,abi:N,chainId:p})}if(I){let[E,Q,U]=await Promise.allSettled([W.call({...G,data:I}),_nullishCoalesce(o, () => (W.estimateGas({...G,data:I}))),R]);if(E.status==="rejected")throw E.reason;let w=Q.status==="fulfilled"?xt(Q.value,10):_chunkKT6L4K4Kcjs.j;F=await T.sendTransaction({data:I,to:t,account:q,gas:w,chainId:p,nonce:Ee({nonceResult:U,onWarning(L){_optionalChain([n, 'optionalCall', _115 => _115(L,e)])}}),value:a}),_optionalChain([d, 'optionalCall', _116 => _116({txHash:F},e)])}else if("abi"in y&&"functionName"in y){let{abi:E,functionName:Q}=y,U="params"in y?y.params:void 0,[w,L,O]=await Promise.allSettled([W.simulateContract({...G,abi:N,functionName:Q,args:U,account:q}),_nullishCoalesce(o, () => (W.estimateContractGas({...G,abi:N,functionName:Q,args:U}))),R]);if(w.status==="rejected")throw w.reason;let Ce=_nullishCoalesce(o, () => ((L.status==="fulfilled"?xt(L.value,10):_chunkKT6L4K4Kcjs.j)));F=await T.writeContract({...w.value.request,chainId:p,gas:Ce,nonce:Ee({nonceResult:O,onWarning(Qt){_optionalChain([n, 'optionalCall', _117 => _117(Qt,e)])}})}),_optionalChain([d, 'optionalCall', _118 => _118({txHash:F},e)])}else{let[E]=await Promise.allSettled([R]);F=await T.sendTransaction({chainId:p,to:t,value:a,account:q,nonce:Ee({nonceResult:E,onWarning(Q){_optionalChain([n, 'optionalCall', _119 => _119(Q,e)])}})}),_optionalChain([d, 'optionalCall', _120 => _120({txHash:F},e)])}process.env.NODE_ENV==="test"&&await _chunkKT6L4K4Kcjs.F.call(void 0, p).mine({blocks:1});let J=await W.waitForTransactionReceipt({hash:F,pollingInterval:P,timeout:g,confirmations:1});if(J.status==="success")_optionalChain([s, 'optionalCall', _121 => _121(J,e)]);else{let E=await Gt({publicClient:W,blockNumber:J.blockNumber,to:t,account:se,abi:N,args:"params"in y?y.params:void 0,functionName:"functionName"in y?y.functionName:void 0,value:a,data:I});process.env.NODE_ENV==="test"&&console.error("beraWriteContract: Revert reason",E),_optionalChain([l, 'optionalCall', _122 => _122(new (0, _chunkDTBJO6VTcjs.c)({reason:E.reason,txHash:F,receipt:J,to:t,functionName:"functionName"in y?y.functionName:void 0,input:Z,chainId:p,abi:N,blockNumber:J.blockNumber}),e)])}return J}catch(R){if(R instanceof _chunk53TSJM6Pcjs.f)_optionalChain([l, 'optionalCall', _123 => _123(R,e)]);else if(R instanceof Error){let G=_chunk53TSJM6Pcjs.e.call(void 0, {error:R,revertIfUnknown:!1,abi:N});if(G&&G.rootCause instanceof _viem.BaseError&&"url"in G.rootCause){_optionalChain([l, 'optionalCall', _124 => _124(new (0, _chunk53TSJM6Pcjs.g)({cause:G.rootCause,response:void 0,endpoint:{url:G.rootCause.url,type:"rpc"},statusCode:G.rootCause instanceof _viem.HttpRequestError?G.rootCause.status:void 0}),e)]);return}_optionalChain([l, 'optionalCall', _125 => _125(new (0, _chunkDTBJO6VTcjs.c)({cause:R,to:t,txHash:F,chainId:p,abi:N,functionName:"functionName"in y?y.functionName:void 0,input:Z}),e)])}else _optionalChain([l, 'optionalCall', _126 => _126(new (0, _chunkDTBJO6VTcjs.c)({cause:R,txHash:F,to:t,chainId:p,functionName:"functionName"in y?y.functionName:void 0,input:Z,abi:N}),e)])}}async function Ft({variables:e={},...t}={}){let{config:r}=_chunkZYXVUXFQcjs.a.call(void 0, t);return(await b("api",t).query({query:_api3.GetValidators,variables:{chain:r.bex.chainName,...e}})).data}async function ld({allocation:e}){let t=await be({filter:{where:{vaultAddressIn:e.weights.map(a=>a.receiver)}}}),r=_nullishCoalesce(_optionalChain([e, 'optionalAccess', _127 => _127.start, 'access', _128 => _128.blockNumber]), () => (0));return _optionalChain([e, 'optionalAccess', _129 => _129.weights, 'access', _130 => _130.map, 'call', _131 => _131(a=>({percentage:a.percentage,receiver:a.receiver,startBlock:r,receivingVault:_optionalChain([t, 'optionalAccess', _132 => _132.gaugeList, 'access', _133 => _133.find, 'call', _134 => _134(o=>_viem.isAddressEqual.call(void 0, o.address,a.receiver))])}))])}async function pd({id:e,...t}){let{config:r}=_chunkZYXVUXFQcjs.a.call(void 0, t);return(await b("api",t).query({query:_api3.GetValidator,variables:{id:e,chain:r.bex.chainName}})).data}var _subgraph = require('@berachain/graphql/pol/subgraph');async function yd({pubKey:e,first:t=1,...r}){let a=b("pol.subgraph",r);try{return(await a.query({query:_subgraph.GetValidatorBlockStats,variables:{pubKey:e,first:t}})).data}catch(o){throw console.error("GetValidatorBlockStats:",o),o}}var _beraChef = require('@berachain/abis/pol/rewards/beraChef');function X(e,t){return{start:{blockNumber:Number(e.startBlock),timestamp:e.startBlock!==0n?t:0},weights:e.weights.map(r=>({receiver:r.receiver,percentage:Number(r.percentageNumerator)/1e4}))}}function eo(e,t){return e.start.blockNumber===t.start.blockNumber&&e.weights.every((r,a)=>r.percentage===t.weights[a].percentage)}async function Cd({client:e,pubKey:t,...r}){let{config:a}=_chunkZYXVUXFQcjs.a.call(void 0, r);try{let[o,i]=await Promise.all([e.readContract({address:a.pol.beraChef,abi:_beraChef.beraChefAbi,functionName:"getActiveRewardAllocation",args:[t]}),e.readContract({address:a.pol.beraChef,abi:_beraChef.beraChefAbi,functionName:"getSetActiveRewardAllocation",args:[t]})]),[s,n]=await Promise.all([o.startBlock!==0n?e.getBlock({blockNumber:BigInt(o.startBlock)}):{timestamp:0},i.startBlock!==0n?e.getBlock({blockNumber:BigInt(i.startBlock)}):{timestamp:0}]),l=X(o,Number(s.timestamp)),d=X(i,Number(n.timestamp)),u=!1;return d.start.blockNumber===0?u=!0:u=!eo(d,l),{activeRewardAllocation:l,setRewardAllocation:d,isBaseline:u,isNeverSet:_optionalChain([d, 'optionalAccess', _135 => _135.start, 'access', _136 => _136.blockNumber])===0}}catch(o){throw console.log("getValidatorRewardAllocation:",o),o}}function Vd(e){return e.start.blockNumber===0}async function Sd({client:e,...t}){let{config:r}=_chunkZYXVUXFQcjs.a.call(void 0, t),a=await e.readContract({address:r.pol.beraChef,abi:_beraChef.beraChefAbi,functionName:"getDefaultRewardAllocation",args:[]});return X({...a,startBlock:0n},0)}async function Nd({client:e,valPubKey:t}){return 5614}async function It({account:e,pubkey:t,publicClient:r,...a}){let{config:o}=_chunkZYXVUXFQcjs.a.call(void 0, a);if(!e)throw new Error("account is required");if(!r)throw new Error("publicClient is required");let[i,s,n]=await Promise.all([r.readContract({address:o.tokens.bgt,abi:_bgt.bgtAbi,functionName:"boosted",args:[e,t]}),r.readContract({address:o.tokens.bgt,abi:_bgt.bgtAbi,functionName:"boostedQueue",args:[e,t]}),r.readContract({address:o.tokens.bgt,abi:_bgt.bgtAbi,functionName:"dropBoostQueue",args:[e,t]})]),l=i-n[1];return{pubkey:t,droppableBoostAmount:_viem.formatEther.call(void 0, l),activeBoostAmount:_viem.formatEther.call(void 0, i),queuedBoostAmount:_viem.formatEther.call(void 0, s[1]),queuedDropBoostAmount:_viem.formatEther.call(void 0, n[1]),queuedBoostStartBlock:s[0],queuedDropBoostStartBlock:n[0],hasPendingBoosts:s[1]>0n||n[1]>0n,hasActiveBoosts:i>0n,hasDroppableBoosts:l>0n}}async function qt({account:e,...t}){let{config:r}=_chunkZYXVUXFQcjs.a.call(void 0, t);return b("api",t).query({query:_api3.GetUserValidatorInformation,variables:{address:e.toLowerCase(),chain:r.bex.chainName}})}async function Hd({account:e,publicClient:t,chain:r,...a}){let{config:o}=_chunkZYXVUXFQcjs.a.call(void 0, a),i=_nullishCoalesce(r, () => (o.bex.chainName)),s=await qt({account:e}),[n,l]=await Promise.all([Ft({variables:{chain:i,where:{idIn:s.data.polGetValidatorBoosts.boosts.map(d=>d.validatorId)}}}),Promise.all(s.data.polGetValidatorBoosts.boosts.filter(d=>!!d.validator).map(d=>It({account:e,pubkey:d.validator.pubkey,publicClient:t})))]);return _optionalChain([n, 'optionalAccess', _137 => _137.validators, 'access', _138 => _138.validators, 'access', _139 => _139.map, 'call', _140 => _140(d=>{let u=l.find(f=>f.pubkey.toLowerCase()===d.pubkey.toLowerCase());if(!u)throw new Error("User deposited not found");let m=_viem.parseEther.call(void 0, _nullishCoalesce(_optionalChain([u, 'optionalAccess', _141 => _141.activeBoostAmount]), () => ("0")))-_viem.parseEther.call(void 0, _optionalChain([u, 'optionalAccess', _142 => _142.queuedDropBoostAmount]));return{...d,userBoosts:{pubkey:u.pubkey,activeBoostAmount:_optionalChain([u, 'optionalAccess', _143 => _143.activeBoostAmount]),queuedBoostAmount:_optionalChain([u, 'optionalAccess', _144 => _144.queuedBoostAmount]),queuedBoostStartBlock:Number(_optionalChain([u, 'optionalAccess', _145 => _145.queuedBoostStartBlock])),queuedDropBoostAmount:_optionalChain([u, 'optionalAccess', _146 => _146.queuedDropBoostAmount]),queuedDropBoostStartBlock:Number(_optionalChain([u, 'optionalAccess', _147 => _147.queuedDropBoostStartBlock])),droppableBoostAmount:_viem.formatEther.call(void 0, m),hasPendingBoosts:Number(_optionalChain([u, 'optionalAccess', _148 => _148.queuedBoostAmount]))>0||Number(_optionalChain([u, 'optionalAccess', _149 => _149.queuedDropBoostAmount]))>0,hasActiveBoosts:Number(_optionalChain([u, 'optionalAccess', _150 => _150.activeBoostAmount]))>0,hasDroppableBoosts:m>0n}}})])}var oo=[{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:_chunkKT6L4K4Kcjs.l.call(void 0, Date.now()-72e6)}]}},{staked:{amount:141514000000000000000n,formattedAmount:"1415.14"},validatorAddress:"0xa2705d6b27891f3f5651f26547d1bb79e256f95f249d1ad717cef087d77d38b037e5d6dbaa2538930fd0731ec9b02f3a",earning:.145,rewards:{amount:15414000000000000000n,formattedAmount:"154.14"},queueData:{unstake:[{amount:16159000000000000000n,formattedAmount:"161.59",timestamp:_chunkKT6L4K4Kcjs.l.call(void 0, Date.now()-72e6)}]}},{staked:{amount:141514000000000000000n,formattedAmount:"1415.14"},validatorAddress:"0xa2705d6b27891f3f5651f26547d1bb79e256f95f249d1ad717cef087d77d38b037e5d6dbaa2538930fd0731ec9b02f3a",earning:.145,rewards:{amount:15414000000000000000n,formattedAmount:"154.14"},queueData:{unstake:[{amount:16159000000000000000n,formattedAmount:"161.59",timestamp:_chunkKT6L4K4Kcjs.l.call(void 0, Date.now()-72e6)}]}},{staked:{amount:141514000000000000000n,formattedAmount:"1415.14"},validatorAddress:"0xa2705d6b27891f3f5651f26547d1bb79e256f95f249d1ad717cef087d77d38b037e5d6dbaa2538930fd0731ec9b02f3a",earning:.145,rewards:{amount:15414000000000000000n,formattedAmount:"154.14"},queueData:{unstake:[{amount:16159000000000000000n,formattedAmount:"161.59",timestamp:_chunkKT6L4K4Kcjs.l.call(void 0, Date.now()-72e6)}]}},{staked:{amount:141514000000000000000n,formattedAmount:"1415.14"},validatorAddress:"0xa2705d6b27891f3f5651f26547d1bb79e256f95f249d1ad717cef087d77d38b037e5d6dbaa2538930fd0731ec9b02f3a",earning:.145,rewards:{amount:15414000000000000000n,formattedAmount:"154.14"},queueData:{unstake:[{amount:16159000000000000000n,formattedAmount:"161.59",timestamp:_chunkKT6L4K4Kcjs.l.call(void 0, Date.now()-72e6)}]}},{staked:{amount:141514000000000000000n,formattedAmount:"1415.14"},validatorAddress:"0xa2705d6b27891f3f5651f26547d1bb79e256f95f249d1ad717cef087d77d38b037e5d6dbaa2538930fd0731ec9b02f3a",earning:.145,rewards:{amount:15414000000000000000n,formattedAmount:"154.14"},queueData:{unstake:[{amount:16159000000000000000n,formattedAmount:"161.59",timestamp:_chunkKT6L4K4Kcjs.l.call(void 0, Date.now()-72e6)}]}},{staked:{amount:241514000000000000000n,formattedAmount:"2415.14"},validatorAddress:"0xa4e4b63514f54d61da5197359f11ff1fc2930788ba2ffdd30c2fc059cbe0221020197bf9446b16ac347f36c7517a8686",earning:.145,rewards:{amount:15414000000000000000n,formattedAmount:"154.14"},queueData:{unstake:[{amount:1159000000000000000n,formattedAmount:"11.59",timestamp:_chunkKT6L4K4Kcjs.l.call(void 0, Date.now()-36e6)}]}},{validatorAddress:"0xb0511ec039591e98bd4e183ba70b85572214a7ad8ca1a43e96ad3495d3821054927bc542e5482ec9733e35b7ef0b1f03",earning:.045,staked:{amount:141514000000000000000n,formattedAmount:"1415.14"},rewards:{amount:15414000000000000000n,formattedAmount:"154.14"},queueData:{stake:[{amount:1159000000000000000n,formattedAmount:"11.59"}]}}];async function $d(e){return await new Promise(t=>setTimeout(t,2e3)),e==="0x4C368fFE3650379d6318C8d4630bc51f8Ad12bB6"?oo:[]}async function Xd({pubkey:e,dayRange:t,...r}){return(await b("pol.subgraph",r).query({query:_subgraph.GetValidatorAnalytics,variables:{pubKey:e,timestamp:_chunkKT6L4K4Kcjs.z.call(void 0, t).toString()}})).data}async function rm({client:e,pubKey:t,...r}){let{config:a}=_chunkZYXVUXFQcjs.a.call(void 0, r),o=await e.readContract({address:a.pol.beraChef,abi:_beraChef.beraChefAbi,functionName:"getValCommissionOnIncentiveTokens",args:[t]});return Number(_nullishCoalesce(o, () => (0n)))/1e4}var nm=(e,t,r)=>{if(!t||!e)return 0;let a=_chunkKT6L4K4Kcjs.y.call(void 0, 1)/r;return(t?a*(Number(_optionalChain([e, 'access', _151 => _151.dynamicData, 'optionalAccess', _152 => _152.stakedBeraAmount]))/t):0)*Number.parseFloat(_nullishCoalesce(_optionalChain([e, 'access', _153 => _153.dynamicData, 'optionalAccess', _154 => _154.rewardRate]), () => ("0")))};var _beaconDeposit = require('@berachain/abis/pol/beaconDeposit');async function um({client:e,pubKey:t,...r}){let{config:a}=_chunkZYXVUXFQcjs.a.call(void 0, r);try{return await e.readContract({address:a.depositContract,abi:_beaconDeposit.beaconDepositAbi,functionName:"getOperator",args:[t]})}catch(o){throw console.log("getValidatorOperatorAddress:",o),o}}async function pm({client:e,pubKey:t,...r}){let{config:a}=_chunkZYXVUXFQcjs.a.call(void 0, r),o=await e.readContract({address:a.pol.beraChef,abi:_beraChef.beraChefAbi,functionName:"getValQueuedCommissionOnIncentiveTokens",args:[t]});return{blockNumberLast:o.blockNumberLast,commissionRate:Number(o.commissionRate)/1e4}}async function ym({client:e,pubKey:t,...r}){let{config:a}=_chunkZYXVUXFQcjs.a.call(void 0, r);try{return await e.readContract({address:a.depositContract,abi:_beaconDeposit.beaconDepositAbi,functionName:"queuedOperator",args:[t]})}catch(o){throw console.log("getValidatorQueuedOperatorAddress:",o),o}}async function Pm({client:e,pubKey:t,...r}){let{config:a}=_chunkZYXVUXFQcjs.a.call(void 0, r);try{let o=await e.readContract({address:a.pol.beraChef,abi:_beraChef.beraChefAbi,functionName:"getQueuedRewardAllocation",args:[t]});return X(o,0)}catch(o){throw console.log("getValidatorQueuedRewardAllocation:",o),o}}exports.a = go; exports.b = me; exports.c = b; exports.d = _client.gql; exports.e = Ye; exports.f = _berancersdk.BalancerApi; exports.g = en; exports.h = nn; exports.i = dn; exports.j = Xe; exports.k = Pn; exports.l = Sn; exports.m = Fn; exports.n = Y; exports.o = Qn; exports.p = fe; exports.q = Mn; exports.r = Jn; exports.s = zn; exports.t = nt; exports.u = ii; exports.v = ci; exports.w = fi; exports.x = Ai; exports.y = it; exports.z = ke; exports.A = lt; exports.B = $i; exports.C = zi; exports.D = Hr; exports.E = rs; exports.F = ls; exports.G = ft; exports.H = As; exports.I = gt; exports.J = xs; exports.K = Ds; exports.L = Ls; exports.M = ra; exports.N = Js; exports.O = Ks; exports.P = Zs; exports.Q = be; exports.R = kl; exports.S = Ct; exports.T = Il; exports.U = Wl; exports.V = _l; exports.W = zl; exports.X = ou; exports.Y = su; exports.Z = mu; exports._ = yu; exports.$ = ne; exports.aa = Vu; exports.ba = Fu; exports.ca = Du; exports.da = Ou; exports.ea = Rt; exports.fa = tc; exports.ga = cc; exports.ha = gc; exports.ia = hc; exports.ja = Sc; exports.ka = Tc; exports.la = Ka; exports.ma = ed; exports.na = Ft; exports.oa = ld; exports.pa = pd; exports.qa = yd; exports.ra = X; exports.sa = eo; exports.ta = Cd; exports.ua = Vd; exports.va = Sd; exports.wa = Nd; exports.xa = It; exports.ya = Hd; exports.za = $d; exports.Aa = Xd; exports.Ba = rm; exports.Ca = nm; exports.Da = um; exports.Ea = pm; exports.Fa = ym; exports.Ga = Pm;
|
|
4
|
-
//# sourceMappingURL=chunk-MGGPHKA2.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/pong/coding/monobera/packages/berajs/dist/chunk-MGGPHKA2.cjs","../src/actions/bend/getConvertToAssets.ts","../src/actions/clients/BeraApolloClient.ts","../src/actions/governance/parseProposalBody.ts","../src/actions/governance/getProposalFromTx.ts"],"names":["getConvertToAssets","sharesAmount","vaultAddress","publicClient","convertToAssets","metaMorphoAbi","formatEther","BeraApolloClient","ApolloClient","options","queryName","getQueryName","endpoint","tags","executeQuery","res","BeraTracing"],"mappings":"AAAA,q+CAAyC,wDAAuJ,wDAAgE,wDAAyD,wDAAsE,wDAA+E,4BCAjZ,8EAEX,MAQlD,SAAsBA,EAAAA,CAAmB,CACvC,YAAA,CAAAC,CAAAA,CACA,YAAA,CAAAC,CAAAA,CACA,YAAA,CAAAC,CACF,CAAA,CAAyE,CACvE,IAAMC,CAAAA,CAAkB,MAAMD,CAAAA,CAAa,YAAA,CAAa,CACtD,OAAA,CAASD,CAAAA,CACT,GAAA,CAAKG,+BAAAA,CACL,YAAA,CAAc,iBAAA,CACd,IAAA,CAAM,CAACJ,CAAY,CACrB,CAAC,CAAA,CACD,MAAO,CAAE,GAAA,CAAKG,CAAAA,CAAiB,SAAA,CAAWE,+BAAAA,CAA2B,CAAE,CACzE,CCtBA,wCAMO,sDAEmB,IAYbC,EAAAA,CAAN,MAAA,QAA+BC,oBAAa,CAIvC,WAEV,CACEC,CAAAA,CAMA,CACA,KAAA,CAAMA,CAAO,CAAA,CACb,IAAA,CAAK,GAAA,CAAMA,CAAAA,CAAQ,GACrB,CAEA,MAAM,KAAA,CAKJA,CAAAA,CAIC,CACD,IAAMC,CAAAA,CAAYC,EAAAA,CAAaF,CAAAA,CAAQ,KAAK,CAAA,CACtCG,CAAAA,CAAW,CACf,GAAA,CAAK,IAAA,CAAK,GAAA,CACV,IAAA,CAAM,SACR,CAAA,CAEMC,CAAAA,CAAO,CACX,gBAAA,CAAkB,OAAA,CAClB,sBAAA,CAAwBD,CAAAA,CAAS,GAAA,CACjC,uBAAA,CAAyBA,CAAAA,CAAS,IAAA,CAClC,4BAAA,CAA8BF,CAChC,CAAA,CAEA,GAAI,CACF,IAAMI,CAAAA,CAAe,CAAA,CAAA,EACnB,KAAA,CAAM,KAAA,CACJL,CACF,CAAA,CAEIM,CAAAA,CAAM,MAAMC,mBAAAA,CAAY,SAAA,CAC5B,CACE,IAAA,CAAM,CAAA,QAAA,EAAWN,CAAS,CAAA,CAAA;ACIQ;ACwBxC","file":"/Users/pong/coding/monobera/packages/berajs/dist/chunk-MGGPHKA2.cjs","sourcesContent":[null,"import { type Address, formatEther, type PublicClient } from \"viem\";\n\nimport { metaMorphoV11Abi as metaMorphoAbi } from \"@berachain/abis/bend-metamorpho/metaMorphoV11\";\n\nexport interface GetConvertToAssetsProps {\n sharesAmount: bigint;\n vaultAddress: Address;\n publicClient: PublicClient;\n}\n\nexport async function getConvertToAssets({\n sharesAmount,\n vaultAddress,\n publicClient,\n}: GetConvertToAssetsProps): Promise<{ raw: bigint; formatted: string }> {\n const convertToAssets = await publicClient.readContract({\n address: vaultAddress,\n abi: metaMorphoAbi,\n functionName: \"convertToAssets\",\n args: [sharesAmount],\n });\n return { raw: convertToAssets, formatted: formatEther(convertToAssets) };\n}\n","import {\n ApolloClient,\n type DocumentNode,\n type ErrorLike,\n type OperationVariables,\n ServerError,\n} from \"@apollo/client\";\n\nimport { appConfig } from \"@berachain/config/internal\";\n\nimport { BeraError } from \"../../errors/BeraError\";\nimport { BeraTracing } from \"../../errors/BeraTracing\";\nimport { RequestError } from \"../../errors/RequestError\";\n\n/**\n * This is a wrapper around the ApolloClient that throws a BeraError if the query returns an error or no data.\n *\n * It's mostly a typescript helper that keeps data always defined since we use errorPolicy: \"none\" by default.\n * Such setting will throw an error if the query returns an error, rather than returning an object with undefined data and an error property.\n */\nexport class BeraApolloClient extends ApolloClient {\n /**\n * The URL of the endpoint. Used for error reporting only.\n */\n protected url: string;\n\n constructor(\n options: ApolloClient.Options & {\n /**\n * The URL of the endpoint. Used for error reporting only.\n */\n url: string;\n },\n ) {\n super(options);\n this.url = options.url;\n }\n\n async query<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n >(\n // We handle errors in our custom logic so we don't need to pass errorPolicy here\n options: Omit<ApolloClient.QueryOptions<TData, TVariables>, \"errorPolicy\">,\n ): Promise<{\n // Only data is returned and we're sure it's not undefined due to errorPolicy\n data: TData;\n }> {\n const queryName = getQueryName(options.query);\n const endpoint = {\n url: this.url,\n type: \"graphql\",\n } as const;\n\n const tags = {\n \"operation.type\": \"query\",\n \"operation.source.url\": endpoint.url,\n \"operation.source.type\": endpoint.type,\n \"operation.source.queryName\": queryName,\n };\n\n try {\n const executeQuery = () =>\n super.query<TData, TVariables>(\n options as ApolloClient.QueryOptions<TData, TVariables>,\n );\n\n const res = await BeraTracing.startSpan(\n {\n name: `GraphQL ${queryName}`,\n op: \"BeraApolloClient.query\",\n attributes: tags,\n },\n executeQuery,\n );\n\n if (res.error || res.data === undefined) {\n throw new BeraError({\n level: \"fatal\",\n tags,\n message:\n \"Bera Apollo Client: No data returned from query, but error should be thrown since errorPolicy is none\",\n });\n }\n\n return { data: res.data } as const;\n } catch (error) {\n !appConfig.env.isProduction &&\n console.error(\"BeraApolloClient error\", error);\n\n if (ServerError.is(error)) {\n throw new RequestError({\n // reason: error,\n response: error.response,\n cause: error,\n statusCode: error.statusCode,\n endpoint,\n tags,\n });\n }\n if (error instanceof TypeError) {\n throw new RequestError({\n level: \"fatal\",\n reason: \"TypeError\",\n response: error,\n cause: error,\n endpoint,\n tags,\n });\n }\n throw new RequestError({\n response: error as ErrorLike,\n tags,\n cause: error,\n endpoint,\n });\n }\n }\n}\n\nfunction getQueryName(queryDefinition: DocumentNode) {\n const likelyNode = queryDefinition.definitions.find(\n (def) => def.kind === (\"OperationDefinition\" as const),\n );\n\n return likelyNode?.name?.value;\n}\n","import graymatter from \"gray-matter\";\n\nimport type { ProposalSelectionFragment } from \"@berachain/graphql/governance\";\n\nexport type ParseProposalBodyResult = graymatter.GrayMatterFile<string> & {\n /** Whether the body uses YAML front-matter (true) or legacy heading format (false) */\n isFrontMatter: boolean;\n};\n\nfunction parseLegacyBody(s: string): {\n type: string | null;\n title: string;\n content: string;\n} {\n const pattern = /#(?:([\\w-]+)# )?(.+)\\n([\\s\\S]*)/;\n const match = s.match(pattern);\n\n if (match) {\n const type = match[1] || null;\n const title = match[2];\n const content = match[3].replace(\"\\n\", \"<br />\");\n return {\n type,\n title,\n content,\n };\n }\n\n throw new Error(\"Invalid proposal body\");\n}\n\n/**\n * Parses the body of a governance proposal into structured front-matter and content.\n * Supports YAML front-matter format and a legacy heading-based format.\n * Falls back to raw description on parse failure.\n */\nexport function parseProposalBody(\n proposal?: Pick<ProposalSelectionFragment, \"description\">,\n): ParseProposalBodyResult {\n if (!proposal) {\n return {\n isFrontMatter: false,\n data: { title: \"Loading...\" },\n content: \"\",\n matter: \"\",\n language: \"\",\n orig: \"\",\n stringify: () => \"\",\n };\n }\n\n const body = proposal?.description ?? \"\";\n\n if (graymatter.test(body)) {\n return { ...graymatter(body), isFrontMatter: true };\n }\n\n try {\n const legacyBody = parseLegacyBody(body);\n\n return {\n isFrontMatter: false,\n data: { title: legacyBody.title },\n content: legacyBody.content,\n matter: \"\",\n language: \"\",\n orig: body,\n stringify: () => body,\n };\n } catch {\n return {\n isFrontMatter: false,\n data: {\n title: proposal?.description?.split(\"\\n\")[0].slice(0, 100),\n },\n content: body,\n matter: \"\",\n language: \"\",\n orig: body,\n stringify: () => body,\n };\n }\n}\n","import {\n type Address,\n type PublicClient,\n parseEventLogs,\n type TransactionReceipt,\n} from \"viem\";\n\nimport { berachainGovernanceAbi as governanceAbi } from \"@berachain/abis/gov/berachainGovernance\";\n\nimport {\n type ExecutableCallSubsetFragment,\n ProposalStatus,\n type ProposalWithVotesFragment,\n} from \"@berachain/graphql/governance\";\n\nimport { assertPublicClient } from \"../../errors/assert\";\nimport { parseProposalBody } from \"./parseProposalBody\";\n\nexport type GetProposalFromTxArgs = {\n /** Viem public client used to fetch block and receipt data */\n publicClient: PublicClient | undefined;\n} & (\n | {\n /** Pre-fetched transaction receipt */\n tx: TransactionReceipt;\n }\n | {\n /** Transaction hash to look up */\n txHash: Address;\n }\n);\n\n/**\n * Reconstructs a `ProposalWithVotesFragment` from the `ProposalCreated` event\n * emitted in a given transaction. Returns `null` if the event is not found.\n */\nexport async function getProposalFromTx(\n args: GetProposalFromTxArgs,\n): Promise<ProposalWithVotesFragment | null> {\n assertPublicClient(args.publicClient);\n\n let tx: TransactionReceipt;\n\n if (\"tx\" in args) {\n tx = args.tx;\n } else {\n tx = await args.publicClient.getTransactionReceipt({ hash: args.txHash });\n }\n\n const creationEvent = tx?.logs\n ? parseEventLogs({\n abi: governanceAbi,\n logs: tx.logs,\n eventName: \"ProposalCreated\",\n })?.at(0)\n : undefined;\n\n if (!tx || !creationEvent) {\n return null;\n }\n\n const block = await args.publicClient.getBlock({\n blockNumber: tx.blockNumber,\n });\n const fm = parseProposalBody({\n description: creationEvent?.args.description as string,\n });\n\n return {\n id: String(creationEvent.args.proposalId),\n proposalId: String(creationEvent?.args.proposalId),\n createdAt: block.timestamp.toString(),\n title: fm.data.title,\n createdAtBlock: block.timestamp.toString(),\n voteStartAt: String(creationEvent?.args.voteStart),\n voteEndAt: String(creationEvent?.args.voteEnd),\n proposer: creationEvent?.args.proposer,\n description: fm.content,\n unverifiedForumLink: fm.data.forumLink,\n pollResult: {\n for: \"0\",\n forVotersCount: 0,\n forPercentage: \"0\",\n against: \"0\",\n againstVotersCount: 0,\n againstPercentage: \"0\",\n abstain: \"0\",\n abstainVotersCount: 0,\n abstainPercentage: \"0\",\n total: \"0\",\n totalVotersCount: 0,\n totalTowardsQuorum: \"0\",\n },\n status: ProposalStatus.Pending,\n quorum: null,\n topics: fm.data.topics,\n votes: [],\n executableCalls: creationEvent?.args.targets.map(\n (target, index) =>\n ({\n __typename: \"ExecutableCall\",\n id: `${tx.transactionHash}-${index}`,\n target: target as Address,\n value: String(creationEvent?.args.values[index]),\n calldata: creationEvent?.args.calldatas[index],\n }) satisfies ExecutableCallSubsetFragment,\n ),\n timelock: undefined,\n } satisfies ProposalWithVotesFragment;\n}\n"]}
|
package/dist/chunk-SSPFPAWX.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{f as n}from"./chunk-RSDCKN4Q.mjs";var r=[],c={startSpan(e,t){return r.length===0?t():r.reduceRight((o,a)=>()=>a(e,o),t)()},addSpanHandler(e){return r.push(e),()=>{let t=r.indexOf(e);t!==-1&&r.splice(t,1)}}};var i=class extends n{resource;id;constructor(t){super(t),this.name="NotFoundError",this.level=t.level??"info",this.message=`Resource ${t.resource} with id ${t.id} not found`,this.resource=t.resource,this.id=t.id}};var s=class extends n{txHash;receipt;to;callData;blockNumber=null;input;functionName;constructor(t){super(t),this.name="TransactionFailedError",this.txHash=t.txHash||null,this.receipt=t.receipt||null,this.to=t.to,this.functionName=t.functionName,this.blockNumber=t.blockNumber??null,this.input=t.input,this.receipt?this.message=`Transaction reverted on chain for reason: ${this.reason}`:this.txHash?this.message=`Transaction reverted after being broadcasted for reason: ${this.reason}`:this.message=`${this.reason}: ${this.message}`,this.tags={...this.tags,"operation.txn.status":t.txHash?"execution":"simulation",...t.tags},this.to&&(this.tags["operation.txn.to"]=this.to),this.functionName&&(this.tags["operation.txn.functionName"]=this.functionName)}};export{c as a,i as b,s as c};
|
|
2
|
-
//# sourceMappingURL=chunk-SSPFPAWX.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/errors/BeraTracing.ts","../src/errors/NotFoundError.ts","../src/errors/TransactionFailedError.ts"],"sourcesContent":["import type { Unsubscribe } from \"../utils/createEmitter\";\n\n/**\n * Span context passed to tracing handlers.\n * Compatible with Sentry's StartSpanOptions (name, op, attributes).\n */\nexport type SpanContext = {\n name: string;\n op: string;\n attributes: Record<string, string | number | boolean | undefined>;\n};\n\n/**\n * A function that wraps a callback in a tracing span.\n * Compatible with Sentry.startSpan's signature.\n */\ntype StartSpanFn = <T>(\n context: SpanContext,\n callback: () => Promise<T>,\n) => Promise<T>;\n\nconst _handlers: StartSpanFn[] = [];\n\n/**\n * A generic span-tracing module for berajs.\n *\n * Instead of calling Sentry.startSpan directly, berajs calls\n * `BeraTracing.startSpan()`. Consumer apps subscribe via `.on(\"span\", handler)`\n * and forward spans to their tracing provider (Sentry, Datadog, etc.).\n *\n * Multiple handlers are supported and chain in registration order:\n * the first registered handler is the outermost wrapper.\n *\n * @example\n * ```ts\n * // In berajs code:\n * import { BeraTracing } from \"./BeraTracing\";\n * const result = await BeraTracing.startSpan(\n * { name: \"GraphQL query\", op: \"graphql.query\", attributes: {} },\n * () => executeQuery(),\n * );\n *\n * // In app instrumentation:\n * import { BeraTracing } from \"@berachain/berajs/errors\";\n * BeraTracing.addSpanHandler(Sentry.startSpan);\n * ```\n */\nexport const BeraTracing = {\n /**\n * Execute a callback, wrapping it in all registered span handlers.\n *\n * Handlers chain so each wraps the next. First registered = outermost wrapper.\n * If no handlers are registered, the callback is executed directly.\n */\n startSpan<T>(context: SpanContext, callback: () => Promise<T>): Promise<T> {\n if (_handlers.length === 0) return callback();\n\n // Chain: h1(ctx, () => h2(ctx, () => h3(ctx, () => callback())))\n return _handlers.reduceRight<() => Promise<T>>(\n (next, handler) => () => handler(context, next),\n callback,\n )();\n },\n\n /**\n * Register a span tracing handler.\n *\n * @param _event - Must be \"span\". Exists for API consistency with BeraMonitoring.\n * @param handler - A StartSpanFn, e.g. Sentry.startSpan.\n * @returns An unsubscribe function to remove the handler.\n */\n addSpanHandler(handler: StartSpanFn): Unsubscribe {\n _handlers.push(handler);\n return () => {\n const idx = _handlers.indexOf(handler);\n if (idx !== -1) _handlers.splice(idx, 1);\n };\n },\n};\n","import { BeraError, type IBeraErrorArgs } from \"./BeraError\";\n\nexport interface INotFoundErrorArgs extends IBeraErrorArgs {\n resource: string;\n id: string;\n chainId: number;\n}\n\n/**\n * Error thrown when a resource is not found.\n */\nexport class NotFoundError extends BeraError {\n /**\n * The name of the resource that was not found.\n *\n * @example \"Reward vault\"\n */\n resource: string;\n /**\n * The id of the resource that was not found.\n *\n * @example \"0x1234567890123456789012345678901234567890\"\n */\n id: string;\n\n constructor(args: INotFoundErrorArgs) {\n super(args);\n this.name = \"NotFoundError\";\n this.level = args.level ?? \"info\";\n this.message = `Resource ${args.resource} with id ${args.id} not found`;\n this.resource = args.resource;\n this.id = args.id;\n }\n}\n","import type { Hex } from \"@berachain-foundation/berancer-sdk\";\nimport type { Address, TransactionReceipt } from \"viem\";\n\nimport { BeraError, type IBeraErrorArgs } from \"./BeraError\";\n\n/**\n * This error is generally thrown by beraWriteContract when a transaction or simulation fails.\n */\nexport class TransactionFailedError extends BeraError {\n /**\n * The hash of the transaction that failed.\n *\n * Null if the error is due to a simulation failure.\n */\n txHash: string | null;\n\n /**\n * The receipt of the transaction that failed.\n *\n * Null if the error is due to a simulation failure.\n */\n receipt: TransactionReceipt | null;\n\n /**\n * The address of the contract that was called.\n */\n to: Address | undefined;\n\n /**\n * The data of the transaction that failed.\n */\n callData: Hex | undefined;\n\n /**\n * The block number of the transaction that failed.\n */\n blockNumber: bigint | null = null;\n\n /**\n * The input of the transaction that failed.\n */\n input: object;\n\n /**\n * The function name of the transaction that failed.\n */\n functionName: string | undefined;\n\n constructor(\n args: IBeraErrorArgs & {\n txHash?: string;\n receipt?: TransactionReceipt;\n to?: Address;\n blockNumber?: bigint;\n functionName?: string;\n input: object;\n },\n ) {\n super(args);\n this.name = \"TransactionFailedError\";\n this.txHash = args.txHash || null;\n this.receipt = args.receipt || null;\n this.to = args.to;\n this.functionName = args.functionName;\n this.blockNumber = args.blockNumber ?? null;\n this.input = args.input;\n\n if (this.receipt) {\n // If we have a receipt, transaction reverted on chain\n this.message = `Transaction reverted on chain for reason: ${this.reason}`;\n } else if (this.txHash) {\n // If we have a tx hash, transaction reverted after being broadcasted but we never got a receipt\n // Might happen for network reasons\n this.message = `Transaction reverted after being broadcasted for reason: ${this.reason}`;\n } else {\n this.message = `${this.reason}: ${this.message}`;\n }\n\n this.tags = {\n ...this.tags,\n \"operation.txn.status\": args.txHash ? \"execution\" : \"simulation\",\n ...args.tags,\n };\n\n if (this.to) {\n this.tags[\"operation.txn.to\"] = this.to;\n }\n\n if (this.functionName) {\n this.tags[\"operation.txn.functionName\"] = this.functionName;\n }\n }\n}\n"],"mappings":"yCAqBA,IAAMA,EAA2B,CAAC,EA0BrBC,EAAc,CAOzB,UAAaC,EAAsBC,EAAwC,CACzE,OAAIH,EAAU,SAAW,EAAUG,EAAS,EAGrCH,EAAU,YACf,CAACI,EAAMC,IAAY,IAAMA,EAAQH,EAASE,CAAI,EAC9CD,CACF,EAAE,CACJ,EASA,eAAeE,EAAmC,CAChD,OAAAL,EAAU,KAAKK,CAAO,EACf,IAAM,CACX,IAAMC,EAAMN,EAAU,QAAQK,CAAO,EACjCC,IAAQ,IAAIN,EAAU,OAAOM,EAAK,CAAC,CACzC,CACF,CACF,ECnEO,IAAMC,EAAN,cAA4BC,CAAU,CAM3C,SAMA,GAEA,YAAYC,EAA0B,CACpC,MAAMA,CAAI,EACV,KAAK,KAAO,gBACZ,KAAK,MAAQA,EAAK,OAAS,OAC3B,KAAK,QAAU,YAAYA,EAAK,QAAQ,YAAYA,EAAK,EAAE,aAC3D,KAAK,SAAWA,EAAK,SACrB,KAAK,GAAKA,EAAK,EACjB,CACF,ECzBO,IAAMC,EAAN,cAAqCC,CAAU,CAMpD,OAOA,QAKA,GAKA,SAKA,YAA6B,KAK7B,MAKA,aAEA,YACEC,EAQA,CACA,MAAMA,CAAI,EACV,KAAK,KAAO,yBACZ,KAAK,OAASA,EAAK,QAAU,KAC7B,KAAK,QAAUA,EAAK,SAAW,KAC/B,KAAK,GAAKA,EAAK,GACf,KAAK,aAAeA,EAAK,aACzB,KAAK,YAAcA,EAAK,aAAe,KACvC,KAAK,MAAQA,EAAK,MAEd,KAAK,QAEP,KAAK,QAAU,6CAA6C,KAAK,MAAM,GAC9D,KAAK,OAGd,KAAK,QAAU,4DAA4D,KAAK,MAAM,GAEtF,KAAK,QAAU,GAAG,KAAK,MAAM,KAAK,KAAK,OAAO,GAGhD,KAAK,KAAO,CACV,GAAG,KAAK,KACR,uBAAwBA,EAAK,OAAS,YAAc,aACpD,GAAGA,EAAK,IACV,EAEI,KAAK,KACP,KAAK,KAAK,kBAAkB,EAAI,KAAK,IAGnC,KAAK,eACP,KAAK,KAAK,4BAA4B,EAAI,KAAK,aAEnD,CACF","names":["_handlers","BeraTracing","context","callback","next","handler","idx","NotFoundError","BeraError","args","TransactionFailedError","BeraError","args"]}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
GetGlobalData,
|
|
3
|
-
type GetGlobalDataQuery,
|
|
4
|
-
type GetGlobalDataQueryVariables,
|
|
5
|
-
} from "@berachain/graphql/honey";
|
|
6
|
-
|
|
7
|
-
import { getApolloClient } from "../clients/getApolloClient";
|
|
8
|
-
|
|
9
|
-
export async function getHoneyGlobalData({
|
|
10
|
-
...args
|
|
11
|
-
}: BeraJS.BaseFunctionArgs = {}) {
|
|
12
|
-
const client = getApolloClient("honey.subgraph", args);
|
|
13
|
-
const result = await client.query<
|
|
14
|
-
GetGlobalDataQuery,
|
|
15
|
-
GetGlobalDataQueryVariables
|
|
16
|
-
>({
|
|
17
|
-
query: GetGlobalData,
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
return result.data;
|
|
21
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import useSWR from "swr";
|
|
2
|
-
|
|
3
|
-
import BigNumber from "@berachain/utils/pkg/bignumber.js";
|
|
4
|
-
|
|
5
|
-
import { getHoneyGlobalData } from "../../actions/honey/getHoneyGlobalData";
|
|
6
|
-
|
|
7
|
-
export function useHoneyGlobalData() {
|
|
8
|
-
const response = useSWR(["useHoneyGlobalData"], () => getHoneyGlobalData());
|
|
9
|
-
|
|
10
|
-
const dailyVolume = response.data?.honeySnapshots.reduce(
|
|
11
|
-
(acc, curr) => new BigNumber(curr.totalVolume).plus(acc),
|
|
12
|
-
new BigNumber(0),
|
|
13
|
-
);
|
|
14
|
-
|
|
15
|
-
return {
|
|
16
|
-
...response,
|
|
17
|
-
data: {
|
|
18
|
-
...response.data,
|
|
19
|
-
dailyVolume,
|
|
20
|
-
},
|
|
21
|
-
refresh: () => response.mutate(),
|
|
22
|
-
};
|
|
23
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|