@dhedge/v2-sdk 2.0.2 → 2.1.0

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=require("@uniswap/sdk-core"),r=require("@uniswap/v3-sdk"),s=e(require("jsbi")),p=e(require("bignumber.js")),u=e(require("axios"));require("lodash/set"),require("@ethersproject/abi");var y=require("@sushiswap/sdk"),o=require("@balancer-labs/sor");function d(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 l(e){return function(){var t=this,n=arguments;return new Promise((function(a,i){var r=e.apply(t,n);function s(e){d(r,a,i,s,p,"next",e)}function p(e){d(r,a,i,s,p,"throw",e)}s(void 0)}))}}function m(){return(m=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)}function c(e){return(c=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function T(e,t){return(T=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function b(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function f(e,t,n){return(f=b()?Reflect.construct:function(e,t,n){var a=[null];a.push.apply(a,t);var i=new(Function.bind.apply(e,a));return n&&T(i,n.prototype),i}).apply(null,arguments)}function w(e){var t="function"==typeof Map?new Map:void 0;return(w=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return f(e,arguments,c(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),T(n,e)})(e)}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}function x(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return v(e,void 0);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?v(e,void 0):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var h,M,g,k,A,D,I,O,C,E,S,P,R,F,L,_,B,N,V,q,U,W,G,H,K,z,Y,j,Q,X,Z,J,$,ee,te=(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:A}}function A(){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)}}(ee={exports:{}}),ee.exports),ne=[{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"}],ae=[{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:"externalWithdrawProcessed",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:"fee",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:[{internalType:"uint256",name:"fundValue",type:"uint256"}],name:"calculateAvailableManagerFee",outputs:[{internalType:"uint256",name:"fee",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"currentBalance",type:"uint256"},{internalType:"uint256",name:"liquidityMinted",type:"uint256"},{internalType:"uint256",name:"newCooldown",type:"uint256"},{internalType:"uint256",name:"lastCooldown",type:"uint256"},{internalType:"uint256",name:"lastDepositTime",type:"uint256"},{internalType:"uint256",name:"blockTimestamp",type:"uint256"}],name:"calculateCooldown",outputs:[{internalType:"uint256",name:"cooldown",type:"uint256"}],stateMutability:"pure",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:"liquidityMinted",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_recipient",type:"address"},{internalType:"address",name:"_asset",type:"address"},{internalType:"uint256",name:"_amount",type:"uint256"}],name:"depositFor",outputs:[{internalType:"uint256",name:"liquidityMinted",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_recipient",type:"address"},{internalType:"address",name:"_asset",type:"address"},{internalType:"uint256",name:"_amount",type:"uint256"},{internalType:"uint256",name:"_cooldown",type:"uint256"}],name:"depositForWithCustomCooldown",outputs:[{internalType:"uint256",name:"liquidityMinted",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:[{components:[{internalType:"address",name:"to",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],internalType:"struct PoolLogic.TxToExecute[]",name:"txs",type:"tuple[]"}],name:"execTransactions",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:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"}],name:"getExitRemainingCooldown",outputs:[{internalType:"uint256",name:"remaining",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getFundSummary",outputs:[{components:[{internalType:"string",name:"name",type:"string"},{internalType:"uint256",name:"totalSupply",type:"uint256"},{internalType:"uint256",name:"totalFundValue",type:"uint256"},{internalType:"address",name:"manager",type:"address"},{internalType:"string",name:"managerName",type:"string"},{internalType:"uint256",name:"creationTime",type:"uint256"},{internalType:"bool",name:"privatePool",type:"bool"},{internalType:"uint256",name:"performanceFeeNumerator",type:"uint256"},{internalType:"uint256",name:"managerFeeNumerator",type:"uint256"},{internalType:"uint256",name:"managerFeeDenominator",type:"uint256"},{internalType:"uint256",name:"exitFeeNumerator",type:"uint256"},{internalType:"uint256",name:"exitFeeDenominator",type:"uint256"},{internalType:"uint256",name:"entryFeeNumerator",type:"uint256"}],internalType:"struct PoolLogic.FundSummary",name:"",type:"tuple"}],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:[{internalType:"address",name:"",type:"address"}],name:"lastExitCooldown",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"lastFeeMintTime",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"lastWhitelistTransfer",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"managerName",outputs:[{internalType:"string",name:"_managerName",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:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"onERC721Received",outputs:[{internalType:"bytes4",name:"magicSelector",type:"bytes4"}],stateMutability:"nonpayable",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:"price",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenPriceAtLastFeeMint",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenPriceWithoutManagerFee",outputs:[{internalType:"uint256",name:"price",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"},{inputs:[{internalType:"address",name:"_recipient",type:"address"},{internalType:"uint256",name:"_fundTokenAmount",type:"uint256"}],name:"withdrawTo",outputs:[],stateMutability:"nonpayable",type:"function"}],ie=[{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"},{inputs:[{internalType:"bool",name:"_privatePool",type:"bool"}],name:"setPoolPrivate",outputs:[],stateMutability:"nonpayable",type:"function"}];(h=exports.Network||(exports.Network={})).POLYGON="polygon",h.OPTIMISM="optimism",h.ARBITRUM="arbitrum",h.BASE="base",h.ETHEREUM="ethereum",(M=exports.Dapp||(exports.Dapp={})).SUSHISWAP="sushiswap",M.AAVE="aave",M.ONEINCH="1inch",M.QUICKSWAP="quickswap",M.BALANCER="balancer",M.UNISWAPV3="uniswapV3",M.SYNTHETIX="synthetix",M.AAVEV3="aavev3",M.ARRAKIS="arrakis",M.TOROS="toros",M.VELODROME="velodrome",M.VELODROMEV2="velodromeV2",M.VELODROMECL="velodromeCL",M.LYRA="lyra",M.RAMSES="ramses",M.AERODROME="aerodrome",M.AERODROMECL="aerodromeCL",M.RAMSESCL="ramsesCL",M.PANCAKECL="pancakeCL",M.COMPOUNDV3="compoundV3",M.ODOS="odos",M.PENDLE="pendle",(g=exports.Transaction||(exports.Transaction={})).SWAP="swapExactTokensForTokens",g.ADD_LIQUIDITY="addLiquidity",g.DEPOSIT="deposit",g.HARVEST="harvest",g.CLAIM_DISTRIBIUTIONS="claimDistributions",g.CLAIM_REWARDS="claimRewards",g.REMOVE_LIQUIDITY="removeLiquidity",g.DECREASE_LIQUIDITY="decreaseLiquidity",g.INCREASE_LIQUIDITY="increaseLiquidity",g.COLLECT="collect",g.MULTI_CALL="multicall",g.BORROW="borrow",g.REPAY="repay",g.WITHDRAW="withdraw",g.MINT="mint",g.BURN="burn",g.SWAP_SYNTHS="exchangeWithTracking",g.ADD_LIQUIDITY_STAKE="addLiquidityAndStake",g.REMOVE_LIQUIDITY_UNSTAKE="removeLiquidityAndUnstake",require("dotenv").config();var re=((k={})[exports.Network.POLYGON]=process.env.STAGING_CONTRACTS?"0xDd87eCdB10cFF7004276AAbAbd30e7a08F69bb53":"0xfdc7b8bFe0DD3513Cc669bB8d601Cb83e2F69cB0",k[exports.Network.OPTIMISM]="0x5e61a079A178f0E5784107a4963baAe0c5a680c6",k[exports.Network.ARBITRUM]="0xfffb5fb14606eb3a548c113026355020ddf27535",k[exports.Network.BASE]="0x49Afe3abCf66CF09Fab86cb1139D8811C8afe56F",k[exports.Network.ETHEREUM]="0x96D33bCF84DdE326014248E2896F79bbb9c13D6d",k),se=((E={})[exports.Network.POLYGON]=((A={})[exports.Dapp.SUSHISWAP]="0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506",A[exports.Dapp.AAVE]="0x8dFf5E27EA6b7AC08EbFdf9eB090F32ee9a30fcf",A[exports.Dapp.AAVEV3]="0x794a61358D6845594F94dc1DB02A252b5b4814aD",A[exports.Dapp.ONEINCH]="0x111111125421ca6dc452d289314280a0f8842a65",A[exports.Dapp.QUICKSWAP]="0xa5E0829CaCEd8fFDD4De3c43696c57F7D7A678ff",A[exports.Dapp.BALANCER]="0xBA12222222228d8Ba445958a75a0704d566BF2C8",A[exports.Dapp.UNISWAPV3]="0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",A[exports.Dapp.ARRAKIS]="0xc73fb100a995b33f9fa181d420f4c8d74506df66",A[exports.Dapp.TOROS]="0x45b90480D6F643dE2f128db091A357C3c90399f2",A[exports.Dapp.ODOS]="0x4e3288c9ca110bcc82bf38f09a7b425c095d92bf",A),E[exports.Network.OPTIMISM]=((D={})[exports.Dapp.UNISWAPV3]="0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",D[exports.Dapp.SYNTHETIX]="0x8700dAec35aF8Ff88c16BdF0418774CB3D7599B4",D[exports.Dapp.AAVEV3]="0x794a61358D6845594F94dc1DB02A252b5b4814aD",D[exports.Dapp.ONEINCH]="0x111111125421ca6dc452d289314280a0f8842a65",D[exports.Dapp.TOROS]="0x2Ed1bd7f66e47113672f3870308b5E867C5bb743",D[exports.Dapp.VELODROME]="0x9c12939390052919aF3155f41Bf4160Fd3666A6f",D[exports.Dapp.VELODROMEV2]="0xa062ae8a9c5e11aaa026fc2670b0d65ccc8b2858",D[exports.Dapp.LYRA]="0xCCE7819d65f348c64B7Beb205BA367b3fE33763B",D[exports.Dapp.ARRAKIS]="0x9ce88a56d120300061593eF7AD074A1B710094d5",D[exports.Dapp.ODOS]="0xca423977156bb05b13a2ba3b76bc5419e2fe9680",D[exports.Dapp.PENDLE]="0x888888888889758F76e7103c6CbF23ABbF58F946",D),E[exports.Network.ARBITRUM]=((I={})[exports.Dapp.ONEINCH]="0x111111125421ca6dc452d289314280a0f8842a65",I[exports.Dapp.UNISWAPV3]="0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",I[exports.Dapp.AAVEV3]="0x794a61358D6845594F94dc1DB02A252b5b4814aD",I[exports.Dapp.BALANCER]="0xBA12222222228d8Ba445958a75a0704d566BF2C8",I[exports.Dapp.RAMSES]="0xaaa87963efeb6f7e0a2711f397663105acb1805e",I[exports.Dapp.TOROS]="0xA5679C4272A056Bb83f039961fae7D99C48529F5",I[exports.Dapp.ODOS]="0xa669e7A0d4b3e4Fa48af2dE86BD4CD7126Be4e13",I[exports.Dapp.PENDLE]="0x888888888889758F76e7103c6CbF23ABbF58F946",I),E[exports.Network.BASE]=((O={})[exports.Dapp.ONEINCH]="0x111111125421ca6dc452d289314280a0f8842a65",O[exports.Dapp.AERODROME]="0xcF77a3Ba9A5CA399B7c97c74d54e5b1Beb874E43",O[exports.Dapp.AAVEV3]="0xA238Dd80C259a72e81d7e4664a9801593F98d1c5",O[exports.Dapp.TOROS]="0xf067575Eb60c7587C11e867907AA7284833704d1",O[exports.Dapp.ODOS]="0x19cEeAd7105607Cd444F5ad10dd51356436095a1",O[exports.Dapp.PENDLE]="0x888888888889758F76e7103c6CbF23ABbF58F946",O),E[exports.Network.ETHEREUM]=((C={})[exports.Dapp.AAVEV3]="0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2",C[exports.Dapp.ODOS]="0xCf5540fFFCdC3d510B18bFcA6d2b9987b0772559",C[exports.Dapp.PENDLE]="0x888888888889758F76e7103c6CbF23ABbF58F946",C[exports.Dapp.ONEINCH]="0x111111125421ca6dc452d289314280a0f8842a65",C),E),pe=((P={})[exports.Network.POLYGON]=((S={})[exports.Dapp.SUSHISWAP]="0xc35DADB65012eC5796536bD9864eD8773aBc74C4",S[exports.Dapp.QUICKSWAP]="0x5757371414417b8C6CAad45bAeF941aBc7d3Ab32",S),P[exports.Network.OPTIMISM]={},P[exports.Network.ARBITRUM]={},P[exports.Network.BASE]={},P[exports.Network.ETHEREUM]={},P),ue=((B={})[exports.Network.POLYGON]=((R={})[exports.Dapp.SUSHISWAP]="0x0769fd68dFb93167989C6f7254cd0D766Fb2841F",R[exports.Dapp.BALANCER]="0x0F3e0c4218b7b0108a3643cFe9D3ec0d4F57c54e",R[exports.Dapp.AAVE]="0x357D51124f59836DeD84c8a1730D72B749d8BC23",R[exports.Dapp.AAVEV3]="0x929EC64c34a17401F460460D4B9390518E5B473e",R),B[exports.Network.OPTIMISM]=((F={})[exports.Dapp.AAVEV3]="0x929EC64c34a17401F460460D4B9390518E5B473e",F[exports.Dapp.COMPOUNDV3]="0x443ea0340cb75a160f31a440722dec7b5bc3c2e9",F),B[exports.Network.ARBITRUM]=((L={})[exports.Dapp.COMPOUNDV3]="0x88730d254a2f7e6ac8388c3198afd694ba9f7fae",L[exports.Dapp.PANCAKECL]="0x5e09ACf80C0296740eC5d6F643005a4ef8DaA694",L),B[exports.Network.BASE]=((_={})[exports.Dapp.PANCAKECL]="0xC6A2Db661D5a5690172d8eB0a7DEA2d3008665A3",_),B[exports.Network.ETHEREUM]={},B),ye=((G={})[exports.Network.POLYGON]=((N={})[exports.Dapp.AAVE]="0xd05e3E715d945B59290df0ae8eF85c1BdB684744",N[exports.Dapp.AAVEV3]="0xa97684ead0e402dC232d5A977953DF7ECBaB3CDb",N),G[exports.Network.OPTIMISM]=((V={})[exports.Dapp.AAVEV3]="0xa97684ead0e402dC232d5A977953DF7ECBaB3CDb",V),G[exports.Network.ARBITRUM]=((q={})[exports.Dapp.AAVEV3]="0xa97684ead0e402dc232d5a977953df7ecbab3cdb",q),G[exports.Network.BASE]=((U={})[exports.Dapp.AAVEV3]="0xe20fCBdBfFC4Dd138cE8b2E6FBb6CB49777ad64D",U),G[exports.Network.ETHEREUM]=((W={})[exports.Dapp.AAVEV3]="0x2f39d218133AFaB8F2B819B1066c7E434Ad94E9e",W),(j={})[exports.Network.POLYGON]=((H={})[exports.Dapp.UNISWAPV3]="0xC36442b4a4522E871399CD717aBDD847Ab11FE88",H),j[exports.Network.OPTIMISM]=((K={})[exports.Dapp.UNISWAPV3]="0xC36442b4a4522E871399CD717aBDD847Ab11FE88",K[exports.Dapp.VELODROMECL]="0x416b433906b1B72FA758e166e239c43d68dC6F29",K),j[exports.Network.ARBITRUM]=((z={})[exports.Dapp.UNISWAPV3]="0xC36442b4a4522E871399CD717aBDD847Ab11FE88",z[exports.Dapp.RAMSESCL]="0xAA277CB7914b7e5514946Da92cb9De332Ce610EF",z[exports.Dapp.PANCAKECL]="0x46a15b0b27311cedf172ab29e4f4766fbe7f4364",z),j[exports.Network.BASE]=((Y={})[exports.Dapp.UNISWAPV3]="0x03a520b32C04BF3bEEf7BEb72E919cf822Ed34f1",Y[exports.Dapp.AERODROMECL]="0x827922686190790b37229fd06084350e74485b72",Y[exports.Dapp.PANCAKECL]="0x46A15B0b27311cedF172AB29E4f4766fbE7F4364",Y),j[exports.Network.ETHEREUM]={},j),oe=((Q={})[exports.Network.POLYGON]=137,Q[exports.Network.OPTIMISM]=10,Q[exports.Network.ARBITRUM]=42161,Q[exports.Network.BASE]=8453,Q[exports.Network.ETHEREUM]=1,Q),de=((X={})[exports.Network.POLYGON]="https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-polygon-v2",X[exports.Network.OPTIMISM]="",X[exports.Network.ARBITRUM]="",X[exports.Network.BASE]="",X[exports.Network.ETHEREUM]="",X),le=((Z={})[exports.Network.POLYGON]="0x275617327c958bD06b5D6b871E7f491D76113dd8",Z[exports.Network.OPTIMISM]="",Z[exports.Network.ARBITRUM]="",Z[exports.Network.BASE]="",Z[exports.Network.ETHEREUM]="",(J={})[exports.Network.OPTIMISM]=n.Deployment.Mainnet,J),me="0xffffffffffffffffffffffffffffffff",ce=(($={})[exports.Network.BASE]={DelayedOrder:"0x6D857e9D24a7566bB72a3FB0847A3E0e4E1c2879",FlatcoinVault:"0x95Fa1ddc9a78273f795e67AbE8f1Cd2Cd39831fF",StableModule:"0xb95fB324b8A2fAF8ec4f76e3dF46C718402736e2",COLLATERAL:"0xb6fe221fe9eef5aba221c348ba20a1bf5e73624c"},$[exports.Network.OPTIMISM]={OrderExecution:"0x7805CB7fb2C2e70FDdF92949065D9Ee1Fc2F72a8",DelayedOrder:"0xd917A0C9B21Bb71DF1209d2c211Ad83004F01554",FlatcoinVault:"0x86C7b9640302082B0dF78023F930d8612bFcaD3f",COLLATERAL:"0x68f180fcCe6836688e9084f035309E29Bf0A2095",StableModule:"0x357CB23571EF7a3d6189b7FAcFC361eA71f7CAB5"},$[exports.Network.ARBITRUM]={OrderExecution:"0x7e50AD6E467D9FAFC3B4BFd003247cEaA2F17e5b",DelayedOrder:"0x2326BB21B769D81E134C9b305ca156f989249fE7",FlatcoinVault:"0x29fAD9d44C550e5D8081AB35763797B39d75b858",COLLATERAL:"0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f",StableModule:"0xcD3657cB0E851b6a734c4D1e7FC2640Bcd9f6B2d"},$),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"}],be=[{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"mint",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,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:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{inputs:[],payable:!1,stateMutability:"nonpayable",type:"constructor"},{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:!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"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"}],fe=[{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"}],we={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"}]},ve=[{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"}],xe=[{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"}],he=[{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:"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"}],Me=[{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"}],ge=[{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"}],ke=[{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"}],Ae=[{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 IVelodromeNonfungiblePositionManager.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:[{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 IVelodromeNonfungiblePositionManager.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:[{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 IVelodromeNonfungiblePositionManager.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:[{components:[{internalType:"address",name:"token0",type:"address"},{internalType:"address",name:"token1",type:"address"},{internalType:"int24",name:"tickSpacing",type:"int24"},{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:"uint160",name:"sqrtPriceX96",type:"uint160"}],internalType:"struct IVelodromeNonfungiblePositionManager.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:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",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:"int24",name:"tickSpacing",type:"int24"},{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:[{internalType:"address",name:"_owner",type:"address"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_tokenDescriptor",type:"address"}],name:"setTokenDescriptor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"tokenDescriptor",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"}],De=[{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"},{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 IRamsesNonfungiblePositionManager.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:[{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 IRamsesNonfungiblePositionManager.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"},{internalType:"address[]",name:"tokens",type:"address[]"}],name:"getReward",outputs:[],stateMutability:"nonpayable",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 IRamsesNonfungiblePositionManager.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:[{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:"uint256",name:"veRamTokenId",type:"uint256"}],internalType:"struct IRamsesNonfungiblePositionManager.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:"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:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}],Ie=[{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:"uint256",name:"amountSharesMin",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:"uint256",name:"tokenId",type:"uint256"},{internalType:"address",name:"to",type:"address"}],name:"harvest",outputs:[{internalType:"uint256",name:"reward",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_tokenId",type:"uint256"},{internalType:"address",name:"_to",type:"address"}],name:"withdraw",outputs:[{internalType:"uint256",name:"reward",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes[]",name:"data",type:"bytes[]"}],name:"multicall",outputs:[{internalType:"bytes[]",name:"results",type:"bytes[]"}],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"}],Ce=function(){var e=l(te.mark((function e(t){return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.signer.provider.getBlock("latest");case 2:return e.abrupt("return",e.sent.timestamp+1200);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();function Ee(e,t,n,a){var p,u=function(e,t,n){var a,r=n.split("."),p=r[0],u=r[1],y=null!=(a=null==u?void 0:u.length)?a:0,o=s.BigInt((null!=p?p:"")+(null!=u?u:""));return new i.Price(e,t,s.multiply(s.BigInt(Math.pow(10,y)),s.BigInt(Math.pow(10,e.decimals))),s.multiply(o,s.BigInt(Math.pow(10,t.decimals))))}(e,t,a),y=r.encodeSqrtRatioX96(u.numerator,u.denominator);return p=s.greaterThanOrEqual(y,r.TickMath.MAX_SQRT_RATIO)?r.TickMath.MAX_TICK:s.lessThanOrEqual(y,r.TickMath.MIN_SQRT_RATIO)?r.TickMath.MIN_TICK:r.priceToClosestTick(u),r.nearestUsableTick(p,r.TICK_SPACINGS[n])}function Se(e,t,n,a,i,r,s,p,u,y,o){return Pe.apply(this,arguments)}function Pe(){return(Pe=l(te.mark((function e(n,a,r,s,p,u,y,o,d,l,m){var c,T,b,f,w,v,x,h,M,g,k,A,D,I,O;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return c=0,T=0,b=oe[a.network],e.next=5,Promise.all([r,s].map((function(e){return a.utils.getDecimals(e)})));case 5:return w=new i.Token(b,r,(f=e.sent)[0]),v=new i.Token(b,s,f[1]),x=w.sortsBefore(v)?[w,v]:[v,w],M=x[1],g=!w.equals(h=x[0]),y&&o?(c=g?Ee(M,h,m,o.toString()):Ee(h,M,m,y.toString()),T=g?Ee(M,h,m,y.toString()):Ee(h,M,m,o.toString())):d&&l&&(c=d,T=l),A=(k=g?[u,p]:[p,u])[0],D=k[1],e.t0=h.address,e.t1=M.address,e.t2=m,e.t3=c,e.t4=T,e.t5=A,e.t6=D,e.t7=a.address,e.next=22,Ce(a);case 22:return e.t8=e.sent,I=[e.t0,e.t1,e.t2,e.t3,e.t4,e.t5,e.t6,"0","0",e.t7,e.t8],O=new t.ethers.utils.Interface(he),n!==exports.Dapp.VELODROMECL&&n!==exports.Dapp.AERODROMECL||(O=new t.ethers.utils.Interface(Ae),I.push(0)),n===exports.Dapp.RAMSESCL&&(O=new t.ethers.utils.Interface(De),I.push(0)),e.abrupt("return",O.encodeFunctionData(exports.Transaction.MINT,[I]));case 29:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Re(e,t,n){return Fe.apply(this,arguments)}function Fe(){return(Fe=l(te.mark((function e(n,a,i){var r;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new t.ethers.Contract(ye[i.network][n],he,i.signer),e.next=3,r.positions(a);case 3:return e.abrupt("return",new p(e.sent.liquidity.toString()));case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Le(e,t,n,a,i){return _e.apply(this,arguments)}function _e(){return(_e=l(te.mark((function e(n,a,i,r,s){var p,u,y;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a!==exports.Dapp.UNISWAPV3&&a!==exports.Dapp.VELODROMECL&&a!==exports.Dapp.AERODROMECL&&a!==exports.Dapp.RAMSESCL&&a!==exports.Dapp.PANCAKECL){e.next=15;break}return u=new t.ethers.utils.Interface(he),e.t0=u,e.t1=exports.Transaction.INCREASE_LIQUIDITY,e.t2=i,e.t3=r,e.t4=s,e.next=9,Ce(n);case 9:e.t5=e.sent,e.t6=[e.t2,e.t3,e.t4,0,0,e.t5],e.t7=[e.t6],p=e.t0.encodeFunctionData.call(e.t0,e.t1,e.t7),e.next=21;break;case 15:if(a!==exports.Dapp.ARRAKIS){e.next=20;break}y=new t.ethers.utils.Interface(Ie),p=y.encodeFunctionData(exports.Transaction.ADD_LIQUIDITY_STAKE,[i,r,s,0,0,0,n.address]),e.next=21;break;case 20:throw new Error("dapp not supported");case 21:return e.abrupt("return",p);case 22:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Be(e,t,n,a,i){return Ne.apply(this,arguments)}function Ne(){return(Ne=l(te.mark((function e(n,a,i,r,s){var u,y,o,d,l,m,c,T,b,f,w;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===r&&(r=100),a!==exports.Dapp.UNISWAPV3&&a!==exports.Dapp.VELODROMECL&&a!==exports.Dapp.AERODROMECL&&a!==exports.Dapp.RAMSESCL&&a!==exports.Dapp.PANCAKECL){e.next=23;break}return y=new t.ethers.utils.Interface(he),e.next=5,Re(a,i,n);case 5:return o=e.sent.times(r).div(100),e.t0=y,e.t1=exports.Transaction.DECREASE_LIQUIDITY,e.t2=i,e.t3=o.toFixed(0),e.next=12,Ce(n);case 12:e.t4=e.sent,e.t5=[e.t2,e.t3,0,0,e.t4],e.t6=[e.t5],d=e.t0.encodeFunctionData.call(e.t0,e.t1,e.t6),l=y.encodeFunctionData(exports.Transaction.COLLECT,[[i,n.address,me,me]]),m=[d,l],s&&a===exports.Dapp.PANCAKECL&&(c=new t.ethers.utils.Interface(Oe),T=c.encodeFunctionData(exports.Transaction.HARVEST,[i,n.address]),m.unshift(T)),100===r&&(b=y.encodeFunctionData(exports.Transaction.BURN,[i]),m.push(b)),u=y.encodeFunctionData(exports.Transaction.MULTI_CALL,[m]),e.next=34;break;case 23:if(a!==exports.Dapp.ARRAKIS){e.next=33;break}return f=new t.ethers.utils.Interface(Ie),e.t7=p,e.next=28,n.utils.getBalance(i,n.address);case 28:e.t8=e.sent.toString(),w=new e.t7(e.t8).times(r).div(100),u=f.encodeFunctionData(exports.Transaction.REMOVE_LIQUIDITY_UNSTAKE,[i,w,0,0,n.address]),e.next=34;break;case 33:throw new Error("dapp not supported");case 34:return e.abrupt("return",u);case 35:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var Ve=[{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"}],qe=[{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 Ue(e,t,n,a,i,r){return We.apply(this,arguments)}function We(){return(We=l(te.mark((function e(n,a,i,r,s,p){var u,y,o,d;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u=new t.ethers.Contract("0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6",qe,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(Ve),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 Ge=[{anonymous:!1,inputs:[{components:[{internalType:"address",name:"toWhitelist",type:"address"},{internalType:"bool",name:"whitelisted",type:"bool"}],indexed:!1,internalType:"struct EasySwapperV2.WhitelistSetting[]",name:"whitelistSettings",type:"tuple[]"}],name:"AuthorizedWithdrawersSet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"limitOrderVault",type:"address"},{indexed:!0,internalType:"address",name:"depositor",type:"address"}],name:"LimitOrderVaultCreated",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:"proxy",type:"address"}],name:"ProxyCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"withdrawalVault",type:"address"},{indexed:!0,internalType:"address",name:"depositor",type:"address"}],name:"WithdrawalCompleted",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"withdrawalVault",type:"address"},{indexed:!0,internalType:"address",name:"depositor",type:"address"},{indexed:!1,internalType:"address",name:"dHedgeVault",type:"address"},{indexed:!1,internalType:"uint256",name:"amountWithdrawn",type:"uint256"}],name:"WithdrawalInitiated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"withdrawalVault",type:"address"},{indexed:!0,internalType:"address",name:"depositor",type:"address"}],name:"WithdrawalVaultCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"depositor",type:"address"},{indexed:!0,internalType:"address",name:"dHedgeVault",type:"address"},{indexed:!1,internalType:"contract IERC20",name:"vaultDepositToken",type:"address"},{indexed:!1,internalType:"contract IERC20",name:"userDepositToken",type:"address"},{indexed:!1,internalType:"uint256",name:"amountReceived",type:"uint256"},{indexed:!1,internalType:"uint256",name:"lockupTime",type:"uint256"}],name:"ZapDepositCompleted",type:"event"},{inputs:[],name:"DEFAULT_COOLDOWN",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails[]",name:"srcData",type:"tuple[]"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct IWithdrawalVault.MultiInSingleOutData",name:"_swapData",type:"tuple"},{internalType:"uint256",name:"_expectedDestTokenAmount",type:"uint256"}],name:"completeLimitOrderWithdrawal",outputs:[{internalType:"uint256",name:"destTokenAmount",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"completeLimitOrderWithdrawal",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_user",type:"address"},{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails[]",name:"srcData",type:"tuple[]"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct IWithdrawalVault.MultiInSingleOutData",name:"_swapData",type:"tuple"},{internalType:"uint256",name:"_expectedDestTokenAmount",type:"uint256"}],name:"completeLimitOrderWithdrawalFor",outputs:[{internalType:"uint256",name:"destTokenAmount",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_user",type:"address"}],name:"completeLimitOrderWithdrawalFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails[]",name:"srcData",type:"tuple[]"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct IWithdrawalVault.MultiInSingleOutData",name:"_swapData",type:"tuple"},{internalType:"uint256",name:"_expectedDestTokenAmount",type:"uint256"}],name:"completeWithdrawal",outputs:[{internalType:"uint256",name:"destTokenAmount",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"completeWithdrawal",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"customCooldown",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"customCooldownDepositsWhitelist",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"dHedgePoolFactory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{internalType:"contract IERC20",name:"_vaultDepositToken",type:"address"},{internalType:"uint256",name:"_depositAmount",type:"uint256"},{internalType:"uint256",name:"_expectedAmountReceived",type:"uint256"}],name:"deposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{internalType:"address",name:"_vaultDepositToken",type:"address"},{internalType:"uint256",name:"_depositAmount",type:"uint256"}],name:"depositQuote",outputs:[{internalType:"uint256",name:"expectedAmountReceived",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{internalType:"contract IERC20",name:"_vaultDepositToken",type:"address"},{internalType:"uint256",name:"_depositAmount",type:"uint256"},{internalType:"uint256",name:"_expectedAmountReceived",type:"uint256"}],name:"depositWithCustomCooldown",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint8",name:"",type:"uint8"}],name:"getLogic",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_depositor",type:"address"}],name:"getTrackedAssets",outputs:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"balance",type:"uint256"}],internalType:"struct IWithdrawalVault.TrackedAsset[]",name:"trackedAssets",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_depositor",type:"address"}],name:"getTrackedAssetsFromLimitOrders",outputs:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"balance",type:"uint256"}],internalType:"struct IWithdrawalVault.TrackedAsset[]",name:"trackedAssets",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_user",type:"address"},{internalType:"address",name:"_dHedgeVault",type:"address"},{internalType:"uint256",name:"_amountIn",type:"uint256"},{components:[{internalType:"address",name:"supportedAsset",type:"address"},{internalType:"bytes",name:"withdrawData",type:"bytes"},{internalType:"uint256",name:"slippageTolerance",type:"uint256"}],internalType:"struct IPoolLogic.ComplexAsset[]",name:"_complexAssetsData",type:"tuple[]"}],name:"initLimitOrderWithdrawalFor",outputs:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"balance",type:"uint256"}],internalType:"struct IWithdrawalVault.TrackedAsset[]",name:"trackedAssets",type:"tuple[]"},{internalType:"address",name:"vault",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{internalType:"uint256",name:"_amountIn",type:"uint256"},{components:[{internalType:"address",name:"supportedAsset",type:"address"},{internalType:"bytes",name:"withdrawData",type:"bytes"},{internalType:"uint256",name:"slippageTolerance",type:"uint256"}],internalType:"struct IPoolLogic.ComplexAsset[]",name:"_complexAssetsData",type:"tuple[]"}],name:"initWithdrawal",outputs:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"balance",type:"uint256"}],internalType:"struct IWithdrawalVault.TrackedAsset[]",name:"trackedAssets",type:"tuple[]"},{internalType:"address",name:"vault",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_vaultLogic",type:"address"},{internalType:"address",name:"_weth",type:"address"},{internalType:"contract IWETH",name:"_wrappedNativeToken",type:"address"},{internalType:"contract ISwapper",name:"_swapper",type:"address"},{internalType:"uint256",name:"_customCooldown",type:"uint256"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"isAuthorizedWithdrawer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"}],name:"isdHedgeVault",outputs:[{internalType:"bool",name:"isVault",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"limitOrderContracts",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{internalType:"uint256",name:"_expectedAmountReceived",type:"uint256"}],name:"nativeDeposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{internalType:"uint256",name:"_expectedAmountReceived",type:"uint256"}],name:"nativeDepositWithCustomCooldown",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_portion",type:"uint256"},{internalType:"address",name:"_to",type:"address"}],name:"partialWithdraw",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"toWhitelist",type:"address"},{internalType:"bool",name:"whitelisted",type:"bool"}],internalType:"struct EasySwapperV2.WhitelistSetting[]",name:"_whitelistSettings",type:"tuple[]"}],name:"setAuthorizedWithdrawers",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_customCooldown",type:"uint256"}],name:"setCustomCooldown",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"toWhitelist",type:"address"},{internalType:"bool",name:"whitelisted",type:"bool"}],internalType:"struct EasySwapperV2.WhitelistSetting[]",name:"_whitelistSettings",type:"tuple[]"}],name:"setCustomCooldownWhitelist",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_vaultLogic",type:"address"}],name:"setLogic",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISwapper",name:"_swapper",type:"address"}],name:"setSwapper",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_dHedgePoolFactory",type:"address"}],name:"setdHedgePoolFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"swapper",outputs:[{internalType:"contract ISwapper",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{internalType:"uint256",name:"_amountIn",type:"uint256"},{components:[{internalType:"address",name:"supportedAsset",type:"address"},{internalType:"bytes",name:"withdrawData",type:"bytes"},{internalType:"uint256",name:"slippageTolerance",type:"uint256"}],internalType:"struct IPoolLogic.ComplexAsset[]",name:"_complexAssetsData",type:"tuple[]"}],name:"unrollAndClaim",outputs:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"balance",type:"uint256"}],internalType:"struct IWithdrawalVault.TrackedAsset[]",name:"",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"withdrawalContracts",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"wrappedNativeToken",outputs:[{internalType:"contract IWETH",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails",name:"srcData",type:"tuple"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct EasySwapperV2.SingleInSingleOutData",name:"_swapData",type:"tuple"},{internalType:"uint256",name:"_expectedAmountReceived",type:"uint256"}],name:"zapDeposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails",name:"srcData",type:"tuple"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct EasySwapperV2.SingleInSingleOutData",name:"_swapData",type:"tuple"},{internalType:"uint256",name:"_expectedAmountReceived",type:"uint256"}],name:"zapDepositWithCustomCooldown",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails",name:"srcData",type:"tuple"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct EasySwapperV2.SingleInSingleOutData",name:"_swapData",type:"tuple"},{internalType:"uint256",name:"_expectedAmountReceived",type:"uint256"}],name:"zapNativeDeposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails",name:"srcData",type:"tuple"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct EasySwapperV2.SingleInSingleOutData",name:"_swapData",type:"tuple"},{internalType:"uint256",name:"_expectedAmountReceived",type:"uint256"}],name:"zapNativeDepositWithCustomCooldown",outputs:[],stateMutability:"payable",type:"function"}];function He(e,t){return Ke.apply(this,arguments)}function Ke(){return(Ke=l(te.mark((function e(t,n){var a;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=new wa(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 ze(e,t){return Ye.apply(this,arguments)}function Ye(){return(Ye=l(te.mark((function e(t,n){var a;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=new wa(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 je(e){return Qe.apply(this,arguments)}function Qe(){return(Qe=l(te.mark((function e(t){var n,a,i,r,s,p;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.fn,i=void 0===(a=t.maxRetries)?3:a,s=void 0===(r=t.delayMs)?1e3:r,p=1;case 2:if(!(p<=i)){e.next=19;break}return e.prev=3,e.next=6,n();case 6:return e.abrupt("return",e.sent);case 9:if(e.prev=9,e.t0=e.catch(3),p!==i){e.next=13;break}throw new Error("Retry failed after "+i+" attempts: "+e.t0);case 13:return console.warn("Retry "+p+"/"+i+" failed, retrying in "+s+"ms",e.t0),e.next=16,new Promise((function(e){return setTimeout(e,s)}));case 16:p++,e.next=2;break;case 19:throw new Error("Unexpected retry failure");case 20:case"end":return e.stop()}}),e,null,[[3,9]])})))).apply(this,arguments)}var Xe=[{inputs:[{internalType:"address",name:"_aaveLendingPool",type:"address"},{internalType:"address",name:"_swapper",type:"address"},{internalType:"address",name:"_onchainSwapRouter",type:"address"},{internalType:"uint256",name:"_mismatchDelta",type:"uint256"},{internalType:"uint256",name:"_mismatchDeltaDenominator",type:"uint256"},{internalType:"uint256",name:"_slippageToleranceDenominator",type:"uint256"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"aaveLendingPool",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_pool",type:"address"},{internalType:"uint256",name:"_poolTokenAmount",type:"uint256"},{internalType:"uint256",name:"_slippageTolerance",type:"uint256"}],name:"calculateSwapDataParams",outputs:[{components:[{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISwapDataConsumingGuard.AssetStructure[]",name:"srcData",type:"tuple[]"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISwapDataConsumingGuard.AssetStructure",name:"dstData",type:"tuple"}],internalType:"struct ISwapDataConsumingGuard.SwapDataParams",name:"swapDataParams",type:"tuple"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"data",type:"bytes32"}],name:"convert32toAddress",outputs:[{internalType:"address",name:"o",type:"address"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"_pool",type:"address"},{internalType:"address",name:"_repayAsset",type:"address"},{internalType:"uint256",name:"_repayAmount",type:"uint256"},{internalType:"uint256",name:"_premium",type:"uint256"},{internalType:"bytes",name:"_params",type:"bytes"}],name:"flashloanProcessing",outputs:[{components:[{internalType:"address",name:"to",type:"address"},{internalType:"bytes",name:"txData",type:"bytes"}],internalType:"struct IAssetGuard.MultiTransaction[]",name:"transactions",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"data",type:"bytes"},{internalType:"uint8",name:"inputNum",type:"uint8"},{internalType:"uint8",name:"arrayIndex",type:"uint8"}],name:"getArrayIndex",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"data",type:"bytes"},{internalType:"uint8",name:"inputNum",type:"uint8"}],name:"getArrayLast",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"data",type:"bytes"},{internalType:"uint8",name:"inputNum",type:"uint8"}],name:"getArrayLength",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"_pool",type:"address"},{internalType:"address",name:"",type:"address"}],name:"getBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"data",type:"bytes"},{internalType:"uint8",name:"inputNum",type:"uint8"},{internalType:"uint256",name:"offset",type:"uint256"}],name:"getBytes",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"getDecimals",outputs:[{internalType:"uint256",name:"decimals",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"data",type:"bytes"},{internalType:"uint8",name:"inputNum",type:"uint8"}],name:"getInput",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"data",type:"bytes"}],name:"getMethod",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"data",type:"bytes"}],name:"getParams",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"pure",type:"function"},{inputs:[],name:"onchainSwapRouter",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"data",type:"bytes"},{internalType:"uint256",name:"offset",type:"uint256"},{internalType:"uint256",name:"length",type:"uint256"}],name:"read32",outputs:[{internalType:"bytes32",name:"o",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"data",type:"bytes"},{internalType:"uint256",name:"offset",type:"uint256"}],name:"read4left",outputs:[{internalType:"bytes4",name:"o",type:"bytes4"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"_pool",type:"address"},{internalType:"address",name:"",type:"address"}],name:"removeAssetCheck",outputs:[],stateMutability:"view",type:"function"},{inputs:[],name:"swapper",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes",name:"",type:"bytes"}],name:"txGuard",outputs:[{internalType:"uint16",name:"txType",type:"uint16"},{internalType:"bool",name:"",type:"bool"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"_pool",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"_portion",type:"uint256"},{internalType:"address",name:"_to",type:"address"},{internalType:"bytes",name:"_swapData",type:"bytes"}],name:"withdrawProcessing",outputs:[{internalType:"address",name:"withdrawAsset",type:"address"},{internalType:"uint256",name:"withdrawBalance",type:"uint256"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"bytes",name:"txData",type:"bytes"}],internalType:"struct IAssetGuard.MultiTransaction[]",name:"transactions",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_pool",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"_portion",type:"uint256"},{internalType:"address",name:"_to",type:"address"}],name:"withdrawProcessing",outputs:[{internalType:"address",name:"withdrawAsset",type:"address"},{internalType:"uint256",name:"withdrawBalance",type:"uint256"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"bytes",name:"txData",type:"bytes"}],internalType:"struct IAssetGuard.MultiTransaction[]",name:"transactions",type:"tuple[]"}],stateMutability:"view",type:"function"}],Ze="https://api.odos.xyz/sor";function Je(e,t,n,a,i){return $e.apply(this,arguments)}function $e(){return($e=l(te.mark((function e(t,n,a,i,r){var s,p,y,o;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=0,process.env.ODOS_REFERAL_CODE&&Number(process.env.ODOS_REFERAL_CODE)>0&&(s=Number(process.env.ODOS_REFERAL_CODE)),p={chainId:oe[t.network],inputTokens:[{tokenAddress:n,amount:i.toString()}],outputTokens:[{tokenAddress:a,proportion:1}],slippageLimitPercent:r,userAddr:t.address,referralCode:s},e.prev=3,e.next=6,u.post(Ze+"/quote/v2",p);case 6:return y={pathId:e.sent.data.pathId,userAddr:t.address},e.next=10,u.post(Ze+"/assemble",y);case 10:return e.abrupt("return",{swapTxData:(o=e.sent).data.transaction.data,minAmountOut:o.data.outputTokens[0].amount});case 14:throw e.prev=14,e.t0=e.catch(3),console.error("Error in Odos API request:",e.t0),new xa("Swap api request of Odos failed");case 18:case"end":return e.stop()}}),e,null,[[3,14]])})))).apply(this,arguments)}var et="0x4F754e0F0924afD74980886b0B479Fa1D7C58D0D",tt=function(){var e=l(te.mark((function e(t){var n,a,i,r,s,y,o,d,l;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.srcAsset,a=t.srcAmount,i=t.dstAsset,r=t.chainId,s=t.from,y=t.slippage,o=0,process.env.ODOS_REFERAL_CODE&&Number(process.env.ODOS_REFERAL_CODE)>0&&(o=Number(process.env.ODOS_REFERAL_CODE)),d={chainId:r,inputTokens:[{tokenAddress:n,amount:a}],outputTokens:[{tokenAddress:i,proportion:1}],slippageLimitPercent:new p(y).div(100).toString(),userAddr:s,referralCode:o},e.prev=4,e.next=7,u.post(Ze+"/quote/v2",d);case 7:return l={pathId:e.sent.data.pathId,userAddr:s},e.next=11,u.post(Ze+"/assemble",l);case 11:return e.abrupt("return",e.sent.data.transaction.data);case 15:throw e.prev=15,e.t0=e.catch(4),console.error("Error in Odos API request:",e.t0),new Error("Swap api request of Odos failed");case 19:case"end":return e.stop()}}),e,null,[[4,15]])})));return function(t){return e.apply(this,arguments)}}(),nt=function(){var e=l(te.mark((function e(n,a,i,r){var s,p;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,n.factory.getAssetGuard(se[n.network][exports.Dapp.AAVEV3]);case 2:return s=new t.ethers.Contract(e.sent,Xe,n.signer),e.next=6,s.callStatic.calculateSwapDataParams(a,i,r);case 6:return e.abrupt("return",{offchainSwapNeeded:0!==(p=e.sent).srcData.length,swapDataParams:p});case 8:case"end":return e.stop()}}),e)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),at=function(){var e=l(te.mark((function e(n,a,i){var r,s,p,u,y,o,d,l,m,c;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=a.srcData,s=a.dstData,p=[],u=t.ethers.utils.formatBytes32String("ODOS_V2"),y=te.mark((function e(){var t,a,r;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=(t=d.value).asset,r=t.amount,e.next=3,je({fn:function(){return tt({srcAsset:a,srcAmount:r.toString(),dstAsset:s.asset,chainId:oe[n.network],from:et,receiver:et,slippage:i})},delayMs:1500,maxRetries:7});case 3:p.push([a,r,[u,e.sent]]);case 5:case"end":return e.stop()}}),e)})),o=x(r);case 5:if((d=o()).done){e.next=9;break}return e.delegateYield(y(),"t0",7);case 7:e.next=5;break;case 9:return m=(l=t.ethers.utils.defaultAbiCoder).encode(["tuple(address, uint256, tuple(bytes32, bytes))[]"],[p]),c=l.encode(["tuple(bytes, tuple(address, uint256), uint256)"],[[m,[s.asset,s.amount],i]]),e.abrupt("return",c);case 13:case"end":return e.stop()}}),e)})));return function(t,n,a){return e.apply(this,arguments)}}(),it=function(){var e=l(te.mark((function e(t,n,a,i,r){var s,p,u;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,He(t,n);case 2:return s=e.sent,e.next=5,s.managerLogic.getSupportedAssets();case 5:if(p=e.sent,!r){e.next=8;break}return e.abrupt("return",p.map((function(e){return{supportedAsset:e.asset,withdrawData:"0x",slippageTolerance:150}})));case 8:return u=se[t.network][exports.Dapp.AAVEV3],e.abrupt("return",Promise.all(p.map(function(){var e=l(te.mark((function e(r){var s,p;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r.asset.toLowerCase()!==u.toLowerCase()){e.next=11;break}return e.next=3,nt(t,n,a,i);case 3:if(p=(s=e.sent).swapDataParams,!s.offchainSwapNeeded){e.next=11;break}return e.next=9,at(t,p,i);case 9:return e.abrupt("return",{supportedAsset:r.asset,withdrawData:e.sent,slippageTolerance:i});case 11:return e.abrupt("return",{supportedAsset:r.asset,withdrawData:"0x",slippageTolerance:i});case 12:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())));case 10:case"end":return e.stop()}}),e)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),rt=function(){var e=l(te.mark((function e(n,a,i,r,s){var p,u;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,it(n,a,i,r,s);case 2:return p=e.sent,u=new t.ethers.utils.Interface(Ge),e.abrupt("return",u.encodeFunctionData("initWithdrawal",[a,i,p]));case 5:case"end":return e.stop()}}),e)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}();function st(e,t,n){return pt.apply(this,arguments)}function pt(){return(pt=l(te.mark((function e(t,n,a){var i,r,s,p;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,He(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 ut(e,t,n,a){return yt.apply(this,arguments)}function yt(){return(yt=l(te.mark((function e(n,a,i,r){var s;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=new t.ethers.Contract(se[n.network][exports.Dapp.TOROS],Ge,n.signer),e.next=3,s.depositQuote(a,i,r);case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ot(e,t,n,a,i){return dt.apply(this,arguments)}function dt(){return(dt=l(te.mark((function e(n,a,i,r,s){var p,u,y,o,d,l;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ze(n,a);case 2:if(y=(u=(p=e.sent)?[a,i]:[i,a])[0],o=u[1],d=new t.ethers.utils.Interface(Ge),!p){e.next=9;break}return e.abrupt("return",rt(n,y,r.toString(),100*s,!1));case 9:return e.next=11,st(n,y,o);case 11:if(l=e.sent){e.next=14;break}throw new Error("no deposit assets");case 14:if(l.toLowerCase()===o.toLowerCase()){e.next=16;break}throw new Error("can only trade deposit asset");case 16:return e.next=18,ut(n,y,o,r);case 18:return e.abrupt("return",d.encodeFunctionData("depositWithCustomCooldown",[y,l,r,e.sent.mul(1e4-100*s).div(1e4)]));case 20:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var lt=[{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"}],mt={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 ct(e,t,n){return Tt.apply(this,arguments)}function Tt(){return(Tt=l(te.mark((function e(n,a,i){var r,s,p,u,y;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=a===exports.Dapp.AAVEV3?mt:we,s=new t.ethers.Contract(se[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 bt(e,t,n){return ft.apply(this,arguments)}function ft(){return(ft=l(te.mark((function e(n,a,i){var r,s;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new t.ethers.utils.Interface(lt),e.next=3,ct(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 wt=[{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 vt(e,t,n,a,i,r){return xt.apply(this,arguments)}function xt(){return(xt=l(te.mark((function e(n,a,i,r,s,p){var u;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u=new t.ethers.utils.Interface(wt),e.t0=u,e.t1=exports.Transaction.ADD_LIQUIDITY,e.t2=a,e.t3=i,e.t4=p,e.t5=r,e.t6=s,e.t7=n.address,e.next=11,Ce(n);case 11:return e.t8=e.sent,e.t9=[e.t2,e.t3,e.t4,e.t5,e.t6,"0","0",e.t7,e.t8],e.abrupt("return",e.t0.encodeFunctionData.call(e.t0,e.t1,e.t9));case 14:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ht(e,t,n,a,i){return Mt.apply(this,arguments)}function Mt(){return(Mt=l(te.mark((function e(n,a,i,r,s){var p;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return p=new t.ethers.utils.Interface(wt),e.t0=p,e.t1=exports.Transaction.REMOVE_LIQUIDITY,e.t2=a,e.t3=i,e.t4=s,e.t5=r,e.t6=n.address,e.next=10,Ce(n);case 10:return e.t7=e.sent,e.t8=[e.t2,e.t3,e.t4,e.t5,"0","0",e.t6,e.t7],e.abrupt("return",e.t0.encodeFunctionData.call(e.t0,e.t1,e.t8));case 13:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function gt(e,t,n){return kt.apply(this,arguments)}function kt(){return(kt=l(te.mark((function e(n,a,i){var r;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new t.ethers.Contract(ye[n.network][a],he,n.signer),e.next=3,r.ownerOf(i);case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var At=[{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"}],Dt=[{inputs:[{internalType:"address",name:"user",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_amount",type:"uint256"},{internalType:"address",name:"_recipient",type:"address"}],name:"deposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_amount",type:"uint256"}],name:"deposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_account",type:"address"}],name:"earned",outputs:[{internalType:"uint256",name:"_earned",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_account",type:"address"}],name:"getReward",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"isPool",outputs:[{internalType:"bool",name:"_isPool",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"lastTimeRewardApplicable",outputs:[{internalType:"uint256",name:"_time",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"left",outputs:[{internalType:"uint256",name:"_left",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"notifyRewardAmount",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"rewardPerToken",outputs:[{internalType:"uint256",name:"_rewardPerToken",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"rewardToken",outputs:[{internalType:"address",name:"_token",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"stakingToken",outputs:[{internalType:"address",name:"_pool",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_amount",type:"uint256"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"}],It=[{inputs:[{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"}],name:"decreaseStakedLiquidity",outputs:[{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"deposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getReward",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getReward",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{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"}],name:"increaseStakedLiquidity",outputs:[{internalType:"uint128",name:"liquidity",type:"uint128"},{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"nft",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"}];function Ot(e,t,n,a){return Ct.apply(this,arguments)}function Ct(){return(Ct=l(te.mark((function e(n,a,i,r){var s,p;return te.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)}var Et=function(){var e=l(te.mark((function e(t,n,a){var i,r;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===a&&(a={}),i=null,r=null,e.prev=3,e.next=6,t(n.to,n.txData,a);case 6:i=e.sent,e.next=12;break;case 9:e.prev=9,e.t0=e.catch(3),r=e.t0;case 12:return e.abrupt("return",m({gas:i,gasEstimationError:r},n));case 13:case"end":return e.stop()}}),e,null,[[3,9]])})));return function(t,n,a){return e.apply(this,arguments)}}(),St=function(e){return"boolean"==typeof e},Pt=function(){var e=l(te.mark((function e(t,n,a){var i,r;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i={txData:n[1],to:n[0],minAmountOut:n[3]||null},St(a)||!a.onlyGetTxData){e.next=3;break}return e.abrupt("return",i);case 3:if(r=n[2],t.isDhedge&&(St(a)||!a.useTraderAddressAsFrom)){e.next=16;break}if(!0!==a&&(St(a)||!a.estimateGas)){e.next=11;break}return e.next=8,Et(t.signer.estimateGas,i,r);case 8:return e.abrupt("return",e.sent);case 11:return e.next=13,t.signer.sendTransaction(m({to:i.to,data:i.txData},r));case 13:return e.abrupt("return",e.sent);case 14:e.next=25;break;case 16:if(!0!==a&&(St(a)||!a.estimateGas)){e.next=22;break}return e.next=19,Et(t.poolLogic.estimateGas.execTransaction,i,r);case 19:return e.abrupt("return",e.sent);case 22:return e.next=24,t.poolLogic.execTransaction(i.to,i.txData,r);case 24:return e.abrupt("return",e.sent);case 25:case"end":return e.stop()}}),e)})));return function(t,n,a){return e.apply(this,arguments)}}(),Rt=new t.ethers.utils.Interface(At),Ft=new t.ethers.utils.Interface(Dt);function Lt(e,t){var n=t?Ft:Rt;return n.encodeFunctionData.apply(n,t?["deposit(uint256)",[e]]:["deposit",[e,0]])}function _t(e,t,n){return Bt.apply(this,arguments)}function Bt(){return(Bt=l(te.mark((function e(t,n,a){var i;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!a){e.next=4;break}return e.abrupt("return",Ft.encodeFunctionData("getReward",[t.address]));case 4:return e.next=6,Ot(t.signer,At,[n,"rewardsListLength",[]]);case 6:return i=e.sent,e.next=9,Promise.all(Array.from(Array(i.toNumber()).keys()).map((function(e){return Ot(t.signer,At,[n,"rewards",[e]])})));case 9:return e.abrupt("return",Rt.encodeFunctionData("getReward",[t.address,e.sent]));case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Nt(e){return Vt.apply(this,arguments)}function Vt(){return(Vt=l(te.mark((function e(n){var a;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=new t.ethers.utils.Interface(It),e.abrupt("return",a.encodeFunctionData("getReward(uint256)",[n]));case 2:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function qt(e,t,n){return Ut.apply(this,arguments)}function Ut(){return(Ut=l(te.mark((function e(t,n,i){var r,s;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new a(le[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 Wt(e,t){return Gt.apply(this,arguments)}function Gt(){return(Gt=l(te.mark((function e(t,n){var i;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=new a(le[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 Ht(e,t,n){return Kt.apply(this,arguments)}function Kt(){return(Kt=l(te.mark((function e(t,n,a){return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,qt(t,n,a);case 2:return e.abrupt("return",e.sent.strikes());case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function zt(e,t,n,a){return Yt.apply(this,arguments)}function Yt(){return(Yt=l(te.mark((function e(n,a,i,r){var s;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Ht(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 jt=[{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 Qt(e,t,n){return e?t?0:n?2:3:t?1:4}function Xt(e){return[0,2,3].includes(e)}function Zt(e){return 0===e||1===e}var Jt=[{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 $t(e,t){return en.apply(this,arguments)}function en(){return(en=l(te.mark((function e(n,i){var r,s;return te.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,Jt,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 tn(e,t,n,a){return nn.apply(this,arguments)}function nn(){return(nn=l(te.mark((function e(t,n,a,i){return te.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 an(e,t,n,a,i,r,s,p,u,y){return rn.apply(this,arguments)}function rn(){return(rn=l(te.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,A,D;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,zt(n.network,a,r,s);case 2:return m=(l=e.sent).id,e.next=6,$t(n,a);case 6:return c=e.sent.filter((function(e){return e.strikeId.toNumber()===m&&Xt(e.optionType)===("call"===i)&&1===e.state})),T=c.length>0?c[0].positionId:0,b=Qt("call"===i,"buy"===p,d),f=t.BigNumber.from(u),e.next=13,tn(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&&Zt(c[0].optionType)||"buy"===p&&!Zt(c[0].optionType))&&(b=c[0].optionType,x="closePosition",g=M.sub(o),h=!Zt(c[0].optionType)&&d?v:t.BigNumber.from(0))),A=new t.ethers.utils.Interface(jt),D=A.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",D);case 23:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var sn=[{inputs:[{internalType:"address",name:"account",type:"address"}],name:"accessibleMargin",outputs:[{internalType:"uint256",name:"marginAccessible",type:"uint256"},{internalType:"bool",name:"invalid",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"canLiquidate",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"cancelDelayedOrder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"cancelOffchainDelayedOrder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"priceImpactDelta",type:"uint256"}],name:"closePosition",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"priceImpactDelta",type:"uint256"},{internalType:"bytes32",name:"trackingCode",type:"bytes32"}],name:"closePositionWithTracking",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"delayedOrders",outputs:[{components:[{internalType:"bool",name:"isOffchain",type:"bool"},{internalType:"int128",name:"sizeDelta",type:"int128"},{internalType:"uint128",name:"priceImpactDelta",type:"uint128"},{internalType:"uint128",name:"targetRoundId",type:"uint128"},{internalType:"uint128",name:"commitDeposit",type:"uint128"},{internalType:"uint128",name:"keeperDeposit",type:"uint128"},{internalType:"uint256",name:"executableAtTime",type:"uint256"},{internalType:"uint256",name:"intentionTime",type:"uint256"},{internalType:"bytes32",name:"trackingCode",type:"bytes32"}],internalType:"struct IPerpsV2Market.DelayedOrder",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"int256",name:"sizeDelta",type:"int256"}],name:"fillPrice",outputs:[{internalType:"uint256",name:"price",type:"uint256"},{internalType:"bool",name:"invalid",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"liquidatePosition",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"int256",name:"sizeDelta",type:"int256"},{internalType:"uint256",name:"priceImpactDelta",type:"uint256"}],name:"modifyPosition",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"int256",name:"sizeDelta",type:"int256"},{internalType:"uint256",name:"priceImpactDelta",type:"uint256"},{internalType:"bytes32",name:"trackingCode",type:"bytes32"}],name:"modifyPositionWithTracking",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"int256",name:"sizeDelta",type:"int256"},{internalType:"enum IPerpsV2Market.OrderType",name:"orderType",type:"uint8"}],name:"orderFee",outputs:[{internalType:"uint256",name:"fee",type:"uint256"},{internalType:"bool",name:"invalid",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"positions",outputs:[{components:[{internalType:"uint64",name:"id",type:"uint64"},{internalType:"uint64",name:"lastFundingIndex",type:"uint64"},{internalType:"uint128",name:"margin",type:"uint128"},{internalType:"uint128",name:"lastPrice",type:"uint128"},{internalType:"int128",name:"size",type:"int128"}],internalType:"struct IPerpsV2Market.Position",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"int256",name:"sizeDelta",type:"int256"},{internalType:"uint256",name:"tradePrice",type:"uint256"},{internalType:"enum IPerpsV2Market.OrderType",name:"orderType",type:"uint8"},{internalType:"address",name:"sender",type:"address"}],name:"postTradeDetails",outputs:[{internalType:"uint256",name:"margin",type:"uint256"},{internalType:"int256",name:"size",type:"int256"},{internalType:"uint256",name:"price",type:"uint256"},{internalType:"uint256",name:"liqPrice",type:"uint256"},{internalType:"uint256",name:"fee",type:"uint256"},{internalType:"enum IPerpsV2Market.Status",name:"status",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"remainingMargin",outputs:[{internalType:"uint256",name:"marginRemaining",type:"uint256"},{internalType:"bool",name:"invalid",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"resolver",outputs:[{internalType:"contract IAddressResolver",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"int256",name:"sizeDelta",type:"int256"},{internalType:"uint256",name:"priceImpactDelta",type:"uint256"},{internalType:"uint256",name:"desiredTimeDelta",type:"uint256"}],name:"submitDelayedOrder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"int256",name:"sizeDelta",type:"int256"},{internalType:"uint256",name:"priceImpactDelta",type:"uint256"},{internalType:"uint256",name:"desiredTimeDelta",type:"uint256"},{internalType:"bytes32",name:"trackingCode",type:"bytes32"}],name:"submitDelayedOrderWithTracking",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"int256",name:"sizeDelta",type:"int256"},{internalType:"uint256",name:"priceImpactDelta",type:"uint256"}],name:"submitOffchainDelayedOrder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"int256",name:"sizeDelta",type:"int256"},{internalType:"uint256",name:"priceImpactDelta",type:"uint256"},{internalType:"bytes32",name:"trackingCode",type:"bytes32"}],name:"submitOffchainDelayedOrderWithTracking",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"int256",name:"marginDelta",type:"int256"}],name:"transferMargin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"withdrawAllMargin",outputs:[],stateMutability:"nonpayable",type:"function"}];function pn(e,t,n){return un.apply(this,arguments)}function un(){return(un=l(te.mark((function e(n,a,i){var r,s,p,u;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new t.ethers.Contract(a,sn,i.signer),e.next=3,r.fillPrice(n);case 3:return s=e.sent,p=t.ethers.BigNumber.from(n).lt(0)?995:1005,u=s.price.mul(p).div(1e3),e.abrupt("return",new t.ethers.utils.Interface(sn).encodeFunctionData("submitOffchainDelayedOrderWithTracking",[n,u,t.ethers.utils.formatBytes32String("DHEDGE")]));case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function yn(e){return on.apply(this,arguments)}function on(){return(on=l(te.mark((function e(n){return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new t.ethers.utils.Interface(sn).encodeFunctionData("cancelOffchainDelayedOrder",[n.address]));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function dn(e,t,n,a,i,r){return ln.apply(this,arguments)}function ln(){return(ln=l(te.mark((function e(t,n,a,i,r,s){var p,y,o;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===s&&(s=!1),process.env.ONEINCH_API_KEY){e.next=3;break}throw new Error("ONEINCH_API_KEY not configured in .env file");case 3:return p="https://api.1inch.dev/swap/v6.0/"+oe[t.network]+"/swap",y={src:n,dst:a,amount:i.toString(),from:s?se[t.network].toros:t.address,receiver:s?se[t.network].toros:t.address,slippage:r,disableEstimate:!0,usePermit2:!1},e.prev=6,e.next=9,u.get(p,{headers:{Authorization:"Bearer "+process.env.ONEINCH_API_KEY},params:y});case 9:return e.abrupt("return",{swapTxData:(o=e.sent).data.tx.data,dstAmount:o.data.dstAmount});case 15:throw e.prev=15,e.t0=e.catch(6),new xa("Swap api request of 1inch failed");case 18:case"end":return e.stop()}}),e,null,[[6,15]])})))).apply(this,arguments)}var mn=new t.ethers.utils.Interface([{inputs:[{internalType:"uint256",name:"_amount",type:"uint256"}],name:"createVest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_vestID",type:"uint256"},{internalType:"bool",name:"_ve",type:"bool"}],name:"exitVest",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_user",type:"address"}],name:"usersTotalVests",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"}],name:"vestInfo",outputs:[{components:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"start",type:"uint256"},{internalType:"uint256",name:"maxEnd",type:"uint256"},{internalType:"uint256",name:"vestID",type:"uint256"}],internalType:"struct IXRam.VestPosition[]",name:"",type:"tuple[]"}],stateMutability:"view",type:"function"}]),cn=new t.ethers.utils.Interface(De);function Tn(e){return mn.encodeFunctionData("createVest",[e])}function bn(e,t){return cn.encodeFunctionData("getReward",[e,t])}var fn=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minAmount",type:"uint256"}],name:"AmountTooSmall",type:"error"},{inputs:[{internalType:"uint256",name:"executableTime",type:"uint256"}],name:"ExecutableTimeNotReached",type:"error"},{inputs:[{internalType:"uint256",name:"supplied",type:"uint256"},{internalType:"uint256",name:"accepted",type:"uint256"}],name:"HighSlippage",type:"error"},{inputs:[{internalType:"uint256",name:"fee",type:"uint256"}],name:"InvalidFee",type:"error"},{inputs:[{internalType:"string",name:"variableName",type:"string"}],name:"InvariantViolation",type:"error"},{inputs:[{internalType:"uint256",name:"maxFillPrice",type:"uint256"},{internalType:"uint256",name:"currentPrice",type:"uint256"}],name:"MaxFillPriceTooLow",type:"error"},{inputs:[{internalType:"uint256",name:"minFillPrice",type:"uint256"},{internalType:"uint256",name:"currentPrice",type:"uint256"}],name:"MinFillPriceTooHigh",type:"error"},{inputs:[],name:"ModuleKeyEmpty",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"totalBalance",type:"uint256"},{internalType:"uint256",name:"withdrawAmount",type:"uint256"}],name:"NotEnoughBalanceForWithdraw",type:"error"},{inputs:[{internalType:"int256",name:"marginAmount",type:"int256"},{internalType:"uint256",name:"feeAmount",type:"uint256"}],name:"NotEnoughMarginForFees",type:"error"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"address",name:"msgSender",type:"address"}],name:"NotTokenOwner",type:"error"},{inputs:[{internalType:"address",name:"msgSender",type:"address"}],name:"OnlyOwner",type:"error"},{inputs:[],name:"OrderHasExpired",type:"error"},{inputs:[],name:"OrderHasNotExpired",type:"error"},{inputs:[{internalType:"bytes32",name:"moduleKey",type:"bytes32"}],name:"Paused",type:"error"},{inputs:[],name:"PositionCreatesBadDebt",type:"error"},{inputs:[{internalType:"string",name:"variableName",type:"string"}],name:"ValueNotPositive",type:"error"},{inputs:[{internalType:"uint256",name:"withdrawAmount",type:"uint256"},{internalType:"uint256",name:"keeperFee",type:"uint256"}],name:"WithdrawalTooSmall",type:"error"},{inputs:[{internalType:"string",name:"variableName",type:"string"}],name:"ZeroAddress",type:"error"},{inputs:[{internalType:"string",name:"variableName",type:"string"}],name:"ZeroValue",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{inputs:[],name:"MIN_DEPOSIT",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"MODULE_KEY",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"int256",name:"marginAdjustment",type:"int256"},{internalType:"int256",name:"additionalSizeAdjustment",type:"int256"},{internalType:"uint256",name:"fillPrice",type:"uint256"},{internalType:"uint256",name:"keeperFee",type:"uint256"}],name:"announceLeverageAdjust",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint256",name:"minFillPrice",type:"uint256"},{internalType:"uint256",name:"keeperFee",type:"uint256"}],name:"announceLeverageClose",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"margin",type:"uint256"},{internalType:"uint256",name:"additionalSize",type:"uint256"},{internalType:"uint256",name:"maxFillPrice",type:"uint256"},{internalType:"uint256",name:"keeperFee",type:"uint256"}],name:"announceLeverageOpen",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"depositAmount",type:"uint256"},{internalType:"uint256",name:"minAmountOut",type:"uint256"},{internalType:"uint256",name:"keeperFee",type:"uint256"}],name:"announceStableDeposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"withdrawAmount",type:"uint256"},{internalType:"uint256",name:"minAmountOut",type:"uint256"},{internalType:"uint256",name:"keeperFee",type:"uint256"}],name:"announceStableWithdraw",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"cancelExistingOrder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"bytes[]",name:"priceUpdateData",type:"bytes[]"}],name:"executeOrder",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getAnnouncedOrder",outputs:[{components:[{internalType:"enum FlatcoinStructs.OrderType",name:"orderType",type:"uint8"},{internalType:"uint256",name:"keeperFee",type:"uint256"},{internalType:"uint64",name:"executableAtTime",type:"uint64"},{internalType:"bytes",name:"orderData",type:"bytes"}],internalType:"struct FlatcoinStructs.Order",name:"order",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"hasOrderExpired",outputs:[{internalType:"bool",name:"expired",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IFlatcoinVault",name:"_vault",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IFlatcoinVault",name:"_vault",type:"address"}],name:"setVault",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"vault",outputs:[{internalType:"contract IFlatcoinVault",name:"",type:"address"}],stateMutability:"view",type:"function"}],wn=[{type:"function",name:"cancelExistingOrder",inputs:[{name:"account",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"cancelOrderByModule",inputs:[{name:"account",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"executeLimitOrder",inputs:[{name:"tokenId",type:"uint256",internalType:"uint256"},{name:"priceUpdateData",type:"bytes[]",internalType:"bytes[]"}],outputs:[],stateMutability:"payable"},{type:"function",name:"executeOrder",inputs:[{name:"account",type:"address",internalType:"address"},{name:"priceUpdateData",type:"bytes[]",internalType:"bytes[]"}],outputs:[],stateMutability:"payable"},{type:"function",name:"hasOrderExpired",inputs:[{name:"account",type:"address",internalType:"address"}],outputs:[{name:"expired",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"maxExecutabilityAge",inputs:[],outputs:[{name:"maxExecutabilityAge",type:"uint64",internalType:"uint64"}],stateMutability:"view"}],vn=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minAmount",type:"uint256"}],name:"AmountTooSmall",type:"error"},{inputs:[{internalType:"uint256",name:"supplied",type:"uint256"},{internalType:"uint256",name:"accepted",type:"uint256"}],name:"HighSlippage",type:"error"},{inputs:[{internalType:"uint256",name:"fee",type:"uint256"}],name:"InvalidFee",type:"error"},{inputs:[{internalType:"uint256",name:"skewFraction",type:"uint256"}],name:"MaxSkewReached",type:"error"},{inputs:[],name:"ModuleKeyEmpty",type:"error"},{inputs:[{internalType:"address",name:"msgSender",type:"address"}],name:"OnlyAuthorizedModule",type:"error"},{inputs:[{internalType:"address",name:"msgSender",type:"address"}],name:"OnlyOwner",type:"error"},{inputs:[],name:"PriceImpactDuringFullWithdraw",type:"error"},{inputs:[],name:"PriceImpactDuringWithdraw",type:"error"},{inputs:[{internalType:"string",name:"variableName",type:"string"}],name:"ZeroAddress",type:"error"},{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:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Locked",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:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Unlocked",type:"event"},{inputs:[],name:"MIN_LIQUIDITY",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"MODULE_KEY",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{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:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],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:"_account",type:"address"},{internalType:"uint64",name:"_executableAtTime",type:"uint64"},{components:[{internalType:"uint256",name:"depositAmount",type:"uint256"},{internalType:"uint256",name:"minAmountOut",type:"uint256"}],internalType:"struct FlatcoinStructs.AnnouncedStableDeposit",name:"_announcedDeposit",type:"tuple"}],name:"executeDeposit",outputs:[{internalType:"uint256",name:"_liquidityMinted",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_account",type:"address"},{internalType:"uint64",name:"_executableAtTime",type:"uint64"},{components:[{internalType:"uint256",name:"withdrawAmount",type:"uint256"},{internalType:"uint256",name:"minAmountOut",type:"uint256"}],internalType:"struct FlatcoinStructs.AnnouncedStableWithdraw",name:"_announcedWithdraw",type:"tuple"}],name:"executeWithdraw",outputs:[{internalType:"uint256",name:"_amountOut",type:"uint256"},{internalType:"uint256",name:"_withdrawFee",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_account",type:"address"}],name:"getLockedAmount",outputs:[{internalType:"uint256",name:"_amountLocked",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:"contract IFlatcoinVault",name:"_vault",type:"address"},{internalType:"uint256",name:"_stableWithdrawFee",type:"uint256"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_account",type:"address"},{internalType:"uint256",name:"_amount",type:"uint256"}],name:"lock",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_stableWithdrawFee",type:"uint256"}],name:"setStableWithdrawFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IFlatcoinVault",name:"_vault",type:"address"}],name:"setVault",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint32",name:"_maxAge",type:"uint32"}],name:"stableCollateralPerShare",outputs:[{internalType:"uint256",name:"_collateralPerShare",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"stableCollateralPerShare",outputs:[{internalType:"uint256",name:"_collateralPerShare",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"stableCollateralTotalAfterSettlement",outputs:[{internalType:"uint256",name:"_stableCollateralBalance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"_maxAge",type:"uint32"}],name:"stableCollateralTotalAfterSettlement",outputs:[{internalType:"uint256",name:"_stableCollateralBalance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_depositAmount",type:"uint256"}],name:"stableDepositQuote",outputs:[{internalType:"uint256",name:"_amountOut",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"stableWithdrawFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_withdrawAmount",type:"uint256"}],name:"stableWithdrawQuote",outputs:[{internalType:"uint256",name:"_amountOut",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",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:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_account",type:"address"},{internalType:"uint256",name:"_amount",type:"uint256"}],name:"unlock",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"vault",outputs:[{internalType:"contract IFlatcoinVault",name:"",type:"address"}],stateMutability:"view",type:"function"}],xn=function(e){var n=ce[e.network];if(!n)throw new Error("getStableModuleContract: network of "+e.network+" not supported");return new t.Contract(n.StableModule,vn,e.signer)},hn=function(){var e=l(te.mark((function e(t,n){var a;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=xn(t),e.next=3,a.stableDepositQuote(n.toString());case 3:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),Mn=function(){var e=l(te.mark((function e(t,n){var a;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=xn(t),e.next=3,a.stableWithdrawQuote(n.toString());case 3:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),gn=[{inputs:[{components:[{internalType:"bytes32",name:"moduleKey",type:"bytes32"},{internalType:"address",name:"moduleAddress",type:"address"}],internalType:"struct FlatcoinStructs.AuthorizedModule",name:"_module",type:"tuple"}],name:"addAuthorizedModule",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"bytes32",name:"moduleKey",type:"bytes32"},{internalType:"address",name:"moduleAddress",type:"address"}],internalType:"struct FlatcoinStructs.AuthorizedModule[]",name:"_modules",type:"tuple[]"}],name:"addAuthorizedModules",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"depositAmount",type:"uint256"}],name:"checkCollateralCap",outputs:[],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"additionalSkew",type:"uint256"}],name:"checkSkewMax",outputs:[],stateMutability:"view",type:"function"},{inputs:[],name:"collateral",outputs:[{internalType:"contract IERC20Upgradeable",name:"collateral",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"cumulativeFundingRate",outputs:[{internalType:"int256",name:"cumulativeFundingRate",type:"int256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_tokenId",type:"uint256"}],name:"deletePosition",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getCurrentFundingRate",outputs:[{internalType:"int256",name:"fundingRate",type:"int256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentSkew",outputs:[{internalType:"int256",name:"skew",type:"int256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getGlobalPositions",outputs:[{components:[{internalType:"uint256",name:"marginDepositedTotal",type:"uint256"},{internalType:"uint256",name:"lastPrice",type:"uint256"},{internalType:"uint256",name:"sizeOpenedTotal",type:"uint256"}],internalType:"struct FlatcoinStructs.GlobalPositions",name:"_globalPositions",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_tokenId",type:"uint256"}],name:"getPosition",outputs:[{components:[{internalType:"uint256",name:"lastPrice",type:"uint256"},{internalType:"uint256",name:"marginDeposited",type:"uint256"},{internalType:"uint256",name:"additionalSize",type:"uint256"},{internalType:"int256",name:"entryCumulativeFunding",type:"int256"}],internalType:"struct FlatcoinStructs.Position",name:"position",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[],name:"getVaultSummary",outputs:[{components:[{internalType:"int256",name:"marketSkew",type:"int256"},{internalType:"int256",name:"cumulativeFundingRate",type:"int256"},{internalType:"int256",name:"lastRecomputedFundingRate",type:"int256"},{internalType:"uint64",name:"lastRecomputedFundingTimestamp",type:"uint64"},{internalType:"uint256",name:"stableCollateralTotal",type:"uint256"},{components:[{internalType:"uint256",name:"marginDepositedTotal",type:"uint256"},{internalType:"uint256",name:"lastPrice",type:"uint256"},{internalType:"uint256",name:"sizeOpenedTotal",type:"uint256"}],internalType:"struct FlatcoinStructs.GlobalPositions",name:"globalPositions",type:"tuple"}],internalType:"struct FlatcoinStructs.VaultSummary",name:"_vaultSummary",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_address",type:"address"}],name:"isAuthorizedModule",outputs:[{internalType:"bool",name:"status",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"moduleKey",type:"bytes32"}],name:"isModulePaused",outputs:[{internalType:"bool",name:"paused",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"lastRecomputedFundingRate",outputs:[{internalType:"int256",name:"lastRecomputedFundingRate",type:"int256"}],stateMutability:"view",type:"function"},{inputs:[],name:"lastRecomputedFundingTimestamp",outputs:[{internalType:"uint64",name:"lastRecomputedFundingTimestamp",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[],name:"maxExecutabilityAge",outputs:[{internalType:"uint64",name:"maxExecutabilityAge",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[],name:"maxFundingVelocity",outputs:[{internalType:"uint256",name:"maxFundingVelocity",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"maxVelocitySkew",outputs:[{internalType:"uint256",name:"maxVelocitySkew",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"minExecutabilityAge",outputs:[{internalType:"uint64",name:"minExecutabilityAge",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"_moduleKey",type:"bytes32"}],name:"moduleAddress",outputs:[{internalType:"address",name:"moduleAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"_moduleKey",type:"bytes32"}],name:"removeAuthorizedModule",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"sendCollateral",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"lastPrice",type:"uint256"},{internalType:"uint256",name:"marginDeposited",type:"uint256"},{internalType:"uint256",name:"additionalSize",type:"uint256"},{internalType:"int256",name:"entryCumulativeFunding",type:"int256"}],internalType:"struct FlatcoinStructs.Position",name:"_position",type:"tuple"},{internalType:"uint256",name:"_tokenId",type:"uint256"}],name:"setPosition",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"settleFundingFees",outputs:[{internalType:"int256",name:"fundingFees",type:"int256"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"skewFractionMax",outputs:[{internalType:"uint256",name:"skewFractionMax",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"stableCollateralCap",outputs:[{internalType:"uint256",name:"collateralCap",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"stableCollateralTotal",outputs:[{internalType:"uint256",name:"totalAmount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"price",type:"uint256"},{internalType:"int256",name:"marginDelta",type:"int256"},{internalType:"int256",name:"additionalSizeDelta",type:"int256"}],name:"updateGlobalPositionData",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"int256",name:"_stableCollateralAdjustment",type:"int256"}],name:"updateStableCollateralTotal",outputs:[],stateMutability:"nonpayable",type:"function"}],kn=[{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"ethOracle",type:"address"},{internalType:"address",name:"oracleModule",type:"address"},{internalType:"address",name:"assetToPayWith",type:"address"},{internalType:"uint256",name:"profitMarginUSD",type:"uint256"},{internalType:"uint256",name:"profitMarginPercent",type:"uint256"},{internalType:"uint256",name:"keeperFeeUpperBound",type:"uint256"},{internalType:"uint256",name:"keeperFeeLowerBound",type:"uint256"},{internalType:"uint256",name:"gasUnitsL1",type:"uint256"},{internalType:"uint256",name:"gasUnitsL2",type:"uint256"},{internalType:"uint256",name:"stalenessPeriod",type:"uint256"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"ETHPriceInvalid",type:"error"},{inputs:[],name:"ETHPriceStale",type:"error"},{inputs:[{internalType:"uint256",name:"fee",type:"uint256"}],name:"InvalidFee",type:"error"},{inputs:[],name:"MathOverflowedMulDiv",type:"error"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"OwnableInvalidOwner",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"OwnableUnauthorizedAccount",type:"error"},{inputs:[{internalType:"enum FlatcoinErrors.PriceSource",name:"priceSource",type:"uint8"}],name:"PriceInvalid",type:"error"},{inputs:[{internalType:"enum FlatcoinErrors.PriceSource",name:"priceSource",type:"uint8"}],name:"PriceStale",type:"error"},{inputs:[{internalType:"string",name:"variableName",type:"string"}],name:"ZeroAddress",type:"error"},{inputs:[{internalType:"string",name:"variableName",type:"string"}],name:"ZeroValue",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{inputs:[],name:"MODULE_KEY",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getConfig",outputs:[{internalType:"address",name:"gasPriceOracle",type:"address"},{internalType:"uint256",name:"profitMarginUSD",type:"uint256"},{internalType:"uint256",name:"profitMarginPercent",type:"uint256"},{internalType:"uint256",name:"keeperFeeUpperBound",type:"uint256"},{internalType:"uint256",name:"keeperFeeLowerBound",type:"uint256"},{internalType:"uint256",name:"gasUnitsL1",type:"uint256"},{internalType:"uint256",name:"gasUnitsL2",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getKeeperFee",outputs:[{internalType:"uint256",name:"keeperFeeCollateral",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"baseFee",type:"uint256"}],name:"getKeeperFee",outputs:[{internalType:"uint256",name:"keeperFeeCollateral",type:"uint256"}],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:"gasPriceOracle",type:"address"}],name:"setGasPriceOracle",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"profitMarginUSD",type:"uint256"},{internalType:"uint256",name:"profitMarginPercent",type:"uint256"},{internalType:"uint256",name:"keeperFeeUpperBound",type:"uint256"},{internalType:"uint256",name:"keeperFeeLowerBound",type:"uint256"},{internalType:"uint256",name:"gasUnitsL1",type:"uint256"},{internalType:"uint256",name:"gasUnitsL2",type:"uint256"}],name:"setParameters",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"keeperFeeUpperBound",type:"uint256"},{internalType:"uint256",name:"keeperFeeLowerBound",type:"uint256"}],name:"setParameters",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}],An=function(){var e=l(te.mark((function e(n){var a,i,r,s;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=ce[n.network]){e.next=3;break}throw new Error("getStableModuleContract: network of "+n.network+" not supported");case 3:return i=new t.Contract(a.FlatcoinVault,gn,n.signer),r=t.ethers.utils.formatBytes32String("keeperFee"),e.next=7,i.callStatic.moduleAddress(r);case 7:return s=new t.ethers.Contract(e.sent,kn,n.signer),e.abrupt("return",s);case 10:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),Dn=function(){var e=l(te.mark((function e(n,a){var i,r,s,u;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,An(n);case 2:return i=e.sent,e.next=5,n.signer.provider.send("eth_feeHistory",[1,"latest",[]]);case 5:if(!(r=Number(e.sent.baseFeePerGas[0]))){e.next=13;break}return e.next=10,i["getKeeperFee(uint256)"](new p(r.toString()).times(1.5).toFixed(0));case 10:s=e.sent,e.next=16;break;case 13:return e.next=15,i["getKeeperFee()"]();case 15:s=e.sent;case 16:return e.next=18,In(n,s);case 18:if(u=e.sent,!Number.isFinite(a)||!u.gt(t.ethers.BigNumber.from(a).toString())){e.next=21;break}throw new Error("mintUnitViaFlatMoney: keeperFee too large");case 21:return e.abrupt("return",s);case 22:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),In=function(){var e=l(te.mark((function e(t,n){var a,i,r,s;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=ce[t.network]){e.next=3;break}throw new Error("getKeeperFeeInUsd: network of "+t.network+" not supported");case 3:return e.next=5,t.getComposition();case 5:if((i=e.sent.filter((function(e){return e.asset.toLocaleLowerCase()===a.COLLATERAL.toLocaleLowerCase()})))[0]){e.next=9;break}throw new Error("getKeeperFeeInUsd: required asset not enabled yet");case 9:return r=new p(i[0].rate.toString()).div(1e18),e.next=12,t.utils.getDecimals(a.COLLATERAL);case 12:return s=e.sent,e.abrupt("return",r.times(n.toString()).div(Math.pow(10,s)));case 14:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}();function On(e,n,a){return new t.ethers.utils.Interface(fn).encodeFunctionData("announceStableDeposit",[e,n,a])}function Cn(e,n,a){return new t.ethers.utils.Interface(fn).encodeFunctionData("announceStableWithdraw",[e,n,a])}function En(e){return new t.ethers.utils.Interface(fn).encodeFunctionData("cancelExistingOrder",[e])}function Sn(e){return new t.ethers.utils.Interface(wn).encodeFunctionData("cancelExistingOrder",[e])}function Pn(e,t,n,a,i,r){return Rn.apply(this,arguments)}function Rn(){return(Rn=l(te.mark((function e(t,n,a,i,r,s){var u,y,o,d,l;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===r&&(r=null),void 0===s&&(s={estimateGas:!1}),u=ce[t.network]){e.next=5;break}throw new Error("mintUnitViaFlatMoney: network not supported");case 5:return e.next=7,Dn(t,i);case 7:return y=e.sent,o=new p(n.toString()).minus(y.toString()),e.next=11,hn(t,o.toFixed(0));case 11:return d=new p(e.sent.toString()).times(1-a/100).toFixed(0),e.next=15,On(o.toFixed(0),d,y);case 15:return l=e.sent,e.next=18,Pt(t,[u.DelayedOrder,l,r],s);case 18:return e.abrupt("return",e.sent);case 20:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Fn(e,t,n,a,i,r){return Ln.apply(this,arguments)}function Ln(){return(Ln=l(te.mark((function e(t,n,a,i,r,s){var u,y,o,d;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===r&&(r=null),void 0===s&&(s={estimateGas:!1}),u=ce[t.network]){e.next=5;break}throw new Error("redeemUnitViaFlatMoney: network not supported");case 5:return e.next=7,Dn(t,i);case 7:return y=e.sent,e.next=10,Mn(t,n);case 10:return o=new p(e.sent.toString()).times(1-a/100).minus(y.toString()).toFixed(0),e.next=14,Cn(n,o,y);case 14:return d=e.sent,e.next=17,Pt(t,[u.DelayedOrder,d,r],s);case 17:return e.abrupt("return",e.sent);case 19:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function _n(e,t,n){return Bn.apply(this,arguments)}function Bn(){return(Bn=l(te.mark((function e(t,n,a){var i,r,s;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===n&&(n=null),void 0===a&&(a={estimateGas:!1}),i=ce[t.network]){e.next=5;break}throw new Error("cancelOrderViaFlatMoney: network not supported");case 5:if(r=i.DelayedOrder,s=En(t.address),!i.OrderExecution){e.next=12;break}return r=i.OrderExecution,e.next=11,Sn(t.address);case 11:s=e.sent;case 12:return e.next=14,Pt(t,[r,s,n],m({},St(a)?{estimateGas:a}:a,{useTraderAddressAsFrom:!0}));case 14:return e.abrupt("return",e.sent);case 16:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var Nn=[{inputs:[],name:"baseToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"supply",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"}],Vn=[{inputs:[{internalType:"uint256",name:"assets_",type:"uint256"},{internalType:"address",name:"receiver_",type:"address"}],name:"deposit",outputs:[{internalType:"uint256",name:"shares_",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"shares_",type:"uint256"},{internalType:"address",name:"receiver_",type:"address"},{internalType:"address",name:"owner_",type:"address"}],name:"redeem",outputs:[{internalType:"uint256",name:"assets_",type:"uint256"}],stateMutability:"nonpayable",type:"function"}];function qn(e,t,n,a){return Un.apply(this,arguments)}function Un(){return(Un=l(te.mark((function e(n,a,i,r){return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Hn(n,a);case 2:if(!e.sent){e.next=6;break}return e.abrupt("return",new t.ethers.utils.Interface(Nn).encodeFunctionData("supply",[i,r]));case 6:return e.abrupt("return",new t.ethers.utils.Interface(Vn).encodeFunctionData("deposit",[r,n.address]));case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Wn(e,t,n,a){return Gn.apply(this,arguments)}function Gn(){return(Gn=l(te.mark((function e(n,a,i,r){return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Hn(n,a);case 2:if(!e.sent){e.next=6;break}return e.abrupt("return",new t.ethers.utils.Interface(Nn).encodeFunctionData("withdraw",[i,r]));case 6:return e.abrupt("return",new t.ethers.utils.Interface(Vn).encodeFunctionData("redeem",[r,n.address,n.address]));case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Hn(e,t){return Kn.apply(this,arguments)}function Kn(){return(Kn=l(te.mark((function e(n,a){var i;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=new t.ethers.Contract(a,Nn,n.signer),e.prev=1,e.next=4,i.baseToken();case 4:return e.abrupt("return",!0);case 7:return e.prev=7,e.t0=e.catch(1),e.abrupt("return",!1);case 10:case"end":return e.stop()}}),e,null,[[1,7]])})))).apply(this,arguments)}var zn=[{inputs:[{internalType:"address",name:"governor_",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"AlreadyConfigured",type:"error"},{inputs:[],name:"BadData",type:"error"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"InvalidUInt64",type:"error"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"NotPermitted",type:"error"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"NotSupported",type:"error"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"}],name:"TransferOutFailed",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldGovernor",type:"address"},{indexed:!0,internalType:"address",name:"newGovernor",type:"address"}],name:"GovernorTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"src",type:"address"},{indexed:!0,internalType:"address",name:"recipient",type:"address"},{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"RewardClaimed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"comet",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"RewardsClaimedSet",type:"event"},{inputs:[{internalType:"address",name:"comet",type:"address"},{internalType:"address",name:"src",type:"address"},{internalType:"bool",name:"shouldAccrue",type:"bool"}],name:"claim",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"comet",type:"address"},{internalType:"address",name:"src",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"shouldAccrue",type:"bool"}],name:"claimTo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"comet",type:"address"},{internalType:"address",name:"account",type:"address"}],name:"getRewardOwed",outputs:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"owed",type:"uint256"}],internalType:"struct CometRewards.RewardOwed",name:"",type:"tuple"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"governor",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"rewardConfig",outputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint64",name:"rescaleFactor",type:"uint64"},{internalType:"bool",name:"shouldUpscale",type:"bool"},{internalType:"uint256",name:"multiplier",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"rewardsClaimed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"comet",type:"address"},{internalType:"address",name:"token",type:"address"}],name:"setRewardConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"comet",type:"address"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"multiplier",type:"uint256"}],name:"setRewardConfigWithMultiplier",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"comet",type:"address"},{internalType:"address[]",name:"users",type:"address[]"},{internalType:"uint256[]",name:"claimedAmounts",type:"uint256[]"}],name:"setRewardsClaimed",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newGovernor",type:"address"}],name:"transferGovernor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawToken",outputs:[],stateMutability:"nonpayable",type:"function"}];function Yn(e,n){return new t.ethers.utils.Interface(zn).encodeFunctionData("claim",[n,e.address,!0])}var jn=new t.ethers.utils.Interface(he),Qn=new t.ethers.utils.Interface(Oe);function Xn(e,t,n){return jn.encodeFunctionData("safeTransferFrom",[e.address,n,t])}function Zn(e,t){var n=Qn.encodeFunctionData(exports.Transaction.HARVEST,[t,e.address]),a=Qn.encodeFunctionData(exports.Transaction.COLLECT,[[t,e.address,me,me]]);return Qn.encodeFunctionData(exports.Transaction.MULTI_CALL,[[n,a]])}var Jn=[{inputs:[{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"market",type:"address"},{internalType:"uint256",name:"netPtIn",type:"uint256"},{internalType:"uint256",name:"netLpIn",type:"uint256"},{components:[{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint256",name:"minTokenOut",type:"uint256"},{internalType:"address",name:"tokenRedeemSy",type:"address"},{internalType:"address",name:"pendleSwap",type:"address"},{components:[{internalType:"enum SwapType",name:"swapType",type:"uint8"},{internalType:"address",name:"extRouter",type:"address"},{internalType:"bytes",name:"extCalldata",type:"bytes"},{internalType:"bool",name:"needScale",type:"bool"}],internalType:"struct SwapData",name:"swapData",type:"tuple"}],internalType:"struct TokenOutput",name:"output",type:"tuple"}],name:"exitPostExpToToken",outputs:[{internalType:"uint256",name:"totalTokenOut",type:"uint256"},{components:[{internalType:"uint256",name:"netPtFromRemove",type:"uint256"},{internalType:"uint256",name:"netSyFromRemove",type:"uint256"},{internalType:"uint256",name:"netPtRedeem",type:"uint256"},{internalType:"uint256",name:"netSyFromRedeem",type:"uint256"},{internalType:"uint256",name:"totalSyOut",type:"uint256"}],internalType:"struct IPActionMiscV3.ExitPostExpReturnParams",name:"params",type:"tuple"}],stateMutability:"nonpayable",type:"function"}],$n=[{inputs:[],name:"SY",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"}],ea=[{inputs:[],name:"exchangeRate",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}],ta="https://api-v2.pendle.finance/core/v1";function na(e,t,n,a,i){return aa.apply(this,arguments)}function aa(){return(aa=l(te.mark((function e(t,n,a,i,r){var s,p,y,o,d;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,pa(t,n,a);case 2:if(!(s=e.sent)){e.next=8;break}return e.next=6,ua(t,n,a,i,s);case 6:return e.abrupt("return",{swapTxData:(p=e.sent).txData,minAmountOut:p.minAmountOut});case 8:return y={receiver:t.address,tokenIn:n,tokenOut:a,amountIn:i.toString(),slippage:r/100},e.next=11,ra(t,n,a);case 11:return o=e.sent,e.prev=12,e.next=15,u.get(ta+"/sdk/"+oe[t.network]+"/markets/"+o+"/swap",{params:y});case 15:return e.abrupt("return",{swapTxData:(d=e.sent).data.tx.data,minAmountOut:d.data.data.amountOut});case 19:throw e.prev=19,e.t0=e.catch(12),console.error("Error in Pendle API request:",e.t0),new xa("Pendle api request failed");case 23:case"end":return e.stop()}}),e,null,[[12,19]])})))).apply(this,arguments)}var ia=function(e,t,n){if(e.underlyingAsset!==n+"-"+t.toLocaleLowerCase())throw new Error("Can only trade in or out of the underlying asset")};function ra(e,t,n){return sa.apply(this,arguments)}function sa(){return(sa=l(te.mark((function e(t,n,a){var i,r,s,p;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=oe[t.network],e.prev=1,e.next=4,u.get(ta+"/"+i+"/markets/active");case 4:r=e.sent,e.next=11;break;case 7:throw e.prev=7,e.t0=e.catch(1),console.error("Error in Pendle API request:",e.t0),new xa("Pendle api request failed");case 11:if(s=r.data.markets,!(p=[n,a].map((function(e){return s.find((function(t){return t.pt===i+"-"+e.toLocaleLowerCase()}))})))[0]){e.next=18;break}return ia(p[0],a,i),e.abrupt("return",p[0].address);case 18:if(!p[1]){e.next=23;break}return ia(p[1],n,i),e.abrupt("return",p[1].address);case 23:throw new Error("Can only trade PT assets");case 24:case"end":return e.stop()}}),e,null,[[1,7]])})))).apply(this,arguments)}var pa=function(){var e=l(te.mark((function e(t,n,a){var i,r,s,p;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=oe[t.network],e.prev=1,e.next=4,u.get(ta+"/"+i+"/markets/inactive");case 4:r=e.sent,e.next=11;break;case 7:throw e.prev=7,e.t0=e.catch(1),console.error("Error in Pendle API request:",e.t0),new xa("Pendle api request failed");case 11:if(s=r.data.markets,!(p=[n,a].map((function(e){return s.find((function(t){return t.pt===i+"-"+e.toLocaleLowerCase()}))})))[0]){e.next=18;break}return ia(p[0],a,i),e.abrupt("return",p[0].address);case 18:if(!p[1]){e.next=22;break}throw new Error("Can not trade to expired PT asset");case 22:return e.abrupt("return",null);case 23:case"end":return e.stop()}}),e,null,[[1,7]])})));return function(t,n,a){return e.apply(this,arguments)}}(),ua=function(){var e=l(te.mark((function e(n,a,i,r,s){var u,y,o,d,l,m;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u=new t.ethers.utils.Interface(Jn),y=u.encodeFunctionData("exitPostExpToToken",[n.address,s,r.toString(),0,[i,0,i,t.ethers.constants.AddressZero,[0,t.ethers.constants.AddressZero,t.ethers.constants.HashZero,!1]]]),o=new t.ethers.Contract(a,$n,n.signer),e.t0=t.ethers.Contract,e.next=6,o.SY();case 6:return e.t1=e.sent,e.t2=ea,e.t3=n.signer,d=new e.t0(e.t1,e.t2,e.t3),e.next=12,d.exchangeRate();case 12:return l=e.sent,m=new p(r.toString()).times(1e18).div(l.toString()).decimalPlaces(0,p.ROUND_DOWN).toFixed(0),e.abrupt("return",{txData:y,minAmountOut:m});case 15:case"end":return e.stop()}}),e)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),ya=[{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint16",name:"assetType",type:"uint16"},{indexed:!1,internalType:"address",name:"aggregator",type:"address"}],name:"AddedAsset",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:"asset",type:"address"}],name:"RemovedAsset",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"_chainlinkTimeout",type:"uint256"}],name:"SetChainlinkTimeout",type:"event"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint16",name:"assetType",type:"uint16"},{internalType:"address",name:"aggregator",type:"address"}],name:"addAsset",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint16",name:"assetType",type:"uint16"},{internalType:"address",name:"aggregator",type:"address"}],internalType:"struct IAssetHandler.Asset[]",name:"assets",type:"tuple[]"}],name:"addAssets",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"assetTypes",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[],name:"chainlinkTimeout",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getUSDPrice",outputs:[{internalType:"uint256",name:"price",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint16",name:"assetType",type:"uint16"},{internalType:"address",name:"aggregator",type:"address"}],internalType:"struct IAssetHandler.Asset[]",name:"assets",type:"tuple[]"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"priceAggregators",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"removeAsset",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"newTimeoutPeriod",type:"uint256"}],name:"setChainlinkTimeout",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}],oa=function(){var e=l(te.mark((function e(n,a,i,r,s){var p,u,y,o,d;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:p=[],u=t.ethers.utils.formatBytes32String("ODOS_V2"),y=te.mark((function e(){var t,a,s;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=(t=d.value).balance,(a=t.token).toLowerCase()!==i.toLowerCase()){e.next=3;break}return e.abrupt("return","continue");case 3:return e.next=5,je({fn:function(){return tt({srcAsset:a,srcAmount:s.toString(),dstAsset:i,chainId:oe[n.network],from:et,receiver:et,slippage:r})},delayMs:1500,maxRetries:7});case 5:p.push({token:a,amount:s,aggregatorData:{routerKey:u,swapData:e.sent}});case 7:case"end":return e.stop()}}),e)})),o=x(a);case 4:if((d=o()).done){e.next=11;break}return e.delegateYield(y(),"t0",6);case 6:if("continue"!==e.t0){e.next=9;break}return e.abrupt("continue",9);case 9:e.next=4;break;case 11:return e.abrupt("return",{srcData:p,destData:{destToken:i,minDestAmount:s.toString()}});case 12:case"end":return e.stop()}}),e)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),da=function(){var e=l(te.mark((function e(n,a,i){var r,s,u,y,o,d,m,c,T,b;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new t.ethers.Contract(se[n.network][exports.Dapp.TOROS],Ge,n.signer),e.next=3,r.getTrackedAssets(n.address);case 3:if(0!==(s=e.sent).length&&!s.every((function(e){return e.token.toLowerCase()===a.toLowerCase()}))){e.next=6;break}return e.abrupt("return",{isSwapNeeded:!1,swapData:null,estimatedMinReceiveAmount:null});case 6:return u=s.filter((function(e){return e.token.toLowerCase()!==a.toLowerCase()})),e.next=9,n.factory.callStatic.getAssetHandler();case 9:return y=new t.ethers.Contract(e.sent,ya,n.signer),e.t0=p,e.next=14,y.getUSDPrice(a);case 14:return e.t1=e.sent.toString(),o=new e.t0(e.t1),e.next=18,new t.ethers.Contract(a,Te,n.signer);case 18:return d=e.sent,e.next=21,d.decimals();case 21:return m=e.sent,e.next=24,Promise.all(u.map(function(){var e=l(te.mark((function e(a){var r,s,u,d,l,c,T;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=p,e.next=3,y.getUSDPrice(a.token);case 3:return e.t1=e.sent.toString(),r=new e.t0(e.t1),e.next=7,new t.ethers.Contract(a.token,Te,n.signer);case 7:return s=e.sent,e.next=10,s.decimals();case 10:return u=e.sent,d=new p(a.balance.toString()),l=d.times(r).div(Math.pow(10,18)).div(Math.pow(10,Number(u.toString()))),c=l.lte(1)?500:i,T=d.times(r).div(o).div(Math.pow(10,Number(u.toString()))).times(Math.pow(10,Number(m.toString()))).times(1-c/1e4).decimalPlaces(0,p.ROUND_DOWN),e.abrupt("return",{token:a.token,balance:a.balance,estimatedMinReceiveAmount:T});case 16:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 24:return c=e.sent.reduce((function(e,t){return e.plus(t.estimatedMinReceiveAmount)}),new p(0)),e.next=28,r.withdrawalContracts(n.address);case 28:return T=e.sent,e.next=31,d.balanceOf(T);case 31:return b=c.plus(e.sent.toString()),e.next=35,oa(n,u,a,i,b);case 35:return e.abrupt("return",{isSwapNeeded:!0,swapData:e.sent,estimatedMinReceiveAmount:b.toFixed(0)});case 37:case"end":return e.stop()}}),e)})));return function(t,n,a){return e.apply(this,arguments)}}(),la=function(){var e=l(te.mark((function e(n,a,i,r){var s,p,u,y;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,da(n,a,i);case 2:if(p=(s=e.sent).isSwapNeeded,u=!r&&p,y=new t.ethers.utils.Interface(Ge),!u){e.next=10;break}return e.abrupt("return",y.encodeFunctionData("completeWithdrawal(((address,uint256,(bytes32,bytes))[],(address,uint256)),uint256)",[s.swapData,s.estimatedMinReceiveAmount]));case 10:return e.abrupt("return",y.encodeFunctionData("completeWithdrawal()"));case 11:case"end":return e.stop()}}),e)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),ma=function(){function e(e,t,n,a,i,r,s){void 0===s&&(s=!0),this.network=e,this.poolLogic=n,this.address=n.address,this.managerLogic=a,this.signer=t,this.utils=i,this.factory=r,this.isDhedge=s}var n=e.prototype;return n.getComposition=function(){var e=l(te.mark((function e(){var t,n;return te.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=l(te.mark((function e(n,a,i,r){var s;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===i&&(i=null),void 0===r&&(r=!1),s=new t.ethers.Contract(n,Te,this.signer),!r){e.next=7;break}return e.next=6,s.estimateGas.approve(this.address,a,i);case 6:return e.abrupt("return",e.sent);case 7:return e.next=9,s.approve(this.address,a,i);case 9:return e.abrupt("return",e.sent);case 11:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.deposit=function(){var e=l(te.mark((function e(t,n,a,i){return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===a&&(a=null),void 0===i&&(i=!1),!i){e.next=6;break}return e.next=5,this.poolLogic.estimateGas.deposit(t,n,a);case 5:return e.abrupt("return",e.sent);case 6:return e.next=8,this.poolLogic.deposit(t,n,a);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.withdraw=function(){var e=l(te.mark((function e(t,n,a){return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===n&&(n=null),void 0===a&&(a=!1),!a){e.next=6;break}return e.next=5,this.poolLogic.estimateGas.withdraw(t,n);case 5:return e.abrupt("return",e.sent);case 6:return e.next=8,this.poolLogic.withdraw(t,n);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.approve=function(){var e=l(te.mark((function e(n,a,i,r,s){var p,u;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),void 0===s&&(s={estimateGas:!1}),p=new t.ethers.utils.Interface(Te),u=p.encodeFunctionData("approve",[se[this.network][n],i]),e.next=6,Pt(this,[a,u,r],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.approveStaking=function(){var e=l(te.mark((function e(n,a,i,r,s){var p,u;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),void 0===s&&(s={estimateGas:!1}),p=new t.ethers.utils.Interface(Te),u=p.encodeFunctionData("approve",[ue[this.network][n],i]),e.next=6,Pt(this,[a,u,r],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.approveUniswapV3Liquidity=function(){var e=l(te.mark((function e(n,a,i,r){var s,p;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===i&&(i=null),void 0===r&&(r={estimateGas:!1}),s=new t.ethers.utils.Interface(Te),p=s.encodeFunctionData("approve",[ye[this.network][exports.Dapp.UNISWAPV3],a]),e.next=6,Pt(this,[n,p,i],r);case 6:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.approveSpender=function(){var e=l(te.mark((function e(n,a,i,r,s){var p,u;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),void 0===s&&(s={estimateGas:!1}),p=new t.ethers.utils.Interface(Te),u=p.encodeFunctionData("approve",[n,i]),e.next=6,Pt(this,[a,u,r],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.approveSpenderNFT=function(){var e=l(te.mark((function e(n,a,i,r,s){var p,u;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),void 0===s&&(s={estimateGas:!1}),p=new t.ethers.utils.Interface(be),u=p.encodeFunctionData("approve",[n,i]),e.next=6,Pt(this,[a,u,r],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.trade=function(){var e=l(te.mark((function e(n,a,i,r,s,p,u){var y,o,d,l,m,c,T,b,f;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:void 0===s&&(s=.5),void 0===p&&(p=null),void 0===u&&(u={estimateGas:!1}),o=null,e.t0=n,e.next=e.t0===exports.Dapp.ONEINCH?7:e.t0===exports.Dapp.BALANCER?13:e.t0===exports.Dapp.SYNTHETIX?17:e.t0===exports.Dapp.TOROS?24:e.t0===exports.Dapp.ODOS?28:e.t0===exports.Dapp.PENDLE?34:40;break;case 7:return e.next=9,dn(this,a,i,r,s);case 9:return y=(d=e.sent).swapTxData,o=d.dstAmount,e.abrupt("break",55);case 13:return e.next=15,this.utils.getBalancerSwapTx(this,a,i,r,s);case 15:return y=e.sent,e.abrupt("break",55);case 17:return l=new t.ethers.utils.Interface(ve),m=[a,i].map((function(e){return t.ethers.utils.formatBytes32String(e)})),e.next=21,this.factory.owner();case 21:return y=l.encodeFunctionData(exports.Transaction.SWAP_SYNTHS,[m[0],r,m[1],e.sent,"0x4448454447450000000000000000000000000000000000000000000000000000"]),e.abrupt("break",55);case 24:return e.next=26,ot(this,a,i,t.ethers.BigNumber.from(r),s);case 26:return y=e.sent,e.abrupt("break",55);case 28:return e.next=30,Je(this,a,i,r,s);case 30:return y=(c=e.sent).swapTxData,o=c.minAmountOut,e.abrupt("break",55);case 34:return e.next=36,na(this,a,i,r,s);case 36:return y=(T=e.sent).swapTxData,o=T.minAmountOut,e.abrupt("break",55);case 40:return b=new t.ethers.utils.Interface(xe),e.next=43,this.utils.getMinAmountOut(n,a,i,r,s);case 43:return f=e.sent,e.t1=b,e.t2=exports.Transaction.SWAP,e.t3=r,e.t4=f,e.t5=[a,i],e.t6=this.address,e.next=52,Ce(this);case 52:e.t7=e.sent,e.t8=[e.t3,e.t4,e.t5,e.t6,e.t7],y=e.t1.encodeFunctionData.call(e.t1,e.t2,e.t8);case 55:return e.next=57,Pt(this,[se[this.network][n],y,p,o],u);case 57:return e.abrupt("return",e.sent);case 59:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s,p){return e.apply(this,arguments)}}(),n.addLiquidity=function(){var e=l(te.mark((function e(n,a,i,r,s,p,u){var y,o;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===p&&(p=null),void 0===u&&(u={estimateGas:!1}),y=new t.ethers.utils.Interface(xe),e.t0=y,e.t1=exports.Transaction.ADD_LIQUIDITY,e.t2=a,e.t3=i,e.t4=r,e.t5=s,e.t6=this.address,e.next=12,Ce(this);case 12:return e.t7=e.sent,e.t8=[e.t2,e.t3,e.t4,e.t5,0,0,e.t6,e.t7],o=e.t0.encodeFunctionData.call(e.t0,e.t1,e.t8),e.next=17,Pt(this,[se[this.network][n],o,p],u);case 17:return e.abrupt("return",e.sent);case 19:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s,p){return e.apply(this,arguments)}}(),n.removeLiquidity=function(){var e=l(te.mark((function e(n,a,i,r,s,p){var u,y;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===s&&(s=null),void 0===p&&(p={estimateGas:!1}),u=new t.ethers.utils.Interface(xe),e.t0=u,e.t1=exports.Transaction.REMOVE_LIQUIDITY,e.t2=a,e.t3=i,e.t4=r,e.t5=this.address,e.next=11,Ce(this);case 11:return e.t6=e.sent,e.t7=[e.t2,e.t3,e.t4,0,0,e.t5,e.t6],y=e.t0.encodeFunctionData.call(e.t0,e.t1,e.t7),e.next=16,Pt(this,[se[this.network][n],y,s],p);case 16:return e.abrupt("return",e.sent);case 18:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s){return e.apply(this,arguments)}}(),n.stake=function(){var e=l(te.mark((function e(n,a,i,r,s){var p,u;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),void 0===s&&(s={estimateGas:!1}),p=new t.ethers.utils.Interface(fe),e.next=5,this.utils.getLpPoolId(n,a);case 5:return u=p.encodeFunctionData(exports.Transaction.DEPOSIT,[e.sent,i,this.address]),e.next=9,Pt(this,[ue[this.network][n],u,r],s);case 9:return e.abrupt("return",e.sent);case 11:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),n.stakeInGauge=function(){var e=l(te.mark((function e(n,a,i,r,s){var p,u,y;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:void 0===r&&(r=null),void 0===s&&(s={estimateGas:!1}),e.t0=n,e.next=e.t0===exports.Dapp.BALANCER?5:e.t0===exports.Dapp.VELODROME||e.t0===exports.Dapp.RAMSES?8:e.t0===exports.Dapp.VELODROMEV2||e.t0===exports.Dapp.AERODROME||e.t0===exports.Dapp.VELODROMECL||e.t0===exports.Dapp.AERODROMECL?10:e.t0===exports.Dapp.PANCAKECL?12:14;break;case 5:return u=new t.ethers.utils.Interface(ke),p=u.encodeFunctionData("deposit(uint256)",[i]),e.abrupt("break",15);case 8:return p=Lt(i,!1),e.abrupt("break",15);case 10:return p=Lt(i,!0),e.abrupt("break",15);case 12:return p=Xn(this,i.toString(),a),e.abrupt("break",15);case 14:throw new Error("dapp not supported");case 15:return y=n!==exports.Dapp.PANCAKECL?a:ye[this.network][n],e.next=18,Pt(this,[y,p,r],s);case 18:return e.abrupt("return",e.sent);case 20:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),n.unStake=function(){var e=l(te.mark((function e(n,a,i,r,s){var p,u;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),void 0===s&&(s={estimateGas:!1}),p=new t.ethers.utils.Interface(fe),e.next=5,this.utils.getLpPoolId(n,a);case 5:return u=p.encodeFunctionData(exports.Transaction.WITHDRAW,[e.sent,i,this.address]),e.next=9,Pt(this,[ue[this.network][n],u,r],s);case 9:return e.abrupt("return",e.sent);case 11:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),n.unstakeFromGauge=function(){var e=l(te.mark((function e(n,a,i,r){var s,p,u;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===i&&(i=null),void 0===r&&(r={estimateGas:!1}),u=new t.ethers.utils.Interface(ke),n.toLowerCase()===(null==(s=ue[this.network][exports.Dapp.PANCAKECL])?void 0:s.toLowerCase())?(y=a.toString(),p=Qn.encodeFunctionData("withdraw",[y,this.address])):p=u.encodeFunctionData("withdraw(uint256)",[a]),e.next=6,Pt(this,[n,p,i],r);case 6:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}var y}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.lend=function(){var e=l(te.mark((function e(n,a,i,r,s,p){var u,y;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=0),void 0===s&&(s=null),void 0===p&&(p={estimateGas:!1}),u=new t.ethers.utils.Interface(we.abi),y=u.encodeFunctionData(exports.Transaction.DEPOSIT,[a,i,this.address,r]),e.next=7,Pt(this,[se[this.network][n],y,s],p);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.lendCompoundV3=function(){var e=l(te.mark((function e(t,n,a,i,r){var s;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===i&&(i=null),void 0===r&&(r={estimateGas:!1}),e.next=4,qn(this,t,n,a);case 4:return s=e.sent,e.next=7,Pt(this,[t,s,i],r);case 7:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),n.withdrawDeposit=function(){var e=l(te.mark((function e(n,a,i,r,s){var p,u;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),void 0===s&&(s={estimateGas:!1}),p=new t.ethers.utils.Interface(we.abi),u=p.encodeFunctionData(exports.Transaction.WITHDRAW,[a,i,this.address]),e.next=6,Pt(this,[se[this.network][n],u,r],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.withdrawCompoundV3=function(){var e=l(te.mark((function e(t,n,a,i,r){var s;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===i&&(i=null),void 0===r&&(r={estimateGas:!1}),e.next=4,Wn(this,t,n,a);case 4:return s=e.sent,e.next=7,Pt(this,[t,s,i],r);case 7:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),n.borrow=function(){var e=l(te.mark((function e(n,a,i,r,s,p){var u,y;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=0),void 0===s&&(s=null),void 0===p&&(p={estimateGas:!1}),u=new t.ethers.utils.Interface(we.abi),y=u.encodeFunctionData(exports.Transaction.BORROW,[a,i,2,r,this.address]),e.next=7,Pt(this,[se[this.network][n],y,s],p);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.repay=function(){var e=l(te.mark((function e(n,a,i,r,s){var p,u;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),void 0===s&&(s={estimateGas:!1}),p=new t.ethers.utils.Interface(we.abi),u=p.encodeFunctionData(exports.Transaction.REPAY,[a,i,2,this.address]),e.next=6,Pt(this,[se[this.network][n],u,r],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.harvestRewards=function(){var e=l(te.mark((function e(n,a,i,r){var s,p;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===i&&(i=null),void 0===r&&(r={estimateGas:!1}),s=new t.ethers.utils.Interface(fe),e.next=5,this.utils.getLpPoolId(n,a);case 5:return p=s.encodeFunctionData(exports.Transaction.HARVEST,[e.sent,this.address]),e.next=9,Pt(this,[ue[this.network][n],p,i],r);case 9:return e.abrupt("return",e.sent);case 11:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.changeAssets=function(){var e=l(te.mark((function e(t,n,a){var i,r,s,p;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===n&&(n=null),void 0===a&&(a=!1),e.next=4,this.getComposition();case 4:if(i=e.sent.map((function(e){return e.asset.toLocaleLowerCase()})),r=t.map((function(e){return e.asset.toLocaleLowerCase()})),s=i.filter((function(e){return!r.includes(e)})),p=t.map((function(e){return[e.asset,e.isDeposit]})),!a){e.next=13;break}return e.next=12,this.managerLogic.estimateGas.changeAssets(p,s,n);case 12:return e.abrupt("return",e.sent);case 13:return e.next=15,this.managerLogic.changeAssets(p,s,n);case 15:return e.abrupt("return",e.sent);case 17:case"end":return e.stop()}}),e,this)})));return function(t,n,a){return e.apply(this,arguments)}}(),n.setTrader=function(){var e=l(te.mark((function e(t,n,a){return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===n&&(n=null),void 0===a&&(a=!1),!a){e.next=6;break}return e.next=5,this.managerLogic.estimateGas.setTrader(t,n);case 5:return e.abrupt("return",e.sent);case 6:return e.next=8,this.managerLogic.setTrader(t,n);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.setPrivate=function(){var e=l(te.mark((function e(t,n,a){return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===n&&(n=null),void 0===a&&(a=!1),!a){e.next=6;break}return e.next=5,this.managerLogic.estimateGas.setPoolPrivate(t,n);case 5:return e.abrupt("return",e.sent);case 6:return e.next=8,this.managerLogic.setPoolPrivate(t,n);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.joinBalancerPool=function(){var e=l(te.mark((function e(t,n,a,i,r){var s;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===i&&(i=null),void 0===r&&(r={estimateGas:!1}),s=this.utils.getBalancerJoinPoolTx(this,t,n,a),e.next=5,Pt(this,[se[this.network][exports.Dapp.BALANCER],s,i],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.exitBalancerPool=function(){var e=l(te.mark((function e(t,n,a,i,r,s){var p;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===i&&(i=null),void 0===r&&(r=null),void 0===s&&(s={estimateGas:!1}),p=this.utils.getBalancerExitPoolTx(this,t,n,i,a),e.next=6,Pt(this,[se[this.network][exports.Dapp.BALANCER],p,r],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,s){return e.apply(this,arguments)}}(),n.harvestAaveRewards=function(){var e=l(te.mark((function e(n,a,i){var r,s,p,u;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===a&&(a=null),void 0===i&&(i={estimateGas:!1}),r=ue[this.network][exports.Dapp.AAVE],s=new t.ethers.utils.Interface(Me),p=new t.ethers.Contract(r,s,this.signer),e.next=7,p.getUserUnclaimedRewards(this.address);case 7:return u=s.encodeFunctionData(exports.Transaction.CLAIM_REWARDS,[n,e.sent,this.address]),e.next=11,Pt(this,[r,u,a],i);case 11:return e.abrupt("return",e.sent);case 13:case"end":return e.stop()}}),e,this)})));return function(t,n,a){return e.apply(this,arguments)}}(),n.harvestAaveV3Rewards=function(){var e=l(te.mark((function e(t,n,a,i){var r;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===a&&(a=null),void 0===i&&(i={estimateGas:!1}),e.next=4,bt(this,t,n);case 4:return r=e.sent,e.next=7,Pt(this,[ue[this.network][exports.Dapp.AAVEV3],r,a],i);case 7:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.harvestCompoundV3Rewards=function(){var e=l(te.mark((function e(t,n,a){var i;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===n&&(n=null),void 0===a&&(a={estimateGas:!1}),e.next=4,Yn(this,t);case 4:return i=e.sent,e.next=7,Pt(this,[ue[this.network][exports.Dapp.COMPOUNDV3],i,n],a);case 7:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e,this)})));return function(t,n,a){return e.apply(this,arguments)}}(),n.addLiquidityUniswapV3=function(){var e=l(te.mark((function e(t,n,a,i,r,s,p,u,y,o,d,l){var m;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===d&&(d=null),void 0===l&&(l={estimateGas:!1}),null!==s&&null!==p||null!==u&&null!==y){e.next=4;break}throw new Error("Need to provide price or tick range");case 4:if(!s&&!p||t===exports.Dapp.UNISWAPV3){e.next=6;break}throw new Error("no price conversion for Aerodrome/Velodrome CL");case 6:return e.next=8,Se(t,this,n,a,i,r,s,p,u,y,o);case 8:return m=e.sent,e.next=11,Pt(this,[ye[this.network][t],m,d],l);case 11:return e.abrupt("return",e.sent);case 13:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s,p,u,y,o,d,l){return e.apply(this,arguments)}}(),n.decreaseLiquidity=function(){var e=l(te.mark((function e(t,n,a,i,r){var s,p,u,y;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:void 0===a&&(a=100),void 0===i&&(i=null),void 0===r&&(r={estimateGas:!1}),p=!1,e.t0=t,e.next=e.t0===exports.Dapp.UNISWAPV3||e.t0===exports.Dapp.RAMSESCL?7:e.t0===exports.Dapp.VELODROMECL||e.t0===exports.Dapp.AERODROMECL||e.t0===exports.Dapp.PANCAKECL?9:e.t0===exports.Dapp.ARRAKIS?14:16;break;case 7:return s=ye[this.network][t],e.abrupt("break",17);case 9:return e.next=11,gt(this,t,n);case 11:return(y=e.sent).toLowerCase()===this.address.toLowerCase()?s=ye[this.network][t]:(s=y,p=!0),e.abrupt("break",17);case 14:return s=se[this.network][t],e.abrupt("break",17);case 16:throw new Error("dapp not supported");case 17:if(p&&t!==exports.Dapp.PANCAKECL){e.next=23;break}return e.next=20,Be(this,t,n,a,p);case 20:u=e.sent,e.next=24;break;case 23:throw new Error("unsupported decreaseStakedLiquidity: unstake first to decrease lp");case 24:return e.next=26,Pt(this,[s,u,i],r);case 26:return e.abrupt("return",e.sent);case 28:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),n.increaseLiquidity=function(){var e=l(te.mark((function e(t,n,a,i,r,s){var p,u,y,o;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:void 0===r&&(r=null),void 0===s&&(s={estimateGas:!1}),u=!1,e.t0=t,e.next=e.t0===exports.Dapp.UNISWAPV3||e.t0===exports.Dapp.RAMSESCL?6:e.t0===exports.Dapp.VELODROMECL||e.t0===exports.Dapp.AERODROMECL||e.t0===exports.Dapp.PANCAKECL?8:e.t0===exports.Dapp.ARRAKIS?13:15;break;case 6:return p=ye[this.network][t],e.abrupt("break",16);case 8:return e.next=10,gt(this,t,n);case 10:return(o=e.sent).toLowerCase()===this.address.toLowerCase()?p=ye[this.network][t]:(p=o,u=!0),e.abrupt("break",16);case 13:return p=se[this.network][t],e.abrupt("break",16);case 15:throw new Error("dapp not supported");case 16:if(u&&t!==exports.Dapp.PANCAKECL){e.next=22;break}return e.next=19,Le(this,t,n,a,i);case 19:y=e.sent,e.next=23;break;case 22:throw new Error("unsupported increaseStakedLiquidity: unstake first to increase lp");case 23:return e.next=25,Pt(this,[p,y,r],s);case 25:return e.abrupt("return",e.sent);case 27:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s){return e.apply(this,arguments)}}(),n.claimFees=function(){var e=l(te.mark((function e(n,a,i,r){var s,p,u,y,o;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:void 0===i&&(i=null),void 0===r&&(r={estimateGas:!1}),u=new t.ethers.utils.Interface(he),e.t0=n,e.next=e.t0===exports.Dapp.UNISWAPV3||e.t0===exports.Dapp.RAMSESCL?6:e.t0===exports.Dapp.ARRAKIS||e.t0===exports.Dapp.BALANCER?9:e.t0===exports.Dapp.VELODROME||e.t0===exports.Dapp.RAMSES?13:e.t0===exports.Dapp.VELODROMEV2||e.t0===exports.Dapp.AERODROME?16:e.t0===exports.Dapp.VELODROMECL||e.t0===exports.Dapp.AERODROMECL||e.t0===exports.Dapp.PANCAKECL?19:24;break;case 6:return p=ye[this.network][n],s=u.encodeFunctionData(exports.Transaction.COLLECT,[[a,this.address,me,me]]),e.abrupt("break",25);case 9:return p=a,y=new t.ethers.utils.Interface(ge),s=y.encodeFunctionData("claim_rewards()",[]),e.abrupt("break",25);case 13:return p=a,s=_t(this,a,!1),e.abrupt("break",25);case 16:return p=a,s=_t(this,a,!0),e.abrupt("break",25);case 19:return e.next=21,gt(this,n,a);case 21:return(o=e.sent).toLowerCase()===this.address.toLowerCase()?(p=ye[this.network][n],s=u.encodeFunctionData(exports.Transaction.COLLECT,[[a,this.address,me,me]])):(p=o,s=n===exports.Dapp.PANCAKECL?Zn(this,a):Nt(a)),e.abrupt("break",25);case 24:throw new Error("dapp not supported");case 25:return e.next=27,Pt(this,[p,s,i],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.getRewards=function(){var e=l(te.mark((function e(t,n,a,i,r){return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===i&&(i=null),void 0===r&&(r={estimateGas:!1}),e.next=4,Pt(this,[ye[this.network][t],bn(n,a),i],r);case 4:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),n.tradeUniswapV3=function(){var e=l(te.mark((function e(t,n,a,i,r,s,p){var u;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=.5),void 0===s&&(s=null),void 0===p&&(p={estimateGas:!1}),e.next=5,Ue(this,t,n,a,r,i);case 5:return u=e.sent,e.next=8,Pt(this,[se[this.network][exports.Dapp.UNISWAPV3],u,s],p);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){return e.apply(this,arguments)}}(),n.addLiquidityVelodrome=function(){var e=l(te.mark((function e(t,n,a,i,r,s,p){return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===s&&(s=null),void 0===p&&(p={estimateGas:!1}),e.t0=Pt,e.t1=this,e.t2=se[this.network][exports.Dapp.VELODROME],e.next=7,vt(this,t,n,a,i,r);case 7:return e.t3=e.sent,e.t4=s,e.t5=[e.t2,e.t3,e.t4],e.t6=p,e.next=13,(0,e.t0)(e.t1,e.t5,e.t6);case 13:return e.abrupt("return",e.sent);case 15:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s,p){return e.apply(this,arguments)}}(),n.removeLiquidityVelodrome=function(){var e=l(te.mark((function e(t,n,a,i,r,s){return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),void 0===s&&(s={estimateGas:!1}),e.t0=Pt,e.t1=this,e.t2=se[this.network][exports.Dapp.VELODROME],e.next=7,ht(this,t,n,a,i);case 7:return e.t3=e.sent,e.t4=r,e.t5=[e.t2,e.t3,e.t4],e.t6=s,e.next=13,(0,e.t0)(e.t1,e.t5,e.t6);case 13:return e.abrupt("return",e.sent);case 15:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s){return e.apply(this,arguments)}}(),n.addLiquidityVelodromeV2=function(){var e=l(te.mark((function e(t,n,a,i,r,s,p){return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===s&&(s=null),void 0===p&&(p={estimateGas:!1}),e.t0=Pt,e.t1=this,e.t2=se[this.network][exports.Dapp.VELODROMEV2],e.next=7,vt(this,t,n,a,i,r);case 7:return e.t3=e.sent,e.t4=s,e.t5=[e.t2,e.t3,e.t4],e.t6=p,e.next=13,(0,e.t0)(e.t1,e.t5,e.t6);case 13:return e.abrupt("return",e.sent);case 15:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s,p){return e.apply(this,arguments)}}(),n.removeLiquidityVelodromeV2=function(){var e=l(te.mark((function e(t,n,a,i,r,s){return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),void 0===s&&(s={estimateGas:!1}),e.t0=Pt,e.t1=this,e.t2=se[this.network][exports.Dapp.VELODROMEV2],e.next=7,ht(this,t,n,a,i);case 7:return e.t3=e.sent,e.t4=r,e.t5=[e.t2,e.t3,e.t4],e.t6=s,e.next=13,(0,e.t0)(e.t1,e.t5,e.t6);case 13:return e.abrupt("return",e.sent);case 15:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s){return e.apply(this,arguments)}}(),n.addLiquidityV2=function(){var e=l(te.mark((function e(t,n,a,i,r,s,p,u){return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===p&&(p=null),void 0===u&&(u={estimateGas:!1}),e.t0=Pt,e.t1=this,e.t2=se[this.network][t],e.next=7,vt(this,n,a,i,r,s);case 7:return e.t3=e.sent,e.t4=p,e.t5=[e.t2,e.t3,e.t4],e.t6=u,e.next=13,(0,e.t0)(e.t1,e.t5,e.t6);case 13:return e.abrupt("return",e.sent);case 15:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s,p,u){return e.apply(this,arguments)}}(),n.removeLiquidityV2=function(){var e=l(te.mark((function e(t,n,a,i,r,s,p){return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===s&&(s=null),void 0===p&&(p={estimateGas:!1}),e.t0=Pt,e.t1=this,e.t2=se[this.network][t],e.next=7,ht(this,n,a,i,r);case 7:return e.t3=e.sent,e.t4=s,e.t5=[e.t2,e.t3,e.t4],e.t6=p,e.next=13,(0,e.t0)(e.t1,e.t5,e.t6);case 13:return e.abrupt("return",e.sent);case 15:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s,p){return e.apply(this,arguments)}}(),n.tradeLyraOption=function(){var e=l(te.mark((function e(n,a,i,r,s,p,u,y,o,d,l){var m;return te.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),void 0===l&&(l={estimateGas:!1}),e.next=6,an(this,n,r,a,i,s,p,u,t.BigNumber.from(y),o);case 6:return m=e.sent,e.next=9,Pt(this,[se[this.network][exports.Dapp.LYRA],m,d],l);case 9:return e.abrupt("return",e.sent);case 11:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s,p,u,y,o,d){return e.apply(this,arguments)}}(),n.getLyraPositions=function(){var e=l(te.mark((function e(t){return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,$t(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)}}(),n.changeFuturesMargin=function(){var e=l(te.mark((function e(n,a,i,r){return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===i&&(i=null),void 0===r&&(r={estimateGas:!1}),e.next=4,Pt(this,[n,(s=a,new t.ethers.utils.Interface(sn).encodeFunctionData("transferMargin",[s])),i],r);case 4:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}var s}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.changeFuturesPosition=function(){var e=l(te.mark((function e(t,n,a,i){var r;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===a&&(a=null),void 0===i&&(i={estimateGas:!1}),e.next=4,pn(n,t,this);case 4:return r=e.sent,e.next=7,Pt(this,[t,r,a],i);case 7:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.cancelFuturesOrder=function(){var e=l(te.mark((function e(t,n,a){var i;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===n&&(n=null),void 0===a&&(a={estimateGas:!1}),e.next=4,yn(this);case 4:return i=e.sent,e.next=7,Pt(this,[t,i,n],a);case 7:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e,this)})));return function(t,n,a){return e.apply(this,arguments)}}(),n.mintManagerFee=function(){var e=l(te.mark((function e(t,n){return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===t&&(t=null),void 0===n&&(n=!1),!n){e.next=6;break}return e.next=5,this.poolLogic.estimateGas.mintManagerFee(t);case 5:return e.abrupt("return",e.sent);case 6:return e.next=8,this.poolLogic.mintManagerFee(t);case 8:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}(),n.getAvailableManagerFee=function(){var e=l(te.mark((function e(){return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.poolLogic.availableManagerFee();case 2:return e.abrupt("return",t.BigNumber.from(e.sent));case 4:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),n.vestTokens=function(){var e=l(te.mark((function e(t,n,a,i){var r;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===a&&(a=null),void 0===i&&(i={estimateGas:!1}),e.next=4,Tn(n);case 4:return r=e.sent,e.next=7,Pt(this,[t,r,a],i);case 7:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.exitVestedToken=function(){var e=l(te.mark((function e(t,n,a,i){var r;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===a&&(a=null),void 0===i&&(i={estimateGas:!1}),e.next=4,mn.encodeFunctionData("exitVest",[n,!1]);case 4:return r=e.sent,e.next=7,Pt(this,[t,r,a],i);case 7:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.mintUnitViaFlatMoney=function(){var e=l(te.mark((function e(t,n,a,i,r){return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===n&&(n=.5),void 0===i&&(i=null),void 0===r&&(r={estimateGas:!1}),e.next=5,Pn(this,t,n,a,i,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.redeemUnitViaFlatMoney=function(){var e=l(te.mark((function e(t,n,a,i,r){return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===n&&(n=.5),void 0===i&&(i=null),void 0===r&&(r={estimateGas:!1}),e.next=5,Fn(this,t,n,a,i,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.cancelOrderViaFlatMoney=function(){var e=l(te.mark((function e(t,n){return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===t&&(t=null),void 0===n&&(n=!1),e.next=4,_n(this,t,n);case 4:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}(),n.completeTorosWithdrawal=function(){var e=l(te.mark((function e(t,n,a,i){var r;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===n&&(n=.5),void 0===a&&(a=null),void 0===i&&(i={estimateGas:!1}),e.next=5,la(this,t,100*n,!1);case 5:return r=e.sent,e.next=8,Pt(this,[se[this.network].toros,r,a],i);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)}}(),e}(),ca=[{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"}],Ta=[{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"}],ba=[{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"}],fa=function(){function e(e,t){this.network=e,this.signer=t}var n=e.prototype;return n.getLpReserves=function(){var e=l(te.mark((function e(n,a,i){var r,s,p,u,y;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!pe[this.network][n]){e.next=13;break}return r=new t.Contract(pe[this.network][n],ca,this.signer),e.next=4,r.getPair(a,i);case 4:return s=new t.Contract(e.sent,Ta,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=l(te.mark((function e(n,a){var i,r,s;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!ue[this.network][n]){e.next=15;break}return i=new t.Contract(ue[this.network][n],fe,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=l(te.mark((function e(n,a){var i;return te.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=l(te.mark((function e(n){var a;return te.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=l(te.mark((function e(n,a,i,r,s){var p,u,o,d,l,m,c,T;return te.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 o=e.sent,d=new y.Token(oe[this.network],p,18),l=new y.Token(oe[this.network],u,18),m=new y.Pair(new y.TokenAmount(d,o.assetA.toString()),new y.TokenAmount(l,o.assetB.toString())),c=new y.Route([m],d,l),T=new y.Trade(c,new y.TokenAmount(d,r.toString()),y.TradeType.EXACT_INPUT),e.abrupt("return",t.ethers.BigNumber.from(T.minimumAmountOut(new y.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=l(te.mark((function e(n,a,i,r,s){var p,u,y,d,l,m,c,T,b,f,w;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return p=new o.SOR(this.signer.provider,oe[this.network],de[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=o.SwapTypes.SwapExactIn,e.next=9,p.getSwaps(a,i,u,t.ethers.BigNumber.from(r));case 9:if(d=(y=e.sent).swaps,l=y.tokenAddresses,m=y.returnAmount.mul(1e4-100*s).div(1e4),c=new t.ethers.utils.Interface(ba),1!==d.length){e.next=21;break}return b=c.encodeFunctionData("swap",[[(T=d[0]).poolId,o.SwapTypes.SwapExactIn,l[T.assetInIndex],l[T.assetOutIndex],T.amount,T.userData],[n.address,!1,n.address,!1],m,Math.floor(Date.now()/1e3)+1200]),e.abrupt("return",b);case 21:return f=[],l.forEach((function(e,t){f[t]=e.toLowerCase()===a.toLowerCase()?r.toString():e.toLowerCase()===i.toLowerCase()?m.mul(-1).toString():"0"})),w=c.encodeFunctionData("batchSwap",[o.SwapTypes.SwapExactIn,d,l,[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=l(te.mark((function e(n,a,i,r){var s,p,u,y,o,d;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=new t.ethers.utils.Interface(ba),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=l(te.mark((function e(n,a,i,r,s){var p,u,y,o;return te.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(ba),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=l(te.mark((function e(t){return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Wt(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=l(te.mark((function e(t,n){return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Ht(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=l(te.mark((function e(t,n,a){return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,zt(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=l(te.mark((function e(n,a,i,r){return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,tn(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}(),wa=function(){function e(e,n){this.network=n,this.signer=e,this.factory=new t.Contract(re[n],ne,this.signer),this.utils=new fa(this.network,this.signer)}var n=e.prototype;return n.createPool=function(){var e=l(te.mark((function e(n,a,i,r,s,p){var u,y,o,d;return te.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,ae,this.signer),e.next=15,o.poolManagerLogic();case 15:return d=new t.Contract(e.sent,ie,this.signer),e.abrupt("return",new ma(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=l(te.mark((function e(n,a){var i,r,s;return te.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===a&&(a=!0),i=new t.Contract(n,ae,this.signer),r=n,!a){e.next=7;break}return e.next=6,i.poolManagerLogic();case 6:r=e.sent;case 7:return s=new t.Contract(r,ie,this.signer),e.abrupt("return",new ma(this.network,this.signer,i,s,this.utils,this.factory,a));case 9:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}(),n.validatePool=function(e){return this.factory.isPool(e)},e}(),va="setPrototypeOf"in Object,xa=function(e){var t,n;function a(t){var n;return(n=e.call(this,null!=t?t:"Api request failed")||this).name=n.constructor.name,va&&Object.setPrototypeOf(function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(n),(this instanceof a?this.constructor:void 0).prototype),n}return n=e,(t=a).prototype=Object.create(n.prototype),t.prototype.constructor=t,T(t,n),a}(w(Error));Object.defineProperty(exports,"ethers",{enumerable:!0,get:function(){return t.ethers}}),exports.ApiError=xa,exports.Dhedge=wa,exports.Pool=ma;
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=require("@uniswap/sdk-core"),r=require("@uniswap/v3-sdk"),s=e(require("jsbi")),p=e(require("bignumber.js")),u=e(require("axios"));require("lodash/set"),require("@ethersproject/abi");var y=require("@sushiswap/sdk"),o=require("@balancer-labs/sor");function d(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 l(e){return function(){var t=this,n=arguments;return new Promise((function(a,i){var r=e.apply(t,n);function s(e){d(r,a,i,s,p,"next",e)}function p(e){d(r,a,i,s,p,"throw",e)}s(void 0)}))}}function m(){return(m=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)}function c(e){return(c=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function T(e,t){return(T=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function b(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function f(e,t,n){return(f=b()?Reflect.construct:function(e,t,n){var a=[null];a.push.apply(a,t);var i=new(Function.bind.apply(e,a));return n&&T(i,n.prototype),i}).apply(null,arguments)}function w(e){var t="function"==typeof Map?new Map:void 0;return(w=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return f(e,arguments,c(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),T(n,e)})(e)}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}function x(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return v(e,void 0);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?v(e,void 0):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var h,M,k,g,A,D,I,O,E,C,S,P,R,F,L,_,B,N,V,q,U,W,G,H,K,z,Y,j,Q,X,Z,J,$,ee,te,ne,ae=(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 k(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(g([])));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 k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(h,this),this.reset(!0)}function g(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:A}}function A(){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=g,k.prototype={constructor:k,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:g(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)}}(ne={exports:{}}),ne.exports),ie=[{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:"_performanceFeeNumerator",type:"uint256"},{internalType:"uint256",name:"_managerFeeNumerator",type:"uint256"},{internalType:"uint256",name:"_entryFeeNumerator",type:"uint256"},{internalType:"uint256",name:"_exitFeeNum",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"}],re=[{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:"externalWithdrawProcessed",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:"fee",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:[{internalType:"uint256",name:"fundValue",type:"uint256"}],name:"calculateAvailableManagerFee",outputs:[{internalType:"uint256",name:"fee",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"currentBalance",type:"uint256"},{internalType:"uint256",name:"liquidityMinted",type:"uint256"},{internalType:"uint256",name:"newCooldown",type:"uint256"},{internalType:"uint256",name:"lastCooldown",type:"uint256"},{internalType:"uint256",name:"lastDepositTime",type:"uint256"},{internalType:"uint256",name:"blockTimestamp",type:"uint256"}],name:"calculateCooldown",outputs:[{internalType:"uint256",name:"cooldown",type:"uint256"}],stateMutability:"pure",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:"liquidityMinted",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_recipient",type:"address"},{internalType:"address",name:"_asset",type:"address"},{internalType:"uint256",name:"_amount",type:"uint256"}],name:"depositFor",outputs:[{internalType:"uint256",name:"liquidityMinted",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_recipient",type:"address"},{internalType:"address",name:"_asset",type:"address"},{internalType:"uint256",name:"_amount",type:"uint256"},{internalType:"uint256",name:"_cooldown",type:"uint256"}],name:"depositForWithCustomCooldown",outputs:[{internalType:"uint256",name:"liquidityMinted",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:[{components:[{internalType:"address",name:"to",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],internalType:"struct PoolLogic.TxToExecute[]",name:"txs",type:"tuple[]"}],name:"execTransactions",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:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"}],name:"getExitRemainingCooldown",outputs:[{internalType:"uint256",name:"remaining",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getFundSummary",outputs:[{components:[{internalType:"string",name:"name",type:"string"},{internalType:"uint256",name:"totalSupply",type:"uint256"},{internalType:"uint256",name:"totalFundValue",type:"uint256"},{internalType:"address",name:"manager",type:"address"},{internalType:"string",name:"managerName",type:"string"},{internalType:"uint256",name:"creationTime",type:"uint256"},{internalType:"bool",name:"privatePool",type:"bool"},{internalType:"uint256",name:"performanceFeeNumerator",type:"uint256"},{internalType:"uint256",name:"managerFeeNumerator",type:"uint256"},{internalType:"uint256",name:"managerFeeDenominator",type:"uint256"},{internalType:"uint256",name:"exitFeeNumerator",type:"uint256"},{internalType:"uint256",name:"exitFeeDenominator",type:"uint256"},{internalType:"uint256",name:"entryFeeNumerator",type:"uint256"}],internalType:"struct PoolLogic.FundSummary",name:"",type:"tuple"}],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:[{internalType:"address",name:"",type:"address"}],name:"lastExitCooldown",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"lastFeeMintTime",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"lastWhitelistTransfer",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"managerName",outputs:[{internalType:"string",name:"_managerName",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:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"onERC721Received",outputs:[{internalType:"bytes4",name:"magicSelector",type:"bytes4"}],stateMutability:"nonpayable",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:"price",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenPriceAtLastFeeMint",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenPriceWithoutManagerFee",outputs:[{internalType:"uint256",name:"price",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"},{inputs:[{internalType:"address",name:"_recipient",type:"address"},{internalType:"uint256",name:"_fundTokenAmount",type:"uint256"}],name:"withdrawTo",outputs:[],stateMutability:"nonpayable",type:"function"}],se=[{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"},{inputs:[{internalType:"bool",name:"_privatePool",type:"bool"}],name:"setPoolPrivate",outputs:[],stateMutability:"nonpayable",type:"function"}];(h=exports.Network||(exports.Network={})).POLYGON="polygon",h.OPTIMISM="optimism",h.ARBITRUM="arbitrum",h.BASE="base",h.ETHEREUM="ethereum",h.PLASMA="plasma",(M=exports.Dapp||(exports.Dapp={})).SUSHISWAP="sushiswap",M.AAVE="aave",M.ONEINCH="1inch",M.QUICKSWAP="quickswap",M.BALANCER="balancer",M.UNISWAPV3="uniswapV3",M.SYNTHETIX="synthetix",M.AAVEV3="aavev3",M.ARRAKIS="arrakis",M.TOROS="toros",M.VELODROME="velodrome",M.VELODROMEV2="velodromeV2",M.VELODROMECL="velodromeCL",M.LYRA="lyra",M.RAMSES="ramses",M.AERODROME="aerodrome",M.AERODROMECL="aerodromeCL",M.RAMSESCL="ramsesCL",M.PANCAKECL="pancakeCL",M.COMPOUNDV3="compoundV3",M.ODOS="odos",M.PENDLE="pendle",M.KYBERSWAP="kyberswap",(k=exports.Transaction||(exports.Transaction={})).SWAP="swapExactTokensForTokens",k.ADD_LIQUIDITY="addLiquidity",k.DEPOSIT="deposit",k.HARVEST="harvest",k.CLAIM_DISTRIBIUTIONS="claimDistributions",k.CLAIM_REWARDS="claimRewards",k.REMOVE_LIQUIDITY="removeLiquidity",k.DECREASE_LIQUIDITY="decreaseLiquidity",k.INCREASE_LIQUIDITY="increaseLiquidity",k.COLLECT="collect",k.MULTI_CALL="multicall",k.BORROW="borrow",k.REPAY="repay",k.WITHDRAW="withdraw",k.MINT="mint",k.BURN="burn",k.SWAP_SYNTHS="exchangeWithTracking",k.ADD_LIQUIDITY_STAKE="addLiquidityAndStake",k.REMOVE_LIQUIDITY_UNSTAKE="removeLiquidityAndUnstake",require("dotenv").config();var pe=((g={})[exports.Network.POLYGON]=process.env.STAGING_CONTRACTS?"0xDd87eCdB10cFF7004276AAbAbd30e7a08F69bb53":"0xfdc7b8bFe0DD3513Cc669bB8d601Cb83e2F69cB0",g[exports.Network.OPTIMISM]="0x5e61a079A178f0E5784107a4963baAe0c5a680c6",g[exports.Network.ARBITRUM]="0xfffb5fb14606eb3a548c113026355020ddf27535",g[exports.Network.BASE]="0x49Afe3abCf66CF09Fab86cb1139D8811C8afe56F",g[exports.Network.ETHEREUM]="0x96D33bCF84DdE326014248E2896F79bbb9c13D6d",g[exports.Network.PLASMA]="0xAec4975Fc8ad911464D2948D771488b30F6eEE87",g),ue=((S={})[exports.Network.POLYGON]=((A={})[exports.Dapp.SUSHISWAP]="0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506",A[exports.Dapp.AAVE]="0x8dFf5E27EA6b7AC08EbFdf9eB090F32ee9a30fcf",A[exports.Dapp.AAVEV3]="0x794a61358D6845594F94dc1DB02A252b5b4814aD",A[exports.Dapp.ONEINCH]="0x111111125421ca6dc452d289314280a0f8842a65",A[exports.Dapp.QUICKSWAP]="0xa5E0829CaCEd8fFDD4De3c43696c57F7D7A678ff",A[exports.Dapp.BALANCER]="0xBA12222222228d8Ba445958a75a0704d566BF2C8",A[exports.Dapp.UNISWAPV3]="0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",A[exports.Dapp.ARRAKIS]="0xc73fb100a995b33f9fa181d420f4c8d74506df66",A[exports.Dapp.TOROS]="0x45b90480D6F643dE2f128db091A357C3c90399f2",A[exports.Dapp.ODOS]="0x4e3288c9ca110bcc82bf38f09a7b425c095d92bf",A[exports.Dapp.KYBERSWAP]="0x6131B5fae19EA4f9D964eAc0408E4408b66337b5",A),S[exports.Network.OPTIMISM]=((D={})[exports.Dapp.UNISWAPV3]="0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",D[exports.Dapp.SYNTHETIX]="0x8700dAec35aF8Ff88c16BdF0418774CB3D7599B4",D[exports.Dapp.AAVEV3]="0x794a61358D6845594F94dc1DB02A252b5b4814aD",D[exports.Dapp.ONEINCH]="0x111111125421ca6dc452d289314280a0f8842a65",D[exports.Dapp.TOROS]="0x2Ed1bd7f66e47113672f3870308b5E867C5bb743",D[exports.Dapp.VELODROME]="0x9c12939390052919aF3155f41Bf4160Fd3666A6f",D[exports.Dapp.VELODROMEV2]="0xa062ae8a9c5e11aaa026fc2670b0d65ccc8b2858",D[exports.Dapp.LYRA]="0xCCE7819d65f348c64B7Beb205BA367b3fE33763B",D[exports.Dapp.ARRAKIS]="0x9ce88a56d120300061593eF7AD074A1B710094d5",D[exports.Dapp.ODOS]="0xca423977156bb05b13a2ba3b76bc5419e2fe9680",D[exports.Dapp.PENDLE]="0x888888888889758F76e7103c6CbF23ABbF58F946",D[exports.Dapp.KYBERSWAP]="0x6131B5fae19EA4f9D964eAc0408E4408b66337b5",D),S[exports.Network.ARBITRUM]=((I={})[exports.Dapp.ONEINCH]="0x111111125421ca6dc452d289314280a0f8842a65",I[exports.Dapp.UNISWAPV3]="0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",I[exports.Dapp.AAVEV3]="0x794a61358D6845594F94dc1DB02A252b5b4814aD",I[exports.Dapp.BALANCER]="0xBA12222222228d8Ba445958a75a0704d566BF2C8",I[exports.Dapp.RAMSES]="0xaaa87963efeb6f7e0a2711f397663105acb1805e",I[exports.Dapp.TOROS]="0xA5679C4272A056Bb83f039961fae7D99C48529F5",I[exports.Dapp.ODOS]="0xa669e7A0d4b3e4Fa48af2dE86BD4CD7126Be4e13",I[exports.Dapp.PENDLE]="0x888888888889758F76e7103c6CbF23ABbF58F946",I[exports.Dapp.KYBERSWAP]="0x6131B5fae19EA4f9D964eAc0408E4408b66337b5",I),S[exports.Network.BASE]=((O={})[exports.Dapp.ONEINCH]="0x111111125421ca6dc452d289314280a0f8842a65",O[exports.Dapp.AERODROME]="0xcF77a3Ba9A5CA399B7c97c74d54e5b1Beb874E43",O[exports.Dapp.AAVEV3]="0xA238Dd80C259a72e81d7e4664a9801593F98d1c5",O[exports.Dapp.TOROS]="0xf067575Eb60c7587C11e867907AA7284833704d1",O[exports.Dapp.ODOS]="0x19cEeAd7105607Cd444F5ad10dd51356436095a1",O[exports.Dapp.PENDLE]="0x888888888889758F76e7103c6CbF23ABbF58F946",O[exports.Dapp.KYBERSWAP]="0x6131B5fae19EA4f9D964eAc0408E4408b66337b5",O),S[exports.Network.ETHEREUM]=((E={})[exports.Dapp.AAVEV3]="0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2",E[exports.Dapp.ODOS]="0xCf5540fFFCdC3d510B18bFcA6d2b9987b0772559",E[exports.Dapp.PENDLE]="0x888888888889758F76e7103c6CbF23ABbF58F946",E[exports.Dapp.ONEINCH]="0x111111125421ca6dc452d289314280a0f8842a65",E[exports.Dapp.KYBERSWAP]="0x6131B5fae19EA4f9D964eAc0408E4408b66337b5",E),S[exports.Network.PLASMA]=((C={})[exports.Dapp.AAVEV3]="0x925a2A7214Ed92428B5b1B090F80b25700095e12",C[exports.Dapp.PENDLE]="0x888888888889758F76e7103c6CbF23ABbF58F946",C[exports.Dapp.KYBERSWAP]="0x6131B5fae19EA4f9D964eAc0408E4408b66337b5",C),S),ye=((R={})[exports.Network.POLYGON]=((P={})[exports.Dapp.SUSHISWAP]="0xc35DADB65012eC5796536bD9864eD8773aBc74C4",P[exports.Dapp.QUICKSWAP]="0x5757371414417b8C6CAad45bAeF941aBc7d3Ab32",P),R[exports.Network.OPTIMISM]={},R[exports.Network.ARBITRUM]={},R[exports.Network.BASE]={},R[exports.Network.ETHEREUM]={},R[exports.Network.PLASMA]={},R),oe=((N={})[exports.Network.POLYGON]=((F={})[exports.Dapp.SUSHISWAP]="0x0769fd68dFb93167989C6f7254cd0D766Fb2841F",F[exports.Dapp.BALANCER]="0x0F3e0c4218b7b0108a3643cFe9D3ec0d4F57c54e",F[exports.Dapp.AAVE]="0x357D51124f59836DeD84c8a1730D72B749d8BC23",F[exports.Dapp.AAVEV3]="0x929EC64c34a17401F460460D4B9390518E5B473e",F),N[exports.Network.OPTIMISM]=((L={})[exports.Dapp.AAVEV3]="0x929EC64c34a17401F460460D4B9390518E5B473e",L[exports.Dapp.COMPOUNDV3]="0x443ea0340cb75a160f31a440722dec7b5bc3c2e9",L),N[exports.Network.ARBITRUM]=((_={})[exports.Dapp.COMPOUNDV3]="0x88730d254a2f7e6ac8388c3198afd694ba9f7fae",_[exports.Dapp.PANCAKECL]="0x5e09ACf80C0296740eC5d6F643005a4ef8DaA694",_),N[exports.Network.BASE]=((B={})[exports.Dapp.PANCAKECL]="0xC6A2Db661D5a5690172d8eB0a7DEA2d3008665A3",B),N[exports.Network.ETHEREUM]={},N[exports.Network.PLASMA]={},N),de=((K={})[exports.Network.POLYGON]=((V={})[exports.Dapp.AAVE]="0xd05e3E715d945B59290df0ae8eF85c1BdB684744",V[exports.Dapp.AAVEV3]="0xa97684ead0e402dC232d5A977953DF7ECBaB3CDb",V),K[exports.Network.OPTIMISM]=((q={})[exports.Dapp.AAVEV3]="0xa97684ead0e402dC232d5A977953DF7ECBaB3CDb",q),K[exports.Network.ARBITRUM]=((U={})[exports.Dapp.AAVEV3]="0xa97684ead0e402dc232d5a977953df7ecbab3cdb",U),K[exports.Network.BASE]=((W={})[exports.Dapp.AAVEV3]="0xe20fCBdBfFC4Dd138cE8b2E6FBb6CB49777ad64D",W),K[exports.Network.ETHEREUM]=((G={})[exports.Dapp.AAVEV3]="0x2f39d218133AFaB8F2B819B1066c7E434Ad94E9e",G),K[exports.Network.PLASMA]=((H={})[exports.Dapp.AAVEV3]="0x061D8e131F26512348ee5FA42e2DF1bA9d6505E9",H),(X={})[exports.Network.POLYGON]=((z={})[exports.Dapp.UNISWAPV3]="0xC36442b4a4522E871399CD717aBDD847Ab11FE88",z),X[exports.Network.OPTIMISM]=((Y={})[exports.Dapp.UNISWAPV3]="0xC36442b4a4522E871399CD717aBDD847Ab11FE88",Y[exports.Dapp.VELODROMECL]="0x416b433906b1B72FA758e166e239c43d68dC6F29",Y),X[exports.Network.ARBITRUM]=((j={})[exports.Dapp.UNISWAPV3]="0xC36442b4a4522E871399CD717aBDD847Ab11FE88",j[exports.Dapp.RAMSESCL]="0xAA277CB7914b7e5514946Da92cb9De332Ce610EF",j[exports.Dapp.PANCAKECL]="0x46a15b0b27311cedf172ab29e4f4766fbe7f4364",j),X[exports.Network.BASE]=((Q={})[exports.Dapp.UNISWAPV3]="0x03a520b32C04BF3bEEf7BEb72E919cf822Ed34f1",Q[exports.Dapp.AERODROMECL]="0x827922686190790b37229fd06084350e74485b72",Q[exports.Dapp.PANCAKECL]="0x46A15B0b27311cedF172AB29E4f4766fbE7F4364",Q),X[exports.Network.ETHEREUM]={},X[exports.Network.PLASMA]={},X),le=((Z={})[exports.Network.POLYGON]=137,Z[exports.Network.OPTIMISM]=10,Z[exports.Network.ARBITRUM]=42161,Z[exports.Network.BASE]=8453,Z[exports.Network.ETHEREUM]=1,Z[exports.Network.PLASMA]=9745,Z),me=((J={})[exports.Network.POLYGON]="https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-polygon-v2",J[exports.Network.OPTIMISM]="",J[exports.Network.ARBITRUM]="",J[exports.Network.BASE]="",J[exports.Network.ETHEREUM]="",J[exports.Network.PLASMA]="",J),ce=(($={})[exports.Network.POLYGON]="0x275617327c958bD06b5D6b871E7f491D76113dd8",$[exports.Network.OPTIMISM]="",$[exports.Network.ARBITRUM]="",$[exports.Network.BASE]="",$[exports.Network.ETHEREUM]="",$[exports.Network.PLASMA]="",(ee={})[exports.Network.OPTIMISM]=n.Deployment.Mainnet,ee),Te="0xffffffffffffffffffffffffffffffff",be=((te={})[exports.Network.BASE]={DelayedOrder:"0x6D857e9D24a7566bB72a3FB0847A3E0e4E1c2879",FlatcoinVault:"0x95Fa1ddc9a78273f795e67AbE8f1Cd2Cd39831fF",StableModule:"0xb95fB324b8A2fAF8ec4f76e3dF46C718402736e2",COLLATERAL:"0xb6fe221fe9eef5aba221c348ba20a1bf5e73624c"},te[exports.Network.OPTIMISM]={OrderExecution:"0x7805CB7fb2C2e70FDdF92949065D9Ee1Fc2F72a8",DelayedOrder:"0xd917A0C9B21Bb71DF1209d2c211Ad83004F01554",FlatcoinVault:"0x86C7b9640302082B0dF78023F930d8612bFcaD3f",COLLATERAL:"0x68f180fcCe6836688e9084f035309E29Bf0A2095",StableModule:"0x357CB23571EF7a3d6189b7FAcFC361eA71f7CAB5"},te[exports.Network.ARBITRUM]={OrderExecution:"0x7e50AD6E467D9FAFC3B4BFd003247cEaA2F17e5b",DelayedOrder:"0x2326BB21B769D81E134C9b305ca156f989249fE7",FlatcoinVault:"0x29fAD9d44C550e5D8081AB35763797B39d75b858",COLLATERAL:"0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f",StableModule:"0xcD3657cB0E851b6a734c4D1e7FC2640Bcd9f6B2d"},te),fe=[{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"}],we=[{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"mint",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,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:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{inputs:[],payable:!1,stateMutability:"nonpayable",type:"constructor"},{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:!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"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"}],ve=[{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"}],xe={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"}]},he=[{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"}],Me=[{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"}],ke=[{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:"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"}],ge=[{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"}],Ae=[{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"}],Ie=[{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 IVelodromeNonfungiblePositionManager.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:[{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 IVelodromeNonfungiblePositionManager.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:[{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 IVelodromeNonfungiblePositionManager.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:[{components:[{internalType:"address",name:"token0",type:"address"},{internalType:"address",name:"token1",type:"address"},{internalType:"int24",name:"tickSpacing",type:"int24"},{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:"uint160",name:"sqrtPriceX96",type:"uint160"}],internalType:"struct IVelodromeNonfungiblePositionManager.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:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",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:"int24",name:"tickSpacing",type:"int24"},{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:[{internalType:"address",name:"_owner",type:"address"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_tokenDescriptor",type:"address"}],name:"setTokenDescriptor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"tokenDescriptor",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"}],Oe=[{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"},{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 IRamsesNonfungiblePositionManager.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:[{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 IRamsesNonfungiblePositionManager.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"},{internalType:"address[]",name:"tokens",type:"address[]"}],name:"getReward",outputs:[],stateMutability:"nonpayable",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 IRamsesNonfungiblePositionManager.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:[{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:"uint256",name:"veRamTokenId",type:"uint256"}],internalType:"struct IRamsesNonfungiblePositionManager.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:"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:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}],Ee=[{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:"uint256",name:"amountSharesMin",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"}],Ce=[{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"address",name:"to",type:"address"}],name:"harvest",outputs:[{internalType:"uint256",name:"reward",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_tokenId",type:"uint256"},{internalType:"address",name:"_to",type:"address"}],name:"withdraw",outputs:[{internalType:"uint256",name:"reward",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes[]",name:"data",type:"bytes[]"}],name:"multicall",outputs:[{internalType:"bytes[]",name:"results",type:"bytes[]"}],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"}],Se=function(){var e=l(ae.mark((function e(t){return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.signer.provider.getBlock("latest");case 2:return e.abrupt("return",e.sent.timestamp+1200);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();function Pe(e,t,n,a){var p,u=function(e,t,n){var a,r=n.split("."),p=r[0],u=r[1],y=null!=(a=null==u?void 0:u.length)?a:0,o=s.BigInt((null!=p?p:"")+(null!=u?u:""));return new i.Price(e,t,s.multiply(s.BigInt(Math.pow(10,y)),s.BigInt(Math.pow(10,e.decimals))),s.multiply(o,s.BigInt(Math.pow(10,t.decimals))))}(e,t,a),y=r.encodeSqrtRatioX96(u.numerator,u.denominator);return p=s.greaterThanOrEqual(y,r.TickMath.MAX_SQRT_RATIO)?r.TickMath.MAX_TICK:s.lessThanOrEqual(y,r.TickMath.MIN_SQRT_RATIO)?r.TickMath.MIN_TICK:r.priceToClosestTick(u),r.nearestUsableTick(p,r.TICK_SPACINGS[n])}function Re(e,t,n,a,i,r,s,p,u,y,o){return Fe.apply(this,arguments)}function Fe(){return(Fe=l(ae.mark((function e(n,a,r,s,p,u,y,o,d,l,m){var c,T,b,f,w,v,x,h,M,k,g,A,D,I,O;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return c=0,T=0,b=le[a.network],e.next=5,Promise.all([r,s].map((function(e){return a.utils.getDecimals(e)})));case 5:return w=new i.Token(b,r,(f=e.sent)[0]),v=new i.Token(b,s,f[1]),x=w.sortsBefore(v)?[w,v]:[v,w],M=x[1],k=!w.equals(h=x[0]),y&&o?(c=k?Pe(M,h,m,o.toString()):Pe(h,M,m,y.toString()),T=k?Pe(M,h,m,y.toString()):Pe(h,M,m,o.toString())):d&&l&&(c=d,T=l),A=(g=k?[u,p]:[p,u])[0],D=g[1],e.t0=h.address,e.t1=M.address,e.t2=m,e.t3=c,e.t4=T,e.t5=A,e.t6=D,e.t7=a.address,e.next=22,Se(a);case 22:return e.t8=e.sent,I=[e.t0,e.t1,e.t2,e.t3,e.t4,e.t5,e.t6,"0","0",e.t7,e.t8],O=new t.ethers.utils.Interface(ke),n!==exports.Dapp.VELODROMECL&&n!==exports.Dapp.AERODROMECL||(O=new t.ethers.utils.Interface(Ie),I.push(0)),n===exports.Dapp.RAMSESCL&&(O=new t.ethers.utils.Interface(Oe),I.push(0)),e.abrupt("return",O.encodeFunctionData(exports.Transaction.MINT,[I]));case 29:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Le(e,t,n){return _e.apply(this,arguments)}function _e(){return(_e=l(ae.mark((function e(n,a,i){var r;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new t.ethers.Contract(de[i.network][n],ke,i.signer),e.next=3,r.positions(a);case 3:return e.abrupt("return",new p(e.sent.liquidity.toString()));case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Be(e,t,n,a,i){return Ne.apply(this,arguments)}function Ne(){return(Ne=l(ae.mark((function e(n,a,i,r,s){var p,u,y;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a!==exports.Dapp.UNISWAPV3&&a!==exports.Dapp.VELODROMECL&&a!==exports.Dapp.AERODROMECL&&a!==exports.Dapp.RAMSESCL&&a!==exports.Dapp.PANCAKECL){e.next=15;break}return u=new t.ethers.utils.Interface(ke),e.t0=u,e.t1=exports.Transaction.INCREASE_LIQUIDITY,e.t2=i,e.t3=r,e.t4=s,e.next=9,Se(n);case 9:e.t5=e.sent,e.t6=[e.t2,e.t3,e.t4,0,0,e.t5],e.t7=[e.t6],p=e.t0.encodeFunctionData.call(e.t0,e.t1,e.t7),e.next=21;break;case 15:if(a!==exports.Dapp.ARRAKIS){e.next=20;break}y=new t.ethers.utils.Interface(Ee),p=y.encodeFunctionData(exports.Transaction.ADD_LIQUIDITY_STAKE,[i,r,s,0,0,0,n.address]),e.next=21;break;case 20:throw new Error("dapp not supported");case 21:return e.abrupt("return",p);case 22:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ve(e,t,n,a,i){return qe.apply(this,arguments)}function qe(){return(qe=l(ae.mark((function e(n,a,i,r,s){var u,y,o,d,l,m,c,T,b,f,w;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===r&&(r=100),a!==exports.Dapp.UNISWAPV3&&a!==exports.Dapp.VELODROMECL&&a!==exports.Dapp.AERODROMECL&&a!==exports.Dapp.RAMSESCL&&a!==exports.Dapp.PANCAKECL){e.next=23;break}return y=new t.ethers.utils.Interface(ke),e.next=5,Le(a,i,n);case 5:return o=e.sent.times(r).div(100),e.t0=y,e.t1=exports.Transaction.DECREASE_LIQUIDITY,e.t2=i,e.t3=o.toFixed(0),e.next=12,Se(n);case 12:e.t4=e.sent,e.t5=[e.t2,e.t3,0,0,e.t4],e.t6=[e.t5],d=e.t0.encodeFunctionData.call(e.t0,e.t1,e.t6),l=y.encodeFunctionData(exports.Transaction.COLLECT,[[i,n.address,Te,Te]]),m=[d,l],s&&a===exports.Dapp.PANCAKECL&&(c=new t.ethers.utils.Interface(Ce),T=c.encodeFunctionData(exports.Transaction.HARVEST,[i,n.address]),m.unshift(T)),100===r&&(b=y.encodeFunctionData(exports.Transaction.BURN,[i]),m.push(b)),u=y.encodeFunctionData(exports.Transaction.MULTI_CALL,[m]),e.next=34;break;case 23:if(a!==exports.Dapp.ARRAKIS){e.next=33;break}return f=new t.ethers.utils.Interface(Ee),e.t7=p,e.next=28,n.utils.getBalance(i,n.address);case 28:e.t8=e.sent.toString(),w=new e.t7(e.t8).times(r).div(100),u=f.encodeFunctionData(exports.Transaction.REMOVE_LIQUIDITY_UNSTAKE,[i,w,0,0,n.address]),e.next=34;break;case 33:throw new Error("dapp not supported");case 34:return e.abrupt("return",u);case 35:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var Ue=[{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"}],We=[{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 Ge(e,t,n,a,i,r){return He.apply(this,arguments)}function He(){return(He=l(ae.mark((function e(n,a,i,r,s,p){var u,y,o,d;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u=new t.ethers.Contract("0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6",We,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(Ue),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 Ke=[{anonymous:!1,inputs:[{components:[{internalType:"address",name:"toWhitelist",type:"address"},{internalType:"bool",name:"whitelisted",type:"bool"}],indexed:!1,internalType:"struct EasySwapperV2.WhitelistSetting[]",name:"whitelistSettings",type:"tuple[]"}],name:"AuthorizedWithdrawersSet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"limitOrderVault",type:"address"},{indexed:!0,internalType:"address",name:"depositor",type:"address"}],name:"LimitOrderVaultCreated",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:"proxy",type:"address"}],name:"ProxyCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"withdrawalVault",type:"address"},{indexed:!0,internalType:"address",name:"depositor",type:"address"}],name:"WithdrawalCompleted",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"withdrawalVault",type:"address"},{indexed:!0,internalType:"address",name:"depositor",type:"address"},{indexed:!1,internalType:"address",name:"dHedgeVault",type:"address"},{indexed:!1,internalType:"uint256",name:"amountWithdrawn",type:"uint256"}],name:"WithdrawalInitiated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"withdrawalVault",type:"address"},{indexed:!0,internalType:"address",name:"depositor",type:"address"}],name:"WithdrawalVaultCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"depositor",type:"address"},{indexed:!0,internalType:"address",name:"dHedgeVault",type:"address"},{indexed:!1,internalType:"contract IERC20",name:"vaultDepositToken",type:"address"},{indexed:!1,internalType:"contract IERC20",name:"userDepositToken",type:"address"},{indexed:!1,internalType:"uint256",name:"amountReceived",type:"uint256"},{indexed:!1,internalType:"uint256",name:"lockupTime",type:"uint256"}],name:"ZapDepositCompleted",type:"event"},{inputs:[],name:"DEFAULT_COOLDOWN",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails[]",name:"srcData",type:"tuple[]"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct IWithdrawalVault.MultiInSingleOutData",name:"_swapData",type:"tuple"},{internalType:"uint256",name:"_expectedDestTokenAmount",type:"uint256"}],name:"completeLimitOrderWithdrawal",outputs:[{internalType:"uint256",name:"destTokenAmount",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"completeLimitOrderWithdrawal",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_user",type:"address"},{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails[]",name:"srcData",type:"tuple[]"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct IWithdrawalVault.MultiInSingleOutData",name:"_swapData",type:"tuple"},{internalType:"uint256",name:"_expectedDestTokenAmount",type:"uint256"}],name:"completeLimitOrderWithdrawalFor",outputs:[{internalType:"uint256",name:"destTokenAmount",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_user",type:"address"}],name:"completeLimitOrderWithdrawalFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails[]",name:"srcData",type:"tuple[]"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct IWithdrawalVault.MultiInSingleOutData",name:"_swapData",type:"tuple"},{internalType:"uint256",name:"_expectedDestTokenAmount",type:"uint256"}],name:"completeWithdrawal",outputs:[{internalType:"uint256",name:"destTokenAmount",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"completeWithdrawal",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"customCooldown",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"customCooldownDepositsWhitelist",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"dHedgePoolFactory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{internalType:"contract IERC20",name:"_vaultDepositToken",type:"address"},{internalType:"uint256",name:"_depositAmount",type:"uint256"},{internalType:"uint256",name:"_expectedAmountReceived",type:"uint256"}],name:"deposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{internalType:"address",name:"_vaultDepositToken",type:"address"},{internalType:"uint256",name:"_depositAmount",type:"uint256"}],name:"depositQuote",outputs:[{internalType:"uint256",name:"expectedAmountReceived",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{internalType:"contract IERC20",name:"_vaultDepositToken",type:"address"},{internalType:"uint256",name:"_depositAmount",type:"uint256"},{internalType:"uint256",name:"_expectedAmountReceived",type:"uint256"}],name:"depositWithCustomCooldown",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint8",name:"",type:"uint8"}],name:"getLogic",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_depositor",type:"address"}],name:"getTrackedAssets",outputs:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"balance",type:"uint256"}],internalType:"struct IWithdrawalVault.TrackedAsset[]",name:"trackedAssets",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_depositor",type:"address"}],name:"getTrackedAssetsFromLimitOrders",outputs:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"balance",type:"uint256"}],internalType:"struct IWithdrawalVault.TrackedAsset[]",name:"trackedAssets",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_user",type:"address"},{internalType:"address",name:"_dHedgeVault",type:"address"},{internalType:"uint256",name:"_amountIn",type:"uint256"},{components:[{internalType:"address",name:"supportedAsset",type:"address"},{internalType:"bytes",name:"withdrawData",type:"bytes"},{internalType:"uint256",name:"slippageTolerance",type:"uint256"}],internalType:"struct IPoolLogic.ComplexAsset[]",name:"_complexAssetsData",type:"tuple[]"}],name:"initLimitOrderWithdrawalFor",outputs:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"balance",type:"uint256"}],internalType:"struct IWithdrawalVault.TrackedAsset[]",name:"trackedAssets",type:"tuple[]"},{internalType:"address",name:"vault",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{internalType:"uint256",name:"_amountIn",type:"uint256"},{components:[{internalType:"address",name:"supportedAsset",type:"address"},{internalType:"bytes",name:"withdrawData",type:"bytes"},{internalType:"uint256",name:"slippageTolerance",type:"uint256"}],internalType:"struct IPoolLogic.ComplexAsset[]",name:"_complexAssetsData",type:"tuple[]"}],name:"initWithdrawal",outputs:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"balance",type:"uint256"}],internalType:"struct IWithdrawalVault.TrackedAsset[]",name:"trackedAssets",type:"tuple[]"},{internalType:"address",name:"vault",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_vaultLogic",type:"address"},{internalType:"address",name:"_weth",type:"address"},{internalType:"contract IWETH",name:"_wrappedNativeToken",type:"address"},{internalType:"contract ISwapper",name:"_swapper",type:"address"},{internalType:"uint256",name:"_customCooldown",type:"uint256"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"isAuthorizedWithdrawer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"}],name:"isdHedgeVault",outputs:[{internalType:"bool",name:"isVault",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"limitOrderContracts",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{internalType:"uint256",name:"_expectedAmountReceived",type:"uint256"}],name:"nativeDeposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{internalType:"uint256",name:"_expectedAmountReceived",type:"uint256"}],name:"nativeDepositWithCustomCooldown",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_portion",type:"uint256"},{internalType:"address",name:"_to",type:"address"}],name:"partialWithdraw",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"toWhitelist",type:"address"},{internalType:"bool",name:"whitelisted",type:"bool"}],internalType:"struct EasySwapperV2.WhitelistSetting[]",name:"_whitelistSettings",type:"tuple[]"}],name:"setAuthorizedWithdrawers",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_customCooldown",type:"uint256"}],name:"setCustomCooldown",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"toWhitelist",type:"address"},{internalType:"bool",name:"whitelisted",type:"bool"}],internalType:"struct EasySwapperV2.WhitelistSetting[]",name:"_whitelistSettings",type:"tuple[]"}],name:"setCustomCooldownWhitelist",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_vaultLogic",type:"address"}],name:"setLogic",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISwapper",name:"_swapper",type:"address"}],name:"setSwapper",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_dHedgePoolFactory",type:"address"}],name:"setdHedgePoolFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"swapper",outputs:[{internalType:"contract ISwapper",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{internalType:"uint256",name:"_amountIn",type:"uint256"},{components:[{internalType:"address",name:"supportedAsset",type:"address"},{internalType:"bytes",name:"withdrawData",type:"bytes"},{internalType:"uint256",name:"slippageTolerance",type:"uint256"}],internalType:"struct IPoolLogic.ComplexAsset[]",name:"_complexAssetsData",type:"tuple[]"}],name:"unrollAndClaim",outputs:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"balance",type:"uint256"}],internalType:"struct IWithdrawalVault.TrackedAsset[]",name:"",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"withdrawalContracts",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"wrappedNativeToken",outputs:[{internalType:"contract IWETH",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails",name:"srcData",type:"tuple"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct EasySwapperV2.SingleInSingleOutData",name:"_swapData",type:"tuple"},{internalType:"uint256",name:"_expectedAmountReceived",type:"uint256"}],name:"zapDeposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails",name:"srcData",type:"tuple"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct EasySwapperV2.SingleInSingleOutData",name:"_swapData",type:"tuple"},{internalType:"uint256",name:"_expectedAmountReceived",type:"uint256"}],name:"zapDepositWithCustomCooldown",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails",name:"srcData",type:"tuple"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct EasySwapperV2.SingleInSingleOutData",name:"_swapData",type:"tuple"},{internalType:"uint256",name:"_expectedAmountReceived",type:"uint256"}],name:"zapNativeDeposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails",name:"srcData",type:"tuple"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct EasySwapperV2.SingleInSingleOutData",name:"_swapData",type:"tuple"},{internalType:"uint256",name:"_expectedAmountReceived",type:"uint256"}],name:"zapNativeDepositWithCustomCooldown",outputs:[],stateMutability:"payable",type:"function"}];function ze(e,t){return Ye.apply(this,arguments)}function Ye(){return(Ye=l(ae.mark((function e(t,n){var a;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=new ka(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 je(e,t){return Qe.apply(this,arguments)}function Qe(){return(Qe=l(ae.mark((function e(t,n){var a;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=new ka(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 Xe(e){return Ze.apply(this,arguments)}function Ze(){return(Ze=l(ae.mark((function e(t){var n,a,i,r,s,p;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.fn,i=void 0===(a=t.maxRetries)?3:a,s=void 0===(r=t.delayMs)?1e3:r,p=1;case 2:if(!(p<=i)){e.next=19;break}return e.prev=3,e.next=6,n();case 6:return e.abrupt("return",e.sent);case 9:if(e.prev=9,e.t0=e.catch(3),p!==i){e.next=13;break}throw new Error("Retry failed after "+i+" attempts: "+e.t0);case 13:return console.warn("Retry "+p+"/"+i+" failed, retrying in "+s+"ms",e.t0),e.next=16,new Promise((function(e){return setTimeout(e,s)}));case 16:p++,e.next=2;break;case 19:throw new Error("Unexpected retry failure");case 20:case"end":return e.stop()}}),e,null,[[3,9]])})))).apply(this,arguments)}var Je=[{inputs:[{internalType:"address",name:"_aaveLendingPool",type:"address"},{internalType:"address",name:"_swapper",type:"address"},{internalType:"address",name:"_onchainSwapRouter",type:"address"},{internalType:"uint256",name:"_mismatchDelta",type:"uint256"},{internalType:"uint256",name:"_mismatchDeltaDenominator",type:"uint256"},{internalType:"uint256",name:"_slippageToleranceDenominator",type:"uint256"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"aaveLendingPool",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_pool",type:"address"},{internalType:"uint256",name:"_poolTokenAmount",type:"uint256"},{internalType:"uint256",name:"_slippageTolerance",type:"uint256"}],name:"calculateSwapDataParams",outputs:[{components:[{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISwapDataConsumingGuard.AssetStructure[]",name:"srcData",type:"tuple[]"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISwapDataConsumingGuard.AssetStructure",name:"dstData",type:"tuple"}],internalType:"struct ISwapDataConsumingGuard.SwapDataParams",name:"swapDataParams",type:"tuple"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"data",type:"bytes32"}],name:"convert32toAddress",outputs:[{internalType:"address",name:"o",type:"address"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"_pool",type:"address"},{internalType:"address",name:"_repayAsset",type:"address"},{internalType:"uint256",name:"_repayAmount",type:"uint256"},{internalType:"uint256",name:"_premium",type:"uint256"},{internalType:"bytes",name:"_params",type:"bytes"}],name:"flashloanProcessing",outputs:[{components:[{internalType:"address",name:"to",type:"address"},{internalType:"bytes",name:"txData",type:"bytes"}],internalType:"struct IAssetGuard.MultiTransaction[]",name:"transactions",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"data",type:"bytes"},{internalType:"uint8",name:"inputNum",type:"uint8"},{internalType:"uint8",name:"arrayIndex",type:"uint8"}],name:"getArrayIndex",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"data",type:"bytes"},{internalType:"uint8",name:"inputNum",type:"uint8"}],name:"getArrayLast",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"data",type:"bytes"},{internalType:"uint8",name:"inputNum",type:"uint8"}],name:"getArrayLength",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"_pool",type:"address"},{internalType:"address",name:"",type:"address"}],name:"getBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"data",type:"bytes"},{internalType:"uint8",name:"inputNum",type:"uint8"},{internalType:"uint256",name:"offset",type:"uint256"}],name:"getBytes",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"getDecimals",outputs:[{internalType:"uint256",name:"decimals",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"data",type:"bytes"},{internalType:"uint8",name:"inputNum",type:"uint8"}],name:"getInput",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"data",type:"bytes"}],name:"getMethod",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"data",type:"bytes"}],name:"getParams",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"pure",type:"function"},{inputs:[],name:"onchainSwapRouter",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"data",type:"bytes"},{internalType:"uint256",name:"offset",type:"uint256"},{internalType:"uint256",name:"length",type:"uint256"}],name:"read32",outputs:[{internalType:"bytes32",name:"o",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"data",type:"bytes"},{internalType:"uint256",name:"offset",type:"uint256"}],name:"read4left",outputs:[{internalType:"bytes4",name:"o",type:"bytes4"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"_pool",type:"address"},{internalType:"address",name:"",type:"address"}],name:"removeAssetCheck",outputs:[],stateMutability:"view",type:"function"},{inputs:[],name:"swapper",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes",name:"",type:"bytes"}],name:"txGuard",outputs:[{internalType:"uint16",name:"txType",type:"uint16"},{internalType:"bool",name:"",type:"bool"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"_pool",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"_portion",type:"uint256"},{internalType:"address",name:"_to",type:"address"},{internalType:"bytes",name:"_swapData",type:"bytes"}],name:"withdrawProcessing",outputs:[{internalType:"address",name:"withdrawAsset",type:"address"},{internalType:"uint256",name:"withdrawBalance",type:"uint256"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"bytes",name:"txData",type:"bytes"}],internalType:"struct IAssetGuard.MultiTransaction[]",name:"transactions",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_pool",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"_portion",type:"uint256"},{internalType:"address",name:"_to",type:"address"}],name:"withdrawProcessing",outputs:[{internalType:"address",name:"withdrawAsset",type:"address"},{internalType:"uint256",name:"withdrawBalance",type:"uint256"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"bytes",name:"txData",type:"bytes"}],internalType:"struct IAssetGuard.MultiTransaction[]",name:"transactions",type:"tuple[]"}],stateMutability:"view",type:"function"}],$e="https://api.odos.xyz/sor";function et(e,t,n,a,i){return tt.apply(this,arguments)}function tt(){return(tt=l(ae.mark((function e(t,n,a,i,r){var s,p,y,o;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=0,process.env.ODOS_REFERAL_CODE&&Number(process.env.ODOS_REFERAL_CODE)>0&&(s=Number(process.env.ODOS_REFERAL_CODE)),p={chainId:le[t.network],inputTokens:[{tokenAddress:n,amount:i.toString()}],outputTokens:[{tokenAddress:a,proportion:1}],slippageLimitPercent:r,userAddr:t.address,referralCode:s},e.prev=3,e.next=6,u.post($e+"/quote/v2",p);case 6:return y={pathId:e.sent.data.pathId,userAddr:t.address},e.next=10,u.post($e+"/assemble",y);case 10:return e.abrupt("return",{swapTxData:(o=e.sent).data.transaction.data,minAmountOut:o.data.outputTokens[0].amount});case 14:throw e.prev=14,e.t0=e.catch(3),console.error("Error in Odos API request:",e.t0),new Aa("Swap api request of Odos failed");case 18:case"end":return e.stop()}}),e,null,[[3,14]])})))).apply(this,arguments)}var nt="0x4F754e0F0924afD74980886b0B479Fa1D7C58D0D",at=function(){var e=l(ae.mark((function e(t){var n,a,i,r,s,y,o,d,l;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.srcAsset,a=t.srcAmount,i=t.dstAsset,r=t.chainId,s=t.from,y=t.slippage,o=0,process.env.ODOS_REFERAL_CODE&&Number(process.env.ODOS_REFERAL_CODE)>0&&(o=Number(process.env.ODOS_REFERAL_CODE)),d={chainId:r,inputTokens:[{tokenAddress:n,amount:a}],outputTokens:[{tokenAddress:i,proportion:1}],slippageLimitPercent:new p(y).div(100).toString(),userAddr:s,referralCode:o},e.prev=4,e.next=7,u.post($e+"/quote/v2",d);case 7:return l={pathId:e.sent.data.pathId,userAddr:s},e.next=11,u.post($e+"/assemble",l);case 11:return e.abrupt("return",e.sent.data.transaction.data);case 15:throw e.prev=15,e.t0=e.catch(4),console.error("Error in Odos API request:",e.t0),new Error("Swap api request of Odos failed");case 19:case"end":return e.stop()}}),e,null,[[4,15]])})));return function(t){return e.apply(this,arguments)}}(),it=function(){var e=l(ae.mark((function e(n,a,i,r){var s,p;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,n.factory.getAssetGuard(ue[n.network][exports.Dapp.AAVEV3]);case 2:return s=new t.ethers.Contract(e.sent,Je,n.signer),e.next=6,s.callStatic.calculateSwapDataParams(a,i,r);case 6:return e.abrupt("return",{offchainSwapNeeded:0!==(p=e.sent).srcData.length,swapDataParams:p});case 8:case"end":return e.stop()}}),e)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),rt=function(){var e=l(ae.mark((function e(n,a,i){var r,s,p,u,y,o,d,l,m,c;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=a.srcData,s=a.dstData,p=[],u=t.ethers.utils.formatBytes32String("ODOS_V2"),y=ae.mark((function e(){var t,a,r;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=(t=d.value).asset,r=t.amount,e.next=3,Xe({fn:function(){return at({srcAsset:a,srcAmount:r.toString(),dstAsset:s.asset,chainId:le[n.network],from:nt,receiver:nt,slippage:i})},delayMs:1500,maxRetries:7});case 3:p.push([a,r,[u,e.sent]]);case 5:case"end":return e.stop()}}),e)})),o=x(r);case 5:if((d=o()).done){e.next=9;break}return e.delegateYield(y(),"t0",7);case 7:e.next=5;break;case 9:return m=(l=t.ethers.utils.defaultAbiCoder).encode(["tuple(address, uint256, tuple(bytes32, bytes))[]"],[p]),c=l.encode(["tuple(bytes, tuple(address, uint256), uint256)"],[[m,[s.asset,s.amount],i]]),e.abrupt("return",c);case 13:case"end":return e.stop()}}),e)})));return function(t,n,a){return e.apply(this,arguments)}}(),st=function(){var e=l(ae.mark((function e(t,n,a,i,r){var s,p,u;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ze(t,n);case 2:return s=e.sent,e.next=5,s.managerLogic.getSupportedAssets();case 5:if(p=e.sent,!r){e.next=8;break}return e.abrupt("return",p.map((function(e){return{supportedAsset:e.asset,withdrawData:"0x",slippageTolerance:150}})));case 8:return u=ue[t.network][exports.Dapp.AAVEV3],e.abrupt("return",Promise.all(p.map(function(){var e=l(ae.mark((function e(r){var s,p;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r.asset.toLowerCase()!==u.toLowerCase()){e.next=11;break}return e.next=3,it(t,n,a,i);case 3:if(p=(s=e.sent).swapDataParams,!s.offchainSwapNeeded){e.next=11;break}return e.next=9,rt(t,p,i);case 9:return e.abrupt("return",{supportedAsset:r.asset,withdrawData:e.sent,slippageTolerance:i});case 11:return e.abrupt("return",{supportedAsset:r.asset,withdrawData:"0x",slippageTolerance:i});case 12:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())));case 10:case"end":return e.stop()}}),e)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),pt=function(){var e=l(ae.mark((function e(n,a,i,r,s){var p,u;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,st(n,a,i,r,s);case 2:return p=e.sent,u=new t.ethers.utils.Interface(Ke),e.abrupt("return",u.encodeFunctionData("initWithdrawal",[a,i,p]));case 5:case"end":return e.stop()}}),e)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}();function ut(e,t,n){return yt.apply(this,arguments)}function yt(){return(yt=l(ae.mark((function e(t,n,a){var i,r,s,p;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ze(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 ot(e,t,n,a){return dt.apply(this,arguments)}function dt(){return(dt=l(ae.mark((function e(n,a,i,r){var s;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=new t.ethers.Contract(ue[n.network][exports.Dapp.TOROS],Ke,n.signer),e.next=3,s.depositQuote(a,i,r);case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function lt(e,t,n,a,i){return mt.apply(this,arguments)}function mt(){return(mt=l(ae.mark((function e(n,a,i,r,s){var p,u,y,o,d,l;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,je(n,a);case 2:if(y=(u=(p=e.sent)?[a,i]:[i,a])[0],o=u[1],d=new t.ethers.utils.Interface(Ke),!p){e.next=9;break}return e.abrupt("return",pt(n,y,r.toString(),100*s,!1));case 9:return e.next=11,ut(n,y,o);case 11:if(l=e.sent){e.next=14;break}throw new Error("no deposit assets");case 14:if(l.toLowerCase()===o.toLowerCase()){e.next=16;break}throw new Error("can only trade deposit asset");case 16:return e.next=18,ot(n,y,o,r);case 18:return e.abrupt("return",d.encodeFunctionData("depositWithCustomCooldown",[y,l,r,e.sent.mul(1e4-100*s).div(1e4)]));case 20:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var ct=[{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"}],Tt={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 bt(e,t,n){return ft.apply(this,arguments)}function ft(){return(ft=l(ae.mark((function e(n,a,i){var r,s,p,u,y;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=a===exports.Dapp.AAVEV3?Tt:xe,s=new t.ethers.Contract(ue[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 wt(e,t,n){return vt.apply(this,arguments)}function vt(){return(vt=l(ae.mark((function e(n,a,i){var r,s;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new t.ethers.utils.Interface(ct),e.next=3,bt(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 xt=[{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 ht(e,t,n,a,i,r){return Mt.apply(this,arguments)}function Mt(){return(Mt=l(ae.mark((function e(n,a,i,r,s,p){var u;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u=new t.ethers.utils.Interface(xt),e.t0=u,e.t1=exports.Transaction.ADD_LIQUIDITY,e.t2=a,e.t3=i,e.t4=p,e.t5=r,e.t6=s,e.t7=n.address,e.next=11,Se(n);case 11:return e.t8=e.sent,e.t9=[e.t2,e.t3,e.t4,e.t5,e.t6,"0","0",e.t7,e.t8],e.abrupt("return",e.t0.encodeFunctionData.call(e.t0,e.t1,e.t9));case 14:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function kt(e,t,n,a,i){return gt.apply(this,arguments)}function gt(){return(gt=l(ae.mark((function e(n,a,i,r,s){var p;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return p=new t.ethers.utils.Interface(xt),e.t0=p,e.t1=exports.Transaction.REMOVE_LIQUIDITY,e.t2=a,e.t3=i,e.t4=s,e.t5=r,e.t6=n.address,e.next=10,Se(n);case 10:return e.t7=e.sent,e.t8=[e.t2,e.t3,e.t4,e.t5,"0","0",e.t6,e.t7],e.abrupt("return",e.t0.encodeFunctionData.call(e.t0,e.t1,e.t8));case 13:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function At(e,t,n){return Dt.apply(this,arguments)}function Dt(){return(Dt=l(ae.mark((function e(n,a,i){var r;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new t.ethers.Contract(de[n.network][a],ke,n.signer),e.next=3,r.ownerOf(i);case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var It=[{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"}],Ot=[{inputs:[{internalType:"address",name:"user",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_amount",type:"uint256"},{internalType:"address",name:"_recipient",type:"address"}],name:"deposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_amount",type:"uint256"}],name:"deposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_account",type:"address"}],name:"earned",outputs:[{internalType:"uint256",name:"_earned",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_account",type:"address"}],name:"getReward",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"isPool",outputs:[{internalType:"bool",name:"_isPool",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"lastTimeRewardApplicable",outputs:[{internalType:"uint256",name:"_time",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"left",outputs:[{internalType:"uint256",name:"_left",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"notifyRewardAmount",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"rewardPerToken",outputs:[{internalType:"uint256",name:"_rewardPerToken",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"rewardToken",outputs:[{internalType:"address",name:"_token",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"stakingToken",outputs:[{internalType:"address",name:"_pool",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_amount",type:"uint256"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"}],Et=[{inputs:[{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"}],name:"decreaseStakedLiquidity",outputs:[{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"deposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getReward",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getReward",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{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"}],name:"increaseStakedLiquidity",outputs:[{internalType:"uint128",name:"liquidity",type:"uint128"},{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"nft",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"}];function Ct(e,t,n,a){return St.apply(this,arguments)}function St(){return(St=l(ae.mark((function e(n,a,i,r){var s,p;return ae.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)}var Pt=function(){var e=l(ae.mark((function e(t,n,a,i,r){var s,p;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===i&&(i={}),s=null,p=null,e.prev=3,t.isDhedge&&(Rt(r)||!r.useTraderAddressAsFrom)){e.next=10;break}return e.next=7,n(m({to:a.to,data:a.txData},i));case 7:s=e.sent,e.next=13;break;case 10:return e.next=12,n(a.to,a.txData,i);case 12:s=e.sent;case 13:e.next=18;break;case 15:e.prev=15,e.t0=e.catch(3),p=e.t0;case 18:return e.abrupt("return",m({gas:s,gasEstimationError:p},a));case 19:case"end":return e.stop()}}),e,null,[[3,15]])})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),Rt=function(e){return"boolean"==typeof e},Ft=function(){var e=l(ae.mark((function e(t,n,a){var i,r;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i={txData:n[1],to:n[0],minAmountOut:n[3]||null},Rt(a)||!a.onlyGetTxData){e.next=3;break}return e.abrupt("return",i);case 3:if(r=n[2],t.isDhedge&&(Rt(a)||!a.useTraderAddressAsFrom)){e.next=16;break}if(!0!==a&&(Rt(a)||!a.estimateGas)){e.next=11;break}return e.next=8,Pt(t,t.signer.estimateGas.bind(t.signer),i,r,a);case 8:return e.abrupt("return",e.sent);case 11:return e.next=13,t.signer.sendTransaction(m({to:i.to,data:i.txData},r));case 13:return e.abrupt("return",e.sent);case 14:e.next=25;break;case 16:if(!0!==a&&(Rt(a)||!a.estimateGas)){e.next=22;break}return e.next=19,Pt(t,t.poolLogic.estimateGas.execTransaction,i,r,a);case 19:return e.abrupt("return",e.sent);case 22:return e.next=24,t.poolLogic.execTransaction(i.to,i.txData,r);case 24:return e.abrupt("return",e.sent);case 25:case"end":return e.stop()}}),e)})));return function(t,n,a){return e.apply(this,arguments)}}(),Lt=new t.ethers.utils.Interface(It),_t=new t.ethers.utils.Interface(Ot);function Bt(e,t){var n=t?_t:Lt;return n.encodeFunctionData.apply(n,t?["deposit(uint256)",[e]]:["deposit",[e,0]])}function Nt(e,t,n){return Vt.apply(this,arguments)}function Vt(){return(Vt=l(ae.mark((function e(t,n,a){var i;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!a){e.next=4;break}return e.abrupt("return",_t.encodeFunctionData("getReward",[t.address]));case 4:return e.next=6,Ct(t.signer,It,[n,"rewardsListLength",[]]);case 6:return i=e.sent,e.next=9,Promise.all(Array.from(Array(i.toNumber()).keys()).map((function(e){return Ct(t.signer,It,[n,"rewards",[e]])})));case 9:return e.abrupt("return",Lt.encodeFunctionData("getReward",[t.address,e.sent]));case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function qt(e){return Ut.apply(this,arguments)}function Ut(){return(Ut=l(ae.mark((function e(n){var a;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=new t.ethers.utils.Interface(Et),e.abrupt("return",a.encodeFunctionData("getReward(uint256)",[n]));case 2:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Wt(e,t,n){return Gt.apply(this,arguments)}function Gt(){return(Gt=l(ae.mark((function e(t,n,i){var r,s;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new a(ce[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 Ht(e,t){return Kt.apply(this,arguments)}function Kt(){return(Kt=l(ae.mark((function e(t,n){var i;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=new a(ce[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 zt(e,t,n){return Yt.apply(this,arguments)}function Yt(){return(Yt=l(ae.mark((function e(t,n,a){return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Wt(t,n,a);case 2:return e.abrupt("return",e.sent.strikes());case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function jt(e,t,n,a){return Qt.apply(this,arguments)}function Qt(){return(Qt=l(ae.mark((function e(n,a,i,r){var s;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,zt(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 Xt=[{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 Zt(e,t,n){return e?t?0:n?2:3:t?1:4}function Jt(e){return[0,2,3].includes(e)}function $t(e){return 0===e||1===e}var en=[{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 tn(e,t){return nn.apply(this,arguments)}function nn(){return(nn=l(ae.mark((function e(n,i){var r,s;return ae.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,en,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 an(e,t,n,a){return rn.apply(this,arguments)}function rn(){return(rn=l(ae.mark((function e(t,n,a,i){return ae.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 sn(e,t,n,a,i,r,s,p,u,y){return pn.apply(this,arguments)}function pn(){return(pn=l(ae.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,k,g,A,D;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,jt(n.network,a,r,s);case 2:return m=(l=e.sent).id,e.next=6,tn(n,a);case 6:return c=e.sent.filter((function(e){return e.strikeId.toNumber()===m&&Jt(e.optionType)===("call"===i)&&1===e.state})),T=c.length>0?c[0].positionId:0,b=Zt("call"===i,"buy"===p,d),f=t.BigNumber.from(u),e.next=13,an(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),k=o,c.length>0&&(M=null!=(g=c[0].collateral)?g:t.BigNumber.from(0),k=M.add(o),("sell"===p&&$t(c[0].optionType)||"buy"===p&&!$t(c[0].optionType))&&(b=c[0].optionType,x="closePosition",k=M.sub(o),h=!$t(c[0].optionType)&&d?v:t.BigNumber.from(0))),A=new t.ethers.utils.Interface(Xt),D=A.encodeFunctionData(x,[[l.market().contractAddresses.optionMarket,m,T,1,k,M,b,f,"sell"===p?v:0,"buy"===p?v:t.ethers.constants.MaxUint256,h,y]]),e.abrupt("return",D);case 23:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var un=[{inputs:[{internalType:"address",name:"account",type:"address"}],name:"accessibleMargin",outputs:[{internalType:"uint256",name:"marginAccessible",type:"uint256"},{internalType:"bool",name:"invalid",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"canLiquidate",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"cancelDelayedOrder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"cancelOffchainDelayedOrder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"priceImpactDelta",type:"uint256"}],name:"closePosition",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"priceImpactDelta",type:"uint256"},{internalType:"bytes32",name:"trackingCode",type:"bytes32"}],name:"closePositionWithTracking",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"delayedOrders",outputs:[{components:[{internalType:"bool",name:"isOffchain",type:"bool"},{internalType:"int128",name:"sizeDelta",type:"int128"},{internalType:"uint128",name:"priceImpactDelta",type:"uint128"},{internalType:"uint128",name:"targetRoundId",type:"uint128"},{internalType:"uint128",name:"commitDeposit",type:"uint128"},{internalType:"uint128",name:"keeperDeposit",type:"uint128"},{internalType:"uint256",name:"executableAtTime",type:"uint256"},{internalType:"uint256",name:"intentionTime",type:"uint256"},{internalType:"bytes32",name:"trackingCode",type:"bytes32"}],internalType:"struct IPerpsV2Market.DelayedOrder",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"int256",name:"sizeDelta",type:"int256"}],name:"fillPrice",outputs:[{internalType:"uint256",name:"price",type:"uint256"},{internalType:"bool",name:"invalid",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"liquidatePosition",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"int256",name:"sizeDelta",type:"int256"},{internalType:"uint256",name:"priceImpactDelta",type:"uint256"}],name:"modifyPosition",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"int256",name:"sizeDelta",type:"int256"},{internalType:"uint256",name:"priceImpactDelta",type:"uint256"},{internalType:"bytes32",name:"trackingCode",type:"bytes32"}],name:"modifyPositionWithTracking",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"int256",name:"sizeDelta",type:"int256"},{internalType:"enum IPerpsV2Market.OrderType",name:"orderType",type:"uint8"}],name:"orderFee",outputs:[{internalType:"uint256",name:"fee",type:"uint256"},{internalType:"bool",name:"invalid",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"positions",outputs:[{components:[{internalType:"uint64",name:"id",type:"uint64"},{internalType:"uint64",name:"lastFundingIndex",type:"uint64"},{internalType:"uint128",name:"margin",type:"uint128"},{internalType:"uint128",name:"lastPrice",type:"uint128"},{internalType:"int128",name:"size",type:"int128"}],internalType:"struct IPerpsV2Market.Position",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"int256",name:"sizeDelta",type:"int256"},{internalType:"uint256",name:"tradePrice",type:"uint256"},{internalType:"enum IPerpsV2Market.OrderType",name:"orderType",type:"uint8"},{internalType:"address",name:"sender",type:"address"}],name:"postTradeDetails",outputs:[{internalType:"uint256",name:"margin",type:"uint256"},{internalType:"int256",name:"size",type:"int256"},{internalType:"uint256",name:"price",type:"uint256"},{internalType:"uint256",name:"liqPrice",type:"uint256"},{internalType:"uint256",name:"fee",type:"uint256"},{internalType:"enum IPerpsV2Market.Status",name:"status",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"remainingMargin",outputs:[{internalType:"uint256",name:"marginRemaining",type:"uint256"},{internalType:"bool",name:"invalid",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"resolver",outputs:[{internalType:"contract IAddressResolver",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"int256",name:"sizeDelta",type:"int256"},{internalType:"uint256",name:"priceImpactDelta",type:"uint256"},{internalType:"uint256",name:"desiredTimeDelta",type:"uint256"}],name:"submitDelayedOrder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"int256",name:"sizeDelta",type:"int256"},{internalType:"uint256",name:"priceImpactDelta",type:"uint256"},{internalType:"uint256",name:"desiredTimeDelta",type:"uint256"},{internalType:"bytes32",name:"trackingCode",type:"bytes32"}],name:"submitDelayedOrderWithTracking",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"int256",name:"sizeDelta",type:"int256"},{internalType:"uint256",name:"priceImpactDelta",type:"uint256"}],name:"submitOffchainDelayedOrder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"int256",name:"sizeDelta",type:"int256"},{internalType:"uint256",name:"priceImpactDelta",type:"uint256"},{internalType:"bytes32",name:"trackingCode",type:"bytes32"}],name:"submitOffchainDelayedOrderWithTracking",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"int256",name:"marginDelta",type:"int256"}],name:"transferMargin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"withdrawAllMargin",outputs:[],stateMutability:"nonpayable",type:"function"}];function yn(e,t,n){return on.apply(this,arguments)}function on(){return(on=l(ae.mark((function e(n,a,i){var r,s,p,u;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new t.ethers.Contract(a,un,i.signer),e.next=3,r.fillPrice(n);case 3:return s=e.sent,p=t.ethers.BigNumber.from(n).lt(0)?995:1005,u=s.price.mul(p).div(1e3),e.abrupt("return",new t.ethers.utils.Interface(un).encodeFunctionData("submitOffchainDelayedOrderWithTracking",[n,u,t.ethers.utils.formatBytes32String("DHEDGE")]));case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function dn(e){return ln.apply(this,arguments)}function ln(){return(ln=l(ae.mark((function e(n){return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new t.ethers.utils.Interface(un).encodeFunctionData("cancelOffchainDelayedOrder",[n.address]));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function mn(e,t,n,a,i,r){return cn.apply(this,arguments)}function cn(){return(cn=l(ae.mark((function e(t,n,a,i,r,s){var p,y,o;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===s&&(s=!1),process.env.ONEINCH_API_KEY){e.next=3;break}throw new Error("ONEINCH_API_KEY not configured in .env file");case 3:return p="https://api.1inch.dev/swap/v6.0/"+le[t.network]+"/swap",y={src:n,dst:a,amount:i.toString(),from:s?ue[t.network].toros:t.address,receiver:s?ue[t.network].toros:t.address,slippage:r,disableEstimate:!0,usePermit2:!1},e.prev=6,e.next=9,u.get(p,{headers:{Authorization:"Bearer "+process.env.ONEINCH_API_KEY},params:y});case 9:return e.abrupt("return",{swapTxData:(o=e.sent).data.tx.data,dstAmount:o.data.dstAmount});case 15:throw e.prev=15,e.t0=e.catch(6),new Aa("Swap api request of 1inch failed");case 18:case"end":return e.stop()}}),e,null,[[6,15]])})))).apply(this,arguments)}var Tn=new t.ethers.utils.Interface([{inputs:[{internalType:"uint256",name:"_amount",type:"uint256"}],name:"createVest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_vestID",type:"uint256"},{internalType:"bool",name:"_ve",type:"bool"}],name:"exitVest",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_user",type:"address"}],name:"usersTotalVests",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"}],name:"vestInfo",outputs:[{components:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"start",type:"uint256"},{internalType:"uint256",name:"maxEnd",type:"uint256"},{internalType:"uint256",name:"vestID",type:"uint256"}],internalType:"struct IXRam.VestPosition[]",name:"",type:"tuple[]"}],stateMutability:"view",type:"function"}]),bn=new t.ethers.utils.Interface(Oe);function fn(e){return Tn.encodeFunctionData("createVest",[e])}function wn(e,t){return bn.encodeFunctionData("getReward",[e,t])}var vn=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minAmount",type:"uint256"}],name:"AmountTooSmall",type:"error"},{inputs:[{internalType:"uint256",name:"executableTime",type:"uint256"}],name:"ExecutableTimeNotReached",type:"error"},{inputs:[{internalType:"uint256",name:"supplied",type:"uint256"},{internalType:"uint256",name:"accepted",type:"uint256"}],name:"HighSlippage",type:"error"},{inputs:[{internalType:"uint256",name:"fee",type:"uint256"}],name:"InvalidFee",type:"error"},{inputs:[{internalType:"string",name:"variableName",type:"string"}],name:"InvariantViolation",type:"error"},{inputs:[{internalType:"uint256",name:"maxFillPrice",type:"uint256"},{internalType:"uint256",name:"currentPrice",type:"uint256"}],name:"MaxFillPriceTooLow",type:"error"},{inputs:[{internalType:"uint256",name:"minFillPrice",type:"uint256"},{internalType:"uint256",name:"currentPrice",type:"uint256"}],name:"MinFillPriceTooHigh",type:"error"},{inputs:[],name:"ModuleKeyEmpty",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"totalBalance",type:"uint256"},{internalType:"uint256",name:"withdrawAmount",type:"uint256"}],name:"NotEnoughBalanceForWithdraw",type:"error"},{inputs:[{internalType:"int256",name:"marginAmount",type:"int256"},{internalType:"uint256",name:"feeAmount",type:"uint256"}],name:"NotEnoughMarginForFees",type:"error"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"address",name:"msgSender",type:"address"}],name:"NotTokenOwner",type:"error"},{inputs:[{internalType:"address",name:"msgSender",type:"address"}],name:"OnlyOwner",type:"error"},{inputs:[],name:"OrderHasExpired",type:"error"},{inputs:[],name:"OrderHasNotExpired",type:"error"},{inputs:[{internalType:"bytes32",name:"moduleKey",type:"bytes32"}],name:"Paused",type:"error"},{inputs:[],name:"PositionCreatesBadDebt",type:"error"},{inputs:[{internalType:"string",name:"variableName",type:"string"}],name:"ValueNotPositive",type:"error"},{inputs:[{internalType:"uint256",name:"withdrawAmount",type:"uint256"},{internalType:"uint256",name:"keeperFee",type:"uint256"}],name:"WithdrawalTooSmall",type:"error"},{inputs:[{internalType:"string",name:"variableName",type:"string"}],name:"ZeroAddress",type:"error"},{inputs:[{internalType:"string",name:"variableName",type:"string"}],name:"ZeroValue",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{inputs:[],name:"MIN_DEPOSIT",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"MODULE_KEY",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"int256",name:"marginAdjustment",type:"int256"},{internalType:"int256",name:"additionalSizeAdjustment",type:"int256"},{internalType:"uint256",name:"fillPrice",type:"uint256"},{internalType:"uint256",name:"keeperFee",type:"uint256"}],name:"announceLeverageAdjust",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint256",name:"minFillPrice",type:"uint256"},{internalType:"uint256",name:"keeperFee",type:"uint256"}],name:"announceLeverageClose",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"margin",type:"uint256"},{internalType:"uint256",name:"additionalSize",type:"uint256"},{internalType:"uint256",name:"maxFillPrice",type:"uint256"},{internalType:"uint256",name:"keeperFee",type:"uint256"}],name:"announceLeverageOpen",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"depositAmount",type:"uint256"},{internalType:"uint256",name:"minAmountOut",type:"uint256"},{internalType:"uint256",name:"keeperFee",type:"uint256"}],name:"announceStableDeposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"withdrawAmount",type:"uint256"},{internalType:"uint256",name:"minAmountOut",type:"uint256"},{internalType:"uint256",name:"keeperFee",type:"uint256"}],name:"announceStableWithdraw",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"cancelExistingOrder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"bytes[]",name:"priceUpdateData",type:"bytes[]"}],name:"executeOrder",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getAnnouncedOrder",outputs:[{components:[{internalType:"enum FlatcoinStructs.OrderType",name:"orderType",type:"uint8"},{internalType:"uint256",name:"keeperFee",type:"uint256"},{internalType:"uint64",name:"executableAtTime",type:"uint64"},{internalType:"bytes",name:"orderData",type:"bytes"}],internalType:"struct FlatcoinStructs.Order",name:"order",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"hasOrderExpired",outputs:[{internalType:"bool",name:"expired",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IFlatcoinVault",name:"_vault",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IFlatcoinVault",name:"_vault",type:"address"}],name:"setVault",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"vault",outputs:[{internalType:"contract IFlatcoinVault",name:"",type:"address"}],stateMutability:"view",type:"function"}],xn=[{type:"function",name:"cancelExistingOrder",inputs:[{name:"account",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"cancelOrderByModule",inputs:[{name:"account",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"executeLimitOrder",inputs:[{name:"tokenId",type:"uint256",internalType:"uint256"},{name:"priceUpdateData",type:"bytes[]",internalType:"bytes[]"}],outputs:[],stateMutability:"payable"},{type:"function",name:"executeOrder",inputs:[{name:"account",type:"address",internalType:"address"},{name:"priceUpdateData",type:"bytes[]",internalType:"bytes[]"}],outputs:[],stateMutability:"payable"},{type:"function",name:"hasOrderExpired",inputs:[{name:"account",type:"address",internalType:"address"}],outputs:[{name:"expired",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"maxExecutabilityAge",inputs:[],outputs:[{name:"maxExecutabilityAge",type:"uint64",internalType:"uint64"}],stateMutability:"view"}],hn=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minAmount",type:"uint256"}],name:"AmountTooSmall",type:"error"},{inputs:[{internalType:"uint256",name:"supplied",type:"uint256"},{internalType:"uint256",name:"accepted",type:"uint256"}],name:"HighSlippage",type:"error"},{inputs:[{internalType:"uint256",name:"fee",type:"uint256"}],name:"InvalidFee",type:"error"},{inputs:[{internalType:"uint256",name:"skewFraction",type:"uint256"}],name:"MaxSkewReached",type:"error"},{inputs:[],name:"ModuleKeyEmpty",type:"error"},{inputs:[{internalType:"address",name:"msgSender",type:"address"}],name:"OnlyAuthorizedModule",type:"error"},{inputs:[{internalType:"address",name:"msgSender",type:"address"}],name:"OnlyOwner",type:"error"},{inputs:[],name:"PriceImpactDuringFullWithdraw",type:"error"},{inputs:[],name:"PriceImpactDuringWithdraw",type:"error"},{inputs:[{internalType:"string",name:"variableName",type:"string"}],name:"ZeroAddress",type:"error"},{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:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Locked",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:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Unlocked",type:"event"},{inputs:[],name:"MIN_LIQUIDITY",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"MODULE_KEY",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{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:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],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:"_account",type:"address"},{internalType:"uint64",name:"_executableAtTime",type:"uint64"},{components:[{internalType:"uint256",name:"depositAmount",type:"uint256"},{internalType:"uint256",name:"minAmountOut",type:"uint256"}],internalType:"struct FlatcoinStructs.AnnouncedStableDeposit",name:"_announcedDeposit",type:"tuple"}],name:"executeDeposit",outputs:[{internalType:"uint256",name:"_liquidityMinted",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_account",type:"address"},{internalType:"uint64",name:"_executableAtTime",type:"uint64"},{components:[{internalType:"uint256",name:"withdrawAmount",type:"uint256"},{internalType:"uint256",name:"minAmountOut",type:"uint256"}],internalType:"struct FlatcoinStructs.AnnouncedStableWithdraw",name:"_announcedWithdraw",type:"tuple"}],name:"executeWithdraw",outputs:[{internalType:"uint256",name:"_amountOut",type:"uint256"},{internalType:"uint256",name:"_withdrawFee",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_account",type:"address"}],name:"getLockedAmount",outputs:[{internalType:"uint256",name:"_amountLocked",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:"contract IFlatcoinVault",name:"_vault",type:"address"},{internalType:"uint256",name:"_stableWithdrawFee",type:"uint256"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_account",type:"address"},{internalType:"uint256",name:"_amount",type:"uint256"}],name:"lock",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_stableWithdrawFee",type:"uint256"}],name:"setStableWithdrawFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IFlatcoinVault",name:"_vault",type:"address"}],name:"setVault",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint32",name:"_maxAge",type:"uint32"}],name:"stableCollateralPerShare",outputs:[{internalType:"uint256",name:"_collateralPerShare",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"stableCollateralPerShare",outputs:[{internalType:"uint256",name:"_collateralPerShare",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"stableCollateralTotalAfterSettlement",outputs:[{internalType:"uint256",name:"_stableCollateralBalance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"_maxAge",type:"uint32"}],name:"stableCollateralTotalAfterSettlement",outputs:[{internalType:"uint256",name:"_stableCollateralBalance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_depositAmount",type:"uint256"}],name:"stableDepositQuote",outputs:[{internalType:"uint256",name:"_amountOut",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"stableWithdrawFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_withdrawAmount",type:"uint256"}],name:"stableWithdrawQuote",outputs:[{internalType:"uint256",name:"_amountOut",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",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:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_account",type:"address"},{internalType:"uint256",name:"_amount",type:"uint256"}],name:"unlock",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"vault",outputs:[{internalType:"contract IFlatcoinVault",name:"",type:"address"}],stateMutability:"view",type:"function"}],Mn=function(e){var n=be[e.network];if(!n)throw new Error("getStableModuleContract: network of "+e.network+" not supported");return new t.Contract(n.StableModule,hn,e.signer)},kn=function(){var e=l(ae.mark((function e(t,n){var a;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=Mn(t),e.next=3,a.stableDepositQuote(n.toString());case 3:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),gn=function(){var e=l(ae.mark((function e(t,n){var a;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=Mn(t),e.next=3,a.stableWithdrawQuote(n.toString());case 3:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),An=[{inputs:[{components:[{internalType:"bytes32",name:"moduleKey",type:"bytes32"},{internalType:"address",name:"moduleAddress",type:"address"}],internalType:"struct FlatcoinStructs.AuthorizedModule",name:"_module",type:"tuple"}],name:"addAuthorizedModule",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"bytes32",name:"moduleKey",type:"bytes32"},{internalType:"address",name:"moduleAddress",type:"address"}],internalType:"struct FlatcoinStructs.AuthorizedModule[]",name:"_modules",type:"tuple[]"}],name:"addAuthorizedModules",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"depositAmount",type:"uint256"}],name:"checkCollateralCap",outputs:[],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"additionalSkew",type:"uint256"}],name:"checkSkewMax",outputs:[],stateMutability:"view",type:"function"},{inputs:[],name:"collateral",outputs:[{internalType:"contract IERC20Upgradeable",name:"collateral",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"cumulativeFundingRate",outputs:[{internalType:"int256",name:"cumulativeFundingRate",type:"int256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_tokenId",type:"uint256"}],name:"deletePosition",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getCurrentFundingRate",outputs:[{internalType:"int256",name:"fundingRate",type:"int256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentSkew",outputs:[{internalType:"int256",name:"skew",type:"int256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getGlobalPositions",outputs:[{components:[{internalType:"uint256",name:"marginDepositedTotal",type:"uint256"},{internalType:"uint256",name:"lastPrice",type:"uint256"},{internalType:"uint256",name:"sizeOpenedTotal",type:"uint256"}],internalType:"struct FlatcoinStructs.GlobalPositions",name:"_globalPositions",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_tokenId",type:"uint256"}],name:"getPosition",outputs:[{components:[{internalType:"uint256",name:"lastPrice",type:"uint256"},{internalType:"uint256",name:"marginDeposited",type:"uint256"},{internalType:"uint256",name:"additionalSize",type:"uint256"},{internalType:"int256",name:"entryCumulativeFunding",type:"int256"}],internalType:"struct FlatcoinStructs.Position",name:"position",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[],name:"getVaultSummary",outputs:[{components:[{internalType:"int256",name:"marketSkew",type:"int256"},{internalType:"int256",name:"cumulativeFundingRate",type:"int256"},{internalType:"int256",name:"lastRecomputedFundingRate",type:"int256"},{internalType:"uint64",name:"lastRecomputedFundingTimestamp",type:"uint64"},{internalType:"uint256",name:"stableCollateralTotal",type:"uint256"},{components:[{internalType:"uint256",name:"marginDepositedTotal",type:"uint256"},{internalType:"uint256",name:"lastPrice",type:"uint256"},{internalType:"uint256",name:"sizeOpenedTotal",type:"uint256"}],internalType:"struct FlatcoinStructs.GlobalPositions",name:"globalPositions",type:"tuple"}],internalType:"struct FlatcoinStructs.VaultSummary",name:"_vaultSummary",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_address",type:"address"}],name:"isAuthorizedModule",outputs:[{internalType:"bool",name:"status",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"moduleKey",type:"bytes32"}],name:"isModulePaused",outputs:[{internalType:"bool",name:"paused",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"lastRecomputedFundingRate",outputs:[{internalType:"int256",name:"lastRecomputedFundingRate",type:"int256"}],stateMutability:"view",type:"function"},{inputs:[],name:"lastRecomputedFundingTimestamp",outputs:[{internalType:"uint64",name:"lastRecomputedFundingTimestamp",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[],name:"maxExecutabilityAge",outputs:[{internalType:"uint64",name:"maxExecutabilityAge",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[],name:"maxFundingVelocity",outputs:[{internalType:"uint256",name:"maxFundingVelocity",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"maxVelocitySkew",outputs:[{internalType:"uint256",name:"maxVelocitySkew",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"minExecutabilityAge",outputs:[{internalType:"uint64",name:"minExecutabilityAge",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"_moduleKey",type:"bytes32"}],name:"moduleAddress",outputs:[{internalType:"address",name:"moduleAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"_moduleKey",type:"bytes32"}],name:"removeAuthorizedModule",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"sendCollateral",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"lastPrice",type:"uint256"},{internalType:"uint256",name:"marginDeposited",type:"uint256"},{internalType:"uint256",name:"additionalSize",type:"uint256"},{internalType:"int256",name:"entryCumulativeFunding",type:"int256"}],internalType:"struct FlatcoinStructs.Position",name:"_position",type:"tuple"},{internalType:"uint256",name:"_tokenId",type:"uint256"}],name:"setPosition",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"settleFundingFees",outputs:[{internalType:"int256",name:"fundingFees",type:"int256"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"skewFractionMax",outputs:[{internalType:"uint256",name:"skewFractionMax",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"stableCollateralCap",outputs:[{internalType:"uint256",name:"collateralCap",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"stableCollateralTotal",outputs:[{internalType:"uint256",name:"totalAmount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"price",type:"uint256"},{internalType:"int256",name:"marginDelta",type:"int256"},{internalType:"int256",name:"additionalSizeDelta",type:"int256"}],name:"updateGlobalPositionData",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"int256",name:"_stableCollateralAdjustment",type:"int256"}],name:"updateStableCollateralTotal",outputs:[],stateMutability:"nonpayable",type:"function"}],Dn=[{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"ethOracle",type:"address"},{internalType:"address",name:"oracleModule",type:"address"},{internalType:"address",name:"assetToPayWith",type:"address"},{internalType:"uint256",name:"profitMarginUSD",type:"uint256"},{internalType:"uint256",name:"profitMarginPercent",type:"uint256"},{internalType:"uint256",name:"keeperFeeUpperBound",type:"uint256"},{internalType:"uint256",name:"keeperFeeLowerBound",type:"uint256"},{internalType:"uint256",name:"gasUnitsL1",type:"uint256"},{internalType:"uint256",name:"gasUnitsL2",type:"uint256"},{internalType:"uint256",name:"stalenessPeriod",type:"uint256"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"ETHPriceInvalid",type:"error"},{inputs:[],name:"ETHPriceStale",type:"error"},{inputs:[{internalType:"uint256",name:"fee",type:"uint256"}],name:"InvalidFee",type:"error"},{inputs:[],name:"MathOverflowedMulDiv",type:"error"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"OwnableInvalidOwner",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"OwnableUnauthorizedAccount",type:"error"},{inputs:[{internalType:"enum FlatcoinErrors.PriceSource",name:"priceSource",type:"uint8"}],name:"PriceInvalid",type:"error"},{inputs:[{internalType:"enum FlatcoinErrors.PriceSource",name:"priceSource",type:"uint8"}],name:"PriceStale",type:"error"},{inputs:[{internalType:"string",name:"variableName",type:"string"}],name:"ZeroAddress",type:"error"},{inputs:[{internalType:"string",name:"variableName",type:"string"}],name:"ZeroValue",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{inputs:[],name:"MODULE_KEY",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getConfig",outputs:[{internalType:"address",name:"gasPriceOracle",type:"address"},{internalType:"uint256",name:"profitMarginUSD",type:"uint256"},{internalType:"uint256",name:"profitMarginPercent",type:"uint256"},{internalType:"uint256",name:"keeperFeeUpperBound",type:"uint256"},{internalType:"uint256",name:"keeperFeeLowerBound",type:"uint256"},{internalType:"uint256",name:"gasUnitsL1",type:"uint256"},{internalType:"uint256",name:"gasUnitsL2",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getKeeperFee",outputs:[{internalType:"uint256",name:"keeperFeeCollateral",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"baseFee",type:"uint256"}],name:"getKeeperFee",outputs:[{internalType:"uint256",name:"keeperFeeCollateral",type:"uint256"}],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:"gasPriceOracle",type:"address"}],name:"setGasPriceOracle",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"profitMarginUSD",type:"uint256"},{internalType:"uint256",name:"profitMarginPercent",type:"uint256"},{internalType:"uint256",name:"keeperFeeUpperBound",type:"uint256"},{internalType:"uint256",name:"keeperFeeLowerBound",type:"uint256"},{internalType:"uint256",name:"gasUnitsL1",type:"uint256"},{internalType:"uint256",name:"gasUnitsL2",type:"uint256"}],name:"setParameters",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"keeperFeeUpperBound",type:"uint256"},{internalType:"uint256",name:"keeperFeeLowerBound",type:"uint256"}],name:"setParameters",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}],In=function(){var e=l(ae.mark((function e(n){var a,i,r,s;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=be[n.network]){e.next=3;break}throw new Error("getStableModuleContract: network of "+n.network+" not supported");case 3:return i=new t.Contract(a.FlatcoinVault,An,n.signer),r=t.ethers.utils.formatBytes32String("keeperFee"),e.next=7,i.callStatic.moduleAddress(r);case 7:return s=new t.ethers.Contract(e.sent,Dn,n.signer),e.abrupt("return",s);case 10:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),On=function(){var e=l(ae.mark((function e(n,a){var i,r,s,u;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,In(n);case 2:return i=e.sent,e.next=5,n.signer.provider.send("eth_feeHistory",[1,"latest",[]]);case 5:if(!(r=Number(e.sent.baseFeePerGas[0]))){e.next=13;break}return e.next=10,i["getKeeperFee(uint256)"](new p(r.toString()).times(1.5).toFixed(0));case 10:s=e.sent,e.next=16;break;case 13:return e.next=15,i["getKeeperFee()"]();case 15:s=e.sent;case 16:return e.next=18,En(n,s);case 18:if(u=e.sent,!Number.isFinite(a)||!u.gt(t.ethers.BigNumber.from(a).toString())){e.next=21;break}throw new Error("mintUnitViaFlatMoney: keeperFee too large");case 21:return e.abrupt("return",s);case 22:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),En=function(){var e=l(ae.mark((function e(t,n){var a,i,r,s;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=be[t.network]){e.next=3;break}throw new Error("getKeeperFeeInUsd: network of "+t.network+" not supported");case 3:return e.next=5,t.getComposition();case 5:if((i=e.sent.filter((function(e){return e.asset.toLocaleLowerCase()===a.COLLATERAL.toLocaleLowerCase()})))[0]){e.next=9;break}throw new Error("getKeeperFeeInUsd: required asset not enabled yet");case 9:return r=new p(i[0].rate.toString()).div(1e18),e.next=12,t.utils.getDecimals(a.COLLATERAL);case 12:return s=e.sent,e.abrupt("return",r.times(n.toString()).div(Math.pow(10,s)));case 14:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}();function Cn(e,n,a){return new t.ethers.utils.Interface(vn).encodeFunctionData("announceStableDeposit",[e,n,a])}function Sn(e,n,a){return new t.ethers.utils.Interface(vn).encodeFunctionData("announceStableWithdraw",[e,n,a])}function Pn(e){return new t.ethers.utils.Interface(vn).encodeFunctionData("cancelExistingOrder",[e])}function Rn(e){return new t.ethers.utils.Interface(xn).encodeFunctionData("cancelExistingOrder",[e])}function Fn(e,t,n,a,i,r){return Ln.apply(this,arguments)}function Ln(){return(Ln=l(ae.mark((function e(t,n,a,i,r,s){var u,y,o,d,l;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===r&&(r=null),void 0===s&&(s={estimateGas:!1}),u=be[t.network]){e.next=5;break}throw new Error("mintUnitViaFlatMoney: network not supported");case 5:return e.next=7,On(t,i);case 7:return y=e.sent,o=new p(n.toString()).minus(y.toString()),e.next=11,kn(t,o.toFixed(0));case 11:return d=new p(e.sent.toString()).times(1-a/100).toFixed(0),e.next=15,Cn(o.toFixed(0),d,y);case 15:return l=e.sent,e.next=18,Ft(t,[u.DelayedOrder,l,r],s);case 18:return e.abrupt("return",e.sent);case 20:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function _n(e,t,n,a,i,r){return Bn.apply(this,arguments)}function Bn(){return(Bn=l(ae.mark((function e(t,n,a,i,r,s){var u,y,o,d;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===r&&(r=null),void 0===s&&(s={estimateGas:!1}),u=be[t.network]){e.next=5;break}throw new Error("redeemUnitViaFlatMoney: network not supported");case 5:return e.next=7,On(t,i);case 7:return y=e.sent,e.next=10,gn(t,n);case 10:return o=new p(e.sent.toString()).times(1-a/100).minus(y.toString()).toFixed(0),e.next=14,Sn(n,o,y);case 14:return d=e.sent,e.next=17,Ft(t,[u.DelayedOrder,d,r],s);case 17:return e.abrupt("return",e.sent);case 19:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Nn(e,t,n){return Vn.apply(this,arguments)}function Vn(){return(Vn=l(ae.mark((function e(t,n,a){var i,r,s;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===n&&(n=null),void 0===a&&(a={estimateGas:!1}),i=be[t.network]){e.next=5;break}throw new Error("cancelOrderViaFlatMoney: network not supported");case 5:if(r=i.DelayedOrder,s=Pn(t.address),!i.OrderExecution){e.next=12;break}return r=i.OrderExecution,e.next=11,Rn(t.address);case 11:s=e.sent;case 12:return e.next=14,Ft(t,[r,s,n],m({},Rt(a)?{estimateGas:a}:a,{useTraderAddressAsFrom:!0}));case 14:return e.abrupt("return",e.sent);case 16:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var qn=[{inputs:[],name:"baseToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"supply",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"}],Un=[{inputs:[{internalType:"uint256",name:"assets_",type:"uint256"},{internalType:"address",name:"receiver_",type:"address"}],name:"deposit",outputs:[{internalType:"uint256",name:"shares_",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"shares_",type:"uint256"},{internalType:"address",name:"receiver_",type:"address"},{internalType:"address",name:"owner_",type:"address"}],name:"redeem",outputs:[{internalType:"uint256",name:"assets_",type:"uint256"}],stateMutability:"nonpayable",type:"function"}];function Wn(e,t,n,a){return Gn.apply(this,arguments)}function Gn(){return(Gn=l(ae.mark((function e(n,a,i,r){return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,zn(n,a);case 2:if(!e.sent){e.next=6;break}return e.abrupt("return",new t.ethers.utils.Interface(qn).encodeFunctionData("supply",[i,r]));case 6:return e.abrupt("return",new t.ethers.utils.Interface(Un).encodeFunctionData("deposit",[r,n.address]));case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Hn(e,t,n,a){return Kn.apply(this,arguments)}function Kn(){return(Kn=l(ae.mark((function e(n,a,i,r){return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,zn(n,a);case 2:if(!e.sent){e.next=6;break}return e.abrupt("return",new t.ethers.utils.Interface(qn).encodeFunctionData("withdraw",[i,r]));case 6:return e.abrupt("return",new t.ethers.utils.Interface(Un).encodeFunctionData("redeem",[r,n.address,n.address]));case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function zn(e,t){return Yn.apply(this,arguments)}function Yn(){return(Yn=l(ae.mark((function e(n,a){var i;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=new t.ethers.Contract(a,qn,n.signer),e.prev=1,e.next=4,i.baseToken();case 4:return e.abrupt("return",!0);case 7:return e.prev=7,e.t0=e.catch(1),e.abrupt("return",!1);case 10:case"end":return e.stop()}}),e,null,[[1,7]])})))).apply(this,arguments)}var jn=[{inputs:[{internalType:"address",name:"governor_",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"AlreadyConfigured",type:"error"},{inputs:[],name:"BadData",type:"error"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"InvalidUInt64",type:"error"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"NotPermitted",type:"error"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"NotSupported",type:"error"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"}],name:"TransferOutFailed",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldGovernor",type:"address"},{indexed:!0,internalType:"address",name:"newGovernor",type:"address"}],name:"GovernorTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"src",type:"address"},{indexed:!0,internalType:"address",name:"recipient",type:"address"},{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"RewardClaimed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"comet",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"RewardsClaimedSet",type:"event"},{inputs:[{internalType:"address",name:"comet",type:"address"},{internalType:"address",name:"src",type:"address"},{internalType:"bool",name:"shouldAccrue",type:"bool"}],name:"claim",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"comet",type:"address"},{internalType:"address",name:"src",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"shouldAccrue",type:"bool"}],name:"claimTo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"comet",type:"address"},{internalType:"address",name:"account",type:"address"}],name:"getRewardOwed",outputs:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"owed",type:"uint256"}],internalType:"struct CometRewards.RewardOwed",name:"",type:"tuple"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"governor",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"rewardConfig",outputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint64",name:"rescaleFactor",type:"uint64"},{internalType:"bool",name:"shouldUpscale",type:"bool"},{internalType:"uint256",name:"multiplier",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"rewardsClaimed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"comet",type:"address"},{internalType:"address",name:"token",type:"address"}],name:"setRewardConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"comet",type:"address"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"multiplier",type:"uint256"}],name:"setRewardConfigWithMultiplier",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"comet",type:"address"},{internalType:"address[]",name:"users",type:"address[]"},{internalType:"uint256[]",name:"claimedAmounts",type:"uint256[]"}],name:"setRewardsClaimed",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newGovernor",type:"address"}],name:"transferGovernor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawToken",outputs:[],stateMutability:"nonpayable",type:"function"}];function Qn(e,n){return new t.ethers.utils.Interface(jn).encodeFunctionData("claim",[n,e.address,!0])}var Xn=new t.ethers.utils.Interface(ke),Zn=new t.ethers.utils.Interface(Ce);function Jn(e,t,n){return Xn.encodeFunctionData("safeTransferFrom",[e.address,n,t])}function $n(e,t){var n=Zn.encodeFunctionData(exports.Transaction.HARVEST,[t,e.address]),a=Zn.encodeFunctionData(exports.Transaction.COLLECT,[[t,e.address,Te,Te]]);return Zn.encodeFunctionData(exports.Transaction.MULTI_CALL,[[n,a]])}var ea=[{inputs:[{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"market",type:"address"},{internalType:"uint256",name:"netPtIn",type:"uint256"},{internalType:"uint256",name:"netLpIn",type:"uint256"},{components:[{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint256",name:"minTokenOut",type:"uint256"},{internalType:"address",name:"tokenRedeemSy",type:"address"},{internalType:"address",name:"pendleSwap",type:"address"},{components:[{internalType:"enum SwapType",name:"swapType",type:"uint8"},{internalType:"address",name:"extRouter",type:"address"},{internalType:"bytes",name:"extCalldata",type:"bytes"},{internalType:"bool",name:"needScale",type:"bool"}],internalType:"struct SwapData",name:"swapData",type:"tuple"}],internalType:"struct TokenOutput",name:"output",type:"tuple"}],name:"exitPostExpToToken",outputs:[{internalType:"uint256",name:"totalTokenOut",type:"uint256"},{components:[{internalType:"uint256",name:"netPtFromRemove",type:"uint256"},{internalType:"uint256",name:"netSyFromRemove",type:"uint256"},{internalType:"uint256",name:"netPtRedeem",type:"uint256"},{internalType:"uint256",name:"netSyFromRedeem",type:"uint256"},{internalType:"uint256",name:"totalSyOut",type:"uint256"}],internalType:"struct IPActionMiscV3.ExitPostExpReturnParams",name:"params",type:"tuple"}],stateMutability:"nonpayable",type:"function"}],ta=[{inputs:[],name:"SY",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"}],na=[{inputs:[],name:"exchangeRate",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}],aa="https://api-v2.pendle.finance/core/v1";function ia(e,t,n,a,i){return ra.apply(this,arguments)}function ra(){return(ra=l(ae.mark((function e(t,n,a,i,r){var s,p,y,o,d;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ya(t,n,a);case 2:if(!(s=e.sent)){e.next=8;break}return e.next=6,oa(t,n,a,i,s);case 6:return e.abrupt("return",{swapTxData:(p=e.sent).txData,minAmountOut:p.minAmountOut});case 8:return y={receiver:t.address,tokenIn:n,tokenOut:a,amountIn:i.toString(),slippage:r/100},e.next=11,pa(t,n,a);case 11:return o=e.sent,e.prev=12,e.next=15,u.get(aa+"/sdk/"+le[t.network]+"/markets/"+o+"/swap",{params:y});case 15:return e.abrupt("return",{swapTxData:(d=e.sent).data.tx.data,minAmountOut:d.data.data.amountOut});case 19:throw e.prev=19,e.t0=e.catch(12),console.error("Error in Pendle API request:",e.t0),new Aa("Pendle api request failed");case 23:case"end":return e.stop()}}),e,null,[[12,19]])})))).apply(this,arguments)}var sa=function(e,t,n){if(e.underlyingAsset!==n+"-"+t.toLocaleLowerCase())throw new Error("Can only trade in or out of the underlying asset")};function pa(e,t,n){return ua.apply(this,arguments)}function ua(){return(ua=l(ae.mark((function e(t,n,a){var i,r,s,p;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=le[t.network],e.prev=1,e.next=4,u.get(aa+"/"+i+"/markets/active");case 4:r=e.sent,e.next=11;break;case 7:throw e.prev=7,e.t0=e.catch(1),console.error("Error in Pendle API request:",e.t0),new Aa("Pendle api request failed");case 11:if(s=r.data.markets,!(p=[n,a].map((function(e){return s.find((function(t){return t.pt===i+"-"+e.toLocaleLowerCase()}))})))[0]){e.next=18;break}return sa(p[0],a,i),e.abrupt("return",p[0].address);case 18:if(!p[1]){e.next=23;break}return sa(p[1],n,i),e.abrupt("return",p[1].address);case 23:throw new Error("Can only trade PT assets");case 24:case"end":return e.stop()}}),e,null,[[1,7]])})))).apply(this,arguments)}var ya=function(){var e=l(ae.mark((function e(t,n,a){var i,r,s,p;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=le[t.network],e.prev=1,e.next=4,u.get(aa+"/"+i+"/markets/inactive");case 4:r=e.sent,e.next=11;break;case 7:throw e.prev=7,e.t0=e.catch(1),console.error("Error in Pendle API request:",e.t0),new Aa("Pendle api request failed");case 11:if(s=r.data.markets,!(p=[n,a].map((function(e){return s.find((function(t){return t.pt===i+"-"+e.toLocaleLowerCase()}))})))[0]){e.next=18;break}return sa(p[0],a,i),e.abrupt("return",p[0].address);case 18:if(!p[1]){e.next=22;break}throw new Error("Can not trade to expired PT asset");case 22:return e.abrupt("return",null);case 23:case"end":return e.stop()}}),e,null,[[1,7]])})));return function(t,n,a){return e.apply(this,arguments)}}(),oa=function(){var e=l(ae.mark((function e(n,a,i,r,s){var u,y,o,d,l,m;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u=new t.ethers.utils.Interface(ea),y=u.encodeFunctionData("exitPostExpToToken",[n.address,s,r.toString(),0,[i,0,i,t.ethers.constants.AddressZero,[0,t.ethers.constants.AddressZero,t.ethers.constants.HashZero,!1]]]),o=new t.ethers.Contract(a,ta,n.signer),e.t0=t.ethers.Contract,e.next=6,o.SY();case 6:return e.t1=e.sent,e.t2=na,e.t3=n.signer,d=new e.t0(e.t1,e.t2,e.t3),e.next=12,d.exchangeRate();case 12:return l=e.sent,m=new p(r.toString()).times(1e18).div(l.toString()).decimalPlaces(0,p.ROUND_DOWN).toFixed(0),e.abrupt("return",{txData:y,minAmountOut:m});case 15:case"end":return e.stop()}}),e)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),da=[{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint16",name:"assetType",type:"uint16"},{indexed:!1,internalType:"address",name:"aggregator",type:"address"}],name:"AddedAsset",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:"asset",type:"address"}],name:"RemovedAsset",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"_chainlinkTimeout",type:"uint256"}],name:"SetChainlinkTimeout",type:"event"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint16",name:"assetType",type:"uint16"},{internalType:"address",name:"aggregator",type:"address"}],name:"addAsset",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint16",name:"assetType",type:"uint16"},{internalType:"address",name:"aggregator",type:"address"}],internalType:"struct IAssetHandler.Asset[]",name:"assets",type:"tuple[]"}],name:"addAssets",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"assetTypes",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[],name:"chainlinkTimeout",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getUSDPrice",outputs:[{internalType:"uint256",name:"price",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint16",name:"assetType",type:"uint16"},{internalType:"address",name:"aggregator",type:"address"}],internalType:"struct IAssetHandler.Asset[]",name:"assets",type:"tuple[]"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"priceAggregators",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"removeAsset",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"newTimeoutPeriod",type:"uint256"}],name:"setChainlinkTimeout",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}],la=function(){var e=l(ae.mark((function e(n,a,i,r,s){var p,u,y,o,d;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:p=[],u=t.ethers.utils.formatBytes32String("ODOS_V2"),y=ae.mark((function e(){var t,a,s;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=(t=d.value).balance,(a=t.token).toLowerCase()!==i.toLowerCase()){e.next=3;break}return e.abrupt("return","continue");case 3:return e.next=5,Xe({fn:function(){return at({srcAsset:a,srcAmount:s.toString(),dstAsset:i,chainId:le[n.network],from:nt,receiver:nt,slippage:r})},delayMs:1500,maxRetries:7});case 5:p.push({token:a,amount:s,aggregatorData:{routerKey:u,swapData:e.sent}});case 7:case"end":return e.stop()}}),e)})),o=x(a);case 4:if((d=o()).done){e.next=11;break}return e.delegateYield(y(),"t0",6);case 6:if("continue"!==e.t0){e.next=9;break}return e.abrupt("continue",9);case 9:e.next=4;break;case 11:return e.abrupt("return",{srcData:p,destData:{destToken:i,minDestAmount:s.toString()}});case 12:case"end":return e.stop()}}),e)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),ma=function(){var e=l(ae.mark((function e(n,a,i){var r,s,u,y,o,d,m,c,T,b;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new t.ethers.Contract(ue[n.network][exports.Dapp.TOROS],Ke,n.signer),e.next=3,r.getTrackedAssets(n.address);case 3:if(0!==(s=e.sent).length&&!s.every((function(e){return e.token.toLowerCase()===a.toLowerCase()}))){e.next=6;break}return e.abrupt("return",{isSwapNeeded:!1,swapData:null,estimatedMinReceiveAmount:null});case 6:return u=s.filter((function(e){return e.token.toLowerCase()!==a.toLowerCase()})),e.next=9,n.factory.callStatic.getAssetHandler();case 9:return y=new t.ethers.Contract(e.sent,da,n.signer),e.t0=p,e.next=14,y.getUSDPrice(a);case 14:return e.t1=e.sent.toString(),o=new e.t0(e.t1),e.next=18,new t.ethers.Contract(a,fe,n.signer);case 18:return d=e.sent,e.next=21,d.decimals();case 21:return m=e.sent,e.next=24,Promise.all(u.map(function(){var e=l(ae.mark((function e(a){var r,s,u,d,l,c,T;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=p,e.next=3,y.getUSDPrice(a.token);case 3:return e.t1=e.sent.toString(),r=new e.t0(e.t1),e.next=7,new t.ethers.Contract(a.token,fe,n.signer);case 7:return s=e.sent,e.next=10,s.decimals();case 10:return u=e.sent,d=new p(a.balance.toString()),l=d.times(r).div(Math.pow(10,18)).div(Math.pow(10,Number(u.toString()))),c=l.lte(1)?500:i,T=d.times(r).div(o).div(Math.pow(10,Number(u.toString()))).times(Math.pow(10,Number(m.toString()))).times(1-c/1e4).decimalPlaces(0,p.ROUND_DOWN),e.abrupt("return",{token:a.token,balance:a.balance,estimatedMinReceiveAmount:T});case 16:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 24:return c=e.sent.reduce((function(e,t){return e.plus(t.estimatedMinReceiveAmount)}),new p(0)),e.next=28,r.withdrawalContracts(n.address);case 28:return T=e.sent,e.next=31,d.balanceOf(T);case 31:return b=c.plus(e.sent.toString()),e.next=35,la(n,u,a,i,b);case 35:return e.abrupt("return",{isSwapNeeded:!0,swapData:e.sent,estimatedMinReceiveAmount:b.toFixed(0)});case 37:case"end":return e.stop()}}),e)})));return function(t,n,a){return e.apply(this,arguments)}}(),ca=function(){var e=l(ae.mark((function e(n,a,i,r){var s,p,u,y;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ma(n,a,i);case 2:if(p=(s=e.sent).isSwapNeeded,u=!r&&p,y=new t.ethers.utils.Interface(Ke),!u){e.next=10;break}return e.abrupt("return",y.encodeFunctionData("completeWithdrawal(((address,uint256,(bytes32,bytes))[],(address,uint256)),uint256)",[s.swapData,s.estimatedMinReceiveAmount]));case 10:return e.abrupt("return",y.encodeFunctionData("completeWithdrawal()"));case 11:case"end":return e.stop()}}),e)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),Ta="https://aggregator-api.kyberswap.com";function ba(e,t,n,a,i){return fa.apply(this,arguments)}function fa(){return(fa=l(ae.mark((function e(t,n,a,i,r){var s,p,y;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s={tokenIn:n,tokenOut:a,amountIn:i.toString()},e.prev=1,e.next=4,u.get(Ta+"/"+t.network+"/api/v1/routes",{params:s});case 4:return p={routeSummary:e.sent.data.data.routeSummary,sender:t.address,recipient:t.address,slippageTolerance:100*r},e.next=8,u.post(Ta+"/"+t.network+"/api/v1/route/build",p);case 8:return e.abrupt("return",{swapTxData:(y=e.sent).data.data.data,minAmountOut:y.data.data.amountOut});case 12:throw e.prev=12,e.t0=e.catch(1),console.error("Error in KyberSwap API request:",e.t0),new Aa("Swap api request of KyberSwap failed");case 16:case"end":return e.stop()}}),e,null,[[1,12]])})))).apply(this,arguments)}var wa=function(){function e(e,t,n,a,i,r,s){void 0===s&&(s=!0),this.network=e,this.poolLogic=n,this.address=n.address,this.managerLogic=a,this.signer=t,this.utils=i,this.factory=r,this.isDhedge=s}var n=e.prototype;return n.getComposition=function(){var e=l(ae.mark((function e(){var t,n;return ae.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=l(ae.mark((function e(n,a,i,r){var s;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===i&&(i=null),void 0===r&&(r=!1),s=new t.ethers.Contract(n,fe,this.signer),!r){e.next=7;break}return e.next=6,s.estimateGas.approve(this.address,a,i);case 6:return e.abrupt("return",e.sent);case 7:return e.next=9,s.approve(this.address,a,i);case 9:return e.abrupt("return",e.sent);case 11:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.deposit=function(){var e=l(ae.mark((function e(t,n,a,i){return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===a&&(a=null),void 0===i&&(i=!1),!i){e.next=6;break}return e.next=5,this.poolLogic.estimateGas.deposit(t,n,a);case 5:return e.abrupt("return",e.sent);case 6:return e.next=8,this.poolLogic.deposit(t,n,a);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.withdraw=function(){var e=l(ae.mark((function e(t,n,a){return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===n&&(n=null),void 0===a&&(a=!1),!a){e.next=6;break}return e.next=5,this.poolLogic.estimateGas.withdraw(t,n);case 5:return e.abrupt("return",e.sent);case 6:return e.next=8,this.poolLogic.withdraw(t,n);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.approve=function(){var e=l(ae.mark((function e(n,a,i,r,s){var p,u;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),void 0===s&&(s={estimateGas:!1}),p=new t.ethers.utils.Interface(fe),u=p.encodeFunctionData("approve",[ue[this.network][n],i]),e.next=6,Ft(this,[a,u,r],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.approveStaking=function(){var e=l(ae.mark((function e(n,a,i,r,s){var p,u;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),void 0===s&&(s={estimateGas:!1}),p=new t.ethers.utils.Interface(fe),u=p.encodeFunctionData("approve",[oe[this.network][n],i]),e.next=6,Ft(this,[a,u,r],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.approveUniswapV3Liquidity=function(){var e=l(ae.mark((function e(n,a,i,r){var s,p;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===i&&(i=null),void 0===r&&(r={estimateGas:!1}),s=new t.ethers.utils.Interface(fe),p=s.encodeFunctionData("approve",[de[this.network][exports.Dapp.UNISWAPV3],a]),e.next=6,Ft(this,[n,p,i],r);case 6:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.approveSpender=function(){var e=l(ae.mark((function e(n,a,i,r,s){var p,u;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),void 0===s&&(s={estimateGas:!1}),p=new t.ethers.utils.Interface(fe),u=p.encodeFunctionData("approve",[n,i]),e.next=6,Ft(this,[a,u,r],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.approveSpenderNFT=function(){var e=l(ae.mark((function e(n,a,i,r,s){var p,u;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),void 0===s&&(s={estimateGas:!1}),p=new t.ethers.utils.Interface(we),u=p.encodeFunctionData("approve",[n,i]),e.next=6,Ft(this,[a,u,r],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.trade=function(){var e=l(ae.mark((function e(n,a,i,r,s,p,u){var y,o,d,l,m,c,T,b,f,w;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:void 0===s&&(s=.5),void 0===p&&(p=null),void 0===u&&(u={estimateGas:!1}),o=null,e.t0=n,e.next=e.t0===exports.Dapp.ONEINCH?7:e.t0===exports.Dapp.BALANCER?13:e.t0===exports.Dapp.SYNTHETIX?17:e.t0===exports.Dapp.TOROS?24:e.t0===exports.Dapp.ODOS?28:e.t0===exports.Dapp.PENDLE?34:e.t0===exports.Dapp.KYBERSWAP?40:46;break;case 7:return e.next=9,mn(this,a,i,r,s);case 9:return y=(d=e.sent).swapTxData,o=d.dstAmount,e.abrupt("break",61);case 13:return e.next=15,this.utils.getBalancerSwapTx(this,a,i,r,s);case 15:return y=e.sent,e.abrupt("break",61);case 17:return l=new t.ethers.utils.Interface(he),m=[a,i].map((function(e){return t.ethers.utils.formatBytes32String(e)})),e.next=21,this.factory.owner();case 21:return y=l.encodeFunctionData(exports.Transaction.SWAP_SYNTHS,[m[0],r,m[1],e.sent,"0x4448454447450000000000000000000000000000000000000000000000000000"]),e.abrupt("break",61);case 24:return e.next=26,lt(this,a,i,t.ethers.BigNumber.from(r),s);case 26:return y=e.sent,e.abrupt("break",61);case 28:return e.next=30,et(this,a,i,r,s);case 30:return y=(c=e.sent).swapTxData,o=c.minAmountOut,e.abrupt("break",61);case 34:return e.next=36,ia(this,a,i,r,s);case 36:return y=(T=e.sent).swapTxData,o=T.minAmountOut,e.abrupt("break",61);case 40:return e.next=42,ba(this,a,i,r,s);case 42:return y=(b=e.sent).swapTxData,o=b.minAmountOut,e.abrupt("break",61);case 46:return f=new t.ethers.utils.Interface(Me),e.next=49,this.utils.getMinAmountOut(n,a,i,r,s);case 49:return w=e.sent,e.t1=f,e.t2=exports.Transaction.SWAP,e.t3=r,e.t4=w,e.t5=[a,i],e.t6=this.address,e.next=58,Se(this);case 58:e.t7=e.sent,e.t8=[e.t3,e.t4,e.t5,e.t6,e.t7],y=e.t1.encodeFunctionData.call(e.t1,e.t2,e.t8);case 61:return e.next=63,Ft(this,[ue[this.network][n],y,p,o],u);case 63:return e.abrupt("return",e.sent);case 65:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s,p){return e.apply(this,arguments)}}(),n.addLiquidity=function(){var e=l(ae.mark((function e(n,a,i,r,s,p,u){var y,o;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===p&&(p=null),void 0===u&&(u={estimateGas:!1}),y=new t.ethers.utils.Interface(Me),e.t0=y,e.t1=exports.Transaction.ADD_LIQUIDITY,e.t2=a,e.t3=i,e.t4=r,e.t5=s,e.t6=this.address,e.next=12,Se(this);case 12:return e.t7=e.sent,e.t8=[e.t2,e.t3,e.t4,e.t5,0,0,e.t6,e.t7],o=e.t0.encodeFunctionData.call(e.t0,e.t1,e.t8),e.next=17,Ft(this,[ue[this.network][n],o,p],u);case 17:return e.abrupt("return",e.sent);case 19:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s,p){return e.apply(this,arguments)}}(),n.removeLiquidity=function(){var e=l(ae.mark((function e(n,a,i,r,s,p){var u,y;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===s&&(s=null),void 0===p&&(p={estimateGas:!1}),u=new t.ethers.utils.Interface(Me),e.t0=u,e.t1=exports.Transaction.REMOVE_LIQUIDITY,e.t2=a,e.t3=i,e.t4=r,e.t5=this.address,e.next=11,Se(this);case 11:return e.t6=e.sent,e.t7=[e.t2,e.t3,e.t4,0,0,e.t5,e.t6],y=e.t0.encodeFunctionData.call(e.t0,e.t1,e.t7),e.next=16,Ft(this,[ue[this.network][n],y,s],p);case 16:return e.abrupt("return",e.sent);case 18:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s){return e.apply(this,arguments)}}(),n.stake=function(){var e=l(ae.mark((function e(n,a,i,r,s){var p,u;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),void 0===s&&(s={estimateGas:!1}),p=new t.ethers.utils.Interface(ve),e.next=5,this.utils.getLpPoolId(n,a);case 5:return u=p.encodeFunctionData(exports.Transaction.DEPOSIT,[e.sent,i,this.address]),e.next=9,Ft(this,[oe[this.network][n],u,r],s);case 9:return e.abrupt("return",e.sent);case 11:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),n.stakeInGauge=function(){var e=l(ae.mark((function e(n,a,i,r,s){var p,u,y;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:void 0===r&&(r=null),void 0===s&&(s={estimateGas:!1}),e.t0=n,e.next=e.t0===exports.Dapp.BALANCER?5:e.t0===exports.Dapp.VELODROME||e.t0===exports.Dapp.RAMSES?8:e.t0===exports.Dapp.VELODROMEV2||e.t0===exports.Dapp.AERODROME||e.t0===exports.Dapp.VELODROMECL||e.t0===exports.Dapp.AERODROMECL?10:e.t0===exports.Dapp.PANCAKECL?12:14;break;case 5:return u=new t.ethers.utils.Interface(De),p=u.encodeFunctionData("deposit(uint256)",[i]),e.abrupt("break",15);case 8:return p=Bt(i,!1),e.abrupt("break",15);case 10:return p=Bt(i,!0),e.abrupt("break",15);case 12:return p=Jn(this,i.toString(),a),e.abrupt("break",15);case 14:throw new Error("dapp not supported");case 15:return y=n!==exports.Dapp.PANCAKECL?a:de[this.network][n],e.next=18,Ft(this,[y,p,r],s);case 18:return e.abrupt("return",e.sent);case 20:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),n.unStake=function(){var e=l(ae.mark((function e(n,a,i,r,s){var p,u;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),void 0===s&&(s={estimateGas:!1}),p=new t.ethers.utils.Interface(ve),e.next=5,this.utils.getLpPoolId(n,a);case 5:return u=p.encodeFunctionData(exports.Transaction.WITHDRAW,[e.sent,i,this.address]),e.next=9,Ft(this,[oe[this.network][n],u,r],s);case 9:return e.abrupt("return",e.sent);case 11:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),n.unstakeFromGauge=function(){var e=l(ae.mark((function e(n,a,i,r){var s,p,u;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===i&&(i=null),void 0===r&&(r={estimateGas:!1}),u=new t.ethers.utils.Interface(De),n.toLowerCase()===(null==(s=oe[this.network][exports.Dapp.PANCAKECL])?void 0:s.toLowerCase())?(y=a.toString(),p=Zn.encodeFunctionData("withdraw",[y,this.address])):p=u.encodeFunctionData("withdraw(uint256)",[a]),e.next=6,Ft(this,[n,p,i],r);case 6:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}var y}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.lend=function(){var e=l(ae.mark((function e(n,a,i,r,s,p){var u,y;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=0),void 0===s&&(s=null),void 0===p&&(p={estimateGas:!1}),u=new t.ethers.utils.Interface(xe.abi),y=u.encodeFunctionData(exports.Transaction.DEPOSIT,[a,i,this.address,r]),e.next=7,Ft(this,[ue[this.network][n],y,s],p);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.lendCompoundV3=function(){var e=l(ae.mark((function e(t,n,a,i,r){var s;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===i&&(i=null),void 0===r&&(r={estimateGas:!1}),e.next=4,Wn(this,t,n,a);case 4:return s=e.sent,e.next=7,Ft(this,[t,s,i],r);case 7:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),n.withdrawDeposit=function(){var e=l(ae.mark((function e(n,a,i,r,s){var p,u;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),void 0===s&&(s={estimateGas:!1}),p=new t.ethers.utils.Interface(xe.abi),u=p.encodeFunctionData(exports.Transaction.WITHDRAW,[a,i,this.address]),e.next=6,Ft(this,[ue[this.network][n],u,r],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.withdrawCompoundV3=function(){var e=l(ae.mark((function e(t,n,a,i,r){var s;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===i&&(i=null),void 0===r&&(r={estimateGas:!1}),e.next=4,Hn(this,t,n,a);case 4:return s=e.sent,e.next=7,Ft(this,[t,s,i],r);case 7:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),n.borrow=function(){var e=l(ae.mark((function e(n,a,i,r,s,p){var u,y;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=0),void 0===s&&(s=null),void 0===p&&(p={estimateGas:!1}),u=new t.ethers.utils.Interface(xe.abi),y=u.encodeFunctionData(exports.Transaction.BORROW,[a,i,2,r,this.address]),e.next=7,Ft(this,[ue[this.network][n],y,s],p);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.repay=function(){var e=l(ae.mark((function e(n,a,i,r,s){var p,u;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),void 0===s&&(s={estimateGas:!1}),p=new t.ethers.utils.Interface(xe.abi),u=p.encodeFunctionData(exports.Transaction.REPAY,[a,i,2,this.address]),e.next=6,Ft(this,[ue[this.network][n],u,r],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.harvestRewards=function(){var e=l(ae.mark((function e(n,a,i,r){var s,p;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===i&&(i=null),void 0===r&&(r={estimateGas:!1}),s=new t.ethers.utils.Interface(ve),e.next=5,this.utils.getLpPoolId(n,a);case 5:return p=s.encodeFunctionData(exports.Transaction.HARVEST,[e.sent,this.address]),e.next=9,Ft(this,[oe[this.network][n],p,i],r);case 9:return e.abrupt("return",e.sent);case 11:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.changeAssets=function(){var e=l(ae.mark((function e(t,n,a){var i,r,s,p;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===n&&(n=null),void 0===a&&(a=!1),e.next=4,this.getComposition();case 4:if(i=e.sent.map((function(e){return e.asset.toLocaleLowerCase()})),r=t.map((function(e){return e.asset.toLocaleLowerCase()})),s=i.filter((function(e){return!r.includes(e)})),p=t.map((function(e){return[e.asset,e.isDeposit]})),!a){e.next=13;break}return e.next=12,this.managerLogic.estimateGas.changeAssets(p,s,n);case 12:return e.abrupt("return",e.sent);case 13:return e.next=15,this.managerLogic.changeAssets(p,s,n);case 15:return e.abrupt("return",e.sent);case 17:case"end":return e.stop()}}),e,this)})));return function(t,n,a){return e.apply(this,arguments)}}(),n.setTrader=function(){var e=l(ae.mark((function e(t,n,a){return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===n&&(n=null),void 0===a&&(a=!1),!a){e.next=6;break}return e.next=5,this.managerLogic.estimateGas.setTrader(t,n);case 5:return e.abrupt("return",e.sent);case 6:return e.next=8,this.managerLogic.setTrader(t,n);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.setPrivate=function(){var e=l(ae.mark((function e(t,n,a){return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===n&&(n=null),void 0===a&&(a=!1),!a){e.next=6;break}return e.next=5,this.managerLogic.estimateGas.setPoolPrivate(t,n);case 5:return e.abrupt("return",e.sent);case 6:return e.next=8,this.managerLogic.setPoolPrivate(t,n);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.joinBalancerPool=function(){var e=l(ae.mark((function e(t,n,a,i,r){var s;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===i&&(i=null),void 0===r&&(r={estimateGas:!1}),s=this.utils.getBalancerJoinPoolTx(this,t,n,a),e.next=5,Ft(this,[ue[this.network][exports.Dapp.BALANCER],s,i],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.exitBalancerPool=function(){var e=l(ae.mark((function e(t,n,a,i,r,s){var p;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===i&&(i=null),void 0===r&&(r=null),void 0===s&&(s={estimateGas:!1}),p=this.utils.getBalancerExitPoolTx(this,t,n,i,a),e.next=6,Ft(this,[ue[this.network][exports.Dapp.BALANCER],p,r],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,s){return e.apply(this,arguments)}}(),n.harvestAaveRewards=function(){var e=l(ae.mark((function e(n,a,i){var r,s,p,u;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===a&&(a=null),void 0===i&&(i={estimateGas:!1}),r=oe[this.network][exports.Dapp.AAVE],s=new t.ethers.utils.Interface(ge),p=new t.ethers.Contract(r,s,this.signer),e.next=7,p.getUserUnclaimedRewards(this.address);case 7:return u=s.encodeFunctionData(exports.Transaction.CLAIM_REWARDS,[n,e.sent,this.address]),e.next=11,Ft(this,[r,u,a],i);case 11:return e.abrupt("return",e.sent);case 13:case"end":return e.stop()}}),e,this)})));return function(t,n,a){return e.apply(this,arguments)}}(),n.harvestAaveV3Rewards=function(){var e=l(ae.mark((function e(t,n,a,i){var r;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===a&&(a=null),void 0===i&&(i={estimateGas:!1}),e.next=4,wt(this,t,n);case 4:return r=e.sent,e.next=7,Ft(this,[oe[this.network][exports.Dapp.AAVEV3],r,a],i);case 7:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.harvestCompoundV3Rewards=function(){var e=l(ae.mark((function e(t,n,a){var i;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===n&&(n=null),void 0===a&&(a={estimateGas:!1}),e.next=4,Qn(this,t);case 4:return i=e.sent,e.next=7,Ft(this,[oe[this.network][exports.Dapp.COMPOUNDV3],i,n],a);case 7:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e,this)})));return function(t,n,a){return e.apply(this,arguments)}}(),n.addLiquidityUniswapV3=function(){var e=l(ae.mark((function e(t,n,a,i,r,s,p,u,y,o,d,l){var m;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===d&&(d=null),void 0===l&&(l={estimateGas:!1}),null!==s&&null!==p||null!==u&&null!==y){e.next=4;break}throw new Error("Need to provide price or tick range");case 4:if(!s&&!p||t===exports.Dapp.UNISWAPV3){e.next=6;break}throw new Error("no price conversion for Aerodrome/Velodrome CL");case 6:return e.next=8,Re(t,this,n,a,i,r,s,p,u,y,o);case 8:return m=e.sent,e.next=11,Ft(this,[de[this.network][t],m,d],l);case 11:return e.abrupt("return",e.sent);case 13:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s,p,u,y,o,d,l){return e.apply(this,arguments)}}(),n.decreaseLiquidity=function(){var e=l(ae.mark((function e(t,n,a,i,r){var s,p,u,y;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:void 0===a&&(a=100),void 0===i&&(i=null),void 0===r&&(r={estimateGas:!1}),p=!1,e.t0=t,e.next=e.t0===exports.Dapp.UNISWAPV3||e.t0===exports.Dapp.RAMSESCL?7:e.t0===exports.Dapp.VELODROMECL||e.t0===exports.Dapp.AERODROMECL||e.t0===exports.Dapp.PANCAKECL?9:e.t0===exports.Dapp.ARRAKIS?14:16;break;case 7:return s=de[this.network][t],e.abrupt("break",17);case 9:return e.next=11,At(this,t,n);case 11:return(y=e.sent).toLowerCase()===this.address.toLowerCase()?s=de[this.network][t]:(s=y,p=!0),e.abrupt("break",17);case 14:return s=ue[this.network][t],e.abrupt("break",17);case 16:throw new Error("dapp not supported");case 17:if(p&&t!==exports.Dapp.PANCAKECL){e.next=23;break}return e.next=20,Ve(this,t,n,a,p);case 20:u=e.sent,e.next=24;break;case 23:throw new Error("unsupported decreaseStakedLiquidity: unstake first to decrease lp");case 24:return e.next=26,Ft(this,[s,u,i],r);case 26:return e.abrupt("return",e.sent);case 28:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),n.increaseLiquidity=function(){var e=l(ae.mark((function e(t,n,a,i,r,s){var p,u,y,o;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:void 0===r&&(r=null),void 0===s&&(s={estimateGas:!1}),u=!1,e.t0=t,e.next=e.t0===exports.Dapp.UNISWAPV3||e.t0===exports.Dapp.RAMSESCL?6:e.t0===exports.Dapp.VELODROMECL||e.t0===exports.Dapp.AERODROMECL||e.t0===exports.Dapp.PANCAKECL?8:e.t0===exports.Dapp.ARRAKIS?13:15;break;case 6:return p=de[this.network][t],e.abrupt("break",16);case 8:return e.next=10,At(this,t,n);case 10:return(o=e.sent).toLowerCase()===this.address.toLowerCase()?p=de[this.network][t]:(p=o,u=!0),e.abrupt("break",16);case 13:return p=ue[this.network][t],e.abrupt("break",16);case 15:throw new Error("dapp not supported");case 16:if(u&&t!==exports.Dapp.PANCAKECL){e.next=22;break}return e.next=19,Be(this,t,n,a,i);case 19:y=e.sent,e.next=23;break;case 22:throw new Error("unsupported increaseStakedLiquidity: unstake first to increase lp");case 23:return e.next=25,Ft(this,[p,y,r],s);case 25:return e.abrupt("return",e.sent);case 27:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s){return e.apply(this,arguments)}}(),n.claimFees=function(){var e=l(ae.mark((function e(n,a,i,r){var s,p,u,y,o;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:void 0===i&&(i=null),void 0===r&&(r={estimateGas:!1}),u=new t.ethers.utils.Interface(ke),e.t0=n,e.next=e.t0===exports.Dapp.UNISWAPV3||e.t0===exports.Dapp.RAMSESCL?6:e.t0===exports.Dapp.ARRAKIS||e.t0===exports.Dapp.BALANCER?9:e.t0===exports.Dapp.VELODROME||e.t0===exports.Dapp.RAMSES?13:e.t0===exports.Dapp.VELODROMEV2||e.t0===exports.Dapp.AERODROME?16:e.t0===exports.Dapp.VELODROMECL||e.t0===exports.Dapp.AERODROMECL||e.t0===exports.Dapp.PANCAKECL?19:24;break;case 6:return p=de[this.network][n],s=u.encodeFunctionData(exports.Transaction.COLLECT,[[a,this.address,Te,Te]]),e.abrupt("break",25);case 9:return p=a,y=new t.ethers.utils.Interface(Ae),s=y.encodeFunctionData("claim_rewards()",[]),e.abrupt("break",25);case 13:return p=a,s=Nt(this,a,!1),e.abrupt("break",25);case 16:return p=a,s=Nt(this,a,!0),e.abrupt("break",25);case 19:return e.next=21,At(this,n,a);case 21:return(o=e.sent).toLowerCase()===this.address.toLowerCase()?(p=de[this.network][n],s=u.encodeFunctionData(exports.Transaction.COLLECT,[[a,this.address,Te,Te]])):(p=o,s=n===exports.Dapp.PANCAKECL?$n(this,a):qt(a)),e.abrupt("break",25);case 24:throw new Error("dapp not supported");case 25:return e.next=27,Ft(this,[p,s,i],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.getRewards=function(){var e=l(ae.mark((function e(t,n,a,i,r){return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===i&&(i=null),void 0===r&&(r={estimateGas:!1}),e.next=4,Ft(this,[de[this.network][t],wn(n,a),i],r);case 4:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r){return e.apply(this,arguments)}}(),n.tradeUniswapV3=function(){var e=l(ae.mark((function e(t,n,a,i,r,s,p){var u;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=.5),void 0===s&&(s=null),void 0===p&&(p={estimateGas:!1}),e.next=5,Ge(this,t,n,a,r,i);case 5:return u=e.sent,e.next=8,Ft(this,[ue[this.network][exports.Dapp.UNISWAPV3],u,s],p);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){return e.apply(this,arguments)}}(),n.addLiquidityVelodrome=function(){var e=l(ae.mark((function e(t,n,a,i,r,s,p){return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===s&&(s=null),void 0===p&&(p={estimateGas:!1}),e.t0=Ft,e.t1=this,e.t2=ue[this.network][exports.Dapp.VELODROME],e.next=7,ht(this,t,n,a,i,r);case 7:return e.t3=e.sent,e.t4=s,e.t5=[e.t2,e.t3,e.t4],e.t6=p,e.next=13,(0,e.t0)(e.t1,e.t5,e.t6);case 13:return e.abrupt("return",e.sent);case 15:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s,p){return e.apply(this,arguments)}}(),n.removeLiquidityVelodrome=function(){var e=l(ae.mark((function e(t,n,a,i,r,s){return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),void 0===s&&(s={estimateGas:!1}),e.t0=Ft,e.t1=this,e.t2=ue[this.network][exports.Dapp.VELODROME],e.next=7,kt(this,t,n,a,i);case 7:return e.t3=e.sent,e.t4=r,e.t5=[e.t2,e.t3,e.t4],e.t6=s,e.next=13,(0,e.t0)(e.t1,e.t5,e.t6);case 13:return e.abrupt("return",e.sent);case 15:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s){return e.apply(this,arguments)}}(),n.addLiquidityVelodromeV2=function(){var e=l(ae.mark((function e(t,n,a,i,r,s,p){return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===s&&(s=null),void 0===p&&(p={estimateGas:!1}),e.t0=Ft,e.t1=this,e.t2=ue[this.network][exports.Dapp.VELODROMEV2],e.next=7,ht(this,t,n,a,i,r);case 7:return e.t3=e.sent,e.t4=s,e.t5=[e.t2,e.t3,e.t4],e.t6=p,e.next=13,(0,e.t0)(e.t1,e.t5,e.t6);case 13:return e.abrupt("return",e.sent);case 15:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s,p){return e.apply(this,arguments)}}(),n.removeLiquidityVelodromeV2=function(){var e=l(ae.mark((function e(t,n,a,i,r,s){return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r=null),void 0===s&&(s={estimateGas:!1}),e.t0=Ft,e.t1=this,e.t2=ue[this.network][exports.Dapp.VELODROMEV2],e.next=7,kt(this,t,n,a,i);case 7:return e.t3=e.sent,e.t4=r,e.t5=[e.t2,e.t3,e.t4],e.t6=s,e.next=13,(0,e.t0)(e.t1,e.t5,e.t6);case 13:return e.abrupt("return",e.sent);case 15:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s){return e.apply(this,arguments)}}(),n.addLiquidityV2=function(){var e=l(ae.mark((function e(t,n,a,i,r,s,p,u){return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===p&&(p=null),void 0===u&&(u={estimateGas:!1}),e.t0=Ft,e.t1=this,e.t2=ue[this.network][t],e.next=7,ht(this,n,a,i,r,s);case 7:return e.t3=e.sent,e.t4=p,e.t5=[e.t2,e.t3,e.t4],e.t6=u,e.next=13,(0,e.t0)(e.t1,e.t5,e.t6);case 13:return e.abrupt("return",e.sent);case 15:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s,p,u){return e.apply(this,arguments)}}(),n.removeLiquidityV2=function(){var e=l(ae.mark((function e(t,n,a,i,r,s,p){return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===s&&(s=null),void 0===p&&(p={estimateGas:!1}),e.t0=Ft,e.t1=this,e.t2=ue[this.network][t],e.next=7,kt(this,n,a,i,r);case 7:return e.t3=e.sent,e.t4=s,e.t5=[e.t2,e.t3,e.t4],e.t6=p,e.next=13,(0,e.t0)(e.t1,e.t5,e.t6);case 13:return e.abrupt("return",e.sent);case 15:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s,p){return e.apply(this,arguments)}}(),n.tradeLyraOption=function(){var e=l(ae.mark((function e(n,a,i,r,s,p,u,y,o,d,l){var m;return ae.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),void 0===l&&(l={estimateGas:!1}),e.next=6,sn(this,n,r,a,i,s,p,u,t.BigNumber.from(y),o);case 6:return m=e.sent,e.next=9,Ft(this,[ue[this.network][exports.Dapp.LYRA],m,d],l);case 9:return e.abrupt("return",e.sent);case 11:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s,p,u,y,o,d){return e.apply(this,arguments)}}(),n.getLyraPositions=function(){var e=l(ae.mark((function e(t){return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,tn(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)}}(),n.changeFuturesMargin=function(){var e=l(ae.mark((function e(n,a,i,r){return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===i&&(i=null),void 0===r&&(r={estimateGas:!1}),e.next=4,Ft(this,[n,(s=a,new t.ethers.utils.Interface(un).encodeFunctionData("transferMargin",[s])),i],r);case 4:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}var s}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.changeFuturesPosition=function(){var e=l(ae.mark((function e(t,n,a,i){var r;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===a&&(a=null),void 0===i&&(i={estimateGas:!1}),e.next=4,yn(n,t,this);case 4:return r=e.sent,e.next=7,Ft(this,[t,r,a],i);case 7:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.cancelFuturesOrder=function(){var e=l(ae.mark((function e(t,n,a){var i;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===n&&(n=null),void 0===a&&(a={estimateGas:!1}),e.next=4,dn(this);case 4:return i=e.sent,e.next=7,Ft(this,[t,i,n],a);case 7:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e,this)})));return function(t,n,a){return e.apply(this,arguments)}}(),n.mintManagerFee=function(){var e=l(ae.mark((function e(t,n){return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===t&&(t=null),void 0===n&&(n=!1),!n){e.next=6;break}return e.next=5,this.poolLogic.estimateGas.mintManagerFee(t);case 5:return e.abrupt("return",e.sent);case 6:return e.next=8,this.poolLogic.mintManagerFee(t);case 8:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}(),n.getAvailableManagerFee=function(){var e=l(ae.mark((function e(){return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.poolLogic.availableManagerFee();case 2:return e.abrupt("return",t.BigNumber.from(e.sent));case 4:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),n.vestTokens=function(){var e=l(ae.mark((function e(t,n,a,i){var r;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===a&&(a=null),void 0===i&&(i={estimateGas:!1}),e.next=4,fn(n);case 4:return r=e.sent,e.next=7,Ft(this,[t,r,a],i);case 7:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.exitVestedToken=function(){var e=l(ae.mark((function e(t,n,a,i){var r;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===a&&(a=null),void 0===i&&(i={estimateGas:!1}),e.next=4,Tn.encodeFunctionData("exitVest",[n,!1]);case 4:return r=e.sent,e.next=7,Ft(this,[t,r,a],i);case 7:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i){return e.apply(this,arguments)}}(),n.mintUnitViaFlatMoney=function(){var e=l(ae.mark((function e(t,n,a,i,r){return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===n&&(n=.5),void 0===i&&(i=null),void 0===r&&(r={estimateGas:!1}),e.next=5,Fn(this,t,n,a,i,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.redeemUnitViaFlatMoney=function(){var e=l(ae.mark((function e(t,n,a,i,r){return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===n&&(n=.5),void 0===i&&(i=null),void 0===r&&(r={estimateGas:!1}),e.next=5,_n(this,t,n,a,i,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.cancelOrderViaFlatMoney=function(){var e=l(ae.mark((function e(t,n){return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===t&&(t=null),void 0===n&&(n=!1),e.next=4,Nn(this,t,n);case 4:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}(),n.completeTorosWithdrawal=function(){var e=l(ae.mark((function e(t,n,a,i){var r;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===n&&(n=.5),void 0===a&&(a=null),void 0===i&&(i={estimateGas:!1}),e.next=5,ca(this,t,100*n,!1);case 5:return r=e.sent,e.next=8,Ft(this,[ue[this.network].toros,r,a],i);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)}}(),e}(),va=[{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"}],xa=[{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"}],ha=[{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"}],Ma=function(){function e(e,t){this.network=e,this.signer=t}var n=e.prototype;return n.getLpReserves=function(){var e=l(ae.mark((function e(n,a,i){var r,s,p,u,y;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!ye[this.network][n]){e.next=13;break}return r=new t.Contract(ye[this.network][n],va,this.signer),e.next=4,r.getPair(a,i);case 4:return s=new t.Contract(e.sent,xa,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=l(ae.mark((function e(n,a){var i,r,s;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!oe[this.network][n]){e.next=15;break}return i=new t.Contract(oe[this.network][n],ve,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=l(ae.mark((function e(n,a){var i;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=new t.ethers.Contract(n,fe,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=l(ae.mark((function e(n){var a;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=new t.ethers.Contract(n,fe,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=l(ae.mark((function e(n,a,i,r,s){var p,u,o,d,l,m,c,T;return ae.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 o=e.sent,d=new y.Token(le[this.network],p,18),l=new y.Token(le[this.network],u,18),m=new y.Pair(new y.TokenAmount(d,o.assetA.toString()),new y.TokenAmount(l,o.assetB.toString())),c=new y.Route([m],d,l),T=new y.Trade(c,new y.TokenAmount(d,r.toString()),y.TradeType.EXACT_INPUT),e.abrupt("return",t.ethers.BigNumber.from(T.minimumAmountOut(new y.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=l(ae.mark((function e(n,a,i,r,s){var p,u,y,d,l,m,c,T,b,f,w;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return p=new o.SOR(this.signer.provider,le[this.network],me[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=o.SwapTypes.SwapExactIn,e.next=9,p.getSwaps(a,i,u,t.ethers.BigNumber.from(r));case 9:if(d=(y=e.sent).swaps,l=y.tokenAddresses,m=y.returnAmount.mul(1e4-100*s).div(1e4),c=new t.ethers.utils.Interface(ha),1!==d.length){e.next=21;break}return b=c.encodeFunctionData("swap",[[(T=d[0]).poolId,o.SwapTypes.SwapExactIn,l[T.assetInIndex],l[T.assetOutIndex],T.amount,T.userData],[n.address,!1,n.address,!1],m,Math.floor(Date.now()/1e3)+1200]),e.abrupt("return",b);case 21:return f=[],l.forEach((function(e,t){f[t]=e.toLowerCase()===a.toLowerCase()?r.toString():e.toLowerCase()===i.toLowerCase()?m.mul(-1).toString():"0"})),w=c.encodeFunctionData("batchSwap",[o.SwapTypes.SwapExactIn,d,l,[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=l(ae.mark((function e(n,a,i,r){var s,p,u,y,o,d;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=new t.ethers.utils.Interface(ha),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=l(ae.mark((function e(n,a,i,r,s){var p,u,y,o;return ae.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(ha),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=l(ae.mark((function e(t){return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Ht(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=l(ae.mark((function e(t,n){return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,zt(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=l(ae.mark((function e(t,n,a){return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,jt(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=l(ae.mark((function e(n,a,i,r){return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,an(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}(),ka=function(){function e(e,n){this.network=n,this.signer=e,this.factory=new t.Contract(pe[n],ie,this.signer),this.utils=new Ma(this.network,this.signer)}var n=e.prototype;return n.createPool=function(){var e=l(ae.mark((function e(n,a,i,r,s,p,u,y,o){var d,l,m,c;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===s&&(s=0),void 0===p&&(p=0),void 0===u&&(u=0),void 0===y&&(y=0),void 0===o&&(o=null),e.next=7,this.factory.createFund(!1,this.signer.getAddress(),n,a,i,100*s,100*p,100*u,100*y,r,o);case 7:return d=e.sent,e.next=10,d.wait(1);case 10:if(l=e.sent.events.find((function(e){return"FundCreated"===e.event}))){e.next=14;break}throw new Error("Fund not created");case 14:return m=new t.Contract(l.args.fundAddress,re,this.signer),e.next=18,m.poolManagerLogic();case 18:return c=new t.Contract(e.sent,se,this.signer),e.abrupt("return",new wa(this.network,this.signer,m,c,this.utils,this.factory));case 21:case"end":return e.stop()}}),e,this)})));return function(t,n,a,i,r,s,p,u,y){return e.apply(this,arguments)}}(),n.loadPool=function(){var e=l(ae.mark((function e(n,a){var i,r,s;return ae.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===a&&(a=!0),i=new t.Contract(n,re,this.signer),r=n,!a){e.next=7;break}return e.next=6,i.poolManagerLogic();case 6:r=e.sent;case 7:return s=new t.Contract(r,se,this.signer),e.abrupt("return",new wa(this.network,this.signer,i,s,this.utils,this.factory,a));case 9:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}(),n.validatePool=function(e){return this.factory.isPool(e)},e}(),ga="setPrototypeOf"in Object,Aa=function(e){var t,n;function a(t){var n;return(n=e.call(this,null!=t?t:"Api request failed")||this).name=n.constructor.name,ga&&Object.setPrototypeOf(function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(n),(this instanceof a?this.constructor:void 0).prototype),n}return n=e,(t=a).prototype=Object.create(n.prototype),t.prototype.constructor=t,T(t,n),a}(w(Error));Object.defineProperty(exports,"ethers",{enumerable:!0,get:function(){return t.ethers}}),exports.ApiError=Aa,exports.Dhedge=ka,exports.Pool=wa;
2
2
  //# sourceMappingURL=v2-sdk.cjs.production.min.js.map