violet-swapr
Version:
An SDK for building applications on top of DXswap.
3 lines • 54.3 kB
JavaScript
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t,n,r,i,a,o,s,u,p,d,c=e(require("jsbi")),l=e(require("tiny-invariant")),y=(e(require("tiny-warning")),require("@ethersproject/address")),h=require("@swapr/core/.contracts.json"),m=require("@swapr/periphery/.contracts.json"),f=e(require("big.js")),I=e(require("toformat")),T=e(require("decimal.js-light")),v=require("@ethersproject/solidity"),w=require("ethers"),A=require("entities"),x=require("@ethersproject/contracts"),b=require("@ethersproject/networks"),g=require("@ethersproject/providers"),C=e(require("@swapr/core/build/IDXswapPair.json")),E=e(require("@swapr/core/build/IDXswapFactory.json")),R=[{constant:!0,inputs:[],name:"getCurrentBlockTimestamp",outputs:[{name:"timestamp",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{components:[{name:"target",type:"address"},{name:"callData",type:"bytes"}],name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{name:"blockNumber",type:"uint256"},{name:"returnData",type:"bytes[]"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getLastBlockHash",outputs:[{name:"blockHash",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"addr",type:"address"}],name:"getEthBalance",outputs:[{name:"balance",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getCurrentBlockDifficulty",outputs:[{name:"difficulty",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getCurrentBlockGasLimit",outputs:[{name:"gaslimit",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getCurrentBlockCoinbase",outputs:[{name:"coinbase",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{name:"blockHash",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"}];(u=exports.ChainId||(exports.ChainId={}))[u.MAINNET=1]="MAINNET",u[u.RINKEBY=4]="RINKEBY",u[u.XDAI=100]="XDAI",u[u.ARBITRUM_ONE=42161]="ARBITRUM_ONE",u[u.ARBITRUM_RINKEBY=421611]="ARBITRUM_RINKEBY",(p=exports.TradeType||(exports.TradeType={}))[p.EXACT_INPUT=0]="EXACT_INPUT",p[p.EXACT_OUTPUT=1]="EXACT_OUTPUT",(d=exports.Rounding||(exports.Rounding={}))[d.ROUND_DOWN=0]="ROUND_DOWN",d[d.ROUND_HALF_UP=1]="ROUND_HALF_UP",d[d.ROUND_UP=2]="ROUND_UP";var k,D=((t={})[exports.ChainId.MAINNET]=h.mainnet.factory,t[exports.ChainId.RINKEBY]=h.rinkeby.factory,t[exports.ChainId.ARBITRUM_ONE]=h.arbitrumOne.factory,t[exports.ChainId.ARBITRUM_RINKEBY]=h.arbitrumRinkebyTestnet.factory,t[exports.ChainId.XDAI]=h.xdai.factory,t),N=((n={})[exports.ChainId.RINKEBY]=m.rinkeby.router,n[exports.ChainId.MAINNET]=m.mainnet.router,n[exports.ChainId.XDAI]=m.xdai.router,n[exports.ChainId.ARBITRUM_ONE]=m.arbitrumOne.router,n[exports.ChainId.ARBITRUM_RINKEBY]=m.arbitrumRinkebyTestnet.router,n),B=((r={})[exports.ChainId.MAINNET]="0x156F0568a6cE827e5d39F6768A5D24B694e1EA7b",r[exports.ChainId.RINKEBY]="0x0f9E49d473B813abe33F1BAB11fa9E16eE850EBa",r[exports.ChainId.XDAI]="0xa039793Af0bb060c597362E8155a0327d9b8BEE8",r[exports.ChainId.ARBITRUM_ONE]="0xecA7F78d59D16812948849663b26FE10E320f80C",r[exports.ChainId.ARBITRUM_RINKEBY]="0x41e657cAdE74f45b7E2F0F4a5AeE0239f2fB4E1F",r),_=((i={})[exports.ChainId.MAINNET]="0x0000000000000000000000000000000000001234",i[exports.ChainId.RINKEBY]="0x6D525E4115d339aD4e336bCF4C85A1Fb8f4a594C",i[exports.ChainId.ARBITRUM_RINKEBY]="0x99583f330814E04de96C0288FBF82B5E35A009dc",i[exports.ChainId.ARBITRUM_ONE]="0xe54942077Df7b8EEf8D4e6bCe2f7B58B0082b0cd",i[exports.ChainId.XDAI]="0x0000000000000000000000000000000000001234",i),M=((a={})[exports.ChainId.MAINNET]="0x0000000000000000000000000000000000001234",a[exports.ChainId.RINKEBY]="0x0000000000000000000000000000000000001234",a[exports.ChainId.ARBITRUM_RINKEBY]="0x0000000000000000000000000000000000001234",a[exports.ChainId.ARBITRUM_ONE]="0x2b058af96175A847Bf3E5457B3A702F807daDdFd",a[exports.ChainId.XDAI]="0x0000000000000000000000000000000000001234",a),S="0xd306a548755b9295ee49cc729e13ca4a45e00199bbd890fa146da43a50571776",O=c.BigInt(1e3),U=c.BigInt(0),F=c.BigInt(1),P=c.BigInt(2),q=c.BigInt(3),X=c.BigInt(5),W=c.BigInt(10),Y=c.BigInt(25),K=c.BigInt(31536e3),H=c.BigInt(30),j=c.BigInt(100),L=c.BigInt(1e3),V=c.BigInt(1e4),G=Y,Z=X;(k=exports.SolidityType||(exports.SolidityType={})).uint8="uint8",k.uint256="uint256";var z=((o={})[exports.SolidityType.uint8]=c.BigInt("0xff"),o[exports.SolidityType.uint256]=c.BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),o),Q=((s={})[exports.ChainId.MAINNET]="0xeefba1e63905ef1d7acba5a8513c70307c1ce441",s[exports.ChainId.RINKEBY]="0x42ad527de7d4e9d9d011ac45b31d8551f8fe9821",s[exports.ChainId.ARBITRUM_ONE]="0xF718F2bd590E5621e53f7b89398e52f7Acced8ca",s[exports.ChainId.XDAI]="0xb5b692a88bdfc81ca69dcb1d924f59f0413a602a",s[exports.ChainId.ARBITRUM_RINKEBY]="0xf1f8AAc64036cdd399886b1C157B7e3b361093F3",s);function J(e,t){c.greaterThanOrEqual(e,U)||l(!1),c.lessThanOrEqual(e,z[t])||l(!1)}function $(e){try{return y.getAddress(e)}catch(e){l(!1)}}function ee(e){return e instanceof c?e:c.BigInt("bigint"==typeof e?e.toString():e)}function te(e){J(e,exports.SolidityType.uint256);var t,n=U;if(c.greaterThan(e,q))for(n=e,t=c.add(c.divide(e,P),F);c.lessThan(t,n);)n=t,t=c.divide(c.add(c.divide(e,t),t),P);else c.notEqual(e,U)&&(n=F);return n}function ne(e,t,n,r){if(n>0||l(!1),e.length<=n||l(!1),0===e.length)return e.push(t),null;var i=e.length===n;if(i&&r(e[e.length-1],t)<=0)return t;for(var a=0,o=e.length;a<o;){var s=a+o>>>1;r(e[s],t)<=0?a=s+1:o=s}return e.splice(a,0,t),i?e.pop():null}function re(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function ie(e,t,n){return t&&re(e.prototype,t),n&&re(e,n),e}function ae(){return(ae=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function oe(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function se(e){return(se=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ue(e,t){return(ue=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function pe(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function de(e,t,n){return(de=pe()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var i=new(Function.bind.apply(e,r));return n&&ue(i,n.prototype),i}).apply(null,arguments)}function ce(e){var t="function"==typeof Map?new Map:void 0;return(ce=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return de(e,arguments,se(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),ue(n,e)})(e)}function le(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ye(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function he(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return ye(e,void 0);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ye(e,void 0):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[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=e[Symbol.iterator]()).next.bind(n)}var me,fe="setPrototypeOf"in Object,Ie=function(e){function t(){var n;return(n=e.call(this)||this).isInsufficientReservesError=!0,n.name=n.constructor.name,fe&&Object.setPrototypeOf(le(n),(this instanceof t?this.constructor:void 0).prototype),n}return oe(t,e),t}(ce(Error)),Te=function(e){function t(){var n;return(n=e.call(this)||this).isInsufficientInputAmountError=!0,n.name=n.constructor.name,fe&&Object.setPrototypeOf(le(n),(this instanceof t?this.constructor:void 0).prototype),n}return oe(t,e),t}(ce(Error)),ve=function(){function e(e,t,n){J(c.BigInt(e),exports.SolidityType.uint8),this.decimals=e,this.symbol=t,this.name=n}return e.isNative=function(t){return Object.values(e.NATIVE_CURRENCY).indexOf(t)>=0},e.getNative=function(t){return e.NATIVE_CURRENCY[t]},e}();ve.USD=new ve(18,"USD","US dollar"),ve.ETHER=new ve(18,"ETH","Ether"),ve.XDAI=new ve(18,"XDAI","xDAI"),ve.NATIVE_CURRENCY=((me={})[exports.ChainId.MAINNET]=ve.ETHER,me[exports.ChainId.RINKEBY]=ve.ETHER,me[exports.ChainId.ARBITRUM_ONE]=ve.ETHER,me[exports.ChainId.ARBITRUM_RINKEBY]=ve.ETHER,me[exports.ChainId.XDAI]=ve.XDAI,me);var we,Ae,xe,be,ge,Ce=ve.USD,Ee=ve.ETHER,Re=ve.XDAI,ke=function(e){function t(t,n,r,i,a){var o;return(o=e.call(this,r,i,a)||this).chainId=t,o.address=$(n),o}oe(t,e);var n=t.prototype;return n.equals=function(e){return this===e||this.chainId===e.chainId&&this.address===e.address},n.sortsBefore=function(e){return this.chainId!==e.chainId&&l(!1),this.address===e.address&&l(!1),this.address.toLowerCase()<e.address.toLowerCase()},t.getNativeWrapper=function(e){return t.NATIVE_CURRENCY_WRAPPER[e]},t.isNativeWrapper=function(e){return t.NATIVE_CURRENCY_WRAPPER[e.chainId].equals(e)},t}(ve);function De(e,t){return e instanceof ke&&t instanceof ke?e.equals(t):!(e instanceof ke||t instanceof ke||e!==t)}ke.WETH=((we={})[exports.ChainId.MAINNET]=new ke(exports.ChainId.MAINNET,"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",18,"WETH","Wrapped Ether"),we[exports.ChainId.RINKEBY]=new ke(exports.ChainId.RINKEBY,"0xc778417E063141139Fce010982780140Aa0cD5Ab",18,"WETH","Wrapped Ether"),we[exports.ChainId.ARBITRUM_ONE]=new ke(exports.ChainId.ARBITRUM_ONE,"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",18,"WETH","Wrapped Ether"),we[exports.ChainId.ARBITRUM_RINKEBY]=new ke(exports.ChainId.ARBITRUM_RINKEBY,"0xB47e6A5f8b33b3F17603C83a0535A9dcD7E32681",18,"WETH","Wrapped Ether"),we[exports.ChainId.XDAI]=new ke(exports.ChainId.XDAI,"0x6A023CCd1ff6F2045C3309768eAd9E68F978f6e1",18,"WETH","Wrapped Ether on xDai"),we),ke.WXDAI=((Ae={})[exports.ChainId.XDAI]=new ke(exports.ChainId.XDAI,"0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d",18,"WXDAI","Wrapped xDAI"),Ae),ke.DXD=((xe={})[exports.ChainId.MAINNET]=new ke(exports.ChainId.MAINNET,"0xa1d65E8fB6e87b60FECCBc582F7f97804B725521",18,"DXD","DXdao"),xe[exports.ChainId.RINKEBY]=new ke(exports.ChainId.RINKEBY,"0x554898A0BF98aB0C03ff86C7DccBE29269cc4d29",18,"DXD","DXdao"),xe[exports.ChainId.XDAI]=new ke(exports.ChainId.XDAI,"0xb90d6bec20993be5d72a5ab353343f7a0281f158",18,"DXD","DXdao from Ethereum"),xe[exports.ChainId.ARBITRUM_ONE]=new ke(exports.ChainId.ARBITRUM_ONE,"0xC3Ae0333F0F34aa734D5493276223d95B8F9Cb37",18,"DXD","DXdao from Ethereum"),xe[exports.ChainId.ARBITRUM_RINKEBY]=new ke(exports.ChainId.ARBITRUM_RINKEBY,"0x5d47100B0854525685907D5D773b92c22c0c745e",18,"DXD","DXdao from Ethereum"),xe),ke.SWPR=((be={})[exports.ChainId.MAINNET]=new ke(exports.ChainId.MAINNET,"0x6cAcDB97e3fC8136805a9E7c342d866ab77D0957",18,"SWPR","Swapr"),be[exports.ChainId.RINKEBY]=new ke(exports.ChainId.RINKEBY,"0xDcb0BeB93139c3e5eD0Edb749baccADd6badAc4f",18,"SWPR","Swapr"),be[exports.ChainId.XDAI]=new ke(exports.ChainId.XDAI,"0x532801ED6f82FFfD2DAB70A19fC2d7B2772C4f4b",18,"SWPR","Swapr"),be[exports.ChainId.ARBITRUM_RINKEBY]=new ke(exports.ChainId.ARBITRUM_RINKEBY,"0x8f2072c2142D9fFDc785955E0Ce71561753D44Fb",18,"SWPR","Swapr"),be[exports.ChainId.ARBITRUM_ONE]=new ke(exports.ChainId.ARBITRUM_ONE,"0xdE903E2712288A1dA82942DDdF2c20529565aC30",18,"SWPR","Swapr"),be),ke.NATIVE_CURRENCY_WRAPPER=((ge={})[exports.ChainId.MAINNET]=ke.WETH[exports.ChainId.MAINNET],ge[exports.ChainId.RINKEBY]=ke.WETH[exports.ChainId.RINKEBY],ge[exports.ChainId.ARBITRUM_ONE]=ke.WETH[exports.ChainId.ARBITRUM_ONE],ge[exports.ChainId.ARBITRUM_RINKEBY]=ke.WETH[exports.ChainId.ARBITRUM_RINKEBY],ge[exports.ChainId.XDAI]=ke.WXDAI[exports.ChainId.XDAI],ge);var Ne,Be,_e,Me,Se,Oe,Ue,Fe,Pe,qe,Xe,We,Ye,Ke,He=ke.WETH,je=ke.DXD,Le=ke.WXDAI,Ve=ke.SWPR,Ge=I(T),Ze=I(f),ze=((Ne={})[exports.Rounding.ROUND_DOWN]=Ge.ROUND_DOWN,Ne[exports.Rounding.ROUND_HALF_UP]=Ge.ROUND_HALF_UP,Ne[exports.Rounding.ROUND_UP]=Ge.ROUND_UP,Ne),Qe=((Be={})[exports.Rounding.ROUND_DOWN]=0,Be[exports.Rounding.ROUND_HALF_UP]=1,Be[exports.Rounding.ROUND_UP]=3,Be),Je=function(){function e(e,t){void 0===t&&(t=F),this.numerator=ee(e),this.denominator=ee(t)}var t=e.prototype;return t.invert=function(){return new e(this.denominator,this.numerator)},t.add=function(t){var n=t instanceof e?t:new e(ee(t));return c.equal(this.denominator,n.denominator)?new e(c.add(this.numerator,n.numerator),this.denominator):new e(c.add(c.multiply(this.numerator,n.denominator),c.multiply(n.numerator,this.denominator)),c.multiply(this.denominator,n.denominator))},t.subtract=function(t){var n=t instanceof e?t:new e(ee(t));return c.equal(this.denominator,n.denominator)?new e(c.subtract(this.numerator,n.numerator),this.denominator):new e(c.subtract(c.multiply(this.numerator,n.denominator),c.multiply(n.numerator,this.denominator)),c.multiply(this.denominator,n.denominator))},t.lessThan=function(t){var n=t instanceof e?t:new e(ee(t));return c.lessThan(c.multiply(this.numerator,n.denominator),c.multiply(n.numerator,this.denominator))},t.equalTo=function(t){var n=t instanceof e?t:new e(ee(t));return c.equal(c.multiply(this.numerator,n.denominator),c.multiply(n.numerator,this.denominator))},t.greaterThan=function(t){var n=t instanceof e?t:new e(ee(t));return c.greaterThan(c.multiply(this.numerator,n.denominator),c.multiply(n.numerator,this.denominator))},t.multiply=function(t){var n=t instanceof e?t:new e(ee(t));return new e(c.multiply(this.numerator,n.numerator),c.multiply(this.denominator,n.denominator))},t.divide=function(t){var n=t instanceof e?t:new e(ee(t));return new e(c.multiply(this.numerator,n.denominator),c.multiply(this.denominator,n.numerator))},t.toSignificant=function(e,t,n){void 0===t&&(t={groupSeparator:""}),void 0===n&&(n=exports.Rounding.ROUND_HALF_UP),Number.isInteger(e)||l(!1),e>0||l(!1),Ge.set({precision:e+1,rounding:ze[n]});var r=new Ge(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(e);return r.toFormat(r.decimalPlaces(),t)},t.toFixed=function(e,t,n){return void 0===t&&(t={groupSeparator:""}),void 0===n&&(n=exports.Rounding.ROUND_HALF_UP),Number.isInteger(e)||l(!1),e>=0||l(!1),Ze.DP=e,Ze.RM=Qe[n],new Ze(this.numerator.toString()).div(this.denominator.toString()).toFormat(e,t)},ie(e,[{key:"quotient",get:function(){return c.divide(this.numerator,this.denominator)}},{key:"remainder",get:function(){return new e(c.remainder(this.numerator,this.denominator),this.denominator)}}]),e}(),$e=I(f),et=function(e){function t(t,n){var r,i=ee(n);return J(i,exports.SolidityType.uint256),(r=e.call(this,i,c.exponentiate(W,c.BigInt(t.decimals)))||this).currency=t,r}oe(t,e),t.nativeCurrency=function(e,n){var r=ve.getNative(n);return r||l(!1),new t(r,e)},t.usd=function(e){return new t(Ce,e)};var n=t.prototype;return n.add=function(e){return De(this.currency,e.currency)||l(!1),new t(this.currency,c.add(this.raw,e.raw))},n.subtract=function(e){return De(this.currency,e.currency)||l(!1),new t(this.currency,c.subtract(this.raw,e.raw))},n.toSignificant=function(t,n,r){return void 0===t&&(t=6),void 0===r&&(r=exports.Rounding.ROUND_DOWN),e.prototype.toSignificant.call(this,t,n,r)},n.toFixed=function(t,n,r){return void 0===t&&(t=this.currency.decimals),void 0===r&&(r=exports.Rounding.ROUND_DOWN),t<=this.currency.decimals||l(!1),e.prototype.toFixed.call(this,t,n,r)},n.toExact=function(e){return void 0===e&&(e={groupSeparator:""}),$e.DP=this.currency.decimals,new $e(this.numerator.toString()).div(this.denominator.toString()).toFormat(e)},ie(t,[{key:"raw",get:function(){return this.numerator}}]),t}(Je),tt=function(e){function t(t,n){var r;return(r=e.call(this,t,n)||this).token=t,r}oe(t,e);var n=t.prototype;return n.add=function(e){return this.token.equals(e.token)||l(!1),new t(this.token,c.add(this.raw,e.raw))},n.subtract=function(e){return this.token.equals(e.token)||l(!1),new t(this.token,c.subtract(this.raw,e.raw))},t}(et),nt=function(e){function t(t,n,r,i){var a;return(a=e.call(this,i,r)||this).baseCurrency=t,a.quoteCurrency=n,a.scalar=new Je(c.exponentiate(W,c.BigInt(t.decimals)),c.exponentiate(W,c.BigInt(n.decimals))),a}oe(t,e),t.fromRoute=function(e){for(var n,r=[],i=he(e.pairs.entries());!(n=i()).done;){var a=n.value,o=a[1];r.push(e.path[a[0]].equals(o.token0)?new t(o.reserve0.currency,o.reserve1.currency,o.reserve0.raw,o.reserve1.raw):new t(o.reserve1.currency,o.reserve0.currency,o.reserve1.raw,o.reserve0.raw))}return r.slice(1).reduce((function(e,t){return e.multiply(t)}),r[0])};var n=t.prototype;return n.invert=function(){return new t(this.quoteCurrency,this.baseCurrency,this.numerator,this.denominator)},n.multiply=function(n){De(this.quoteCurrency,n.baseCurrency)||l(!1);var r=e.prototype.multiply.call(this,n);return new t(this.baseCurrency,n.quoteCurrency,r.denominator,r.numerator)},n.quote=function(t){return De(t.currency,this.baseCurrency)||l(!1),this.quoteCurrency instanceof ke?new tt(this.quoteCurrency,e.prototype.multiply.call(this,t.raw).quotient):et.nativeCurrency(e.prototype.multiply.call(this,t.raw).quotient,exports.ChainId.MAINNET)},n.toSignificant=function(e,t,n){return void 0===e&&(e=6),this.adjusted.toSignificant(e,t,n)},n.toFixed=function(e,t,n){return void 0===e&&(e=4),this.adjusted.toFixed(e,t,n)},ie(t,[{key:"raw",get:function(){return new Je(this.numerator,this.denominator)}},{key:"adjusted",get:function(){return e.prototype.multiply.call(this,this.scalar)}}]),t}(Je),rt=((_e={})[exports.ChainId.MAINNET]="0xC0AEe478e3658e2610c5F7A4A2E1777cE9e4f2Ac",_e[exports.ChainId.RINKEBY]="0xc35DADB65012eC5796536bD9864eD8773aBc74C4",_e[exports.ChainId.XDAI]="0xc35DADB65012eC5796536bD9864eD8773aBc74C4",_e[exports.ChainId.ARBITRUM_ONE]="0xc35DADB65012eC5796536bD9864eD8773aBc74C4",_e),it=((Me={})[exports.ChainId.MAINNET]="0xd9e1cE17f2641f24aE83637ab66a2cca9C378B9F",Me[exports.ChainId.RINKEBY]="0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506",Me[exports.ChainId.XDAI]="0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506",Me[exports.ChainId.ARBITRUM_ONE]="0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506",Me),at=function(){function e(e,t,n,r,i){this.name=e,this.factoryAddress=t,this.routerAddress=n,this.initCodeHash=r,this.defaultSwapFee=i}return e.prototype.supportsChain=function(e){return!!this.factoryAddress[e]&&!!this.routerAddress[e]},e}();at.SWAPR=new at("Swapr",D,N,S,G),at.UNISWAP=new at("Uniswap",((Se={})[exports.ChainId.MAINNET]="0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f",Se[exports.ChainId.RINKEBY]="0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f",Se),((Oe={})[exports.ChainId.MAINNET]="0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D",Oe[exports.ChainId.RINKEBY]="0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D",Oe),"0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f",H),at.SUSHISWAP=new at("Sushiswap",rt,it,"0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303",H),at.HONEYSWAP=new at("Honeyswap",((Ue={})[exports.ChainId.XDAI]="0xA818b4F111Ccac7AA31D0BCc0806d64F2E0737D7",Ue),((Fe={})[exports.ChainId.XDAI]="0x1C232F01118CB8B424793ae03F870aa7D0ac7f77",Fe),"0x3f88503e8580ab941773b59034fb4b2a63e86dbc031b3633a925533ad3ed2b93",H),at.BAOSWAP=new at("Baoswap",((Pe={})[exports.ChainId.XDAI]="0x45de240fbe2077dd3e711299538a09854fae9c9b",Pe),((qe={})[exports.ChainId.XDAI]="0x6093AeBAC87d62b1A5a4cEec91204e35020E38bE",qe),"0x0bae3ead48c325ce433426d2e8e6b07dac10835baec21e163760682ea3d3520d",H),at.LEVINSWAP=new at("Levinswap",((Xe={})[exports.ChainId.XDAI]="0x965769C9CeA8A7667246058504dcdcDb1E2975A5",Xe),((We={})[exports.ChainId.XDAI]="0xb18d4f69627F8320619A696202Ad2C430CeF7C53",We),"0x4955fd9146732ca7a64d43c7a8d65fe6db1acca27e9c5b3bee7c3abe5849f441",H);var ot=((Ye={})[exports.ChainId.MAINNET]={},Ye[exports.ChainId.RINKEBY]={},Ye[exports.ChainId.ARBITRUM_ONE]={},Ye[exports.ChainId.ARBITRUM_RINKEBY]={},Ye[exports.ChainId.XDAI]={},Ye),st=((Ke={})[at.SWAPR.name]=ae({},ot),Ke[at.SUSHISWAP.name]=ae({},ot),Ke[at.UNISWAP.name]=ae({},ot),Ke[at.HONEYSWAP.name]=ae({},ot),Ke[at.BAOSWAP.name]=ae({},ot),Ke[at.LEVINSWAP.name]=ae({},ot),Ke),ut=function(){function e(t,n,r,i,a,o){void 0===a&&(a=at.SWAPR),void 0===o&&(o=[]),this.swapFee=G,this.protocolFeeDenominator=Z,t.token.chainId!==n.token.chainId&&l(!1);var s=t.token.sortsBefore(n.token)?[t,n]:[n,t];this.platform=a||at.SWAPR;var u=e.getAddress(s[0].token,s[1].token,a);this.liquidityToken=new ke(s[0].token.chainId,u,18,"DXS","DXswap"),this.protocolFeeDenominator=i||Z,this.tokenAmounts=s,this.swapFee=r||a.defaultSwapFee,this.liquidityMiningCampaigns=o}var t=e.prototype;return t.equals=function(e){return this===e||this.liquidityToken.address===e.liquidityToken.address},e.getAddress=function(e,t,n){var r,i,a,o;void 0===n&&(n=at.SWAPR);var s,u,p,d,c,h,m,f=e.sortsBefore(t)?[e,t]:[t,e],I=e.chainId;return n.supportsChain(I)||l(!1),void 0===(null===(r=st)||void 0===r||null===(i=r[n.name])||void 0===i||null===(a=i[I])||void 0===a||null===(o=a[f[0].address])||void 0===o?void 0:o[f[1].address])&&(st=ae({},st,((m={})[n.name]=ae({},st[n.name],((h={})[I]=ae({},st[n.name][I],((c={})[f[0].address]=ae({},null===(s=st)||void 0===s||null===(u=s[n.name])||void 0===u||null===(p=u[I])||void 0===p?void 0:p[f[0].address],((d={})[f[1].address]=y.getCreate2Address(n.factoryAddress[I],v.keccak256(["bytes"],[v.pack(["address","address"],[f[0].address,f[1].address])]),n.initCodeHash),d)),c)),h)),m))),st[n.name][I][f[0].address][f[1].address]},t.involvesToken=function(e){return e.equals(this.token0)||e.equals(this.token1)},t.priceOf=function(e){return this.involvesToken(e)||l(!1),e.equals(this.token0)?this.token0Price:this.token1Price},t.reserveOf=function(e){return this.involvesToken(e)||l(!1),e.equals(this.token0)?this.reserve0:this.reserve1},t.getOutputAmount=function(t){if(this.involvesToken(t.token)||l(!1),c.equal(this.reserve0.raw,U)||c.equal(this.reserve1.raw,U))throw new Ie;var n=this.reserveOf(t.token),r=this.reserveOf(t.token.equals(this.token0)?this.token1:this.token0),i=c.multiply(t.raw,c.subtract(V,ee(this.swapFee))),a=c.multiply(i,r.raw),o=c.add(c.multiply(n.raw,V),i),s=new tt(t.token.equals(this.token0)?this.token1:this.token0,c.divide(a,o));if(c.equal(s.raw,U))throw new Te;return[s,new e(n.add(t),r.subtract(s),this.swapFee,this.protocolFeeDenominator)]},t.getInputAmount=function(t){if(this.involvesToken(t.token)||l(!1),c.equal(this.reserve0.raw,U)||c.equal(this.reserve1.raw,U)||c.greaterThanOrEqual(t.raw,this.reserveOf(t.token).raw))throw new Ie;var n=this.reserveOf(t.token),r=this.reserveOf(t.token.equals(this.token0)?this.token1:this.token0),i=c.multiply(c.multiply(r.raw,t.raw),V),a=c.multiply(c.subtract(n.raw,t.raw),c.subtract(V,ee(this.swapFee))),o=new tt(t.token.equals(this.token0)?this.token1:this.token0,c.add(c.divide(i,a),F));return[o,new e(r.add(o),n.subtract(t),this.swapFee,this.protocolFeeDenominator)]},t.getLiquidityMinted=function(e,t,n){e.token.equals(this.liquidityToken)||l(!1);var r,i=t.token.sortsBefore(n.token)?[t,n]:[n,t];if(i[0].token.equals(this.token0)&&i[1].token.equals(this.token1)||l(!1),c.equal(e.raw,U))r=c.subtract(te(c.multiply(i[0].raw,i[1].raw)),O);else{var a=c.divide(c.multiply(i[0].raw,e.raw),this.reserve0.raw),o=c.divide(c.multiply(i[1].raw,e.raw),this.reserve1.raw);r=c.lessThanOrEqual(a,o)?a:o}if(!c.greaterThan(r,U))throw new Te;return new tt(this.liquidityToken,r)},t.getLiquidityValue=function(e,t,n,r,i){var a;if(void 0===r&&(r=!1),this.involvesToken(e)||l(!1),t.token.equals(this.liquidityToken)||l(!1),n.token.equals(this.liquidityToken)||l(!1),c.lessThanOrEqual(n.raw,t.raw)||l(!1),r){i||l(!1);var o=ee(i);if(c.equal(o,U))a=t;else{var s=te(c.multiply(this.reserve0.raw,this.reserve1.raw)),u=te(o);if(c.greaterThan(s,u)){var p=c.multiply(t.raw,c.subtract(s,u)),d=c.add(c.multiply(s,ee(this.protocolFeeDenominator)),u),y=c.divide(p,d);a=t.add(new tt(this.liquidityToken,y))}else a=t}}else a=t;return new tt(e,c.divide(c.multiply(n.raw,this.reserveOf(e).raw),a.raw))},ie(e,[{key:"token0Price",get:function(){return new nt(this.token0,this.token1,this.tokenAmounts[0].raw,this.tokenAmounts[1].raw)}},{key:"token1Price",get:function(){return new nt(this.token1,this.token0,this.tokenAmounts[1].raw,this.tokenAmounts[0].raw)}},{key:"chainId",get:function(){return this.token0.chainId}},{key:"token0",get:function(){return this.tokenAmounts[0].token}},{key:"token1",get:function(){return this.tokenAmounts[1].token}},{key:"reserve0",get:function(){return this.tokenAmounts[0]}},{key:"reserve1",get:function(){return this.tokenAmounts[1]}}]),e}(),pt=function(){function e(e,t,n){e.length>0||l(!1),e.every((function(t){return t.chainId===e[0].chainId}))||l(!1),e.every((function(t){return t.platform===e[0].platform}))||l(!1),t instanceof ke&&e[0].involvesToken(t)||ve.isNative(t)&&e[0].involvesToken(ke.getNativeWrapper(e[0].chainId))||l(!1),void 0===n||n instanceof ke&&e[e.length-1].involvesToken(n)||ve.isNative(n)&&e[e.length-1].involvesToken(ke.getNativeWrapper(e[0].chainId))||l(!1);for(var r,i=[t instanceof ke?t:ke.getNativeWrapper(e[0].chainId)],a=he(e.entries());!(r=a()).done;){var o=r.value,s=o[1],u=i[o[0]];u.equals(s.token0)||u.equals(s.token1)||l(!1);var p=u.equals(s.token0)?s.token1:s.token0;i.push(p)}this.pairs=e,this.path=i,this.midPrice=nt.fromRoute(this),this.input=t,this.output=null!=n?n:i[i.length-1]}return ie(e,[{key:"chainId",get:function(){return this.pairs[0].chainId}}]),e}(),dt=new Je(j),ct=function(e){function t(){return e.apply(this,arguments)||this}oe(t,e);var n=t.prototype;return n.toSignificant=function(e,t,n){return void 0===e&&(e=5),this.multiply(dt).toSignificant(e,t,n)},n.toFixed=function(e,t,n){return void 0===e&&(e=2),this.multiply(dt).toFixed(e,t,n)},t}(Je);function lt(e,t){return De(e.inputAmount.currency,t.inputAmount.currency)||l(!1),De(e.outputAmount.currency,t.outputAmount.currency)||l(!1),e.outputAmount.equalTo(t.outputAmount)?e.inputAmount.equalTo(t.inputAmount)?0:e.inputAmount.lessThan(t.inputAmount)?-1:1:e.outputAmount.lessThan(t.outputAmount)?1:-1}function yt(e,t){var n=lt(e,t);return 0!==n?n:e.priceImpact.lessThan(t.priceImpact)?-1:e.priceImpact.greaterThan(t.priceImpact)?1:e.route.path.length-t.route.path.length}function ht(e,t){return e instanceof tt?e:ve.isNative(e.currency)?new tt(ke.getNativeWrapper(t),e.raw):void l(!1)}function mt(e,t){return e instanceof ke?e:ve.isNative(e)?ke.getNativeWrapper(t):void l(!1)}var ft,It=function(){function e(e,t,n){this.chainId=e.chainId;var r,i,a,o=new Array(e.path.length),s=new Array(e.pairs.length);if(n===exports.TradeType.EXACT_INPUT){De(t.currency,e.input)||l(!1),o[0]=ht(t,e.chainId);for(var u=0;u<e.path.length-1;u++){var p=e.pairs[u].getOutputAmount(o[u]),d=p[1];o[u+1]=p[0],s[u]=d}}else{De(t.currency,e.output)||l(!1),o[o.length-1]=ht(t,e.chainId);for(var c=e.path.length-1;c>0;c--){var y=e.pairs[c-1].getInputAmount(o[c]),h=y[1];o[c-1]=y[0],s[c-1]=h}}this.route=e,this.tradeType=n,this.inputAmount=n===exports.TradeType.EXACT_INPUT?t:ve.isNative(e.input)?et.nativeCurrency(o[0].raw,this.chainId):o[0],this.outputAmount=n===exports.TradeType.EXACT_OUTPUT?t:ve.isNative(e.output)?et.nativeCurrency(o[o.length-1].raw,this.chainId):o[o.length-1],this.executionPrice=new nt(this.inputAmount.currency,this.outputAmount.currency,this.inputAmount.raw,this.outputAmount.raw),this.nextMidPrice=nt.fromRoute(new pt(s,e.input)),this.priceImpact=(r=this.outputAmount,a=(i=e.midPrice.raw.multiply(this.inputAmount.raw)).subtract(r.raw).divide(i),new ct(a.numerator,a.denominator)),this.platform=this.route.pairs[0].platform}e.exactIn=function(t,n){return new e(t,n,exports.TradeType.EXACT_INPUT)},e.exactOut=function(t,n){return new e(t,n,exports.TradeType.EXACT_OUTPUT)};var t=e.prototype;return t.minimumAmountOut=function(e){if(e.lessThan(U)&&l(!1),this.tradeType===exports.TradeType.EXACT_OUTPUT)return this.outputAmount;var t=new Je(F).add(e).invert().multiply(this.outputAmount.raw).quotient;return this.outputAmount instanceof tt?new tt(this.outputAmount.token,t):et.nativeCurrency(t,this.chainId)},t.maximumAmountIn=function(e){if(e.lessThan(U)&&l(!1),this.tradeType===exports.TradeType.EXACT_INPUT)return this.inputAmount;var t=new Je(F).add(e).multiply(this.inputAmount.raw).quotient;return this.inputAmount instanceof tt?new tt(this.inputAmount.token,t):et.nativeCurrency(t,this.chainId)},e.bestTradeExactIn=function(t,n,r,i,a,o,s){var u=void 0===i?{}:i,p=u.maxNumResults,d=void 0===p?3:p,c=u.maxHops,y=void 0===c?3:c;void 0===a&&(a=[]),void 0===o&&(o=n),void 0===s&&(s=[]),t.length>0||l(!1),y>0||l(!1),o===n||a.length>0||l(!1);var h=n instanceof tt?n.token.chainId:r instanceof ke?r.chainId:void 0;void 0===h&&l(!1);for(var m=ht(n,h),f=mt(r,h),I=0;I<t.length;I++){var T=t[I];if((T.token0.equals(m.token)||T.token1.equals(m.token))&&!T.reserve0.equalTo(U)&&!T.reserve1.equalTo(U)){var v=void 0;try{v=T.getOutputAmount(m)[0]}catch(e){if(e.isInsufficientInputAmountError)continue;throw e}if(v.token.equals(f))ne(s,new e(new pt([].concat(a,[T]),o.currency,r),o,exports.TradeType.EXACT_INPUT),d,yt);else if(y>1&&t.length>1){var w=t.slice(0,I).concat(t.slice(I+1,t.length));e.bestTradeExactIn(w,v,r,{maxNumResults:d,maxHops:y-1},[].concat(a,[T]),o,s)}}}return s},e.bestTradeExactOut=function(t,n,r,i,a,o,s){var u=void 0===i?{}:i,p=u.maxNumResults,d=void 0===p?3:p,c=u.maxHops,y=void 0===c?3:c;void 0===a&&(a=[]),void 0===o&&(o=r),void 0===s&&(s=[]),t.length>0||l(!1),y>0||l(!1),o===r||a.length>0||l(!1);var h=r instanceof tt?r.token.chainId:n instanceof ke?n.chainId:void 0;void 0===h&&l(!1);for(var m=ht(r,h),f=mt(n,h),I=0;I<t.length;I++){var T=t[I];if((T.token0.equals(m.token)||T.token1.equals(m.token))&&!T.reserve0.equalTo(U)&&!T.reserve1.equalTo(U)){var v=void 0;try{v=T.getInputAmount(m)[0]}catch(e){if(e.isInsufficientReservesError)continue;throw e}if(v.token.equals(f))ne(s,new e(new pt([T].concat(a),n,o.currency),o,exports.TradeType.EXACT_OUTPUT),d,yt);else if(y>1&&t.length>1){var w=t.slice(0,I).concat(t.slice(I+1,t.length));e.bestTradeExactOut(w,n,v,{maxNumResults:d,maxHops:y-1},[T].concat(a),o,s)}}}return s},e}(),Tt=function(e){function t(t,n){var r;return(r=e.call(this,t,n)||this).token=t,r}return oe(t,e),ie(t,[{key:"nativeCurrencyAmount",get:function(){return new et(this.token.price.quoteCurrency,w.utils.parseUnits(this.multiply(this.token.price).toFixed(this.token.price.quoteCurrency.decimals),this.token.price.quoteCurrency.decimals).toString())}}]),t}(tt),vt=((ft={})[exports.ChainId.RINKEBY]=et.nativeCurrency(w.utils.parseUnits("0.05",ke.getNative(exports.ChainId.RINKEBY).decimals).toString(),exports.ChainId.RINKEBY),ft[exports.ChainId.MAINNET]=et.nativeCurrency(w.utils.parseUnits("0.1",ke.getNative(exports.ChainId.MAINNET).decimals).toString(),exports.ChainId.MAINNET),ft[exports.ChainId.XDAI]=et.nativeCurrency(w.utils.parseUnits("1000",ke.getNative(exports.ChainId.XDAI).decimals).toString(),exports.ChainId.XDAI),ft[exports.ChainId.ARBITRUM_ONE]=et.nativeCurrency(w.utils.parseUnits("0.1",ke.getNative(exports.ChainId.ARBITRUM_ONE).decimals).toString(),exports.ChainId.ARBITRUM_ONE),ft[exports.ChainId.ARBITRUM_RINKEBY]=et.nativeCurrency(w.utils.parseUnits("0.05",ke.getNative(exports.ChainId.ARBITRUM_RINKEBY).decimals).toString(),exports.ChainId.ARBITRUM_RINKEBY),ft),wt=function(){function e(e,t,n,r,i,a,o,s){c.lessThan(ee(e),ee(t))||l(!1),i.token.equals(n.liquidityToken)||l(!1);for(var u,p=he(r);!(u=p()).done;)i.token.chainId!==u.value.token.chainId&&l(!1);this.chainId=i.token.chainId,this.startsAt=e,this.endsAt=t,this.rewards=r,this.targetedPair=n,this.staked=i,this.duration=c.subtract(ee(t),ee(e)),this.locked=a,this.stakingCap=o,this.address=s}return ie(e,[{key:"remainingDuration",get:function(){var e=c.BigInt(Math.floor(Date.now()/1e3)),t=ee(this.startsAt),n=ee(this.endsAt);return c.lessThan(e,t)?c.subtract(n,t):c.greaterThanOrEqual(e,n)?c.BigInt("0"):c.subtract(n,e)}},{key:"remainingDistributionPercentage",get:function(){var e=c.BigInt(Math.floor(Date.now()/1e3)),t=ee(this.startsAt),n=ee(this.endsAt);return c.lessThan(e,t)?new ct("100","100"):c.greaterThanOrEqual(e,n)?new ct("0","100"):new ct(c.subtract(n,e),this.duration)}},{key:"remainingRewards",get:function(){var e=this.remainingDistributionPercentage;return this.rewards.map((function(t){return new Tt(t.token,e.multiply(t.raw).toFixed(0))}))}},{key:"apy",get:function(){if("0"===this.remainingDuration.toString())return new ct("0","1");var e=this.remainingRewards,t=this.staked.nativeCurrencyAmount;t.lessThan(vt[this.chainId])&&(t=vt[this.chainId]);var n=e.reduce((function(e,t){return e.add(t.nativeCurrencyAmount)}),et.nativeCurrency("0",this.chainId)).divide(t),r=new Je(K.toString(),this.remainingDuration.toString()),i=n.multiply(r);return new ct(i.numerator,i.denominator)}},{key:"currentlyActive",get:function(){var e=c.BigInt(Math.floor(Date.now()/1e3));return c.lessThanOrEqual(ee(this.startsAt),e)&&c.greaterThan(ee(this.endsAt),e)}},{key:"ended",get:function(){return c.greaterThan(c.BigInt(Math.floor(Date.now()/1e3)),ee(this.endsAt))}}]),e}(),At=function(){function e(e,t,n,r,i,a,o,s){c.lessThan(ee(e),ee(t))||l(!1);for(var u,p=he(r);!(u=p()).done;)i.token.chainId!==u.value.token.chainId&&l(!1);this.chainId=i.token.chainId,this.startsAt=e,this.endsAt=t,this.rewards=r,this.stakeToken=n,this.staked=i,this.duration=c.subtract(ee(t),ee(e)),this.locked=a,this.stakingCap=o,this.address=s}return ie(e,[{key:"remainingDuration",get:function(){var e=c.BigInt(Math.floor(Date.now()/1e3)),t=ee(this.startsAt),n=ee(this.endsAt);return c.lessThan(e,t)?c.subtract(n,t):c.greaterThanOrEqual(e,n)?c.BigInt("0"):c.subtract(n,e)}},{key:"remainingDistributionPercentage",get:function(){var e=c.BigInt(Math.floor(Date.now()/1e3)),t=ee(this.startsAt),n=ee(this.endsAt);return c.lessThan(e,t)?new ct("100","100"):c.greaterThanOrEqual(e,n)?new ct("0","100"):new ct(c.subtract(n,e),this.duration)}},{key:"remainingRewards",get:function(){var e=this.remainingDistributionPercentage;return this.rewards.map((function(t){return new Tt(t.token,e.multiply(t.raw).toFixed(0))}))}},{key:"apy",get:function(){if("0"===this.remainingDuration.toString())return new ct("0","1");var e=this.remainingRewards,t=this.staked.nativeCurrencyAmount;t.lessThan(A.MINIMUM_STAKED_AMOUNT_NATIVE_CURRENCY[this.chainId])&&(t=A.MINIMUM_STAKED_AMOUNT_NATIVE_CURRENCY[this.chainId]);var n=e.reduce((function(e,t){return e.add(t.nativeCurrencyAmount)}),et.nativeCurrency("0",this.chainId)).divide(t),r=new Je(K.toString(),this.remainingDuration.toString()),i=n.multiply(r);return new ct(i.numerator,i.denominator)}},{key:"currentlyActive",get:function(){var e=c.BigInt(Math.floor(Date.now()/1e3));return c.lessThanOrEqual(ee(this.startsAt),e)&&c.greaterThan(ee(this.endsAt),e)}},{key:"ended",get:function(){return c.greaterThan(c.BigInt(Math.floor(Date.now()/1e3)),ee(this.endsAt))}}]),e}(),xt=function(e){function t(t,n,r,i,a,o){var s;return(i.baseCurrency.symbol!==a||i.baseCurrency.decimals!==r)&&l(!1),(s=e.call(this,t,n,r,a,o)||this).price=i,s}return oe(t,e),t}(ke),bt=function(e){function t(t,n,r,i,a,o,s){var u,p=new T(i.nativeCurrencyAmount.raw.toString()).dividedBy(r.toString()),d=ve.getNative(t),c=new ke(t,n,18,o,s);return u=e.call(this,t,n,18,new nt(c,d,w.utils.parseUnits("1",d.decimals).toString(),w.utils.parseUnits(p.toFixed(d.decimals),d.decimals).toString()),o,s)||this,i.token.chainId!==t&&l(!1),u.totalSupply=new tt(le(u),r),u.collateral=i,u.kpiId=a,u}return oe(t,e),t}(xt);function gt(e){return"0x"+e.raw.toString(16)}var Ct=function(){function e(){}return e.swapCallParameters=function(e,t){var n=ve.getNative(e.chainId),r=e.inputAmount.currency===n,i=e.outputAmount.currency===n;r&&i&&l(!1),!("ttl"in t)||t.ttl>0||l(!1);var a,o,s,u=$(t.recipient),p=gt(e.maximumAmountIn(t.allowedSlippage)),d=gt(e.minimumAmountOut(t.allowedSlippage)),c=e.route.path.map((function(e){return e.address})),y="ttl"in t?"0x"+(Math.floor((new Date).getTime()/1e3)+t.ttl).toString(16):"0x"+t.deadline.toString(16),h=Boolean(t.feeOnTransfer);switch(e.tradeType){case exports.TradeType.EXACT_INPUT:r?(a=h?"swapExactETHForTokensSupportingFeeOnTransferTokens":"swapExactETHForTokens",o=[d,c,u,y],s=p):i?(a=h?"swapExactTokensForETHSupportingFeeOnTransferTokens":"swapExactTokensForETH",o=[p,d,c,u,y],s="0x0"):(a=h?"swapExactTokensForTokensSupportingFeeOnTransferTokens":"swapExactTokensForTokens",o=[p,d,c,u,y],s="0x0");break;case exports.TradeType.EXACT_OUTPUT:h&&l(!1),r?(a="swapETHForExactTokens",o=[d,c,u,y],s=p):i?(a="swapTokensForExactETH",o=[d,p,c,u,y],s="0x0"):(a="swapTokensForExactTokens",o=[d,p,c,u,y],s="0x0")}return{methodName:a,args:o,value:s}},e}(),Et=function(){function e(){}return e.fetchPairData=function(e,t,n,r){try{void 0===n&&(n=g.getDefaultProvider(b.getNetwork(e.chainId))),void 0===r&&(r=at.SWAPR),e.chainId!==t.chainId&&l(!1);var i=ut.getAddress(e,t,r);return Promise.resolve(new x.Contract(i,C.abi,n).getReserves()).then((function(i){var a=i[0],o=i[1],s=e.sortsBefore(t)?[a,o]:[o,a],u=new tt(e,s[0]),p=new tt(t,s[1]),d=u.token.sortsBefore(p.token)?[u,p]:[p,u],l=new ke(d[0].token.chainId,ut.getAddress(d[0].token,d[1].token,r),18,"DXS","DXswap"),y=c.BigInt;return Promise.resolve(new x.Contract(l.address,C.abi,n).swapFee()).then((function(e){var t=y.call(c,e),r=c.BigInt;return Promise.resolve(new x.Contract(D[u.token.chainId],E.abi,n).protocolFeeDenominator()).then((function(e){var n=r.call(c,e);return new ut(u,p,t,n)}))}))}))}catch(e){return Promise.reject(e)}},e.fetchSwapFee=function(e,t){try{void 0===t&&(t=g.getDefaultProvider(b.getNetwork(e.chainId)));var n=c.BigInt;return Promise.resolve(new x.Contract(e.address,C.abi,t).swapFee()).then((function(r){var i=n.call(c,r);return Promise.resolve(new x.Contract(D[e.chainId],E.abi,t).feeToSetter()).then((function(e){return{fee:i,owner:e}}))}))}catch(e){return Promise.reject(e)}},e.fetchSwapFees=function(e,t){try{void 0===t&&(t=g.getDefaultProvider(b.getNetwork(e[0].chainId)));var n=new x.Contract(Q[e[0].chainId],R,t),r=new x.Contract(D[e[0].chainId],E.abi,t),i=new x.Contract(e[0].address,C.abi,t),a=[];a.push({address:r.address,callData:r.interface.encodeFunctionData(r.interface.getFunction("feeToSetter()"))});for(var o=0;o<e.length;o++)a.push({address:e[o].address,callData:i.interface.encodeFunctionData(i.interface.getFunction("swapFee()"))});return Promise.resolve(n.aggregate(a.map((function(e){return[e.address,e.callData]})))).then((function(e){for(var t=r.interface.decodeFunctionResult(r.interface.getFunction("feeToSetter()"),e.returnData[0])[0],n=[],a=1;a<e.returnData.length;a++)n.push({fee:c.BigInt(i.interface.decodeFunctionResult(i.interface.getFunction("swapFee()"),e.returnData[a])[0]),owner:t});return n}))}catch(e){return Promise.reject(e)}},e.fetchAllSwapFees=function(e,t,n){void 0===t&&(t={});try{var r=this;void 0===n&&(n=g.getDefaultProvider(b.getNetwork(e)));var i=new x.Contract(Q[e],R,n),a=new x.Contract(D[e],E.abi,n);return Promise.resolve(a.allPairsLength()).then((function(o){for(var s={},u=Object.keys(t),p=[],d=0;d<u.length;d++)s[u[d]]={fee:t[u[d]].fee,owner:t[u[d]].owner};for(var c=[],l=u.length;l<o;l++)c.push({address:a.address,callData:a.interface.encodeFunctionData(a.interface.getFunction("allPairs(uint)"),[l])});return Promise.resolve(i.aggregate(c.map((function(e){return[e.address,e.callData]})))).then((function(t){function i(e){for(var t=0;t<p.length;t++)s[p[t].address]=e[t];return s}for(var o=0;o<t.returnData.length;o++){var u=a.interface.decodeFunctionResult(a.interface.getFunction("allPairs(uint256)"),t.returnData[o])[0];p.push(new ke(e,u,18,"DXS","DXswap"))}return 0===p.length?i([]):Promise.resolve(r.fetchSwapFees(p,n)).then(i)}))}))}catch(e){return Promise.reject(e)}},e.fetchProtocolFee=function(e,t){try{return void 0===t&&(t=g.getDefaultProvider(b.getNetwork(e))),Promise.resolve(new x.Contract(D[e],E.abi,t)).then((function(e){return Promise.resolve(e.protocolFeeDenominator()).then((function(t){return Promise.resolve(e.feeTo()).then((function(e){return{feeDenominator:t,feeReceiver:e}}))}))}))}catch(e){return Promise.reject(e)}},e}();exports.JSBI=c,exports.Currency=ve,exports.CurrencyAmount=et,exports.DXD=je,exports.ETHER=Ee,exports.FACTORY_ADDRESS=D,exports.FIVE=X,exports.Fetcher=Et,exports.Fraction=Je,exports.INIT_CODE_HASH=S,exports.InsufficientInputAmountError=Te,exports.InsufficientReservesError=Ie,exports.KpiToken=bt,exports.LiquidityMiningCampaign=wt,exports.MINIMUM_LIQUIDITY=O,exports.MINIMUM_STAKED_AMOUNT_NATIVE_CURRENCY=vt,exports.MULTICALL_ABI=R,exports.MULTICALL_ADDRESS=Q,exports.ONE=F,exports.Pair=ut,exports.Percent=ct,exports.Price=nt,exports.PricedToken=xt,exports.PricedTokenAmount=Tt,exports.ROUTER_ADDRESS=N,exports.RoutablePlatform=at,exports.Route=pt,exports.Router=Ct,exports.SECONDS_IN_YEAR=K,exports.SOLIDITY_TYPE_MAXIMA=z,exports.STAKING_REWARDS_DISTRIBUTION_ABI=[{anonymous:!1,inputs:[],name:"Canceled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"claimer",type:"address"},{indexed:!1,internalType:"uint256[]",name:"amounts",type:"uint256[]"}],name:"Claimed",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address[]",name:"rewardsTokenAddresses",type:"address[]"},{indexed:!1,internalType:"address",name:"stakableTokenAddress",type:"address"},{indexed:!1,internalType:"uint256[]",name:"rewardsAmounts",type:"uint256[]"},{indexed:!1,internalType:"uint64",name:"startingTimestamp",type:"uint64"},{indexed:!1,internalType:"uint64",name:"endingTimestamp",type:"uint64"},{indexed:!1,internalType:"bool",name:"locked",type:"bool"},{indexed:!1,internalType:"uint256",name:"stakingCap",type:"uint256"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256[]",name:"amounts",type:"uint256[]"}],name:"Recovered",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"staker",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Staked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"withdrawer",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Withdrawn",type:"event"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"claimedReward",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"consolidatedRewardsPerStakedToken",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"earnedRewards",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"endingTimestamp",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"lastConsolidationTimestamp",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[],name:"locked",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"recoverableUnassignedReward",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"rewardAmount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"rewardPerStakedToken",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"rewardTokens",outputs:[{internalType:"contract ERC20",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"secondsDuration",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[],name:"stakableToken",outputs:[{internalType:"contract ERC20",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"stakedTokenAmount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"stakedTokensOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"stakingCap",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"startingTimestamp",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"totalClaimedRewards",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalStakedTokensAmount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getRewardTokens",outputs:[{internalType:"contract ERC20[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_claimer",type:"address"}],name:"getClaimedRewards",outputs:[{internalType:"uint256[]",name:"",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"_rewardTokenAddresses",type:"address[]"},{internalType:"address",name:"_stakableTokenAddress",type:"address"},{internalType:"uint256[]",name:"_rewardAmounts",type:"uint256[]"},{internalType:"uint64",name:"_startingTimestamp",type:"uint64"},{internalType:"uint64",name:"_endingTimestamp",type:"uint64"},{internalType:"bool",name:"_locked",type:"bool"},{internalType:"uint256",name:"_stakingCap",type:"uint256"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"cancel",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"recoverUnassignedRewards",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_amount",type:"uint256"}],name:"stake",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_amount",type:"uint256"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256[]",name:"_amounts",type:"uint256[]"},{internalType:"address",name:"_recipient",type:"address"}],name:"claim",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_recipient",type:"address"}],name:"claimAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_recipient",type:"address"}],name:"exit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"consolidateReward",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_staker",type:"address"}],name:"claimableRewards",outputs:[{internalType:"uint256[]",name:"",type:"uint256[]"}],stateMutability:"view",type:"function"}],exports.STAKING_REWARDS_FACTORY_ABI=[{inputs:[{internalType:"address",name:"_rewardTokensValidatorAddress",type:"address"},{internalType:"address",name:"_stakableTokenValidatorAddress",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"deployedAt",type:"address"}],name:"DistributionCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{inputs:[{internalType:"address[]",name:"_rewardTokensAddresses",type:"address[]"},{internalType:"address",name:"_stakableTokenAddress",type:"address"},{internalType:"uint256[]",name:"_rewardAmounts",type:"uint256[]"},{internalType:"uint64",name:"_startingTimestamp",type:"uint64"},{internalType:"uint64",name:"_endingTimestmp",type:"uint64"},{internalType:"bool",name:"_locked",type:"bool"},{internalType:"uint256",name:"_stakingCap",type:"uint256"}],name:"createDistribution",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"distributions",outputs:[{internalType:"contract ERC20StakingRewardsDistribution",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getDistributionsAmount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"rewardTokensValidator",outputs:[{internalType:"contract IRewardTokensValidator",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_rewardTokensValidatorAddress",type:"address"}],name:"setRewardTokensValidator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_stakableTokenValidatorAddress",type:"address"}],name:"setStakableTokenValidator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"stakableTokenValidator",outputs:[{internalType:"contract IStakableTokenValidator",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}],exports.STAKING_REWARDS_FACTORY_ADDRESS=B,exports.SWPR=Ve,exports.SWPR_CLAIMER_ABI=[{inputs:[{internalType:"address",name:"_swprToken",type:"address"},{internalType:"bytes32",name:"_merkleRoot",type:"bytes32"},{internalType:"uint256",name:"_claimTimeLimit",type:"uint256"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"AlreadyClaimed",type:"error"},{inputs:[],name:"ClaimTimeLimitNotYetReached",type:"error"},{inputs:[],name:"ClaimTimeLimitReached",type:"error"},{inputs:[],name:"InvalidMerkleProof",type:"error"},{inputs:[],name:"InvalidMerkleRoot",type:"error"},{inputs:[],name:"PastClaimTimeLimit",type:"error"},{inputs:[],name:"ZeroAddressInput",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{inputs:[{internalType:"uint256",name:"_amount",type:"uint256"},{internalType:"bytes32[]",name:"_proof",type:"bytes32[]"}],name:"claim",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"claimTimeLimit",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"claimed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"merkleRoot",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"recover",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"swprToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}],exports.SWPR_CLAIMER_ADDRESS=_,exports.SWPR_CONVERTER_ADDRESS=M,exports.SWPR_WHITELIST_IPFS_HASH="QmcjTAvDJZU339jrc9Ky2pXKR68R1SjnwdyGSQjt1kad9r",exports.SingleSidedLiquidityMiningCampaign=At,exports.TEN=W,exports.THREE=q,exports.TWO=P,exports.Token=ke,exports.TokenAmount=tt,exports.Trade=It,exports.USD=Ce,exports.WETH=He,exports.WXDAI=Le,exports.XDAI=Re,exports.ZERO=U,exports.ZERO_ADDRESS="0x0000000000000000000000000000000000000000",exports._100=j,exports._1000=L,exports._10000=V,exports._25=Y,exports._30=H,exports.currencyEquals=De,exports.defaultProtocolFeeDenominator=Z,exports.defaultSwapFee=G,exports.inputOutputComparator=lt,exports.parseBigintIsh=ee,exports.tradeComparator=yt;
//# sourceMappingURL=violet-swapr.cjs.production.min.js.map