@yfi/sdk
Version:
Interaction framework for the yearn protocol
3 lines • 145 kB
JavaScript
"use strict";function t(t){return t&&"object"==typeof t&&"default"in t?t.default:t}Object.defineProperty(exports,"__esModule",{value:!0}),require("cross-fetch/polyfill");var e=require("@ethersproject/providers"),r=t(require("events")),n=require("bignumber.js"),a=t(n),s=require("@ethersproject/address"),i=require("@ethersproject/contracts"),u=t(require("emittery")),o=require("@ethersproject/bignumber"),c=t(require("cross-fetch")),p=require("@ethersproject/constants"),d=require("@ethersproject/bignumber/lib/bignumber");function f(t,e,r,n,a,s,i){try{var u=t[s](i),o=u.value}catch(t){return void r(t)}u.done?e(o):Promise.resolve(o).then(n,a)}function h(t){return function(){var e=this,r=arguments;return new Promise((function(n,a){var s=t.apply(e,r);function i(t){f(s,n,a,i,u,"next",t)}function u(t){f(s,n,a,i,u,"throw",t)}i(void 0)}))}}function l(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function v(t,e,r){return e&&l(t.prototype,e),r&&l(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function m(){return(m=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t}).apply(this,arguments)}function w(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,b(t,e)}function x(t){return(x=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function b(t,e){return(b=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function y(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}function k(t,e,r){return(k=y()?Reflect.construct:function(t,e,r){var n=[null];n.push.apply(n,e);var a=new(Function.bind.apply(t,n));return r&&b(a,r.prototype),a}).apply(null,arguments)}function g(t){var e="function"==typeof Map?new Map:void 0;return(g=function(t){if(null===t||-1===Function.toString.call(t).indexOf("[native code]"))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,r)}function r(){return k(t,arguments,x(this).constructor)}return r.prototype=Object.create(t.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),b(r,t)})(t)}function A(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function P(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(r)return(r=r.call(t)).next.bind(r);if(Array.isArray(t)||(r=function(t,e){if(t){if("string"==typeof t)return A(t,void 0);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?A(t,void 0):void 0}}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0;return function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var I=function(t){function e(e,r){var n;return(n=t.call(this,e)||this).error_type=r,n}return w(e,t),e}(g(Error)),S=function(t){function e(e,r){var n;return(n=t.call(this,e,"sdk")||this).error_code=r,n}return w(e,t),e}(I);S.NO_SLIPPAGE="no_slippage";var E=function(t){function e(e,r){var n;return(n=t.call(this,e,"simulation")||this).error_code=r,n}return w(e,t),e}(I);E.NO_LOG="no_log",E.TENDERLY_RESPONSE_ERROR="tenderly_response_error",E.PARTIAL_REVERT="partial_revert";var T=function(t){function e(e,r){var n;return(n=t.call(this,e,"zapper")||this).error_code=r,n}return w(e,t),e}(I);T.ZAP_IN_APPROVAL_STATE="zap_in_approval_state",T.ZAP_IN_APPROVAL="zap_in_approval",T.ZAP_OUT_APPROVAL_STATE="zap_out_approval_state",T.ZAP_OUT_APPROVAL="zap_out_approval",T.ZAP_IN="zap_in",T.ZAP_OUT="zap_out";var O=function(t){function e(e,r){var n;return(n=t.call(this,e,"ethers")||this).error_code=r,n}return w(e,t),e}(I);O.FAIL_TOKEN_FETCH="fail_token_fetch",O.NO_DECIMALS="no_decimals",O.NO_PRICE_PER_SHARE="no_price_per_share",O.POPULATING_TRANSACTION="populating_transaction";var _=function(t){function e(e,r){var n;return(n=t.call(this,e,"tenderly")||this).error_code=r,n}return w(e,t),e}(I);_.SIMULATION_CALL="simulation_call",_.CREATE_FORK="create_fork";var D,B=function(t){function e(e,r){var n;return(n=t.call(this,e,"price_fetching")||this).error_code=r,n}return w(e,t),e}(I);B.FETCHING_PRICE_ORACLE="fetching_price_oracle",B.FETCHING_PRICE_PICKLE="fetching_price_pickle",(D=exports.ZapProtocol||(exports.ZapProtocol={})).PICKLE="pickle",D.YEARN="yearn";var C=function(t){return new a(t||"0")},R={zapper:"96e0cc51-a62e-42ca-acee-910ea7d2a241",simulation:{dashboardUrl:"https://dashboard.tenderly.co/yearn/yearn-web"},cache:{useCache:!0,url:"https://cache.yearn.finance"}},N=function(){function t(t){this.ctx=Object.assign({},R,t),this.events=(new r).setMaxListeners(100),this.setProvider(t.provider)}return t.prototype.setProvider=function(r){r instanceof e.JsonRpcProvider?this.ctx.provider={read:r,write:r}:r&&(this.ctx.provider=r),this.events.emit(t.PROVIDER,this.ctx.provider)},v(t,[{key:"provider",get:function(){if(this.ctx.provider)return this.ctx.provider;throw new S("provider must be undefined in Context for this feature to work.")}},{key:"zapper",get:function(){if(this.ctx.zapper)return e=(t={str:this.ctx.zapper+":",encoding:"base64"}).encoding,Buffer.from(t.str,"binary").toString(e);var t,e;throw new S("zapper must be undefined in Context for this feature to work.")}},{key:"etherscan",get:function(){if(this.ctx.etherscan)return this.ctx.etherscan;throw new S("etherscan must be undefined in Context for this feature to work.")}},{key:"addresses",get:function(){return Object.assign({adapters:{}},this.ctx.addresses)},set:function(t){this.ctx.addresses=t}},{key:"simulation",get:function(){if(this.ctx.simulation)return this.ctx.simulation;throw new S("simulation configuration must be defined in Context for this feature to work.")}},{key:"cache",get:function(){if(this.ctx.cache)return this.ctx.cache;throw new S("cache must be defined in Context for this feature to work.")}},{key:"subgraph",get:function(){return this.ctx.subgraph}},{key:"partnerId",get:function(){return this.ctx.partnerId}},{key:"locale",get:function(){return this.ctx.locale||"en"}}]),t}();N.PROVIDER="refresh:provider";var z,U,F=(function(t){var e=function(t){var e=Object.prototype,r=e.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",s=n.asyncIterator||"@@asyncIterator",i=n.toStringTag||"@@toStringTag";function u(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,r){return t[e]=r}}function o(t,e,r,n){var a=Object.create((e&&e.prototype instanceof d?e:d).prototype),s=new A(n||[]);return a._invoke=function(t,e,r){var n="suspendedStart";return function(a,s){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw s;return{value:void 0,done:!0}}for(r.method=a,r.arg=s;;){var i=r.delegate;if(i){var u=y(i,r);if(u){if(u===p)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var o=c(t,e,r);if("normal"===o.type){if(n=r.done?"completed":"suspendedYield",o.arg===p)continue;return{value:o.arg,done:r.done}}"throw"===o.type&&(n="completed",r.method="throw",r.arg=o.arg)}}}(t,r,s),a}function c(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=o;var p={};function d(){}function f(){}function h(){}var l={};u(l,a,(function(){return this}));var v=Object.getPrototypeOf,m=v&&v(v(P([])));m&&m!==e&&r.call(m,a)&&(l=m);var w=h.prototype=d.prototype=Object.create(l);function x(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function b(t,e){var n;this._invoke=function(a,s){function i(){return new e((function(n,i){!function n(a,s,i,u){var o=c(t[a],t,s);if("throw"!==o.type){var p=o.arg,d=p.value;return d&&"object"==typeof d&&r.call(d,"__await")?e.resolve(d.__await).then((function(t){n("next",t,i,u)}),(function(t){n("throw",t,i,u)})):e.resolve(d).then((function(t){p.value=t,i(p)}),(function(t){return n("throw",t,i,u)}))}u(o.arg)}(a,s,n,i)}))}return n=n?n.then(i,i):i()}}function y(t,e){var r=t.iterator[e.method];if(void 0===r){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=void 0,y(t,e),"throw"===e.method))return p;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return p}var n=c(r,t.iterator,e.arg);if("throw"===n.type)return e.method="throw",e.arg=n.arg,e.delegate=null,p;var a=n.arg;return a?a.done?(e[t.resultName]=a.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,p):a:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,p)}function k(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function g(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function A(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(k,this),this.reset(!0)}function P(t){if(t){var e=t[a];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,s=function e(){for(;++n<t.length;)if(r.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return s.next=s}}return{next:I}}function I(){return{value:void 0,done:!0}}return f.prototype=h,u(w,"constructor",h),u(h,"constructor",f),f.displayName=u(h,i,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===f||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,u(t,i,"GeneratorFunction")),t.prototype=Object.create(w),t},t.awrap=function(t){return{__await:t}},x(b.prototype),u(b.prototype,s,(function(){return this})),t.AsyncIterator=b,t.async=function(e,r,n,a,s){void 0===s&&(s=Promise);var i=new b(o(e,r,n,a),s);return t.isGeneratorFunction(r)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},x(w),u(w,i,"Generator"),u(w,a,(function(){return this})),u(w,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=[];for(var r in t)e.push(r);return e.reverse(),function r(){for(;e.length;){var n=e.pop();if(n in t)return r.value=n,r.done=!1,r}return r.done=!0,r}},t.values=P,A.prototype={constructor:A,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(g),!t)for(var e in this)"t"===e.charAt(0)&&r.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(r,n){return i.type="throw",i.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],i=s.completion;if("root"===s.tryLoc)return n("end");if(s.tryLoc<=this.prev){var u=r.call(s,"catchLoc"),o=r.call(s,"finallyLoc");if(u&&o){if(this.prev<s.catchLoc)return n(s.catchLoc,!0);if(this.prev<s.finallyLoc)return n(s.finallyLoc)}else if(u){if(this.prev<s.catchLoc)return n(s.catchLoc,!0)}else{if(!o)throw new Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return n(s.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var s=a;break}}s&&("break"===t||"continue"===t)&&s.tryLoc<=e&&e<=s.finallyLoc&&(s=null);var i=s?s.completion:{};return i.type=t,i.arg=e,s?(this.method="next",this.next=s.finallyLoc,p):this.complete(i)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),p},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),g(r),p}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var a=n.arg;g(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:P(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),p}},t}(t.exports);try{regeneratorRuntime=e}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=e:Function("r","regeneratorRuntime = r")(e)}}(U={exports:{}}),U.exports),L=function(){function t(t,e,r){this.path=t,this.ctx=e,this.chainId=r}var e=t.prototype;return e.fetch=function(){var t=h(F.mark((function t(e){var r,n,a,s,i,u,o,c,p;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this.ctx.cache.useCache&&this.ctx.cache.url){t.next=2;break}return t.abrupt("return",void 0);case 2:if(!(n=this.currentValue)){t.next=5;break}return t.abrupt("return",n);case 5:return a=this.ctx.cache.url+"/v1/chains/"+this.chainId+"/"+this.path,e&&(a+="?"+e),t.prev=7,t.next=11,this.fetchWithTimeout(a,5e3);case 11:s=t.sent,t.next=18;break;case 14:return t.prev=14,t.t0=t.catch(7),console.warn("Call to cache at "+a+" timed out"),t.abrupt("return",void 0);case 18:if(200===s.status){t.next=22;break}return i=s,console.warn("Call to cache failed at "+i.url+" (status "+i.status+" "+i.statusText+")"),t.abrupt("return",void 0);case 22:return t.next=24,s.json();case 24:if(u=t.sent){t.next=27;break}return t.abrupt("return",void 0);case 27:return o=null==(r=s.headers.get("cache-control"))?void 0:r.match(/max-age=(\d+)/),c=o?parseInt(o[1],10):30,p=(new Date).getTime(),this.expiryDate=new Date(p+1e3*c),this.cachedValue=u,t.abrupt("return",u);case 33:case"end":return t.stop()}}),t,this,[[7,14]])})));return function(e){return t.apply(this,arguments)}}(),e.fetchWithTimeout=function(){var t=h(F.mark((function t(e,r){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",Promise.race([fetch(e),new Promise((function(t,e){return setTimeout((function(){return e("timeout")}),r)}))]));case 1:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}(),v(t,[{key:"currentValue",get:function(){if(this.expiryDate)return new Date<this.expiryDate&&this.cachedValue?this.cachedValue:void 0}}]),t}(),Z=function(t,e){this.chainId=t,this.ctx=e,this.events=new u},j=function(t){function e(e,r,n){var a;return(a=t.call(this,r,n)||this).yearn=e,a}return w(e,t),e}(Z),V=function(t,e,r){var n=this;this.address=t,this.abi=e,this.read=new i.Contract(t,e,r.provider.read),this.write=new i.Contract(t,e,r.provider.write),r.events.on(N.PROVIDER,(function(t){n.read=new i.Contract(n.address,n.abi,t.read),n.write=new i.Contract(n.address,n.abi,t.write)}))};!function(t){t.oracle="ORACLE",t.adapter_ironbank="REGISTRY_ADAPTER_IRON_BANK",t.adapter_registry_v2="REGISTRY_ADAPTER_V2_VAULTS",t.helper="HELPER",t.allowlist="ALLOW_LIST_REGISTRY",t.partner="PARTNER_TRACKER",t.zapperZapIn="ZAPPER_ZAP_IN",t.zapperZapOut="ZAPPER_ZAP_OUT",t.pickleZapIn="PICKLE_ZAP_IN",t.unused="UNUSED"}(z||(z={}));var M=function(t){function e(e,r,n){var a;return(a=t.call(this,e,r)||this).addressProvider=n,a}return w(e,t),e.prototype._getContract=function(){var t=h(F.mark((function t(e,r,n){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r!==z.unused){t.next=2;break}throw new Error("Trying to get the contract instance on the generic class.");case 2:return t.prev=2,t.next=5,this.addressProvider.addressById(r);case 5:return t.abrupt("return",new V(t.sent,e,n));case 9:throw t.prev=9,t.t0=t.catch(2),console.error("Contract address for "+r+" is missing from the Address Provider"),t.t0;case 13:case"end":return t.stop()}}),t,this,[[2,9]])})));return function(e,r,n){return t.apply(this,arguments)}}(),e}(Z);M.abi=[],M.contractId=z.unused;var G="0x0000000000000000000000000000000000000000",W="0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",q="0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",Y={ETH:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",DAI:"0x6B175474E89094C44Da98b954EedeAC495271d0F",USDC:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",USDT:"0xdAC17F958D2ee523a2206206994597C13D831ec7",WBTC:"0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599"},H={address:G,name:"Fantom",dataSource:"sdk",decimals:"18",priceUsdc:"0",supported:{ftmApeZap:!0},symbol:"FTM"},J={address:W,name:"ETH",dataSource:"sdk",decimals:"18",priceUsdc:"0",supported:{zapper:!0},symbol:"ETH"};function $(t){return[W,G].includes(t)}function K(t){return Q.apply(this,arguments)}function Q(){return(Q=h(F.mark((function t(e){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(200===e.status){t.next=3;break}throw new S("HTTP to "+e.url+" request failed (status "+e.status+" "+e.statusText+")");case 3:return t.abrupt("return",e);case 4:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function X(t){return o.BigNumber.from(Math.floor(1e6*Number(t))).toString()}function tt(t){return t.toString()}function et(t,e){if(e<1)throw new Error("Size needs to be positive: "+e);for(var r=[],n=0;n<t.length;n+=e){var a=t.slice(n,n+e);r.push(a)}return r}function rt(t){var e="string"==typeof t?t:t.toString();if(e=e.padStart(10,"0"),/^\d{13}$/.test(e))return+t;if(/^\d{16}$/.test(e))return+t/1e3;if(/^\d{10}$/.test(e))return 1e3*+t;throw new Error("Timestamp in invalid format")}function nt(t,e){var r=new Set(t.map((function(t){return t.address})));return[].concat(t,e.filter((function(t){return!r.has(t.address)})))}var at=["0x9d409a0a012cfba9b15f6d4b36ac57a46966ab9a","0xc5bddf9843308380375a611c18b50fb9341f502a","0xced67a187b923f0e5ebcc77c7f2f7da20099e378"],st=function(t){return"query AssetHistoricEarnings($id: ID!) {\n vault(id: $id) {\n token {\n id\n decimals\n }\n }\n "+t.map((function(t){return function(t){return"\n block_"+t+": vault(id: $id, block: { number: "+t+" } ) {\n vaultDayData(orderBy: timestamp, orderDirection: desc, first: 1) {\n timestamp\n }\n strategies {\n latestReport {\n totalGain\n totalLoss\n }\n }\n }\n "}(t)})).join("")+"\n }\n "},it=new n.BigNumber(0),ut=function(t){function e(){var e;return(e=t.apply(this,arguments)||this).assetHistoricEarningsCache=new L("vaults/earnings/get",e.ctx,e.chainId),e}w(e,t);var r=e.prototype;return r.protocolEarnings=function(){var t=h(F.mark((function t(){var e,r,a,s,i,u,o;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.yearn.services.subgraph.fetchQuery("query ProtocolEarnings {\n vaults {\n token {\n id\n decimals\n }\n latestUpdate {\n returnsGenerated\n }\n }\n }\n");case 2:if(a=it,null!=(r=t.sent)&&r.data&&null!=(e=r.data)&&e.vaults){t.next=6;break}return t.abrupt("return",a.toFixed(0));case 6:s=P(r.data.vaults);case 7:if((i=s()).done){t.next=18;break}if((u=i.value).latestUpdate){t.next=11;break}return t.abrupt("continue",16);case 11:return o=new n.BigNumber(u.latestUpdate.returnsGenerated),t.next=14,this.tokensValueInUsdc(o,u.token.id,u.token.decimals);case 14:a=a.plus(t.sent);case 16:t.next=7;break;case 18:return t.abrupt("return",a.toFixed(0));case 19:case"end":return t.stop()}}),t,this)})));return function(){return t.apply(this,arguments)}}(),r.assetEarnings=function(){var t=h(F.mark((function t(e){var r,a,i,u,o,c;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.yearn.services.subgraph.fetchQuery("query VaultEarnings($vault: ID!) {\n vault(id: $vault) {\n token {\n id\n decimals\n }\n latestUpdate {\n returnsGenerated\n }\n }\n }\n",{vault:e});case 2:if(null!=(i=t.sent)&&i.data&&null!=(r=i.data)&&r.vault){t.next=5;break}throw new S("No asset with address "+e);case 5:return o=new n.BigNumber((null==(a=(u=i.data.vault).latestUpdate)?void 0:a.returnsGenerated)||0),t.next=9,this.tokensValueInUsdc(o,u.token.id,u.token.decimals);case 9:return c=t.sent,t.abrupt("return",{assetAddress:s.getAddress(e),amount:o.toFixed(0),amountUsdc:c.toFixed(0),tokenAddress:s.getAddress(u.token.id)});case 11:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.accountAssetsData=function(){var t=h(F.mark((function t(e){var r,a,i,u,o,c,p,d,f,l,v,m=this;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.yearn.services.subgraph.fetchQuery("\n query AccountEarnings($id: ID!, $ignoredVaults: [String!]) {\n account(id: $id) {\n vaultPositions(where: { vault_not_in: $ignoredVaults } ) {\n balanceShares\n token {\n id\n decimals\n }\n shareToken {\n symbol\n }\n updates {\n deposits\n withdrawals\n tokensReceived\n tokensSent\n }\n vault {\n id\n latestUpdate {\n pricePerShare\n }\n }\n }\n }\n }\n",{id:e,ignoredVaults:at});case 2:if(i=null==(a=t.sent)||null==(r=a.data)?void 0:r.account){t.next=6;break}return t.abrupt("return",{earnings:"0",holdings:"0",earningsAssetData:[],grossApy:0,estimatedYearlyYield:"0"});case 6:return t.next=8,Promise.all(i.vaultPositions.map(function(){var t=h(F.mark((function t(e){var r,a,i,u,o,c,p,d,f,h,l;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=new n.BigNumber(e.balanceShares).multipliedBy(new n.BigNumber((null==(r=e.vault.latestUpdate)?void 0:r.pricePerShare)||0)).div(Math.pow(10,e.token.decimals)),i=e.updates.reduce((function(t,e){var r=t.withdrawals,a=t.tokensReceived,s=t.tokensSent;return{deposits:t.deposits.plus(new n.BigNumber(e.deposits)),withdrawals:r.plus(new n.BigNumber(e.withdrawals)),tokensReceived:a.plus(new n.BigNumber(e.tokensReceived)),tokensSent:s.plus(new n.BigNumber(e.tokensSent))}}),{deposits:it,withdrawals:it,tokensReceived:it,tokensSent:it}),u=i.deposits,o=i.tokensReceived,c=i.tokensSent,p=a.plus(i.withdrawals).plus(c),d=u.plus(o),f=p.minus(d),t.next=7,m.tokensValueInUsdc(f,e.token.id,e.token.decimals);case 7:return h=t.sent,t.next=10,m.tokensValueInUsdc(a,e.token.id,e.token.decimals);case 10:return l=t.sent,t.abrupt("return",{assetAddress:s.getAddress(e.vault.id),balanceUsdc:l,earned:h.toFixed(0)});case 12:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()));case 8:return o=(u=t.sent).map((function(t){return t.assetAddress})),t.next=12,this.yearn.services.vision.apy(o);case 12:return c=t.sent,p=u.map((function(t){return new n.BigNumber(t.earned)})).reduce((function(t,e){return t.plus(e)})),d=u.map((function(t){return new n.BigNumber(t.balanceUsdc)})).reduce((function(t,e){return t.plus(e)})),f=d.isEqualTo(it)?it:u.map((function(t){var e,r;if("new"===(null==(e=c[t.assetAddress])?void 0:e.type))return it;var a=(null==(r=c[t.assetAddress])?void 0:r.net_apy)||0;return new n.BigNumber(a).times(t.balanceUsdc).div(d)})).reduce((function(t,e){return t.plus(e)})),l=f.multipliedBy(d),v=u.map((function(t){return{assetAddress:t.assetAddress,earned:t.earned}})),t.abrupt("return",{earnings:n.BigNumber.max(p,0).toFixed(0),holdings:n.BigNumber.max(d,0).toFixed(0),grossApy:f.toNumber(),estimatedYearlyYield:n.BigNumber.max(l,0).toFixed(0),earningsAssetData:v});case 19:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.assetsHistoricEarnings=function(){var t=h(F.mark((function t(e){var r,n,a,s,i,u,o,c=this;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(void 0===e&&(e=30),30!==e){t.next=7;break}return t.next=4,this.assetHistoricEarningsCache.fetch();case 4:if(!(r=t.sent)){t.next=7;break}return t.abrupt("return",r);case 7:return t.next=9,this.yearn.services.lens.adapters.vaults.v2.assetsStatic();case 9:return n=t.sent.map((function(t){return t.address})),t.next=13,this.ctx.provider.read.getBlockNumber();case 13:return a=t.sent,t.next=16,Promise.allSettled(n.map(function(){var t=h(F.mark((function t(r){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",c.assetHistoricEarnings(r,e,a));case 1:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()));case 16:for(s=[],i=P(t.sent);!(u=i()).done;)"fulfilled"===(o=u.value).status&&s.push(o.value);return t.abrupt("return",s);case 20:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.assetHistoricEarnings=function(){var t=h(F.mark((function t(e,r,a){var s,i,u,o,c,p,d,f=this;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(null==a){t.next=4;break}t.t0=a,t.next=7;break;case 4:return t.next=6,this.ctx.provider.read.getBlockNumber();case 6:t.t0=t.sent;case 7:return s=t.t0,s-=this.blockOffset(),i=Array.from(Array(r).keys()).reverse().map((function(t){return s-t*f.blocksPerDay()})),t.next=12,this.yearn.services.subgraph.fetchQuery(st(i),{id:e});case 12:return u=t.sent.data,o=i.map((function(t){return"block_"+t})),c=u.vault.token.id,t.next=18,this.yearn.services.oracle.getPriceUsdc(c).then((function(t){return new n.BigNumber(t)}));case 18:return p=t.sent,d=o.map((function(t){var e=u[t].strategies.reduce((function(t,e){var r=t.totalGain,n=t.totalLoss,a=e.latestReport;return a&&(r=r.plus(C(a.totalGain)),n=n.plus(C(a.totalLoss))),{totalGain:r,totalLoss:n}}),{totalGain:C(0),totalLoss:C(0)}),r=e.totalGain.minus(e.totalLoss);return{earnings:{amountUsdc:p.multipliedBy(r).dividedBy(C(10).pow(C(u.vault.token.decimals))).toFixed(0),amount:r.toFixed(0)},date:new Date(rt(u[t].vaultDayData[0].timestamp)).toJSON()}})),t.abrupt("return",{assetAddress:e,dayData:d,decimals:u.vault.token.decimals});case 21:case"end":return t.stop()}}),t,this)})));return function(e,r,n){return t.apply(this,arguments)}}(),r.accountHistoricEarnings=function(){var t=h(F.mark((function t(e,r,a,s){var i,u,o,c,p,d,f,l,v,m,w,x,b,y,k,g,A,I;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!(s&&s>a)){t.next=2;break}throw new S("fromDaysAgo must be greater than toDaysAgo");case 2:return t.next=4,this.yearn.services.subgraph.fetchQuery("query AccountHistoricEarnings($id: ID!, $shareToken: String!, $fromDate: String!, $toDate: BigInt!) {\n account(id: $id) {\n vaultPositions(where: { shareToken: $shareToken }) {\n balanceShares\n token {\n id\n decimals\n }\n vault {\n vaultDayData(where: { timestamp_gte: $fromDate, timestamp_lte: $toDate }, orderBy: timestamp, orderDirection: asc, first: 1000) {\n pricePerShare\n timestamp\n }\n }\n updates(orderBy: timestamp, orderDirection: asc, first: 1000) {\n balanceShares\n timestamp\n deposits\n withdrawals\n tokensReceived\n tokensSent\n }\n }\n }\n }\n",{id:e,shareToken:r,fromDate:this.getDate(a).getTime().toString(),toDate:this.getDate(s||0).getTime().toString()});case 4:if(u=null==(i=t.sent.data.account)?void 0:i.vaultPositions){t.next=8;break}throw new S("No account with address "+e);case 8:for(o=[],c=u.flatMap((function(t){return t.updates})).sort((function(t,e){return rt(+t.timestamp-+e.timestamp)})),p=P(c.entries());!(d=p()).done;)v=(f=d.value)[1],0===(l=f[0])?(m={startDate:new Date(0),endDate:new Date(rt(v.timestamp)),deposits:new n.BigNumber(v.deposits),withdrawals:new n.BigNumber(v.withdrawals),tokensReceived:new n.BigNumber(v.tokensReceived),tokensSent:new n.BigNumber(v.tokensSent),balanceShares:new n.BigNumber(v.balanceShares)},o.push(m)):(x={startDate:(w=o[l-1]).endDate,endDate:new Date(rt(v.timestamp)),deposits:w.deposits.plus(new n.BigNumber(v.deposits)),withdrawals:w.withdrawals.plus(new n.BigNumber(v.withdrawals)),tokensReceived:w.tokensReceived.plus(new n.BigNumber(v.tokensReceived)),tokensSent:w.tokensSent.plus(new n.BigNumber(v.tokensSent)),balanceShares:w.balanceShares.plus(new n.BigNumber(v.balanceShares))},o.push(x));return o.length>0&&(b=o[o.length-1],y=(new Date).setFullYear(3e3),k={startDate:b.endDate,endDate:new Date(y),deposits:b.deposits,withdrawals:b.withdrawals,tokensReceived:b.tokensReceived,tokensSent:b.tokensSent,balanceShares:b.balanceShares},o.push(k)),g=u[0].vault.vaultDayData,A=u[0].token,t.next=16,this.yearn.services.oracle.getPriceUsdc(A.id).then((function(t){return new n.BigNumber(t)}));case 16:return I=t.sent,t.next=19,Promise.all(g.map(function(){var t=h(F.mark((function t(e){var r,a,s,i,u,c,p;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=new Date(rt(e.timestamp)),!(a=o.find((function(t){return r>=t.startDate&&r<t.endDate})))){t.next=11;break}return s=a.balanceShares.multipliedBy(new n.BigNumber(e.pricePerShare)).dividedBy(new n.BigNumber(Math.pow(10,A.decimals))),i=s.plus(a.withdrawals).plus(a.tokensSent),u=a.deposits.plus(a.tokensReceived),c=i.minus(u),p=I.multipliedBy(c).dividedBy(new n.BigNumber(10).pow(A.decimals)),t.abrupt("return",{earnings:{amount:c.toFixed(0),amountUsdc:p.toFixed(0)},date:r.toJSON()});case 11:return t.abrupt("return",{earnings:{amount:"0",amountUsdc:"0"},date:r.toJSON()});case 12:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()));case 19:return t.abrupt("return",{accountAddress:e,shareTokenAddress:r,decimals:A.decimals,dayData:t.sent});case 21:case"end":return t.stop()}}),t,this)})));return function(e,r,n,a){return t.apply(this,arguments)}}(),r.tokensValueInUsdc=function(){var t=h(F.mark((function t(e,r,a){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.yearn.services.oracle.getPriceUsdc(r);case 2:return t.abrupt("return",new n.BigNumber(t.sent).multipliedBy(e).div(Math.pow(10,a)));case 4:case"end":return t.stop()}}),t,this)})));return function(e,r,n){return t.apply(this,arguments)}}(),r.getDate=function(t){var e=new Date;return e.setDate(e.getDate()-t),e},r.blocksPerDay=function(){switch(this.chainId){case 1:case 1337:case 42161:return 5760;case 250:return 86400}},r.blockOffset=function(){switch(this.chainId){case 1:case 1337:case 42161:return 100;case 250:return 1e3}},e}(j),ot=function(t){function e(){return t.apply(this,arguments)||this}return w(e,t),e.prototype.protocolFees=function(){var t=h(F.mark((function t(e){var r,n;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.yearn.services.subgraph.fetchQuery("query ProtocolFees($sinceDate: BigInt!) {\n transfers(where: { timestamp_gt: $sinceDate }, first: 1000) {\n tokenAmountUsdc\n }\n }\n",{sinceDate:e.getTime().toString()});case 2:if(null!=(n=t.sent)&&n.data&&null!=(r=n.data)&&r.transfers){t.next=5;break}return t.abrupt("return",C(0).toFixed(0));case 5:return t.abrupt("return",n.data.transfers.reduce((function(t,e){return t.plus(C(e.tokenAmountUsdc||0))}),C(0)).toFixed(0));case 7:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),e}(j),ct=function(t){function e(){var e;return(e=t.apply(this,arguments)||this).cachedFetcherGet=new L("ironbank/get",e.ctx,e.chainId),e.cachedFetcherGetDynamic=new L("ironbank/getDynamic",e.ctx,e.chainId),e.cachedFetcherTokens=new L("ironbank/tokens",e.ctx,e.chainId),e}w(e,t);var r=e.prototype;return r.get=function(){var t=h(F.mark((function t(e,r){var n,a,s,i,u,o,c;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.cachedFetcherGet.fetch();case 2:if(!(n=t.sent)){t.next=9;break}if(!e){t.next=8;break}return t.abrupt("return",n.filter((function(t){return e.includes(t.address)})));case 8:return t.abrupt("return",n);case 9:return t.next=11,this.yearn.services.lens.adapters.ironBank.assetsStatic(e,r);case 11:return a=t.sent,t.next=14,this.yearn.services.lens.adapters.ironBank.assetsDynamic(e,r);case 14:for(s=t.sent,i=new Array,u=function(){var t=c.value,e=s.find((function(e){return t.address===e.address}));if(!e)throw new S("Dynamic asset does not exist for "+t.address);i.push(m({},t,e))},o=P(a);!(c=o()).done;)u();return t.abrupt("return",i);case 19:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.getStatic=function(){var t=h(F.mark((function t(e,r){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.yearn.services.lens.adapters.ironBank.assetsStatic(e,r);case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.getDynamic=function(){var t=h(F.mark((function t(e,r){var n;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.cachedFetcherGetDynamic.fetch();case 2:if(!(n=t.sent)){t.next=9;break}if(!e){t.next=8;break}return t.abrupt("return",n.filter((function(t){return e.includes(t.address)})));case 8:return t.abrupt("return",n);case 9:return t.next=11,this.yearn.services.lens.adapters.ironBank.assetsDynamic(e,r);case 11:return t.abrupt("return",t.sent);case 12:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.positionsOf=function(){var t=h(F.mark((function t(e,r,n){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.yearn.services.lens.adapters.ironBank.positionsOf(e,r,n));case 1:case"end":return t.stop()}}),t,this)})));return function(e,r,n){return t.apply(this,arguments)}}(),r.summaryOf=function(){var t=h(F.mark((function t(e,r){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.yearn.services.lens.adapters.ironBank.generalPositionOf(e,r));case 1:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.metadataOf=function(){var t=h(F.mark((function t(e,r,n){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.yearn.services.lens.adapters.ironBank.assetsUserMetadata(e,r,n));case 1:case"end":return t.stop()}}),t,this)})));return function(e,r,n){return t.apply(this,arguments)}}(),r.balances=function(){var t=h(F.mark((function t(e,r){var n;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.tokens();case 2:return n=t.sent,t.next=5,this.yearn.services.helper.tokenBalances(e,n.map((function(t){return t.address})),r);case 5:return t.abrupt("return",t.sent.map((function(t){var e=n.find((function(e){return e.address===t.address}));if(!e)throw new S("Token does not exist for Balance("+t.address+")");return m({},t,{token:e})})));case 7:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.tokens=function(){var t=h(F.mark((function t(e){var r,n,a,s=this;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.cachedFetcherTokens.fetch();case 2:if(!(r=t.sent)){t.next=5;break}return t.abrupt("return",r);case 5:return t.next=7,this.yearn.services.lens.adapters.ironBank.tokens(e);case 7:return a=this.yearn.services.asset.icon(n=t.sent),t.next=11,this.yearn.services.helper.tokens(n,e);case 11:return t.abrupt("return",Promise.all(t.sent.map(function(){var t=h(F.mark((function t(r){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.t0=m,t.t1={},t.t2=r,t.t3=a[r.address],t.t4={ironBank:!0},t.next=7,s.yearn.services.oracle.getPriceUsdc(r.address,e);case 7:return t.t5=t.sent,t.t6={icon:t.t3,dataSource:"ironBank",supported:t.t4,priceUsdc:t.t5},t.abrupt("return",(0,t.t0)(t.t1,t.t2,t.t6));case 10:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}())));case 14:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),e}(j),pt=["0xCeD67a187b923F0E5ebcc77C7f2F7da20099e378"],dt=function(t){function e(){var e;return(e=t.apply(this,arguments)||this).pickleJarUSDPrices=new Map,e.lastFetchedDate=new Date(0),e}w(e,t);var r=e.prototype;return r.getPriceUsdc=function(){var t=h(F.mark((function t(e){var r,n;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=new Date(Date.now()-36e5),!(this.lastFetchedDate<n)){t.next=4;break}return t.next=4,this.fetchPickleJarPrices();case 4:return t.abrupt("return",X(null==(r=this.pickleJarUSDPrices.get(e))?void 0:r.toFixed(0))||"0");case 5:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.fetchPickleJarPrices=function(){var t=h(F.mark((function t(){var e,r,a,i,u,o;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,fetch("https://api.pickle.finance/prod/protocol/pools").catch((function(){return fetch("https://f8wgg18t1h.execute-api.us-west-1.amazonaws.com/prod/protocol/pools")})).then((function(t){return t.json()}));case 2:for(e=t.sent,this.pickleJarUSDPrices.clear(),this.lastFetchedDate=new Date,r=e.filter((function(t){return pt.includes(s.getAddress(t.jarAddress))})),a=P(r);!(i=a()).done;)o=new n.BigNumber((u=i.value).liquidity_locked/u.tokens),this.pickleJarUSDPrices.set(s.getAddress(u.jarAddress),o);case 7:case"end":return t.stop()}}),t,this)})));return function(){return t.apply(this,arguments)}}(),e}(Z),ft="https://simulate.yearn.network",ht=function(){function t(t,e){this.telegram=t,this.ctx=e}var r=t.prototype;return r.simulateRaw=function(){var t=h(F.mark((function t(e,r,n,a,s){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===a&&(a={}),void 0===s&&(s="0"),t.next=4,this.makeSimulationRequest(e,r,n,a,s);case 4:return t.abrupt("return",t.sent);case 5:case"end":return t.stop()}}),t,this)})));return function(e,r,n,a,s){return t.apply(this,arguments)}}(),r.simulateVaultInteraction=function(){var t=h(F.mark((function t(e,r,n,i,u,o){var c,p,d;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===o&&(o="0"),t.next=3,this.makeSimulationRequest(e,r,n,u,o);case 3:if(c=function(t){return s.getAddress(t.slice(-40))},p=t.sent.transaction.transaction_info.logs.reverse().find((function(t){return"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"===t.raw.topics[0]&&c(t.raw.topics[2])===s.getAddress(e)}))){t.next=9;break}throw new E("No log of transferring token "+i+" to "+e,E.NO_LOG);case 9:return d=new a(p.raw.data).toFixed(0),t.abrupt("return",d);case 11:case"end":return t.stop()}}),t,this)})));return function(e,r,n,a,s,i){return t.apply(this,arguments)}}(),r.makeSimulationRequest=function(){var t=h(F.mark((function t(e,r,n,a,s){var i,u,o,c,p,d,f,h,l,v,m,w,x;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===s&&(s="0"),p=null!=a&&a.forkId?ft+"/fork/"+a.forkId+"/simulate":ft+"/simulate",t.next=4,this.getPopulatedTransactionRequest(e,r,n,a,s);case 4:return f={from:e,to:r,input:n,network_id:(null==(i=(d=t.sent).chainId)?void 0:i.toString())||"1",block_number:-1,simulation_type:"quick",root:null==a?void 0:a.root,value:(null==(u=d.value)?void 0:u.toString())||"0",gas:parseInt((null==(o=d.gasLimit)?void 0:o.toString())||"0"),gas_price:(null==(c=d.gasPrice)?void 0:c.toString())||0,save:a.save||!0,nonce:d.nonce},t.next=8,fetch(p,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(f)}).then((function(t){return t.json()})).catch((function(){throw new _("simulation call to Tenderly failed",_.SIMULATION_CALL)}));case 8:if(!(l=(h=t.sent).transaction.error_message)){t.next=15;break}throw a.save&&this.sendErrorMessage(l,h.simulation.id,a.forkId),new E(l,E.TENDERLY_RESPONSE_ERROR);case 15:if(m=this.getAllSimulationCalls(h.transaction.transaction_info.call_trace),!(w=null==(v=m.find((function(t){return t.error})))?void 0:v.error)){t.next=21;break}throw this.sendErrorMessage(x="Partial Revert - "+w,h.simulation.id,null==a?void 0:a.forkId),new E(x,E.PARTIAL_REVERT);case 21:return t.abrupt("return",h);case 22:case"end":return t.stop()}}),t,this)})));return function(e,r,n,a,s){return t.apply(this,arguments)}}(),r.executeSimulationWithReSimulationOnFailure=function(){var t=h(F.mark((function t(e,r){var n=this;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===r&&(r=null),t.prev=1,t.next=4,e(!1).then((function(t){return r&&n.deleteFork(r),t}));case 4:return t.abrupt("return",t.sent);case 8:return t.prev=8,t.t0=t.catch(1),t.prev=10,t.next=13,e(!0);case 13:t.next=18;break;case 15:t.prev=15,t.t1=t.catch(10),console.error(t.t1);case 18:throw t.t0;case 19:case"end":return t.stop()}}),t,null,[[1,8],[10,15]])})));return function(e,r){return t.apply(this,arguments)}}(),r.createFork=function(){var t=h(F.mark((function t(){var e;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e={alias:"",description:"",network_id:"1"},t.next=3,fetch(ft+"/fork",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).then((function(t){return t.json()})).catch((function(){throw new _("failed to create fork",_.CREATE_FORK)}));case 3:return t.next=5,t.sent;case 5:return t.abrupt("return",t.sent.simulation_fork.id);case 7:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}(),r.getAllSimulationCalls=function(t){var e=[];e=e.concat(t.calls||[]);for(var r,n=P(t.calls||[]);!(r=n()).done;){var a=this.getAllSimulationCalls(r.value);e=e.concat(a)}return e},r.getPopulatedTransactionRequest=function(){var t=h(F.mark((function t(r,n,a,s,i){var u,o,c;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===i&&(i="0"),null!=s&&s.forkId?(o=new e.JsonRpcProvider("https://rpc.tenderly.co/fork/"+s.forkId),u=o.getSigner(r)):u=this.ctx.provider.write.getSigner(r),s.maxFeePerGas&&s.maxPriorityFeePerGas&&delete s.gasPrice,c={from:r,to:n,data:a,value:i,gasLimit:s.gasLimit,gasPrice:s.gasPrice,maxFeePerGas:s.maxFeePerGas,maxPriorityFeePerGas:s.maxPriorityFeePerGas,type:s.gasPrice?0:void 0},t.next=6,u.populateTransaction(c).catch((function(){throw new O("error populating transaction",O.POPULATING_TRANSACTION)}));case 6:return t.abrupt("return",t.sent);case 8:case"end":return t.stop()}}),t,this)})));return function(e,r,n,a,s){return t.apply(this,arguments)}}(),r.deleteFork=function(){var t=h(F.mark((function t(e){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,fetch(ft+"/fork/"+e,{method:"DELETE"});case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),r.sendErrorMessage=function(t,e,r){var n;this.ctx.simulation.dashboardUrl&&(n=this.ctx.simulation.dashboardUrl+"/"+(r?"fork/"+r+"/simulation":"simulator")+"/"+e);var a=["Simulation error",t,n].map((function(t){return t})).join("\n\n");this.telegram.sendMessage(a)},t}(),lt=function(){function t(t){var e=this;this.contract=t,this.encodeDeposit=function(t){return e.contract.interface.encodeFunctionData("deposit",[t])},this.encodeWithdraw=function(t){return e.contract.interface.encodeFunctionData("withdraw",[t])}}var e=t.prototype;return e.decimals=function(){var t=h(F.mark((function t(){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.contract.decimals();case 2:return t.abrupt("return",new n.BigNumber(t.sent.toString()));case 4:case"end":return t.stop()}}),t,this)})));return function(){return t.apply(this,arguments)}}(),e.token=function(){var t=h(F.mark((function t(){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.contract.token();case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}}),t,this)})));return function(){return t.apply(this,arguments)}}(),v(t,null,[{key:"abi",get:function(){return["function token() view returns (address)","function decimals() view returns (uint256)","function deposit(uint256 amount) public","function withdraw(uint256 amount) public"]}}]),t}(),vt=function(t){function e(r,n){return t.call(this,new i.Contract(r,[].concat(lt.abi,e.pickleJarAbi),n))||this}return w(e,t),e.prototype.pricePerShare=function(){var t=h(F.mark((function t(){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.contract.getRatio();case 2:return t.abrupt("return",new n.BigNumber(t.sent.toString()));case 4:case"end":return t.stop()}}),t,this)})));return function(){return t.apply(this,arguments)}}(),v(e,null,[{key:"pickleJarAbi",get:function(){return["function getRatio() public view returns (uint256)"]}}]),e}(lt),mt=function(t){function e(r,n){return t.call(this,new i.Contract(r,[].concat(lt.abi,e.yearnVaultAbi),n))||this}return w(e,t),e.prototype.pricePerShare=function(){var t=h(F.mark((function t(){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.contract.pricePerShare();case 2:return t.abrupt("return",new n.BigNumber(t.sent.toString()));case 4:case"end":return t.stop()}}),t,this)})));return function(){return t.apply(this,arguments)}}(),v(e,null,[{key:"yearnVaultAbi",get:function(){return["function pricePerShare() view returns (uint256)"]}}]),e}(lt),wt={1:"ethereum",250:"fantom",1337:"ethereum",42161:"arbitrum"},xt=function(t){return 1===t||1337===t},bt=function(t){return 250===t},yt=Object.keys(wt).map((function(t){return Number(t)}));function kt(t){var e,r=t.chainId,n=t.token,a=t.vault;if(!n.supported||null==(e=a.metadata)||!e.zapInWith)return{isZapInSupported:!1,zapInWith:null};if(xt(r)){var s=a.metadata.zapInWith;if(s&&At(s,n.supported)){var i=Boolean(n.supported.zapper)&&Boolean(n.supported[s]);return{isZapInSupported:i,zapInWith:i?s:null}}}if(bt(r)){var u=Boolean(n.supported.ftmApeZap);return{isZapInSupported:u,zapInWith:u?"ftmApeZap":null}}return{isZapInSupported:!1,zapInWith:null}}function gt(t){var e,r=t.chainId,n=t.token,a=t.vault;if(!n.supported||null==(e=a.metadata)||!e.zapOutWith)return{isZapOutSupported:!1,zapOutWith:null};if(xt(r)){var s=a.metadata.zapOutWith;if(s&&At(s,n.supported)){var i=Boolean(n.supported.zapper)&&Boolean(n.supported[s]);return{isZapOutSupported:i,zapOutWith:i?s:null}}}if(bt(r)){var u=Boolean(n.supported.ftmApeZap);return{isZapOutSupported:u,zapOutWith:u?"ftmApeZap":null}}return{isZapOutSupported:!1,zapOutWith:null}}function At(t,e){return t in e}var Pt=function(t){function e(){var e;return(e=t.apply(this,arguments)||this).simulationExecutor=new ht(e.yearn.services.telegram,e.ctx),e}w(e,t);var r=e.prototype;return r.deposit=function(){var t=h(F.mark((function t(e,r,n,a,s){var i,u,o,c,p,d,f;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===s&&(s={}),i={from:e,sellToken:r,amount:n,toVault:a,options:s},u=this.ctx.provider.write.getSigner(e),o=this.getVaultContract({toVault:a,signer:u}),t.next=6,this.getZappableVault({vaultAddress:a,vaultContract:o});case 6:if(c=t.sent){t.next=9;break}throw new S("Could not get vault: "+a);case 9:return t.next=11,this.yearn.tokens.findByAddress(r);case 11:if(p=t.sent){t.next=14;break}throw new S("Could not find the token by address: "+r);case 14:return t.next=16,this.isUnderlyingToken({vault:a,address:p.address});case 16:if(!t.sent){t.next=19;break}return t.abrupt("return",this.handleDirectSimulationDeposit({depositArgs:i,vaultContract:o,vault:c,signer:u}));case 19:if(d=kt({chainId:this.chainId,token:p,vault:c}),f=d.zapInWith,!d.isZapInSupported||!f){t.next=22;break}return t.abrupt("return",this.handleZapInSimulationDeposit({depositArgs:i,zapInWith:f,vault:c}));case 22:throw new S("Deposit of "+p.address+" to "+a+" is not supported");case 23:case"end":return t.stop()}}),t,this)})));return function(e,r,n,a,s){return t.apply(this,arguments)}}(),r.handleDirectSimulationDeposit=function(){var t=h(F.mark((function t(e){var r,n,a,s,i,u,o,c=this;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=e.depositArgs,n=e.vaultContract,a=e.vault,s=e.signer,t.next=3,this.getApprovalData({depositArgs:r,signer:s});case 3:return u=(i=t.sent).approvalTransactionId,t.abrupt("return",this.simulationExecutor.executeSimulationWithReSimulationOnFailure((function(t){return c.directDeposit({depositArgs:m({},r,{options:m({},r.options,{forkId:o,save:t,root:u})}),vaultContract:n,vault:a})}),o=i.forkId));case 8:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.withdraw=function(){var t=h(F.mark((function t(e,r,n,a,s){var i,u,o,c,p,d,f,h=this;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===s&&(s={}),i={from:e,fromVault:r,amount:n,toToken:a,options:s},u=this.ctx.provider.write.getSigner(e),o=new mt(r,u),t.next=6,this.yearn.vaults.get([r]);case 6:if(c=t.sent[0]){t.next=10;break}throw new S("Could not get vault: "+r);case 10:return t.next=12,this.yearn.tokens.findByAddress(a);case 12:if(p=t.sent){t.next=15;break}throw new S("Could not find the token by address: "+a);case 15:return t.next=17,this.isUnderlyingToken({vault:r,address:p.address});case 17:if(!t.sent){t.next=21;break}return t.abrupt("return",this.simulationExecutor.executeSimulationWithReSimulationOnFailure((function(t){return h.directWithdraw(m({},i,{vaultContract:o,options:m({},s,{save:t})}))})));case 21:if(d=gt({chainId:this.chainId,token:p,vault:c}),f=d.zapOutWith,!d.isZapOutSupported||!f){t.next=24;break}return t.abrupt("return",this.handleZapOutSimulation({withdrawArgs:i,zapOutWith:f,token:p}));case 24:throw new S("Withdraw from "+r+" to "+a+" is not supported");case 25:case"end":return t.stop()}}),t,this)})));return function(e,r,n,a,s){return t.apply(this,arguments)}}(),r.getWithdrawApprovalData=function(){var t=h(F.mark((function t(e){var r,n,a,s,i;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=e.from,n=e.fromVault,a=e.options,t.prev=1,t.next=4,this.yearn.services.zapper.zapOutApprovalState(r,n);case 4:if(!t.sent.isApproved){t.next=8;break}return t.abrupt("return",{needsApproving:!1});case 8:t.next=13;break;case 10:throw t.prev=10,t.t0=t.catch(1),new T("zap out approval state",T.ZAP_OUT_APPROVAL_STATE);case 13:return t.next=15,this.simulationExecutor.createFork();case 15:return s=t.sent,t.prev=16,t.next=19,this.yearn.services.zapper.zapOutApprovalTransaction(r,n,"0");case 19:return i=t.sent,t.next=22,this.simulationExecutor.makeSimulationRequest(i.from,i.to,i.data,m({},a,{forkId:s,save:!0}));case 22:return t.abrupt("return",{needsApproving:!0,root:t.sent.simulation.id,forkId:s});case 27:throw t.prev=27,t.t1=t.catch(16),new T("zap out approval transaction",T.ZAP_OUT_APPROVAL);case 30:case"end":return t.stop()}}),t,this,[[1,10],[16,27]])})));return function(e){return t.apply(this,arguments)}}(),r.directDeposit=function(){var t=h(F.mark((function t(e){var r,n,a,s,i,u,o,c,p,d,f,h,l,v,m;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=(r=e.depositArgs).toVault,a=r.amount,s=r.from,i=r.sellToken,u=r.options,o=e.vaultContract,c=e.vault,t.next=3,this.getEncodedInputData({vaultContract:o,amount:a,toVault:n});case 3:if(p=t.sent){t.next=6;break}throw new S("directDeposit#encodeDeposit failed");case 6:return t.next=8,this.getActionableAddress({toVault:n});case 8:return d=t.sent,t.next=11,this.simulationExecutor.simulateVaultInteraction(s,d,p,n,u);case 11:return f=t.sent,t.next=14,this.yearn.services.oracle.getNormalizedValueUsdc(n,f).catch((function(){throw new B("Error fetching price",B.FETCHING_PRICE_ORACLE)}));case 14:if(h=t.sent,v=c.metadata.pricePerShare,l=c.decimals){t.next=18;break}throw new S("Decimals missing for vault "+c.address);case 18:if(v){t.next=20;break}throw new S("Price per share missing in vault "+c.address+" metadata");case 20:return m=C(f).div(C(10).pow(l)).multipliedBy(v).toFixed(0),t.abrupt("return",{sourceTokenAddress:i,sourceTokenAmount:a,targetTokenAddress:n,targetTokenAmount:f,targetTokenAmountUsdc:h,targetUnderlyingTokenAddress:n,targetUnderlyingTokenAmount:m,conversionRate:1,slippage:0});case 22:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.getEncodedInputData=function(){var t=h(F.mark((function t(e){var r,n,a,s;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=e.vaultContract,a=e.amount,this.shouldUsePartnerService(s=e.toVault)){t.next=3;break}return t.abrupt("return",n.encodeDeposit(a));case 3:return t.abrupt("return",null==(r=this.yearn.services.partner)?void 0:r.encodeDeposit(s,a));case 4:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.getActionableAddress=function(){var t=h(F.mark((function t(e){var r,n;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this.shouldUsePartnerService(n=e.toVault)){t.next=3;break}return t.abrupt("return",n);case 3:return t.next=5,null==(r=this.yearn.services.partner)?void 0:r.address;case 5:return t.abrupt("return",t.sent||n);case 7:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.depositNeedsApproving=function(){var t=h(F.mark((function t(e){var r,n,a,s,u,o;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=(r=e.depositArgs).from,a=r.amount,s=r.toVault,u=new i.Contract(r.sellToken,["function allowance(address owner, address spender) view returns (uint256)"],e.signer),t.next=5,this.getActionableAddress({toVault:s});case 5:return o=t.sent,t.prev=6,t.next=9,u.allowance(n,o);case 9:return t.abrupt("return",C(t.sent.toString()).lt(C(a)));case 13:throw t.prev=13,t.t0=t.catch(6),new S("Failed to get allowance from the contract: "+t.t0);case 16:case"end":return t.stop()}}),t,this,[[6,13]])})));return function(e){return t.apply(this,arguments)}}(),r.zapIn=function(){var t=h(F.mark((function t(e){var r,n,a,s,i,u,o,c,p,d,f,h,l,v,m,w,x,b,y,k,g;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(a=(r=e.depositArgs).from,s=r.amount,i=r.toVault,o=e.vault,c=e.skipGasEstimate,p=(n=r.sellToken)===W?G:n,(u=r.options).slippage){t.next=4;break}throw new S("slippage needs to be set",S.NO_SLIPPAGE);case 4:return d=this.getZapProtocol({vaultAddress:i}),t.next=7,this.yearn.services.zapper.zapIn(a,p,s,i,u.gasPrice||"0",u.slippage,c,d).catch((function(){throw new T("zap in",T.ZAP_IN)}));case 7:return h=C((f=t.sent).value).toFixed(0),u.gasPrice=u.gasPrice||f.gasPrice,c||(u.gasLimit=f.gas),t.next=13,this.simulationExecutor.simulateVaultInteraction(a,f.to,f.data,i,u,h);case 13:if(l=t.sent,m=o.metadata.pricePerShare,w=o.token,v=o.decimals){t.next=17;break}throw new S("Decimals missing for vault "+o.address);case 17:if(m){t.next=19;break}throw new S("Price per share missing in vault "+o.address+" metadata");case 19:x=C(l).div(C(10).pow(v)).multipliedBy(m).toFixed(0),t.t0=d,t.next=t.t0===exports.ZapProtocol.YEARN?23:t.t0===exports.ZapProtocol.PICKLE?27:31;break;case 23:return t.next=25,this.yearn.services.oracle.getNormalizedValueUsdc(i,l).then((function(t){return C(t)})).catch((function(){throw new B("error fetching price",B.FETCHING_PRICE_ORACLE)}));case 25:return b=t.sent,t.abrupt("break",31);case 27:return t.next=29,this.yearn.services.pickle.getPriceUsdc(i).catch((function(){throw new B("error fetching price",B.FETCHING_PRICE_PICKLE)})).then((function(t){return C(t)}));case 29:return b=t.sent.dividedBy(C(10).pow(v)).multipliedBy(C(l)),t.abrupt("break",31);case 31:return y=n===W?q:n,t.t1=C,t.next=35,this.yearn.services.oracle.getNormalizedValueUsdc(y,s).catch((function(){throw new B("error fetching price",B.FETCHING_PRICE_ORACLE)}));case 35:return t.t2=t.sent,k=(0,t.t1)(t.t2),g=b.div(k).toNumber(),t.abrupt("return",{sourceTokenAddress:n,sourceTokenAmount:s,targetTokenAddress:f.buyTokenAddress,targetTokenAmount:l,targetTokenAmountUsdc:b.toFixed(0),targetUnderlyingTokenAddress:w,targetUnderlyingTokenAmount:x,conversionRate:g,slippage:1-g});case 39:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.directWithdraw=function(){var t=h(F.mark((function t(e){var r,n,a,s,i,u,o;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=e.from,n=e.toToken,s=e.fromVault,i=e.options,u=e.vaultContract.encodeWithdraw(a=e.amount),t.next=4,this.simulationExecutor.simulateVaultInteraction(r,s,u,n,i);case 4:return o=t.sent,t.next=7,this.yearn.services.oracle.getNormalizedValueUsdc(n,o).catch((function(){throw new B("error fetching price",B.FETCHING_PRICE_ORACLE)}));case 7:return t.abrupt("return",{sourceTokenAddress:s,sourceTokenAmount:a,targetTokenAddress:n,targetTokenAmount:o,targetTokenAmountUsdc:t.sent,targetUnderlyingTokenAddress:n,targetUnderlyingTokenAmount:o,conversionRate:1,slippage:0});case 9:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.zapOut=function(){var t=h(F.mark((function t(e){var r,n,a,s,i,u,o,c,p,d,f,l,v,m,w=this;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=e.from,n=e.toToken,a=e.underlyingTokenAddress,s=e.amount,i=e.fromVault,u=e.skipGasEstimate,(o=e.options).slippage){t.next=3;break}throw new S("slippage needs to be set",S.NO_SLIPPAGE);case 3:return c=n===W?G:n,t.next=6,this.yearn.services.zapper.zapOut(r,c,s,i,"0",o.slippage,u).catch((function(){throw new T("error zapping out",T.ZAP_OUT)}));case 6:return p=t.sent,u||(o.gasLimit=p.gas),t.next=10,h(F.mark((function t(){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(c!==G){t.next=7;break}return t.next=3,w.simulationExecutor.makeSimulationRequest(r,p.to,p.data,o,p.value);case 3:return t.abrupt("return",C(t.sent.transaction.transaction_info.call_trace.output).toFixed(0));case 7:return t.next=9,w.simulationExecutor.simulateVaultInteraction(r,p.to,p.data,n,o,p.value);case 9:return t.abrupt("return",t.sent);case 10:case"end":return t.stop()}}),t)})))();case 10:return d=t.sent,f=n===W?q:n,t.next=14,this.yearn.services.oracle.getNormalizedValueUsdc(f,d).catch((function(){throw new B("error fetching price",B.FETCHING_PRICE_ORACLE)}));case 14:return l=t.sent,t.next=17,this.yearn.services.oracle.getNormalizedValueUsdc(i,s).catch((function(){throw new B("error fetching price",B.FETCHING_PRICE_ORACLE)}));case 17:return v=t.sent,m=C(l).div(C(v)).toNumber(),t.abrupt("return",{sourceTokenAddress:i,sourceTokenAmount:s,targetTokenAddress:n,targetTokenAmount:d,targetTokenAmountUsdc:l,targetUnderlyingTokenAddress:a,targetUnderlyingTokenAmount:d,conversionRate:m,slippage:1-m});case 20:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.shouldUsePartnerService=function(t){var e;return!(null==(e=this.yearn.services.partner)||!e.isAllowed(t))},r.getZapperZapInApprovalData=function(){var t=h(F.mark((function t(e){var r,n,a,s,i,u,o=this;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=e.from,a=e.toVault,s=e.options,(r=e.sellToken)!==W){t.next=3;break}return t.abrupt("return",{needsApproving:!1});case 3:return i=this.getZapProtocol({vaultAddress:a}),t.next=6,this.yearn.services.zapper.zapInApprovalState(n,r,i).then((function(t){return!t.isApproved})).catch((function(){throw new T("approval state",T.ZAP_IN_APPROVAL_STATE)}));case 6:if(t.sent){t.next=9;break}return t.abrupt("return",{needsApproving:!1});case 9:return t.next=11,this.simulationExecutor.createFork();case 11:return u=t.sent,t.next=14,this.yearn.services.zapper.zapInApprovalTransaction(n,r,"0",i).catch((function(){throw new T("approval",T.ZAP_IN_APPROVAL)})).then(function(){var t=h(F.mark((function t(e){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",o.simulationExecutor.makeSimulationRequest(e.from,e.to,e.data,m({},s,{forkId:u,save:!0})));case 2:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()).then((function(t){return t.simulation.id}));case 14:return t.abrupt("return",{needsApproving:!0,approvalTransactionId:t.sent,forkId:u});case 16:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.getZapperZapInSimulationArgs=function(){var t=h(F.mark((function t(e){var r,n,a,s,i,u,o=this;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=e.vault,(r=e.depositArgs).options.slippage){t.next=3;break}throw new S("slippage needs to be specified for a zap",S.NO_SLIPPAGE);case 3:return t.next=5,this.getZapperZapInApprovalData(r);case 5:return s=(a=t.sent).needsApproving,i=a.approvalTransactionId,t.abrupt("return",{simulateFn:function(t){return o.zapIn({depositArgs:m({},r,{options:m({},r.options,{forkId:u,save:t,root:i})}),vault:n,skipGasEstimate:s})},forkId:u=a.forkId});case 11:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.approve=function(){var t=h(F.mark((function t(e){var r,n,a,s,u,o,c,p,d;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.sellToken,a=e.amount,s=e.toVault,u=e.options,o=["function approve(address spender, uint256 amount) returns (bool)"],c=this.ctx.provider.write.getSigner(r=e.from),p=new i.Contract(n,o,c),t.next=6,this.getActionableAddress({toVault:s});case 6:return d=p.interface.encodeFunctionData("approve",[t.sent,a]),t.next=10,this.simulationExecutor.makeSimulationRequest(r,n,d,m({},u,{save:!0}));case 10:return t.abrupt("return",t.sent.simulation.id);case 12:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.getApprovalData=function(){var t=h(F.mark((function t(e){var r,n,a;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=e.depositArgs,n=e.signer,t.next=3,this.depositNeedsApproving({depositArgs:r,signer:n});case 3:if(t.sent){t.next=6;break}return t.abrupt("return",{});case 6:return t.next=8,this.simulationExecutor.createFork();case 8:return a=t.sent,t.next=11,this.approve(m({},r,{options:m({},r.options,{forkId:a})}));case 11:return t.abrupt("return",{approvalTransactionId:t.sent,forkId:a});case 13:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.getVaultContract=function(t){var e=t.toVault,r=t.signer;return this.getZapProtocol({vaultAddress:e})===exports.ZapProtocol.PICKLE?new vt(e,r):new mt(e,r)},r.handleZapInSimulationDeposit=function(){var t=h(F.mark((function t(e){var r,n,a,s;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=e.vault,a=e.depositArgs,"zapperZapIn"!==(r=e.zapInWith)){t.next=8;break}return t.next=4,this.getZapperZapInSimulationArgs({depositArgs:a,vault:n});case 4:return t.abrupt("return",this.simulationExecutor.executeSimulationWithReSimulationOnFailure((s=t.sent).simulateFn,s.forkId));case 8:if("ftmApeZap"!==r){t.next=10;break}throw new S("ftmApeZap not implemented yet!");case 10:throw new S('zapInWith "'+r+'" not supported yet!');case 11:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.isUnderlyingToken=function(){var t=h(F.mark((function t(e){var r,n;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=e.address,!pt.includes(r=e.vault)){t.next=3;break}return t.abrupt("return",!1);case 3:return t.abrupt("return",this.yearn.vaults.isUnderlyingToken(r,n));case 4:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.getZappableVault=function(){var t=h(F.mark((function t(e){var r,n,a,s;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=e.vaultContract,this.getZapProtocol({vaultAddress:r=e.vaultAddress})!==exports.ZapProtocol.PICKLE){t.next=9;break}return t.next=5,Promise.all([n.decimals().catch((function(){throw new O("no decimals",O.NO_DECIMALS)})),n.pricePerShare().catch((function(){throw new O("no price per share",O.NO_PRICE_PER_SHARE)}))]);case 5:return s=(a=t.sent)[1],t.abrupt("return",{address:r,token:"0x9461173740d27311b176476fa27e94c681b1ea6b",decimals:a[0].toString(),metadata:{zapInWith:"zapperZapIn",zapOutWith:"zapperZapOut",pricePerShare:s.toString()}});case 9:return t.next=11,this.yearn.vaults.get([r]);case 11:return t.abrupt("return",t.sent[0]);case 14:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.getZapProtocol=function(t){return pt.includes(t.vaultAddress)?exports.ZapProtocol.PICKLE:exports.ZapProtocol.YEARN},r.getZapperZapOutSimulationArgs=function(){var t=h(F.mark((function t(e){var r,n,a,s,i,u,o=this;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=e.token.address,(r=e.withdrawArgs).options.slippage){t.next=3;break}throw new S("slippage needs to be specified for a zap",S.NO_SLIPPAGE);case 3:return t.next=5,this.getWithdrawApprovalData(r);case 5:return s=(a=t.sent).needsApproving,i=a.root,t.abrupt("return",{simulateFn:function(t){return o.zapOut(m({},r,{underlyingTokenAddress:n,skipGasEstimate:s,options:m({},r.options,{root:i,forkId:u,save:t})}))},forkId:u=a.forkId});case 11:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.handleZapOutSimulation=function(){var t=h(F.mark((function t(e){var r,n,a,s;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=e.token,a=e.withdrawArgs,"zapperZapOut"!==(r=e.zapOutWith)){t.next=8;break}return t.next=4,this.getZapperZapOutSimulationArgs({withdrawArgs:a,token:n});case 4:return t.abrupt("return",this.simulationExecutor.executeSimulationWithReSimulationOnFailure((s=t.sent).simulateFn,s.forkId));case 8:if("ftmApeZap"!==r){t.next=10;break}throw new S("ftmApeZap not implemented yet!");case 10:throw new S('zapOutWith "'+r+'" not supported yet!');case 11:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),e}(j),It=function(t){var e,r,n,a=t.obj,s=t.property;return null!=(e=null!=(r=null==a||null==(n=a.localization[t.locale])?void 0:n.description)?r:a&&s&&a[s])?e:t.fallback},St=["function strategies(address) view returns (uint256 performanceFee, uint256 activation, uint256 debtRatio, uint256 rateLimit, uint256 lastReport, uint256 totalDebt, uint256 totalGain, uint256 totalLoss)","function token() view returns (address)","event StrategyAdded(address indexed strategy, uint256 debtRatio, uint256 minDebtPerHarvest, uint256 maxDebtPerHarvest, uint256 performanceFee)"],Et=["function symbol() view returns (string)"],Tt=function(t){function e(){var e;return(e=t.apply(this,arguments)||this).cachedFetcher=new L("strategies/metadata/get",e.ctx,e.chainId),e}w(e,t);var r=e.prototype;return r.vaultsStrategiesMetadata=function(){var t=h(F.mark((function t(e){var r,n,a;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.cachedFetcher.fetch();case 2:if(!(r=t.sent)){t.next=5;break}return t.abrupt("return",r);case 5:if(!e){t.next=9;break}n=e,t.next=12;break;case 9:return t.next=11,this.yearn.services.lens.adapters.vaults.v2.assetsStatic().then((function(t){return t.map((function(t){return t.address}))}));case 11:n=t.sent;case 12:return t.prev=12,t.next=15,this.fetchMetadataFromApi(n);case 15:a=t.sent,t.next=21;break;case 18:t.prev=18,t.t0=t.catch(12),console.error(t.t0);case 21:if(a){t.next=25;break}return t.next=24,this.fetchMetadataFromChain(n);case 24:a=t.sent;case 25:return t.abrupt("return",a);case 26:case"end":return t.stop()}}),t,this,[[12,18]])})));return function(e){return t.apply(this,arguments)}}(),r.fetchMetadataFromApi=function(){var t=h(F.mark((function t(e){var r,n,a,s=this;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.fetchVaultsData();case 2:return r=t.sent,t.next=5,this.yearn.services.meta.strategies();case 5:return n=t.sent,a=e.map(function(){var t=h(F.mark((function t(e){var a,u;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(a=r.find((function(t){return t.address===e}))){t.next=3;break}return t.abrupt("return",void 0);case 3:return u=new i.Contract(a.address,St,s.ctx.provider.read),t.abrupt("return",s.fetchVaultStrategiesMetadata(a.strategies,n,u,a.token.symbol));case 5:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()),t.abrupt("return",Promise.all(a).then((function(t){return t.flatMap((function(t){return t?[t]:[]}))})));case 8:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.fetchMetadataFromChain=function(){var t=h(F.mark((function t(e){var r,n,a,s=this;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.yearn.services.meta.strategies();case 2:return r=t.sent,n=this.ctx.provider.read,a=e.map(function(){var t=h(F.mark((function t(e){var a,u,o,c,p;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=new i.Contract(e,St,n),u=s.yearn.services.helper.assetStrategiesAddresses(e).then((function(t){return t.map((function(t){return{address:t}}))})),t.next=4,Promise.all([u,a.token()]);case 4:return c=(o=t.sent)[0],p=new i.Contract(o[1],Et,n),t.next=10,p.symbol();case 10:return t.abrupt("return",s.fetchVaultStrategiesMetadata(c,r,a,t.sent));case 12:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()),t.abrupt("return",Promise.all(a).then((function(t){return t.flatMap((function(t){return t?[t]:[]}))})));case 6:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.fetchVaultStrategiesMetadata=function(){var t=h(F.mark((function t(e,r,n,a){var s,i=this;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(0!==e.length){t.next=2;break}return t.abrupt("return",void 0);case 2:return t.next=4,Promise.all(e.map(function(){var t=h(F.mark((function t(e){var s,u,c,p;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,n.strategies(e.address);case 3:u=t.sent.debtRatio,t.next=10;break;case 7:return t.prev=7,t.t0=t.catch(0),t.abrupt("return",void 0);case 10:if(!u.lte(o.BigNumber.from("0"))){t.next=12;break}return t.abrupt("return",void 0);case 12:return c=r.find((function(t){return t.addresses.includes(e.address)})),(p={address:e.address,name:(null==c?void 0:c.name)||e.name||"Strategy",description:It({obj:c,property:"description",locale:i.ctx.locale,fallback:"Vault strategy missing"}),protocols:null!=(s=null==c?void 0:c.protocols)?s:[]}).description=null==p?void 0:p.description.replace(/{{token}}/g,a),t.abrupt("return",{data:p,debtRatio:u});case 16:case"end":return t.stop()}}),t,null,[[0,7]])})));return function(e){return t.apply(this,arguments)}}())).then((function(t){return t.flatMap((function(t){return t?[t]:[]})).sort((function(t,e){return t.debtRatio.lt(e.debtRatio)?1:t.debtRatio.eq(e.debtRatio)?0:-1})).map((function(t){return t.data}))}));case 4:if(0!==(s=t.sent).length){t.next=7;break}return t.abrupt("return",void 0);case 7:return t.abrupt("return",{vaultAddress:n.address,strategiesMetadata:s});case 9:case"end":return t.stop()}}),t)})));return function(e,r,n,a){return t.apply(this,arguments)}}(),r.fetchVaultsData=function(){var t=h(F.mark((function t(){var e;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,c("https://api.yearn.finance/v1/chains/"+this.chainId+"/vaults/all");case 2:if((e=t.sent).ok){t.next=5;break}throw new Error("An error has occured fetching vaults data: "+e.status);case 5:return t.next=7,e.json();case 7:return t.abrupt("return",t.sent);case 8:case"end":return t.stop()}}),t,this)})));return function(){return t.apply(this,arguments)}}(),e}(j),Ot=["function approve(address _spender, uint256 _value) public","function allowance(address _owner, address _spender) public view returns (uint256)"],_t=function(t){function e(){var e;return(e=t.apply(this,arguments)||this).cachedFetcherSupported=new L("tokens/supported",e.ctx,e.chainId),e.cachedFetcher=new L("tokens/metadata",e.ctx,e.chainId),e}w(e,t);var r=e.prototype;return r.price=function(){var t=h(F.mark((function t(e,r){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.yearn.services.oracle.getPriceFromRouter(e,r));case 1:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.priceUsdc=function(){var t=h(F.mark((function t(e,r){var n=this;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(wt[this.chainId]){t.next=2;break}throw new S("the chain "+this.chainId+" hasn't been implemented yet");case 2:if(!Array.isArray(e)){t.next=7;break}return t.next=5,Promise.all(e.map(function(){var t=h(F.mark((function t(e){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,n.yearn.services.oracle.getPriceUsdc(e,r);case 2:return t.abrupt("return",[e,t.sent]);case 4:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()));case 5:return t.abrupt("return",Object.fromEntries(t.sent));case 7:return t.abrupt("return",this.yearn.services.oracle.getPriceUsdc(e,r));case 8:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.balances=function(){var t=h(F.mark((function t(e,r){var n,s,i,u,o,c,p;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.supported();case 2:if(n=t.sent,r&&(n=n.filter((function(t){return r.includes(t.address)}))),s=n.reduce((function(t,e){return t[e.dataSource].add(e.address),t}),{zapper:new Set,vaults:new Set,ironBank:new Set,labs:new Set,sdk:new Set}),i={zapper:[],vaults:[],ironBank:[],labs:[],sdk:[]},!xt(this.chainId)){t.next=30;break}return t.prev=7,t.next=10,this.yearn.services.zapper.balances(e);case 10:i.zapper=t.sent.filter((function(t){return s.zapper.has(t.address)})),t.next=17;break;case 14:t.prev=14,t.t0=t.catch(7),console.error(t.t0);case 17:return t.prev=17,t.next=20,this.ctx.provider.read.getBalance(e);case 20:return u=t.sent,t.next=23,this.yearn.services.oracle.getPriceUsdc(W);case 23:o=t.sent,i.sdk=[{address:W,token:J,balance:u.toString(),balanceUsdc:new a(u.toString()).div(Math.pow(10,18)).times(new a(o)).toString(),priceUsdc:o}],t.next=30;break;case 27:t.prev=27,t.t1=t.catch(17),console.error(t.t1);case 30:if(!bt(this.chainId)){t.next=38;break}return t.next=33,this.ctx.provider.read.getBalance(e);case 33:return c=t.sent,t.next=36,this.yearn.services.oracle.getPriceUsdc("0x21be370D5312f44cB42ce377BC9b8a0cEF1A4C83");case 36:p=t.sent,i.sdk=[{address:e,token:H,balance:c.toString(),balanceUsdc:new a(c.toString()).div(Math.pow(10,18)).times(new a(p)).toString(),priceUsdc:p}];case 38:if(!yt.includes(this.chainId)){t.next=48;break}return t.next=41,this.yearn.vaults.balances(e);case 41:return i.vaults=t.sent.filter((function(t){return"0"!==t.balance&&s.vaults.has(t.address)})),t.next=45,this.yearn.ironBank.balances(e);case 45:return i.ironBank=t.sent.filter((function(t){return s.ironBank.has(t.address)})),t.abrupt("return",[].concat(i.vaults,i.ironBank,i.zapper,i.sdk));case 48:return console.error("the chain "+this.chainId+" hasn't been implemented yet"),t.abrupt("return",[]);case 50:case"end":return t.stop()}}),t,this,[[7,14],[17,27]])})));return function(e,r){return t.apply(this,arguments)}}(),r.supported=function(){var t=h(F.mark((function t(){var e,r,n,a,s,i;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(yt.includes(this.chainId)){t.next=3;break}return console.error("the chain "+this.chainId+" hasn't been implemented yet"),t.abrupt("return",[]);case 3:return t.next=5,this.cachedFetcherSupported.fetch();case 5:if(!(e=t.sent)){t.next=8;break}return t.abrupt("return",e);case 8:if(r=[],!xt(this.chainId)){t.next=19;break}return t.prev=10,t.next=13,this.getZapperTokensWithIcons();case 13:r=t.sent,t.next=19;break;case 16:t.prev=16,t.t0=t.catch(10),console.error(t.t0);case 19:return t.next=21,this.yearn.vaults.tokens();case 21:return n=t.sent,t.next=24,this.yearn.ironBank.tokens();case 24:if(a=nt(n,t.sent),!bt(this.chainId)){t.next=31;break}return t.next=29,this.yearn.services.oracle.getPriceUsdc("0x21be370D5312f44cB42ce377BC9b8a0cEF1A4C83");case 29:a.push(m({},H,{priceUsdc:t.sent}));case 31:if(r.length){t.next=33;break}return t.abrupt("return",a);case 33:return s=nt(a,r),i=new Set(r.map((function(t){return t.address}))),t.abrupt("return",s.map((function(t){return m({},t,i.has(t.address)&&{supported:m({},t.supported,{zapper:!0,zapperZapIn:!0,zapperZapOut:Object.values(Y).includes(t.address)})})})));case 36:case"end":return t.stop()}}),t,this,[[10,16]])})));return function(){return t.apply(this,arguments)}}(),r.findByAddress=function(){var t=h(F.mark((function t(e){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.supported();case 2:return t.abrupt("return",t.sent.find((function(t){return t.address===e})));case 4:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.allowance=function(){var t=h(F.mark((function t(e,r,n){var a,s;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(a={owner:e,token:r,spender:n,amount:p.MaxUint256.toString()},!$(r)&&r!==n){t.next=3;break}return t.abrupt("return",a);case 3:return s=new i.Contract(r,Ot,this.ctx.provider.read),t.next=6,s.allowance(e,n);case 6:return t.abrupt("return",m({},a,{amount:t.sent.toString()}));case 8:case"end":return t.stop()}}),t,this)})));return function(e,r,n){return t.apply(this,arguments)}}(),r.populateApprove=function(){var t=h(F.mark((function t(e,r,n,a,s){var u,o;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(void 0===s&&(s={}),!$(r)){t.next=3;break}throw new S("Native tokens cant be approved: "+r);case 3:if(r!==n){t.next=5;break}throw new S("Cant approve token as its spender: "+r);case 5:return u=this.ctx.provider.write.getSigner(e),o=new i.Contract(r,Ot,u),t.abrupt("return",o.populateTransaction.approve(n,a,s));case 8:case"end":return t.stop()}}),t,this)})));return function(e,r,n,a,s){return t.apply(this,arguments)}}(),r.approve=function(){var t=h(F.mark((function t(e,r,n,a,s){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===s&&(s={}),t.next=3,this.populateApprove(e,r,n,a,s);case 3:return t.abrupt("return",this.yearn.services.transaction.sendTransaction(t.sent));case 5:case"end":return t.stop()}}),t,this)})));return function(e,r,n,a,s){return t.apply(this,arguments)}}(),r.getZapperTokensWithIcons=function(){var t=h(F.mark((function t(){var e,r,n,a=this;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.yearn.services.zapper.supportedTokens();case 2:return r=(e=t.sent).map((function(t){return t.address})),t.next=6,this.yearn.services.asset.ready.then((function(){return a.yearn.services.asset.icon(r)}));case 6:return n=t.sent,t.abrupt("return",e.map((function(t){var e=n[t.address];return e?m({},t,{icon:e}):t})));case 9:case"end":return t.stop()}}),t,this)})));return function(){return t.apply(this,arguments)}}(),r.icon=function(t){return this.yearn.services.asset.icon(t)},r.metadata=function(){var t=h(F.mark((function t(e){var r,n;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.cachedFetcher.fetch();case 2:if(!(n=t.sent)){t.next=7;break}r=n,t.next=10;break;case 7:return t.next=9,this.yearn.services.meta.tokens();case 9:r=t.sent;case 10:if(!e){t.next=14;break}return t.abrupt("return",r.filter((function(t){return e.includes(t.address)})));case 14:return t.abrupt("return",r);case 15:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),e}(j);function Dt(t){var e=t.addressables,r=t.zapInType,n=t.zapOutType,a=new Set(t.supportedVaultAddresses);return e.map((function(t){try{var e=s.getAddress(t.address),i=a.has(e);return m({},t,{allowZapIn:i,allowZapOut:i,zapInWith:i?r:void 0,zapOutWith:i?n:void 0})}catch(e){return t}}))}var Bt=["function deposit(uint256 amount) public","function withdraw(uint256 amount) public"],Ct=function(t){function e(){var e;return(e=t.apply(this,arguments)||this).cachedFetcherGet=new L("vaults/get",e.ctx,e.chainId),e.cachedFetcherGetDynamic=new L("vaults/getDynamic",e.ctx,e.chainId),e.cachedFetcherTokens=new L("vaults/tokens",e.ctx,e.chainId),e}w(e,t);var r=e.prototype;return r.get=function(){var t=h(F.mark((function t(e,r){var n,a,s,i,u,o,c,p,d,f,l,v,w,x,b,y,k,g,A=this;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.cachedFetcherGet.fetch();case 2:if(!(n=t.sent)){t.next=9;break}if(!e){t.next=8;break}return t.abrupt("return",n.filter((function(t){return e.includes(t.address)})));case 8:return t.abrupt("return",n);case 9:return a=this.yearn.services.meta.vaults().catch((function(t){return console.error(t),Promise.resolve([])})),t.next=12,Promise.all([a,this.getStatic(e,r)]);case 12:return i=(s=t.sent)[0],u=s[1],o=[],t.prev=16,t.next=19,this.getDynamic(e,i,r);case 19:o=t.sent,t.next=30;break;case 22:return t.prev=22,t.t0=t.catch(16),c=u.map((function(t){return t.address})),p=et(c,30),d=p.map(function(){var t=h(F.mark((function t(e){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",A.getDynamic(e,i,r));case 1:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()),t.next=29,Promise.all(d).then((function(t){return t.flat()}));case 29:o=t.sent;case 30:return f=this.yearn.strategies.vaultsStrategiesMetadata(o.map((function(t){return t.address}))).catch((function(t){return console.error(t),Promise.resolve([])})),l=this.yearn.earnings.assetsHistoricEarnings().catch((function(t){return console.error(t),Promise.resolve([])})),t.next=34,Promise.all([f,l]);case 34:w=(v=t.sent)[0],x=v[1],b=[],y=function(){var t,e,r=g.value,n=o.find((function(t){return r.address===t.address}));if(!n)throw new S("Dynamic asset does not exist for "+r.address);var a=i.find((function(t){return t.address===r.address}));if(null!=a&&a.hideAlways)return"continue";var s=null!=(t=null==a?void 0:a.order)?t:Math.max();n.metadata.displayName=n.metadata.displayName||r.name,n.metadata.strategies=w.find((function(t){return t.vaultAddress===r.address})),n.metadata.historicEarnings=null==(e=x.find((function(t){return t.assetAddress===r.address})))?void 0:e.dayData,b.push({vault:m({},r,n),order:s})},k=P(u);case 40:if((g=k()).done){t.next=46;break}if("continue"!==y()){t.next=44;break}return t.abrupt("continue",44);case 44:t.next=40;break;case 46:return t.abrupt("return",b.sort((function(t,e){return t.order-e.order})).map((function(t){return t.vault})));case 47:case"end":return t.stop()}}),t,this,[[16,22]])})));return function(e,r){return t.apply(this,arguments)}}(),r.getStatic=function(){var t=h(F.mark((function t(e,r){var n;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=Object.values(this.yearn.services.lens.adapters.vaults),t.next=3,Promise.all(n.map(function(){var t=h(F.mark((function t(n){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,n.assetsStatic(e,r);case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}())).then((function(t){return t.flat()}));case 3:return t.abrupt("return",t.sent);case 4:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.getDynamic=function(){var t=h(F.mark((function t(e,r,n){var a,s,i,u=this;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.cachedFetcherGetDynamic.fetch();case 2:if(!(a=t.sent)){t.next=5;break}return t.abrupt("return",e?a.filter((function(t){return e.includes(t.address)})):a);case 5:if(!r){t.next=9;break}t.t0=r,t.next=12;break;case 9:return t.next=11,this.yearn.services.meta.vaults().catch((function(t){return console.error(t),Promise.resolve([])}));case 11:t.t0=t.sent;case 12:if(s=t.t0,!xt(this.chainId)){t.next=18;break}return t.next=16,this.yearn.services.zapper.supportedVaultAddresses();case 16:s=Dt({addressables:s,supportedVaultAddresses:t.sent,zapInType:"zapperZapIn",zapOutType:"zapperZapOut"});case 18:return bt(this.chainId)&&(s=Dt({addressables:s,supportedVaultAddresses:[H.address],zapInType:"ftmApeZap",zapOutType:"ftmApeZap"})),i=Object.values(this.yearn.services.lens.adapters.vaults),t.next=22,Promise.all(i.map(function(){var t=h(F.mark((function t(r){var a,i;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,r.assetsDynamic(e,n);case 2:return a=t.sent,t.next=5,u.yearn.services.vision.apy(a.map((function(t){return t.address})));case 5:return i=t.sent,t.abrupt("return",a.map((function(t){var e=s.find((function(e){return e.address===t.address}));if(t.metadata.apy=i[t.address],t.tokenId===q){var r,n=null!=(r=u.yearn.services.asset.icon(W))?r:"";t.metadata.displayIcon=n,t.metadata.displayName="ETH",t.metadata.defaultDisplayToken=W}else{var a,o=null!=(a=u.yearn.services.asset.icon(t.tokenId))?a:"";t.metadata.displayIcon=o;var c=u.yearn.services.asset.alias(t.tokenId);t.metadata.displayName=c?c.symbol:"",t.metadata.defaultDisplayToken=t.tokenId}return e&&u.fillMetadataOverrides(t,e),t})));case 7:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}())).then((function(t){return t.flat()}));case 22:return t.abrupt("return",t.sent);case 23:case"end":return t.stop()}}),t,this)})));return function(e,r,n){return t.apply(this,arguments)}}(),r.positionsOf=function(){var t=h(F.mark((function t(e,r,n){var a,s=this;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=Object.values(this.yearn.services.lens.adapters.vaults),t.next=3,Promise.all(a.map(function(){var t=h(F.mark((function t(a){var i,u,o;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,a.positionsOf(e,r,n);case 3:return t.abrupt("return",t.sent);case 6:if(t.prev=6,t.t0=t.catch(0),!r){t.next=12;break}i=r,t.next=15;break;case 12:return t.next=14,s.getStatic(r,n).then((function(t){return t.map((function(t){return t.address}))}));case 14:i=t.sent;case 15:return u=et(i,30),o=u.map(function(){var t=h(F.mark((function t(r){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",a.positionsOf(e,r,n));case 1:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()),t.next=19,Promise.all(o).then((function(t){return t.flat()}));case 19:return t.abrupt("return",t.sent);case 20:case"end":return t.stop()}}),t,null,[[0,6]])})));return function(e){return t.apply(this,arguments)}}())).then((function(t){return t.flat()}));case 3:return t.abrupt("return",t.sent);case 4:case"end":return t.stop()}}),t,this)})));return function(e,r,n){return t.apply(this,arguments)}}(),r.summaryOf=function(){var t=h(F.mark((function t(e){var r;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.yearn.earnings.accountAssetsData(e);case 2:return t.abrupt("return",{earnings:(r=t.sent).earnings,holdings:r.holdings,grossApy:r.grossApy,estimatedYearlyYield:r.estimatedYearlyYield});case 8:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.metadataOf=function(){var t=h(F.mark((function t(e,r){var n;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.yearn.earnings.accountAssetsData(e);case 2:if(n=t.sent.earningsAssetData,r){t.next=6;break}return t.abrupt("return",n);case 6:return t.abrupt("return",n.filter((function(t){return r.includes(t.assetAddress)})));case 7:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.balances=function(){var t=h(F.mark((function t(e,r){var n;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.tokens();case 2:return n=t.sent,t.next=5,this.yearn.services.helper.tokenBalances(e,n.map((function(t){return t.address})),r);case 5:return t.abrupt("return",t.sent.map((function(t){var e=n.find((function(e){return e.address===t.address}));if(!e)throw new S("Token does not exist for Balance("+t.address+")");return m({},t,{token:e})})));case 7:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.tokens=function(){var t=h(F.mark((function t(e){var r,n,a=this;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.cachedFetcherTokens.fetch();case 2:if(!(r=t.sent)){t.next=5;break}return t.abrupt("return",r);case 5:return n=Object.values(this.yearn.services.lens.adapters.vaults),t.next=8,this.yearn.services.asset.ready;case 8:return t.next=10,Promise.all(n.map(function(){var t=h(F.mark((function t(r){var n,s,i,u,o,c;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,r.tokens(e);case 2:return s=a.yearn.services.asset.icon((n=t.sent).concat(W)),i=a.yearn.services.helper.tokens(n,e),u=a.yearn.tokens.metadata(n),t.next=8,Promise.all([i,u]);case 8:return c=(o=t.sent)[1],t.abrupt("return",Promise.all(o[0].map(function(){var t=h(F.mark((function t(r){var n,i,u,o;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=c.find((function(t){return t.address===r.address})),t.t0=m,t.t1={},t.t2=r,t.t3=s[r.address],t.t4={vaults:!0},t.next=8,a.yearn.services.oracle.getPriceUsdc(r.address,e);case 8:return t.t5=t.sent,t.t6=i,t.t7={icon:t.t3,dataSource:"vaults",supported:t.t4,priceUsdc:t.t5,metadata:t.t6},u=(0,t.t0)(t.t1,t.t2,t.t7),(o=null==(n=a.yearn.services.asset.alias(r.address))?void 0:n.symbol)&&(u.symbol=o),i&&a.fillTokenMetadataOverrides(u,i),t.abrupt("return",u);case 16:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}())));case 12:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}())).then((function(t){return t.flat()}));case 10:return t.abrupt("return",t.sent);case 11:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.getDepositAllowance=function(){var t=h(F.mark((function t(e,r,n){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getDepositContractAddress(r,n);case 2:return t.abrupt("return",this.yearn.tokens.allowance(e,n,t.sent));case 4:case"end":return t.stop()}}),t,this)})));return function(e,r,n){return t.apply(this,arguments)}}(),r.getWithdrawAllowance=function(){var t=h(F.mark((function t(e,r,n){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getWithdrawContractAddress(r,n);case 2:return t.abrupt("return",this.yearn.tokens.allowance(e,r,t.sent));case 4:case"end":return t.stop()}}),t,this)})));return function(e,r,n){return t.apply(this,arguments)}}(),r.approveDeposit=function(){var t=h(F.mark((function t(e,r,n,a,s){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getDepositContractAddress(r,n);case 2:return t.abrupt("return",this.yearn.tokens.approve(e,n,t.sent,null!=a?a:p.MaxUint256.toString(),s));case 4:case"end":return t.stop()}}),t,this)})));return function(e,r,n,a,s){return t.apply(this,arguments)}}(),r.approveWithdraw=function(){var t=h(F.mark((function t(e,r,n,a,s){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getWithdrawContractAddress(r,n);case 2:return t.abrupt("return",this.yearn.tokens.approve(e,r,t.sent,null!=a?a:p.MaxUint256.toString(),s));case 4:case"end":return t.stop()}}),t,this)})));return function(e,r,n,a,s){return t.apply(this,arguments)}}(),r.getDepositContractAddress=function(){var t=h(F.mark((function t(e,r){var n,a,s,i,u,o;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!$(r)){t.next=2;break}return t.abrupt("return",e);case 2:if(n=this.isZappingIntoPickleJar({vault:e}),a=!1,n){t.next=8;break}return t.next=7,this.isUnderlyingToken(e,r);case 7:a=t.sent;case 8:if(s=this.shouldUsePartnerService(e),!a||!s){t.next=16;break}return t.next=12,null==(i=this.yearn.services.partner)?void 0:i.address;case 12:if(u=t.sent){t.next=15;break}throw new S("Partner Tracking Contract Address not defined");case 15:return t.abrupt("return",u);case 16:if(!a){t.next=18;break}return t.abrupt("return",e);case 18:return o=n?z.pickleZapIn:z.zapperZapIn,t.next=21,this.yearn.addressProvider.addressById(o);case 21:return t.abrupt("return",t.sent);case 23:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.getWithdrawContractAddress=function(){var t=h(F.mark((function t(e,r){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.isUnderlyingToken(e,r);case 2:if(!t.sent){t.next=5;break}return t.abrupt("return",e);case 5:return t.next=7,this.yearn.addressProvider.addressById(z.zapperZapOut);case 7:return t.abrupt("return",t.sent);case 9:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.isUnderlyingToken=function(){var t=h(F.mark((function t(e,r){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getStatic([e]);case 2:return t.abrupt("return",t.sent[0].token===r);case 5:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.deposit=function(){var t=h(F.mark((function t(e,r,n,a,s,i){var u,o=this;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(void 0===s&&(s={}),void 0===i&&(i={}),u=this.ctx.provider.write.getSigner(a),!this.isZappingIntoPickleJar({vault:e})){t.next=5;break}return t.abrupt("return",this.zapIn(e,r,n,a,s,exports.ZapProtocol.PICKLE,i));case 5:return t.next=7,this.getStatic([e],i);case 7:if(t.sent[0].token===r){t.next=11;break}return t.abrupt("return",this.zapIn(e,r,n,a,s,exports.ZapProtocol.YEARN,i));case 11:return t.abrupt("return",this.executeVaultContractTransaction(function(){var t=h(F.mark((function t(r){var a;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,o.populateDepositTransaction({vault:e,amount:n,overrides:r,signer:u});case 2:if(a=t.sent){t.next=5;break}throw new S("deposit transaction failed");case 5:return t.abrupt("return",o.yearn.services.transaction.sendTransaction(a));case 6:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),i));case 12:case"end":return t.stop()}}),t,this)})));return function(e,r,n,a,s,i){return t.apply(this,arguments)}}(),r.withdraw=function(){var t=h(F.mark((function t(e,r,n,a,s,u){var c,p,d,f,l,v=this;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===s&&(s={}),void 0===u&&(u={}),t.next=4,this.getStatic([e],u);case 4:if(c=t.sent[0],p=this.ctx.provider.write.getSigner(a),c.token!==r){t.next=13;break}return d=new i.Contract(e,Bt,p),t.abrupt("return",this.executeVaultContractTransaction(function(){var t=h(F.mark((function t(e){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,d.populateTransaction.withdraw(n,e);case 2:return t.abrupt("return",v.yearn.services.transaction.sendTransaction(t.sent));case 4:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),u));case 13:if(void 0!==s.slippage){t.next=15;break}throw new S("zap operations should have a slippage set");case 15:return t.next=17,this.yearn.services.zapper.zapOut(a,r,n,e,"0",s.slippage,!1,void 0,s.signature);case 17:return l={to:(f=t.sent).to,from:f.from,gasPrice:o.BigNumber.from(f.gasPrice),gasLimit:o.BigNumber.from(f.gas),data:f.data,value:o.BigNumber.from(f.value)},t.abrupt("return",this.executeZapperTransaction(l,u,o.BigNumber.from(f.gasPrice)));case 20:case"end":return t.stop()}}),t,this)})));return function(e,r,n,a,s,i){return t.apply(this,arguments)}}(),r.zapIn=function(){var t=h(F.mark((function t(e,r,n,a,s,i,u){var c,p,d;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(void 0===s&&(s={}),void 0===i&&(i=exports.ZapProtocol.YEARN),void 0===u&&(u={}),void 0!==s.slippage){t.next=5;break}throw new S("zap operations should have a slippage set");case 5:return t.next=7,this.yearn.services.zapper.zapIn(a,r,n,e,"0",s.slippage,!1,i,null==(c=this.yearn.services.partner)?void 0:c.partnerId);case 7:return d={to:(p=t.sent).to,from:p.from,data:p.data,value:o.BigNumber.from(p.value),gasLimit:o.BigNumber.from(p.gas)},t.abrupt("return",this.executeZapperTransaction(d,u,o.BigNumber.from(p.gasPrice)));case 10:case"end":return t.stop()}}),t,this)})));return function(e,r,n,a,s,i,u){return t.apply(this,arguments)}}(),r.executeZapperTransaction=function(){var t=h(F.mark((function t(e,r,n){var a,s;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,(a=m({},e,r)).gasPrice=void 0,t.next=5,this.yearn.services.transaction.sendTransaction(a);case 5:return t.abrupt("return",t.sent);case 8:if(t.prev=8,t.t0=t.catch(0),-32602!==t.t0.code){t.next=18;break}return(s=m({},e,r)).maxFeePerGas=void 0,s.maxPriorityFeePerGas=void 0,s.gasPrice=r.gasPrice||n,t.next=17,this.yearn.services.transaction.sendTransaction(s);case 17:return t.abrupt("return",t.sent);case 18:throw t.t0;case 19:case"end":return t.stop()}}),t,this,[[0,8]])})));return function(e,r,n){return t.apply(this,arguments)}}(),r.executeVaultContractTransaction=function(){var t=h(F.mark((function t(e,r){var n;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.gasPrice,t.prev=1,r.gasPrice=void 0,t.next=5,e(r);case 5:return t.abrupt("return",t.sent);case 9:if(t.prev=9,t.t0=t.catch(1),-32602!==t.t0.code){t.next=19;break}return r.maxFeePerGas=void 0,r.maxPriorityFeePerGas=void 0,r.gasPrice=n,t.next=17,e(r);case 17:return t.abrupt("return",t.sent);case 19:throw t.t0;case 20:case"end":return t.stop()}}),t,null,[[1,9]])})));return function(e,r){return t.apply(this,arguments)}}(),r.fillTokenMetadataOverrides=function(t,e){e.tokenIconOverride&&(t.icon=e.tokenIconOverride),e.tokenSymbolOverride&&(t.symbol=e.tokenSymbolOverride),e.tokenNameOverride&&(t.name=e.tokenNameOverride)},r.fillMetadataOverrides=function(t,e){e.displayName&&(t.metadata.displayName=e.displayName),e.vaultSymbolOverride&&(t.metadata.symbol=e.vaultSymbolOverride),e.vaultIconOverride&&(t.metadata.displayIcon=e.vaultIconOverride),e.apyTypeOverride&&(t.metadata.apy||(t.metadata.apy=this.makeEmptyApy()),t.metadata.apy.type=e.apyTypeOverride),e.apyOverride&&(t.metadata.apy||(t.metadata.apy=this.makeEmptyApy()),t.metadata.apy.net_apy=e.apyOverride,t.metadata.apy.type="override"),t.metadata.depositsDisabled=e.depositsDisabled,t.metadata.withdrawalsDisabled=e.withdrawalsDisabled,t.metadata.allowZapIn=e.allowZapIn,t.metadata.allowZapOut=e.allowZapOut,t.metadata.zapInWith=e.zapInWith,t.metadata.zapOutWith=e.zapOutWith,t.metadata.migrationContract=e.migrationContract,t.metadata.migrationTargetVault=e.migrationTargetVault,t.metadata.vaultNameOverride=e.vaultNameOverride,t.metadata.vaultDetailPageAssets=e.vaultDetailPageAssets,t.metadata.hideIfNoDeposits=t.metadata.emergencyShutdown||e.retired||e.migrationAvailable||!1,t.metadata.migrationAvailable=t.metadata.migrationAvailable||e.migrationAvailable||!1},r.shouldUsePartnerService=function(t){var e;return!(null==(e=this.yearn.services.partner)||!e.isAllowed(t))},r.makeEmptyApy=function(){return{type:"manual_override",gross_apr:0,net_apy:0,fees:{performance:null,withdrawal:null,management:null,keep_crv:null,cvx_keep_crv:null},points:null,composite:null}},r.populateDepositTransaction=function(){var t=h(F.mark((function t(e){var r,n,a,s,u,o;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=e.amount,a=e.overrides,s=e.signer,!this.shouldUsePartnerService(r=e.vault)){t.next=3;break}return t.abrupt("return",null==(u=this.yearn.services.partner)?void 0:u.populateDepositTransaction(r,n,a));case 3:return o=new i.Contract(r,Bt,s),t.abrupt("return",o.populateTransaction.deposit(n,a));case 5:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.isZappingIntoPickleJar=function(t){return pt.includes(t.vault)},e}(j),Rt="tuple(\n address address,\n string typeId,\n address token,\n string name,\n string version,\n string symbol,\n uint8 decimals,\n)",Nt=function(t){return"tuple(\n address address, \n string typeId,\n address tokenId,\n tuple(uint256 amount, uint256 amountUsdc) underlyingTokenBalance,\n "+t+" metadata\n)"},zt="tuple(address assetAddress, address tokenAddress, string typeId, uint256 balance,tuple(uint256 amount, uint256 amountUsdc) underlyingTokenBalance,tuple(address owner, address spender, uint256 amount)[] tokenAllowances,tuple(address owner, address spender, uint256 amount)[] assetAllowances)",Ut=function(t){return["function assetsStatic() public view returns ("+Rt+"[] memory)","function assetsStatic(address[] memory) public view returns ("+Rt+"[] memory)","function assetsDynamic() public view returns ("+Nt(t)+"[] memory)","function assetsDynamic(address[] memory) public view returns ("+Nt(t)+"[] memory)","function assetsPositionsOf(address) public view returns ("+zt+"[] memory)","function assetsPositionsOf(address, address[] memory) public view returns ("+zt+"[] memory)","function assetsTokensAddresses() public view returns (address[] memory)"]};function Ft(t){if("object"!=typeof t)return t;var e=Object.keys(t).filter((function(t){return isNaN(Number(t))}));if(0===e.length)return Lt(t);var r={};return e.forEach((function(e){var n=t[e];r[e]="object"!=typeof n||d.isBigNumberish(n)?Array.isArray(n)?n:d.isBigNumberish(n)?n.toString():n:Ft(n)})),r}function Lt(t){return t.map((function(t){return Ft(t)}))}var Zt=["function adapterPositionOf(address) external view returns (tuple(\n uint256 supplyBalanceUsdc,\n uint256 borrowBalanceUsdc,\n uint256 borrowLimitUsdc,\n uint256 utilizationRatioBips\n) memory)","function assetsUserMetadata(address) public view returns (tuple(\n address assetAddress,\n bool enteredMarket,\n uint256 supplyBalanceUsdc,\n uint256 borrowBalanceUsdc,\n uint256 collateralBalanceUsdc,\n uint256 borrowLimitUsdc\n)[] memory)","function blocksPerYear() public view returns (uint256)"],jt=function(t){function e(){return t.apply(this,arguments)||this}w(e,t);var r=e.prototype;return r.assetsStatic=function(){var t=h(F.mark((function t(e,r){var n;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===r&&(r={}),t.next=3,this.contract;case 3:if(n=t.sent,!e){t.next=6;break}return t.abrupt("return",n.read["assetsStatic(address[])"](e,r).then(Lt));case 6:return t.abrupt("return",n.read["assetsStatic()"](r).then(Lt));case 7:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.assetsDynamic=function(){var t=h(F.mark((function t(e,r){var n,a,s,i,u,o,c,p;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===r&&(r={}),t.next=3,this.contract;case 3:return n=t.sent,a=e?n.read["assetsDynamic(address[])"](e,r).then(Lt):n.read["assetsDynamic()"](r).then(Lt),t.next=7,Promise.all([a,this.blocksPerYear()]);case 7:for(u=(s=t.sent)[1],o=P(i=s[0]);!(c=o()).done;)(p=c.value).metadata.lendApyBips=this.aprBipsToApyBips(p.metadata.lendAprBips,u),p.metadata.borrowApyBips=this.aprBipsToApyBips(p.metadata.borrowAprBips,u);return t.abrupt("return",i);case 12:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.positionsOf=function(){var t=h(F.mark((function t(e,r,n){var a;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===n&&(n={}),t.next=3,this.contract;case 3:if(a=t.sent,!r){t.next=6;break}return t.abrupt("return",a.read["assetsPositionsOf(address,address[])"](e,r,n).then(Lt));case 6:return t.abrupt("return",a.read["assetsPositionsOf(address)"](e,n).then(Lt));case 7:case"end":return t.stop()}}),t,this)})));return function(e,r,n){return t.apply(this,arguments)}}(),r.generalPositionOf=function(){var t=h(F.mark((function t(e,r){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===r&&(r={}),t.next=3,this.contract;case 3:return t.abrupt("return",t.sent.read.adapterPositionOf(e,r).then(Ft));case 5:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.assetsUserMetadata=function(){var t=h(F.mark((function t(e,r,n){var a;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===n&&(n={}),t.next=3,this.contract;case 3:if(a=t.sent,!r){t.next=6;break}return t.abrupt("return",a.read["assetsUserMetadata(address,address[])"](e,r,n).then(Lt));case 6:return t.abrupt("return",a.read["assetsUserMetadata(address)"](e,n).then(Lt));case 7:case"end":return t.stop()}}),t,this)})));return function(e,r,n){return t.apply(this,arguments)}}(),r.tokens=function(){var t=h(F.mark((function t(e){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===e&&(e={}),t.next=3,this.contract;case 3:return t.abrupt("return",t.sent.read.assetsTokensAddresses(e));case 5:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.blocksPerYear=function(){var t=h(F.mark((function t(e){var r;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===e&&(e={}),t.next=3,this.contract;case 3:return r=t.sent,t.next=6,r.read.blocksPerYear(e);case 6:return t.abrupt("return",t.sent.toString());case 8:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.aprBipsToApyBips=function(t,e){var r=n.BigNumber.clone({POW_PRECISION:6});return new r(t).div(new r(10).pow(4)).div(e).plus(1).pow(e).minus(1).multipliedBy(new r(10).pow(4)).toFixed(0)},v(e,[{key:"contract",get:function(){return this._getContract(e.abi,e.contractId,this.ctx)}}]),e}(M);jt.abi=Ut("tuple(\n uint256 totalSuppliedUsdc,\n uint256 totalBorrowedUsdc,\n uint256 lendAprBips,\n uint256 borrowAprBips,\n uint256 liquidity,\n uint256 liquidityUsdc,\n uint256 totalCollateralTokens,\n uint256 collateralFactor,\n uint256 collateralCap,\n bool isActive,\n uint256 reserveFactor,\n uint256 exchangeRate\n)").concat(Zt),jt.contractId=z.adapter_ironbank;var Vt=function(t){function e(){return t.apply(this,arguments)||this}w(e,t);var r=e.prototype;return r.assetsStatic=function(){var t=h(F.mark((function t(e,r){var n;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===r&&(r={}),t.next=3,this.contract;case 3:if(n=t.sent,!e){t.next=6;break}return t.abrupt("return",n.read["assetsStatic(address[])"](e,r).then(Lt));case 6:return t.abrupt("return",n.read["assetsStatic()"]().then(Lt));case 7:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.assetsDynamic=function(){var t=h(F.mark((function t(e,r){var n;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===r&&(r={}),t.next=3,this.contract;case 3:if(n=t.sent,!e){t.next=6;break}return t.abrupt("return",n.read["assetsDynamic(address[])"](e,r).then(Lt).then((function(t){return t.map((function(t){return m({},t,{metadata:m({controller:G,totalAssets:"0",totalSupply:"0"},t.metadata)})}))})));case 6:return t.abrupt("return",n.read["assetsDynamic()"]().then(Lt).then((function(t){return t.map((function(t){return m({},t,{metadata:m({controller:G,totalAssets:"0",totalSupply:"0"},t.metadata)})}))})));case 7:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.positionsOf=function(){var t=h(F.mark((function t(e,r,n){var a;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===n&&(n={}),t.next=3,this.contract;case 3:if(a=t.sent,!r){t.next=6;break}return t.abrupt("return",a.read["assetsPositionsOf(address,address[])"](e,r,n).then(Lt));case 6:return t.abrupt("return",a.read["assetsPositionsOf(address)"](e,n).then(Lt));case 7:case"end":return t.stop()}}),t,this)})));return function(e,r,n){return t.apply(this,arguments)}}(),r.tokens=function(){var t=h(F.mark((function t(e){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===e&&(e={}),t.next=3,this.contract;case 3:return t.abrupt("return",t.sent.read.assetsTokensAddresses(e));case 5:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),v(e,[{key:"contract",get:function(){return this._getContract(e.abi,e.contractId,this.ctx)}}]),e}(M);Vt.abi=Ut("tuple(\n uint256 pricePerShare,\n bool migrationAvailable,\n address latestVaultAddress,\n uint256 depositLimit,\n bool emergencyShutdown\n)"),Vt.contractId=z.adapter_registry_v2;var Mt=function(t,e){return"https://raw.githack.com/yearn/yearn-assets/master/icons/multichain-tokens/"+e+"/"+t+"/logo-128.png"},Gt=function(t,e){return"https://raw.githack.com/yearn/yearn-assets/master/icons/multichain-tokens/"+e+"/"+t+"/logo-alt-128.png"},Wt=function(t){return"https://raw.githack.com/trustwallet/assets/master/blockchains/ethereum/assets/"+t+"/logo.png"},qt=function(t){function e(e,r,n){var a;return(a=t.call(this,e,r)||this).alts=[q],n?(a.supported=n.supported,a.aliases=n.aliases,a.ready=Promise.resolve()):(a.supported=new Map,a.aliases=new Map,a.ready=a.initialize()),a}w(e,t),e.deserializeState=function(t){var e=JSON.parse(t);return{supported:new Map(JSON.parse(e.supported)),aliases:new Map(JSON.parse(e.aliases))}};var r=e.prototype;return r.makeSerializedState=function(){var t=h(F.mark((function t(){var e,r;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.ready;case 2:return e=JSON.stringify(Array.from(this.supported.entries())),r=JSON.stringify(Array.from(this.aliases.entries())),t.abrupt("return",JSON.stringify({supported:e,aliases:r}));case 5:case"end":return t.stop()}}),t,this)})));return function(){return t.apply(this,arguments)}}(),r.initialize=function(){var t=h(F.mark((function t(){var e,r,n,a,s,i,u,o,p;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(1!==this.chainId&&1337!==this.chainId){t.next=9;break}return t.next=3,c("https://raw.githubusercontent.com/yearn/yearn-assets/master/icons/aliases.json").then(K).then((function(t){return t.json()})).catch((function(t){return console.error(t),[]}));case 3:for(e=P(t.sent);!(r=e()).done;)this.aliases.set((n=r.value).address,n);return t.next=7,c("https://raw.githack.com/trustwallet/assets/master/blockchains/ethereum/tokenlist.json").then(K).then((function(t){return t.json()})).then((function(t){return t.tokens})).catch((function(t){return console.error(t),[]}));case 7:for(a=P(t.sent);!(s=a()).done;)this.supported.set((i=s.value).address,Wt(i.address));case 9:return t.next=11,c((d=this.chainId,"https://api.github.com/repos/yearn/yearn-assets/contents/icons/multichain-tokens/"+d)).then(K).then((function(t){return t.json()})).catch((function(t){return console.error(t),[]}));case 11:for(u=P(t.sent);!(o=u()).done;)this.supported.set((p=o.value).name,Mt(p.name,this.chainId)),this.alts.includes(p.name)?this.supported.set(p.name,Gt(p.name,this.chainId)):this.supported.set(p.name,Mt(p.name,this.chainId));case 13:case"end":return t.stop()}var d}),t,this)})));return function(){return t.apply(this,arguments)}}(),r.icon=function(t){var e=this;return Array.isArray(t)?Object.fromEntries(t.map((function(t){return[t,e.supported.get(t)]}))):this.supported.get(t)},r.alias=function(t){var e=this;return Array.isArray(t)?Object.fromEntries(t.map((function(t){return[t,e.aliases.get(t)]}))):this.aliases.get(t)},e}(Z),Yt=function(t){function e(e,r,n){var a;return(a=t.call(this,e,r)||this).addressProvider=n,a}return w(e,t),v(e,[{key:"adapters",get:function(){return{vaults:{v2:new Vt(this.chainId,this.ctx,this.addressProvider)},ironBank:new jt(this.chainId,this.ctx,this.addressProvider)}}}]),e}(Z),Ht=function(t){function e(){return t.apply(this,arguments)||this}w(e,t);var r=e.prototype;return r.getCalculations=function(){var t=h(F.mark((function t(e){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===e&&(e={}),t.next=3,this.contract;case 3:return t.abrupt("return",t.sent.read.calculations(e));case 5:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.getPriceUsdc=function(){var t=h(F.mark((function t(e,r){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===r&&(r={}),t.next=3,this.contract;case 3:return t.abrupt("return",t.sent.read.getPriceUsdcRecommended(e,r).then(tt));case 5:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.getNormalizedValueUsdc=function(){var t=h(F.mark((function t(e,r,n){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===n&&(n={}),t.next=3,this.contract;case 3:return t.abrupt("return",t.sent.read.getNormalizedValueUsdc(e,r,n).then(tt));case 5:case"end":return t.stop()}}),t,this)})));return function(e,r,n){return t.apply(this,arguments)}}(),r.getUsdcAddress=function(){var t=h(F.mark((function t(e){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===e&&(e={}),t.next=3,this.contract;case 3:return t.abrupt("return",t.sent.read.usdcAddress(e));case 5:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.isCurveLpToken=function(){var t=h(F.mark((function t(e,r){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===r&&(r={}),t.next=3,this.contract;case 3:return t.abrupt("return",t.sent.read.isCurveLpToken(e,r));case 5:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.getCurvePriceUsdc=function(){var t=h(F.mark((function t(e,r){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===r&&(r={}),t.next=3,this.contract;case 3:return t.abrupt("return",t.sent.read.getCurvePriceUsdc(e,r).then(tt));case 5:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.getBasePrice=function(){var t=h(F.mark((function t(e,r){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===r&&(r={}),t.next=3,this.contract;case 3:return t.abrupt("return",t.sent.read.getBasePrice(e,r).then(tt));case 5:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.getVirtualPrice=function(){var t=h(F.mark((function t(e,r){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===r&&(r={}),t.next=3,this.contract;case 3:return t.abrupt("return",t.sent.read.getVirtualPrice(e,r).then(tt));case 5:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.getCurveRegistryAddress=function(){var t=h(F.mark((function t(e){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===e&&(e={}),t.next=3,this.contract;case 3:return t.abrupt("return",t.sent.read.usdcAddress(e).then(tt));case 5:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.isIronBankMarket=function(){var t=h(F.mark((function t(e,r){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===r&&(r={}),t.next=3,this.contract;case 3:return t.abrupt("return",t.sent.read.isIronBankMarket(e,r));case 5:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.getIronBankMarketPriceUsdc=function(){var t=h(F.mark((function t(e,r){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===r&&(r={}),t.next=3,this.contract;case 3:return t.abrupt("return",t.sent.read.getIronBankMarketPriceUsdc(e,r).then(tt));case 5:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.getIronBankMarkets=function(){var t=h(F.mark((function t(e){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===e&&(e={}),t.next=3,this.contract;case 3:return t.abrupt("return",t.sent.read.getIronBankMarkets(e));case 5:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.isLpToken=function(){var t=h(F.mark((function t(e,r){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===r&&(r={}),t.next=3,this.contract;case 3:return t.abrupt("return",t.sent.read.isLpToken(e,r));case 5:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.getPriceFromRouter=function(){var t=h(F.mark((function t(e,r,n){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===n&&(n={}),t.next=3,this.contract;case 3:return t.abrupt("return",t.sent.read.getPriceFromRouter(e,r,n).then(tt));case 5:case"end":return t.stop()}}),t,this)})));return function(e,r,n){return t.apply(this,arguments)}}(),r.getPriceFromRouterUsdc=function(){var t=h(F.mark((function t(e,r){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===r&&(r={}),t.next=3,this.contract;case 3:return t.abrupt("return",t.sent.read.getPriceFromRouterUsdc(e,r).then(tt));case 5:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.getLpTokenTotalLiquidityUsdc=function(){var t=h(F.mark((function t(e,r){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===r&&(r={}),t.next=3,this.contract;case 3:return t.abrupt("return",t.sent.read.getLpTokenTotalLiquidityUsdc(e,r).then(tt));case 5:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.getLpTokenPriceUsdc=function(){var t=h(F.mark((function t(e,r){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===r&&(r={}),t.next=3,this.contract;case 3:return t.abrupt("return",t.sent.read.getLpTokenPriceUsdc(e,r).then(tt));case 5:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),v(e,[{key:"contract",get:function(){return this._getContract(e.abi,e.contractId,this.ctx)}}]),e}(M);Ht.abi=["function calculations() external view returns (address[] memory)","function getPriceUsdcRecommended(address) public view returns (uint256)","function usdcAddress() public view returns (address)","function getNormalizedValueUsdc(address,uint256) view returns (uint256)","function isCurveLpToken(address) public view returns (bool)","function getCurvePriceUsdc(address) public view returns (uint256)","function getBasePrice(address) public view returns (uint256)","function getVirtualPrice(address) public view returns (uint256)","function curveRegistryAddress() public view returns (address)","function isIronBankMarket(address) public view returns (bool)","function getIronBankMarketPriceUsdc(address) public view returns (uint256)","function getIronBankMarkets() public view returns (address[] memory)","function isLpToken(address) public view returns (bool)","function getPriceFromRouter(address, address) public view returns (uint256)","function getPriceFromRouterUsdc(address) public view returns (uint256)","function getLpTokenTotalLiquidityUsdc(address) public view returns (uint256)","function getLpTokenPriceUsdc(address) public view returns (uint256)"],Ht.contractId=z.oracle;var Jt=function(t){function e(e,r){var n,a,s,i;switch(i=t.call(this,e,r)||this,e){case 1:case 1337:i.yearnSubgraphEndpoint=null==(n=r.subgraph)?void 0:n.mainnetSubgraphEndpoint;break;case 250:i.yearnSubgraphEndpoint=(null==(a=r.subgraph)?void 0:a.fantomSubgraphEndpoint)||"https://api.thegraph.com/subgraphs/name/yearn/yearn-vaults-v2-fantom";break;case 42161:i.yearnSubgraphEndpoint=(null==(s=r.subgraph)?void 0:s.arbitrumSubgraphEndpoint)||"https://api.thegraph.com/subgraphs/name/yearn/yearn-vaults-v2-arbitrum";break;default:throw new S("No subgraph name for chain "+e)}return i}return w(e,t),e.prototype.fetchQuery=function(){var t=h(F.mark((function t(e,r){var n;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(void 0===r&&(r={}),this.yearnSubgraphEndpoint){t.next=3;break}throw new S("the subgraph service has not been configured to be able to make queries, configure it in the `Context` object");case 3:return Object.keys(r).forEach((function(t){var e=r[t];if("string"==typeof e)r[t]=e.toLowerCase();else if(Array.isArray(e))for(var n,a=P(e.entries());!(n=a()).done;){var s=n.value,i=s[1];"string"==typeof i&&(e[s[0]]=i.toLowerCase())}})),n={query:e,variables:r},t.next=7,fetch(this.yearnSubgraphEndpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)}).then((function(t){return t.json()})).then((function(t){if(t.errors)throw new S("Subgraph Error - "+JSON.stringify(t.errors));return t}));case 7:return t.abrupt("return",t.sent);case 8:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),e}(Z),$t=function(t){function e(){return t.apply(this,arguments)||this}return w(e,t),e.prototype.sendMessage=function(t){if(this.ctx.simulation.telegramChatId&&this.ctx.simulation.telegramBotId){var e=new URLSearchParams({chat_id:this.ctx.simulation.telegramChatId,text:t,disable_web_page_preview:"true"});fetch("https://api.telegram.org/bot"+this.ctx.simulation.telegramBotId+"/sendMessage?"+e)}},e}(Z),Kt=function(t){function e(){return t.apply(this,arguments)||this}return w(e,t),e.prototype.apy=function(){var t=h(F.mark((function t(e){var r,n,a,s,i,u,o;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r="https://d28fcsszptni1s.cloudfront.net/v1/chains/"+this.chainId+"/vaults/all",t.next=3,fetch(r).then(K).then((function(t){return t.json()}));case 3:if(n=(n=t.sent).map((function(t){return t.apy&&"backscratcher"===t.apy.type?m({},t,{apy:(e=t.apy,e?m({},e,{composite:e.composite?m({},e.composite,{boost:e.composite.boost?e.composite.boost:e.composite.currentBoost,pool_apy:e.composite.pool_apy?e.composite.pool_apy:e.composite.poolApy,boosted_apr:e.composite.boosted_apr?e.composite.boosted_apr:e.composite.boostedApy,base_apr:e.composite.base_apr?e.composite.base_apr:e.composite.baseApy}):null}):void 0)}):t;var e})),!Array.isArray(e)){t.next=12;break}for(a=new Map,s=function(){var t=u.value,e=n.find((function(e){return e.address===t}));a.set(t,e?e.apy:void 0)},i=P(e);!(u=i()).done;)s();return t.abrupt("return",Object.fromEntries(a));case 12:if(!e){t.next=19;break}if(o=n.find((function(t){return t.address===e}))){t.next=16;break}return t.abrupt("return",void 0);case 16:return t.abrupt("return",o.apy);case 19:return t.abrupt("return",Object.fromEntries(n.map((function(t){return[t.address,t.apy]}))));case 20:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),e}(Z),Qt=function(t){function e(){return t.apply(this,arguments)||this}w(e,t);var r=e.prototype;return r.supportedTokens=function(){var t=h(F.mark((function t(){var e,r;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=3,fetch("https://api.zapper.fi/v2/prices",{headers:{Authorization:"Basic "+this.ctx.zapper}}).then(K).then((function(t){return t.json()}));case 3:return e=wt[this.chainId],r=t.sent.filter((function(t){return!t.hide})),t.abrupt("return",r.map((function(t){return{address:t.address===G?W:s.getAddress(t.address),decimals:String(t.decimals),icon:"https://assets.yearn.network/tokens/"+e+"/"+t.address+".png",name:t.symbol,priceUsdc:X(t.price),dataSource:"zapper",supported:{zapper:!0},symbol:t.symbol}})));case 7:case"end":return t.stop()}}),t,this)})));return function(){return t.apply(this,arguments)}}(),r.balances=function(){var t=h(F.mark((function t(e){var r,n;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=new URLSearchParams({"addresses[]":Array.isArray(e)?e.join():e}),t.next=4,fetch("https://api.zapper.fi/v2/apps/tokens/balances?"+r,{headers:{Authorization:"Basic "+this.ctx.zapper}}).then(K).then((function(t){return t.json()}));case 4:if(n=t.sent.balances,Object.keys(n).forEach((function(t){var e=n[t];if(delete n[t],0===e.products.length)n[s.getAddress(t)]=[];else{var r=e.products[0].assets;n[s.getAddress(t)]=r.map((function(t){var e=t.address===G?W:s.getAddress(String(t.address));return{address:e,token:{address:e,name:t.symbol,symbol:t.symbol,decimals:t.decimals},balance:t.balanceRaw,balanceUsdc:X(t.balanceUSD),priceUsdc:X(t.price)}}))}})),Array.isArray(e)){t.next=9;break}return t.abrupt("return",n[e]);case 9:return t.abrupt("return",n);case 10:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.supportedVaultAddresses=function(){var t=h(F.mark((function t(){var e;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(xt(this.chainId)){t.next=2;break}throw new S("Only Ethereum is supported for token market data, got "+this.chainId);case 2:return e=new URLSearchParams({network:"ethereum",groupId:"vault"}),t.next=6,fetch("https://api.zapper.fi/v2/apps/yearn/tokens?"+e,{headers:{Authorization:"Basic "+this.ctx.zapper}}).then(K).then((function(t){return t.json()}));case 6:return t.abrupt("return",t.sent.map((function(t){return s.getAddress(t.address)})).filter((function(t){return!!t})));case 8:case"end":return t.stop()}}),t,this)})));return function(){return t.apply(this,arguments)}}(),r.gas=function(){var t=h(F.mark((function t(){var e;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=new URLSearchParams({eip1559:"false"}),t.next=4,fetch("https://api.zapper.fi/v2/gas-prices?"+e,{headers:{Authorization:"Basic "+this.ctx.zapper}}).then(K).then((function(t){return t.json()}));case 4:return t.abrupt("return",t.sent);case 6:case"end":return t.stop()}}),t,this)})));return function(){return t.apply(this,arguments)}}(),r.zapInApprovalState=function(){var t=h(F.mark((function t(e,r,n){var a,s;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===n&&(n=exports.ZapProtocol.YEARN),a="https://api.zapper.fi/v2/zap-in/vault/"+n+"/approval-state",s=new URLSearchParams({ownerAddress:e,sellTokenAddress:r}),t.next=5,fetch(a+"?"+s,{headers:{Authorization:"Basic "+this.ctx.zapper}}).then(K).then((function(t){return t.json()}));case 5:return t.abrupt("return",t.sent);case 7:case"end":return t.stop()}}),t,this)})));return function(e,r,n){return t.apply(this,arguments)}}(),r.zapInApprovalTransaction=function(){var t=h(F.mark((function t(e,r,n,a){var s,i;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===a&&(a=exports.ZapProtocol.YEARN),s="https://api.zapper.fi/v2/zap-in/vault/"+a+"/approval-transaction",i=new URLSearchParams({gasPrice:n,ownerAddress:e,sellTokenAddress:r}),t.next=5,fetch(s+"?"+i,{headers:{Authorization:"Basic "+this.ctx.zapper}}).then(K).then((function(t){return t.json()}));case 5:return t.abrupt("return",t.sent);case 7:case"end":return t.stop()}}),t,this)})));return function(e,r,n,a){return t.apply(this,arguments)}}(),r.zapOutApprovalState=function(){var t=h(F.mark((function t(e,r,n){var a,s;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===n&&(n=exports.ZapProtocol.YEARN),a="https://api.zapper.fi/v2/zap-out/vault/"+n+"/approval-state",s=new URLSearchParams({ownerAddress:e,sellTokenAddress:r}),t.next=5,fetch(a+"?"+s,{headers:{Authorization:"Basic "+this.ctx.zapper}}).then(K).then((function(t){return t.json()}));case 5:return t.abrupt("return",t.sent);case 7:case"end":return t.stop()}}),t,this)})));return function(e,r,n){return t.apply(this,arguments)}}(),r.zapOutApprovalTransaction=function(){var t=h(F.mark((function t(e,r,n,a){var s,i;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===a&&(a=exports.ZapProtocol.YEARN),s="https://api.zapper.fi/v2/zap-out/vault/"+a+"/approval-transaction",i=new URLSearchParams({gasPrice:n,ownerAddress:e,sellTokenAddress:r}),t.next=5,fetch(s+"?"+i,{headers:{Authorization:"Basic "+this.ctx.zapper}}).then(K).then((function(t){return t.json()}));case 5:return t.abrupt("return",t.sent);case 7:case"end":return t.stop()}}),t,this)})));return function(e,r,n,a){return t.apply(this,arguments)}}(),r.zapIn=function(){var t=h(F.mark((function t(e,r,n,a,s,i,u,o,c){var p,d,f;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===o&&(o=exports.ZapProtocol.YEARN),p=r,W===r&&(p=G),d="https://api.zapper.fi/v2/zap-in/vault/"+o+"/transaction",f=new URLSearchParams(m({affiliateAddress:"0xFEB4acf3df3cDEA7399794D0869ef76A6EfAff52",ownerAddress:e,sellTokenAddress:p,sellAmount:n,poolAddress:a,gasPrice:s,slippagePercentage:i.toString(),skipGasEstimate:u?"true":"false"},c&&{partnerId:c}||{})),t.next=7,fetch(d+"?"+f,{headers:{Authorization:"Basic "+this.ctx.zapper}}).then(K).then((function(t){return t.json()}));case 7:return t.abrupt("return",t.sent);case 9:case"end":return t.stop()}}),t,this)})));return function(e,r,n,a,s,i,u,o,c){return t.apply(this,arguments)}}(),r.zapOut=function(){var t=h(F.mark((function t(e,r,n,a,s,i,u,o,c){var p,d,f;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===o&&(o=exports.ZapProtocol.YEARN),p=r,W===r&&(p=G),d="https://api.zapper.fi/v2/zap-out/vault/"+o+"/transaction",f=new URLSearchParams(m({affiliateAddress:"0xFEB4acf3df3cDEA7399794D0869ef76A6EfAff52",ownerAddress:e,toTokenAddress:p,sellAmount:n,poolAddress:a,gasPrice:s,slippagePercentage:i.toString(),skipGasEstimate:u?"true":"false"},c&&{signature:c})),t.next=7,fetch(d+"?"+f,{headers:{Authorization:"Basic "+this.ctx.zapper}}).then(K).then((function(t){return t.json()}));case 7:return t.abrupt("return",t.sent);case 9:case"end":return t.stop()}}),t,this)})));return function(e,r,n,a,s,i,u,o,c){return t.apply(this,arguments)}}(),e}(Z),Xt=function(t){function e(r,n){var a;return(a=t.call(this,r,n)||this).contract=new V(e.addressByChain(r),e.abi,n),a.cachedAddressesById=new Map,a}w(e,t),e.addressByChain=function(t){switch(t){case 1:case 1337:return"0xe11dC9f2Ab122dC5978EACA41483Da0D7D7e6128";case 250:return"0xac5A9E4135A3A26497F3890bFb602b06Ee592B61";case 42161:return"0xcAd10033C86B0C1ED6bfcCAa2FF6779938558E9f";default:throw new Error("Unsupported chain id: "+t)}};var r=e.prototype;return r.addressById=function(){var t=h(F.mark((function t(e){var r,n,a;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=this.cachedAddressesById.get(e)||{},a=r.timestamp,!(n=r.address)||!this.isCacheFresh({timestamp:a})){t.next=3;break}return t.abrupt("return",n);case 3:return t.prev=3,t.next=6,this.contract.read.addressById(e);case 6:return t.abrupt("return",this.setCachedAddressById({id:e,address:t.sent}));case 10:throw t.prev=10,t.t0=t.catch(3),new S("Failed to read contract address for "+e+": "+t.t0);case 13:case"end":return t.stop()}}),t,this,[[3,10]])})));return function(e){return t.apply(this,arguments)}}(),r.setCachedAddressById=function(t){var e=t.id,r=t.address,n=new Date(Date.now()).getTime();if(!this.cachedAddressesById.has(e))return this.cachedAddressesById.set(e,{address:r,timestamp:n}),r;var a=this.cachedAddressesById.get(e)||{};return this.isCacheFresh({timestamp:a.timestamp})||this.cachedAddressesById.set(e,{address:r,timestamp:n}),r},r.addressesMetadataByIdStartsWith=function(){var t=h(F.mark((function t(e){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.contract.read.addressById(e).then(Lt));case 1:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.isCacheFresh=function(t){var e=t.timestamp;return!!e&&new Date(Date.now()).getTime()-e<=3e4},e}(Z);Xt.abi=["function addressById(string) public view returns (address)","function addressPositionById(string) public view returns (int256)","function addresses() public view returns (address[] memory)","function addressesIds() public view returns (string[] memory)","function addressesMetadata() public view returns (tuple(string addrId, address addr)[] memory)","function addressesMetadataByIdStartsWith(string) public view returns (tuple(string addrId, address addr)[] memory)"];var te=function(t){function e(){return t.apply(this,arguments)||this}return w(e,t),e.prototype.validateCalldata=function(){var t=h(F.mark((function t(r,n){var a;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r){t.next=2;break}return t.abrupt("return",{success:!1,error:"can't validate a tx that isn't targeting an address"});case 2:if(n){t.next=4;break}return t.abrupt("return",{success:!1,error:"can't validate a tx that has no call data"});case 4:return t.prev=4,t.next=7,this.contract;case 7:if((a=t.sent)&&a.address!==G){t.next=10;break}throw new Error("Contract missing");case 10:t.next=16;break;case 12:return t.prev=12,t.t0=t.catch(4),console.warn("AllowList on-chain contract address missing. Skipping validation..."),t.abrupt("return",{success:!0});case 16:return t.prev=16,t.next=19,a.read.validateCalldataByOrigin(e.originName,r,n);case 19:if(t.sent){t.next=22;break}return t.abrupt("return",{success:!1,error:"tx is not permitted by the allow list"});case 22:return t.abrupt("return",{success:!0});case 25:return t.prev=25,t.t1=t.catch(16),t.abrupt("return",{success:!1,error:"failed to read from the allow list whether the transaction is valid"});case 28:case"end":return t.stop()}}),t,this,[[4,12],[16,25]])})));return function(e,r){return t.apply(this,arguments)}}(),v(e,[{key:"contract",get:function(){return this._getContract(e.abi,e.contractId,this.ctx)}}]),e}(M);te.abi=["function validateCalldataByOrigin(string memory originName, address targetAddress, bytes calldata data) public view returns (bool)"],te.contractId=z.allowlist,te.originName="yearn.finance";var ee=function(t){function e(){return t.apply(this,arguments)||this}w(e,t);var r=e.prototype;return r.tokens=function(){var t=h(F.mark((function t(e,r){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===r&&(r={}),t.next=3,this.contract;case 3:return t.abrupt("return",t.sent.read.tokensMetadata(e,r).then(Lt));case 5:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.tokenPrices=function(){var t=h(F.mark((function t(e,r){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===r&&(r={}),t.next=3,this.contract;case 3:return t.abrupt("return",t.sent.read.tokensPrices(e,r).then(Lt));case 5:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.tokenBalances=function(){var t=h(F.mark((function t(e,r,n){var a,s,i;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===n&&(n={}),a=et(r,30),t.next=4,this.contract;case 4:return s=t.sent,i=a.map(function(){var t=h(F.mark((function t(r){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",s.read.tokensBalances(e,r,n).then(Lt));case 1:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()),t.abrupt("return",Promise.all(i).then((function(t){return t.flat()})));case 7:case"end":return t.stop()}}),t,this)})));return function(e,r,n){return t.apply(this,arguments)}}(),r.tokenAllowances=function(){var t=h(F.mark((function t(e,r,n,a){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===a&&(a={}),t.next=3,this.contract;case 3:return t.abrupt("return",t.sent.read.allowances(e,r,n,a).then(Lt));case 5:case"end":return t.stop()}}),t,this)})));return function(e,r,n,a){return t.apply(this,arguments)}}(),r.assetStrategiesAddresses=function(){var t=h(F.mark((function t(e,r){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===r&&(r={}),t.next=3,this.contract;case 3:return t.abrupt("return",t.sent.read.assetStrategiesAddresses(e,r));case 5:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),v(e,[{key:"contract",get:function(){return this._getContract(e.abi,e.contractId,this.ctx)}}]),e}(M);ee.abi=["function tokensMetadata(address[] memory) public view returns (tuple(address address, string name, string symbol, uint256 decimals)[] memory)","function tokensPrices(address[] memory) public view returns (tuple(address address, uint256 priceUsdc)[] memory)","function tokensBalances(address, address[] memory) public view returns (tuple(\n address address, \n uint256 priceUsdc, \n uint256 balance,\n uint256 balanceUsdc\n)[] memory)","function allowances(address, address[] memory, address[] memory) external view returns (tuple(address owner, address spender, uint256 amount, address token)[] memory)","function assetStrategiesAddresses(address) public view returns (address[])"],ee.contractId=z.helper;var re="https://meta.yearn.network",ne=function(t){function e(){return t.apply(this,arguments)||this}w(e,t);var r=e.prototype;return r.tokens=function(){var t=h(F.mark((function t(e){var r,n=this;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,fetch(re+"/tokens/"+this.chainId+"/all").then((function(t){return t.json()}));case 2:if(r=t.sent,e){t.next=5;break}return t.abrupt("return",r.map((function(t){return m({},t,{description:It({obj:t,property:"description",locale:n.ctx.locale,fallback:"Token description missing"})})})));case 5:return t.abrupt("return",r.filter((function(t){return e.includes(t.address)})).map((function(t){return m({},t,{description:It({obj:t,property:"description",locale:n.ctx.locale,fallback:"Token description missing"})})})));case 6:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.token=function(){var t=h(F.mark((function t(e){var r,n;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,fetch(re+"/tokens/"+this.chainId+"/"+e);case 3:if((r=t.sent).ok){t.next=6;break}throw new S('Failed to fetch token with address "'+e+'". HTTP error: '+r.status);case 6:return t.next=8,r.json();case 8:return(n=t.sent).description=It({obj:n,property:"description",locale:this.ctx.locale,fallback:"Token description missing"}),t.abrupt("return",n);case 13:t.prev=13,t.t0=t.catch(0),console.error(t.t0);case 16:return t.abrupt("return",null);case 17:case"end":return t.stop()}}),t,this,[[0,13]])})));return function(e){return t.apply(this,arguments)}}(),r.strategies=function(){var t=h(F.mark((function t(){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",fetch(re+"/strategies/"+this.chainId+"/all").then((function(t){return t.json()})));case 1:case"end":return t.stop()}}),t,this)})));return function(){return t.apply(this,arguments)}}(),r.vaults=function(){var t=h(F.mark((function t(e){var r;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,fetch(re+"/vaults/"+this.chainId+"/all").then((function(t){return t.json()}));case 2:if(r=t.sent,e){t.next=5;break}return t.abrupt("return",r);case 5:return t.abrupt("return",r.filter((function(t){return e.includes(t.address)})));case 6:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.vault=function(){var t=h(F.mark((function t(e){var r;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,fetch(re+"/vaults/"+this.chainId+"/"+e);case 3:if((r=t.sent).ok){t.next=6;break}throw new S('Failed to fetch token with address "'+e+'". HTTP error: '+r.status);case 6:return t.abrupt("return",r.json());case 9:t.prev=9,t.t0=t.catch(0),console.error(t.t0);case 12:return t.abrupt("return",null);case 13:case"end":return t.stop()}}),t,this,[[0,9]])})));return function(e){return t.apply(this,arguments)}}(),e}(Z),ae=function(t){function e(e,r,n,a){var s;return(s=t.call(this,e,r,n)||this).partnerId=a,s}w(e,t);var r=e.prototype;return r.isAllowed=function(t){return!e.IGNORED_ADDRESSES.includes(t)},r.deposit=function(){var t=h(F.mark((function t(e,r,n){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.contract;case 2:return t.abrupt("return",t.sent.write.deposit(e,this.partnerId,r,n));case 4:case"end":return t.stop()}}),t,this)})));return function(e,r,n){return t.apply(this,arguments)}}(),r.populateDepositTransaction=function(){var t=h(F.mark((function t(e,r,n){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.contract;case 2:return t.abrupt("return",t.sent.write.populateTransaction.deposit(e,this.partnerId,r,n));case 4:case"end":return t.stop()}}),t,this)})));return function(e,r,n){return t.apply(this,arguments)}}(),r.encodeDeposit=function(){var t=h(F.mark((function t(e,r){return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.contract;case 2:return t.abrupt("return",t.sent.write.interface.encodeFunctionData("deposit",[e,this.partnerId,r]));case 4:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),v(e,[{key:"contract",get:function(){return this._getContract(e.abi,e.contractId,this.ctx)}},{key:"address",get:function(){var t=this;return h(F.mark((function r(){var n;return F.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,t.addressProvider.addressById(e.contractId);case 2:return r.abrupt("return",(n=r.sent)!==G?n:void 0);case 4:case"end":return r.stop()}}),r)})))()}}]),e}(M);ae.abi=["function deposit(address vault, address partnerId, uint256 amount) external returns (uint256)"],ae.IGNORED_ADDRESSES=["0xc5bDdf9843308380375a611c18B50Fb9341f502A","0xCeD67a187b923F0E5ebcc77C7f2F7da20099e378"],ae.contractId=z.partner;var se=function(t){function e(e,r,n){var a;return(a=t.call(this,e,r)||this).allowListService=n,a}w(e,t);var r=e.prototype;return r.sendTransaction=function(){var t=h(F.mark((function t(e){var r,n,a;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.validateTx(e);case 2:if(n=(r=t.sent).error,r.success){t.next=7;break}throw new S(n||"transaction is not valid");case 7:return a=this.ctx.provider.write.getSigner(),t.abrupt("return",a.sendTransaction(e));case 9:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.validateTx=function(){var t=h(F.mark((function t(e){var r,n,a;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this.allowListService){t.next=2;break}return t.abrupt("return",Promise.resolve({success:!0,error:void 0}));case 2:return t.next=4,Promise.all([e.to,e.data]);case 4:return n=(r=t.sent)[0],a=r[1],t.next=9,this.allowListService.validateCalldata(n,a);case 9:return t.abrupt("return",t.sent);case 10:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),e}(Z),ie=function(){function t(t,e,r){this._ctxValue=e,this.context=new N(e),this.addressProvider=new Xt(t,this.context);var n=new te(t,this.context,this.addressProvider);this.services=this._initServices(t,this.context,this.addressProvider,n,r),this.adapters=this._initAdapters(t),this.vaults=new Ct(this,t,this.context),this.tokens=new _t(this,t,this.context),this.earnings=new ut(this,t,this.context),this.fees=new ot(this,t,this.context),this.ironBank=new ct(this,t,this.context),this.simulation=new Pt(this,t,this.context),this.strategies=new Tt(this,t,this.context),this.ready=Promise.all([this.services.asset.ready])}var e=t.prototype;return e.setChainId=function(t){this.addressProvider=new Xt(t,this.context);var e=new te(t,this.context,this.addressProvider);this.services=this._initServices(t,this.context,this.addressProvider,e),this.adapters=this._initAdapters(t),this.vaults=new Ct(this,t,this.context),this.tokens=new _t(this,t,this.context),this.earnings=new ut(this,t,this.context),this.fees=new ot(this,t,this.context),this.ironBank=new ct(this,t,this.context),this.simulation=new Pt(this,t,this.context),this.strategies=new Tt(this,t,this.context),this.ready=Promise.all([this.services.asset.ready])},e._initServices=function(t,e,r,n,a){return{lens:new Yt(t,e,r),oracle:new Ht(t,e,r),zapper:new Qt(t,e),asset:new qt(t,e,a),vision:new Kt(t,e),subgraph:new Jt(t,e),pickle:new dt(t,e),helper:new ee(t,e,r),telegram:new $t(t,e),meta:new ne(t,e),allowList:n,transaction:new se(t,e,n),partner:e.partnerId?new ae(t,e,r,e.partnerId):void 0}},e._initAdapters=function(t){return{vaults:{v2:new Vt(t,this.context,this.addressProvider)},ironBank:new jt(t,this.context,this.addressProvider)}},t}();exports.AssetService=qt,exports.Context=N,exports.CustomError=I,exports.EarningsInterface=ut,exports.EthersError=O,exports.FeesInterface=ot,exports.IronBankAdapter=jt,exports.IronBankInterface=ct,exports.LensService=Yt,exports.OracleService=Ht,exports.PriceFetchingError=B,exports.RegistryV2Adapter=Vt,exports.SdkError=S,exports.SimulationError=E,exports.SimulationInterface=Pt,exports.StrategyInterface=Tt,exports.SubgraphService=Jt,exports.TelegramService=$t,exports.TenderlyError=_,exports.TokenInterface=_t,exports.VaultInterface=Ct,exports.VisionService=Kt,exports.Yearn=ie,exports.ZapperError=T,exports.ZapperService=Qt,exports.getZapInDetails=kt,exports.getZapOutDetails=gt;
//# sourceMappingURL=sdk.cjs.production.min.js.map