@bombearn/sdk
Version:
Interaction framework for the yearn protocol
3 lines • 191 kB
JavaScript
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0}),require("cross-fetch/polyfill");var t=require("@ethersproject/providers"),r=e(require("events")),n=require("bignumber.js"),a=e(n),s=require("@ethersproject/address"),i=require("@ethersproject/contracts"),o=e(require("emittery")),u=require("@ethersproject/abi"),c=require("@ethersproject/constants"),p=require("@ethersproject/bignumber"),d=e(require("cross-fetch")),l=require("@ethersproject/bignumber/lib/bignumber"),f=require("@cowprotocol/cow-sdk");function h(e,t,r,n,a,s,i){try{var o=e[s](i),u=o.value}catch(e){return void r(e)}o.done?t(u):Promise.resolve(u).then(n,a)}function v(e){return function(){var t=this,r=arguments;return new Promise((function(n,a){var s=e.apply(t,r);function i(e){h(s,n,a,i,o,"next",e)}function o(e){h(s,n,a,i,o,"throw",e)}i(void 0)}))}}function m(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function w(e,t,r){return t&&m(e.prototype,t),r&&m(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function x(){return(x=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function b(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,g(e,t)}function y(e){return(y=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function g(e,t){return(g=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function k(){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(e){return!1}}function A(e,t,r){return(A=k()?Reflect.construct:function(e,t,r){var n=[null];n.push.apply(n,t);var a=new(Function.bind.apply(e,n));return r&&g(a,r.prototype),a}).apply(null,arguments)}function S(e){var t="function"==typeof Map?new Map:void 0;return(S=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return A(e,arguments,y(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),g(r,e)})(e)}function T(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function E(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return T(e,void 0);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?T(e,void 0):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[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(e){function t(t,r){var n;return(n=e.call(this,t)||this).error_type=r,n}return b(t,e),t}(S(Error)),P=function(e){function t(t,r){var n;return(n=e.call(this,t,"sdk")||this).error_code=r,n}return b(t,e),t}(I);P.NO_SLIPPAGE="no_slippage";var O=function(e){function t(t,r){var n;return(n=e.call(this,t,"simulation")||this).error_code=r,n}return b(t,e),t}(I);O.NO_LOG="no_log",O.TENDERLY_RESPONSE_ERROR="tenderly_response_error",O.PARTIAL_REVERT="partial_revert",O.INVALID_TYPE="invalid_type";var _=function(e){function t(t,r){var n;return(n=e.call(this,t,"zap")||this).error_code=r,n}return b(t,e),t}(I);_.ZAP_IN_APPROVAL_STATE="zap_in_approval_state",_.ZAP_IN_APPROVAL="zap_in_approval",_.ZAP_OUT_APPROVAL_STATE="zap_out_approval_state",_.ZAP_OUT_APPROVAL="zap_out_approval",_.ZAP_IN="zap_in",_.ZAP_OUT="zap_out";var D=function(e){function t(t,r){var n;return(n=e.call(this,t,"ethers")||this).error_code=r,n}return b(t,e),t}(I);D.FAIL_TOKEN_FETCH="fail_token_fetch",D.NO_DECIMALS="no_decimals",D.NO_PRICE_PER_SHARE="no_price_per_share",D.POPULATING_TRANSACTION="populating_transaction";var U=function(e){function t(t,r){var n;return(n=e.call(this,t,"tenderly")||this).error_code=r,n}return b(t,e),t}(I);U.SIMULATION_CALL="simulation_call",U.CREATE_FORK="create_fork";var C,R=function(e){function t(t,r){var n;return(n=e.call(this,t,"price_fetching")||this).error_code=r,n}return b(t,e),t}(I);R.FETCHING_PRICE_ORACLE="fetching_price_oracle",R.FETCHING_PRICE_PICKLE="fetching_price_pickle",(C=exports.ZapProtocol||(exports.ZapProtocol={})).PICKLE="pickle",C.YEARN="yearn";var B,N=(function(e){var t=function(e){var t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",s=n.asyncIterator||"@@asyncIterator",i=n.toStringTag||"@@toStringTag";function o(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{o({},"")}catch(e){o=function(e,t,r){return e[t]=r}}function u(e,t,r,n){var a=Object.create((t&&t.prototype instanceof d?t:d).prototype),s=new A(n||[]);return a._invoke=function(e,t,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 o=y(i,r);if(o){if(o===p)continue;return o}}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 u=c(e,t,r);if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===p)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}(e,r,s),a}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var p={};function d(){}function l(){}function f(){}var h={};o(h,a,(function(){return this}));var v=Object.getPrototypeOf,m=v&&v(v(S([])));m&&m!==t&&r.call(m,a)&&(h=m);var w=f.prototype=d.prototype=Object.create(h);function x(e){["next","throw","return"].forEach((function(t){o(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,s){function i(){return new t((function(n,i){!function n(a,s,i,o){var u=c(e[a],e,s);if("throw"!==u.type){var p=u.arg,d=p.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,i,o)}),(function(e){n("throw",e,i,o)})):t.resolve(d).then((function(e){p.value=e,i(p)}),(function(e){return n("throw",e,i,o)}))}o(u.arg)}(a,s,n,i)}))}return n=n?n.then(i,i):i()}}function y(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,y(e,t),"throw"===t.method))return p;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return p}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,p;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,p):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,p)}function g(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function k(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function A(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(g,this),this.reset(!0)}function S(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,s=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return s.next=s}}return{next:T}}function T(){return{value:void 0,done:!0}}return l.prototype=f,o(w,"constructor",f),o(f,"constructor",l),l.displayName=o(f,i,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===l||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,o(e,i,"GeneratorFunction")),e.prototype=Object.create(w),e},e.awrap=function(e){return{__await:e}},x(b.prototype),o(b.prototype,s,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,s){void 0===s&&(s=Promise);var i=new b(u(t,r,n,a),s);return e.isGeneratorFunction(r)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},x(w),o(w,i,"Generator"),o(w,a,(function(){return this})),o(w,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=S,A.prototype={constructor:A,reset:function(e){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(k),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return i.type="throw",i.arg=e,t.next=r,n&&(t.method="next",t.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 o=r.call(s,"catchLoc"),u=r.call(s,"finallyLoc");if(o&&u){if(this.prev<s.catchLoc)return n(s.catchLoc,!0);if(this.prev<s.finallyLoc)return n(s.finallyLoc)}else if(o){if(this.prev<s.catchLoc)return n(s.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return n(s.finallyLoc)}}}},abrupt:function(e,t){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"===e||"continue"===e)&&s.tryLoc<=t&&t<=s.finallyLoc&&(s=null);var i=s?s.completion:{};return i.type=e,i.arg=t,s?(this.method="next",this.next=s.finallyLoc,p):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),p},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),k(r),p}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;k(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:S(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),p}},e}(e.exports);try{regeneratorRuntime=t}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=t:Function("r","regeneratorRuntime = r")(t)}}(B={exports:{}}),B.exports),z=function(e,t){return(e||[]).reduce((function(e,r){var n;return x({},e,((n={})[r[t]]=r,n))}),{})},F=function(e){return new Promise((function(t){return setTimeout(t,e)}))},L=function(){var e=v(N.mark((function e(t,r,n){var a;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t();case 2:a=e.sent;case 3:if(!r(a)){e.next=11;break}return e.next=6,F(n);case 6:return e.next=8,t();case 8:a=e.sent,e.next=3;break;case 11:return e.abrupt("return",a);case 12:case"end":return e.stop()}}),e)})));return function(t,r,n){return e.apply(this,arguments)}}();a.set({EXPONENTIAL_AT:50});var V=function(e){return new a(e||"0")},Z=function(e){var t=e.amount,r=e.decimals,n=V(10).pow(r);return V(t).div(n).toString()};function j(e){return 604800*Math.floor(e/604800)}var M={zapper:"96e0cc51-a62e-42ca-acee-910ea7d2a241",simulation:{dashboardUrl:"https://dashboard.tenderly.co/yearn/yearn-web",apiUrl:"https://simulate.yearn.network"},cache:{useCache:!0,url:"https://cache.yearn.finance"},env:"production"},W=function(){function e(e){this.ctx=Object.assign({},M,e),this.events=(new r).setMaxListeners(100),this.setProvider(e.provider)}return e.prototype.setProvider=function(r){r instanceof t.JsonRpcProvider?this.ctx.provider={read:r,write:r}:r&&(this.ctx.provider=r),this.events.emit(e.PROVIDER,this.ctx.provider)},w(e,[{key:"provider",get:function(){if(this.ctx.provider)return this.ctx.provider;throw new P("provider must be undefined in Context for this feature to work.")}},{key:"zapper",get:function(){if(this.ctx.zapper)return t=(e={str:this.ctx.zapper+":",encoding:"base64"}).encoding,Buffer.from(e.str,"binary").toString(t);var e,t;throw new P("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 P("etherscan must be undefined in Context for this feature to work.")}},{key:"addresses",get:function(){return Object.assign({adapters:{}},this.ctx.addresses)},set:function(e){this.ctx.addresses=e}},{key:"simulation",get:function(){if(this.ctx.simulation)return this.ctx.simulation;throw new P("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 P("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"}},{key:"isDevelopment",get:function(){return"production"!==this.ctx.env}}]),e}();W.PROVIDER="refresh:provider";var G,Y=function(){function e(e,t,r){this.path=e,this.ctx=t,this.chainId=r}var t=e.prototype;return t.fetch=function(){var e=v(N.mark((function e(t){var r,n,a,s,i,o,u,c,p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.ctx.cache.useCache&&this.ctx.cache.url){e.next=2;break}return e.abrupt("return",void 0);case 2:if(!(n=this.currentValue)){e.next=5;break}return e.abrupt("return",n);case 5:return a=this.ctx.cache.url+"/v1/chains/"+this.chainId+"/"+this.path,t&&(a+="?"+t),e.prev=7,e.next=11,this.fetchWithTimeout(a,5e3);case 11:s=e.sent,e.next=18;break;case 14:return e.prev=14,e.t0=e.catch(7),console.warn("Call to cache at "+a+" timed out"),e.abrupt("return",void 0);case 18:if(200===s.status){e.next=22;break}return i=s,console.warn("Call to cache failed at "+i.url+" (status "+i.status+" "+i.statusText+")"),e.abrupt("return",void 0);case 22:return e.next=24,s.json();case 24:if(o=e.sent){e.next=27;break}return e.abrupt("return",void 0);case 27:return u=null==(r=s.headers.get("cache-control"))?void 0:r.match(/max-age=(\d+)/),c=u?parseInt(u[1],10):30,p=(new Date).getTime(),this.expiryDate=new Date(p+1e3*c),this.cachedValue=o,e.abrupt("return",o);case 33:case"end":return e.stop()}}),e,this,[[7,14]])})));return function(t){return e.apply(this,arguments)}}(),t.fetchWithTimeout=function(){var e=v(N.mark((function e(t,r){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Promise.race([fetch(t),new Promise((function(e,t){return setTimeout((function(){return t("timeout")}),r)}))]));case 1:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}(),w(e,[{key:"currentValue",get:function(){if(this.expiryDate)return new Date<this.expiryDate&&this.cachedValue?this.cachedValue:void 0}}]),e}(),q=function(e,t){this.chainId=e,this.ctx=t,this.events=new o},H=function(e){function t(t,r,n){var a;return(a=e.call(this,r,n)||this).yearn=t,a}return b(t,e),t}(q),K=function(e,t,r){var n=this;this.address=e,this.abi=t,this.read=new i.Contract(e,t,r.provider.read),this.write=new i.Contract(e,t,r.provider.write),r.events.on(W.PROVIDER,(function(e){n.read=new i.Contract(n.address,n.abi,e.read),n.write=new i.Contract(n.address,n.abi,e.write)}))};!function(e){e.oracle="ORACLE",e.adapter_registry_v2="REGISTRY_ADAPTER_V2_VAULTS",e.helper="HELPER",e.allowlist="ALLOW_LIST_REGISTRY",e.partner="PARTNER_TRACKER",e.zapperZapIn="ZAPPER_ZAP_IN",e.zapperZapOut="ZAPPER_ZAP_OUT",e.portalsZapIn="PORTALS_ZAP_IN",e.portalsZapOut="PORTALS_ZAP_OUT",e.pickleZapIn="PICKLE_ZAP_IN",e.yearnZapEth="YEARN_ZAP_ETH",e.propertiesAggregator="PROPERTIES_AGGREGATOR",e.cowProtocolRelayer="COW_PROTOCOL_RELAYER",e.veYfiRegistry="VEYFI_REGISTRY",e.veYfi="VEYFI",e.claimRewardsZap="CLAIM_REWARDS_ZAP",e.unused="UNUSED"}(G||(G={}));var J=function(e){function t(t,r,n){var a;return(a=e.call(this,t,r)||this).addressProvider=n,a}return b(t,e),t.prototype._getContract=function(){var e=v(N.mark((function e(t,r,n){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r!==G.unused){e.next=2;break}throw new Error("Trying to get the contract instance on the generic class.");case 2:return e.prev=2,e.next=5,this.addressProvider.addressById(r);case 5:return e.abrupt("return",new K(e.sent,t,n));case 9:throw e.prev=9,e.t0=e.catch(2),console.error("Contract address for "+r+" is missing from the Address Provider"),e.t0;case 13:case"end":return e.stop()}}),e,this,[[2,9]])})));return function(t,r,n){return e.apply(this,arguments)}}(),t}(q);J.abi=[],J.contractId=G.unused;var $={1:"ethereum",10:"optimism",250:"fantom",1337:"ethereum",42161:"arbitrum",2300:"bomb",56:"bsc"},Q=function(e){return 1===e||1337===e},X=function(e){return 10===e},ee=Object.keys($).map((function(e){return Number(e)})),te="0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",re="0x0000000000000000000000000000000000000000",ne={1:{id:"ethereum",name:"Ethereum",chainId:1,rpcUrl:"https://mainnet.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161",nativeCurrency:{name:"Ethereum",symbol:"ETH",decimals:18,address:te},wrappedTokenAddress:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",simulationsEnabled:!0,zapsEnabled:!0,zapOutTokenSymbols:["ETH","DAI","USDC","USDT","WBTC"],blockExplorerUrl:"https://etherscan.io"},10:{id:"optimism",name:"Optimism",chainId:10,rpcUrl:"https://mainnet.optimism.io",nativeCurrency:{name:"Ethereum",symbol:"ETH",decimals:18,address:re},wrappedTokenAddress:"0x4200000000000000000000000000000000000006",simulationsEnabled:!0,zapsEnabled:!0,zapOutTokenSymbols:["ETH","DAI","USDC","USDT","WBTC"],blockExplorerUrl:"https://optimistic.etherscan.io"},250:{id:"fantom",name:"Fantom",chainId:250,rpcUrl:"https://rpc.ftm.tools",nativeCurrency:{name:"Fantom",symbol:"FTM",decimals:18,address:re},wrappedTokenAddress:"0x21be370D5312f44cB42ce377BC9b8a0cEF1A4C83",simulationsEnabled:!0,zapsEnabled:!0,zapOutTokenSymbols:["FTM","DAI","USDC","USDT"],blockExplorerUrl:"https://ftmscan.com"},1337:{id:"ethereum",name:"Ethereum",chainId:1337,rpcUrl:"http://localhost:8545",nativeCurrency:{name:"Ethereum",symbol:"ETH",decimals:18,address:te},wrappedTokenAddress:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",simulationsEnabled:!1,zapsEnabled:!0,zapOutTokenSymbols:["ETH","DAI","USDC","USDT","WBTC"]},2300:{id:"bomb",name:"BOMB",chainId:2300,rpcUrl:"https://rpc.bombchain.com",nativeCurrency:{name:"BOMB",symbol:"BOMB",decimals:18,address:re},wrappedTokenAddress:"0x87460B9F21763aee800b94362062a06dA1B5f6Ee",simulationsEnabled:!1,zapsEnabled:!1,zapOutTokenSymbols:[],blockExplorerUrl:"https://bombscan.com"},56:{id:"bsc",name:"BSC",chainId:56,rpcUrl:"https://rpc.ankr.com/bsc",nativeCurrency:{name:"Binance",symbol:"BNB",decimals:18,address:re},wrappedTokenAddress:"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",simulationsEnabled:!1,zapsEnabled:!1,zapOutTokenSymbols:[],blockExplorerUrl:"https://bscscan.com"},42161:{id:"arbitrum",name:"Arbitrum",chainId:42161,rpcUrl:"https://arb1.arbitrum.io/rpc",nativeCurrency:{name:"Ethereum",symbol:"ETH",decimals:18,address:re},wrappedTokenAddress:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",simulationsEnabled:!0,zapsEnabled:!0,zapOutTokenSymbols:["ETH","DAI","USDC","USDT","WBTC"],blockExplorerUrl:"https://arbiscan.io"}},ae="0x0000000000000000000000000000000000000000",se="0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",ie="0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",oe=ae;function ue(e){return[se,oe].includes(e)}function ce(e){return"0xa258C4606Ca8206D8aA700cE2143D7db854D168c"===e}function pe(e,t){var r,n=ne[t];return ue(e)&&null!=(r=n.wrappedTokenAddress)?r:e}function de(e){return le.apply(this,arguments)}function le(){return(le=v(N.mark((function e(t){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(200===t.status){e.next=3;break}throw new P("HTTP to "+t.url+" request failed (status "+t.status+" "+t.statusText+")");case 3:return e.abrupt("return",t);case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function fe(e){return V(e).times(Math.pow(10,6)).toFixed(0)}function he(e){return e.toString()}function ve(e,t){if(t<1)throw new Error("Size needs to be positive: "+t);for(var r=[],n=0;n<e.length;n+=t){var a=e.slice(n,n+t);r.push(a)}return r}function me(e){var t="string"==typeof e?e:e.toString();if(t=t.padStart(10,"0"),/^\d{13}$/.test(t))return+e;if(/^\d{16}$/.test(t))return+e/1e3;if(/^\d{10}$/.test(t))return 1e3*+e;throw new Error("Timestamp in invalid format")}function we(e,t){if(!e||0===e.length)return t;if(!t||0===t.length)return e;var r=new Set(e.map((function(e){return e.address})));return[].concat(e,t.filter((function(e){return!r.has(e.address)})))}var xe=["0x9d409a0a012cfba9b15f6d4b36ac57a46966ab9a","0xc5bddf9843308380375a611c18b50fb9341f502a","0xced67a187b923f0e5ebcc77c7f2f7da20099e378"],be=function(e){return"query AssetHistoricEarnings($id: ID!) {\n vault(id: $id) {\n token {\n id\n decimals\n }\n }\n "+e.map((function(e){return function(e){return"\n block_"+e+": vault(id: $id, block: { number: "+e+" } ) {\n vaultDayData(orderBy: timestamp, orderDirection: desc, first: 1) {\n timestamp\n }\n strategies {\n latestReport {\n totalGain\n totalLoss\n }\n }\n }\n "}(e)})).join("")+"\n }\n "},ye=new n.BigNumber(0),ge=function(e){function t(){var t;return(t=e.apply(this,arguments)||this).assetHistoricEarningsCache=new Y("vaults/earnings/get",t.ctx,t.chainId),t}b(t,e);var r=t.prototype;return r.protocolEarnings=function(){var e=v(N.mark((function e(){var t,r,a,s,i,o,u;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.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=ye,null!=(r=e.sent)&&r.data&&null!=(t=r.data)&&t.vaults){e.next=6;break}return e.abrupt("return",a.toFixed(0));case 6:s=E(r.data.vaults);case 7:if((i=s()).done){e.next=18;break}if((o=i.value).latestUpdate){e.next=11;break}return e.abrupt("continue",16);case 11:return u=new n.BigNumber(o.latestUpdate.returnsGenerated),e.next=14,this.tokensValueInUsdc(u,o.token.id,o.token.decimals);case 14:a=a.plus(e.sent);case 16:e.next=7;break;case 18:return e.abrupt("return",a.toFixed(0));case 19:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),r.assetEarnings=function(){var e=v(N.mark((function e(t){var r,a,i,o,u,c;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.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:t});case 2:if(null!=(i=e.sent)&&i.data&&null!=(r=i.data)&&r.vault){e.next=5;break}throw new P("No asset with address "+t);case 5:return u=new n.BigNumber((null==(a=(o=i.data.vault).latestUpdate)?void 0:a.returnsGenerated)||0),e.next=9,this.tokensValueInUsdc(u,o.token.id,o.token.decimals);case 9:return c=e.sent,e.abrupt("return",{assetAddress:s.getAddress(t),amount:u.toFixed(0),amountUsdc:c.toFixed(0),tokenAddress:s.getAddress(o.token.id)});case 11:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.accountAssetsData=function(){var e=v(N.mark((function e(t){var r,a,i,o,u,c,p,d,l,f,h,m=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.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:t,ignoredVaults:xe});case 2:if(i=null==(a=e.sent)||null==(r=a.data)?void 0:r.account){e.next=6;break}return e.abrupt("return",{earnings:"0",holdings:"0",earningsAssetData:[],grossApy:0,estimatedYearlyYield:"0"});case 6:return e.next=8,Promise.all(i.vaultPositions.map(function(){var e=v(N.mark((function e(t){var r,a,i,o,u,c,p,d,l,f,h;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=new n.BigNumber(t.balanceShares).multipliedBy(new n.BigNumber((null==(r=t.vault.latestUpdate)?void 0:r.pricePerShare)||0)).div(Math.pow(10,t.token.decimals)),i=t.updates.reduce((function(e,t){var r=e.withdrawals,a=e.tokensReceived,s=e.tokensSent;return{deposits:e.deposits.plus(new n.BigNumber(t.deposits)),withdrawals:r.plus(new n.BigNumber(t.withdrawals)),tokensReceived:a.plus(new n.BigNumber(t.tokensReceived)),tokensSent:s.plus(new n.BigNumber(t.tokensSent))}}),{deposits:ye,withdrawals:ye,tokensReceived:ye,tokensSent:ye}),o=i.deposits,u=i.tokensReceived,c=i.tokensSent,p=a.plus(i.withdrawals).plus(c),d=o.plus(u),l=p.minus(d),e.next=7,m.tokensValueInUsdc(l,t.token.id,t.token.decimals);case 7:return f=e.sent,e.next=10,m.tokensValueInUsdc(a,t.token.id,t.token.decimals);case 10:return h=e.sent,e.abrupt("return",{assetAddress:s.getAddress(t.vault.id),balanceUsdc:h,earned:f.toFixed(0)});case 12:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 8:return u=(o=e.sent).map((function(e){return e.assetAddress})),e.next=12,this.yearn.services.vision.apy(u);case 12:return c=e.sent,p=o.map((function(e){return new n.BigNumber(e.earned)})).reduce((function(e,t){return e.plus(t)})),d=o.map((function(e){return new n.BigNumber(e.balanceUsdc)})).reduce((function(e,t){return e.plus(t)})),l=d.isEqualTo(ye)?ye:o.map((function(e){var t,r;if("new"===(null==(t=c[e.assetAddress])?void 0:t.type))return ye;var a=(null==(r=c[e.assetAddress])?void 0:r.net_apy)||0;return new n.BigNumber(a).times(e.balanceUsdc).div(d)})).reduce((function(e,t){return e.plus(t)})),f=l.multipliedBy(d),h=o.map((function(e){return{assetAddress:e.assetAddress,earned:e.earned}})),e.abrupt("return",{earnings:n.BigNumber.max(p,0).toFixed(0),holdings:n.BigNumber.max(d,0).toFixed(0),grossApy:l.toNumber(),estimatedYearlyYield:n.BigNumber.max(f,0).toFixed(0),earningsAssetData:h});case 19:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.assetsHistoricEarnings=function(){var e=v(N.mark((function e(t){var r,n,a,s,i,o,u,c=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===t&&(t=30),30!==t){e.next=7;break}return e.next=4,this.assetHistoricEarningsCache.fetch();case 4:if(!(r=e.sent)){e.next=7;break}return e.abrupt("return",r);case 7:return e.next=9,this.yearn.services.lens.adapters.vaults.v2.assetsStatic();case 9:return n=e.sent.map((function(e){return e.address})),e.next=13,this.ctx.provider.read.getBlockNumber();case 13:return a=e.sent,e.next=16,Promise.allSettled(n.map(function(){var e=v(N.mark((function e(r){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",c.assetHistoricEarnings(r,t,a));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 16:for(s=[],i=E(e.sent);!(o=i()).done;)"fulfilled"===(u=o.value).status&&s.push(u.value);return e.abrupt("return",s);case 20:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.assetHistoricEarnings=function(){var e=v(N.mark((function e(t,r,a){var s,i,o,u,c,p,d,l=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null==a){e.next=4;break}e.t0=a,e.next=7;break;case 4:return e.next=6,this.ctx.provider.read.getBlockNumber();case 6:e.t0=e.sent;case 7:return s=e.t0,s-=this.blockOffset(),i=Array.from(Array(r).keys()).reverse().map((function(e){return s-e*l.blocksPerDay()})),e.next=12,this.yearn.services.subgraph.fetchQuery(be(i),{id:t});case 12:return o=e.sent.data,u=i.map((function(e){return"block_"+e})),c=o.vault.token.id,e.next=18,this.yearn.services.oracle.getPriceUsdc(c).then((function(e){return new n.BigNumber(e)}));case 18:return p=e.sent,d=u.map((function(e){var t=o[e].strategies.reduce((function(e,t){var r=e.totalGain,n=e.totalLoss,a=t.latestReport;return a&&(r=r.plus(V(a.totalGain)),n=n.plus(V(a.totalLoss))),{totalGain:r,totalLoss:n}}),{totalGain:V(0),totalLoss:V(0)}),r=t.totalGain.minus(t.totalLoss);return{earnings:{amountUsdc:p.multipliedBy(r).dividedBy(V(10).pow(V(o.vault.token.decimals))).toFixed(0),amount:r.toFixed(0)},date:new Date(me(o[e].vaultDayData[0].timestamp)).toJSON()}})),e.abrupt("return",{assetAddress:t,dayData:d,decimals:o.vault.token.decimals});case 21:case"end":return e.stop()}}),e,this)})));return function(t,r,n){return e.apply(this,arguments)}}(),r.accountHistoricEarnings=function(){var e=v(N.mark((function e(t,r,a,s){var i,o,u,c,p,d,l,f,h,m,w,x,b,y,g,k,A,S;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(s&&s>a)){e.next=2;break}throw new P("fromDaysAgo must be greater than toDaysAgo");case 2:return e.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:t,shareToken:r,fromDate:this.getDate(a).getTime().toString(),toDate:this.getDate(s||0).getTime().toString()});case 4:if(o=null==(i=e.sent.data.account)?void 0:i.vaultPositions){e.next=8;break}throw new P("No account with address "+t);case 8:for(u=[],c=o.flatMap((function(e){return e.updates})).sort((function(e,t){return me(+e.timestamp-+t.timestamp)})),p=E(c.entries());!(d=p()).done;)h=(l=d.value)[1],0===(f=l[0])?(m={startDate:new Date(0),endDate:new Date(me(h.timestamp)),deposits:new n.BigNumber(h.deposits),withdrawals:new n.BigNumber(h.withdrawals),tokensReceived:new n.BigNumber(h.tokensReceived),tokensSent:new n.BigNumber(h.tokensSent),balanceShares:new n.BigNumber(h.balanceShares)},u.push(m)):(x={startDate:(w=u[f-1]).endDate,endDate:new Date(me(h.timestamp)),deposits:w.deposits.plus(new n.BigNumber(h.deposits)),withdrawals:w.withdrawals.plus(new n.BigNumber(h.withdrawals)),tokensReceived:w.tokensReceived.plus(new n.BigNumber(h.tokensReceived)),tokensSent:w.tokensSent.plus(new n.BigNumber(h.tokensSent)),balanceShares:w.balanceShares.plus(new n.BigNumber(h.balanceShares))},u.push(x));return u.length>0&&(b=u[u.length-1],y=(new Date).setFullYear(3e3),g={startDate:b.endDate,endDate:new Date(y),deposits:b.deposits,withdrawals:b.withdrawals,tokensReceived:b.tokensReceived,tokensSent:b.tokensSent,balanceShares:b.balanceShares},u.push(g)),k=o[0].vault.vaultDayData,A=o[0].token,e.next=16,this.yearn.services.oracle.getPriceUsdc(A.id).then((function(e){return new n.BigNumber(e)}));case 16:return S=e.sent,e.next=19,Promise.all(k.map(function(){var e=v(N.mark((function e(t){var r,a,s,i,o,c,p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=new Date(me(t.timestamp)),!(a=u.find((function(e){return r>=e.startDate&&r<e.endDate})))){e.next=11;break}return s=a.balanceShares.multipliedBy(new n.BigNumber(t.pricePerShare)).dividedBy(new n.BigNumber(Math.pow(10,A.decimals))),i=s.plus(a.withdrawals).plus(a.tokensSent),o=a.deposits.plus(a.tokensReceived),c=i.minus(o),p=S.multipliedBy(c).dividedBy(new n.BigNumber(10).pow(A.decimals)),e.abrupt("return",{earnings:{amount:c.toFixed(0),amountUsdc:p.toFixed(0)},date:r.toJSON()});case 11:return e.abrupt("return",{earnings:{amount:"0",amountUsdc:"0"},date:r.toJSON()});case 12:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 19:return e.abrupt("return",{accountAddress:t,shareTokenAddress:r,decimals:A.decimals,dayData:e.sent});case 21:case"end":return e.stop()}}),e,this)})));return function(t,r,n,a){return e.apply(this,arguments)}}(),r.tokensValueInUsdc=function(){var e=v(N.mark((function e(t,r,a){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.yearn.services.oracle.getPriceUsdc(r);case 2:return e.abrupt("return",new n.BigNumber(e.sent).multipliedBy(t).div(Math.pow(10,a)));case 4:case"end":return e.stop()}}),e,this)})));return function(t,r,n){return e.apply(this,arguments)}}(),r.getDate=function(e){var t=new Date;return t.setDate(t.getDate()-e),t},r.blocksPerDay=function(){switch(this.chainId){case 1:case 1337:case 10:case 42161:return 5760;case 2300:case 56:return 28800;case 250:return 86400}},r.blockOffset=function(){switch(this.chainId){case 1:case 1337:case 10:case 56:case 2300:case 42161:return 100;case 250:return 1e3}},t}(H),ke=function(e){function t(){return e.apply(this,arguments)||this}return b(t,e),t.prototype.protocolFees=function(){var e=v(N.mark((function e(t){var r,n;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.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:t.getTime().toString()});case 2:if(null!=(n=e.sent)&&n.data&&null!=(r=n.data)&&r.transfers){e.next=5;break}return e.abrupt("return",V(0).toFixed(0));case 5:return e.abrupt("return",n.data.transfers.reduce((function(e,t){return e.plus(V(t.tokenAmountUsdc||0))}),V(0)).toFixed(0));case 7:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t}(H),Ae=["function earned(address _account) public view returns (uint256)","function boostedBalanceOf(address _account) public view returns (uint256)","function deposit(uint256 _assets) external returns (uint256)","function withdraw(uint256 _assets, address _receiver, address _owner, bool _claim, bool _lock) external returns (uint256)","function getReward() external returns (bool)"],Se=["function getVaults() public view returns (address[] memory)","function gauges(address _addr) public view returns (address)"],Te=["function claim(address[] calldata _gauges, bool _lock, bool _claimVeYfi) external"],Ee=function(e){function t(){return e.apply(this,arguments)||this}b(t,e);var r=t.prototype;return r.get=function(){var e=v(N.mark((function e(t){var r,n,a,s,i,o,u;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.addresses,e.next=3,this.getSupportedAddresses({addresses:r});case 3:return n=e.sent,e.next=6,this.getStatic({addresses:n});case 6:return a=e.sent,e.next=9,this.getDynamic({addresses:n});case 9:return s=e.sent,i=z(a,"address"),o=z(s,"address"),u=n.map((function(e){return x({},i[e],o[e])})),e.abrupt("return",u);case 14:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.getStatic=function(){var e=v(N.mark((function e(t){var r,n,a,s,i,o=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.addresses,e.next=3,this.getSupportedAddresses({addresses:r});case 3:return n=e.sent,a=["address asset"].map((function(e){return u.ParamType.from(e)})),s=["string name","string version","string symbol","uint256 decimals"].map((function(e){return u.ParamType.from(e)})),i=n.map(function(){var e=v(N.mark((function e(t){var r,n,i;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o.yearn.services.propertiesAggregator.getProperties(t,a);case 2:return r=e.sent.asset,e.next=6,o.yearn.services.propertiesAggregator.getProperties(r,s);case 6:return i={address:t,typeId:"GAUGE",token:r,name:(n=e.sent).name,version:n.version,symbol:n.symbol,decimals:n.decimals.toString()},e.abrupt("return",i);case 13:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),e.abrupt("return",Promise.all(i));case 8:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.getDynamic=function(){var e=v(N.mark((function e(t){var r,n,a,s,i,o,c,p,d,l,f,h,m,w,x=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.addresses,e.next=3,this.getSupportedAddresses({addresses:r});case 3:return n=e.sent,a=["address asset","uint256 totalAssets","address rewardToken","uint256 rewardRate","address veToken"].map((function(e){return u.ParamType.from(e)})),s=n.map(function(){var e=v(N.mark((function e(t){var r,n,s,i;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,x.yearn.services.propertiesAggregator.getProperties(t,a);case 2:return n=(r=e.sent).rewardToken,s=r.rewardRate,i=r.veToken,e.abrupt("return",{address:t,vaultAddress:r.asset,totalStaked:r.totalAssets.toString(),rewardToken:n,rewardRate:s.toString(),votingEscrowToken:i});case 9:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),e.next=8,Promise.all(s);case 8:return o=z(i=e.sent,"address"),c=i.map((function(e){return e.rewardToken})),p=[].concat(new Set(c)),d=i.map((function(e){return e.vaultAddress})),e.next=15,this.yearn.vaults.get(d);case 15:return f=z(l=e.sent,"address"),h=l.map((function(e){return e.token})),e.next=20,this.yearn.services.helper.tokenPrices([].concat(h,p));case 20:return m=z(e.sent,"address"),w=n.map((function(e){var t=o[e],r=t.vaultAddress,n=t.rewardToken,a=t.rewardRate,s=t.votingEscrowToken,i=f[r],u=i.token,c=i.decimals,p=i.metadata,d=m[u].priceUsdc,l=m[n].priceUsdc,h=t.totalStaked,v=V(h).times(Z({amount:p.pricePerShare,decimals:parseInt(c)})).toFixed(0),w={amount:h,amountUsdc:V(v).times(Z({amount:d,decimals:6})).toFixed(0)},x=V(a).times(Z({amount:l,decimals:6})).toFixed(0);return{address:e,typeId:"GAUGE",tokenId:r,underlyingTokenBalance:w,metadata:{apy:V(x).times(31536e3).dividedBy(w.amountUsdc).toNumber(),displayIcon:p.displayIcon,displayName:p.displayName,vaultPricePerShare:p.pricePerShare,vaultUnderlyingToken:u,rewardToken:n,votingEscrowToken:s}}})),e.abrupt("return",w);case 24:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.positionsOf=function(){var e=v(N.mark((function e(t){var r,n,a,s,o,u,c,p,d,l,f=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.accountAddress,n=t.addresses,e.next=3,this.get({addresses:n});case 3:return s=(a=e.sent).map((function(e){return e.address})),o=a.map((function(e){return e.metadata.vaultUnderlyingToken})),u=a.map((function(e){return e.metadata.rewardToken})),c=[].concat(new Set(u)),e.next=10,this.yearn.services.helper.tokenBalances(r,s);case 10:return p=z(e.sent,"address"),e.next=14,this.yearn.services.helper.tokenPrices([].concat(o,c));case 14:return d=z(e.sent,"address"),l=a.map(function(){var e=v(N.mark((function e(t){var n,a,s,o,u,c,l,h,v,m,w,x;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.token,s=t.decimals,c=d[(o=t.metadata).vaultUnderlyingToken].priceUsdc,l=V(u=p[n=t.address].balance).times(Z({amount:o.vaultPricePerShare,decimals:parseInt(s)})).toFixed(0),h={assetAddress:n,tokenAddress:a,typeId:"DEPOSIT",balance:u,underlyingTokenBalance:{amount:l,amountUsdc:V(l).times(Z({amount:c,decimals:6})).toFixed(0)},assetAllowances:[],tokenAllowances:[]},v=new i.Contract(n,Ae,f.ctx.provider.read),e.next=8,v.earned(r);case 8:return m=e.sent.toString(),w=d[o.vaultUnderlyingToken].priceUsdc,x={assetAddress:n,tokenAddress:o.rewardToken,typeId:"YIELD",balance:m,underlyingTokenBalance:{amount:m,amountUsdc:V(m).times(Z({amount:w,decimals:6})).toFixed(0)},assetAllowances:[],tokenAllowances:[]},e.abrupt("return",[h,x]);case 13:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),e.next=19,Promise.all(l);case 19:return e.abrupt("return",e.sent.flat().filter((function(e){return V(e.balance).gt(0)})));case 21:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.metadataOf=function(){var e=v(N.mark((function e(t){var r,n,a,s,o,u,c,p,d,l,f,h=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.accountAddress,n=t.addresses,e.next=3,this.get({addresses:n});case 3:return s=(a=e.sent).map((function(e){return e.metadata.votingEscrowToken})),o=[].concat(new Set(s)),e.next=8,this.yearn.votingEscrows.get({addresses:o});case 8:return u=z(e.sent,"address"),e.next=12,this.positionsOf({accountAddress:r,addresses:n});case 12:return c=e.sent.filter((function(e){return"DEPOSIT"===e.typeId})),p=z(c,"assetAddress"),e.next=17,this.yearn.votingEscrows.positionsOf({accountAddress:r,addresses:o});case 17:return d=e.sent.filter((function(e){return"DEPOSIT"===e.typeId})),l=z(d,"assetAddress"),f=a.map(function(){var e=v(N.mark((function e(t){var n,a,s,o,c,d,f,v,m,w,x,b,y,g,k,A,S;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return f=t.underlyingTokenBalance.amount,v=null!=(n=null==(a=p[c=t.address])?void 0:a.underlyingTokenBalance.amount)?n:"0",m=u[(d=t.metadata).votingEscrowToken].underlyingTokenBalance.amount,w=null!=(s=null==(o=l[d.votingEscrowToken])?void 0:o.underlyingTokenBalance.amount)?s:"0",x=V(v).times(.1).plus(V(f).times(V(w).div(m)).times(.9)),b=V(v).gt(0)?x.div(v).toNumber():.1,y=10*Math.min(1,b),g=new i.Contract(c,Ae,h.ctx.provider.read),e.next=11,g.boostedBalanceOf(r);case 11:return k=e.sent,A=V(v).gt(0)?V(k.toString()).div(v).toNumber():.1,S=10*Math.min(1,A),e.abrupt("return",{assetAddress:c,boost:S,_calculatedBoost:y});case 15:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),e.abrupt("return",Promise.all(f));case 22:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.balances=function(){var e=v(N.mark((function e(t){var r,n,a,s,i,o;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.accountAddress,n=t.addresses,e.next=3,this.get({addresses:n});case 3:return a=e.sent.map((function(e){return e.token})),e.next=7,this.yearn.services.helper.tokens(a);case 7:return s=z(e.sent,"address"),e.next=11,this.yearn.services.helper.tokenBalances(r,a);case 11:return i=z(e.sent,"address"),o=a.map((function(e){var t=i[e];return{address:r,token:s[e],balance:t.balance,balanceUsdc:t.balanceUsdc,priceUsdc:t.priceUsdc}})),e.abrupt("return",o);case 15:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.tokens=function(){var e=v(N.mark((function e(t){var r,n,a,s,i,o,u;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.addresses,e.next=3,this.get({addresses:r});case 3:return n=e.sent.map((function(e){return e.token})),e.next=7,this.yearn.services.helper.tokens(n);case 7:return a=z(e.sent,"address"),e.next=11,this.yearn.services.asset.icon(n);case 11:return s=e.sent,e.next=14,this.yearn.services.helper.tokenPrices(n);case 14:return i=z(e.sent,"address"),e.next=18,this.yearn.tokens.metadata(n);case 18:return o=z(e.sent,"address"),u=n.map((function(e){return x({},a[e],{icon:s[e],priceUsdc:i[e].priceUsdc,dataSource:"gauges",supported:{gauges:!0},metadata:o[e]})})),e.abrupt("return",u);case 22:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.getStakeAllowance=function(){var e=v(N.mark((function e(t){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.yearn.tokens.allowance(t.accountAddress,t.tokenAddress,t.gaugeAddress));case 2:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.approveStake=function(){var e=v(N.mark((function e(t){var r,n,a,s,i,o,u,p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.accountAddress,n=t.tokenAddress,a=t.gaugeAddress,s=t.amount,i=t.populate,u=void 0===(o=t.overrides)?{}:o,e.next=3,this.yearn.tokens.populateApprove(r,n,a,null!=s?s:c.MaxUint256.toString(),u);case 3:if(p=e.sent,!i){e.next=6;break}return e.abrupt("return",p);case 6:return e.abrupt("return",this.yearn.services.transaction.sendTransaction(p));case 7:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.stake=function(){var e=v(N.mark((function e(t){var r,n,a,s,o,u,c,p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.gaugeAddress,n=t.amount,a=t.populate,o=void 0===(s=t.overrides)?{}:s,u=this.ctx.provider.write.getSigner(t.accountAddress),c=new i.Contract(r,Ae,u),e.next=5,c.populateTransaction.deposit(n,o);case 5:if(p=e.sent,!a){e.next=8;break}return e.abrupt("return",p);case 8:return e.abrupt("return",this.yearn.services.transaction.sendTransaction(p));case 9:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.unstake=function(){var e=v(N.mark((function e(t){var r,n,a,s,o,u,c,p,d;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.gaugeAddress,a=t.amount,s=t.populate,u=void 0===(o=t.overrides)?{}:o,c=this.ctx.provider.write.getSigner(r=t.accountAddress),p=new i.Contract(n,Ae,c),e.next=7,p.populateTransaction.withdraw(a,r,r,!1,!1,u);case 7:if(d=e.sent,!s){e.next=10;break}return e.abrupt("return",d);case 10:return e.abrupt("return",this.yearn.services.transaction.sendTransaction(d));case 11:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.claimRewards=function(){var e=v(N.mark((function e(t){var r,n,a,s,o,u,c;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.gaugeAddress,n=t.populate,s=void 0===(a=t.overrides)?{}:a,o=this.ctx.provider.write.getSigner(t.accountAddress),u=new i.Contract(r,Ae,o),e.next=5,u.populateTransaction.getReward(s);case 5:if(c=e.sent,!n){e.next=8;break}return e.abrupt("return",c);case 8:return e.abrupt("return",this.yearn.services.transaction.sendTransaction(c));case 9:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.claimAllRewards=function(){var e=v(N.mark((function e(t){var r,n,a,s,o,u,c,p,d,l,f,h;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.accountAddress,n=t.addresses,a=t.claimVotingEscrow,s=t.populate,u=void 0===(o=t.overrides)?{}:o,c=!1,e.next=4,this.get({addresses:n});case 4:return p=e.sent.map((function(e){return e.address})),e.next=8,this.yearn.addressProvider.addressById(G.claimRewardsZap);case 8:return d=e.sent,l=this.ctx.provider.write.getSigner(r),f=new i.Contract(d,Te,l),e.next=13,f.populateTransaction.claim(p,c,null!=a&&a,u);case 13:if(h=e.sent,!s){e.next=16;break}return e.abrupt("return",h);case 16:return e.abrupt("return",this.yearn.services.transaction.sendTransaction(h));case 17:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.getSupportedAddresses=function(){var e=v(N.mark((function e(t){var r,n,a,s,o;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.addresses,e.next=3,this.yearn.addressProvider.addressById(G.veYfiRegistry);case 3:return n=new i.Contract(e.sent,Se,this.ctx.provider.read),e.next=7,n.getVaults();case 7:return a=e.sent.map(function(){var e=v(N.mark((function e(t){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,n.gauges(t);case 2:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),e.next=11,Promise.all(a);case 11:return s=e.sent,o=r?r.filter((function(e){return s.includes(e)})):s,e.abrupt("return",o);case 14:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t}(H),Ie=["0xCeD67a187b923F0E5ebcc77C7f2F7da20099e378"],Pe=function(e){function t(){var t;return(t=e.apply(this,arguments)||this).pickleJarUSDPrices=new Map,t.lastFetchedDate=new Date(0),t}b(t,e);var r=t.prototype;return r.getPriceUsdc=function(){var e=v(N.mark((function e(t){var r,n;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=new Date(Date.now()-36e5),!(this.lastFetchedDate<n)){e.next=4;break}return e.next=4,this.fetchPickleJarPrices();case 4:return e.abrupt("return",fe((null==(r=this.pickleJarUSDPrices.get(t))?void 0:r.toFixed(0))||"0"));case 5:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.fetchPickleJarPrices=function(){var e=v(N.mark((function e(){var t,r,a,i,o,u;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.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(e){return e.json()}));case 2:for(t=e.sent,this.pickleJarUSDPrices.clear(),this.lastFetchedDate=new Date,r=t.filter((function(e){return Ie.includes(s.getAddress(e.jarAddress))})),a=E(r);!(i=a()).done;)u=new n.BigNumber((o=i.value).liquidity_locked/o.tokens),this.pickleJarUSDPrices.set(s.getAddress(o.jarAddress),u);case 7:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),t}(q),Oe=function(){function e(e,t,r){this.telegram=e,this.chainId=t,this.ctx=r,this.baseUrl=r.simulation.apiUrl,this.apiKey=r.simulation.apiKey}var t=e.prototype;return t.simulateRaw=function(){var e=v(N.mark((function e(t,r,n,a,s){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===a&&(a={}),void 0===s&&(s="0"),e.next=4,this.makeSimulationRequest(t,r,n,a,s);case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e,this)})));return function(t,r,n,a,s){return e.apply(this,arguments)}}(),t.simulateVaultInteraction=function(){var e=v(N.mark((function e(t,r,n,i,o,u){var c,p,d;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===u&&(u="0"),this.isString(n)){e.next=3;break}throw new O("Data is of an invalid type",O.INVALID_TYPE);case 3:return e.next=5,this.makeSimulationRequest(t,r,n,o,u);case 5:if(c=function(e){return s.getAddress(e.slice(-40))},p=e.sent.transaction.transaction_info.logs.reverse().find((function(e){return"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"===e.raw.topics[0]&&c(e.raw.topics[2])===s.getAddress(t)}))){e.next=11;break}throw new O("No log of transferring token "+i+" to "+t,O.NO_LOG);case 11:return d=new a(p.raw.data).toFixed(0),e.abrupt("return",d);case 13:case"end":return e.stop()}}),e,this)})));return function(t,r,n,a,s,i){return e.apply(this,arguments)}}(),t.makeSimulationRequest=function(){var e=v(N.mark((function e(t,r,n,a,s){var i,o,u,c,p,d,l,f;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===s&&(s="0"),this.isString(n)){e.next=3;break}throw new O("Data is of an invalid type",O.INVALID_TYPE);case 3:return i=null!=a&&a.forkId?this.baseUrl+"/fork/"+a.forkId+"/simulate":this.baseUrl+"/simulate",o={from:t,to:r,input:n,network_id:this.chainId.toString(),block_number:-1,simulation_type:"quick",root:null==a?void 0:a.root,value:s,save:a.save||!0},e.next=7,fetch(i,{method:"POST",headers:x({"Content-Type":"application/json"},this.apiKey&&{"X-Access-Key":this.apiKey}),body:JSON.stringify(o)}).then((function(e){return e.json()})).catch((function(e){throw console.error(e),new U("simulation call to Tenderly failed",U.SIMULATION_CALL)}));case 7:if(!(c=(u=e.sent).transaction.error_message)){e.next=14;break}throw a.save&&this.sendErrorMessage(c,u.simulation.id,a.forkId),new O(c,O.TENDERLY_RESPONSE_ERROR);case 14:if(d=this.getAllSimulationCalls(u.transaction.transaction_info.call_trace),!(l=null==(p=d.find((function(e){return e.error})))?void 0:p.error)){e.next=20;break}throw this.sendErrorMessage(f="Partial Revert - "+l,u.simulation.id,null==a?void 0:a.forkId),new O(f,O.PARTIAL_REVERT);case 20:return e.abrupt("return",u);case 21:case"end":return e.stop()}}),e,this)})));return function(t,r,n,a,s){return e.apply(this,arguments)}}(),t.executeSimulationWithReSimulationOnFailure=function(){var e=v(N.mark((function e(t,r){var n=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),e.prev=1,e.next=4,t(!1).then((function(e){return r&&n.deleteFork(r),e}));case 4:return e.abrupt("return",e.sent);case 8:return e.prev=8,e.t0=e.catch(1),e.prev=10,e.next=13,t(!0);case 13:e.next=18;break;case 15:e.prev=15,e.t1=e.catch(10),console.error(e.t1);case 18:throw e.t0;case 19:case"end":return e.stop()}}),e,null,[[1,8],[10,15]])})));return function(t,r){return e.apply(this,arguments)}}(),t.createFork=function(){var e=v(N.mark((function e(){var t;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t={alias:"",description:"",network_id:this.chainId.toString()},e.next=3,fetch(this.baseUrl+"/fork",{method:"POST",headers:x({"Content-Type":"application/json"},this.apiKey&&{"X-Access-Key":this.apiKey}),body:JSON.stringify(t)}).then((function(e){return e.json()})).catch((function(e){throw console.error(e),new U("failed to create fork",U.CREATE_FORK)}));case 3:return e.next=5,e.sent;case 5:return e.abrupt("return",e.sent.simulation_fork.id);case 7:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),t.getAllSimulationCalls=function(e){var t=[];t=t.concat(e.calls||[]);for(var r,n=E(e.calls||[]);!(r=n()).done;){var a=this.getAllSimulationCalls(r.value);t=t.concat(a)}return t},t.deleteFork=function(){var e=v(N.mark((function e(t){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch(this.baseUrl+"/fork/"+t,{method:"DELETE",headers:x({"Content-Type":"application/json"},this.apiKey&&{"X-Access-Key":this.apiKey})});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.sendErrorMessage=function(e,t,r){var n;this.ctx.simulation.dashboardUrl&&(n=this.ctx.simulation.dashboardUrl+"/"+(r?"fork/"+r+"/simulation":"simulator")+"/"+t);var a=["Simulation error",e,n].map((function(e){return e})).join("\n\n");this.telegram.sendMessage(a)},t.isString=function(e){return"string"==typeof e},e}(),_e=function(){function e(e){var t=this;this.contract=e,this.encodeDeposit=function(e){return t.contract.interface.encodeFunctionData("deposit",[e])},this.encodeWithdraw=function(e){return t.contract.interface.encodeFunctionData("withdraw",[e])}}var t=e.prototype;return t.decimals=function(){var e=v(N.mark((function e(){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.contract.decimals();case 2:return e.abrupt("return",new n.BigNumber(e.sent.toString()));case 4:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),t.token=function(){var e=v(N.mark((function e(){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.contract.token();case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),w(e,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"]}}]),e}(),De=function(e){function t(r,n){return e.call(this,new i.Contract(r,[].concat(_e.abi,t.pickleJarAbi),n))||this}return b(t,e),t.prototype.pricePerShare=function(){var e=v(N.mark((function e(){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.contract.getRatio();case 2:return e.abrupt("return",new n.BigNumber(e.sent.toString()));case 4:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),w(t,null,[{key:"pickleJarAbi",get:function(){return["function getRatio() public view returns (uint256)"]}}]),t}(_e),Ue=function(e){function t(r,n){return e.call(this,new i.Contract(r,[].concat(_e.abi,t.yearnVaultAbi),n))||this}return b(t,e),t.prototype.pricePerShare=function(){var e=v(N.mark((function e(){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.contract.pricePerShare();case 2:return e.abrupt("return",new n.BigNumber(e.sent.toString()));case 4:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),w(t,null,[{key:"yearnVaultAbi",get:function(){return["function pricePerShare() view returns (uint256)"]}}]),t}(_e);function Ce(e){var t,r=e.token,n=e.vault;if(!r.supported||null==(t=n.metadata)||!t.zapInWith)return{isZapInSupported:!1,zapInWith:null};var a=ne[e.chainId];if(null!=a&&a.zapsEnabled){var s=n.metadata.zapInWith;if(s&&Be(s,r.supported)){var i=Boolean(r.supported[s]);return{isZapInSupported:i,zapInWith:i?s:null}}}return{isZapInSupported:!1,zapInWith:null}}function Re(e){var t,r=e.token,n=e.vault;if(!r.supported||null==(t=n.metadata)||!t.zapOutWith)return{isZapOutSupported:!1,zapOutWith:null};var a=ne[e.chainId];if(null!=a&&a.zapsEnabled){var s=n.metadata.zapOutWith;if(s&&Be(s,r.supported)){var i=Boolean(r.supported[s]);return{isZapOutSupported:i,zapOutWith:i?s:null}}}return{isZapOutSupported:!1,zapOutWith:null}}function Be(e,t){return e in t}var Ne=function(e){function t(){var t;return(t=e.apply(this,arguments)||this).simulationExecutor=new Oe(t.yearn.services.telegram,t.chainId,t.ctx),t}b(t,e);var r=t.prototype;return r.deposit=function(){var e=v(N.mark((function e(t,r,n,a,s){var i,o,u,c,p,d,l;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===s&&(s={}),i={from:t,sellToken:r,amount:n,toVault:a,options:s},o=this.ctx.provider.write.getSigner(t),u=this.getVaultContract({toVault:a,signer:o}),e.next=6,this.getZappableVault({vaultAddress:a,vaultContract:u});case 6:if(c=e.sent){e.next=9;break}throw new P("Could not get vault: "+a);case 9:return e.next=11,this.yearn.tokens.findByAddress(r);case 11:if(p=e.sent){e.next=14;break}throw new P("Could not find the token by address: "+r);case 14:return e.next=16,this.isUnderlyingToken({vault:a,address:p.address});case 16:if(!e.sent){e.next=19;break}return e.abrupt("return",this.handleDirectSimulationDeposit({depositArgs:i,vaultContract:u,vault:c,signer:o}));case 19:if(d=Ce({chainId:this.chainId,token:p,vault:c}),l=d.zapInWith,!d.isZapInSupported||!l){e.next=22;break}return e.abrupt("return",this.handleZapInSimulationDeposit({depositArgs:i,zapInWith:l,vault:c}));case 22:throw new P("Deposit of "+p.address+" to "+a+" is not supported");case 23:case"end":return e.stop()}}),e,this)})));return function(t,r,n,a,s){return e.apply(this,arguments)}}(),r._deposit=function(){var e=v(N.mark((function e(t,r,n,a,s,i){var o,u,c,p,d,l,f,h,v,m,w,b,y,g,k;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===s&&(s={}),void 0===i&&(i={}),e.next=4,this.simulationExecutor.createFork();case 4:return o=e.sent,e.next=7,this.yearn.vaults.getDepositAllowance(a,t,r);case 7:if(u=e.sent,!(p=V(n).gt(u.amount))){e.next=24;break}return e.next=12,this.yearn.vaults.populateApproveDeposit(a,t,r,n,!1,i);case 12:if(l=(d=e.sent).from,h=d.data,v=d.value,(f=d.to)&&h){e.next=19;break}throw Error("Error populating approve transaction");case 19:return e.next=21,this.simulationExecutor.makeSimulationRequest(null!=l?l:a,f,h,{forkId:o,save:!0},v?v.toString():void 0);case 21:c=e.sent.simulation.id;case 24:return e.next=26,this.yearn.vaults.populateDepositTransaction({vault:t,token:r,amount:n,account:a,options:x({},s,{skipGasEstimate:p}),overrides:i});case 26:if(w=(m=e.sent).from,y=m.data,g=m.value,(b=m.to)&&y){e.next=33;break}throw Error("Error populating deposit transaction");case 33:return e.next=35,this.simulationExecutor.makeSimulationRequest(null!=w?w:a,b,y,{forkId:o,root:c,save:!0},g?g.toString():void 0);case 35:return k=e.sent,e.next=38,this.simulationExecutor.deleteFork(o);case 38:return e.next=40,this.parseDepositSimulationOutcome(t,r,n,a,k);case 40:return e.abrupt("return",e.sent);case 41:case"end":return e.stop()}}),e,this)})));return function(t,r,n,a,s,i){return e.apply(this,arguments)}}(),r.parseDepositSimulationOutcome=function(){var e=v(N.mark((function e(t,r,n,a,s){var i,o,u,c,p,d,l;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.yearn.tokens.findByAddress(pe(r,this.chainId));case 2:return i=e.sent,e.next=5,this.yearn.vaults.get([t]);case 5:return o=e.sent[0],e.next=9,this.parseSimulationTargetTokenAmount(t,a,s);case 9:return u=e.sent,c=V(null==i?void 0:i.priceUsdc).times(Z({amount:n,decimals:Number(null==i?void 0:i.decimals)})).toFixed(0),e.next=13,this.yearn.services.oracle.getNormalizedValueUsdc(t,u);case 13:return p=e.sent,d=V(u).div(V(10).pow(o.decimals)).multipliedBy(o.metadata.pricePerShare).toFixed(0),l=V(c).eq(0)?0:V(p).div(c).toNumber(),e.abrupt("return",{sourceTokenAddress:r,sourceTokenAmount:n,targetTokenAddress:t,targetTokenAmount:u,targetTokenAmountUsdc:p,targetUnderlyingTokenAddress:o.token,targetUnderlyingTokenAmount:d,conversionRate:l,slippage:V(1).minus(l).toNumber()});case 17:case"end":return e.stop()}}),e,this)})));return function(t,r,n,a,s){return e.apply(this,arguments)}}(),r.parseSimulationTargetTokenAmount=function(){var e=v(N.mark((function e(t,r,n){var a;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!ue(t)){e.next=2;break}return e.abrupt("return",V(n.transaction.transaction_info.call_trace.output).toFixed(0));case 2:if(a=n.transaction.transaction_info.logs.reverse().find((function(e){return"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"===e.raw.topics[0]&&s.getAddress(e.raw.topics[2].slice(-40))===s.getAddress(r)}))){e.next=6;break}throw new O("No log of transferring token to "+r,O.NO_LOG);case 6:return e.abrupt("return",V(a.raw.data).toFixed(0));case 7:case"end":return e.stop()}}),e)})));return function(t,r,n){return e.apply(this,arguments)}}(),r.withdraw=function(){var e=v(N.mark((function e(t,r,n,a,s){var i,o,u,c,p,d,l,f=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===s&&(s={}),i={from:t,fromVault:r,amount:n,toToken:a,options:s},o=this.ctx.provider.write.getSigner(t),u=new Ue(r,o),e.next=6,this.yearn.vaults.get([r]);case 6:if(c=e.sent[0]){e.next=10;break}throw new P("Could not get vault: "+r);case 10:return e.next=12,this.yearn.tokens.findByAddress(a);case 12:if(p=e.sent){e.next=15;break}throw new P("Could not find the token by address: "+a);case 15:return e.next=17,this.isUnderlyingToken({vault:r,address:p.address});case 17:if(!e.sent){e.next=21;break}return e.abrupt("return",this.simulationExecutor.executeSimulationWithReSimulationOnFailure((function(e){return f.directWithdraw(x({},i,{vaultContract:u,options:x({},s,{save:e})}))})));case 21:if(d=Re({chainId:this.chainId,token:p,vault:c}),l=d.zapOutWith,!d.isZapOutSupported||!l){e.next=24;break}return e.abrupt("return",this.handleZapOutSimulation({withdrawArgs:i,zapOutWith:l,token:p}));case 24:throw new P("Withdraw from "+r+" to "+a+" is not supported");case 25:case"end":return e.stop()}}),e,this)})));return function(t,r,n,a,s){return e.apply(this,arguments)}}(),r._withdraw=function(){var e=v(N.mark((function e(t,r,n,a,s,i){var o,u,c,p,d,l,f,h,v,m,w,b,y,g,k;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===s&&(s={}),void 0===i&&(i={}),e.next=4,this.simulationExecutor.createFork();case 4:return o=e.sent,e.next=7,this.yearn.vaults.getWithdrawAllowance(a,t,r);case 7:if(u=e.sent,!(p=V(n).gt(u.amount))){e.next=24;break}return e.next=12,this.yearn.vaults.populateApproveWithdraw(a,t,r,n,!1,i);case 12:if(l=(d=e.sent).from,h=d.data,v=d.value,(f=d.to)&&h){e.next=19;break}throw Error("Error populating approve transaction");case 19:return e.next=21,this.simulationExecutor.makeSimulationRequest(null!=l?l:a,f,h,{forkId:o,save:!0},v?v.toString():void 0);case 21:c=e.sent.simulation.id;case 24:return e.next=26,this.yearn.vaults.populateWithdrawTransaction({vault:t,token:r,amount:n,account:a,options:x({},s,{skipGasEstimate:p}),overrides:i});case 26:if(w=(m=e.sent).from,y=m.data,g=m.value,(b=m.to)&&y){e.next=33;break}throw Error("Error populating withdraw transaction");case 33:return e.next=35,this.simulationExecutor.makeSimulationRequest(null!=w?w:a,b,y,{forkId:o,root:c,save:!0},g?g.toString():void 0);case 35:return k=e.sent,e.next=38,this.simulationExecutor.deleteFork(o);case 38:return e.next=40,this.parseWithdrawSimulationOutcome(t,r,n,a,k);case 40:return e.abrupt("return",e.sent);case 41:case"end":return e.stop()}}),e,this)})));return function(t,r,n,a,s,i){return e.apply(this,arguments)}}(),r.parseWithdrawSimulationOutcome=function(){var e=v(N.mark((function e(t,r,n,a,s){var i,o,u,c,p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.parseSimulationTargetTokenAmount(r,a,s);case 2:return i=e.sent,e.next=5,this.yearn.services.oracle.getNormalizedValueUsdc(t,n);case 5:return o=e.sent,e.next=8,this.yearn.tokens.findByAddress(pe(r,this.chainId));case 8:return c=V(null==(u=e.sent)?void 0:u.priceUsdc).times(Z({amount:i,decimals:Number(null==u?void 0:u.decimals)})).toFixed(0),p=V(o).eq(0)?0:V(c).div(o).toNumber(),e.abrupt("return",{sourceTokenAddress:t,sourceTokenAmount:n,targetTokenAddress:r,targetTokenAmount:i,targetTokenAmountUsdc:c,targetUnderlyingTokenAddress:t,targetUnderlyingTokenAmount:i,conversionRate:p,slippage:V(1).minus(p).toNumber()});case 12:case"end":return e.stop()}}),e,this)})));return function(t,r,n,a,s){return e.apply(this,arguments)}}(),r.handleDirectSimulationDeposit=function(){var e=v(N.mark((function e(t){var r,n,a,s,i,o,u,c=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.depositArgs,n=t.vaultContract,a=t.vault,s=t.signer,e.next=3,this.getApprovalData({depositArgs:r,signer:s});case 3:return o=(i=e.sent).approvalTransactionId,e.abrupt("return",this.simulationExecutor.executeSimulationWithReSimulationOnFailure((function(e){return c.directDeposit({depositArgs:x({},r,{options:x({},r.options,{forkId:u,save:e,root:o})}),vaultContract:n,vault:a})}),u=i.forkId));case 8:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.directDeposit=function(){var e=v(N.mark((function e(t){var r,n,a,s,i,o,u,c,p,d,l,f,h,v,m;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=(r=t.depositArgs).toVault,a=r.amount,s=r.from,i=r.sellToken,o=r.options,u=t.vaultContract,c=t.vault,e.next=3,this.getEncodedInputData({vaultContract:u,amount:a,toVault:n});case 3:if(p=e.sent){e.next=6;break}throw new P("directDeposit#encodeDeposit failed");case 6:return e.next=8,this.getActionableAddress({toVault:n});case 8:return d=e.sent,e.next=11,this.simulationExecutor.simulateVaultInteraction(s,d,p,n,o);case 11:return l=e.sent,e.next=14,this.yearn.services.oracle.getNormalizedValueUsdc(n,l).catch((function(){throw new R("Error fetching price",R.FETCHING_PRICE_ORACLE)}));case 14:if(f=e.sent,v=c.metadata.pricePerShare,h=c.decimals){e.next=18;break}throw new P("Decimals missing for vault "+c.address);case 18:if(v){e.next=20;break}throw new P("Price per share missing in vault "+c.address+" metadata");case 20:return m=V(l).div(V(10).pow(h)).multipliedBy(v).toFixed(0),e.abrupt("return",{sourceTokenAddress:i,sourceTokenAmount:a,targetTokenAddress:n,targetTokenAmount:l,targetTokenAmountUsdc:f,targetUnderlyingTokenAddress:n,targetUnderlyingTokenAmount:m,conversionRate:1,slippage:0});case 22:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.getEncodedInputData=function(){var e=v(N.mark((function e(t){var r,n,a,s;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.vaultContract,a=t.amount,this.shouldUsePartnerService(s=t.toVault)){e.next=3;break}return e.abrupt("return",n.encodeDeposit(a));case 3:return e.abrupt("return",null==(r=this.yearn.services.partner)?void 0:r.encodeDeposit(s,a));case 4:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.getActionableAddress=function(){var e=v(N.mark((function e(t){var r,n;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.shouldUsePartnerService(n=t.toVault)){e.next=3;break}return e.abrupt("return",n);case 3:return e.next=5,null==(r=this.yearn.services.partner)?void 0:r.address;case 5:return e.abrupt("return",e.sent||n);case 7:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.depositNeedsApproving=function(){var e=v(N.mark((function e(t){var r,n,a,s,o,u;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=(r=t.depositArgs).from,a=r.amount,s=r.toVault,o=new i.Contract(r.sellToken,["function allowance(address owner, address spender) view returns (uint256)"],t.signer),e.next=5,this.getActionableAddress({toVault:s});case 5:return u=e.sent,e.prev=6,e.next=9,o.allowance(n,u);case 9:return e.abrupt("return",V(e.sent.toString()).lt(V(a)));case 13:throw e.prev=13,e.t0=e.catch(6),new P("Failed to get allowance from the contract: "+e.t0);case 16:case"end":return e.stop()}}),e,this,[[6,13]])})));return function(t){return e.apply(this,arguments)}}(),r.zapIn=function(){var e=v(N.mark((function e(t){var r,n,a,s,i,o,u,c,p,d,l,f,h,v,m,w,x,b,y,g,k,A,S,T;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=(s=t.depositArgs).sellToken,o=s.from,u=s.amount,c=s.toVault,d=t.vault,l=t.skipGasEstimate,(p=s.options).slippage){e.next=3;break}throw new P("slippage needs to be set",P.NO_SLIPPAGE);case 3:return f=null==(r=this.yearn.services.partner)?void 0:r.partnerId,h=this.getZapProtocol({vaultAddress:c}),e.next=7,this.yearn.services.portals.zapIn(c,i,u,o,p.slippage,!l,f).catch((function(){throw new _("zap in",_.ZAP_IN)}));case 7:if((v=e.sent).from&&v.to&&v.data){e.next=10;break}throw new _("zap in",_.ZAP_IN);case 10:return m=V(null==(n=v.value)?void 0:n.toString()).toFixed(0),p.gasPrice=p.gasPrice||(null==(a=v.gasPrice)?void 0:a.toString()),l||(p.gasLimit=null==(w=v.gasLimit)?void 0:w.toString()),e.next=15,this.simulationExecutor.simulateVaultInteraction(o,v.to,v.data,c,p,m);case 15:if(x=e.sent,y=d.metadata.pricePerShare,g=d.token,b=d.decimals){e.next=19;break}throw new P("Decimals missing for vault "+d.address);case 19:if(y){e.next=21;break}throw new P("Price per share missing in vault "+d.address+" metadata");case 21:k=V(x).div(V(10).pow(b)).multipliedBy(y).toFixed(0),e.t0=h,e.next=e.t0===exports.ZapProtocol.YEARN?25:e.t0===exports.ZapProtocol.PICKLE?29:33;break;case 25:return e.next=27,this.yearn.services.oracle.getNormalizedValueUsdc(c,x).then((function(e){return V(e)})).catch((function(){throw new R("error fetching price",R.FETCHING_PRICE_ORACLE)}));case 27:return A=e.sent,e.abrupt("break",33);case 29:return e.next=31,this.yearn.services.pickle.getPriceUsdc(c).catch((function(){throw new R("error fetching price",R.FETCHING_PRICE_PICKLE)})).then((function(e){return V(e)}));case 31:return A=e.sent.dividedBy(V(10).pow(b)).multipliedBy(V(x)),e.abrupt("break",33);case 33:return e.t1=V,e.next=36,this.yearn.services.oracle.getNormalizedValueUsdc(pe(i,this.chainId),u).catch((function(){throw new R("error fetching price",R.FETCHING_PRICE_ORACLE)}));case 36:return e.t2=e.sent,S=(0,e.t1)(e.t2),T=A.div(S).toNumber(),e.abrupt("return",{sourceTokenAddress:i,sourceTokenAmount:u,targetTokenAddress:c,targetTokenAmount:x,targetTokenAmountUsdc:A.toFixed(0),targetUnderlyingTokenAddress:g,targetUnderlyingTokenAmount:k,conversionRate:T,slippage:1-T});case 40:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.getWithdrawApprovalData=function(){var e=v(N.mark((function e(t){var r,n,a,s,i,o,u;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.from,n=t.fromVault,a=t.amount,s=t.toToken,i=t.options,e.prev=1,e.next=4,this.yearn.services.portals.zapOutApprovalState(n,s,a,r);case 4:if(!V(e.sent.amount).gte(a)){e.next=8;break}return e.abrupt("return",{needsApproving:!1});case 8:e.next=13;break;case 10:throw e.prev=10,e.t0=e.catch(1),new _("zap out approval state",_.ZAP_OUT_APPROVAL_STATE);case 13:return e.next=15,this.simulationExecutor.createFork();case 15:return o=e.sent,e.prev=16,e.next=19,this.yearn.services.portals.zapOutApprovalTransaction(n,s,a,r);case 19:if((u=e.sent).from&&u.to&&u.data){e.next=22;break}throw new _("zap out approval transaction",_.ZAP_OUT_APPROVAL);case 22:return e.next=24,this.simulationExecutor.makeSimulationRequest(u.from,u.to,u.data,x({},i,{forkId:o,save:!0}));case 24:return e.abrupt("return",{needsApproving:!0,root:e.sent.simulation.id,forkId:o});case 29:throw e.prev=29,e.t1=e.catch(16),new _("zap out approval transaction",_.ZAP_OUT_APPROVAL);case 32:case"end":return e.stop()}}),e,this,[[1,10],[16,29]])})));return function(t){return e.apply(this,arguments)}}(),r.directWithdraw=function(){var e=v(N.mark((function e(t){var r,n,a,s,i,o,u;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.from,n=t.toToken,s=t.fromVault,i=t.options,o=t.vaultContract.encodeWithdraw(a=t.amount),e.next=4,this.simulationExecutor.simulateVaultInteraction(r,s,o,n,i);case 4:return u=e.sent,e.next=7,this.yearn.services.oracle.getNormalizedValueUsdc(n,u).catch((function(){throw new R("error fetching price",R.FETCHING_PRICE_ORACLE)}));case 7:return e.abrupt("return",{sourceTokenAddress:s,sourceTokenAmount:a,targetTokenAddress:n,targetTokenAmount:u,targetTokenAmountUsdc:e.sent,targetUnderlyingTokenAddress:n,targetUnderlyingTokenAmount:u,conversionRate:1,slippage:0});case 9:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.zapOut=function(){var e=v(N.mark((function e(t){var r,n,a,s,i,o,u,c,p,d,l,f,h,m=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.from,n=t.toToken,a=t.underlyingTokenAddress,s=t.amount,i=t.fromVault,o=t.skipGasEstimate,(u=t.options).slippage){e.next=3;break}throw new P("slippage needs to be set",P.NO_SLIPPAGE);case 3:return e.next=5,this.yearn.services.portals.zapOut(i,n,s,r,u.slippage,o).catch((function(){throw new _("error zapping out",_.ZAP_OUT)}));case 5:return c=e.sent,o||(u.gasLimit=null==(p=c.gasLimit)?void 0:p.toString()),e.next=9,v(N.mark((function e(){var t,a;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(c.from&&c.to&&c.data){e.next=2;break}throw new _("error zapping out",_.ZAP_OUT);case 2:if(!ue(n)){e.next=9;break}return e.next=5,m.simulationExecutor.makeSimulationRequest(r,c.to,c.data,u,null==(t=c.value)?void 0:t.toString());case 5:return e.abrupt("return",V(e.sent.transaction.transaction_info.call_trace.output).toFixed(0));case 9:return e.next=11,m.simulationExecutor.simulateVaultInteraction(r,c.to,c.data,n,u,null==(a=c.value)?void 0:a.toString());case 11:return e.abrupt("return",e.sent);case 12:case"end":return e.stop()}}),e)})))();case 9:return d=e.sent,e.next=12,this.yearn.services.oracle.getNormalizedValueUsdc(pe(n,this.chainId),d).catch((function(){throw new R("error fetching price",R.FETCHING_PRICE_ORACLE)}));case 12:return l=e.sent,e.next=15,this.yearn.services.oracle.getNormalizedValueUsdc(i,s).catch((function(){throw new R("error fetching price",R.FETCHING_PRICE_ORACLE)}));case 15:return f=e.sent,h=V(l).div(V(f)).toNumber(),e.abrupt("return",{sourceTokenAddress:i,sourceTokenAmount:s,targetTokenAddress:n,targetTokenAmount:d,targetTokenAmountUsdc:l,targetUnderlyingTokenAddress:a,targetUnderlyingTokenAmount:d,conversionRate:h,slippage:1-h});case 18:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.shouldUsePartnerService=function(e){var t;return!(null==(t=this.yearn.services.partner)||!t.isAllowed(e))},r.getZapInApprovalData=function(){var e=v(N.mark((function e(t){var r,n,a,s,i,o,u=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.from,a=t.amount,s=t.toVault,i=t.options,!ue(r=t.sellToken)){e.next=3;break}return e.abrupt("return",{needsApproving:!1});case 3:return e.next=5,this.yearn.services.portals.zapInApprovalState(s,r,a,n).catch((function(){throw new _("approval state",_.ZAP_IN_APPROVAL_STATE)}));case 5:if(V(e.sent.amount).gte(a)){e.next=9;break}return e.abrupt("return",{needsApproving:!1});case 9:return e.next=11,this.simulationExecutor.createFork();case 11:return o=e.sent,e.next=14,this.yearn.services.portals.zapInApprovalTransaction(s,r,a,n).catch((function(){throw new _("approval",_.ZAP_IN_APPROVAL)})).then(function(){var e=v(N.mark((function e(t){var r,n,a;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.to,a=t.data,(r=t.from)&&n&&a){e.next=3;break}throw new _("approval",_.ZAP_IN_APPROVAL);case 3:return e.abrupt("return",u.simulationExecutor.makeSimulationRequest(r,n,a,x({},i,{forkId:o,save:!0})));case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).then((function(e){return e.simulation.id}));case 14:return e.abrupt("return",{needsApproving:!0,approvalTransactionId:e.sent,forkId:o});case 16:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.getZapInSimulationArgs=function(){var e=v(N.mark((function e(t){var r,n,a,s,i,o,u=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.vault,(r=t.depositArgs).options.slippage){e.next=3;break}throw new P("slippage needs to be specified for a zap",P.NO_SLIPPAGE);case 3:return e.next=5,this.getZapInApprovalData(r);case 5:return s=(a=e.sent).needsApproving,i=a.approvalTransactionId,e.abrupt("return",{simulateFn:function(e){return u.zapIn({depositArgs:x({},r,{options:x({},r.options,{forkId:o,save:e,root:i})}),vault:n,skipGasEstimate:s})},forkId:o=a.forkId});case 11:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.approve=function(){var e=v(N.mark((function e(t){var r,n,a,s,o,u,c,p,d;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.sellToken,a=t.amount,s=t.toVault,o=t.options,u=["function approve(address spender, uint256 amount) returns (bool)"],c=this.ctx.provider.write.getSigner(r=t.from),p=new i.Contract(n,u,c),e.next=6,this.getActionableAddress({toVault:s});case 6:return d=p.interface.encodeFunctionData("approve",[e.sent,a]),e.next=10,this.simulationExecutor.makeSimulationRequest(r,n,d,x({},o,{save:!0}));case 10:return e.abrupt("return",e.sent.simulation.id);case 12:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.getApprovalData=function(){var e=v(N.mark((function e(t){var r,n,a;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.depositArgs,n=t.signer,e.next=3,this.depositNeedsApproving({depositArgs:r,signer:n});case 3:if(e.sent){e.next=6;break}return e.abrupt("return",{});case 6:return e.next=8,this.simulationExecutor.createFork();case 8:return a=e.sent,e.next=11,this.approve(x({},r,{options:x({},r.options,{forkId:a})}));case 11:return e.abrupt("return",{approvalTransactionId:e.sent,forkId:a});case 13:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.getVaultContract=function(e){var t=e.toVault,r=e.signer;return this.getZapProtocol({vaultAddress:t})===exports.ZapProtocol.PICKLE?new De(t,r):new Ue(t,r)},r.handleZapInSimulationDeposit=function(){var e=v(N.mark((function e(t){var r,n,a,s;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.vault,a=t.depositArgs,"portalsZapIn"!==(r=t.zapInWith)){e.next=8;break}return e.next=4,this.getZapInSimulationArgs({depositArgs:a,vault:n});case 4:return e.abrupt("return",this.simulationExecutor.executeSimulationWithReSimulationOnFailure((s=e.sent).simulateFn,s.forkId));case 8:throw new P('zapInWith "'+r+'" not supported yet!');case 9:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.isUnderlyingToken=function(){var e=v(N.mark((function e(t){var r,n;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.address,!Ie.includes(r=t.vault)){e.next=3;break}return e.abrupt("return",!1);case 3:return e.abrupt("return",this.yearn.vaults.isUnderlyingToken(r,n));case 4:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.getZappableVault=function(){var e=v(N.mark((function e(t){var r,n,a,s;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.vaultContract,this.getZapProtocol({vaultAddress:r=t.vaultAddress})!==exports.ZapProtocol.PICKLE){e.next=9;break}return e.next=5,Promise.all([n.decimals().catch((function(){throw new D("no decimals",D.NO_DECIMALS)})),n.pricePerShare().catch((function(){throw new D("no price per share",D.NO_PRICE_PER_SHARE)}))]);case 5:return s=(a=e.sent)[1],e.abrupt("return",{address:r,token:"0x9461173740d27311b176476fa27e94c681b1ea6b",decimals:a[0].toString(),metadata:{zapInWith:"portalsZapIn",zapOutWith:"portalsZapOut",pricePerShare:s.toString()}});case 9:return e.next=11,this.yearn.vaults.get([r]);case 11:return e.abrupt("return",e.sent[0]);case 14:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.getZapProtocol=function(e){return Ie.includes(e.vaultAddress)?exports.ZapProtocol.PICKLE:exports.ZapProtocol.YEARN},r.getZapOutSimulationArgs=function(){var e=v(N.mark((function e(t){var r,n,a,s,i,o,u=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.token.address,(r=t.withdrawArgs).options.slippage){e.next=3;break}throw new P("slippage needs to be specified for a zap",P.NO_SLIPPAGE);case 3:return e.next=5,this.getWithdrawApprovalData(r);case 5:return s=(a=e.sent).needsApproving,i=a.root,e.abrupt("return",{simulateFn:function(e){return u.zapOut(x({},r,{underlyingTokenAddress:n,skipGasEstimate:s,options:x({},r.options,{root:i,forkId:o,save:e})}))},forkId:o=a.forkId});case 11:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.handleZapOutSimulation=function(){var e=v(N.mark((function e(t){var r,n,a,s;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.token,a=t.withdrawArgs,"portalsZapOut"!==(r=t.zapOutWith)){e.next=8;break}return e.next=4,this.getZapOutSimulationArgs({withdrawArgs:a,token:n});case 4:return e.abrupt("return",this.simulationExecutor.executeSimulationWithReSimulationOnFailure((s=e.sent).simulateFn,s.forkId));case 8:if("ftmApeZap"!==r){e.next=10;break}throw new P("ftmApeZap not implemented yet!");case 10:throw new P('zapOutWith "'+r+'" not supported yet!');case 11:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t}(H),ze=function(e){var t,r,n=e.obj,a=e.property,s=e.locale;return null!=n&&n.localization&&null!=(t=n.localization[s])&&t.description?n.localization[s].description:null!=(r=n&&a&&n[a])?r:e.fallback},Fe=["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)"],Le=["function symbol() view returns (string)"],Ve=function(e){function t(){var t;return(t=e.apply(this,arguments)||this).cachedFetcher=new Y("strategies/metadata/get",t.ctx,t.chainId),t}b(t,e);var r=t.prototype;return r.vaultsStrategiesMetadata=function(){var e=v(N.mark((function e(t){var r,n,a;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.cachedFetcher.fetch();case 2:if(!(r=e.sent)){e.next=5;break}return e.abrupt("return",r);case 5:if(!t){e.next=9;break}n=t,e.next=12;break;case 9:return e.next=11,this.yearn.services.lens.adapters.vaults.v2.assetsStatic().then((function(e){return e.map((function(e){return e.address}))}));case 11:n=e.sent;case 12:return e.prev=12,e.next=15,this.fetchMetadataFromApi(n);case 15:a=e.sent,e.next=21;break;case 18:e.prev=18,e.t0=e.catch(12),console.error(e.t0);case 21:if(a){e.next=25;break}return e.next=24,this.fetchMetadataFromChain(n);case 24:a=e.sent;case 25:return e.abrupt("return",a);case 26:case"end":return e.stop()}}),e,this,[[12,18]])})));return function(t){return e.apply(this,arguments)}}(),r.fetchMetadataFromApi=function(){var e=v(N.mark((function e(t){var r,n,a,s=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.fetchVaultsData();case 2:return r=e.sent,e.next=5,this.yearn.services.meta.strategies();case 5:return n=e.sent,a=t.map(function(){var e=v(N.mark((function e(t){var a,o;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=r.find((function(e){return e.address===t}))){e.next=3;break}return e.abrupt("return",void 0);case 3:return o=new i.Contract(a.address,Fe,s.ctx.provider.read),e.abrupt("return",s.fetchVaultStrategiesMetadata(a.strategies,n,o,a.token.symbol));case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),e.abrupt("return",Promise.all(a).then((function(e){return e.flatMap((function(e){return e?[e]:[]}))})));case 8:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.fetchMetadataFromChain=function(){var e=v(N.mark((function e(t){var r,n,a,s=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.yearn.services.meta.strategies();case 2:return r=e.sent,n=this.ctx.provider.read,a=t.map(function(){var e=v(N.mark((function e(t){var a,o,u,c,p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=new i.Contract(t,Fe,n),o=s.yearn.services.helper.assetStrategiesAddresses(t).then((function(e){return e.map((function(e){return{address:e}}))})),e.next=4,Promise.all([o,a.token()]);case 4:return c=(u=e.sent)[0],p=new i.Contract(u[1],Le,n),e.next=10,p.symbol();case 10:return e.abrupt("return",s.fetchVaultStrategiesMetadata(c,r,a,e.sent));case 12:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),e.abrupt("return",Promise.all(a).then((function(e){return e.flatMap((function(e){return e?[e]:[]}))})));case 6:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.fetchVaultStrategiesMetadata=function(){var e=v(N.mark((function e(t,r,n,a){var s,i=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(0!==t.length){e.next=2;break}return e.abrupt("return",void 0);case 2:return e.next=4,Promise.all(t.map(function(){var e=v(N.mark((function e(t){var s,o,u,c;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,n.strategies(t.address);case 3:o=e.sent.debtRatio,e.next=10;break;case 7:return e.prev=7,e.t0=e.catch(0),e.abrupt("return",void 0);case 10:if(!o.lte(p.BigNumber.from("0"))){e.next=12;break}return e.abrupt("return",void 0);case 12:return u=r.find((function(e){return e.addresses.includes(t.address)})),(c={address:t.address,name:(null==u?void 0:u.name)||t.name||"Strategy",description:ze({obj:u,property:"description",locale:i.ctx.locale,fallback:"Vault strategy missing"}),protocols:null!=(s=null==u?void 0:u.protocols)?s:[]}).description=null==c?void 0:c.description.replace(/{{token}}/g,a),e.abrupt("return",{data:c,debtRatio:o});case 16:case"end":return e.stop()}}),e,null,[[0,7]])})));return function(t){return e.apply(this,arguments)}}())).then((function(e){return e.flatMap((function(e){return e?[e]:[]})).sort((function(e,t){return e.debtRatio.lt(t.debtRatio)?1:e.debtRatio.eq(t.debtRatio)?0:-1})).map((function(e){return e.data}))}));case 4:if(0!==(s=e.sent).length){e.next=7;break}return e.abrupt("return",void 0);case 7:return e.abrupt("return",{vaultAddress:n.address,strategiesMetadata:s});case 9:case"end":return e.stop()}}),e)})));return function(t,r,n,a){return e.apply(this,arguments)}}(),r.fetchVaultsData=function(){var e=v(N.mark((function e(){var t;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,d("https://api.yearn.finance/v1/chains/"+this.chainId+"/vaults/all");case 2:if((t=e.sent).ok){e.next=5;break}throw new Error("An error has occured fetching vaults data: "+t.status);case 5:return e.next=7,t.json();case 7:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),t}(H),Ze=["function approve(address _spender, uint256 _value) public","function allowance(address _owner, address _spender) public view returns (uint256)"],je=function(e){function t(){var t;return(t=e.apply(this,arguments)||this).cachedFetcherSupported=new Y("tokens/supported",t.ctx,t.chainId),t.cachedFetcher=new Y("tokens/metadata",t.ctx,t.chainId),t}b(t,e);var r=t.prototype;return r.price=function(){var e=v(N.mark((function e(t,r){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.yearn.services.oracle.getPriceFromRouter(t,r));case 1:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),r.priceUsdc=function(){var e=v(N.mark((function e(t,r){var n,a,s=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if($[this.chainId]){e.next=2;break}throw new P("the chain "+this.chainId+" hasn't been implemented yet");case 2:return e.next=4,this.supported();case 4:if(a=null==(n=e.sent)?void 0:n.reduce((function(e,t){return e[t.address]=t,e}),{}),!Array.isArray(t)){e.next=11;break}return e.next=9,Promise.all(t.map(function(){var e=v(N.mark((function e(t){var n,i;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!a||"portals"!==(null==(n=a[t])?void 0:n.dataSource)){e.next=4;break}if(!(i=a[t].priceUsdc)){e.next=4;break}return e.abrupt("return",[t,i]);case 4:return e.next=6,s.yearn.services.oracle.getPriceUsdc(t,r);case 6:return e.abrupt("return",[t,e.sent]);case 8:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 9:return e.abrupt("return",Object.fromEntries(e.sent));case 11:return e.abrupt("return",this.yearn.services.oracle.getPriceUsdc(t,r));case 12:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),r.balances=function(){var e=v(N.mark((function e(t,r){var n,s,i,o,u,c,p,d,l,f,h;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=ne[this.chainId],e.next=3,this.supported();case 3:if(s=e.sent,r&&(s=s.filter((function(e){return r.includes(e.address)}))),i=s.reduce((function(e,t){return e[t.dataSource].add(t.address),e}),{zapper:new Set,portals:new Set,vaults:new Set,labs:new Set,sdk:new Set,votingEscrows:new Set,gauges:new Set}),o={zapper:[],portals:[],vaults:[],labs:[],sdk:[]},null==n||!n.zapsEnabled){e.next=32;break}return e.prev=8,e.next=11,this.yearn.services.portals.balances(t);case 11:o.portals=e.sent.filter((function(e){return i.portals.has(e.address)})),e.next=18;break;case 15:e.prev=15,e.t0=e.catch(8),console.error(e.t0);case 18:return e.prev=18,c=(u=n.nativeCurrency).address,p=u.name,d=u.symbol,l=u.decimals,e.next=22,this.ctx.provider.read.getBalance(t);case 22:return f=e.sent,e.next=25,this.yearn.services.oracle.getPriceUsdc(pe(c,this.chainId));case 25:h=e.sent,o.sdk=[{address:c,token:{address:c,name:p,decimals:l.toString(),symbol:d},balance:f.toString(),balanceUsdc:new a(f.toString()).div(Math.pow(10,18)).times(new a(h)).toString(),priceUsdc:h}],e.next=32;break;case 29:e.prev=29,e.t1=e.catch(18),console.error(e.t1);case 32:if(!this.ctx.isDevelopment||!X(this.chainId)){e.next=37;break}return e.next=35,this.getTestBalance(t);case 35:o.sdk.push(e.sent);case 37:if(!ee.includes(this.chainId)){e.next=43;break}return e.next=40,this.yearn.vaults.balances(t);case 40:return o.vaults=e.sent.filter((function(e){return"0"!==e.balance&&i.vaults.has(e.address)})),e.abrupt("return",[].concat(o.vaults,o.zapper,o.portals,o.sdk));case 43:return console.error("the chain "+this.chainId+" hasn't been implemented yet"),e.abrupt("return",[]);case 45:case"end":return e.stop()}}),e,this,[[8,15],[18,29]])})));return function(t,r){return e.apply(this,arguments)}}(),r.supported=function(){var e=v(N.mark((function e(){var t,r,n,a,s,i;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(ee.includes(this.chainId)){e.next=3;break}return console.error("the chain "+this.chainId+" hasn't been implemented yet"),e.abrupt("return",[]);case 3:return e.next=5,this.cachedFetcherSupported.fetch();case 5:if(!(t=e.sent)){e.next=8;break}return e.abrupt("return",t);case 8:if(n=[],!(r=ne[this.chainId]).zapsEnabled){e.next=20;break}return e.prev=11,e.next=14,this.getZapTokensWithIcons();case 14:n=e.sent,e.next=20;break;case 17:e.prev=17,e.t0=e.catch(11),console.error(e.t0);case 20:return e.next=22,this.yearn.vaults.tokens();case 22:if(a=e.sent,!this.ctx.isDevelopment||!X(this.chainId)){e.next=28;break}return e.next=26,this.getTestToken();case 26:a.push(e.sent);case 28:if(n.length){e.next=30;break}return e.abrupt("return",a);case 30:return s=we(a,n),i=new Set(n.map((function(e){return e.address}))),e.abrupt("return",s.map((function(e){var t;return x({},e,i.has(e.address)&&{supported:x({},e.supported,{portalsZapIn:!0,portalsZapOut:null==(t=r.zapOutTokenSymbols)?void 0:t.includes(e.symbol.toUpperCase())})})})));case 33:case"end":return e.stop()}}),e,this,[[11,17]])})));return function(){return e.apply(this,arguments)}}(),r.findByAddress=function(){var e=v(N.mark((function e(t){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.supported();case 2:return e.abrupt("return",e.sent.find((function(e){return e.address===t})));case 4:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.allowance=function(){var e=v(N.mark((function e(t,r,n){var a,s;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a={owner:t,token:r,spender:n,amount:c.MaxUint256.toString()},!ue(r)&&r!==n){e.next=3;break}return e.abrupt("return",a);case 3:return s=new i.Contract(r,Ze,this.ctx.provider.read),e.next=6,s.allowance(t,n);case 6:return e.abrupt("return",x({},a,{amount:e.sent.toString()}));case 8:case"end":return e.stop()}}),e,this)})));return function(t,r,n){return e.apply(this,arguments)}}(),r.populateApprove=function(){var e=v(N.mark((function e(t,r,n,a,s){var o,u;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===s&&(s={}),!ue(r)){e.next=3;break}throw new P("Native tokens cant be approved: "+r);case 3:if(r!==n){e.next=5;break}throw new P("Cant approve token as its spender: "+r);case 5:return o=this.ctx.provider.write.getSigner(t),u=new i.Contract(r,Ze,o),e.abrupt("return",u.populateTransaction.approve(n,a,s));case 8:case"end":return e.stop()}}),e,this)})));return function(t,r,n,a,s){return e.apply(this,arguments)}}(),r.approve=function(){var e=v(N.mark((function e(t,r,n,a,s){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===s&&(s={}),e.next=3,this.populateApprove(t,r,n,a,s);case 3:return e.abrupt("return",this.yearn.services.transaction.sendTransaction(e.sent));case 5:case"end":return e.stop()}}),e,this)})));return function(t,r,n,a,s){return e.apply(this,arguments)}}(),r.getZapTokensWithIcons=function(){var e=v(N.mark((function e(){var t,r,n,a=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.yearn.services.portals.supportedTokens();case 2:return r=(t=e.sent).map((function(e){return e.address})),e.next=6,this.yearn.services.asset.ready.then((function(){return a.yearn.services.asset.icon(r)}));case 6:return n=e.sent,e.abrupt("return",t.map((function(e){var t=n[e.address];return t?x({},e,{icon:t}):e})));case 9:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),r.icon=function(e){return this.yearn.services.asset.icon(e)},r.metadata=function(){var e=v(N.mark((function e(t){var r,n;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.cachedFetcher.fetch();case 2:if(!(n=e.sent)){e.next=7;break}r=n,e.next=10;break;case 7:return e.next=9,this.yearn.services.meta.tokens();case 9:r=e.sent;case 10:if(!t){e.next=14;break}return e.abrupt("return",r.filter((function(e){return t.includes(e.address)})));case 14:return e.abrupt("return",r);case 15:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.getTestBalance=function(){var e=v(N.mark((function e(t){var r,n;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r="0x278E23E4EA5A03C0f36a83fd6A9e326B874BF0c5",e.next=3,this.yearn.services.helper.tokenBalances(t,[r]);case 3:return e.abrupt("return",{address:r,token:{address:r,name:"TestYFI",decimals:"18",symbol:"TYFI"},balance:(n=e.sent[0]).balance.toString(),balanceUsdc:new a(n.balance.toString()).div(Math.pow(10,18)).times(new a("1000000")).toString(),priceUsdc:"1000000"});case 6:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.getTestToken=function(){return{address:"0x278E23E4EA5A03C0f36a83fd6A9e326B874BF0c5",name:"TestYFI",decimals:"18",symbol:"TYFI",icon:"https://raw.githubusercontent.com/yearn/yearn-assets/master/icons/multichain-tokens/1/0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e/logo-128.png",priceUsdc:"1000000",dataSource:"sdk",supported:{}}},t}(H);function Me(e){var t=e.addressables,r=e.zapInType,n=e.zapOutType,a=new Set(e.supportedVaultAddresses);return t.map((function(e){try{var t=s.getAddress(e.address),i=a.has(t);return x({},e,{allowZapIn:i,allowZapOut:i,zapInWith:i?r:void 0,zapOutWith:i?n:void 0})}catch(t){return e}}))}var We=["function deposit(uint256 amount) public","function withdraw(uint256 amount) public"],Ge=function(e){function t(){var t;return(t=e.apply(this,arguments)||this).cachedFetcherGet=new Y("vaults/get",t.ctx,t.chainId),t.cachedFetcherGetDynamic=new Y("vaults/getDynamic",t.ctx,t.chainId),t.cachedFetcherTokens=new Y("vaults/tokens",t.ctx,t.chainId),t}b(t,e);var r=t.prototype;return r.get=function(){var e=v(N.mark((function e(t,r){var n,a,s,i,o,u,c,p,d,l,f,h,m,w,b,y,g,k,A=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.cachedFetcherGet.fetch();case 2:if(!(n=e.sent)){e.next=9;break}if(!t){e.next=8;break}return e.abrupt("return",n.filter((function(e){return t.includes(e.address)})));case 8:return e.abrupt("return",n);case 9:return a=this.yearn.services.meta.vaults().catch((function(e){return console.error(e),Promise.resolve([])})),e.next=12,Promise.all([a,this.getStatic(t,r)]);case 12:return i=(s=e.sent)[0],o=s[1],u=[],e.prev=16,e.next=19,this.getDynamic(t,i,r);case 19:u=e.sent,e.next=30;break;case 22:return e.prev=22,e.t0=e.catch(16),c=o.map((function(e){return e.address})),p=ve(c,30),d=p.map(function(){var e=v(N.mark((function e(t){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",A.getDynamic(t,i,r));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),e.next=29,Promise.all(d).then((function(e){return e.flat()}));case 29:u=e.sent;case 30:return l=this.yearn.strategies.vaultsStrategiesMetadata(u.map((function(e){return e.address}))).catch((function(e){return console.error(e),Promise.resolve([])})),f=this.yearn.earnings.assetsHistoricEarnings().catch((function(e){return console.error(e),Promise.resolve([])})),e.next=34,Promise.all([l,f]);case 34:m=(h=e.sent)[0],w=h[1],b=[],y=function(){var e,t,r=k.value,n=u.find((function(e){return r.address===e.address}));if(!n)throw new P("Dynamic asset does not exist for "+r.address);var a=i.find((function(e){return e.address===r.address}));if(null!=a&&a.hideAlways)return"continue";var s=null!=(e=null==a?void 0:a.order)?e:Math.max();n.metadata.displayName=n.metadata.displayName||r.name,n.metadata.strategies=m.find((function(e){return e.vaultAddress===r.address})),n.metadata.historicEarnings=null==(t=w.find((function(e){return e.assetAddress===r.address})))?void 0:t.dayData,b.push({vault:x({},r,n),order:s})},g=E(o);case 40:if((k=g()).done){e.next=46;break}if("continue"!==y()){e.next=44;break}return e.abrupt("continue",44);case 44:e.next=40;break;case 46:return e.abrupt("return",b.sort((function(e,t){return e.order-t.order})).map((function(e){return e.vault})));case 47:case"end":return e.stop()}}),e,this,[[16,22]])})));return function(t,r){return e.apply(this,arguments)}}(),r.getStatic=function(){var e=v(N.mark((function e(t,r){var n;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=Object.values(this.yearn.services.lens.adapters.vaults),e.next=3,Promise.all(n.map(function(){var e=v(N.mark((function e(n){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,n.assetsStatic(t,r);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())).then((function(e){return e.flat()}));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),r.getDynamic=function(){var e=v(N.mark((function e(t,r,n){var a,s,i,o,u=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.cachedFetcherGetDynamic.fetch();case 2:if(!(a=e.sent)){e.next=5;break}return e.abrupt("return",t?a.filter((function(e){return t.includes(e.address)})):a);case 5:if(!r){e.next=9;break}e.t0=r,e.next=12;break;case 9:return e.next=11,this.yearn.services.meta.vaults().catch((function(e){return console.error(e),Promise.resolve([])}));case 11:e.t0=e.sent;case 12:if(s=e.t0,null==(i=ne[this.chainId])||!i.zapsEnabled){e.next=19;break}return e.next=17,this.yearn.services.portals.supportedVaultAddresses();case 17:s=Me({addressables:s,supportedVaultAddresses:e.sent,zapInType:"portalsZapIn",zapOutType:"portalsZapOut"});case 19:return o=Object.values(this.yearn.services.lens.adapters.vaults),e.next=22,Promise.all(o.map(function(){var e=v(N.mark((function e(r){var a,i;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,r.assetsDynamic(t,n);case 2:return a=e.sent,e.next=5,u.yearn.services.vision.apy(a.map((function(e){return e.address})));case 5:return i=e.sent,e.abrupt("return",a.map((function(e){var t=s.find((function(t){return t.address===e.address}));if(e.metadata.apy=i[e.address],e.tokenId===ie){var r,n=null!=(r=u.yearn.services.asset.icon(se))?r:"";e.metadata.displayIcon=n,e.metadata.displayName="ETH",e.metadata.defaultDisplayToken=se}else{var a,o=null!=(a=u.yearn.services.asset.icon(e.tokenId))?a:"";e.metadata.displayIcon=o;var c=u.yearn.services.asset.alias(e.tokenId);e.metadata.displayName=c?c.symbol:"",e.metadata.defaultDisplayToken=e.tokenId}return t&&u.fillMetadataOverrides(e,t),e})));case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())).then((function(e){return e.flat()}));case 22:return e.abrupt("return",e.sent);case 23:case"end":return e.stop()}}),e,this)})));return function(t,r,n){return e.apply(this,arguments)}}(),r.positionsOf=function(){var e=v(N.mark((function e(t,r,n){var a,s=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=Object.values(this.yearn.services.lens.adapters.vaults),e.next=3,Promise.all(a.map(function(){var e=v(N.mark((function e(a){var i,o,u;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,a.positionsOf(t,r,n);case 3:return e.abrupt("return",e.sent);case 6:if(e.prev=6,e.t0=e.catch(0),!r){e.next=12;break}i=r,e.next=15;break;case 12:return e.next=14,s.getStatic(r,n).then((function(e){return e.map((function(e){return e.address}))}));case 14:i=e.sent;case 15:return o=ve(i,30),u=o.map(function(){var e=v(N.mark((function e(r){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",a.positionsOf(t,r,n));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),e.next=19,Promise.all(u).then((function(e){return e.flat()}));case 19:return e.abrupt("return",e.sent);case 20:case"end":return e.stop()}}),e,null,[[0,6]])})));return function(t){return e.apply(this,arguments)}}())).then((function(e){return e.flat()}));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)})));return function(t,r,n){return e.apply(this,arguments)}}(),r.summaryOf=function(){var e=v(N.mark((function e(t){var r;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.yearn.earnings.accountAssetsData(t);case 2:return e.abrupt("return",{earnings:(r=e.sent).earnings,holdings:r.holdings,grossApy:r.grossApy,estimatedYearlyYield:r.estimatedYearlyYield});case 8:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.metadataOf=function(){var e=v(N.mark((function e(t,r){var n;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.yearn.earnings.accountAssetsData(t);case 2:if(n=e.sent.earningsAssetData,r){e.next=6;break}return e.abrupt("return",n);case 6:return e.abrupt("return",n.filter((function(e){return r.includes(e.assetAddress)})));case 7:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),r.balances=function(){var e=v(N.mark((function e(t,r){var n;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.tokens();case 2:return n=e.sent,e.next=5,this.yearn.services.helper.tokenBalances(t,n.map((function(e){return e.address})),r);case 5:return e.abrupt("return",e.sent.map((function(e){var t=n.find((function(t){return t.address===e.address}));if(!t)throw new P("Token does not exist for Balance("+e.address+")");return x({},e,{token:t})})));case 7:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),r.tokens=function(){var e=v(N.mark((function e(t){var r,n,a=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.cachedFetcherTokens.fetch();case 2:if(!(r=e.sent)){e.next=5;break}return e.abrupt("return",r);case 5:return n=Object.values(this.yearn.services.lens.adapters.vaults),e.next=8,this.yearn.services.asset.ready;case 8:return e.next=10,Promise.all(n.map(function(){var e=v(N.mark((function e(r){var n,s,i,o,u,c;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,r.tokens(t);case 2:return s=a.yearn.services.asset.icon((n=e.sent).concat(se)),i=a.yearn.services.helper.tokens(n,t),o=a.yearn.tokens.metadata(n),e.next=8,Promise.all([i,o]);case 8:return c=(u=e.sent)[1],e.abrupt("return",Promise.all(u[0].map(function(){var e=v(N.mark((function e(r){var n,i,o,u;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=c.find((function(e){return e.address===r.address})),e.t0=x,e.t1={},e.t2=r,e.t3=s[r.address],e.t4={vaults:!0},e.next=8,a.yearn.services.oracle.getPriceUsdc(r.address,t);case 8:return e.t5=e.sent,e.t6=i,e.t7={icon:e.t3,dataSource:"vaults",supported:e.t4,priceUsdc:e.t5,metadata:e.t6},o=(0,e.t0)(e.t1,e.t2,e.t7),(u=null==(n=a.yearn.services.asset.alias(r.address))?void 0:n.symbol)&&(o.symbol=u),i&&a.fillTokenMetadataOverrides(o,i),e.abrupt("return",o);case 16:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())));case 12:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())).then((function(e){return e.flat()}));case 10:return e.abrupt("return",e.sent);case 11:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.getDepositAllowance=function(){var e=v(N.mark((function e(t,r,n,a){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getDepositContractAddress(r,n,a);case 2:return e.abrupt("return",this.yearn.tokens.allowance(t,n,e.sent));case 4:case"end":return e.stop()}}),e,this)})));return function(t,r,n,a){return e.apply(this,arguments)}}(),r.getWithdrawAllowance=function(){var e=v(N.mark((function e(t,r,n,a){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getWithdrawContractAddress(r,n,a);case 2:return e.abrupt("return",this.yearn.tokens.allowance(t,r,e.sent));case 4:case"end":return e.stop()}}),e,this)})));return function(t,r,n,a){return e.apply(this,arguments)}}(),r.populateApproveDeposit=function(){var e=v(N.mark((function e(t,r,n,a,s,i){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getDepositContractAddress(r,n,s);case 2:return e.abrupt("return",this.yearn.tokens.populateApprove(t,n,e.sent,null!=a?a:c.MaxUint256.toString(),i));case 4:case"end":return e.stop()}}),e,this)})));return function(t,r,n,a,s,i){return e.apply(this,arguments)}}(),r.approveDeposit=function(){var e=v(N.mark((function e(t,r,n,a,s,i){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getDepositContractAddress(r,n,s);case 2:return e.abrupt("return",this.yearn.tokens.approve(t,n,e.sent,null!=a?a:c.MaxUint256.toString(),i));case 4:case"end":return e.stop()}}),e,this)})));return function(t,r,n,a,s,i){return e.apply(this,arguments)}}(),r.populateApproveWithdraw=function(){var e=v(N.mark((function e(t,r,n,a,s,i){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getWithdrawContractAddress(r,n,s);case 2:return e.abrupt("return",this.yearn.tokens.populateApprove(t,r,e.sent,null!=a?a:c.MaxUint256.toString(),i));case 4:case"end":return e.stop()}}),e,this)})));return function(t,r,n,a,s,i){return e.apply(this,arguments)}}(),r.approveWithdraw=function(){var e=v(N.mark((function e(t,r,n,a,s,i){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getWithdrawContractAddress(r,n,s);case 2:return e.abrupt("return",this.yearn.tokens.approve(t,r,e.sent,null!=a?a:c.MaxUint256.toString(),i));case 4:case"end":return e.stop()}}),e,this)})));return function(t,r,n,a,s,i){return e.apply(this,arguments)}}(),r.getDepositContractAddress=function(){var e=v(N.mark((function e(t,r,n){var a,s,i,o;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!n){e.next=4;break}return e.next=3,this.yearn.addressProvider.addressById(G.cowProtocolRelayer);case 3:return e.abrupt("return",e.sent);case 4:if(!ue(r)){e.next=6;break}return e.abrupt("return",t);case 6:if(!this.isZappingIntoPickleJar({vault:t})){e.next=11;break}return e.next=10,this.yearn.addressProvider.addressById(G.pickleZapIn);case 10:return e.abrupt("return",e.sent);case 11:return e.next=13,this.isUnderlyingToken(t,r);case 13:if(a=e.sent,s=this.shouldUsePartnerService(t),!a||!s){e.next=22;break}return e.next=18,null==(i=this.yearn.services.partner)?void 0:i.address;case 18:if(o=e.sent){e.next=21;break}throw new P("Partner Tracking Contract Address not defined");case 21:return e.abrupt("return",o);case 22:if(!a){e.next=24;break}return e.abrupt("return",t);case 24:if(!(Q(this.chainId)&&ue(r)&&ce(t))){e.next=28;break}return e.next=27,this.yearn.addressProvider.addressById(G.yearnZapEth);case 27:return e.abrupt("return",e.sent);case 28:return e.next=30,this.yearn.addressProvider.addressById(G.portalsZapIn);case 30:return e.abrupt("return",e.sent);case 31:case"end":return e.stop()}}),e,this)})));return function(t,r,n){return e.apply(this,arguments)}}(),r.getWithdrawContractAddress=function(){var e=v(N.mark((function e(t,r,n){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!n){e.next=4;break}return e.next=3,this.yearn.addressProvider.addressById(G.cowProtocolRelayer);case 3:return e.abrupt("return",e.sent);case 4:return e.next=6,this.isUnderlyingToken(t,r);case 6:if(!e.sent){e.next=9;break}return e.abrupt("return",t);case 9:if(!(Q(this.chainId)&&ue(r)&&ce(t))){e.next=13;break}return e.next=12,this.yearn.addressProvider.addressById(G.yearnZapEth);case 12:return e.abrupt("return",e.sent);case 13:return e.next=15,this.yearn.addressProvider.addressById(G.portalsZapOut);case 15:return e.abrupt("return",e.sent);case 16:case"end":return e.stop()}}),e,this)})));return function(t,r,n){return e.apply(this,arguments)}}(),r.isUnderlyingToken=function(){var e=v(N.mark((function e(t,r){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getStatic([t]);case 2:return e.abrupt("return",e.sent[0].token===r);case 5:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),r.getExpectedTransactionOutcome=function(){var e=v(N.mark((function e(t){var r,n,a,s,i,o,u,c,p,d,l,f,h,v,m,w,x;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.transactionType,n=t.sourceTokenAddress,a=t.targetTokenAddress,s=t.sourceTokenAmount,i=t.accountAddress,o=t.slippageTolerance,(u=t.gasless)||"DEPOSIT"!==r){e.next=5;break}return e.next=4,this.yearn.simulation._deposit(a,n,s,i,{slippage:o});case 4:return e.abrupt("return",e.sent);case 5:if(u||"WITHDRAW"!==r){e.next=9;break}return e.next=8,this.yearn.simulation._withdraw(n,a,s,i,{slippage:o});case 8:return e.abrupt("return",e.sent);case 9:return e.next=11,this.yearn.services.cowSwap.getExpectedTransactionOutcome({sourceTokenAddress:n,targetTokenAddress:a,sourceTokenAmount:s,accountAddress:i});case 11:return p=(c=e.sent).targetTokenAmount,d=c.sourceTokenAmountFee,e.next=16,this.yearn.services.oracle.getNormalizedValueUsdc(n,s);case 16:return l=e.sent,e.next=19,this.yearn.services.oracle.getNormalizedValueUsdc(a,p);case 19:return f=e.sent,e.next=22,this.get([a]);case 22:return m=(v=!!(h=e.sent[0]))?h.token:a,w=v?V(p).div(V(10).pow(h.decimals)).multipliedBy(h.metadata.pricePerShare).toFixed(0):p,x=V(l).eq(0)?0:V(f).div(l).toNumber(),e.abrupt("return",{sourceTokenAddress:n,sourceTokenAmount:s,targetTokenAddress:a,targetTokenAmount:p,targetTokenAmountUsdc:f,targetUnderlyingTokenAddress:m,targetUnderlyingTokenAmount:w,conversionRate:x,slippage:V(1).minus(x).toNumber(),sourceTokenAmountFee:d});case 29:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.deposit=function(){var e=v(N.mark((function e(t,r,n,a,s,i){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===s&&(s={}),void 0===i&&(i={}),e.next=4,this.populateDepositTransaction({vault:t,token:r,amount:n,account:a,options:s,overrides:i});case 4:return e.abrupt("return",this.yearn.services.transaction.sendTransaction(e.sent));case 6:case"end":return e.stop()}}),e,this)})));return function(t,r,n,a,s,i){return e.apply(this,arguments)}}(),r.gaslessDeposit=function(){var e=v(N.mark((function e(t){var r,n,a,s,i,o;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.vaultAddress,n=t.tokenAddress,a=t.tokenAmount,s=t.vaultAmount,i=t.feeAmount,o=t.accountAddress,e.next=3,this.yearn.services.cowSwap.sendOrder({sourceTokenAddress:n,targetTokenAddress:r,sourceTokenAmount:a,targetTokenAmount:s,sourceTokenAmountFee:i,accountAddress:o});case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.withdraw=function(){var e=v(N.mark((function e(t,r,n,a,s,i){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===s&&(s={}),void 0===i&&(i={}),e.next=4,this.populateWithdrawTransaction({vault:t,token:r,amount:n,account:a,options:s,overrides:i});case 4:return e.abrupt("return",this.yearn.services.transaction.sendTransaction(e.sent));case 6:case"end":return e.stop()}}),e,this)})));return function(t,r,n,a,s,i){return e.apply(this,arguments)}}(),r.gaslessWithdraw=function(){var e=v(N.mark((function e(t){var r,n,a,s,i,o;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.vaultAddress,n=t.tokenAddress,a=t.vaultAmount,s=t.tokenAmount,i=t.feeAmount,o=t.accountAddress,e.next=3,this.yearn.services.cowSwap.sendOrder({sourceTokenAddress:r,targetTokenAddress:n,sourceTokenAmount:a,targetTokenAmount:s,sourceTokenAmountFee:i,accountAddress:o});case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.getInfo=function(){var e=v(N.mark((function e(t){var r,n;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=["string name","string symbol","string apiVersion","bool emergencyShutdown","uint256 lastReport","uint256 managementFee","uint256 performanceFee","uint256 totalAssets","uint256 depositLimit","uint256 debtRatio","address management","address governance","address guardian","address rewards"].map((function(e){return u.ParamType.from(e)})),e.next=3,this.yearn.services.propertiesAggregator.getProperties(t,r);case 3:return e.abrupt("return",{name:(n=e.sent).name,symbol:n.symbol,apiVersion:n.apiVersion,emergencyShutdown:n.emergencyShutdown,lastReport:new Date(n.lastReport.mul(p.BigNumber.from(1e3)).toNumber()),managementFee:n.managementFee,performanceFee:n.performanceFee,totalAssets:n.totalAssets,depositLimit:n.depositLimit,debtRatio:n.debtRatio,management:n.management,governance:n.governance,guardian:n.guardian,rewards:n.rewards});case 5:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.zapIn=function(){var e=v(N.mark((function e(t,r,n,a,s,i,o){var u,c,d,l;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===s&&(s={}),void 0!==s.slippage){e.next=5;break}throw new P("zap operations should have a slippage set");case 5:if(!(Q(this.chainId)&&ue(r)&&ce(t))){e.next=9;break}return e.next=8,this.yearn.services.zapEth.zapIn(t,r,n,a);case 8:return e.abrupt("return",e.sent);case 9:return e.next=11,this.yearn.services.portals.zapIn(t,r,n,a,s.slippage,null==(u=!s.skipGasEstimate)||u,null==(c=this.yearn.services.partner)?void 0:c.partnerId);case 11:return l={to:(d=e.sent).to,from:d.from,data:d.data,value:d.value?p.BigNumber.from(d.value):void 0,gasLimit:d.gasLimit?p.BigNumber.from(d.gasLimit):void 0},e.abrupt("return",l);case 14:case"end":return e.stop()}}),e,this)})));return function(t,r,n,a,s,i,o){return e.apply(this,arguments)}}(),r.fillTokenMetadataOverrides=function(e,t){t.tokenIconOverride&&(e.icon=t.tokenIconOverride),t.tokenSymbolOverride&&(e.symbol=t.tokenSymbolOverride),t.tokenNameOverride&&(e.name=t.tokenNameOverride)},r.fillMetadataOverrides=function(e,t){t.displayName&&(e.metadata.displayName=t.displayName),t.vaultSymbolOverride&&(e.metadata.symbol=t.vaultSymbolOverride),t.vaultIconOverride&&(e.metadata.displayIcon=t.vaultIconOverride),t.apyTypeOverride&&(e.metadata.apy||(e.metadata.apy=this.makeEmptyApy()),e.metadata.apy.type=t.apyTypeOverride),t.apyOverride&&(e.metadata.apy||(e.metadata.apy=this.makeEmptyApy()),e.metadata.apy.net_apy=t.apyOverride,e.metadata.apy.type="override"),e.metadata.depositsDisabled=t.depositsDisabled,e.metadata.withdrawalsDisabled=t.withdrawalsDisabled,e.metadata.allowZapIn=t.allowZapIn,e.metadata.allowZapOut=t.allowZapOut,e.metadata.zapInWith=t.zapInWith,e.metadata.zapOutWith=t.zapOutWith,e.metadata.migrationContract=t.migrationContract,e.metadata.migrationTargetVault=t.migrationTargetVault,e.metadata.vaultNameOverride=t.vaultNameOverride,e.metadata.vaultDetailPageAssets=t.vaultDetailPageAssets,e.metadata.classification=t.classification,e.metadata.hideIfNoDeposits=e.metadata.emergencyShutdown||t.retired||t.migrationAvailable||!1,e.metadata.migrationAvailable=e.metadata.migrationAvailable||t.migrationAvailable||!1},r.shouldUsePartnerService=function(e){var t;return!(null==(t=this.yearn.services.partner)||!t.isAllowed(e))},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 e=v(N.mark((function e(t){var r,n,a,s,o,u,c,p,d,l,f,h;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.token,a=t.amount,s=t.account,u=void 0===(o=t.options)?{}:o,p=void 0===(c=t.overrides)?{}:c,!this.isZappingIntoPickleJar({vault:r=t.vault})){e.next=3;break}return e.abrupt("return",this.zapIn(r,n,a,s,u,exports.ZapProtocol.PICKLE,p));case 3:return e.next=5,this.isUnderlyingToken(r,n);case 5:if(e.sent){e.next=8;break}return e.abrupt("return",this.zapIn(r,n,a,s,u,exports.ZapProtocol.YEARN,p));case 8:if(!this.shouldUsePartnerService(r)){e.next=13;break}if(l=null==(d=this.yearn.services.partner)?void 0:d.populateDepositTransaction(r,a,p)){e.next=12;break}throw new P("deposit transaction failed");case 12:return e.abrupt("return",l);case 13:return f=this.ctx.provider.write.getSigner(s),h=new i.Contract(r,We,f),e.abrupt("return",h.populateTransaction.deposit(a,p));case 16:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.populateWithdrawTransaction=function(){var e=v(N.mark((function e(t){var r,n,a,s,o,u,c,d,l,f,h,v,m;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.vault,a=t.token,s=t.amount,c=void 0===(u=t.options)?{}:u,l=void 0===(d=t.overrides)?{}:d,f=this.ctx.provider.write.getSigner(o=t.account),e.next=4,this.isUnderlyingToken(n,a);case 4:if(!e.sent){e.next=10;break}return h=new i.Contract(n,We,f),e.next=9,h.populateTransaction.withdraw(s,l);case 9:return e.abrupt("return",e.sent);case 10:if(void 0!==c.slippage){e.next=12;break}throw new P("zap operations should have a slippage set");case 12:if(!(Q(this.chainId)&&ue(a)&&ce(n))){e.next=16;break}return e.next=15,this.yearn.services.zapEth.zapOut(n,a,s,o);case 15:return e.abrupt("return",e.sent);case 16:return e.next=18,this.yearn.services.portals.zapOut(n,a,s,o,c.slippage,null==(r=!c.skipGasEstimate)||r,c.signature);case 18:return m={to:(v=e.sent).to,from:v.from,data:v.data,value:v.value?p.BigNumber.from(v.value):void 0,gasLimit:v.gasLimit?p.BigNumber.from(v.gasLimit):void 0},e.abrupt("return",m);case 21:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.isZappingIntoPickleJar=function(e){return Ie.includes(e.vault)},t}(H),Ye=j(126144e3),qe=["function locked(address arg0) public view returns (tuple(uint256 amount, uint256 end))","function modify_lock(uint256 amount, uint256 unlock_time, address user) public returns (tuple(uint256 amount, uint256 end))","function withdraw() public returns (tuple(uint256 amount, uint256 penalty))"],He=["function claim(address user, bool relock) public returns (uint256)"],Ke=function(e){function t(){return e.apply(this,arguments)||this}b(t,e);var r=t.prototype;return r.get=function(){var e=v(N.mark((function e(t){var r,n,a,s,i,o,u;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.addresses,e.next=3,this.getSupportedAddresses({addresses:r});case 3:return n=e.sent,e.next=6,this.getStatic({addresses:n});case 6:return a=e.sent,e.next=9,this.getDynamic({addresses:n});case 9:return s=e.sent,i=z(a,"address"),o=z(s,"address"),u=n.map((function(e){return x({},i[e],o[e])})),e.abrupt("return",u);case 14:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.getStatic=function(){var e=v(N.mark((function e(t){var r,n,a,s,i=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.addresses,e.next=3,this.getSupportedAddresses({addresses:r});case 3:return n=e.sent,a=["address token","string name","string symbol","uint256 decimals"].map((function(e){return u.ParamType.from(e)})),s=n.map(function(){var e=v(N.mark((function e(t){var r,n;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,i.yearn.services.propertiesAggregator.getProperties(t,a);case 2:return n={address:t,typeId:"VOTING_ESCROW",token:(r=e.sent).token,name:r.name,version:"1",symbol:r.symbol,decimals:r.decimals.toString()},e.abrupt("return",n);case 9:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),e.abrupt("return",Promise.all(s));case 7:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.getDynamic=function(){var e=v(N.mark((function e(t){var r,n,a,s,i=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.addresses,e.next=3,this.getSupportedAddresses({addresses:r});case 3:return n=e.sent,a=["address token","uint256 supply","address reward_pool"].map((function(e){return u.ParamType.from(e)})),s=n.map(function(){var e=v(N.mark((function e(t){var r,n,s,o,u,c;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,i.yearn.services.propertiesAggregator.getProperties(t,a);case 2:return n=(r=e.sent).token,s=r.reward_pool,o=r.supply.toString(),e.next=9,i.yearn.services.oracle.getPriceUsdc(n);case 9:return u=e.sent,c={amount:o,amountUsdc:V(o).times(Z({amount:u,decimals:6})).toFixed(0)},e.abrupt("return",{address:t,typeId:"VOTING_ESCROW",tokenId:n,underlyingTokenBalance:c,metadata:{rewardPool:s}});case 13:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),e.abrupt("return",Promise.all(s));case 7:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.positionsOf=function(){var e=v(N.mark((function e(t){var r,n,a,s,o,u,c,p,d=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.accountAddress,n=t.addresses,e.next=3,this.get({addresses:n});case 3:return s=(a=e.sent).map((function(e){return e.address})),o=a.map((function(e){return e.token})),e.next=8,this.yearn.services.helper.tokenBalances(r,s);case 8:return u=z(e.sent,"address"),e.next=12,this.yearn.services.helper.tokenPrices(o);case 12:return c=z(e.sent,"address"),p=a.map(function(){var e=v(N.mark((function e(t){var n,a,s,o,p,l,f,h,v,m,w;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=t.metadata,o=u[n=t.address].balance,p=c[a=t.token].priceUsdc,l=new i.Contract(n,qe,d.ctx.provider.read),e.next=6,l.locked(r);case 6:return f=e.sent.amount.toString(),h={assetAddress:n,tokenAddress:a,typeId:"DEPOSIT",balance:o,underlyingTokenBalance:{amount:f,amountUsdc:V(f).times(Z({amount:p,decimals:6})).toFixed(0)},assetAllowances:[],tokenAllowances:[]},v=new i.Contract(s.rewardPool,He,d.ctx.provider.read),e.next=12,v.callStatic.claim(r,!1);case 12:return m=e.sent.toString(),w={assetAddress:n,tokenAddress:a,typeId:"YIELD",balance:m,underlyingTokenBalance:{amount:m,amountUsdc:V(m).times(Z({amount:p,decimals:6})).toFixed(0)},assetAllowances:[],tokenAllowances:[]},e.abrupt("return",[h,w]);case 16:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),e.next=17,Promise.all(p);case 17:return e.abrupt("return",e.sent.flat().filter((function(e){var t=e.underlyingTokenBalance;return V(e.balance).gt(0)||V(t.amount).gt(0)})));case 19:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.metadataOf=function(){var e=v(N.mark((function e(t){var r,n,a,s=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.accountAddress,n=t.addresses,e.next=3,this.get({addresses:n});case 3:return a=e.sent.map(function(){var e=v(N.mark((function e(t){var n,a,o,u,c,p,d;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.address,a=s.ctx.provider.write.getSigner(r),o=new i.Contract(n,qe,a),e.next=5,o.locked(r);case 5:if(l=e.sent.end.toNumber(),!((u=1e3*l)>=Date.now())){e.next=14;break}return c=u,e.next=12,o.callStatic.withdraw();case 12:p=V((d=e.sent).penalty.toString()).div(V(d.penalty.toString()).plus(d.amount.toString())).toNumber();case 14:return e.abrupt("return",{assetAddress:n,unlockDate:c,earlyExitPenaltyRatio:p});case 15:case"end":return e.stop()}var l}),e)})));return function(t){return e.apply(this,arguments)}}()),e.abrupt("return",Promise.all(a));case 6:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.balances=function(){var e=v(N.mark((function e(t){var r,n,a,s,i,o;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.accountAddress,n=t.addresses,e.next=3,this.get({addresses:n});case 3:return a=e.sent.map((function(e){return e.token})),e.next=7,this.yearn.services.helper.tokens(a);case 7:return s=z(e.sent,"address"),e.next=11,this.yearn.services.helper.tokenBalances(r,a);case 11:return i=z(e.sent,"address"),o=a.map((function(e){var t=i[e];return{address:r,token:s[e],balance:t.balance,balanceUsdc:t.balanceUsdc,priceUsdc:t.priceUsdc}})),e.abrupt("return",o);case 15:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.getExpectedTransactionOutcome=function(){var e=v(N.mark((function e(t){var r,n,a,s,o,u,c,p,d,l,f,h,v;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:a=t.votingEscrowTransactionType,s=t.tokenAddress,o=t.votingEscrowAddress,u=t.amount,c=t.time,p=this.ctx.provider.write.getSigner(n=t.accountAddress),d=new i.Contract(o,qe,p),l="0",e.t0=a,e.next="LOCK"===e.t0?7:"ADD"===e.t0?15:"EXTEND"===e.t0?21:27;break;case 7:if(u){e.next=9;break}throw new Error("'amount' argument missing");case 9:if(c){e.next=11;break}throw new Error("'time' argument missing");case 11:return e.next=13,d.callStatic.modify_lock(u,c,n);case 13:return f=e.sent,e.abrupt("break",28);case 15:if(u){e.next=17;break}throw new Error("'amount' argument missing");case 17:return e.next=19,d.callStatic.modify_lock(u,"0",n);case 19:return f=e.sent,e.abrupt("break",28);case 21:if(c){e.next=23;break}throw new Error("'time' argument missing");case 23:return e.next=25,d.callStatic.modify_lock("0",c,n);case 25:return f=e.sent,e.abrupt("break",28);case 27:throw new Error(a+" not supported");case 28:return l=this.getVotingPower(f.amount.toString(),f.end.toNumber()),e.next=31,this.yearn.tokens.findByAddress(s);case 31:return h=e.sent,v=V(u).times(Z({amount:null!=(r=null==h?void 0:h.priceUsdc)?r:"0",decimals:6})).toFixed(0),e.abrupt("return",{sourceTokenAddress:s,sourceTokenAmount:null!=u?u:"0",sourceTokenAmountUsdc:v,targetTokenAddress:o,targetTokenAmount:l,targetTokenAmountUsdc:v});case 34:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.tokens=function(){var e=v(N.mark((function e(t){var r,n,a,s,i,o,u;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.addresses,e.next=3,this.get({addresses:r});case 3:return n=e.sent.map((function(e){return e.token})),e.next=7,this.yearn.services.helper.tokens(n);case 7:return a=z(e.sent,"address"),e.next=11,this.yearn.services.asset.icon(n);case 11:return s=e.sent,e.next=14,this.yearn.services.helper.tokenPrices(n);case 14:return i=z(e.sent,"address"),e.next=18,this.yearn.tokens.metadata(n);case 18:return o=z(e.sent,"address"),u=n.map((function(e){return x({},a[e],{icon:s[e],priceUsdc:i[e].priceUsdc,dataSource:"votingEscrows",supported:{votingEscrows:!0},metadata:o[e]})})),e.abrupt("return",u);case 22:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.getLockAllowance=function(){var e=v(N.mark((function e(t){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.yearn.tokens.allowance(t.accountAddress,t.tokenAddress,t.votingEscrowAddress));case 2:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.approveLock=function(){var e=v(N.mark((function e(t){var r,n,a,s,i,o,u,p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.accountAddress,n=t.tokenAddress,a=t.votingEscrowAddress,s=t.amount,i=t.populate,u=void 0===(o=t.overrides)?{}:o,e.next=3,this.yearn.tokens.populateApprove(r,n,a,null!=s?s:c.MaxUint256.toString(),u);case 3:if(p=e.sent,!i){e.next=6;break}return e.abrupt("return",p);case 6:return e.abrupt("return",this.yearn.services.transaction.sendTransaction(p));case 7:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.lock=function(){var e=v(N.mark((function e(t){var r,n,a,s,o,u,c,p,d,l;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.votingEscrowAddress,a=t.amount,s=t.time,o=t.populate,c=void 0===(u=t.overrides)?{}:u,p=this.ctx.provider.write.getSigner(r=t.accountAddress),d=new i.Contract(n,qe,p),e.next=5,d.populateTransaction.modify_lock(a,s,r,c);case 5:if(l=e.sent,!o){e.next=8;break}return e.abrupt("return",l);case 8:return e.abrupt("return",this.yearn.services.transaction.sendTransaction(l));case 9:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.increaseLockAmount=function(){var e=v(N.mark((function e(t){var r,n,a,s,o,u,c,p,d;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.votingEscrowAddress,a=t.amount,s=t.populate,u=void 0===(o=t.overrides)?{}:o,c=this.ctx.provider.write.getSigner(r=t.accountAddress),p=new i.Contract(n,qe,c),e.next=5,p.populateTransaction.modify_lock(a,"0",r,u);case 5:if(d=e.sent,!s){e.next=8;break}return e.abrupt("return",d);case 8:return e.abrupt("return",this.yearn.services.transaction.sendTransaction(d));case 9:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.extendLockTime=function(){var e=v(N.mark((function e(t){var r,n,a,s,o,u,c,p,d;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.votingEscrowAddress,a=t.time,s=t.populate,u=void 0===(o=t.overrides)?{}:o,c=this.ctx.provider.write.getSigner(r=t.accountAddress),p=new i.Contract(n,qe,c),e.next=5,p.populateTransaction.modify_lock("0",a,r,u);case 5:if(d=e.sent,!s){e.next=8;break}return e.abrupt("return",d);case 8:return e.abrupt("return",this.yearn.services.transaction.sendTransaction(d));case 9:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.withdrawUnlocked=function(){var e=v(N.mark((function e(t){var r,n,a,s,o,u,c;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.votingEscrowAddress,n=t.populate,s=void 0===(a=t.overrides)?{}:a,o=this.ctx.provider.write.getSigner(t.accountAddress),u=new i.Contract(r,qe,o),e.next=5,u.callStatic.withdraw();case 5:if(!V(e.sent.penalty.toString()).gt(0)){e.next=9;break}throw new Error("Tokens are not yet unlocked");case 9:return e.next=11,u.populateTransaction.withdraw(s);case 11:if(c=e.sent,!n){e.next=14;break}return e.abrupt("return",c);case 14:return e.abrupt("return",this.yearn.services.transaction.sendTransaction(c));case 15:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.withdrawLocked=function(){var e=v(N.mark((function e(t){var r,n,a,s,o,u,c;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.votingEscrowAddress,n=t.populate,s=void 0===(a=t.overrides)?{}:a,o=this.ctx.provider.write.getSigner(t.accountAddress),u=new i.Contract(r,qe,o),e.next=5,u.populateTransaction.withdraw(s);case 5:if(c=e.sent,!n){e.next=8;break}return e.abrupt("return",c);case 8:return e.abrupt("return",this.yearn.services.transaction.sendTransaction(c));case 9:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.claimRewards=function(){var e=v(N.mark((function e(t){var r,n,a,s,o,u,c,p,d;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.accountAddress,n=t.votingEscrowAddress,a=t.populate,o=void 0===(s=t.overrides)?{}:s,e.next=3,this.get({addresses:[n]});case 3:return u=e.sent[0],c=this.ctx.provider.write.getSigner(r),p=new i.Contract(u.metadata.rewardPool,He,c),e.next=9,p.populateTransaction.claim(r,!1,o);case 9:if(d=e.sent,!a){e.next=12;break}return e.abrupt("return",d);case 12:return e.abrupt("return",this.yearn.services.transaction.sendTransaction(d));case 13:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.getSupportedAddresses=function(){var e=v(N.mark((function e(t){var r,n,a;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.addresses,e.next=3,this.yearn.addressProvider.addressById(G.veYfi);case 3:return n=[e.sent],a=r?r.filter((function(e){return n.includes(e)})):n,e.abrupt("return",a);case 7:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.getVotingPower=function(e,t){var r,n=j(t)-(r=Date.now(),Math.floor(r/1e3));return n<=0?"0":n>=Ye?e:V(e).div(Ye).decimalPlaces(0,1).times(n).toString()},t}(H),Je="tuple(\n address address,\n string typeId,\n address token,\n string name,\n string version,\n string symbol,\n uint8 decimals,\n)",$e=function(e){return"tuple(\n address address, \n string typeId,\n address tokenId,\n tuple(uint256 amount, uint256 amountUsdc) underlyingTokenBalance,\n "+e+" metadata\n)"},Qe="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)",Xe=function(e){return["function assetsStatic() public view returns ("+Je+"[] memory)","function assetsStatic(address[] memory) public view returns ("+Je+"[] memory)","function assetsDynamic() public view returns ("+$e(e)+"[] memory)","function assetsDynamic(address[] memory) public view returns ("+$e(e)+"[] memory)","function assetsPositionsOf(address) public view returns ("+Qe+"[] memory)","function assetsPositionsOf(address, address[] memory) public view returns ("+Qe+"[] memory)","function assetsTokensAddresses() public view returns (address[] memory)"]};function et(e){return e.map((function(e){return function e(t){if("object"!=typeof t)return t;var r=Object.keys(t).filter((function(e){return isNaN(Number(e))}));if(0===r.length)return et(t);var n={};return r.forEach((function(r){var a=t[r];n[r]="object"!=typeof a||l.isBigNumberish(a)?Array.isArray(a)?a:l.isBigNumberish(a)?a.toString():a:e(a)})),n}(e)}))}var tt=function(e){function t(){return e.apply(this,arguments)||this}b(t,e);var r=t.prototype;return r.assetsStatic=function(){var e=v(N.mark((function e(t,r){var n;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r={}),e.next=3,this.contract;case 3:if(n=e.sent,!t){e.next=6;break}return e.abrupt("return",n.read["assetsStatic(address[])"](t,r).then(et));case 6:return e.abrupt("return",n.read["assetsStatic()"]().then(et));case 7:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),r.assetsDynamic=function(){var e=v(N.mark((function e(t,r){var n;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r={}),e.next=3,this.contract;case 3:if(n=e.sent,!t){e.next=6;break}return e.abrupt("return",n.read["assetsDynamic(address[])"](t,r).then(et).then((function(e){return e.map((function(e){return x({},e,{metadata:x({controller:ae,totalAssets:"0",totalSupply:"0"},e.metadata)})}))})));case 6:return e.abrupt("return",n.read["assetsDynamic()"]().then(et).then((function(e){return e.map((function(e){return x({},e,{metadata:x({controller:ae,totalAssets:"0",totalSupply:"0"},e.metadata)})}))})));case 7:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),r.positionsOf=function(){var e=v(N.mark((function e(t,r,n){var a;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===n&&(n={}),e.next=3,this.contract;case 3:if(a=e.sent,!r){e.next=6;break}return e.abrupt("return",a.read["assetsPositionsOf(address,address[])"](t,r,n).then(et));case 6:return e.abrupt("return",a.read["assetsPositionsOf(address)"](t,n).then(et));case 7:case"end":return e.stop()}}),e,this)})));return function(t,r,n){return e.apply(this,arguments)}}(),r.tokens=function(){var e=v(N.mark((function e(t){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===t&&(t={}),e.next=3,this.contract;case 3:return e.abrupt("return",e.sent.read.assetsTokensAddresses(t));case 5:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),w(t,[{key:"contract",get:function(){return this._getContract(t.abi,t.contractId,this.ctx)}}]),t}(J);tt.abi=Xe("tuple(\n uint256 pricePerShare,\n bool migrationAvailable,\n address latestVaultAddress,\n uint256 depositLimit,\n bool emergencyShutdown\n)"),tt.contractId=G.adapter_registry_v2;var rt=function(e,t){return"https://raw.githack.com/yearn/yearn-assets/master/icons/multichain-tokens/"+t+"/"+e+"/logo-128.png"},nt=function(e,t){return"https://raw.githack.com/yearn/yearn-assets/master/icons/multichain-tokens/"+t+"/"+e+"/logo-alt-128.png"},at=function(e){return"https://raw.githack.com/trustwallet/assets/master/blockchains/ethereum/assets/"+e+"/logo.png"},st=function(e){function t(t,r,n){var a;return(a=e.call(this,t,r)||this).alts=[ie],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}b(t,e),t.deserializeState=function(e){var t=JSON.parse(e);return{supported:new Map(JSON.parse(t.supported)),aliases:new Map(JSON.parse(t.aliases))}};var r=t.prototype;return r.makeSerializedState=function(){var e=v(N.mark((function e(){var t,r;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.ready;case 2:return t=JSON.stringify(Array.from(this.supported.entries())),r=JSON.stringify(Array.from(this.aliases.entries())),e.abrupt("return",JSON.stringify({supported:t,aliases:r}));case 5:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),r.initialize=function(){var e=v(N.mark((function e(){var t,r,n,a,s,i,o,u,c;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!Q(this.chainId)){e.next=9;break}return e.next=3,d("https://raw.githubusercontent.com/yearn/yearn-assets/master/icons/aliases.json").then(de).then((function(e){return e.json()})).catch((function(e){return console.error(e),[]}));case 3:for(t=E(e.sent);!(r=t()).done;)this.aliases.set((n=r.value).address,n);return e.next=7,d("https://raw.githack.com/trustwallet/assets/master/blockchains/ethereum/tokenlist.json").then(de).then((function(e){return e.json()})).then((function(e){return e.tokens})).catch((function(e){return console.error(e),[]}));case 7:for(a=E(e.sent);!(s=a()).done;)this.supported.set((i=s.value).address,at(i.address));case 9:return e.next=11,d((p=this.chainId,"https://api.github.com/repos/yearn/yearn-assets/contents/icons/multichain-tokens/"+p)).then(de).then((function(e){return e.json()})).catch((function(e){return console.error(e),[]}));case 11:for(o=E(e.sent);!(u=o()).done;)this.supported.set((c=u.value).name,rt(c.name,this.chainId)),this.alts.includes(c.name)?this.supported.set(c.name,nt(c.name,this.chainId)):this.supported.set(c.name,rt(c.name,this.chainId));case 13:case"end":return e.stop()}var p}),e,this)})));return function(){return e.apply(this,arguments)}}(),r.icon=function(e){var t=this;return Array.isArray(e)?Object.fromEntries(e.map((function(e){return[e,t.supported.get(e)]}))):this.supported.get(e)},r.alias=function(e){var t=this;return Array.isArray(e)?Object.fromEntries(e.map((function(e){return[e,t.aliases.get(e)]}))):this.aliases.get(e)},t}(q),it=function(e){function t(t,r,n){var a;return(a=e.call(this,t,r)||this).addressProvider=n,a}return b(t,e),w(t,[{key:"adapters",get:function(){return{vaults:{v2:new tt(this.chainId,this.ctx,this.addressProvider)}}}}]),t}(q),ot=function(e){function t(){return e.apply(this,arguments)||this}b(t,e);var r=t.prototype;return r.getCalculations=function(){var e=v(N.mark((function e(t){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===t&&(t={}),e.next=3,this.contract;case 3:return e.abrupt("return",e.sent.read.calculations(t));case 5:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.getPriceUsdc=function(){var e=v(N.mark((function e(t,r){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r={}),e.next=3,this.contract;case 3:return e.abrupt("return",e.sent.read.getPriceUsdcRecommended(t,r).then(he));case 5:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),r.getNormalizedValueUsdc=function(){var e=v(N.mark((function e(t,r,n){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===n&&(n={}),e.next=3,this.contract;case 3:return e.abrupt("return",e.sent.read.getNormalizedValueUsdc(t,r,n).then(he));case 5:case"end":return e.stop()}}),e,this)})));return function(t,r,n){return e.apply(this,arguments)}}(),r.getUsdcAddress=function(){var e=v(N.mark((function e(t){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===t&&(t={}),e.next=3,this.contract;case 3:return e.abrupt("return",e.sent.read.usdcAddress(t));case 5:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.isCurveLpToken=function(){var e=v(N.mark((function e(t,r){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r={}),e.next=3,this.contract;case 3:return e.abrupt("return",e.sent.read.isCurveLpToken(t,r));case 5:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),r.getCurvePriceUsdc=function(){var e=v(N.mark((function e(t,r){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r={}),e.next=3,this.contract;case 3:return e.abrupt("return",e.sent.read.getCurvePriceUsdc(t,r).then(he));case 5:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),r.getBasePrice=function(){var e=v(N.mark((function e(t,r){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r={}),e.next=3,this.contract;case 3:return e.abrupt("return",e.sent.read.getBasePrice(t,r).then(he));case 5:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),r.getVirtualPrice=function(){var e=v(N.mark((function e(t,r){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r={}),e.next=3,this.contract;case 3:return e.abrupt("return",e.sent.read.getVirtualPrice(t,r).then(he));case 5:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),r.getCurveRegistryAddress=function(){var e=v(N.mark((function e(t){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===t&&(t={}),e.next=3,this.contract;case 3:return e.abrupt("return",e.sent.read.usdcAddress(t).then(he));case 5:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.isIronBankMarket=function(){var e=v(N.mark((function e(t,r){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r={}),e.next=3,this.contract;case 3:return e.abrupt("return",e.sent.read.isIronBankMarket(t,r));case 5:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),r.getIronBankMarketPriceUsdc=function(){var e=v(N.mark((function e(t,r){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r={}),e.next=3,this.contract;case 3:return e.abrupt("return",e.sent.read.getIronBankMarketPriceUsdc(t,r).then(he));case 5:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),r.getIronBankMarkets=function(){var e=v(N.mark((function e(t){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===t&&(t={}),e.next=3,this.contract;case 3:return e.abrupt("return",e.sent.read.getIronBankMarkets(t));case 5:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.isLpToken=function(){var e=v(N.mark((function e(t,r){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r={}),e.next=3,this.contract;case 3:return e.abrupt("return",e.sent.read.isLpToken(t,r));case 5:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),r.getPriceFromRouter=function(){var e=v(N.mark((function e(t,r,n){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===n&&(n={}),e.next=3,this.contract;case 3:return e.abrupt("return",e.sent.read.getPriceFromRouter(t,r,n).then(he));case 5:case"end":return e.stop()}}),e,this)})));return function(t,r,n){return e.apply(this,arguments)}}(),r.getPriceFromRouterUsdc=function(){var e=v(N.mark((function e(t,r){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r={}),e.next=3,this.contract;case 3:return e.abrupt("return",e.sent.read.getPriceFromRouterUsdc(t,r).then(he));case 5:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),r.getLpTokenTotalLiquidityUsdc=function(){var e=v(N.mark((function e(t,r){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r={}),e.next=3,this.contract;case 3:return e.abrupt("return",e.sent.read.getLpTokenTotalLiquidityUsdc(t,r).then(he));case 5:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),r.getLpTokenPriceUsdc=function(){var e=v(N.mark((function e(t,r){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r={}),e.next=3,this.contract;case 3:return e.abrupt("return",e.sent.read.getLpTokenPriceUsdc(t,r).then(he));case 5:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),w(t,[{key:"contract",get:function(){return this._getContract(t.abi,t.contractId,this.ctx)}}]),t}(J);ot.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)"],ot.contractId=G.oracle;var ut=function(e){function t(){return e.apply(this,arguments)||this}b(t,e);var r=t.prototype;return r.getProperty=function(){var e=v(N.mark((function e(t,r){var n,a;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.contract;case 2:return n=e.sent,e.next=5,n.read.getProperty(t,r.name);case 5:return a=u.defaultAbiCoder.decode([r.type],e.sent)[0],e.abrupt("return",Promise.resolve(a));case 8:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),r.getProperties=function(){var e=v(N.mark((function e(t,r){var n,a,s,i;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.contract;case 2:return n=e.sent,a=r.map((function(e){return e.name})),e.next=6,n.read.getProperties(t,a);case 6:return s=e.sent,i={},r.forEach((function(e,t){var r=u.defaultAbiCoder.decode([e.type],s[t])[0];i[e.name]=r})),e.abrupt("return",Promise.resolve(i));case 10:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),w(t,[{key:"contract",get:function(){return this._getContract(t.abi,t.contractId,this.ctx)}}]),t}(J);ut.abi=["function getProperty(address target, string calldata name) public view returns (bytes memory)","function getProperties(address target, string[] calldata names) public view returns (bytes[] memory)"],ut.contractId=G.propertiesAggregator;var ct=function(e){function t(t,r){var n,a,s,i,o,u,c;switch(c=e.call(this,t,r)||this,t){case 1:case 1337:c.yearnSubgraphEndpoint=null==(n=r.subgraph)?void 0:n.mainnetSubgraphEndpoint;break;case 10:c.yearnSubgraphEndpoint=(null==(a=r.subgraph)?void 0:a.optimismSubgraphEndpoint)||"https://api.thegraph.com/subgraphs/name/yearn/yearn-vaults-v2-optimism";break;case 250:c.yearnSubgraphEndpoint=(null==(s=r.subgraph)?void 0:s.fantomSubgraphEndpoint)||"https://api.thegraph.com/subgraphs/name/yearn/yearn-vaults-v2-fantom";break;case 2300:c.yearnSubgraphEndpoint=(null==(i=r.subgraph)?void 0:i.fantomSubgraphEndpoint)||"https://api.thegraph.com/subgraphs/name/yearn/yearn-vaults-v2-fantom";break;case 56:c.yearnSubgraphEndpoint=(null==(o=r.subgraph)?void 0:o.fantomSubgraphEndpoint)||"https://api.thegraph.com/subgraphs/name/yearn/yearn-vaults-v2-fantom";break;case 42161:c.yearnSubgraphEndpoint=(null==(u=r.subgraph)?void 0:u.arbitrumSubgraphEndpoint)||"https://api.thegraph.com/subgraphs/name/yearn/yearn-vaults-v2-arbitrum";break;default:throw new P("No subgraph name for chain "+t)}return c}return b(t,e),t.prototype.fetchQuery=function(){var e=v(N.mark((function e(t,r){var n;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===r&&(r={}),this.yearnSubgraphEndpoint){e.next=3;break}throw new P("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(e){var t=r[e];if("string"==typeof t)r[e]=t.toLowerCase();else if(Array.isArray(t))for(var n,a=E(t.entries());!(n=a()).done;){var s=n.value,i=s[1];"string"==typeof i&&(t[s[0]]=i.toLowerCase())}})),n={query:t,variables:r},e.next=7,fetch(this.yearnSubgraphEndpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)}).then((function(e){return e.json()})).then((function(e){if(e.errors)throw new P("Subgraph Error - "+JSON.stringify(e.errors));return e}));case 7:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),t}(q),pt=function(e){function t(){return e.apply(this,arguments)||this}return b(t,e),t.prototype.sendMessage=function(e){if(this.ctx.simulation.telegramChatId&&this.ctx.simulation.telegramBotId){var t=new URLSearchParams({chat_id:this.ctx.simulation.telegramChatId,text:e,disable_web_page_preview:"true"});fetch("https://api.telegram.org/bot"+this.ctx.simulation.telegramBotId+"/sendMessage?"+t)}},t}(q),dt=function(e){function t(){return e.apply(this,arguments)||this}return b(t,e),t.prototype.apy=function(){var e=v(N.mark((function e(t){var r,n,a,s,i,o,u;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r="https://api.yearn.finance/v1/chains/"+this.chainId+"/vaults/all",e.next=3,fetch(r).then(de).then((function(e){return e.json()}));case 3:if(n=(n=e.sent).map((function(e){return e.apy&&"backscratcher"===e.apy.type?x({},e,{apy:(t=e.apy,t?x({},t,{composite:t.composite?x({},t.composite,{boost:t.composite.boost?t.composite.boost:t.composite.currentBoost,pool_apy:t.composite.pool_apy?t.composite.pool_apy:t.composite.poolApy,boosted_apr:t.composite.boosted_apr?t.composite.boosted_apr:t.composite.boostedApy,base_apr:t.composite.base_apr?t.composite.base_apr:t.composite.baseApy}):null}):void 0)}):e;var t})),!Array.isArray(t)){e.next=12;break}for(a=new Map,s=function(){var e=o.value,t=n.find((function(t){return t.address===e}));a.set(e,t?t.apy:void 0)},i=E(t);!(o=i()).done;)s();return e.abrupt("return",Object.fromEntries(a));case 12:if(!t){e.next=19;break}if(u=n.find((function(e){return e.address===t}))){e.next=16;break}return e.abrupt("return",void 0);case 16:return e.abrupt("return",u.apy);case 19:return e.abrupt("return",Object.fromEntries(n.map((function(e){return[e.address,e.apy]}))));case 20:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t}(q),lt=function(e){function t(){return e.apply(this,arguments)||this}b(t,e);var r=t.prototype;return r.supportedTokens=function(){var e=v(N.mark((function e(){var t,r;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=3,fetch("https://api.zapper.fi/v2/prices",{headers:{Authorization:"Basic "+this.ctx.zapper}}).then(de).then((function(e){return e.json()}));case 3:return t=$[this.chainId],r=e.sent.filter((function(e){return!e.hide})),e.abrupt("return",r.map((function(e){return{address:e.address===ae?se:s.getAddress(e.address),decimals:String(e.decimals),icon:"https://assets.yearn.network/tokens/"+t+"/"+e.address+".png",name:e.symbol,priceUsdc:fe(String(e.price)),dataSource:"zapper",supported:{zapper:!0},symbol:e.symbol}})));case 7:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),r.balances=function(){var e=v(N.mark((function e(t){var r,n;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new URLSearchParams({"addresses[]":Array.isArray(t)?t.join():t}),e.next=4,fetch("https://api.zapper.fi/v2/apps/tokens/balances?"+r,{headers:{Authorization:"Basic "+this.ctx.zapper}}).then(de).then((function(e){return e.json()}));case 4:if(n=e.sent.balances,Object.keys(n).forEach((function(e){var t=n[e];if(delete n[e],0===t.products.length)n[s.getAddress(e)]=[];else{var r=t.products[0].assets;n[s.getAddress(e)]=r.map((function(e){var t=e.address===ae?se:s.getAddress(String(e.address));return{address:t,token:{address:t,name:e.symbol,symbol:e.symbol,decimals:e.decimals},balance:e.balanceRaw,balanceUsdc:fe(e.balanceUSD),priceUsdc:fe(e.price)}}))}})),Array.isArray(t)){e.next=9;break}return e.abrupt("return",n[t]);case 9:return e.abrupt("return",n);case 10:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.supportedVaultAddresses=function(){var e=v(N.mark((function e(){var t;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(Q(this.chainId)){e.next=2;break}throw new P("Only Ethereum is supported for token market data, got "+this.chainId);case 2:return t=new URLSearchParams({network:"ethereum",groupId:"vault"}),e.next=6,fetch("https://api.zapper.fi/v2/apps/yearn/tokens?"+t,{headers:{Authorization:"Basic "+this.ctx.zapper}}).then(de).then((function(e){return e.json()}));case 6:return e.abrupt("return",e.sent.map((function(e){return s.getAddress(e.address)})).filter((function(e){return!!e})));case 8:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),r.gas=function(){var e=v(N.mark((function e(){var t;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=new URLSearchParams({eip1559:"false"}),e.next=4,fetch("https://api.zapper.fi/v2/gas-prices?"+t,{headers:{Authorization:"Basic "+this.ctx.zapper}}).then(de).then((function(e){return e.json()}));case 4:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),r.zapInApprovalState=function(){var e=v(N.mark((function e(t,r,n){var a,s;return N.wrap((function(e){for(;;)switch(e.prev=e.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:t,sellTokenAddress:r}),e.next=5,fetch(a+"?"+s,{headers:{Authorization:"Basic "+this.ctx.zapper}}).then(de).then((function(e){return e.json()}));case 5:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)})));return function(t,r,n){return e.apply(this,arguments)}}(),r.zapInApprovalTransaction=function(){var e=v(N.mark((function e(t,r,n,a){var s,i;return N.wrap((function(e){for(;;)switch(e.prev=e.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:t,sellTokenAddress:r}),e.next=5,fetch(s+"?"+i,{headers:{Authorization:"Basic "+this.ctx.zapper}}).then(de).then((function(e){return e.json()}));case 5:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)})));return function(t,r,n,a){return e.apply(this,arguments)}}(),r.zapOutApprovalState=function(){var e=v(N.mark((function e(t,r,n){var a,s;return N.wrap((function(e){for(;;)switch(e.prev=e.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:t,sellTokenAddress:r}),e.next=5,fetch(a+"?"+s,{headers:{Authorization:"Basic "+this.ctx.zapper}}).then(de).then((function(e){return e.json()}));case 5:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)})));return function(t,r,n){return e.apply(this,arguments)}}(),r.zapOutApprovalTransaction=function(){var e=v(N.mark((function e(t,r,n,a){var s,i;return N.wrap((function(e){for(;;)switch(e.prev=e.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:t,sellTokenAddress:r}),e.next=5,fetch(s+"?"+i,{headers:{Authorization:"Basic "+this.ctx.zapper}}).then(de).then((function(e){return e.json()}));case 5:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)})));return function(t,r,n,a){return e.apply(this,arguments)}}(),r.zapIn=function(){var e=v(N.mark((function e(t,r,n,a,s,i,o,u,c){var p,d,l;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===u&&(u=exports.ZapProtocol.YEARN),p=r,se===r&&(p=ae),d="https://api.zapper.fi/v2/zap-in/vault/"+u+"/transaction",l=new URLSearchParams(x({affiliateAddress:"0xFEB4acf3df3cDEA7399794D0869ef76A6EfAff52",ownerAddress:t,sellTokenAddress:p,sellAmount:n,poolAddress:a,gasPrice:s,slippagePercentage:i.toString(),skipGasEstimate:o?"true":"false"},c&&{partnerId:c}||{})),e.next=7,fetch(d+"?"+l,{headers:{Authorization:"Basic "+this.ctx.zapper}}).then(de).then((function(e){return e.json()}));case 7:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e,this)})));return function(t,r,n,a,s,i,o,u,c){return e.apply(this,arguments)}}(),r.zapOut=function(){var e=v(N.mark((function e(t,r,n,a,s,i,o,u,c){var p,d,l;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===u&&(u=exports.ZapProtocol.YEARN),p=r,se===r&&(p=ae),d="https://api.zapper.fi/v2/zap-out/vault/"+u+"/transaction",l=new URLSearchParams(x({affiliateAddress:"0xFEB4acf3df3cDEA7399794D0869ef76A6EfAff52",ownerAddress:t,toTokenAddress:p,sellAmount:n,poolAddress:a,gasPrice:s,slippagePercentage:i.toString(),skipGasEstimate:o?"true":"false"},c&&{signature:c})),e.next=7,fetch(d+"?"+l,{headers:{Authorization:"Basic "+this.ctx.zapper}}).then(de).then((function(e){return e.json()}));case 7:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e,this)})));return function(t,r,n,a,s,i,o,u,c){return e.apply(this,arguments)}}(),t}(q),ft=function(e){function t(r,n){var a;return(a=e.call(this,r,n)||this).contract=new K(t.addressByChain(r),t.abi,n),a.cachedAddressesById=new Map,a}b(t,e),t.addressByChain=function(e){switch(e){case 1:case 1337:return"0xe11dC9f2Ab122dC5978EACA41483Da0D7D7e6128";case 10:return"0x8273217252254Ad7353f227aaEcd2b1C4A326Fa2";case 250:return"0xac5A9E4135A3A26497F3890bFb602b06Ee592B61";case 42161:return"0xcAd10033C86B0C1ED6bfcCAa2FF6779938558E9f";case 56:return"0x902FEc9F20697B7a6a7D145202E0A317D2a52D47";case 2300:return"0x4EA915C3b51ce7403beAeBF26AcadFdcA37Cd001";default:throw new Error("Unsupported chain id: "+e)}};var r=t.prototype;return r.addressById=function(){var e=v(N.mark((function e(t){var r,n,a;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=this.cachedAddressesById.get(t)||{},a=r.timestamp,!(n=r.address)||!this.isCacheFresh({timestamp:a})){e.next=3;break}return e.abrupt("return",n);case 3:return e.prev=3,e.next=6,this.contract.read.addressById(t);case 6:return e.abrupt("return",this.setCachedAddressById({id:t,address:e.sent}));case 10:throw e.prev=10,e.t0=e.catch(3),new P("Failed to read contract address for "+t+": "+e.t0);case 13:case"end":return e.stop()}}),e,this,[[3,10]])})));return function(t){return e.apply(this,arguments)}}(),r.setCachedAddressById=function(e){var t=e.id,r=e.address,n=new Date(Date.now()).getTime();if(!this.cachedAddressesById.has(t))return this.cachedAddressesById.set(t,{address:r,timestamp:n}),r;var a=this.cachedAddressesById.get(t)||{};return this.isCacheFresh({timestamp:a.timestamp})||this.cachedAddressesById.set(t,{address:r,timestamp:n}),r},r.addressesMetadataByIdStartsWith=function(){var e=v(N.mark((function e(t){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.contract.read.addressById(t).then(et));case 1:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.isCacheFresh=function(e){var t=e.timestamp;return!!t&&new Date(Date.now()).getTime()-t<=3e4},t}(q);ft.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 ht=function(e){function t(){return e.apply(this,arguments)||this}return b(t,e),t.prototype.validateCalldata=function(){var e=v(N.mark((function e(r,n){var a;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r){e.next=2;break}return e.abrupt("return",{success:!1,error:"can't validate a tx that isn't targeting an address"});case 2:if(n){e.next=4;break}return e.abrupt("return",{success:!1,error:"can't validate a tx that has no call data"});case 4:return e.prev=4,e.next=7,this.contract;case 7:if((a=e.sent)&&a.address!==ae){e.next=10;break}throw new Error("Contract missing");case 10:e.next=16;break;case 12:return e.prev=12,e.t0=e.catch(4),console.warn("AllowList on-chain contract address missing. Skipping validation..."),e.abrupt("return",{success:!0});case 16:return e.prev=16,e.next=19,a.read.validateCalldataByOrigin(t.originName,r,n);case 19:if(e.sent){e.next=22;break}return e.abrupt("return",{success:!1,error:"tx is not permitted by the allow list"});case 22:return e.abrupt("return",{success:!0});case 25:return e.prev=25,e.t1=e.catch(16),e.abrupt("return",{success:!1,error:"failed to read from the allow list whether the transaction is valid"});case 28:case"end":return e.stop()}}),e,this,[[4,12],[16,25]])})));return function(t,r){return e.apply(this,arguments)}}(),w(t,[{key:"contract",get:function(){return this._getContract(t.abi,t.contractId,this.ctx)}}]),t}(J);ht.abi=["function validateCalldataByOrigin(string memory originName, address targetAddress, bytes calldata data) public view returns (bool)"],ht.contractId=G.allowlist,ht.originName="yearn.finance";var vt="0x0000000000000000000000000000000000000000000000000000000000000000",mt=function(e){function t(t,r){var n;return(n=e.call(this,t,r)||this).cowSdk=new f.CowSdk(t),n}b(t,e);var r=t.prototype;return r.getExpectedTransactionOutcome=function(){var e=v(N.mark((function e(t){var r,n,a,s,i,o,u;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.sourceTokenAddress,n=t.targetTokenAddress,a=t.sourceTokenAmount,s=t.accountAddress,i=Math.floor(this.timeFromNow(6e5)/1e3),o=f.OrderKind.SELL,e.next=5,this.cowSdk.cowApi.getQuote({kind:o,sellToken:r,buyToken:n,sellAmountBeforeFee:a,from:s,validTo:i,partiallyFillable:!1,appData:vt});case 5:return e.abrupt("return",{sourceTokenAddress:r,sourceTokenAmount:a,targetTokenAddress:n,targetTokenAmount:(u=e.sent.quote).buyAmount,sourceTokenAmountFee:u.feeAmount});case 8:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.sendOrder=function(){var e=v(N.mark((function e(t){var r,n,a,s,i,o,u,c,p,d,l,h,v,m,w;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.sourceTokenAddress,n=t.targetTokenAddress,a=t.sourceTokenAmount,s=t.targetTokenAmount,i=t.sourceTokenAmountFee,o=t.accountAddress,u=Math.floor(this.timeFromNow(6e5)/1e3),c=f.OrderKind.SELL,p={signer:this.ctx.provider.write.getSigner(o)},e.next=6,this.cowSdk.updateContext(p);case 6:return d=V(a).minus(i).toFixed(0),l={kind:c,sellToken:r,buyToken:n,sellAmount:d,buyAmount:s,feeAmount:i,receiver:o,validTo:u,partiallyFillable:!1,appData:vt},e.next=10,this.cowSdk.signOrder(l);case 10:if(m=(h=e.sent).signingScheme,v=h.signature){e.next=15;break}throw new P("Failed signing order");case 15:return e.next=17,this.cowSdk.cowApi.sendOrder({order:x({},l,{signature:v,signingScheme:m}),owner:o});case 17:return w=e.sent,console.log("https://explorer.cow.fi/orders/"+w),e.abrupt("return",w);case 20:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.waitForOrderToFill=function(){var e=v(N.mark((function e(t){var r,n,a,s=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.orderId,n=function(){var e=v(N.mark((function e(){var t;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,s.cowSdk.cowApi.getOrder(r);case 2:if(t=e.sent){e.next=5;break}throw new Error("Order not found");case 5:return e.abrupt("return",t);case 6:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),a=function(e){var t=e.status;if("fulfilled"===t)return!1;if("open"===t||"presignaturePending"===t)return!0;throw new Error("Order failed")},e.next=6,L(n,a,5e3);case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),r.timeFromNow=function(e){return new Date(Date.now()+e).getTime()},t}(q),wt=function(e){function t(){return e.apply(this,arguments)||this}b(t,e);var r=t.prototype;return r.tokens=function(){var e=v(N.mark((function e(t,r){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r={}),e.next=3,this.contract;case 3:return e.abrupt("return",e.sent.read.tokensMetadata(t,r).then(et));case 5:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),r.tokenPrices=function(){var e=v(N.mark((function e(t,r){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r={}),e.next=3,this.contract;case 3:return e.abrupt("return",e.sent.read.tokensPrices(t,r).then(et));case 5:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),r.tokenBalances=function(){var e=v(N.mark((function e(t,r,n){var a,s,i;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===n&&(n={}),a=ve(r,30),e.next=4,this.contract;case 4:return s=e.sent,i=a.map(function(){var e=v(N.mark((function e(r){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",s.read.tokensBalances(t,r,n).then(et));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),e.abrupt("return",Promise.all(i).then((function(e){return e.flat()})));case 7:case"end":return e.stop()}}),e,this)})));return function(t,r,n){return e.apply(this,arguments)}}(),r.tokenAllowances=function(){var e=v(N.mark((function e(t,r,n,a){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===a&&(a={}),e.next=3,this.contract;case 3:return e.abrupt("return",e.sent.read.allowances(t,r,n,a).then(et));case 5:case"end":return e.stop()}}),e,this)})));return function(t,r,n,a){return e.apply(this,arguments)}}(),r.assetStrategiesAddresses=function(){var e=v(N.mark((function e(t,r){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r={}),e.next=3,this.contract;case 3:return e.abrupt("return",e.sent.read.assetStrategiesAddresses(t,r));case 5:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),w(t,[{key:"contract",get:function(){return this._getContract(t.abi,t.contractId,this.ctx)}}]),t}(J);wt.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[])"],wt.contractId=G.helper;var xt="https://ydaemon.yearn.finance/api",bt=function(e){function t(){return e.apply(this,arguments)||this}b(t,e);var r=t.prototype;return r.tokens=function(){var e=v(N.mark((function e(t){var r,n=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch(xt+"/"+this.chainId+"/tokens/all").then((function(e){return e.json()}));case 2:if(r=e.sent,t){e.next=5;break}return e.abrupt("return",r.map((function(e){return x({},e,{description:ze({obj:e,property:"description",locale:n.ctx.locale,fallback:"Token description missing"})})})));case 5:return e.abrupt("return",r.filter((function(e){return t.includes(e.address)})).map((function(e){return x({},e,{description:ze({obj:e,property:"description",locale:n.ctx.locale,fallback:"Token description missing"})})})));case 6:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.token=function(){var e=v(N.mark((function e(t){var r,n;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,fetch(xt+"/"+this.chainId+"/tokens/"+t);case 3:if((r=e.sent).ok){e.next=6;break}throw new P('Failed to fetch token with address "'+t+'". HTTP error: '+r.status);case 6:return e.next=8,r.json();case 8:return(n=e.sent).description=ze({obj:n,property:"description",locale:this.ctx.locale,fallback:"Token description missing"}),e.abrupt("return",n);case 13:e.prev=13,e.t0=e.catch(0),console.error(e.t0);case 16:return e.abrupt("return",null);case 17:case"end":return e.stop()}}),e,this,[[0,13]])})));return function(t){return e.apply(this,arguments)}}(),r.strategies=function(){var e=v(N.mark((function e(){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",fetch(xt+"/"+this.chainId+"/strategies/all").then((function(e){return e.json()})));case 1:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),r.vaults=function(){var e=v(N.mark((function e(t){var r;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch(xt+"/"+this.chainId+"/vaults/all").then((function(e){return e.json()}));case 2:if(r=e.sent,t){e.next=5;break}return e.abrupt("return",r);case 5:return e.abrupt("return",r.filter((function(e){return t.includes(e.address)})));case 6:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.vault=function(){var e=v(N.mark((function e(t){var r;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,fetch(xt+"/"+this.chainId+"/vaults/"+t);case 3:if((r=e.sent).ok){e.next=6;break}throw new P('Failed to fetch token with address "'+t+'". HTTP error: '+r.status);case 6:return e.abrupt("return",r.json());case 9:e.prev=9,e.t0=e.catch(0),console.error(e.t0);case 12:return e.abrupt("return",null);case 13:case"end":return e.stop()}}),e,this,[[0,9]])})));return function(t){return e.apply(this,arguments)}}(),t}(q),yt=function(e){function t(t,r,n,a){var s;return(s=e.call(this,t,r,n)||this).partnerId=a,s}b(t,e);var r=t.prototype;return r.isAllowed=function(e){return!t.IGNORED_ADDRESSES.includes(e)},r.deposit=function(){var e=v(N.mark((function e(t,r,n){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.contract;case 2:return e.abrupt("return",e.sent.write.deposit(t,this.partnerId,r,n));case 4:case"end":return e.stop()}}),e,this)})));return function(t,r,n){return e.apply(this,arguments)}}(),r.populateDepositTransaction=function(){var e=v(N.mark((function e(t,r,n){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.contract;case 2:return e.abrupt("return",e.sent.write.populateTransaction.deposit(t,this.partnerId,r,n));case 4:case"end":return e.stop()}}),e,this)})));return function(t,r,n){return e.apply(this,arguments)}}(),r.encodeDeposit=function(){var e=v(N.mark((function e(t,r){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.contract;case 2:return e.abrupt("return",e.sent.write.interface.encodeFunctionData("deposit",[t,this.partnerId,r]));case 4:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),w(t,[{key:"contract",get:function(){return this._getContract(t.abi,t.contractId,this.ctx)}},{key:"address",get:function(){var e=this;return v(N.mark((function r(){var n;return N.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,e.addressProvider.addressById(t.contractId);case 2:return r.abrupt("return",(n=r.sent)!==ae?n:void 0);case 4:case"end":return r.stop()}}),r)})))()}}]),t}(J);yt.abi=["function deposit(address vault, address partnerId, uint256 amount) external returns (uint256)"],yt.IGNORED_ADDRESSES=["0xc5bDdf9843308380375a611c18B50Fb9341f502A","0xCeD67a187b923F0E5ebcc77C7f2F7da20099e378"],yt.contractId=G.partner;var gt="https://api.portals.fi",kt=["native","basic"],At=function(e){function t(){return e.apply(this,arguments)||this}b(t,e);var r=t.prototype;return r.supportedTokens=function(){var e=v(N.mark((function e(){var t,r,n,a,s,i=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=ne[this.chainId],n=gt+"/v1/tokens/"+(r=$[this.chainId]),a=new URLSearchParams,(s=[].concat(kt)).push("yearn"),s.push("curve"),s.push("beefy"),Q(this.chainId)&&s.push("convex"),Q(this.chainId)&&s.push("compound"),s.forEach((function(e){return a.append("platforms[]",e)})),e.next=13,fetch(n+"?"+a).then(de).then((function(e){return e.json()}));case 13:return e.abrupt("return",e.sent.tokens.map((function(e){var n,a,s,o=i.deserializeAddress(e.address),u="https://assets.yearn.network/tokens/"+r+"/"+e.address.toLowerCase()+".png";return kt.includes(e.platform)||(u=null!=(n=null!=(a=e.image)?a:e.images[0])?n:u),{address:o,decimals:String(e.decimals),icon:u,name:e.symbol,priceUsdc:fe(e.price),dataSource:"portals",supported:{portalsZapIn:!0,portalsZapOut:null==(s=t.zapOutTokenSymbols)?void 0:s.includes(e.symbol.toUpperCase())},symbol:e.symbol}})));case 16:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),r.balances=function(){var e=v(N.mark((function e(t){var r,n=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new URLSearchParams({ownerAddress:t,"networks[]":$[this.chainId]}),e.next=5,fetch("https://api.portals.fi/v2/account?"+r).then(de).then((function(e){return e.json()}));case 5:return e.abrupt("return",e.sent.balances.map((function(e){var t=n.deserializeAddress(e.address);return{address:t,token:{address:t,name:e.symbol,symbol:e.symbol,decimals:e.decimals},balance:e.rawBalance,balanceUsdc:fe(e.balanceUSD),priceUsdc:fe(e.price)}})));case 8:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.supportedVaultAddresses=function(){var e=v(N.mark((function e(){var t,r;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=gt+"/v1/tokens/"+$[this.chainId],r=new URLSearchParams({"platforms[]":"yearn"}),e.next=5,fetch(t+"?"+r).then(de).then((function(e){return e.json()}));case 5:return e.abrupt("return",e.sent.tokens.map((function(e){return s.getAddress(e.address)})));case 8:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),r.zapInApprovalState=function(){var e=v(N.mark((function e(t,r,n,a){var s,i,o,u;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=gt+"/v1/approval/"+$[this.chainId],i=this.serializeAddress(r),o=new URLSearchParams({takerAddress:a,sellToken:i,sellAmount:n,buyToken:t}),e.next=6,fetch(s+"?"+o).then(de).then((function(e){return e.json()}));case 6:return e.abrupt("return",{token:r,owner:a,spender:(u=e.sent.context).target,amount:u.allowance});case 9:case"end":return e.stop()}}),e,this)})));return function(t,r,n,a){return e.apply(this,arguments)}}(),r.zapInApprovalTransaction=function(){var e=v(N.mark((function e(t,r,n,a){var s,i,o;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=gt+"/v1/approval/"+$[this.chainId],i=this.serializeAddress(r),o=new URLSearchParams({takerAddress:a,sellToken:i,sellAmount:n,buyToken:t}),e.next=6,fetch(s+"?"+o).then(de).then((function(e){return e.json()}));case 6:return e.abrupt("return",e.sent.tx);case 9:case"end":return e.stop()}}),e,this)})));return function(t,r,n,a){return e.apply(this,arguments)}}(),r.zapOutApprovalState=function(){var e=v(N.mark((function e(t,r,n,a){var s,i,o,u;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=gt+"/v1/approval/"+$[this.chainId],i=this.serializeAddress(r),o=new URLSearchParams({takerAddress:a,sellToken:t,sellAmount:n,buyToken:i}),e.next=6,fetch(s+"?"+o).then(de).then((function(e){return e.json()}));case 6:return e.abrupt("return",{token:t,owner:a,spender:(u=e.sent.context).target,amount:u.allowance});case 9:case"end":return e.stop()}}),e,this)})));return function(t,r,n,a){return e.apply(this,arguments)}}(),r.zapOutApprovalTransaction=function(){var e=v(N.mark((function e(t,r,n,a){var s,i,o;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=gt+"/v1/approval/"+$[this.chainId],i=this.serializeAddress(r),o=new URLSearchParams({takerAddress:a,sellToken:t,sellAmount:n,buyToken:i}),e.next=6,fetch(s+"?"+o).then(de).then((function(e){return e.json()}));case 6:return e.abrupt("return",e.sent.tx);case 9:case"end":return e.stop()}}),e,this)})));return function(t,r,n,a){return e.apply(this,arguments)}}(),r.zapIn=function(){var e=v(N.mark((function e(t,r,n,a,s,i,o){var u,c,p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===i&&(i=!0),u=gt+"/v1/portal/"+$[this.chainId],c=this.serializeAddress(r),p=new URLSearchParams(x({takerAddress:a,sellToken:c,sellAmount:n,buyToken:t,slippagePercentage:s.toString(),partner:"0xFEB4acf3df3cDEA7399794D0869ef76A6EfAff52",validate:i?"true":"false"},o&&{affiliate:o})),e.next=7,fetch(u+"?"+p).then(de).then((function(e){return e.json()}));case 7:return e.abrupt("return",e.sent.tx);case 10:case"end":return e.stop()}}),e,this)})));return function(t,r,n,a,s,i,o){return e.apply(this,arguments)}}(),r.zapOut=function(){var e=v(N.mark((function e(t,r,n,a,s,i,o){var u,c,p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===i&&(i=!0),u=gt+"/v1/portal/"+$[this.chainId],c=this.serializeAddress(r),p=new URLSearchParams(x({takerAddress:a,sellToken:t,sellAmount:n,buyToken:c,slippagePercentage:s.toString(),partner:"0xFEB4acf3df3cDEA7399794D0869ef76A6EfAff52",validate:i?"true":"false"},o&&{signature:o})),e.next=7,fetch(u+"?"+p).then(de).then((function(e){return e.json()}));case 7:return e.abrupt("return",e.sent.tx);case 10:case"end":return e.stop()}}),e,this)})));return function(t,r,n,a,s,i,o){return e.apply(this,arguments)}}(),r.serializeAddress=function(e){return e===se&&Q(this.chainId)?ae:s.getAddress(e)},r.deserializeAddress=function(e){return e===ae&&Q(this.chainId)?se:s.getAddress(e)},t}(q),St=function(e){function t(t,r,n){var a;return(a=e.call(this,t,r)||this).allowListService=n,a}b(t,e);var r=t.prototype;return r.sendTransaction=function(){var e=v(N.mark((function e(t){var r,n,a,s;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.validateTx(t);case 2:if(n=(r=e.sent).error,r.success){e.next=7;break}throw new P(n||"transaction is not valid");case 7:return a=this.ctx.provider.write.getSigner(),e.prev=8,e.abrupt("return",a.sendTransaction(t));case 12:if(e.prev=12,e.t0=e.catch(8),-32602!==e.t0.code){e.next=21;break}return(s=x({},t)).maxFeePerGas=void 0,s.maxPriorityFeePerGas=void 0,e.next=20,a.sendTransaction(s);case 20:return e.abrupt("return",e.sent);case 21:throw e.t0;case 22:case"end":return e.stop()}}),e,this,[[8,12]])})));return function(t){return e.apply(this,arguments)}}(),r.validateTx=function(){var e=v(N.mark((function e(t){var r,n,a;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.allowListService){e.next=2;break}return e.abrupt("return",Promise.resolve({success:!0,error:void 0}));case 2:return e.next=4,Promise.all([t.to,t.data]);case 4:return n=(r=e.sent)[0],a=r[1],e.next=9,this.allowListService.validateCalldata(n,a);case 9:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t}(q),Tt=["function deposit() payable returns (uint256)","function withdraw(uint256 amount) public returns (uint256)"],Et=function(e){function t(){return e.apply(this,arguments)||this}b(t,e);var r=t.prototype;return r.zapIn=function(){var e=v(N.mark((function e(t,r,n,a){var s;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(ue(r)){e.next=2;break}throw new P('Only "ETH" token address is supported by zapEth contract');case 2:if(ce(t)){e.next=4;break}throw new P('Only "yvWETH" vault address is supported by zapEth contract');case 4:return e.next=6,this.getContract(a);case 6:return s=e.sent,e.next=9,s.populateTransaction.deposit({value:n});case 9:return e.abrupt("return",e.sent);case 11:case"end":return e.stop()}}),e,this)})));return function(t,r,n,a){return e.apply(this,arguments)}}(),r.zapOut=function(){var e=v(N.mark((function e(t,r,n,a){var s;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(ue(r)){e.next=2;break}throw new P('Only "ETH" token address is supported by zapEth contract');case 2:if(ce(t)){e.next=4;break}throw new P('Only "yvWETH" vault address is supported by zapEth contract');case 4:return e.next=6,this.getContract(a);case 6:return s=e.sent,e.next=9,s.populateTransaction.withdraw(n);case 9:return e.abrupt("return",e.sent);case 11:case"end":return e.stop()}}),e,this)})));return function(t,r,n,a){return e.apply(this,arguments)}}(),r.getAddress=function(){var e=v(N.mark((function e(){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.addressProvider.addressById(G.yearnZapEth);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),r.getContract=function(){var e=v(N.mark((function e(t){var r,n;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getAddress();case 2:return r=e.sent,n=this.ctx.provider.write.getSigner(t),e.abrupt("return",new i.Contract(r,Tt,n));case 5:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t}(J),It=function(){function e(e,t,r){this._ctxValue=t,this.context=new W(t),this.addressProvider=new ft(e,this.context);var n=new ht(e,this.context,this.addressProvider);this.services=this._initServices(e,this.context,this.addressProvider,n,r),this.adapters=this._initAdapters(e),this.vaults=new Ge(this,e,this.context),this.tokens=new je(this,e,this.context),this.earnings=new ge(this,e,this.context),this.fees=new ke(this,e,this.context),this.simulation=new Ne(this,e,this.context),this.strategies=new Ve(this,e,this.context),this.votingEscrows=new Ke(this,e,this.context),this.gauges=new Ee(this,e,this.context),this.ready=Promise.all([this.services.asset.ready])}var t=e.prototype;return t.setChainId=function(e){this.addressProvider=new ft(e,this.context);var t=new ht(e,this.context,this.addressProvider);this.services=this._initServices(e,this.context,this.addressProvider,t),this.adapters=this._initAdapters(e),this.vaults=new Ge(this,e,this.context),this.tokens=new je(this,e,this.context),this.earnings=new ge(this,e,this.context),this.fees=new ke(this,e,this.context),this.simulation=new Ne(this,e,this.context),this.strategies=new Ve(this,e,this.context),this.votingEscrows=new Ke(this,e,this.context),this.gauges=new Ee(this,e,this.context),this.ready=Promise.all([this.services.asset.ready])},t._initServices=function(e,t,r,n,a){return{lens:new it(e,t,r),oracle:new ot(e,t,r),zapEth:new Et(e,t,r),zapper:new lt(e,t),portals:new At(e,t),cowSwap:new mt(1,t),asset:new st(e,t,a),vision:new dt(e,t),subgraph:new ct(e,t),pickle:new Pe(e,t),helper:new wt(e,t,r),telegram:new pt(e,t),meta:new bt(e,t),allowList:n,transaction:new St(e,t,n),partner:t.partnerId?new yt(e,t,r,t.partnerId):void 0,propertiesAggregator:new ut(e,t,r)}},t._initAdapters=function(e){return{vaults:{v2:new tt(e,this.context,this.addressProvider)}}},e}();exports.AssetService=st,exports.Context=W,exports.CustomError=I,exports.EarningsInterface=ge,exports.EthersError=D,exports.FeesInterface=ke,exports.GaugeInterface=Ee,exports.LensService=it,exports.OracleService=ot,exports.PriceFetchingError=R,exports.PropertiesAggregatorService=ut,exports.RegistryV2Adapter=tt,exports.SdkError=P,exports.SimulationError=O,exports.SimulationInterface=Ne,exports.StrategyInterface=Ve,exports.SubgraphService=ct,exports.TelegramService=pt,exports.TenderlyError=U,exports.TokenInterface=je,exports.VaultInterface=Ge,exports.VisionService=dt,exports.VotingEscrowInterface=Ke,exports.Yearn=It,exports.ZapError=_,exports.ZapperService=lt,exports.getZapInDetails=Ce,exports.getZapOutDetails=Re;
//# sourceMappingURL=sdk.cjs.production.min.js.map