UNPKG

@stakewise/v3-sdk

Version:
1 lines 122 kB
"use strict";var e,t,s,a,r,n=require("ethers");exports.Network=void 0,(e=exports.Network||(exports.Network={}))[e.Mainnet=1]="Mainnet",e[e.Gnosis=100]="Gnosis",e[e.Hoodi=560048]="Hoodi",e[e.Chiado=10200]="Chiado",exports.VaultType=void 0,(t=exports.VaultType||(exports.VaultType={})).Default="Default",t.Private="Private",t.Blocklist="Blocklist",exports.AllocatorActionType=void 0,(s=exports.AllocatorActionType||(exports.AllocatorActionType={})).Redeemed="Redeemed",s.Migrated="Migrated",s.Deposited="Deposited",s.TransferIn="TransferIn",s.VaultCreated="VaultCreated",s.OsTokenMinted="OsTokenMinted",s.OsTokenBurned="OsTokenBurned",s.BoostDeposited="BoostDeposited",s.OsTokenRedeemed="OsTokenRedeemed",s.ExitQueueEntered="ExitQueueEntered",s.OsTokenLiquidated="OsTokenLiquidated",s.ExitedAssetsClaimed="ExitedAssetsClaimed",s.BoostExitedAssetsClaimed="BoostExitedAssetsClaimed",exports.OsTokenPositionHealth=void 0,(a=exports.OsTokenPositionHealth||(exports.OsTokenPositionHealth={}))[a.Unhealthy=0]="Unhealthy",a[a.Moderate=1]="Moderate",a[a.Healthy=2]="Healthy",a[a.Risky=3]="Risky",exports.BorrowStatus=void 0,(r=exports.BorrowStatus||(exports.BorrowStatus={}))[r.Healthy=0]="Healthy",r[r.Moderate=1]="Moderate",r[r.Risky=2]="Risky";var i=e=>{const t=e?.substring(e.indexOf(",")+1),s=t?atob(t).length/1e3/1e3:0;if(s>1){const e=s.toFixed(2);throw new Error(`The size of the image must be under 1 MB, current size is ${e} MB`)}},o=(e,t=!0)=>{Object.keys(e).forEach((s=>{if(!Array.isArray(e[s]))throw new Error(`The "${s}" argument must be an array`);if(t&&!e[s].length)throw new Error(`The "${s}" argument is an empty array`)}))},u=e=>{Object.keys(e).forEach((t=>{if("object"!=typeof e[t]||null===e[t])throw new Error(`The "${t}" argument must be an object`)}))},l=e=>{Object.keys(e).forEach((t=>{if("bigint"!=typeof e[t])throw new Error(`The "${t}" argument must be of type bigint`)}))},d=e=>{Object.keys(e).forEach((t=>{if("string"!=typeof e[t])throw new Error(`The "${t}" argument must be a string`)}))},c=e=>{Object.keys(e).forEach((t=>{if("number"!=typeof e[t])throw new Error(`The "${t}" argument must be a number`)}))},p=e=>{Object.keys(e).forEach((t=>{if("boolean"!=typeof e[t])throw new Error(`The "${t}" argument must be a boolean`)}))},y=e=>{Object.keys(e).forEach((t=>{if(!n.isAddress(e[t]))throw new Error(`The "${t}" argument must be a valid address`)}))},m=e=>{Object.keys(e).forEach((t=>{const{value:s,length:a}=e[t];if(s.length>a)throw new Error(`The value for "${t}" argument must be less than ${a} characters`)}))};const h=async e=>{const{provider:t,estimatedGas:s}=e;l({estimatedGas:s});const[a,r]=await Promise.all([t.getFeeData(),t.getBlock("latest")]),{gasPrice:n,maxFeePerGas:i,maxPriorityFeePerGas:o}=a,u=r?.baseFeePerGas||0n;return Boolean(i&&o)?s*(u+(o||0n)):s*n};var f={eth:"ETH",swise:"SWISE",osETH:"osETH",gno:"GNO",xdai:"xDAI",osGNO:"osGNO",sGNO:"sGNO",rGNO:"rGNO",rETH2:"rETH2",sETH2:"sETH2",ssv:"SSV",obol:"Obol"};const b={id:"mainnet",name:"Ethereum",chainId:exports.Network.Mainnet,hexadecimalChainId:"0x1",blockExplorerUrl:"https://etherscan.io",nativeCurrency:{symbol:f.eth,name:"Ethereum",decimals:18},isTestnet:!1},w={id:"hoodi",name:"Hoodi Testnet",chainId:exports.Network.Hoodi,hexadecimalChainId:"0x88bb0",blockExplorerUrl:"https://hoodi.etherscan.io",nativeCurrency:{symbol:f.eth,name:"Ethereum",decimals:18},isTestnet:!0};var v={sessionStorageNames:{moduleErrorUrl:"SW_sdk_gqlModuleErrorUrl"},blockchain:{gwei:1000000000n,amount1:1000000000000000000n,amount32:32000000000000000000n,maxUint256:115792089237316195423570985008687907853269984665640564039457584007913129639935n},tokens:f,chains:{mainnet:b,chiado:{id:"chiado",name:"Chiado Testnet",chainId:exports.Network.Chiado,hexadecimalChainId:"0x27D8",blockExplorerUrl:"https://gnosis-chiado.blockscout.com",nativeCurrency:{symbol:f.xdai,name:f.xdai,decimals:18},isTestnet:!0},gnosis:{id:"gnosis",name:"Gnosis Chain",chainId:exports.Network.Gnosis,hexadecimalChainId:"0x64",blockExplorerUrl:"https://gnosisscan.io",nativeCurrency:{symbol:f.xdai,name:f.xdai,decimals:18},isTestnet:!1},hoodi:w}},g={network:v.chains.mainnet,api:{backend:"https://mainnet-api-b.stakewise.io/graphql",subgraph:["https://graphs.stakewise.io/mainnet-a/subgraphs/name/stakewise/prod","https://graphs.stakewise.io/mainnet-b/subgraphs/name/stakewise/prod"]},pages:{beaconchain:"https://beaconcha.in"},addresses:{tokens:{ssv:"0x9d65ff81a3c488d585bbfb0bfe3c7707c7917f54",obol:"0x0b010000b7624eb9b3dfbc279673c76e9d29d5f7",swise:"0x48C3399719B582dD63eB5AADf12A40B4C3f52FA2",mintToken:"0xf1C9acDc66974dFB6dEcB12aA385b9cD01190E38",depositToken:n.ZeroAddress,v2RewardToken:"0x20BC832ca081b91433ff6c17f85701B6e92486c5",v2StakedToken:"0xFe2e637202056d30016725477c5da089Ab0A043A"},base:{keeper:"0x6B5815467da09DaA7DC83Db21c9239d98Bb487b5",multicall:"0xeefBa1e63905eF1D7ACbA5a8513c70307C1cE441",priceOracle:"0x8023518b2192FB5384DAdc596765B3dD1cdFe471",vaultsRegistry:"0x3a0008a588772446f6e656133C2D5029CC4FC20E",sharedMevEscrow:"0x48319f97E5Da1233c21c48b80097c0FB7a20Ff86",mintTokenConfigV1:"0xE8822246F8864DA92015813A39ae776087Fb1Cd5",mintTokenConfigV2:"0x287d1e2A8dE183A8bf8f2b09Fa1340fBd766eb59",depositDataRegistry:"0x75AB6DdCe07556639333d3Df1eaa684F5735223e",mintTokenController:"0x2A261e60FB14586B474C208b1B7AC6D0f5000306",rewardSplitterFactory:"0x256aF27ce81282A0491A5361172c1Db08f6cC5F8"},factories:{vault:"0xDF82E5D27E175618e5bC4581ee336F59AdabfBB2",erc20Vault:"0x978302cAcAdEDE5d503390E176e86F3889Df6Ce6",privateVault:"0x80fC05f62C35C1b1361bc8908ea0aF06C510D390",erc20PrivateVault:"0x291Fa5849215847081B475450cBE5De46CfD4fAE",blocklistVault:"0x8b6c2C9E09c6022780D164F3cFd882808b8bDBF0",erc20BlocklistVault:"0xe487EDDB7C5802e416385544f0A6a4426AF4AE87"},special:{stakeCalculator:"0x75c57bd50A3EB7291Da3429956D3566E0153A38f",leverageStrategy:"0x48cD14FDB8e72A03C8D952af081DBB127D6281fc"}},tokens:{ssv:v.tokens.ssv,obol:v.tokens.obol,swise:v.tokens.swise,mintToken:v.tokens.osETH,nativeToken:v.tokens.eth,depositToken:v.tokens.eth,v2RewardToken:v.tokens.rETH2,v2StakedToken:v.tokens.sETH2}},A={network:v.chains.gnosis,api:{backend:"https://gnosis-api-b.stakewise.io/graphql",subgraph:"https://graphs.stakewise.io/gnosis/subgraphs/name/stakewise/prod"},pages:{beaconchain:"https://gnosis.beaconcha.in"},addresses:{tokens:{ssv:n.ZeroAddress,obol:n.ZeroAddress,swise:"0xfdA94F056346d2320d4B5E468D6Ad099b2277746",mintToken:"0xF490c80aAE5f2616d3e3BDa2483E30C4CB21d1A0",depositToken:"0x9C58BAcC331c9aa871AFD802DB6379a98e80CEdb",v2RewardToken:"0x6aC78efae880282396a335CA2F79863A1e6831D4",v2StakedToken:"0xA4eF9Da5BA71Cc0D2e5E877a910A37eC43420445"},base:{keeper:"0xcAC0e3E35d3BA271cd2aaBE688ac9DB1898C26aa",multicall:"0xb5b692a88BDFc81ca69dcB1d924f59f0413A602a",priceOracle:"0x9B1b13afA6a57e54C03AD0428a4766C39707D272",vaultsRegistry:"0x7d014B3C6ee446563d4e0cB6fBD8C3D0419867cB",sharedMevEscrow:"0x30db0d10d3774e78f8cB214b9e8B72D4B402488a",mintTokenConfigV1:n.ZeroAddress,mintTokenConfigV2:"0xd6672fbE1D28877db598DC0ac2559A15745FC3ec",depositDataRegistry:"0x58e16621B5c0786D6667D2d54E28A20940269E16",mintTokenController:"0x60B2053d7f2a0bBa70fe6CDd88FB47b579B9179a",rewardSplitterFactory:"0x4c6306BA1821D88803e27A115433520F2d6276Fb"},factories:{vault:"0xC2ecc7620416bd65bfab7010B0db955a0e49579a",erc20Vault:"0xF6BBBc05536Ab198d4b7Ab74a93f8e2d4cAd5354",privateVault:"0x574952EC88b2fC271d0C0dB130794c86Ea42139A",erc20PrivateVault:"0x48319f97E5Da1233c21c48b80097c0FB7a20Ff86",blocklistVault:"0x78FbfBd1DD38892476Ac469325df36604A27F5B7",erc20BlocklistVault:"0x99E4300326867FE3f97864a74e500d19654c19e9"},special:{stakeCalculator:"0x2A415b65207049AC7481BF69ff9fc1B3Def97c9A",leverageStrategy:n.ZeroAddress}},tokens:{ssv:v.tokens.ssv,obol:v.tokens.obol,swise:v.tokens.swise,mintToken:v.tokens.osGNO,nativeToken:v.tokens.xdai,depositToken:v.tokens.gno,v2RewardToken:v.tokens.rGNO,v2StakedToken:v.tokens.sGNO}},T={network:v.chains.chiado,api:{backend:"https://chiado-api.stakewise.io/graphql",subgraph:"https://graphs.stakewise.io/chiado/subgraphs/name/stakewise/prod"},pages:{beaconchain:"https://beacon.chiadochain.net"},addresses:{tokens:{ssv:n.ZeroAddress,obol:n.ZeroAddress,swise:"0x460d2c6c3254809949a7d0b4646ce15F77e9c545",mintToken:"0x0b4F6bFB694790051E0203Db83edbB5888099556",depositToken:"0x19C653Da7c37c66208fbfbE8908A5051B57b4C70",v2RewardToken:"0x14c74b1C7eCa8362D4ABcCd71051Ce174d61a3D4",v2StakedToken:"0xee2493a42861a0a49f88525c44aab8126d04b761"},base:{keeper:"0x5f31eD13eBF81B67a9f9498F3d1D2Da553058988",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",priceOracle:"0x3CC131e6f6b975423151E5aaE8C466f4f81A8A4c",vaultsRegistry:"0x8750594B33516232e751C8B9C350a660cD5f1BB8",sharedMevEscrow:"0x453056f0bc4631abB15eEC656139f88067668E3E",mintTokenConfigV1:n.ZeroAddress,mintTokenConfigV2:"0x6D5957e075fd93b3B9F36Da93d7462F14387706d",depositDataRegistry:"0xFAce8504462AEb9BB6ae7Ecb206BD7B1EdF7956D",mintTokenController:"0x5518052f2d898f062ee59964004A560F24E2eE7d",rewardSplitterFactory:"0x6EE912596DCC3a8b7308164A65Af529a4276737C"},factories:{vault:"0x7fEFdC8375E84Adb0bE5e4Ba5E238c021F1858fE",erc20Vault:"0x7eA0D7dB6cf2402eB2B1A56bfBf6c2C88e6c8284",privateVault:"0xA67D62F8D26Fe034426B512A6621D4e8fc8B2aB3",erc20PrivateVault:"0x588102eB5E387956b8067F4948BcA34893E89597",blocklistVault:"0x2bC7968461c51525433b9DcE504a543b26a2f31B",erc20BlocklistVault:"0x35482A11E21157E0C706d1A562483902421dB341"},special:{stakeCalculator:"0x35704E96851d4aDd48475757b8f9bbb2390D9e4E",leverageStrategy:n.ZeroAddress}},tokens:{ssv:v.tokens.ssv,obol:v.tokens.obol,swise:v.tokens.swise,mintToken:v.tokens.osGNO,nativeToken:v.tokens.xdai,depositToken:v.tokens.gno,v2RewardToken:v.tokens.rGNO,v2StakedToken:v.tokens.sGNO}},k={network:v.chains.hoodi,api:{backend:"https://hoodi-api.stakewise.io/graphql",subgraph:"https://graphs.stakewise.io/hoodi/subgraphs/name/stakewise/prod"},pages:{beaconchain:"https://hoodi.beaconcha.in/"},addresses:{tokens:{ssv:n.ZeroAddress,obol:n.ZeroAddress,swise:"0x3c5634a5437A394353F49fe04FE5db11961c5c2D",mintToken:"0x7345fC8268459413beE9e9dd327f31283C65Ee7e",depositToken:n.ZeroAddress,v2RewardToken:"0x75c57bd50A3EB7291Da3429956D3566E0153A38f",v2StakedToken:"0xe684eD3e740A3fD62e86b6bD6a8865e070568BCa"},base:{keeper:"0xA7D1Ac9D6F32B404C75626874BA56f7654c1dC0f",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",priceOracle:"0xe8a222D887b468a71Ee8a27df4fa3b886A4B7BA1",vaultsRegistry:"0xf16fea93D3253A401C3f73B0De890C6586740B25",sharedMevEscrow:"0x51FD45BAEfB12f54766B5C4d639b360Ea50063bd",mintTokenConfigV1:n.ZeroAddress,mintTokenConfigV2:"0x5b817621EBE00622b9a71b53c942b392751c8197",depositDataRegistry:"0x93a3f880E07B27dacA6Ef2d3C23E77DBd6294487",mintTokenController:"0x140Fc69Eabd77fFF91d9852B612B2323256f7Ac1",rewardSplitterFactory:"0x80353898B72417AC5701a9809A9eF63F691BdE86"},factories:{vault:"0x508e82B5119CCfB923C387d62D2Ae7B56Df79906",erc20Vault:"0xBb1B3E55315967c65133A0e942d8EA7a992aF6C7",privateVault:"0x9115E176C3d034339036194c3EB7014Ef04A2e4b",erc20PrivateVault:"0x76D90928645065b4D4212eE62ce1ba8f90718f14",blocklistVault:"0xE2121568066C0a9d794bbB95D0Ade0ebd81cCaf9",erc20BlocklistVault:"0x4E3dE90882B3d10D067b8954909D4A4b0Bb390D0"},special:{stakeCalculator:"0xaE9A192Ed2030444eB9323C592F1b85801EA0Ec3",leverageStrategy:n.ZeroAddress}},tokens:{ssv:v.tokens.ssv,obol:v.tokens.obol,swise:v.tokens.swise,mintToken:v.tokens.osETH,nativeToken:v.tokens.eth,depositToken:v.tokens.eth,v2RewardToken:v.tokens.rETH2,v2StakedToken:v.tokens.sETH2}},S={[exports.Network.Mainnet]:g,[exports.Network.Hoodi]:k,[exports.Network.Gnosis]:A,[exports.Network.Chiado]:T};var x=e=>e.endpoints?.api||S[e.network].api.backend,E=e=>e.endpoints?.subgraph||S[e.network].api.subgraph,R=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,C=Math.ceil,D=Math.floor,B="[BigNumber Error] ",M=B+"Number primitive has more than 15 significant digits: ",P=1e14,N=14,O=9007199254740991,q=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],I=1e7,V=1e9;function F(e){var t=0|e;return e>0||e===t?t:t-1}function $(e){for(var t,s,a=1,r=e.length,n=e[0]+"";a<r;){for(t=e[a++]+"",s=N-t.length;s--;t="0"+t);n+=t}for(r=n.length;48===n.charCodeAt(--r););return n.slice(0,r+1||1)}function _(e,t){var s,a,r=e.c,n=t.c,i=e.s,o=t.s,u=e.e,l=t.e;if(!i||!o)return null;if(s=r&&!r[0],a=n&&!n[0],s||a)return s?a?0:-o:i;if(i!=o)return i;if(s=i<0,a=u==l,!r||!n)return a?0:!r^s?1:-1;if(!a)return u>l^s?1:-1;for(o=(u=r.length)<(l=n.length)?u:l,i=0;i<o;i++)if(r[i]!=n[i])return r[i]>n[i]^s?1:-1;return u==l?0:u>l^s?1:-1}function G(e,t,s,a){if(e<t||e>s||e!==D(e))throw Error(B+(a||"Argument")+("number"==typeof e?e<t||e>s?" out of range: ":" not an integer: ":" not a primitive number: ")+String(e))}function H(e){var t=e.c.length-1;return F(e.e/N)==t&&e.c[t]%2!=0}function U(e,t){return(e.length>1?e.charAt(0)+"."+e.slice(1):e)+(t<0?"e":"e+")+t}function L(e,t,s){var a,r;if(t<0){for(r=s+".";++t;r+=s);e=r+e}else if(++t>(a=e.length)){for(r=s,t-=a;--t;r+=s);e+=r}else t<a&&(e=e.slice(0,t)+"."+e.slice(t));return e}var Q=function e(t){var s,a,r,n,i,o,u,l,d,c,p=E.prototype={constructor:E,toString:null,valueOf:null},y=new E(1),m=20,h=4,f=-7,b=21,w=-1e7,v=1e7,g=!1,A=1,T=0,k={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},S="0123456789abcdefghijklmnopqrstuvwxyz",x=!0;function E(e,t){var s,n,i,o,u,l,d,c,p=this;if(!(p instanceof E))return new E(e,t);if(null==t){if(e&&!0===e._isBigNumber)return p.s=e.s,void(!e.c||e.e>v?p.c=p.e=null:e.e<w?p.c=[p.e=0]:(p.e=e.e,p.c=e.c.slice()));if((l="number"==typeof e)&&0*e==0){if(p.s=1/e<0?(e=-e,-1):1,e===~~e){for(o=0,u=e;u>=10;u/=10,o++);return void(o>v?p.c=p.e=null:(p.e=o,p.c=[e]))}c=String(e)}else{if(!R.test(c=String(e)))return r(p,c,l);p.s=45==c.charCodeAt(0)?(c=c.slice(1),-1):1}(o=c.indexOf("."))>-1&&(c=c.replace(".","")),(u=c.search(/e/i))>0?(o<0&&(o=u),o+=+c.slice(u+1),c=c.substring(0,u)):o<0&&(o=c.length)}else{if(G(t,2,S.length,"Base"),10==t&&x)return K(p=new E(e),m+p.e+1,h);if(c=String(e),l="number"==typeof e){if(0*e!=0)return r(p,c,l,t);if(p.s=1/e<0?(c=c.slice(1),-1):1,E.DEBUG&&c.replace(/^0\.0*|\./,"").length>15)throw Error(M+e)}else p.s=45===c.charCodeAt(0)?(c=c.slice(1),-1):1;for(s=S.slice(0,t),o=u=0,d=c.length;u<d;u++)if(s.indexOf(n=c.charAt(u))<0){if("."==n){if(u>o){o=d;continue}}else if(!i&&(c==c.toUpperCase()&&(c=c.toLowerCase())||c==c.toLowerCase()&&(c=c.toUpperCase()))){i=!0,u=-1,o=0;continue}return r(p,String(e),l,t)}l=!1,(o=(c=a(c,t,10,p.s)).indexOf("."))>-1?c=c.replace(".",""):o=c.length}for(u=0;48===c.charCodeAt(u);u++);for(d=c.length;48===c.charCodeAt(--d););if(c=c.slice(u,++d)){if(d-=u,l&&E.DEBUG&&d>15&&(e>O||e!==D(e)))throw Error(M+p.s*e);if((o=o-u-1)>v)p.c=p.e=null;else if(o<w)p.c=[p.e=0];else{if(p.e=o,p.c=[],u=(o+1)%N,o<0&&(u+=N),u<d){for(u&&p.c.push(+c.slice(0,u)),d-=N;u<d;)p.c.push(+c.slice(u,u+=N));u=N-(c=c.slice(u)).length}else u-=d;for(;u--;c+="0");p.c.push(+c)}}else p.c=[p.e=0]}function Q(e,t,s,a){var r,n,i,o,u;if(null==s?s=h:G(s,0,8),!e.c)return e.toString();if(r=e.c[0],i=e.e,null==t)u=$(e.c),u=1==a||2==a&&(i<=f||i>=b)?U(u,i):L(u,i,"0");else if(n=(e=K(new E(e),t,s)).e,o=(u=$(e.c)).length,1==a||2==a&&(t<=n||n<=f)){for(;o<t;u+="0",o++);u=U(u,n)}else if(t-=i,u=L(u,n,"0"),n+1>o){if(--t>0)for(u+=".";t--;u+="0");}else if((t+=n-o)>0)for(n+1==o&&(u+=".");t--;u+="0");return e.s<0&&r?"-"+u:u}function j(e,t){for(var s,a,r=1,n=new E(e[0]);r<e.length;r++)(!(a=new E(e[r])).s||(s=_(n,a))===t||0===s&&n.s===t)&&(n=a);return n}function z(e,t,s){for(var a=1,r=t.length;!t[--r];t.pop());for(r=t[0];r>=10;r/=10,a++);return(s=a+s*N-1)>v?e.c=e.e=null:s<w?e.c=[e.e=0]:(e.e=s,e.c=t),e}function K(e,t,s,a){var r,n,i,o,u,l,d,c=e.c,p=q;if(c){e:{for(r=1,o=c[0];o>=10;o/=10,r++);if((n=t-r)<0)n+=N,i=t,u=c[l=0],d=D(u/p[r-i-1]%10);else if((l=C((n+1)/N))>=c.length){if(!a)break e;for(;c.length<=l;c.push(0));u=d=0,r=1,i=(n%=N)-N+1}else{for(u=o=c[l],r=1;o>=10;o/=10,r++);d=(i=(n%=N)-N+r)<0?0:D(u/p[r-i-1]%10)}if(a=a||t<0||null!=c[l+1]||(i<0?u:u%p[r-i-1]),a=s<4?(d||a)&&(0==s||s==(e.s<0?3:2)):d>5||5==d&&(4==s||a||6==s&&(n>0?i>0?u/p[r-i]:0:c[l-1])%10&1||s==(e.s<0?8:7)),t<1||!c[0])return c.length=0,a?(t-=e.e+1,c[0]=p[(N-t%N)%N],e.e=-t||0):c[0]=e.e=0,e;if(0==n?(c.length=l,o=1,l--):(c.length=l+1,o=p[N-n],c[l]=i>0?D(u/p[r-i]%p[i])*o:0),a)for(;;){if(0==l){for(n=1,i=c[0];i>=10;i/=10,n++);for(i=c[0]+=o,o=1;i>=10;i/=10,o++);n!=o&&(e.e++,c[0]==P&&(c[0]=1));break}if(c[l]+=o,c[l]!=P)break;c[l--]=0,o=1}for(n=c.length;0===c[--n];c.pop());}e.e>v?e.c=e.e=null:e.e<w&&(e.c=[e.e=0])}return e}function W(e){var t,s=e.e;return null===s?e.toString():(t=$(e.c),t=s<=f||s>=b?U(t,s):L(t,s,"0"),e.s<0?"-"+t:t)}return E.clone=e,E.ROUND_UP=0,E.ROUND_DOWN=1,E.ROUND_CEIL=2,E.ROUND_FLOOR=3,E.ROUND_HALF_UP=4,E.ROUND_HALF_DOWN=5,E.ROUND_HALF_EVEN=6,E.ROUND_HALF_CEIL=7,E.ROUND_HALF_FLOOR=8,E.EUCLID=9,E.config=E.set=function(e){var t,s;if(null!=e){if("object"!=typeof e)throw Error(B+"Object expected: "+e);if(e.hasOwnProperty(t="DECIMAL_PLACES")&&(G(s=e[t],0,V,t),m=s),e.hasOwnProperty(t="ROUNDING_MODE")&&(G(s=e[t],0,8,t),h=s),e.hasOwnProperty(t="EXPONENTIAL_AT")&&((s=e[t])&&s.pop?(G(s[0],-1e9,0,t),G(s[1],0,V,t),f=s[0],b=s[1]):(G(s,-1e9,V,t),f=-(b=s<0?-s:s))),e.hasOwnProperty(t="RANGE"))if((s=e[t])&&s.pop)G(s[0],-1e9,-1,t),G(s[1],1,V,t),w=s[0],v=s[1];else{if(G(s,-1e9,V,t),!s)throw Error(B+t+" cannot be zero: "+s);w=-(v=s<0?-s:s)}if(e.hasOwnProperty(t="CRYPTO")){if((s=e[t])!==!!s)throw Error(B+t+" not true or false: "+s);if(s){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw g=!s,Error(B+"crypto unavailable");g=s}else g=s}if(e.hasOwnProperty(t="MODULO_MODE")&&(G(s=e[t],0,9,t),A=s),e.hasOwnProperty(t="POW_PRECISION")&&(G(s=e[t],0,V,t),T=s),e.hasOwnProperty(t="FORMAT")){if("object"!=typeof(s=e[t]))throw Error(B+t+" not an object: "+s);k=s}if(e.hasOwnProperty(t="ALPHABET")){if("string"!=typeof(s=e[t])||/^.?$|[+\-.\s]|(.).*\1/.test(s))throw Error(B+t+" invalid: "+s);x="0123456789"==s.slice(0,10),S=s}}return{DECIMAL_PLACES:m,ROUNDING_MODE:h,EXPONENTIAL_AT:[f,b],RANGE:[w,v],CRYPTO:g,MODULO_MODE:A,POW_PRECISION:T,FORMAT:k,ALPHABET:S}},E.isBigNumber=function(e){if(!e||!0!==e._isBigNumber)return!1;if(!E.DEBUG)return!0;var t,s,a=e.c,r=e.e,n=e.s;e:if("[object Array]"=={}.toString.call(a)){if((1===n||-1===n)&&r>=-1e9&&r<=V&&r===D(r)){if(0===a[0]){if(0===r&&1===a.length)return!0;break e}if((t=(r+1)%N)<1&&(t+=N),String(a[0]).length==t){for(t=0;t<a.length;t++)if((s=a[t])<0||s>=P||s!==D(s))break e;if(0!==s)return!0}}}else if(null===a&&null===r&&(null===n||1===n||-1===n))return!0;throw Error(B+"Invalid BigNumber: "+e)},E.maximum=E.max=function(){return j(arguments,-1)},E.minimum=E.min=function(){return j(arguments,1)},E.random=(n=9007199254740992,i=Math.random()*n&2097151?function(){return D(Math.random()*n)}:function(){return 8388608*(1073741824*Math.random()|0)+(8388608*Math.random()|0)},function(e){var t,s,a,r,n,o=0,u=[],l=new E(y);if(null==e?e=m:G(e,0,V),r=C(e/N),g)if(crypto.getRandomValues){for(t=crypto.getRandomValues(new Uint32Array(r*=2));o<r;)(n=131072*t[o]+(t[o+1]>>>11))>=9e15?(s=crypto.getRandomValues(new Uint32Array(2)),t[o]=s[0],t[o+1]=s[1]):(u.push(n%1e14),o+=2);o=r/2}else{if(!crypto.randomBytes)throw g=!1,Error(B+"crypto unavailable");for(t=crypto.randomBytes(r*=7);o<r;)(n=281474976710656*(31&t[o])+1099511627776*t[o+1]+4294967296*t[o+2]+16777216*t[o+3]+(t[o+4]<<16)+(t[o+5]<<8)+t[o+6])>=9e15?crypto.randomBytes(7).copy(t,o):(u.push(n%1e14),o+=7);o=r/7}if(!g)for(;o<r;)(n=i())<9e15&&(u[o++]=n%1e14);for(r=u[--o],e%=N,r&&e&&(n=q[N-e],u[o]=D(r/n)*n);0===u[o];u.pop(),o--);if(o<0)u=[a=0];else{for(a=-1;0===u[0];u.splice(0,1),a-=N);for(o=1,n=u[0];n>=10;n/=10,o++);o<N&&(a-=N-o)}return l.e=a,l.c=u,l}),E.sum=function(){for(var e=1,t=arguments,s=new E(t[0]);e<t.length;)s=s.plus(t[e++]);return s},a=function(){var e="0123456789";function t(e,t,s,a){for(var r,n,i=[0],o=0,u=e.length;o<u;){for(n=i.length;n--;i[n]*=t);for(i[0]+=a.indexOf(e.charAt(o++)),r=0;r<i.length;r++)i[r]>s-1&&(null==i[r+1]&&(i[r+1]=0),i[r+1]+=i[r]/s|0,i[r]%=s)}return i.reverse()}return function(a,r,n,i,o){var u,l,d,c,p,y,f,b,w=a.indexOf("."),v=m,g=h;for(w>=0&&(c=T,T=0,a=a.replace(".",""),y=(b=new E(r)).pow(a.length-w),T=c,b.c=t(L($(y.c),y.e,"0"),10,n,e),b.e=b.c.length),d=c=(f=t(a,r,n,o?(u=S,e):(u=e,S))).length;0==f[--c];f.pop());if(!f[0])return u.charAt(0);if(w<0?--d:(y.c=f,y.e=d,y.s=i,f=(y=s(y,b,v,g,n)).c,p=y.r,d=y.e),w=f[l=d+v+1],c=n/2,p=p||l<0||null!=f[l+1],p=g<4?(null!=w||p)&&(0==g||g==(y.s<0?3:2)):w>c||w==c&&(4==g||p||6==g&&1&f[l-1]||g==(y.s<0?8:7)),l<1||!f[0])a=p?L(u.charAt(1),-v,u.charAt(0)):u.charAt(0);else{if(f.length=l,p)for(--n;++f[--l]>n;)f[l]=0,l||(++d,f=[1].concat(f));for(c=f.length;!f[--c];);for(w=0,a="";w<=c;a+=u.charAt(f[w++]));a=L(a,d,u.charAt(0))}return a}}(),s=function(){function e(e,t,s){var a,r,n,i,o=0,u=e.length,l=t%I,d=t/I|0;for(e=e.slice();u--;)o=((r=l*(n=e[u]%I)+(a=d*n+(i=e[u]/I|0)*l)%I*I+o)/s|0)+(a/I|0)+d*i,e[u]=r%s;return o&&(e=[o].concat(e)),e}function t(e,t,s,a){var r,n;if(s!=a)n=s>a?1:-1;else for(r=n=0;r<s;r++)if(e[r]!=t[r]){n=e[r]>t[r]?1:-1;break}return n}function s(e,t,s,a){for(var r=0;s--;)e[s]-=r,r=e[s]<t[s]?1:0,e[s]=r*a+e[s]-t[s];for(;!e[0]&&e.length>1;e.splice(0,1));}return function(a,r,n,i,o){var u,l,d,c,p,y,m,h,f,b,w,v,g,A,T,k,S,x=a.s==r.s?1:-1,R=a.c,C=r.c;if(!(R&&R[0]&&C&&C[0]))return new E(a.s&&r.s&&(R?!C||R[0]!=C[0]:C)?R&&0==R[0]||!C?0*x:x/0:NaN);for(f=(h=new E(x)).c=[],x=n+(l=a.e-r.e)+1,o||(o=P,l=F(a.e/N)-F(r.e/N),x=x/N|0),d=0;C[d]==(R[d]||0);d++);if(C[d]>(R[d]||0)&&l--,x<0)f.push(1),c=!0;else{for(A=R.length,k=C.length,d=0,x+=2,(p=D(o/(C[0]+1)))>1&&(C=e(C,p,o),R=e(R,p,o),k=C.length,A=R.length),g=k,w=(b=R.slice(0,k)).length;w<k;b[w++]=0);S=C.slice(),S=[0].concat(S),T=C[0],C[1]>=o/2&&T++;do{if(p=0,(u=t(C,b,k,w))<0){if(v=b[0],k!=w&&(v=v*o+(b[1]||0)),(p=D(v/T))>1)for(p>=o&&(p=o-1),m=(y=e(C,p,o)).length,w=b.length;1==t(y,b,m,w);)p--,s(y,k<m?S:C,m,o),m=y.length,u=1;else 0==p&&(u=p=1),m=(y=C.slice()).length;if(m<w&&(y=[0].concat(y)),s(b,y,w,o),w=b.length,-1==u)for(;t(C,b,k,w)<1;)p++,s(b,k<w?S:C,w,o),w=b.length}else 0===u&&(p++,b=[0]);f[d++]=p,b[0]?b[w++]=R[g]||0:(b=[R[g]],w=1)}while((g++<A||null!=b[0])&&x--);c=null!=b[0],f[0]||f.splice(0,1)}if(o==P){for(d=1,x=f[0];x>=10;x/=10,d++);K(h,n+(h.e=d+l*N-1)+1,i,c)}else h.e=l,h.r=+c;return h}}(),o=/^(-?)0([xbo])(?=\w[\w.]*$)/i,u=/^([^.]+)\.$/,l=/^\.([^.]+)$/,d=/^-?(Infinity|NaN)$/,c=/^\s*\+(?=[\w.])|^\s+|\s+$/g,r=function(e,t,s,a){var r,n=s?t:t.replace(c,"");if(d.test(n))e.s=isNaN(n)?null:n<0?-1:1;else{if(!s&&(n=n.replace(o,(function(e,t,s){return r="x"==(s=s.toLowerCase())?16:"b"==s?2:8,a&&a!=r?e:t})),a&&(r=a,n=n.replace(u,"$1").replace(l,"0.$1")),t!=n))return new E(n,r);if(E.DEBUG)throw Error(B+"Not a"+(a?" base "+a:"")+" number: "+t);e.s=null}e.c=e.e=null},p.absoluteValue=p.abs=function(){var e=new E(this);return e.s<0&&(e.s=1),e},p.comparedTo=function(e,t){return _(this,new E(e,t))},p.decimalPlaces=p.dp=function(e,t){var s,a,r,n=this;if(null!=e)return G(e,0,V),null==t?t=h:G(t,0,8),K(new E(n),e+n.e+1,t);if(!(s=n.c))return null;if(a=((r=s.length-1)-F(this.e/N))*N,r=s[r])for(;r%10==0;r/=10,a--);return a<0&&(a=0),a},p.dividedBy=p.div=function(e,t){return s(this,new E(e,t),m,h)},p.dividedToIntegerBy=p.idiv=function(e,t){return s(this,new E(e,t),0,1)},p.exponentiatedBy=p.pow=function(e,t){var s,a,r,n,i,o,u,l,d=this;if((e=new E(e)).c&&!e.isInteger())throw Error(B+"Exponent not an integer: "+W(e));if(null!=t&&(t=new E(t)),i=e.e>14,!d.c||!d.c[0]||1==d.c[0]&&!d.e&&1==d.c.length||!e.c||!e.c[0])return l=new E(Math.pow(+W(d),i?e.s*(2-H(e)):+W(e))),t?l.mod(t):l;if(o=e.s<0,t){if(t.c?!t.c[0]:!t.s)return new E(NaN);(a=!o&&d.isInteger()&&t.isInteger())&&(d=d.mod(t))}else{if(e.e>9&&(d.e>0||d.e<-1||(0==d.e?d.c[0]>1||i&&d.c[1]>=24e7:d.c[0]<8e13||i&&d.c[0]<=9999975e7)))return n=d.s<0&&H(e)?-0:0,d.e>-1&&(n=1/n),new E(o?1/n:n);T&&(n=C(T/N+2))}for(i?(s=new E(.5),o&&(e.s=1),u=H(e)):u=(r=Math.abs(+W(e)))%2,l=new E(y);;){if(u){if(!(l=l.times(d)).c)break;n?l.c.length>n&&(l.c.length=n):a&&(l=l.mod(t))}if(r){if(0===(r=D(r/2)))break;u=r%2}else if(K(e=e.times(s),e.e+1,1),e.e>14)u=H(e);else{if(0===(r=+W(e)))break;u=r%2}d=d.times(d),n?d.c&&d.c.length>n&&(d.c.length=n):a&&(d=d.mod(t))}return a?l:(o&&(l=y.div(l)),t?l.mod(t):n?K(l,T,h,undefined):l)},p.integerValue=function(e){var t=new E(this);return null==e?e=h:G(e,0,8),K(t,t.e+1,e)},p.isEqualTo=p.eq=function(e,t){return 0===_(this,new E(e,t))},p.isFinite=function(){return!!this.c},p.isGreaterThan=p.gt=function(e,t){return _(this,new E(e,t))>0},p.isGreaterThanOrEqualTo=p.gte=function(e,t){return 1===(t=_(this,new E(e,t)))||0===t},p.isInteger=function(){return!!this.c&&F(this.e/N)>this.c.length-2},p.isLessThan=p.lt=function(e,t){return _(this,new E(e,t))<0},p.isLessThanOrEqualTo=p.lte=function(e,t){return-1===(t=_(this,new E(e,t)))||0===t},p.isNaN=function(){return!this.s},p.isNegative=function(){return this.s<0},p.isPositive=function(){return this.s>0},p.isZero=function(){return!!this.c&&0==this.c[0]},p.minus=function(e,t){var s,a,r,n,i=this,o=i.s;if(t=(e=new E(e,t)).s,!o||!t)return new E(NaN);if(o!=t)return e.s=-t,i.plus(e);var u=i.e/N,l=e.e/N,d=i.c,c=e.c;if(!u||!l){if(!d||!c)return d?(e.s=-t,e):new E(c?i:NaN);if(!d[0]||!c[0])return c[0]?(e.s=-t,e):new E(d[0]?i:3==h?-0:0)}if(u=F(u),l=F(l),d=d.slice(),o=u-l){for((n=o<0)?(o=-o,r=d):(l=u,r=c),r.reverse(),t=o;t--;r.push(0));r.reverse()}else for(a=(n=(o=d.length)<(t=c.length))?o:t,o=t=0;t<a;t++)if(d[t]!=c[t]){n=d[t]<c[t];break}if(n&&(r=d,d=c,c=r,e.s=-e.s),(t=(a=c.length)-(s=d.length))>0)for(;t--;d[s++]=0);for(t=P-1;a>o;){if(d[--a]<c[a]){for(s=a;s&&!d[--s];d[s]=t);--d[s],d[a]+=P}d[a]-=c[a]}for(;0==d[0];d.splice(0,1),--l);return d[0]?z(e,d,l):(e.s=3==h?-1:1,e.c=[e.e=0],e)},p.modulo=p.mod=function(e,t){var a,r,n=this;return e=new E(e,t),!n.c||!e.s||e.c&&!e.c[0]?new E(NaN):!e.c||n.c&&!n.c[0]?new E(n):(9==A?(r=e.s,e.s=1,a=s(n,e,0,3),e.s=r,a.s*=r):a=s(n,e,0,A),(e=n.minus(a.times(e))).c[0]||1!=A||(e.s=n.s),e)},p.multipliedBy=p.times=function(e,t){var s,a,r,n,i,o,u,l,d,c,p,y,m,h,f,b=this,w=b.c,v=(e=new E(e,t)).c;if(!(w&&v&&w[0]&&v[0]))return!b.s||!e.s||w&&!w[0]&&!v||v&&!v[0]&&!w?e.c=e.e=e.s=null:(e.s*=b.s,w&&v?(e.c=[0],e.e=0):e.c=e.e=null),e;for(a=F(b.e/N)+F(e.e/N),e.s*=b.s,(u=w.length)<(c=v.length)&&(m=w,w=v,v=m,r=u,u=c,c=r),r=u+c,m=[];r--;m.push(0));for(h=P,f=I,r=c;--r>=0;){for(s=0,p=v[r]%f,y=v[r]/f|0,n=r+(i=u);n>r;)s=((l=p*(l=w[--i]%f)+(o=y*l+(d=w[i]/f|0)*p)%f*f+m[n]+s)/h|0)+(o/f|0)+y*d,m[n--]=l%h;m[n]=s}return s?++a:m.splice(0,1),z(e,m,a)},p.negated=function(){var e=new E(this);return e.s=-e.s||null,e},p.plus=function(e,t){var s,a=this,r=a.s;if(t=(e=new E(e,t)).s,!r||!t)return new E(NaN);if(r!=t)return e.s=-t,a.minus(e);var n=a.e/N,i=e.e/N,o=a.c,u=e.c;if(!n||!i){if(!o||!u)return new E(r/0);if(!o[0]||!u[0])return u[0]?e:new E(o[0]?a:0*r)}if(n=F(n),i=F(i),o=o.slice(),r=n-i){for(r>0?(i=n,s=u):(r=-r,s=o),s.reverse();r--;s.push(0));s.reverse()}for((r=o.length)-(t=u.length)<0&&(s=u,u=o,o=s,t=r),r=0;t;)r=(o[--t]=o[t]+u[t]+r)/P|0,o[t]=P===o[t]?0:o[t]%P;return r&&(o=[r].concat(o),++i),z(e,o,i)},p.precision=p.sd=function(e,t){var s,a,r,n=this;if(null!=e&&e!==!!e)return G(e,1,V),null==t?t=h:G(t,0,8),K(new E(n),e,t);if(!(s=n.c))return null;if(a=(r=s.length-1)*N+1,r=s[r]){for(;r%10==0;r/=10,a--);for(r=s[0];r>=10;r/=10,a++);}return e&&n.e+1>a&&(a=n.e+1),a},p.shiftedBy=function(e){return G(e,-9007199254740991,O),this.times("1e"+e)},p.squareRoot=p.sqrt=function(){var e,t,a,r,n,i=this,o=i.c,u=i.s,l=i.e,d=m+4,c=new E("0.5");if(1!==u||!o||!o[0])return new E(!u||u<0&&(!o||o[0])?NaN:o?i:1/0);if(0==(u=Math.sqrt(+W(i)))||u==1/0?(((t=$(o)).length+l)%2==0&&(t+="0"),u=Math.sqrt(+t),l=F((l+1)/2)-(l<0||l%2),a=new E(t=u==1/0?"5e"+l:(t=u.toExponential()).slice(0,t.indexOf("e")+1)+l)):a=new E(u+""),a.c[0])for((u=(l=a.e)+d)<3&&(u=0);;)if(n=a,a=c.times(n.plus(s(i,n,d,1))),$(n.c).slice(0,u)===(t=$(a.c)).slice(0,u)){if(a.e<l&&--u,"9999"!=(t=t.slice(u-3,u+1))&&(r||"4999"!=t)){+t&&(+t.slice(1)||"5"!=t.charAt(0))||(K(a,a.e+m+2,1),e=!a.times(a).eq(i));break}if(!r&&(K(n,n.e+m+2,0),n.times(n).eq(i))){a=n;break}d+=4,u+=4,r=1}return K(a,a.e+m+1,h,e)},p.toExponential=function(e,t){return null!=e&&(G(e,0,V),e++),Q(this,e,t,1)},p.toFixed=function(e,t){return null!=e&&(G(e,0,V),e=e+this.e+1),Q(this,e,t)},p.toFormat=function(e,t,s){var a,r=this;if(null==s)null!=e&&t&&"object"==typeof t?(s=t,t=null):e&&"object"==typeof e?(s=e,e=t=null):s=k;else if("object"!=typeof s)throw Error(B+"Argument not an object: "+s);if(a=r.toFixed(e,t),r.c){var n,i=a.split("."),o=+s.groupSize,u=+s.secondaryGroupSize,l=s.groupSeparator||"",d=i[0],c=i[1],p=r.s<0,y=p?d.slice(1):d,m=y.length;if(u&&(n=o,o=u,u=n,m-=n),o>0&&m>0){for(n=m%o||o,d=y.substr(0,n);n<m;n+=o)d+=l+y.substr(n,o);u>0&&(d+=l+y.slice(n)),p&&(d="-"+d)}a=c?d+(s.decimalSeparator||"")+((u=+s.fractionGroupSize)?c.replace(new RegExp("\\d{"+u+"}\\B","g"),"$&"+(s.fractionGroupSeparator||"")):c):d}return(s.prefix||"")+a+(s.suffix||"")},p.toFraction=function(e){var t,a,r,n,i,o,u,l,d,c,p,m,f=this,b=f.c;if(null!=e&&(!(u=new E(e)).isInteger()&&(u.c||1!==u.s)||u.lt(y)))throw Error(B+"Argument "+(u.isInteger()?"out of range: ":"not an integer: ")+W(u));if(!b)return new E(f);for(t=new E(y),d=a=new E(y),r=l=new E(y),m=$(b),i=t.e=m.length-f.e-1,t.c[0]=q[(o=i%N)<0?N+o:o],e=!e||u.comparedTo(t)>0?i>0?t:d:u,o=v,v=1/0,u=new E(m),l.c[0]=0;c=s(u,t,0,1),1!=(n=a.plus(c.times(r))).comparedTo(e);)a=r,r=n,d=l.plus(c.times(n=d)),l=n,t=u.minus(c.times(n=t)),u=n;return n=s(e.minus(a),r,0,1),l=l.plus(n.times(d)),a=a.plus(n.times(r)),l.s=d.s=f.s,p=s(d,r,i*=2,h).minus(f).abs().comparedTo(s(l,a,i,h).minus(f).abs())<1?[d,r]:[l,a],v=o,p},p.toNumber=function(){return+W(this)},p.toPrecision=function(e,t){return null!=e&&G(e,1,V),Q(this,e,t,2)},p.toString=function(e){var t,s=this,r=s.s,n=s.e;return null===n?r?(t="Infinity",r<0&&(t="-"+t)):t="NaN":(null==e?t=n<=f||n>=b?U($(s.c),n):L($(s.c),n,"0"):10===e&&x?t=L($((s=K(new E(s),m+n+1,h)).c),s.e,"0"):(G(e,2,S.length,"Base"),t=a(L($(s.c),n,"0"),10,e,r,!0)),r<0&&s.c[0]&&(t="-"+t)),t},p.valueOf=p.toJSON=function(){return W(this)},p._isBigNumber=!0,p[Symbol.toStringTag]="BigNumber",p[Symbol.for("nodejs.util.inspect.custom")]=p.valueOf,null!=t&&E.set(t),E}();class j{#e;#t=18;constructor(e){this.#e=this.toBigDecimal(e)}toBigDecimal(e){if(e instanceof j)return new Q(e.toString());if("string"==typeof e)return new Q(e);if("number"==typeof e&&!isNaN(e))return new Q(String(e));if("bigint"==typeof e)return new Q(e.toString());throw new Error(`toBigDecimal did not recognize the value: ${e} ${typeof e}`)}divide(e){const t=this.toBigDecimal(e);return this.#e=this.#e.dividedBy(t),this}multiply(e){const t=this.toBigDecimal(e);return this.#e=this.#e.multipliedBy(t),this}minus(e){const t=this.toBigDecimal(e);return this.#e=this.#e.minus(t),this}plus(e){const t=this.toBigDecimal(e);return this.#e=this.#e.plus(t),this}decimals(e){return this.#e=this.#e.decimalPlaces(e,1),this.#t=e,this}toString(){return this.#e.toFixed(this.#t)}toNumber(){return this.#e.toNumber()}}const z=e=>{const t=new Date,s=new Date(t);return s.setDate(t.getDate()-e),s.setHours(0,0,0,0),1e3*s.getTime()},K=e=>{const t="string"==typeof e?e:e.url,s="string"==typeof e?{}:e.headers,a=new n.FetchRequest(t);return Object.keys(s).forEach((e=>{a.setHeader(e,s[e])})),a.setThrottleParams({slotInterval:2e3,maxAttempts:2}),a.processFunc=async(e,t)=>429===t.statusCode?new n.FetchResponse(500,"",t.headers,null):t,a.retryFunc=async(e,t)=>429!==t.statusCode,a},W=e=>{const{network:t}=e,s=e.endpoints?.web3,a="string"==typeof s?[s]:s;if(1===a.length){const e=K(a[0]);return new n.JsonRpcProvider(e,t)}{const e=a.map(((e,s)=>{const a=K(e);return{provider:new n.JsonRpcProvider(a,t),priority:s+1,weight:1}})),s=new n.FallbackProvider(e,t);return s.getSigner=()=>{throw new Error("Pass your provider to the SDK class instance to get a signer")},s.send=()=>{throw new Error("Pass your provider to the SDK class instance to use send method")},s}},Z=async e=>{const{contracts:t,vaultAddress:s}=e,a=t.helpers.createVault({vaultAddress:s}),r=await a.version(),n=1n===r,i=2n===r,o=r>1n,u=r>2n;return{version:Number(r),isV1Version:n,isV2Version:i,isMoreV1:o,isMoreV2:u}},J=e=>{const t=e.network;return{isEthereum:t===exports.Network.Mainnet||t===exports.Network.Hoodi,isGnosis:t===exports.Network.Gnosis||t===exports.Network.Chiado}},Y=e=>{const{fiatRates:t,rewards:s}=e,a=s.reduce(((e,t)=>{const{timestamp:s,earnedAssets:a}=t;return e[s]=e[s]?e[s]+BigInt(a):BigInt(a),e}),{}),r=Object.entries(a).map(((e,s)=>{const[a,r]=e,i=Number(a)/1e3,o=Number(n.formatEther(r));if(!t[s])return{date:i,dailyRewardsUsd:0,dailyRewardsEur:0,dailyRewardsGbp:0,dailyRewardsCny:0,dailyRewardsJpy:0,dailyRewardsKrw:0,dailyRewardsAud:0,dailyRewards:o};const{assetsUsdRate:u,usdToEurRate:l,usdToGbpRate:d,usdToCnyRate:c,usdToJpyRate:p,usdToKrwRate:y,usdToAudRate:m}=t[s],h=o*Number(u);return{date:i,dailyRewards:o,dailyRewardsUsd:h||0,dailyRewardsEur:h*Number(l)||0,dailyRewardsGbp:h*Number(d)||0,dailyRewardsCny:h*Number(c)||0,dailyRewardsJpy:h*Number(p)||0,dailyRewardsKrw:h*Number(y)||0,dailyRewardsAud:h*Number(m)||0}}));return r.sort(((e,t)=>e.date-t.date))},X=e=>{const t={apy:{},balance:{},rewards:{}};return e.forEach((e=>{const{earnedAssets:s,totalAssets:a,timestamp:r,apy:i}=e,o=Number(r)/1e6,u=Number(n.formatEther(a||0n)),l=Number(n.formatEther(s||0n));Object.keys(t).forEach((e=>{t[e][r]||(t[e][r]={value:0,time:o})})),t.balance[r].value+=u,t.rewards[r].value+=l,i&&(t.apy[r].value+=Number(i))})),{apy:Object.values(t.apy).sort(((e,t)=>e.time-t.time)),balance:Object.values(t.balance).sort(((e,t)=>e.time-t.time)),rewards:Object.values(t.rewards).sort(((e,t)=>e.time-t.time))}},ee=(e,t,s)=>new n.Contract(e,t,s);var te=[{inputs:[{internalType:"address",name:"vault",type:"address"}],name:"createRewardSplitter",outputs:[{internalType:"address",name:"rewardSplitter",type:"address"}],stateMutability:"nonpayable",type:"function"}],se=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"admin",type:"address"},{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"recipient",type:"address"},{indexed:!1,internalType:"address",name:"beneficiary",type:"address"},{indexed:!1,internalType:"address",name:"escrow",type:"address"},{indexed:!1,internalType:"uint256",name:"totalAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"startTime",type:"uint256"},{indexed:!1,internalType:"uint256",name:"endTime",type:"uint256"},{indexed:!1,internalType:"uint256",name:"cliffLength",type:"uint256"}],name:"VestingEscrowCreated",type:"event"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"total",type:"uint256"}],stateMutability:"view",type:"function"}],ae=[{inputs:[{internalType:"uint256",name:"assets",type:"uint256"}],name:"convertToShares",outputs:[{internalType:"uint256",name:"shares",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"shares",type:"uint256"}],name:"convertToAssets",outputs:[{internalType:"uint256",name:"assets",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"avgRewardPerSecond",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feePercent",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"}],re=[{inputs:[{internalType:"address",name:"vault",type:"address"}],name:"getDepositDataManager",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"vault",type:"address"},{internalType:"address",name:"depositDataManager",type:"address"}],name:"setDepositDataManager",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"vault",type:"address"},{internalType:"bytes32",name:"depositDataRoot",type:"bytes32"}],name:"setDepositDataRoot",outputs:[],stateMutability:"nonpayable",type:"function"}],ne=[{inputs:[],name:"ltvPercent",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"liqThresholdPercent",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}],ie=[{inputs:[{internalType:"address",name:"vault",type:"address"}],name:"getConfig",outputs:[{components:[{internalType:"uint128",name:"liqBonusPercent",type:"uint128"},{internalType:"uint64",name:"liqThresholdPercent",type:"uint64"},{internalType:"uint64",name:"ltvPercent",type:"uint64"}],internalType:"struct IOsTokenConfig.Config",name:"config",type:"tuple"}],stateMutability:"view",type:"function"}],oe=[{inputs:[{internalType:"address",name:"vault",type:"address"},{internalType:"uint256",name:"osTokenShares",type:"uint256"},{internalType:"address",name:"referrer",type:"address"}],name:"deposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"vault",type:"address"},{components:[{internalType:"bytes32",name:"rewardsRoot",type:"bytes32"},{internalType:"int160",name:"reward",type:"int160"},{internalType:"uint160",name:"unlockedMevReward",type:"uint160"},{internalType:"bytes32[]",name:"proof",type:"bytes32[]"}],internalType:"struct IKeeperRewards.HarvestParams",name:"harvestParams",type:"tuple"}],name:"updateVaultState",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"vault",type:"address"},{internalType:"uint256",name:"osTokenShares",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes[]",name:"data",type:"bytes[]"}],name:"multicall",outputs:[{internalType:"bytes[]",name:"results",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"vault",type:"address"},{internalType:"address",name:"user",type:"address"}],name:"getStrategyProxy",outputs:[{internalType:"address",name:"proxy",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"vault",type:"address"},{internalType:"uint256",name:"positionPercent",type:"uint256"}],name:"enterExitQueue",outputs:[{internalType:"uint256",name:"positionTicket",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"vault",type:"address"},{internalType:"address",name:"user",type:"address"},{components:[{internalType:"uint256",name:"positionTicket",type:"uint256"},{internalType:"uint256",name:"timestamp",type:"uint256"},{internalType:"uint256",name:"exitQueueIndex",type:"uint256"}],internalType:"struct ILeverageStrategy.ExitPosition",name:"exitPosition",type:"tuple"}],name:"claimExitedAssets",outputs:[],stateMutability:"nonpayable",type:"function"}],ue=[{inputs:[{internalType:"address",name:"keeper",type:"address"},{internalType:"address",name:"osTokenConfigV1",type:"address"},{internalType:"address",name:"osTokenConfigV2",type:"address"},{internalType:"address",name:"osTokenController",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"MathOverflowedMulDiv",type:"error"},{inputs:[{components:[{internalType:"address",name:"vault",type:"address"},{internalType:"address",name:"user",type:"address"},{internalType:"uint256",name:"stakeAssets",type:"uint256"},{components:[{internalType:"bytes32",name:"rewardsRoot",type:"bytes32"},{internalType:"int160",name:"reward",type:"int160"},{internalType:"uint160",name:"unlockedMevReward",type:"uint160"},{internalType:"bytes32[]",name:"proof",type:"bytes32[]"}],internalType:"struct IKeeperRewards.HarvestParams",name:"harvestParams",type:"tuple"}],internalType:"struct StakeHelpers.StakeInput",name:"inputData",type:"tuple"}],name:"calculateStake",outputs:[{components:[{internalType:"uint256",name:"receivedOsTokenShares",type:"uint256"},{internalType:"uint256",name:"exchangeRate",type:"uint256"}],internalType:"struct StakeHelpers.StakeOutput",name:"outputData",type:"tuple"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"vault",type:"address"},{internalType:"address",name:"user",type:"address"},{internalType:"uint256",name:"osTokenShares",type:"uint256"},{components:[{internalType:"bytes32",name:"rewardsRoot",type:"bytes32"},{internalType:"int160",name:"reward",type:"int160"},{internalType:"uint160",name:"unlockedMevReward",type:"uint160"},{internalType:"bytes32[]",name:"proof",type:"bytes32[]"}],internalType:"struct IKeeperRewards.HarvestParams",name:"harvestParams",type:"tuple"}],internalType:"struct StakeHelpers.UnstakeInput",name:"inputData",type:"tuple"}],name:"calculateUnstake",outputs:[{components:[{internalType:"uint256",name:"burnOsTokenShares",type:"uint256"},{internalType:"uint256",name:"exitQueueShares",type:"uint256"},{internalType:"uint256",name:"receivedAssets",type:"uint256"}],internalType:"struct StakeHelpers.UnstakeOutput",name:"outputData",type:"tuple"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"vault",type:"address"},{internalType:"address",name:"user",type:"address"},{internalType:"uint256",name:"osTokenShares",type:"uint256"},{components:[{internalType:"bytes32",name:"rewardsRoot",type:"bytes32"},{internalType:"int160",name:"reward",type:"int160"},{internalType:"uint160",name:"unlockedMevReward",type:"uint160"},{internalType:"bytes32[]",name:"proof",type:"bytes32[]"}],internalType:"struct IKeeperRewards.HarvestParams",name:"harvestParams",type:"tuple"}],internalType:"struct StakeHelpers.BalanceInput",name:"inputData",type:"tuple"}],name:"getBalance",outputs:[{internalType:"uint256",name:"receivedAssets",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes[]",name:"data",type:"bytes[]"}],name:"multicall",outputs:[{internalType:"bytes[]",name:"results",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"}],le=[{inputs:[{internalType:"address",name:"vault",type:"address"}],name:"vaults",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}],de=[{inputs:[{components:[{internalType:"bytes32",name:"rewardsRoot",type:"bytes32"},{internalType:"int160",name:"reward",type:"int160"},{internalType:"uint160",name:"unlockedMevReward",type:"uint160"},{internalType:"bytes32[]",name:"proof",type:"bytes32[]"}],internalType:"struct IKeeperRewards.HarvestParams",name:"harvestParams",type:"tuple"}],name:"updateVaultState",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"syncRewards",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"rewards",type:"uint256"},{internalType:"address",name:"receiver",type:"address"}],name:"enterExitQueue",outputs:[{internalType:"uint256",name:"positionTicket",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"rewardsOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes[]",name:"data",type:"bytes[]"}],name:"multicall",outputs:[{internalType:"bytes[]",name:"results",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint128",name:"amount",type:"uint128"}],name:"decreaseShares",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint128",name:"amount",type:"uint128"}],name:"increaseShares",outputs:[],stateMutability:"nonpayable",type:"function"}],ce=[{inputs:[{internalType:"address",name:"receiver",type:"address"},{internalType:"uint256",name:"principal",type:"uint256"},{internalType:"uint256",name:"reward",type:"uint256"}],name:"migrate",outputs:[],stateMutability:"nonpayable",type:"function"}],pe=[{inputs:[],name:"eigenPod",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes[]",name:"data",type:"bytes[]"}],name:"multicall",outputs:[{internalType:"bytes[]",name:"results",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{components:[{internalType:"bytes",name:"signature",type:"bytes"},{internalType:"uint256",name:"expiry",type:"uint256"}],internalType:"struct IEigenDelegationManager.SignatureWithExpiry",name:"approverSignatureAndExpiry",type:"tuple"},{internalType:"bytes32",name:"approverSalt",type:"bytes32"}],name:"delegateTo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"undelegate",outputs:[],stateMutability:"nonpayable",type:"function"}],ye=[{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"claim",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"claimedAmount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"endTime",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"startTime",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalAmount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"vestedAmount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}],me=[{inputs:[{internalType:"bytes",name:"params",type:"bytes"},{internalType:"bool",name:"isOwnMevEscrow",type:"bool"}],name:"createVault",outputs:[{internalType:"address",name:"vault",type:"address"}],stateMutability:"payable",type:"function"}],he=[{inputs:[],name:"latestAnswer",outputs:[{internalType:"int256",name:"",type:"int256"}],stateMutability:"view",type:"function"}],fe=[{inputs:[{components:[{name:"target",type:"address"},{name:"callData",type:"bytes"}],name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{name:"blockNumber",type:"uint256"},{name:"returnData",type:"bytes[]"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"addr",type:"address"}],name:"getEthBalance",outputs:[{name:"balance",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"}],be=[{inputs:[],name:"latestRoundData",outputs:[{internalType:"uint80",name:"roundId",type:"uint80"},{internalType:"int256",name:"answer",type:"int256"},{internalType:"uint256",name:"startedAt",type:"uint256"},{internalType:"uint256",name:"updatedAt",type:"uint256"},{internalType:"uint80",name:"answeredInRound",type:"uint80"}],stateMutability:"view",type:"function"}],we=[{inputs:[{internalType:"address",name:"vault",type:"address"}],name:"isCollateralized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"vault",type:"address"}],name:"canHarvest",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}],ve=[{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}];const ge=e=>t=>{let s=0;const{calls:a,items:r}=t.reduce(((e,t)=>{if(void 0===t.mock&&t.contract){const{contract:a,methodName:r,args:n}=t;e.calls.push({target:String(a.target),callData:a.interface.encodeFunctionData(r,n)}),e.items.push({...t,realIndex:s++})}else e.items.push(t);return e}),{calls:[],items:[]});return()=>e.aggregate(a).then((e=>r.reduce(((t,s)=>{const{contract:a,methodName:r,mock:n,noContractValue:i,returnName:o,realIndex:u}=s;if(t[o])throw new Error('Need to use unique "returnName" with "multicall" handler!');if(void 0!==n)t[o]=n;else if(a){const s=e.returnData[u],n=a.interface.decodeFunctionResult(r,s);t[o]=1===n.length?n[0]:n}else t[o]=i;return t}),{})))};var Ae=[{inputs:[{internalType:"address",name:"receiver",type:"address"},{internalType:"uint256",name:"osTokenShares",type:"uint256"},{internalType:"address",name:"referrer",type:"address"}],name:"depositAndMintOsToken",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"receiver",type:"address"},{internalType:"uint256",name:"osTokenShares",type:"uint256"},{internalType:"address",name:"referrer",type:"addr