Socket
Socket
Sign inDemoInstall

@uniswap/v3-sdk

Package Overview
Dependencies
Maintainers
7
Versions
89
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@uniswap/v3-sdk - npm Package Compare versions

Comparing version 3.8.3 to 3.9.0

10

dist/quoter.d.ts
import { Interface } from '@ethersproject/abi';
import { BigintIsh, Currency, CurrencyAmount, TradeType } from '@uniswap/sdk-core';
import { MethodParameters } from './utils/calldata';
import { MethodParameters } from './utils';
import { Route } from './entities';

@@ -13,2 +13,6 @@ /**

sqrtPriceLimitX96?: BigintIsh;
/**
* The optional quoter interface to use
*/
useQuoterV2?: boolean;
}

@@ -20,3 +24,4 @@ /**

export declare abstract class SwapQuoter {
static INTERFACE: Interface;
static V1INTERFACE: Interface;
static V2INTERFACE: Interface;
/**

@@ -30,2 +35,3 @@ * Produces the on-chain method name of the appropriate function within QuoterV2,

* @param tradeType The trade type, either exact input or exact output
* @param options The optional params including price limit and Quoter contract switch
* @returns The formatted calldata

@@ -32,0 +38,0 @@ */

2

dist/v3-sdk.cjs.production.min.js

@@ -1,2 +0,2 @@

"use strict";function t(t){return t&&"object"==typeof t&&"default"in t?t.default:t}Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@uniswap/sdk-core"),n=t(require("jsbi")),r=t(require("tiny-invariant")),i=require("@ethersproject/abi"),o=require("@ethersproject/address"),a=require("@ethersproject/solidity"),u=t(require("@uniswap/v3-periphery/artifacts/contracts/interfaces/IMulticall.sol/IMulticall.json")),c=t(require("@uniswap/v3-periphery/artifacts/contracts/NonfungiblePositionManager.sol/NonfungiblePositionManager.json")),s=t(require("@uniswap/v3-periphery/artifacts/contracts/interfaces/ISelfPermit.sol/ISelfPermit.json")),p=t(require("@uniswap/v3-periphery/artifacts/contracts/interfaces/IPeripheryPaymentsWithFee.sol/IPeripheryPaymentsWithFee.json")),l=t(require("@uniswap/v3-periphery/artifacts/contracts/lens/Quoter.sol/Quoter.json")),d=t(require("@uniswap/v3-staker/artifacts/contracts/UniswapV3Staker.sol/UniswapV3Staker.json")),f=t(require("@uniswap/v3-periphery/artifacts/contracts/SwapRouter.sol/SwapRouter.json"));function h(t,e,n,r,i,o,a){try{var u=t[o](a),c=u.value}catch(t){return void n(t)}u.done?e(c):Promise.resolve(c).then(r,i)}function m(t){return function(){var e=this,n=arguments;return new Promise((function(r,i){var o=t.apply(e,n);function a(t){h(o,r,i,a,u,"next",t)}function u(t){h(o,r,i,a,u,"throw",t)}a(void 0)}))}}function v(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,r.key,r)}}function y(t,e,n){return e&&v(t.prototype,e),n&&v(t,n),t}function k(){return(k=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t}).apply(this,arguments)}function g(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function A(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return g(t,void 0);var n=Object.prototype.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)?g(t,void 0):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.")}return(n=t[Symbol.iterator]()).next.bind(n)}var T,x,w,I=(function(t){var e=function(t){var e=Object.prototype,n=e.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},i=r.iterator||"@@iterator",o=r.asyncIterator||"@@asyncIterator",a=r.toStringTag||"@@toStringTag";function u(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,n){return t[e]=n}}function c(t,e,n,r){var i=Object.create((e&&e.prototype instanceof l?e:l).prototype),o=new w(r||[]);return i._invoke=function(t,e,n){var r="suspendedStart";return function(i,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw o;return{value:void 0,done:!0}}for(n.method=i,n.arg=o;;){var a=n.delegate;if(a){var u=A(a,n);if(u){if(u===p)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var c=s(t,e,n);if("normal"===c.type){if(r=n.done?"completed":"suspendedYield",c.arg===p)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(r="completed",n.method="throw",n.arg=c.arg)}}}(t,n,o),i}function s(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var p={};function l(){}function d(){}function f(){}var h={};h[i]=function(){return this};var m=Object.getPrototypeOf,v=m&&m(m(I([])));v&&v!==e&&n.call(v,i)&&(h=v);var y=f.prototype=l.prototype=Object.create(h);function k(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function g(t,e){var r;this._invoke=function(i,o){function a(){return new e((function(r,a){!function r(i,o,a,u){var c=s(t[i],t,o);if("throw"!==c.type){var p=c.arg,l=p.value;return l&&"object"==typeof l&&n.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,a,u)}),(function(t){r("throw",t,a,u)})):e.resolve(l).then((function(t){p.value=t,a(p)}),(function(t){return r("throw",t,a,u)}))}u(c.arg)}(i,o,r,a)}))}return r=r?r.then(a,a):a()}}function A(t,e){var n=t.iterator[e.method];if(void 0===n){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=void 0,A(t,e),"throw"===e.method))return p;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return p}var r=s(n,t.iterator,e.arg);if("throw"===r.type)return e.method="throw",e.arg=r.arg,e.delegate=null,p;var i=r.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,p):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,p)}function T(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 x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function w(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(T,this),this.reset(!0)}function I(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:q}}function q(){return{value:void 0,done:!0}}return d.prototype=y.constructor=f,f.constructor=d,d.displayName=u(f,a,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===d||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,f):(t.__proto__=f,u(t,a,"GeneratorFunction")),t.prototype=Object.create(y),t},t.awrap=function(t){return{__await:t}},k(g.prototype),g.prototype[o]=function(){return this},t.AsyncIterator=g,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new g(c(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},k(y),u(y,a,"Generator"),y[i]=function(){return this},y.toString=function(){return"[object Generator]"},t.keys=function(t){var e=[];for(var n in t)e.push(n);return e.reverse(),function n(){for(;e.length;){var r=e.pop();if(r in t)return n.value=r,n.done=!1,n}return n.done=!0,n}},t.values=I,w.prototype={constructor:w,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var u=n.call(o,"catchLoc"),c=n.call(o,"finallyLoc");if(u&&c){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(u){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method="next",this.next=o.finallyLoc,p):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),p},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),p}},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;x(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:I(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),p}},t}(t.exports);try{regeneratorRuntime=e}catch(t){Function("r","regeneratorRuntime = r")(e)}}(w={exports:{}}),w.exports),q="0x0000000000000000000000000000000000000000",b="0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54";(x=exports.FeeAmount||(exports.FeeAmount={}))[x.LOWEST=100]="LOWEST",x[x.LOW=500]="LOW",x[x.MEDIUM=3e3]="MEDIUM",x[x.HIGH=1e4]="HIGH";var R=((T={})[exports.FeeAmount.LOWEST]=1,T[exports.FeeAmount.LOW]=10,T[exports.FeeAmount.MEDIUM]=60,T[exports.FeeAmount.HIGH]=200,T),E=n.BigInt(-1),P=n.BigInt(0),C=n.BigInt(1),S=n.exponentiate(n.BigInt(2),n.BigInt(96)),O=n.exponentiate(S,n.BigInt(2));function N(t){var e=t.factoryAddress,n=t.tokenA,r=t.tokenB,u=t.fee,c=t.initCodeHashManualOverride,s=n.sortsBefore(r)?[n,r]:[r,n];return o.getCreate2Address(e,a.keccak256(["bytes"],[i.defaultAbiCoder.encode(["address","address","uint24"],[s[0].address,s[1].address,u])]),null!=c?c:b)}var _=function(){function t(){}return t.addDelta=function(t,e){return n.lessThan(e,P)?n.subtract(t,n.multiply(e,E)):n.add(t,e)},t}(),F=function(){function t(){}return t.mulDivRoundingUp=function(t,e,r){var i=n.multiply(t,e),o=n.divide(i,r);return n.notEqual(n.remainder(i,r),P)&&(o=n.add(o,C)),o},t}(),X=n.subtract(n.exponentiate(n.BigInt(2),n.BigInt(160)),C);function L(t,r){var i=n.multiply(t,r);return n.bitwiseAnd(i,e.MaxUint256)}var U=function(){function t(){}return t.getAmount0Delta=function(t,e,r,i){if(n.greaterThan(t,e)){var o=[e,t];t=o[0],e=o[1]}var a=n.leftShift(r,n.BigInt(96)),u=n.subtract(e,t);return i?F.mulDivRoundingUp(F.mulDivRoundingUp(a,u,e),C,t):n.divide(n.divide(n.multiply(a,u),e),t)},t.getAmount1Delta=function(t,e,r,i){if(n.greaterThan(t,e)){var o=[e,t];t=o[0],e=o[1]}return i?F.mulDivRoundingUp(r,n.subtract(e,t),S):n.divide(n.multiply(r,n.subtract(e,t)),S)},t.getNextSqrtPriceFromInput=function(t,e,i,o){return n.greaterThan(t,P)||r(!1),n.greaterThan(e,P)||r(!1),o?this.getNextSqrtPriceFromAmount0RoundingUp(t,e,i,!0):this.getNextSqrtPriceFromAmount1RoundingDown(t,e,i,!0)},t.getNextSqrtPriceFromOutput=function(t,e,i,o){return n.greaterThan(t,P)||r(!1),n.greaterThan(e,P)||r(!1),o?this.getNextSqrtPriceFromAmount1RoundingDown(t,e,i,!1):this.getNextSqrtPriceFromAmount0RoundingUp(t,e,i,!1)},t.getNextSqrtPriceFromAmount0RoundingUp=function(t,i,o,a){if(n.equal(o,P))return t;var u=n.leftShift(i,n.BigInt(96));if(a){var c=L(o,t);if(n.equal(n.divide(c,o),t)){var s=(l=n.add(u,c),n.bitwiseAnd(l,e.MaxUint256));if(n.greaterThanOrEqual(s,u))return F.mulDivRoundingUp(u,t,s)}return F.mulDivRoundingUp(u,C,n.add(n.divide(u,t),o))}var p=L(o,t);n.equal(n.divide(p,o),t)||r(!1),n.greaterThan(u,p)||r(!1);var l,d=n.subtract(u,p);return F.mulDivRoundingUp(u,t,d)},t.getNextSqrtPriceFromAmount1RoundingDown=function(t,e,i,o){if(o){var a=n.lessThanOrEqual(i,X)?n.divide(n.leftShift(i,n.BigInt(96)),e):n.divide(n.multiply(i,S),e);return n.add(t,a)}var u=F.mulDivRoundingUp(i,S,e);return n.greaterThan(t,u)||r(!1),n.subtract(t,u)},t}(),B=n.exponentiate(n.BigInt(10),n.BigInt(6)),M=function(){function t(){}return t.computeSwapStep=function(t,e,r,i,o){var a={},u=n.greaterThanOrEqual(t,e),c=n.greaterThanOrEqual(i,P);if(c){var s=n.divide(n.multiply(i,n.subtract(B,n.BigInt(o))),B);a.amountIn=u?U.getAmount0Delta(e,t,r,!0):U.getAmount1Delta(t,e,r,!0),a.sqrtRatioNextX96=n.greaterThanOrEqual(s,a.amountIn)?e:U.getNextSqrtPriceFromInput(t,r,s,u)}else a.amountOut=u?U.getAmount1Delta(e,t,r,!1):U.getAmount0Delta(t,e,r,!1),a.sqrtRatioNextX96=n.greaterThanOrEqual(n.multiply(i,E),a.amountOut)?e:U.getNextSqrtPriceFromOutput(t,r,n.multiply(i,E),u);var p=n.equal(e,a.sqrtRatioNextX96);return u?(a.amountIn=p&&c?a.amountIn:U.getAmount0Delta(a.sqrtRatioNextX96,t,r,!0),a.amountOut=p&&!c?a.amountOut:U.getAmount1Delta(a.sqrtRatioNextX96,t,r,!1)):(a.amountIn=p&&c?a.amountIn:U.getAmount1Delta(t,a.sqrtRatioNextX96,r,!0),a.amountOut=p&&!c?a.amountOut:U.getAmount0Delta(t,a.sqrtRatioNextX96,r,!1)),!c&&n.greaterThan(a.amountOut,n.multiply(i,E))&&(a.amountOut=n.multiply(i,E)),a.feeAmount=c&&n.notEqual(a.sqrtRatioNextX96,e)?n.subtract(i,a.amountIn):F.mulDivRoundingUp(a.amountIn,n.BigInt(o),n.subtract(B,n.BigInt(o))),[a.sqrtRatioNextX96,a.amountIn,a.amountOut,a.feeAmount]},t}(),D=n.BigInt(2),j=[128,64,32,16,8,4,2,1].map((function(t){return[t,n.exponentiate(D,n.BigInt(t))]}));function W(t){n.greaterThan(t,P)||r(!1),n.lessThanOrEqual(t,e.MaxUint256)||r(!1);for(var i,o=0,a=A(j);!(i=a()).done;){var u=i.value,c=u[0];n.greaterThanOrEqual(t,u[1])&&(t=n.signedRightShift(t,n.BigInt(c)),o+=c)}return o}function G(t,e){return n.signedRightShift(n.multiply(t,n.BigInt(e)),n.BigInt(128))}var K=n.exponentiate(n.BigInt(2),n.BigInt(32)),H=function(){function t(){}return t.getSqrtRatioAtTick=function(i){i>=t.MIN_TICK&&i<=t.MAX_TICK&&Number.isInteger(i)||r(!1);var o=i<0?-1*i:i,a=n.BigInt(0!=(1&o)?"0xfffcb933bd6fad37aa2d162d1a594001":"0x100000000000000000000000000000000");return 0!=(2&o)&&(a=G(a,"0xfff97272373d413259a46990580e213a")),0!=(4&o)&&(a=G(a,"0xfff2e50f5f656932ef12357cf3c7fdcc")),0!=(8&o)&&(a=G(a,"0xffe5caca7e10e4e61c3624eaa0941cd0")),0!=(16&o)&&(a=G(a,"0xffcb9843d60f6159c9db58835c926644")),0!=(32&o)&&(a=G(a,"0xff973b41fa98c081472e6896dfb254c0")),0!=(64&o)&&(a=G(a,"0xff2ea16466c96a3843ec78b326b52861")),0!=(128&o)&&(a=G(a,"0xfe5dee046a99a2a811c461f1969c3053")),0!=(256&o)&&(a=G(a,"0xfcbe86c7900a88aedcffc83b479aa3a4")),0!=(512&o)&&(a=G(a,"0xf987a7253ac413176f2b074cf7815e54")),0!=(1024&o)&&(a=G(a,"0xf3392b0822b70005940c7a398e4b70f3")),0!=(2048&o)&&(a=G(a,"0xe7159475a2c29b7443b29c7fa6e889d9")),0!=(4096&o)&&(a=G(a,"0xd097f3bdfd2022b8845ad8f792aa5825")),0!=(8192&o)&&(a=G(a,"0xa9f746462d870fdf8a65dc1f90e061e5")),0!=(16384&o)&&(a=G(a,"0x70d869a156d2a1b890bb3df62baf32f7")),0!=(32768&o)&&(a=G(a,"0x31be135f97d08fd981231505542fcfa6")),0!=(65536&o)&&(a=G(a,"0x9aa508b5b7a84e1c677de54f3e99bc9")),0!=(131072&o)&&(a=G(a,"0x5d6af8dedb81196699c329225ee604")),0!=(262144&o)&&(a=G(a,"0x2216e584f5fa1ea926041bedfe98")),0!=(524288&o)&&(a=G(a,"0x48a170391f7dc42444e8fa2")),i>0&&(a=n.divide(e.MaxUint256,a)),n.greaterThan(n.remainder(a,K),P)?n.add(n.divide(a,K),C):n.divide(a,K)},t.getTickAtSqrtRatio=function(e){n.greaterThanOrEqual(e,t.MIN_SQRT_RATIO)&&n.lessThan(e,t.MAX_SQRT_RATIO)||r(!1);var i,o=n.leftShift(e,n.BigInt(32)),a=W(o);i=n.greaterThanOrEqual(n.BigInt(a),n.BigInt(128))?n.signedRightShift(o,n.BigInt(a-127)):n.leftShift(o,n.BigInt(127-a));for(var u=n.leftShift(n.subtract(n.BigInt(a),n.BigInt(128)),n.BigInt(64)),c=0;c<14;c++){i=n.signedRightShift(n.multiply(i,i),n.BigInt(127));var s=n.signedRightShift(i,n.BigInt(128));u=n.bitwiseOr(u,n.leftShift(s,n.BigInt(63-c))),i=n.signedRightShift(i,s)}var p=n.multiply(u,n.BigInt("255738958999603826347141")),l=n.toNumber(n.signedRightShift(n.subtract(p,n.BigInt("3402992956809132418596140100660247210")),n.BigInt(128))),d=n.toNumber(n.signedRightShift(n.add(p,n.BigInt("291339464771989622907027621153398088495")),n.BigInt(128)));return l===d?l:n.lessThanOrEqual(t.getSqrtRatioAtTick(d),e)?d:l},t}();H.MIN_TICK=-887272,H.MAX_TICK=-H.MIN_TICK,H.MIN_SQRT_RATIO=n.BigInt("4295128739"),H.MAX_SQRT_RATIO=n.BigInt("1461446703485210103287273052203988822378723970342");var Q=function(){function t(){}var e=t.prototype;return e.getTick=function(){var e=m(I.mark((function e(n){return I.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=m(I.mark((function e(n,r,i){return I.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 z(t,e){for(var n=0;n<t.length-1;n++)if(e(t[n],t[n+1])>0)return!1;return!0}function Y(t,e){return t.index-e.index}Q.ERROR_MESSAGE="No tick data provider was given";var V=function(){function t(){}return t.validateList=function(t,e){e>0||r(!1),t.every((function(t){return t.index%e==0}))||r(!1),n.equal(t.reduce((function(t,e){return n.add(t,e.liquidityNet)}),P),P)||r(!1),z(t,Y)||r(!1)},t.isBelowSmallest=function(t,e){return t.length>0||r(!1),e<t[0].index},t.isAtOrAboveLargest=function(t,e){return t.length>0||r(!1),e>=t[t.length-1].index},t.getTick=function(t,e){var n=t[this.binarySearch(t,e)];return n.index!==e&&r(!1),n},t.binarySearch=function(t,e){this.isBelowSmallest(t,e)&&r(!1);for(var n,i=0,o=t.length-1;;){if(t[n=Math.floor((i+o)/2)].index<=e&&(n===t.length-1||t[n+1].index>e))return n;t[n].index<e?i=n+1:o=n-1}},t.nextInitializedTick=function(e,n,i){return i?(t.isBelowSmallest(e,n)&&r(!1),t.isAtOrAboveLargest(e,n)?e[e.length-1]:e[this.binarySearch(e,n)]):(this.isAtOrAboveLargest(e,n)&&r(!1),this.isBelowSmallest(e,n)?e[0]:e[this.binarySearch(e,n)+1])},t.nextInitializedTickWithinOneWord=function(e,n,r,i){var o=Math.floor(n/i);if(r){var a=(o>>8<<8)*i;if(t.isBelowSmallest(e,n))return[a,!1];var u=t.nextInitializedTick(e,n,r).index,c=Math.max(a,u);return[c,c===u]}var s=((1+(o+1>>8)<<8)-1)*i;if(this.isAtOrAboveLargest(e,n))return[s,!1];var p=this.nextInitializedTick(e,n,r).index,l=Math.min(s,p);return[l,l===p]},t}();function Z(t){var e=n.BigInt(t).toString(16);return e.length%2!=0&&(e="0"+e),"0x"+e}function $(t,e){var n=t.pools.reduce((function(t,e,n){var r=t.inputToken,i=t.path,o=t.types,a=e.token0.equals(r)?e.token1:e.token0;return 0===n?{inputToken:a,types:["address","uint24","address"],path:[r.address,e.fee,a.address]}:{inputToken:a,types:[].concat(o,["uint24","address"]),path:[].concat(i,[e.fee,a.address])}}),{inputToken:t.input.wrapped,path:[],types:[]}),r=n.path,i=n.types;return e?a.pack(i.reverse(),r.reverse()):a.pack(i,r)}function J(t,r){var i=n.leftShift(n.BigInt(t),n.BigInt(192)),o=n.BigInt(r),a=n.divide(i,o);return e.sqrt(a)}function tt(t,e,r){if(n.greaterThan(t,e)){var i=[e,t];t=i[0],e=i[1]}var o=n.divide(n.multiply(t,e),S);return n.divide(n.multiply(n.BigInt(r),o),n.subtract(e,t))}function et(t,e,r){if(n.greaterThan(t,e)){var i=[e,t];t=i[0],e=i[1]}var o=n.multiply(n.multiply(n.BigInt(r),t),e),a=n.multiply(S,n.subtract(e,t));return n.divide(o,a)}function nt(t,e,r){if(n.greaterThan(t,e)){var i=[e,t];t=i[0],e=i[1]}return n.divide(n.multiply(n.BigInt(r),S),n.subtract(e,t))}function rt(t,e,r,i,o,a){if(n.greaterThan(e,r)){var u=[r,e];e=u[0],r=u[1]}var c=a?et:tt;if(n.lessThanOrEqual(t,e))return c(e,r,i);if(n.lessThan(t,r)){var s=c(t,r,i),p=nt(e,t,o);return n.lessThan(s,p)?s:p}return nt(e,r,o)}var it=n.exponentiate(n.BigInt(2),n.BigInt(128)),ot=function(){function t(){}return t.getTokensOwed=function(t,e,r,i,o){return[n.divide(n.multiply(ct(i,t),r),it),n.divide(n.multiply(ct(o,e),r),it)]},t}();function at(t,r,i){var o=H.getSqrtRatioAtTick(i),a=n.multiply(o,o);return t.sortsBefore(r)?new e.Price(t,r,O,a):new e.Price(t,r,a,O)}var ut=n.exponentiate(n.BigInt(2),n.BigInt(256));function ct(t,e){var r=n.subtract(t,e);return n.lessThan(r,P)?n.add(ut,r):r}var st=function(){function t(){}return t.getFeeGrowthInside=function(t,e,n,r,i,o,a){var u,c,s,p;return i>=n?(u=t.feeGrowthOutside0X128,c=t.feeGrowthOutside1X128):(u=ct(o,t.feeGrowthOutside0X128),c=ct(a,t.feeGrowthOutside1X128)),i<r?(s=e.feeGrowthOutside0X128,p=e.feeGrowthOutside1X128):(s=ct(o,e.feeGrowthOutside0X128),p=ct(a,e.feeGrowthOutside1X128)),[ct(ct(o,u),s),ct(ct(a,c),p)]},t}(),pt=function(t){var e=t.index,i=t.liquidityGross,o=t.liquidityNet;e>=H.MIN_TICK&&e<=H.MAX_TICK||r(!1),this.index=e,this.liquidityGross=n.BigInt(i),this.liquidityNet=n.BigInt(o)},lt=function(){function t(t,e){var n=t.map((function(t){return t instanceof pt?t:new pt(t)}));V.validateList(n,e),this.ticks=n}var e=t.prototype;return e.getTick=function(){var t=m(I.mark((function t(e){return I.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",V.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=m(I.mark((function t(e,n,r){return I.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",V.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}(),dt=new Q,ft=function(){function t(t,e,i,o,a,u,c){void 0===c&&(c=dt),Number.isInteger(i)&&i<1e6||r(!1);var s=H.getSqrtRatioAtTick(u),p=H.getSqrtRatioAtTick(u+1);n.greaterThanOrEqual(n.BigInt(o),s)&&n.lessThanOrEqual(n.BigInt(o),p)||r(!1);var l=t.sortsBefore(e)?[t,e]:[e,t];this.token0=l[0],this.token1=l[1],this.fee=i,this.sqrtRatioX96=n.BigInt(o),this.liquidity=n.BigInt(a),this.tickCurrent=u,this.tickDataProvider=Array.isArray(c)?new lt(c,R[i]):c}t.getAddress=function(t,e,n,r,i){return N({factoryAddress:null!=i?i:"0x1F98431c8aD98523631AE4a59f267346ea31F984",fee:n,tokenA:t,tokenB:e,initCodeHashManualOverride:r})};var i=t.prototype;return i.involvesToken=function(t){return t.equals(this.token0)||t.equals(this.token1)},i.priceOf=function(t){return this.involvesToken(t)||r(!1),t.equals(this.token0)?this.token0Price:this.token1Price},i.getOutputAmount=function(){var i=m(I.mark((function i(o,a){var u,c,s,p,l;return I.wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return this.involvesToken(o.currency)||r(!1),u=o.currency.equals(this.token0),i.next=4,this.swap(u,o.quotient,a);case 4:return s=(c=i.sent).sqrtRatioX96,p=c.liquidity,l=c.tickCurrent,i.abrupt("return",[e.CurrencyAmount.fromRawAmount(u?this.token1:this.token0,n.multiply(c.amountCalculated,E)),new t(this.token0,this.token1,this.fee,s,p,l,this.tickDataProvider)]);case 11:case"end":return i.stop()}}),i,this)})));return function(t,e){return i.apply(this,arguments)}}(),i.getInputAmount=function(){var i=m(I.mark((function i(o,a){var u,c,s,p,l;return I.wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return o.currency.isToken&&this.involvesToken(o.currency)||r(!1),u=o.currency.equals(this.token1),i.next=4,this.swap(u,n.multiply(o.quotient,E),a);case 4:return s=(c=i.sent).sqrtRatioX96,p=c.liquidity,l=c.tickCurrent,i.abrupt("return",[e.CurrencyAmount.fromRawAmount(u?this.token0:this.token1,c.amountCalculated),new t(this.token0,this.token1,this.fee,s,p,l,this.tickDataProvider)]);case 11:case"end":return i.stop()}}),i,this)})));return function(t,e){return i.apply(this,arguments)}}(),i.swap=function(){var t=m(I.mark((function t(e,i,o){var a,u,c,s,p,l;return I.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:o||(o=e?n.add(H.MIN_SQRT_RATIO,C):n.subtract(H.MAX_SQRT_RATIO,C)),e?(n.greaterThan(o,H.MIN_SQRT_RATIO)||r(!1),n.lessThan(o,this.sqrtRatioX96)||r(!1)):(n.lessThan(o,H.MAX_SQRT_RATIO)||r(!1),n.greaterThan(o,this.sqrtRatioX96)||r(!1)),a=n.greaterThanOrEqual(i,P),u={amountSpecifiedRemaining:i,amountCalculated:P,sqrtPriceX96:this.sqrtRatioX96,tick:this.tickCurrent,liquidity:this.liquidity};case 4:if(!n.notEqual(u.amountSpecifiedRemaining,P)||u.sqrtPriceX96==o){t.next=35;break}return(c={}).sqrtPriceStartX96=u.sqrtPriceX96,t.next=9,this.tickDataProvider.nextInitializedTickWithinOneWord(u.tick,e,this.tickSpacing);case 9:if(c.tickNext=(s=t.sent)[0],c.initialized=s[1],c.tickNext<H.MIN_TICK?c.tickNext=H.MIN_TICK:c.tickNext>H.MAX_TICK&&(c.tickNext=H.MAX_TICK),c.sqrtPriceNextX96=H.getSqrtRatioAtTick(c.tickNext),p=M.computeSwapStep(u.sqrtPriceX96,(e?n.lessThan(c.sqrtPriceNextX96,o):n.greaterThan(c.sqrtPriceNextX96,o))?o:c.sqrtPriceNextX96,u.liquidity,u.amountSpecifiedRemaining,this.fee),u.sqrtPriceX96=p[0],c.amountIn=p[1],c.amountOut=p[2],c.feeAmount=p[3],a?(u.amountSpecifiedRemaining=n.subtract(u.amountSpecifiedRemaining,n.add(c.amountIn,c.feeAmount)),u.amountCalculated=n.subtract(u.amountCalculated,c.amountOut)):(u.amountSpecifiedRemaining=n.add(u.amountSpecifiedRemaining,c.amountOut),u.amountCalculated=n.add(u.amountCalculated,n.add(c.amountIn,c.feeAmount))),!n.equal(u.sqrtPriceX96,c.sqrtPriceNextX96)){t.next=32;break}if(!c.initialized){t.next=29;break}return t.t0=n,t.next=25,this.tickDataProvider.getTick(c.tickNext);case 25:t.t1=t.sent.liquidityNet,l=t.t0.BigInt.call(t.t0,t.t1),e&&(l=n.multiply(l,E)),u.liquidity=_.addDelta(u.liquidity,l);case 29:u.tick=e?c.tickNext-1:c.tickNext,t.next=33;break;case 32:u.sqrtPriceX96!=c.sqrtPriceStartX96&&(u.tick=H.getTickAtSqrtRatio(u.sqrtPriceX96));case 33:t.next=4;break;case 35:return t.abrupt("return",{amountCalculated:u.amountCalculated,sqrtRatioX96:u.sqrtPriceX96,liquidity:u.liquidity,tickCurrent:u.tick});case 36:case"end":return t.stop()}}),t,this)})));return function(e,n,r){return t.apply(this,arguments)}}(),y(t,[{key:"token0Price",get:function(){var t;return null!=(t=this._token0Price)?t:this._token0Price=new e.Price(this.token0,this.token1,O,n.multiply(this.sqrtRatioX96,this.sqrtRatioX96))}},{key:"token1Price",get:function(){var t;return null!=(t=this._token1Price)?t:this._token1Price=new e.Price(this.token1,this.token0,n.multiply(this.sqrtRatioX96,this.sqrtRatioX96),O)}},{key:"chainId",get:function(){return this.token0.chainId}},{key:"tickSpacing",get:function(){return R[this.fee]}}]),t}(),ht=function(){function t(t){var e=t.pool,i=t.liquidity,o=t.tickLower,a=t.tickUpper;this._token0Amount=null,this._token1Amount=null,this._mintAmounts=null,o<a||r(!1),o>=H.MIN_TICK&&o%e.tickSpacing==0||r(!1),a<=H.MAX_TICK&&a%e.tickSpacing==0||r(!1),this.pool=e,this.tickLower=o,this.tickUpper=a,this.liquidity=n.BigInt(i)}var i=t.prototype;return i.ratiosAfterSlippage=function(t){var r=this.pool.token0Price.asFraction.multiply(new e.Percent(1).subtract(t)),i=this.pool.token0Price.asFraction.multiply(t.add(1)),o=J(r.numerator,r.denominator);n.lessThanOrEqual(o,H.MIN_SQRT_RATIO)&&(o=n.add(H.MIN_SQRT_RATIO,n.BigInt(1)));var a=J(i.numerator,i.denominator);return n.greaterThanOrEqual(a,H.MAX_SQRT_RATIO)&&(a=n.subtract(H.MAX_SQRT_RATIO,n.BigInt(1))),{sqrtRatioX96Lower:o,sqrtRatioX96Upper:a}},i.mintAmountsWithSlippage=function(e){var n=this.ratiosAfterSlippage(e),r=n.sqrtRatioX96Upper,i=n.sqrtRatioX96Lower,o=new ft(this.pool.token0,this.pool.token1,this.pool.fee,i,0,H.getTickAtSqrtRatio(i)),a=new ft(this.pool.token0,this.pool.token1,this.pool.fee,r,0,H.getTickAtSqrtRatio(r)),u=t.fromAmounts(k({pool:this.pool,tickLower:this.tickLower,tickUpper:this.tickUpper},this.mintAmounts,{useFullPrecision:!1}));return{amount0:new t({pool:a,liquidity:u.liquidity,tickLower:this.tickLower,tickUpper:this.tickUpper}).mintAmounts.amount0,amount1:new t({pool:o,liquidity:u.liquidity,tickLower:this.tickLower,tickUpper:this.tickUpper}).mintAmounts.amount1}},i.burnAmountsWithSlippage=function(e){var n=this.ratiosAfterSlippage(e),r=n.sqrtRatioX96Upper,i=n.sqrtRatioX96Lower,o=new ft(this.pool.token0,this.pool.token1,this.pool.fee,i,0,H.getTickAtSqrtRatio(i)),a=new t({pool:new ft(this.pool.token0,this.pool.token1,this.pool.fee,r,0,H.getTickAtSqrtRatio(r)),liquidity:this.liquidity,tickLower:this.tickLower,tickUpper:this.tickUpper}).amount0,u=new t({pool:o,liquidity:this.liquidity,tickLower:this.tickLower,tickUpper:this.tickUpper}).amount1;return{amount0:a.quotient,amount1:u.quotient}},t.fromAmounts=function(e){var n=e.pool,r=e.tickLower,i=e.tickUpper,o=e.amount0,a=e.amount1,u=e.useFullPrecision,c=H.getSqrtRatioAtTick(r),s=H.getSqrtRatioAtTick(i);return new t({pool:n,tickLower:r,tickUpper:i,liquidity:rt(n.sqrtRatioX96,c,s,o,a,u)})},t.fromAmount0=function(n){return t.fromAmounts({pool:n.pool,tickLower:n.tickLower,tickUpper:n.tickUpper,amount0:n.amount0,amount1:e.MaxUint256,useFullPrecision:n.useFullPrecision})},t.fromAmount1=function(n){return t.fromAmounts({pool:n.pool,tickLower:n.tickLower,tickUpper:n.tickUpper,amount0:e.MaxUint256,amount1:n.amount1,useFullPrecision:!0})},y(t,[{key:"token0PriceLower",get:function(){return at(this.pool.token0,this.pool.token1,this.tickLower)}},{key:"token0PriceUpper",get:function(){return at(this.pool.token0,this.pool.token1,this.tickUpper)}},{key:"amount0",get:function(){return null===this._token0Amount&&(this._token0Amount=e.CurrencyAmount.fromRawAmount(this.pool.token0,this.pool.tickCurrent<this.tickLower?U.getAmount0Delta(H.getSqrtRatioAtTick(this.tickLower),H.getSqrtRatioAtTick(this.tickUpper),this.liquidity,!1):this.pool.tickCurrent<this.tickUpper?U.getAmount0Delta(this.pool.sqrtRatioX96,H.getSqrtRatioAtTick(this.tickUpper),this.liquidity,!1):P)),this._token0Amount}},{key:"amount1",get:function(){return null===this._token1Amount&&(this._token1Amount=e.CurrencyAmount.fromRawAmount(this.pool.token1,this.pool.tickCurrent<this.tickLower?P:U.getAmount1Delta(H.getSqrtRatioAtTick(this.tickLower),this.pool.tickCurrent<this.tickUpper?this.pool.sqrtRatioX96:H.getSqrtRatioAtTick(this.tickUpper),this.liquidity,!1))),this._token1Amount}},{key:"mintAmounts",get:function(){return null===this._mintAmounts?this.pool.tickCurrent<this.tickLower?{amount0:U.getAmount0Delta(H.getSqrtRatioAtTick(this.tickLower),H.getSqrtRatioAtTick(this.tickUpper),this.liquidity,!0),amount1:P}:this.pool.tickCurrent<this.tickUpper?{amount0:U.getAmount0Delta(this.pool.sqrtRatioX96,H.getSqrtRatioAtTick(this.tickUpper),this.liquidity,!0),amount1:U.getAmount1Delta(H.getSqrtRatioAtTick(this.tickLower),this.pool.sqrtRatioX96,this.liquidity,!0)}:{amount0:P,amount1:U.getAmount1Delta(H.getSqrtRatioAtTick(this.tickLower),H.getSqrtRatioAtTick(this.tickUpper),this.liquidity,!0)}:this._mintAmounts}}]),t}(),mt=function(){function t(t,e,n){this._midPrice=null,t.length>0||r(!1);var i=t[0].chainId;t.every((function(t){return t.chainId===i}))||r(!1);var o=e.wrapped;t[0].involvesToken(o)||r(!1),t[t.length-1].involvesToken(n.wrapped)||r(!1);for(var a,u=[o],c=A(t.entries());!(a=c()).done;){var s=a.value,p=s[1],l=u[s[0]];l.equals(p.token0)||l.equals(p.token1)||r(!1);var d=l.equals(p.token0)?p.token1:p.token0;u.push(d)}this.pools=t,this.tokenPath=u,this.input=e,this.output=null!=n?n:u[u.length-1]}return y(t,[{key:"chainId",get:function(){return this.pools[0].chainId}},{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 e.Price(this.input,this.output,t.denominator,t.numerator)}}]),t}();function vt(t,e){return t.inputAmount.currency.equals(e.inputAmount.currency)||r(!1),t.outputAmount.currency.equals(e.outputAmount.currency)||r(!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}var yt=function(){function t(t){var e=t.routes,n=t.tradeType,i=e[0].inputAmount.currency,o=e[0].outputAmount.currency;e.every((function(t){return i.wrapped.equals(t.route.input.wrapped)}))||r(!1),e.every((function(t){return o.wrapped.equals(t.route.output.wrapped)}))||r(!1);for(var a,u=e.map((function(t){return t.route.pools.length})).reduce((function(t,e){return t+e}),0),c=new Set,s=A(e);!(a=s()).done;)for(var p,l=A(a.value.route.pools);!(p=l()).done;){var d=p.value;c.add(ft.getAddress(d.token0,d.token1,d.fee))}u!=c.size&&r(!1),this.swaps=e,this.tradeType=n}t.exactIn=function(){var n=m(I.mark((function n(r,i){return I.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",t.fromRoute(r,i,e.TradeType.EXACT_INPUT));case 1:case"end":return n.stop()}}),n)})));return function(t,e){return n.apply(this,arguments)}}(),t.exactOut=function(){var n=m(I.mark((function n(r,i){return I.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",t.fromRoute(r,i,e.TradeType.EXACT_OUTPUT));case 1:case"end":return n.stop()}}),n)})));return function(t,e){return n.apply(this,arguments)}}(),t.fromRoute=function(){var n=m(I.mark((function n(i,o,a){var u,c,s,p,l,d,f;return I.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(u=new Array(i.tokenPath.length),a!==e.TradeType.EXACT_INPUT){n.next=19;break}o.currency.equals(i.input)||r(!1),u[0]=o.wrapped,p=0;case 5:if(!(p<i.tokenPath.length-1)){n.next=15;break}return l=i.pools[p],n.next=9,l.getOutputAmount(u[p]);case 9:u[p+1]=n.sent[0];case 12:p++,n.next=5;break;case 15:c=e.CurrencyAmount.fromFractionalAmount(i.input,o.numerator,o.denominator),s=e.CurrencyAmount.fromFractionalAmount(i.output,u[u.length-1].numerator,u[u.length-1].denominator),n.next=34;break;case 19:o.currency.equals(i.output)||r(!1),u[u.length-1]=o.wrapped,d=i.tokenPath.length-1;case 22:if(!(d>0)){n.next=32;break}return f=i.pools[d-1],n.next=26,f.getInputAmount(u[d]);case 26:u[d-1]=n.sent[0];case 29:d--,n.next=22;break;case 32:c=e.CurrencyAmount.fromFractionalAmount(i.input,u[0].numerator,u[0].denominator),s=e.CurrencyAmount.fromFractionalAmount(i.output,o.numerator,o.denominator);case 34:return n.abrupt("return",new t({routes:[{inputAmount:c,outputAmount:s,route:i}],tradeType:a}));case 35:case"end":return n.stop()}}),n)})));return function(t,e,r){return n.apply(this,arguments)}}(),t.fromRoutes=function(){var n=m(I.mark((function n(i,o){var a,u,c,s,p,l,d,f,h,m,v,y,k;return I.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:a=[],u=A(i);case 2:if((c=u()).done){n.next=43;break}if(p=(s=c.value).route,l=s.amount,d=new Array(p.tokenPath.length),f=void 0,h=void 0,o!==e.TradeType.EXACT_INPUT){n.next=25;break}l.currency.equals(p.input)||r(!1),f=e.CurrencyAmount.fromFractionalAmount(p.input,l.numerator,l.denominator),d[0]=e.CurrencyAmount.fromFractionalAmount(p.input.wrapped,l.numerator,l.denominator),m=0;case 12:if(!(m<p.tokenPath.length-1)){n.next=22;break}return v=p.pools[m],n.next=16,v.getOutputAmount(d[m]);case 16:d[m+1]=n.sent[0];case 19:m++,n.next=12;break;case 22:h=e.CurrencyAmount.fromFractionalAmount(p.output,d[d.length-1].numerator,d[d.length-1].denominator),n.next=40;break;case 25:l.currency.equals(p.output)||r(!1),h=e.CurrencyAmount.fromFractionalAmount(p.output,l.numerator,l.denominator),d[d.length-1]=e.CurrencyAmount.fromFractionalAmount(p.output.wrapped,l.numerator,l.denominator),y=p.tokenPath.length-1;case 29:if(!(y>0)){n.next=39;break}return k=p.pools[y-1],n.next=33,k.getInputAmount(d[y]);case 33:d[y-1]=n.sent[0];case 36:y--,n.next=29;break;case 39:f=e.CurrencyAmount.fromFractionalAmount(p.input,d[0].numerator,d[0].denominator);case 40:a.push({route:p,inputAmount:f,outputAmount:h});case 41:n.next=2;break;case 43:return n.abrupt("return",new t({routes:a,tradeType:o}));case 44:case"end":return n.stop()}}),n)})));return function(t,e){return n.apply(this,arguments)}}(),t.createUncheckedTrade=function(e){return new t(k({},e,{routes:[{inputAmount:e.inputAmount,outputAmount:e.outputAmount,route:e.route}]}))},t.createUncheckedTradeWithMultipleRoutes=function(e){return new t(e)};var n=t.prototype;return n.minimumAmountOut=function(t,n){if(void 0===n&&(n=this.outputAmount),t.lessThan(P)&&r(!1),this.tradeType===e.TradeType.EXACT_OUTPUT)return n;var i=new e.Fraction(C).add(t).invert().multiply(n.quotient).quotient;return e.CurrencyAmount.fromRawAmount(n.currency,i)},n.maximumAmountIn=function(t,n){if(void 0===n&&(n=this.inputAmount),t.lessThan(P)&&r(!1),this.tradeType===e.TradeType.EXACT_INPUT)return n;var i=new e.Fraction(C).add(t).multiply(n.quotient).quotient;return e.CurrencyAmount.fromRawAmount(n.currency,i)},n.worstExecutionPrice=function(t){return new e.Price(this.inputAmount.currency,this.outputAmount.currency,this.maximumAmountIn(t).quotient,this.minimumAmountOut(t).quotient)},t.bestTradeExactIn=function(){var n=m(I.mark((function n(i,o,a,u,c,s,p){var l,d,f,h,m,v,y,k,g,A,T;return I.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:f=void 0===(d=(l=void 0===u?{}:u).maxNumResults)?3:d,m=void 0===(h=l.maxHops)?3:h,void 0===c&&(c=[]),void 0===s&&(s=o),void 0===p&&(p=[]),i.length>0||r(!1),m>0||r(!1),o===s||c.length>0||r(!1),v=s.wrapped,y=a.wrapped,k=0;case 10:if(!(k<i.length)){n.next=46;break}if((g=i[k]).token0.equals(v.currency)||g.token1.equals(v.currency)){n.next=14;break}return n.abrupt("continue",43);case 14:return A=void 0,n.prev=15,n.next=19,g.getOutputAmount(v);case 19:A=n.sent[0],n.next=28;break;case 23:if(n.prev=23,n.t0=n.catch(15),!n.t0.isInsufficientInputAmountError){n.next=27;break}return n.abrupt("continue",43);case 27:throw n.t0;case 28:if(!A.currency.isToken||!A.currency.equals(y)){n.next=39;break}return n.t1=e.sortedInsert,n.t2=p,n.next=33,t.fromRoute(new mt([].concat(c,[g]),o.currency,a),o,e.TradeType.EXACT_INPUT);case 33:n.t3=n.sent,n.t4=f,n.t5=vt,(0,n.t1)(n.t2,n.t3,n.t4,n.t5),n.next=43;break;case 39:if(!(m>1&&i.length>1)){n.next=43;break}return T=i.slice(0,k).concat(i.slice(k+1,i.length)),n.next=43,t.bestTradeExactIn(T,o,a,{maxNumResults:f,maxHops:m-1},[].concat(c,[g]),A,p);case 43:k++,n.next=10;break;case 46:return n.abrupt("return",p);case 47:case"end":return n.stop()}}),n,null,[[15,23]])})));return function(t,e,r,i,o,a,u){return n.apply(this,arguments)}}(),t.bestTradeExactOut=function(){var n=m(I.mark((function n(i,o,a,u,c,s,p){var l,d,f,h,m,v,y,k,g,A,T;return I.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:f=void 0===(d=(l=void 0===u?{}:u).maxNumResults)?3:d,m=void 0===(h=l.maxHops)?3:h,void 0===c&&(c=[]),void 0===s&&(s=a),void 0===p&&(p=[]),i.length>0||r(!1),m>0||r(!1),a===s||c.length>0||r(!1),v=s.wrapped,y=o.wrapped,k=0;case 10:if(!(k<i.length)){n.next=46;break}if((g=i[k]).token0.equals(v.currency)||g.token1.equals(v.currency)){n.next=14;break}return n.abrupt("continue",43);case 14:return A=void 0,n.prev=15,n.next=19,g.getInputAmount(v);case 19:A=n.sent[0],n.next=28;break;case 23:if(n.prev=23,n.t0=n.catch(15),!n.t0.isInsufficientReservesError){n.next=27;break}return n.abrupt("continue",43);case 27:throw n.t0;case 28:if(!A.currency.equals(y)){n.next=39;break}return n.t1=e.sortedInsert,n.t2=p,n.next=33,t.fromRoute(new mt([g].concat(c),o,a.currency),a,e.TradeType.EXACT_OUTPUT);case 33:n.t3=n.sent,n.t4=f,n.t5=vt,(0,n.t1)(n.t2,n.t3,n.t4,n.t5),n.next=43;break;case 39:if(!(m>1&&i.length>1)){n.next=43;break}return T=i.slice(0,k).concat(i.slice(k+1,i.length)),n.next=43,t.bestTradeExactOut(T,o,a,{maxNumResults:f,maxHops:m-1},[g].concat(c),A,p);case 43:k++,n.next=10;break;case 46:return n.abrupt("return",p);case 47:case"end":return n.stop()}}),n,null,[[15,23]])})));return function(t,e,r,i,o,a,u){return n.apply(this,arguments)}}(),y(t,[{key:"route",get:function(){return 1!=this.swaps.length&&r(!1),this.swaps[0].route}},{key:"inputAmount",get:function(){if(this._inputAmount)return this._inputAmount;var t=this.swaps[0].inputAmount.currency,n=this.swaps.map((function(t){return t.inputAmount})).reduce((function(t,e){return t.add(e)}),e.CurrencyAmount.fromRawAmount(t,0));return this._inputAmount=n,this._inputAmount}},{key:"outputAmount",get:function(){if(this._outputAmount)return this._outputAmount;var t=this.swaps[0].outputAmount.currency,n=this.swaps.map((function(t){return t.outputAmount})).reduce((function(t,e){return t.add(e)}),e.CurrencyAmount.fromRawAmount(t,0));return this._outputAmount=n,this._outputAmount}},{key:"executionPrice",get:function(){var t;return null!=(t=this._executionPrice)?t:this._executionPrice=new e.Price(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,n=e.CurrencyAmount.fromRawAmount(this.outputAmount.currency,0),r=A(this.swaps);!(t=r()).done;){var i=t.value;n=n.add(i.route.midPrice.quote(i.inputAmount))}var o=n.subtract(this.outputAmount).divide(n);return this._priceImpact=new e.Percent(o.numerator,o.denominator),this._priceImpact}}]),t}(),kt=function(){function t(){}return t.encodeMulticall=function(e){return Array.isArray(e)||(e=[e]),1===e.length?e[0]:t.INTERFACE.encodeFunctionData("multicall",[e])},t}();kt.INTERFACE=new i.Interface(u.abi);var gt=function(){function t(){}return t.encodePermit=function(e,n){return"nonce"in n?t.INTERFACE.encodeFunctionData("selfPermitAllowed",[e.address,Z(n.nonce),Z(n.expiry),n.v,n.r,n.s]):t.INTERFACE.encodeFunctionData("selfPermit",[e.address,Z(n.amount),Z(n.deadline),n.v,n.r,n.s])},t}();gt.INTERFACE=new i.Interface(s.abi);var At=function(){function t(){}return t.encodeFeeBips=function(t){return Z(t.multiply(1e4).quotient)},t.encodeUnwrapWETH9=function(n,r,i){if(r=e.validateAndParseAddress(r),i){var o=this.encodeFeeBips(i.fee),a=e.validateAndParseAddress(i.recipient);return t.INTERFACE.encodeFunctionData("unwrapWETH9WithFee",[Z(n),r,o,a])}return t.INTERFACE.encodeFunctionData("unwrapWETH9",[Z(n),r])},t.encodeSweepToken=function(n,r,i,o){if(i=e.validateAndParseAddress(i),o){var a=this.encodeFeeBips(o.fee),u=e.validateAndParseAddress(o.recipient);return t.INTERFACE.encodeFunctionData("sweepTokenWithFee",[n.address,Z(r),i,a,u])}return t.INTERFACE.encodeFunctionData("sweepToken",[n.address,Z(r),i])},t.encodeRefundETH=function(){return t.INTERFACE.encodeFunctionData("refundETH")},t}();At.INTERFACE=new i.Interface(p.abi);var Tt=Z(n.subtract(n.exponentiate(n.BigInt(2),n.BigInt(128)),n.BigInt(1)));function xt(t){return Object.keys(t).some((function(t){return"recipient"===t}))}var wt=function(){function t(){}return t.encodeCreate=function(e){return t.INTERFACE.encodeFunctionData("createAndInitializePoolIfNecessary",[e.token0.address,e.token1.address,e.fee,Z(e.sqrtRatioX96)])},t.createCallParameters=function(t){return{calldata:this.encodeCreate(t),value:Z(0)}},t.addCallParameters=function(i,o){n.greaterThan(i.liquidity,P)||r(!1);var a=[],u=i.mintAmounts,c=u.amount0,s=u.amount1,p=i.mintAmountsWithSlippage(o.slippageTolerance),l=Z(p.amount0),d=Z(p.amount1),f=Z(o.deadline);if(xt(o)&&o.createPool&&a.push(this.encodeCreate(i.pool)),o.token0Permit&&a.push(gt.encodePermit(i.pool.token0,o.token0Permit)),o.token1Permit&&a.push(gt.encodePermit(i.pool.token1,o.token1Permit)),xt(o)){var h=e.validateAndParseAddress(o.recipient);a.push(t.INTERFACE.encodeFunctionData("mint",[{token0:i.pool.token0.address,token1:i.pool.token1.address,fee:i.pool.fee,tickLower:i.tickLower,tickUpper:i.tickUpper,amount0Desired:Z(c),amount1Desired:Z(s),amount0Min:l,amount1Min:d,recipient:h,deadline:f}]))}else a.push(t.INTERFACE.encodeFunctionData("increaseLiquidity",[{tokenId:Z(o.tokenId),amount0Desired:Z(c),amount1Desired:Z(s),amount0Min:l,amount1Min:d,deadline:f}]));var m=Z(0);if(o.useNative){var v=o.useNative.wrapped;i.pool.token0.equals(v)||i.pool.token1.equals(v)||r(!1);var y=i.pool.token0.equals(v)?c:s;n.greaterThan(y,P)&&a.push(At.encodeRefundETH()),m=Z(y)}return{calldata:kt.encodeMulticall(a),value:m}},t.encodeCollect=function(n){var r=[],i=Z(n.tokenId),o=n.expectedCurrencyOwed0.currency.isNative||n.expectedCurrencyOwed1.currency.isNative,a=e.validateAndParseAddress(n.recipient);if(r.push(t.INTERFACE.encodeFunctionData("collect",[{tokenId:i,recipient:o?q:a,amount0Max:Tt,amount1Max:Tt}])),o){var u=n.expectedCurrencyOwed0.currency.isNative?n.expectedCurrencyOwed1.currency:n.expectedCurrencyOwed0.currency,c=n.expectedCurrencyOwed0.currency.isNative?n.expectedCurrencyOwed1.quotient:n.expectedCurrencyOwed0.quotient;r.push(At.encodeUnwrapWETH9(n.expectedCurrencyOwed0.currency.isNative?n.expectedCurrencyOwed0.quotient:n.expectedCurrencyOwed1.quotient,a)),r.push(At.encodeSweepToken(u,c,a))}return r},t.collectCallParameters=function(e){var n=t.encodeCollect(e);return{calldata:kt.encodeMulticall(n),value:Z(0)}},t.removeCallParameters=function(i,o){var a=[],u=Z(o.deadline),c=Z(o.tokenId),s=new ht({pool:i.pool,liquidity:o.liquidityPercentage.multiply(i.liquidity).quotient,tickLower:i.tickLower,tickUpper:i.tickUpper});n.greaterThan(s.liquidity,P)||r(!1);var p=s.burnAmountsWithSlippage(o.slippageTolerance),l=p.amount0,d=p.amount1;o.permit&&a.push(t.INTERFACE.encodeFunctionData("permit",[e.validateAndParseAddress(o.permit.spender),c,Z(o.permit.deadline),o.permit.v,o.permit.r,o.permit.s])),a.push(t.INTERFACE.encodeFunctionData("decreaseLiquidity",[{tokenId:c,liquidity:Z(s.liquidity),amount0Min:Z(l),amount1Min:Z(d),deadline:u}]));var f=o.collectOptions,h=f.expectedCurrencyOwed0,m=f.expectedCurrencyOwed1,v=function(t,e){if(null==t)return{};var n,r,i={},o=Object.keys(t);for(r=0;r<o.length;r++)e.indexOf(n=o[r])>=0||(i[n]=t[n]);return i}(f,["expectedCurrencyOwed0","expectedCurrencyOwed1"]);return a.push.apply(a,t.encodeCollect(k({tokenId:Z(o.tokenId),expectedCurrencyOwed0:h.add(e.CurrencyAmount.fromRawAmount(h.currency,l)),expectedCurrencyOwed1:m.add(e.CurrencyAmount.fromRawAmount(m.currency,d))},v))),o.liquidityPercentage.equalTo(C)?o.burnToken&&a.push(t.INTERFACE.encodeFunctionData("burn",[c])):!0===o.burnToken&&r(!1),{calldata:kt.encodeMulticall(a),value:Z(0)}},t.safeTransferFromParameters=function(n){var r=e.validateAndParseAddress(n.recipient),i=e.validateAndParseAddress(n.sender);return{calldata:n.data?t.INTERFACE.encodeFunctionData("safeTransferFrom(address,address,uint256,bytes)",[i,r,Z(n.tokenId),n.data]):t.INTERFACE.encodeFunctionData("safeTransferFrom(address,address,uint256)",[i,r,Z(n.tokenId)]),value:Z(0)}},t}();wt.INTERFACE=new i.Interface(c.abi);var It=function(){function t(){}return t.quoteCallParameters=function(n,i,o,a){void 0===a&&(a={});var u,c=1===n.pools.length,s=Z(i.quotient);if(c){var p,l,d,f;u=o===e.TradeType.EXACT_INPUT?t.INTERFACE.encodeFunctionData("quoteExactInputSingle",[n.tokenPath[0].address,n.tokenPath[1].address,n.pools[0].fee,s,Z(null!=(p=null==(l=a)?void 0:l.sqrtPriceLimitX96)?p:0)]):t.INTERFACE.encodeFunctionData("quoteExactOutputSingle",[n.tokenPath[0].address,n.tokenPath[1].address,n.pools[0].fee,s,Z(null!=(d=null==(f=a)?void 0:f.sqrtPriceLimitX96)?d:0)])}else{var h;void 0!==(null==(h=a)?void 0:h.sqrtPriceLimitX96)&&r(!1);var m=$(n,o===e.TradeType.EXACT_OUTPUT);u=t.INTERFACE.encodeFunctionData(o===e.TradeType.EXACT_INPUT?"quoteExactInput":"quoteExactOutput",[m,s])}return{calldata:u,value:Z(0)}},t}();It.INTERFACE=new i.Interface(l.abi);var qt=function(){function t(){}return t.encodeClaim=function(n,r){var i,o=[];o.push(t.INTERFACE.encodeFunctionData("unstakeToken",[this._encodeIncentiveKey(n),Z(r.tokenId)]));var a=e.validateAndParseAddress(r.recipient),u=null!=(i=r.amount)?i:0;return o.push(t.INTERFACE.encodeFunctionData("claimReward",[n.rewardToken.address,a,Z(u)])),o},t.collectRewards=function(e,n){e=Array.isArray(e)?e:[e];for(var r=[],i=0;i<e.length;i++){var o=e[i];(r=r.concat(this.encodeClaim(o,n))).push(t.INTERFACE.encodeFunctionData("stakeToken",[this._encodeIncentiveKey(o),Z(n.tokenId)]))}return{calldata:kt.encodeMulticall(r),value:Z(0)}},t.withdrawToken=function(n,r){var i=[];n=Array.isArray(n)?n:[n];for(var o={tokenId:r.tokenId,recipient:r.recipient,amount:r.amount},a=0;a<n.length;a++)i=i.concat(this.encodeClaim(n[a],o));var u=e.validateAndParseAddress(r.owner);return i.push(t.INTERFACE.encodeFunctionData("withdrawToken",[Z(r.tokenId),u,r.data?r.data:Z(0)])),{calldata:kt.encodeMulticall(i),value:Z(0)}},t.encodeDeposit=function(e){var n;if((e=Array.isArray(e)?e:[e]).length>1){for(var r=[],o=0;o<e.length;o++)r.push(this._encodeIncentiveKey(e[o]));n=i.defaultAbiCoder.encode([t.INCENTIVE_KEY_ABI+"[]"],[r])}else n=i.defaultAbiCoder.encode([t.INCENTIVE_KEY_ABI],[this._encodeIncentiveKey(e[0])]);return n},t._encodeIncentiveKey=function(t){var n=t.pool,r=n.token0,i=n.token1,o=n.fee,a=e.validateAndParseAddress(t.refundee);return{rewardToken:t.rewardToken.address,pool:ft.getAddress(r,i,o),startTime:Z(t.startTime),endTime:Z(t.endTime),refundee:a}},t}();qt.INTERFACE=new i.Interface(d.abi),qt.INCENTIVE_KEY_ABI="tuple(address rewardToken, address pool, uint256 startTime, uint256 endTime, address refundee)";var bt=function(){function t(){}return t.swapCallParameters=function(n,i){Array.isArray(n)||(n=[n]);var o=n[0],a=o.inputAmount.currency.wrapped,u=o.outputAmount.currency.wrapped;n.every((function(t){return t.inputAmount.currency.wrapped.equals(a)}))||r(!1),n.every((function(t){return t.outputAmount.currency.wrapped.equals(u)}))||r(!1);var c=[],s=e.CurrencyAmount.fromRawAmount(n[0].inputAmount.currency,0),p=e.CurrencyAmount.fromRawAmount(n[0].outputAmount.currency,0),l=n.reduce((function(t,e){return t.add(e.minimumAmountOut(i.slippageTolerance))}),p),d=o.inputAmount.currency.isNative&&o.tradeType===e.TradeType.EXACT_OUTPUT,f=o.outputAmount.currency.isNative,h=f||!!i.fee,m=o.inputAmount.currency.isNative?n.reduce((function(t,e){return t.add(e.maximumAmountIn(i.slippageTolerance))}),s):s;i.inputTokenPermit&&(o.inputAmount.currency.isToken||r(!1),c.push(gt.encodePermit(o.inputAmount.currency,i.inputTokenPermit)));for(var v,y=e.validateAndParseAddress(i.recipient),k=Z(i.deadline),g=A(n);!(v=g()).done;)for(var T,x=v.value,w=A(x.swaps);!(T=w()).done;){var I=T.value,b=I.route,R=I.outputAmount,E=Z(x.maximumAmountIn(i.slippageTolerance,I.inputAmount).quotient),P=Z(x.minimumAmountOut(i.slippageTolerance,R).quotient);if(1===b.pools.length)if(x.tradeType===e.TradeType.EXACT_INPUT){var C,S={tokenIn:b.tokenPath[0].address,tokenOut:b.tokenPath[1].address,fee:b.pools[0].fee,recipient:h?q:y,deadline:k,amountIn:E,amountOutMinimum:P,sqrtPriceLimitX96:Z(null!=(C=i.sqrtPriceLimitX96)?C:0)};c.push(t.INTERFACE.encodeFunctionData("exactInputSingle",[S]))}else{var O,N={tokenIn:b.tokenPath[0].address,tokenOut:b.tokenPath[1].address,fee:b.pools[0].fee,recipient:h?q:y,deadline:k,amountOut:P,amountInMaximum:E,sqrtPriceLimitX96:Z(null!=(O=i.sqrtPriceLimitX96)?O:0)};c.push(t.INTERFACE.encodeFunctionData("exactOutputSingle",[N]))}else{void 0!==i.sqrtPriceLimitX96&&r(!1);var _=$(b,x.tradeType===e.TradeType.EXACT_OUTPUT);c.push(x.tradeType===e.TradeType.EXACT_INPUT?t.INTERFACE.encodeFunctionData("exactInput",[{path:_,recipient:h?q:y,deadline:k,amountIn:E,amountOutMinimum:P}]):t.INTERFACE.encodeFunctionData("exactOutput",[{path:_,recipient:h?q:y,deadline:k,amountOut:P,amountInMaximum:E}]))}}return h&&c.push(i.fee?f?At.encodeUnwrapWETH9(l.quotient,y,i.fee):At.encodeSweepToken(o.outputAmount.currency.wrapped,l.quotient,y,i.fee):At.encodeUnwrapWETH9(l.quotient,y)),d&&c.push(At.encodeRefundETH()),{calldata:kt.encodeMulticall(c),value:Z(m.quotient)}},t}();bt.INTERFACE=new i.Interface(f.abi),exports.ADDRESS_ZERO=q,exports.FACTORY_ADDRESS="0x1F98431c8aD98523631AE4a59f267346ea31F984",exports.FullMath=F,exports.LiquidityMath=_,exports.Multicall=kt,exports.NoTickDataProvider=Q,exports.NonfungiblePositionManager=wt,exports.POOL_INIT_CODE_HASH=b,exports.Payments=At,exports.Pool=ft,exports.Position=ht,exports.PositionLibrary=ot,exports.Route=mt,exports.SelfPermit=gt,exports.SqrtPriceMath=U,exports.Staker=qt,exports.SwapMath=M,exports.SwapQuoter=It,exports.SwapRouter=bt,exports.TICK_SPACINGS=R,exports.Tick=pt,exports.TickLibrary=st,exports.TickList=V,exports.TickListDataProvider=lt,exports.TickMath=H,exports.Trade=yt,exports.computePoolAddress=N,exports.encodeRouteToPath=$,exports.encodeSqrtRatioX96=J,exports.isSorted=z,exports.maxLiquidityForAmounts=rt,exports.mostSignificantBit=W,exports.nearestUsableTick=function(t,e){Number.isInteger(t)&&Number.isInteger(e)||r(!1),e>0||r(!1),t>=H.MIN_TICK&&t<=H.MAX_TICK||r(!1);var n=Math.round(t/e)*e;return n<H.MIN_TICK?n+e:n>H.MAX_TICK?n-e:n},exports.priceToClosestTick=function(t){var e=t.baseCurrency.sortsBefore(t.quoteCurrency),n=e?J(t.numerator,t.denominator):J(t.denominator,t.numerator),r=H.getTickAtSqrtRatio(n),i=at(t.baseCurrency,t.quoteCurrency,r+1);return e?t.lessThan(i)||r++:t.greaterThan(i)||r++,r},exports.subIn256=ct,exports.tickToPrice=at,exports.toHex=Z,exports.tradeComparator=vt;
"use strict";function t(t){return t&&"object"==typeof t&&"default"in t?t.default:t}Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@uniswap/sdk-core"),n=t(require("jsbi")),r=t(require("tiny-invariant")),i=require("@ethersproject/abi"),o=require("@ethersproject/address"),u=require("@ethersproject/solidity"),a=t(require("@uniswap/v3-periphery/artifacts/contracts/interfaces/IMulticall.sol/IMulticall.json")),c=t(require("@uniswap/v3-periphery/artifacts/contracts/NonfungiblePositionManager.sol/NonfungiblePositionManager.json")),s=t(require("@uniswap/v3-periphery/artifacts/contracts/interfaces/ISelfPermit.sol/ISelfPermit.json")),p=t(require("@uniswap/v3-periphery/artifacts/contracts/interfaces/IPeripheryPaymentsWithFee.sol/IPeripheryPaymentsWithFee.json")),l=t(require("@uniswap/v3-periphery/artifacts/contracts/lens/Quoter.sol/Quoter.json")),d=t(require("@uniswap/swap-router-contracts/artifacts/contracts/lens/QuoterV2.sol/QuoterV2.json")),f=t(require("@uniswap/v3-staker/artifacts/contracts/UniswapV3Staker.sol/UniswapV3Staker.json")),h=t(require("@uniswap/v3-periphery/artifacts/contracts/SwapRouter.sol/SwapRouter.json"));function m(t,e,n,r,i,o,u){try{var a=t[o](u),c=a.value}catch(t){return void n(t)}a.done?e(c):Promise.resolve(c).then(r,i)}function v(t){return function(){var e=this,n=arguments;return new Promise((function(r,i){var o=t.apply(e,n);function u(t){m(o,r,i,u,a,"next",t)}function a(t){m(o,r,i,u,a,"throw",t)}u(void 0)}))}}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,r.key,r)}}function y(t,e,n){return e&&k(t.prototype,e),n&&k(t,n),t}function g(){return(g=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t}).apply(this,arguments)}function A(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function T(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return A(t,void 0);var n=Object.prototype.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)?A(t,void 0):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.")}return(n=t[Symbol.iterator]()).next.bind(n)}var x,w,I,q=(function(t){var e=function(t){var e=Object.prototype,n=e.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},i=r.iterator||"@@iterator",o=r.asyncIterator||"@@asyncIterator",u=r.toStringTag||"@@toStringTag";function a(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{a({},"")}catch(t){a=function(t,e,n){return t[e]=n}}function c(t,e,n,r){var i=Object.create((e&&e.prototype instanceof l?e:l).prototype),o=new w(r||[]);return i._invoke=function(t,e,n){var r="suspendedStart";return function(i,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw o;return{value:void 0,done:!0}}for(n.method=i,n.arg=o;;){var u=n.delegate;if(u){var a=A(u,n);if(a){if(a===p)continue;return a}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var c=s(t,e,n);if("normal"===c.type){if(r=n.done?"completed":"suspendedYield",c.arg===p)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(r="completed",n.method="throw",n.arg=c.arg)}}}(t,n,o),i}function s(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var p={};function l(){}function d(){}function f(){}var h={};h[i]=function(){return this};var m=Object.getPrototypeOf,v=m&&m(m(I([])));v&&v!==e&&n.call(v,i)&&(h=v);var k=f.prototype=l.prototype=Object.create(h);function y(t){["next","throw","return"].forEach((function(e){a(t,e,(function(t){return this._invoke(e,t)}))}))}function g(t,e){var r;this._invoke=function(i,o){function u(){return new e((function(r,u){!function r(i,o,u,a){var c=s(t[i],t,o);if("throw"!==c.type){var p=c.arg,l=p.value;return l&&"object"==typeof l&&n.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,u,a)}),(function(t){r("throw",t,u,a)})):e.resolve(l).then((function(t){p.value=t,u(p)}),(function(t){return r("throw",t,u,a)}))}a(c.arg)}(i,o,r,u)}))}return r=r?r.then(u,u):u()}}function A(t,e){var n=t.iterator[e.method];if(void 0===n){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=void 0,A(t,e),"throw"===e.method))return p;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return p}var r=s(n,t.iterator,e.arg);if("throw"===r.type)return e.method="throw",e.arg=r.arg,e.delegate=null,p;var i=r.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,p):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,p)}function T(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 x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function w(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(T,this),this.reset(!0)}function I(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:q}}function q(){return{value:void 0,done:!0}}return d.prototype=k.constructor=f,f.constructor=d,d.displayName=a(f,u,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===d||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,f):(t.__proto__=f,a(t,u,"GeneratorFunction")),t.prototype=Object.create(k),t},t.awrap=function(t){return{__await:t}},y(g.prototype),g.prototype[o]=function(){return this},t.AsyncIterator=g,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var u=new g(c(e,n,r,i),o);return t.isGeneratorFunction(n)?u:u.next().then((function(t){return t.done?t.value:u.next()}))},y(k),a(k,u,"Generator"),k[i]=function(){return this},k.toString=function(){return"[object Generator]"},t.keys=function(t){var e=[];for(var n in t)e.push(n);return e.reverse(),function n(){for(;e.length;){var r=e.pop();if(r in t)return n.value=r,n.done=!1,n}return n.done=!0,n}},t.values=I,w.prototype={constructor:w,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return u.type="throw",u.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],u=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var a=n.call(o,"catchLoc"),c=n.call(o,"finallyLoc");if(a&&c){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(a){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var u=o?o.completion:{};return u.type=t,u.arg=e,o?(this.method="next",this.next=o.finallyLoc,p):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),p},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),x(n),p}},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;x(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:I(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),p}},t}(t.exports);try{regeneratorRuntime=e}catch(t){Function("r","regeneratorRuntime = r")(e)}}(I={exports:{}}),I.exports),b="0x0000000000000000000000000000000000000000",R="0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54";(w=exports.FeeAmount||(exports.FeeAmount={}))[w.LOWEST=100]="LOWEST",w[w.LOW=500]="LOW",w[w.MEDIUM=3e3]="MEDIUM",w[w.HIGH=1e4]="HIGH";var E=((x={})[exports.FeeAmount.LOWEST]=1,x[exports.FeeAmount.LOW]=10,x[exports.FeeAmount.MEDIUM]=60,x[exports.FeeAmount.HIGH]=200,x),P=n.BigInt(-1),C=n.BigInt(0),S=n.BigInt(1),O=n.exponentiate(n.BigInt(2),n.BigInt(96)),N=n.exponentiate(O,n.BigInt(2));function _(t){var e=t.factoryAddress,n=t.tokenA,r=t.tokenB,a=t.fee,c=t.initCodeHashManualOverride,s=n.sortsBefore(r)?[n,r]:[r,n];return o.getCreate2Address(e,u.keccak256(["bytes"],[i.defaultAbiCoder.encode(["address","address","uint24"],[s[0].address,s[1].address,a])]),null!=c?c:R)}var F=function(){function t(){}return t.addDelta=function(t,e){return n.lessThan(e,C)?n.subtract(t,n.multiply(e,P)):n.add(t,e)},t}(),X=function(){function t(){}return t.mulDivRoundingUp=function(t,e,r){var i=n.multiply(t,e),o=n.divide(i,r);return n.notEqual(n.remainder(i,r),C)&&(o=n.add(o,S)),o},t}(),L=n.subtract(n.exponentiate(n.BigInt(2),n.BigInt(160)),S);function U(t,r){var i=n.multiply(t,r);return n.bitwiseAnd(i,e.MaxUint256)}var B=function(){function t(){}return t.getAmount0Delta=function(t,e,r,i){if(n.greaterThan(t,e)){var o=[e,t];t=o[0],e=o[1]}var u=n.leftShift(r,n.BigInt(96)),a=n.subtract(e,t);return i?X.mulDivRoundingUp(X.mulDivRoundingUp(u,a,e),S,t):n.divide(n.divide(n.multiply(u,a),e),t)},t.getAmount1Delta=function(t,e,r,i){if(n.greaterThan(t,e)){var o=[e,t];t=o[0],e=o[1]}return i?X.mulDivRoundingUp(r,n.subtract(e,t),O):n.divide(n.multiply(r,n.subtract(e,t)),O)},t.getNextSqrtPriceFromInput=function(t,e,i,o){return n.greaterThan(t,C)||r(!1),n.greaterThan(e,C)||r(!1),o?this.getNextSqrtPriceFromAmount0RoundingUp(t,e,i,!0):this.getNextSqrtPriceFromAmount1RoundingDown(t,e,i,!0)},t.getNextSqrtPriceFromOutput=function(t,e,i,o){return n.greaterThan(t,C)||r(!1),n.greaterThan(e,C)||r(!1),o?this.getNextSqrtPriceFromAmount1RoundingDown(t,e,i,!1):this.getNextSqrtPriceFromAmount0RoundingUp(t,e,i,!1)},t.getNextSqrtPriceFromAmount0RoundingUp=function(t,i,o,u){if(n.equal(o,C))return t;var a=n.leftShift(i,n.BigInt(96));if(u){var c=U(o,t);if(n.equal(n.divide(c,o),t)){var s=(l=n.add(a,c),n.bitwiseAnd(l,e.MaxUint256));if(n.greaterThanOrEqual(s,a))return X.mulDivRoundingUp(a,t,s)}return X.mulDivRoundingUp(a,S,n.add(n.divide(a,t),o))}var p=U(o,t);n.equal(n.divide(p,o),t)||r(!1),n.greaterThan(a,p)||r(!1);var l,d=n.subtract(a,p);return X.mulDivRoundingUp(a,t,d)},t.getNextSqrtPriceFromAmount1RoundingDown=function(t,e,i,o){if(o){var u=n.lessThanOrEqual(i,L)?n.divide(n.leftShift(i,n.BigInt(96)),e):n.divide(n.multiply(i,O),e);return n.add(t,u)}var a=X.mulDivRoundingUp(i,O,e);return n.greaterThan(t,a)||r(!1),n.subtract(t,a)},t}(),M=n.exponentiate(n.BigInt(10),n.BigInt(6)),D=function(){function t(){}return t.computeSwapStep=function(t,e,r,i,o){var u={},a=n.greaterThanOrEqual(t,e),c=n.greaterThanOrEqual(i,C);if(c){var s=n.divide(n.multiply(i,n.subtract(M,n.BigInt(o))),M);u.amountIn=a?B.getAmount0Delta(e,t,r,!0):B.getAmount1Delta(t,e,r,!0),u.sqrtRatioNextX96=n.greaterThanOrEqual(s,u.amountIn)?e:B.getNextSqrtPriceFromInput(t,r,s,a)}else u.amountOut=a?B.getAmount1Delta(e,t,r,!1):B.getAmount0Delta(t,e,r,!1),u.sqrtRatioNextX96=n.greaterThanOrEqual(n.multiply(i,P),u.amountOut)?e:B.getNextSqrtPriceFromOutput(t,r,n.multiply(i,P),a);var p=n.equal(e,u.sqrtRatioNextX96);return a?(u.amountIn=p&&c?u.amountIn:B.getAmount0Delta(u.sqrtRatioNextX96,t,r,!0),u.amountOut=p&&!c?u.amountOut:B.getAmount1Delta(u.sqrtRatioNextX96,t,r,!1)):(u.amountIn=p&&c?u.amountIn:B.getAmount1Delta(t,u.sqrtRatioNextX96,r,!0),u.amountOut=p&&!c?u.amountOut:B.getAmount0Delta(t,u.sqrtRatioNextX96,r,!1)),!c&&n.greaterThan(u.amountOut,n.multiply(i,P))&&(u.amountOut=n.multiply(i,P)),u.feeAmount=c&&n.notEqual(u.sqrtRatioNextX96,e)?n.subtract(i,u.amountIn):X.mulDivRoundingUp(u.amountIn,n.BigInt(o),n.subtract(M,n.BigInt(o))),[u.sqrtRatioNextX96,u.amountIn,u.amountOut,u.feeAmount]},t}(),j=n.BigInt(2),W=[128,64,32,16,8,4,2,1].map((function(t){return[t,n.exponentiate(j,n.BigInt(t))]}));function G(t){n.greaterThan(t,C)||r(!1),n.lessThanOrEqual(t,e.MaxUint256)||r(!1);for(var i,o=0,u=T(W);!(i=u()).done;){var a=i.value,c=a[0];n.greaterThanOrEqual(t,a[1])&&(t=n.signedRightShift(t,n.BigInt(c)),o+=c)}return o}function K(t,e){return n.signedRightShift(n.multiply(t,n.BigInt(e)),n.BigInt(128))}var H=n.exponentiate(n.BigInt(2),n.BigInt(32)),Q=function(){function t(){}return t.getSqrtRatioAtTick=function(i){i>=t.MIN_TICK&&i<=t.MAX_TICK&&Number.isInteger(i)||r(!1);var o=i<0?-1*i:i,u=n.BigInt(0!=(1&o)?"0xfffcb933bd6fad37aa2d162d1a594001":"0x100000000000000000000000000000000");return 0!=(2&o)&&(u=K(u,"0xfff97272373d413259a46990580e213a")),0!=(4&o)&&(u=K(u,"0xfff2e50f5f656932ef12357cf3c7fdcc")),0!=(8&o)&&(u=K(u,"0xffe5caca7e10e4e61c3624eaa0941cd0")),0!=(16&o)&&(u=K(u,"0xffcb9843d60f6159c9db58835c926644")),0!=(32&o)&&(u=K(u,"0xff973b41fa98c081472e6896dfb254c0")),0!=(64&o)&&(u=K(u,"0xff2ea16466c96a3843ec78b326b52861")),0!=(128&o)&&(u=K(u,"0xfe5dee046a99a2a811c461f1969c3053")),0!=(256&o)&&(u=K(u,"0xfcbe86c7900a88aedcffc83b479aa3a4")),0!=(512&o)&&(u=K(u,"0xf987a7253ac413176f2b074cf7815e54")),0!=(1024&o)&&(u=K(u,"0xf3392b0822b70005940c7a398e4b70f3")),0!=(2048&o)&&(u=K(u,"0xe7159475a2c29b7443b29c7fa6e889d9")),0!=(4096&o)&&(u=K(u,"0xd097f3bdfd2022b8845ad8f792aa5825")),0!=(8192&o)&&(u=K(u,"0xa9f746462d870fdf8a65dc1f90e061e5")),0!=(16384&o)&&(u=K(u,"0x70d869a156d2a1b890bb3df62baf32f7")),0!=(32768&o)&&(u=K(u,"0x31be135f97d08fd981231505542fcfa6")),0!=(65536&o)&&(u=K(u,"0x9aa508b5b7a84e1c677de54f3e99bc9")),0!=(131072&o)&&(u=K(u,"0x5d6af8dedb81196699c329225ee604")),0!=(262144&o)&&(u=K(u,"0x2216e584f5fa1ea926041bedfe98")),0!=(524288&o)&&(u=K(u,"0x48a170391f7dc42444e8fa2")),i>0&&(u=n.divide(e.MaxUint256,u)),n.greaterThan(n.remainder(u,H),C)?n.add(n.divide(u,H),S):n.divide(u,H)},t.getTickAtSqrtRatio=function(e){n.greaterThanOrEqual(e,t.MIN_SQRT_RATIO)&&n.lessThan(e,t.MAX_SQRT_RATIO)||r(!1);var i,o=n.leftShift(e,n.BigInt(32)),u=G(o);i=n.greaterThanOrEqual(n.BigInt(u),n.BigInt(128))?n.signedRightShift(o,n.BigInt(u-127)):n.leftShift(o,n.BigInt(127-u));for(var a=n.leftShift(n.subtract(n.BigInt(u),n.BigInt(128)),n.BigInt(64)),c=0;c<14;c++){i=n.signedRightShift(n.multiply(i,i),n.BigInt(127));var s=n.signedRightShift(i,n.BigInt(128));a=n.bitwiseOr(a,n.leftShift(s,n.BigInt(63-c))),i=n.signedRightShift(i,s)}var p=n.multiply(a,n.BigInt("255738958999603826347141")),l=n.toNumber(n.signedRightShift(n.subtract(p,n.BigInt("3402992956809132418596140100660247210")),n.BigInt(128))),d=n.toNumber(n.signedRightShift(n.add(p,n.BigInt("291339464771989622907027621153398088495")),n.BigInt(128)));return l===d?l:n.lessThanOrEqual(t.getSqrtRatioAtTick(d),e)?d:l},t}();Q.MIN_TICK=-887272,Q.MAX_TICK=-Q.MIN_TICK,Q.MIN_SQRT_RATIO=n.BigInt("4295128739"),Q.MAX_SQRT_RATIO=n.BigInt("1461446703485210103287273052203988822378723970342");var V=function(){function t(){}var e=t.prototype;return e.getTick=function(){var e=v(q.mark((function e(n){return q.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(q.mark((function e(n,r,i){return q.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 z(t,e){for(var n=0;n<t.length-1;n++)if(e(t[n],t[n+1])>0)return!1;return!0}function Y(t,e){return t.index-e.index}V.ERROR_MESSAGE="No tick data provider was given";var Z=function(){function t(){}return t.validateList=function(t,e){e>0||r(!1),t.every((function(t){return t.index%e==0}))||r(!1),n.equal(t.reduce((function(t,e){return n.add(t,e.liquidityNet)}),C),C)||r(!1),z(t,Y)||r(!1)},t.isBelowSmallest=function(t,e){return t.length>0||r(!1),e<t[0].index},t.isAtOrAboveLargest=function(t,e){return t.length>0||r(!1),e>=t[t.length-1].index},t.getTick=function(t,e){var n=t[this.binarySearch(t,e)];return n.index!==e&&r(!1),n},t.binarySearch=function(t,e){this.isBelowSmallest(t,e)&&r(!1);for(var n,i=0,o=t.length-1;;){if(t[n=Math.floor((i+o)/2)].index<=e&&(n===t.length-1||t[n+1].index>e))return n;t[n].index<e?i=n+1:o=n-1}},t.nextInitializedTick=function(e,n,i){return i?(t.isBelowSmallest(e,n)&&r(!1),t.isAtOrAboveLargest(e,n)?e[e.length-1]:e[this.binarySearch(e,n)]):(this.isAtOrAboveLargest(e,n)&&r(!1),this.isBelowSmallest(e,n)?e[0]:e[this.binarySearch(e,n)+1])},t.nextInitializedTickWithinOneWord=function(e,n,r,i){var o=Math.floor(n/i);if(r){var u=(o>>8<<8)*i;if(t.isBelowSmallest(e,n))return[u,!1];var a=t.nextInitializedTick(e,n,r).index,c=Math.max(u,a);return[c,c===a]}var s=((1+(o+1>>8)<<8)-1)*i;if(this.isAtOrAboveLargest(e,n))return[s,!1];var p=this.nextInitializedTick(e,n,r).index,l=Math.min(s,p);return[l,l===p]},t}();function $(t){var e=n.BigInt(t).toString(16);return e.length%2!=0&&(e="0"+e),"0x"+e}function J(t,e){var n=t.pools.reduce((function(t,e,n){var r=t.inputToken,i=t.path,o=t.types,u=e.token0.equals(r)?e.token1:e.token0;return 0===n?{inputToken:u,types:["address","uint24","address"],path:[r.address,e.fee,u.address]}:{inputToken:u,types:[].concat(o,["uint24","address"]),path:[].concat(i,[e.fee,u.address])}}),{inputToken:t.input.wrapped,path:[],types:[]}),r=n.path,i=n.types;return e?u.pack(i.reverse(),r.reverse()):u.pack(i,r)}function tt(t,r){var i=n.leftShift(n.BigInt(t),n.BigInt(192)),o=n.BigInt(r),u=n.divide(i,o);return e.sqrt(u)}function et(t,e,r){if(n.greaterThan(t,e)){var i=[e,t];t=i[0],e=i[1]}var o=n.divide(n.multiply(t,e),O);return n.divide(n.multiply(n.BigInt(r),o),n.subtract(e,t))}function nt(t,e,r){if(n.greaterThan(t,e)){var i=[e,t];t=i[0],e=i[1]}var o=n.multiply(n.multiply(n.BigInt(r),t),e),u=n.multiply(O,n.subtract(e,t));return n.divide(o,u)}function rt(t,e,r){if(n.greaterThan(t,e)){var i=[e,t];t=i[0],e=i[1]}return n.divide(n.multiply(n.BigInt(r),O),n.subtract(e,t))}function it(t,e,r,i,o,u){if(n.greaterThan(e,r)){var a=[r,e];e=a[0],r=a[1]}var c=u?nt:et;if(n.lessThanOrEqual(t,e))return c(e,r,i);if(n.lessThan(t,r)){var s=c(t,r,i),p=rt(e,t,o);return n.lessThan(s,p)?s:p}return rt(e,r,o)}var ot=n.exponentiate(n.BigInt(2),n.BigInt(128)),ut=function(){function t(){}return t.getTokensOwed=function(t,e,r,i,o){return[n.divide(n.multiply(st(i,t),r),ot),n.divide(n.multiply(st(o,e),r),ot)]},t}();function at(t,r,i){var o=Q.getSqrtRatioAtTick(i),u=n.multiply(o,o);return t.sortsBefore(r)?new e.Price(t,r,N,u):new e.Price(t,r,u,N)}var ct=n.exponentiate(n.BigInt(2),n.BigInt(256));function st(t,e){var r=n.subtract(t,e);return n.lessThan(r,C)?n.add(ct,r):r}var pt=function(){function t(){}return t.getFeeGrowthInside=function(t,e,n,r,i,o,u){var a,c,s,p;return i>=n?(a=t.feeGrowthOutside0X128,c=t.feeGrowthOutside1X128):(a=st(o,t.feeGrowthOutside0X128),c=st(u,t.feeGrowthOutside1X128)),i<r?(s=e.feeGrowthOutside0X128,p=e.feeGrowthOutside1X128):(s=st(o,e.feeGrowthOutside0X128),p=st(u,e.feeGrowthOutside1X128)),[st(st(o,a),s),st(st(u,c),p)]},t}(),lt=function(t){var e=t.index,i=t.liquidityGross,o=t.liquidityNet;e>=Q.MIN_TICK&&e<=Q.MAX_TICK||r(!1),this.index=e,this.liquidityGross=n.BigInt(i),this.liquidityNet=n.BigInt(o)},dt=function(){function t(t,e){var n=t.map((function(t){return t instanceof lt?t:new lt(t)}));Z.validateList(n,e),this.ticks=n}var e=t.prototype;return e.getTick=function(){var t=v(q.mark((function t(e){return q.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",Z.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(q.mark((function t(e,n,r){return q.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",Z.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}(),ft=new V,ht=function(){function t(t,e,i,o,u,a,c){void 0===c&&(c=ft),Number.isInteger(i)&&i<1e6||r(!1);var s=Q.getSqrtRatioAtTick(a),p=Q.getSqrtRatioAtTick(a+1);n.greaterThanOrEqual(n.BigInt(o),s)&&n.lessThanOrEqual(n.BigInt(o),p)||r(!1);var l=t.sortsBefore(e)?[t,e]:[e,t];this.token0=l[0],this.token1=l[1],this.fee=i,this.sqrtRatioX96=n.BigInt(o),this.liquidity=n.BigInt(u),this.tickCurrent=a,this.tickDataProvider=Array.isArray(c)?new dt(c,E[i]):c}t.getAddress=function(t,e,n,r,i){return _({factoryAddress:null!=i?i:"0x1F98431c8aD98523631AE4a59f267346ea31F984",fee:n,tokenA:t,tokenB:e,initCodeHashManualOverride:r})};var i=t.prototype;return i.involvesToken=function(t){return t.equals(this.token0)||t.equals(this.token1)},i.priceOf=function(t){return this.involvesToken(t)||r(!1),t.equals(this.token0)?this.token0Price:this.token1Price},i.getOutputAmount=function(){var i=v(q.mark((function i(o,u){var a,c,s,p,l;return q.wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return this.involvesToken(o.currency)||r(!1),a=o.currency.equals(this.token0),i.next=4,this.swap(a,o.quotient,u);case 4:return s=(c=i.sent).sqrtRatioX96,p=c.liquidity,l=c.tickCurrent,i.abrupt("return",[e.CurrencyAmount.fromRawAmount(a?this.token1:this.token0,n.multiply(c.amountCalculated,P)),new t(this.token0,this.token1,this.fee,s,p,l,this.tickDataProvider)]);case 11:case"end":return i.stop()}}),i,this)})));return function(t,e){return i.apply(this,arguments)}}(),i.getInputAmount=function(){var i=v(q.mark((function i(o,u){var a,c,s,p,l;return q.wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return o.currency.isToken&&this.involvesToken(o.currency)||r(!1),a=o.currency.equals(this.token1),i.next=4,this.swap(a,n.multiply(o.quotient,P),u);case 4:return s=(c=i.sent).sqrtRatioX96,p=c.liquidity,l=c.tickCurrent,i.abrupt("return",[e.CurrencyAmount.fromRawAmount(a?this.token0:this.token1,c.amountCalculated),new t(this.token0,this.token1,this.fee,s,p,l,this.tickDataProvider)]);case 11:case"end":return i.stop()}}),i,this)})));return function(t,e){return i.apply(this,arguments)}}(),i.swap=function(){var t=v(q.mark((function t(e,i,o){var u,a,c,s,p,l;return q.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:o||(o=e?n.add(Q.MIN_SQRT_RATIO,S):n.subtract(Q.MAX_SQRT_RATIO,S)),e?(n.greaterThan(o,Q.MIN_SQRT_RATIO)||r(!1),n.lessThan(o,this.sqrtRatioX96)||r(!1)):(n.lessThan(o,Q.MAX_SQRT_RATIO)||r(!1),n.greaterThan(o,this.sqrtRatioX96)||r(!1)),u=n.greaterThanOrEqual(i,C),a={amountSpecifiedRemaining:i,amountCalculated:C,sqrtPriceX96:this.sqrtRatioX96,tick:this.tickCurrent,liquidity:this.liquidity};case 4:if(!n.notEqual(a.amountSpecifiedRemaining,C)||a.sqrtPriceX96==o){t.next=35;break}return(c={}).sqrtPriceStartX96=a.sqrtPriceX96,t.next=9,this.tickDataProvider.nextInitializedTickWithinOneWord(a.tick,e,this.tickSpacing);case 9:if(c.tickNext=(s=t.sent)[0],c.initialized=s[1],c.tickNext<Q.MIN_TICK?c.tickNext=Q.MIN_TICK:c.tickNext>Q.MAX_TICK&&(c.tickNext=Q.MAX_TICK),c.sqrtPriceNextX96=Q.getSqrtRatioAtTick(c.tickNext),p=D.computeSwapStep(a.sqrtPriceX96,(e?n.lessThan(c.sqrtPriceNextX96,o):n.greaterThan(c.sqrtPriceNextX96,o))?o:c.sqrtPriceNextX96,a.liquidity,a.amountSpecifiedRemaining,this.fee),a.sqrtPriceX96=p[0],c.amountIn=p[1],c.amountOut=p[2],c.feeAmount=p[3],u?(a.amountSpecifiedRemaining=n.subtract(a.amountSpecifiedRemaining,n.add(c.amountIn,c.feeAmount)),a.amountCalculated=n.subtract(a.amountCalculated,c.amountOut)):(a.amountSpecifiedRemaining=n.add(a.amountSpecifiedRemaining,c.amountOut),a.amountCalculated=n.add(a.amountCalculated,n.add(c.amountIn,c.feeAmount))),!n.equal(a.sqrtPriceX96,c.sqrtPriceNextX96)){t.next=32;break}if(!c.initialized){t.next=29;break}return t.t0=n,t.next=25,this.tickDataProvider.getTick(c.tickNext);case 25:t.t1=t.sent.liquidityNet,l=t.t0.BigInt.call(t.t0,t.t1),e&&(l=n.multiply(l,P)),a.liquidity=F.addDelta(a.liquidity,l);case 29:a.tick=e?c.tickNext-1:c.tickNext,t.next=33;break;case 32:a.sqrtPriceX96!=c.sqrtPriceStartX96&&(a.tick=Q.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)}}(),y(t,[{key:"token0Price",get:function(){var t;return null!=(t=this._token0Price)?t:this._token0Price=new e.Price(this.token0,this.token1,N,n.multiply(this.sqrtRatioX96,this.sqrtRatioX96))}},{key:"token1Price",get:function(){var t;return null!=(t=this._token1Price)?t:this._token1Price=new e.Price(this.token1,this.token0,n.multiply(this.sqrtRatioX96,this.sqrtRatioX96),N)}},{key:"chainId",get:function(){return this.token0.chainId}},{key:"tickSpacing",get:function(){return E[this.fee]}}]),t}(),mt=function(){function t(t){var e=t.pool,i=t.liquidity,o=t.tickLower,u=t.tickUpper;this._token0Amount=null,this._token1Amount=null,this._mintAmounts=null,o<u||r(!1),o>=Q.MIN_TICK&&o%e.tickSpacing==0||r(!1),u<=Q.MAX_TICK&&u%e.tickSpacing==0||r(!1),this.pool=e,this.tickLower=o,this.tickUpper=u,this.liquidity=n.BigInt(i)}var i=t.prototype;return i.ratiosAfterSlippage=function(t){var r=this.pool.token0Price.asFraction.multiply(new e.Percent(1).subtract(t)),i=this.pool.token0Price.asFraction.multiply(t.add(1)),o=tt(r.numerator,r.denominator);n.lessThanOrEqual(o,Q.MIN_SQRT_RATIO)&&(o=n.add(Q.MIN_SQRT_RATIO,n.BigInt(1)));var u=tt(i.numerator,i.denominator);return n.greaterThanOrEqual(u,Q.MAX_SQRT_RATIO)&&(u=n.subtract(Q.MAX_SQRT_RATIO,n.BigInt(1))),{sqrtRatioX96Lower:o,sqrtRatioX96Upper:u}},i.mintAmountsWithSlippage=function(e){var n=this.ratiosAfterSlippage(e),r=n.sqrtRatioX96Upper,i=n.sqrtRatioX96Lower,o=new ht(this.pool.token0,this.pool.token1,this.pool.fee,i,0,Q.getTickAtSqrtRatio(i)),u=new ht(this.pool.token0,this.pool.token1,this.pool.fee,r,0,Q.getTickAtSqrtRatio(r)),a=t.fromAmounts(g({pool:this.pool,tickLower:this.tickLower,tickUpper:this.tickUpper},this.mintAmounts,{useFullPrecision:!1}));return{amount0:new t({pool:u,liquidity:a.liquidity,tickLower:this.tickLower,tickUpper:this.tickUpper}).mintAmounts.amount0,amount1:new t({pool:o,liquidity:a.liquidity,tickLower:this.tickLower,tickUpper:this.tickUpper}).mintAmounts.amount1}},i.burnAmountsWithSlippage=function(e){var n=this.ratiosAfterSlippage(e),r=n.sqrtRatioX96Upper,i=n.sqrtRatioX96Lower,o=new ht(this.pool.token0,this.pool.token1,this.pool.fee,i,0,Q.getTickAtSqrtRatio(i)),u=new t({pool:new ht(this.pool.token0,this.pool.token1,this.pool.fee,r,0,Q.getTickAtSqrtRatio(r)),liquidity:this.liquidity,tickLower:this.tickLower,tickUpper:this.tickUpper}).amount0,a=new t({pool:o,liquidity:this.liquidity,tickLower:this.tickLower,tickUpper:this.tickUpper}).amount1;return{amount0:u.quotient,amount1:a.quotient}},t.fromAmounts=function(e){var n=e.pool,r=e.tickLower,i=e.tickUpper,o=e.amount0,u=e.amount1,a=e.useFullPrecision,c=Q.getSqrtRatioAtTick(r),s=Q.getSqrtRatioAtTick(i);return new t({pool:n,tickLower:r,tickUpper:i,liquidity:it(n.sqrtRatioX96,c,s,o,u,a)})},t.fromAmount0=function(n){return t.fromAmounts({pool:n.pool,tickLower:n.tickLower,tickUpper:n.tickUpper,amount0:n.amount0,amount1:e.MaxUint256,useFullPrecision:n.useFullPrecision})},t.fromAmount1=function(n){return t.fromAmounts({pool:n.pool,tickLower:n.tickLower,tickUpper:n.tickUpper,amount0:e.MaxUint256,amount1:n.amount1,useFullPrecision:!0})},y(t,[{key:"token0PriceLower",get:function(){return at(this.pool.token0,this.pool.token1,this.tickLower)}},{key:"token0PriceUpper",get:function(){return at(this.pool.token0,this.pool.token1,this.tickUpper)}},{key:"amount0",get:function(){return null===this._token0Amount&&(this._token0Amount=e.CurrencyAmount.fromRawAmount(this.pool.token0,this.pool.tickCurrent<this.tickLower?B.getAmount0Delta(Q.getSqrtRatioAtTick(this.tickLower),Q.getSqrtRatioAtTick(this.tickUpper),this.liquidity,!1):this.pool.tickCurrent<this.tickUpper?B.getAmount0Delta(this.pool.sqrtRatioX96,Q.getSqrtRatioAtTick(this.tickUpper),this.liquidity,!1):C)),this._token0Amount}},{key:"amount1",get:function(){return null===this._token1Amount&&(this._token1Amount=e.CurrencyAmount.fromRawAmount(this.pool.token1,this.pool.tickCurrent<this.tickLower?C:B.getAmount1Delta(Q.getSqrtRatioAtTick(this.tickLower),this.pool.tickCurrent<this.tickUpper?this.pool.sqrtRatioX96:Q.getSqrtRatioAtTick(this.tickUpper),this.liquidity,!1))),this._token1Amount}},{key:"mintAmounts",get:function(){return null===this._mintAmounts?this.pool.tickCurrent<this.tickLower?{amount0:B.getAmount0Delta(Q.getSqrtRatioAtTick(this.tickLower),Q.getSqrtRatioAtTick(this.tickUpper),this.liquidity,!0),amount1:C}:this.pool.tickCurrent<this.tickUpper?{amount0:B.getAmount0Delta(this.pool.sqrtRatioX96,Q.getSqrtRatioAtTick(this.tickUpper),this.liquidity,!0),amount1:B.getAmount1Delta(Q.getSqrtRatioAtTick(this.tickLower),this.pool.sqrtRatioX96,this.liquidity,!0)}:{amount0:C,amount1:B.getAmount1Delta(Q.getSqrtRatioAtTick(this.tickLower),Q.getSqrtRatioAtTick(this.tickUpper),this.liquidity,!0)}:this._mintAmounts}}]),t}(),vt=function(){function t(t,e,n){this._midPrice=null,t.length>0||r(!1);var i=t[0].chainId;t.every((function(t){return t.chainId===i}))||r(!1);var o=e.wrapped;t[0].involvesToken(o)||r(!1),t[t.length-1].involvesToken(n.wrapped)||r(!1);for(var u,a=[o],c=T(t.entries());!(u=c()).done;){var s=u.value,p=s[1],l=a[s[0]];l.equals(p.token0)||l.equals(p.token1)||r(!1);var d=l.equals(p.token0)?p.token1:p.token0;a.push(d)}this.pools=t,this.tokenPath=a,this.input=e,this.output=null!=n?n:a[a.length-1]}return y(t,[{key:"chainId",get:function(){return this.pools[0].chainId}},{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 e.Price(this.input,this.output,t.denominator,t.numerator)}}]),t}();function kt(t,e){return t.inputAmount.currency.equals(e.inputAmount.currency)||r(!1),t.outputAmount.currency.equals(e.outputAmount.currency)||r(!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}var yt=function(){function t(t){var e=t.routes,n=t.tradeType,i=e[0].inputAmount.currency,o=e[0].outputAmount.currency;e.every((function(t){return i.wrapped.equals(t.route.input.wrapped)}))||r(!1),e.every((function(t){return o.wrapped.equals(t.route.output.wrapped)}))||r(!1);for(var u,a=e.map((function(t){return t.route.pools.length})).reduce((function(t,e){return t+e}),0),c=new Set,s=T(e);!(u=s()).done;)for(var p,l=T(u.value.route.pools);!(p=l()).done;){var d=p.value;c.add(ht.getAddress(d.token0,d.token1,d.fee))}a!=c.size&&r(!1),this.swaps=e,this.tradeType=n}t.exactIn=function(){var n=v(q.mark((function n(r,i){return q.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",t.fromRoute(r,i,e.TradeType.EXACT_INPUT));case 1:case"end":return n.stop()}}),n)})));return function(t,e){return n.apply(this,arguments)}}(),t.exactOut=function(){var n=v(q.mark((function n(r,i){return q.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",t.fromRoute(r,i,e.TradeType.EXACT_OUTPUT));case 1:case"end":return n.stop()}}),n)})));return function(t,e){return n.apply(this,arguments)}}(),t.fromRoute=function(){var n=v(q.mark((function n(i,o,u){var a,c,s,p,l,d,f;return q.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(a=new Array(i.tokenPath.length),u!==e.TradeType.EXACT_INPUT){n.next=19;break}o.currency.equals(i.input)||r(!1),a[0]=o.wrapped,p=0;case 5:if(!(p<i.tokenPath.length-1)){n.next=15;break}return l=i.pools[p],n.next=9,l.getOutputAmount(a[p]);case 9:a[p+1]=n.sent[0];case 12:p++,n.next=5;break;case 15:c=e.CurrencyAmount.fromFractionalAmount(i.input,o.numerator,o.denominator),s=e.CurrencyAmount.fromFractionalAmount(i.output,a[a.length-1].numerator,a[a.length-1].denominator),n.next=34;break;case 19:o.currency.equals(i.output)||r(!1),a[a.length-1]=o.wrapped,d=i.tokenPath.length-1;case 22:if(!(d>0)){n.next=32;break}return f=i.pools[d-1],n.next=26,f.getInputAmount(a[d]);case 26:a[d-1]=n.sent[0];case 29:d--,n.next=22;break;case 32:c=e.CurrencyAmount.fromFractionalAmount(i.input,a[0].numerator,a[0].denominator),s=e.CurrencyAmount.fromFractionalAmount(i.output,o.numerator,o.denominator);case 34:return n.abrupt("return",new t({routes:[{inputAmount:c,outputAmount:s,route:i}],tradeType:u}));case 35:case"end":return n.stop()}}),n)})));return function(t,e,r){return n.apply(this,arguments)}}(),t.fromRoutes=function(){var n=v(q.mark((function n(i,o){var u,a,c,s,p,l,d,f,h,m,v,k,y;return q.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:u=[],a=T(i);case 2:if((c=a()).done){n.next=43;break}if(p=(s=c.value).route,l=s.amount,d=new Array(p.tokenPath.length),f=void 0,h=void 0,o!==e.TradeType.EXACT_INPUT){n.next=25;break}l.currency.equals(p.input)||r(!1),f=e.CurrencyAmount.fromFractionalAmount(p.input,l.numerator,l.denominator),d[0]=e.CurrencyAmount.fromFractionalAmount(p.input.wrapped,l.numerator,l.denominator),m=0;case 12:if(!(m<p.tokenPath.length-1)){n.next=22;break}return v=p.pools[m],n.next=16,v.getOutputAmount(d[m]);case 16:d[m+1]=n.sent[0];case 19:m++,n.next=12;break;case 22:h=e.CurrencyAmount.fromFractionalAmount(p.output,d[d.length-1].numerator,d[d.length-1].denominator),n.next=40;break;case 25:l.currency.equals(p.output)||r(!1),h=e.CurrencyAmount.fromFractionalAmount(p.output,l.numerator,l.denominator),d[d.length-1]=e.CurrencyAmount.fromFractionalAmount(p.output.wrapped,l.numerator,l.denominator),k=p.tokenPath.length-1;case 29:if(!(k>0)){n.next=39;break}return y=p.pools[k-1],n.next=33,y.getInputAmount(d[k]);case 33:d[k-1]=n.sent[0];case 36:k--,n.next=29;break;case 39:f=e.CurrencyAmount.fromFractionalAmount(p.input,d[0].numerator,d[0].denominator);case 40:u.push({route:p,inputAmount:f,outputAmount:h});case 41:n.next=2;break;case 43:return n.abrupt("return",new t({routes:u,tradeType:o}));case 44:case"end":return n.stop()}}),n)})));return function(t,e){return n.apply(this,arguments)}}(),t.createUncheckedTrade=function(e){return new t(g({},e,{routes:[{inputAmount:e.inputAmount,outputAmount:e.outputAmount,route:e.route}]}))},t.createUncheckedTradeWithMultipleRoutes=function(e){return new t(e)};var n=t.prototype;return n.minimumAmountOut=function(t,n){if(void 0===n&&(n=this.outputAmount),t.lessThan(C)&&r(!1),this.tradeType===e.TradeType.EXACT_OUTPUT)return n;var i=new e.Fraction(S).add(t).invert().multiply(n.quotient).quotient;return e.CurrencyAmount.fromRawAmount(n.currency,i)},n.maximumAmountIn=function(t,n){if(void 0===n&&(n=this.inputAmount),t.lessThan(C)&&r(!1),this.tradeType===e.TradeType.EXACT_INPUT)return n;var i=new e.Fraction(S).add(t).multiply(n.quotient).quotient;return e.CurrencyAmount.fromRawAmount(n.currency,i)},n.worstExecutionPrice=function(t){return new e.Price(this.inputAmount.currency,this.outputAmount.currency,this.maximumAmountIn(t).quotient,this.minimumAmountOut(t).quotient)},t.bestTradeExactIn=function(){var n=v(q.mark((function n(i,o,u,a,c,s,p){var l,d,f,h,m,v,k,y,g,A,T;return q.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:f=void 0===(d=(l=void 0===a?{}:a).maxNumResults)?3:d,m=void 0===(h=l.maxHops)?3:h,void 0===c&&(c=[]),void 0===s&&(s=o),void 0===p&&(p=[]),i.length>0||r(!1),m>0||r(!1),o===s||c.length>0||r(!1),v=s.wrapped,k=u.wrapped,y=0;case 10:if(!(y<i.length)){n.next=46;break}if((g=i[y]).token0.equals(v.currency)||g.token1.equals(v.currency)){n.next=14;break}return n.abrupt("continue",43);case 14:return A=void 0,n.prev=15,n.next=19,g.getOutputAmount(v);case 19:A=n.sent[0],n.next=28;break;case 23:if(n.prev=23,n.t0=n.catch(15),!n.t0.isInsufficientInputAmountError){n.next=27;break}return n.abrupt("continue",43);case 27:throw n.t0;case 28:if(!A.currency.isToken||!A.currency.equals(k)){n.next=39;break}return n.t1=e.sortedInsert,n.t2=p,n.next=33,t.fromRoute(new vt([].concat(c,[g]),o.currency,u),o,e.TradeType.EXACT_INPUT);case 33:n.t3=n.sent,n.t4=f,n.t5=kt,(0,n.t1)(n.t2,n.t3,n.t4,n.t5),n.next=43;break;case 39:if(!(m>1&&i.length>1)){n.next=43;break}return T=i.slice(0,y).concat(i.slice(y+1,i.length)),n.next=43,t.bestTradeExactIn(T,o,u,{maxNumResults:f,maxHops:m-1},[].concat(c,[g]),A,p);case 43:y++,n.next=10;break;case 46:return n.abrupt("return",p);case 47:case"end":return n.stop()}}),n,null,[[15,23]])})));return function(t,e,r,i,o,u,a){return n.apply(this,arguments)}}(),t.bestTradeExactOut=function(){var n=v(q.mark((function n(i,o,u,a,c,s,p){var l,d,f,h,m,v,k,y,g,A,T;return q.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:f=void 0===(d=(l=void 0===a?{}:a).maxNumResults)?3:d,m=void 0===(h=l.maxHops)?3:h,void 0===c&&(c=[]),void 0===s&&(s=u),void 0===p&&(p=[]),i.length>0||r(!1),m>0||r(!1),u===s||c.length>0||r(!1),v=s.wrapped,k=o.wrapped,y=0;case 10:if(!(y<i.length)){n.next=46;break}if((g=i[y]).token0.equals(v.currency)||g.token1.equals(v.currency)){n.next=14;break}return n.abrupt("continue",43);case 14:return A=void 0,n.prev=15,n.next=19,g.getInputAmount(v);case 19:A=n.sent[0],n.next=28;break;case 23:if(n.prev=23,n.t0=n.catch(15),!n.t0.isInsufficientReservesError){n.next=27;break}return n.abrupt("continue",43);case 27:throw n.t0;case 28:if(!A.currency.equals(k)){n.next=39;break}return n.t1=e.sortedInsert,n.t2=p,n.next=33,t.fromRoute(new vt([g].concat(c),o,u.currency),u,e.TradeType.EXACT_OUTPUT);case 33:n.t3=n.sent,n.t4=f,n.t5=kt,(0,n.t1)(n.t2,n.t3,n.t4,n.t5),n.next=43;break;case 39:if(!(m>1&&i.length>1)){n.next=43;break}return T=i.slice(0,y).concat(i.slice(y+1,i.length)),n.next=43,t.bestTradeExactOut(T,o,u,{maxNumResults:f,maxHops:m-1},[g].concat(c),A,p);case 43:y++,n.next=10;break;case 46:return n.abrupt("return",p);case 47:case"end":return n.stop()}}),n,null,[[15,23]])})));return function(t,e,r,i,o,u,a){return n.apply(this,arguments)}}(),y(t,[{key:"route",get:function(){return 1!=this.swaps.length&&r(!1),this.swaps[0].route}},{key:"inputAmount",get:function(){if(this._inputAmount)return this._inputAmount;var t=this.swaps[0].inputAmount.currency,n=this.swaps.map((function(t){return t.inputAmount})).reduce((function(t,e){return t.add(e)}),e.CurrencyAmount.fromRawAmount(t,0));return this._inputAmount=n,this._inputAmount}},{key:"outputAmount",get:function(){if(this._outputAmount)return this._outputAmount;var t=this.swaps[0].outputAmount.currency,n=this.swaps.map((function(t){return t.outputAmount})).reduce((function(t,e){return t.add(e)}),e.CurrencyAmount.fromRawAmount(t,0));return this._outputAmount=n,this._outputAmount}},{key:"executionPrice",get:function(){var t;return null!=(t=this._executionPrice)?t:this._executionPrice=new e.Price(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,n=e.CurrencyAmount.fromRawAmount(this.outputAmount.currency,0),r=T(this.swaps);!(t=r()).done;){var i=t.value;n=n.add(i.route.midPrice.quote(i.inputAmount))}var o=n.subtract(this.outputAmount).divide(n);return this._priceImpact=new e.Percent(o.numerator,o.denominator),this._priceImpact}}]),t}(),gt=function(){function t(){}return t.encodeMulticall=function(e){return Array.isArray(e)||(e=[e]),1===e.length?e[0]:t.INTERFACE.encodeFunctionData("multicall",[e])},t}();gt.INTERFACE=new i.Interface(a.abi);var At=function(){function t(){}return t.encodePermit=function(e,n){return"nonce"in n?t.INTERFACE.encodeFunctionData("selfPermitAllowed",[e.address,$(n.nonce),$(n.expiry),n.v,n.r,n.s]):t.INTERFACE.encodeFunctionData("selfPermit",[e.address,$(n.amount),$(n.deadline),n.v,n.r,n.s])},t}();At.INTERFACE=new i.Interface(s.abi);var Tt=function(){function t(){}return t.encodeFeeBips=function(t){return $(t.multiply(1e4).quotient)},t.encodeUnwrapWETH9=function(n,r,i){if(r=e.validateAndParseAddress(r),i){var o=this.encodeFeeBips(i.fee),u=e.validateAndParseAddress(i.recipient);return t.INTERFACE.encodeFunctionData("unwrapWETH9WithFee",[$(n),r,o,u])}return t.INTERFACE.encodeFunctionData("unwrapWETH9",[$(n),r])},t.encodeSweepToken=function(n,r,i,o){if(i=e.validateAndParseAddress(i),o){var u=this.encodeFeeBips(o.fee),a=e.validateAndParseAddress(o.recipient);return t.INTERFACE.encodeFunctionData("sweepTokenWithFee",[n.address,$(r),i,u,a])}return t.INTERFACE.encodeFunctionData("sweepToken",[n.address,$(r),i])},t.encodeRefundETH=function(){return t.INTERFACE.encodeFunctionData("refundETH")},t}();Tt.INTERFACE=new i.Interface(p.abi);var xt=$(n.subtract(n.exponentiate(n.BigInt(2),n.BigInt(128)),n.BigInt(1)));function wt(t){return Object.keys(t).some((function(t){return"recipient"===t}))}var It=function(){function t(){}return t.encodeCreate=function(e){return t.INTERFACE.encodeFunctionData("createAndInitializePoolIfNecessary",[e.token0.address,e.token1.address,e.fee,$(e.sqrtRatioX96)])},t.createCallParameters=function(t){return{calldata:this.encodeCreate(t),value:$(0)}},t.addCallParameters=function(i,o){n.greaterThan(i.liquidity,C)||r(!1);var u=[],a=i.mintAmounts,c=a.amount0,s=a.amount1,p=i.mintAmountsWithSlippage(o.slippageTolerance),l=$(p.amount0),d=$(p.amount1),f=$(o.deadline);if(wt(o)&&o.createPool&&u.push(this.encodeCreate(i.pool)),o.token0Permit&&u.push(At.encodePermit(i.pool.token0,o.token0Permit)),o.token1Permit&&u.push(At.encodePermit(i.pool.token1,o.token1Permit)),wt(o)){var h=e.validateAndParseAddress(o.recipient);u.push(t.INTERFACE.encodeFunctionData("mint",[{token0:i.pool.token0.address,token1:i.pool.token1.address,fee:i.pool.fee,tickLower:i.tickLower,tickUpper:i.tickUpper,amount0Desired:$(c),amount1Desired:$(s),amount0Min:l,amount1Min:d,recipient:h,deadline:f}]))}else u.push(t.INTERFACE.encodeFunctionData("increaseLiquidity",[{tokenId:$(o.tokenId),amount0Desired:$(c),amount1Desired:$(s),amount0Min:l,amount1Min:d,deadline:f}]));var m=$(0);if(o.useNative){var v=o.useNative.wrapped;i.pool.token0.equals(v)||i.pool.token1.equals(v)||r(!1);var k=i.pool.token0.equals(v)?c:s;n.greaterThan(k,C)&&u.push(Tt.encodeRefundETH()),m=$(k)}return{calldata:gt.encodeMulticall(u),value:m}},t.encodeCollect=function(n){var r=[],i=$(n.tokenId),o=n.expectedCurrencyOwed0.currency.isNative||n.expectedCurrencyOwed1.currency.isNative,u=e.validateAndParseAddress(n.recipient);if(r.push(t.INTERFACE.encodeFunctionData("collect",[{tokenId:i,recipient:o?b:u,amount0Max:xt,amount1Max:xt}])),o){var a=n.expectedCurrencyOwed0.currency.isNative?n.expectedCurrencyOwed1.currency:n.expectedCurrencyOwed0.currency,c=n.expectedCurrencyOwed0.currency.isNative?n.expectedCurrencyOwed1.quotient:n.expectedCurrencyOwed0.quotient;r.push(Tt.encodeUnwrapWETH9(n.expectedCurrencyOwed0.currency.isNative?n.expectedCurrencyOwed0.quotient:n.expectedCurrencyOwed1.quotient,u)),r.push(Tt.encodeSweepToken(a,c,u))}return r},t.collectCallParameters=function(e){var n=t.encodeCollect(e);return{calldata:gt.encodeMulticall(n),value:$(0)}},t.removeCallParameters=function(i,o){var u=[],a=$(o.deadline),c=$(o.tokenId),s=new mt({pool:i.pool,liquidity:o.liquidityPercentage.multiply(i.liquidity).quotient,tickLower:i.tickLower,tickUpper:i.tickUpper});n.greaterThan(s.liquidity,C)||r(!1);var p=s.burnAmountsWithSlippage(o.slippageTolerance),l=p.amount0,d=p.amount1;o.permit&&u.push(t.INTERFACE.encodeFunctionData("permit",[e.validateAndParseAddress(o.permit.spender),c,$(o.permit.deadline),o.permit.v,o.permit.r,o.permit.s])),u.push(t.INTERFACE.encodeFunctionData("decreaseLiquidity",[{tokenId:c,liquidity:$(s.liquidity),amount0Min:$(l),amount1Min:$(d),deadline:a}]));var f=o.collectOptions,h=f.expectedCurrencyOwed0,m=f.expectedCurrencyOwed1,v=function(t,e){if(null==t)return{};var n,r,i={},o=Object.keys(t);for(r=0;r<o.length;r++)e.indexOf(n=o[r])>=0||(i[n]=t[n]);return i}(f,["expectedCurrencyOwed0","expectedCurrencyOwed1"]);return u.push.apply(u,t.encodeCollect(g({tokenId:$(o.tokenId),expectedCurrencyOwed0:h.add(e.CurrencyAmount.fromRawAmount(h.currency,l)),expectedCurrencyOwed1:m.add(e.CurrencyAmount.fromRawAmount(m.currency,d))},v))),o.liquidityPercentage.equalTo(S)?o.burnToken&&u.push(t.INTERFACE.encodeFunctionData("burn",[c])):!0===o.burnToken&&r(!1),{calldata:gt.encodeMulticall(u),value:$(0)}},t.safeTransferFromParameters=function(n){var r=e.validateAndParseAddress(n.recipient),i=e.validateAndParseAddress(n.sender);return{calldata:n.data?t.INTERFACE.encodeFunctionData("safeTransferFrom(address,address,uint256,bytes)",[i,r,$(n.tokenId),n.data]):t.INTERFACE.encodeFunctionData("safeTransferFrom(address,address,uint256)",[i,r,$(n.tokenId)]),value:$(0)}},t}();It.INTERFACE=new i.Interface(c.abi);var qt=function(){function t(){}return t.quoteCallParameters=function(t,n,i,o){void 0===o&&(o={});var u,a=1===t.pools.length,c=$(n.quotient),s=o.useQuoterV2?this.V2INTERFACE:this.V1INTERFACE;if(a){var p,l,d={tokenIn:t.tokenPath[0].address,tokenOut:t.tokenPath[1].address,fee:t.pools[0].fee,sqrtPriceLimitX96:$(null!=(p=null==(l=o)?void 0:l.sqrtPriceLimitX96)?p:0)},f=g({},d,i==e.TradeType.EXACT_INPUT?{amountIn:c}:{amount:c});u=s.encodeFunctionData(i===e.TradeType.EXACT_INPUT?"quoteExactInputSingle":"quoteExactOutputSingle",o.useQuoterV2?[f]:[d.tokenIn,d.tokenOut,d.fee,c,d.sqrtPriceLimitX96])}else{var h;void 0!==(null==(h=o)?void 0:h.sqrtPriceLimitX96)&&r(!1);var m=J(t,i===e.TradeType.EXACT_OUTPUT);u=s.encodeFunctionData(i===e.TradeType.EXACT_INPUT?"quoteExactInput":"quoteExactOutput",[m,c])}return{calldata:u,value:$(0)}},t}();qt.V1INTERFACE=new i.Interface(l.abi),qt.V2INTERFACE=new i.Interface(d.abi);var bt=function(){function t(){}return t.encodeClaim=function(n,r){var i,o=[];o.push(t.INTERFACE.encodeFunctionData("unstakeToken",[this._encodeIncentiveKey(n),$(r.tokenId)]));var u=e.validateAndParseAddress(r.recipient),a=null!=(i=r.amount)?i:0;return o.push(t.INTERFACE.encodeFunctionData("claimReward",[n.rewardToken.address,u,$(a)])),o},t.collectRewards=function(e,n){e=Array.isArray(e)?e:[e];for(var r=[],i=0;i<e.length;i++){var o=e[i];(r=r.concat(this.encodeClaim(o,n))).push(t.INTERFACE.encodeFunctionData("stakeToken",[this._encodeIncentiveKey(o),$(n.tokenId)]))}return{calldata:gt.encodeMulticall(r),value:$(0)}},t.withdrawToken=function(n,r){var i=[];n=Array.isArray(n)?n:[n];for(var o={tokenId:r.tokenId,recipient:r.recipient,amount:r.amount},u=0;u<n.length;u++)i=i.concat(this.encodeClaim(n[u],o));var a=e.validateAndParseAddress(r.owner);return i.push(t.INTERFACE.encodeFunctionData("withdrawToken",[$(r.tokenId),a,r.data?r.data:$(0)])),{calldata:gt.encodeMulticall(i),value:$(0)}},t.encodeDeposit=function(e){var n;if((e=Array.isArray(e)?e:[e]).length>1){for(var r=[],o=0;o<e.length;o++)r.push(this._encodeIncentiveKey(e[o]));n=i.defaultAbiCoder.encode([t.INCENTIVE_KEY_ABI+"[]"],[r])}else n=i.defaultAbiCoder.encode([t.INCENTIVE_KEY_ABI],[this._encodeIncentiveKey(e[0])]);return n},t._encodeIncentiveKey=function(t){var n=t.pool,r=n.token0,i=n.token1,o=n.fee,u=e.validateAndParseAddress(t.refundee);return{rewardToken:t.rewardToken.address,pool:ht.getAddress(r,i,o),startTime:$(t.startTime),endTime:$(t.endTime),refundee:u}},t}();bt.INTERFACE=new i.Interface(f.abi),bt.INCENTIVE_KEY_ABI="tuple(address rewardToken, address pool, uint256 startTime, uint256 endTime, address refundee)";var Rt=function(){function t(){}return t.swapCallParameters=function(n,i){Array.isArray(n)||(n=[n]);var o=n[0],u=o.inputAmount.currency.wrapped,a=o.outputAmount.currency.wrapped;n.every((function(t){return t.inputAmount.currency.wrapped.equals(u)}))||r(!1),n.every((function(t){return t.outputAmount.currency.wrapped.equals(a)}))||r(!1);var c=[],s=e.CurrencyAmount.fromRawAmount(n[0].inputAmount.currency,0),p=e.CurrencyAmount.fromRawAmount(n[0].outputAmount.currency,0),l=n.reduce((function(t,e){return t.add(e.minimumAmountOut(i.slippageTolerance))}),p),d=o.inputAmount.currency.isNative&&o.tradeType===e.TradeType.EXACT_OUTPUT,f=o.outputAmount.currency.isNative,h=f||!!i.fee,m=o.inputAmount.currency.isNative?n.reduce((function(t,e){return t.add(e.maximumAmountIn(i.slippageTolerance))}),s):s;i.inputTokenPermit&&(o.inputAmount.currency.isToken||r(!1),c.push(At.encodePermit(o.inputAmount.currency,i.inputTokenPermit)));for(var v,k=e.validateAndParseAddress(i.recipient),y=$(i.deadline),g=T(n);!(v=g()).done;)for(var A,x=v.value,w=T(x.swaps);!(A=w()).done;){var I=A.value,q=I.route,R=I.outputAmount,E=$(x.maximumAmountIn(i.slippageTolerance,I.inputAmount).quotient),P=$(x.minimumAmountOut(i.slippageTolerance,R).quotient);if(1===q.pools.length)if(x.tradeType===e.TradeType.EXACT_INPUT){var C,S={tokenIn:q.tokenPath[0].address,tokenOut:q.tokenPath[1].address,fee:q.pools[0].fee,recipient:h?b:k,deadline:y,amountIn:E,amountOutMinimum:P,sqrtPriceLimitX96:$(null!=(C=i.sqrtPriceLimitX96)?C:0)};c.push(t.INTERFACE.encodeFunctionData("exactInputSingle",[S]))}else{var O,N={tokenIn:q.tokenPath[0].address,tokenOut:q.tokenPath[1].address,fee:q.pools[0].fee,recipient:h?b:k,deadline:y,amountOut:P,amountInMaximum:E,sqrtPriceLimitX96:$(null!=(O=i.sqrtPriceLimitX96)?O:0)};c.push(t.INTERFACE.encodeFunctionData("exactOutputSingle",[N]))}else{void 0!==i.sqrtPriceLimitX96&&r(!1);var _=J(q,x.tradeType===e.TradeType.EXACT_OUTPUT);c.push(x.tradeType===e.TradeType.EXACT_INPUT?t.INTERFACE.encodeFunctionData("exactInput",[{path:_,recipient:h?b:k,deadline:y,amountIn:E,amountOutMinimum:P}]):t.INTERFACE.encodeFunctionData("exactOutput",[{path:_,recipient:h?b:k,deadline:y,amountOut:P,amountInMaximum:E}]))}}return h&&c.push(i.fee?f?Tt.encodeUnwrapWETH9(l.quotient,k,i.fee):Tt.encodeSweepToken(o.outputAmount.currency.wrapped,l.quotient,k,i.fee):Tt.encodeUnwrapWETH9(l.quotient,k)),d&&c.push(Tt.encodeRefundETH()),{calldata:gt.encodeMulticall(c),value:$(m.quotient)}},t}();Rt.INTERFACE=new i.Interface(h.abi),exports.ADDRESS_ZERO=b,exports.FACTORY_ADDRESS="0x1F98431c8aD98523631AE4a59f267346ea31F984",exports.FullMath=X,exports.LiquidityMath=F,exports.Multicall=gt,exports.NoTickDataProvider=V,exports.NonfungiblePositionManager=It,exports.POOL_INIT_CODE_HASH=R,exports.Payments=Tt,exports.Pool=ht,exports.Position=mt,exports.PositionLibrary=ut,exports.Route=vt,exports.SelfPermit=At,exports.SqrtPriceMath=B,exports.Staker=bt,exports.SwapMath=D,exports.SwapQuoter=qt,exports.SwapRouter=Rt,exports.TICK_SPACINGS=E,exports.Tick=lt,exports.TickLibrary=pt,exports.TickList=Z,exports.TickListDataProvider=dt,exports.TickMath=Q,exports.Trade=yt,exports.computePoolAddress=_,exports.encodeRouteToPath=J,exports.encodeSqrtRatioX96=tt,exports.isSorted=z,exports.maxLiquidityForAmounts=it,exports.mostSignificantBit=G,exports.nearestUsableTick=function(t,e){Number.isInteger(t)&&Number.isInteger(e)||r(!1),e>0||r(!1),t>=Q.MIN_TICK&&t<=Q.MAX_TICK||r(!1);var n=Math.round(t/e)*e;return n<Q.MIN_TICK?n+e:n>Q.MAX_TICK?n-e:n},exports.priceToClosestTick=function(t){var e=t.baseCurrency.sortsBefore(t.quoteCurrency),n=e?tt(t.numerator,t.denominator):tt(t.denominator,t.numerator),r=Q.getTickAtSqrtRatio(n),i=at(t.baseCurrency,t.quoteCurrency,r+1);return e?t.lessThan(i)||r++:t.greaterThan(i)||r++,r},exports.subIn256=st,exports.tickToPrice=at,exports.toHex=$,exports.tradeComparator=kt;
//# sourceMappingURL=v3-sdk.cjs.production.min.js.map

@@ -7,3 +7,3 @@ {

},
"version": "3.8.3",
"version": "3.9.0",
"description": "⚒️ An SDK for building applications on top of Uniswap V3",

@@ -31,2 +31,3 @@ "main": "dist/index.js",

"@uniswap/sdk-core": "^3.0.1",
"@uniswap/swap-router-contracts": "^1.2.1",
"@uniswap/v3-periphery": "^1.1.1",

@@ -33,0 +34,0 @@ "@uniswap/v3-staker": "1.0.0",

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc