@dhedge/v2-sdk 1.7.1 → 1.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- "use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("ethers"),n=require("@lyrafinance/lyra-js"),a=e(n),i=e(require("axios")),r=require("lodash"),s=require("@ethersproject/address");require("lodash/set");var p=require("@ethersproject/abi"),u=e(require("bignumber.js")),y=require("web3-utils"),o=require("ethereumjs-util"),d=require("@uniswap/sdk-core"),l=require("@uniswap/v3-sdk"),m=e(require("jsbi")),c=require("@sushiswap/sdk"),T=require("@balancer-labs/sor");function b(e,t,n,a,i,r,s){try{var p=e[r](s),u=p.value}catch(e){return void n(e)}p.done?t(u):Promise.resolve(u).then(a,i)}function f(e){return function(){var t=this,n=arguments;return new Promise((function(a,i){var r=e.apply(t,n);function s(e){b(r,a,i,s,p,"next",e)}function p(e){b(r,a,i,s,p,"throw",e)}s(void 0)}))}}function w(){return(w=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e}).apply(this,arguments)}var v,x,h,M,g,k,I,A,O,P,C,R,D,S,E,L,F,B,_,q,N=(function(e){var t=function(e){var t=Object.prototype,n=t.hasOwnProperty,a="function"==typeof Symbol?Symbol:{},i=a.iterator||"@@iterator",r=a.asyncIterator||"@@asyncIterator",s=a.toStringTag||"@@toStringTag";function p(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{p({},"")}catch(e){p=function(e,t,n){return e[t]=n}}function u(e,t,n,a){var i=Object.create((t&&t.prototype instanceof d?t:d).prototype),r=new g(a||[]);return i._invoke=function(e,t,n){var a="suspendedStart";return function(i,r){if("executing"===a)throw new Error("Generator is already running");if("completed"===a){if("throw"===i)throw r;return{value:void 0,done:!0}}for(n.method=i,n.arg=r;;){var s=n.delegate;if(s){var p=x(s,n);if(p){if(p===o)continue;return p}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===a)throw a="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);a="executing";var u=y(e,t,n);if("normal"===u.type){if(a=n.done?"completed":"suspendedYield",u.arg===o)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(a="completed",n.method="throw",n.arg=u.arg)}}}(e,n,r),i}function y(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var o={};function d(){}function l(){}function m(){}var c={};p(c,i,(function(){return this}));var T=Object.getPrototypeOf,b=T&&T(T(k([])));b&&b!==t&&n.call(b,i)&&(c=b);var f=m.prototype=d.prototype=Object.create(c);function w(e){["next","throw","return"].forEach((function(t){p(e,t,(function(e){return this._invoke(t,e)}))}))}function v(e,t){var a;this._invoke=function(i,r){function s(){return new t((function(a,s){!function a(i,r,s,p){var u=y(e[i],e,r);if("throw"!==u.type){var o=u.arg,d=o.value;return d&&"object"==typeof d&&n.call(d,"__await")?t.resolve(d.__await).then((function(e){a("next",e,s,p)}),(function(e){a("throw",e,s,p)})):t.resolve(d).then((function(e){o.value=e,s(o)}),(function(e){return a("throw",e,s,p)}))}p(u.arg)}(i,r,a,s)}))}return a=a?a.then(s,s):s()}}function x(e,t){var n=e.iterator[t.method];if(void 0===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,x(e,t),"throw"===t.method))return o;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return o}var a=y(n,e.iterator,t.arg);if("throw"===a.type)return t.method="throw",t.arg=a.arg,t.delegate=null,o;var i=a.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,o):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,o)}function h(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 M(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function g(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(h,this),this.reset(!0)}function k(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var a=-1,r=function t(){for(;++a<e.length;)if(n.call(e,a))return t.value=e[a],t.done=!1,t;return t.value=void 0,t.done=!0,t};return r.next=r}}return{next:I}}function I(){return{value:void 0,done:!0}}return l.prototype=m,p(f,"constructor",m),p(m,"constructor",l),l.displayName=p(m,s,"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,m):(e.__proto__=m,p(e,s,"GeneratorFunction")),e.prototype=Object.create(f),e},e.awrap=function(e){return{__await:e}},w(v.prototype),p(v.prototype,r,(function(){return this})),e.AsyncIterator=v,e.async=function(t,n,a,i,r){void 0===r&&(r=Promise);var s=new v(u(t,n,a,i),r);return e.isGeneratorFunction(n)?s:s.next().then((function(e){return e.done?e.value:s.next()}))},w(f),p(f,s,"Generator"),p(f,i,(function(){return this})),p(f,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var a=t.pop();if(a in e)return n.value=a,n.done=!1,n}return n.done=!0,n}},e.values=k,g.prototype={constructor:g,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(M),!e)for(var t in this)"t"===t.charAt(0)&&n.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 a(n,a){return s.type="throw",s.arg=e,t.next=n,a&&(t.method="next",t.arg=void 0),!!a}for(var i=this.tryEntries.length-1;i>=0;--i){var r=this.tryEntries[i],s=r.completion;if("root"===r.tryLoc)return a("end");if(r.tryLoc<=this.prev){var p=n.call(r,"catchLoc"),u=n.call(r,"finallyLoc");if(p&&u){if(this.prev<r.catchLoc)return a(r.catchLoc,!0);if(this.prev<r.finallyLoc)return a(r.finallyLoc)}else if(p){if(this.prev<r.catchLoc)return a(r.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<r.finallyLoc)return a(r.finallyLoc)}}}},abrupt:function(e,t){for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var r=i;break}}r&&("break"===e||"continue"===e)&&r.tryLoc<=t&&t<=r.finallyLoc&&(r=null);var s=r?r.completion:{};return s.type=e,s.arg=t,r?(this.method="next",this.next=r.finallyLoc,o):this.complete(s)},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),o},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),M(n),o}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var a=n.completion;if("throw"===a.type){var i=a.arg;M(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:k(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),o}},e}(e.exports);try{regeneratorRuntime=t}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=t:Function("r","regeneratorRuntime = r")(t)}}(q={exports:{}}),q.exports),U=[{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"daoAddress",type:"address"}],name:"DAOAddressSet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"numerator",type:"uint256"},{indexed:!1,internalType:"uint256",name:"denominator",type:"uint256"}],name:"DaoFeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"cooldown",type:"uint256"}],name:"ExitCooldownSet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"numerator",type:"uint256"},{indexed:!1,internalType:"uint256",name:"denominator",type:"uint256"}],name:"ExitFeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"fundAddress",type:"address"},{indexed:!1,internalType:"bool",name:"isPoolPrivate",type:"bool"},{indexed:!1,internalType:"string",name:"fundName",type:"string"},{indexed:!1,internalType:"string",name:"managerName",type:"string"},{indexed:!1,internalType:"address",name:"manager",type:"address"},{indexed:!1,internalType:"uint256",name:"time",type:"uint256"},{indexed:!1,internalType:"uint256",name:"managerFeeNumerator",type:"uint256"},{indexed:!1,internalType:"uint256",name:"managerFeeDenominator",type:"uint256"}],name:"FundCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"governanceAddress",type:"address"}],name:"GovernanceAddressSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"manager",type:"address"},{indexed:!0,internalType:"address",name:"pool",type:"address"}],name:"LogUpgrade",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"count",type:"uint256"}],name:"MaximumSupportedAssetCountSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"proxy",type:"address"}],name:"ProxyCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"assetHandler",type:"address"}],name:"SetAssetHandler",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"numerator",type:"uint256"},{indexed:!1,internalType:"uint256",name:"denominator",type:"uint256"}],name:"SetMaximumManagerFee",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"SetMaximumManagerFeeNumeratorChange",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"numerator",type:"uint256"},{indexed:!1,internalType:"uint256",name:"denominator",type:"uint256"}],name:"SetPoolManagerFee",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"code",type:"bytes32"}],name:"SetTrackingCode",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{inputs:[{internalType:"bool",name:"_privatePool",type:"bool"},{internalType:"address",name:"_manager",type:"address"},{internalType:"string",name:"_managerName",type:"string"},{internalType:"string",name:"_fundName",type:"string"},{internalType:"string",name:"_fundSymbol",type:"string"},{internalType:"uint256",name:"_managerFeeNumerator",type:"uint256"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"bool",name:"isDeposit",type:"bool"}],internalType:"struct IHasSupportedAsset.Asset[]",name:"_supportedAssets",type:"tuple[]"}],name:"createFund",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"daoAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"},{internalType:"uint8",name:"_proxyType",type:"uint8"}],name:"deploy",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"deployedFunds",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"name",type:"bytes32"}],name:"getAddress",outputs:[{internalType:"address",name:"destination",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"extContract",type:"address"}],name:"getAssetGuard",outputs:[{internalType:"address",name:"guard",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAssetHandler",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getAssetPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getAssetType",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[],name:"getDaoFee",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getDeployedFunds",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getExitCooldown",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"extContract",type:"address"}],name:"getGuard",outputs:[{internalType:"address",name:"guard",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint8",name:"_proxyType",type:"uint8"}],name:"getLogic",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getManagerFeeNumeratorChangeDelay",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getMaximumManagerFee",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getMaximumManagerFeeNumeratorChange",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getMaximumSupportedAssetCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"pool",type:"address"}],name:"getPoolManagerFee",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getTrackingCode",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"governanceAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_poolLogic",type:"address"},{internalType:"address",name:"_managerLogic",type:"address"},{internalType:"address",name:"assetHandler",type:"address"},{internalType:"address",name:"_daoAddress",type:"address"},{internalType:"address",name:"_governanceAddress",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"isPaused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"isPool",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"isPoolManager",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"isValidAsset",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"managerFeeNumeratorChangeDelay",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"maximumManagerFeeNumeratorChange",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"poolManagerFeeDenominator",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"poolManagerFeeNumerator",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"poolStorageVersion",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"poolVersion",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"assetHandler",type:"address"}],name:"setAssetHandler",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_daoAddress",type:"address"}],name:"setDAOAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"numerator",type:"uint256"},{internalType:"uint256",name:"denominator",type:"uint256"}],name:"setDaoFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"cooldown",type:"uint256"}],name:"setExitCooldown",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_governanceAddress",type:"address"}],name:"setGovernanceAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_poolLogic",type:"address"},{internalType:"address",name:"_poolManagerLogic",type:"address"}],name:"setLogic",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"delay",type:"uint256"}],name:"setManagerFeeNumeratorChangeDelay",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setMaximumManagerFeeNumeratorChange",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"count",type:"uint256"}],name:"setMaximumSupportedAssetCount",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"pool",type:"address"},{internalType:"uint256",name:"numerator",type:"uint256"}],name:"setPoolManagerFeeNumerator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"code",type:"bytes32"}],name:"setTrackingCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"startIndex",type:"uint256"},{internalType:"uint256",name:"endIndex",type:"uint256"},{internalType:"uint256",name:"sourceVersion",type:"uint256"},{internalType:"uint256",name:"targetVersion",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"upgradePoolBatch",outputs:[],stateMutability:"nonpayable",type:"function"}],V=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"fundAddress",type:"address"},{indexed:!1,internalType:"address",name:"investor",type:"address"},{indexed:!1,internalType:"address",name:"assetDeposited",type:"address"},{indexed:!1,internalType:"uint256",name:"amountDeposited",type:"uint256"},{indexed:!1,internalType:"uint256",name:"valueDeposited",type:"uint256"},{indexed:!1,internalType:"uint256",name:"fundTokensReceived",type:"uint256"},{indexed:!1,internalType:"uint256",name:"totalInvestorFundTokens",type:"uint256"},{indexed:!1,internalType:"uint256",name:"fundValue",type:"uint256"},{indexed:!1,internalType:"uint256",name:"totalSupply",type:"uint256"},{indexed:!1,internalType:"uint256",name:"time",type:"uint256"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"pool",type:"address"},{indexed:!1,internalType:"address",name:"manager",type:"address"},{indexed:!1,internalType:"uint256",name:"available",type:"uint256"},{indexed:!1,internalType:"uint256",name:"daoFee",type:"uint256"},{indexed:!1,internalType:"uint256",name:"managerFee",type:"uint256"},{indexed:!1,internalType:"uint256",name:"tokenPriceAtLastFeeMint",type:"uint256"}],name:"ManagerFeeMinted",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"poolManagerLogic",type:"address"},{indexed:!1,internalType:"address",name:"from",type:"address"}],name:"PoolManagerLogicSet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bool",name:"isPoolPrivate",type:"bool"}],name:"PoolPrivacyUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"pool",type:"address"},{indexed:!1,internalType:"address",name:"manager",type:"address"},{indexed:!1,internalType:"uint16",name:"transactionType",type:"uint16"},{indexed:!1,internalType:"uint256",name:"time",type:"uint256"}],name:"TransactionExecuted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"fundAddress",type:"address"},{indexed:!1,internalType:"address",name:"investor",type:"address"},{indexed:!1,internalType:"uint256",name:"valueWithdrawn",type:"uint256"},{indexed:!1,internalType:"uint256",name:"fundTokensWithdrawn",type:"uint256"},{indexed:!1,internalType:"uint256",name:"totalInvestorFundTokens",type:"uint256"},{indexed:!1,internalType:"uint256",name:"fundValue",type:"uint256"},{indexed:!1,internalType:"uint256",name:"totalSupply",type:"uint256"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bool",name:"withdrawProcessed",type:"bool"}],indexed:!1,internalType:"struct PoolLogic.WithdrawnAsset[]",name:"withdrawnAssets",type:"tuple[]"},{indexed:!1,internalType:"uint256",name:"time",type:"uint256"}],name:"Withdrawal",type:"event"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"availableManagerFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"creationTime",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"creator",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_asset",type:"address"},{internalType:"uint256",name:"_amount",type:"uint256"}],name:"deposit",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"execTransaction",outputs:[{internalType:"bool",name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"assets",type:"address[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"uint256[]",name:"premiums",type:"uint256[]"},{internalType:"address",name:"originator",type:"address"},{internalType:"bytes",name:"params",type:"bytes"}],name:"executeOperation",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getExitCooldown",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"}],name:"getExitRemainingCooldown",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getFundSummary",outputs:[{internalType:"string",name:"",type:"string"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"address",name:"",type:"address"},{internalType:"string",name:"",type:"string"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bool",name:"",type:"bool"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"bool",name:"_privatePool",type:"bool"},{internalType:"string",name:"_fundName",type:"string"},{internalType:"string",name:"_fundSymbol",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"member",type:"address"}],name:"isMemberAllowed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"lastDeposit",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"managerName",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"mintManagerFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"poolManagerLogic",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"privatePool",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_poolManagerLogic",type:"address"}],name:"setPoolManagerLogic",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"_privatePool",type:"bool"}],name:"setPoolPrivate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenPriceAtLastFeeMint",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_fundTokenAmount",type:"uint256"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"}],W=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"fundAddress",type:"address"},{indexed:!1,internalType:"address",name:"manager",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"bool",name:"isDeposit",type:"bool"}],name:"AssetAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"fundAddress",type:"address"},{indexed:!1,internalType:"address",name:"manager",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"}],name:"AssetRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"newNumerator",type:"uint256"},{indexed:!1,internalType:"uint256",name:"announcedFeeActivationTime",type:"uint256"}],name:"ManagerFeeIncreaseAnnounced",type:"event"},{anonymous:!1,inputs:[],name:"ManagerFeeIncreaseRenounced",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"fundAddress",type:"address"},{indexed:!1,internalType:"address",name:"manager",type:"address"},{indexed:!1,internalType:"uint256",name:"numerator",type:"uint256"},{indexed:!1,internalType:"uint256",name:"denominator",type:"uint256"}],name:"ManagerFeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"newManager",type:"address"},{indexed:!1,internalType:"string",name:"newManagerName",type:"string"}],name:"ManagerUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"poolLogic",type:"address"},{indexed:!1,internalType:"address",name:"from",type:"address"}],name:"PoolLogicSet",type:"event"},{inputs:[{internalType:"address",name:"member",type:"address"}],name:"addMember",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"members",type:"address[]"}],name:"addMembers",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"numerator",type:"uint256"}],name:"announceManagerFeeIncrease",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"announcedFeeIncreaseNumerator",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"announcedFeeIncreaseTimestamp",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"assetBalance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"assetDecimal",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"assetPosition",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"assetValue",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"assetValue",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"bool",name:"isDeposit",type:"bool"}],internalType:"struct IHasSupportedAsset.Asset[]",name:"_addAssets",type:"tuple[]"},{internalType:"address[]",name:"_removeAssets",type:"address[]"}],name:"changeAssets",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newManager",type:"address"},{internalType:"string",name:"newManagerName",type:"string"}],name:"changeManager",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"commitManagerFeeIncrease",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getDepositAssets",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getFundComposition",outputs:[{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"bool",name:"isDeposit",type:"bool"}],internalType:"struct IHasSupportedAsset.Asset[]",name:"assets",type:"tuple[]"},{internalType:"uint256[]",name:"balances",type:"uint256[]"},{internalType:"uint256[]",name:"rates",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getManagerFee",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getManagerFeeIncreaseInfo",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getMembers",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getSupportedAssets",outputs:[{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"bool",name:"isDeposit",type:"bool"}],internalType:"struct IHasSupportedAsset.Asset[]",name:"",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_manager",type:"address"},{internalType:"string",name:"_managerName",type:"string"},{internalType:"address",name:"_poolLogic",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"bool",name:"isDeposit",type:"bool"}],internalType:"struct IHasSupportedAsset.Asset[]",name:"_supportedAssets",type:"tuple[]"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"isDepositAsset",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"member",type:"address"}],name:"isMemberAllowed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"isSupportedAsset",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"manager",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"managerName",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"numberOfMembers",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"poolLogic",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"member",type:"address"}],name:"removeMember",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"members",type:"address[]"}],name:"removeMembers",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"removeTrader",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceManagerFeeIncrease",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"numerator",type:"uint256"}],name:"setManagerFeeNumerator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_poolLogic",type:"address"}],name:"setPoolLogic",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newTrader",type:"address"}],name:"setTrader",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"supportedAssets",outputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"bool",name:"isDeposit",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalFundValue",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"trader",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"validateAsset",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}];(v=exports.Network||(exports.Network={})).POLYGON="polygon",v.OPTIMISM="optimism",(x=exports.Dapp||(exports.Dapp={})).SUSHISWAP="sushiswap",x.AAVE="aave",x.ONEINCH="1inch",x.QUICKSWAP="quickswap",x.BALANCER="balancer",x.UNISWAPV3="uniswapV3",x.SYNTHETIX="synthetix",x.AAVEV3="aavev3",x.ARRAKIS="arrakis",x.TOROS="toros",x.VELODROME="velodrome",x.LYRA="lyra",(h=exports.Transaction||(exports.Transaction={})).SWAP="swapExactTokensForTokens",h.ADD_LIQUIDITY="addLiquidity",h.DEPOSIT="deposit",h.HARVEST="harvest",h.CLAIM_DISTRIBIUTIONS="claimDistributions",h.CLAIM_REWARDS="claimRewards",h.REMOVE_LIQUIDITY="removeLiquidity",h.DECREASE_LIQUIDITY="decreaseLiquidity",h.INCREASE_LIQUIDITY="increaseLiquidity",h.COLLECT="collect",h.MULTI_CALL="multicall",h.BORROW="borrow",h.REPAY="repay",h.WITHDRAW="withdraw",h.MINT="mint",h.BURN="burn",h.SWAP_SYNTHS="exchangeWithTracking",h.ADD_LIQUIDITY_STAKE="addLiquidityAndStake",h.REMOVE_LIQUIDITY_UNSTAKE="removeLiquidityAndUnstake",require("dotenv").config();var H=((M={})[exports.Network.POLYGON]=process.env.STAGING_CONTRACTS?"0xDd87eCdB10cFF7004276AAbAbd30e7a08F69bb53":"0xfdc7b8bFe0DD3513Cc669bB8d601Cb83e2F69cB0",M[exports.Network.OPTIMISM]="0x5e61a079A178f0E5784107a4963baAe0c5a680c6",M),j=((I={})[exports.Network.POLYGON]=((g={})[exports.Dapp.SUSHISWAP]="0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506",g[exports.Dapp.AAVE]="0x8dFf5E27EA6b7AC08EbFdf9eB090F32ee9a30fcf",g[exports.Dapp.AAVEV3]="0x794a61358D6845594F94dc1DB02A252b5b4814aD",g[exports.Dapp.ONEINCH]="0x1111111254fb6c44bac0bed2854e76f90643097d",g[exports.Dapp.QUICKSWAP]="0xa5E0829CaCEd8fFDD4De3c43696c57F7D7A678ff",g[exports.Dapp.BALANCER]="0xBA12222222228d8Ba445958a75a0704d566BF2C8",g[exports.Dapp.UNISWAPV3]="0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",g[exports.Dapp.ARRAKIS]="0xbc91a120cCD8F80b819EAF32F0996daC3Fa76a6C",g[exports.Dapp.TOROS]="0x42B1DDcFa1c43E06F483BA0Dd1b9cC923043677f",g),I[exports.Network.OPTIMISM]=((k={})[exports.Dapp.UNISWAPV3]="0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",k[exports.Dapp.SYNTHETIX]="0x8700dAec35aF8Ff88c16BdF0418774CB3D7599B4",k[exports.Dapp.AAVEV3]="0x794a61358D6845594F94dc1DB02A252b5b4814aD",k[exports.Dapp.ONEINCH]="0x1111111254760F7ab3F16433eea9304126DCd199",k[exports.Dapp.TOROS]="0xf8C62BD5f2fEf9E1a329c197F32E77AD6866B022",k[exports.Dapp.VELODROME]="0x9c12939390052919aF3155f41Bf4160Fd3666A6f",k[exports.Dapp.LYRA]="0xCCE7819d65f348c64B7Beb205BA367b3fE33763B",k[exports.Dapp.ARRAKIS]="0x86d62a8ad19998e315e6242b63eb73f391d4674b",k),I),Y=((O={})[exports.Network.POLYGON]=((A={})[exports.Dapp.SUSHISWAP]="0xc35DADB65012eC5796536bD9864eD8773aBc74C4",A[exports.Dapp.QUICKSWAP]="0x5757371414417b8C6CAad45bAeF941aBc7d3Ab32",A),O[exports.Network.OPTIMISM]={},O),G=((C={})[exports.Network.POLYGON]=((P={})[exports.Dapp.SUSHISWAP]="0x0769fd68dFb93167989C6f7254cd0D766Fb2841F",P[exports.Dapp.BALANCER]="0x0F3e0c4218b7b0108a3643cFe9D3ec0d4F57c54e",P[exports.Dapp.AAVE]="0x357D51124f59836DeD84c8a1730D72B749d8BC23",P[exports.Dapp.AAVEV3]="0x929EC64c34a17401F460460D4B9390518E5B473e",P),C[exports.Network.OPTIMISM]={},C),K=((S={})[exports.Network.POLYGON]=((R={})[exports.Dapp.AAVE]="0xd05e3E715d945B59290df0ae8eF85c1BdB684744",R[exports.Dapp.AAVEV3]="0xa97684ead0e402dC232d5A977953DF7ECBaB3CDb",R),S[exports.Network.OPTIMISM]=((D={})[exports.Dapp.AAVEV3]="0xa97684ead0e402dC232d5A977953DF7ECBaB3CDb",D),S),z=((E={})[exports.Network.POLYGON]="0xC36442b4a4522E871399CD717aBDD847Ab11FE88",E[exports.Network.OPTIMISM]="0xC36442b4a4522E871399CD717aBDD847Ab11FE88",E),Q=((L={})[exports.Network.POLYGON]=137,L[exports.Network.OPTIMISM]=10,L),X=((F={})[exports.Network.POLYGON]="https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-polygon-v2",F[exports.Network.OPTIMISM]="",F),Z=((B={})[exports.Network.POLYGON]="0x275617327c958bD06b5D6b871E7f491D76113dd8",B[exports.Network.OPTIMISM]="",B),J=((_={})[exports.Network.OPTIMISM]=n.Deployment.Mainnet,_),$=Math.floor(Date.now()/1e3)+1200,ee="0xffffffffffffffffffffffffffffffff",te=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"}],ne=[{inputs:[{internalType:"uint256",name:"pid",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"to",type:"address"}],name:"deposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"pid",type:"uint256"},{internalType:"address",name:"to",type:"address"}],name:"emergencyWithdraw",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"pid",type:"uint256"},{internalType:"address",name:"to",type:"address"}],name:"harvest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"pid",type:"uint256"}],name:"lpToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"poolLength",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"pid",type:"uint256"}],name:"updatePool",outputs:[{components:[{internalType:"uint128",name:"accSushiPerShare",type:"uint128"},{internalType:"uint64",name:"lastRewardTime",type:"uint64"},{internalType:"uint64",name:"allocPoint",type:"uint64"}],internalType:"struct IMiniChefV2.PoolInfo",name:"",type:"tuple"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_pid",type:"uint256"},{internalType:"address",name:"_user",type:"address"}],name:"userInfo",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"pid",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"to",type:"address"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"pid",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"to",type:"address"}],name:"withdrawAndHarvest",outputs:[],stateMutability:"nonpayable",type:"function"}],ae={abi:[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!1,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"onBehalfOf",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"borrowRateMode",type:"uint256"},{indexed:!1,internalType:"uint256",name:"borrowRate",type:"uint256"},{indexed:!0,internalType:"uint16",name:"referral",type:"uint16"}],name:"Borrow",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!1,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"onBehalfOf",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!0,internalType:"uint16",name:"referral",type:"uint16"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"target",type:"address"},{indexed:!0,internalType:"address",name:"initiator",type:"address"},{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"premium",type:"uint256"},{indexed:!1,internalType:"uint16",name:"referralCode",type:"uint16"}],name:"FlashLoan",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"collateralAsset",type:"address"},{indexed:!0,internalType:"address",name:"debtAsset",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint256",name:"debtToCover",type:"uint256"},{indexed:!1,internalType:"uint256",name:"liquidatedCollateralAmount",type:"uint256"},{indexed:!1,internalType:"address",name:"liquidator",type:"address"},{indexed:!1,internalType:"bool",name:"receiveAToken",type:"bool"}],name:"LiquidationCall",type:"event"},{anonymous:!1,inputs:[],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"}],name:"RebalanceStableBorrowRate",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"repayer",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Repay",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!1,internalType:"uint256",name:"liquidityRate",type:"uint256"},{indexed:!1,internalType:"uint256",name:"stableBorrowRate",type:"uint256"},{indexed:!1,internalType:"uint256",name:"variableBorrowRate",type:"uint256"},{indexed:!1,internalType:"uint256",name:"liquidityIndex",type:"uint256"},{indexed:!1,internalType:"uint256",name:"variableBorrowIndex",type:"uint256"}],name:"ReserveDataUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"}],name:"ReserveUsedAsCollateralDisabled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"}],name:"ReserveUsedAsCollateralEnabled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint256",name:"rateMode",type:"uint256"}],name:"Swap",type:"event"},{anonymous:!1,inputs:[],name:"Unpaused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Withdraw",type:"event"},{inputs:[],name:"FLASHLOAN_PREMIUM_TOTAL",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"LENDINGPOOL_REVISION",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAX_NUMBER_RESERVES",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAX_STABLE_RATE_BORROW_SIZE_PERCENT",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"interestRateMode",type:"uint256"},{internalType:"uint16",name:"referralCode",type:"uint16"},{internalType:"address",name:"onBehalfOf",type:"address"}],name:"borrow",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"onBehalfOf",type:"address"},{internalType:"uint16",name:"referralCode",type:"uint16"}],name:"deposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"balanceFromBefore",type:"uint256"},{internalType:"uint256",name:"balanceToBefore",type:"uint256"}],name:"finalizeTransfer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"receiverAddress",type:"address"},{internalType:"address[]",name:"assets",type:"address[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"uint256[]",name:"modes",type:"uint256[]"},{internalType:"address",name:"onBehalfOf",type:"address"},{internalType:"bytes",name:"params",type:"bytes"},{internalType:"uint16",name:"referralCode",type:"uint16"}],name:"flashLoan",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getAddressesProvider",outputs:[{internalType:"contract ILendingPoolAddressesProvider",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getConfiguration",outputs:[{components:[{internalType:"uint256",name:"data",type:"uint256"}],internalType:"struct DataTypes.ReserveConfigurationMap",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getReserveData",outputs:[{components:[{components:[{internalType:"uint256",name:"data",type:"uint256"}],internalType:"struct DataTypes.ReserveConfigurationMap",name:"configuration",type:"tuple"},{internalType:"uint128",name:"liquidityIndex",type:"uint128"},{internalType:"uint128",name:"variableBorrowIndex",type:"uint128"},{internalType:"uint128",name:"currentLiquidityRate",type:"uint128"},{internalType:"uint128",name:"currentVariableBorrowRate",type:"uint128"},{internalType:"uint128",name:"currentStableBorrowRate",type:"uint128"},{internalType:"uint40",name:"lastUpdateTimestamp",type:"uint40"},{internalType:"address",name:"aTokenAddress",type:"address"},{internalType:"address",name:"stableDebtTokenAddress",type:"address"},{internalType:"address",name:"variableDebtTokenAddress",type:"address"},{internalType:"address",name:"interestRateStrategyAddress",type:"address"},{internalType:"uint8",name:"id",type:"uint8"}],internalType:"struct DataTypes.ReserveData",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getReserveNormalizedIncome",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getReserveNormalizedVariableDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getReservesList",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"}],name:"getUserAccountData",outputs:[{internalType:"uint256",name:"totalCollateralETH",type:"uint256"},{internalType:"uint256",name:"totalDebtETH",type:"uint256"},{internalType:"uint256",name:"availableBorrowsETH",type:"uint256"},{internalType:"uint256",name:"currentLiquidationThreshold",type:"uint256"},{internalType:"uint256",name:"ltv",type:"uint256"},{internalType:"uint256",name:"healthFactor",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"}],name:"getUserConfiguration",outputs:[{components:[{internalType:"uint256",name:"data",type:"uint256"}],internalType:"struct DataTypes.UserConfigurationMap",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"address",name:"aTokenAddress",type:"address"},{internalType:"address",name:"stableDebtAddress",type:"address"},{internalType:"address",name:"variableDebtAddress",type:"address"},{internalType:"address",name:"interestRateStrategyAddress",type:"address"}],name:"initReserve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ILendingPoolAddressesProvider",name:"provider",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"collateralAsset",type:"address"},{internalType:"address",name:"debtAsset",type:"address"},{internalType:"address",name:"user",type:"address"},{internalType:"uint256",name:"debtToCover",type:"uint256"},{internalType:"bool",name:"receiveAToken",type:"bool"}],name:"liquidationCall",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"address",name:"user",type:"address"}],name:"rebalanceStableBorrowRate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"rateMode",type:"uint256"},{internalType:"address",name:"onBehalfOf",type:"address"}],name:"repay",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"configuration",type:"uint256"}],name:"setConfiguration",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"val",type:"bool"}],name:"setPause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"address",name:"rateStrategyAddress",type:"address"}],name:"setReserveInterestRateStrategyAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"bool",name:"useAsCollateral",type:"bool"}],name:"setUserUseReserveAsCollateral",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"rateMode",type:"uint256"}],name:"swapBorrowRateMode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"to",type:"address"}],name:"withdraw",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"}]},ie=[{inputs:[{internalType:"bytes32",name:"sourceCurrencyKey",type:"bytes32"},{internalType:"uint256",name:"sourceAmount",type:"uint256"},{internalType:"bytes32",name:"destinationCurrencyKey",type:"bytes32"}],name:"exchange",outputs:[{internalType:"uint256",name:"amountReceived",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"sourceCurrencyKey",type:"bytes32"},{internalType:"uint256",name:"sourceAmount",type:"uint256"},{internalType:"bytes32",name:"destinationCurrencyKey",type:"bytes32"},{internalType:"address",name:"originator",type:"address"},{internalType:"bytes32",name:"trackingCode",type:"bytes32"}],name:"exchangeWithTracking",outputs:[{internalType:"uint256",name:"amountReceived",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"currencyKey",type:"bytes32"}],name:"settle",outputs:[{internalType:"uint256",name:"reclaimed",type:"uint256"},{internalType:"uint256",name:"refunded",type:"uint256"},{internalType:"uint256",name:"numEntriesSettled",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"key",type:"bytes32"}],name:"synths",outputs:[{internalType:"address",name:"synthTokenAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"synthsByAddress",outputs:[{internalType:"bytes32",name:"key",type:"bytes32"}],stateMutability:"view",type:"function"}],re=[{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"amountADesired",type:"uint256"},{internalType:"uint256",name:"amountBDesired",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"}],se=[{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WETH9",type:"address"},{internalType:"address",name:"_tokenDescriptor_",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!1,internalType:"address",name:"recipient",type:"address"},{indexed:!1,internalType:"uint256",name:"amount0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1",type:"uint256"}],name:"Collect",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!1,internalType:"uint128",name:"liquidity",type:"uint128"},{indexed:!1,internalType:"uint256",name:"amount0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1",type:"uint256"}],name:"DecreaseLiquidity",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!1,internalType:"uint128",name:"liquidity",type:"uint128"},{indexed:!1,internalType:"uint256",name:"amount0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1",type:"uint256"}],name:"IncreaseLiquidity",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"PERMIT_TYPEHASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"WETH9",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"burn",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint128",name:"amount0Max",type:"uint128"},{internalType:"uint128",name:"amount1Max",type:"uint128"}],internalType:"struct INonfungiblePositionManager.CollectParams",name:"params",type:"tuple"}],name:"collect",outputs:[{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token0",type:"address"},{internalType:"address",name:"token1",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"uint160",name:"sqrtPriceX96",type:"uint160"}],name:"createAndInitializePoolIfNecessary",outputs:[{internalType:"address",name:"pool",type:"address"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint128",name:"liquidity",type:"uint128"},{internalType:"uint256",name:"amount0Min",type:"uint256"},{internalType:"uint256",name:"amount1Min",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct INonfungiblePositionManager.DecreaseLiquidityParams",name:"params",type:"tuple"}],name:"decreaseLiquidity",outputs:[{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint256",name:"amount0Desired",type:"uint256"},{internalType:"uint256",name:"amount1Desired",type:"uint256"},{internalType:"uint256",name:"amount0Min",type:"uint256"},{internalType:"uint256",name:"amount1Min",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct INonfungiblePositionManager.IncreaseLiquidityParams",name:"params",type:"tuple"}],name:"increaseLiquidity",outputs:[{internalType:"uint128",name:"liquidity",type:"uint128"},{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"address",name:"token0",type:"address"},{internalType:"address",name:"token1",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"int24",name:"tickLower",type:"int24"},{internalType:"int24",name:"tickUpper",type:"int24"},{internalType:"uint256",name:"amount0Desired",type:"uint256"},{internalType:"uint256",name:"amount1Desired",type:"uint256"},{internalType:"uint256",name:"amount0Min",type:"uint256"},{internalType:"uint256",name:"amount1Min",type:"uint256"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct INonfungiblePositionManager.MintParams",name:"params",type:"tuple"}],name:"mint",outputs:[{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint128",name:"liquidity",type:"uint128"},{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes[]",name:"data",type:"bytes[]"}],name:"multicall",outputs:[{internalType:"bytes[]",name:"results",type:"bytes[]"}],stateMutability:"payable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"positions",outputs:[{internalType:"uint96",name:"nonce",type:"uint96"},{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"token0",type:"address"},{internalType:"address",name:"token1",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"int24",name:"tickLower",type:"int24"},{internalType:"int24",name:"tickUpper",type:"int24"},{internalType:"uint128",name:"liquidity",type:"uint128"},{internalType:"uint256",name:"feeGrowthInside0LastX128",type:"uint256"},{internalType:"uint256",name:"feeGrowthInside1LastX128",type:"uint256"},{internalType:"uint128",name:"tokensOwed0",type:"uint128"},{internalType:"uint128",name:"tokensOwed1",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[],name:"refundETH",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitAllowed",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitAllowedIfNecessary",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitIfNecessary",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"}],name:"sweepToken",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount0Owed",type:"uint256"},{internalType:"uint256",name:"amount1Owed",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"uniswapV3MintCallback",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"}],name:"unwrapWETH9",outputs:[],stateMutability:"payable",type:"function"},{stateMutability:"payable",type:"receive"}],pe=[{inputs:[{internalType:"contract IVault",name:"vault",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"distributor",type:"address"},{indexed:!0,internalType:"contract IERC20",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"distributionId",type:"uint256"},{indexed:!1,internalType:"bytes32",name:"merkleRoot",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DistributionAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"distributor",type:"address"},{indexed:!0,internalType:"contract IERC20",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"distributionId",type:"uint256"},{indexed:!0,internalType:"address",name:"claimer",type:"address"},{indexed:!1,internalType:"address",name:"recipient",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DistributionClaimed",type:"event"},{inputs:[{internalType:"address",name:"claimer",type:"address"},{components:[{internalType:"uint256",name:"distributionId",type:"uint256"},{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"address",name:"distributor",type:"address"},{internalType:"uint256",name:"tokenIndex",type:"uint256"},{internalType:"bytes32[]",name:"merkleProof",type:"bytes32[]"}],internalType:"struct MerkleOrchard.Claim[]",name:"claims",type:"tuple[]"},{internalType:"contract IERC20[]",name:"tokens",type:"address[]"}],name:"claimDistributions",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"claimer",type:"address"},{components:[{internalType:"uint256",name:"distributionId",type:"uint256"},{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"address",name:"distributor",type:"address"},{internalType:"uint256",name:"tokenIndex",type:"uint256"},{internalType:"bytes32[]",name:"merkleProof",type:"bytes32[]"}],internalType:"struct MerkleOrchard.Claim[]",name:"claims",type:"tuple[]"},{internalType:"contract IERC20[]",name:"tokens",type:"address[]"}],name:"claimDistributionsToInternalBalance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"claimer",type:"address"},{components:[{internalType:"uint256",name:"distributionId",type:"uint256"},{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"address",name:"distributor",type:"address"},{internalType:"uint256",name:"tokenIndex",type:"uint256"},{internalType:"bytes32[]",name:"merkleProof",type:"bytes32[]"}],internalType:"struct MerkleOrchard.Claim[]",name:"claims",type:"tuple[]"},{internalType:"contract IERC20[]",name:"tokens",type:"address[]"},{internalType:"contract IDistributorCallback",name:"callbackContract",type:"address"},{internalType:"bytes",name:"callbackData",type:"bytes"}],name:"claimDistributionsWithCallback",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"bytes32",name:"merkleRoot",type:"bytes32"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"distributionId",type:"uint256"}],name:"createDistribution",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"address",name:"distributor",type:"address"},{internalType:"uint256",name:"distributionId",type:"uint256"}],name:"getDistributionRoot",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"address",name:"distributor",type:"address"}],name:"getNextDistributionId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"address",name:"distributor",type:"address"}],name:"getRemainingBalance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getVault",outputs:[{internalType:"contract IVault",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"address",name:"distributor",type:"address"},{internalType:"uint256",name:"distributionId",type:"uint256"},{internalType:"address",name:"claimer",type:"address"}],name:"isClaimed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"address",name:"distributor",type:"address"},{internalType:"uint256",name:"distributionId",type:"uint256"},{internalType:"address",name:"claimer",type:"address"},{internalType:"uint256",name:"claimedBalance",type:"uint256"},{internalType:"bytes32[]",name:"merkleProof",type:"bytes32[]"}],name:"verifyClaim",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}],ue=[{inputs:[{internalType:"address[]",name:"assets",type:"address[]"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"to",type:"address"}],name:"claimRewards",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"}],name:"getUserUnclaimedRewards",outputs:[{internalType:"uint256",name:"rewards",type:"uint256"}],stateMutability:"view",type:"function"}],ye=[{inputs:[{internalType:"address",name:"gauge",type:"address"},{internalType:"uint256",name:"amount0Max",type:"uint256"},{internalType:"uint256",name:"amount1Max",type:"uint256"},{internalType:"uint256",name:"amount0Min",type:"uint256"},{internalType:"uint256",name:"amount1Min",type:"uint256"},{internalType:"address",name:"receiver",type:"address"}],name:"addLiquidityAndStake",outputs:[{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"},{internalType:"uint256",name:"mintAmount",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"gauge",type:"address"},{internalType:"uint256",name:"burnAmount",type:"uint256"},{internalType:"uint256",name:"amount0Min",type:"uint256"},{internalType:"uint256",name:"amount1Min",type:"uint256"},{internalType:"address",name:"receiver",type:"address"}],name:"removeLiquidityAndUnstake",outputs:[{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"},{internalType:"uint128",name:"liquidityBurned",type:"uint128"}],stateMutability:"nonpayable",type:"function"}],oe=[{inputs:[{internalType:"address",name:"user",type:"address"}],name:"claim_rewards",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"claim_rewards",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"claim_rewards",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"rewardToken",type:"address"}],name:"claimable_reward",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"reward_count",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"reward_data",outputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"reward_tokens",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"staking_token",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"}],de=[{inputs:[{internalType:"address",name:"user",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"}],name:"claim_rewards",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"claim_rewards",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"claim_rewards",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"rewardToken",type:"address"}],name:"claimable_reward",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"rewardToken",type:"address"}],name:"claimable_reward_write",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"user",type:"address"}],name:"deposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"onBehalf",type:"address"},{internalType:"bool",name:"isClaimRewards",type:"bool"}],name:"deposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"deposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"lp_token",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"reward_contract",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"reward_tokens",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bool",name:"isClaimRewards",type:"bool"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"}];function le(e,t,n,a){return me.apply(this,arguments)}function me(){return(me=f(N.mark((function e(n,a,i,r){var s,p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=new t.ethers.Contract(i[0],a,n),e.prev=1,p=i[2]||[],e.next=5,s[i[1]].apply(s,p.concat([r||{}]));case 5:return e.abrupt("return",e.sent);case 8:return e.prev=8,e.t0=e.catch(1),e.abrupt("return",Promise.reject(e.t0));case 11:case"end":return e.stop()}}),e,null,[[1,8]])})))).apply(this,arguments)}function ce(e,t,n,a,i,r){return Te.apply(this,arguments)}function Te(){return(Te=f(N.mark((function e(n,a,i,r,s,u){var y,o;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===s&&(s={}),void 0===u&&(u=!1),y=new t.ethers.Contract(Z[n],["function tryAggregate(bool requireSuccess, tuple(address, bytes)[] memory calls) public view returns (tuple(bool, bytes)[] memory returnData)"],a),o=new p.Interface(i),e.prev=4,e.next=7,y.tryAggregate(u,r.map((function(e){return[e[0].toLowerCase(),o.encodeFunctionData(e[1],e[2])]})),s);case 7:return e.abrupt("return",e.sent.map((function(e,t){if(!e[0])return null;var n=o.decodeFunctionResult(r[t][1],e[1]);return n.length>1?n:n[0]})));case 11:return e.prev=11,e.t0=e.catch(4),e.abrupt("return",Promise.reject(e.t0));case 14:case"end":return e.stop()}}),e,null,[[4,11]])})))).apply(this,arguments)}var be=function(){function e(e){this.elements=e.filter((function(e){return e})).map((function(e){return Buffer.from(y.hexToBytes(e))})),this.elements.sort(Buffer.compare),this.elements=this.bufDedup(this.elements),this.layers=this.getLayers(this.elements)}var t=e.prototype;return t.getLayers=function(e){if(0===e.length)return[[""]];var t=[];for(t.push(e);t[t.length-1].length>1;)t.push(this.getNextLayer(t[t.length-1]));return t},t.getNextLayer=function(e){var t=this;return e.reduce((function(e,n,a,i){return a%2==0&&e.push(t.combinedHash(n,i[a+1])),e}),[])},t.combinedHash=function(e,t){return e?t?o.keccak256(this.sortAndConcat(e,t)):e:t},t.getRoot=function(){return this.layers[this.layers.length-1][0]},t.getHexRoot=function(){return o.bufferToHex(this.getRoot())},t.getProof=function(e){var t=this,n=this.bufIndexOf(e,this.elements);if(-1===n)throw new Error("Element does not exist in Merkle tree");return this.layers.reduce((function(e,a){var i=t.getPairElement(n,a);return i&&e.push(i),n=Math.floor(n/2),e}),[])},t.getHexProof=function(e){var t=Buffer.from(y.hexToBytes(e)),n=this.getProof(t);return this.bufArrToHexArr(n)},t.getPairElement=function(e,t){var n=e%2==0?e+1:e-1;return n<t.length?t[n]:null},t.bufIndexOf=function(e,t){var n;n=32===e.length&&Buffer.isBuffer(e)?e:o.keccakFromString(e);for(var a=0;a<t.length;a++)if(n.equals(t[a]))return a;return-1},t.bufDedup=function(e){return e.filter((function(t,n){return 0===n||!e[n-1].equals(t)}))},t.bufArrToHexArr=function(e){if(e.some((function(e){return!Buffer.isBuffer(e)})))throw new Error("Array is not an array of buffers");return e.map((function(e){return"0x"+e.toString("hex")}))},t.sortAndConcat=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return Buffer.concat([].concat(t).sort(Buffer.compare))},e}();function fe(e,t){var n="string"==typeof e?new u(e):e,a=new u(t.toString()),i=new u(10).pow(a);return n.times(i)}var we=new(function(){function e(){}return e.prototype.get=function(){var e=f(N.mark((function e(t,n){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===n&&(n="ipfs"),e.next=3,i.get("https://cloudflare-ipfs.com/"+n+"/"+t);case 3:return e.abrupt("return",e.sent.data);case 6:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),e}()),ve=function(){function e(e,t){this.network=e,this.signer=t}var n=e.prototype;return n.getMultiTokensPendingClaims=function(){var e=f(N.mark((function e(t){var n,a,i=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getTokenClaimsInfo();case 2:if(null==(n=e.sent)){e.next=9;break}return e.next=6,Promise.all(n.map((function(e){return i.getTokenPendingClaims(e,s.getAddress(t))})));case 6:return a=e.sent.filter((function(e){return Number(e.availableToClaim)>0})),e.abrupt("return",a);case 9:return e.abrupt("return",[]);case 10:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),n.getTokenPendingClaims=function(){var e=f(N.mark((function e(t,n){var a,i,r,s,p,y;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getSnapshot(t.manifest);case 2:return a=e.sent,i=t.weekStart,e.next=6,this.getClaimStatus(Object.keys(a).length,n,t);case 6:return r=e.sent.map((function(e,t){return[t+i,e]})).filter((function(e){return!e[1]})).map((function(e){return e[0]})),e.next=10,this.getReports(a,r);case 10:return s=e.sent,p=Object.entries(s).filter((function(e){return e[1][n]})).map((function(e){return{id:e[0],amount:e[1][n]}})),y=p.map((function(e){return parseFloat(e.amount)})).reduce((function(e,t){return e.plus(t)}),new u("0")).toString(),e.abrupt("return",{claims:p,reports:s,tokenClaimInfo:t,availableToClaim:y});case 14:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}(),n.multiTokenClaimRewards=function(){var e=f(N.mark((function e(t,n){var a=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,Promise.all(n.map((function(e,n){return a.computeClaimProofs(e,s.getAddress(t),n)})));case 3:return e.abrupt("return",r.flatten(e.sent));case 7:return e.prev=7,e.t0=e.catch(0),console.log("[Claim] Claim Rewards Error:",e.t0),e.abrupt("return",Promise.reject(e.t0));case 11:case"end":return e.stop()}}),e,null,[[0,7]])})));return function(t,n){return e.apply(this,arguments)}}(),n.computeClaimProofs=function(){var e=f(N.mark((function e(t,n,a){var i=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Promise.all(t.claims.map((function(e){var r={account:n,distributor:t.tokenClaimInfo.distributor,tokenIndex:a,decimals:t.tokenClaimInfo.decimals,report:w({},t.reports[e.id]),claim:w({},e)};return i.computeClaimProof(r)}))));case 1:case"end":return e.stop()}}),e)})));return function(t,n,a){return e.apply(this,arguments)}}(),n.computeClaimProof=function(e){var t=e.account,n=e.claim,a=e.distributor,i=e.tokenIndex,r=e.decimals,s=n.amount,p=function(e,t){void 0===t&&(t=18);var n=[];return Object.keys(e).forEach((function(a){var i=fe(e[a],t).toString(10),r=y.soliditySha3({t:"address",v:a},{t:"uint",v:i});n.push(r)})),new be(n)}(e.report,r),u=fe(s,r).toString(10),o=p.getHexProof(y.soliditySha3({t:"address",v:t},{t:"uint",v:u}));return[parseInt(n.id),u,a,i,o]},n.getTokenClaimsInfo=function(){var e=f(N.mark((function e(){var t;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,i.get("https://raw.githubusercontent.com/balancer-labs/frontend-v2/develop/src/services/claim/MultiTokenClaim.json");case 3:t=e.sent.data[Q[this.network]],e.next=11;break;case 8:e.prev=8,e.t0=e.catch(0),console.log("balancer multi token info error",e.t0);case 11:if(null==t){e.next=13;break}return e.abrupt("return",t.map((function(e){return w({},e,{token:s.getAddress(e.token),decimals:18})})));case 13:return e.abrupt("return",null);case 14:case"end":return e.stop()}}),e,this,[[0,8]])})));return function(){return e.apply(this,arguments)}}(),n.getSnapshot=function(){var e=f(N.mark((function e(t){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,i.get(t);case 3:return e.abrupt("return",e.sent.data||{});case 7:return e.prev=7,e.t0=e.catch(0),e.abrupt("return",{});case 10:case"end":return e.stop()}}),e,null,[[0,7]])})));return function(t){return e.apply(this,arguments)}}(),n.getClaimStatus=function(){var e=f(N.mark((function e(n,a,i){var s,p,u,y,o,d,l,m,c=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=i.token,p=i.distributor,u=i.weekStart,y=Array.from({length:n}).map((function(e,t){return[G[c.network][exports.Dapp.BALANCER],"isClaimed",[s,p,u+t,a]]})),o=Array.from({length:n}).map((function(e,t){return[G[c.network][exports.Dapp.BALANCER],"getDistributionRoot",[s,p,u+t]]})),e.prev=3,e.next=6,ce(this.network,this.signer,pe,[].concat(y,o),{},!0);case 6:if(!((d=e.sent).length>0)){e.next=12;break}return l=r.chunk(r.flatten(d),n),m=l[1],e.abrupt("return",l[0].filter((function(e,n){return m[n]!==t.ethers.constants.HashZero})));case 12:e.next=17;break;case 14:e.prev=14,e.t0=e.catch(3),console.log("[Claim] Claim Status Error:",e.t0);case 17:return e.abrupt("return",[]);case 18:case"end":return e.stop()}}),e,this,[[3,14]])})));return function(t,n,a){return e.apply(this,arguments)}}(),n.getReports=function(){var e=f(N.mark((function e(t,n){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all(n.filter((function(e){return null!=t[e]})).map((function(e){return we.get(t[e])})));case 2:return e.abrupt("return",Object.fromEntries(e.sent.map((function(e,t){return[n[t],e]}))));case 4:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),e}();function xe(e,t,n,a){var i,r=function(e,t,n){var a,i=n.split("."),r=i[0],s=i[1],p=null!=(a=null==s?void 0:s.length)?a:0,u=m.BigInt((null!=r?r:"")+(null!=s?s:""));return new d.Price(e,t,m.multiply(m.BigInt(Math.pow(10,p)),m.BigInt(Math.pow(10,e.decimals))),m.multiply(u,m.BigInt(Math.pow(10,t.decimals))))}(e,t,a),s=l.encodeSqrtRatioX96(r.numerator,r.denominator);return i=m.greaterThanOrEqual(s,l.TickMath.MAX_SQRT_RATIO)?l.TickMath.MAX_TICK:m.lessThanOrEqual(s,l.TickMath.MIN_SQRT_RATIO)?l.TickMath.MIN_TICK:l.priceToClosestTick(r),l.nearestUsableTick(i,l.TICK_SPACINGS[n])}function he(e,t,n,a,i,r,s,p,u,y){return Me.apply(this,arguments)}function Me(){return(Me=f(N.mark((function e(t,n,a,i,r,s,p,u,y,o){var l,m,c,T,b,f,w,v,x,h,M,g,k,I;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return l=0,m=0,c=Q[t.network],e.next=5,Promise.all([n,a].map((function(e){return t.utils.getDecimals(e)})));case 5:return b=new d.Token(c,n,(T=e.sent)[0]),f=new d.Token(c,a,T[1]),w=b.sortsBefore(f)?[b,f]:[f,b],x=w[1],h=!b.equals(v=w[0]),s&&p?(l=h?xe(x,v,o,p.toString()):xe(v,x,o,s.toString()),m=h?xe(x,v,o,s.toString()):xe(v,x,o,p.toString())):u&&y&&(l=u,m=y),g=(M=h?[r,i]:[i,r])[0],k=M[1],I=Math.floor(Date.now()/1e3)+1200,e.abrupt("return",[v.address,x.address,o,l,m,g,k,"0","0",t.address,I]);case 14:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ge(e,t){return ke.apply(this,arguments)}function ke(){return(ke=f(N.mark((function e(n,a){var i;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=new t.ethers.Contract(z[a.network],se,a.signer),e.next=3,i.positions(n);case 3:return e.abrupt("return",e.sent.liquidity);case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var Ie=[{inputs:[{components:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMinimum",type:"uint256"}],internalType:"struct ISwapRouter.ExactInputParams",name:"params",type:"tuple"}],name:"exactInput",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMinimum",type:"uint256"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"}],internalType:"struct ISwapRouter.ExactInputSingleParams",name:"params",type:"tuple"}],name:"exactInputSingle",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMaximum",type:"uint256"}],internalType:"struct ISwapRouter.ExactOutputParams",name:"params",type:"tuple"}],name:"exactOutput",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMaximum",type:"uint256"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"}],internalType:"struct ISwapRouter.ExactOutputSingleParams",name:"params",type:"tuple"}],name:"exactOutputSingle",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"int256",name:"amount0Delta",type:"int256"},{internalType:"int256",name:"amount1Delta",type:"int256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"uniswapV3SwapCallback",outputs:[],stateMutability:"nonpayable",type:"function"}],Ae=[{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WETH9",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"WETH9",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"uint256",name:"amountIn",type:"uint256"}],name:"quoteExactInput",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"}],name:"quoteExactInputSingle",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"uint256",name:"amountOut",type:"uint256"}],name:"quoteExactOutput",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"}],name:"quoteExactOutputSingle",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"int256",name:"amount0Delta",type:"int256"},{internalType:"int256",name:"amount1Delta",type:"int256"},{internalType:"bytes",name:"path",type:"bytes"}],name:"uniswapV3SwapCallback",outputs:[],stateMutability:"view",type:"function"}];function Oe(e,t,n,a,i,r){return Pe.apply(this,arguments)}function Pe(){return(Pe=f(N.mark((function e(n,a,i,r,s,p){var u,y,o,d;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u=new t.ethers.Contract("0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6",Ae,n.signer),e.next=3,u.callStatic.quoteExactInputSingle(a,i,p,r.toString(),0);case 3:return y=e.sent.mul(100*(100-s)).div(1e4),o=new t.ethers.utils.Interface(Ie),d=o.encodeFunctionData("exactInputSingle",[[a,i,p,n.address,r.toString(),y.toString(),0]]),e.abrupt("return",d);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var Ce=[{inputs:[{internalType:"address payable",name:"_feeSink",type:"address"},{components:[{internalType:"contract IUniswapV2RouterSwapOnly",name:"swapRouter",type:"address"},{internalType:"contract IUniswapV2Router",name:"assetType2Router",type:"address"},{internalType:"contract IUniswapV2Router",name:"assetType5Router",type:"address"},{components:[{internalType:"contract ISynthetix",name:"snxProxy",type:"address"},{internalType:"contract IERC20",name:"swapSUSDToAsset",type:"address"},{internalType:"contract ISynthAddressProxy",name:"sUSDProxy",type:"address"}],internalType:"struct EasySwapperStructs.SynthetixProps",name:"synthetixProps",type:"tuple"},{internalType:"contract IERC20",name:"weth",type:"address"}],internalType:"struct EasySwapperStructs.WithdrawProps",name:"_withdrawProps",type:"tuple"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"pool",type:"address"},{indexed:!1,internalType:"address",name:"depositor",type:"address"},{indexed:!1,internalType:"address",name:"depositAsset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"address",name:"poolDepositAsset",type:"address"},{indexed:!1,internalType:"uint256",name:"liquidityMinted",type:"uint256"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"allowedPools",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"pool",type:"address"},{internalType:"contract IERC20",name:"depositAsset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"contract IERC20",name:"poolDepositAsset",type:"address"},{internalType:"uint256",name:"expectedLiquidityMinted",type:"uint256"}],name:"deposit",outputs:[{internalType:"uint256",name:"liquidityMinted",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"pool",type:"address"},{internalType:"contract IERC20",name:"depositAsset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"contract IERC20",name:"poolDepositAsset",type:"address"}],name:"depositQuote",outputs:[{internalType:"uint256",name:"expectedLiquidityMinted",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeDenominator",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeNumerator",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeSink",outputs:[{internalType:"address payable",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"numerator",type:"uint256"},{internalType:"uint256",name:"denominator",type:"uint256"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address payable",name:"sink",type:"address"}],name:"setFeeSink",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"pool",type:"address"},{internalType:"bool",name:"allowed",type:"bool"}],name:"setPoolAllowed",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IUniswapV2RouterSwapOnly",name:"_swapRouter",type:"address"}],name:"setSwapRouter",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"contract IERC20",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"pool",type:"address"},{internalType:"uint256",name:"fundTokenAmount",type:"uint256"},{internalType:"contract IERC20",name:"withdrawalAsset",type:"address"},{internalType:"uint256",name:"expectedAmountOut",type:"uint256"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"withdrawProps",outputs:[{internalType:"contract IUniswapV2RouterSwapOnly",name:"swapRouter",type:"address"},{internalType:"contract IUniswapV2Router",name:"assetType2Router",type:"address"},{internalType:"contract IUniswapV2Router",name:"assetType5Router",type:"address"},{components:[{internalType:"contract ISynthetix",name:"snxProxy",type:"address"},{internalType:"contract IERC20",name:"swapSUSDToAsset",type:"address"},{internalType:"contract ISynthAddressProxy",name:"sUSDProxy",type:"address"}],internalType:"struct EasySwapperStructs.SynthetixProps",name:"synthetixProps",type:"tuple"},{internalType:"contract IERC20",name:"weth",type:"address"}],stateMutability:"view",type:"function"}],Re=[{inputs:[{internalType:"string",name:"marketId",type:"string"},{internalType:"address",name:"owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldAddress",type:"address"},{indexed:!0,internalType:"address",name:"newAddress",type:"address"}],name:"ACLAdminUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldAddress",type:"address"},{indexed:!0,internalType:"address",name:"newAddress",type:"address"}],name:"ACLManagerUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"oldAddress",type:"address"},{indexed:!0,internalType:"address",name:"newAddress",type:"address"}],name:"AddressSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"proxyAddress",type:"address"},{indexed:!1,internalType:"address",name:"oldImplementationAddress",type:"address"},{indexed:!0,internalType:"address",name:"newImplementationAddress",type:"address"}],name:"AddressSetAsProxy",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"string",name:"oldMarketId",type:"string"},{indexed:!0,internalType:"string",name:"newMarketId",type:"string"}],name:"MarketIdSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldAddress",type:"address"},{indexed:!0,internalType:"address",name:"newAddress",type:"address"}],name:"PoolConfiguratorUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldAddress",type:"address"},{indexed:!0,internalType:"address",name:"newAddress",type:"address"}],name:"PoolDataProviderUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldAddress",type:"address"},{indexed:!0,internalType:"address",name:"newAddress",type:"address"}],name:"PoolUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldAddress",type:"address"},{indexed:!0,internalType:"address",name:"newAddress",type:"address"}],name:"PriceOracleSentinelUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldAddress",type:"address"},{indexed:!0,internalType:"address",name:"newAddress",type:"address"}],name:"PriceOracleUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"proxyAddress",type:"address"},{indexed:!0,internalType:"address",name:"implementationAddress",type:"address"}],name:"ProxyCreated",type:"event"},{inputs:[],name:"getACLAdmin",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getACLManager",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"}],name:"getAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getMarketId",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"getPool",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getPoolConfigurator",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getPoolDataProvider",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getPriceOracle",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getPriceOracleSentinel",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAclAdmin",type:"address"}],name:"setACLAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAclManager",type:"address"}],name:"setACLManager",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"address",name:"newAddress",type:"address"}],name:"setAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"address",name:"newImplementationAddress",type:"address"}],name:"setAddressAsProxy",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"newMarketId",type:"string"}],name:"setMarketId",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newPoolConfiguratorImpl",type:"address"}],name:"setPoolConfiguratorImpl",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newDataProvider",type:"address"}],name:"setPoolDataProvider",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newPoolImpl",type:"address"}],name:"setPoolImpl",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newPriceOracle",type:"address"}],name:"setPriceOracle",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newPriceOracleSentinel",type:"address"}],name:"setPriceOracleSentinel",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}],De=[{inputs:[{internalType:"address[]",name:"_assets",type:"address[]"},{internalType:"address[]",name:"_sources",type:"address[]"},{internalType:"address",name:"_fallbackOracle",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!0,internalType:"address",name:"source",type:"address"}],name:"AssetSourceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"fallbackOracle",type:"address"}],name:"FallbackOracleUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address[]",name:"_assets",type:"address[]"},{internalType:"address[]",name:"_sources",type:"address[]"}],name:"setAssetSources",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_fallbackOracle",type:"address"}],name:"setFallbackOracle",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"_asset",type:"address"}],name:"getAssetPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address[]",name:"_assets",type:"address[]"}],name:"getAssetsPrices",outputs:[{internalType:"uint256[]",name:"",type:"uint256[]"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"_asset",type:"address"}],name:"getSourceOfAsset",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getFallbackOracle",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"}];function Se(e,t){return Ee.apply(this,arguments)}function Ee(){return(Ee=f(N.mark((function e(n,a){var i,r;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=new t.ethers.Contract(K[n.network][exports.Dapp.AAVEV3],Re,n.signer),e.next=3,i.getPriceOracle();case 3:return r=new t.ethers.Contract(e.sent,De,n.signer),e.next=7,r.getAssetPrice(a);case 7:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Le(e,t){return Fe.apply(this,arguments)}function Fe(){return(Fe=f(N.mark((function e(t,n){var a;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=new Ft(t.signer,t.network),e.next=3,a.loadPool(n);case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Be(e,t){return _e.apply(this,arguments)}function _e(){return(_e=f(N.mark((function e(t,n){var a;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=new Ft(t.signer,t.network),e.next=3,a.validatePool(n);case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function qe(e,t,n){return Ne.apply(this,arguments)}function Ne(){return(Ne=f(N.mark((function e(t,n,a){var i,r,s,p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Le(t,n);case 2:return s=e.sent,e.next=5,s.getComposition();case 5:if(null==(i=(p=e.sent).find((function(e){return e.asset.toLowerCase()===a.toLowerCase()})))||!i.isDeposit){e.next=8;break}return e.abrupt("return",a);case 8:return e.abrupt("return",null==(r=p.find((function(e){return e.isDeposit})))?void 0:r.asset);case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ue(e,t){return Ve.apply(this,arguments)}function Ve(){return(Ve=f(N.mark((function e(t,n){var a;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Le(t,n);case 2:return a=e.sent,e.next=5,a.poolLogic.tokenPrice();case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function We(e,t,n,a,i){return He.apply(this,arguments)}function He(){return(He=f(N.mark((function e(n,a,i,r,s){var p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return p=new t.ethers.Contract(j[n.network][exports.Dapp.TOROS],Ce,n.signer),e.next=3,p.depositQuote(a,i,s,r);case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function je(e,t,n,a){return Ye.apply(this,arguments)}function Ye(){return(Ye=f(N.mark((function e(t,n,a,i){var r,s,p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all([Ue(t,n),Se(t,a),t.utils.getDecimals(a)]);case 2:return s=(r=e.sent)[1],p=r[2],e.abrupt("return",i.mul(r[0]).div(s).div(1e10).div(Math.pow(10,18-p)));case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ge(e,t,n,a,i){return Ke.apply(this,arguments)}function Ke(){return(Ke=f(N.mark((function e(n,a,i,r,s){var p,u,y,o,d,l;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Be(n,a);case 2:if(y=(u=(p=e.sent)?[a,i]:[i,a])[0],o=u[1],d=new t.ethers.utils.Interface(Ce),!p){e.next=12;break}return e.next=8,je(n,y,o,r);case 8:return e.abrupt("return",d.encodeFunctionData("withdraw",[y,r,o,e.sent.mul(1e4-100*s).div(1e4)]));case 12:return e.next=14,qe(n,y,o);case 14:if(l=e.sent){e.next=17;break}throw new Error("no deposit assets");case 17:return e.next=19,We(n,y,o,l,r);case 19:return e.abrupt("return",d.encodeFunctionData("deposit",[y,o,r,l,e.sent.mul(1e4-100*s).div(1e4)]));case 21:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var ze=["OPTIMISM_PMM6"];function Qe(e){return Xe.apply(this,arguments)}function Xe(){return(Xe=f(N.mark((function e(t){var n,a;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,i.get("https://api.1inch.io/v4.0/"+t+"/liquidity-sources");case 3:return n=e.sent.data.protocols.map((function(e){return e.id})),a=n.filter((function(e){return!ze.includes(e)})),e.abrupt("return","&protocols="+a.join(","));case 9:return e.prev=9,e.t0=e.catch(0),e.abrupt("return","");case 12:case"end":return e.stop()}}),e,null,[[0,9]])})))).apply(this,arguments)}var Ze=[{inputs:[{internalType:"address",name:"emissionManager",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!0,internalType:"address",name:"reward",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint256",name:"assetIndex",type:"uint256"},{indexed:!1,internalType:"uint256",name:"userIndex",type:"uint256"},{indexed:!1,internalType:"uint256",name:"rewardsAccrued",type:"uint256"}],name:"Accrued",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!0,internalType:"address",name:"reward",type:"address"},{indexed:!1,internalType:"uint256",name:"oldEmission",type:"uint256"},{indexed:!1,internalType:"uint256",name:"newEmission",type:"uint256"},{indexed:!1,internalType:"uint256",name:"oldDistributionEnd",type:"uint256"},{indexed:!1,internalType:"uint256",name:"newDistributionEnd",type:"uint256"},{indexed:!1,internalType:"uint256",name:"assetIndex",type:"uint256"}],name:"AssetConfigUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"claimer",type:"address"}],name:"ClaimerSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldEmissionManager",type:"address"},{indexed:!0,internalType:"address",name:"newEmissionManager",type:"address"}],name:"EmissionManagerUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reward",type:"address"},{indexed:!0,internalType:"address",name:"rewardOracle",type:"address"}],name:"RewardOracleUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"reward",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"address",name:"claimer",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"RewardsClaimed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reward",type:"address"},{indexed:!0,internalType:"address",name:"transferStrategy",type:"address"}],name:"TransferStrategyInstalled",type:"event"},{inputs:[],name:"REVISION",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"assets",type:"address[]"},{internalType:"address",name:"to",type:"address"}],name:"claimAllRewards",outputs:[{internalType:"address[]",name:"rewardsList",type:"address[]"},{internalType:"uint256[]",name:"claimedAmounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"assets",type:"address[]"},{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"to",type:"address"}],name:"claimAllRewardsOnBehalf",outputs:[{internalType:"address[]",name:"rewardsList",type:"address[]"},{internalType:"uint256[]",name:"claimedAmounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"assets",type:"address[]"}],name:"claimAllRewardsToSelf",outputs:[{internalType:"address[]",name:"rewardsList",type:"address[]"},{internalType:"uint256[]",name:"claimedAmounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"assets",type:"address[]"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"address",name:"reward",type:"address"}],name:"claimRewards",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"assets",type:"address[]"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"address",name:"reward",type:"address"}],name:"claimRewardsOnBehalf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"assets",type:"address[]"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"reward",type:"address"}],name:"claimRewardsToSelf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint88",name:"emissionPerSecond",type:"uint88"},{internalType:"uint256",name:"totalSupply",type:"uint256"},{internalType:"uint32",name:"distributionEnd",type:"uint32"},{internalType:"address",name:"asset",type:"address"},{internalType:"address",name:"reward",type:"address"},{internalType:"contract ITransferStrategyBase",name:"transferStrategy",type:"address"},{internalType:"contract IEACAggregatorProxy",name:"rewardOracle",type:"address"}],internalType:"struct RewardsDataTypes.RewardsConfigInput[]",name:"config",type:"tuple[]"}],name:"configureAssets",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"assets",type:"address[]"},{internalType:"address",name:"user",type:"address"}],name:"getAllUserRewards",outputs:[{internalType:"address[]",name:"rewardsList",type:"address[]"},{internalType:"uint256[]",name:"unclaimedAmounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getAssetDecimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"}],name:"getClaimer",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"address",name:"reward",type:"address"}],name:"getDistributionEnd",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getEmissionManager",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"reward",type:"address"}],name:"getRewardOracle",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getRewardsByAsset",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"address",name:"reward",type:"address"}],name:"getRewardsData",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getRewardsList",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"reward",type:"address"}],name:"getTransferStrategy",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"reward",type:"address"}],name:"getUserAccruedRewards",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"address",name:"reward",type:"address"}],name:"getUserAssetIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"assets",type:"address[]"},{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"reward",type:"address"}],name:"getUserRewards",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"},{internalType:"uint256",name:"totalSupply",type:"uint256"},{internalType:"uint256",name:"userBalance",type:"uint256"}],name:"handleAction",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"emissionManager",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"caller",type:"address"}],name:"setClaimer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"address",name:"reward",type:"address"},{internalType:"uint32",name:"newDistributionEnd",type:"uint32"}],name:"setDistributionEnd",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"emissionManager",type:"address"}],name:"setEmissionManager",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"address[]",name:"rewards",type:"address[]"},{internalType:"uint88[]",name:"newEmissionsPerSecond",type:"uint88[]"}],name:"setEmissionPerSecond",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"reward",type:"address"},{internalType:"contract IEACAggregatorProxy",name:"rewardOracle",type:"address"}],name:"setRewardOracle",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"reward",type:"address"},{internalType:"contract ITransferStrategyBase",name:"transferStrategy",type:"address"}],name:"setTransferStrategy",outputs:[],stateMutability:"nonpayable",type:"function"}],Je={abi:[{inputs:[{internalType:"contract IPoolAddressesProvider",name:"provider",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"backer",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"}],name:"BackUnbacked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!1,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"onBehalfOf",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"enum DataTypes.InterestRateMode",name:"interestRateMode",type:"uint8"},{indexed:!1,internalType:"uint256",name:"borrowRate",type:"uint256"},{indexed:!0,internalType:"uint16",name:"referralCode",type:"uint16"}],name:"Borrow",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"target",type:"address"},{indexed:!1,internalType:"address",name:"initiator",type:"address"},{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"enum DataTypes.InterestRateMode",name:"interestRateMode",type:"uint8"},{indexed:!1,internalType:"uint256",name:"premium",type:"uint256"},{indexed:!0,internalType:"uint16",name:"referralCode",type:"uint16"}],name:"FlashLoan",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"totalDebt",type:"uint256"}],name:"IsolationModeTotalDebtUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"collateralAsset",type:"address"},{indexed:!0,internalType:"address",name:"debtAsset",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint256",name:"debtToCover",type:"uint256"},{indexed:!1,internalType:"uint256",name:"liquidatedCollateralAmount",type:"uint256"},{indexed:!1,internalType:"address",name:"liquidator",type:"address"},{indexed:!1,internalType:"bool",name:"receiveAToken",type:"bool"}],name:"LiquidationCall",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!1,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"onBehalfOf",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!0,internalType:"uint16",name:"referralCode",type:"uint16"}],name:"MintUnbacked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!1,internalType:"uint256",name:"amountMinted",type:"uint256"}],name:"MintedToTreasury",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"}],name:"RebalanceStableBorrowRate",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"repayer",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bool",name:"useATokens",type:"bool"}],name:"Repay",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!1,internalType:"uint256",name:"liquidityRate",type:"uint256"},{indexed:!1,internalType:"uint256",name:"stableBorrowRate",type:"uint256"},{indexed:!1,internalType:"uint256",name:"variableBorrowRate",type:"uint256"},{indexed:!1,internalType:"uint256",name:"liquidityIndex",type:"uint256"},{indexed:!1,internalType:"uint256",name:"variableBorrowIndex",type:"uint256"}],name:"ReserveDataUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"}],name:"ReserveUsedAsCollateralDisabled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"}],name:"ReserveUsedAsCollateralEnabled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!1,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"onBehalfOf",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!0,internalType:"uint16",name:"referralCode",type:"uint16"}],name:"Supply",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"enum DataTypes.InterestRateMode",name:"interestRateMode",type:"uint8"}],name:"SwapBorrowRateMode",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint8",name:"categoryId",type:"uint8"}],name:"UserEModeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Withdraw",type:"event"},{inputs:[],name:"ADDRESSES_PROVIDER",outputs:[{internalType:"contract IPoolAddressesProvider",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"BRIDGE_PROTOCOL_FEE",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"FLASHLOAN_PREMIUM_TOTAL",outputs:[{internalType:"uint128",name:"",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[],name:"FLASHLOAN_PREMIUM_TO_PROTOCOL",outputs:[{internalType:"uint128",name:"",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAX_NUMBER_RESERVES",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAX_STABLE_RATE_BORROW_SIZE_PERCENT",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"POOL_REVISION",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"fee",type:"uint256"}],name:"backUnbacked",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"interestRateMode",type:"uint256"},{internalType:"uint16",name:"referralCode",type:"uint16"},{internalType:"address",name:"onBehalfOf",type:"address"}],name:"borrow",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint8",name:"id",type:"uint8"},{components:[{internalType:"uint16",name:"ltv",type:"uint16"},{internalType:"uint16",name:"liquidationThreshold",type:"uint16"},{internalType:"uint16",name:"liquidationBonus",type:"uint16"},{internalType:"address",name:"priceSource",type:"address"},{internalType:"string",name:"label",type:"string"}],internalType:"struct DataTypes.EModeCategory",name:"category",type:"tuple"}],name:"configureEModeCategory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"onBehalfOf",type:"address"},{internalType:"uint16",name:"referralCode",type:"uint16"}],name:"deposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"dropReserve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"balanceFromBefore",type:"uint256"},{internalType:"uint256",name:"balanceToBefore",type:"uint256"}],name:"finalizeTransfer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"receiverAddress",type:"address"},{internalType:"address[]",name:"assets",type:"address[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"uint256[]",name:"interestRateModes",type:"uint256[]"},{internalType:"address",name:"onBehalfOf",type:"address"},{internalType:"bytes",name:"params",type:"bytes"},{internalType:"uint16",name:"referralCode",type:"uint16"}],name:"flashLoan",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"receiverAddress",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"params",type:"bytes"},{internalType:"uint16",name:"referralCode",type:"uint16"}],name:"flashLoanSimple",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getConfiguration",outputs:[{components:[{internalType:"uint256",name:"data",type:"uint256"}],internalType:"struct DataTypes.ReserveConfigurationMap",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint8",name:"id",type:"uint8"}],name:"getEModeCategoryData",outputs:[{components:[{internalType:"uint16",name:"ltv",type:"uint16"},{internalType:"uint16",name:"liquidationThreshold",type:"uint16"},{internalType:"uint16",name:"liquidationBonus",type:"uint16"},{internalType:"address",name:"priceSource",type:"address"},{internalType:"string",name:"label",type:"string"}],internalType:"struct DataTypes.EModeCategory",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"id",type:"uint16"}],name:"getReserveAddressById",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getReserveData",outputs:[{components:[{components:[{internalType:"uint256",name:"data",type:"uint256"}],internalType:"struct DataTypes.ReserveConfigurationMap",name:"configuration",type:"tuple"},{internalType:"uint128",name:"liquidityIndex",type:"uint128"},{internalType:"uint128",name:"currentLiquidityRate",type:"uint128"},{internalType:"uint128",name:"variableBorrowIndex",type:"uint128"},{internalType:"uint128",name:"currentVariableBorrowRate",type:"uint128"},{internalType:"uint128",name:"currentStableBorrowRate",type:"uint128"},{internalType:"uint40",name:"lastUpdateTimestamp",type:"uint40"},{internalType:"uint16",name:"id",type:"uint16"},{internalType:"address",name:"aTokenAddress",type:"address"},{internalType:"address",name:"stableDebtTokenAddress",type:"address"},{internalType:"address",name:"variableDebtTokenAddress",type:"address"},{internalType:"address",name:"interestRateStrategyAddress",type:"address"},{internalType:"uint128",name:"accruedToTreasury",type:"uint128"},{internalType:"uint128",name:"unbacked",type:"uint128"},{internalType:"uint128",name:"isolationModeTotalDebt",type:"uint128"}],internalType:"struct DataTypes.ReserveData",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getReserveNormalizedIncome",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getReserveNormalizedVariableDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getReservesList",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"}],name:"getUserAccountData",outputs:[{internalType:"uint256",name:"totalCollateralBase",type:"uint256"},{internalType:"uint256",name:"totalDebtBase",type:"uint256"},{internalType:"uint256",name:"availableBorrowsBase",type:"uint256"},{internalType:"uint256",name:"currentLiquidationThreshold",type:"uint256"},{internalType:"uint256",name:"ltv",type:"uint256"},{internalType:"uint256",name:"healthFactor",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"}],name:"getUserConfiguration",outputs:[{components:[{internalType:"uint256",name:"data",type:"uint256"}],internalType:"struct DataTypes.UserConfigurationMap",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"}],name:"getUserEMode",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"address",name:"aTokenAddress",type:"address"},{internalType:"address",name:"stableDebtAddress",type:"address"},{internalType:"address",name:"variableDebtAddress",type:"address"},{internalType:"address",name:"interestRateStrategyAddress",type:"address"}],name:"initReserve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IPoolAddressesProvider",name:"provider",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"collateralAsset",type:"address"},{internalType:"address",name:"debtAsset",type:"address"},{internalType:"address",name:"user",type:"address"},{internalType:"uint256",name:"debtToCover",type:"uint256"},{internalType:"bool",name:"receiveAToken",type:"bool"}],name:"liquidationCall",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"assets",type:"address[]"}],name:"mintToTreasury",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"onBehalfOf",type:"address"},{internalType:"uint16",name:"referralCode",type:"uint16"}],name:"mintUnbacked",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"address",name:"user",type:"address"}],name:"rebalanceStableBorrowRate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"interestRateMode",type:"uint256"},{internalType:"address",name:"onBehalfOf",type:"address"}],name:"repay",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"interestRateMode",type:"uint256"}],name:"repayWithATokens",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"interestRateMode",type:"uint256"},{internalType:"address",name:"onBehalfOf",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"permitV",type:"uint8"},{internalType:"bytes32",name:"permitR",type:"bytes32"},{internalType:"bytes32",name:"permitS",type:"bytes32"}],name:"repayWithPermit",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"rescueTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"resetIsolationModeTotalDebt",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{components:[{internalType:"uint256",name:"data",type:"uint256"}],internalType:"struct DataTypes.ReserveConfigurationMap",name:"configuration",type:"tuple"}],name:"setConfiguration",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"address",name:"rateStrategyAddress",type:"address"}],name:"setReserveInterestRateStrategyAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint8",name:"categoryId",type:"uint8"}],name:"setUserEMode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"bool",name:"useAsCollateral",type:"bool"}],name:"setUserUseReserveAsCollateral",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"onBehalfOf",type:"address"},{internalType:"uint16",name:"referralCode",type:"uint16"}],name:"supply",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"onBehalfOf",type:"address"},{internalType:"uint16",name:"referralCode",type:"uint16"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"permitV",type:"uint8"},{internalType:"bytes32",name:"permitR",type:"bytes32"},{internalType:"bytes32",name:"permitS",type:"bytes32"}],name:"supplyWithPermit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"interestRateMode",type:"uint256"}],name:"swapBorrowRateMode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"protocolFee",type:"uint256"}],name:"updateBridgeProtocolFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint128",name:"flashLoanPremiumTotal",type:"uint128"},{internalType:"uint128",name:"flashLoanPremiumToProtocol",type:"uint128"}],name:"updateFlashloanPremiums",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"to",type:"address"}],name:"withdraw",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"}]};function $e(e,t,n){return et.apply(this,arguments)}function et(){return(et=f(N.mark((function e(n,a,i){var r,s,p,u,y;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=a===exports.Dapp.AAVEV3?Je:ae,s=new t.ethers.Contract(j[n.network][a],r.abi,n.signer),e.next=4,Promise.all(i.map((function(e){return s.getReserveData(e)})));case 4:return u=(p=e.sent).map((function(e){return e.aTokenAddress})),y=p.map((function(e){return e.variableDebtTokenAddress})),e.abrupt("return",u.concat(y));case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function tt(e,t,n){return nt.apply(this,arguments)}function nt(){return(nt=f(N.mark((function e(n,a,i){var r,s;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new t.ethers.utils.Interface(Ze),e.next=3,$e(n,exports.Dapp.AAVEV3,a);case 3:return s=r.encodeFunctionData("claimRewards",[e.sent,t.ethers.constants.MaxUint256,n.address,i]),e.abrupt("return",s);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var at=[{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_weth",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{components:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"stable",type:"bool"}],internalType:"struct Router.route[]",name:"routes",type:"tuple[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"UNSAFE_swapExactTokensForTokens",outputs:[{internalType:"uint256[]",name:"",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"bool",name:"stable",type:"bool"},{internalType:"uint256",name:"amountADesired",type:"uint256"},{internalType:"uint256",name:"amountBDesired",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"bool",name:"stable",type:"bool"},{internalType:"uint256",name:"amountTokenDesired",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidityETH",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"}],name:"getAmountOut",outputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bool",name:"stable",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{components:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"stable",type:"bool"}],internalType:"struct Router.route[]",name:"routes",type:"tuple[]"}],name:"getAmountsOut",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"bool",name:"stable",type:"bool"}],name:"getReserves",outputs:[{internalType:"uint256",name:"reserveA",type:"uint256"},{internalType:"uint256",name:"reserveB",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"pair",type:"address"}],name:"isPair",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"bool",name:"stable",type:"bool"}],name:"pairFor",outputs:[{internalType:"address",name:"pair",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"bool",name:"stable",type:"bool"},{internalType:"uint256",name:"amountADesired",type:"uint256"},{internalType:"uint256",name:"amountBDesired",type:"uint256"}],name:"quoteAddLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"bool",name:"stable",type:"bool"},{internalType:"uint256",name:"liquidity",type:"uint256"}],name:"quoteRemoveLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"bool",name:"stable",type:"bool"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"bool",name:"stable",type:"bool"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityETH",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"bool",name:"stable",type:"bool"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityETHWithPermit",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"bool",name:"stable",type:"bool"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityWithPermit",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"}],name:"sortTokens",outputs:[{internalType:"address",name:"token0",type:"address"},{internalType:"address",name:"token1",type:"address"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{components:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"stable",type:"bool"}],internalType:"struct Router.route[]",name:"routes",type:"tuple[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactETHForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{components:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"stable",type:"bool"}],internalType:"struct Router.route[]",name:"routes",type:"tuple[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForETH",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{components:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"stable",type:"bool"}],internalType:"struct Router.route[]",name:"routes",type:"tuple[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address",name:"tokenFrom",type:"address"},{internalType:"address",name:"tokenTo",type:"address"},{internalType:"bool",name:"stable",type:"bool"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokensSimple",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"contract IWETH",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}];function it(e,n,a,i,r,s){return new t.ethers.utils.Interface(at).encodeFunctionData(exports.Transaction.ADD_LIQUIDITY,[n,a,s,i,r,"0","0",e.address,$])}function rt(e,n,a,i,r){return new t.ethers.utils.Interface(at).encodeFunctionData(exports.Transaction.REMOVE_LIQUIDITY,[n,a,r,i,"0","0",e.address,$])}var st=[{inputs:[{internalType:"address",name:"_stake",type:"address"},{internalType:"address",name:"_internal_bribe",type:"address"},{internalType:"address",name:"_external_bribe",type:"address"},{internalType:"address",name:"__ve",type:"address"},{internalType:"address",name:"_voter",type:"address"},{internalType:"bool",name:"_forPair",type:"bool"},{internalType:"address[]",name:"_allowedRewardTokens",type:"address[]"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"uint256",name:"claimed0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"claimed1",type:"uint256"}],name:"ClaimFees",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"reward",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"ClaimRewards",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"reward",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"NotifyReward",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Withdraw",type:"event"},{inputs:[],name:"_ve",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"maxRuns",type:"uint256"}],name:"batchRewardPerToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"maxRuns",type:"uint256"}],name:"batchUpdateRewardPerToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"}],name:"checkpoints",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"},{internalType:"uint256",name:"balanceOf",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"claimFees",outputs:[{internalType:"uint256",name:"claimed0",type:"uint256"},{internalType:"uint256",name:"claimed1",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"deposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"depositAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"derivedBalance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"derivedBalances",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"derivedSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"}],name:"earned",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"external_bribe",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"fees0",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"fees1",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"getPriorBalanceIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"getPriorRewardPerToken",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"getPriorSupplyIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address[]",name:"tokens",type:"address[]"}],name:"getReward",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"internal_bribe",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"isForPair",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"isReward",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"lastEarn",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"lastTimeRewardApplicable",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"lastUpdateTime",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"left",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"notifyRewardAmount",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"numCheckpoints",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"periodFinish",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"rewardPerToken",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"}],name:"rewardPerTokenCheckpoints",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"},{internalType:"uint256",name:"rewardPerToken",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"rewardPerTokenNumCheckpoints",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"rewardPerTokenStored",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"rewardRate",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"rewards",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"rewardsListLength",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"stake",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"supplyCheckpoints",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"},{internalType:"uint256",name:"supply",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"supplyNumCheckpoints",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"i",type:"uint256"},{internalType:"address",name:"oldToken",type:"address"},{internalType:"address",name:"newToken",type:"address"}],name:"swapOutRewardToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"tokenIds",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"userRewardPerTokenStored",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"voter",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"withdrawAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"withdrawToken",outputs:[],stateMutability:"nonpayable",type:"function"}],pt=new t.ethers.utils.Interface(st);function ut(e){return pt.encodeFunctionData(exports.Transaction.DEPOSIT,[e,"0"])}function yt(e,t){return ot.apply(this,arguments)}function ot(){return(ot=f(N.mark((function e(t,n){var a;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,le(t.signer,st,[n,"rewardsListLength",[]]);case 2:return a=e.sent,e.next=5,Promise.all(Array.from(Array(a.toNumber()).keys()).map((function(e){return le(t.signer,st,[n,"rewards",[e]])})));case 5:return e.abrupt("return",pt.encodeFunctionData("getReward",[t.address,e.sent]));case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function dt(e,t,n){return lt.apply(this,arguments)}function lt(){return(lt=f(N.mark((function e(t,n,i){var r,s;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new a(J[t]),e.next=3,r.market(n);case 3:if(0!==(s=e.sent.liveBoards().filter((function(e){return e.expiryTimestamp===i}))).length){e.next=7;break}throw new Error("no lyra board for expiry");case 7:return e.abrupt("return",s[0]);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function mt(e,t){return ct.apply(this,arguments)}function ct(){return(ct=f(N.mark((function e(t,n){var i;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=new a(J[t]),e.next=3,i.market(n);case 3:return e.abrupt("return",e.sent.liveBoards().map((function(e){return e.expiryTimestamp})));case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Tt(e,t,n){return bt.apply(this,arguments)}function bt(){return(bt=f(N.mark((function e(t,n,a){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,dt(t,n,a);case 2:return e.abrupt("return",e.sent.strikes());case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ft(e,t,n,a){return wt.apply(this,arguments)}function wt(){return(wt=f(N.mark((function e(n,a,i,r){var s;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Tt(n,a,i);case 2:if(0!==(s=e.sent.filter((function(e){return parseFloat(t.ethers.utils.formatEther(e.strikePrice))===r}))).length){e.next=6;break}throw new Error("no option found for strike price");case 6:return e.abrupt("return",s[0]);case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var vt=[{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"contract ERC20",name:"asset",type:"address"},{internalType:"address",name:"approving",type:"address"},{internalType:"uint256",name:"approvalAmount",type:"uint256"}],name:"ApprovalFailure",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"contract ERC20",name:"asset",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"AssetTransferFailed",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"uint8",name:"id",type:"uint8"},{internalType:"address",name:"addr",type:"address"}],name:"DuplicateEntry",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"address",name:"caller",type:"address"},{internalType:"address",name:"nominatedOwner",type:"address"}],name:"OnlyNominatedOwner",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"address",name:"caller",type:"address"},{internalType:"address",name:"owner",type:"address"}],name:"OnlyOwner",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"}],name:"OnlyShorts",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"uint8",name:"id",type:"uint8"}],name:"RemovingInvalidId",type:"error"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"UnsupportedToken",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"oldOwner",type:"address"},{indexed:!1,internalType:"address",name:"newOwner",type:"address"}],name:"OwnerChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"newOwner",type:"address"}],name:"OwnerNominated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bool",name:"isOpen",type:"bool"},{indexed:!1,internalType:"bool",name:"isLong",type:"bool"},{indexed:!0,internalType:"address",name:"market",type:"address"},{indexed:!0,internalType:"uint256",name:"positionId",type:"uint256"},{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"totalCost",type:"uint256"},{indexed:!1,internalType:"uint256",name:"totalFee",type:"uint256"},{indexed:!1,internalType:"int256",name:"swapFee",type:"int256"},{indexed:!1,internalType:"address",name:"token",type:"address"}],name:"PositionTraded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"newCollateral",type:"uint256"}],name:"SetCollateralTo",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"contract ICurve",name:"curveSwap",type:"address"},{indexed:!1,internalType:"contract SynthetixAdapter",name:"synthetixAdapter",type:"address"},{indexed:!1,internalType:"contract IFeeCounter",name:"tradingRewards",type:"address"},{indexed:!1,internalType:"uint256",name:"minReturnPercent",type:"uint256"}],name:"WrapperParamsUpdated",type:"event"},{inputs:[],name:"acceptOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ERC20",name:"token",type:"address"},{internalType:"uint8",name:"id",type:"uint8"}],name:"addCurveStable",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"params",type:"uint256"}],name:"addLong",outputs:[{internalType:"uint256",name:"totalCost",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract OptionMarket",name:"optionMarket",type:"address"},{internalType:"uint8",name:"id",type:"uint8"},{components:[{internalType:"contract ERC20",name:"quoteAsset",type:"address"},{internalType:"contract ERC20",name:"baseAsset",type:"address"},{internalType:"contract OptionToken",name:"optionToken",type:"address"},{internalType:"contract LiquidityPool",name:"liquidityPool",type:"address"},{internalType:"contract LiquidityToken",name:"liquidityToken",type:"address"}],internalType:"struct OptionMarketWrapperWithSwaps.OptionMarketContracts",name:"_marketContracts",type:"tuple"}],name:"addMarket",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"params",type:"uint256"}],name:"addShort",outputs:[{internalType:"uint256",name:"totalReceived",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"params",type:"uint256"}],name:"closeLong",outputs:[{internalType:"uint256",name:"totalReceived",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"contract OptionMarket",name:"optionMarket",type:"address"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"iterations",type:"uint256"},{internalType:"uint256",name:"setCollateralTo",type:"uint256"},{internalType:"uint256",name:"currentCollateral",type:"uint256"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minCost",type:"uint256"},{internalType:"uint256",name:"maxCost",type:"uint256"},{internalType:"uint256",name:"inputAmount",type:"uint256"},{internalType:"contract ERC20",name:"inputAsset",type:"address"}],internalType:"struct OptionMarketWrapperWithSwaps.OptionPositionParams",name:"params",type:"tuple"}],name:"closePosition",outputs:[{components:[{internalType:"address",name:"market",type:"address"},{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"totalCost",type:"uint256"},{internalType:"uint256",name:"totalFee",type:"uint256"},{internalType:"int256",name:"swapFee",type:"int256"},{internalType:"address",name:"token",type:"address"}],internalType:"struct OptionMarketWrapperWithSwaps.ReturnDetails",name:"returnDetails",type:"tuple"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"params",type:"uint256"}],name:"closeShort",outputs:[{internalType:"uint256",name:"totalCost",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"curveSwap",outputs:[{internalType:"contract ICurve",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"ercIds",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"contract OptionMarket",name:"optionMarket",type:"address"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"iterations",type:"uint256"},{internalType:"uint256",name:"setCollateralTo",type:"uint256"},{internalType:"uint256",name:"currentCollateral",type:"uint256"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minCost",type:"uint256"},{internalType:"uint256",name:"maxCost",type:"uint256"},{internalType:"uint256",name:"inputAmount",type:"uint256"},{internalType:"contract ERC20",name:"inputAsset",type:"address"}],internalType:"struct OptionMarketWrapperWithSwaps.OptionPositionParams",name:"params",type:"tuple"}],name:"forceClosePosition",outputs:[{components:[{internalType:"address",name:"market",type:"address"},{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"totalCost",type:"uint256"},{internalType:"uint256",name:"totalFee",type:"uint256"},{internalType:"int256",name:"swapFee",type:"int256"},{internalType:"address",name:"token",type:"address"}],internalType:"struct OptionMarketWrapperWithSwaps.ReturnDetails",name:"returnDetails",type:"tuple"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"getBalancesAndAllowances",outputs:[{components:[{internalType:"uint8",name:"id",type:"uint8"},{internalType:"address",name:"token",type:"address"},{internalType:"uint8",name:"decimals",type:"uint8"},{internalType:"string",name:"symbol",type:"string"},{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"uint256",name:"allowance",type:"uint256"}],internalType:"struct OptionMarketWrapperWithSwaps.StableAssetView[]",name:"",type:"tuple[]"},{components:[{internalType:"uint8",name:"id",type:"uint8"},{internalType:"contract OptionMarket",name:"market",type:"address"},{internalType:"address",name:"token",type:"address"},{internalType:"uint8",name:"decimals",type:"uint8"},{internalType:"string",name:"symbol",type:"string"},{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"uint256",name:"allowance",type:"uint256"},{internalType:"bool",name:"isApprovedForAll",type:"bool"}],internalType:"struct OptionMarketWrapperWithSwaps.MarketAssetView[]",name:"",type:"tuple[]"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"uint256",name:"allowance",type:"uint256"}],internalType:"struct OptionMarketWrapperWithSwaps.LiquidityBalanceAndAllowance[]",name:"",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getMarketAndErcIds",outputs:[{internalType:"uint8[]",name:"",type:"uint8[]"},{internalType:"uint8[]",name:"",type:"uint8[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint8",name:"",type:"uint8"}],name:"idToERC",outputs:[{internalType:"contract ERC20",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint8",name:"",type:"uint8"}],name:"idToMarket",outputs:[{internalType:"contract OptionMarket",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract OptionMarket",name:"",type:"address"}],name:"marketContracts",outputs:[{internalType:"contract ERC20",name:"quoteAsset",type:"address"},{internalType:"contract ERC20",name:"baseAsset",type:"address"},{internalType:"contract OptionToken",name:"optionToken",type:"address"},{internalType:"contract LiquidityPool",name:"liquidityPool",type:"address"},{internalType:"contract LiquidityToken",name:"liquidityToken",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"marketIds",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"minReturnPercent",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_owner",type:"address"}],name:"nominateNewOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"nominatedOwner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"params",type:"uint256"}],name:"openLong",outputs:[{internalType:"uint256",name:"totalCost",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"contract OptionMarket",name:"optionMarket",type:"address"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"iterations",type:"uint256"},{internalType:"uint256",name:"setCollateralTo",type:"uint256"},{internalType:"uint256",name:"currentCollateral",type:"uint256"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minCost",type:"uint256"},{internalType:"uint256",name:"maxCost",type:"uint256"},{internalType:"uint256",name:"inputAmount",type:"uint256"},{internalType:"contract ERC20",name:"inputAsset",type:"address"}],internalType:"struct OptionMarketWrapperWithSwaps.OptionPositionParams",name:"params",type:"tuple"}],name:"openPosition",outputs:[{components:[{internalType:"address",name:"market",type:"address"},{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"totalCost",type:"uint256"},{internalType:"uint256",name:"totalFee",type:"uint256"},{internalType:"int256",name:"swapFee",type:"int256"},{internalType:"address",name:"token",type:"address"}],internalType:"struct OptionMarketWrapperWithSwaps.ReturnDetails",name:"returnDetails",type:"tuple"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"params",type:"uint256"}],name:"openShort",outputs:[{internalType:"uint256",name:"totalReceived",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"fromToken",type:"address"},{internalType:"address",name:"toToken",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"}],name:"quoteCurveSwap",outputs:[{internalType:"address",name:"pool",type:"address"},{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"params",type:"uint256"}],name:"reduceLong",outputs:[{internalType:"uint256",name:"totalReceived",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"params",type:"uint256"}],name:"reduceShort",outputs:[{internalType:"uint256",name:"totalCost",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint8",name:"id",type:"uint8"}],name:"removeCurveStable",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint8",name:"id",type:"uint8"}],name:"removeMarket",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"synthetixAdapter",outputs:[{internalType:"contract SynthetixAdapter",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"tradingRewards",outputs:[{internalType:"contract IFeeCounter",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ICurve",name:"_curveSwap",type:"address"},{internalType:"contract SynthetixAdapter",name:"_synthetixAdapter",type:"address"},{internalType:"contract IFeeCounter",name:"_tradingRewards",type:"address"},{internalType:"uint256",name:"_minReturnPercent",type:"uint256"}],name:"updateContractParams",outputs:[],stateMutability:"nonpayable",type:"function"}];function xt(e,t,n){return e?t?0:n?2:3:t?1:4}function ht(e){return[0,2,3].includes(e)}function Mt(e){return 0===e||1===e}var gt=[{inputs:[{internalType:"string",name:"name_",type:"string"},{internalType:"string",name:"symbol_",type:"string"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"bool",name:"invalidPositionId",type:"bool"},{internalType:"bool",name:"positionInactive",type:"bool"},{internalType:"bool",name:"isShort",type:"bool"}],name:"AddingCollateralToInvalidPosition",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{components:[{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"collateral",type:"uint256"},{internalType:"enum OptionToken.PositionState",name:"state",type:"uint8"}],internalType:"struct OptionToken.OptionPosition",name:"position",type:"tuple"},{internalType:"uint256",name:"spotPrice",type:"uint256"}],name:"AdjustmentResultsInMinimumCollateralNotBeingMet",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"}],name:"AlreadyInitialised",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"bool",name:"invalidPositionId",type:"bool"},{internalType:"bool",name:"positionInactive",type:"bool"},{internalType:"bool",name:"strikeMismatch",type:"bool"},{internalType:"bool",name:"optionTypeMismatch",type:"bool"}],name:"CannotAdjustInvalidPosition",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"}],name:"CannotClosePositionZero",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"}],name:"CannotOpenZeroAmount",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"setCollateralTo",type:"uint256"}],name:"FullyClosingWithNonZeroSetCollateral",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{components:[{internalType:"uint256",name:"penaltyRatio",type:"uint256"},{internalType:"uint256",name:"liquidatorFeeRatio",type:"uint256"},{internalType:"uint256",name:"smFeeRatio",type:"uint256"},{internalType:"uint256",name:"minLiquidationFee",type:"uint256"}],internalType:"struct OptionToken.PartialCollateralParameters",name:"partialCollatParams",type:"tuple"}],name:"InvalidPartialCollateralParameters",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"uint256",name:"originalPositionAmount",type:"uint256"},{internalType:"uint256",name:"splitAmount",type:"uint256"}],name:"InvalidSplitAmount",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"address",name:"caller",type:"address"},{internalType:"uint256",name:"positionId",type:"uint256"}],name:"MergingUnapprovedPosition",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"}],name:"MustMergeTwoOrMorePositions",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"address",name:"caller",type:"address"},{internalType:"address",name:"nominatedOwner",type:"address"}],name:"OnlyNominatedOwner",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"address",name:"caller",type:"address"},{internalType:"address",name:"optionMarket",type:"address"}],name:"OnlyOptionMarket",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"address",name:"caller",type:"address"},{internalType:"address",name:"owner",type:"address"}],name:"OnlyOwner",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"address",name:"trader",type:"address"},{internalType:"address",name:"owner",type:"address"}],name:"OnlyOwnerCanAdjustPosition",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"address",name:"caller",type:"address"},{internalType:"address",name:"shortCollateral",type:"address"}],name:"OnlyShortCollateral",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{components:[{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"collateral",type:"uint256"},{internalType:"enum OptionToken.PositionState",name:"state",type:"uint8"}],internalType:"struct OptionToken.OptionPosition",name:"firstPosition",type:"tuple"},{components:[{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"collateral",type:"uint256"},{internalType:"enum OptionToken.PositionState",name:"state",type:"uint8"}],internalType:"struct OptionToken.OptionPosition",name:"nextPosition",type:"tuple"},{internalType:"bool",name:"ownerMismatch",type:"bool"},{internalType:"bool",name:"strikeMismatch",type:"bool"},{internalType:"bool",name:"optionTypeMismatch",type:"bool"},{internalType:"bool",name:"duplicatePositionId",type:"bool"}],name:"PositionMismatchWhenMerging",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{components:[{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"collateral",type:"uint256"},{internalType:"enum OptionToken.PositionState",name:"state",type:"uint8"}],internalType:"struct OptionToken.OptionPosition",name:"position",type:"tuple"},{internalType:"uint256",name:"spotPrice",type:"uint256"}],name:"PositionNotLiquidatable",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{components:[{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"collateral",type:"uint256"},{internalType:"enum OptionToken.PositionState",name:"state",type:"uint8"}],internalType:"struct OptionToken.OptionPosition",name:"position",type:"tuple"},{internalType:"uint256",name:"spotPrice",type:"uint256"}],name:"ResultingNewPositionLiquidatable",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{components:[{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"collateral",type:"uint256"},{internalType:"enum OptionToken.PositionState",name:"state",type:"uint8"}],internalType:"struct OptionToken.OptionPosition",name:"position",type:"tuple"},{internalType:"uint256",name:"spotPrice",type:"uint256"}],name:"ResultingOriginalPositionLiquidatable",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"address",name:"caller",type:"address"},{internalType:"uint256",name:"positionId",type:"uint256"}],name:"SplittingUnapprovedPosition",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"uint256",name:"strikeId",type:"uint256"}],name:"StrikeIsSettled",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"oldOwner",type:"address"},{indexed:!1,internalType:"address",name:"newOwner",type:"address"}],name:"OwnerChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"newOwner",type:"address"}],name:"OwnerNominated",type:"event"},{anonymous:!1,inputs:[{components:[{internalType:"uint256",name:"penaltyRatio",type:"uint256"},{internalType:"uint256",name:"liquidatorFeeRatio",type:"uint256"},{internalType:"uint256",name:"smFeeRatio",type:"uint256"},{internalType:"uint256",name:"minLiquidationFee",type:"uint256"}],indexed:!1,internalType:"struct OptionToken.PartialCollateralParameters",name:"partialCollateralParams",type:"tuple"}],name:"PartialCollateralParamsSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"positionId",type:"uint256"},{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"enum OptionToken.PositionUpdatedType",name:"updatedType",type:"uint8"},{components:[{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"collateral",type:"uint256"},{internalType:"enum OptionToken.PositionState",name:"state",type:"uint8"}],indexed:!1,internalType:"struct OptionToken.OptionPosition",name:"position",type:"tuple"},{indexed:!1,internalType:"uint256",name:"timestamp",type:"uint256"}],name:"PositionUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"string",name:"URI",type:"string"}],name:"URISet",type:"event"},{inputs:[],name:"acceptOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"amountCollateral",type:"uint256"}],name:"addCollateral",outputs:[{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"bool",name:"isBuy",type:"bool"},{internalType:"bool",name:"isForceClose",type:"bool"},{internalType:"enum OptionMarket.TradeDirection",name:"tradeDirection",type:"uint8"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint256",name:"strikePrice",type:"uint256"},{components:[{internalType:"uint256",name:"freeLiquidity",type:"uint256"},{internalType:"uint256",name:"burnableLiquidity",type:"uint256"},{internalType:"uint256",name:"usedCollatLiquidity",type:"uint256"},{internalType:"uint256",name:"pendingDeltaLiquidity",type:"uint256"},{internalType:"uint256",name:"usedDeltaLiquidity",type:"uint256"},{internalType:"uint256",name:"NAV",type:"uint256"}],internalType:"struct LiquidityPool.Liquidity",name:"liquidity",type:"tuple"},{components:[{internalType:"uint256",name:"spotPrice",type:"uint256"},{internalType:"bytes32",name:"quoteKey",type:"bytes32"},{internalType:"bytes32",name:"baseKey",type:"bytes32"},{internalType:"uint256",name:"quoteBaseFeeRate",type:"uint256"},{internalType:"uint256",name:"baseQuoteFeeRate",type:"uint256"}],internalType:"struct SynthetixAdapter.ExchangeParams",name:"exchangeParams",type:"tuple"}],internalType:"struct OptionMarket.TradeParameters",name:"trade",type:"tuple"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"address",name:"trader",type:"address"},{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"optionCost",type:"uint256"},{internalType:"uint256",name:"setCollateralTo",type:"uint256"},{internalType:"bool",name:"isOpen",type:"bool"}],name:"adjustPosition",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"int256",name:"pendingCollateral",type:"int256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"collateral",type:"uint256"},{internalType:"enum OptionToken.PositionState",name:"state",type:"uint8"}],internalType:"struct OptionToken.OptionPosition",name:"position",type:"tuple"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint256",name:"strikePrice",type:"uint256"},{internalType:"uint256",name:"spotPrice",type:"uint256"}],name:"canLiquidate",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"gwavPremium",type:"uint256"},{internalType:"uint256",name:"userPositionCollateral",type:"uint256"},{internalType:"uint256",name:"convertedMinLiquidationFee",type:"uint256"},{internalType:"uint256",name:"insolvencyMultiplier",type:"uint256"}],name:"getLiquidationFees",outputs:[{components:[{internalType:"uint256",name:"returnCollateral",type:"uint256"},{internalType:"uint256",name:"lpPremiums",type:"uint256"},{internalType:"uint256",name:"lpFee",type:"uint256"},{internalType:"uint256",name:"liquidatorFee",type:"uint256"},{internalType:"uint256",name:"smFee",type:"uint256"},{internalType:"uint256",name:"insolventAmount",type:"uint256"}],internalType:"struct OptionToken.LiquidationFees",name:"liquidationFees",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"positionId",type:"uint256"}],name:"getOptionPosition",outputs:[{components:[{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"collateral",type:"uint256"},{internalType:"enum OptionToken.PositionState",name:"state",type:"uint8"}],internalType:"struct OptionToken.OptionPosition",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256[]",name:"positionIds",type:"uint256[]"}],name:"getOptionPositions",outputs:[{components:[{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"collateral",type:"uint256"},{internalType:"enum OptionToken.PositionState",name:"state",type:"uint8"}],internalType:"struct OptionToken.OptionPosition[]",name:"",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"target",type:"address"}],name:"getOwnerPositions",outputs:[{components:[{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"collateral",type:"uint256"},{internalType:"enum OptionToken.PositionState",name:"state",type:"uint8"}],internalType:"struct OptionToken.OptionPosition[]",name:"",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getPartialCollatParams",outputs:[{components:[{internalType:"uint256",name:"penaltyRatio",type:"uint256"},{internalType:"uint256",name:"liquidatorFeeRatio",type:"uint256"},{internalType:"uint256",name:"smFeeRatio",type:"uint256"},{internalType:"uint256",name:"minLiquidationFee",type:"uint256"}],internalType:"struct OptionToken.PartialCollateralParameters",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"positionId",type:"uint256"}],name:"getPositionState",outputs:[{internalType:"enum OptionToken.PositionState",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"positionId",type:"uint256"}],name:"getPositionWithOwner",outputs:[{components:[{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"collateral",type:"uint256"},{internalType:"enum OptionToken.PositionState",name:"state",type:"uint8"},{internalType:"address",name:"owner",type:"address"}],internalType:"struct OptionToken.PositionWithOwner",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256[]",name:"positionIds",type:"uint256[]"}],name:"getPositionsWithOwner",outputs:[{components:[{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"collateral",type:"uint256"},{internalType:"enum OptionToken.PositionState",name:"state",type:"uint8"},{internalType:"address",name:"owner",type:"address"}],internalType:"struct OptionToken.PositionWithOwner[]",name:"",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract OptionMarket",name:"_optionMarket",type:"address"},{internalType:"contract OptionGreekCache",name:"_greekCache",type:"address"},{internalType:"address",name:"_shortCollateral",type:"address"},{internalType:"contract SynthetixAdapter",name:"_synthetixAdapter",type:"address"}],name:"init",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"positionId",type:"uint256"},{components:[{internalType:"bool",name:"isBuy",type:"bool"},{internalType:"bool",name:"isForceClose",type:"bool"},{internalType:"enum OptionMarket.TradeDirection",name:"tradeDirection",type:"uint8"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint256",name:"strikePrice",type:"uint256"},{components:[{internalType:"uint256",name:"freeLiquidity",type:"uint256"},{internalType:"uint256",name:"burnableLiquidity",type:"uint256"},{internalType:"uint256",name:"usedCollatLiquidity",type:"uint256"},{internalType:"uint256",name:"pendingDeltaLiquidity",type:"uint256"},{internalType:"uint256",name:"usedDeltaLiquidity",type:"uint256"},{internalType:"uint256",name:"NAV",type:"uint256"}],internalType:"struct LiquidityPool.Liquidity",name:"liquidity",type:"tuple"},{components:[{internalType:"uint256",name:"spotPrice",type:"uint256"},{internalType:"bytes32",name:"quoteKey",type:"bytes32"},{internalType:"bytes32",name:"baseKey",type:"bytes32"},{internalType:"uint256",name:"quoteBaseFeeRate",type:"uint256"},{internalType:"uint256",name:"baseQuoteFeeRate",type:"uint256"}],internalType:"struct SynthetixAdapter.ExchangeParams",name:"exchangeParams",type:"tuple"}],internalType:"struct OptionMarket.TradeParameters",name:"trade",type:"tuple"},{internalType:"uint256",name:"totalCost",type:"uint256"}],name:"liquidate",outputs:[{components:[{internalType:"uint256",name:"returnCollateral",type:"uint256"},{internalType:"uint256",name:"lpPremiums",type:"uint256"},{internalType:"uint256",name:"lpFee",type:"uint256"},{internalType:"uint256",name:"liquidatorFee",type:"uint256"},{internalType:"uint256",name:"smFee",type:"uint256"},{internalType:"uint256",name:"insolventAmount",type:"uint256"}],internalType:"struct OptionToken.LiquidationFees",name:"liquidationFees",type:"tuple"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256[]",name:"positionIds",type:"uint256[]"}],name:"merge",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"nextId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_owner",type:"address"}],name:"nominateNewOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"nominatedOwner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"partialCollatParams",outputs:[{internalType:"uint256",name:"penaltyRatio",type:"uint256"},{internalType:"uint256",name:"liquidatorFeeRatio",type:"uint256"},{internalType:"uint256",name:"smFeeRatio",type:"uint256"},{internalType:"uint256",name:"minLiquidationFee",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"positions",outputs:[{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"collateral",type:"uint256"},{internalType:"enum OptionToken.PositionState",name:"state",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"penaltyRatio",type:"uint256"},{internalType:"uint256",name:"liquidatorFeeRatio",type:"uint256"},{internalType:"uint256",name:"smFeeRatio",type:"uint256"},{internalType:"uint256",name:"minLiquidationFee",type:"uint256"}],internalType:"struct OptionToken.PartialCollateralParameters",name:"_partialCollatParams",type:"tuple"}],name:"setPartialCollateralParams",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"newURI",type:"string"}],name:"setURI",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256[]",name:"positionIds",type:"uint256[]"}],name:"settlePositions",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"newAmount",type:"uint256"},{internalType:"uint256",name:"newCollateral",type:"uint256"},{internalType:"address",name:"recipient",type:"address"}],name:"split",outputs:[{internalType:"uint256",name:"newPositionId",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"}];function kt(e,t){return It.apply(this,arguments)}function It(){return(It=f(N.mark((function e(n,i){var r,s;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new a,e.next=3,r.market(i);case 3:return s=new t.ethers.Contract(e.sent.__marketData.marketAddresses.optionToken,gt,n.signer),e.next=7,s.getOwnerPositions(n.address);case 7:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function At(e,t,n,a){return Ot.apply(this,arguments)}function Ot(){return(Ot=f(N.mark((function e(t,n,a,i){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.quote("call"===n,"buy"===a,i);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Pt(e,t,n,a,i,r,s,p,u,y){return Ct.apply(this,arguments)}function Ct(){return(Ct=f(N.mark((function e(n,a,i,r,s,p,u,y,o,d){var l,m,c,T,b,f,w,v,x,h,M,g,k,I,A;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ft(n.network,a,r,s);case 2:return m=(l=e.sent).id,e.next=6,kt(n,a);case 6:return c=e.sent.filter((function(e){return e.strikeId.toNumber()===m&&ht(e.optionType)==("call"===i)&&1===e.state})),T=c.length>0?c[0].positionId:0,b=xt("call"===i,"buy"===p,d),f=t.BigNumber.from(u),e.next=13,At(l,i,p,f);case 13:return w=e.sent,v="buy"===p?w.premium.add(w.fee):w.premium.sub(w.fee),x="openPosition",h="buy"===p?v:o,M=t.BigNumber.from(0),g=o,c.length>0&&(M=null!=(k=c[0].collateral)?k:t.BigNumber.from(0),g=M.add(o),("sell"===p&&Mt(c[0].optionType)||"buy"===p&&!Mt(c[0].optionType))&&(b=c[0].optionType,x="closePosition",g=M.sub(o),h=Mt(c[0].optionType)||d||!o.gt(v)?!Mt(c[0].optionType)&&d?v:t.BigNumber.from(0):v.sub(o))),I=new t.ethers.utils.Interface(vt),A=I.encodeFunctionData(x,[[l.market().contractAddresses.optionMarket,m,T,1,g,M,b,f,"sell"===p?v:0,"buy"===p?v:t.ethers.constants.MaxUint256,h,y]]),e.abrupt("return",A);case 23:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var Rt=function(){function e(e,t,n,a,i,r){this.network=e,this.poolLogic=n,this.address=n.address,this.managerLogic=a,this.signer=t,this.utils=i,this.factory=r}var n=e.prototype;return n.getComposition=function(){var e=f(N.mark((function e(){var t,n;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.managerLogic.getFundComposition();case 2:return n=(t=e.sent)[0].map((function(e,n){return{asset:e.asset,isDeposit:e.isDeposit,balance:t[1][n],rate:t[2][n]}})),e.abrupt("return",n);case 5:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),n.approveDeposit=function(){var e=f(N.mark((function e(n,a,i){var r;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===i&&(i=null),r=new t.ethers.Contract(n,te,this.signer),e.next=4,r.approve(this.address,a,i);case 4:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e,this)})));return function(t,n,a){return e.apply(this,arguments)}}(),n.deposit=function(){var e=f(N.mark((function e(t,n,a){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===a&&(a=null),e.next=3,this.poolLogic.deposit(t,n,a);case 3:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e,this)})));return function(t,n,a){return e.apply(this,arguments)}}(),n.withdraw=function(){var e=f(N.mark((function e(t,n){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===n&&(n=null),e.next=3,this.poolLogic.withdraw(t,n);case 3:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}(),n.approve=function(){var e=f(N.mark((function e(n,a,i,r){var s,p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),s=new t.ethers.utils.Interface(te),p=s.encodeFunctionData("approve",[j[this.network][n],i]),e.next=5,this.poolLogic.execTransaction(a,p,r);case 5:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.approveStaking=function(){var e=f(N.mark((function e(n,a,i,r){var s,p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),s=new t.ethers.utils.Interface(te),p=s.encodeFunctionData("approve",[G[this.network][n],i]),e.next=5,this.poolLogic.execTransaction(a,p,r);case 5:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.approveUniswapV3Liquidity=function(){var e=f(N.mark((function e(n,a,i){var r,s;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===i&&(i=null),r=new t.ethers.utils.Interface(te),s=r.encodeFunctionData("approve",[z[this.network],a]),e.next=5,this.poolLogic.execTransaction(n,s,i);case 5:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)})));return function(t,n,a){return e.apply(this,arguments)}}(),n.approveSpender=function(){var e=f(N.mark((function e(n,a,i,r){var s,p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),s=new t.ethers.utils.Interface(te),p=s.encodeFunctionData("approve",[n,i]),e.next=5,this.poolLogic.execTransaction(a,p,r);case 5:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.trade=function(){var e=f(N.mark((function e(n,a,r,s,p,u){var y,o,d,l,m,c,T;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:void 0===p&&(p=.5),void 0===u&&(u=null),e.t0=n,e.next=e.t0===exports.Dapp.ONEINCH?5:e.t0===exports.Dapp.BALANCER?15:e.t0===exports.Dapp.SYNTHETIX?19:e.t0===exports.Dapp.TOROS?26:30;break;case 5:return o=Q[this.network],e.next=8,Qe(o);case 8:return d=e.sent,l="https://api.1inch.exchange/v4.0/"+o+"/swap?fromTokenAddress="+a+"&toTokenAddress="+r+"&amount="+s.toString()+"&fromAddress="+this.address+"&destReceiver="+this.address+"&slippage="+p.toString()+"&disableEstimate=true"+d,e.next=12,i.get(l);case 12:return y=e.sent.data.tx.data,e.abrupt("break",35);case 15:return e.next=17,this.utils.getBalancerSwapTx(this,a,r,s,p);case 17:return y=e.sent,e.abrupt("break",35);case 19:return m=new t.ethers.utils.Interface(ie),c=[a,r].map((function(e){return t.ethers.utils.formatBytes32String(e)})),e.next=23,this.factory.owner();case 23:return y=m.encodeFunctionData(exports.Transaction.SWAP_SYNTHS,[c[0],s,c[1],e.sent,"0x4448454447450000000000000000000000000000000000000000000000000000"]),e.abrupt("break",35);case 26:return e.next=28,Ge(this,a,r,t.ethers.BigNumber.from(s),p);case 28:return y=e.sent,e.abrupt("break",35);case 30:return T=new t.ethers.utils.Interface(re),e.next=33,this.utils.getMinAmountOut(n,a,r,s,p);case 33:y=T.encodeFunctionData(exports.Transaction.SWAP,[s,e.sent,[a,r],this.address,$]);case 35:return e.next=37,this.poolLogic.execTransaction(j[this.network][n],y,u);case 37:return e.abrupt("return",e.sent);case 39:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s){return e.apply(this,arguments)}}(),n.addLiquidity=function(){var e=f(N.mark((function e(n,a,i,r,s,p){var u,y;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===p&&(p=null),u=new t.ethers.utils.Interface(re),y=u.encodeFunctionData(exports.Transaction.ADD_LIQUIDITY,[a,i,r,s,0,0,this.address,$]),e.next=5,this.poolLogic.execTransaction(j[this.network][n],y,p);case 5:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s){return e.apply(this,arguments)}}(),n.removeLiquidity=function(){var e=f(N.mark((function e(n,a,i,r,s){var p,u;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===s&&(s=null),p=new t.ethers.utils.Interface(re),u=p.encodeFunctionData(exports.Transaction.REMOVE_LIQUIDITY,[a,i,r,0,0,this.address,$]),e.next=5,this.poolLogic.execTransaction(j[this.network][n],u,s);case 5:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),n.stake=function(){var e=f(N.mark((function e(n,a,i,r){var s,p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),s=new t.ethers.utils.Interface(ne),e.next=4,this.utils.getLpPoolId(n,a);case 4:return p=s.encodeFunctionData(exports.Transaction.DEPOSIT,[e.sent,i,this.address]),e.next=8,this.poolLogic.execTransaction(G[this.network][n],p,r);case 8:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.stakeInGauge=function(){var e=f(N.mark((function e(n,a,i,r){var s,p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:void 0===r&&(r=null),e.t0=n,e.next=e.t0===exports.Dapp.BALANCER?4:e.t0===exports.Dapp.VELODROME?7:9;break;case 4:return p=new t.ethers.utils.Interface(de),s=p.encodeFunctionData("deposit(uint256)",[i]),e.abrupt("break",10);case 7:return s=ut(i),e.abrupt("break",10);case 9:throw new Error("dapp not supported");case 10:return e.next=12,this.poolLogic.execTransaction(a,s,r);case 12:return e.abrupt("return",e.sent);case 14:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.unStake=function(){var e=f(N.mark((function e(n,a,i,r){var s,p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),s=new t.ethers.utils.Interface(ne),e.next=4,this.utils.getLpPoolId(n,a);case 4:return p=s.encodeFunctionData(exports.Transaction.WITHDRAW,[e.sent,i,this.address]),e.next=8,this.poolLogic.execTransaction(G[this.network][n],p,r);case 8:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.unstakeFromGauge=function(){var e=f(N.mark((function e(n,a,i){var r,s;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===i&&(i=null),r=new t.ethers.utils.Interface(de),s=r.encodeFunctionData("withdraw(uint256)",[a]),e.next=5,this.poolLogic.execTransaction(n,s,i);case 5:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)})));return function(t,n,a){return e.apply(this,arguments)}}(),n.lend=function(){var e=f(N.mark((function e(n,a,i,r,s){var p,u;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=0),void 0===s&&(s=null),p=new t.ethers.utils.Interface(ae.abi),u=p.encodeFunctionData(exports.Transaction.DEPOSIT,[a,i,this.address,r]),e.next=6,this.poolLogic.execTransaction(j[this.network][n],u,s);case 6:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),n.withdrawDeposit=function(){var e=f(N.mark((function e(n,a,i,r){var s,p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),s=new t.ethers.utils.Interface(ae.abi),p=s.encodeFunctionData(exports.Transaction.WITHDRAW,[a,i,this.address]),e.next=5,this.poolLogic.execTransaction(j[this.network][n],p,r);case 5:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.borrow=function(){var e=f(N.mark((function e(n,a,i,r,s){var p,u;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=0),void 0===s&&(s=null),p=new t.ethers.utils.Interface(ae.abi),u=p.encodeFunctionData(exports.Transaction.BORROW,[a,i,2,r,this.address]),e.next=6,this.poolLogic.execTransaction(j[this.network][n],u,s);case 6:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),n.repay=function(){var e=f(N.mark((function e(n,a,i,r){var s,p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),s=new t.ethers.utils.Interface(ae.abi),p=s.encodeFunctionData(exports.Transaction.REPAY,[a,i,2,this.address]),e.next=5,this.poolLogic.execTransaction(j[this.network][n],p,r);case 5:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.harvestRewards=function(){var e=f(N.mark((function e(n,a,i){var r,s;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===i&&(i=null),r=new t.ethers.utils.Interface(ne),e.next=4,this.utils.getLpPoolId(n,a);case 4:return s=r.encodeFunctionData(exports.Transaction.HARVEST,[e.sent,this.address]),e.next=8,this.poolLogic.execTransaction(G[this.network][n],s,i);case 8:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e,this)})));return function(t,n,a){return e.apply(this,arguments)}}(),n.changeAssets=function(){var e=f(N.mark((function e(t,n){var a,i,r,s;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===n&&(n=null),e.next=3,this.getComposition();case 3:return a=e.sent.map((function(e){return e.asset.toLocaleLowerCase()})),i=t.map((function(e){return e.asset.toLocaleLowerCase()})),r=a.filter((function(e){return!i.includes(e)})),s=t.map((function(e){return[e.asset,e.isDeposit]})),e.next=10,this.managerLogic.changeAssets(s,r,n);case 10:return e.abrupt("return",e.sent);case 12:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}(),n.setTrader=function(){var e=f(N.mark((function e(t,n){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===n&&(n=null),e.next=3,this.managerLogic.setTrader(t,n);case 3:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}(),n.joinBalancerPool=function(){var e=f(N.mark((function e(t,n,a,i){var r;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===i&&(i=null),r=this.utils.getBalancerJoinPoolTx(this,t,n,a),e.next=4,this.poolLogic.execTransaction(j[this.network][exports.Dapp.BALANCER],r,i);case 4:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.exitBalancerPool=function(){var e=f(N.mark((function e(t,n,a,i,r){var s;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===i&&(i=null),void 0===r&&(r=null),s=this.utils.getBalancerExitPoolTx(this,t,n,i,a),e.next=5,this.poolLogic.execTransaction(j[this.network][exports.Dapp.BALANCER],s,r);case 5:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),n.harvestBalancerRewards=function(){var e=f(N.mark((function e(n){var a,i,r,s,p,u;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===n&&(n=null),a=new ve(this.network,this.signer),e.next=4,a.getMultiTokensPendingClaims(this.address);case 4:return r=(i=e.sent).map((function(e){return e.tokenClaimInfo.token})),e.next=8,a.multiTokenClaimRewards(this.address,i);case 8:return s=e.sent,p=new t.ethers.utils.Interface(pe),u=p.encodeFunctionData(exports.Transaction.CLAIM_DISTRIBIUTIONS,[this.address,s,r]),e.next=13,this.poolLogic.execTransaction(G[this.network][exports.Dapp.BALANCER],u,n);case 13:return e.abrupt("return",e.sent);case 15:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),n.harvestAaveRewards=function(){var e=f(N.mark((function e(n,a){var i,r,s,p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===a&&(a=null),i=G[this.network][exports.Dapp.AAVE],r=new t.ethers.utils.Interface(ue),s=new t.ethers.Contract(i,r,this.signer),e.next=6,s.getUserUnclaimedRewards(this.address);case 6:return p=r.encodeFunctionData(exports.Transaction.CLAIM_REWARDS,[n,e.sent,this.address]),e.next=10,this.poolLogic.execTransaction(i,p,a);case 10:return e.abrupt("return",e.sent);case 12:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}(),n.harvestAaveV3Rewards=function(){var e=f(N.mark((function e(t,n,a){var i;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===a&&(a=null),e.next=3,tt(this,t,n);case 3:return i=e.sent,e.next=6,this.poolLogic.execTransaction(G[this.network][exports.Dapp.AAVEV3],i,a);case 6:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}}),e,this)})));return function(t,n,a){return e.apply(this,arguments)}}(),n.addLiquidityUniswapV3=function(){var e=f(N.mark((function e(n,a,i,r,s,p,u,y,o,d){var l,m;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===d&&(d=null),null!==s&&null!==p||null!==u&&null!==y){e.next=3;break}throw new Error("Need to provide price or tick range");case 3:return l=new t.ethers.utils.Interface(se),e.next=6,he(this,n,a,i,r,s,p,u,y,o);case 6:return m=l.encodeFunctionData(exports.Transaction.MINT,[e.sent]),e.next=10,this.poolLogic.execTransaction(z[this.network],m,d);case 10:return e.abrupt("return",e.sent);case 12:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s,p,u,y,o){return e.apply(this,arguments)}}(),n.decreaseLiquidity=function(){var e=f(N.mark((function e(n,a,i,r){var s,p,u,y,o,d,l,m,c,T;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===i&&(i=100),void 0===r&&(r=null),n!==exports.Dapp.UNISWAPV3){e.next=15;break}return p=z[this.network],u=new t.ethers.utils.Interface(se),e.next=7,ge(a,this);case 7:y=e.sent.mul(Math.round(1e4*i)).div(1e6),o=u.encodeFunctionData(exports.Transaction.DECREASE_LIQUIDITY,[[a,y,0,0,$]]),d=u.encodeFunctionData(exports.Transaction.COLLECT,[[a,this.address,ee,ee]]),l=[o,d],100===i&&(m=u.encodeFunctionData(exports.Transaction.BURN,[a]),l.push(m)),s=u.encodeFunctionData(exports.Transaction.MULTI_CALL,[l]),e.next=25;break;case 15:if(n!==exports.Dapp.ARRAKIS){e.next=24;break}return p=j[this.network][n],c=new t.ethers.utils.Interface(ye),e.next=20,this.utils.getBalance(a,this.address);case 20:T=e.sent.mul(Math.round(1e4*i)).div(1e6),s=c.encodeFunctionData(exports.Transaction.REMOVE_LIQUIDITY_UNSTAKE,[a,T,0,0,this.address]),e.next=25;break;case 24:throw new Error("dapp not supported");case 25:return e.next=27,this.poolLogic.execTransaction(p,s,r);case 27:return e.abrupt("return",e.sent);case 29:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.increaseLiquidity=function(){var e=f(N.mark((function e(n,a,i,r,s){var p,u,y,o;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===s&&(s=null),n!==exports.Dapp.UNISWAPV3){e.next=7;break}u=z[this.network],y=new t.ethers.utils.Interface(se),p=y.encodeFunctionData(exports.Transaction.INCREASE_LIQUIDITY,[[a,i,r,0,0,$]]),e.next=14;break;case 7:if(n!==exports.Dapp.ARRAKIS){e.next=13;break}u=j[this.network][n],o=new t.ethers.utils.Interface(ye),p=o.encodeFunctionData(exports.Transaction.ADD_LIQUIDITY_STAKE,[a,i,r,0,0,this.address]),e.next=14;break;case 13:throw new Error("dapp not supported");case 14:return e.next=16,this.poolLogic.execTransaction(u,p,s);case 16:return e.abrupt("return",e.sent);case 18:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),n.claimFees=function(){var e=f(N.mark((function e(n,a,i){var r,s,p,u;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:void 0===i&&(i=null),e.t0=n,e.next=e.t0===exports.Dapp.UNISWAPV3?4:e.t0===exports.Dapp.ARRAKIS||e.t0===exports.Dapp.BALANCER?8:e.t0===exports.Dapp.VELODROME?12:15;break;case 4:return s=z[this.network],p=new t.ethers.utils.Interface(se),r=p.encodeFunctionData(exports.Transaction.COLLECT,[[a,this.address,ee,ee]]),e.abrupt("break",16);case 8:return s=a,u=new t.ethers.utils.Interface(oe),r=u.encodeFunctionData("claim_rewards()",[]),e.abrupt("break",16);case 12:return s=a,r=yt(this,a),e.abrupt("break",16);case 15:throw new Error("dapp not supported");case 16:return e.next=18,this.poolLogic.execTransaction(s,r,i);case 18:return e.abrupt("return",e.sent);case 20:case"end":return e.stop()}}),e,this)})));return function(t,n,a){return e.apply(this,arguments)}}(),n.tradeUniswapV3=function(){var e=f(N.mark((function e(t,n,a,i,r,s){var p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=.5),void 0===s&&(s=null),e.next=4,Oe(this,t,n,a,r,i);case 4:return p=e.sent,e.next=7,this.poolLogic.execTransaction(j[this.network][exports.Dapp.UNISWAPV3],p,s);case 7:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s){return e.apply(this,arguments)}}(),n.addLiquidityVelodrome=function(){var e=f(N.mark((function e(t,n,a,i,r,s){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===s&&(s=null),e.next=3,this.poolLogic.execTransaction(j[this.network][exports.Dapp.VELODROME],it(this,t,n,a,i,r),s);case 3:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s){return e.apply(this,arguments)}}(),n.removeLiquidityVelodrome=function(){var e=f(N.mark((function e(t,n,a,i,r){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),e.next=3,this.poolLogic.execTransaction(j[this.network][exports.Dapp.VELODROME],rt(this,t,n,a,i),r);case 3:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),n.tradeLyraOption=function(){var e=f(N.mark((function e(n,a,i,r,s,p,u,y,o,d){var l;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===y&&(y="0"),void 0===o&&(o=!1),void 0===d&&(d=null),e.next=5,Pt(this,n,r,a,i,s,p,u,t.BigNumber.from(y),o);case 5:return l=e.sent,e.next=8,this.poolLogic.execTransaction(j[this.network][exports.Dapp.LYRA],l,d);case 8:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s,p,u,y,o){return e.apply(this,arguments)}}(),n.getLyraPositions=function(){var e=f(N.mark((function e(t){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,kt(this,t);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)}}(),e}(),Dt=[{inputs:[{internalType:"address",name:"_feeToSetter",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token0",type:"address"},{indexed:!0,internalType:"address",name:"token1",type:"address"},{indexed:!1,internalType:"address",name:"pair",type:"address"},{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"PairCreated",type:"event"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"allPairs",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"allPairsLength",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"}],name:"createPair",outputs:[{internalType:"address",name:"pair",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"feeTo",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeToSetter",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"getPair",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"migrator",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pairCodeHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"_feeTo",type:"address"}],name:"setFeeTo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_feeToSetter",type:"address"}],name:"setFeeToSetter",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_migrator",type:"address"}],name:"setMigrator",outputs:[],stateMutability:"nonpayable",type:"function"}],St=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"amount0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1",type:"uint256"},{indexed:!0,internalType:"address",name:"to",type:"address"}],name:"Burn",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"amount0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1",type:"uint256"}],name:"Mint",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"amount0In",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1In",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount0Out",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1Out",type:"uint256"},{indexed:!0,internalType:"address",name:"to",type:"address"}],name:"Swap",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint112",name:"reserve0",type:"uint112"},{indexed:!1,internalType:"uint112",name:"reserve1",type:"uint112"}],name:"Sync",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{constant:!0,inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"MINIMUM_LIQUIDITY",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"pure",type:"function"},{constant:!0,inputs:[],name:"PERMIT_TYPEHASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],payable:!1,stateMutability:"pure",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"}],name:"burn",outputs:[{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],payable:!1,stateMutability:"pure",type:"function"},{constant:!0,inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getReserves",outputs:[{internalType:"uint112",name:"reserve0",type:"uint112"},{internalType:"uint112",name:"reserve1",type:"uint112"},{internalType:"uint32",name:"blockTimestampLast",type:"uint32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"initialize",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"kLast",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"}],name:"mint",outputs:[{internalType:"uint256",name:"liquidity",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"pure",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"price0CumulativeLast",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"price1CumulativeLast",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"}],name:"skim",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount0Out",type:"uint256"},{internalType:"uint256",name:"amount1Out",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"swap",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"pure",type:"function"},{constant:!1,inputs:[],name:"sync",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"token0",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"token1",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"}],Et=[{inputs:[{internalType:"contract IAuthorizer",name:"authorizer",type:"address"},{internalType:"contract IWETH",name:"weth",type:"address"},{internalType:"uint256",name:"pauseWindowDuration",type:"uint256"},{internalType:"uint256",name:"bufferPeriodDuration",type:"uint256"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IAuthorizer",name:"newAuthorizer",type:"address"}],name:"AuthorizerChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IERC20",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"address",name:"recipient",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"ExternalBalanceTransfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IFlashLoanRecipient",name:"recipient",type:"address"},{indexed:!0,internalType:"contract IERC20",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"feeAmount",type:"uint256"}],name:"FlashLoan",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"contract IERC20",name:"token",type:"address"},{indexed:!1,internalType:"int256",name:"delta",type:"int256"}],name:"InternalBalanceChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bool",name:"paused",type:"bool"}],name:"PausedStateChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"poolId",type:"bytes32"},{indexed:!0,internalType:"address",name:"liquidityProvider",type:"address"},{indexed:!1,internalType:"contract IERC20[]",name:"tokens",type:"address[]"},{indexed:!1,internalType:"int256[]",name:"deltas",type:"int256[]"},{indexed:!1,internalType:"uint256[]",name:"protocolFeeAmounts",type:"uint256[]"}],name:"PoolBalanceChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"poolId",type:"bytes32"},{indexed:!0,internalType:"address",name:"assetManager",type:"address"},{indexed:!0,internalType:"contract IERC20",name:"token",type:"address"},{indexed:!1,internalType:"int256",name:"cashDelta",type:"int256"},{indexed:!1,internalType:"int256",name:"managedDelta",type:"int256"}],name:"PoolBalanceManaged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"poolId",type:"bytes32"},{indexed:!0,internalType:"address",name:"poolAddress",type:"address"},{indexed:!1,internalType:"enum IVault.PoolSpecialization",name:"specialization",type:"uint8"}],name:"PoolRegistered",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"relayer",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"RelayerApprovalChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"poolId",type:"bytes32"},{indexed:!0,internalType:"contract IERC20",name:"tokenIn",type:"address"},{indexed:!0,internalType:"contract IERC20",name:"tokenOut",type:"address"},{indexed:!1,internalType:"uint256",name:"amountIn",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amountOut",type:"uint256"}],name:"Swap",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"poolId",type:"bytes32"},{indexed:!1,internalType:"contract IERC20[]",name:"tokens",type:"address[]"}],name:"TokensDeregistered",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"poolId",type:"bytes32"},{indexed:!1,internalType:"contract IERC20[]",name:"tokens",type:"address[]"},{indexed:!1,internalType:"address[]",name:"assetManagers",type:"address[]"}],name:"TokensRegistered",type:"event"},{inputs:[],name:"WETH",outputs:[{internalType:"contract IWETH",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"enum IVault.SwapKind",name:"kind",type:"uint8"},{components:[{internalType:"bytes32",name:"poolId",type:"bytes32"},{internalType:"uint256",name:"assetInIndex",type:"uint256"},{internalType:"uint256",name:"assetOutIndex",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],internalType:"struct IVault.BatchSwapStep[]",name:"swaps",type:"tuple[]"},{internalType:"contract IAsset[]",name:"assets",type:"address[]"},{components:[{internalType:"address",name:"sender",type:"address"},{internalType:"bool",name:"fromInternalBalance",type:"bool"},{internalType:"address payable",name:"recipient",type:"address"},{internalType:"bool",name:"toInternalBalance",type:"bool"}],internalType:"struct IVault.FundManagement",name:"funds",type:"tuple"},{internalType:"int256[]",name:"limits",type:"int256[]"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"batchSwap",outputs:[{internalType:"int256[]",name:"assetDeltas",type:"int256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"poolId",type:"bytes32"},{internalType:"contract IERC20[]",name:"tokens",type:"address[]"}],name:"deregisterTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"poolId",type:"bytes32"},{internalType:"address",name:"sender",type:"address"},{internalType:"address payable",name:"recipient",type:"address"},{components:[{internalType:"contract IAsset[]",name:"assets",type:"address[]"},{internalType:"uint256[]",name:"minAmountsOut",type:"uint256[]"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bool",name:"toInternalBalance",type:"bool"}],internalType:"struct IVault.ExitPoolRequest",name:"request",type:"tuple"}],name:"exitPool",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IFlashLoanRecipient",name:"recipient",type:"address"},{internalType:"contract IERC20[]",name:"tokens",type:"address[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"flashLoan",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"selector",type:"bytes4"}],name:"getActionId",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAuthorizer",outputs:[{internalType:"contract IAuthorizer",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getDomainSeparator",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"},{internalType:"contract IERC20[]",name:"tokens",type:"address[]"}],name:"getInternalBalance",outputs:[{internalType:"uint256[]",name:"balances",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"}],name:"getNextNonce",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getPausedState",outputs:[{internalType:"bool",name:"paused",type:"bool"},{internalType:"uint256",name:"pauseWindowEndTime",type:"uint256"},{internalType:"uint256",name:"bufferPeriodEndTime",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"poolId",type:"bytes32"}],name:"getPool",outputs:[{internalType:"address",name:"",type:"address"},{internalType:"enum IVault.PoolSpecialization",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"poolId",type:"bytes32"},{internalType:"contract IERC20",name:"token",type:"address"}],name:"getPoolTokenInfo",outputs:[{internalType:"uint256",name:"cash",type:"uint256"},{internalType:"uint256",name:"managed",type:"uint256"},{internalType:"uint256",name:"lastChangeBlock",type:"uint256"},{internalType:"address",name:"assetManager",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"poolId",type:"bytes32"}],name:"getPoolTokens",outputs:[{internalType:"contract IERC20[]",name:"tokens",type:"address[]"},{internalType:"uint256[]",name:"balances",type:"uint256[]"},{internalType:"uint256",name:"lastChangeBlock",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getProtocolFeesCollector",outputs:[{internalType:"contract ProtocolFeesCollector",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"relayer",type:"address"}],name:"hasApprovedRelayer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"poolId",type:"bytes32"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{components:[{internalType:"contract IAsset[]",name:"assets",type:"address[]"},{internalType:"uint256[]",name:"maxAmountsIn",type:"uint256[]"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bool",name:"fromInternalBalance",type:"bool"}],internalType:"struct IVault.JoinPoolRequest",name:"request",type:"tuple"}],name:"joinPool",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"enum IVault.PoolBalanceOpKind",name:"kind",type:"uint8"},{internalType:"bytes32",name:"poolId",type:"bytes32"},{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct IVault.PoolBalanceOp[]",name:"ops",type:"tuple[]"}],name:"managePoolBalance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"enum IVault.UserBalanceOpKind",name:"kind",type:"uint8"},{internalType:"contract IAsset",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"sender",type:"address"},{internalType:"address payable",name:"recipient",type:"address"}],internalType:"struct IVault.UserBalanceOp[]",name:"ops",type:"tuple[]"}],name:"manageUserBalance",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"enum IVault.SwapKind",name:"kind",type:"uint8"},{components:[{internalType:"bytes32",name:"poolId",type:"bytes32"},{internalType:"uint256",name:"assetInIndex",type:"uint256"},{internalType:"uint256",name:"assetOutIndex",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],internalType:"struct IVault.BatchSwapStep[]",name:"swaps",type:"tuple[]"},{internalType:"contract IAsset[]",name:"assets",type:"address[]"},{components:[{internalType:"address",name:"sender",type:"address"},{internalType:"bool",name:"fromInternalBalance",type:"bool"},{internalType:"address payable",name:"recipient",type:"address"},{internalType:"bool",name:"toInternalBalance",type:"bool"}],internalType:"struct IVault.FundManagement",name:"funds",type:"tuple"}],name:"queryBatchSwap",outputs:[{internalType:"int256[]",name:"",type:"int256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"enum IVault.PoolSpecialization",name:"specialization",type:"uint8"}],name:"registerPool",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"poolId",type:"bytes32"},{internalType:"contract IERC20[]",name:"tokens",type:"address[]"},{internalType:"address[]",name:"assetManagers",type:"address[]"}],name:"registerTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IAuthorizer",name:"newAuthorizer",type:"address"}],name:"setAuthorizer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"paused",type:"bool"}],name:"setPaused",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"relayer",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setRelayerApproval",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"bytes32",name:"poolId",type:"bytes32"},{internalType:"enum IVault.SwapKind",name:"kind",type:"uint8"},{internalType:"contract IAsset",name:"assetIn",type:"address"},{internalType:"contract IAsset",name:"assetOut",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],internalType:"struct IVault.SingleSwap",name:"singleSwap",type:"tuple"},{components:[{internalType:"address",name:"sender",type:"address"},{internalType:"bool",name:"fromInternalBalance",type:"bool"},{internalType:"address payable",name:"recipient",type:"address"},{internalType:"bool",name:"toInternalBalance",type:"bool"}],internalType:"struct IVault.FundManagement",name:"funds",type:"tuple"},{internalType:"uint256",name:"limit",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swap",outputs:[{internalType:"uint256",name:"amountCalculated",type:"uint256"}],stateMutability:"payable",type:"function"},{stateMutability:"payable",type:"receive"}],Lt=function(){function e(e,t){this.network=e,this.signer=t}var n=e.prototype;return n.getLpReserves=function(){var e=f(N.mark((function e(n,a,i){var r,s,p,u,y;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!Y[this.network][n]){e.next=13;break}return r=new t.Contract(Y[this.network][n],Dt,this.signer),e.next=4,r.getPair(a,i);case 4:return s=new t.Contract(e.sent,St,this.signer),e.next=8,s.getReserves();case 8:return u=(p=e.sent)[0],y=p[1],e.abrupt("return",a.toLowerCase()<i.toLowerCase()?{assetA:u,assetB:y}:{assetA:y,assetB:u});case 13:throw new Error("Dapp not supported on this network");case 14:case"end":return e.stop()}}),e,this)})));return function(t,n,a){return e.apply(this,arguments)}}(),n.getLpPoolId=function(){var e=f(N.mark((function e(n,a){var i,r,s;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!G[this.network][n]){e.next=15;break}return i=new t.Contract(G[this.network][n],ne,this.signer),e.next=4,i.poolLength();case 4:return r=Array.from({length:e.sent.toNumber()},(function(e,t){return t})),e.next=8,Promise.all(r.map((function(e){return i.lpToken(e)})));case 8:if(-1!==(s=e.sent.map((function(e){return e.toLowerCase()})).indexOf(a.toLocaleLowerCase()))){e.next=12;break}throw new Error("Staking not supported for asset");case 12:return e.abrupt("return",s);case 15:throw new Error("Dapp not supported on this network");case 16:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}(),n.getBalance=function(){var e=f(N.mark((function e(n,a){var i;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=new t.ethers.Contract(n,te,this.signer),e.next=3,i.balanceOf(a);case 3:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}(),n.getDecimals=function(){var e=f(N.mark((function e(n){var a;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=new t.ethers.Contract(n,te,this.signer),e.next=3,a.decimals();case 3:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),n.getMinAmountOut=function(){var e=f(N.mark((function e(n,a,i,r,s){var p,u,y,o,d,l,m,T;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return p=t.ethers.utils.getAddress(a),u=t.ethers.utils.getAddress(i),e.next=4,this.getLpReserves(n,p,u);case 4:return y=e.sent,o=new c.Token(Q[this.network],p,18),d=new c.Token(Q[this.network],u,18),l=new c.Pair(new c.TokenAmount(o,y.assetA.toString()),new c.TokenAmount(d,y.assetB.toString())),m=new c.Route([l],o,d),T=new c.Trade(m,new c.TokenAmount(o,r.toString()),c.TradeType.EXACT_INPUT),e.abrupt("return",t.ethers.BigNumber.from(T.minimumAmountOut(new c.Percent((100*s).toFixed(),"10000")).raw.toString()));case 11:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),n.getBalancerSwapTx=function(){var e=f(N.mark((function e(n,a,i,r,s){var p,u,y,o,d,l,m,c,b,f,w;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return p=new T.SOR(this.signer.provider,Q[this.network],X[this.network]),e.next=3,p.fetchPools();case 3:if(e.sent){e.next=6;break}throw new Error("Error fetching balancer pools");case 6:return u=T.SwapTypes.SwapExactIn,e.next=9,p.getSwaps(a,i,u,t.ethers.BigNumber.from(r));case 9:if(o=(y=e.sent).swaps,d=y.tokenAddresses,l=y.returnAmount.mul(1e4-100*s).div(1e4),m=new t.ethers.utils.Interface(Et),1!==o.length){e.next=21;break}return b=m.encodeFunctionData("swap",[[(c=o[0]).poolId,T.SwapTypes.SwapExactIn,d[c.assetInIndex],d[c.assetOutIndex],c.amount,c.userData],[n.address,!1,n.address,!1],l,Math.floor(Date.now()/1e3)+1200]),e.abrupt("return",b);case 21:return f=[],d.forEach((function(e,t){f[t]=e.toLowerCase()===a.toLowerCase()?r.toString():e.toLowerCase()===i.toLowerCase()?l.mul(-1).toString():"0"})),w=m.encodeFunctionData("batchSwap",[T.SwapTypes.SwapExactIn,o,d,[n.address,!1,n.address,!1],f,Math.floor(Date.now()/1e3)+1200]),e.abrupt("return",w);case 25:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),n.getBalancerJoinPoolTx=function(){var e=f(N.mark((function e(n,a,i,r){var s,p,u,y,o,d;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=new t.ethers.utils.Interface(Et),p=t.ethers.utils.getAddress(a.slice(0,42)),u=i.findIndex((function(e){return e.toLowerCase()===p.toLocaleLowerCase()})),y=r.slice(),u>=0&&y.splice(u,1),o=[a,n.address,n.address,[i,r,t.ethers.utils.defaultAbiCoder.encode(["uint256","uint256[]","uint256"],[1,y,0]),!1]],d=s.encodeFunctionData("joinPool",o),e.abrupt("return",d);case 8:case"end":return e.stop()}}),e)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.getBalancerExitPoolTx=function(){var e=f(N.mark((function e(n,a,i,r,s){var p,u,y,o;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return p=new Array(i.length).fill(0),u=new t.ethers.utils.Interface(Et),y=null===r?t.ethers.utils.defaultAbiCoder.encode(["uint256","uint256"],[1,s]):t.ethers.utils.defaultAbiCoder.encode(["uint256","uint256","uint256"],[0,s,r]),o=u.encodeFunctionData("exitPool",[a,n.address,n.address,[i,p,y,!1]]),e.abrupt("return",o);case 6:case"end":return e.stop()}}),e)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),n.getLyraOptionExpiries=function(){var e=f(N.mark((function e(t){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,mt(this.network,t);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)}}(),n.getLyraOptionStrikes=function(){var e=f(N.mark((function e(t,n){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Tt(this.network,t,n);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}(),n.getLyraOptionStrike=function(){var e=f(N.mark((function e(t,n,a){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ft(this.network,t,n,a);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)})));return function(t,n,a){return e.apply(this,arguments)}}(),n.getLyraOptionQuote=function(){var e=f(N.mark((function e(n,a,i,r){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,At(n,a,i,t.ethers.BigNumber.from(r));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),e}(),Ft=function(){function e(e,n){this.network=n,this.signer=e,this.factory=new t.Contract(H[n],U,this.signer),this.utils=new Lt(this.network,this.signer)}var n=e.prototype;return n.createPool=function(){var e=f(N.mark((function e(n,a,i,r,s,p){var u,y,o,d;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===s&&(s=20),void 0===p&&(p=null),e.next=4,this.factory.createFund(!1,this.signer.getAddress(),n,a,i,100*s,r,p);case 4:return u=e.sent,e.next=7,u.wait(1);case 7:if(y=e.sent.events.find((function(e){return"FundCreated"===e.event}))){e.next=11;break}throw new Error("Fund not created");case 11:return o=new t.Contract(y.args.fundAddress,V,this.signer),e.next=15,o.poolManagerLogic();case 15:return d=new t.Contract(e.sent,W,this.signer),e.abrupt("return",new Rt(this.network,this.signer,o,d,this.utils,this.factory));case 18:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s){return e.apply(this,arguments)}}(),n.loadPool=function(){var e=f(N.mark((function e(n){var a,i;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=new t.Contract(n,V,this.signer),e.next=3,a.poolManagerLogic();case 3:return i=new t.Contract(e.sent,W,this.signer),e.abrupt("return",new Rt(this.network,this.signer,a,i,this.utils,this.factory));case 6:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),n.validatePool=function(e){return this.factory.isPool(e)},e}();Object.defineProperty(exports,"ethers",{enumerable:!0,get:function(){return t.ethers}}),exports.Dhedge=Ft,exports.Pool=Rt;
1
+ "use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("ethers"),n=require("@lyrafinance/lyra-js"),a=e(n),i=e(require("axios")),r=require("lodash"),s=require("@ethersproject/address");require("lodash/set");var p=require("@ethersproject/abi"),u=e(require("bignumber.js")),y=require("web3-utils"),o=require("ethereumjs-util"),d=require("@uniswap/sdk-core"),l=require("@uniswap/v3-sdk"),m=e(require("jsbi")),c=require("@sushiswap/sdk"),T=require("@balancer-labs/sor");function b(e,t,n,a,i,r,s){try{var p=e[r](s),u=p.value}catch(e){return void n(e)}p.done?t(u):Promise.resolve(u).then(a,i)}function f(e){return function(){var t=this,n=arguments;return new Promise((function(a,i){var r=e.apply(t,n);function s(e){b(r,a,i,s,p,"next",e)}function p(e){b(r,a,i,s,p,"throw",e)}s(void 0)}))}}function w(){return(w=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e}).apply(this,arguments)}var v,x,h,M,g,k,I,A,O,P,C,R,D,S,E,L,F,B,_,q,N=(function(e){var t=function(e){var t=Object.prototype,n=t.hasOwnProperty,a="function"==typeof Symbol?Symbol:{},i=a.iterator||"@@iterator",r=a.asyncIterator||"@@asyncIterator",s=a.toStringTag||"@@toStringTag";function p(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{p({},"")}catch(e){p=function(e,t,n){return e[t]=n}}function u(e,t,n,a){var i=Object.create((t&&t.prototype instanceof d?t:d).prototype),r=new g(a||[]);return i._invoke=function(e,t,n){var a="suspendedStart";return function(i,r){if("executing"===a)throw new Error("Generator is already running");if("completed"===a){if("throw"===i)throw r;return{value:void 0,done:!0}}for(n.method=i,n.arg=r;;){var s=n.delegate;if(s){var p=x(s,n);if(p){if(p===o)continue;return p}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===a)throw a="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);a="executing";var u=y(e,t,n);if("normal"===u.type){if(a=n.done?"completed":"suspendedYield",u.arg===o)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(a="completed",n.method="throw",n.arg=u.arg)}}}(e,n,r),i}function y(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var o={};function d(){}function l(){}function m(){}var c={};p(c,i,(function(){return this}));var T=Object.getPrototypeOf,b=T&&T(T(k([])));b&&b!==t&&n.call(b,i)&&(c=b);var f=m.prototype=d.prototype=Object.create(c);function w(e){["next","throw","return"].forEach((function(t){p(e,t,(function(e){return this._invoke(t,e)}))}))}function v(e,t){var a;this._invoke=function(i,r){function s(){return new t((function(a,s){!function a(i,r,s,p){var u=y(e[i],e,r);if("throw"!==u.type){var o=u.arg,d=o.value;return d&&"object"==typeof d&&n.call(d,"__await")?t.resolve(d.__await).then((function(e){a("next",e,s,p)}),(function(e){a("throw",e,s,p)})):t.resolve(d).then((function(e){o.value=e,s(o)}),(function(e){return a("throw",e,s,p)}))}p(u.arg)}(i,r,a,s)}))}return a=a?a.then(s,s):s()}}function x(e,t){var n=e.iterator[t.method];if(void 0===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,x(e,t),"throw"===t.method))return o;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return o}var a=y(n,e.iterator,t.arg);if("throw"===a.type)return t.method="throw",t.arg=a.arg,t.delegate=null,o;var i=a.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,o):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,o)}function h(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 M(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function g(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(h,this),this.reset(!0)}function k(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var a=-1,r=function t(){for(;++a<e.length;)if(n.call(e,a))return t.value=e[a],t.done=!1,t;return t.value=void 0,t.done=!0,t};return r.next=r}}return{next:I}}function I(){return{value:void 0,done:!0}}return l.prototype=m,p(f,"constructor",m),p(m,"constructor",l),l.displayName=p(m,s,"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,m):(e.__proto__=m,p(e,s,"GeneratorFunction")),e.prototype=Object.create(f),e},e.awrap=function(e){return{__await:e}},w(v.prototype),p(v.prototype,r,(function(){return this})),e.AsyncIterator=v,e.async=function(t,n,a,i,r){void 0===r&&(r=Promise);var s=new v(u(t,n,a,i),r);return e.isGeneratorFunction(n)?s:s.next().then((function(e){return e.done?e.value:s.next()}))},w(f),p(f,s,"Generator"),p(f,i,(function(){return this})),p(f,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var a=t.pop();if(a in e)return n.value=a,n.done=!1,n}return n.done=!0,n}},e.values=k,g.prototype={constructor:g,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(M),!e)for(var t in this)"t"===t.charAt(0)&&n.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 a(n,a){return s.type="throw",s.arg=e,t.next=n,a&&(t.method="next",t.arg=void 0),!!a}for(var i=this.tryEntries.length-1;i>=0;--i){var r=this.tryEntries[i],s=r.completion;if("root"===r.tryLoc)return a("end");if(r.tryLoc<=this.prev){var p=n.call(r,"catchLoc"),u=n.call(r,"finallyLoc");if(p&&u){if(this.prev<r.catchLoc)return a(r.catchLoc,!0);if(this.prev<r.finallyLoc)return a(r.finallyLoc)}else if(p){if(this.prev<r.catchLoc)return a(r.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<r.finallyLoc)return a(r.finallyLoc)}}}},abrupt:function(e,t){for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var r=i;break}}r&&("break"===e||"continue"===e)&&r.tryLoc<=t&&t<=r.finallyLoc&&(r=null);var s=r?r.completion:{};return s.type=e,s.arg=t,r?(this.method="next",this.next=r.finallyLoc,o):this.complete(s)},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),o},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),M(n),o}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var a=n.completion;if("throw"===a.type){var i=a.arg;M(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:k(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),o}},e}(e.exports);try{regeneratorRuntime=t}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=t:Function("r","regeneratorRuntime = r")(t)}}(q={exports:{}}),q.exports),U=[{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"daoAddress",type:"address"}],name:"DAOAddressSet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"numerator",type:"uint256"},{indexed:!1,internalType:"uint256",name:"denominator",type:"uint256"}],name:"DaoFeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"cooldown",type:"uint256"}],name:"ExitCooldownSet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"numerator",type:"uint256"},{indexed:!1,internalType:"uint256",name:"denominator",type:"uint256"}],name:"ExitFeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"fundAddress",type:"address"},{indexed:!1,internalType:"bool",name:"isPoolPrivate",type:"bool"},{indexed:!1,internalType:"string",name:"fundName",type:"string"},{indexed:!1,internalType:"string",name:"managerName",type:"string"},{indexed:!1,internalType:"address",name:"manager",type:"address"},{indexed:!1,internalType:"uint256",name:"time",type:"uint256"},{indexed:!1,internalType:"uint256",name:"managerFeeNumerator",type:"uint256"},{indexed:!1,internalType:"uint256",name:"managerFeeDenominator",type:"uint256"}],name:"FundCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"governanceAddress",type:"address"}],name:"GovernanceAddressSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"manager",type:"address"},{indexed:!0,internalType:"address",name:"pool",type:"address"}],name:"LogUpgrade",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"count",type:"uint256"}],name:"MaximumSupportedAssetCountSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"proxy",type:"address"}],name:"ProxyCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"assetHandler",type:"address"}],name:"SetAssetHandler",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"numerator",type:"uint256"},{indexed:!1,internalType:"uint256",name:"denominator",type:"uint256"}],name:"SetMaximumManagerFee",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"SetMaximumManagerFeeNumeratorChange",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"numerator",type:"uint256"},{indexed:!1,internalType:"uint256",name:"denominator",type:"uint256"}],name:"SetPoolManagerFee",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"code",type:"bytes32"}],name:"SetTrackingCode",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{inputs:[{internalType:"bool",name:"_privatePool",type:"bool"},{internalType:"address",name:"_manager",type:"address"},{internalType:"string",name:"_managerName",type:"string"},{internalType:"string",name:"_fundName",type:"string"},{internalType:"string",name:"_fundSymbol",type:"string"},{internalType:"uint256",name:"_managerFeeNumerator",type:"uint256"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"bool",name:"isDeposit",type:"bool"}],internalType:"struct IHasSupportedAsset.Asset[]",name:"_supportedAssets",type:"tuple[]"}],name:"createFund",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"daoAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"},{internalType:"uint8",name:"_proxyType",type:"uint8"}],name:"deploy",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"deployedFunds",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"name",type:"bytes32"}],name:"getAddress",outputs:[{internalType:"address",name:"destination",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"extContract",type:"address"}],name:"getAssetGuard",outputs:[{internalType:"address",name:"guard",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAssetHandler",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getAssetPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getAssetType",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[],name:"getDaoFee",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getDeployedFunds",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getExitCooldown",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"extContract",type:"address"}],name:"getGuard",outputs:[{internalType:"address",name:"guard",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint8",name:"_proxyType",type:"uint8"}],name:"getLogic",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getManagerFeeNumeratorChangeDelay",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getMaximumManagerFee",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getMaximumManagerFeeNumeratorChange",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getMaximumSupportedAssetCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"pool",type:"address"}],name:"getPoolManagerFee",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getTrackingCode",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"governanceAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_poolLogic",type:"address"},{internalType:"address",name:"_managerLogic",type:"address"},{internalType:"address",name:"assetHandler",type:"address"},{internalType:"address",name:"_daoAddress",type:"address"},{internalType:"address",name:"_governanceAddress",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"isPaused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"isPool",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"isPoolManager",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"isValidAsset",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"managerFeeNumeratorChangeDelay",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"maximumManagerFeeNumeratorChange",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"poolManagerFeeDenominator",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"poolManagerFeeNumerator",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"poolStorageVersion",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"poolVersion",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"assetHandler",type:"address"}],name:"setAssetHandler",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_daoAddress",type:"address"}],name:"setDAOAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"numerator",type:"uint256"},{internalType:"uint256",name:"denominator",type:"uint256"}],name:"setDaoFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"cooldown",type:"uint256"}],name:"setExitCooldown",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_governanceAddress",type:"address"}],name:"setGovernanceAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_poolLogic",type:"address"},{internalType:"address",name:"_poolManagerLogic",type:"address"}],name:"setLogic",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"delay",type:"uint256"}],name:"setManagerFeeNumeratorChangeDelay",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setMaximumManagerFeeNumeratorChange",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"count",type:"uint256"}],name:"setMaximumSupportedAssetCount",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"pool",type:"address"},{internalType:"uint256",name:"numerator",type:"uint256"}],name:"setPoolManagerFeeNumerator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"code",type:"bytes32"}],name:"setTrackingCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"startIndex",type:"uint256"},{internalType:"uint256",name:"endIndex",type:"uint256"},{internalType:"uint256",name:"sourceVersion",type:"uint256"},{internalType:"uint256",name:"targetVersion",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"upgradePoolBatch",outputs:[],stateMutability:"nonpayable",type:"function"}],V=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"fundAddress",type:"address"},{indexed:!1,internalType:"address",name:"investor",type:"address"},{indexed:!1,internalType:"address",name:"assetDeposited",type:"address"},{indexed:!1,internalType:"uint256",name:"amountDeposited",type:"uint256"},{indexed:!1,internalType:"uint256",name:"valueDeposited",type:"uint256"},{indexed:!1,internalType:"uint256",name:"fundTokensReceived",type:"uint256"},{indexed:!1,internalType:"uint256",name:"totalInvestorFundTokens",type:"uint256"},{indexed:!1,internalType:"uint256",name:"fundValue",type:"uint256"},{indexed:!1,internalType:"uint256",name:"totalSupply",type:"uint256"},{indexed:!1,internalType:"uint256",name:"time",type:"uint256"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"pool",type:"address"},{indexed:!1,internalType:"address",name:"manager",type:"address"},{indexed:!1,internalType:"uint256",name:"available",type:"uint256"},{indexed:!1,internalType:"uint256",name:"daoFee",type:"uint256"},{indexed:!1,internalType:"uint256",name:"managerFee",type:"uint256"},{indexed:!1,internalType:"uint256",name:"tokenPriceAtLastFeeMint",type:"uint256"}],name:"ManagerFeeMinted",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"poolManagerLogic",type:"address"},{indexed:!1,internalType:"address",name:"from",type:"address"}],name:"PoolManagerLogicSet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bool",name:"isPoolPrivate",type:"bool"}],name:"PoolPrivacyUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"pool",type:"address"},{indexed:!1,internalType:"address",name:"manager",type:"address"},{indexed:!1,internalType:"uint16",name:"transactionType",type:"uint16"},{indexed:!1,internalType:"uint256",name:"time",type:"uint256"}],name:"TransactionExecuted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"fundAddress",type:"address"},{indexed:!1,internalType:"address",name:"investor",type:"address"},{indexed:!1,internalType:"uint256",name:"valueWithdrawn",type:"uint256"},{indexed:!1,internalType:"uint256",name:"fundTokensWithdrawn",type:"uint256"},{indexed:!1,internalType:"uint256",name:"totalInvestorFundTokens",type:"uint256"},{indexed:!1,internalType:"uint256",name:"fundValue",type:"uint256"},{indexed:!1,internalType:"uint256",name:"totalSupply",type:"uint256"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bool",name:"withdrawProcessed",type:"bool"}],indexed:!1,internalType:"struct PoolLogic.WithdrawnAsset[]",name:"withdrawnAssets",type:"tuple[]"},{indexed:!1,internalType:"uint256",name:"time",type:"uint256"}],name:"Withdrawal",type:"event"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"availableManagerFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"creationTime",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"creator",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_asset",type:"address"},{internalType:"uint256",name:"_amount",type:"uint256"}],name:"deposit",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"execTransaction",outputs:[{internalType:"bool",name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"assets",type:"address[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"uint256[]",name:"premiums",type:"uint256[]"},{internalType:"address",name:"originator",type:"address"},{internalType:"bytes",name:"params",type:"bytes"}],name:"executeOperation",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getExitCooldown",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"}],name:"getExitRemainingCooldown",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getFundSummary",outputs:[{internalType:"string",name:"",type:"string"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"address",name:"",type:"address"},{internalType:"string",name:"",type:"string"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bool",name:"",type:"bool"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"bool",name:"_privatePool",type:"bool"},{internalType:"string",name:"_fundName",type:"string"},{internalType:"string",name:"_fundSymbol",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"member",type:"address"}],name:"isMemberAllowed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"lastDeposit",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"managerName",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"mintManagerFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"poolManagerLogic",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"privatePool",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_poolManagerLogic",type:"address"}],name:"setPoolManagerLogic",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"_privatePool",type:"bool"}],name:"setPoolPrivate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenPriceAtLastFeeMint",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_fundTokenAmount",type:"uint256"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"}],W=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"fundAddress",type:"address"},{indexed:!1,internalType:"address",name:"manager",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"bool",name:"isDeposit",type:"bool"}],name:"AssetAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"fundAddress",type:"address"},{indexed:!1,internalType:"address",name:"manager",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"}],name:"AssetRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"newNumerator",type:"uint256"},{indexed:!1,internalType:"uint256",name:"announcedFeeActivationTime",type:"uint256"}],name:"ManagerFeeIncreaseAnnounced",type:"event"},{anonymous:!1,inputs:[],name:"ManagerFeeIncreaseRenounced",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"fundAddress",type:"address"},{indexed:!1,internalType:"address",name:"manager",type:"address"},{indexed:!1,internalType:"uint256",name:"numerator",type:"uint256"},{indexed:!1,internalType:"uint256",name:"denominator",type:"uint256"}],name:"ManagerFeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"newManager",type:"address"},{indexed:!1,internalType:"string",name:"newManagerName",type:"string"}],name:"ManagerUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"poolLogic",type:"address"},{indexed:!1,internalType:"address",name:"from",type:"address"}],name:"PoolLogicSet",type:"event"},{inputs:[{internalType:"address",name:"member",type:"address"}],name:"addMember",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"members",type:"address[]"}],name:"addMembers",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"numerator",type:"uint256"}],name:"announceManagerFeeIncrease",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"announcedFeeIncreaseNumerator",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"announcedFeeIncreaseTimestamp",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"assetBalance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"assetDecimal",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"assetPosition",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"assetValue",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"assetValue",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"bool",name:"isDeposit",type:"bool"}],internalType:"struct IHasSupportedAsset.Asset[]",name:"_addAssets",type:"tuple[]"},{internalType:"address[]",name:"_removeAssets",type:"address[]"}],name:"changeAssets",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newManager",type:"address"},{internalType:"string",name:"newManagerName",type:"string"}],name:"changeManager",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"commitManagerFeeIncrease",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getDepositAssets",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getFundComposition",outputs:[{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"bool",name:"isDeposit",type:"bool"}],internalType:"struct IHasSupportedAsset.Asset[]",name:"assets",type:"tuple[]"},{internalType:"uint256[]",name:"balances",type:"uint256[]"},{internalType:"uint256[]",name:"rates",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getManagerFee",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getManagerFeeIncreaseInfo",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getMembers",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getSupportedAssets",outputs:[{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"bool",name:"isDeposit",type:"bool"}],internalType:"struct IHasSupportedAsset.Asset[]",name:"",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_manager",type:"address"},{internalType:"string",name:"_managerName",type:"string"},{internalType:"address",name:"_poolLogic",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"bool",name:"isDeposit",type:"bool"}],internalType:"struct IHasSupportedAsset.Asset[]",name:"_supportedAssets",type:"tuple[]"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"isDepositAsset",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"member",type:"address"}],name:"isMemberAllowed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"isSupportedAsset",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"manager",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"managerName",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"numberOfMembers",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"poolLogic",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"member",type:"address"}],name:"removeMember",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"members",type:"address[]"}],name:"removeMembers",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"removeTrader",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceManagerFeeIncrease",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"numerator",type:"uint256"}],name:"setManagerFeeNumerator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_poolLogic",type:"address"}],name:"setPoolLogic",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newTrader",type:"address"}],name:"setTrader",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"supportedAssets",outputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"bool",name:"isDeposit",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalFundValue",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"trader",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"validateAsset",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}];(v=exports.Network||(exports.Network={})).POLYGON="polygon",v.OPTIMISM="optimism",(x=exports.Dapp||(exports.Dapp={})).SUSHISWAP="sushiswap",x.AAVE="aave",x.ONEINCH="1inch",x.QUICKSWAP="quickswap",x.BALANCER="balancer",x.UNISWAPV3="uniswapV3",x.SYNTHETIX="synthetix",x.AAVEV3="aavev3",x.ARRAKIS="arrakis",x.TOROS="toros",x.VELODROME="velodrome",x.LYRA="lyra",(h=exports.Transaction||(exports.Transaction={})).SWAP="swapExactTokensForTokens",h.ADD_LIQUIDITY="addLiquidity",h.DEPOSIT="deposit",h.HARVEST="harvest",h.CLAIM_DISTRIBIUTIONS="claimDistributions",h.CLAIM_REWARDS="claimRewards",h.REMOVE_LIQUIDITY="removeLiquidity",h.DECREASE_LIQUIDITY="decreaseLiquidity",h.INCREASE_LIQUIDITY="increaseLiquidity",h.COLLECT="collect",h.MULTI_CALL="multicall",h.BORROW="borrow",h.REPAY="repay",h.WITHDRAW="withdraw",h.MINT="mint",h.BURN="burn",h.SWAP_SYNTHS="exchangeWithTracking",h.ADD_LIQUIDITY_STAKE="addLiquidityAndStake",h.REMOVE_LIQUIDITY_UNSTAKE="removeLiquidityAndUnstake",require("dotenv").config();var H=((M={})[exports.Network.POLYGON]=process.env.STAGING_CONTRACTS?"0xDd87eCdB10cFF7004276AAbAbd30e7a08F69bb53":"0xfdc7b8bFe0DD3513Cc669bB8d601Cb83e2F69cB0",M[exports.Network.OPTIMISM]="0x5e61a079A178f0E5784107a4963baAe0c5a680c6",M),j=((I={})[exports.Network.POLYGON]=((g={})[exports.Dapp.SUSHISWAP]="0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506",g[exports.Dapp.AAVE]="0x8dFf5E27EA6b7AC08EbFdf9eB090F32ee9a30fcf",g[exports.Dapp.AAVEV3]="0x794a61358D6845594F94dc1DB02A252b5b4814aD",g[exports.Dapp.ONEINCH]="0x1111111254fb6c44bac0bed2854e76f90643097d",g[exports.Dapp.QUICKSWAP]="0xa5E0829CaCEd8fFDD4De3c43696c57F7D7A678ff",g[exports.Dapp.BALANCER]="0xBA12222222228d8Ba445958a75a0704d566BF2C8",g[exports.Dapp.UNISWAPV3]="0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",g[exports.Dapp.ARRAKIS]="0xbc91a120cCD8F80b819EAF32F0996daC3Fa76a6C",g[exports.Dapp.TOROS]="0x42B1DDcFa1c43E06F483BA0Dd1b9cC923043677f",g),I[exports.Network.OPTIMISM]=((k={})[exports.Dapp.UNISWAPV3]="0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",k[exports.Dapp.SYNTHETIX]="0x8700dAec35aF8Ff88c16BdF0418774CB3D7599B4",k[exports.Dapp.AAVEV3]="0x794a61358D6845594F94dc1DB02A252b5b4814aD",k[exports.Dapp.ONEINCH]="0x1111111254760F7ab3F16433eea9304126DCd199",k[exports.Dapp.TOROS]="0xf8C62BD5f2fEf9E1a329c197F32E77AD6866B022",k[exports.Dapp.VELODROME]="0x9c12939390052919aF3155f41Bf4160Fd3666A6f",k[exports.Dapp.LYRA]="0xCCE7819d65f348c64B7Beb205BA367b3fE33763B",k[exports.Dapp.ARRAKIS]="0x86d62a8ad19998e315e6242b63eb73f391d4674b",k),I),Y=((O={})[exports.Network.POLYGON]=((A={})[exports.Dapp.SUSHISWAP]="0xc35DADB65012eC5796536bD9864eD8773aBc74C4",A[exports.Dapp.QUICKSWAP]="0x5757371414417b8C6CAad45bAeF941aBc7d3Ab32",A),O[exports.Network.OPTIMISM]={},O),G=((C={})[exports.Network.POLYGON]=((P={})[exports.Dapp.SUSHISWAP]="0x0769fd68dFb93167989C6f7254cd0D766Fb2841F",P[exports.Dapp.BALANCER]="0x0F3e0c4218b7b0108a3643cFe9D3ec0d4F57c54e",P[exports.Dapp.AAVE]="0x357D51124f59836DeD84c8a1730D72B749d8BC23",P[exports.Dapp.AAVEV3]="0x929EC64c34a17401F460460D4B9390518E5B473e",P),C[exports.Network.OPTIMISM]={},C),K=((S={})[exports.Network.POLYGON]=((R={})[exports.Dapp.AAVE]="0xd05e3E715d945B59290df0ae8eF85c1BdB684744",R[exports.Dapp.AAVEV3]="0xa97684ead0e402dC232d5A977953DF7ECBaB3CDb",R),S[exports.Network.OPTIMISM]=((D={})[exports.Dapp.AAVEV3]="0xa97684ead0e402dC232d5A977953DF7ECBaB3CDb",D),S),z=((E={})[exports.Network.POLYGON]="0xC36442b4a4522E871399CD717aBDD847Ab11FE88",E[exports.Network.OPTIMISM]="0xC36442b4a4522E871399CD717aBDD847Ab11FE88",E),Q=((L={})[exports.Network.POLYGON]=137,L[exports.Network.OPTIMISM]=10,L),X=((F={})[exports.Network.POLYGON]="https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-polygon-v2",F[exports.Network.OPTIMISM]="",F),Z=((B={})[exports.Network.POLYGON]="0x275617327c958bD06b5D6b871E7f491D76113dd8",B[exports.Network.OPTIMISM]="",B),J=((_={})[exports.Network.OPTIMISM]=n.Deployment.Mainnet,_),$=Math.floor(Date.now()/1e3)+1200,ee="0xffffffffffffffffffffffffffffffff",te=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"}],ne=[{inputs:[{internalType:"uint256",name:"pid",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"to",type:"address"}],name:"deposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"pid",type:"uint256"},{internalType:"address",name:"to",type:"address"}],name:"emergencyWithdraw",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"pid",type:"uint256"},{internalType:"address",name:"to",type:"address"}],name:"harvest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"pid",type:"uint256"}],name:"lpToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"poolLength",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"pid",type:"uint256"}],name:"updatePool",outputs:[{components:[{internalType:"uint128",name:"accSushiPerShare",type:"uint128"},{internalType:"uint64",name:"lastRewardTime",type:"uint64"},{internalType:"uint64",name:"allocPoint",type:"uint64"}],internalType:"struct IMiniChefV2.PoolInfo",name:"",type:"tuple"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_pid",type:"uint256"},{internalType:"address",name:"_user",type:"address"}],name:"userInfo",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"pid",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"to",type:"address"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"pid",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"to",type:"address"}],name:"withdrawAndHarvest",outputs:[],stateMutability:"nonpayable",type:"function"}],ae={abi:[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!1,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"onBehalfOf",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"borrowRateMode",type:"uint256"},{indexed:!1,internalType:"uint256",name:"borrowRate",type:"uint256"},{indexed:!0,internalType:"uint16",name:"referral",type:"uint16"}],name:"Borrow",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!1,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"onBehalfOf",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!0,internalType:"uint16",name:"referral",type:"uint16"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"target",type:"address"},{indexed:!0,internalType:"address",name:"initiator",type:"address"},{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"premium",type:"uint256"},{indexed:!1,internalType:"uint16",name:"referralCode",type:"uint16"}],name:"FlashLoan",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"collateralAsset",type:"address"},{indexed:!0,internalType:"address",name:"debtAsset",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint256",name:"debtToCover",type:"uint256"},{indexed:!1,internalType:"uint256",name:"liquidatedCollateralAmount",type:"uint256"},{indexed:!1,internalType:"address",name:"liquidator",type:"address"},{indexed:!1,internalType:"bool",name:"receiveAToken",type:"bool"}],name:"LiquidationCall",type:"event"},{anonymous:!1,inputs:[],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"}],name:"RebalanceStableBorrowRate",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"repayer",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Repay",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!1,internalType:"uint256",name:"liquidityRate",type:"uint256"},{indexed:!1,internalType:"uint256",name:"stableBorrowRate",type:"uint256"},{indexed:!1,internalType:"uint256",name:"variableBorrowRate",type:"uint256"},{indexed:!1,internalType:"uint256",name:"liquidityIndex",type:"uint256"},{indexed:!1,internalType:"uint256",name:"variableBorrowIndex",type:"uint256"}],name:"ReserveDataUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"}],name:"ReserveUsedAsCollateralDisabled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"}],name:"ReserveUsedAsCollateralEnabled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint256",name:"rateMode",type:"uint256"}],name:"Swap",type:"event"},{anonymous:!1,inputs:[],name:"Unpaused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Withdraw",type:"event"},{inputs:[],name:"FLASHLOAN_PREMIUM_TOTAL",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"LENDINGPOOL_REVISION",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAX_NUMBER_RESERVES",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAX_STABLE_RATE_BORROW_SIZE_PERCENT",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"interestRateMode",type:"uint256"},{internalType:"uint16",name:"referralCode",type:"uint16"},{internalType:"address",name:"onBehalfOf",type:"address"}],name:"borrow",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"onBehalfOf",type:"address"},{internalType:"uint16",name:"referralCode",type:"uint16"}],name:"deposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"balanceFromBefore",type:"uint256"},{internalType:"uint256",name:"balanceToBefore",type:"uint256"}],name:"finalizeTransfer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"receiverAddress",type:"address"},{internalType:"address[]",name:"assets",type:"address[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"uint256[]",name:"modes",type:"uint256[]"},{internalType:"address",name:"onBehalfOf",type:"address"},{internalType:"bytes",name:"params",type:"bytes"},{internalType:"uint16",name:"referralCode",type:"uint16"}],name:"flashLoan",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getAddressesProvider",outputs:[{internalType:"contract ILendingPoolAddressesProvider",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getConfiguration",outputs:[{components:[{internalType:"uint256",name:"data",type:"uint256"}],internalType:"struct DataTypes.ReserveConfigurationMap",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getReserveData",outputs:[{components:[{components:[{internalType:"uint256",name:"data",type:"uint256"}],internalType:"struct DataTypes.ReserveConfigurationMap",name:"configuration",type:"tuple"},{internalType:"uint128",name:"liquidityIndex",type:"uint128"},{internalType:"uint128",name:"variableBorrowIndex",type:"uint128"},{internalType:"uint128",name:"currentLiquidityRate",type:"uint128"},{internalType:"uint128",name:"currentVariableBorrowRate",type:"uint128"},{internalType:"uint128",name:"currentStableBorrowRate",type:"uint128"},{internalType:"uint40",name:"lastUpdateTimestamp",type:"uint40"},{internalType:"address",name:"aTokenAddress",type:"address"},{internalType:"address",name:"stableDebtTokenAddress",type:"address"},{internalType:"address",name:"variableDebtTokenAddress",type:"address"},{internalType:"address",name:"interestRateStrategyAddress",type:"address"},{internalType:"uint8",name:"id",type:"uint8"}],internalType:"struct DataTypes.ReserveData",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getReserveNormalizedIncome",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getReserveNormalizedVariableDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getReservesList",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"}],name:"getUserAccountData",outputs:[{internalType:"uint256",name:"totalCollateralETH",type:"uint256"},{internalType:"uint256",name:"totalDebtETH",type:"uint256"},{internalType:"uint256",name:"availableBorrowsETH",type:"uint256"},{internalType:"uint256",name:"currentLiquidationThreshold",type:"uint256"},{internalType:"uint256",name:"ltv",type:"uint256"},{internalType:"uint256",name:"healthFactor",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"}],name:"getUserConfiguration",outputs:[{components:[{internalType:"uint256",name:"data",type:"uint256"}],internalType:"struct DataTypes.UserConfigurationMap",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"address",name:"aTokenAddress",type:"address"},{internalType:"address",name:"stableDebtAddress",type:"address"},{internalType:"address",name:"variableDebtAddress",type:"address"},{internalType:"address",name:"interestRateStrategyAddress",type:"address"}],name:"initReserve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ILendingPoolAddressesProvider",name:"provider",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"collateralAsset",type:"address"},{internalType:"address",name:"debtAsset",type:"address"},{internalType:"address",name:"user",type:"address"},{internalType:"uint256",name:"debtToCover",type:"uint256"},{internalType:"bool",name:"receiveAToken",type:"bool"}],name:"liquidationCall",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"address",name:"user",type:"address"}],name:"rebalanceStableBorrowRate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"rateMode",type:"uint256"},{internalType:"address",name:"onBehalfOf",type:"address"}],name:"repay",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"configuration",type:"uint256"}],name:"setConfiguration",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"val",type:"bool"}],name:"setPause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"address",name:"rateStrategyAddress",type:"address"}],name:"setReserveInterestRateStrategyAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"bool",name:"useAsCollateral",type:"bool"}],name:"setUserUseReserveAsCollateral",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"rateMode",type:"uint256"}],name:"swapBorrowRateMode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"to",type:"address"}],name:"withdraw",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"}]},ie=[{inputs:[{internalType:"bytes32",name:"sourceCurrencyKey",type:"bytes32"},{internalType:"uint256",name:"sourceAmount",type:"uint256"},{internalType:"bytes32",name:"destinationCurrencyKey",type:"bytes32"}],name:"exchange",outputs:[{internalType:"uint256",name:"amountReceived",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"sourceCurrencyKey",type:"bytes32"},{internalType:"uint256",name:"sourceAmount",type:"uint256"},{internalType:"bytes32",name:"destinationCurrencyKey",type:"bytes32"},{internalType:"address",name:"originator",type:"address"},{internalType:"bytes32",name:"trackingCode",type:"bytes32"}],name:"exchangeWithTracking",outputs:[{internalType:"uint256",name:"amountReceived",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"currencyKey",type:"bytes32"}],name:"settle",outputs:[{internalType:"uint256",name:"reclaimed",type:"uint256"},{internalType:"uint256",name:"refunded",type:"uint256"},{internalType:"uint256",name:"numEntriesSettled",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"key",type:"bytes32"}],name:"synths",outputs:[{internalType:"address",name:"synthTokenAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"synthsByAddress",outputs:[{internalType:"bytes32",name:"key",type:"bytes32"}],stateMutability:"view",type:"function"}],re=[{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"amountADesired",type:"uint256"},{internalType:"uint256",name:"amountBDesired",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"}],se=[{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WETH9",type:"address"},{internalType:"address",name:"_tokenDescriptor_",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!1,internalType:"address",name:"recipient",type:"address"},{indexed:!1,internalType:"uint256",name:"amount0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1",type:"uint256"}],name:"Collect",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!1,internalType:"uint128",name:"liquidity",type:"uint128"},{indexed:!1,internalType:"uint256",name:"amount0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1",type:"uint256"}],name:"DecreaseLiquidity",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!1,internalType:"uint128",name:"liquidity",type:"uint128"},{indexed:!1,internalType:"uint256",name:"amount0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1",type:"uint256"}],name:"IncreaseLiquidity",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"PERMIT_TYPEHASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"WETH9",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"burn",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint128",name:"amount0Max",type:"uint128"},{internalType:"uint128",name:"amount1Max",type:"uint128"}],internalType:"struct INonfungiblePositionManager.CollectParams",name:"params",type:"tuple"}],name:"collect",outputs:[{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token0",type:"address"},{internalType:"address",name:"token1",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"uint160",name:"sqrtPriceX96",type:"uint160"}],name:"createAndInitializePoolIfNecessary",outputs:[{internalType:"address",name:"pool",type:"address"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint128",name:"liquidity",type:"uint128"},{internalType:"uint256",name:"amount0Min",type:"uint256"},{internalType:"uint256",name:"amount1Min",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct INonfungiblePositionManager.DecreaseLiquidityParams",name:"params",type:"tuple"}],name:"decreaseLiquidity",outputs:[{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint256",name:"amount0Desired",type:"uint256"},{internalType:"uint256",name:"amount1Desired",type:"uint256"},{internalType:"uint256",name:"amount0Min",type:"uint256"},{internalType:"uint256",name:"amount1Min",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct INonfungiblePositionManager.IncreaseLiquidityParams",name:"params",type:"tuple"}],name:"increaseLiquidity",outputs:[{internalType:"uint128",name:"liquidity",type:"uint128"},{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"address",name:"token0",type:"address"},{internalType:"address",name:"token1",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"int24",name:"tickLower",type:"int24"},{internalType:"int24",name:"tickUpper",type:"int24"},{internalType:"uint256",name:"amount0Desired",type:"uint256"},{internalType:"uint256",name:"amount1Desired",type:"uint256"},{internalType:"uint256",name:"amount0Min",type:"uint256"},{internalType:"uint256",name:"amount1Min",type:"uint256"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct INonfungiblePositionManager.MintParams",name:"params",type:"tuple"}],name:"mint",outputs:[{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint128",name:"liquidity",type:"uint128"},{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes[]",name:"data",type:"bytes[]"}],name:"multicall",outputs:[{internalType:"bytes[]",name:"results",type:"bytes[]"}],stateMutability:"payable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"positions",outputs:[{internalType:"uint96",name:"nonce",type:"uint96"},{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"token0",type:"address"},{internalType:"address",name:"token1",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"int24",name:"tickLower",type:"int24"},{internalType:"int24",name:"tickUpper",type:"int24"},{internalType:"uint128",name:"liquidity",type:"uint128"},{internalType:"uint256",name:"feeGrowthInside0LastX128",type:"uint256"},{internalType:"uint256",name:"feeGrowthInside1LastX128",type:"uint256"},{internalType:"uint128",name:"tokensOwed0",type:"uint128"},{internalType:"uint128",name:"tokensOwed1",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[],name:"refundETH",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitAllowed",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitAllowedIfNecessary",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitIfNecessary",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"}],name:"sweepToken",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount0Owed",type:"uint256"},{internalType:"uint256",name:"amount1Owed",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"uniswapV3MintCallback",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"}],name:"unwrapWETH9",outputs:[],stateMutability:"payable",type:"function"},{stateMutability:"payable",type:"receive"}],pe=[{inputs:[{internalType:"contract IVault",name:"vault",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"distributor",type:"address"},{indexed:!0,internalType:"contract IERC20",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"distributionId",type:"uint256"},{indexed:!1,internalType:"bytes32",name:"merkleRoot",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DistributionAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"distributor",type:"address"},{indexed:!0,internalType:"contract IERC20",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"distributionId",type:"uint256"},{indexed:!0,internalType:"address",name:"claimer",type:"address"},{indexed:!1,internalType:"address",name:"recipient",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DistributionClaimed",type:"event"},{inputs:[{internalType:"address",name:"claimer",type:"address"},{components:[{internalType:"uint256",name:"distributionId",type:"uint256"},{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"address",name:"distributor",type:"address"},{internalType:"uint256",name:"tokenIndex",type:"uint256"},{internalType:"bytes32[]",name:"merkleProof",type:"bytes32[]"}],internalType:"struct MerkleOrchard.Claim[]",name:"claims",type:"tuple[]"},{internalType:"contract IERC20[]",name:"tokens",type:"address[]"}],name:"claimDistributions",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"claimer",type:"address"},{components:[{internalType:"uint256",name:"distributionId",type:"uint256"},{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"address",name:"distributor",type:"address"},{internalType:"uint256",name:"tokenIndex",type:"uint256"},{internalType:"bytes32[]",name:"merkleProof",type:"bytes32[]"}],internalType:"struct MerkleOrchard.Claim[]",name:"claims",type:"tuple[]"},{internalType:"contract IERC20[]",name:"tokens",type:"address[]"}],name:"claimDistributionsToInternalBalance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"claimer",type:"address"},{components:[{internalType:"uint256",name:"distributionId",type:"uint256"},{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"address",name:"distributor",type:"address"},{internalType:"uint256",name:"tokenIndex",type:"uint256"},{internalType:"bytes32[]",name:"merkleProof",type:"bytes32[]"}],internalType:"struct MerkleOrchard.Claim[]",name:"claims",type:"tuple[]"},{internalType:"contract IERC20[]",name:"tokens",type:"address[]"},{internalType:"contract IDistributorCallback",name:"callbackContract",type:"address"},{internalType:"bytes",name:"callbackData",type:"bytes"}],name:"claimDistributionsWithCallback",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"bytes32",name:"merkleRoot",type:"bytes32"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"distributionId",type:"uint256"}],name:"createDistribution",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"address",name:"distributor",type:"address"},{internalType:"uint256",name:"distributionId",type:"uint256"}],name:"getDistributionRoot",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"address",name:"distributor",type:"address"}],name:"getNextDistributionId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"address",name:"distributor",type:"address"}],name:"getRemainingBalance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getVault",outputs:[{internalType:"contract IVault",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"address",name:"distributor",type:"address"},{internalType:"uint256",name:"distributionId",type:"uint256"},{internalType:"address",name:"claimer",type:"address"}],name:"isClaimed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"address",name:"distributor",type:"address"},{internalType:"uint256",name:"distributionId",type:"uint256"},{internalType:"address",name:"claimer",type:"address"},{internalType:"uint256",name:"claimedBalance",type:"uint256"},{internalType:"bytes32[]",name:"merkleProof",type:"bytes32[]"}],name:"verifyClaim",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}],ue=[{inputs:[{internalType:"address[]",name:"assets",type:"address[]"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"to",type:"address"}],name:"claimRewards",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"}],name:"getUserUnclaimedRewards",outputs:[{internalType:"uint256",name:"rewards",type:"uint256"}],stateMutability:"view",type:"function"}],ye=[{inputs:[{internalType:"address",name:"gauge",type:"address"},{internalType:"uint256",name:"amount0Max",type:"uint256"},{internalType:"uint256",name:"amount1Max",type:"uint256"},{internalType:"uint256",name:"amount0Min",type:"uint256"},{internalType:"uint256",name:"amount1Min",type:"uint256"},{internalType:"address",name:"receiver",type:"address"}],name:"addLiquidityAndStake",outputs:[{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"},{internalType:"uint256",name:"mintAmount",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"gauge",type:"address"},{internalType:"uint256",name:"burnAmount",type:"uint256"},{internalType:"uint256",name:"amount0Min",type:"uint256"},{internalType:"uint256",name:"amount1Min",type:"uint256"},{internalType:"address",name:"receiver",type:"address"}],name:"removeLiquidityAndUnstake",outputs:[{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"},{internalType:"uint128",name:"liquidityBurned",type:"uint128"}],stateMutability:"nonpayable",type:"function"}],oe=[{inputs:[{internalType:"address",name:"user",type:"address"}],name:"claim_rewards",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"claim_rewards",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"claim_rewards",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"rewardToken",type:"address"}],name:"claimable_reward",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"reward_count",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"reward_data",outputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"reward_tokens",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"staking_token",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"}],de=[{inputs:[{internalType:"address",name:"user",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"}],name:"claim_rewards",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"claim_rewards",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"claim_rewards",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"rewardToken",type:"address"}],name:"claimable_reward",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"rewardToken",type:"address"}],name:"claimable_reward_write",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"user",type:"address"}],name:"deposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"onBehalf",type:"address"},{internalType:"bool",name:"isClaimRewards",type:"bool"}],name:"deposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"deposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"lp_token",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"reward_contract",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"reward_tokens",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bool",name:"isClaimRewards",type:"bool"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"}];function le(e,t,n,a){return me.apply(this,arguments)}function me(){return(me=f(N.mark((function e(n,a,i,r){var s,p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=new t.ethers.Contract(i[0],a,n),e.prev=1,p=i[2]||[],e.next=5,s[i[1]].apply(s,p.concat([r||{}]));case 5:return e.abrupt("return",e.sent);case 8:return e.prev=8,e.t0=e.catch(1),e.abrupt("return",Promise.reject(e.t0));case 11:case"end":return e.stop()}}),e,null,[[1,8]])})))).apply(this,arguments)}function ce(e,t,n,a,i,r){return Te.apply(this,arguments)}function Te(){return(Te=f(N.mark((function e(n,a,i,r,s,u){var y,o;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===s&&(s={}),void 0===u&&(u=!1),y=new t.ethers.Contract(Z[n],["function tryAggregate(bool requireSuccess, tuple(address, bytes)[] memory calls) public view returns (tuple(bool, bytes)[] memory returnData)"],a),o=new p.Interface(i),e.prev=4,e.next=7,y.tryAggregate(u,r.map((function(e){return[e[0].toLowerCase(),o.encodeFunctionData(e[1],e[2])]})),s);case 7:return e.abrupt("return",e.sent.map((function(e,t){if(!e[0])return null;var n=o.decodeFunctionResult(r[t][1],e[1]);return n.length>1?n:n[0]})));case 11:return e.prev=11,e.t0=e.catch(4),e.abrupt("return",Promise.reject(e.t0));case 14:case"end":return e.stop()}}),e,null,[[4,11]])})))).apply(this,arguments)}var be=function(){function e(e){this.elements=e.filter((function(e){return e})).map((function(e){return Buffer.from(y.hexToBytes(e))})),this.elements.sort(Buffer.compare),this.elements=this.bufDedup(this.elements),this.layers=this.getLayers(this.elements)}var t=e.prototype;return t.getLayers=function(e){if(0===e.length)return[[""]];var t=[];for(t.push(e);t[t.length-1].length>1;)t.push(this.getNextLayer(t[t.length-1]));return t},t.getNextLayer=function(e){var t=this;return e.reduce((function(e,n,a,i){return a%2==0&&e.push(t.combinedHash(n,i[a+1])),e}),[])},t.combinedHash=function(e,t){return e?t?o.keccak256(this.sortAndConcat(e,t)):e:t},t.getRoot=function(){return this.layers[this.layers.length-1][0]},t.getHexRoot=function(){return o.bufferToHex(this.getRoot())},t.getProof=function(e){var t=this,n=this.bufIndexOf(e,this.elements);if(-1===n)throw new Error("Element does not exist in Merkle tree");return this.layers.reduce((function(e,a){var i=t.getPairElement(n,a);return i&&e.push(i),n=Math.floor(n/2),e}),[])},t.getHexProof=function(e){var t=Buffer.from(y.hexToBytes(e)),n=this.getProof(t);return this.bufArrToHexArr(n)},t.getPairElement=function(e,t){var n=e%2==0?e+1:e-1;return n<t.length?t[n]:null},t.bufIndexOf=function(e,t){var n;n=32===e.length&&Buffer.isBuffer(e)?e:o.keccakFromString(e);for(var a=0;a<t.length;a++)if(n.equals(t[a]))return a;return-1},t.bufDedup=function(e){return e.filter((function(t,n){return 0===n||!e[n-1].equals(t)}))},t.bufArrToHexArr=function(e){if(e.some((function(e){return!Buffer.isBuffer(e)})))throw new Error("Array is not an array of buffers");return e.map((function(e){return"0x"+e.toString("hex")}))},t.sortAndConcat=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return Buffer.concat([].concat(t).sort(Buffer.compare))},e}();function fe(e,t){var n="string"==typeof e?new u(e):e,a=new u(t.toString()),i=new u(10).pow(a);return n.times(i)}var we=new(function(){function e(){}return e.prototype.get=function(){var e=f(N.mark((function e(t,n){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===n&&(n="ipfs"),e.next=3,i.get("https://cloudflare-ipfs.com/"+n+"/"+t);case 3:return e.abrupt("return",e.sent.data);case 6:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),e}()),ve=function(){function e(e,t){this.network=e,this.signer=t}var n=e.prototype;return n.getMultiTokensPendingClaims=function(){var e=f(N.mark((function e(t){var n,a,i=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getTokenClaimsInfo();case 2:if(null==(n=e.sent)){e.next=9;break}return e.next=6,Promise.all(n.map((function(e){return i.getTokenPendingClaims(e,s.getAddress(t))})));case 6:return a=e.sent.filter((function(e){return Number(e.availableToClaim)>0})),e.abrupt("return",a);case 9:return e.abrupt("return",[]);case 10:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),n.getTokenPendingClaims=function(){var e=f(N.mark((function e(t,n){var a,i,r,s,p,y;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getSnapshot(t.manifest);case 2:return a=e.sent,i=t.weekStart,e.next=6,this.getClaimStatus(Object.keys(a).length,n,t);case 6:return r=e.sent.map((function(e,t){return[t+i,e]})).filter((function(e){return!e[1]})).map((function(e){return e[0]})),e.next=10,this.getReports(a,r);case 10:return s=e.sent,p=Object.entries(s).filter((function(e){return e[1][n]})).map((function(e){return{id:e[0],amount:e[1][n]}})),y=p.map((function(e){return parseFloat(e.amount)})).reduce((function(e,t){return e.plus(t)}),new u("0")).toString(),e.abrupt("return",{claims:p,reports:s,tokenClaimInfo:t,availableToClaim:y});case 14:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}(),n.multiTokenClaimRewards=function(){var e=f(N.mark((function e(t,n){var a=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,Promise.all(n.map((function(e,n){return a.computeClaimProofs(e,s.getAddress(t),n)})));case 3:return e.abrupt("return",r.flatten(e.sent));case 7:return e.prev=7,e.t0=e.catch(0),console.log("[Claim] Claim Rewards Error:",e.t0),e.abrupt("return",Promise.reject(e.t0));case 11:case"end":return e.stop()}}),e,null,[[0,7]])})));return function(t,n){return e.apply(this,arguments)}}(),n.computeClaimProofs=function(){var e=f(N.mark((function e(t,n,a){var i=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Promise.all(t.claims.map((function(e){var r={account:n,distributor:t.tokenClaimInfo.distributor,tokenIndex:a,decimals:t.tokenClaimInfo.decimals,report:w({},t.reports[e.id]),claim:w({},e)};return i.computeClaimProof(r)}))));case 1:case"end":return e.stop()}}),e)})));return function(t,n,a){return e.apply(this,arguments)}}(),n.computeClaimProof=function(e){var t=e.account,n=e.claim,a=e.distributor,i=e.tokenIndex,r=e.decimals,s=n.amount,p=function(e,t){void 0===t&&(t=18);var n=[];return Object.keys(e).forEach((function(a){var i=fe(e[a],t).toString(10),r=y.soliditySha3({t:"address",v:a},{t:"uint",v:i});n.push(r)})),new be(n)}(e.report,r),u=fe(s,r).toString(10),o=p.getHexProof(y.soliditySha3({t:"address",v:t},{t:"uint",v:u}));return[parseInt(n.id),u,a,i,o]},n.getTokenClaimsInfo=function(){var e=f(N.mark((function e(){var t;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,i.get("https://raw.githubusercontent.com/balancer-labs/frontend-v2/develop/src/services/claim/MultiTokenClaim.json");case 3:t=e.sent.data[Q[this.network]],e.next=11;break;case 8:e.prev=8,e.t0=e.catch(0),console.log("balancer multi token info error",e.t0);case 11:if(null==t){e.next=13;break}return e.abrupt("return",t.map((function(e){return w({},e,{token:s.getAddress(e.token),decimals:18})})));case 13:return e.abrupt("return",null);case 14:case"end":return e.stop()}}),e,this,[[0,8]])})));return function(){return e.apply(this,arguments)}}(),n.getSnapshot=function(){var e=f(N.mark((function e(t){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,i.get(t);case 3:return e.abrupt("return",e.sent.data||{});case 7:return e.prev=7,e.t0=e.catch(0),e.abrupt("return",{});case 10:case"end":return e.stop()}}),e,null,[[0,7]])})));return function(t){return e.apply(this,arguments)}}(),n.getClaimStatus=function(){var e=f(N.mark((function e(n,a,i){var s,p,u,y,o,d,l,m,c=this;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=i.token,p=i.distributor,u=i.weekStart,y=Array.from({length:n}).map((function(e,t){return[G[c.network][exports.Dapp.BALANCER],"isClaimed",[s,p,u+t,a]]})),o=Array.from({length:n}).map((function(e,t){return[G[c.network][exports.Dapp.BALANCER],"getDistributionRoot",[s,p,u+t]]})),e.prev=3,e.next=6,ce(this.network,this.signer,pe,[].concat(y,o),{},!0);case 6:if(!((d=e.sent).length>0)){e.next=12;break}return l=r.chunk(r.flatten(d),n),m=l[1],e.abrupt("return",l[0].filter((function(e,n){return m[n]!==t.ethers.constants.HashZero})));case 12:e.next=17;break;case 14:e.prev=14,e.t0=e.catch(3),console.log("[Claim] Claim Status Error:",e.t0);case 17:return e.abrupt("return",[]);case 18:case"end":return e.stop()}}),e,this,[[3,14]])})));return function(t,n,a){return e.apply(this,arguments)}}(),n.getReports=function(){var e=f(N.mark((function e(t,n){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all(n.filter((function(e){return null!=t[e]})).map((function(e){return we.get(t[e])})));case 2:return e.abrupt("return",Object.fromEntries(e.sent.map((function(e,t){return[n[t],e]}))));case 4:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),e}();function xe(e,t,n,a){var i,r=function(e,t,n){var a,i=n.split("."),r=i[0],s=i[1],p=null!=(a=null==s?void 0:s.length)?a:0,u=m.BigInt((null!=r?r:"")+(null!=s?s:""));return new d.Price(e,t,m.multiply(m.BigInt(Math.pow(10,p)),m.BigInt(Math.pow(10,e.decimals))),m.multiply(u,m.BigInt(Math.pow(10,t.decimals))))}(e,t,a),s=l.encodeSqrtRatioX96(r.numerator,r.denominator);return i=m.greaterThanOrEqual(s,l.TickMath.MAX_SQRT_RATIO)?l.TickMath.MAX_TICK:m.lessThanOrEqual(s,l.TickMath.MIN_SQRT_RATIO)?l.TickMath.MIN_TICK:l.priceToClosestTick(r),l.nearestUsableTick(i,l.TICK_SPACINGS[n])}function he(e,t,n,a,i,r,s,p,u,y){return Me.apply(this,arguments)}function Me(){return(Me=f(N.mark((function e(t,n,a,i,r,s,p,u,y,o){var l,m,c,T,b,f,w,v,x,h,M,g,k,I;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return l=0,m=0,c=Q[t.network],e.next=5,Promise.all([n,a].map((function(e){return t.utils.getDecimals(e)})));case 5:return b=new d.Token(c,n,(T=e.sent)[0]),f=new d.Token(c,a,T[1]),w=b.sortsBefore(f)?[b,f]:[f,b],x=w[1],h=!b.equals(v=w[0]),s&&p?(l=h?xe(x,v,o,p.toString()):xe(v,x,o,s.toString()),m=h?xe(x,v,o,s.toString()):xe(v,x,o,p.toString())):u&&y&&(l=u,m=y),g=(M=h?[r,i]:[i,r])[0],k=M[1],I=Math.floor(Date.now()/1e3)+1200,e.abrupt("return",[v.address,x.address,o,l,m,g,k,"0","0",t.address,I]);case 14:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ge(e,t){return ke.apply(this,arguments)}function ke(){return(ke=f(N.mark((function e(n,a){var i;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=new t.ethers.Contract(z[a.network],se,a.signer),e.next=3,i.positions(n);case 3:return e.abrupt("return",e.sent.liquidity);case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var Ie=[{inputs:[{components:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMinimum",type:"uint256"}],internalType:"struct ISwapRouter.ExactInputParams",name:"params",type:"tuple"}],name:"exactInput",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMinimum",type:"uint256"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"}],internalType:"struct ISwapRouter.ExactInputSingleParams",name:"params",type:"tuple"}],name:"exactInputSingle",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMaximum",type:"uint256"}],internalType:"struct ISwapRouter.ExactOutputParams",name:"params",type:"tuple"}],name:"exactOutput",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMaximum",type:"uint256"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"}],internalType:"struct ISwapRouter.ExactOutputSingleParams",name:"params",type:"tuple"}],name:"exactOutputSingle",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"int256",name:"amount0Delta",type:"int256"},{internalType:"int256",name:"amount1Delta",type:"int256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"uniswapV3SwapCallback",outputs:[],stateMutability:"nonpayable",type:"function"}],Ae=[{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WETH9",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"WETH9",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"uint256",name:"amountIn",type:"uint256"}],name:"quoteExactInput",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"}],name:"quoteExactInputSingle",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"uint256",name:"amountOut",type:"uint256"}],name:"quoteExactOutput",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"}],name:"quoteExactOutputSingle",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"int256",name:"amount0Delta",type:"int256"},{internalType:"int256",name:"amount1Delta",type:"int256"},{internalType:"bytes",name:"path",type:"bytes"}],name:"uniswapV3SwapCallback",outputs:[],stateMutability:"view",type:"function"}];function Oe(e,t,n,a,i,r){return Pe.apply(this,arguments)}function Pe(){return(Pe=f(N.mark((function e(n,a,i,r,s,p){var u,y,o,d;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u=new t.ethers.Contract("0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6",Ae,n.signer),e.next=3,u.callStatic.quoteExactInputSingle(a,i,p,r.toString(),0);case 3:return y=e.sent.mul(100*(100-s)).div(1e4),o=new t.ethers.utils.Interface(Ie),d=o.encodeFunctionData("exactInputSingle",[[a,i,p,n.address,r.toString(),y.toString(),0]]),e.abrupt("return",d);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var Ce=[{inputs:[{internalType:"address payable",name:"_feeSink",type:"address"},{components:[{internalType:"contract IUniswapV2RouterSwapOnly",name:"swapRouter",type:"address"},{internalType:"contract IUniswapV2Router",name:"assetType2Router",type:"address"},{internalType:"contract IUniswapV2Router",name:"assetType5Router",type:"address"},{components:[{internalType:"contract ISynthetix",name:"snxProxy",type:"address"},{internalType:"contract IERC20",name:"swapSUSDToAsset",type:"address"},{internalType:"contract ISynthAddressProxy",name:"sUSDProxy",type:"address"}],internalType:"struct EasySwapperStructs.SynthetixProps",name:"synthetixProps",type:"tuple"},{internalType:"contract IERC20",name:"weth",type:"address"}],internalType:"struct EasySwapperStructs.WithdrawProps",name:"_withdrawProps",type:"tuple"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"pool",type:"address"},{indexed:!1,internalType:"address",name:"depositor",type:"address"},{indexed:!1,internalType:"address",name:"depositAsset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"address",name:"poolDepositAsset",type:"address"},{indexed:!1,internalType:"uint256",name:"liquidityMinted",type:"uint256"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"allowedPools",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"pool",type:"address"},{internalType:"contract IERC20",name:"depositAsset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"contract IERC20",name:"poolDepositAsset",type:"address"},{internalType:"uint256",name:"expectedLiquidityMinted",type:"uint256"}],name:"deposit",outputs:[{internalType:"uint256",name:"liquidityMinted",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"pool",type:"address"},{internalType:"contract IERC20",name:"depositAsset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"contract IERC20",name:"poolDepositAsset",type:"address"}],name:"depositQuote",outputs:[{internalType:"uint256",name:"expectedLiquidityMinted",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeDenominator",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeNumerator",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeSink",outputs:[{internalType:"address payable",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"numerator",type:"uint256"},{internalType:"uint256",name:"denominator",type:"uint256"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address payable",name:"sink",type:"address"}],name:"setFeeSink",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"pool",type:"address"},{internalType:"bool",name:"allowed",type:"bool"}],name:"setPoolAllowed",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IUniswapV2RouterSwapOnly",name:"_swapRouter",type:"address"}],name:"setSwapRouter",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"contract IERC20",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"pool",type:"address"},{internalType:"uint256",name:"fundTokenAmount",type:"uint256"},{internalType:"contract IERC20",name:"withdrawalAsset",type:"address"},{internalType:"uint256",name:"expectedAmountOut",type:"uint256"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"withdrawProps",outputs:[{internalType:"contract IUniswapV2RouterSwapOnly",name:"swapRouter",type:"address"},{internalType:"contract IUniswapV2Router",name:"assetType2Router",type:"address"},{internalType:"contract IUniswapV2Router",name:"assetType5Router",type:"address"},{components:[{internalType:"contract ISynthetix",name:"snxProxy",type:"address"},{internalType:"contract IERC20",name:"swapSUSDToAsset",type:"address"},{internalType:"contract ISynthAddressProxy",name:"sUSDProxy",type:"address"}],internalType:"struct EasySwapperStructs.SynthetixProps",name:"synthetixProps",type:"tuple"},{internalType:"contract IERC20",name:"weth",type:"address"}],stateMutability:"view",type:"function"}],Re=[{inputs:[{internalType:"string",name:"marketId",type:"string"},{internalType:"address",name:"owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldAddress",type:"address"},{indexed:!0,internalType:"address",name:"newAddress",type:"address"}],name:"ACLAdminUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldAddress",type:"address"},{indexed:!0,internalType:"address",name:"newAddress",type:"address"}],name:"ACLManagerUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"oldAddress",type:"address"},{indexed:!0,internalType:"address",name:"newAddress",type:"address"}],name:"AddressSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"proxyAddress",type:"address"},{indexed:!1,internalType:"address",name:"oldImplementationAddress",type:"address"},{indexed:!0,internalType:"address",name:"newImplementationAddress",type:"address"}],name:"AddressSetAsProxy",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"string",name:"oldMarketId",type:"string"},{indexed:!0,internalType:"string",name:"newMarketId",type:"string"}],name:"MarketIdSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldAddress",type:"address"},{indexed:!0,internalType:"address",name:"newAddress",type:"address"}],name:"PoolConfiguratorUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldAddress",type:"address"},{indexed:!0,internalType:"address",name:"newAddress",type:"address"}],name:"PoolDataProviderUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldAddress",type:"address"},{indexed:!0,internalType:"address",name:"newAddress",type:"address"}],name:"PoolUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldAddress",type:"address"},{indexed:!0,internalType:"address",name:"newAddress",type:"address"}],name:"PriceOracleSentinelUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldAddress",type:"address"},{indexed:!0,internalType:"address",name:"newAddress",type:"address"}],name:"PriceOracleUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"proxyAddress",type:"address"},{indexed:!0,internalType:"address",name:"implementationAddress",type:"address"}],name:"ProxyCreated",type:"event"},{inputs:[],name:"getACLAdmin",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getACLManager",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"}],name:"getAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getMarketId",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"getPool",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getPoolConfigurator",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getPoolDataProvider",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getPriceOracle",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getPriceOracleSentinel",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAclAdmin",type:"address"}],name:"setACLAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAclManager",type:"address"}],name:"setACLManager",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"address",name:"newAddress",type:"address"}],name:"setAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"address",name:"newImplementationAddress",type:"address"}],name:"setAddressAsProxy",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"newMarketId",type:"string"}],name:"setMarketId",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newPoolConfiguratorImpl",type:"address"}],name:"setPoolConfiguratorImpl",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newDataProvider",type:"address"}],name:"setPoolDataProvider",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newPoolImpl",type:"address"}],name:"setPoolImpl",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newPriceOracle",type:"address"}],name:"setPriceOracle",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newPriceOracleSentinel",type:"address"}],name:"setPriceOracleSentinel",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}],De=[{inputs:[{internalType:"address[]",name:"_assets",type:"address[]"},{internalType:"address[]",name:"_sources",type:"address[]"},{internalType:"address",name:"_fallbackOracle",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!0,internalType:"address",name:"source",type:"address"}],name:"AssetSourceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"fallbackOracle",type:"address"}],name:"FallbackOracleUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address[]",name:"_assets",type:"address[]"},{internalType:"address[]",name:"_sources",type:"address[]"}],name:"setAssetSources",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_fallbackOracle",type:"address"}],name:"setFallbackOracle",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"_asset",type:"address"}],name:"getAssetPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address[]",name:"_assets",type:"address[]"}],name:"getAssetsPrices",outputs:[{internalType:"uint256[]",name:"",type:"uint256[]"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"_asset",type:"address"}],name:"getSourceOfAsset",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getFallbackOracle",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"}];function Se(e,t){return Ee.apply(this,arguments)}function Ee(){return(Ee=f(N.mark((function e(n,a){var i,r;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=new t.ethers.Contract(K[n.network][exports.Dapp.AAVEV3],Re,n.signer),e.next=3,i.getPriceOracle();case 3:return r=new t.ethers.Contract(e.sent,De,n.signer),e.next=7,r.getAssetPrice(a);case 7:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Le(e,t){return Fe.apply(this,arguments)}function Fe(){return(Fe=f(N.mark((function e(t,n){var a;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=new Ft(t.signer,t.network),e.next=3,a.loadPool(n);case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Be(e,t){return _e.apply(this,arguments)}function _e(){return(_e=f(N.mark((function e(t,n){var a;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=new Ft(t.signer,t.network),e.next=3,a.validatePool(n);case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function qe(e,t,n){return Ne.apply(this,arguments)}function Ne(){return(Ne=f(N.mark((function e(t,n,a){var i,r,s,p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Le(t,n);case 2:return s=e.sent,e.next=5,s.getComposition();case 5:if(null==(i=(p=e.sent).find((function(e){return e.asset.toLowerCase()===a.toLowerCase()})))||!i.isDeposit){e.next=8;break}return e.abrupt("return",a);case 8:return e.abrupt("return",null==(r=p.find((function(e){return e.isDeposit})))?void 0:r.asset);case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ue(e,t){return Ve.apply(this,arguments)}function Ve(){return(Ve=f(N.mark((function e(t,n){var a;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Le(t,n);case 2:return a=e.sent,e.next=5,a.poolLogic.tokenPrice();case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function We(e,t,n,a,i){return He.apply(this,arguments)}function He(){return(He=f(N.mark((function e(n,a,i,r,s){var p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return p=new t.ethers.Contract(j[n.network][exports.Dapp.TOROS],Ce,n.signer),e.next=3,p.depositQuote(a,i,s,r);case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function je(e,t,n,a){return Ye.apply(this,arguments)}function Ye(){return(Ye=f(N.mark((function e(t,n,a,i){var r,s,p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all([Ue(t,n),Se(t,a),t.utils.getDecimals(a)]);case 2:return s=(r=e.sent)[1],p=r[2],e.abrupt("return",i.mul(r[0]).div(s).div(1e10).div(Math.pow(10,18-p)));case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ge(e,t,n,a,i){return Ke.apply(this,arguments)}function Ke(){return(Ke=f(N.mark((function e(n,a,i,r,s){var p,u,y,o,d,l;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Be(n,a);case 2:if(y=(u=(p=e.sent)?[a,i]:[i,a])[0],o=u[1],d=new t.ethers.utils.Interface(Ce),!p){e.next=12;break}return e.next=8,je(n,y,o,r);case 8:return e.abrupt("return",d.encodeFunctionData("withdraw",[y,r,o,e.sent.mul(1e4-100*s).div(1e4)]));case 12:return e.next=14,qe(n,y,o);case 14:if(l=e.sent){e.next=17;break}throw new Error("no deposit assets");case 17:return e.next=19,We(n,y,o,l,r);case 19:return e.abrupt("return",d.encodeFunctionData("deposit",[y,o,r,l,e.sent.mul(1e4-100*s).div(1e4)]));case 21:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var ze=["OPTIMISM_PMM6"];function Qe(e){return Xe.apply(this,arguments)}function Xe(){return(Xe=f(N.mark((function e(t){var n,a;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,i.get("https://api.1inch.io/v4.0/"+t+"/liquidity-sources");case 3:return n=e.sent.data.protocols.map((function(e){return e.id})),a=n.filter((function(e){return!ze.includes(e)})),e.abrupt("return","&protocols="+a.join(","));case 9:return e.prev=9,e.t0=e.catch(0),e.abrupt("return","");case 12:case"end":return e.stop()}}),e,null,[[0,9]])})))).apply(this,arguments)}var Ze=[{inputs:[{internalType:"address",name:"emissionManager",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!0,internalType:"address",name:"reward",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint256",name:"assetIndex",type:"uint256"},{indexed:!1,internalType:"uint256",name:"userIndex",type:"uint256"},{indexed:!1,internalType:"uint256",name:"rewardsAccrued",type:"uint256"}],name:"Accrued",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!0,internalType:"address",name:"reward",type:"address"},{indexed:!1,internalType:"uint256",name:"oldEmission",type:"uint256"},{indexed:!1,internalType:"uint256",name:"newEmission",type:"uint256"},{indexed:!1,internalType:"uint256",name:"oldDistributionEnd",type:"uint256"},{indexed:!1,internalType:"uint256",name:"newDistributionEnd",type:"uint256"},{indexed:!1,internalType:"uint256",name:"assetIndex",type:"uint256"}],name:"AssetConfigUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"claimer",type:"address"}],name:"ClaimerSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldEmissionManager",type:"address"},{indexed:!0,internalType:"address",name:"newEmissionManager",type:"address"}],name:"EmissionManagerUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reward",type:"address"},{indexed:!0,internalType:"address",name:"rewardOracle",type:"address"}],name:"RewardOracleUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"reward",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"address",name:"claimer",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"RewardsClaimed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reward",type:"address"},{indexed:!0,internalType:"address",name:"transferStrategy",type:"address"}],name:"TransferStrategyInstalled",type:"event"},{inputs:[],name:"REVISION",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"assets",type:"address[]"},{internalType:"address",name:"to",type:"address"}],name:"claimAllRewards",outputs:[{internalType:"address[]",name:"rewardsList",type:"address[]"},{internalType:"uint256[]",name:"claimedAmounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"assets",type:"address[]"},{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"to",type:"address"}],name:"claimAllRewardsOnBehalf",outputs:[{internalType:"address[]",name:"rewardsList",type:"address[]"},{internalType:"uint256[]",name:"claimedAmounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"assets",type:"address[]"}],name:"claimAllRewardsToSelf",outputs:[{internalType:"address[]",name:"rewardsList",type:"address[]"},{internalType:"uint256[]",name:"claimedAmounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"assets",type:"address[]"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"address",name:"reward",type:"address"}],name:"claimRewards",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"assets",type:"address[]"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"address",name:"reward",type:"address"}],name:"claimRewardsOnBehalf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"assets",type:"address[]"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"reward",type:"address"}],name:"claimRewardsToSelf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint88",name:"emissionPerSecond",type:"uint88"},{internalType:"uint256",name:"totalSupply",type:"uint256"},{internalType:"uint32",name:"distributionEnd",type:"uint32"},{internalType:"address",name:"asset",type:"address"},{internalType:"address",name:"reward",type:"address"},{internalType:"contract ITransferStrategyBase",name:"transferStrategy",type:"address"},{internalType:"contract IEACAggregatorProxy",name:"rewardOracle",type:"address"}],internalType:"struct RewardsDataTypes.RewardsConfigInput[]",name:"config",type:"tuple[]"}],name:"configureAssets",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"assets",type:"address[]"},{internalType:"address",name:"user",type:"address"}],name:"getAllUserRewards",outputs:[{internalType:"address[]",name:"rewardsList",type:"address[]"},{internalType:"uint256[]",name:"unclaimedAmounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getAssetDecimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"}],name:"getClaimer",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"address",name:"reward",type:"address"}],name:"getDistributionEnd",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getEmissionManager",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"reward",type:"address"}],name:"getRewardOracle",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getRewardsByAsset",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"address",name:"reward",type:"address"}],name:"getRewardsData",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getRewardsList",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"reward",type:"address"}],name:"getTransferStrategy",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"reward",type:"address"}],name:"getUserAccruedRewards",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"address",name:"reward",type:"address"}],name:"getUserAssetIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"assets",type:"address[]"},{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"reward",type:"address"}],name:"getUserRewards",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"},{internalType:"uint256",name:"totalSupply",type:"uint256"},{internalType:"uint256",name:"userBalance",type:"uint256"}],name:"handleAction",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"emissionManager",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"caller",type:"address"}],name:"setClaimer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"address",name:"reward",type:"address"},{internalType:"uint32",name:"newDistributionEnd",type:"uint32"}],name:"setDistributionEnd",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"emissionManager",type:"address"}],name:"setEmissionManager",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"address[]",name:"rewards",type:"address[]"},{internalType:"uint88[]",name:"newEmissionsPerSecond",type:"uint88[]"}],name:"setEmissionPerSecond",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"reward",type:"address"},{internalType:"contract IEACAggregatorProxy",name:"rewardOracle",type:"address"}],name:"setRewardOracle",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"reward",type:"address"},{internalType:"contract ITransferStrategyBase",name:"transferStrategy",type:"address"}],name:"setTransferStrategy",outputs:[],stateMutability:"nonpayable",type:"function"}],Je={abi:[{inputs:[{internalType:"contract IPoolAddressesProvider",name:"provider",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"backer",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"}],name:"BackUnbacked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!1,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"onBehalfOf",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"enum DataTypes.InterestRateMode",name:"interestRateMode",type:"uint8"},{indexed:!1,internalType:"uint256",name:"borrowRate",type:"uint256"},{indexed:!0,internalType:"uint16",name:"referralCode",type:"uint16"}],name:"Borrow",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"target",type:"address"},{indexed:!1,internalType:"address",name:"initiator",type:"address"},{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"enum DataTypes.InterestRateMode",name:"interestRateMode",type:"uint8"},{indexed:!1,internalType:"uint256",name:"premium",type:"uint256"},{indexed:!0,internalType:"uint16",name:"referralCode",type:"uint16"}],name:"FlashLoan",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"totalDebt",type:"uint256"}],name:"IsolationModeTotalDebtUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"collateralAsset",type:"address"},{indexed:!0,internalType:"address",name:"debtAsset",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint256",name:"debtToCover",type:"uint256"},{indexed:!1,internalType:"uint256",name:"liquidatedCollateralAmount",type:"uint256"},{indexed:!1,internalType:"address",name:"liquidator",type:"address"},{indexed:!1,internalType:"bool",name:"receiveAToken",type:"bool"}],name:"LiquidationCall",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!1,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"onBehalfOf",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!0,internalType:"uint16",name:"referralCode",type:"uint16"}],name:"MintUnbacked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!1,internalType:"uint256",name:"amountMinted",type:"uint256"}],name:"MintedToTreasury",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"}],name:"RebalanceStableBorrowRate",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"repayer",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bool",name:"useATokens",type:"bool"}],name:"Repay",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!1,internalType:"uint256",name:"liquidityRate",type:"uint256"},{indexed:!1,internalType:"uint256",name:"stableBorrowRate",type:"uint256"},{indexed:!1,internalType:"uint256",name:"variableBorrowRate",type:"uint256"},{indexed:!1,internalType:"uint256",name:"liquidityIndex",type:"uint256"},{indexed:!1,internalType:"uint256",name:"variableBorrowIndex",type:"uint256"}],name:"ReserveDataUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"}],name:"ReserveUsedAsCollateralDisabled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"}],name:"ReserveUsedAsCollateralEnabled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!1,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"onBehalfOf",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!0,internalType:"uint16",name:"referralCode",type:"uint16"}],name:"Supply",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"enum DataTypes.InterestRateMode",name:"interestRateMode",type:"uint8"}],name:"SwapBorrowRateMode",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint8",name:"categoryId",type:"uint8"}],name:"UserEModeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Withdraw",type:"event"},{inputs:[],name:"ADDRESSES_PROVIDER",outputs:[{internalType:"contract IPoolAddressesProvider",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"BRIDGE_PROTOCOL_FEE",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"FLASHLOAN_PREMIUM_TOTAL",outputs:[{internalType:"uint128",name:"",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[],name:"FLASHLOAN_PREMIUM_TO_PROTOCOL",outputs:[{internalType:"uint128",name:"",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAX_NUMBER_RESERVES",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAX_STABLE_RATE_BORROW_SIZE_PERCENT",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"POOL_REVISION",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"fee",type:"uint256"}],name:"backUnbacked",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"interestRateMode",type:"uint256"},{internalType:"uint16",name:"referralCode",type:"uint16"},{internalType:"address",name:"onBehalfOf",type:"address"}],name:"borrow",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint8",name:"id",type:"uint8"},{components:[{internalType:"uint16",name:"ltv",type:"uint16"},{internalType:"uint16",name:"liquidationThreshold",type:"uint16"},{internalType:"uint16",name:"liquidationBonus",type:"uint16"},{internalType:"address",name:"priceSource",type:"address"},{internalType:"string",name:"label",type:"string"}],internalType:"struct DataTypes.EModeCategory",name:"category",type:"tuple"}],name:"configureEModeCategory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"onBehalfOf",type:"address"},{internalType:"uint16",name:"referralCode",type:"uint16"}],name:"deposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"dropReserve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"balanceFromBefore",type:"uint256"},{internalType:"uint256",name:"balanceToBefore",type:"uint256"}],name:"finalizeTransfer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"receiverAddress",type:"address"},{internalType:"address[]",name:"assets",type:"address[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"uint256[]",name:"interestRateModes",type:"uint256[]"},{internalType:"address",name:"onBehalfOf",type:"address"},{internalType:"bytes",name:"params",type:"bytes"},{internalType:"uint16",name:"referralCode",type:"uint16"}],name:"flashLoan",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"receiverAddress",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"params",type:"bytes"},{internalType:"uint16",name:"referralCode",type:"uint16"}],name:"flashLoanSimple",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getConfiguration",outputs:[{components:[{internalType:"uint256",name:"data",type:"uint256"}],internalType:"struct DataTypes.ReserveConfigurationMap",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint8",name:"id",type:"uint8"}],name:"getEModeCategoryData",outputs:[{components:[{internalType:"uint16",name:"ltv",type:"uint16"},{internalType:"uint16",name:"liquidationThreshold",type:"uint16"},{internalType:"uint16",name:"liquidationBonus",type:"uint16"},{internalType:"address",name:"priceSource",type:"address"},{internalType:"string",name:"label",type:"string"}],internalType:"struct DataTypes.EModeCategory",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"id",type:"uint16"}],name:"getReserveAddressById",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getReserveData",outputs:[{components:[{components:[{internalType:"uint256",name:"data",type:"uint256"}],internalType:"struct DataTypes.ReserveConfigurationMap",name:"configuration",type:"tuple"},{internalType:"uint128",name:"liquidityIndex",type:"uint128"},{internalType:"uint128",name:"currentLiquidityRate",type:"uint128"},{internalType:"uint128",name:"variableBorrowIndex",type:"uint128"},{internalType:"uint128",name:"currentVariableBorrowRate",type:"uint128"},{internalType:"uint128",name:"currentStableBorrowRate",type:"uint128"},{internalType:"uint40",name:"lastUpdateTimestamp",type:"uint40"},{internalType:"uint16",name:"id",type:"uint16"},{internalType:"address",name:"aTokenAddress",type:"address"},{internalType:"address",name:"stableDebtTokenAddress",type:"address"},{internalType:"address",name:"variableDebtTokenAddress",type:"address"},{internalType:"address",name:"interestRateStrategyAddress",type:"address"},{internalType:"uint128",name:"accruedToTreasury",type:"uint128"},{internalType:"uint128",name:"unbacked",type:"uint128"},{internalType:"uint128",name:"isolationModeTotalDebt",type:"uint128"}],internalType:"struct DataTypes.ReserveData",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getReserveNormalizedIncome",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getReserveNormalizedVariableDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getReservesList",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"}],name:"getUserAccountData",outputs:[{internalType:"uint256",name:"totalCollateralBase",type:"uint256"},{internalType:"uint256",name:"totalDebtBase",type:"uint256"},{internalType:"uint256",name:"availableBorrowsBase",type:"uint256"},{internalType:"uint256",name:"currentLiquidationThreshold",type:"uint256"},{internalType:"uint256",name:"ltv",type:"uint256"},{internalType:"uint256",name:"healthFactor",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"}],name:"getUserConfiguration",outputs:[{components:[{internalType:"uint256",name:"data",type:"uint256"}],internalType:"struct DataTypes.UserConfigurationMap",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"}],name:"getUserEMode",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"address",name:"aTokenAddress",type:"address"},{internalType:"address",name:"stableDebtAddress",type:"address"},{internalType:"address",name:"variableDebtAddress",type:"address"},{internalType:"address",name:"interestRateStrategyAddress",type:"address"}],name:"initReserve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IPoolAddressesProvider",name:"provider",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"collateralAsset",type:"address"},{internalType:"address",name:"debtAsset",type:"address"},{internalType:"address",name:"user",type:"address"},{internalType:"uint256",name:"debtToCover",type:"uint256"},{internalType:"bool",name:"receiveAToken",type:"bool"}],name:"liquidationCall",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"assets",type:"address[]"}],name:"mintToTreasury",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"onBehalfOf",type:"address"},{internalType:"uint16",name:"referralCode",type:"uint16"}],name:"mintUnbacked",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"address",name:"user",type:"address"}],name:"rebalanceStableBorrowRate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"interestRateMode",type:"uint256"},{internalType:"address",name:"onBehalfOf",type:"address"}],name:"repay",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"interestRateMode",type:"uint256"}],name:"repayWithATokens",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"interestRateMode",type:"uint256"},{internalType:"address",name:"onBehalfOf",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"permitV",type:"uint8"},{internalType:"bytes32",name:"permitR",type:"bytes32"},{internalType:"bytes32",name:"permitS",type:"bytes32"}],name:"repayWithPermit",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"rescueTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"resetIsolationModeTotalDebt",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{components:[{internalType:"uint256",name:"data",type:"uint256"}],internalType:"struct DataTypes.ReserveConfigurationMap",name:"configuration",type:"tuple"}],name:"setConfiguration",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"address",name:"rateStrategyAddress",type:"address"}],name:"setReserveInterestRateStrategyAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint8",name:"categoryId",type:"uint8"}],name:"setUserEMode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"bool",name:"useAsCollateral",type:"bool"}],name:"setUserUseReserveAsCollateral",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"onBehalfOf",type:"address"},{internalType:"uint16",name:"referralCode",type:"uint16"}],name:"supply",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"onBehalfOf",type:"address"},{internalType:"uint16",name:"referralCode",type:"uint16"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"permitV",type:"uint8"},{internalType:"bytes32",name:"permitR",type:"bytes32"},{internalType:"bytes32",name:"permitS",type:"bytes32"}],name:"supplyWithPermit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"interestRateMode",type:"uint256"}],name:"swapBorrowRateMode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"protocolFee",type:"uint256"}],name:"updateBridgeProtocolFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint128",name:"flashLoanPremiumTotal",type:"uint128"},{internalType:"uint128",name:"flashLoanPremiumToProtocol",type:"uint128"}],name:"updateFlashloanPremiums",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"to",type:"address"}],name:"withdraw",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"}]};function $e(e,t,n){return et.apply(this,arguments)}function et(){return(et=f(N.mark((function e(n,a,i){var r,s,p,u,y;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=a===exports.Dapp.AAVEV3?Je:ae,s=new t.ethers.Contract(j[n.network][a],r.abi,n.signer),e.next=4,Promise.all(i.map((function(e){return s.getReserveData(e)})));case 4:return u=(p=e.sent).map((function(e){return e.aTokenAddress})),y=p.map((function(e){return e.variableDebtTokenAddress})),e.abrupt("return",u.concat(y));case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function tt(e,t,n){return nt.apply(this,arguments)}function nt(){return(nt=f(N.mark((function e(n,a,i){var r,s;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new t.ethers.utils.Interface(Ze),e.next=3,$e(n,exports.Dapp.AAVEV3,a);case 3:return s=r.encodeFunctionData("claimRewards",[e.sent,t.ethers.constants.MaxUint256,n.address,i]),e.abrupt("return",s);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var at=[{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_weth",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{components:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"stable",type:"bool"}],internalType:"struct Router.route[]",name:"routes",type:"tuple[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"UNSAFE_swapExactTokensForTokens",outputs:[{internalType:"uint256[]",name:"",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"bool",name:"stable",type:"bool"},{internalType:"uint256",name:"amountADesired",type:"uint256"},{internalType:"uint256",name:"amountBDesired",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"bool",name:"stable",type:"bool"},{internalType:"uint256",name:"amountTokenDesired",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidityETH",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"}],name:"getAmountOut",outputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bool",name:"stable",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{components:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"stable",type:"bool"}],internalType:"struct Router.route[]",name:"routes",type:"tuple[]"}],name:"getAmountsOut",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"bool",name:"stable",type:"bool"}],name:"getReserves",outputs:[{internalType:"uint256",name:"reserveA",type:"uint256"},{internalType:"uint256",name:"reserveB",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"pair",type:"address"}],name:"isPair",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"bool",name:"stable",type:"bool"}],name:"pairFor",outputs:[{internalType:"address",name:"pair",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"bool",name:"stable",type:"bool"},{internalType:"uint256",name:"amountADesired",type:"uint256"},{internalType:"uint256",name:"amountBDesired",type:"uint256"}],name:"quoteAddLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"bool",name:"stable",type:"bool"},{internalType:"uint256",name:"liquidity",type:"uint256"}],name:"quoteRemoveLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"bool",name:"stable",type:"bool"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"bool",name:"stable",type:"bool"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityETH",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"bool",name:"stable",type:"bool"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityETHWithPermit",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"bool",name:"stable",type:"bool"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityWithPermit",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"}],name:"sortTokens",outputs:[{internalType:"address",name:"token0",type:"address"},{internalType:"address",name:"token1",type:"address"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{components:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"stable",type:"bool"}],internalType:"struct Router.route[]",name:"routes",type:"tuple[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactETHForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{components:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"stable",type:"bool"}],internalType:"struct Router.route[]",name:"routes",type:"tuple[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForETH",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{components:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"stable",type:"bool"}],internalType:"struct Router.route[]",name:"routes",type:"tuple[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address",name:"tokenFrom",type:"address"},{internalType:"address",name:"tokenTo",type:"address"},{internalType:"bool",name:"stable",type:"bool"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokensSimple",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"contract IWETH",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}];function it(e,n,a,i,r,s){return new t.ethers.utils.Interface(at).encodeFunctionData(exports.Transaction.ADD_LIQUIDITY,[n,a,s,i,r,"0","0",e.address,$])}function rt(e,n,a,i,r){return new t.ethers.utils.Interface(at).encodeFunctionData(exports.Transaction.REMOVE_LIQUIDITY,[n,a,r,i,"0","0",e.address,$])}var st=[{inputs:[{internalType:"address",name:"_stake",type:"address"},{internalType:"address",name:"_internal_bribe",type:"address"},{internalType:"address",name:"_external_bribe",type:"address"},{internalType:"address",name:"__ve",type:"address"},{internalType:"address",name:"_voter",type:"address"},{internalType:"bool",name:"_forPair",type:"bool"},{internalType:"address[]",name:"_allowedRewardTokens",type:"address[]"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"uint256",name:"claimed0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"claimed1",type:"uint256"}],name:"ClaimFees",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"reward",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"ClaimRewards",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"reward",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"NotifyReward",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Withdraw",type:"event"},{inputs:[],name:"_ve",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"maxRuns",type:"uint256"}],name:"batchRewardPerToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"maxRuns",type:"uint256"}],name:"batchUpdateRewardPerToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"}],name:"checkpoints",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"},{internalType:"uint256",name:"balanceOf",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"claimFees",outputs:[{internalType:"uint256",name:"claimed0",type:"uint256"},{internalType:"uint256",name:"claimed1",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"deposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"depositAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"derivedBalance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"derivedBalances",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"derivedSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"}],name:"earned",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"external_bribe",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"fees0",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"fees1",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"getPriorBalanceIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"getPriorRewardPerToken",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"getPriorSupplyIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address[]",name:"tokens",type:"address[]"}],name:"getReward",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"internal_bribe",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"isForPair",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"isReward",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"lastEarn",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"lastTimeRewardApplicable",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"lastUpdateTime",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"left",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"notifyRewardAmount",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"numCheckpoints",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"periodFinish",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"rewardPerToken",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"}],name:"rewardPerTokenCheckpoints",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"},{internalType:"uint256",name:"rewardPerToken",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"rewardPerTokenNumCheckpoints",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"rewardPerTokenStored",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"rewardRate",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"rewards",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"rewardsListLength",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"stake",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"supplyCheckpoints",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"},{internalType:"uint256",name:"supply",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"supplyNumCheckpoints",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"i",type:"uint256"},{internalType:"address",name:"oldToken",type:"address"},{internalType:"address",name:"newToken",type:"address"}],name:"swapOutRewardToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"tokenIds",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"userRewardPerTokenStored",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"voter",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"withdrawAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"withdrawToken",outputs:[],stateMutability:"nonpayable",type:"function"}],pt=new t.ethers.utils.Interface(st);function ut(e){return pt.encodeFunctionData(exports.Transaction.DEPOSIT,[e,"0"])}function yt(e,t){return ot.apply(this,arguments)}function ot(){return(ot=f(N.mark((function e(t,n){var a;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,le(t.signer,st,[n,"rewardsListLength",[]]);case 2:return a=e.sent,e.next=5,Promise.all(Array.from(Array(a.toNumber()).keys()).map((function(e){return le(t.signer,st,[n,"rewards",[e]])})));case 5:return e.abrupt("return",pt.encodeFunctionData("getReward",[t.address,e.sent]));case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function dt(e,t,n){return lt.apply(this,arguments)}function lt(){return(lt=f(N.mark((function e(t,n,i){var r,s;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new a(J[t]),e.next=3,r.market(n);case 3:if(0!==(s=e.sent.liveBoards().filter((function(e){return e.expiryTimestamp===i}))).length){e.next=7;break}throw new Error("no lyra board for expiry");case 7:return e.abrupt("return",s[0]);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function mt(e,t){return ct.apply(this,arguments)}function ct(){return(ct=f(N.mark((function e(t,n){var i;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=new a(J[t]),e.next=3,i.market(n);case 3:return e.abrupt("return",e.sent.liveBoards().map((function(e){return e.expiryTimestamp})));case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Tt(e,t,n){return bt.apply(this,arguments)}function bt(){return(bt=f(N.mark((function e(t,n,a){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,dt(t,n,a);case 2:return e.abrupt("return",e.sent.strikes());case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ft(e,t,n,a){return wt.apply(this,arguments)}function wt(){return(wt=f(N.mark((function e(n,a,i,r){var s;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Tt(n,a,i);case 2:if(0!==(s=e.sent.filter((function(e){return parseFloat(t.ethers.utils.formatEther(e.strikePrice))===r}))).length){e.next=6;break}throw new Error("no option found for strike price");case 6:return e.abrupt("return",s[0]);case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var vt=[{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"contract ERC20",name:"asset",type:"address"},{internalType:"address",name:"approving",type:"address"},{internalType:"uint256",name:"approvalAmount",type:"uint256"}],name:"ApprovalFailure",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"contract ERC20",name:"asset",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"AssetTransferFailed",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"uint8",name:"id",type:"uint8"},{internalType:"address",name:"addr",type:"address"}],name:"DuplicateEntry",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"address",name:"caller",type:"address"},{internalType:"address",name:"nominatedOwner",type:"address"}],name:"OnlyNominatedOwner",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"address",name:"caller",type:"address"},{internalType:"address",name:"owner",type:"address"}],name:"OnlyOwner",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"}],name:"OnlyShorts",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"uint8",name:"id",type:"uint8"}],name:"RemovingInvalidId",type:"error"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"UnsupportedToken",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"oldOwner",type:"address"},{indexed:!1,internalType:"address",name:"newOwner",type:"address"}],name:"OwnerChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"newOwner",type:"address"}],name:"OwnerNominated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bool",name:"isOpen",type:"bool"},{indexed:!1,internalType:"bool",name:"isLong",type:"bool"},{indexed:!0,internalType:"address",name:"market",type:"address"},{indexed:!0,internalType:"uint256",name:"positionId",type:"uint256"},{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"totalCost",type:"uint256"},{indexed:!1,internalType:"uint256",name:"totalFee",type:"uint256"},{indexed:!1,internalType:"int256",name:"swapFee",type:"int256"},{indexed:!1,internalType:"address",name:"token",type:"address"}],name:"PositionTraded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"newCollateral",type:"uint256"}],name:"SetCollateralTo",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"contract ICurve",name:"curveSwap",type:"address"},{indexed:!1,internalType:"contract SynthetixAdapter",name:"synthetixAdapter",type:"address"},{indexed:!1,internalType:"contract IFeeCounter",name:"tradingRewards",type:"address"},{indexed:!1,internalType:"uint256",name:"minReturnPercent",type:"uint256"}],name:"WrapperParamsUpdated",type:"event"},{inputs:[],name:"acceptOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ERC20",name:"token",type:"address"},{internalType:"uint8",name:"id",type:"uint8"}],name:"addCurveStable",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"params",type:"uint256"}],name:"addLong",outputs:[{internalType:"uint256",name:"totalCost",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract OptionMarket",name:"optionMarket",type:"address"},{internalType:"uint8",name:"id",type:"uint8"},{components:[{internalType:"contract ERC20",name:"quoteAsset",type:"address"},{internalType:"contract ERC20",name:"baseAsset",type:"address"},{internalType:"contract OptionToken",name:"optionToken",type:"address"},{internalType:"contract LiquidityPool",name:"liquidityPool",type:"address"},{internalType:"contract LiquidityToken",name:"liquidityToken",type:"address"}],internalType:"struct OptionMarketWrapperWithSwaps.OptionMarketContracts",name:"_marketContracts",type:"tuple"}],name:"addMarket",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"params",type:"uint256"}],name:"addShort",outputs:[{internalType:"uint256",name:"totalReceived",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"params",type:"uint256"}],name:"closeLong",outputs:[{internalType:"uint256",name:"totalReceived",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"contract OptionMarket",name:"optionMarket",type:"address"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"iterations",type:"uint256"},{internalType:"uint256",name:"setCollateralTo",type:"uint256"},{internalType:"uint256",name:"currentCollateral",type:"uint256"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minCost",type:"uint256"},{internalType:"uint256",name:"maxCost",type:"uint256"},{internalType:"uint256",name:"inputAmount",type:"uint256"},{internalType:"contract ERC20",name:"inputAsset",type:"address"}],internalType:"struct OptionMarketWrapperWithSwaps.OptionPositionParams",name:"params",type:"tuple"}],name:"closePosition",outputs:[{components:[{internalType:"address",name:"market",type:"address"},{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"totalCost",type:"uint256"},{internalType:"uint256",name:"totalFee",type:"uint256"},{internalType:"int256",name:"swapFee",type:"int256"},{internalType:"address",name:"token",type:"address"}],internalType:"struct OptionMarketWrapperWithSwaps.ReturnDetails",name:"returnDetails",type:"tuple"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"params",type:"uint256"}],name:"closeShort",outputs:[{internalType:"uint256",name:"totalCost",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"curveSwap",outputs:[{internalType:"contract ICurve",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"ercIds",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"contract OptionMarket",name:"optionMarket",type:"address"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"iterations",type:"uint256"},{internalType:"uint256",name:"setCollateralTo",type:"uint256"},{internalType:"uint256",name:"currentCollateral",type:"uint256"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minCost",type:"uint256"},{internalType:"uint256",name:"maxCost",type:"uint256"},{internalType:"uint256",name:"inputAmount",type:"uint256"},{internalType:"contract ERC20",name:"inputAsset",type:"address"}],internalType:"struct OptionMarketWrapperWithSwaps.OptionPositionParams",name:"params",type:"tuple"}],name:"forceClosePosition",outputs:[{components:[{internalType:"address",name:"market",type:"address"},{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"totalCost",type:"uint256"},{internalType:"uint256",name:"totalFee",type:"uint256"},{internalType:"int256",name:"swapFee",type:"int256"},{internalType:"address",name:"token",type:"address"}],internalType:"struct OptionMarketWrapperWithSwaps.ReturnDetails",name:"returnDetails",type:"tuple"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"getBalancesAndAllowances",outputs:[{components:[{internalType:"uint8",name:"id",type:"uint8"},{internalType:"address",name:"token",type:"address"},{internalType:"uint8",name:"decimals",type:"uint8"},{internalType:"string",name:"symbol",type:"string"},{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"uint256",name:"allowance",type:"uint256"}],internalType:"struct OptionMarketWrapperWithSwaps.StableAssetView[]",name:"",type:"tuple[]"},{components:[{internalType:"uint8",name:"id",type:"uint8"},{internalType:"contract OptionMarket",name:"market",type:"address"},{internalType:"address",name:"token",type:"address"},{internalType:"uint8",name:"decimals",type:"uint8"},{internalType:"string",name:"symbol",type:"string"},{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"uint256",name:"allowance",type:"uint256"},{internalType:"bool",name:"isApprovedForAll",type:"bool"}],internalType:"struct OptionMarketWrapperWithSwaps.MarketAssetView[]",name:"",type:"tuple[]"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"uint256",name:"allowance",type:"uint256"}],internalType:"struct OptionMarketWrapperWithSwaps.LiquidityBalanceAndAllowance[]",name:"",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getMarketAndErcIds",outputs:[{internalType:"uint8[]",name:"",type:"uint8[]"},{internalType:"uint8[]",name:"",type:"uint8[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint8",name:"",type:"uint8"}],name:"idToERC",outputs:[{internalType:"contract ERC20",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint8",name:"",type:"uint8"}],name:"idToMarket",outputs:[{internalType:"contract OptionMarket",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract OptionMarket",name:"",type:"address"}],name:"marketContracts",outputs:[{internalType:"contract ERC20",name:"quoteAsset",type:"address"},{internalType:"contract ERC20",name:"baseAsset",type:"address"},{internalType:"contract OptionToken",name:"optionToken",type:"address"},{internalType:"contract LiquidityPool",name:"liquidityPool",type:"address"},{internalType:"contract LiquidityToken",name:"liquidityToken",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"marketIds",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"minReturnPercent",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_owner",type:"address"}],name:"nominateNewOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"nominatedOwner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"params",type:"uint256"}],name:"openLong",outputs:[{internalType:"uint256",name:"totalCost",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"contract OptionMarket",name:"optionMarket",type:"address"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"iterations",type:"uint256"},{internalType:"uint256",name:"setCollateralTo",type:"uint256"},{internalType:"uint256",name:"currentCollateral",type:"uint256"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minCost",type:"uint256"},{internalType:"uint256",name:"maxCost",type:"uint256"},{internalType:"uint256",name:"inputAmount",type:"uint256"},{internalType:"contract ERC20",name:"inputAsset",type:"address"}],internalType:"struct OptionMarketWrapperWithSwaps.OptionPositionParams",name:"params",type:"tuple"}],name:"openPosition",outputs:[{components:[{internalType:"address",name:"market",type:"address"},{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"totalCost",type:"uint256"},{internalType:"uint256",name:"totalFee",type:"uint256"},{internalType:"int256",name:"swapFee",type:"int256"},{internalType:"address",name:"token",type:"address"}],internalType:"struct OptionMarketWrapperWithSwaps.ReturnDetails",name:"returnDetails",type:"tuple"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"params",type:"uint256"}],name:"openShort",outputs:[{internalType:"uint256",name:"totalReceived",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"fromToken",type:"address"},{internalType:"address",name:"toToken",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"}],name:"quoteCurveSwap",outputs:[{internalType:"address",name:"pool",type:"address"},{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"params",type:"uint256"}],name:"reduceLong",outputs:[{internalType:"uint256",name:"totalReceived",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"params",type:"uint256"}],name:"reduceShort",outputs:[{internalType:"uint256",name:"totalCost",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint8",name:"id",type:"uint8"}],name:"removeCurveStable",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint8",name:"id",type:"uint8"}],name:"removeMarket",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"synthetixAdapter",outputs:[{internalType:"contract SynthetixAdapter",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"tradingRewards",outputs:[{internalType:"contract IFeeCounter",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ICurve",name:"_curveSwap",type:"address"},{internalType:"contract SynthetixAdapter",name:"_synthetixAdapter",type:"address"},{internalType:"contract IFeeCounter",name:"_tradingRewards",type:"address"},{internalType:"uint256",name:"_minReturnPercent",type:"uint256"}],name:"updateContractParams",outputs:[],stateMutability:"nonpayable",type:"function"}];function xt(e,t,n){return e?t?0:n?2:3:t?1:4}function ht(e){return[0,2,3].includes(e)}function Mt(e){return 0===e||1===e}var gt=[{inputs:[{internalType:"string",name:"name_",type:"string"},{internalType:"string",name:"symbol_",type:"string"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"bool",name:"invalidPositionId",type:"bool"},{internalType:"bool",name:"positionInactive",type:"bool"},{internalType:"bool",name:"isShort",type:"bool"}],name:"AddingCollateralToInvalidPosition",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{components:[{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"collateral",type:"uint256"},{internalType:"enum OptionToken.PositionState",name:"state",type:"uint8"}],internalType:"struct OptionToken.OptionPosition",name:"position",type:"tuple"},{internalType:"uint256",name:"spotPrice",type:"uint256"}],name:"AdjustmentResultsInMinimumCollateralNotBeingMet",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"}],name:"AlreadyInitialised",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"bool",name:"invalidPositionId",type:"bool"},{internalType:"bool",name:"positionInactive",type:"bool"},{internalType:"bool",name:"strikeMismatch",type:"bool"},{internalType:"bool",name:"optionTypeMismatch",type:"bool"}],name:"CannotAdjustInvalidPosition",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"}],name:"CannotClosePositionZero",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"}],name:"CannotOpenZeroAmount",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"setCollateralTo",type:"uint256"}],name:"FullyClosingWithNonZeroSetCollateral",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{components:[{internalType:"uint256",name:"penaltyRatio",type:"uint256"},{internalType:"uint256",name:"liquidatorFeeRatio",type:"uint256"},{internalType:"uint256",name:"smFeeRatio",type:"uint256"},{internalType:"uint256",name:"minLiquidationFee",type:"uint256"}],internalType:"struct OptionToken.PartialCollateralParameters",name:"partialCollatParams",type:"tuple"}],name:"InvalidPartialCollateralParameters",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"uint256",name:"originalPositionAmount",type:"uint256"},{internalType:"uint256",name:"splitAmount",type:"uint256"}],name:"InvalidSplitAmount",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"address",name:"caller",type:"address"},{internalType:"uint256",name:"positionId",type:"uint256"}],name:"MergingUnapprovedPosition",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"}],name:"MustMergeTwoOrMorePositions",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"address",name:"caller",type:"address"},{internalType:"address",name:"nominatedOwner",type:"address"}],name:"OnlyNominatedOwner",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"address",name:"caller",type:"address"},{internalType:"address",name:"optionMarket",type:"address"}],name:"OnlyOptionMarket",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"address",name:"caller",type:"address"},{internalType:"address",name:"owner",type:"address"}],name:"OnlyOwner",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"address",name:"trader",type:"address"},{internalType:"address",name:"owner",type:"address"}],name:"OnlyOwnerCanAdjustPosition",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"address",name:"caller",type:"address"},{internalType:"address",name:"shortCollateral",type:"address"}],name:"OnlyShortCollateral",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{components:[{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"collateral",type:"uint256"},{internalType:"enum OptionToken.PositionState",name:"state",type:"uint8"}],internalType:"struct OptionToken.OptionPosition",name:"firstPosition",type:"tuple"},{components:[{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"collateral",type:"uint256"},{internalType:"enum OptionToken.PositionState",name:"state",type:"uint8"}],internalType:"struct OptionToken.OptionPosition",name:"nextPosition",type:"tuple"},{internalType:"bool",name:"ownerMismatch",type:"bool"},{internalType:"bool",name:"strikeMismatch",type:"bool"},{internalType:"bool",name:"optionTypeMismatch",type:"bool"},{internalType:"bool",name:"duplicatePositionId",type:"bool"}],name:"PositionMismatchWhenMerging",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{components:[{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"collateral",type:"uint256"},{internalType:"enum OptionToken.PositionState",name:"state",type:"uint8"}],internalType:"struct OptionToken.OptionPosition",name:"position",type:"tuple"},{internalType:"uint256",name:"spotPrice",type:"uint256"}],name:"PositionNotLiquidatable",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{components:[{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"collateral",type:"uint256"},{internalType:"enum OptionToken.PositionState",name:"state",type:"uint8"}],internalType:"struct OptionToken.OptionPosition",name:"position",type:"tuple"},{internalType:"uint256",name:"spotPrice",type:"uint256"}],name:"ResultingNewPositionLiquidatable",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{components:[{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"collateral",type:"uint256"},{internalType:"enum OptionToken.PositionState",name:"state",type:"uint8"}],internalType:"struct OptionToken.OptionPosition",name:"position",type:"tuple"},{internalType:"uint256",name:"spotPrice",type:"uint256"}],name:"ResultingOriginalPositionLiquidatable",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"address",name:"caller",type:"address"},{internalType:"uint256",name:"positionId",type:"uint256"}],name:"SplittingUnapprovedPosition",type:"error"},{inputs:[{internalType:"address",name:"thrower",type:"address"},{internalType:"uint256",name:"strikeId",type:"uint256"}],name:"StrikeIsSettled",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"oldOwner",type:"address"},{indexed:!1,internalType:"address",name:"newOwner",type:"address"}],name:"OwnerChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"newOwner",type:"address"}],name:"OwnerNominated",type:"event"},{anonymous:!1,inputs:[{components:[{internalType:"uint256",name:"penaltyRatio",type:"uint256"},{internalType:"uint256",name:"liquidatorFeeRatio",type:"uint256"},{internalType:"uint256",name:"smFeeRatio",type:"uint256"},{internalType:"uint256",name:"minLiquidationFee",type:"uint256"}],indexed:!1,internalType:"struct OptionToken.PartialCollateralParameters",name:"partialCollateralParams",type:"tuple"}],name:"PartialCollateralParamsSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"positionId",type:"uint256"},{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"enum OptionToken.PositionUpdatedType",name:"updatedType",type:"uint8"},{components:[{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"collateral",type:"uint256"},{internalType:"enum OptionToken.PositionState",name:"state",type:"uint8"}],indexed:!1,internalType:"struct OptionToken.OptionPosition",name:"position",type:"tuple"},{indexed:!1,internalType:"uint256",name:"timestamp",type:"uint256"}],name:"PositionUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"string",name:"URI",type:"string"}],name:"URISet",type:"event"},{inputs:[],name:"acceptOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"amountCollateral",type:"uint256"}],name:"addCollateral",outputs:[{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"bool",name:"isBuy",type:"bool"},{internalType:"bool",name:"isForceClose",type:"bool"},{internalType:"enum OptionMarket.TradeDirection",name:"tradeDirection",type:"uint8"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint256",name:"strikePrice",type:"uint256"},{components:[{internalType:"uint256",name:"freeLiquidity",type:"uint256"},{internalType:"uint256",name:"burnableLiquidity",type:"uint256"},{internalType:"uint256",name:"usedCollatLiquidity",type:"uint256"},{internalType:"uint256",name:"pendingDeltaLiquidity",type:"uint256"},{internalType:"uint256",name:"usedDeltaLiquidity",type:"uint256"},{internalType:"uint256",name:"NAV",type:"uint256"}],internalType:"struct LiquidityPool.Liquidity",name:"liquidity",type:"tuple"},{components:[{internalType:"uint256",name:"spotPrice",type:"uint256"},{internalType:"bytes32",name:"quoteKey",type:"bytes32"},{internalType:"bytes32",name:"baseKey",type:"bytes32"},{internalType:"uint256",name:"quoteBaseFeeRate",type:"uint256"},{internalType:"uint256",name:"baseQuoteFeeRate",type:"uint256"}],internalType:"struct SynthetixAdapter.ExchangeParams",name:"exchangeParams",type:"tuple"}],internalType:"struct OptionMarket.TradeParameters",name:"trade",type:"tuple"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"address",name:"trader",type:"address"},{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"optionCost",type:"uint256"},{internalType:"uint256",name:"setCollateralTo",type:"uint256"},{internalType:"bool",name:"isOpen",type:"bool"}],name:"adjustPosition",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"int256",name:"pendingCollateral",type:"int256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"collateral",type:"uint256"},{internalType:"enum OptionToken.PositionState",name:"state",type:"uint8"}],internalType:"struct OptionToken.OptionPosition",name:"position",type:"tuple"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint256",name:"strikePrice",type:"uint256"},{internalType:"uint256",name:"spotPrice",type:"uint256"}],name:"canLiquidate",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"gwavPremium",type:"uint256"},{internalType:"uint256",name:"userPositionCollateral",type:"uint256"},{internalType:"uint256",name:"convertedMinLiquidationFee",type:"uint256"},{internalType:"uint256",name:"insolvencyMultiplier",type:"uint256"}],name:"getLiquidationFees",outputs:[{components:[{internalType:"uint256",name:"returnCollateral",type:"uint256"},{internalType:"uint256",name:"lpPremiums",type:"uint256"},{internalType:"uint256",name:"lpFee",type:"uint256"},{internalType:"uint256",name:"liquidatorFee",type:"uint256"},{internalType:"uint256",name:"smFee",type:"uint256"},{internalType:"uint256",name:"insolventAmount",type:"uint256"}],internalType:"struct OptionToken.LiquidationFees",name:"liquidationFees",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"positionId",type:"uint256"}],name:"getOptionPosition",outputs:[{components:[{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"collateral",type:"uint256"},{internalType:"enum OptionToken.PositionState",name:"state",type:"uint8"}],internalType:"struct OptionToken.OptionPosition",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256[]",name:"positionIds",type:"uint256[]"}],name:"getOptionPositions",outputs:[{components:[{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"collateral",type:"uint256"},{internalType:"enum OptionToken.PositionState",name:"state",type:"uint8"}],internalType:"struct OptionToken.OptionPosition[]",name:"",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"target",type:"address"}],name:"getOwnerPositions",outputs:[{components:[{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"collateral",type:"uint256"},{internalType:"enum OptionToken.PositionState",name:"state",type:"uint8"}],internalType:"struct OptionToken.OptionPosition[]",name:"",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getPartialCollatParams",outputs:[{components:[{internalType:"uint256",name:"penaltyRatio",type:"uint256"},{internalType:"uint256",name:"liquidatorFeeRatio",type:"uint256"},{internalType:"uint256",name:"smFeeRatio",type:"uint256"},{internalType:"uint256",name:"minLiquidationFee",type:"uint256"}],internalType:"struct OptionToken.PartialCollateralParameters",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"positionId",type:"uint256"}],name:"getPositionState",outputs:[{internalType:"enum OptionToken.PositionState",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"positionId",type:"uint256"}],name:"getPositionWithOwner",outputs:[{components:[{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"collateral",type:"uint256"},{internalType:"enum OptionToken.PositionState",name:"state",type:"uint8"},{internalType:"address",name:"owner",type:"address"}],internalType:"struct OptionToken.PositionWithOwner",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256[]",name:"positionIds",type:"uint256[]"}],name:"getPositionsWithOwner",outputs:[{components:[{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"collateral",type:"uint256"},{internalType:"enum OptionToken.PositionState",name:"state",type:"uint8"},{internalType:"address",name:"owner",type:"address"}],internalType:"struct OptionToken.PositionWithOwner[]",name:"",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract OptionMarket",name:"_optionMarket",type:"address"},{internalType:"contract OptionGreekCache",name:"_greekCache",type:"address"},{internalType:"address",name:"_shortCollateral",type:"address"},{internalType:"contract SynthetixAdapter",name:"_synthetixAdapter",type:"address"}],name:"init",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"positionId",type:"uint256"},{components:[{internalType:"bool",name:"isBuy",type:"bool"},{internalType:"bool",name:"isForceClose",type:"bool"},{internalType:"enum OptionMarket.TradeDirection",name:"tradeDirection",type:"uint8"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint256",name:"strikePrice",type:"uint256"},{components:[{internalType:"uint256",name:"freeLiquidity",type:"uint256"},{internalType:"uint256",name:"burnableLiquidity",type:"uint256"},{internalType:"uint256",name:"usedCollatLiquidity",type:"uint256"},{internalType:"uint256",name:"pendingDeltaLiquidity",type:"uint256"},{internalType:"uint256",name:"usedDeltaLiquidity",type:"uint256"},{internalType:"uint256",name:"NAV",type:"uint256"}],internalType:"struct LiquidityPool.Liquidity",name:"liquidity",type:"tuple"},{components:[{internalType:"uint256",name:"spotPrice",type:"uint256"},{internalType:"bytes32",name:"quoteKey",type:"bytes32"},{internalType:"bytes32",name:"baseKey",type:"bytes32"},{internalType:"uint256",name:"quoteBaseFeeRate",type:"uint256"},{internalType:"uint256",name:"baseQuoteFeeRate",type:"uint256"}],internalType:"struct SynthetixAdapter.ExchangeParams",name:"exchangeParams",type:"tuple"}],internalType:"struct OptionMarket.TradeParameters",name:"trade",type:"tuple"},{internalType:"uint256",name:"totalCost",type:"uint256"}],name:"liquidate",outputs:[{components:[{internalType:"uint256",name:"returnCollateral",type:"uint256"},{internalType:"uint256",name:"lpPremiums",type:"uint256"},{internalType:"uint256",name:"lpFee",type:"uint256"},{internalType:"uint256",name:"liquidatorFee",type:"uint256"},{internalType:"uint256",name:"smFee",type:"uint256"},{internalType:"uint256",name:"insolventAmount",type:"uint256"}],internalType:"struct OptionToken.LiquidationFees",name:"liquidationFees",type:"tuple"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256[]",name:"positionIds",type:"uint256[]"}],name:"merge",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"nextId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_owner",type:"address"}],name:"nominateNewOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"nominatedOwner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"partialCollatParams",outputs:[{internalType:"uint256",name:"penaltyRatio",type:"uint256"},{internalType:"uint256",name:"liquidatorFeeRatio",type:"uint256"},{internalType:"uint256",name:"smFeeRatio",type:"uint256"},{internalType:"uint256",name:"minLiquidationFee",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"positions",outputs:[{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"strikeId",type:"uint256"},{internalType:"enum OptionMarket.OptionType",name:"optionType",type:"uint8"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"collateral",type:"uint256"},{internalType:"enum OptionToken.PositionState",name:"state",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"penaltyRatio",type:"uint256"},{internalType:"uint256",name:"liquidatorFeeRatio",type:"uint256"},{internalType:"uint256",name:"smFeeRatio",type:"uint256"},{internalType:"uint256",name:"minLiquidationFee",type:"uint256"}],internalType:"struct OptionToken.PartialCollateralParameters",name:"_partialCollatParams",type:"tuple"}],name:"setPartialCollateralParams",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"newURI",type:"string"}],name:"setURI",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256[]",name:"positionIds",type:"uint256[]"}],name:"settlePositions",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"positionId",type:"uint256"},{internalType:"uint256",name:"newAmount",type:"uint256"},{internalType:"uint256",name:"newCollateral",type:"uint256"},{internalType:"address",name:"recipient",type:"address"}],name:"split",outputs:[{internalType:"uint256",name:"newPositionId",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"}];function kt(e,t){return It.apply(this,arguments)}function It(){return(It=f(N.mark((function e(n,i){var r,s;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new a,e.next=3,r.market(i);case 3:return s=new t.ethers.Contract(e.sent.__marketData.marketAddresses.optionToken,gt,n.signer),e.next=7,s.getOwnerPositions(n.address);case 7:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function At(e,t,n,a){return Ot.apply(this,arguments)}function Ot(){return(Ot=f(N.mark((function e(t,n,a,i){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.quote("call"===n,"buy"===a,i);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Pt(e,t,n,a,i,r,s,p,u,y){return Ct.apply(this,arguments)}function Ct(){return(Ct=f(N.mark((function e(n,a,i,r,s,p,u,y,o,d){var l,m,c,T,b,f,w,v,x,h,M,g,k,I,A;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ft(n.network,a,r,s);case 2:return m=(l=e.sent).id,e.next=6,kt(n,a);case 6:return c=e.sent.filter((function(e){return e.strikeId.toNumber()===m&&ht(e.optionType)==("call"===i)&&1===e.state})),T=c.length>0?c[0].positionId:0,b=xt("call"===i,"buy"===p,d),f=t.BigNumber.from(u),e.next=13,At(l,i,p,f);case 13:return w=e.sent,v="buy"===p?w.premium.add(w.fee):w.premium.sub(w.fee),x="openPosition",h="buy"===p?v:o,M=t.BigNumber.from(0),g=o,c.length>0&&(M=null!=(k=c[0].collateral)?k:t.BigNumber.from(0),g=M.add(o),("sell"===p&&Mt(c[0].optionType)||"buy"===p&&!Mt(c[0].optionType))&&(b=c[0].optionType,x="closePosition",g=M.sub(o),h=!Mt(c[0].optionType)&&d?v:t.BigNumber.from(0))),I=new t.ethers.utils.Interface(vt),A=I.encodeFunctionData(x,[[l.market().contractAddresses.optionMarket,m,T,1,g,M,b,f,"sell"===p?v:0,"buy"===p?v:t.ethers.constants.MaxUint256,h,y]]),e.abrupt("return",A);case 23:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var Rt=function(){function e(e,t,n,a,i,r){this.network=e,this.poolLogic=n,this.address=n.address,this.managerLogic=a,this.signer=t,this.utils=i,this.factory=r}var n=e.prototype;return n.getComposition=function(){var e=f(N.mark((function e(){var t,n;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.managerLogic.getFundComposition();case 2:return n=(t=e.sent)[0].map((function(e,n){return{asset:e.asset,isDeposit:e.isDeposit,balance:t[1][n],rate:t[2][n]}})),e.abrupt("return",n);case 5:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),n.approveDeposit=function(){var e=f(N.mark((function e(n,a,i){var r;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===i&&(i=null),r=new t.ethers.Contract(n,te,this.signer),e.next=4,r.approve(this.address,a,i);case 4:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e,this)})));return function(t,n,a){return e.apply(this,arguments)}}(),n.deposit=function(){var e=f(N.mark((function e(t,n,a){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===a&&(a=null),e.next=3,this.poolLogic.deposit(t,n,a);case 3:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e,this)})));return function(t,n,a){return e.apply(this,arguments)}}(),n.withdraw=function(){var e=f(N.mark((function e(t,n){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===n&&(n=null),e.next=3,this.poolLogic.withdraw(t,n);case 3:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}(),n.approve=function(){var e=f(N.mark((function e(n,a,i,r){var s,p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),s=new t.ethers.utils.Interface(te),p=s.encodeFunctionData("approve",[j[this.network][n],i]),e.next=5,this.poolLogic.execTransaction(a,p,r);case 5:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.approveStaking=function(){var e=f(N.mark((function e(n,a,i,r){var s,p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),s=new t.ethers.utils.Interface(te),p=s.encodeFunctionData("approve",[G[this.network][n],i]),e.next=5,this.poolLogic.execTransaction(a,p,r);case 5:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.approveUniswapV3Liquidity=function(){var e=f(N.mark((function e(n,a,i){var r,s;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===i&&(i=null),r=new t.ethers.utils.Interface(te),s=r.encodeFunctionData("approve",[z[this.network],a]),e.next=5,this.poolLogic.execTransaction(n,s,i);case 5:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)})));return function(t,n,a){return e.apply(this,arguments)}}(),n.approveSpender=function(){var e=f(N.mark((function e(n,a,i,r){var s,p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),s=new t.ethers.utils.Interface(te),p=s.encodeFunctionData("approve",[n,i]),e.next=5,this.poolLogic.execTransaction(a,p,r);case 5:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.trade=function(){var e=f(N.mark((function e(n,a,r,s,p,u){var y,o,d,l,m,c,T;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:void 0===p&&(p=.5),void 0===u&&(u=null),e.t0=n,e.next=e.t0===exports.Dapp.ONEINCH?5:e.t0===exports.Dapp.BALANCER?15:e.t0===exports.Dapp.SYNTHETIX?19:e.t0===exports.Dapp.TOROS?26:30;break;case 5:return o=Q[this.network],e.next=8,Qe(o);case 8:return d=e.sent,l="https://api.1inch.exchange/v4.0/"+o+"/swap?fromTokenAddress="+a+"&toTokenAddress="+r+"&amount="+s.toString()+"&fromAddress="+this.address+"&destReceiver="+this.address+"&slippage="+p.toString()+"&disableEstimate=true"+d,e.next=12,i.get(l);case 12:return y=e.sent.data.tx.data,e.abrupt("break",35);case 15:return e.next=17,this.utils.getBalancerSwapTx(this,a,r,s,p);case 17:return y=e.sent,e.abrupt("break",35);case 19:return m=new t.ethers.utils.Interface(ie),c=[a,r].map((function(e){return t.ethers.utils.formatBytes32String(e)})),e.next=23,this.factory.owner();case 23:return y=m.encodeFunctionData(exports.Transaction.SWAP_SYNTHS,[c[0],s,c[1],e.sent,"0x4448454447450000000000000000000000000000000000000000000000000000"]),e.abrupt("break",35);case 26:return e.next=28,Ge(this,a,r,t.ethers.BigNumber.from(s),p);case 28:return y=e.sent,e.abrupt("break",35);case 30:return T=new t.ethers.utils.Interface(re),e.next=33,this.utils.getMinAmountOut(n,a,r,s,p);case 33:y=T.encodeFunctionData(exports.Transaction.SWAP,[s,e.sent,[a,r],this.address,$]);case 35:return e.next=37,this.poolLogic.execTransaction(j[this.network][n],y,u);case 37:return e.abrupt("return",e.sent);case 39:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s){return e.apply(this,arguments)}}(),n.addLiquidity=function(){var e=f(N.mark((function e(n,a,i,r,s,p){var u,y;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===p&&(p=null),u=new t.ethers.utils.Interface(re),y=u.encodeFunctionData(exports.Transaction.ADD_LIQUIDITY,[a,i,r,s,0,0,this.address,$]),e.next=5,this.poolLogic.execTransaction(j[this.network][n],y,p);case 5:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s){return e.apply(this,arguments)}}(),n.removeLiquidity=function(){var e=f(N.mark((function e(n,a,i,r,s){var p,u;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===s&&(s=null),p=new t.ethers.utils.Interface(re),u=p.encodeFunctionData(exports.Transaction.REMOVE_LIQUIDITY,[a,i,r,0,0,this.address,$]),e.next=5,this.poolLogic.execTransaction(j[this.network][n],u,s);case 5:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),n.stake=function(){var e=f(N.mark((function e(n,a,i,r){var s,p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),s=new t.ethers.utils.Interface(ne),e.next=4,this.utils.getLpPoolId(n,a);case 4:return p=s.encodeFunctionData(exports.Transaction.DEPOSIT,[e.sent,i,this.address]),e.next=8,this.poolLogic.execTransaction(G[this.network][n],p,r);case 8:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.stakeInGauge=function(){var e=f(N.mark((function e(n,a,i,r){var s,p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:void 0===r&&(r=null),e.t0=n,e.next=e.t0===exports.Dapp.BALANCER?4:e.t0===exports.Dapp.VELODROME?7:9;break;case 4:return p=new t.ethers.utils.Interface(de),s=p.encodeFunctionData("deposit(uint256)",[i]),e.abrupt("break",10);case 7:return s=ut(i),e.abrupt("break",10);case 9:throw new Error("dapp not supported");case 10:return e.next=12,this.poolLogic.execTransaction(a,s,r);case 12:return e.abrupt("return",e.sent);case 14:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.unStake=function(){var e=f(N.mark((function e(n,a,i,r){var s,p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),s=new t.ethers.utils.Interface(ne),e.next=4,this.utils.getLpPoolId(n,a);case 4:return p=s.encodeFunctionData(exports.Transaction.WITHDRAW,[e.sent,i,this.address]),e.next=8,this.poolLogic.execTransaction(G[this.network][n],p,r);case 8:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.unstakeFromGauge=function(){var e=f(N.mark((function e(n,a,i){var r,s;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===i&&(i=null),r=new t.ethers.utils.Interface(de),s=r.encodeFunctionData("withdraw(uint256)",[a]),e.next=5,this.poolLogic.execTransaction(n,s,i);case 5:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)})));return function(t,n,a){return e.apply(this,arguments)}}(),n.lend=function(){var e=f(N.mark((function e(n,a,i,r,s){var p,u;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=0),void 0===s&&(s=null),p=new t.ethers.utils.Interface(ae.abi),u=p.encodeFunctionData(exports.Transaction.DEPOSIT,[a,i,this.address,r]),e.next=6,this.poolLogic.execTransaction(j[this.network][n],u,s);case 6:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),n.withdrawDeposit=function(){var e=f(N.mark((function e(n,a,i,r){var s,p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),s=new t.ethers.utils.Interface(ae.abi),p=s.encodeFunctionData(exports.Transaction.WITHDRAW,[a,i,this.address]),e.next=5,this.poolLogic.execTransaction(j[this.network][n],p,r);case 5:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.borrow=function(){var e=f(N.mark((function e(n,a,i,r,s){var p,u;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=0),void 0===s&&(s=null),p=new t.ethers.utils.Interface(ae.abi),u=p.encodeFunctionData(exports.Transaction.BORROW,[a,i,2,r,this.address]),e.next=6,this.poolLogic.execTransaction(j[this.network][n],u,s);case 6:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),n.repay=function(){var e=f(N.mark((function e(n,a,i,r){var s,p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),s=new t.ethers.utils.Interface(ae.abi),p=s.encodeFunctionData(exports.Transaction.REPAY,[a,i,2,this.address]),e.next=5,this.poolLogic.execTransaction(j[this.network][n],p,r);case 5:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.harvestRewards=function(){var e=f(N.mark((function e(n,a,i){var r,s;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===i&&(i=null),r=new t.ethers.utils.Interface(ne),e.next=4,this.utils.getLpPoolId(n,a);case 4:return s=r.encodeFunctionData(exports.Transaction.HARVEST,[e.sent,this.address]),e.next=8,this.poolLogic.execTransaction(G[this.network][n],s,i);case 8:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e,this)})));return function(t,n,a){return e.apply(this,arguments)}}(),n.changeAssets=function(){var e=f(N.mark((function e(t,n){var a,i,r,s;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===n&&(n=null),e.next=3,this.getComposition();case 3:return a=e.sent.map((function(e){return e.asset.toLocaleLowerCase()})),i=t.map((function(e){return e.asset.toLocaleLowerCase()})),r=a.filter((function(e){return!i.includes(e)})),s=t.map((function(e){return[e.asset,e.isDeposit]})),e.next=10,this.managerLogic.changeAssets(s,r,n);case 10:return e.abrupt("return",e.sent);case 12:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}(),n.setTrader=function(){var e=f(N.mark((function e(t,n){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===n&&(n=null),e.next=3,this.managerLogic.setTrader(t,n);case 3:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}(),n.joinBalancerPool=function(){var e=f(N.mark((function e(t,n,a,i){var r;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===i&&(i=null),r=this.utils.getBalancerJoinPoolTx(this,t,n,a),e.next=4,this.poolLogic.execTransaction(j[this.network][exports.Dapp.BALANCER],r,i);case 4:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.exitBalancerPool=function(){var e=f(N.mark((function e(t,n,a,i,r){var s;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===i&&(i=null),void 0===r&&(r=null),s=this.utils.getBalancerExitPoolTx(this,t,n,i,a),e.next=5,this.poolLogic.execTransaction(j[this.network][exports.Dapp.BALANCER],s,r);case 5:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),n.harvestBalancerRewards=function(){var e=f(N.mark((function e(n){var a,i,r,s,p,u;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===n&&(n=null),a=new ve(this.network,this.signer),e.next=4,a.getMultiTokensPendingClaims(this.address);case 4:return r=(i=e.sent).map((function(e){return e.tokenClaimInfo.token})),e.next=8,a.multiTokenClaimRewards(this.address,i);case 8:return s=e.sent,p=new t.ethers.utils.Interface(pe),u=p.encodeFunctionData(exports.Transaction.CLAIM_DISTRIBIUTIONS,[this.address,s,r]),e.next=13,this.poolLogic.execTransaction(G[this.network][exports.Dapp.BALANCER],u,n);case 13:return e.abrupt("return",e.sent);case 15:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),n.harvestAaveRewards=function(){var e=f(N.mark((function e(n,a){var i,r,s,p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===a&&(a=null),i=G[this.network][exports.Dapp.AAVE],r=new t.ethers.utils.Interface(ue),s=new t.ethers.Contract(i,r,this.signer),e.next=6,s.getUserUnclaimedRewards(this.address);case 6:return p=r.encodeFunctionData(exports.Transaction.CLAIM_REWARDS,[n,e.sent,this.address]),e.next=10,this.poolLogic.execTransaction(i,p,a);case 10:return e.abrupt("return",e.sent);case 12:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}(),n.harvestAaveV3Rewards=function(){var e=f(N.mark((function e(t,n,a){var i;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===a&&(a=null),e.next=3,tt(this,t,n);case 3:return i=e.sent,e.next=6,this.poolLogic.execTransaction(G[this.network][exports.Dapp.AAVEV3],i,a);case 6:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}}),e,this)})));return function(t,n,a){return e.apply(this,arguments)}}(),n.addLiquidityUniswapV3=function(){var e=f(N.mark((function e(n,a,i,r,s,p,u,y,o,d){var l,m;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===d&&(d=null),null!==s&&null!==p||null!==u&&null!==y){e.next=3;break}throw new Error("Need to provide price or tick range");case 3:return l=new t.ethers.utils.Interface(se),e.next=6,he(this,n,a,i,r,s,p,u,y,o);case 6:return m=l.encodeFunctionData(exports.Transaction.MINT,[e.sent]),e.next=10,this.poolLogic.execTransaction(z[this.network],m,d);case 10:return e.abrupt("return",e.sent);case 12:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s,p,u,y,o){return e.apply(this,arguments)}}(),n.decreaseLiquidity=function(){var e=f(N.mark((function e(n,a,i,r){var s,p,u,y,o,d,l,m,c,T;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===i&&(i=100),void 0===r&&(r=null),n!==exports.Dapp.UNISWAPV3){e.next=15;break}return p=z[this.network],u=new t.ethers.utils.Interface(se),e.next=7,ge(a,this);case 7:y=e.sent.mul(Math.round(1e4*i)).div(1e6),o=u.encodeFunctionData(exports.Transaction.DECREASE_LIQUIDITY,[[a,y,0,0,$]]),d=u.encodeFunctionData(exports.Transaction.COLLECT,[[a,this.address,ee,ee]]),l=[o,d],100===i&&(m=u.encodeFunctionData(exports.Transaction.BURN,[a]),l.push(m)),s=u.encodeFunctionData(exports.Transaction.MULTI_CALL,[l]),e.next=25;break;case 15:if(n!==exports.Dapp.ARRAKIS){e.next=24;break}return p=j[this.network][n],c=new t.ethers.utils.Interface(ye),e.next=20,this.utils.getBalance(a,this.address);case 20:T=e.sent.mul(Math.round(1e4*i)).div(1e6),s=c.encodeFunctionData(exports.Transaction.REMOVE_LIQUIDITY_UNSTAKE,[a,T,0,0,this.address]),e.next=25;break;case 24:throw new Error("dapp not supported");case 25:return e.next=27,this.poolLogic.execTransaction(p,s,r);case 27:return e.abrupt("return",e.sent);case 29:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.increaseLiquidity=function(){var e=f(N.mark((function e(n,a,i,r,s){var p,u,y,o;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===s&&(s=null),n!==exports.Dapp.UNISWAPV3){e.next=7;break}u=z[this.network],y=new t.ethers.utils.Interface(se),p=y.encodeFunctionData(exports.Transaction.INCREASE_LIQUIDITY,[[a,i,r,0,0,$]]),e.next=14;break;case 7:if(n!==exports.Dapp.ARRAKIS){e.next=13;break}u=j[this.network][n],o=new t.ethers.utils.Interface(ye),p=o.encodeFunctionData(exports.Transaction.ADD_LIQUIDITY_STAKE,[a,i,r,0,0,this.address]),e.next=14;break;case 13:throw new Error("dapp not supported");case 14:return e.next=16,this.poolLogic.execTransaction(u,p,s);case 16:return e.abrupt("return",e.sent);case 18:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),n.claimFees=function(){var e=f(N.mark((function e(n,a,i){var r,s,p,u;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:void 0===i&&(i=null),e.t0=n,e.next=e.t0===exports.Dapp.UNISWAPV3?4:e.t0===exports.Dapp.ARRAKIS||e.t0===exports.Dapp.BALANCER?8:e.t0===exports.Dapp.VELODROME?12:15;break;case 4:return s=z[this.network],p=new t.ethers.utils.Interface(se),r=p.encodeFunctionData(exports.Transaction.COLLECT,[[a,this.address,ee,ee]]),e.abrupt("break",16);case 8:return s=a,u=new t.ethers.utils.Interface(oe),r=u.encodeFunctionData("claim_rewards()",[]),e.abrupt("break",16);case 12:return s=a,r=yt(this,a),e.abrupt("break",16);case 15:throw new Error("dapp not supported");case 16:return e.next=18,this.poolLogic.execTransaction(s,r,i);case 18:return e.abrupt("return",e.sent);case 20:case"end":return e.stop()}}),e,this)})));return function(t,n,a){return e.apply(this,arguments)}}(),n.tradeUniswapV3=function(){var e=f(N.mark((function e(t,n,a,i,r,s){var p;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=.5),void 0===s&&(s=null),e.next=4,Oe(this,t,n,a,r,i);case 4:return p=e.sent,e.next=7,this.poolLogic.execTransaction(j[this.network][exports.Dapp.UNISWAPV3],p,s);case 7:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s){return e.apply(this,arguments)}}(),n.addLiquidityVelodrome=function(){var e=f(N.mark((function e(t,n,a,i,r,s){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===s&&(s=null),e.next=3,this.poolLogic.execTransaction(j[this.network][exports.Dapp.VELODROME],it(this,t,n,a,i,r),s);case 3:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s){return e.apply(this,arguments)}}(),n.removeLiquidityVelodrome=function(){var e=f(N.mark((function e(t,n,a,i,r){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),e.next=3,this.poolLogic.execTransaction(j[this.network][exports.Dapp.VELODROME],rt(this,t,n,a,i),r);case 3:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),n.tradeLyraOption=function(){var e=f(N.mark((function e(n,a,i,r,s,p,u,y,o,d){var l;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===y&&(y="0"),void 0===o&&(o=!1),void 0===d&&(d=null),e.next=5,Pt(this,n,r,a,i,s,p,u,t.BigNumber.from(y),o);case 5:return l=e.sent,e.next=8,this.poolLogic.execTransaction(j[this.network][exports.Dapp.LYRA],l,d);case 8:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s,p,u,y,o){return e.apply(this,arguments)}}(),n.getLyraPositions=function(){var e=f(N.mark((function e(t){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,kt(this,t);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)}}(),e}(),Dt=[{inputs:[{internalType:"address",name:"_feeToSetter",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token0",type:"address"},{indexed:!0,internalType:"address",name:"token1",type:"address"},{indexed:!1,internalType:"address",name:"pair",type:"address"},{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"PairCreated",type:"event"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"allPairs",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"allPairsLength",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"}],name:"createPair",outputs:[{internalType:"address",name:"pair",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"feeTo",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeToSetter",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"getPair",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"migrator",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pairCodeHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"_feeTo",type:"address"}],name:"setFeeTo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_feeToSetter",type:"address"}],name:"setFeeToSetter",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_migrator",type:"address"}],name:"setMigrator",outputs:[],stateMutability:"nonpayable",type:"function"}],St=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"amount0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1",type:"uint256"},{indexed:!0,internalType:"address",name:"to",type:"address"}],name:"Burn",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"amount0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1",type:"uint256"}],name:"Mint",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"amount0In",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1In",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount0Out",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1Out",type:"uint256"},{indexed:!0,internalType:"address",name:"to",type:"address"}],name:"Swap",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint112",name:"reserve0",type:"uint112"},{indexed:!1,internalType:"uint112",name:"reserve1",type:"uint112"}],name:"Sync",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{constant:!0,inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"MINIMUM_LIQUIDITY",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"pure",type:"function"},{constant:!0,inputs:[],name:"PERMIT_TYPEHASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],payable:!1,stateMutability:"pure",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"}],name:"burn",outputs:[{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],payable:!1,stateMutability:"pure",type:"function"},{constant:!0,inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getReserves",outputs:[{internalType:"uint112",name:"reserve0",type:"uint112"},{internalType:"uint112",name:"reserve1",type:"uint112"},{internalType:"uint32",name:"blockTimestampLast",type:"uint32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"initialize",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"kLast",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"}],name:"mint",outputs:[{internalType:"uint256",name:"liquidity",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"pure",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"price0CumulativeLast",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"price1CumulativeLast",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"}],name:"skim",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount0Out",type:"uint256"},{internalType:"uint256",name:"amount1Out",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"swap",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"pure",type:"function"},{constant:!1,inputs:[],name:"sync",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"token0",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"token1",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"}],Et=[{inputs:[{internalType:"contract IAuthorizer",name:"authorizer",type:"address"},{internalType:"contract IWETH",name:"weth",type:"address"},{internalType:"uint256",name:"pauseWindowDuration",type:"uint256"},{internalType:"uint256",name:"bufferPeriodDuration",type:"uint256"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IAuthorizer",name:"newAuthorizer",type:"address"}],name:"AuthorizerChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IERC20",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"address",name:"recipient",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"ExternalBalanceTransfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IFlashLoanRecipient",name:"recipient",type:"address"},{indexed:!0,internalType:"contract IERC20",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"feeAmount",type:"uint256"}],name:"FlashLoan",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"contract IERC20",name:"token",type:"address"},{indexed:!1,internalType:"int256",name:"delta",type:"int256"}],name:"InternalBalanceChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bool",name:"paused",type:"bool"}],name:"PausedStateChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"poolId",type:"bytes32"},{indexed:!0,internalType:"address",name:"liquidityProvider",type:"address"},{indexed:!1,internalType:"contract IERC20[]",name:"tokens",type:"address[]"},{indexed:!1,internalType:"int256[]",name:"deltas",type:"int256[]"},{indexed:!1,internalType:"uint256[]",name:"protocolFeeAmounts",type:"uint256[]"}],name:"PoolBalanceChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"poolId",type:"bytes32"},{indexed:!0,internalType:"address",name:"assetManager",type:"address"},{indexed:!0,internalType:"contract IERC20",name:"token",type:"address"},{indexed:!1,internalType:"int256",name:"cashDelta",type:"int256"},{indexed:!1,internalType:"int256",name:"managedDelta",type:"int256"}],name:"PoolBalanceManaged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"poolId",type:"bytes32"},{indexed:!0,internalType:"address",name:"poolAddress",type:"address"},{indexed:!1,internalType:"enum IVault.PoolSpecialization",name:"specialization",type:"uint8"}],name:"PoolRegistered",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"relayer",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"RelayerApprovalChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"poolId",type:"bytes32"},{indexed:!0,internalType:"contract IERC20",name:"tokenIn",type:"address"},{indexed:!0,internalType:"contract IERC20",name:"tokenOut",type:"address"},{indexed:!1,internalType:"uint256",name:"amountIn",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amountOut",type:"uint256"}],name:"Swap",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"poolId",type:"bytes32"},{indexed:!1,internalType:"contract IERC20[]",name:"tokens",type:"address[]"}],name:"TokensDeregistered",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"poolId",type:"bytes32"},{indexed:!1,internalType:"contract IERC20[]",name:"tokens",type:"address[]"},{indexed:!1,internalType:"address[]",name:"assetManagers",type:"address[]"}],name:"TokensRegistered",type:"event"},{inputs:[],name:"WETH",outputs:[{internalType:"contract IWETH",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"enum IVault.SwapKind",name:"kind",type:"uint8"},{components:[{internalType:"bytes32",name:"poolId",type:"bytes32"},{internalType:"uint256",name:"assetInIndex",type:"uint256"},{internalType:"uint256",name:"assetOutIndex",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],internalType:"struct IVault.BatchSwapStep[]",name:"swaps",type:"tuple[]"},{internalType:"contract IAsset[]",name:"assets",type:"address[]"},{components:[{internalType:"address",name:"sender",type:"address"},{internalType:"bool",name:"fromInternalBalance",type:"bool"},{internalType:"address payable",name:"recipient",type:"address"},{internalType:"bool",name:"toInternalBalance",type:"bool"}],internalType:"struct IVault.FundManagement",name:"funds",type:"tuple"},{internalType:"int256[]",name:"limits",type:"int256[]"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"batchSwap",outputs:[{internalType:"int256[]",name:"assetDeltas",type:"int256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"poolId",type:"bytes32"},{internalType:"contract IERC20[]",name:"tokens",type:"address[]"}],name:"deregisterTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"poolId",type:"bytes32"},{internalType:"address",name:"sender",type:"address"},{internalType:"address payable",name:"recipient",type:"address"},{components:[{internalType:"contract IAsset[]",name:"assets",type:"address[]"},{internalType:"uint256[]",name:"minAmountsOut",type:"uint256[]"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bool",name:"toInternalBalance",type:"bool"}],internalType:"struct IVault.ExitPoolRequest",name:"request",type:"tuple"}],name:"exitPool",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IFlashLoanRecipient",name:"recipient",type:"address"},{internalType:"contract IERC20[]",name:"tokens",type:"address[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"flashLoan",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"selector",type:"bytes4"}],name:"getActionId",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAuthorizer",outputs:[{internalType:"contract IAuthorizer",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getDomainSeparator",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"},{internalType:"contract IERC20[]",name:"tokens",type:"address[]"}],name:"getInternalBalance",outputs:[{internalType:"uint256[]",name:"balances",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"}],name:"getNextNonce",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getPausedState",outputs:[{internalType:"bool",name:"paused",type:"bool"},{internalType:"uint256",name:"pauseWindowEndTime",type:"uint256"},{internalType:"uint256",name:"bufferPeriodEndTime",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"poolId",type:"bytes32"}],name:"getPool",outputs:[{internalType:"address",name:"",type:"address"},{internalType:"enum IVault.PoolSpecialization",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"poolId",type:"bytes32"},{internalType:"contract IERC20",name:"token",type:"address"}],name:"getPoolTokenInfo",outputs:[{internalType:"uint256",name:"cash",type:"uint256"},{internalType:"uint256",name:"managed",type:"uint256"},{internalType:"uint256",name:"lastChangeBlock",type:"uint256"},{internalType:"address",name:"assetManager",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"poolId",type:"bytes32"}],name:"getPoolTokens",outputs:[{internalType:"contract IERC20[]",name:"tokens",type:"address[]"},{internalType:"uint256[]",name:"balances",type:"uint256[]"},{internalType:"uint256",name:"lastChangeBlock",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getProtocolFeesCollector",outputs:[{internalType:"contract ProtocolFeesCollector",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"relayer",type:"address"}],name:"hasApprovedRelayer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"poolId",type:"bytes32"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{components:[{internalType:"contract IAsset[]",name:"assets",type:"address[]"},{internalType:"uint256[]",name:"maxAmountsIn",type:"uint256[]"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bool",name:"fromInternalBalance",type:"bool"}],internalType:"struct IVault.JoinPoolRequest",name:"request",type:"tuple"}],name:"joinPool",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"enum IVault.PoolBalanceOpKind",name:"kind",type:"uint8"},{internalType:"bytes32",name:"poolId",type:"bytes32"},{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct IVault.PoolBalanceOp[]",name:"ops",type:"tuple[]"}],name:"managePoolBalance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"enum IVault.UserBalanceOpKind",name:"kind",type:"uint8"},{internalType:"contract IAsset",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"sender",type:"address"},{internalType:"address payable",name:"recipient",type:"address"}],internalType:"struct IVault.UserBalanceOp[]",name:"ops",type:"tuple[]"}],name:"manageUserBalance",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"enum IVault.SwapKind",name:"kind",type:"uint8"},{components:[{internalType:"bytes32",name:"poolId",type:"bytes32"},{internalType:"uint256",name:"assetInIndex",type:"uint256"},{internalType:"uint256",name:"assetOutIndex",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],internalType:"struct IVault.BatchSwapStep[]",name:"swaps",type:"tuple[]"},{internalType:"contract IAsset[]",name:"assets",type:"address[]"},{components:[{internalType:"address",name:"sender",type:"address"},{internalType:"bool",name:"fromInternalBalance",type:"bool"},{internalType:"address payable",name:"recipient",type:"address"},{internalType:"bool",name:"toInternalBalance",type:"bool"}],internalType:"struct IVault.FundManagement",name:"funds",type:"tuple"}],name:"queryBatchSwap",outputs:[{internalType:"int256[]",name:"",type:"int256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"enum IVault.PoolSpecialization",name:"specialization",type:"uint8"}],name:"registerPool",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"poolId",type:"bytes32"},{internalType:"contract IERC20[]",name:"tokens",type:"address[]"},{internalType:"address[]",name:"assetManagers",type:"address[]"}],name:"registerTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IAuthorizer",name:"newAuthorizer",type:"address"}],name:"setAuthorizer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"paused",type:"bool"}],name:"setPaused",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"relayer",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setRelayerApproval",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"bytes32",name:"poolId",type:"bytes32"},{internalType:"enum IVault.SwapKind",name:"kind",type:"uint8"},{internalType:"contract IAsset",name:"assetIn",type:"address"},{internalType:"contract IAsset",name:"assetOut",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],internalType:"struct IVault.SingleSwap",name:"singleSwap",type:"tuple"},{components:[{internalType:"address",name:"sender",type:"address"},{internalType:"bool",name:"fromInternalBalance",type:"bool"},{internalType:"address payable",name:"recipient",type:"address"},{internalType:"bool",name:"toInternalBalance",type:"bool"}],internalType:"struct IVault.FundManagement",name:"funds",type:"tuple"},{internalType:"uint256",name:"limit",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swap",outputs:[{internalType:"uint256",name:"amountCalculated",type:"uint256"}],stateMutability:"payable",type:"function"},{stateMutability:"payable",type:"receive"}],Lt=function(){function e(e,t){this.network=e,this.signer=t}var n=e.prototype;return n.getLpReserves=function(){var e=f(N.mark((function e(n,a,i){var r,s,p,u,y;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!Y[this.network][n]){e.next=13;break}return r=new t.Contract(Y[this.network][n],Dt,this.signer),e.next=4,r.getPair(a,i);case 4:return s=new t.Contract(e.sent,St,this.signer),e.next=8,s.getReserves();case 8:return u=(p=e.sent)[0],y=p[1],e.abrupt("return",a.toLowerCase()<i.toLowerCase()?{assetA:u,assetB:y}:{assetA:y,assetB:u});case 13:throw new Error("Dapp not supported on this network");case 14:case"end":return e.stop()}}),e,this)})));return function(t,n,a){return e.apply(this,arguments)}}(),n.getLpPoolId=function(){var e=f(N.mark((function e(n,a){var i,r,s;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!G[this.network][n]){e.next=15;break}return i=new t.Contract(G[this.network][n],ne,this.signer),e.next=4,i.poolLength();case 4:return r=Array.from({length:e.sent.toNumber()},(function(e,t){return t})),e.next=8,Promise.all(r.map((function(e){return i.lpToken(e)})));case 8:if(-1!==(s=e.sent.map((function(e){return e.toLowerCase()})).indexOf(a.toLocaleLowerCase()))){e.next=12;break}throw new Error("Staking not supported for asset");case 12:return e.abrupt("return",s);case 15:throw new Error("Dapp not supported on this network");case 16:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}(),n.getBalance=function(){var e=f(N.mark((function e(n,a){var i;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=new t.ethers.Contract(n,te,this.signer),e.next=3,i.balanceOf(a);case 3:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}(),n.getDecimals=function(){var e=f(N.mark((function e(n){var a;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=new t.ethers.Contract(n,te,this.signer),e.next=3,a.decimals();case 3:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),n.getMinAmountOut=function(){var e=f(N.mark((function e(n,a,i,r,s){var p,u,y,o,d,l,m,T;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return p=t.ethers.utils.getAddress(a),u=t.ethers.utils.getAddress(i),e.next=4,this.getLpReserves(n,p,u);case 4:return y=e.sent,o=new c.Token(Q[this.network],p,18),d=new c.Token(Q[this.network],u,18),l=new c.Pair(new c.TokenAmount(o,y.assetA.toString()),new c.TokenAmount(d,y.assetB.toString())),m=new c.Route([l],o,d),T=new c.Trade(m,new c.TokenAmount(o,r.toString()),c.TradeType.EXACT_INPUT),e.abrupt("return",t.ethers.BigNumber.from(T.minimumAmountOut(new c.Percent((100*s).toFixed(),"10000")).raw.toString()));case 11:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),n.getBalancerSwapTx=function(){var e=f(N.mark((function e(n,a,i,r,s){var p,u,y,o,d,l,m,c,b,f,w;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return p=new T.SOR(this.signer.provider,Q[this.network],X[this.network]),e.next=3,p.fetchPools();case 3:if(e.sent){e.next=6;break}throw new Error("Error fetching balancer pools");case 6:return u=T.SwapTypes.SwapExactIn,e.next=9,p.getSwaps(a,i,u,t.ethers.BigNumber.from(r));case 9:if(o=(y=e.sent).swaps,d=y.tokenAddresses,l=y.returnAmount.mul(1e4-100*s).div(1e4),m=new t.ethers.utils.Interface(Et),1!==o.length){e.next=21;break}return b=m.encodeFunctionData("swap",[[(c=o[0]).poolId,T.SwapTypes.SwapExactIn,d[c.assetInIndex],d[c.assetOutIndex],c.amount,c.userData],[n.address,!1,n.address,!1],l,Math.floor(Date.now()/1e3)+1200]),e.abrupt("return",b);case 21:return f=[],d.forEach((function(e,t){f[t]=e.toLowerCase()===a.toLowerCase()?r.toString():e.toLowerCase()===i.toLowerCase()?l.mul(-1).toString():"0"})),w=m.encodeFunctionData("batchSwap",[T.SwapTypes.SwapExactIn,o,d,[n.address,!1,n.address,!1],f,Math.floor(Date.now()/1e3)+1200]),e.abrupt("return",w);case 25:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),n.getBalancerJoinPoolTx=function(){var e=f(N.mark((function e(n,a,i,r){var s,p,u,y,o,d;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=new t.ethers.utils.Interface(Et),p=t.ethers.utils.getAddress(a.slice(0,42)),u=i.findIndex((function(e){return e.toLowerCase()===p.toLocaleLowerCase()})),y=r.slice(),u>=0&&y.splice(u,1),o=[a,n.address,n.address,[i,r,t.ethers.utils.defaultAbiCoder.encode(["uint256","uint256[]","uint256"],[1,y,0]),!1]],d=s.encodeFunctionData("joinPool",o),e.abrupt("return",d);case 8:case"end":return e.stop()}}),e)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.getBalancerExitPoolTx=function(){var e=f(N.mark((function e(n,a,i,r,s){var p,u,y,o;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return p=new Array(i.length).fill(0),u=new t.ethers.utils.Interface(Et),y=null===r?t.ethers.utils.defaultAbiCoder.encode(["uint256","uint256"],[1,s]):t.ethers.utils.defaultAbiCoder.encode(["uint256","uint256","uint256"],[0,s,r]),o=u.encodeFunctionData("exitPool",[a,n.address,n.address,[i,p,y,!1]]),e.abrupt("return",o);case 6:case"end":return e.stop()}}),e)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),n.getLyraOptionExpiries=function(){var e=f(N.mark((function e(t){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,mt(this.network,t);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)}}(),n.getLyraOptionStrikes=function(){var e=f(N.mark((function e(t,n){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Tt(this.network,t,n);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}(),n.getLyraOptionStrike=function(){var e=f(N.mark((function e(t,n,a){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ft(this.network,t,n,a);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)})));return function(t,n,a){return e.apply(this,arguments)}}(),n.getLyraOptionQuote=function(){var e=f(N.mark((function e(n,a,i,r){return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,At(n,a,i,t.ethers.BigNumber.from(r));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),e}(),Ft=function(){function e(e,n){this.network=n,this.signer=e,this.factory=new t.Contract(H[n],U,this.signer),this.utils=new Lt(this.network,this.signer)}var n=e.prototype;return n.createPool=function(){var e=f(N.mark((function e(n,a,i,r,s,p){var u,y,o,d;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===s&&(s=20),void 0===p&&(p=null),e.next=4,this.factory.createFund(!1,this.signer.getAddress(),n,a,i,100*s,r,p);case 4:return u=e.sent,e.next=7,u.wait(1);case 7:if(y=e.sent.events.find((function(e){return"FundCreated"===e.event}))){e.next=11;break}throw new Error("Fund not created");case 11:return o=new t.Contract(y.args.fundAddress,V,this.signer),e.next=15,o.poolManagerLogic();case 15:return d=new t.Contract(e.sent,W,this.signer),e.abrupt("return",new Rt(this.network,this.signer,o,d,this.utils,this.factory));case 18:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s){return e.apply(this,arguments)}}(),n.loadPool=function(){var e=f(N.mark((function e(n){var a,i;return N.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=new t.Contract(n,V,this.signer),e.next=3,a.poolManagerLogic();case 3:return i=new t.Contract(e.sent,W,this.signer),e.abrupt("return",new Rt(this.network,this.signer,a,i,this.utils,this.factory));case 6:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),n.validatePool=function(e){return this.factory.isPool(e)},e}();Object.defineProperty(exports,"ethers",{enumerable:!0,get:function(){return t.ethers}}),exports.Dhedge=Ft,exports.Pool=Rt;
2
2
  //# sourceMappingURL=v2-sdk.cjs.production.min.js.map