PageSourceSearch

https://bitzap.ai/_next/static/chunks/5826.726d12c911c22ec4.js

js bitzap.ai collected 2026-10-05 13:32:01 UTC 121,117 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5826],{35826:function(t,e,n){n.r(e),n.d(e,{default:function(){return J}});var r=n(55237),o=n(71388),a=n(87963),i=n(99265),s=n(74855),u=n(46761),c=n(86094),l=n(61945),__awaiter=function(t,e,n,r){return new(n||(n=Promise))(function(o,a){function fulfilled(t){try{step(r.next(t))}catch(t){a(t)}}function rejected(t){try{step(r.throw(t))}catch(t){a(t)}}function step(t){var e;t.done?o(t.value):((e=t.value)instanceof n?e:new n(function(t){t(e)})).then(fulfilled,rejected)}step((r=r.apply(t,e||[])).next())})},d={},_isUserLpBalanceCacheExpired=function(t,e){var n,r;return((null===(r=null===(n=d[t])||void 0===n?void 0:n[e])||void 0===r?void 0:r.time)||0)+6e5<Date.now()},_getUserLpBalances=function(t,e,n){return __awaiter(void 0,void 0,void 0,function(){var o,a,u,c,l,p,f,h,v,g,m,y,_,w,I,b,A,S,E,Q,P,O,D,C,M,L;return(0,r.Jh)(this,function(r){switch(r.label){case 0:if(!((a=n?t.filter(function(t){return _isUserLpBalanceCacheExpired(e,t)}):t).length>0))return[3,2];u=[],c=!0,l=!1,p=void 0;try{for(f=a[Symbol.iterator]();!(c=(h=f.next()).done);c=!0)v=h.value,g=(0,i.M)(v),u.push(s.QI.contracts[g.lpToken].multicallContract.balanceOf(e)),g.gauge.address!==s.QI.constants.ZERO_ADDRESS&&u.push(s.QI.contracts[g.gauge.address].multicallContract.balanceOf(e))}catch(t){l=!0,p=t}finally{try{c||null==f.return||f.return()}finally{if(l)throw p}}return[4,s.QI.multicallProvider.all(u)];case 1:m=r.sent(),y=!0,_=!1,w=void 0;try{for(I=a[Symbol.iterator]();!(y=(b=I.next()).done);y=!0)A=b.value,S=(0,i.M)(A),E=m.shift(),S.gauge.address!==s.QI.constants.ZERO_ADDRESS&&(E+=m.shift()),d[e]||(d[e]={}),d[e][A]={_lpBalance:E,time:Date.now()}}catch(t){_=!0,w=t}finally{try{y||null==I.return||I.return()}finally{if(_)throw w}}r.label=2;case 2:Q=[],P=!0,O=!1,D=void 0;try{for(C=t[Symbol.iterator]();!(P=(M=C.next()).done);P=!0)L=M.value,Q.push(null===(o=d[e])||void 0===o?void 0:o[L]._lpBalance)}catch(t){O=!0,D=t}finally{try{P||null==C.return||C.return()}finally{if(O)throw D}}return[2,Q]}})})},p={},_isUserClaimableCacheExpired=function(t,e){var n,r;return((null===(r=null===(n=p[t])||void 0===n?void 0:n[e])||void 0===r?void 0:r.time)||0)+6e5<Date.now()},_getUserClaimable=function(t,e,n){return __awaiter(void 0,void 0,void 0,function(){var o,a,c,d,f,h,v,g,m,y,_,w,I,b,A,S,E,Q,P,O,D,C,M,L,R,k,x,G,T,N,B,J,F,j,U,Z,z,V,H,K,W,q,Y,X,$,tt,te,tn,tr,to,ta,ti,ts,tu,tc,tl,td,tp,tf,th,tv,tg,tm,ty,t_,tw,tI,tb,tA,tS,tE,tQ;return(0,r.Jh)(this,function(r){switch(r.label){case 0:if(!((a=n?t.filter(function(t){return _isUserClaimableCacheExpired(e,t)}):t).length>0))return[3,3];c=[],d=!0,f=!1,h=void 0;try{for(v=a[Symbol.iterator]();!(d=(g=v.next()).done);d=!0){if(m=g.value,y=(0,i.M)(m),324===s.QI.chainId||2222===s.QI.chainId||y.gauge.address===s.QI.constants.ZERO_ADDRESS){c.push(!1);continue}_=s.QI.contracts[y.gauge.address].contract,c.push("inflation_rate()"in _||"inflation_rate(uint256)"in _)}}catch(t){f=!0,h=t}finally{try{d||null==v.return||v.return()}finally{if(f)throw h}}w=[],I=!0,b=!1,A=void 0;try{for(S=a[Symbol.iterator]();!(I=(E=S.next()).done);I=!0){if(Q=E.value,(P=(0,i.M)(Q)).gauge.address===s.QI.constants.ZERO_ADDRESS){w.push(0);continue}O=s.QI.contracts[P.gauge.address].contract,"reward_tokens(uint256)"in O?w.push(8):"claimable_reward(address)"in O?w.push(-1):w.push(0)}}catch(t){b=!0,A=t}finally{try{I||null==S.return||S.return()}finally{if(b)throw A}}for(C=0,D=[];C<a.length;C++)if(M=(0,i.M)(a[C]),-1!==w[C])for(L=0;L<w[C];L++)R=s.QI.contracts[M.gauge.address].multicallContract,D.push(R.reward_tokens(L));else w[C]=1,k=s.QI.contracts[M.sRewardContract].contract,x=s.QI.contracts[M.sRewardContract].multicallContract,G="snx()"in k?"snx":"rewardsToken",D.push(x[G]());return[4,s.QI.multicallProvider.all(D)];case 1:for(B=0,T=r.sent().map(function(t){return t.toLowerCase()}),N={};B<a.length;B++)for(J=0,N[a[B]]=[];J<w[B];J++)(F=T.shift())!==s.QI.constants.ZERO_ADDRESS&&(1===s.QI.chainId||F!==s.QI.constants.COINS.crv)&&"0xf228ec3476318acb4e719d2b290bb2ef8b34dffa"!==F&&N[a[B]].push(F);for(U=0,j=[];U<a.length;U++)if(Z=a[U],(z=(0,i.M)(Z)).gauge.address!==s.QI.constants.ZERO_ADDRESS){V=s.QI.contracts[z.gauge.address].contract,H=s.QI.contracts[z.gauge.address].multicallContract,c[U]&&j.push(H.claimable_tokens(e)),K=!0,W=!1,q=void 0;try{for(Y=N[Z][Symbol.iterator]();!(K=(X=Y.next()).done);K=!0)$=X.value,(0,u.vu)($,l),tt=s.QI.contracts[$].multicallContract,j.push(tt.symbol(),tt.decimals()),"claimable_reward(address,address)"in V?j.push(H.claimable_reward(e,$)):"claimable_reward(address)"in V&&j.push(H.claimable_reward(e),H.claimed_rewards_for(e))}catch(t){W=!0,q=t}finally{try{K||null==Y.return||Y.return()}finally{if(W)throw q}}}return[4,s.QI.multicallProvider.all(j)];case 2:for(tn=0,te=r.sent();tn<a.length;tn++)if(tr=a[tn],to=(0,i.M)(tr),p[e]||(p[e]={}),p[e][tr]={rewards:[],time:Date.now()},to.gauge.address!==s.QI.constants.ZERO_ADDRESS){ta=s.QI.contracts[to.gauge.address].contract,c[tn]&&(ti=s.QI.constants.ALIASES.crv,ts=te.shift(),Number(tu=s.QI.formatUnits(ts,18))>0&&p[e][tr].rewards.push({token:ti,symbol:"CRV",amount:tu})),tc=!0,tl=!1,td=void 0;try{for(tp=N[tr][Symbol.iterator]();!(tc=(tf=tp.next()).done);tc=!0)th=tf.value,tv=te.shift(),tg=te.shift(),tm=te.shift(),"claimable_reward(address)"in ta&&(ty=te.shift(),tm-=ty),t_=s.QI.formatUnits(tm,tg),Number(t_)>0&&p[e][tr].rewards.push({token:th,symbol:tv,amount:t_})}catch(t){tl=!0,td=t}finally{try{tc||null==tp.return||tp.return()}finally{if(tl)throw td}}}r.label=3;case 3:tw=[],tI=!0,tb=!1,tA=void 0;try{for(tS=t[Symbol.iterator]();!(tI=(tE=tS.next()).done);tI=!0)tQ=tE.value,tw.push(null===(o=p[e])||void 0===o?void 0:o[tQ].rewards)}catch(t){tb=!0,tA=t}finally{try{tI||null==tS.return||tS.return()}finally{if(tb)throw tA}}return[2,tw]}})})},f=n(89644),h=n(23556),v=n(25871),g=n(15473),m=n(44634);function routeFinderWorker(){var _removeDuplications=function(t,e){var routeToStr=function(t){return t.route.map(function(t){return t.poolId}).toString()},n=new Set(t.map(routeToStr));return t.concat(e.filter(function(t){return!n.has(routeToStr(t))}))},_sortByTvl=function(t,e){return e.minTvl-t.minTvl||e.totalTvl-t.totalTvl||t.route.length-e.route.length},_sortByLength=function(t,e){return t.route.length-e.route.length||e.minTvl-t.minTvl||e.totalTvl-t.totalTvl},_handleSwapType=function(t){return 6===t?"4":7===t?"5":t.toString()}
1,_addStep=function(t,e){return{route:t.route.concat(e),minTvl:Math.min(e.tvl,t.minTvl),totalTvl:t.totalTvl+e.tvl}};function _fits(t,e,n,r){return t.length<r||0>n(e,t[t.length-1])}function _sortedPush(t,e,n,r){if(_fits(t,e,n,r)){t.length===r&&t.pop();var o=t.findIndex(function(t){return 0>n(e,t)});-1===o?t.push(e):t.splice(o,0,e)}}var findRoutes=function(t){var e=t.inputCoinAddress,n=t.outputCoinAddress,r=t.routerGraph,o=t.poolData;e=e.toLowerCase(),n=n.toLowerCase();for(var a=[{route:[],minTvl:1/0,totalTvl:0}],i=[],s=[];a.length;)!function(){var t=a.pop();Object.entries(r[t.route.length>0?t.route[t.route.length-1].outputCoinAddress:e]).forEach(function(e){var r=e[0],u=e[1];void 0===t.route.find(function(t){return t.inputCoinAddress===r})&&u.forEach(function(e){var u,c=o[e.poolId],l=(u=e.poolId,t.route.find(function(t){return t.poolId===u}));if(!l||(null==c?void 0:c.is_lending)&&_handleSwapType(e.swapParams[2])!==_handleSwapType(l.swapParams[2])){if(e.outputCoinAddress===n){var d=_addStep(t,e);_sortedPush(i,d,_sortByTvl,5),_sortedPush(s,d,_sortByLength,5);return}if((!((null==c?void 0:c.wrapped_coin_addresses.includes(n))||(null==c?void 0:c.underlying_coin_addresses.includes(n)))||(null==c?void 0:c.is_lending)&&r===(null==c?void 0:c.token_address))&&t.route.length<4){var p=_addStep(t,e);(_fits(i,p,_sortByTvl,5)||_fits(s,p,_sortByLength,5))&&a.push(p)}}})})}();return _removeDuplications(i,s).map(function(t){return t.route})};if("undefined"==typeof addEventListener)return findRoutes;addEventListener("message",function(t){var e=t.data.type;"findRoutes"===e&&postMessage({type:e,result:findRoutes(t.data)})})}var y="".concat(routeFinderWorker.toString(),"; ").concat(routeFinderWorker.name,"();");function routeGraphWorker(){var t={10:{swap:"0x8700daec35af8ff88c16bdf0418774cb3d7599b4",coins:["0x8c6f28f2f1a3c87f0f938b96d27520d9751ec8d9","0xFBc4198702E81aE77c06D58f81b629BDf36f0a71","0xe405de8f52ba7559f9df3c368500b6e6ae6cee49","0x298b9b95708152ff6968aafd889c6586e9169f1d"].map(function(t){return t.toLowerCase()})}},createRouteGraph=function(e){var n=e.constants,r=e.chainId,o=e.allPools,a=e.amplificationCoefficientDict,i=e.poolTvlDict,s={};if(42220!==r&&(s[n.NATIVE_TOKEN.address]={},s[n.NATIVE_TOKEN.address][n.NATIVE_TOKEN.wrappedAddress]=[{poolId:"WBTC wrapper",swapAddress:n.NATIVE_TOKEN.wrappedAddress,inputCoinAddress:n.NATIVE_TOKEN.address,outputCoinAddress:n.NATIVE_TOKEN.wrappedAddress,swapParams:[0,0,8,0,0],poolAddress:n.ZERO_ADDRESS,basePool:n.ZERO_ADDRESS,baseToken:n.ZERO_ADDRESS,secondBasePool:n.ZERO_ADDRESS,secondBaseToken:n.ZERO_ADDRESS,tvl:1/0}],s[n.NATIVE_TOKEN.wrappedAddress]={},s[n.NATIVE_TOKEN.wrappedAddress][n.NATIVE_TOKEN.address]=[{poolId:"WBTC wrapper",swapAddress:n.NATIVE_TOKEN.wrappedAddress,inputCoinAddress:n.NATIVE_TOKEN.wrappedAddress,outputCoinAddress:n.NATIVE_TOKEN.address,swapParams:[0,0,8,0,0],poolAddress:n.ZERO_ADDRESS,basePool:n.ZERO_ADDRESS,baseToken:n.ZERO_ADDRESS,secondBasePool:n.ZERO_ADDRESS,secondBaseToken:n.ZERO_ADDRESS,tvl:1/0}]),1==r)for(var u=0,c=["stETH","frxETH","wBETH"];u<c.length;u++){var l=c[u];s[n.NATIVE_TOKEN.address][n.COINS[l.toLowerCase()]]=[{poolId:l+" minter",swapAddress:"frxETH"===l?"0xbafa44efe7901e04e39dad13167d089c559c1138":n.COINS[l.toLowerCase()],inputCoinAddress:n.NATIVE_TOKEN.address,outputCoinAddress:n.COINS[l.toLowerCase()],swapParams:[0,0,8,0,0],poolAddress:n.ZERO_ADDRESS,basePool:n.ZERO_ADDRESS,baseToken:n.ZERO_ADDRESS,secondBasePool:n.ZERO_ADDRESS,secondBaseToken:n.ZERO_ADDRESS,tvl:1/0}]}if(1===r&&(s[n.COINS.steth]={},s[n.COINS.steth][n.COINS.wsteth]=[{poolId:"wstETH wrapper",swapAddress:n.COINS.wsteth,inputCoinAddress:n.COINS.steth,outputCoinAddress:n.COINS.wsteth,swapParams:[0,0,8,0,0],poolAddress:n.ZERO_ADDRESS,basePool:n.ZERO_ADDRESS,baseToken:n.ZERO_ADDRESS,secondBasePool:n.ZERO_ADDRESS,secondBaseToken:n.ZERO_ADDRESS,tvl:1/0}],s[n.COINS.wsteth]={},s[n.COINS.wsteth][n.COINS.steth]=[{poolId:"wstETH wrapper",swapAddress:n.COINS.wsteth,inputCoinAddress:n.COINS.wsteth,outputCoinAddress:n.COINS.steth,swapParams:[0,0,8,0,0],poolAddress:n.ZERO_ADDRESS,basePool:n.ZERO_ADDRESS,baseToken:n.ZERO_ADDRESS,secondBasePool:n.ZERO_ADDRESS,secondBaseToken:n.ZERO_ADDRESS,tvl:1/0}]),1===r&&(s[n.COINS.frxeth]={},s[n.COINS.frxeth][n.COINS.sfrxeth]=[{poolId:"sfrxETH wrapper",swapAddress:n.COINS.sfrxeth,inputCoinAddress:n.COINS.frxeth,outputCoinAddress:n.COINS.sfrxeth,swapParams:[0,0,8,0,0],poolAddress:n.ZERO_ADDRESS,basePool:n.ZERO_ADDRESS,baseToken:n.ZERO_ADDRESS,secondBasePool:n.ZERO_ADDRESS,secondBaseToken:n.ZERO_ADDRESS,tvl:1/0}],s[n.COINS.sfrxeth]={},s[n.COINS.sfrxeth][n.COINS.frxeth]=[{poolId:"sfrxETH wrapper",swapAddress:n.COINS.sfrxeth,inputCoinAddress:n.COINS.sfrxeth,outputCoinAddress:n.COINS.frxeth,swapParams:[0,0,8,0,0],poolAddress:n.ZERO_ADDRESS,basePool:n.ZERO_ADDRESS,baseToken:n.ZERO_ADDRESS,secondBasePool:n.ZERO_ADDRESS,secondBaseToken:n.ZERO_ADDRESS,tvl:1/0}]),r in t){var d=!0,p=!1,f=void 0;try{for(var h,v,g,m,y=t[r].coins[Symbol.iterator]();
1!(d=(m=y.next()).done);d=!0){var _=m.value,w=!0,I=!1,b=void 0;try{for(var A,S=t[r].coins[Symbol.iterator]();!(w=(A=S.next()).done);w=!0){var E=A.value;_!==E&&(s[_]||(s[_]={}),s[_][E]=[{poolId:"SNX exchanger",swapAddress:t[r].swap,inputCoinAddress:_,outputCoinAddress:E,swapParams:[0,0,9,0,0],poolAddress:n.ZERO_ADDRESS,basePool:n.ZERO_ADDRESS,baseToken:n.ZERO_ADDRESS,secondBasePool:n.ZERO_ADDRESS,secondBaseToken:n.ZERO_ADDRESS,tvl:1/0}])}}catch(t){I=!0,b=t}finally{try{w||null==S.return||S.return()}finally{if(I)throw b}}}}catch(t){p=!0,f=t}finally{try{d||null==y.return||y.return()}finally{if(p)throw f}}}var Q=Date.now(),P=!0,O=!1,D=void 0;try{for(var C,M=o[Symbol.iterator]();!(P=(C=M.next()).done);P=!0)!function(){var t=C.value,e=t[0],o=t[1],u=o.wrapped_coin_addresses.map(function(t){return t.toLowerCase()}),c=o.underlying_coin_addresses.map(function(t){return t.toLowerCase()}),l=o.swap_address.toLowerCase(),d=o.token_address.toLowerCase(),p=o.is_lending&&3===u.length&&!o.deposit_address,f=o.is_llamma?4:o.is_crypto?Math.min(o.wrapped_coins.length,3):1;o.is_ng&&(f*=10);var m=o.is_crypto?1:null!==(h=a[o.swap_address])&&void 0!==h?h:1,y=o.is_meta?Object.assign(Object.assign({},n.POOLS_DATA),n.FACTORY_POOLS_DATA)[o.base_pool]:null,_=y?y.swap_address.toLowerCase():n.ZERO_ADDRESS,w=y?y.token_address.toLowerCase():n.ZERO_ADDRESS,I=y&&y.base_pool?Object.assign(Object.assign(Object.assign({},n.POOLS_DATA),n.FACTORY_POOLS_DATA),n.CRVUSD_FACTORY_POOLS_DATA)[y.base_pool]:null,b=I?I.swap_address.toLowerCase():n.ZERO_ADDRESS;y&&b!==n.ZERO_ADDRESS&&(w=null===(v=y.deposit_address)||void 0===v?void 0:v.toLowerCase());var A=I?I.token_address.toLowerCase():n.ZERO_ADDRESS,S=y?y.underlying_coin_addresses.map(function(t){return t.toLowerCase()}):[],E=o.is_fake?null===(g=o.deposit_address)||void 0===g?void 0:g.toLowerCase():l,Q=i[e]*m;if((1!==r||!(Q<1e3))&&(1===r||!(Q<100))){var P="ib"===e&&1===r||"geist"===e&&250===r||"saave"===e&&1===r;if(!o.is_fake&&!o.is_llamma&&u.length<6){for(var O=[d].concat(u),D=0;D<O.length;D++)for(var M=0;M<O.length;M++)if((!(D>0)||!(M>0))&&(0!=D||0!=M)){var L=Math.max(D-1,0),R=Math.max(M-1,0),k=0==D?6:4;s[O[D]]||(s[O[D]]={}),s[O[D]][O[M]]||(s[O[D]][O[M]]=[]),s[O[D]][O[M]].push({poolId:e,swapAddress:E,inputCoinAddress:O[D],outputCoinAddress:O[M],swapParams:[L,R,k,f,u.length],poolAddress:n.ZERO_ADDRESS,basePool:n.ZERO_ADDRESS,baseToken:n.ZERO_ADDRESS,secondBasePool:n.ZERO_ADDRESS,secondBaseToken:n.ZERO_ADDRESS,tvl:Q})}}if((o.is_fake||p)&&c.length<6&&!P){for(var x=[d].concat(c),G=0;G<x.length;G++)for(var T=0;T<x.length;T++)if((!(G>0)||!(T>0))&&(0!=G||0!=T)){var N=Math.max(G-1,0),B=Math.max(T-1,0),J=p?7:6;G>0&&(J=p?5:4),s[x[G]]||(s[x[G]]={}),s[x[G]][x[T]]||(s[x[G]][x[T]]=[]),s[x[G]][x[T]].push({poolId:e,swapAddress:E,inputCoinAddress:x[G],outputCoinAddress:x[T],swapParams:[N,B,J,f,c.length],poolAddress:n.ZERO_ADDRESS,basePool:n.ZERO_ADDRESS,baseToken:n.ZERO_ADDRESS,secondBasePool:n.ZERO_ADDRESS,secondBaseToken:n.ZERO_ADDRESS,tvl:Q})}}if(!o.is_fake)for(var F=0;F<u.length;F++)for(var j=0;j<u.length;j++)F!=j&&(s[u[F]]||(s[u[F]]={}),s[u[F]][u[j]]||(s[u[F]][u[j]]=[]),s[u[F]][u[j]]=s[u[F]][u[j]].concat({poolId:e,swapAddress:E,inputCoinAddress:u[F],outputCoinAddress:u[j],swapParams:[F,j,1,f,u.length],poolAddress:l,basePool:_,baseToken:w,secondBasePool:b,secondBaseToken:A,tvl:Q}).sort(function(t,e){return e.tvl-t.tvl}).slice(0,3));if(E=o.is_crypto&&o.is_meta||(null==y?void 0:y.is_lending)&&o.is_factory?o.deposit_address:o.swap_address,!o.is_plain&&!P){for(var U=0;U<c.length;U++)for(var Z=0;Z<c.length;Z++)if(!(U===Z||S.includes(c[U])&&S.includes(c[Z]))&&(43114!==r||"atricrypto"!==e||3!==U)){var z=c.includes(n.NATIVE_TOKEN.address),V=o.is_crypto&&o.is_meta&&o.is_factory||(null==y?void 0:y.is_lending)&&o.is_factory?3:z&&"avaxcrypto"!==e?1:2;s[c[U]]||(s[c[U]]={}),s[c[U]][c[Z]]||(s[c[U]][c[Z]]=[]),s[c[U]][c[Z]]=s[c[U]][c[Z]].concat({poolId:e,swapAddress:E,inputCoinAddress:c[U],outputCoinAddress:c[Z],swapParams:[U,Z,V,f,c.length],poolAddress:l,basePool:_,baseToken:w,secondBasePool:b,secondBaseToken:A,tvl:Q}).sort(function(t,e){return e.tvl-t.tvl}).slice(0,3)}}}}()}catch(t){O=!0,D=t}finally{try{P||null==M.return||M.return()}finally{if(O)throw D}}return console.log("Read ".concat(o.length," pools"),"".concat(Date.now()-Q,"ms, routerGraph: ").concat(Object.keys(s).length," items")),s};if("undefined"==typeof addEventListener)return createRouteGraph;addEventListener("message",function(t){var e=t.data.type;"createRouteGraph"===e&&postMessage({type:e,result:createRouteGraph(t.data)})})}var _="".concat(routeGraphWorker.toString(),"; ").concat(routeGraphWorker.name,"();"),w=n(17615),router_awaiter=function(t,e,n,r){return new(n||(n=Prom
1ise))(function(o,a){function fulfilled(t){try{step(r.next(t))}catch(t){a(t)}}function rejected(t){try{step(r.throw(t))}catch(t){a(t)}}function step(t){var e;t.done?o(t.value):((e=t.value)instanceof n?e:new n(function(t){t(e)})).then(fulfilled,rejected)}step((r=r.apply(t,e||[])).next())})},I=[1,10,56,100,137,250,1284,2222,8453,42161,42220,43114,1313161554],b=h(function(t){return router_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(e){switch(e.label){case 0:return[4,(0,o.M)(t).stats.totalLiquidity()];case 1:return[2,Number.apply(void 0,[e.sent()])]}})})},{promise:!0,maxAge:3e5}),A=h(function(){return router_awaiter(void 0,void 0,void 0,function(){var t,e,n,o,i,l;return(0,r.Jh)(this,function(d){switch(d.label){case 0:return t=s.QI.constants,e=s.QI.chainId,n=Object.entries(s.QI.getPoolsData()).filter(function(t){return!["crveth","y","busd","pax"].includes((0,a._)(t,1)[0])}),[4,__awaiter(void 0,void 0,void 0,function(){var t,e,n,o,a,i,u,l,d,p,f,h,v,g,m;return(0,r.Jh)(this,function(r){switch(r.label){case 0:return t=s.QI.constants.NETWORK_NAME,[4,(0,c.m_)(t)];case 1:e=r.sent(),n={},o=!0,a=!1,i=void 0;try{for(u=e[Symbol.iterator]();!(o=(l=u.next()).done);o=!0){d=l.value,p=!0,f=!1,h=void 0;try{for(v=d.poolData[Symbol.iterator]();!(p=(g=v.next()).done);p=!0)n[(m=g.value).address.toLowerCase()]=Number(m.amplificationCoefficient)}catch(t){f=!0,h=t}finally{try{p||null==v.return||v.return()}finally{if(f)throw h}}}}catch(t){a=!0,i=t}finally{try{o||null==u.return||u.return()}finally{if(a)throw i}}return[2,n]}})})];case 1:return o=d.sent(),[4,function(t,e){return router_awaiter(this,void 0,void 0,function(){var n,o;return(0,r.Jh)(this,function(i){switch(i.label){case 0:return n=this,o={},[4,Promise.all(t.map(function(t){var i=(0,a._)(t,2),s=i[0],u=i[1];return router_awaiter(n,void 0,void 0,function(){return(0,r.Jh)(this,function(t){switch(t.label){case 0:return[4,e(s,u)];case 1:return[2,o[s]=t.sent()]}})})}))];case 1:return i.sent(),[2,o]}})})}(n,b)];case 2:return i=d.sent(),l={constants:t,chainId:e,allPools:n,amplificationCoefficientDict:o,poolTvlDict:i},[2,(0,u.YX)(_,routeGraphWorker,Object.assign({type:"createRouteGraph"},l))]}})})},{promise:!0,maxAge:3e5}),_getRouteKey=function(t,e,n){var r=[e,n].sort(),o="".concat(r[0],"-->"),a=!0,i=!1,s=void 0;try{for(var u,c=t[Symbol.iterator]();!(a=(u=c.next()).done);a=!0){var l=u.value;o+="".concat(l.poolId,"-->")}}catch(t){i=!0,s=t}finally{try{a||null==c.return||c.return()}finally{if(i)throw s}}return o+r[1]},_getExchangeArgs=function(t){if(I.includes(s.QI.chainId)){var e=[];t.length>0&&e.push(t[0].inputCoinAddress);var n=[],r=[],o=[],a=[],i=[],u=[],c=!0,l=!1,d=void 0;try{for(var p,f=t[Symbol.iterator]();!(c=(p=f.next()).done);c=!0){var h=p.value;e.push(h.swapAddress,h.outputCoinAddress),n.push(h.swapParams),r.push(h.poolAddress),o.push(h.basePool),a.push(h.baseToken),i.push(h.secondBasePool),u.push(h.secondBaseToken)}}catch(t){l=!0,d=t}finally{try{c||null==f.return||f.return()}finally{if(l)throw d}}return e=e.concat(Array(11-e.length).fill(s.QI.constants.ZERO_ADDRESS)),n=n.concat(Array(5-n.length).fill([0,0,0,0,0])),r=r.concat(Array(5-r.length).fill(s.QI.constants.ZERO_ADDRESS)),o=o.concat(Array(5-o.length).fill(s.QI.constants.ZERO_ADDRESS)),{_route:e,_swapParams:n,_pools:r,_basePools:o,_baseTokens:a=a.concat(Array(5-a.length).fill(s.QI.constants.ZERO_ADDRESS)),_secondBasePools:i=i.concat(Array(5-i.length).fill(s.QI.constants.ZERO_ADDRESS)),_secondBaseTokens:u=u.concat(Array(5-u.length).fill(s.QI.constants.ZERO_ADDRESS))}}var v=[];t.length>0&&v.push(t[0].inputCoinAddress);var g=[],m=!0,y=!1,_=void 0;try{for(var w,b=t[Symbol.iterator]();!(m=(w=b.next()).done);m=!0){var A=w.value;v.push(A.swapAddress,A.outputCoinAddress),g.push(A.swapParams.slice(0,4))}}catch(t){y=!0,_=t}finally{try{m||null==b.return||b.return()}finally{if(y)throw _}}return{_route:v=v.concat(Array(11-v.length).fill(s.QI.constants.ZERO_ADDRESS)),_swapParams:g=g.concat(Array(5-g.length).fill([0,0,0,0]))}},S={},_estimateGasForDifferentRoutes=function(t,e,n,o){return router_awaiter(void 0,void 0,void 0,function(){var a,i,c,l,d,p,f,h,v,g,m,y,_,w,I,b,A;return(0,r.Jh)(this,function(r){switch(r.label){case 0:e=e.toLowerCase(),n=n.toLowerCase(),i=s.QI.contracts[s.QI.constants.ALIASES.router].contract,c=[],l=(0,u.Gn)(e)?o:s.QI.parseUnits("0"),d=!0,p=!1,f=void 0;try{for(h=t[Symbol.iterator]();!(d=(v=h.next()).done);
1d=!0)g=v.value,m=_getRouteKey(g,e,n),y=void 0,w=(_=_getExchangeArgs(g))._route,I=_._swapParams,b=_._pools,y=((null===(a=S[m])||void 0===a?void 0:a.time)||0)+36e5<Date.now()?b?i.exchange.estimateGas(w,I,o,0,b,Object.assign(Object.assign({},s.QI.constantOptions),{value:l})):i.exchange.estimateGas(w,I,o,0,Object.assign(Object.assign({},s.QI.constantOptions),{value:l})):Promise.resolve(S[m].gas),c.push(y)}catch(t){p=!0,f=t}finally{try{d||null==h.return||h.return()}finally{if(p)throw f}}r.label=1;case 1:return r.trys.push([1,3,,4]),[4,Promise.all(c)];case 2:return A=r.sent(),t.forEach(function(t,r){S[_getRouteKey(t,e,n)]={gas:A[r],time:Date.now()}}),[2,A.map(function(t){return(0,u.RS)(t)})];case 3:return r.sent(),[2,t.map(function(){return 0})];case 4:return[2]}})})},E=h(function(t,e,n){return router_awaiter(void 0,void 0,void 0,function(){var o,i,c,l,d,p,h,v,g,_,I,b,S,E,Q,P,O,D,C,M,L,R,k,x,G,T,N,B,J,F,j,U,Z,z,V,H,K,W,q,Y,X,$,tt,te,tn;return(0,r.Jh)(this,function(tr){switch(tr.label){case 0:if(i=(o=(0,a._)((0,u.iM)(t,e),2))[0],c=o[1],(l=(0,u.vz)(n,i))===s.QI.parseUnits("0"))return[2,[]];return[4,router_awaiter(void 0,void 0,void 0,function(){var n,o;return(0,r.Jh)(this,function(r){switch(r.label){case 0:return[4,A()];case 1:var i,c;return n=r.sent(),i=s.QI.getPoolsData(),c={},Object.entries(i).forEach(function(t){var e=(0,a._)(t,2),n=e[0],r=e[1];return c[n]={is_lending:r.is_lending,wrapped_coin_addresses:r.wrapped_coin_addresses,underlying_coin_addresses:r.underlying_coin_addresses,token_address:r.token_address}}),o={inputCoinAddress:t,outputCoinAddress:e,routerGraph:n,poolData:c},[2,(0,u.YX)(y,routeFinderWorker,Object.assign({type:"findRoutes"},o))]}})})];case 1:d=tr.sent().map(function(t){return{route:t,_output:s.QI.parseUnits("0"),outputUsd:0,txCostUsd:0}}),p=[],tr.label=2;case 2:tr.trys.push([2,4,,18]),h=[],v=s.QI.contracts[s.QI.constants.ALIASES.router].multicallContract,g=!0,_=!1,I=void 0;try{for(b=d[Symbol.iterator]();!(g=(S=b.next()).done);g=!0)E=S.value,P=(Q=_getExchangeArgs(E.route))._route,O=Q._swapParams,(D=Q._pools)?h.push(v.get_dy(P,O,l,D)):h.push(v.get_dy(P,O,l))}catch(t){_=!0,I=t}finally{try{g||null==b.return||b.return()}finally{if(_)throw I}}return[4,s.QI.multicallProvider.all(h)];case 3:for(M=0,C=tr.sent();M<C.length;M++)d[M]._output=C[M],p.push(d[M]);return[3,18];case 4:tr.sent(),L=s.QI.contracts[s.QI.constants.ALIASES.router].contract,R=[],k=!0,x=!1,G=void 0,tr.label=5;case 5:tr.trys.push([5,15,16,17]),T=d[Symbol.iterator](),tr.label=6;case 6:if(k=(N=T.next()).done)return[3,14];J=(B=_getExchangeArgs(N.value.route))._route,F=B._swapParams,j=B._pools,tr.label=7;case 7:if(tr.trys.push([7,12,,13]),!j)return[3,9];return U=R.push,[4,L.get_dy(J,F,l,j,s.QI.constantOptions)];case 8:return U.apply(R,[tr.sent()]),[3,11];case 9:return Z=R.push,[4,L.get_dy(J,F,l,s.QI.constantOptions)];case 10:Z.apply(R,[tr.sent()]),tr.label=11;case 11:return[3,13];case 12:return tr.sent(),R.push(s.QI.parseUnits("-1",0)),[3,13];case 13:return k=!0,[3,6];case 14:return[3,17];case 15:return z=tr.sent(),x=!0,G=z,[3,17];case 16:try{k||null==T.return||T.return()}finally{if(x)throw G}return[7];case 17:for(V=0;V<R.length;V++){if(R[V]<0){console.log("Route ".concat(d[V].route.map(function(t){return t.poolId}).join(" --> ")," is unavailable"));continue}d[V]._output=R[V],p.push(d[V])}return[3,18];case 18:if(0===p.length)return[2,[]];if(1===p.length)return[2,p[0].route];return[4,Promise.all([_estimateGasForDifferentRoutes(p.map(function(t){return t.route}),t,e,l),(0,u.Hj)(e),f.get("".concat(w.w2,"/v1/getGas")),(0,u.Hj)(u.xb)])];case 19:if(K=(H=a._.apply(void 0,[tr.sent(),4]))[0],W=H[1],q=H[2],Y=H[3],X=q.data.data.gas.standard,$=p.map(function(t){return Number(s.QI.formatUnits(t._output,c))}).map(function(t){return t*W}),!m.M.includes(s.QI.chainId))return[3,21];return[4,(0,u.KJ)()];case 20:return te=tr.sent(),[3,22];case 21:te=0,tr.label=22;case 22:return tt=te,tn=K.map(function(t){return(0,u.ul)(Y,X,t,tt)}),p.forEach(function(t,e){t.outputUsd=$[e],t.txCostUsd=tn[e]}),[2,p.reduce(function(t,e){var n=t.outputUsd-t.txCostUsd-(e.outputUsd-e.txCostUsd);return n>0||0===n&&t.route.length<e.route.length?t:e}).route]}})})},{promise:!0,maxAge:3e5}),Q=h(function(t,e){return router_awaiter(void 0,void 0,void 0,function(){var n,o,a,i,u;return(0,r.Jh)(this,function(r){switch(r.label){case 0:if(n=s.QI.contracts[s.QI.constants.ALIASES.router].contract,a=(o=_getExchangeArgs(t))._route,i=o._swapParams,!(u=o._pools))return[3,2];
1return[4,n.get_dy(a,i,e,u,s.QI.constantOptions)];case 1:case 3:return[2,r.sent()];case 2:return[4,n.get_dy(a,i,e,s.QI.constantOptions)];case 4:return[2]}})})},{promise:!0,maxAge:15e3}),P={},_getBestRouteAndOutput=function(t,e,n){var r=(0,a._)((0,u.rP)(t,e),2),o=r[0],i=r[1],s="".concat(o,"-").concat(i,"-").concat(n);if(!(s in P))throw Error("You must call getBestRouteAndOutput first");return P[s]},getBestRouteAndOutput=function(t,e,n){return router_awaiter(void 0,void 0,void 0,function(){var o,i,c,l,d,p,f,h;return(0,r.Jh)(this,function(r){switch(r.label){case 0:return i=(o=(0,a._)((0,u.rP)(t,e),2))[0],c=o[1],d=(l=(0,a._)((0,u.iM)(i,c),2))[0],p=l[1],[4,E(i,c,n)];case 1:if(0===(f=r.sent()).length)return[2,{route:f,output:"0.0"}];return[4,Q(f,(0,u.vz)(n,d))];case 2:return h=r.sent(),P["".concat(i,"-").concat(c,"-").concat(n)]={route:f,output:s.QI.formatUnits(h+BigInt(1),p),timestamp:Date.now()},[2,{route:f,output:s.QI.formatUnits(h+BigInt(1),p)}]}})})},swapApprove=function(t,e){return router_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){switch(n.label){case 0:return[4,(0,u.Wz)([t],[e],s.QI.constants.ALIASES.router)];case 1:return[2,n.sent()]}})})},O=n(45846),D=JSON.parse('[{"name":"CommitAdmin","inputs":[{"type":"address","name":"admin","indexed":false}],"anonymous":false,"type":"event"},{"name":"ApplyAdmin","inputs":[{"type":"address","name":"admin","indexed":false}],"anonymous":false,"type":"event"},{"name":"ToggleAllowCheckpointToken","inputs":[{"type":"bool","name":"toggle_flag","indexed":false}],"anonymous":false,"type":"event"},{"name":"CheckpointToken","inputs":[{"type":"uint256","name":"time","indexed":false},{"type":"uint256","name":"tokens","indexed":false}],"anonymous":false,"type":"event"},{"name":"Claimed","inputs":[{"type":"address","name":"recipient","indexed":true},{"type":"uint256","name":"amount","indexed":false},{"type":"uint256","name":"claim_epoch","indexed":false},{"type":"uint256","name":"max_epoch","indexed":false}],"anonymous":false,"type":"event"},{"outputs":[],"inputs":[{"type":"address","name":"_voting_escrow"},{"type":"uint256","name":"_start_time"},{"type":"address","name":"_token"},{"type":"address","name":"_admin"},{"type":"address","name":"_emergency_return"}],"stateMutability":"nonpayable","type":"constructor"},{"name":"checkpoint_token","outputs":[],"inputs":[],"stateMutability":"nonpayable","type":"function","gas":"820723"},{"name":"ve_for_at","outputs":[{"type":"uint256","name":""}],"inputs":[{"type":"address","name":"_user"},{"type":"uint256","name":"_timestamp"}],"stateMutability":"view","type":"function","gas":"249417"},{"name":"checkpoint_total_supply","outputs":[],"inputs":[],"stateMutability":"nonpayable","type":"function","gas":"10592405"},{"name":"claim","outputs":[{"type":"uint256","name":""}],"inputs":[{"type":"address","name":"_addr"}],"stateMutability":"view","type":"function"},{"name":"claim_many","outputs":[{"type":"bool","name":""}],"inputs":[{"type":"address[20]","name":"_receivers"}],"stateMutability":"nonpayable","type":"function","gas":"26281905"},{"name":"burn","outputs":[{"type":"bool","name":""}],"inputs":[{"type":"address","name":"_coin"}],"stateMutability":"nonpayable","type":"function","gas":"823450"},{"name":"commit_admin","outputs":[],"inputs":[{"type":"address","name":"_addr"}],"stateMutability":"nonpayable","type":"function","gas":"37898"},{"name":"apply_admin","outputs":[],"inputs":[],"stateMutability":"nonpayable","type":"function","gas":"39534"},{"name":"toggle_allow_checkpoint_token","outputs":[],"inputs":[],"stateMutability":"nonpayable","type":"function","gas":"38673"},{"name":"kill_me","outputs":[],"inputs":[],"stateMutability":"nonpayable","type":"function","gas":"39587"},{"name":"recover_balance","outputs":[{"type":"bool","name":""}],"inputs":[{"type":"address","name":"_coin"}],"stateMutability":"nonpayable","type":"function","gas":"7778"},{"name":"start_time","outputs":[{"type":"uint256","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":"1541"},{"name":"time_cursor","outputs":[{"type":"uint256","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":"1571"},{"name":"time_cursor_of","outputs":[{"type":"uint256","name":""}],"inputs":[{"type":"address","name":"arg0"}],"stateMutability":"view","type":"function","gas":"1816"},{"name":"user_epoch_of","outputs":[{"type":"uint256","name":""}],"inputs":[{"type":"address","name":"arg0"}],"stateMutability":"view","type":"function","gas":"1846"},{"name":"last_token_time","outputs":[{"type":"uint256","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":"1661"},{"name":"tokens_per_week","outputs":[{"type":"uint256","name":""}],"inputs":[{"type":"uint256","name":"arg0"}],"stateMutability":"view","type":"function","gas":"1800"},{"name":"voting_escrow","outputs":[{"type":"address","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":"1721"},{"name":"token","outputs":[{"type":"address","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":"1751"},{"name":"total_received","outputs":[{"type":"uint256","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":"1781"},{"name":"token_last_balance","outputs":[{"type":"uint256","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":"1811"},{"name":"ve_supply","outputs":[{"type":"uint256","name":""}],"inputs":[{"type":"uint256","name":"arg0"}],"stateMutability":"view","type":"function","gas":"1950"},{"name":"admin","outputs":[{"type":"address","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":"1871"},{"name":"future_admin","outputs":[{"type":"address","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":"1901"},{"name":"can_checkpoint_token","outputs":[{"type":"bool","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":"1931"},{"name":"emergency_return","outputs":[{"type":"address","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":"1961"},{"name":"is_killed","outputs":[{"type":"bool","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":"1991"}]'),C=JSON.parse('[{"name":"CommitAdmin","inputs":[{"name":"admin","type":"address","indexed":false}],"anonymous":false,"type":"event"},{"name":"ApplyAdmin","inputs":[{"name":"admin","type":"address","indexed":false}],"anonymous":false,"type":"event"},{"name":"ToggleAllowCheckpointToken","inputs":[{"name":"toggle_flag","type":"bool","indexed":false}],"anonymous":false,"type":"event"},{"name":"CheckpointToken","inputs":[{"name":"time","type":"uint256","indexed":false},{"name":"tokens","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"Claimed","inputs":[{"name":"recipient","type":"address","indexed":true},{"name":"amount","type":"uint256","indexed":false},{"name":"claim_epoch","type":"uint256","indexed":false},{"name":"max_epoch","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"_voting_escrow","type":"address"},{"name":"_start_time","type":"uint256"},{"name":"_token","type":"address"},{"name":"_admin","type":"address"},{"name":"_emergency_return","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"checkpoint_token","inputs":[],"outputs":[]},{"stateMutability":"view","type":"function","name":"ve_for_at","inputs":[{"name":"_user","type":"address"},{"name":"_timestamp","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"checkpoint_total_supply","inputs":[],"outputs":[]},{"stateMutability":"view","type":"function","name":"claim","inputs":[{"name":"_addr","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"claim_many","inputs":[{"name":"_receivers","type":"address[20]"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"burn","inputs":[{"name":"_coin","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"commit_admin","inputs":[{"name":"_addr","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"apply_admin","inputs":[],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"toggle_allow_checkpoint_token","inputs":[],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"kill_me","inputs":[],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"recover_balance","inputs":[{"name":"_coin","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"start_time","
1inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"time_cursor","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"time_cursor_of","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"user_epoch_of","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"last_token_time","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"tokens_per_week","inputs":[{"name":"arg0","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"voting_escrow","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"total_received","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"token_last_balance","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"ve_supply","inputs":[{"name":"arg0","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"admin","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"future_admin","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"can_checkpoint_token","inputs":[],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"emergency_return","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"is_killed","inputs":[],"outputs":[{"name":"","type":"bool"}]}]'),boosting_awaiter=function(t,e,n,r){return new(n||(n=Promise))(function(o,a){function fulfilled(t){try{step(r.next(t))}catch(t){a(t)}}function rejected(t){try{step(r.throw(t))}catch(t){a(t)}}function step(t){var e;t.done?o(t.value):((e=t.value)instanceof n?e:new n(function(t){t(e)})).then(fulfilled,rejected)}step((r=r.apply(t,e||[])).next())})},getCrv=function(){for(var t=arguments.length,e=Array(t),n=0;n<t;n++)e[n]=arguments[n];return boosting_awaiter(void 0,void 0,void 0,function(){var t,n,o,a,i,c,l,d;return(0,r.Jh)(this,function(r){switch(r.label){case 0:return e=(0,u.oO)(e),[4,(0,u.UC)([s.QI.constants.ALIASES.crv],e)];case 1:t=r.sent(),n={},o=!0,a=!1,i=void 0;try{for(c=e[Symbol.iterator]();!(o=(l=c.next()).done);o=!0)n[d=l.value]=t[d].shift()}catch(t){a=!0,i=t}finally{try{o||null==c.return||c.return()}finally{if(a)throw i}}return[2,1===e.length?n[e[0]]:n]}})})},getLockedAmountAndUnlockTime=function(){for(var t=arguments.length,e=Array(t),n=0;n<t;n++)e[n]=arguments[n];return boosting_awaiter(void 0,void 0,void 0,function(){var t,n,o,a;return(0,r.Jh)(this,function(r){switch(r.label){case 0:return e=(0,u.oO)(e),t=s.QI.contracts[s.QI.constants.ALIASES.voting_escrow].multicallContract,n=e.map(function(e){return t.locked(e)}),[4,s.QI.multicallProvider.all(n)];case 1:return o=r.sent().map(function(t){return[s.QI.formatUnits(t[0]),1e3*Number(s.QI.formatUnits(t[1],0))]}),a={},e.forEach(function(t,e){a[t]={lockedAmount:o[e][0],unlockTime:o[e][1]}}),[2,1===e.length?a[e[0]]:a]}})})},M=42161===s.QI.chainId||10===s.QI.chainId?1e-5:.1,_topUpAnycall=function(t,e){return boosting_awaiter(void 0,void 0,void 0,function(){var n,o,a,i;return(0,r.Jh)(this,function(r){switch(r.label){case 0:if(1===s.QI.chainId)throw Error("There is no topUpAnycall method on ethereum network");return n=s.QI.contracts[s.QI.constants.ALIASES.anycall].contract,o=s.QI.parseUnits(String(t)),[4,n.deposit.estimateGas(s.QI.constants.ALIASES.voting_escrow_oracle,Object.assign(Object.assign({},s.QI.constantOptions),{value:o}))];case 1:if(a=r.sent(),e)return[2,(0,u.RS)(a)];return[4,s.QI.updateFeeData()];case 2:return r.sent(),i=(0,u.QM)((0,u.C_)(a)),[4,n.deposit(s.QI.constants.ALIASES.voting_escrow_oracle,Object.assign(Object.assign({},s.QI.options),{gasLimit:i,value:o}))];case 3:return[2,r.sent().hash]}})})},_sendBlockhash=function(t,e,n){return boosting_awaiter(void 0,void 0,void 0,function(){var o,a,i;return(0,r.Jh)(this,function(r){switch(r.label){case 0:if(1!==s.QI.chainId)throw Error("sendBlockhash method is on ethereum network only");return[4,(o=s.QI.contracts[s.QI.constants.ALIASES.voting_escrow_oracle].contract).send_blockhash.estimateGas(t,e,s.QI.c
1onstantOptions)];case 1:if(a=r.sent(),n)return[2,(0,u.RS)(a)];return[4,s.QI.updateFeeData()];case 2:return r.sent(),i=(0,u.QM)((0,u.C_)(a)),[4,o.send_blockhash(t,e,Object.assign(Object.assign({},s.QI.options),{gasLimit:i}))];case 3:return[2,r.sent().hash]}})})},_submitProof=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:s.QI.signerAddress,n=arguments.length>2?arguments[2]:void 0;return boosting_awaiter(void 0,void 0,void 0,function(){var o,a,i,l;return(0,r.Jh)(this,function(r){switch(r.label){case 0:if(1===s.QI.chainId)throw Error("submitProof method is on ethereum network only");if(""===e)throw Error("Pass address you want to submit proof for");return[4,(0,c.ZQ)(t,e)];case 1:return o=r.sent(),[4,(a=s.QI.contracts[s.QI.constants.ALIASES.voting_escrow_oracle].contract).submit_state.estimateGas(e,"0x"+o.block_header_rlp,"0x"+o.proof_rlp,s.QI.constantOptions)];case 2:if(i=r.sent(),n)return[2,(0,u.RS)(i)];return[4,s.QI.updateFeeData()];case 3:return r.sent(),l=(0,u.QM)((0,u.C_)(i)),[4,a.submit_state(e,"0x"+o.block_header_rlp,"0x"+o.proof_rlp,Object.assign(Object.assign({},s.QI.options),{gasLimit:l}))];case 4:return[2,r.sent().hash]}})})},L=n(73509),R=n(93243),k=n(26692);function encodeBytes32String(t){let e=(0,k.Y0)(t);if(e.length>31)throw Error("bytes32 string must be less than 32 bytes");return(0,g.SK)(e,32)}var x=n(37961),G=JSON.parse('[{"name":"Approval","inputs":[{"name":"_owner","type":"address","indexed":true},{"name":"_spender","type":"address","indexed":true},{"name":"_value","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"Transfer","inputs":[{"name":"_from","type":"address","indexed":true},{"name":"_to","type":"address","indexed":true},{"name":"_value","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"stateMutability":"nonpayable","type":"constructor","inputs":[],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"transfer","inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}],"gas":"78632"},{"stateMutability":"nonpayable","type":"function","name":"transferFrom","inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}],"gas":"116616"},{"stateMutability":"nonpayable","type":"function","name":"approve","inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}],"gas":"39151"},{"stateMutability":"nonpayable","type":"function","name":"permit","inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_deadline","type":"uint256"},{"name":"_v","type":"uint8"},{"name":"_r","type":"bytes32"},{"name":"_s","type":"bytes32"}],"outputs":[{"name":"","type":"bool"}],"gas":"102221"},{"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","inputs":[{"name":"_spender","type":"address"},{"name":"_added_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}],"gas":"41711"},{"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","inputs":[{"name":"_spender","type":"address"},{"name":"_subtracted_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}],"gas":"41737"},{"stateMutability":"nonpayable","type":"function","name":"mint","inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}],"gas":"80902"},{"stateMutability":"nonpayable","type":"function","name":"mint_relative","inputs":[{"name":"_to","type":"address"},{"name":"frac","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}],"gas":"81224"},{"stateMutability":"nonpayable","type":"function","name":"burnFrom","inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}],"gas":"80954"},{"stateMutability":"view","type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8"}],"gas":"630"},{"stateMutability":"view","type":"function","name":"version","inputs":[],"outputs":[{"name":"","type":"string"}],"gas":"6287"},{"stateMutability":"nonpayable","type":"function","name":"initialize","inputs":[{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_pool","type":"address"}],"outputs":[],"gas":"259459"}
1,{"stateMutability":"view","type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string"}],"gas":"13109"},{"stateMutability":"view","type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string"}],"gas":"10868"},{"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32"}],"gas":"2880"},{"stateMutability":"view","type":"function","name":"balanceOf","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"uint256"}],"gas":"3176"},{"stateMutability":"view","type":"function","name":"allowance","inputs":[{"name":"arg0","type":"address"},{"name":"arg1","type":"address"}],"outputs":[{"name":"","type":"uint256"}],"gas":"3472"},{"stateMutability":"view","type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256"}],"gas":"2970"},{"stateMutability":"view","type":"function","name":"minter","inputs":[],"outputs":[{"name":"","type":"address"}],"gas":"3000"},{"stateMutability":"view","type":"function","name":"nonces","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"uint256"}],"gas":"3296"}]'),T=n(73247),N=n(10753),deploy_awaiter=function(t,e,n,r){return new(n||(n=Promise))(function(o,a){function fulfilled(t){try{step(r.next(t))}catch(t){a(t)}}function rejected(t){try{step(r.throw(t))}catch(t){a(t)}}function step(t){var e;t.done?o(t.value):((e=t.value)instanceof n?e:new n(function(t){t(e)})).then(fulfilled,rejected)}step((r=r.apply(t,e||[])).next())})},_deployStablePlainPool=function(t,e,n,o,a,i,c,l,d,p,f){return deploy_awaiter(void 0,void 0,void 0,function(){var h,v,g,m,y,_,w,I,b,A,S,E,Q,P;return(0,r.Jh)(this,function(r){switch(r.label){case 0:if(t.length>32)throw Error("Max name length = 32");if(e.length>10)throw Error("Max symbol length = 10");if(![2,3,4].includes(n.length))throw Error("Invalid number of coins. Must be 2, 3 or 4");if((0,u.BN)(a).lt(.04))throw Error("fee must be >= 0.04%. Passed fee = ".concat(a));if((0,u.BN)(a).gt(1))throw Error("fee must be <= 1%. Passed fee = ".concat(a));if(![0,1,2,3].includes(i))throw Error("Invalid assetType. Must be one of: 0 = USD, 1 = ETH, 2 = BTC, 3 = Other");if(1!==s.QI.chainId||n.length>2){if(![0,1,2,3].includes(c))throw Error("Invalid implementationIdx. Must be one 0, 1, 2 or 3")}else if(![0,1,2,3,4,5].includes(c))throw Error("Invalid implementationIdx. Must be one 0, 1, 2, 3, 4 or 5");if(l<=0)throw Error("emaTime must be > 0. Passed emaTime = ".concat(l));return g=(0,u.vz)(o,0),m=(0,u.vz)(a,8),y=n.concat(Array(4-n.length).fill(s.QI.constants.ZERO_ADDRESS)),_=1===s.QI.chainId&&2===n.length&&4===c&&600!==l||1===s.QI.chainId&&2===n.length&&5===c&&600!==l||(42161===s.QI.chainId||10==s.QI.chainId)&&2===n.length&&0===c&&600!==l,w=(42161===s.QI.chainId||10==s.QI.chainId)&&2===n.length&&2===c,I=_||w?s.QI.constants.ALIASES.factory_admin:s.QI.constants.ALIASES.factory,b=s.QI.contracts[I].contract,A=[t,e,y,g,m,i,c],(_||w)&&A.push((0,u.vz)(Math.floor(l/Math.log(2)),0)),w&&(S="0x00000000"===p?"0x00000000":R.id(p).substring(0,10),A.push(S,d)),[4,(h=b[E=w?"deploy_plain_pool_and_set_oracle":"deploy_plain_pool"]).estimateGas.apply(h,(0,L._)(A).concat([s.QI.constantOptions]))];case 1:if(Q=r.sent(),f)return[2,(0,u.RS)(Q)];return P=(0,u.QM)((0,u.C_)(Q)),[4,s.QI.updateFeeData()];case 2:return r.sent(),[4,(v=b)[E].apply(v,(0,L._)(A).concat([Object.assign(Object.assign({},s.QI.options),{gasLimit:P})]))];case 3:return[2,r.sent()]}})})},_deployStableNgPlainPool=function(t,e,n,o,a,i,c,l){var d=arguments.length>8&&void 0!==arguments[8]?arguments[8]:600,p=arguments.length>9?arguments[9]:void 0,f=arguments.length>10?arguments[10]:void 0,h=arguments.length>11?arguments[11]:void 0;return deploy_awaiter(void 0,void 0,void 0,function(){var v,g,m,y,_,w,I,b,A,S,E,Q,P,O;return(0,r.Jh)(this,function(r){switch(r.label){case 0:if(t.length>32)throw Error("Max name length = 32");if(e.length>10)throw Error("Max symbol length = 10");if(n.length<1)throw Error("Invalid number of coins. Must be more than 1");if(n.length>9)throw Error("Invalid number of coins. Must be less than 9");if((0,u.BN)(a).gt(1))throw Error("fee must be <= 1%. Passed fee = ".concat(a));if(m=0===p.length?Array(n.length).fill(s.QI.constants.ZERO_ADDRESS):p,y=0===f.length?Array(n.length).fill("0x00000000"):f,n.length!==c.length)throw Error("Invalid length of assetTypes. Must be same coins length");if(n.length!==m.length)throw Error("Invalid length of oracleAddresses. Must be same coins length");if(n.length!==y.length)throw Error("Invalid length of methodNames. Must be same coins length");if(c.forEach(function(t,e){if(![0,1,2,3].includes(t))throw Error("Invalid assetType. Must be one of: 0 = Standard, 1 = Oracle, 2 = Rebasing, 3 = ERC4626 for assetTypes[".concat(e,"]"))}),![0].includes(l))throw Error("Invalid implementationIdx. Must be 0");if(d<=0)throw Error("emaTime must be > 0. Passed emaTime = ".concat(d));return _=(0,u.vz)(o,0),w=(0,u.vz)(a,8),I=(0,u.vz)(i,10),b=n,A=s.QI.constants.ALIASES.stable_ng_factory,S=s.QI.contracts[A].contract,E=[],y.forEac
1h(function(t){"0x00000000"===t||""===t?E.push("0x00000000"):E.push(R.id(t).substring(0,10))}),Q=[t,e,b,_,w,I,d,l,c,E,m],[4,(v=S.deploy_plain_pool).estimateGas.apply(v,(0,L._)(Q).concat([s.QI.constantOptions]))];case 1:if(P=r.sent(),h)return[2,(0,u.RS)(P)];return O=(0,u.QM)((0,u.C_)(P)),[4,s.QI.updateFeeData()];case 2:return r.sent(),[4,(g=S).deploy_plain_pool.apply(g,(0,L._)(Q).concat([Object.assign(Object.assign({},s.QI.options),{gasLimit:O})]))];case 3:return[2,r.sent()]}})})},getDeployedStablePlainPoolAddress=function(t){return deploy_awaiter(void 0,void 0,void 0,function(){var e;return(0,r.Jh)(this,function(n){switch(n.label){case 0:return[4,t.wait()];case 1:if(!(e=n.sent()))throw Error("Can't get tx info");return[2,e.logs[0].address.toLowerCase()]}})})},_setOracle=function(t,e,n,o){return deploy_awaiter(void 0,void 0,void 0,function(){var a,i,c,l;return(0,r.Jh)(this,function(r){switch(r.label){case 0:return s.QI.setContract(t,T),a=s.QI.contracts[t].contract,i="0x00000000"===n?"0x00000000":R.id(n).substring(0,10),[4,a.set_oracle.estimateGas(i,e,s.QI.c
1onstantOptions)];case 1:if(c=r.sent(),o)return[2,Number(c)];return l=(0,u.QM)(c),[4,s.QI.updateFeeData()];case 2:return r.sent(),[4,a.set_oracle(i,e,Object.assign(Object.assign({},s.QI.options),{gasLimit:l}))];case 3:return[2,r.sent()]}})})},_deployStableMetaPool=function(t,e,n,o,a,i,c,l){return deploy_awaiter(void 0,void 0,void 0,function(){var d,p,f,h,v;return(0,r.Jh)(this,function(r){switch(r.label){case 0:if(e.length>32)throw Error("Max name length = 32");if(n.length>10)throw Error("Max symbol length = 10");if((0,u.BN)(i).lt(.04))throw Error("fee must be >= 0.04%. Passed fee = ".concat(i));if((0,u.BN)(i).gt(1))throw Error("fee must be <= 1%. Passed fee = ".concat(i));if(![0,1].includes(c))throw Error("Invalid implementationIdx. Must be one 0 or 1");return d=(0,u.vz)(a,0),p=(0,u.vz)(i,8),[4,(f=s.QI.contracts[s.QI.constants.ALIASES.factory].contract).deploy_metapool.estimateGas(t,e,n,o,d,p,c,s.QI.constantOptions)];case 1:if(h=r.sent(),l)return[2,(0,u.RS)(h)];return v=(0,u.QM)((0,u.C_)(h)),[4,s.QI.updateFeeData()];case 2:return r.sent(),[4,f.deploy_metapool(t,e,n,o,d,p,c,Object.assign(Object.assign({},s.QI.options),{gasLimit:v}))];case 3:return[2,r.sent()]}})})},_deployStableNgMetaPool=function(t,e,n,o,a,i,c,l){var d=arguments.length>8&&void 0!==arguments[8]?arguments[8]:600,p=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,f=arguments.length>10&&void 0!==arguments[10]?arguments[10]:"0x00000000",h=arguments.length>11&&void 0!==arguments[11]?arguments[11]:s.QI.constants.ZERO_ADDRESS,v=arguments.length>12?arguments[12]:void 0;return deploy_awaiter(void 0,void 0,void 0,function(){var g,m,y,_,w,I,b;return(0,r.Jh)(this,function(r){switch(r.label){case 0:if(e.length>32)throw Error("Max name length = 32");if(n.length>10)throw Error("Max symbol length = 10");if((0,u.BN)(i).gt(1))throw Error("fee must be <= 1%. Passed fee = ".concat(i));if(![0,1].includes(p))throw Error("Invalid implementationIdx. Must be one 0 or 1");return g=(0,u.vz)(a,0),m=(0,u.vz)(i,8),y=(0,u.vz)(c,10),_="0x00000000"===f?"0x00000000":R.id(f).substring(0,10),[4,(w=s.QI.contracts[s.QI.constants.ALIASES.stable_ng_factory].contract).deploy_metapool.estimateGas(t,e,n,o,g,m,y,d,p,l,_,h,s.QI.constantOptions)];case 1:if(I=r.sent(),v)return[2,(0,u.RS)(I)];return b=(0,u.QM)((0,u.C_)(I)),[4,s.QI.updateFeeData()];case 2:return r.sent(),[4,w.deploy_metapool(t,e,n,o,g,m,y,d,p,l,_,h,Object.assign(Object.assign({},s.QI.options),{gasLimit:b}))];case 3:return[2,r.sent()]}})})},getDeployedStableMetaPoolAddress=function(t){return deploy_awaiter(void 0,void 0,void 0,function(){var e,n,a,i;return(0,r.Jh)(this,function(r){switch(r.label){case 0:return[4,t.wait()];case 1:if(!(e=r.sent()))throw Error("Can't get tx info");for(n=e.logs.length-1;n>-1;n--)if("args"in e.logs[n])return a=(0,u.H8)(e.logs[n].args[1]),i=(0,o.M)(a),[2,e.logs[i.underlyingCoins.length].address.toLowerCase()];throw Error("Can't get deployed metapool address")}})})},_deployCryptoPool=function(t,e,n,o,a,i,c,l,d,p,f,h,v){return deploy_awaiter(void 0,void 0,void 0,function(){var g,m,y,_,w,I,b,A,S,E,Q,P;return(0,r.Jh)(this,function(r){switch(r.label){case 0:if(t.length>32)throw Error("Max name length = 32");if(e.length>10)throw Error("Max symbol length = 10");if(2!==n.length)throw Error("Invalid number of coins. Must be 2");if(n[0]===n[1])throw Error("Coins must be different");if((0,u.BN)(o).lt(4e3))throw Error("A must be >= 4000. Passed A = ".concat(o));if((0,u.BN)(o).gt(4e9))throw Error("A must be <= 4 * 10 ** 9. Passed A = ".concat(o));if((0,u.BN)(a).lt(1e-8))throw Error("gamma must be >= 1e-8. Passed gamma = ".concat(a));if((0,u.BN)(a).gt(.02))throw Error("gamma must be <= 0.02. Passed gamma = ".concat(a));if((0,u.BN)(i).lt(.005))throw Error("midFee must be >= 0.005. Passed midFee = ".concat(i));if((0,u.BN)(i).gt(100))throw Error("midFee must be <= 100. Passed midFee = ".concat(i));if((0,u.BN)(c).lt((0,u.BN)(i)))throw Error("outFee must be >= midFee. Passed outFee = ".concat(c," < midFee = ").concat(i));if((0,u.BN)(c).gt(100))throw Error("outFee must be <= 100. Passed outFee = ".concat(c));if((0,u.BN)(l).lt(0))throw Error("allowedExtraProfit must be >= 0. Passed allowedExtraProfit = ".concat(l));if((0,u.BN)(l).gt(.01))throw Error("allowedExtraProfit must be <= 0.01. Passed allowedExtraProfit = ".concat(l));if((0,u.BN)(d).lt(0))throw Error("feeGamma must be >= 0. Passed feeGamma = ".concat(d));if((0,u.BN)(d).gt(1))throw Error("feeGamma must be <= 1. Passed feeGamma = ".concat(d));if((0,u.BN)(p).lt(0))throw Error("adjustmentStep must be >= 0. Passed adjustmentStep=".concat(p));if((0,u.BN)(p).gt(1))throw Error("adjustmentStep must be <= 1. Passed adjustmentStep=".concat(p));if((0,u.BN)(f).lt(0))throw Error("maHalfTime must be >= 0. Passed maHalfTime=".concat(f));if((0,u.BN)(f).gt(604800))throw Error("maHalfTime must be <= 604800. Passed maHalfTime=".concat(f));if((0,u.BN)(h).lt(1e-12))throw Error("initialPrice must be >= 1e-12. Passed initialPrice=".concat(h));if((0,u.BN)(h).gt(1e12))throw Error("initialPrice must be <= 1e12. Passed initialPrice=".concat(h));return g=(0,u.vz)(o,0),m=(0,u.vz)(a),y=(0,u.vz)(i,8),_=(0,u.vz)(c,8),w=(0,u.vz)(l),I=(0,u.vz)(d),b=(0,u.vz)(p),A=(0,u.vz)(f,0),S=(0,u.vz)(h),[4,(E=s.QI.contracts[s.QI.constants.ALIASES.crypto_factory].contract).deploy_pool.estimateGas(t,e,n,g,m,y,_,w,I,b,5e9,A,S,s.QI.constantOptions)];case 1:if(Q=r.sent(),v)return[2,(0,u.RS)(Q)];return P=(0,u.QM)((0,u.C_)(Q)),[4,s.QI.updateFeeData()];case 2:return r.sent(),[4,E.deploy_pool(t,e,n,g,m,y,_,w,I,b,5e9,A,S,Object.assign(Object.assign({},s.QI.options),{gasLimit:P}))];case 3:return[2,r.sent()]}})})},_deployTwocryptoPool=function(t,e,n,o,a,i,c,l,d,p,f,h,v){return deploy_awaiter(void 0,void 0,void 0,function(){var g,m,y,_,w,I,b,A,S,E,Q,P,O,D;return(0,r.Jh)(this,function(r){switch(r.label){case 0:if(t.length>32)throw Error("Max name length = 32");if(e.length>10)throw Error("Max symbol length = 10");if(2!==n.length)throw Error("Invalid number of coins. Must be 2");if(n[0]===n[1])throw Error("Coins must be different");
1if((0,u.BN)(o).lt(4e3))throw Error("A must be >= 4000. Passed A = ".concat(o));if((0,u.BN)(o).gt(4e9))throw Error("A must be <= 4 * 10 ** 9. Passed A = ".concat(o));if(g=(0,u.BN)(1e-8),m=(0,u.BN)(.199),(0,u.BN)(a).lt(g))throw Error("gamma must be >= ".concat(g,". Passed gamma = ").concat(a));if((0,u.BN)(a).gt(m))throw Error("gamma must be <= ".concat(m,". Passed gamma = ").concat(a));if((0,u.BN)(i).lt(.005))throw Error("midFee must be >= 0.005. Passed midFee = ".concat(i));if((0,u.BN)(i).gt(100))throw Error("midFee must be <= 100. Passed midFee = ".concat(i));if((0,u.BN)(c).lt((0,u.BN)(i)))throw Error("outFee must be >= midFee. Passed outFee = ".concat(c," < midFee = ").concat(i));if((0,u.BN)(c).gt(100))throw Error("outFee must be <= 100. Passed outFee = ".concat(c));if((0,u.BN)(l).lt(0))throw Error("allowedExtraProfit must be >= 0. Passed allowedExtraProfit = ".concat(l));if((0,u.BN)(l).gt(.01))throw Error("allowedExtraProfit must be <= 0.01. Passed allowedExtraProfit = ".concat(l));if((0,u.BN)(d).lt(0))throw Error("feeGamma must be >= 0. Passed feeGamma = ".concat(d));if((0,u.BN)(d).gt(1))throw Error("feeGamma must be <= 1. Passed feeGamma = ".concat(d));if((0,u.BN)(p).lt(0))throw Error("adjustmentStep must be >= 0. Passed adjustmentStep=".concat(p));if((0,u.BN)(p).gt(1))throw Error("adjustmentStep must be <= 1. Passed adjustmentStep=".concat(p));if((0,u.BN)(f).lt(0))throw Error("maHalfTime must be >= 0. Passed maHalfTime=".concat(f));if((0,u.BN)(f).gt(604800))throw Error("maHalfTime must be <= 604800. Passed maHalfTime=".concat(f));if((0,u.BN)(h).lt(1e-12))throw Error("initialPrice must be >= 1e-12. Passed initialPrice=".concat(h));if((0,u.BN)(h).gt(1e12))throw Error("initialPrice must be <= 1e12. Passed initialPrice=".concat(h));return y=(0,u.vz)(o,0),_=(0,u.vz)(a),w=(0,u.vz)(i,8),I=(0,u.vz)(c,8),b=(0,u.vz)(l),A=(0,u.vz)(d),S=(0,u.vz)(p),E=(0,u.vz)(f,0),Q=(0,u.vz)(h),[4,(P=s.QI.contracts[s.QI.constants.ALIASES.twocrypto_factory].contract).deploy_pool.estimateGas(t,e,n,0,y,_,w,I,A,b,S,E,Q,s.QI.constantOptions)];case 1:if(O=r.sent(),v)return[2,(0,u.RS)(O)];return D=(0,u.QM)((0,u.C_)(O)),[4,s.QI.updateFeeData()];case 2:return r.sent(),[4,P.deploy_pool(t,e,n,0,y,_,w,I,A,b,S,E,Q,Object.assign(Object.assign({},s.QI.options),{gasLimit:D}))];case 3:return[2,r.sent()]}})})},_deployTricryptoPool=function(t,e,n,o,a,i,c,l,d,p,f,h,v){return deploy_awaiter(void 0,void 0,void 0,function(){var g,m,y,_,w,I,b,A,S,E,Q,P;return(0,r.Jh)(this,function(r){switch(r.label){case 0:if(t.length>64)throw Error("Max name length = 64");if(e.length>32)throw Error("Max symbol length = 32");if(3!==n.length)throw Error("Invalid number of coins. Must be 3");if(n[0]===n[1]||n[1]===n[2]||n[0]===n[2])throw Error("Coins must be different");if((0,u.BN)(o).lt(2700))throw Error("A must be >= 2700. Passed A = ".concat(o));if((0,u.BN)(o).gt(27e7))throw Error("A must be <= 27 * 10 ** 7. Passed A = ".concat(o));if((0,u.BN)(a).lt(1e-8))throw Error("gamma must be >= 1e-8. Passed gamma = ".concat(a));if((0,u.BN)(a).gt(.05))throw Error("gamma must be <= 0.05. Passed gamma = ".concat(a));if((0,u.BN)(i).lt(0))throw Error("midFee must be >= 0. Passed midFee = ".concat(i));if((0,u.BN)(i).gt(100))throw Error("midFee must be <= 100. Passed midFee = ".concat(i));if((0,u.BN)(c).lt((0,u.BN)(i)))throw Error("outFee must be >= midFee. Passed outFee = ".concat(c," < midFee = ").concat(i));if((0,u.BN)(c).gt(100))throw Error("outFee must be <= 100. Passed outFee = ".concat(c));if((0,u.BN)(l).lt(0))throw Error("allowedExtraProfit must be >= 0. Passed allowedExtraProfit = ".concat(l));if((0,u.BN)(l).gt(1))throw Error("allowedExtraProfit must be <= 1. Passed allowedExtraProfit = ".concat(l));if((0,u.BN)(d).lt(0))throw Error("feeGamma must be >= 0. Passed feeGamma = ".concat(d));if((0,u.BN)(d).gt(1))throw Error("feeGamma must be <= 1. Passed feeGamma = ".concat(d));if((0,u.BN)(p).lt(0))throw Error("adjustmentStep must be >= 0. Passed adjustmentStep=".concat(p));if((0,u.BN)(p).gt(1))throw Error("adjustmentStep must be <= 1. Passed adjustmentStep=".concat(p));if((0,u.BN)(f).lt(60))throw Error("maHalfTime must be >= 60. Passed maHalfTime=".concat(f));if((0,u.BN)(f).gt(604800))throw Error("maHalfTime must be <= 604800. Passed maHalfTime=".concat(f));if(2!==h.length)throw Error("Invalid number of initial prices. Must be 2");if((0,u.BN)(h[0]).lt(1e-12))throw Error("initialPrices[0] must be >= 1e-12. Passed initialPrices[0]=".concat(h[0]));if((0,u.BN)(h[0]).gt(1e12))throw Error("initialPrices[0] must be <= 1e12. Passed initialPrices[0]=".concat(h[0]));if((0,u.BN)(h[1]).lt(1e-12))throw Error("initialPrices[1] must be >= 1e-12. Passed initialPrices[1]=".concat(h[1]));if((0,u.BN)(h[1]).gt(1e12))throw Error("initialPrices[1] must be <= 1e12. Passed initialPrices[1]=".concat(h[1]));return g=(0,u.vz)(o,0),m=(0,u.vz)(a),y=(0,u.vz)(i,8),_=(0,u.vz)(c,8),w=(0,u.vz)(l),I=(0,u.vz)(d),b=(0,u.vz)(p),A=(0,u.vz)(Math.floor(f/Math.log(2)),0),S=[(0,u.vz)(h[0]),(0,u.vz)(h[1])],[4,(E=s.QI.contracts[s.QI.constants.ALIASES.tricrypto_factory].contract).deploy_pool.estimateGas(t,e,n,s.QI.constants.ZERO_ADDRESS,N.N[s.QI.chainId].implementationIdx,g,m,y,_,I,w,b,A,S,s.QI.constantOptions)];case 1:if(Q=r.sent(),v)return[2,(0,u.RS)(Q)];return P=(0,u.QM)((0,u.C_)(Q)),[4,s.QI.updateFeeData()];case 2:return r.sent(),[4,E.deploy_pool(t,e,n,s.QI.constants.NATIVE_TOKEN.wrappedAddress,N.N[s.QI.chainId].implementationIdx,g,m,y,_,I,w,b,A,S,Object.assign(Object.assign({},s.QI.options),{gasLimit:P}))];case 3:return[2,r.sent()]}})})},_deployGauge=function(t,e,n){return deploy_awaiter(void 0,void 0,void 0,function(){var o,a,i;return(0,r.Jh)(this,function(r){switch(r.label){case 0:if(1!==s.QI.chainId)throw Error("There is no deployGauge method on sidechain network");return[4,(o=s.QI.contracts[e].contract).deploy_gauge.estimateGas(t,s.QI.c
1onstantOptions)];case 1:if(a=r.sent(),n)return[2,(0,u.RS)(a)];return i=(0,u.QM)((0,u.C_)(a)),[4,s.QI.updateFeeData()];case 2:return r.sent(),[4,o.deploy_gauge(t,Object.assign(Object.assign({},s.QI.options),{gasLimit:i}))];case 3:return[2,r.sent()]}})})},_deployGaugeSidechain=function(t,e,n){return deploy_awaiter(void 0,void 0,void 0,function(){var o,a,i,c;return(0,r.Jh)(this,function(r){switch(r.label){case 0:if(1===s.QI.chainId)throw Error("There is no deployGaugeSidechain method on ethereum network");return o=s.QI.contracts[s.QI.constants.ALIASES.child_gauge_factory].contract,a=encodeBytes32String(e),[4,o.deploy_gauge.estimateGas(t,x._.bytes32(a),s.QI.signerAddress,s.QI.constantOptions)];case 1:if(i=r.sent(),n)return[2,(0,u.RS)(i)];return c=(0,u.QM)((0,u.C_)(i)),[4,s.QI.updateFeeData()];case 2:return r.sent(),[4,o.deploy_gauge(t,x._.bytes32(a),s.QI.signerAddress,Object.assign(Object.assign({},s.QI.options),{gasLimit:c}))];case 3:return[2,r.sent()]}})})},_deployGaugeMirror=function(t,e,n){return deploy_awaiter(void 0,void 0,void 0,function(){var o,a,i,c,l;return(0,r.Jh)(this,function(r){switch(r.label){case 0:if(1!==s.QI.chainId)throw Error("There is no deployGaugeMirror method on sidechain network");return o=42161!==t?s.fM[s.QI.chainId].ALIASES.root_gauge_factory:s.fM[s.QI.chainId].ALIASES.root_gauge_factory_arbitrum,a=s.QI.contracts[o].contract,i=encodeBytes32String(e),[4,a.deploy_gauge.estimateGas(t,x._.bytes32(i),s.QI.constantOptions)];case 1:if(c=r.sent(),n)return[2,(0,u.RS)(c)];return l=(0,u.QM)((0,u.C_)(c)),[4,s.QI.updateFeeData()];case 2:return r.sent(),[4,a.deploy_gauge(t,x._.bytes32(i),Object.assign(Object.assign({},s.QI.options),{gasLimit:l}))];case 3:return[2,r.sent()]}})})},deployGaugeEstimateGas=function(t,e){return deploy_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){switch(n.label){case 0:return[4,_deployGauge(t,e,!0)];case 1:return[2,n.sent()]}})})},deployGauge=function(t,e){return deploy_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){switch(n.label){case 0:return[4,_deployGauge(t,e,!1)];case 1:return[2,n.sent()]}})})},deployGaugeSidechainEstimateGas=function(t,e){return deploy_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){switch(n.label){case 0:return[4,_deployGaugeSidechain(t,e,!0)];case 1:return[2,n.sent()]}})})},deployGaugeSidechain=function(t,e){return deploy_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){switch(n.label){case 0:return[4,_deployGaugeSidechain(t,e,!1)];case 1:return[2,n.sent()]}})})},deployGaugeMirrorEstimateGas=function(t,e){return deploy_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){switch(n.label){case 0:return[4,_deployGaugeMirror(t,e,!0)];case 1:return[2,n.sent()]}})})},deployGaugeMirror=function(t,e){return deploy_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){switch(n.label){case 0:return[4,_deployGaugeMirror(t,e,!1)];case 1:return[2,n.sent()]}})})},getDeployedGaugeAddress=function(t){return deploy_awaiter(void 0,void 0,void 0,function(){var e;return(0,r.Jh)(this,function(n){switch(n.label){case 0:return[4,t.wait()];case 1:if(!(e=n.sent()))throw Error("Can't get tx info");return[2,e.logs[0].args[e.logs[0].args.length-1].toLowerCase()]}})})},getDeployedGaugeMirrorAddressByTx=function(t){return deploy_awaiter(void 0,void 0,void 0,function(){var e;return(0,r.Jh)(this,function(n){switch(n.label){case 0:if(1!==s.QI.chainId)throw Error("There is no getDeployedGaugeMirrorAddressByTx method on sidechain network");return[4,t.wait()];case 1:if(!(e=n.sent()))throw Error("Can't get tx info");return[2,e.logs[1].args[e.logs[1].args.length-1].toLowerCase()]}})})},getDeployedGaugeMirrorAddress=function(t){return deploy_awaiter(void 0,void 0,void 0,function(){var e,n,o;return(0,r.Jh)(this,function(r){switch(r.label){case 0:if(1!==s.QI.chainId)throw Error("There is no getDeployedGaugeMirrorAddress method on sidechain network");return e=42161!==t?s.fM[s.QI.chainId].ALIASES.root_gauge_factory:s.fM[s.QI.chainId].ALIASES.root_gauge_factory_arbitrum,[4,(n=s.QI.contracts[e].contract).get_gauge_count(t)];case 1:return o=Number(r.sent())-1,[4,n.get_gauge(t,o)];case 2:return[2,r.sent()]}})})}
1,B=n(30443),dao_awaiter=function(t,e,n,r){return new(n||(n=Promise))(function(o,a){function fulfilled(t){try{step(r.next(t))}catch(t){a(t)}}function rejected(t){try{step(r.throw(t))}catch(t){a(t)}}function step(t){var e;t.done?o(t.value):((e=t.value)instanceof n?e:new n(function(t){t(e)})).then(fulfilled,rejected)}step((r=r.apply(t,e||[])).next())})},userCrv=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return dao_awaiter(void 0,void 0,void 0,function(){var e;return(0,r.Jh)(this,function(n){switch(n.label){case 0:if(1!==s.QI.chainId)throw Error("Ethereum-only method");return t=(0,u.zL)(t),[4,s.QI.contracts[s.QI.constants.ALIASES.crv].contract.balanceOf(t)];case 1:return e=n.sent(),[2,s.QI.formatUnits(e)]}})})},userVeCrv=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return dao_awaiter(void 0,void 0,void 0,function(){var e,n,o,i,c,l,d;return(0,r.Jh)(this,function(r){switch(r.label){case 0:if(1!==s.QI.chainId)throw Error("Ethereum-only method");return t=(0,u.zL)(t),e=s.QI.contracts[s.QI.constants.ALIASES.voting_escrow].multicallContract,[4,s.QI.multicallProvider.all([e.balanceOf(t),e.totalSupply(),e.locked(t)])];case 1:return o=(n=a._.apply(void 0,[r.sent(),3]))[0],i=n[1],l=(c=n[2])[0],d=c[1],[2,{veCrv:s.QI.formatUnits(o),veCrvPct:(0,u.Md)(o).div((0,u.Md)(i)).times(100).toString(),lockedCrv:s.QI.formatUnits(l),unlockTime:1e3*Number(s.QI.formatUnits(d,0))}]}})})},crvLockIsApproved=function(t){return dao_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(e){switch(e.label){case 0:if(1!==s.QI.chainId)throw Error("Ethereum-only method");return[4,(0,u.Bl)([s.QI.constants.ALIASES.crv],[t],s.QI.signerAddress,s.QI.constants.ALIASES.voting_escrow)];case 1:return[2,e.sent()]}})})},_createCrvLock=function(t,e,n){return dao_awaiter(void 0,void 0,void 0,function(){var o,a,i,c,l,d;return(0,r.Jh)(this,function(r){switch(r.label){case 0:if(1!==s.QI.chainId)throw Error("Ethereum-only method");return[4,userCrv()];case 1:if(o=r.sent(),(0,u.BN)(o).lt(t))throw Error("Not enough CRV. Wallet balance: ".concat(o,", required: ").concat(t));return[4,crvLockIsApproved(t)];case 2:if(!r.sent())throw Error("Token allowance is needed to estimate gas");return a=(0,u.vz)(t),i=Math.floor(Date.now()/1e3)+86400*e,[4,(c=s.QI.contracts[s.QI.constants.ALIASES.voting_escrow].contract).create_lock.estimateGas(a,i,s.QI.constantOptions)];case 3:if(l=r.sent(),n)return[2,(0,u.RS)(l)];return[4,s.QI.updateFeeData()];case 4:return r.sent(),d=(0,u.QM)((0,u.C_)(l)),[4,c.create_lock(a,i,Object.assign(Object.assign({},s.QI.options),{gasLimit:d}))];case 5:return[2,r.sent().hash]}})})},_increaseCrvLockedAmount=function(t,e){return dao_awaiter(void 0,void 0,void 0,function(){var n,o,a,i,c;return(0,r.Jh)(this,function(r){switch(r.label){case 0:if(1!==s.QI.chainId)throw Error("Ethereum-only method");return[4,userCrv()];case 1:if(n=r.sent(),(0,u.BN)(n).lt(t))throw Error("Not enough CRV. Wallet balance: ".concat(n,", required: ").concat(t));return[4,crvLockIsApproved(t)];case 2:if(!r.sent())throw Error("Token allowance is needed to estimate gas");return o=(0,u.vz)(t),[4,(a=s.QI.contracts[s.QI.constants.ALIASES.voting_escrow].contract).increase_amount.estimateGas(o,s.QI.constantOptions)];case 3:if(i=r.sent(),e)return[2,(0,u.RS)(i)];return[4,s.QI.updateFeeData()];case 4:return r.sent(),c=(0,u.QM)((0,u.C_)(i)),[4,a.increase_amount(o,Object.assign(Object.assign({},s.QI.options),{gasLimit:c}))];case 5:return[2,r.sent().hash]}})})},_increaseCrvUnlockTime=function(t,e){return dao_awaiter(void 0,void 0,void 0,function(){var n,o,a,i;return(0,r.Jh)(this,function(r){switch(r.label){case 0:if(1!==s.QI.chainId)throw Error("Ethereum-only method");return[4,userVeCrv()];case 1:return n=Math.floor(r.sent().unlockTime/1e3)+86400*t,[4,(o=s.QI.contracts[s.QI.constants.ALIASES.voting_escrow].contract).increase_unlock_time.estimateGas(n,s.QI.constantOptions)];case 2:if(a=r.sent(),e)return[2,(0,u.RS)(a)];return[4,s.QI.updateFeeData()];case 3:return r.sent(),i=(0,u.QM)((0,u.C_)(a)),[4,o.increase_unlock_time(n,Object.assign(Object.assign({},s.QI.options),{gasLimit:i}))];case 4:return[2,r.sent().hash]}})})},_withdrawLockedCrv=function(t){return dao_awaiter(void 0,void 0,void 0,function(){var e,n,o;return(0,r.Jh)(this,function(r){switch(r.label){case 0:if(1!==s.QI.chainId)throw Error("Ethereum-only method");return[4,userVeCrv()];case 1:if(r.sent().unlockTime>Date.now())throw Error("The lock haven't expired yet");return[4,(e=s.QI.contracts[s.QI.constants.ALIASES.voting_escrow].contract).withdraw.estimateGas(s.QI.constantOptions)];case 2:if(n=r.sent(),t)return[2,(0,u.RS)(n)];return[4,s.QI.updateFeeData()];case 3:return r.sent(),o=(0,u.QM)((0,u.C_)(n)),[4,e.withdraw(Object.assign(Object.assign({},s.QI.options),{gasLimit:o}))];case 4:return[2,r.sent().hash]}})})},_claimFees=function(t,e){return dao_awaiter(void 0,void 0,void 0,function(){var n,o,a;return(0,r.Jh)(this,function(r){switch(r.label){case 0:return t=(0,u.zL)(t),[4,(n=s.QI.contracts[s.QI.constants.ALIASES.fee_distributor].contract).claim.estimateGas(t,s.QI.c
1onstantOptions)];case 1:if(o=r.sent(),e)return[2,(0,u.RS)(o)];return[4,s.QI.updateFeeData()];case 2:return r.sent(),a=(0,u.QM)((0,u.C_)(o)),[4,n.claim(t,Object.assign(Object.assign({},s.QI.options),{gasLimit:a}))];case 3:return[2,r.sent().hash]}})})},voteForGaugeNextTime=function(t){return dao_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(e){switch(e.label){case 0:if(1!==s.QI.chainId)throw Error("Ethereum-only method");return[4,s.QI.contracts[s.QI.constants.ALIASES.gauge_controller].contract.last_user_vote(s.QI.signerAddress,t,s.QI.constantOptions)];case 1:return[2,(Number(e.sent())+864e3)*1e3]}})})},_voteForGauge=function(t,e,n){return dao_awaiter(void 0,void 0,void 0,function(){var o,i,c,l,d,p,f,h,v,g;return(0,r.Jh)(this,function(r){switch(r.label){case 0:if(1!==s.QI.chainId)throw Error("Ethereum-only method");return o=s.QI.contracts[s.QI.constants.ALIASES.gauge_controller].contract,i=s.QI.contracts[s.QI.constants.ALIASES.gauge_controller].multicallContract,c=(0,u.vz)(e,2),[4,s.QI.multicallProvider.all([i.vote_user_power(s.QI.signerAddress),i.vote_user_slopes(s.QI.signerAddress,t)])];case 1:if(d=(l=a._.apply(void 0,[r.sent(),2]))[0],p=l[1],f=BigInt(1e4)-d,c>f+p[1])throw Error("User have only ".concat(s.QI.formatUnits(f,2)," % free power. Trying to use ").concat(s.QI.formatUnits(c,2)));return[4,voteForGaugeNextTime(t)];case 2:if(h=r.sent(),Date.now()<h)throw Error("User can't change vote for this gauge earlier than ".concat(new Date(h)));return[4,o.vote_for_gauge_weights.estimateGas(t,c,s.QI.constantOptions)];case 3:if(v=r.sent(),n)return[2,(0,u.RS)(v)];return[4,s.QI.updateFeeData()];case 4:return r.sent(),g=(0,u.QM)((0,u.C_)(v)),[4,o.vote_for_gauge_weights(t,c,Object.assign(Object.assign({},s.QI.options),{gasLimit:g}))];case 5:return[2,r.sent().hash]}})})},_voteForProposal=function(t,e,n,o){return dao_awaiter(void 0,void 0,void 0,function(){var a,i,c,l,d,p;return(0,r.Jh)(this,function(r){switch(r.label){case 0:if(1!==s.QI.chainId)throw Error("Ethereum-only method");return a="PARAMETER"===t?s.QI.constants.ALIASES.voting_parameter:s.QI.constants.ALIASES.voting_ownership,i=s.QI.contracts[a].contract,c=n?BigInt(1e18):BigInt(0),l=BigInt(1e18)-c,[4,i.votePct.estimateGas(e,c,l,!0,s.QI.constantOptions)];case 1:if(d=r.sent(),o)return[2,(0,u.RS)(d)];return[4,s.QI.updateFeeData()];case 2:return r.sent(),p=(0,u.QM)((0,u.C_)(d)),[4,i.votePct(e,c,l,!1,Object.assign(Object.assign({},s.QI.options),{gasLimit:p}))];case 3:return[2,r.sent().hash]}})})},_executeVote=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return dao_awaiter(void 0,void 0,void 0,function(){var o,a,i,c;return(0,r.Jh)(this,function(r){switch(r.label){case 0:if(1!==s.QI.chainId)throw Error("Ethereum-only method");return o="PARAMETER"===t?s.QI.constants.ALIASES.voting_parameter:s.QI.constants.ALIASES.voting_ownership,[4,(a=s.QI.contracts[o].contract).executeVote.estimateGas(e,s.QI.constantOptions)];case 1:if(i=r.sent(),n)return[2,(0,u.RS)(i)];return[4,s.QI.updateFeeData()];case 2:return r.sent(),c=(0,u.QM)((0,u.C_)(i)),[4,a.executeVote(e,Object.assign(Object.assign({},s.QI.options),{gasLimit:c}))];case 3:return[2,r.sent().hash]}})})},lib_awaiter=function(t,e,n,r){return new(n||(n=Promise))(function(o,a){function fulfilled(t){try{step(r.next(t))}catch(t){a(t)}}function rejected(t){try{step(r.throw(t))}catch(t){a(t)}}function step(t){var e;t.done?o(t.value):((e=t.value)instanceof n?e:new n(function(t){t(e)})).then(fulfilled,rejected)}step((r=r.apply(t,e||[])).next())})},J={init:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return lib_awaiter(this,void 0,void 0,function(){return(0,r.Jh)(this,function(r){switch(r.label){case 0:return[4,s.QI.init(t,e,n)];case 1:return r.sent(),this.signerAddress=s.QI.signerAddress,this.chainId=s.QI.chainId,[2]}})})},chainId:0,signerAddress:"",setCustomFeeData:function(t){s.QI.setCustomFeeData(t)},getPoolList:s.QI.getPoolList,getMainPoolList:s.QI.getMainPoolList,getUserPoolListByLiquidity:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s.QI.signerAddress;return __awaiter(void 0,void 0,void 0,function(){var e,n,o,a;return(0,r.Jh)(this,function(r){switch(r.label){case 0:return[4,_getUserLpBalances(e=s.QI.getPoolList(),t,!1)];case 1:for(a=0,n=r.sent(),o=[];a<e.length;a++)n[a]>0&&o.push(e[a]);return[2,o]}})})},getUserPoolListByClaimable:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s.QI.signerAddress;return __awaiter(void 0,void 0,void 0,function(){var e,n,o,a;return(0,r.Jh)(this,function(r){switch(r.label){case 0:return[4,_getUserClaimable(e=s.QI.getPoolList(),t,!1)];case 1:for(a=0,n=r.sent(),o=[];a<e.length;a++)n[a].length>0&&o.push(e[a]);return[2,o]}})})},getUserPoolList:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s.QI.signerAddress,e=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return __awaiter(void 0,void 0,void 0,function(){var n,o,c,d,f,h;return(0,r.Jh)(this,function(v){switch(v.label){case 0:var g;return[4,Promise.all([_getUserLpBalances(n=s.QI.getPoolList(),t,!1),e?(g=n,__awaiter(void 0,void 0,void 0,function(){var e,n,o,a,c,d,f,h,v,m,y,_,w,I,b,A,S,E,Q,P,O,D,C,M,L,R,k,x,G,T,N,B,J,F,j,U,Z,z,V,H,K,W,q,Y,X,$,tt,te,tn,tr,to,ta;return(0,r.Jh)(this,function(r){switch(r.label){case 0:if(!((o=g).length>0))return[3,6];a=[],c=!0,d=!1,f=void 0;try{for(h=o[Symbol.iterator]();!(c=(v=h.next()).done);c=!0){if(m=v.value,y=(0,i.M)(m),324===s.QI.chainId||2222===s.QI.chainId||y.gauge.address===s.QI.constants.ZERO_ADDRESS){a.push(!1);continue}_=s.QI.contracts[y.gauge.address].contract,a.push("inflation_rate()"in _||"inflation_rate(uint256)"in _)}}catch(t){d=!0,f=t}finally{try{c||null==h.return||h.return()}finally{if(d)throw f}}w={},I=0,r.label=1;case 1:if(!(I<o.length))return[3,4];return b=(0,i.M)(o[I]),[4,(0,u.fr)()];case 2:A=r.sent(),w[o[I]]=(null!==(e=A[b.gauge.address])&&void 0!==e?e:[]).map(function(t){return{token:t.tokenAddress,symbol:t.symbol,decimals:Number(t.decimals)}}),r.label=3;case 3:return I++,[3,1];case 4:for(E=0,S=[];E<o.length;E++)if(Q=o[E],(P=(0,i.M)(Q)).gauge.address!==s.QI.constants.ZERO_ADDRESS){O=s.QI.contracts[P.gauge.address].contract,D=s.QI.contracts[P.gauge.address].multicallContract,a[E]&&S.push(D.claimable_tokens(t)),C=!0,M=!1,L=void 0;try{for(R=w[Q][Symbol.iterator]();!(C=(k=R.next()).done);C=!0)x=k.value,(0,u.vu)(x.token,l),"claimable_reward(address,address)"in O?S.push(D.claimable_reward(t,x.token)):"claimable_reward(address)"in O&&S.push(D.claimable_reward(t),D.claimed_rewards_for(t))}catch(t){M=!0,L=t}finally{try{C||null==R.return||R.return()}
1finally{if(M)throw L}}}return[4,s.QI.multicallProvider.all(S)];case 5:for(T=0,G=r.sent();T<o.length;T++)if(N=o[T],B=(0,i.M)(N),p[t]||(p[t]={}),p[t][N]={rewards:[],time:Date.now()},B.gauge.address!==s.QI.constants.ZERO_ADDRESS){J=s.QI.contracts[B.gauge.address].contract,a[T]&&(F=s.QI.constants.ALIASES.crv,j=G.shift(),Number(U=s.QI.formatUnits(j,18))>0&&p[t][N].rewards.push({token:F,symbol:"CRV",amount:U})),Z=!0,z=!1,V=void 0;try{for(H=w[N][Symbol.iterator]();!(Z=(K=H.next()).done);Z=!0)W=K.value,q=G.shift(),"claimable_reward(address)"in J&&(Y=G.shift(),q-=Y),X=s.QI.formatUnits(q,W.decimals),Number(X)>0&&p[t][N].rewards.push({token:W.token,symbol:W.symbol,amount:X})}catch(t){z=!0,V=t}finally{try{Z||null==H.return||H.return()}finally{if(z)throw V}}}r.label=6;case 6:$=[],tt=!0,te=!1,tn=void 0;try{for(tr=g[Symbol.iterator]();!(tt=(to=tr.next()).done);tt=!0)ta=to.value,$.push(null===(n=p[t])||void 0===n?void 0:n[ta].rewards)}catch(t){te=!0,tn=t}finally{try{tt||null==tr.return||tr.return()}finally{if(te)throw tn}}return[2,$]}})})):_getUserClaimable(n,t,!1)])];case 1:for(c=(o=a._.apply(void 0,[v.sent(),2]))[0],d=o[1],f=[],h=0;h<n.length;h++)(c[h]>0||d[h].length>0)&&f.push(n[h]);return[2,f]}})})},getUserLiquidityUSD:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:s.QI.signerAddress;return __awaiter(void 0,void 0,void 0,function(){var n,o,a,s,c;return(0,r.Jh)(this,function(r){switch(r.label){case 0:return[4,_getUserLpBalances(t,e,!0)];case 1:n=r.sent(),o=[],a=0,r.label=2;case 2:if(!(a<t.length))return[3,5];return s=(0,i.M)(t[a]),[4,(0,u.Hj)(s.lpToken)];case 3:c=r.sent(),o.push((0,u.Md)(n[a]).times(c).toFixed(8)),r.label=4;case 4:return a++,[3,2];case 5:return[2,o]}})})},getUserClaimable:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:s.QI.signerAddress;return __awaiter(void 0,void 0,void 0,function(){var n,o,a,i,s,c,l,d,p,f,h;return(0,r.Jh)(this,function(r){switch(r.label){case 0:return[4,_getUserClaimable(t,e,!0)];case 1:n=r.sent(),o=[],a=0,r.label=2;case 2:if(!(a<t.length))return[3,11];o.push([]),i=!0,s=!1,c=void 0,r.label=3;case 3:r.trys.push([3,8,9,10]),l=n[a][Symbol.iterator](),r.label=4;case 4:if(i=(d=l.next()).done)return[3,7];return p=d.value,[4,(0,u.Hj)(p.token)];case 5:f=r.sent(),o[o.length-1].push(Object.assign(Object.assign({},p),{price:f})),r.label=6;case 6:return i=!0,[3,4];case 7:return[3,10];case 8:return h=r.sent(),s=!0,c=h,[3,10];case 9:try{i||null==l.return||l.return()}finally{if(s)throw c}return[7];case 10:return a++,[3,2];case 11:return[2,o]}})})},PoolTemplate:o._,getBasePools:u.Ru,getPool:o.M,getUsdRate:u.UX,getGasPriceFromL1:u.KJ,getGasPriceFromL2:u.mD,getGasInfoForL2:u.Gy,getGasPrice:u.o3,getTVL:u.QD,getBalances:u.ld,getAllowance:u.RC,hasAllowance:u.Bl,ensureAllowance:u.Wz,getCoinsData:u.Bs,getVolume:u.FC,hasDepositAndStake:u.h9,hasRouter:u.fx,factory:{fetchPools:s.QI.fetchFactoryPools,fetchNewPools:s.QI.fetchNewFactoryPools,getPoolList:s.QI.getFactoryPoolList,deployPlainPool:function(t,e,n,o,a,i,u){var c=arguments.length>7&&void 0!==arguments[7]?arguments[7]:600,l=arguments.length>8&&void 0!==arguments[8]?arguments[8]:s.QI.constants.ZERO_ADDRESS,d=arguments.length>9&&void 0!==arguments[9]?arguments[9]:"0x00000000";return deploy_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(r){switch(r.label){case 0:return[4,_deployStablePlainPool(t,e,n,o,a,i,u,c,l,d,!1)];case 1:return[2,r.sent()]}})})},setOracle:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:s.QI.constants.ZERO_ADDRESS,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"0x00000000";return deploy_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(r){switch(r.label){case 0:return[4,_setOracle(t,e,n,!1)];case 1:return[2,r.sent()]}})})},deployMetaPool:function(t,e,n,o,a,i,s){return deploy_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(r){switch(r.label){case 0:return[4,_deployStableMetaPool(t,e,n,o,a,i,s,!1)];case 1:return[2,r.sent()]}})})},deployGauge:function(t){return lib_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(e){return[2,deployGauge(t,s.QI.c
1onstants.ALIASES.factory)]})})},deployGaugeSidechain:function(t,e){return lib_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){return[2,deployGaugeSidechain(t,e)]})})},deployGaugeMirror:function(t,e){return lib_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){return[2,deployGaugeMirror(t,e)]})})},getDeployedPlainPoolAddress:getDeployedStablePlainPoolAddress,getDeployedMetaPoolAddress:getDeployedStableMetaPoolAddress,getDeployedGaugeAddress:getDeployedGaugeAddress,getDeployedGaugeMirrorAddress:getDeployedGaugeMirrorAddress,getDeployedGaugeMirrorAddressByTx:getDeployedGaugeMirrorAddressByTx,fetchRecentlyDeployedPool:s.QI.fetchRecentlyDeployedFactoryPool,gaugeImplementation:function(){return s.QI.getGaugeImplementation("factory")},estimateGas:{deployPlainPool:function(t,e,n,o,a,i,u){var c=arguments.length>7&&void 0!==arguments[7]?arguments[7]:600,l=arguments.length>8&&void 0!==arguments[8]?arguments[8]:s.QI.constants.ZERO_ADDRESS,d=arguments.length>9&&void 0!==arguments[9]?arguments[9]:"0x00000000";return deploy_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(r){switch(r.label){case 0:return[4,_deployStablePlainPool(t,e,n,o,a,i,u,c,l,d,!0)];case 1:return[2,r.sent()]}})})},setOracle:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:s.QI.constants.ZERO_ADDRESS,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"0x00000000";return deploy_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(r){switch(r.label){case 0:return[4,_setOracle(t,e,n,!0)];case 1:return[2,r.sent()]}})})},deployMetaPool:function(t,e,n,o,a,i,s){return deploy_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(r){switch(r.label){case 0:return[4,_deployStableMetaPool(t,e,n,o,a,i,s,!0)];case 1:return[2,r.sent()]}})})},deployGauge:function(t){return lib_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(e){return[2,deployGaugeEstimateGas(t,s.QI.constants.ALIASES.factory)]})})},deployGaugeSidechain:function(t,e){return lib_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){return[2,deployGaugeSidechainEstimateGas(t,e)]})})},deployGaugeMirror:function(t,e){return lib_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){return[2,deployGaugeMirrorEstimateGas(t,e)]})})}}},crvUSDFactory:{fetchPools:s.QI.fetchCrvusdFactoryPools,getPoolList:s.QI.getCrvusdFactoryPoolList},EYWAFactory:{fetchPools:s.QI.fetchEywaFactoryPools,getPoolList:s.QI.getEywaFactoryPoolList},stableNgFactory:{fetchPools:s.QI.fetchStableNgFactoryPools,fetchNewPools:s.QI.fetchNewStableNgFactoryPools,getPoolList:s.QI.getStableNgFactoryPoolList,deployPlainPool:function(t,e,n,o,a,i,s,u,c,l,d){return deploy_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(r){switch(r.label){case 0:return[4,_deployStableNgPlainPool(t,e,n,o,a,i,s,u,c,l,d,!1)];case 1:return[2,r.sent()]}})})},deployMetaPool:function(t,e,n,o,a,i,s,u,c,l,d,p){return deploy_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(r){switch(r.label){case 0:return[4,_deployStableNgMetaPool(t,e,n,o,a,i,s,l,u,c,d,p,!1)];case 1:return[2,r.sent()]}})})},deployGauge:function(t){return lib_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(e){return[2,deployGauge(t,s.QI.constants.ALIASES.stable_ng_factory)]})})},deployGaugeSidechain:function(t,e){return lib_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){return[2,deployGaugeSidechain(t,e)]})})},deployGaugeMirror:function(t,e){return lib_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){return[2,deployGaugeMirror(t,e)]})})},getDeployedPlainPoolAddress:getDeployedStablePlainPoolAddress,getDeployedMetaPoolAddress:getDeployedStableMetaPoolAddress,getDeployedGaugeAddress:getDeployedGaugeAddress,getDeployedGaugeMirrorAddress:getDeployedGaugeMirrorAddress,getDeployedGaugeMirrorAddressByTx:getDeployedGaugeMirrorAddressByTx,fetchRecentlyDeployedPool:s.QI.fetchRecentlyDeployedStableNgFactoryPool,estimateGas:{deployPlainPool:function(t,e,n,o,a,i,s,u,c,l,d){return deploy_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(r){switch(r.label){case 0:return[4,_deployStableNgPlainPool(t,e,n,o,a,i,s,u,c,l,d,!0)];case 1:return[2,r.sent()]}})})},deployMetaPool:function(t,e,n,o,a,i,s,u,c,l,d,p){return deploy_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(r){switch(r.label){case 0:return[4,_deployStableNgMetaPool(t,e,n,o,a,i,s,u,c,l,d,p,!0)];case 1:return[2,r.sent()]}})})}}},cryptoFactory:{fetchPools:s.QI.fetchCryptoFactoryPools,fetchNewPools:s.QI.fetchNewCryptoFactoryPools,getPoolList:s.QI.getCryptoFactoryPoolList,deployPool:function(t,e,n,o,a,i,s,u,c,l,d,p){return deploy_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(r){switch(r.label){case 0:return[4,_deployCryptoPool(t,e,n,o,a,i,s,u,c,l,d,p,!1)];case 1:return[2,r.sent()]}})})},deployGauge:function(t){return lib_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(e){return[2,deployGauge(t,s.QI.c
1onstants.ALIASES.crypto_factory)]})})},deployGaugeSidechain:function(t,e){return lib_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){return[2,deployGaugeSidechain(t,e)]})})},deployGaugeMirror:function(t,e){return lib_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){return[2,deployGaugeMirror(t,e)]})})},getDeployedPoolAddress:function(t){return deploy_awaiter(void 0,void 0,void 0,function(){var e,n;return(0,r.Jh)(this,function(r){switch(r.label){case 0:return[4,t.wait()];case 1:if(!(e=r.sent()))throw Error("Can't get tx info");return n=e.logs[0].address,[4,new O.CH(n,G,s.QI.provider).minter(s.QI.constantOptions)];case 2:return[2,r.sent().toLowerCase()]}})})},getDeployedGaugeAddress:getDeployedGaugeAddress,getDeployedGaugeMirrorAddress:getDeployedGaugeMirrorAddress,getDeployedGaugeMirrorAddressByTx:getDeployedGaugeMirrorAddressByTx,fetchRecentlyDeployedPool:s.QI.fetchRecentlyDeployedCryptoFactoryPool,gaugeImplementation:function(){return s.QI.getGaugeImplementation("factory-crypto")},estimateGas:{deployPool:function(t,e,n,o,a,i,s,u,c,l,d,p){return deploy_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(r){switch(r.label){case 0:return[4,_deployCryptoPool(t,e,n,o,a,i,s,u,c,l,d,p,!0)];case 1:return[2,r.sent()]}})})},deployGauge:function(t){return lib_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(e){return[2,deployGaugeEstimateGas(t,s.QI.constants.ALIASES.crypto_factory)]})})},deployGaugeSidechain:function(t,e){return lib_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){return[2,deployGaugeSidechainEstimateGas(t,e)]})})},deployGaugeMirror:function(t,e){return lib_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){return[2,deployGaugeMirrorEstimateGas(t,e)]})})}}},twocryptoFactory:{fetchPools:s.QI.fetchTworyptoFactoryPools,fetchNewPools:s.QI.fetchNewTwocryptoFactoryPools,getPoolList:s.QI.getTworyptoFactoryPoolList,deployPool:function(t,e,n,o,a,i,s,u,c,l,d,p){return deploy_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(r){switch(r.label){case 0:return[4,_deployTwocryptoPool(t,e,n,o,a,i,s,u,c,l,d,p,!1)];case 1:return[2,r.sent()]}})})},deployGauge:function(t){return lib_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(e){return[2,deployGauge(t,s.QI.constants.ALIASES.twocrypto_factory)]})})},deployGaugeSidechain:function(t,e){return lib_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){return[2,deployGaugeSidechain(t,e)]})})},deployGaugeMirror:function(t,e){return lib_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){return[2,deployGaugeMirror(t,e)]})})},getDeployedPoolAddress:function(t){return deploy_awaiter(void 0,void 0,void 0,function(){var e,n;return(0,r.Jh)(this,function(r){switch(r.label){case 0:return[4,t.wait()];case 1:if(!(e=r.sent()))throw Error("Can't get tx info");for(n=e.logs.length-1;n>-1;n--)if("args"in e.logs[n])return[2,e.logs[n].args[0]];throw Error("Can't get deployed tricrypto pool address")}})})},getDeployedGaugeAddress:getDeployedGaugeAddress,getDeployedGaugeMirrorAddress:getDeployedGaugeMirrorAddress,getDeployedGaugeMirrorAddressByTx:getDeployedGaugeMirrorAddressByTx,fetchRecentlyDeployedPool:s.QI.fetchRecentlyDeployedTwocryptoFactoryPool,gaugeImplementation:function(){return s.QI.getGaugeImplementation("factory-twocrypto")},estimateGas:{deployPool:function(t,e,n,o,a,i,s,u,c,l,d,p){return deploy_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(r){switch(r.label){case 0:return[4,_deployTwocryptoPool(t,e,n,o,a,i,s,u,c,l,d,p,!0)];case 1:return[2,r.sent()]}})})},deployGauge:function(t){return lib_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(e){return[2,deployGaugeEstimateGas(t,s.QI.constants.ALIASES.twocrypto_factory)]})})},deployGaugeSidechain:function(t,e){return lib_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){return[2,deployGaugeSidechainEstimateGas(t,e)]})})},deployGaugeMirror:function(t,e){return lib_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){return[2,deployGaugeMirrorEstimateGas(t,e)]})})}}},tricryptoFactory:{fetchPools:s.QI.fetchTricryptoFactoryPools,fetchNewPools:s.QI.fetchNewTricryptoFactoryPools,getPoolList:s.QI.getTricryptoFactoryPoolList,deployPool:function(t,e,n,o,a,i,s,u,c,l,d,p){return deploy_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(r){switch(r.label){case 0:return[4,_deployTricryptoPool(t,e,n,o,a,i,s,u,c,l,d,p,!1)];case 1:return[2,r.sent()]}})})},deployGauge:function(t){return lib_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(e){return[2,deployGauge(t,s.QI.c
1onstants.ALIASES.tricrypto_factory)]})})},deployGaugeSidechain:function(t,e){return lib_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){return[2,deployGaugeSidechain(t,e)]})})},deployGaugeMirror:function(t,e){return lib_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){return[2,deployGaugeMirror(t,e)]})})},getDeployedPoolAddress:function(t){return deploy_awaiter(void 0,void 0,void 0,function(){var e,n;return(0,r.Jh)(this,function(r){switch(r.label){case 0:return[4,t.wait()];case 1:if(!(e=r.sent()))throw Error("Can't get tx info");for(n=e.logs.length-1;n>-1;n--)if("args"in e.logs[n])return[2,e.logs[n].args[0]];throw Error("Can't get deployed tricrypto pool address")}})})},getDeployedGaugeAddress:getDeployedGaugeAddress,getDeployedGaugeMirrorAddress:getDeployedGaugeMirrorAddress,getDeployedGaugeMirrorAddressByTx:getDeployedGaugeMirrorAddressByTx,fetchRecentlyDeployedPool:s.QI.fetchRecentlyDeployedTricryptoFactoryPool,gaugeImplementation:function(){return s.QI.getGaugeImplementation("factory-tricrypto")},estimateGas:{deployPool:function(t,e,n,o,a,i,s,u,c,l,d,p){return deploy_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(r){switch(r.label){case 0:return[4,_deployTricryptoPool(t,e,n,o,a,i,s,u,c,l,d,p,!0)];case 1:return[2,r.sent()]}})})},deployGauge:function(t){return lib_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(e){return[2,deployGaugeEstimateGas(t,s.QI.constants.ALIASES.tricrypto_factory)]})})},deployGaugeSidechain:function(t,e){return lib_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){return[2,deployGaugeSidechainEstimateGas(t,e)]})})},deployGaugeMirror:function(t,e){return lib_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){return[2,deployGaugeMirrorEstimateGas(t,e)]})})}}},estimateGas:{ensureAllowance:u.go},boosting:{getCrv:getCrv,getLockedAmountAndUnlockTime:getLockedAmountAndUnlockTime,getVeCrv:function(){for(var t=arguments.length,e=Array(t),n=0;n<t;n++)e[n]=arguments[n];return boosting_awaiter(void 0,void 0,void 0,function(){var t,n,o,a;return(0,r.Jh)(this,function(r){switch(r.label){case 0:return e=(0,u.oO)(e),t=s.QI.contracts[s.QI.constants.ALIASES.voting_escrow].multicallContract,n=e.map(function(e){return t.balanceOf(e)}),[4,s.QI.multicallProvider.all(n)];case 1:return o=r.sent().map(function(t){return s.QI.formatUnits(t)}),a={},e.forEach(function(t,e){a[t]=o[e]}),[2,1===e.length?a[e[0]]:a]}})})},getVeCrvPct:function(){for(var t=arguments.length,e=Array(t),n=0;n<t;n++)e[n]=arguments[n];return boosting_awaiter(void 0,void 0,void 0,function(){var t,n,o,i,c,l,d,p,f,h,v,g;return(0,r.Jh)(this,function(r){switch(r.label){case 0:return e=(0,u.oO)(e),n=[(t=s.QI.contracts[s.QI.constants.ALIASES.voting_escrow].multicallContract).totalSupply()],e.forEach(function(e){n.push(t.balanceOf(e))}),[4,s.QI.multicallProvider.all(n)];case 1:o=r.sent().map(function(t){return(0,u.Md)(t)}),i=(0,a._)(o.splice(0,1),1)[0],c={},e.forEach(function(t,e){c[t]=o[e].div(i).times(100)}),l={},d=!0,p=!1,f=void 0;try{for(h=Object.entries(c)[Symbol.iterator]();!(d=(v=h.next()).done);d=!0)l[(g=v.value)[0]]=(0,u.Ae)(g[1])}catch(t){p=!0,f=t}finally{try{d||null==h.return||h.return()}finally{if(p)throw f}}return[2,1===e.length?l[e[0]]:l]}})})},calcUnlockTime:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Date.now();return 6048e5*Math.floor((e/1e3+86400*t)/604800)},isApproved:function(t){return boosting_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(e){switch(e.label){case 0:return[4,(0,u.Bl)([s.QI.constants.ALIASES.crv],[t],s.QI.signerAddress,s.QI.constants.ALIASES.voting_escrow)];case 1:return[2,e.sent()]}})})},approve:function(t){return boosting_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(e){switch(e.label){case 0:return[4,(0,u.Wz)([s.QI.constants.ALIASES.crv],[t],s.QI.constants.ALIASES.voting_escrow,!1)];case 1:return[2,e.sent()]}})})},createLock:function(t,e){return boosting_awaiter(void 0,void 0,void 0,function(){var n,o,a,i;return(0,r.Jh)(this,function(r){switch(r.label){case 0:return n=(0,u.vz)(t),o=Math.floor(Date.now()/1e3)+86400*e,[4,(0,u.WA)([s.QI.constants.ALIASES.crv],[n],s.QI.constants.ALIASES.voting_escrow,!1)];case 1:return r.sent(),a=s.QI.contracts[s.QI.constants.ALIASES.voting_escrow].contract,[4,s.QI.updateFeeData()];case 2:return r.sent(),[4,a.create_lock.estimateGas(n,o,s.QI.constantOptions)];case 3:return i=u.QM.apply(void 0,[u.C_.apply(void 0,[r.sent()])]),[4,a.create_lock(n,o,Object.assign(Object.assign({},s.QI.options),{gasLimit:i}))];case 4:return[2,r.sent().hash]}})})},increaseAmount:function(t){return boosting_awaiter(void 0,void 0,void 0,function(){var e,n,o;return(0,r.Jh)(this,function(r){switch(r.label){case 0:return e=(0,u.vz)(t),[4,(0,u.WA)([s.QI.constants.ALIASES.crv],[e],s.QI.constants.ALIASES.voting_escrow,!1)];case 1:return r.sent(),n=s.QI.contracts[s.QI.constants.ALIASES.voting_escrow].contract,[4,s.QI.updateFeeData()];case 2:return r.sent(),[4,n.increase_amount.estimateGas(e,s.QI.constantOptions)];case 3:return o=u.QM.apply(void 0,[u.C_.apply(void 0,[r.sent()])]),[4,n.increase_amount(e,Object.assign(Object.assign({},s.QI.options),{gasLimit:o}))];case 4:return[2,r.sent().hash]}})})},increaseUnlockTime:function(t){return boosting_awaiter(void 0,void 0,void 0,function(){var e,n,o;return(0,r.Jh)(this,function(r){switch(r.label){case 0:return[4,getLockedAmountAndUnlockTime()];case 1:return e=Math.floor(r.sent().unlockTime/1e3)+86400*t,n=s.QI.contracts[s.QI.constants.ALIASES.voting_escrow].contract,[4,s.QI.updateFeeData()];case 2:return r.sent(),[4,n.increase_unlock_time.estimateGas(e,s.QI.constantOptions)];case 3:return o=u.QM.apply(void 0,[u.C_.apply(void 0,[r.sent()])]),[4,n.increase_unlock_time(e,Object.assign(Object.assign({},s.QI.options),{gasLimit:o}))];case 4:return[2,r.sent().hash]}})})},withdrawLockedCrv:function(){return boosting_awaiter(void 0,void 0,void 0,function(){var t,e;return(0,r.Jh)(this,function(n){switch(n.label){case 0:return t=s.QI.contracts[s.QI.constants.ALIASES.voting_escrow].contract,[4,s.QI.updateFeeData()];case 1:return n.sent(),[4,t.withdraw.estimateGas(s.QI.constantOptions)];case 2:return e=u.QM.apply(void 0,[u.C_.apply(void 0,[n.sent()])]),[4,t.withdraw(Object.assign(Object.assign({},s.QI.options),{gasLimit:e}))];case 3:return[2,n.sent().hash]}})})},claimableFees:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return boosting_awaiter(void 0,void 0,void 0,function(){var e,n;return(0,r.Jh)(this,function(r){switch(r.label){case 0:return t=t||s.QI.signerAddress,e=new O.CH(s.QI.constants.ALIASES.fee_distributor,D,s.QI.provider),n=s.QI.formatUnits,[4,e.claim(t,s.QI.c
1onstantOptions)];case 1:return[2,n.apply(s.QI,[r.sent()])]}})})},claimFees:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return boosting_awaiter(void 0,void 0,void 0,function(){var e,n;return(0,r.Jh)(this,function(r){switch(r.label){case 0:if(1!==s.QI.chainId)throw Error("This method is only available for the network with chainId 1");return t=t||s.QI.signerAddress,e=s.QI.contracts[s.QI.constants.ALIASES.fee_distributor].contract,[4,s.QI.updateFeeData()];case 1:return r.sent(),[4,e.claim.estimateGas(t,s.QI.constantOptions)];case 2:return n=u.QM.apply(void 0,[u.C_.apply(void 0,[r.sent()])]),[4,e.claim(t,Object.assign(Object.assign({},s.QI.options),{gasLimit:n}))];case 3:return[2,r.sent().hash]}})})},claimableFeesCrvUSD:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return boosting_awaiter(void 0,void 0,void 0,function(){var e,n;return(0,r.Jh)(this,function(r){switch(r.label){case 0:if(1!==s.QI.chainId)throw Error("This method is only available for the network with chainId 1");return t=t||s.QI.signerAddress,e=new O.CH(s.QI.constants.ALIASES.fee_distributor_crvusd,C,s.QI.provider),n=s.QI.formatUnits,[4,e.claim(t,s.QI.constantOptions)];case 1:return[2,n.apply(s.QI,[r.sent()])]}})})},claimFeesCrvUSD:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return boosting_awaiter(void 0,void 0,void 0,function(){var e,n;return(0,r.Jh)(this,function(r){switch(r.label){case 0:return t=t||s.QI.signerAddress,e=s.QI.contracts[s.QI.constants.ALIASES.fee_distributor_crvusd].contract,[4,s.QI.updateFeeData()];case 1:return r.sent(),[4,e.claim.estimateGas(t,s.QI.constantOptions)];case 2:return n=u.QM.apply(void 0,[u.C_.apply(void 0,[r.sent()])]),[4,e.claim(t,Object.assign(Object.assign({},s.QI.options),{gasLimit:n}))];case 3:return[2,r.sent().hash]}})})},estimateGas:{approve:function(t){return boosting_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(e){switch(e.label){case 0:return[4,(0,u.go)([s.QI.constants.ALIASES.crv],[t],s.QI.constants.ALIASES.voting_escrow,!1)];case 1:return[2,e.sent()]}})})},createLock:function(t,e){return boosting_awaiter(void 0,void 0,void 0,function(){var n,o,a;return(0,r.Jh)(this,function(r){switch(r.label){case 0:return[4,getCrv()];case 1:if(Number(n=r.sent())<Number(t))throw Error("Not enough . Actual: ".concat(n,", required: ").concat(t));return[4,(0,u.Bl)([s.QI.constants.ALIASES.crv],[t],s.QI.signerAddress,s.QI.constants.ALIASES.voting_escrow)];case 2:if(!r.sent())throw Error("Token allowance is needed to estimate gas");return o=(0,u.vz)(t),a=Math.floor(Date.now()/1e3)+86400*e,[4,s.QI.contracts[s.QI.constants.ALIASES.voting_escrow].contract.create_lock.estimateGas(o,a,s.QI.constantOptions)];case 3:return[2,Number.apply(void 0,[r.sent()])]}})})},increaseAmount:function(t){return boosting_awaiter(void 0,void 0,void 0,function(){var e,n;return(0,r.Jh)(this,function(r){switch(r.label){case 0:return[4,getCrv()];case 1:if(Number(e=r.sent())<Number(t))throw Error("Not enough. Actual: ".concat(e,", required: ").concat(t));return[4,(0,u.Bl)([s.QI.constants.ALIASES.crv],[t],s.QI.signerAddress,s.QI.constants.ALIASES.voting_escrow)];case 2:if(!r.sent())throw Error("Token allowance is needed to estimate gas");return n=(0,u.vz)(t),[4,s.QI.contracts[s.QI.constants.ALIASES.voting_escrow].contract.increase_amount.estimateGas(n,s.QI.constantOptions)];case 3:return[2,Number.apply(void 0,[r.sent()])]}})})},increaseUnlockTime:function(t){return boosting_awaiter(void 0,void 0,void 0,function(){var e;return(0,r.Jh)(this,function(n){switch(n.label){case 0:return[4,getLockedAmountAndUnlockTime()];case 1:return e=Math.floor(n.sent().unlockTime/1e3)+86400*t,[4,s.QI.contracts[s.QI.constants.ALIASES.voting_escrow].contract.increase_unlock_time.estimateGas(e,s.QI.constantOptions)];case 2:return[2,Number.apply(void 0,[u.C_.apply(void 0,[n.sent()])])]}})})},withdrawLockedCrv:function(){return boosting_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(t){switch(t.label){case 0:return[4,s.QI.contracts[s.QI.constants.ALIASES.voting_escrow].contract.withdraw.estimateGas(s.QI.constantOptions)];case 1:return[2,Number.apply(void 0,[u.C_.apply(void 0,[t.sent()])])]}})})},claimFees:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return boosting_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(e){switch(e.label){case 0:return t=t||s.QI.signerAddress,[4,s.QI.contracts[s.QI.constants.ALIASES.fee_distributor].contract.claim.estimateGas(t,s.QI.c
1onstantOptions)];case 1:return[2,Number.apply(void 0,[u.C_.apply(void 0,[e.sent()])])]}})})},claimFeesCrvUSD:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return boosting_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(e){switch(e.label){case 0:if(1!==s.QI.chainId)throw Error("This method is only available for the network with chainId 1");return t=t||s.QI.signerAddress,[4,s.QI.contracts[s.QI.constants.ALIASES.fee_distributor_crvusd].contract.claim.estimateGas(t,s.QI.constantOptions)];case 1:return[2,Number.apply(void 0,[u.C_.apply(void 0,[e.sent()])])]}})})}},sidechain:{lastEthBlock:function(){return boosting_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(t){switch(t.label){case 0:if(1===s.QI.chainId)throw Error("There is no lastBlock method on ethereum network");return[4,s.QI.contracts[s.QI.constants.ALIASES.voting_escrow_oracle].contract.last_eth_block_number(s.QI.constantOptions)];case 1:return[2,Number.apply(void 0,[t.sent()])]}})})},getAnycallBalance:function(){return boosting_awaiter(void 0,void 0,void 0,function(){var t;return(0,r.Jh)(this,function(e){switch(e.label){case 0:if(1===s.QI.chainId)throw Error("There is no getAnycallBalance method on ethereum network");return[4,s.QI.contracts[s.QI.constants.ALIASES.anycall].contract.executionBudget(s.QI.constants.ALIASES.voting_escrow_oracle,s.QI.constantOptions)];case 1:return t=e.sent(),[2,s.QI.formatUnits(t)]}})})},topUpAnycall:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:M;return boosting_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(e){switch(e.label){case 0:return[4,_topUpAnycall(t,!1)];case 1:return[2,e.sent()]}})})},lastBlockSent:function(t){return boosting_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(e){switch(e.label){case 0:if(1!==s.QI.chainId)throw Error("lastBlockNumberSent method is on ethereum network only");return[4,s.QI.contracts[s.QI.constants.ALIASES.voting_escrow_oracle].contract.get_last_block_number_sent(t,s.QI.constantOptions)];case 1:return[2,Number.apply(void 0,[e.sent()])]}})})},blockToSend:function(){return boosting_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(t){switch(t.label){case 0:if(1!==s.QI.chainId)throw Error("blockToSend method is on ethereum network only");return[4,s.QI.provider.getBlockNumber()];case 1:return[2,t.sent()-128]}})})},sendBlockhash:function(t,e){return boosting_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){switch(n.label){case 0:return[4,_sendBlockhash(t,e,!1)];case 1:return[2,n.sent()]}})})},submitProof:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:s.QI.signerAddress;return boosting_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){switch(n.label){case 0:return[4,_submitProof(t,e,!1)];case 1:return[2,n.sent()]}})})},estimateGas:{topUpAnycall:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:M;return boosting_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(e){switch(e.label){case 0:return[4,_topUpAnycall(t,!0)];case 1:return[2,e.sent()]}})})},sendBlockhash:function(t,e){return boosting_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){switch(n.label){case 0:return[4,_sendBlockhash(t,e,!0)];case 1:return[2,n.sent()]}})})},submitProof:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:s.QI.signerAddress;return boosting_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){switch(n.label){case 0:return[4,_submitProof(t,e,!0)];case 1:return[2,n.sent()]}})})}}}},router:{getBestRouteAndOutput:getBestRouteAndOutput,getArgs:function(t){return _getExchangeArgs(t)},expected:function(t,e,n){return router_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(r){switch(r.label){case 0:return[4,getBestRouteAndOutput(t,e,n)];case 1:return[2,r.sent().output]}})})},required:function(t,e,n){return router_awaiter(void 0,void 0,void 0,function(){var o,i,c,l,d,p,f,h,v,g,m,y,_,w,I,b,A,S,Q,P,O;return(0,r.Jh)(this,function(r){switch(r.label){case 0:return i=(o=(0,a._)((0,u.rP)(t,e),2))[0],c=o[1],d=(l=(0,a._)((0,u.iM
1)(i,c),2))[0],p=l[1],f=(0,u.vz)(n,p),[4,(0,u.Hj)(i)];case 1:return h=r.sent()||1,[4,(0,u.Hj)(c)];case 2:return v=r.sent()||1,g=Number(n)*v/h,[4,E(i,c,g)];case 3:if(m=r.sent(),y=s.QI.contracts[s.QI.constants.ALIASES.router].contract,w=(_=_getExchangeArgs(m))._route,I=_._swapParams,b=_._pools,A=_._basePools,S=_._baseTokens,Q=_._secondBasePools,P=_._secondBaseTokens,!("get_dx(address[11],uint256[5][5],uint256,address[5],address[5],address[5],address[5],address[5])"in y))return[3,5];return[4,y.get_dx(w,I,f,b,A,S,Q,P,s.QI.constantOptions)];case 4:case 6:return O=r.sent(),[3,9];case 5:if(!b)return[3,7];return[4,y.get_dx(w,I,f,b,A,S,s.QI.constantOptions)];case 7:return[4,y.get_dx(w,I,f,s.QI.constantOptions)];case 8:O=r.sent(),r.label=9;case 9:return[2,s.QI.formatUnits(O,d)]}})})},priceImpact:function(t,e,n){return router_awaiter(void 0,void 0,void 0,function(){var o,i,c,l,d,p,f,h,v,g,m,y,_,w,I,b,A,S,E,Q,P;return(0,r.Jh)(this,function(r){switch(r.label){case 0:if(i=(o=(0,a._)((0,u.rP)(t,e),2))[0],c=o[1],d=(l=(0,a._)((0,u.iM)(i,c),2))[0],p=l[1],h=(f=_getBestRouteAndOutput(i,c,n)).route,v=f.output,g=(0,u.vz)(n,d),m=(0,u.vz)(v,p),y=(0,u.xZ)(g,m,d,p),_=(0,u.Md)(g,0),y.gte
1(_))return[2,0];w=s.QI.contracts[s.QI.constants.ALIASES.router].contract,I=(0,u.s3)(y.div(Math.pow(10,d)),d),A=(b=_getExchangeArgs(h))._route,S=b._swapParams,E=b._pools,r.label=1;case 1:if(r.trys.push([1,6,,11]),!E)return[3,3];return[4,w.get_dy(A,S,I,E,s.QI.constantOptions)];case 2:return Q=r.sent(),[3,5];case 3:return[4,w.get_dy(A,S,I,s.QI.constantOptions)];case 4:Q=r.sent(),r.label=5;case 5:return[3,11];case 6:if(r.sent(),I=s.QI.parseUnits("1",d),!E)return[3,8];return[4,w.get_dy(A,S,I,E,s.QI.constantOptions)];case 7:return Q=r.sent(),[3,10];case 8:return[4,w.get_dy(A,S,I,s.QI.constantOptions)];case 9:Q=r.sent(),r.label=10;case 10:return[3,11];case 11:return P=(0,u.z0)(g,m,I,Q,d,p),[2,Number((0,u.r6)(P.toFixed(4)))]}})})},isApproved:function(t,e){return router_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){switch(n.label){case 0:return[4,(0,u.Bl)([t],[e],s.QI.signerAddress,s.QI.constants.ALIASES.router)];case 1:return[2,n.sent()]}})})},approve:swapApprove,swap:function(t,e,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:.5;return router_awaiter(void 0,void 0,void 0,function(){var i,c,l,d,p,f,h,v,g,m,y,_,w,I,b,A,S,E,Q,P;return(0,r.Jh)(this,function(r){switch(r.label){case 0:return c=(i=(0,a._)((0,u.rP)(t,e),2))[0],l=i[1],p=(d=(0,a._)((0,u.iM)(c,l),2))[0],f=d[1],[4,swapApprove(t,n)];case 1:if(r.sent(),v=(h=_getBestRouteAndOutput(c,l,n)).route,g=h.output,0===v.length)throw Error("This pair can't be exchanged");
1return y=(m=_getExchangeArgs(v))._route,_=m._swapParams,w=m._pools,I=(0,u.vz)(n,p),b=(0,u.BN)(g).times(100-o).div(100),A=(0,u.s3)(b,f),S=s.QI.contracts[s.QI.constants.ALIASES.router].contract,E=(0,u.Gn)(c)?I:s.QI.parseUnits("0"),[4,s.QI.updateFeeData()];case 2:if(r.sent(),!w)return[3,5];return[4,S.exchange.estimateGas(y,_,I,A,w,Object.assign(Object.assign({},s.QI.constantOptions),{value:E}))];case 3:return Q=u.C_.apply(void 0,[r.sent()])*(1===s.QI.chainId?s.QI.parseUnits("130",0):s.QI.parseUnits("160",0))/s.QI.parseUnits("100",0),[4,S.exchange(y,_,I,A,w,Object.assign(Object.assign({},s.QI.options),{value:E,gasLimit:Q}))];case 4:case 7:return[2,r.sent()];case 5:return[4,S.exchange.estimateGas(y,_,I,A,Object.assign(Object.assign({},s.QI.constantOptions),{value:E}))];case 6:return P=u.C_.apply(void 0,[r.sent()])*s.QI.parseUnits("160",0)/s.QI.parseUnits("100",0),[4,S.exchange(y,_,I,A,Object.assign(Object.assign({},s.QI.options),{value:E,gasLimit:P}))];case 8:return[2]}})})},getSwappedAmount:function(t,e){return router_awaiter(void 0,void 0,void 0,function(){var n,o,i,c,l,d,p,f;return(0,r.Jh)(this,function(r){switch(r.label){case 0:return n=(0,a._)((0,u.rP)(e),1)[0],o=(0,a._)((0,u.iM)(n),1)[0],[4,t.wait()];case 1:if(null===(i=r.sent()))return[2,"0.0"];for(l=1;l<=i.logs.length;l++)try{d=v.R.defaultAbiCoder(),p=["address[".concat(11,"]"),"uint256[".concat(5,"][").concat(5,"]"),"address[".concat(5,"]"),"uint256","uint256"],f=g.QB(i.logs[i.logs.length-l].data,0),[200810,200901].includes(s.QI.chainId)&&(p=["address[11]","uint256[4][5]","uint256","uint256"]),c=d.decode(p,f);break}catch(t){}if(void 0===c)return[2,"0.0"];return[2,s.QI.formatUnits(c[c.length-1],o)]}})})},estimateGas:{approve:function(t,e){return router_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){switch(n.label){case 0:return[4,(0,u.go)([t],[e],s.QI.constants.ALIASES.router)];case 1:return[2,n.sent()]}})})},swap:function(t,e,n){return router_awaiter(void 0,void 0,void 0,function(){var o,i,s,c,l;return(0,r.Jh)(this,function(r){switch(r.label){case 0:if(i=(o=(0,a._)((0,u.rP)(t,e),2))[0],s=o[1],c=(0,a._)((0,u.iM)(i,s),1)[0],0===(l=_getBestRouteAndOutput(i,s,n).route).length)return[2,0];return[4,_estimateGasForDifferentRoutes([l],i,s,(0,u.vz)(n,c))];case 1:return[2,a._.apply(void 0,[r.sent(),1])[0]]}})})}}},dao:{crvSupplyStats:function(){return dao_awaiter(void 0,void 0,void 0,function(){var t,e,n,o,i,c,l;return(0,r.Jh)(this,function(r){switch(r.label){case 0:if(1!==s.QI.chainId)throw Error("Ethereum-only method");return t=s.QI.contracts[s.QI.constants.ALIASES.crv].multicallContract,e=s.QI.contracts[s.QI.constants.ALIASES.voting_escrow].multicallContract,n=s.QI.contracts[s.QI.constants.ALIASES.circulating_supply].multicallContract,[4,s.QI.multicallProvider.all([n.circulating_supply(),t.balanceOf(s.QI.constants.ALIASES.voting_escrow),e.totalSupply()])];case 1:return i=(o=a._.apply(void 0,[r.sent(),3]))[0],c=o[1],l=o[2],[2,{circulating:s.QI.formatUnits(i),locked:s.QI.formatUnits(c),total:s.QI.formatUnits(i+c),veCrv:s.QI.formatUnits(l),averageLockTime:(0,u.Md)(l).div((0,u.Md)(c)).times(4).toFixed(4)}]}})})},userCrv:userCrv,userVeCrv:userVeCrv,crvLockIsApproved:crvLockIsApproved,calcCrvUnlockTime:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Date.now();return 6048e5*Math.floor((Number(e)/1e3+86400*Number(t))/604800)},claimableFees:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return dao_awaiter(void 0,void 0,void 0,function(){var e,n;return(0,r.Jh)(this,function(r){switch(r.label){case 0:return t=(0,u.zL)(t),e=new O.CH(s.QI.constants.ALIASES.fee_distributor,D,s.QI.provider),n=s.QI.formatUnits,[4,e.claim(t,s.QI.constantOptions)];case 1:return[2,n.apply(s.QI,[r.sent()])]}})})},crvLockApprove:function(t){return dao_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(e){switch(e.label){case 0:if(1!==s.QI.chainId)throw Error("Ethereum-only method");return[4,(0,u.Wz)([s.QI.constants.ALIASES.crv],[t],s.QI.constants.ALIASES.voting_escrow,!1)];case 1:return[2,e.sent()]}})})},createCrvLock:function(t,e){return dao_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){switch(n.label){case 0:return[4,_createCrvLock(t,Number(e),!1)];case 1:return[2,n.sent()]}})})},increaseCrvLockedAmount:function(t){return dao_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(e){switch(e.label){case 0:return[4,_increaseCrvLockedAmount(t,!1)];case 1:return[2,e.sent()]}})})},increaseCrvUnlockTime:function(t){return dao_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(e){switch(e.label){case 0:return[4,_increaseCrvUnlockTime(Number(t),!1)];case 1:return[2,e.sent()]}})})},withdrawLockedCrv:function(){return dao_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(t){switch(t.label){case 0:return[4,_withdrawLockedCrv(!1)];case 1:return[2,t.sent()]}})})},claimFees:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return dao_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(e){switch(e.label){case 0:return[4,_claimFees(t,!1)];case 1:return[2,e.sent()]}})})},getVotingGaugeList:function(){return dao_awaiter(void 0,void 0,void 0,function(){var t,e,n,o,a,i;return(0,r.Jh)(this,function(r){switch(r.label){case 0:if(1!==s.QI.chainId)throw Error("Ethereum-only method");return o=Object.values,[4,(0,c.Gb)()];case 1:for(i=0,n=o.apply(Object,[r.sent()]),a=[];i<n.length;i++)(n[i].is_killed||n[i].hasNoCrv)&&0===Number(n[i].gauge_controller.gauge_relative_weight)||a.push({poolUrl:(null===(t=n[i].poolUrls)||void 0===t?void 0:t.swap[0])||"",network:n[i].blockchainId,gaugeAddress:n[i].gauge,poolAddress:n[i].swap||"",lpTokenAddress:n[i].swap_token||"",poolName:n[i].shortName,totalVeCrv:s.QI.formatUnits(n[i].gauge_controller.get_gauge_weight,18),relativeWeight:s.QI.formatUnits(n[i].gauge_controller.gauge_relative_weight,16),isKilled:null!==(e=n[i].is_killed)&&void 0!==e&&e});return[2,a]}})})},userGaugeVotes:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return dao_awaiter(void 0,void 0,void 0,function(){var e,n,o,a,i,l,d,p,f,h,v,g,m,y,_,w,I,b,A,S,E;return(0,r.Jh)(this,function(r){switch(r.label){case 0:if(1!==s.QI.chainId)throw Error("Ethereum-only method");return t=(0,u.zL)(t),o=s.QI.contracts[s.QI.constants.ALIASES.gauge_controller].multicallContract,a=s.QI.contracts[s.QI.constants.ALIASES.voting_escrow].multicallContract,l=Object.values,[4,(0,c.Gb)()];case 1:i=l.apply(Object,[r.sent()]),d=[a.balanceOf(t)],p=!0,f=!1,h=void 0;try{for(v=i[Symbol.iterator]();!(p=(g=v.next()).done);p=!0)m=g.value,d.push(o.vote_user_slopes(t,m.gauge))}catch(t){f=!0,h=t}finally{try{p||null==v.return||v.return()}finally{if(f)throw h}}return[4,s.QI.multicallProvider.all(d)];case 2:for(_=(y=B._.apply(void 0,[r.sent()]))[0],w=y.slice(1),I={gauges:[],powerUsed:"0.0",veCrvUsed:"0.0"},b=BigInt(0),A=BigInt(0),S=0;S<w.length;S++)w[S][1]!==BigInt(0)&&((E=w[S][2]-BigInt(Math.floor(Date.now()/1e3)))<BigInt(0)&&(E=BigInt(0)),I.gauges.push({userPower:s.QI.formatUnits(w[S][1],2),userVeCrv:s.QI.formatUnits(w[S][0]
1*E,18),userFutureVeCrv:s.QI.formatUnits(_*w[S][1]/BigInt(1e4),18),expired:E===BigInt(0),gaugeData:{poolUrl:(null===(e=i[S].poolUrls)||void 0===e?void 0:e.swap[0])||"",network:i[S].blockchainId,gaugeAddress:i[S].gauge,poolAddress:i[S].swap||"",lpTokenAddress:i[S].swap_token||"",poolName:i[S].shortName,totalVeCrv:s.QI.formatUnits(i[S].gauge_controller.get_gauge_weight,18),relativeWeight:s.QI.formatUnits(i[S].gauge_controller.gauge_relative_weight,16),isKilled:null!==(n=i[S].is_killed)&&void 0!==n&&n}}),b+=w[S][1],A+=w[S][0]*E);return I.powerUsed=s.QI.formatUnits(b,2),I.veCrvUsed=s.QI.formatUnits(A.toString(),18),[2,I]}})})},voteForGaugeNextTime:voteForGaugeNextTime,voteForGauge:function(t,e){return dao_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){switch(n.label){case 0:return[4,_voteForGauge(t,e,!1)];case 1:return[2,n.sent()]}})})},getProposalList:function(){return dao_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(t){switch(t.label){case 0:return[4,(0,c.GA)()];case 1:return[2,t.sent()]}})})},getProposal:function(t,e){return dao_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){switch(n.label){case 0:return[4,(0,c.UT)(t,e)];case 1:return[2,n.sent()]}})})},userProposalVotes:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return dao_awaiter(void 0,void 0,void 0,function(){var e,n,o,a,i,l,d,p,f,h,v,g;return(0,r.Jh)(this,function(r){switch(r.label){case 0:if(1!==s.QI.chainId)throw Error("Ethereum-only method");return t=(0,u.zL)(t),[4,(0,c.GA)()];case 1:e=r.sent(),n=[],o=!0,a=!1,i=void 0;try{for(l=e[Symbol.iterator]();!(o=(d=l.next()).done);o=!0)p=d.value,"PARAMETER"==p.voteType?n.push(s.QI.contracts[s.QI.constants.ALIASES.voting_parameter].multicallContract.getVoterState(p.voteId,t)):n.push(s.QI.contracts[s.QI.constants.ALIASES.voting_ownership].multicallContract.getVoterState(p.voteId,t))}catch(t){a=!0,i=t}finally{try{o||null==l.return||l.return()}finally{if(a)throw i}}return[4,s.QI.multicallProvider.all(n)];case 2:for(g=0,f=r.sent().map(Number),h=[],v={1:"yes",2:"no",3:"even"};g<e.length;g++)f[g]>0&&h.push(Object.assign(Object.assign({},e[g]),{userVote:v[f[g]]}));return[2,h]}})})},voteForProposal:function(t,e,n){return dao_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(r){switch(r.label){case 0:return[4,_voteForProposal(t,e,n,!1)];case 1:return[2,r.sent()]}})})},executeVote:function(t,e){return dao_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){switch(n.label){case 0:return[4,_executeVote(t,e,!1)];case 1:return[2,n.sent()]}})})},isCanVoteExecute:function(t,e){return dao_awaiter(void 0,void 0,void 0,function(){var n;return(0,r.Jh)(this,function(r){switch(r.label){case 0:if(1!==s.QI.chainId)throw Error("Ethereum-only method");return n="PARAMETER"===t?s.QI.constants.ALIASES.voting_parameter:s.QI.constants.ALIASES.voting_ownership,[4,s.QI.contracts[n].contract.canExecute(e,Object.assign({},s.QI.options))];case 1:return[2,r.sent()]}})})},estimateGas:{crvLockApprove:function(t){return dao_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(e){switch(e.label){case 0:if(1!==s.QI.chainId)throw Error("Ethereum-only method");return[4,(0,u.go)([s.QI.constants.ALIASES.crv],[t],s.QI.constants.ALIASES.voting_escrow,!1)];case 1:return[2,e.sent()]}})})},createCrvLock:function(t,e){return dao_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){switch(n.label){case 0:return[4,_createCrvLock(t,Number(e),!0)];case 1:return[2,n.sent()]}})})},increaseCrvLockedAmount:function(t){return dao_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(e){switch(e.label){case 0:return[4,_increaseCrvLockedAmount(t,!0)];case 1:return[2,e.sent()]}})})},increaseCrvUnlockTime:function(t){return dao_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(e){switch(e.label){case 0:return[4,_increaseCrvUnlockTime(Number(t),!0)];case 1:return[2,e.sent()]}})})},withdrawLockedCrv:function(){return dao_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(t){switch(t.label){case 0:return[4,_withdrawLockedCrv(!0)];case 1:return[2,t.sent()]}})})},claimFees:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return dao_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(e){switch(e.label){case 0:return[4,_claimFees(t,!0)];case 1:return[2,e.sent()]}})})},voteForGauge:function(t,e){return dao_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){switch(n.label){case 0:return[4,_voteForGauge(t,e,!0)];case 1:return[2,n.sent()]}})})},voteForProposal:function(t,e,n){return dao_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(r){switch(r.label){case 0:return[4,_voteForProposal(t,e,n,!0)];case 1:return[2,r.sent()]}})})}
1,executeVote:function(t,e){return dao_awaiter(void 0,void 0,void 0,function(){return(0,r.Jh)(this,function(n){switch(n.label){case 0:return[4,_executeVote(t,e,!0)];case 1:return[2,n.sent()]}})})}}}}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.