monad-v3-sdk 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.
Files changed (82) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -0
  3. package/dist/abis/algebraPositionManager.d.ts +1083 -0
  4. package/dist/abis/algebraSwapRouter.d.ts +499 -0
  5. package/dist/abis/index.d.ts +3 -0
  6. package/dist/abis/selfPermit.d.ts +121 -0
  7. package/dist/classes/index.d.ts +3 -0
  8. package/dist/classes/nonfungiblePositionManager.d.ts +145 -0
  9. package/dist/classes/selfPermit.d.ts +22 -0
  10. package/dist/classes/swapRouter.d.ts +67 -0
  11. package/dist/constants/addresses.d.ts +6 -0
  12. package/dist/constants/chainIds.d.ts +3 -0
  13. package/dist/constants/constants.d.ts +3 -0
  14. package/dist/constants/index.d.ts +4 -0
  15. package/dist/constants/internalConstants.d.ts +7 -0
  16. package/dist/entities/AbstractCurrency.d.ts +48 -0
  17. package/dist/entities/Currency.d.ts +3 -0
  18. package/dist/entities/CurrencyAmount.d.ts +32 -0
  19. package/dist/entities/ExtendedNative.d.ts +7 -0
  20. package/dist/entities/Fraction.d.ts +25 -0
  21. package/dist/entities/Native.d.ts +13 -0
  22. package/dist/entities/NativeCurrency.d.ts +8 -0
  23. package/dist/entities/Percent.d.ts +16 -0
  24. package/dist/entities/Price.d.ts +39 -0
  25. package/dist/entities/Token.d.ts +32 -0
  26. package/dist/entities/index.d.ts +17 -0
  27. package/dist/entities/pool.d.ts +86 -0
  28. package/dist/entities/position.d.ts +135 -0
  29. package/dist/entities/route.d.ts +28 -0
  30. package/dist/entities/tick.d.ts +13 -0
  31. package/dist/entities/tickDataProvider.d.ts +31 -0
  32. package/dist/entities/tickListDataProvider.d.ts +15 -0
  33. package/dist/entities/trade.d.ts +224 -0
  34. package/dist/entities/wnative.d.ts +7 -0
  35. package/dist/enums/bound.d.ts +4 -0
  36. package/dist/enums/field.d.ts +4 -0
  37. package/dist/enums/index.d.ts +4 -0
  38. package/dist/enums/rounding.d.ts +5 -0
  39. package/dist/enums/tradeType.d.ts +4 -0
  40. package/dist/functions/index.d.ts +5 -0
  41. package/dist/functions/maxAmountSpend.d.ts +7 -0
  42. package/dist/functions/mint.d.ts +3 -0
  43. package/dist/functions/retry.d.ts +22 -0
  44. package/dist/functions/tryParseAmount.d.ts +3 -0
  45. package/dist/functions/unwrappedToken.d.ts +2 -0
  46. package/dist/index.d.ts +8 -0
  47. package/dist/index.js +8 -0
  48. package/dist/monad-v3-sdk.cjs.development.js +5458 -0
  49. package/dist/monad-v3-sdk.cjs.development.js.map +1 -0
  50. package/dist/monad-v3-sdk.cjs.production.min.js +2 -0
  51. package/dist/monad-v3-sdk.cjs.production.min.js.map +1 -0
  52. package/dist/monad-v3-sdk.esm.js +5395 -0
  53. package/dist/monad-v3-sdk.esm.js.map +1 -0
  54. package/dist/types/BigIntish.d.ts +2 -0
  55. package/dist/types/index.d.ts +1 -0
  56. package/dist/utils/calldata.d.ts +20 -0
  57. package/dist/utils/chunkArray.d.ts +2 -0
  58. package/dist/utils/computePoolAddress.d.ts +28 -0
  59. package/dist/utils/computeSurroundingTicks.d.ts +2 -0
  60. package/dist/utils/encodeRouteToPath.d.ts +8 -0
  61. package/dist/utils/encodeSqrtRatioX96.d.ts +9 -0
  62. package/dist/utils/format.d.ts +14 -0
  63. package/dist/utils/formatTickPrice.d.ts +5 -0
  64. package/dist/utils/fullMath.d.ts +7 -0
  65. package/dist/utils/getRatio.d.ts +2 -0
  66. package/dist/utils/getTickToPrice.d.ts +2 -0
  67. package/dist/utils/index.d.ts +15 -0
  68. package/dist/utils/isSorted.d.ts +7 -0
  69. package/dist/utils/liquidityMath.d.ts +7 -0
  70. package/dist/utils/maxLiquidityForAmounts.d.ts +14 -0
  71. package/dist/utils/mostSignificantBit.d.ts +2 -0
  72. package/dist/utils/nearestUsableTick.d.ts +6 -0
  73. package/dist/utils/priceTickConversions.d.ts +16 -0
  74. package/dist/utils/sortedInsert.d.ts +1 -0
  75. package/dist/utils/sqrt.d.ts +7 -0
  76. package/dist/utils/sqrtPriceMath.d.ts +12 -0
  77. package/dist/utils/stringToColour.d.ts +5 -0
  78. package/dist/utils/swapMath.d.ts +7 -0
  79. package/dist/utils/tickList.d.ts +22 -0
  80. package/dist/utils/tickMath.d.ts +33 -0
  81. package/dist/utils/validateAndParseAddress.d.ts +1 -0
  82. package/package.json +62 -0
@@ -0,0 +1,2 @@
1
+ "use strict";function t(t){return t&&"object"==typeof t&&"default"in t?t.default:t}Object.defineProperty(exports,"__esModule",{value:!0});var e,n,r,i=t(require("big.js")),a=t(require("toformat")),u=t(require("jsbi")),o=t(require("decimal.js-light")),s=t(require("tiny-invariant")),p=require("@ethersproject/abi"),c=require("@ethersproject/address"),l=require("@ethersproject/solidity"),d=require("@ethersproject/keccak256"),y=require("@ethersproject/bytes"),m=require("@ethersproject/strings"),f=require("@ethersproject/units");function h(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}function T(t,e,n,r,i,a,u){try{var o=t[a](u),s=o.value}catch(t){return void n(t)}o.done?e(s):Promise.resolve(s).then(r,i)}function v(t){return function(){var e=this,n=arguments;return new Promise((function(r,i){var a=t.apply(e,n);function u(t){T(a,r,i,u,o,"next",t)}function o(t){T(a,r,i,u,o,"throw",t)}u(void 0)}))}}function g(t,e,n){if(q())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,e);var i=new(t.bind.apply(t,r));return n&&P(i,n.prototype),i}function k(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,O(r.key),r)}}function b(t,e,n){return e&&k(t.prototype,e),n&&k(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function x(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(n)return(n=n.call(t)).next.bind(n);if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return h(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?h(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0;return function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function A(){return(A=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t}).apply(null,arguments)}function I(t){return(I=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function w(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,P(t,e)}function q(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(q=function(){return!!t})()}function R(){R=function(){return e};var t,e={},n=Object.prototype,r=n.hasOwnProperty,i=Object.defineProperty||function(t,e,n){t[e]=n.value},a="function"==typeof Symbol?Symbol:{},u=a.iterator||"@@iterator",o=a.asyncIterator||"@@asyncIterator",s=a.toStringTag||"@@toStringTag";function p(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{p({},"")}catch(t){p=function(t,e,n){return t[e]=n}}function c(t,e,n,r){var a=Object.create((e&&e.prototype instanceof h?e:h).prototype),u=new N(r||[]);return i(a,"_invoke",{value:w(t,n,u)}),a}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}e.wrap=c;var d="suspendedStart",y="executing",m="completed",f={};function h(){}function T(){}function v(){}var g={};p(g,u,(function(){return this}));var k=Object.getPrototypeOf,b=k&&k(k(S([])));b&&b!==n&&r.call(b,u)&&(g=b);var x=v.prototype=h.prototype=Object.create(g);function A(t){["next","throw","return"].forEach((function(e){p(t,e,(function(t){return this._invoke(e,t)}))}))}function I(t,e){function n(i,a,u,o){var s=l(t[i],t,a);if("throw"!==s.type){var p=s.arg,c=p.value;return c&&"object"==typeof c&&r.call(c,"__await")?e.resolve(c.__await).then((function(t){n("next",t,u,o)}),(function(t){n("throw",t,u,o)})):e.resolve(c).then((function(t){p.value=t,u(p)}),(function(t){return n("throw",t,u,o)}))}o(s.arg)}var a;i(this,"_invoke",{value:function(t,r){function i(){return new e((function(e,i){n(t,r,e,i)}))}return a=a?a.then(i,i):i()}})}function w(e,n,r){var i=d;return function(a,u){if(i===y)throw Error("Generator is already running");if(i===m){if("throw"===a)throw u;return{value:t,done:!0}}for(r.method=a,r.arg=u;;){var o=r.delegate;if(o){var s=q(o,r);if(s){if(s===f)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===d)throw i=m,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=y;var p=l(e,n,r);if("normal"===p.type){if(i=r.done?m:"suspendedYield",p.arg===f)continue;return{value:p.arg,done:r.done}}"throw"===p.type&&(i=m,r.method="throw",r.arg=p.arg)}}}function q(e,n){var r=n.method,i=e.iterator[r];if(i===t)return n.delegate=null,"throw"===r&&e.iterator.return&&(n.method="return",n.arg=t,q(e,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),f;var a=l(i,e.iterator,n.arg);if("throw"===a.type)return n.method="throw",n.arg=a.arg,n.delegate=null,f;var u=a.arg;return u?u.done?(n[e.resultName]=u.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,f):u:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,f)}function P(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function O(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function N(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(P,this),this.reset(!0)}function S(e){if(e||""===e){var n=e[u];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var i=-1,a=function n(){for(;++i<e.length;)if(r.call(e,i))return n.value=e[i],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw new TypeError(typeof e+" is not iterable")}return T.prototype=v,i(x,"constructor",{value:v,configurable:!0}),i(v,"constructor",{value:T,configurable:!0}),T.displayName=p(v,s,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===T||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,v):(t.__proto__=v,p(t,s,"GeneratorFunction")),t.prototype=Object.create(x),t},e.awrap=function(t){return{__await:t}},A(I.prototype),p(I.prototype,o,(function(){return this})),e.AsyncIterator=I,e.async=function(t,n,r,i,a){void 0===a&&(a=Promise);var u=new I(c(t,n,r,i),a);return e.isGeneratorFunction(n)?u:u.next().then((function(t){return t.done?t.value:u.next()}))},A(x),p(x,s,"Generator"),p(x,u,(function(){return this})),p(x,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},e.values=S,N.prototype={constructor:N,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(O),!e)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var n=this;function i(r,i){return o.type="throw",o.arg=e,n.next=r,i&&(n.method="next",n.arg=t),!!i}for(var a=this.tryEntries.length-1;a>=0;--a){var u=this.tryEntries[a],o=u.completion;if("root"===u.tryLoc)return i("end");if(u.tryLoc<=this.prev){var s=r.call(u,"catchLoc"),p=r.call(u,"finallyLoc");if(s&&p){if(this.prev<u.catchLoc)return i(u.catchLoc,!0);if(this.prev<u.finallyLoc)return i(u.finallyLoc)}else if(s){if(this.prev<u.catchLoc)return i(u.catchLoc,!0)}else{if(!p)throw Error("try statement without catch or finally");if(this.prev<u.finallyLoc)return i(u.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var a=i;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=e&&e<=a.finallyLoc&&(a=null);var u=a?a.completion:{};return u.type=t,u.arg=e,a?(this.method="next",this.next=a.finallyLoc,f):this.complete(u)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),f},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),O(n),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;O(n)}return i}}throw Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:S(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),f}},e}function P(t,e){return(P=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t})(t,e)}function O(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof e?e:e+""}function N(t){var e="function"==typeof Map?new Map:void 0;return(N=function(t){if(null===t||!function(t){try{return-1!==Function.toString.call(t).indexOf("[native code]")}catch(e){return"function"==typeof t}}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return g(t,arguments,I(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),P(n,t)})(t)}(e=exports.Rounding||(exports.Rounding={}))[e.ROUND_DOWN=0]="ROUND_DOWN",e[e.ROUND_HALF_UP=1]="ROUND_HALF_UP",e[e.ROUND_UP=2]="ROUND_UP";var S,_,M=a(o),E=a(i),C=((n={})[exports.Rounding.ROUND_DOWN]=M.ROUND_DOWN,n[exports.Rounding.ROUND_HALF_UP]=M.ROUND_HALF_UP,n[exports.Rounding.ROUND_UP]=M.ROUND_UP,n),F=((r={})[exports.Rounding.ROUND_DOWN]=0,r[exports.Rounding.ROUND_HALF_UP]=1,r[exports.Rounding.ROUND_UP]=3,r),D=function(){function t(t,e){void 0===e&&(e=u.BigInt(1)),this.numerator=u.BigInt(t),this.denominator=u.BigInt(e)}t.tryParseFraction=function(e){if(e instanceof u||"number"==typeof e||"string"==typeof e)return new t(e);if("numerator"in e&&"denominator"in e)return e;throw new Error("Could not parse fraction")};var e=t.prototype;return e.invert=function(){return new t(this.denominator,this.numerator)},e.add=function(e){var n=t.tryParseFraction(e);return u.equal(this.denominator,n.denominator)?new t(u.add(this.numerator,n.numerator),this.denominator):new t(u.add(u.multiply(this.numerator,n.denominator),u.multiply(n.numerator,this.denominator)),u.multiply(this.denominator,n.denominator))},e.subtract=function(e){var n=t.tryParseFraction(e);return u.equal(this.denominator,n.denominator)?new t(u.subtract(this.numerator,n.numerator),this.denominator):new t(u.subtract(u.multiply(this.numerator,n.denominator),u.multiply(n.numerator,this.denominator)),u.multiply(this.denominator,n.denominator))},e.lessThan=function(e){var n=t.tryParseFraction(e);return u.lessThan(u.multiply(this.numerator,n.denominator),u.multiply(n.numerator,this.denominator))},e.equalTo=function(e){var n=t.tryParseFraction(e);return u.equal(u.multiply(this.numerator,n.denominator),u.multiply(n.numerator,this.denominator))},e.greaterThan=function(e){var n=t.tryParseFraction(e);return u.greaterThan(u.multiply(this.numerator,n.denominator),u.multiply(n.numerator,this.denominator))},e.multiply=function(e){var n=t.tryParseFraction(e);return new t(u.multiply(this.numerator,n.numerator),u.multiply(this.denominator,n.denominator))},e.divide=function(e){var n=t.tryParseFraction(e);return new t(u.multiply(this.numerator,n.denominator),u.multiply(this.denominator,n.numerator))},e.toSignificant=function(t,e,n){void 0===e&&(e={groupSeparator:""}),void 0===n&&(n=exports.Rounding.ROUND_HALF_UP),Number.isInteger(t)||s(!1),t>0||s(!1),M.set({precision:t+1,rounding:C[n]});var r=new M(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(t);return r.toFormat(r.decimalPlaces(),e)},e.toFixed=function(t,e,n){return void 0===e&&(e={groupSeparator:""}),void 0===n&&(n=exports.Rounding.ROUND_HALF_UP),Number.isInteger(t)||s(!1),t>=0||s(!1),E.DP=t,E.RM=F[n],new E(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,e)},b(t,[{key:"quotient",get:function(){return u.divide(this.numerator,this.denominator)}},{key:"remainder",get:function(){return new t(u.remainder(this.numerator,this.denominator),this.denominator)}},{key:"asFraction",get:function(){return new t(this.numerator,this.denominator)}}])}(),U=u.BigInt(-1),B=u.BigInt(0),L=u.BigInt(1),X=u.exponentiate(u.BigInt(2),u.BigInt(96)),j=u.exponentiate(X,u.BigInt(2)),W=u.BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),G=a(i),H=function(t){function e(e,n,r){var i;return i=t.call(this,n,r)||this,u.lessThanOrEqual(i.quotient,W)||s(!1),i.currency=e,i.decimalScale=u.exponentiate(u.BigInt(10),u.BigInt(e.decimals)),i}w(e,t),e.fromRawAmount=function(t,n){return new e(t,n)},e.fromFractionalAmount=function(t,n,r){return new e(t,n,r)};var n=e.prototype;return n.add=function(n){this.currency.equals(n.currency)||s(!1);var r=t.prototype.add.call(this,n);return e.fromFractionalAmount(this.currency,r.numerator,r.denominator)},n.subtract=function(n){this.currency.equals(n.currency)||s(!1);var r=t.prototype.subtract.call(this,n);return e.fromFractionalAmount(this.currency,r.numerator,r.denominator)},n.multiply=function(n){var r=t.prototype.multiply.call(this,n);return e.fromFractionalAmount(this.currency,r.numerator,r.denominator)},n.divide=function(n){var r=t.prototype.divide.call(this,n);return e.fromFractionalAmount(this.currency,r.numerator,r.denominator)},n.toSignificant=function(e,n,r){return void 0===e&&(e=6),void 0===r&&(r=exports.Rounding.ROUND_DOWN),t.prototype.divide.call(this,this.decimalScale).toSignificant(e,n,r)},n.toFixed=function(e,n,r){return void 0===e&&(e=this.currency.decimals),void 0===r&&(r=exports.Rounding.ROUND_DOWN),e<=this.currency.decimals||s(!1),t.prototype.divide.call(this,this.decimalScale).toFixed(e,n,r)},n.toExact=function(t){return void 0===t&&(t={groupSeparator:""}),G.DP=this.currency.decimals,new G(this.quotient.toString()).div(this.decimalScale.toString()).toFormat(t)},b(e,[{key:"wrapped",get:function(){return this.currency.isToken?this:e.fromFractionalAmount(this.currency.wrapped,this.numerator,this.denominator)}}])}(D),K=function(t){function e(){for(var e,n,r,i,a,o=arguments.length,s=new Array(o),p=0;p<o;p++)s[p]=arguments[p];if(4===s.length)n=s[0],r=s[1],i=s[2],a=s[3];else{var c=s[0].quoteAmount.divide(s[0].baseAmount),l=[s[0].baseAmount.currency,s[0].quoteAmount.currency,c.denominator,c.numerator];n=l[0],r=l[1],i=l[2],a=l[3]}return(e=t.call(this,a,i)||this).baseCurrency=n,e.quoteCurrency=r,e.scalar=new D(u.exponentiate(u.BigInt(10),u.BigInt(n.decimals)),u.exponentiate(u.BigInt(10),u.BigInt(r.decimals))),e}w(e,t);var n=e.prototype;return n.invert=function(){return new e(this.quoteCurrency,this.baseCurrency,this.numerator,this.denominator)},n.multiply=function(n){this.quoteCurrency.equals(n.baseCurrency)||s(!1);var r=t.prototype.multiply.call(this,n);return new e(this.baseCurrency,n.quoteCurrency,r.denominator,r.numerator)},n.quote=function(e){e.currency.equals(this.baseCurrency)||s(!1);var n=t.prototype.multiply.call(this,e);return H.fromFractionalAmount(this.quoteCurrency,n.numerator,n.denominator)},n.toSignificant=function(t,e,n){return void 0===t&&(t=6),this.adjustedForDecimals.toSignificant(t,e,n)},n.toFixed=function(t,e,n){return void 0===t&&(t=4),this.adjustedForDecimals.toFixed(t,e,n)},b(e,[{key:"adjustedForDecimals",get:function(){return t.prototype.multiply.call(this,this.scalar)}}])}(D),Q={Monad:10143},z="0x0000000000000000000000000000000000000000",Y=((S={})[Q.Monad]="0xf1fa51408a8FD45ec24CbD49eC40A9D10AC82Fcc",S),Z=((_={})[Q.Monad]="0x4ac2f6b066c3c02374d2dfef46831f29147b700e1fa15816bc9c78da20651862",_);function V(t){var e=t.tokenA,n=t.tokenB,r=t.initCodeHashManualOverride,i=t.poolDeployer,a=e.sortsBefore(n)?[e,n]:[n,e];return c.getCreate2Address(null!=i?i:Y[e.chainId],l.keccak256(["bytes"],[p.defaultAbiCoder.encode(["address","address"],[a[0].address,a[1].address])]),null!=r?r:Z[e.chainId])}var $=function(){function t(){}return t.addDelta=function(t,e){return u.lessThan(e,B)?u.subtract(t,u.multiply(e,U)):u.add(t,e)},t}(),J=function(){function t(){}return t.mulDivRoundingUp=function(t,e,n){var r=u.multiply(t,e),i=u.divide(r,n);return u.notEqual(u.remainder(r,n),B)&&(i=u.add(i,L)),i},t}(),tt=u.subtract(u.exponentiate(u.BigInt(2),u.BigInt(160)),L);function et(t,e){var n=u.multiply(t,e);return u.bitwiseAnd(n,W)}var nt=function(){function t(){}return t.getAmount0Delta=function(t,e,n,r){if(u.greaterThan(t,e)){var i=[e,t];t=i[0],e=i[1]}var a=u.leftShift(n,u.BigInt(96)),o=u.subtract(e,t);return r?J.mulDivRoundingUp(J.mulDivRoundingUp(a,o,e),L,t):u.divide(u.divide(u.multiply(a,o),e),t)},t.getAmount1Delta=function(t,e,n,r){if(u.greaterThan(t,e)){var i=[e,t];t=i[0],e=i[1]}return r?J.mulDivRoundingUp(n,u.subtract(e,t),X):u.divide(u.multiply(n,u.subtract(e,t)),X)},t.getNextSqrtPriceFromInput=function(t,e,n,r){return u.greaterThan(t,B)||s(!1),u.greaterThan(e,B)||s(!1),r?this.getNextSqrtPriceFromAmount0RoundingUp(t,e,n,!0):this.getNextSqrtPriceFromAmount1RoundingDown(t,e,n,!0)},t.getNextSqrtPriceFromOutput=function(t,e,n,r){return u.greaterThan(t,B)||s(!1),u.greaterThan(e,B)||s(!1),r?this.getNextSqrtPriceFromAmount1RoundingDown(t,e,n,!1):this.getNextSqrtPriceFromAmount0RoundingUp(t,e,n,!1)},t.getNextSqrtPriceFromAmount0RoundingUp=function(t,e,n,r){if(u.equal(n,B))return t;var i=u.leftShift(e,u.BigInt(96));if(r){var a=et(n,t);if(u.equal(u.divide(a,n),t)){var o=(c=u.add(i,a),u.bitwiseAnd(c,W));if(u.greaterThanOrEqual(o,i))return J.mulDivRoundingUp(i,t,o)}return J.mulDivRoundingUp(i,L,u.add(u.divide(i,t),n))}var p=et(n,t);u.equal(u.divide(p,n),t)||s(!1),u.greaterThan(i,p)||s(!1);var c,l=u.subtract(i,p);return J.mulDivRoundingUp(i,t,l)},t.getNextSqrtPriceFromAmount1RoundingDown=function(t,e,n,r){if(r){var i=u.lessThanOrEqual(n,tt)?u.divide(u.leftShift(n,u.BigInt(96)),e):u.divide(u.multiply(n,X),e);return u.add(t,i)}var a=J.mulDivRoundingUp(n,X,e);return u.greaterThan(t,a)||s(!1),u.subtract(t,a)},t}(),rt=u.exponentiate(u.BigInt(10),u.BigInt(6)),it=function(){function t(){}return t.computeSwapStep=function(t,e,n,r,i){var a={},o=u.greaterThanOrEqual(t,e),s=u.greaterThanOrEqual(r,B);if(s){var p=u.divide(u.multiply(r,u.subtract(rt,u.BigInt(i))),rt);a.amountIn=o?nt.getAmount0Delta(e,t,n,!0):nt.getAmount1Delta(t,e,n,!0),a.sqrtRatioNextX96=u.greaterThanOrEqual(p,a.amountIn)?e:nt.getNextSqrtPriceFromInput(t,n,p,o)}else a.amountOut=o?nt.getAmount1Delta(e,t,n,!1):nt.getAmount0Delta(t,e,n,!1),a.sqrtRatioNextX96=u.greaterThanOrEqual(u.multiply(r,U),a.amountOut)?e:nt.getNextSqrtPriceFromOutput(t,n,u.multiply(r,U),o);var c=u.equal(e,a.sqrtRatioNextX96);return o?(a.amountIn=c&&s?a.amountIn:nt.getAmount0Delta(a.sqrtRatioNextX96,t,n,!0),a.amountOut=c&&!s?a.amountOut:nt.getAmount1Delta(a.sqrtRatioNextX96,t,n,!1)):(a.amountIn=c&&s?a.amountIn:nt.getAmount1Delta(t,a.sqrtRatioNextX96,n,!0),a.amountOut=c&&!s?a.amountOut:nt.getAmount0Delta(t,a.sqrtRatioNextX96,n,!1)),!s&&u.greaterThan(a.amountOut,u.multiply(r,U))&&(a.amountOut=u.multiply(r,U)),a.feeAmount=s&&u.notEqual(a.sqrtRatioNextX96,e)?u.subtract(r,a.amountIn):J.mulDivRoundingUp(a.amountIn,u.BigInt(i),u.subtract(rt,u.BigInt(i))),[a.sqrtRatioNextX96,a.amountIn,a.amountOut,a.feeAmount]},t}(),at=u.BigInt(2),ut=[128,64,32,16,8,4,2,1].map((function(t){return[t,u.exponentiate(at,u.BigInt(t))]}));function ot(t){u.greaterThan(t,B)||s(!1),u.lessThanOrEqual(t,W)||s(!1);for(var e,n=0,r=x(ut);!(e=r()).done;){var i=e.value,a=i[0];u.greaterThanOrEqual(t,i[1])&&(t=u.signedRightShift(t,u.BigInt(a)),n+=a)}return n}function st(t,e){return u.signedRightShift(u.multiply(t,u.BigInt(e)),u.BigInt(128))}var pt=u.exponentiate(u.BigInt(2),u.BigInt(32)),ct=function(){function t(){}return t.getSqrtRatioAtTick=function(e){e>=t.MIN_TICK&&e<=t.MAX_TICK&&Number.isInteger(e)||s(!1);var n=e<0?-1*e:e,r=u.BigInt(0!=(1&n)?"0xfffcb933bd6fad37aa2d162d1a594001":"0x100000000000000000000000000000000");return 0!=(2&n)&&(r=st(r,"0xfff97272373d413259a46990580e213a")),0!=(4&n)&&(r=st(r,"0xfff2e50f5f656932ef12357cf3c7fdcc")),0!=(8&n)&&(r=st(r,"0xffe5caca7e10e4e61c3624eaa0941cd0")),0!=(16&n)&&(r=st(r,"0xffcb9843d60f6159c9db58835c926644")),0!=(32&n)&&(r=st(r,"0xff973b41fa98c081472e6896dfb254c0")),0!=(64&n)&&(r=st(r,"0xff2ea16466c96a3843ec78b326b52861")),0!=(128&n)&&(r=st(r,"0xfe5dee046a99a2a811c461f1969c3053")),0!=(256&n)&&(r=st(r,"0xfcbe86c7900a88aedcffc83b479aa3a4")),0!=(512&n)&&(r=st(r,"0xf987a7253ac413176f2b074cf7815e54")),0!=(1024&n)&&(r=st(r,"0xf3392b0822b70005940c7a398e4b70f3")),0!=(2048&n)&&(r=st(r,"0xe7159475a2c29b7443b29c7fa6e889d9")),0!=(4096&n)&&(r=st(r,"0xd097f3bdfd2022b8845ad8f792aa5825")),0!=(8192&n)&&(r=st(r,"0xa9f746462d870fdf8a65dc1f90e061e5")),0!=(16384&n)&&(r=st(r,"0x70d869a156d2a1b890bb3df62baf32f7")),0!=(32768&n)&&(r=st(r,"0x31be135f97d08fd981231505542fcfa6")),0!=(65536&n)&&(r=st(r,"0x9aa508b5b7a84e1c677de54f3e99bc9")),0!=(131072&n)&&(r=st(r,"0x5d6af8dedb81196699c329225ee604")),0!=(262144&n)&&(r=st(r,"0x2216e584f5fa1ea926041bedfe98")),0!=(524288&n)&&(r=st(r,"0x48a170391f7dc42444e8fa2")),e>0&&(r=u.divide(W,r)),u.greaterThan(u.remainder(r,pt),B)?u.add(u.divide(r,pt),L):u.divide(r,pt)},t.getTickAtSqrtRatio=function(e){u.greaterThanOrEqual(e,t.MIN_SQRT_RATIO)&&u.lessThan(e,t.MAX_SQRT_RATIO)||s(!1);var n,r=u.leftShift(e,u.BigInt(32)),i=ot(r);n=u.greaterThanOrEqual(u.BigInt(i),u.BigInt(128))?u.signedRightShift(r,u.BigInt(i-127)):u.leftShift(r,u.BigInt(127-i));for(var a=u.leftShift(u.subtract(u.BigInt(i),u.BigInt(128)),u.BigInt(64)),o=0;o<14;o++){n=u.signedRightShift(u.multiply(n,n),u.BigInt(127));var p=u.signedRightShift(n,u.BigInt(128));a=u.bitwiseOr(a,u.leftShift(p,u.BigInt(63-o))),n=u.signedRightShift(n,p)}var c=u.multiply(a,u.BigInt("255738958999603826347141")),l=u.toNumber(u.signedRightShift(u.subtract(c,u.BigInt("3402992956809132418596140100660247210")),u.BigInt(128))),d=u.toNumber(u.signedRightShift(u.add(c,u.BigInt("291339464771989622907027621153398088495")),u.BigInt(128)));return l===d?l:u.lessThanOrEqual(t.getSqrtRatioAtTick(d),e)?d:l},t}();ct.MIN_TICK=-887272,ct.MAX_TICK=-ct.MIN_TICK,ct.MIN_SQRT_RATIO=u.BigInt("4295128739"),ct.MAX_SQRT_RATIO=u.BigInt("1461446703485210103287273052203988822378723970342");var lt=function(){function t(){}var e=t.prototype;return e.getTick=function(){var e=v(R().mark((function e(n){return R().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error(t.ERROR_MESSAGE);case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),e.nextInitializedTickWithinOneWord=function(){var e=v(R().mark((function e(n,r,i){return R().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error(t.ERROR_MESSAGE);case 1:case"end":return e.stop()}}),e)})));return function(t,n,r){return e.apply(this,arguments)}}(),t}();function dt(t,e){for(var n=0;n<t.length-1;n++)if(e(t[n],t[n+1])>0)return!1;return!0}function yt(t,e){return t.index-e.index}lt.ERROR_MESSAGE="No tick data provider was given";var mt=function(){function t(){}return t.validateList=function(t,e){e>0||s(!1),t.every((function(t){return t.index%e==0}))||s(!1),u.equal(t.reduce((function(t,e){return u.add(t,e.liquidityNet)}),B),B)||s(!1),dt(t,yt)||s(!1)},t.isBelowSmallest=function(t,e){return t.length>0||s(!1),e<t[0].index},t.isAtOrAboveLargest=function(t,e){return t.length>0||s(!1),e>=t[t.length-1].index},t.getTick=function(t,e){var n=t[this.binarySearch(t,e)];return n.index!==e&&s(!1),n},t.nextInitializedTick=function(e,n,r){return r?(t.isBelowSmallest(e,n)&&s(!1),t.isAtOrAboveLargest(e,n)?e[e.length-1]:e[this.binarySearch(e,n)]):(this.isAtOrAboveLargest(e,n)&&s(!1),this.isBelowSmallest(e,n)?e[0]:e[this.binarySearch(e,n)+1])},t.nextInitializedTickWithinOneWord=function(e,n,r,i){var a=Math.floor(n/i);if(r){var u=(a>>8<<8)*i;if(t.isBelowSmallest(e,n))return[u,!1];var o=t.nextInitializedTick(e,n,r).index,s=Math.max(u,o);return[s,s===o]}var p=(1+(a+1>>8)<<8)*i-1;if(this.isAtOrAboveLargest(e,n))return[p,!1];var c=this.nextInitializedTick(e,n,r).index,l=Math.min(p,c);return[l,l===c]},t.binarySearch=function(t,e){this.isBelowSmallest(t,e)&&s(!1);for(var n,r=0,i=t.length-1;;){if(t[n=Math.floor((r+i)/2)].index<=e&&(n===t.length-1||t[n+1].index>e))return n;t[n].index<e?r=n+1:i=n-1}},t}(),ft=function(t){var e=t.index,n=t.liquidityGross,r=t.liquidityNet;e>=ct.MIN_TICK&&e<=ct.MAX_TICK||s(!1),this.index=e,this.liquidityGross=u.BigInt(n),this.liquidityNet=u.BigInt(r)},ht=function(){function t(t,e){var n=t.map((function(t){return t instanceof ft?t:new ft(t)}));mt.validateList(n,e),this.ticks=n}var e=t.prototype;return e.getTick=function(){var t=v(R().mark((function t(e){return R().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",mt.getTick(this.ticks,e));case 1:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),e.nextInitializedTickWithinOneWord=function(){var t=v(R().mark((function t(e,n,r){return R().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",mt.nextInitializedTickWithinOneWord(this.ticks,e,n,r));case 1:case"end":return t.stop()}}),t,this)})));return function(e,n,r){return t.apply(this,arguments)}}(),t}(),Tt=new lt,vt=function(){function t(t,e,n,r,i,a,o,p,c){void 0===c&&(c=Tt),Number.isInteger(n)&&n<1e6||s(!1);var l=ct.getSqrtRatioAtTick(o),d=ct.getSqrtRatioAtTick(o+1);u.greaterThanOrEqual(u.BigInt(r),l)&&u.lessThanOrEqual(u.BigInt(r),d)||s(!1);var y=t.sortsBefore(e)?[t,e]:[e,t];this.token0=y[0],this.token1=y[1],this.fee=n,this.sqrtRatioX96=u.BigInt(r),this.deployer=i,this.liquidity=u.BigInt(a),this.tickCurrent=o,this.tickDataProvider=Array.isArray(c)?new ht(c,p):c,this._tickSpacing=p}t.getAddress=function(t,e,n){return V({poolDeployer:Y[t.chainId],tokenA:t,tokenB:e,initCodeHashManualOverride:n})};var e=t.prototype;return e.involvesToken=function(t){return t.equals(this.token0)||t.equals(this.token1)},e.priceOf=function(t){return this.involvesToken(t)||s(!1),t.equals(this.token0)?this.token0Price:this.token1Price},e.getOutputAmount=function(){var e=v(R().mark((function e(n,r){var i,a,o,p,c;return R().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.involvesToken(n.currency)||s(!1),i=n.currency.equals(this.token0),e.next=4,this.swap(i,n.quotient,r);case 4:return o=(a=e.sent).sqrtRatioX96,p=a.liquidity,c=a.tickCurrent,e.abrupt("return",[H.fromRawAmount(i?this.token1:this.token0,u.multiply(a.amountCalculated,U)),new t(this.token0,this.token1,this.fee,o,this.deployer,p,c,this.tickSpacing,this.tickDataProvider)]);case 11:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}(),e.getInputAmount=function(){var e=v(R().mark((function e(n,r){var i,a,o,p,c;return R().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n.currency.isToken&&this.involvesToken(n.currency)||s(!1),i=n.currency.equals(this.token1),e.next=4,this.swap(i,u.multiply(n.quotient,U),r);case 4:return o=(a=e.sent).sqrtRatioX96,p=a.liquidity,c=a.tickCurrent,e.abrupt("return",[H.fromRawAmount(i?this.token0:this.token1,a.amountCalculated),new t(this.token0,this.token1,this.fee,o,this.deployer,p,c,this.tickSpacing,this.tickDataProvider)]);case 11:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}(),e.swap=function(){var t=v(R().mark((function t(e,n,r){var i,a,o,p,c,l;return R().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:r||(r=e?u.add(ct.MIN_SQRT_RATIO,L):u.subtract(ct.MAX_SQRT_RATIO,L)),e?(u.greaterThan(r,ct.MIN_SQRT_RATIO)||s(!1),u.lessThan(r,this.sqrtRatioX96)||s(!1)):(u.lessThan(r,ct.MAX_SQRT_RATIO)||s(!1),u.greaterThan(r,this.sqrtRatioX96)||s(!1)),i=u.greaterThanOrEqual(n,B),a={amountSpecifiedRemaining:n,amountCalculated:B,sqrtPriceX96:this.sqrtRatioX96,tick:this.tickCurrent,liquidity:this.liquidity};case 4:if(!u.notEqual(a.amountSpecifiedRemaining,B)||a.sqrtPriceX96==r){t.next=35;break}return(o={}).sqrtPriceStartX96=a.sqrtPriceX96,t.next=9,this.tickDataProvider.nextInitializedTickWithinOneWord(a.tick,e,this.tickSpacing);case 9:if(o.tickNext=(p=t.sent)[0],o.initialized=p[1],o.tickNext<ct.MIN_TICK?o.tickNext=ct.MIN_TICK:o.tickNext>ct.MAX_TICK&&(o.tickNext=ct.MAX_TICK),o.sqrtPriceNextX96=ct.getSqrtRatioAtTick(o.tickNext),c=it.computeSwapStep(a.sqrtPriceX96,(e?u.lessThan(o.sqrtPriceNextX96,r):u.greaterThan(o.sqrtPriceNextX96,r))?r:o.sqrtPriceNextX96,a.liquidity,a.amountSpecifiedRemaining,this.fee),a.sqrtPriceX96=c[0],o.amountIn=c[1],o.amountOut=c[2],o.feeAmount=c[3],i?(a.amountSpecifiedRemaining=u.subtract(a.amountSpecifiedRemaining,u.add(o.amountIn,o.feeAmount)),a.amountCalculated=u.subtract(a.amountCalculated,o.amountOut)):(a.amountSpecifiedRemaining=u.add(a.amountSpecifiedRemaining,o.amountOut),a.amountCalculated=u.add(a.amountCalculated,u.add(o.amountIn,o.feeAmount))),!u.equal(a.sqrtPriceX96,o.sqrtPriceNextX96)){t.next=32;break}if(!o.initialized){t.next=29;break}return t.t0=u,t.next=25,this.tickDataProvider.getTick(o.tickNext);case 25:t.t1=t.sent.liquidityNet,l=t.t0.BigInt.call(t.t0,t.t1),e&&(l=u.multiply(l,U)),a.liquidity=$.addDelta(a.liquidity,l);case 29:a.tick=e?o.tickNext-1:o.tickNext,t.next=33;break;case 32:a.sqrtPriceX96!=o.sqrtPriceStartX96&&(a.tick=ct.getTickAtSqrtRatio(a.sqrtPriceX96));case 33:t.next=4;break;case 35:return t.abrupt("return",{amountCalculated:a.amountCalculated,sqrtRatioX96:a.sqrtPriceX96,liquidity:a.liquidity,tickCurrent:a.tick});case 36:case"end":return t.stop()}}),t,this)})));return function(e,n,r){return t.apply(this,arguments)}}(),b(t,[{key:"token0Price",get:function(){var t;return null!=(t=this._token0Price)?t:this._token0Price=new K(this.token0,this.token1,j,u.multiply(this.sqrtRatioX96,this.sqrtRatioX96))}},{key:"token1Price",get:function(){var t;return null!=(t=this._token1Price)?t:this._token1Price=new K(this.token1,this.token0,u.multiply(this.sqrtRatioX96,this.sqrtRatioX96),j)}},{key:"chainId",get:function(){return this.token0.chainId}},{key:"tickSpacing",get:function(){return this._tickSpacing}}])}(),gt=new D(u.BigInt(100));function kt(t){return new bt(t.numerator,t.denominator)}var bt=function(t){function e(e,n){var r;return void 0===n&&(n=u.BigInt(1)),(r=t.call(this,e,n)||this).isPercent=!0,r}w(e,t);var n=e.prototype;return n.add=function(e){return kt(t.prototype.add.call(this,e))},n.subtract=function(e){return kt(t.prototype.subtract.call(this,e))},n.multiply=function(e){return kt(t.prototype.multiply.call(this,e))},n.divide=function(e){return kt(t.prototype.divide.call(this,e))},n.toSignificant=function(e,n,r){return void 0===e&&(e=5),t.prototype.multiply.call(this,gt).toSignificant(e,n,r)},n.toFixed=function(e,n,r){return void 0===e&&(e=2),t.prototype.multiply.call(this,gt).toFixed(e,n,r)},e}(D);function xt(t,e,n){if(u.greaterThan(t,e)){var r=[e,t];t=r[0],e=r[1]}var i=u.divide(u.multiply(t,e),X);return u.divide(u.multiply(u.BigInt(n),i),u.subtract(e,t))}function At(t,e,n){if(u.greaterThan(t,e)){var r=[e,t];t=r[0],e=r[1]}var i=u.multiply(u.multiply(u.BigInt(n),t),e),a=u.multiply(X,u.subtract(e,t));return u.divide(i,a)}function It(t,e,n){if(u.greaterThan(t,e)){var r=[e,t];t=r[0],e=r[1]}return u.divide(u.multiply(u.BigInt(n),X),u.subtract(e,t))}function wt(t,e,n,r,i,a){if(u.greaterThan(e,n)){var o=[n,e];e=o[0],n=o[1]}var s=a?At:xt;if(u.lessThanOrEqual(t,e))return s(e,n,r);if(u.lessThan(t,n)){var p=s(t,n,r),c=It(e,t,i);return u.lessThan(p,c)?p:c}return It(e,n,i)}var qt=u.BigInt(Number.MAX_SAFE_INTEGER),Rt=u.BigInt(0),Pt=u.BigInt(1),Ot=u.BigInt(2);function Nt(t,e){var n=u.leftShift(u.BigInt(t),u.BigInt(192)),r=u.BigInt(e);return function(t){if(u.greaterThanOrEqual(t,Rt)||s(!1),u.lessThan(t,qt))return u.BigInt(Math.floor(Math.sqrt(u.toNumber(t))));var e,n;for(e=t,n=u.add(u.divide(t,Ot),Pt);u.lessThan(n,e);)e=n,n=u.divide(u.add(u.divide(t,n),n),Ot);return e}(u.divide(n,r))}function St(t,e,n){var r=ct.getSqrtRatioAtTick(n),i=u.multiply(r,r);return t.sortsBefore(e)?new K(t,e,j,i):new K(t,e,i,j)}function _t(t){var e=t.baseCurrency.sortsBefore(t.quoteCurrency),n=e?Nt(t.numerator,t.denominator):Nt(t.denominator,t.numerator),r=ct.getTickAtSqrtRatio(n),i=St(t.baseCurrency,t.quoteCurrency,r+1);return e?t.lessThan(i)||r++:t.greaterThan(i)||r++,r}var Mt,Et=function(){function t(t){var e=t.pool,n=t.liquidity,r=t.tickLower,i=t.tickUpper;this._token0Amount=null,this._token1Amount=null,this._mintAmounts=null,r<i||s(!1),r>=ct.MIN_TICK&&r%e.tickSpacing==0||s(!1),i<=ct.MAX_TICK&&i%e.tickSpacing==0||s(!1),this.pool=e,this.tickLower=r,this.tickUpper=i,this.liquidity=u.BigInt(n)}t.fromAmounts=function(e){var n=e.pool,r=e.tickLower,i=e.tickUpper,a=e.amount0,u=e.amount1,o=e.useFullPrecision,s=ct.getSqrtRatioAtTick(r),p=ct.getSqrtRatioAtTick(i);return new t({pool:n,tickLower:r,tickUpper:i,liquidity:wt(n.sqrtRatioX96,s,p,a,u,o)})},t.fromAmount0=function(e){return t.fromAmounts({pool:e.pool,tickLower:e.tickLower,tickUpper:e.tickUpper,amount0:e.amount0,amount1:W,useFullPrecision:e.useFullPrecision})},t.fromAmount1=function(e){return t.fromAmounts({pool:e.pool,tickLower:e.tickLower,tickUpper:e.tickUpper,amount0:W,amount1:e.amount1,useFullPrecision:!0})};var e=t.prototype;return e.mintAmountsWithSlippage=function(e){var n=this.ratiosAfterSlippage(e),r=n.sqrtRatioX96Upper,i=n.sqrtRatioX96Lower,a=new vt(this.pool.token0,this.pool.token1,this.pool.fee,i,this.pool.deployer,0,ct.getTickAtSqrtRatio(i),this.pool.tickSpacing),u=new vt(this.pool.token0,this.pool.token1,this.pool.fee,r,this.pool.deployer,0,ct.getTickAtSqrtRatio(r),this.pool.tickSpacing),o=t.fromAmounts(A({pool:this.pool,tickLower:this.tickLower,tickUpper:this.tickUpper},this.mintAmounts,{useFullPrecision:!1}));return{amount0:new t({pool:u,liquidity:o.liquidity,tickLower:this.tickLower,tickUpper:this.tickUpper}).mintAmounts.amount0,amount1:new t({pool:a,liquidity:o.liquidity,tickLower:this.tickLower,tickUpper:this.tickUpper}).mintAmounts.amount1}},e.burnAmountsWithSlippage=function(e){var n=this.ratiosAfterSlippage(e),r=n.sqrtRatioX96Upper,i=n.sqrtRatioX96Lower,a=new vt(this.pool.token0,this.pool.token1,this.pool.fee,i,this.pool.deployer,0,ct.getTickAtSqrtRatio(i),this.pool.tickSpacing),u=new t({pool:new vt(this.pool.token0,this.pool.token1,this.pool.fee,r,this.pool.deployer,0,ct.getTickAtSqrtRatio(r),this.pool.tickSpacing),liquidity:this.liquidity,tickLower:this.tickLower,tickUpper:this.tickUpper}).amount0,o=new t({pool:a,liquidity:this.liquidity,tickLower:this.tickLower,tickUpper:this.tickUpper}).amount1;return{amount0:u.quotient,amount1:o.quotient}},e.ratiosAfterSlippage=function(t){var e=this.pool.token0Price.asFraction.multiply(new bt(1).subtract(t)),n=this.pool.token0Price.asFraction.multiply(t.add(1)),r=Nt(e.numerator,e.denominator);u.lessThanOrEqual(r,ct.MIN_SQRT_RATIO)&&(r=u.add(ct.MIN_SQRT_RATIO,u.BigInt(1)));var i=Nt(n.numerator,n.denominator);return u.greaterThanOrEqual(i,ct.MAX_SQRT_RATIO)&&(i=u.subtract(ct.MAX_SQRT_RATIO,u.BigInt(1))),{sqrtRatioX96Lower:r,sqrtRatioX96Upper:i}},b(t,[{key:"mintAmounts",get:function(){return null===this._mintAmounts?this.pool.tickCurrent<this.tickLower?{amount0:nt.getAmount0Delta(ct.getSqrtRatioAtTick(this.tickLower),ct.getSqrtRatioAtTick(this.tickUpper),this.liquidity,!0),amount1:B}:this.pool.tickCurrent<this.tickUpper?{amount0:nt.getAmount0Delta(this.pool.sqrtRatioX96,ct.getSqrtRatioAtTick(this.tickUpper),this.liquidity,!0),amount1:nt.getAmount1Delta(ct.getSqrtRatioAtTick(this.tickLower),this.pool.sqrtRatioX96,this.liquidity,!0)}:{amount0:B,amount1:nt.getAmount1Delta(ct.getSqrtRatioAtTick(this.tickLower),ct.getSqrtRatioAtTick(this.tickUpper),this.liquidity,!0)}:this._mintAmounts}},{key:"token0PriceLower",get:function(){return St(this.pool.token0,this.pool.token1,this.tickLower)}},{key:"token0PriceUpper",get:function(){return St(this.pool.token0,this.pool.token1,this.tickUpper)}},{key:"amount0",get:function(){return null===this._token0Amount&&(this._token0Amount=H.fromRawAmount(this.pool.token0,this.pool.tickCurrent<this.tickLower?nt.getAmount0Delta(ct.getSqrtRatioAtTick(this.tickLower),ct.getSqrtRatioAtTick(this.tickUpper),this.liquidity,!1):this.pool.tickCurrent<this.tickUpper?nt.getAmount0Delta(this.pool.sqrtRatioX96,ct.getSqrtRatioAtTick(this.tickUpper),this.liquidity,!1):B)),this._token0Amount}},{key:"amount1",get:function(){return null===this._token1Amount&&(this._token1Amount=H.fromRawAmount(this.pool.token1,this.pool.tickCurrent<this.tickLower?B:nt.getAmount1Delta(ct.getSqrtRatioAtTick(this.tickLower),this.pool.tickCurrent<this.tickUpper?this.pool.sqrtRatioX96:ct.getSqrtRatioAtTick(this.tickUpper),this.liquidity,!1))),this._token1Amount}}])}(),Ct=function(){return b((function(t,e,n){this._midPrice=null,t.length>0||s(!1);var r=t[0].chainId;t.every((function(t){return t.chainId===r}))||s(!1);var i=e.wrapped;t[0].involvesToken(i)||s(!1),t[t.length-1].involvesToken(n.wrapped)||s(!1);for(var a,u=[i],o=x(t.entries());!(a=o()).done;){var p=a.value,c=p[1],l=u[p[0]];l.equals(c.token0)||l.equals(c.token1)||s(!1);var d=l.equals(c.token0)?c.token1:c.token0;u.push(d)}this.pools=t,this.tokenPath=u,this.input=e,this.output=null!=n?n:u[u.length-1]}),[{key:"midPrice",get:function(){if(null!==this._midPrice)return this._midPrice;var t=this.pools.slice(1).reduce((function(t,e){var n=t.price;return t.nextInput.equals(e.token0)?{nextInput:e.token1,price:n.multiply(e.token0Price)}:{nextInput:e.token0,price:n.multiply(e.token1Price)}}),this.pools[0].token0.equals(this.input.wrapped)?{nextInput:this.pools[0].token1,price:this.pools[0].token0Price}:{nextInput:this.pools[0].token0,price:this.pools[0].token1Price}).price;return this._midPrice=new K(this.input,this.output,t.denominator,t.numerator)}},{key:"chainId",get:function(){return this.pools[0].chainId}}])}();function Ft(t,e,n,r){if(n>0||s(!1),t.length<=n||s(!1),0===t.length)return t.push(e),null;var i=t.length===n;if(i&&r(t[t.length-1],e)<=0)return e;for(var a=0,u=t.length;a<u;){var o=a+u>>>1;r(t[o],e)<=0?a=o+1:u=o}return t.splice(a,0,e),i?t.pop():null}function Dt(t,e){return t.inputAmount.currency.equals(e.inputAmount.currency)||s(!1),t.outputAmount.currency.equals(e.outputAmount.currency)||s(!1),t.outputAmount.equalTo(e.outputAmount)?t.inputAmount.equalTo(e.inputAmount)?t.swaps.reduce((function(t,e){return t+e.route.tokenPath.length}),0)-e.swaps.reduce((function(t,e){return t+e.route.tokenPath.length}),0):t.inputAmount.lessThan(e.inputAmount)?-1:1:t.outputAmount.lessThan(e.outputAmount)?1:-1}(Mt=exports.TradeType||(exports.TradeType={}))[Mt.EXACT_INPUT=0]="EXACT_INPUT",Mt[Mt.EXACT_OUTPUT=1]="EXACT_OUTPUT";var Ut=function(){function t(t){var e=t.routes,n=t.tradeType,r=e[0].inputAmount.currency,i=e[0].outputAmount.currency;e.every((function(t){return r.wrapped.equals(t.route.input.wrapped)}))||s(!1),e.every((function(t){return i.wrapped.equals(t.route.output.wrapped)}))||s(!1);for(var a,u=e.map((function(t){return t.route.pools.length})).reduce((function(t,e){return t+e}),0),o=new Set,p=x(e);!(a=p()).done;)for(var c,l=x(a.value.route.pools);!(c=l()).done;){var d=c.value;o.add(vt.getAddress(d.token0,d.token1))}u!=o.size&&s(!1),this.swaps=e,this.tradeType=n}t.exactIn=function(){var e=v(R().mark((function e(n,r){return R().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t.fromRoute(n,r,exports.TradeType.EXACT_INPUT));case 1:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),t.exactOut=function(){var e=v(R().mark((function e(n,r){return R().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t.fromRoute(n,r,exports.TradeType.EXACT_OUTPUT));case 1:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),t.fromRoute=function(){var e=v(R().mark((function e(n,r,i){var a,u,o,p,c,l,d;return R().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=new Array(n.tokenPath.length),i!==exports.TradeType.EXACT_INPUT){e.next=19;break}r.currency.equals(n.input)||s(!1),a[0]=r.wrapped,p=0;case 5:if(!(p<n.tokenPath.length-1)){e.next=15;break}return c=n.pools[p],e.next=9,c.getOutputAmount(a[p]);case 9:a[p+1]=e.sent[0];case 12:p++,e.next=5;break;case 15:u=H.fromFractionalAmount(n.input,r.numerator,r.denominator),o=H.fromFractionalAmount(n.output,a[a.length-1].numerator,a[a.length-1].denominator),e.next=34;break;case 19:r.currency.equals(n.output)||s(!1),a[a.length-1]=r.wrapped,l=n.tokenPath.length-1;case 22:if(!(l>0)){e.next=32;break}return d=n.pools[l-1],e.next=26,d.getInputAmount(a[l]);case 26:a[l-1]=e.sent[0];case 29:l--,e.next=22;break;case 32:u=H.fromFractionalAmount(n.input,a[0].numerator,a[0].denominator),o=H.fromFractionalAmount(n.output,r.numerator,r.denominator);case 34:return e.abrupt("return",new t({routes:[{inputAmount:u,outputAmount:o,route:n}],tradeType:i}));case 35:case"end":return e.stop()}}),e)})));return function(t,n,r){return e.apply(this,arguments)}}(),t.fromRoutes=function(){var e=v(R().mark((function e(n,r){var i,a,u,o,p,c,l,d,y,m,f,h,T;return R().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=[],a=x(n);case 2:if((u=a()).done){e.next=43;break}if(p=(o=u.value).route,c=o.amount,l=new Array(p.tokenPath.length),d=void 0,y=void 0,r!==exports.TradeType.EXACT_INPUT){e.next=25;break}c.currency.equals(p.input)||s(!1),d=H.fromFractionalAmount(p.input,c.numerator,c.denominator),l[0]=H.fromFractionalAmount(p.input.wrapped,c.numerator,c.denominator),m=0;case 12:if(!(m<p.tokenPath.length-1)){e.next=22;break}return f=p.pools[m],e.next=16,f.getOutputAmount(l[m]);case 16:l[m+1]=e.sent[0];case 19:m++,e.next=12;break;case 22:y=H.fromFractionalAmount(p.output,l[l.length-1].numerator,l[l.length-1].denominator),e.next=40;break;case 25:c.currency.equals(p.output)||s(!1),y=H.fromFractionalAmount(p.output,c.numerator,c.denominator),l[l.length-1]=H.fromFractionalAmount(p.output.wrapped,c.numerator,c.denominator),h=p.tokenPath.length-1;case 29:if(!(h>0)){e.next=39;break}return T=p.pools[h-1],e.next=33,T.getInputAmount(l[h]);case 33:l[h-1]=e.sent[0];case 36:h--,e.next=29;break;case 39:d=H.fromFractionalAmount(p.input,l[0].numerator,l[0].denominator);case 40:i.push({route:p,inputAmount:d,outputAmount:y});case 41:e.next=2;break;case 43:return e.abrupt("return",new t({routes:i,tradeType:r}));case 44:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),t.createUncheckedTrade=function(e){return new t(A({},e,{routes:[{inputAmount:e.inputAmount,outputAmount:e.outputAmount,route:e.route}]}))},t.createUncheckedTradeWithMultipleRoutes=function(e){return new t(e)},t.bestTradeExactIn=function(){var e=v(R().mark((function e(n,r,i,a,u,o,p){var c,l,d,y,m,f,h,T,v,g,k,b;return R().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:d=void 0===(l=(c=void 0===a?{}:a).maxNumResults)?3:l,m=void 0===(y=c.maxHops)?3:y,void 0===u&&(u=[]),void 0===o&&(o=r),void 0===p&&(p=[]),n.length>0||s(!1),m>0||s(!1),r===o||u.length>0||s(!1),f=o.wrapped,h=i.wrapped,T=0;case 10:if(!(T<n.length)){e.next=46;break}if((v=n[T]).token0.equals(f.currency)||v.token1.equals(f.currency)){e.next=14;break}return e.abrupt("continue",43);case 14:return g=void 0,e.prev=15,e.next=18,v.getOutputAmount(f);case 18:g=e.sent[0],e.next=28;break;case 22:if(e.prev=22,e.t0=e.catch(15),!(k=e.t0).isInsufficientInputAmountError){e.next=27;break}return e.abrupt("continue",43);case 27:throw k;case 28:if(!g.currency.isToken||!g.currency.equals(h)){e.next=39;break}return e.t1=Ft,e.t2=p,e.next=33,t.fromRoute(new Ct([].concat(u,[v]),r.currency,i),r,exports.TradeType.EXACT_INPUT);case 33:e.t3=e.sent,e.t4=d,e.t5=Dt,(0,e.t1)(e.t2,e.t3,e.t4,e.t5),e.next=43;break;case 39:if(!(m>1&&n.length>1)){e.next=43;break}return b=n.slice(0,T).concat(n.slice(T+1,n.length)),e.next=43,t.bestTradeExactIn(b,r,i,{maxNumResults:d,maxHops:m-1},[].concat(u,[v]),g,p);case 43:T++,e.next=10;break;case 46:return e.abrupt("return",p);case 47:case"end":return e.stop()}}),e,null,[[15,22]])})));return function(t,n,r,i,a,u,o){return e.apply(this,arguments)}}(),t.bestTradeExactOut=function(){var e=v(R().mark((function e(n,r,i,a,u,o,p){var c,l,d,y,m,f,h,T,v,g,k,b;return R().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:d=void 0===(l=(c=void 0===a?{}:a).maxNumResults)?3:l,m=void 0===(y=c.maxHops)?3:y,void 0===u&&(u=[]),void 0===o&&(o=i),void 0===p&&(p=[]),n.length>0||s(!1),m>0||s(!1),i===o||u.length>0||s(!1),f=o.wrapped,h=r.wrapped,T=0;case 10:if(!(T<n.length)){e.next=46;break}if((v=n[T]).token0.equals(f.currency)||v.token1.equals(f.currency)){e.next=14;break}return e.abrupt("continue",43);case 14:return g=void 0,e.prev=15,e.next=18,v.getInputAmount(f);case 18:g=e.sent[0],e.next=28;break;case 22:if(e.prev=22,e.t0=e.catch(15),!(k=e.t0).isInsufficientReservesError){e.next=27;break}return e.abrupt("continue",43);case 27:throw k;case 28:if(!g.currency.equals(h)){e.next=39;break}return e.t1=Ft,e.t2=p,e.next=33,t.fromRoute(new Ct([v].concat(u),r,i.currency),i,exports.TradeType.EXACT_OUTPUT);case 33:e.t3=e.sent,e.t4=d,e.t5=Dt,(0,e.t1)(e.t2,e.t3,e.t4,e.t5),e.next=43;break;case 39:if(!(m>1&&n.length>1)){e.next=43;break}return b=n.slice(0,T).concat(n.slice(T+1,n.length)),e.next=43,t.bestTradeExactOut(b,r,i,{maxNumResults:d,maxHops:m-1},[v].concat(u),g,p);case 43:T++,e.next=10;break;case 46:return e.abrupt("return",p);case 47:case"end":return e.stop()}}),e,null,[[15,22]])})));return function(t,n,r,i,a,u,o){return e.apply(this,arguments)}}();var e=t.prototype;return e.minimumAmountOut=function(t,e){if(void 0===e&&(e=this.outputAmount),t.lessThan(B)&&s(!1),this.tradeType===exports.TradeType.EXACT_OUTPUT)return e;var n=new D(L).add(t).invert().multiply(e.quotient).quotient;return H.fromRawAmount(e.currency,n)},e.maximumAmountIn=function(t,e){if(void 0===e&&(e=this.inputAmount),t.lessThan(B)&&s(!1),this.tradeType===exports.TradeType.EXACT_INPUT)return e;var n=new D(L).add(t).multiply(e.quotient).quotient;return H.fromRawAmount(e.currency,n)},e.worstExecutionPrice=function(t){return new K(this.inputAmount.currency,this.outputAmount.currency,this.maximumAmountIn(t).quotient,this.minimumAmountOut(t).quotient)},b(t,[{key:"route",get:function(){return 1!=this.swaps.length&&s(!1),this.swaps[0].route}},{key:"inputAmount",get:function(){if(this._inputAmount)return this._inputAmount;var t=this.swaps[0].inputAmount.currency,e=this.swaps.map((function(t){return t.inputAmount})).reduce((function(t,e){return t.add(e)}),H.fromRawAmount(t,0));return this._inputAmount=e,this._inputAmount}},{key:"outputAmount",get:function(){if(this._outputAmount)return this._outputAmount;var t=this.swaps[0].outputAmount.currency,e=this.swaps.map((function(t){return t.outputAmount})).reduce((function(t,e){return t.add(e)}),H.fromRawAmount(t,0));return this._outputAmount=e,this._outputAmount}},{key:"executionPrice",get:function(){var t;return null!=(t=this._executionPrice)?t:this._executionPrice=new K(this.inputAmount.currency,this.outputAmount.currency,this.inputAmount.quotient,this.outputAmount.quotient)}},{key:"priceImpact",get:function(){if(this._priceImpact)return this._priceImpact;for(var t,e=H.fromRawAmount(this.outputAmount.currency,0),n=x(this.swaps);!(t=n()).done;){var r=t.value;e=e.add(r.route.midPrice.quote(r.inputAmount))}var i=e.subtract(this.outputAmount).divide(e);return this._priceImpact=new bt(i.numerator,i.denominator),this._priceImpact}}])}(),Bt=function(t,e,n,r){Number.isSafeInteger(t)||s(!1),e>=0&&e<255&&Number.isInteger(e)||s(!1),this.chainId=t,this.decimals=e,this.symbol=n,this.name=r};function Lt(t){try{return c.getAddress(t)}catch(e){throw new Error(t+" is not a valid address.")}}var Xt,jt=function(t){function e(e,n,r,i,a){var u;return(u=t.call(this,e,r,i,a)||this).isNative=!1,u.isToken=!0,u.chainId=e,u.address=Lt(n),u}w(e,t);var n=e.prototype;return n.equals=function(t){return t.isToken&&this.chainId===t.chainId&&this.address===t.address},n.sortsBefore=function(t){return this.chainId!==t.chainId&&s(!1),this.address===t.address&&s(!1),this.address.toLowerCase()<t.address.toLowerCase()},b(e,[{key:"wrapped",get:function(){return this}}])}(Bt),Wt=function(t){function e(){var e;return(e=t.apply(this,arguments)||this).isNative=!0,e.isToken=!1,e}return w(e,t),e}(Bt),Gt=((Xt={})[Q.Monad]=new jt(Q.Monad,"0x7327DED5602BAf1b3281eA2349a394C087840fe7",18,"WMON","Wrapped Monad"),Xt),Ht=function(t){function e(e,n,r){return t.call(this,e,18,n,r)||this}return w(e,t),e.onChain=function(t,n,r){var i;return null!=(i=this._naitveCache[t])?i:this._naitveCache[t]=new e(t,n,r)},e.prototype.equals=function(t){return t.isNative&&t.chainId===this.chainId},b(e,[{key:"wrapped",get:function(){var t=Gt[this.chainId];return t||s(!1),t}}])}(Wt);Ht._naitveCache={};var Kt=function(t){function e(){return t.apply(this,arguments)||this}return w(e,t),e.onChain=function(t,n,r){var i;return null!=(i=this._cachedNative[t])?i:this._cachedNative[t]=new e(t,n,r)},b(e,[{key:"wrapped",get:function(){return Gt[this.chainId]}}])}(Ht);function Qt(t){var e=u.BigInt(t).toString(16);return e.length%2!=0&&(e="0"+e),"0x"+e}function zt(t,e){var n=t.pools.reduce((function(t,e,n){var r=t.inputToken,i=t.path,a=t.types,u=e.token0.equals(r)?e.token1:e.token0;return 0===n?{inputToken:u,types:["address","address"],path:[r.address,u.address]}:{inputToken:u,types:[].concat(a,["address"]),path:[].concat(i,[u.address])}}),{inputToken:t.input.wrapped,path:[],types:[]}),r=n.path,i=n.types;return e?l.pack(i.reverse(),r.reverse()):l.pack(i,r)}function Yt(t,e){Number.isInteger(t)&&Number.isInteger(e)||s(!1),e>0||s(!1),t>=ct.MIN_TICK&&t<=ct.MAX_TICK||s(!1);var n=Math.round(t/e)*e;return n<ct.MIN_TICK?n+e:n>ct.MAX_TICK?n-e:n}Kt._cachedNative={};var Zt=u.exponentiate(u.BigInt(10),u.BigInt(16));function Vt(t,e){return n=t+Math.round(Math.random()*Math.max(0,e-t)),new Promise((function(t){return setTimeout(t,n)}));var n}var $t=function(t){function e(){var e;return(e=t.call(this,"Cancelled")||this).isCancelledError=!0,e}return w(e,t),e}(N(Error)),Jt=function(t){function e(){var e;return(e=t.apply(this,arguments)||this).isRetryableError=!0,e}return w(e,t),e}(N(Error));function te(t,e,n){var r;if(t&&e&&n&&n.match(/^\d*\.?\d+$/)){var i=n.split("."),a=i[0],o=i[1],s=null!=(r=null==o?void 0:o.length)?r:0,p=u.BigInt((null!=a?a:"")+(null!=o?o:""));return new K(t,e,u.multiply(u.BigInt(Math.pow(10,s)),u.BigInt(Math.pow(10,t.decimals))),u.multiply(p,u.BigInt(Math.pow(10,e.decimals))))}}var ee,ne,re=[{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WNativeToken",type:"address"},{internalType:"address",name:"_tokenDescriptor_",type:"address"},{internalType:"address",name:"_poolDeployer",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"tickOutOfRange",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:!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"}],name:"FarmingFailed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!1,internalType:"uint128",name:"liquidityDesired",type:"uint128"},{indexed:!1,internalType:"uint128",name:"actualLiquidity",type:"uint128"},{indexed:!1,internalType:"uint256",name:"amount0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1",type:"uint256"},{indexed:!1,internalType:"address",name:"pool",type:"address"}],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:"NONFUNGIBLE_POSITION_MANAGER_ADMINISTRATOR_ROLE",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:"WNativeToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount0Owed",type:"uint256"},{internalType:"uint256",name:"amount1Owed",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"algebraMintCallback",outputs:[],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:"uint256",name:"tokenId",type:"uint256"},{internalType:"bool",name:"approve",type:"bool"},{internalType:"address",name:"farmingAddress",type:"address"}],name:"approveForFarming",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",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:"address",name:"deployer",type:"address"},{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:"farmingApprovals",outputs:[{internalType:"address",name:"farmingCenterAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"farmingCenter",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:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"isApprovedOrOwner",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:"address",name:"deployer",type:"address"},{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:[],name:"poolDeployer",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"positions",outputs:[{internalType:"uint88",name:"nonce",type:"uint88"},{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"token0",type:"address"},{internalType:"address",name:"token1",type:"address"},{internalType:"address",name:"deployer",type:"address"},{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:"refundNativeToken",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitAllowed",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitAllowedIfNecessary",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitIfNecessary",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newFarmingCenter",type:"address"}],name:"setFarmingCenter",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:[{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bool",name:"toActive",type:"bool"}],name:"switchFarmingStatus",outputs:[],stateMutability:"nonpayable",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:"uint256",name:"tokenId",type:"uint256"}],name:"tokenFarmedIn",outputs:[{internalType:"address",name:"farmingCenterAddress",type:"address"}],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:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"}],name:"unwrapWNativeToken",outputs:[],stateMutability:"payable",type:"function"},{stateMutability:"payable",type:"receive"}],ie=[{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WNativeToken",type:"address"},{internalType:"address",name:"_poolDeployer",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"WNativeToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"int256",name:"amount0Delta",type:"int256"},{internalType:"int256",name:"amount1Delta",type:"int256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"algebraSwapCallback",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{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:"address",name:"deployer",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMinimum",type:"uint256"},{internalType:"uint160",name:"limitSqrtPrice",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:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"address",name:"deployer",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMinimum",type:"uint256"},{internalType:"uint160",name:"limitSqrtPrice",type:"uint160"}],internalType:"struct ISwapRouter.ExactInputSingleParams",name:"params",type:"tuple"}],name:"exactInputSingleSupportingFeeOnTransferTokens",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:"deadline",type:"uint256"},{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:"address",name:"deployer",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMaximum",type:"uint256"},{internalType:"uint160",name:"limitSqrtPrice",type:"uint160"}],internalType:"struct ISwapRouter.ExactOutputSingleParams",name:"params",type:"tuple"}],name:"exactOutputSingle",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes[]",name:"data",type:"bytes[]"}],name:"multicall",outputs:[{internalType:"bytes[]",name:"results",type:"bytes[]"}],stateMutability:"payable",type:"function"},{inputs:[],name:"poolDeployer",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"refundNativeToken",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:"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:"token",type:"address"},{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"}],name:"sweepToken",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"feeBips",type:"uint256"},{internalType:"address",name:"feeRecipient",type:"address"}],name:"sweepTokenWithFee",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"}],name:"unwrapWNativeToken",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"feeBips",type:"uint256"},{internalType:"address",name:"feeRecipient",type:"address"}],name:"unwrapWNativeTokenWithFee",outputs:[],stateMutability:"payable",type:"function"},{stateMutability:"payable",type:"receive"}],ae=[{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"}];(ee=exports.Bound||(exports.Bound={})).LOWER="LOWER",ee.UPPER="UPPER",(ne=exports.Field||(exports.Field={})).CURRENCY_A="CURRENCY_A",ne.CURRENCY_B="CURRENCY_B";var ue=function(){function t(){}return t.encodePermit=function(e,n){return"nonce"in n?t.INTERFACE.encodeFunctionData("selfPermitAllowed",[e.address,Qt(n.nonce),Qt(n.expiry),n.v,n.r,n.s]):t.INTERFACE.encodeFunctionData("selfPermit",[e.address,Qt(n.amount),Qt(n.deadline),n.v,n.r,n.s])},t}();ue.INTERFACE=new p.Interface(ae);var oe=["expectedCurrencyOwed0","expectedCurrencyOwed1"],se=Qt(u.subtract(u.exponentiate(u.BigInt(2),u.BigInt(128)),u.BigInt(1)));function pe(t){return Object.keys(t).some((function(t){return"recipient"===t}))}var ce=function(t){function e(){return t.call(this)||this}return w(e,t),e.createCallParameters=function(t,e){return{calldata:this.encodeCreate(t,e||t.deployer),value:Qt(0)}},e.addCallParameters=function(t,n){u.greaterThan(t.liquidity,B)||s(!1);var r=[],i=t.mintAmounts,a=i.amount0,o=i.amount1,p=t.mintAmountsWithSlippage(n.slippageTolerance),c=Qt(p.amount0),l=Qt(p.amount1),d=Qt(n.deadline);if(pe(n)&&n.createPool&&r.push(this.encodeCreate(t.pool,n.deployer||t.pool.deployer)),n.token0Permit&&r.push(e.encodePermit(t.pool.token0,n.token0Permit)),n.token1Permit&&r.push(e.encodePermit(t.pool.token1,n.token1Permit)),pe(n)){var y=Lt(n.recipient);r.push(e.INTERFACE.encodeFunctionData("mint",[{token0:t.pool.token0.address,token1:t.pool.token1.address,deployer:t.pool.deployer,tickLower:t.tickLower,tickUpper:t.tickUpper,amount0Desired:Qt(a),amount1Desired:Qt(o),amount0Min:c,amount1Min:l,recipient:y,deadline:d}]))}else r.push(e.INTERFACE.encodeFunctionData("increaseLiquidity",[{tokenId:Qt(n.tokenId),amount0Desired:Qt(a),amount1Desired:Qt(o),amount0Min:c,amount1Min:l,deadline:d}]));var m=Qt(0);if(n.useNative){var f=n.useNative.wrapped;t.pool.token0.equals(f)||t.pool.token1.equals(f)||s(!1);var h=t.pool.token0.equals(f)?a:o;u.greaterThan(h,B)&&r.push(e.INTERFACE.encodeFunctionData("refundNativeToken")),m=Qt(h)}return{calldata:r,value:m}},e.collectCallParameters=function(t){return{calldata:e.encodeCollect(t),value:Qt(0)}},e.removeCallParameters=function(t,n){var r=[],i=Qt(n.deadline),a=Qt(n.tokenId),o=new Et({pool:t.pool,liquidity:n.liquidityPercentage.multiply(t.liquidity).quotient,tickLower:t.tickLower,tickUpper:t.tickUpper});u.greaterThan(o.liquidity,B)||s(!1);var p=o.burnAmountsWithSlippage(n.slippageTolerance),c=p.amount0,l=p.amount1;n.permit&&r.push(e.INTERFACE.encodeFunctionData("permit",[Lt(n.permit.spender),a,Qt(n.permit.deadline),n.permit.v,n.permit.r,n.permit.s])),r.push(e.INTERFACE.encodeFunctionData("decreaseLiquidity",[{tokenId:a,liquidity:Qt(o.liquidity),amount0Min:Qt(c),amount1Min:Qt(l),deadline:i}]));var d=n.collectOptions,y=d.expectedCurrencyOwed0,m=d.expectedCurrencyOwed1,f=function(t,e){if(null==t)return{};var n={};for(var r in t)if({}.hasOwnProperty.call(t,r)){if(-1!==e.indexOf(r))continue;n[r]=t[r]}return n}(d,oe);return r.push.apply(r,e.encodeCollect(A({tokenId:n.tokenId,expectedCurrencyOwed0:y.add(H.fromRawAmount(y.currency,c)),expectedCurrencyOwed1:m.add(H.fromRawAmount(m.currency,l))},f))),n.liquidityPercentage.equalTo(L)?n.burnToken&&r.push(e.INTERFACE.encodeFunctionData("burn",[a])):!0===n.burnToken&&s(!1),{calldata:r,value:Qt(0)}},e.encodeCreate=function(t,n){return e.INTERFACE.encodeFunctionData("createAndInitializePoolIfNecessary",[t.token0.address,t.token1.address,n,Qt(t.sqrtRatioX96)])},e.encodeCollect=function(t){var n=[],r=Qt(t.tokenId),i=t.expectedCurrencyOwed0.currency.isNative||t.expectedCurrencyOwed1.currency.isNative,a=Lt(t.recipient);if(n.push(e.INTERFACE.encodeFunctionData("collect",[{tokenId:r,recipient:i?z:a,amount0Max:se,amount1Max:se}])),i){var u=t.expectedCurrencyOwed0.currency.isNative?t.expectedCurrencyOwed1.currency:t.expectedCurrencyOwed0.currency,o=t.expectedCurrencyOwed0.currency.isNative?t.expectedCurrencyOwed1.quotient:t.expectedCurrencyOwed0.quotient;n.push(e.INTERFACE.encodeFunctionData("unwrapWNativeToken",[Qt(t.expectedCurrencyOwed0.currency.isNative?t.expectedCurrencyOwed0.quotient:t.expectedCurrencyOwed1.quotient),a])),n.push(e.INTERFACE.encodeFunctionData("sweepToken",[u.address,Qt(o),a]))}return n},e}(ue);ce.INTERFACE=new p.Interface(re);var le=function(t){function e(){return t.call(this)||this}return w(e,t),e.swapCallParameters=function(t,n){Array.isArray(t)||(t=[t]);var r=t[0],i=r.inputAmount.currency.wrapped,a=r.outputAmount.currency.wrapped;t.every((function(t){return t.inputAmount.currency.wrapped.equals(i)}))||s(!1),t.every((function(t){return t.outputAmount.currency.wrapped.equals(a)}))||s(!1);var u=[],o=H.fromRawAmount(t[0].inputAmount.currency,0),p=H.fromRawAmount(t[0].outputAmount.currency,0),c=t.reduce((function(t,e){return t.add(e.minimumAmountOut(n.slippageTolerance))}),p),l=r.inputAmount.currency.isNative&&r.tradeType===exports.TradeType.EXACT_OUTPUT,d=r.inputAmount.currency.isNative,y=r.outputAmount.currency.isNative,m=y||!!n.fee,f=d?t.reduce((function(t,e){return t.add(e.maximumAmountIn(n.slippageTolerance))}),o):o;n.inputTokenPermit&&(r.inputAmount.currency.isToken||s(!1),u.push(e.encodePermit(r.inputAmount.currency,n.inputTokenPermit)));for(var h,T=Lt(n.recipient),v=Qt(n.deadline),g=x(t);!(h=g()).done;)for(var k,b=h.value,A=x(b.swaps);!(k=A()).done;){var I=k.value,w=I.route,q=I.outputAmount,R=Qt(b.maximumAmountIn(n.slippageTolerance,I.inputAmount).quotient),P=Qt(b.minimumAmountOut(n.slippageTolerance,q).quotient);if(1===w.pools.length)if(b.tradeType===exports.TradeType.EXACT_INPUT){var O,N={tokenIn:w.tokenPath[0].address,tokenOut:w.tokenPath[1].address,deployer:z,recipient:m?z:T,deadline:v,amountIn:R,amountOutMinimum:P,limitSqrtPrice:Qt(null!=(O=n.sqrtPriceLimitX96)?O:0)};u.push(e.INTERFACE.encodeFunctionData(n.feeOnTransfer&&!d?"exactInputSingleSupportingFeeOnTransferTokens":"exactInputSingle",[N]))}else{var S,_={tokenIn:w.tokenPath[0].address,tokenOut:w.tokenPath[1].address,recipient:m?z:T,deployer:z,deadline:v,amountOut:P,amountInMaximum:R,limitSqrtPrice:Qt(null!=(S=n.sqrtPriceLimitX96)?S:0)};u.push(e.INTERFACE.encodeFunctionData("exactOutputSingle",[_]))}else{void 0!==n.sqrtPriceLimitX96&&s(!1);var M=zt(w,b.tradeType===exports.TradeType.EXACT_OUTPUT);b.tradeType===exports.TradeType.EXACT_INPUT?u.push(e.INTERFACE.encodeFunctionData("exactInput",[{path:M,recipient:m?z:T,deadline:v,amountIn:R,amountOutMinimum:P}])):u.push(e.INTERFACE.encodeFunctionData("exactOutput",[{path:M,recipient:m?z:T,deadline:v,amountOut:P,amountInMaximum:R}]))}}if(m)if(n.fee){var E=Lt(n.fee.recipient),C=Qt(n.fee.fee.multiply(1e4).quotient);u.push(y?e.INTERFACE.encodeFunctionData("unwrapWNativeTokenWithFee",[Qt(c.quotient),T,C,E]):e.INTERFACE.encodeFunctionData("sweepTokenWithFee",[r.outputAmount.currency.wrapped.address,Qt(c.quotient),T,C,E]))}else u.push(e.INTERFACE.encodeFunctionData("unwrapWNativeToken",[Qt(c.quotient),T]));return l&&u.push(e.INTERFACE.encodeFunctionData("refundNativeToken")),{calldata:u,value:Qt(f.quotient)}},e}(ue);le.INTERFACE=new p.Interface(ie),exports.ADDRESS_ZERO=z,exports.ChainId=Q,exports.CurrencyAmount=H,exports.DEFAULT_TICK_SPACING=60,exports.ExtendedNative=Kt,exports.Fraction=D,exports.FullMath=J,exports.INITIAL_POOL_FEE=100,exports.LiquidityMath=$,exports.MaxUint128=se,exports.MaxUint256=W,exports.NEGATIVE_ONE=U,exports.Native=Ht,exports.NoTickDataProvider=lt,exports.NonfungiblePositionManager=ce,exports.ONE=L,exports.POOL_DEPLOYER_ADDRESSES=Y,exports.POOL_INIT_CODE_HASH=Z,exports.Percent=bt,exports.Pool=vt,exports.Position=Et,exports.Price=K,exports.Q192=j,exports.Q96=X,exports.RetryableError=Jt,exports.Route=Ct,exports.SelfPermit=ue,exports.SqrtPriceMath=nt,exports.SwapRouter=le,exports.Tick=ft,exports.TickList=mt,exports.TickListDataProvider=ht,exports.TickMath=ct,exports.Token=jt,exports.Trade=Ut,exports.WNATIVE=Gt,exports.ZERO=B,exports.algebraPositionManagerABI=re,exports.algebraSwapRouterABI=ie,exports.computeCustomPoolAddress=function(t){var e=t.tokenA,n=t.tokenB,r=t.customPoolDeployer,i=t.initCodeHashManualOverride,a=t.mainPoolDeployer,u=e.sortsBefore(n)?[e,n]:[n,e];return c.getCreate2Address(null!=a?a:Y[e.chainId],l.keccak256(["bytes"],[p.defaultAbiCoder.encode(["address","address","address"],[r,u[0].address,u[1].address])]),null!=i?i:Z[e.chainId])},exports.computePoolAddress=V,exports.computePoolAddressZkSync=function(t){var e,n,r,i,a,u=t.poolDeployer,o=t.tokenA,s=t.tokenB,f=t.initCodeHashManualOverride,h=o.sortsBefore(s)?[o,s]:[s,o];return e=null!=u?u:Y[o.chainId],n=l.keccak256(["bytes"],[p.defaultAbiCoder.encode(["address","address"],[h[0].address,h[1].address])]),r=null!=f?f:Z[o.chainId],i=d.keccak256(m.toUtf8Bytes("zksyncCreate2")),a=d.keccak256(y.concat([i,y.zeroPad(e,32),n,r,"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"])).slice(26),c.getAddress(a)},exports.currencyEquals=function(t,e){return t instanceof jt&&e instanceof jt?t.equals(e):!(t instanceof jt||e instanceof jt||t!==e)},exports.encodeRouteToPath=zt,exports.encodeSqrtRatioX96=Nt,exports.getTickToPrice=function(t,e,n){if(t&&e&&"number"==typeof n)return St(t,e,n)},exports.isSorted=dt,exports.maxAmountSpend=function(t){if(t)return t.currency.isNative?u.greaterThan(t.quotient,Zt)?H.fromRawAmount(t.currency,u.subtract(t.quotient,Zt)):H.fromRawAmount(t.currency,u.BigInt(0)):t},exports.maxLiquidityForAmounts=wt,exports.mostSignificantBit=ot,exports.nearestUsableTick=Yt,exports.parseBalance=function(t,e){return void 0===e&&(e=18),f.parseUnits(t||"0",e)},exports.priceToClosestTick=_t,exports.retry=function(t,e){var n,r=e.n,i=e.minWait,a=e.maxWait,u=!1;return{promise:new Promise(function(){var e=v(R().mark((function e(o,s){var p,c;return R().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=s;case 1:return p=void 0,e.prev=3,e.next=6,t();case 6:return p=e.sent,u||(o(p),u=!0),e.abrupt("break",25);case 11:if(e.prev=11,e.t0=e.catch(3),!u){e.next=15;break}return e.abrupt("break",25);case 15:if(c=e.t0,!(r<=0)&&c.isRetryableError){e.next=20;break}return s(c),u=!0,e.abrupt("break",25);case 20:r--;case 21:return e.next=23,Vt(i,a);case 23:e.next=1;break;case 25:case"end":return e.stop()}}),e,null,[[3,11]])})));return function(t,n){return e.apply(this,arguments)}}()),cancel:function(){u||(u=!0,n(new $t))}}},exports.selfPermitABI=ae,exports.tickToPrice=St,exports.toHex=Qt,exports.tradeComparator=Dt,exports.tryParseAmount=function(t,e){if(t&&e)try{var n=f.parseUnits(t,null==e?void 0:e.decimals).toString();if("0"!==n)return H.fromRawAmount(e,u.BigInt(n))}catch(e){console.debug('Failed to parse input amount: "'+t+'"',e)}},exports.tryParsePrice=te,exports.tryParseTick=function(t,e,n,r){if(t&&e&&n&&r){var i=te(t,e,n);if(i){var a=Nt(i.numerator,i.denominator);return Yt(u.greaterThanOrEqual(a,ct.MAX_SQRT_RATIO)?ct.MAX_TICK:u.lessThanOrEqual(a,ct.MIN_SQRT_RATIO)?ct.MIN_TICK:_t(i),r)}}},exports.unwrappedToken=function(t){var e,n;return t.isNative?t:t.equals(Gt[t.chainId])?Ht.onChain(t.chainId,null!=(e=t.symbol)?e:"",null!=(n=t.name)?n:""):t};
2
+ //# sourceMappingURL=monad-v3-sdk.cjs.production.min.js.map