@galacticcouncil/sdk 0.0.1-beta.11 → 0.0.1-beta.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/index.esm.js +1 -1
- package/dist/index.esm.js.map +4 -4
- package/dist/index.js +1 -1
- package/dist/index.js.map +4 -4
- package/dist/types/api/router.d.ts +17 -16
- package/dist/types/api/tradeRouter.d.ts +15 -15
- package/dist/types/client/{capi.d.ts → cApi.d.ts} +0 -0
- package/dist/types/client/index.d.ts +1 -1
- package/dist/types/client/{polkadot.d.ts → polkadotApi.d.ts} +5 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/pool/index.d.ts +1 -1
- package/dist/types/pool/lbp/lbpMath.d.ts +13 -0
- package/dist/types/pool/lbp/lbpPolkadotApiClient.d.ts +25 -0
- package/dist/types/pool/lbp/lbpPool.d.ts +40 -0
- package/dist/types/pool/polkadotApiPoolService.d.ts +14 -0
- package/dist/types/pool/xyk/xykMath.d.ts +2 -0
- package/dist/types/pool/xyk/xykPolkadotApiClient.d.ts +10 -0
- package/dist/types/pool/xyk/xykPool.d.ts +8 -5
- package/dist/types/types.d.ts +58 -31
- package/dist/types/utils/mapper.d.ts +4 -0
- package/dist/types/utils/math.d.ts +4 -7
- package/package.json +2 -1
- package/dist/types/client/types.d.ts +0 -7
- package/dist/types/pool/polkadotPoolService.d.ts +0 -7
- package/dist/types/pool/xyk/xykPolkadotClient.d.ts +0 -8
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var je=Object.create;var Ie=Object.defineProperty;var et=Object.getOwnPropertyDescriptor;var tt=Object.getOwnPropertyNames;var nt=Object.getPrototypeOf,ot=Object.prototype.hasOwnProperty;var rt=(d,n)=>()=>(n||d((n={exports:{}}).exports,n),n.exports),it=(d,n)=>{for(var a in n)Ie(d,a,{get:n[a],enumerable:!0})},Ve=(d,n,a,g)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of tt(n))!ot.call(d,r)&&r!==a&&Ie(d,r,{get:()=>n[r],enumerable:!(g=et(n,r))||g.enumerable});return d};var st=(d,n,a)=>(a=d!=null?je(nt(d)):{},Ve(n||!d||!d.__esModule?Ie(a,"default",{value:d,enumerable:!0}):a,d)),at=d=>Ve(Ie({},"__esModule",{value:!0}),d);var Je=rt((sn,re)=>{var gt={},b,{TextEncoder:mt,TextDecoder:dt}=require("util"),M=0,ve=null;function Me(){return(ve===null||ve.buffer!==b.memory.buffer)&&(ve=new Uint8Array(b.memory.buffer)),ve}var De=new mt("utf-8"),ht=typeof De.encodeInto=="function"?function(d,n){return De.encodeInto(d,n)}:function(d,n){let a=De.encode(d);return n.set(a),{read:d.length,written:a.length}};function R(d,n,a){if(a===void 0){let w=De.encode(d),y=n(w.length);return Me().subarray(y,y+w.length).set(w),M=w.length,y}let g=d.length,r=n(g),h=Me(),_=0;for(;_<g;_++){let w=d.charCodeAt(_);if(w>127)break;h[r+_]=w}if(_!==g){_!==0&&(d=d.slice(_)),r=a(r,g,g=_+d.length*3);let w=Me().subarray(r+_,r+g);_+=ht(d,w).written}return M=_,r}var Te=null;function K(){return(Te===null||Te.buffer!==b.memory.buffer)&&(Te=new Int32Array(b.memory.buffer)),Te}var Ze=new dt("utf-8",{ignoreBOM:!0,fatal:!0});Ze.decode();function ce(d,n){return Ze.decode(Me().subarray(d,d+n))}re.exports.calculate_pool_trade_fee=function(d,n,a){try{let h=b.__wbindgen_add_to_stack_pointer(-16),_=R(d,b.__wbindgen_malloc,b.__wbindgen_realloc),w=M;b.calculate_pool_trade_fee(h,_,w,n,a);var g=K()[h/4+0],r=K()[h/4+1];return ce(g,r)}finally{b.__wbindgen_add_to_stack_pointer(16),b.__wbindgen_free(g,r)}};re.exports.get_spot_price=function(d,n,a){try{let h=b.__wbindgen_add_to_stack_pointer(-16),_=R(d,b.__wbindgen_malloc,b.__wbindgen_realloc),w=M,y=R(n,b.__wbindgen_malloc,b.__wbindgen_realloc),N=M,S=R(a,b.__wbindgen_malloc,b.__wbindgen_realloc),x=M;b.get_spot_price(h,_,w,y,N,S,x);var g=K()[h/4+0],r=K()[h/4+1];return ce(g,r)}finally{b.__wbindgen_add_to_stack_pointer(16),b.__wbindgen_free(g,r)}};re.exports.calculate_out_given_in=function(d,n,a){try{let h=b.__wbindgen_add_to_stack_pointer(-16),_=R(d,b.__wbindgen_malloc,b.__wbindgen_realloc),w=M,y=R(n,b.__wbindgen_malloc,b.__wbindgen_realloc),N=M,S=R(a,b.__wbindgen_malloc,b.__wbindgen_realloc),x=M;b.calculate_out_given_in(h,_,w,y,N,S,x);var g=K()[h/4+0],r=K()[h/4+1];return ce(g,r)}finally{b.__wbindgen_add_to_stack_pointer(16),b.__wbindgen_free(g,r)}};re.exports.calculate_in_given_out=function(d,n,a){try{let h=b.__wbindgen_add_to_stack_pointer(-16),_=R(d,b.__wbindgen_malloc,b.__wbindgen_realloc),w=M,y=R(n,b.__wbindgen_malloc,b.__wbindgen_realloc),N=M,S=R(a,b.__wbindgen_malloc,b.__wbindgen_realloc),x=M;b.calculate_in_given_out(h,_,w,y,N,S,x);var g=K()[h/4+0],r=K()[h/4+1];return ce(g,r)}finally{b.__wbindgen_add_to_stack_pointer(16),b.__wbindgen_free(g,r)}};re.exports.calculate_liquidity_in=function(d,n,a){try{let h=b.__wbindgen_add_to_stack_pointer(-16),_=R(d,b.__wbindgen_malloc,b.__wbindgen_realloc),w=M,y=R(n,b.__wbindgen_malloc,b.__wbindgen_realloc),N=M,S=R(a,b.__wbindgen_malloc,b.__wbindgen_realloc),x=M;b.calculate_liquidity_in(h,_,w,y,N,S,x);var g=K()[h/4+0],r=K()[h/4+1];return ce(g,r)}finally{b.__wbindgen_add_to_stack_pointer(16),b.__wbindgen_free(g,r)}};re.exports.calculate_shares=function(d,n,a){try{let h=b.__wbindgen_add_to_stack_pointer(-16),_=R(d,b.__wbindgen_malloc,b.__wbindgen_realloc),w=M,y=R(n,b.__wbindgen_malloc,b.__wbindgen_realloc),N=M,S=R(a,b.__wbindgen_malloc,b.__wbindgen_realloc),x=M;b.calculate_shares(h,_,w,y,N,S,x);var g=K()[h/4+0],r=K()[h/4+1];return ce(g,r)}finally{b.__wbindgen_add_to_stack_pointer(16),b.__wbindgen_free(g,r)}};re.exports.calculate_liquidity_out_asset_a=function(d,n,a,g){try{let _=b.__wbindgen_add_to_stack_pointer(-16),w=R(d,b.__wbindgen_malloc,b.__wbindgen_realloc),y=M,N=R(n,b.__wbindgen_malloc,b.__wbindgen_realloc),S=M,x=R(a,b.__wbindgen_malloc,b.__wbindgen_realloc),D=M,F=R(g,b.__wbindgen_malloc,b.__wbindgen_realloc),A=M;b.calculate_liquidity_out_asset_a(_,w,y,N,S,x,D,F,A);var r=K()[_/4+0],h=K()[_/4+1];return ce(r,h)}finally{b.__wbindgen_add_to_stack_pointer(16),b.__wbindgen_free(r,h)}};re.exports.calculate_liquidity_out_asset_b=function(d,n,a,g){try{let _=b.__wbindgen_add_to_stack_pointer(-16),w=R(d,b.__wbindgen_malloc,b.__wbindgen_realloc),y=M,N=R(n,b.__wbindgen_malloc,b.__wbindgen_realloc),S=M,x=R(a,b.__wbindgen_malloc,b.__wbindgen_realloc),D=M,F=R(g,b.__wbindgen_malloc,b.__wbindgen_realloc),A=M;b.calculate_liquidity_out_asset_b(_,w,y,N,S,x,D,F,A);var r=K()[_/4+0],h=K()[_/4+1];return ce(r,h)}finally{b.__wbindgen_add_to_stack_pointer(16),b.__wbindgen_free(r,h)}};var _t=require("path").join(__dirname,"hydra_dx_wasm_bg.wasm"),Pt=require("fs").readFileSync(_t),wt=new WebAssembly.Module(Pt),yt=new WebAssembly.Instance(wt,gt);b=yt.exports;re.exports.__wasm=b});var Bt={};it(Bt,{BigNumber:()=>me,DECIMAL_PLACES:()=>Ye,INFINITY:()=>ft,ONE:()=>pt,PolkadotPoolService:()=>be,PoolFactory:()=>pe,PoolType:()=>ye,Router:()=>fe,TradeRouter:()=>Be,TradeType:()=>Ge,XykPool:()=>ae,ZERO:()=>ut,bnum:()=>U,scale:()=>oe});module.exports=at(Bt);var Ee=class{constructor(n=1/0){this.capacity=n;this.storage=[]}enqueue(n){if(this.size()===this.capacity)throw Error("Queue has reached max capacity, you cannot add more items");this.storage.push(n)}dequeue(){return this.storage.shift()}size(){return this.storage.length}};var lt=4,_e=class{isNotVisited(n,a){let g=!0;return a.forEach(r=>{r[0]===n&&(g=!1)}),g}findPaths(n,a,g){let r=[],h=new Ee,_=[];for(_.push([a,""]),h.enqueue(_);h.size()>0;){let w=h.dequeue();if(w==null||w.length>lt)return r;let y=w[w.length-1];(g===null||y[0]===g)&&r.push(w),n[y[0]].forEach(S=>{if(this.isNotVisited(S[0],w)){let x=[...w];x.push(S),h.enqueue(x)}})}return r}buildAndPopulateGraph(n,a){let g=[];for(let r=0;r<n.length;r++)g.push([]);for(let[r,h,_]of a){let w=parseInt(h),y=parseInt(_);g[w].push([y,r])}return g}};function qe(d){let n={};for(let a of d){let g=a.tokens.length;for(let r=0;r<g;r++){n[a.tokens[r].id]||(n[a.tokens[r].id]=[]);for(let h=0;h<g;h++){if(r==h)continue;let _=[a.address,a.tokens[r].id,a.tokens[h].id];n[a.tokens[r].id].push(_)}}}return n}var Pe=class{getProposals(n,a,g){let r=qe(g),h=Object.keys(r),_=h.map(S=>r[S]).flat(),w=new _e,y=w.buildAndPopulateGraph(h,_),N=w.findPaths(y,parseInt(n),a?parseInt(a):null);return this.parsePaths(N)}parsePaths(n){let a=[];for(let g of n){let r=[];for(let h=0;h<g.length;h++){let _=g[h],w=g[h+1];if(w==null)break;r.push(this.toEdge(_,w))}a.push(r)}return a}toEdge(n,a){return[a[1],n[0].toString(),a[0].toString()]}};var we=class{constructor(n){this.api=n}getStorageKey(n,a){return n[0].toHuman()[a]}getStorageEntryArray(n){return n[1].toHuman()}async getAssetMetadata(n){return await this.api.query.assetRegistry.assetMetadataMap(n)}async getSystemAccountBalance(n){let{data:{free:a}}=await this.api.query.system.account(n);return a.toString()}async getTokenAccountBalance(n,a){let{free:g}=await this.api.query.tokens.accounts(n,a);return g.toString()}};var ye=(r=>(r.XYK="XYK",r.LBP="LBP",r.Stable="Stable",r.Omni="Omni",r))(ye||{}),Ge=(a=>(a.Buy="Buy",a.Sell="Sell",a))(Ge||{});var Ae=class extends we{async getPools(){let a=(await this.api.query.xyk.poolAssets.entries()).map(async g=>{let r=this.getStorageKey(g,0),h=this.getStorageEntryArray(g),_=await this.getPoolTokens(r,h);return{address:r,type:"XYK",tradeFee:this.getTradeFee(),tokens:_}});return Promise.all(a)}async getPoolTokens(n,a){let g=a.map(async r=>{let h=await this.getBalance(n,r),w=(await super.getAssetMetadata(r)).toHuman();return{id:r,balance:h,decimals:w.decimals,symbol:w.symbol}});return Promise.all(g)}getBalance(n,a){return a==="0"?this.getSystemAccountBalance(n):this.getTokenAccountBalance(n,a)}getTradeFee(){let n=this.api.consts.xyk.getExchangeFee;return(n[0].toNumber()/n[1].toNumber()*100).toString()}};var be=class{constructor(n){this.api=n}async getPools(){let n=[],a=await new Ae(this.api).getPools();return n.push(a),n.flat()}};var ct=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,He=Math.ceil,ne=Math.floor,W="[BigNumber Error] ",We=W+"Number primitive has more than 15 significant digits: ",ee=1e14,E=14,Ue=9007199254740991,Xe=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],le=1e7,H=1e9;function $e(d){var n,a,g,r=O.prototype={constructor:O,toString:null,valueOf:null},h=new O(1),_=20,w=4,y=-7,N=21,S=-1e7,x=1e7,D=!1,F=1,A=0,$={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},j="0123456789abcdefghijklmnopqrstuvwxyz",ue=!0;function O(e,t){var o,p,s,c,m,i,l,f,u=this;if(!(u instanceof O))return new O(e,t);if(t==null){if(e&&e._isBigNumber===!0){u.s=e.s,!e.c||e.e>x?u.c=u.e=null:e.e<S?u.c=[u.e=0]:(u.e=e.e,u.c=e.c.slice());return}if((i=typeof e=="number")&&e*0==0){if(u.s=1/e<0?(e=-e,-1):1,e===~~e){for(c=0,m=e;m>=10;m/=10,c++);c>x?u.c=u.e=null:(u.e=c,u.c=[e]);return}f=String(e)}else{if(!ct.test(f=String(e)))return g(u,f,i);u.s=f.charCodeAt(0)==45?(f=f.slice(1),-1):1}(c=f.indexOf("."))>-1&&(f=f.replace(".","")),(m=f.search(/e/i))>0?(c<0&&(c=m),c+=+f.slice(m+1),f=f.substring(0,m)):c<0&&(c=f.length)}else{if(C(t,2,j.length,"Base"),t==10&&ue)return u=new O(e),Y(u,_+u.e+1,w);if(f=String(e),i=typeof e=="number"){if(e*0!=0)return g(u,f,i,t);if(u.s=1/e<0?(f=f.slice(1),-1):1,O.DEBUG&&f.replace(/^0\.0*|\./,"").length>15)throw Error(We+e)}else u.s=f.charCodeAt(0)===45?(f=f.slice(1),-1):1;for(o=j.slice(0,t),c=m=0,l=f.length;m<l;m++)if(o.indexOf(p=f.charAt(m))<0){if(p=="."){if(m>c){c=l;continue}}else if(!s&&(f==f.toUpperCase()&&(f=f.toLowerCase())||f==f.toLowerCase()&&(f=f.toUpperCase()))){s=!0,m=-1,c=0;continue}return g(u,String(e),i,t)}i=!1,f=a(f,t,10,u.s),(c=f.indexOf("."))>-1?f=f.replace(".",""):c=f.length}for(m=0;f.charCodeAt(m)===48;m++);for(l=f.length;f.charCodeAt(--l)===48;);if(f=f.slice(m,++l)){if(l-=m,i&&O.DEBUG&&l>15&&(e>Ue||e!==ne(e)))throw Error(We+u.s*e);if((c=c-m-1)>x)u.c=u.e=null;else if(c<S)u.c=[u.e=0];else{if(u.e=c,u.c=[],m=(c+1)%E,c<0&&(m+=E),m<l){for(m&&u.c.push(+f.slice(0,m)),l-=E;m<l;)u.c.push(+f.slice(m,m+=E));m=E-(f=f.slice(m)).length}else m-=l;for(;m--;f+="0");u.c.push(+f)}}else u.c=[u.e=0]}O.clone=$e,O.ROUND_UP=0,O.ROUND_DOWN=1,O.ROUND_CEIL=2,O.ROUND_FLOOR=3,O.ROUND_HALF_UP=4,O.ROUND_HALF_DOWN=5,O.ROUND_HALF_EVEN=6,O.ROUND_HALF_CEIL=7,O.ROUND_HALF_FLOOR=8,O.EUCLID=9,O.config=O.set=function(e){var t,o;if(e!=null)if(typeof e=="object"){if(e.hasOwnProperty(t="DECIMAL_PLACES")&&(o=e[t],C(o,0,H,t),_=o),e.hasOwnProperty(t="ROUNDING_MODE")&&(o=e[t],C(o,0,8,t),w=o),e.hasOwnProperty(t="EXPONENTIAL_AT")&&(o=e[t],o&&o.pop?(C(o[0],-H,0,t),C(o[1],0,H,t),y=o[0],N=o[1]):(C(o,-H,H,t),y=-(N=o<0?-o:o))),e.hasOwnProperty(t="RANGE"))if(o=e[t],o&&o.pop)C(o[0],-H,-1,t),C(o[1],1,H,t),S=o[0],x=o[1];else if(C(o,-H,H,t),o)S=-(x=o<0?-o:o);else throw Error(W+t+" cannot be zero: "+o);if(e.hasOwnProperty(t="CRYPTO"))if(o=e[t],o===!!o)if(o)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))D=o;else throw D=!o,Error(W+"crypto unavailable");else D=o;else throw Error(W+t+" not true or false: "+o);if(e.hasOwnProperty(t="MODULO_MODE")&&(o=e[t],C(o,0,9,t),F=o),e.hasOwnProperty(t="POW_PRECISION")&&(o=e[t],C(o,0,H,t),A=o),e.hasOwnProperty(t="FORMAT"))if(o=e[t],typeof o=="object")$=o;else throw Error(W+t+" not an object: "+o);if(e.hasOwnProperty(t="ALPHABET"))if(o=e[t],typeof o=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(o))ue=o.slice(0,10)=="0123456789",j=o;else throw Error(W+t+" invalid: "+o)}else throw Error(W+"Object expected: "+e);return{DECIMAL_PLACES:_,ROUNDING_MODE:w,EXPONENTIAL_AT:[y,N],RANGE:[S,x],CRYPTO:D,MODULO_MODE:F,POW_PRECISION:A,FORMAT:$,ALPHABET:j}},O.isBigNumber=function(e){if(!e||e._isBigNumber!==!0)return!1;if(!O.DEBUG)return!0;var t,o,p=e.c,s=e.e,c=e.s;e:if({}.toString.call(p)=="[object Array]"){if((c===1||c===-1)&&s>=-H&&s<=H&&s===ne(s)){if(p[0]===0){if(s===0&&p.length===1)return!0;break e}if(t=(s+1)%E,t<1&&(t+=E),String(p[0]).length==t){for(t=0;t<p.length;t++)if(o=p[t],o<0||o>=ee||o!==ne(o))break e;if(o!==0)return!0}}}else if(p===null&&s===null&&(c===null||c===1||c===-1))return!0;throw Error(W+"Invalid BigNumber: "+e)},O.maximum=O.max=function(){return Ke(arguments,r.lt)},O.minimum=O.min=function(){return Ke(arguments,r.gt)},O.random=function(){var e=9007199254740992,t=Math.random()*e&2097151?function(){return ne(Math.random()*e)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(o){var p,s,c,m,i,l=0,f=[],u=new O(h);if(o==null?o=_:C(o,0,H),m=He(o/E),D)if(crypto.getRandomValues){for(p=crypto.getRandomValues(new Uint32Array(m*=2));l<m;)i=p[l]*131072+(p[l+1]>>>11),i>=9e15?(s=crypto.getRandomValues(new Uint32Array(2)),p[l]=s[0],p[l+1]=s[1]):(f.push(i%1e14),l+=2);l=m/2}else if(crypto.randomBytes){for(p=crypto.randomBytes(m*=7);l<m;)i=(p[l]&31)*281474976710656+p[l+1]*1099511627776+p[l+2]*4294967296+p[l+3]*16777216+(p[l+4]<<16)+(p[l+5]<<8)+p[l+6],i>=9e15?crypto.randomBytes(7).copy(p,l):(f.push(i%1e14),l+=7);l=m/7}else throw D=!1,Error(W+"crypto unavailable");if(!D)for(;l<m;)i=t(),i<9e15&&(f[l++]=i%1e14);for(m=f[--l],o%=E,m&&o&&(i=Xe[E-o],f[l]=ne(m/i)*i);f[l]===0;f.pop(),l--);if(l<0)f=[c=0];else{for(c=-1;f[0]===0;f.splice(0,1),c-=E);for(l=1,i=f[0];i>=10;i/=10,l++);l<E&&(c-=E-l)}return u.e=c,u.c=f,u}}(),O.sum=function(){for(var e=1,t=arguments,o=new O(t[0]);e<t.length;)o=o.plus(t[e++]);return o},a=function(){var e="0123456789";function t(o,p,s,c){for(var m,i=[0],l,f=0,u=o.length;f<u;){for(l=i.length;l--;i[l]*=p);for(i[0]+=c.indexOf(o.charAt(f++)),m=0;m<i.length;m++)i[m]>s-1&&(i[m+1]==null&&(i[m+1]=0),i[m+1]+=i[m]/s|0,i[m]%=s)}return i.reverse()}return function(o,p,s,c,m){var i,l,f,u,P,B,I,v,L=o.indexOf("."),G=_,k=w;for(L>=0&&(u=A,A=0,o=o.replace(".",""),v=new O(p),B=v.pow(o.length-L),A=u,v.c=t(se(Z(B.c),B.e,"0"),10,s,e),v.e=v.c.length),I=t(o,p,s,m?(i=j,e):(i=e,j)),f=u=I.length;I[--u]==0;I.pop());if(!I[0])return i.charAt(0);if(L<0?--f:(B.c=I,B.e=f,B.s=c,B=n(B,v,G,k,s),I=B.c,P=B.r,f=B.e),l=f+G+1,L=I[l],u=s/2,P=P||l<0||I[l+1]!=null,P=k<4?(L!=null||P)&&(k==0||k==(B.s<0?3:2)):L>u||L==u&&(k==4||P||k==6&&I[l-1]&1||k==(B.s<0?8:7)),l<1||!I[0])o=P?se(i.charAt(1),-G,i.charAt(0)):i.charAt(0);else{if(I.length=l,P)for(--s;++I[--l]>s;)I[l]=0,l||(++f,I=[1].concat(I));for(u=I.length;!I[--u];);for(L=0,o="";L<=u;o+=i.charAt(I[L++]));o=se(o,f,i.charAt(0))}return o}}(),n=function(){function e(p,s,c){var m,i,l,f,u=0,P=p.length,B=s%le,I=s/le|0;for(p=p.slice();P--;)l=p[P]%le,f=p[P]/le|0,m=I*l+f*B,i=B*l+m%le*le+u,u=(i/c|0)+(m/le|0)+I*f,p[P]=i%c;return u&&(p=[u].concat(p)),p}function t(p,s,c,m){var i,l;if(c!=m)l=c>m?1:-1;else for(i=l=0;i<c;i++)if(p[i]!=s[i]){l=p[i]>s[i]?1:-1;break}return l}function o(p,s,c,m){for(var i=0;c--;)p[c]-=i,i=p[c]<s[c]?1:0,p[c]=i*m+p[c]-s[c];for(;!p[0]&&p.length>1;p.splice(0,1));}return function(p,s,c,m,i){var l,f,u,P,B,I,v,L,G,k,T,z,Se,Ce,Le,te,he,Q=p.s==s.s?1:-1,V=p.c,q=s.c;if(!V||!V[0]||!q||!q[0])return new O(!p.s||!s.s||(V?q&&V[0]==q[0]:!q)?NaN:V&&V[0]==0||!q?Q*0:Q/0);for(L=new O(Q),G=L.c=[],f=p.e-s.e,Q=c+f+1,i||(i=ee,f=J(p.e/E)-J(s.e/E),Q=Q/E|0),u=0;q[u]==(V[u]||0);u++);if(q[u]>(V[u]||0)&&f--,Q<0)G.push(1),P=!0;else{for(Ce=V.length,te=q.length,u=0,Q+=2,B=ne(i/(q[0]+1)),B>1&&(q=e(q,B,i),V=e(V,B,i),te=q.length,Ce=V.length),Se=te,k=V.slice(0,te),T=k.length;T<te;k[T++]=0);he=q.slice(),he=[0].concat(he),Le=q[0],q[1]>=i/2&&Le++;do{if(B=0,l=t(q,k,te,T),l<0){if(z=k[0],te!=T&&(z=z*i+(k[1]||0)),B=ne(z/Le),B>1)for(B>=i&&(B=i-1),I=e(q,B,i),v=I.length,T=k.length;t(I,k,v,T)==1;)B--,o(I,te<v?he:q,v,i),v=I.length,l=1;else B==0&&(l=B=1),I=q.slice(),v=I.length;if(v<T&&(I=[0].concat(I)),o(k,I,T,i),T=k.length,l==-1)for(;t(q,k,te,T)<1;)B++,o(k,te<T?he:q,T,i),T=k.length}else l===0&&(B++,k=[0]);G[u++]=B,k[0]?k[T++]=V[Se]||0:(k=[V[Se]],T=1)}while((Se++<Ce||k[0]!=null)&&Q--);P=k[0]!=null,G[0]||G.splice(0,1)}if(i==ee){for(u=1,Q=G[0];Q>=10;Q/=10,u++);Y(L,c+(L.e=u+f*E-1)+1,m,P)}else L.e=f,L.r=+P;return L}}();function Re(e,t,o,p){var s,c,m,i,l;if(o==null?o=w:C(o,0,8),!e.c)return e.toString();if(s=e.c[0],m=e.e,t==null)l=Z(e.c),l=p==1||p==2&&(m<=y||m>=N)?ke(l,m):se(l,m,"0");else if(e=Y(new O(e),t,o),c=e.e,l=Z(e.c),i=l.length,p==1||p==2&&(t<=c||c<=y)){for(;i<t;l+="0",i++);l=ke(l,c)}else if(t-=m,l=se(l,c,"0"),c+1>i){if(--t>0)for(l+=".";t--;l+="0");}else if(t+=c-i,t>0)for(c+1==i&&(l+=".");t--;l+="0");return e.s<0&&s?"-"+l:l}function Ke(e,t){for(var o,p=1,s=new O(e[0]);p<e.length;p++)if(o=new O(e[p]),o.s)t.call(s,o)&&(s=o);else{s=o;break}return s}function Fe(e,t,o){for(var p=1,s=t.length;!t[--s];t.pop());for(s=t[0];s>=10;s/=10,p++);return(o=p+o*E-1)>x?e.c=e.e=null:o<S?e.c=[e.e=0]:(e.e=o,e.c=t),e}g=function(){var e=/^(-?)0([xbo])(?=\w[\w.]*$)/i,t=/^([^.]+)\.$/,o=/^\.([^.]+)$/,p=/^-?(Infinity|NaN)$/,s=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(c,m,i,l){var f,u=i?m:m.replace(s,"");if(p.test(u))c.s=isNaN(u)?null:u<0?-1:1;else{if(!i&&(u=u.replace(e,function(P,B,I){return f=(I=I.toLowerCase())=="x"?16:I=="b"?2:8,!l||l==f?B:P}),l&&(f=l,u=u.replace(t,"$1").replace(o,"0.$1")),m!=u))return new O(u,f);if(O.DEBUG)throw Error(W+"Not a"+(l?" base "+l:"")+" number: "+m);c.s=null}c.c=c.e=null}}();function Y(e,t,o,p){var s,c,m,i,l,f,u,P=e.c,B=Xe;if(P){e:{for(s=1,i=P[0];i>=10;i/=10,s++);if(c=t-s,c<0)c+=E,m=t,l=P[f=0],u=l/B[s-m-1]%10|0;else if(f=He((c+1)/E),f>=P.length)if(p){for(;P.length<=f;P.push(0));l=u=0,s=1,c%=E,m=c-E+1}else break e;else{for(l=i=P[f],s=1;i>=10;i/=10,s++);c%=E,m=c-E+s,u=m<0?0:l/B[s-m-1]%10|0}if(p=p||t<0||P[f+1]!=null||(m<0?l:l%B[s-m-1]),p=o<4?(u||p)&&(o==0||o==(e.s<0?3:2)):u>5||u==5&&(o==4||p||o==6&&(c>0?m>0?l/B[s-m]:0:P[f-1])%10&1||o==(e.s<0?8:7)),t<1||!P[0])return P.length=0,p?(t-=e.e+1,P[0]=B[(E-t%E)%E],e.e=-t||0):P[0]=e.e=0,e;if(c==0?(P.length=f,i=1,f--):(P.length=f+1,i=B[E-c],P[f]=m>0?ne(l/B[s-m]%B[m])*i:0),p)for(;;)if(f==0){for(c=1,m=P[0];m>=10;m/=10,c++);for(m=P[0]+=i,i=1;m>=10;m/=10,i++);c!=i&&(e.e++,P[0]==ee&&(P[0]=1));break}else{if(P[f]+=i,P[f]!=ee)break;P[f--]=0,i=1}for(c=P.length;P[--c]===0;P.pop());}e.e>x?e.c=e.e=null:e.e<S&&(e.c=[e.e=0])}return e}function ie(e){var t,o=e.e;return o===null?e.toString():(t=Z(e.c),t=o<=y||o>=N?ke(t,o):se(t,o,"0"),e.s<0?"-"+t:t)}return r.absoluteValue=r.abs=function(){var e=new O(this);return e.s<0&&(e.s=1),e},r.comparedTo=function(e,t){return ge(this,new O(e,t))},r.decimalPlaces=r.dp=function(e,t){var o,p,s,c=this;if(e!=null)return C(e,0,H),t==null?t=w:C(t,0,8),Y(new O(c),e+c.e+1,t);if(!(o=c.c))return null;if(p=((s=o.length-1)-J(this.e/E))*E,s=o[s])for(;s%10==0;s/=10,p--);return p<0&&(p=0),p},r.dividedBy=r.div=function(e,t){return n(this,new O(e,t),_,w)},r.dividedToIntegerBy=r.idiv=function(e,t){return n(this,new O(e,t),0,1)},r.exponentiatedBy=r.pow=function(e,t){var o,p,s,c,m,i,l,f,u,P=this;if(e=new O(e),e.c&&!e.isInteger())throw Error(W+"Exponent not an integer: "+ie(e));if(t!=null&&(t=new O(t)),i=e.e>14,!P.c||!P.c[0]||P.c[0]==1&&!P.e&&P.c.length==1||!e.c||!e.c[0])return u=new O(Math.pow(+ie(P),i?2-xe(e):+ie(e))),t?u.mod(t):u;if(l=e.s<0,t){if(t.c?!t.c[0]:!t.s)return new O(NaN);p=!l&&P.isInteger()&&t.isInteger(),p&&(P=P.mod(t))}else{if(e.e>9&&(P.e>0||P.e<-1||(P.e==0?P.c[0]>1||i&&P.c[1]>=24e7:P.c[0]<8e13||i&&P.c[0]<=9999975e7)))return c=P.s<0&&xe(e)?-0:0,P.e>-1&&(c=1/c),new O(l?1/c:c);A&&(c=He(A/E+2))}for(i?(o=new O(.5),l&&(e.s=1),f=xe(e)):(s=Math.abs(+ie(e)),f=s%2),u=new O(h);;){if(f){if(u=u.times(P),!u.c)break;c?u.c.length>c&&(u.c.length=c):p&&(u=u.mod(t))}if(s){if(s=ne(s/2),s===0)break;f=s%2}else if(e=e.times(o),Y(e,e.e+1,1),e.e>14)f=xe(e);else{if(s=+ie(e),s===0)break;f=s%2}P=P.times(P),c?P.c&&P.c.length>c&&(P.c.length=c):p&&(P=P.mod(t))}return p?u:(l&&(u=h.div(u)),t?u.mod(t):c?Y(u,A,w,m):u)},r.integerValue=function(e){var t=new O(this);return e==null?e=w:C(e,0,8),Y(t,t.e+1,e)},r.isEqualTo=r.eq=function(e,t){return ge(this,new O(e,t))===0},r.isFinite=function(){return!!this.c},r.isGreaterThan=r.gt=function(e,t){return ge(this,new O(e,t))>0},r.isGreaterThanOrEqualTo=r.gte=function(e,t){return(t=ge(this,new O(e,t)))===1||t===0},r.isInteger=function(){return!!this.c&&J(this.e/E)>this.c.length-2},r.isLessThan=r.lt=function(e,t){return ge(this,new O(e,t))<0},r.isLessThanOrEqualTo=r.lte=function(e,t){return(t=ge(this,new O(e,t)))===-1||t===0},r.isNaN=function(){return!this.s},r.isNegative=function(){return this.s<0},r.isPositive=function(){return this.s>0},r.isZero=function(){return!!this.c&&this.c[0]==0},r.minus=function(e,t){var o,p,s,c,m=this,i=m.s;if(e=new O(e,t),t=e.s,!i||!t)return new O(NaN);if(i!=t)return e.s=-t,m.plus(e);var l=m.e/E,f=e.e/E,u=m.c,P=e.c;if(!l||!f){if(!u||!P)return u?(e.s=-t,e):new O(P?m:NaN);if(!u[0]||!P[0])return P[0]?(e.s=-t,e):new O(u[0]?m:w==3?-0:0)}if(l=J(l),f=J(f),u=u.slice(),i=l-f){for((c=i<0)?(i=-i,s=u):(f=l,s=P),s.reverse(),t=i;t--;s.push(0));s.reverse()}else for(p=(c=(i=u.length)<(t=P.length))?i:t,i=t=0;t<p;t++)if(u[t]!=P[t]){c=u[t]<P[t];break}if(c&&(s=u,u=P,P=s,e.s=-e.s),t=(p=P.length)-(o=u.length),t>0)for(;t--;u[o++]=0);for(t=ee-1;p>i;){if(u[--p]<P[p]){for(o=p;o&&!u[--o];u[o]=t);--u[o],u[p]+=ee}u[p]-=P[p]}for(;u[0]==0;u.splice(0,1),--f);return u[0]?Fe(e,u,f):(e.s=w==3?-1:1,e.c=[e.e=0],e)},r.modulo=r.mod=function(e,t){var o,p,s=this;return e=new O(e,t),!s.c||!e.s||e.c&&!e.c[0]?new O(NaN):!e.c||s.c&&!s.c[0]?new O(s):(F==9?(p=e.s,e.s=1,o=n(s,e,0,3),e.s=p,o.s*=p):o=n(s,e,0,F),e=s.minus(o.times(e)),!e.c[0]&&F==1&&(e.s=s.s),e)},r.multipliedBy=r.times=function(e,t){var o,p,s,c,m,i,l,f,u,P,B,I,v,L,G,k=this,T=k.c,z=(e=new O(e,t)).c;if(!T||!z||!T[0]||!z[0])return!k.s||!e.s||T&&!T[0]&&!z||z&&!z[0]&&!T?e.c=e.e=e.s=null:(e.s*=k.s,!T||!z?e.c=e.e=null:(e.c=[0],e.e=0)),e;for(p=J(k.e/E)+J(e.e/E),e.s*=k.s,l=T.length,P=z.length,l<P&&(v=T,T=z,z=v,s=l,l=P,P=s),s=l+P,v=[];s--;v.push(0));for(L=ee,G=le,s=P;--s>=0;){for(o=0,B=z[s]%G,I=z[s]/G|0,m=l,c=s+m;c>s;)f=T[--m]%G,u=T[m]/G|0,i=I*f+u*B,f=B*f+i%G*G+v[c]+o,o=(f/L|0)+(i/G|0)+I*u,v[c--]=f%L;v[c]=o}return o?++p:v.splice(0,1),Fe(e,v,p)},r.negated=function(){var e=new O(this);return e.s=-e.s||null,e},r.plus=function(e,t){var o,p=this,s=p.s;if(e=new O(e,t),t=e.s,!s||!t)return new O(NaN);if(s!=t)return e.s=-t,p.minus(e);var c=p.e/E,m=e.e/E,i=p.c,l=e.c;if(!c||!m){if(!i||!l)return new O(s/0);if(!i[0]||!l[0])return l[0]?e:new O(i[0]?p:s*0)}if(c=J(c),m=J(m),i=i.slice(),s=c-m){for(s>0?(m=c,o=l):(s=-s,o=i),o.reverse();s--;o.push(0));o.reverse()}for(s=i.length,t=l.length,s-t<0&&(o=l,l=i,i=o,t=s),s=0;t;)s=(i[--t]=i[t]+l[t]+s)/ee|0,i[t]=ee===i[t]?0:i[t]%ee;return s&&(i=[s].concat(i),++m),Fe(e,i,m)},r.precision=r.sd=function(e,t){var o,p,s,c=this;if(e!=null&&e!==!!e)return C(e,1,H),t==null?t=w:C(t,0,8),Y(new O(c),e,t);if(!(o=c.c))return null;if(s=o.length-1,p=s*E+1,s=o[s]){for(;s%10==0;s/=10,p--);for(s=o[0];s>=10;s/=10,p++);}return e&&c.e+1>p&&(p=c.e+1),p},r.shiftedBy=function(e){return C(e,-Ue,Ue),this.times("1e"+e)},r.squareRoot=r.sqrt=function(){var e,t,o,p,s,c=this,m=c.c,i=c.s,l=c.e,f=_+4,u=new O("0.5");if(i!==1||!m||!m[0])return new O(!i||i<0&&(!m||m[0])?NaN:m?c:1/0);if(i=Math.sqrt(+ie(c)),i==0||i==1/0?(t=Z(m),(t.length+l)%2==0&&(t+="0"),i=Math.sqrt(+t),l=J((l+1)/2)-(l<0||l%2),i==1/0?t="5e"+l:(t=i.toExponential(),t=t.slice(0,t.indexOf("e")+1)+l),o=new O(t)):o=new O(i+""),o.c[0]){for(l=o.e,i=l+f,i<3&&(i=0);;)if(s=o,o=u.times(s.plus(n(c,s,f,1))),Z(s.c).slice(0,i)===(t=Z(o.c)).slice(0,i))if(o.e<l&&--i,t=t.slice(i-3,i+1),t=="9999"||!p&&t=="4999"){if(!p&&(Y(s,s.e+_+2,0),s.times(s).eq(c))){o=s;break}f+=4,i+=4,p=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(Y(o,o.e+_+2,1),e=!o.times(o).eq(c));break}}return Y(o,o.e+_+1,w,e)},r.toExponential=function(e,t){return e!=null&&(C(e,0,H),e++),Re(this,e,t,1)},r.toFixed=function(e,t){return e!=null&&(C(e,0,H),e=e+this.e+1),Re(this,e,t)},r.toFormat=function(e,t,o){var p,s=this;if(o==null)e!=null&&t&&typeof t=="object"?(o=t,t=null):e&&typeof e=="object"?(o=e,e=t=null):o=$;else if(typeof o!="object")throw Error(W+"Argument not an object: "+o);if(p=s.toFixed(e,t),s.c){var c,m=p.split("."),i=+o.groupSize,l=+o.secondaryGroupSize,f=o.groupSeparator||"",u=m[0],P=m[1],B=s.s<0,I=B?u.slice(1):u,v=I.length;if(l&&(c=i,i=l,l=c,v-=c),i>0&&v>0){for(c=v%i||i,u=I.substr(0,c);c<v;c+=i)u+=f+I.substr(c,i);l>0&&(u+=f+I.slice(c)),B&&(u="-"+u)}p=P?u+(o.decimalSeparator||"")+((l=+o.fractionGroupSize)?P.replace(new RegExp("\\d{"+l+"}\\B","g"),"$&"+(o.fractionGroupSeparator||"")):P):u}return(o.prefix||"")+p+(o.suffix||"")},r.toFraction=function(e){var t,o,p,s,c,m,i,l,f,u,P,B,I=this,v=I.c;if(e!=null&&(i=new O(e),!i.isInteger()&&(i.c||i.s!==1)||i.lt(h)))throw Error(W+"Argument "+(i.isInteger()?"out of range: ":"not an integer: ")+ie(i));if(!v)return new O(I);for(t=new O(h),f=o=new O(h),p=l=new O(h),B=Z(v),c=t.e=B.length-I.e-1,t.c[0]=Xe[(m=c%E)<0?E+m:m],e=!e||i.comparedTo(t)>0?c>0?t:f:i,m=x,x=1/0,i=new O(B),l.c[0]=0;u=n(i,t,0,1),s=o.plus(u.times(p)),s.comparedTo(e)!=1;)o=p,p=s,f=l.plus(u.times(s=f)),l=s,t=i.minus(u.times(s=t)),i=s;return s=n(e.minus(o),p,0,1),l=l.plus(s.times(f)),o=o.plus(s.times(p)),l.s=f.s=I.s,c=c*2,P=n(f,p,c,w).minus(I).abs().comparedTo(n(l,o,c,w).minus(I).abs())<1?[f,p]:[l,o],x=m,P},r.toNumber=function(){return+ie(this)},r.toPrecision=function(e,t){return e!=null&&C(e,1,H),Re(this,e,t,2)},r.toString=function(e){var t,o=this,p=o.s,s=o.e;return s===null?p?(t="Infinity",p<0&&(t="-"+t)):t="NaN":(e==null?t=s<=y||s>=N?ke(Z(o.c),s):se(Z(o.c),s,"0"):e===10&&ue?(o=Y(new O(o),_+s+1,w),t=se(Z(o.c),o.e,"0")):(C(e,2,j.length,"Base"),t=a(se(Z(o.c),s,"0"),10,e,p,!0)),p<0&&o.c[0]&&(t="-"+t)),t},r.valueOf=r.toJSON=function(){return ie(this)},r._isBigNumber=!0,r[Symbol.toStringTag]="BigNumber",r[Symbol.for("nodejs.util.inspect.custom")]=r.valueOf,d!=null&&O.set(d),O}function J(d){var n=d|0;return d>0||d===n?n:n-1}function Z(d){for(var n,a,g=1,r=d.length,h=d[0]+"";g<r;){for(n=d[g++]+"",a=E-n.length;a--;n="0"+n);h+=n}for(r=h.length;h.charCodeAt(--r)===48;);return h.slice(0,r+1||1)}function ge(d,n){var a,g,r=d.c,h=n.c,_=d.s,w=n.s,y=d.e,N=n.e;if(!_||!w)return null;if(a=r&&!r[0],g=h&&!h[0],a||g)return a?g?0:-w:_;if(_!=w)return _;if(a=_<0,g=y==N,!r||!h)return g?0:!r^a?1:-1;if(!g)return y>N^a?1:-1;for(w=(y=r.length)<(N=h.length)?y:N,_=0;_<w;_++)if(r[_]!=h[_])return r[_]>h[_]^a?1:-1;return y==N?0:y>N^a?1:-1}function C(d,n,a,g){if(d<n||d>a||d!==ne(d))throw Error(W+(g||"Argument")+(typeof d=="number"?d<n||d>a?" out of range: ":" not an integer: ":" not a primitive number: ")+String(d))}function xe(d){var n=d.c.length-1;return J(d.e/E)==n&&d.c[n]%2!=0}function ke(d,n){return(d.length>1?d.charAt(0)+"."+d.slice(1):d)+(n<0?"e":"e+")+n}function se(d,n,a){var g,r;if(n<0){for(r=a+".";++n;r+=a);d=r+d}else if(g=d.length,++n>g){for(r=a,n-=g;--n;r+=a);d+=r}else n<g&&(d=d.slice(0,n)+"."+d.slice(n));return d}var me=$e();var Ye=12;me.config({EXPONENTIAL_AT:[-100,100],ROUNDING_MODE:1,DECIMAL_PLACES:Ye});var ut=U(0),pt=U(1),ft=U("Infinity");function oe(d,n){let a=new me(n.toString()),g=new me(10).pow(a);return d.times(g)}function U(d){return new me(d.toString())}function Qe(d){return U(parseFloat(d)/100)}function ze(d,n){return d.multipliedBy(n).decimalPlaces(0,1)}function Oe(d,n,a,g){let r=d.shiftedBy(-1*n).multipliedBy(a),h=g;return r.minus(h).abs().div(r.plus(h).div(2)).multipliedBy(100).decimalPlaces(2)}function X(d,n){return d.shiftedBy(-1*n).toString()}var de=st(Je());function bt(d,n,a){return(0,de.get_spot_price)(d,n,a)}function Ot(d,n,a){return(0,de.calculate_in_given_out)(d,n,a)}function Nt(d,n,a){return(0,de.calculate_out_given_in)(d,n,a)}var Ne={getSpotPrice:bt,calculateInGivenOut:Ot,calculateOutGivenIn:Nt};var ae=class{static fromPool(n){return new ae(n.address,n.tradeFee,n.tokens)}constructor(n,a,g){this.type="XYK",this.address=n,this.tradeFee=a,this.tokens=g}validPair(n,a){return!0}parsePoolPair(n,a){let g=new Map(this.tokens.map(y=>[y.id,y])),r=g.get(n),h=g.get(a);if(r==null)throw new Error("Pool does not contain tokenIn");if(h==null)throw new Error("Pool does not contain tokenOut");let _=U(r.balance),w=U(h.balance);return{tradeFee:Qe(this.tradeFee),tokenIn:n,tokenOut:a,decimalsIn:r.decimals,decimalsOut:h.decimals,balanceIn:_,balanceOut:w}}calculateInGivenOut(n,a){let g=Ne.calculateInGivenOut(n.balanceIn.toString(),n.balanceOut.toString(),a.toString());return U(g)}getSpotPriceIn(n){let a=Ne.getSpotPrice(n.balanceOut.toString(),n.balanceIn.toString(),oe(U(1),n.decimalsOut).toString());return U(a)}calculateOutGivenIn(n,a){let g=Ne.calculateOutGivenIn(n.balanceIn.toString(),n.balanceOut.toString(),a.toString());return U(g)}getSpotPriceOut(n){let a=Ne.getSpotPrice(n.balanceIn.toString(),n.balanceOut.toString(),oe(U(1),n.decimalsIn).toString());return U(a)}};var pe=class{static get(n){switch(n.type){case"XYK":return ae.fromPool(n);default:throw new Error("Pool type "+n.type+" is not supported yet")}}};var fe=class{constructor(n,a){this.defaultRouterOptions={includeOnly:[]};this.poolService=n,this.routeSuggester=new Pe,this.routerOptions={...this.defaultRouterOptions,...a}}async getPools(){let n=await this.poolService.getPools(),a=new Set(this.routerOptions.includeOnly);return a.size===0?n:n.filter(g=>a.has(g.type))}async getAllAssets(){let n=await this.getAssets();return[...new Map(n).values()]}async getAssetPairs(n){let a=await this.getPools();if(a.length===0)throw new Error("No pools configured");let{assets:g,poolsMap:r}=await this.validateToken(n,a),_=this.getPaths(n,null,r,a).map(w=>w[w.length-1].tokenOut);return this.toPoolAssets([...new Set(_)],g)}async getAllPaths(n,a){let g=await this.getPools();if(g.length===0)throw new Error("No pools configured");let{poolsMap:r}=await this.validateTokenPair(n,a,g);return this.getPaths(n,a,r,g)}async getAssets(){let n=await this.getPools();if(n.length===0)throw new Error("No pools configured");let a=n.map(g=>g.tokens.map(({id:r,symbol:h})=>({token:r,symbol:h}))).flat();return new Map(a.map(g=>[g.token,g]))}getPaths(n,a,g,r){return this.routeSuggester.getProposals(n,a,r).filter(w=>this.validPath(w,g)).map(w=>this.toHops(w,g))}async validateTokenPair(n,a,g){let r=await this.getAssets();if(r.get(n)==null)throw new Error(n+" is not supported token");if(r.get(a)==null)throw new Error(a+" is not supported token");let h=this.getPoolMap(g);return{assets:r,poolsMap:h}}async validateToken(n,a){let g=await this.getAssets();if(g.get(n)==null)throw new Error(n+" is not supported token");let r=this.getPoolMap(a);return{assets:g,poolsMap:r}}getPoolMap(n){return new Map(n.map(a=>[a.address,pe.get(a)]))}validPath(n,a){return n.length>0&&n.map(g=>this.validEdge(g,a)).reduce((g,r)=>g&&r)}validEdge([n,a,g],r){return r.get(n)?.validPair(a,g)||!1}toHops(n,a){return n.map(([g,r,h])=>{let _=a.get(g);return{poolId:g,poolType:_?.type,tokenIn:r,tokenOut:h,tradeFeePct:_?.tradeFee}})}toPoolAssets(n,a){return n.map(g=>{let r=a.get(g);return{token:g,symbol:r?.symbol}})}};var Be=class extends fe{async getBestSpotPrice(n,a){let g=await super.getPools();if(g.length===0)throw new Error("No pools configured");let{poolsMap:r}=await super.validateTokenPair(n,a,g);return super.getPaths(n,a,r,g).map(w=>this.getSpotPrice(w,r)).sort((w,y)=>{let N=w.amount,S=y.amount;return N.isGreaterThan(S)?-1:1})[0]}getSpotPrice(n,a){let g=[];for(let _=0;_<n.length;_++){let w=n[_],y=a.get(w.poolId);if(y==null)throw new Error("Pool does not exit");let N=y.parsePoolPair(w.tokenIn,w.tokenOut),S=y.getSpotPriceOut(N);g.push({amount:S,decimals:N.decimalsOut})}let r=g.map(_=>_.amount.shiftedBy(-1*_.decimals)).reduce((_,w)=>_.multipliedBy(w)),h=g[g.length-1].decimals;return{amount:oe(r,h).decimalPlaces(0,1),decimals:h}}async getBestSell(n,a,g){let r=await super.getPools();if(r.length===0)throw new Error("No pools configured");let{poolsMap:h}=await super.validateTokenPair(n,a,r),y=super.getPaths(n,a,h,r).map(A=>this.toSellSwaps(g,A,h)).sort((A,$)=>{let j=A[A.length-1].amountOut,ue=$[$.length-1].amountOut;return j.isGreaterThan(ue)?-1:1})[0],N=y[0],S=y[y.length-1],x=y.map(A=>A.spotPrice.shiftedBy(-1*A.tokenOutDecimals)).reduce((A,$)=>A.multipliedBy($)),D=oe(x,S.tokenOutDecimals).decimalPlaces(0,1),F=Oe(N.amountIn,N.tokenInDecimals,D,S.calculatedOut);return{type:"Sell",amountIn:N.amountIn,amountOut:S.amountOut,spotPrice:D,priceImpactPct:F,swaps:y,toHuman(){return{type:"Sell",amountIn:X(N.amountIn,N.tokenInDecimals),amountOut:X(S.amountOut,S.tokenOutDecimals),spotPrice:X(D,S.tokenOutDecimals),priceImpactPct:F.toString(),swaps:y.map(A=>A.toHuman())}}}}toSellSwaps(n,a,g){let r=[];for(let h=0;h<a.length;h++){let _=a[h],w=g.get(_.poolId);if(w==null)throw new Error("Pool does not exit");let y=w.parsePoolPair(_.tokenIn,_.tokenOut),N;h>0?N=r[h-1].amountOut:N=oe(U(n),y.decimalsIn);let S=w.calculateOutGivenIn(y,N),x=ze(S,y.tradeFee),D=S.minus(x),F=w.getSpotPriceOut(y),A=Oe(N,y.decimalsIn,F,S);r.push({..._,tokenInDecimals:y.decimalsIn,tokenOutDecimals:y.decimalsOut,amountIn:N,calculatedOut:S,amountOut:D,tradeFee:x,spotPrice:F,priceImpactPct:A,toHuman(){return{..._,amountIn:X(N,y.decimalsIn),calculatedOut:X(S,y.decimalsOut),amountOut:X(D,y.decimalsOut),tradeFee:X(x,y.decimalsOut),spotPrice:X(F,y.decimalsOut),priceImpactPct:A.toString()}}})}return r}async getBestBuy(n,a,g){let r=await super.getPools();if(r.length===0)throw new Error("No pools configured");let{poolsMap:h}=await super.validateTokenPair(n,a,r),y=super.getPaths(n,a,h,r).map(A=>this.toBuySwaps(g,A,h)).sort((A,$)=>{let j=A[A.length-1].amountIn,ue=$[$.length-1].amountIn;return j.isGreaterThan(ue)?1:-1})[0],N=y[0],S=y[y.length-1],x=y.map(A=>A.spotPrice.shiftedBy(-1*A.tokenInDecimals)).reduce((A,$)=>A.multipliedBy($)),D=oe(x,N.tokenInDecimals).decimalPlaces(0,1),F=Oe(N.amountOut,N.tokenOutDecimals,D,S.calculatedIn);return{type:"Buy",amountOut:N.amountOut,amountIn:S.amountIn,spotPrice:D,priceImpactPct:F,swaps:y,toHuman(){return{type:"Buy",amountOut:X(N.amountOut,S.tokenOutDecimals),amountIn:X(S.amountIn,N.tokenInDecimals),spotPrice:X(D,N.tokenInDecimals),priceImpactPct:F.toString(),swaps:y.map(A=>A.toHuman())}}}}toBuySwaps(n,a,g){let r=[];for(let h=a.length-1;h>=0;h--){let _=a[h],w=g.get(_.poolId);if(w==null)throw new Error("Pool does not exit");let y=w.parsePoolPair(_.tokenIn,_.tokenOut),N;h==a.length-1?N=oe(U(n),y.decimalsOut):N=r[r.length-1].amountIn;let S=w.calculateInGivenOut(y,N),x=ze(S,y.tradeFee),D=S.plus(x),F=w.getSpotPriceIn(y),A=Oe(N,y.decimalsOut,F,S);r.push({..._,tokenInDecimals:y.decimalsIn,tokenOutDecimals:y.decimalsOut,amountOut:N,calculatedIn:S,amountIn:D,tradeFee:x,spotPrice:F,priceImpactPct:A,toHuman(){return{..._,amountOut:X(N,y.decimalsOut),calculatedIn:X(S,y.decimalsIn),amountIn:X(D,y.decimalsIn),tradeFee:X(x,y.decimalsIn),spotPrice:X(F,y.decimalsIn),priceImpactPct:A.toString()}}})}return r}};0&&(module.exports={BigNumber,DECIMAL_PLACES,INFINITY,ONE,PolkadotPoolService,PoolFactory,PoolType,Router,TradeRouter,TradeType,XykPool,ZERO,bnum,scale});
|
|
1
|
+
"use strict";var Pt=Object.create;var Re=Object.defineProperty;var wt=Object.getOwnPropertyDescriptor;var bt=Object.getOwnPropertyNames;var yt=Object.getPrototypeOf,Bt=Object.prototype.hasOwnProperty;var at=(g,e)=>()=>(e||g((e={exports:{}}).exports,e),e.exports),Ot=(g,e)=>{for(var o in e)Re(g,o,{get:e[o],enumerable:!0})},lt=(g,e,o,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of bt(e))!Bt.call(g,n)&&n!==o&&Re(g,n,{get:()=>e[n],enumerable:!(s=wt(e,n))||s.enumerable});return g};var ct=(g,e,o)=>(o=g!=null?Pt(yt(g)):{},lt(e||!g||!g.__esModule?Re(o,"default",{value:g,enumerable:!0}):o,g)),It=g=>lt(Re({},"__esModule",{value:!0}),g);var mt=at((En,ye)=>{var At={},I,{TextEncoder:vt,TextDecoder:kt}=require("util"),q=0,qe=null;function Xe(){return(qe===null||qe.buffer!==I.memory.buffer)&&(qe=new Uint8Array(I.memory.buffer)),qe}var ze=new vt("utf-8"),Et=typeof ze.encodeInto=="function"?function(g,e){return ze.encodeInto(g,e)}:function(g,e){let o=ze.encode(g);return e.set(o),{read:g.length,written:o.length}};function z(g,e,o){if(o===void 0){let _=ze.encode(g),w=e(_.length);return Xe().subarray(w,w+_.length).set(_),q=_.length,w}let s=g.length,n=e(s),c=Xe(),p=0;for(;p<s;p++){let _=g.charCodeAt(p);if(_>127)break;c[n+p]=_}if(p!==s){p!==0&&(g=g.slice(p)),n=o(n,s,s=p+g.length*3);let _=Xe().subarray(n+p,n+s);p+=Et(g,_).written}return q=p,n}var Ue=null;function le(){return(Ue===null||Ue.buffer!==I.memory.buffer)&&(Ue=new Int32Array(I.memory.buffer)),Ue}var dt=new kt("utf-8",{ignoreBOM:!0,fatal:!0});dt.decode();function Ee(g,e){return dt.decode(Xe().subarray(g,g+e))}ye.exports.calculate_pool_trade_fee=function(g,e,o){try{let c=I.__wbindgen_add_to_stack_pointer(-16),p=z(g,I.__wbindgen_malloc,I.__wbindgen_realloc),_=q;I.calculate_pool_trade_fee(c,p,_,e,o);var s=le()[c/4+0],n=le()[c/4+1];return Ee(s,n)}finally{I.__wbindgen_add_to_stack_pointer(16),I.__wbindgen_free(s,n)}};ye.exports.get_spot_price=function(g,e,o,s,n){try{let _=I.__wbindgen_add_to_stack_pointer(-16),w=z(g,I.__wbindgen_malloc,I.__wbindgen_realloc),O=q,N=z(e,I.__wbindgen_malloc,I.__wbindgen_realloc),x=q,k=z(o,I.__wbindgen_malloc,I.__wbindgen_realloc),M=q,D=z(s,I.__wbindgen_malloc,I.__wbindgen_realloc),v=q,R=z(n,I.__wbindgen_malloc,I.__wbindgen_realloc),J=q;I.get_spot_price(_,w,O,N,x,k,M,D,v,R,J);var c=le()[_/4+0],p=le()[_/4+1];return Ee(c,p)}finally{I.__wbindgen_add_to_stack_pointer(16),I.__wbindgen_free(c,p)}};ye.exports.calculate_out_given_in=function(g,e,o,s,n){try{let _=I.__wbindgen_add_to_stack_pointer(-16),w=z(g,I.__wbindgen_malloc,I.__wbindgen_realloc),O=q,N=z(e,I.__wbindgen_malloc,I.__wbindgen_realloc),x=q,k=z(o,I.__wbindgen_malloc,I.__wbindgen_realloc),M=q,D=z(s,I.__wbindgen_malloc,I.__wbindgen_realloc),v=q,R=z(n,I.__wbindgen_malloc,I.__wbindgen_realloc),J=q;I.calculate_out_given_in(_,w,O,N,x,k,M,D,v,R,J);var c=le()[_/4+0],p=le()[_/4+1];return Ee(c,p)}finally{I.__wbindgen_add_to_stack_pointer(16),I.__wbindgen_free(c,p)}};ye.exports.calculate_in_given_out=function(g,e,o,s,n){try{let _=I.__wbindgen_add_to_stack_pointer(-16),w=z(g,I.__wbindgen_malloc,I.__wbindgen_realloc),O=q,N=z(e,I.__wbindgen_malloc,I.__wbindgen_realloc),x=q,k=z(o,I.__wbindgen_malloc,I.__wbindgen_realloc),M=q,D=z(s,I.__wbindgen_malloc,I.__wbindgen_realloc),v=q,R=z(n,I.__wbindgen_malloc,I.__wbindgen_realloc),J=q;I.calculate_in_given_out(_,w,O,N,x,k,M,D,v,R,J);var c=le()[_/4+0],p=le()[_/4+1];return Ee(c,p)}finally{I.__wbindgen_add_to_stack_pointer(16),I.__wbindgen_free(c,p)}};ye.exports.calculate_linear_weights=function(g,e,o,s,n){try{let _=I.__wbindgen_add_to_stack_pointer(-16),w=z(g,I.__wbindgen_malloc,I.__wbindgen_realloc),O=q,N=z(e,I.__wbindgen_malloc,I.__wbindgen_realloc),x=q,k=z(o,I.__wbindgen_malloc,I.__wbindgen_realloc),M=q,D=z(s,I.__wbindgen_malloc,I.__wbindgen_realloc),v=q,R=z(n,I.__wbindgen_malloc,I.__wbindgen_realloc),J=q;I.calculate_linear_weights(_,w,O,N,x,k,M,D,v,R,J);var c=le()[_/4+0],p=le()[_/4+1];return Ee(c,p)}finally{I.__wbindgen_add_to_stack_pointer(16),I.__wbindgen_free(c,p)}};var Ft=require("path").join(__dirname,"hydra_dx_wasm_bg.wasm"),Mt=require("fs").readFileSync(Ft),Lt=new WebAssembly.Module(Mt),Dt=new WebAssembly.Instance(Lt,At);I=Dt.exports;ye.exports.__wasm=I});var ht=at((co,ue)=>{var qt={},B,{TextEncoder:Ut,TextDecoder:Xt}=require("util"),C=0,Ve=null;function $e(){return(Ve===null||Ve.buffer!==B.memory.buffer)&&(Ve=new Uint8Array(B.memory.buffer)),Ve}var Je=new Ut("utf-8"),zt=typeof Je.encodeInto=="function"?function(g,e){return Je.encodeInto(g,e)}:function(g,e){let o=Je.encode(g);return e.set(o),{read:g.length,written:o.length}};function W(g,e,o){if(o===void 0){let _=Je.encode(g),w=e(_.length);return $e().subarray(w,w+_.length).set(_),C=_.length,w}let s=g.length,n=e(s),c=$e(),p=0;for(;p<s;p++){let _=g.charCodeAt(p);if(_>127)break;c[n+p]=_}if(p!==s){p!==0&&(g=g.slice(p)),n=o(n,s,s=p+g.length*3);let _=$e().subarray(n+p,n+s);p+=zt(g,_).written}return C=p,n}var Ye=null;function $(){return(Ye===null||Ye.buffer!==B.memory.buffer)&&(Ye=new Int32Array(B.memory.buffer)),Ye}var _t=new Xt("utf-8",{ignoreBOM:!0,fatal:!0});_t.decode();function he(g,e){return _t.decode($e().subarray(g,g+e))}ue.exports.calculate_pool_trade_fee=function(g,e,o){try{let c=B.__wbindgen_add_to_stack_pointer(-16),p=W(g,B.__wbindgen_malloc,B.__wbindgen_realloc),_=C;B.calculate_pool_trade_fee(c,p,_,e,o);var s=$()[c/4+0],n=$()[c/4+1];return he(s,n)}finally{B.__wbindgen_add_to_stack_pointer(16),B.__wbindgen_free(s,n)}};ue.exports.get_spot_price=function(g,e,o){try{let c=B.__wbindgen_add_to_stack_pointer(-16),p=W(g,B.__wbindgen_malloc,B.__wbindgen_realloc),_=C,w=W(e,B.__wbindgen_malloc,B.__wbindgen_realloc),O=C,N=W(o,B.__wbindgen_malloc,B.__wbindgen_realloc),x=C;B.get_spot_price(c,p,_,w,O,N,x);var s=$()[c/4+0],n=$()[c/4+1];return he(s,n)}finally{B.__wbindgen_add_to_stack_pointer(16),B.__wbindgen_free(s,n)}};ue.exports.calculate_out_given_in=function(g,e,o){try{let c=B.__wbindgen_add_to_stack_pointer(-16),p=W(g,B.__wbindgen_malloc,B.__wbindgen_realloc),_=C,w=W(e,B.__wbindgen_malloc,B.__wbindgen_realloc),O=C,N=W(o,B.__wbindgen_malloc,B.__wbindgen_realloc),x=C;B.calculate_out_given_in(c,p,_,w,O,N,x);var s=$()[c/4+0],n=$()[c/4+1];return he(s,n)}finally{B.__wbindgen_add_to_stack_pointer(16),B.__wbindgen_free(s,n)}};ue.exports.calculate_in_given_out=function(g,e,o){try{let c=B.__wbindgen_add_to_stack_pointer(-16),p=W(g,B.__wbindgen_malloc,B.__wbindgen_realloc),_=C,w=W(e,B.__wbindgen_malloc,B.__wbindgen_realloc),O=C,N=W(o,B.__wbindgen_malloc,B.__wbindgen_realloc),x=C;B.calculate_in_given_out(c,p,_,w,O,N,x);var s=$()[c/4+0],n=$()[c/4+1];return he(s,n)}finally{B.__wbindgen_add_to_stack_pointer(16),B.__wbindgen_free(s,n)}};ue.exports.calculate_liquidity_in=function(g,e,o){try{let c=B.__wbindgen_add_to_stack_pointer(-16),p=W(g,B.__wbindgen_malloc,B.__wbindgen_realloc),_=C,w=W(e,B.__wbindgen_malloc,B.__wbindgen_realloc),O=C,N=W(o,B.__wbindgen_malloc,B.__wbindgen_realloc),x=C;B.calculate_liquidity_in(c,p,_,w,O,N,x);var s=$()[c/4+0],n=$()[c/4+1];return he(s,n)}finally{B.__wbindgen_add_to_stack_pointer(16),B.__wbindgen_free(s,n)}};ue.exports.calculate_shares=function(g,e,o){try{let c=B.__wbindgen_add_to_stack_pointer(-16),p=W(g,B.__wbindgen_malloc,B.__wbindgen_realloc),_=C,w=W(e,B.__wbindgen_malloc,B.__wbindgen_realloc),O=C,N=W(o,B.__wbindgen_malloc,B.__wbindgen_realloc),x=C;B.calculate_shares(c,p,_,w,O,N,x);var s=$()[c/4+0],n=$()[c/4+1];return he(s,n)}finally{B.__wbindgen_add_to_stack_pointer(16),B.__wbindgen_free(s,n)}};ue.exports.calculate_liquidity_out_asset_a=function(g,e,o,s){try{let p=B.__wbindgen_add_to_stack_pointer(-16),_=W(g,B.__wbindgen_malloc,B.__wbindgen_realloc),w=C,O=W(e,B.__wbindgen_malloc,B.__wbindgen_realloc),N=C,x=W(o,B.__wbindgen_malloc,B.__wbindgen_realloc),k=C,M=W(s,B.__wbindgen_malloc,B.__wbindgen_realloc),D=C;B.calculate_liquidity_out_asset_a(p,_,w,O,N,x,k,M,D);var n=$()[p/4+0],c=$()[p/4+1];return he(n,c)}finally{B.__wbindgen_add_to_stack_pointer(16),B.__wbindgen_free(n,c)}};ue.exports.calculate_liquidity_out_asset_b=function(g,e,o,s){try{let p=B.__wbindgen_add_to_stack_pointer(-16),_=W(g,B.__wbindgen_malloc,B.__wbindgen_realloc),w=C,O=W(e,B.__wbindgen_malloc,B.__wbindgen_realloc),N=C,x=W(o,B.__wbindgen_malloc,B.__wbindgen_realloc),k=C,M=W(s,B.__wbindgen_malloc,B.__wbindgen_realloc),D=C;B.calculate_liquidity_out_asset_b(p,_,w,O,N,x,k,M,D);var n=$()[p/4+0],c=$()[p/4+1];return he(n,c)}finally{B.__wbindgen_add_to_stack_pointer(16),B.__wbindgen_free(n,c)}};var Kt=require("path").join(__dirname,"hydra_dx_wasm_bg.wasm"),Vt=require("fs").readFileSync(Kt),Yt=new WebAssembly.Module(Vt),$t=new WebAssembly.Instance(Yt,qt);B=$t.exports;ue.exports.__wasm=B});var en={};Ot(en,{BigNumber:()=>Ne,DECIMAL_PLACES:()=>ft,INFINITY:()=>xt,ONE:()=>be,PolkadotApiPoolService:()=>Fe,PoolError:()=>ut,PoolFactory:()=>Be,PoolType:()=>de,Router:()=>Oe,TradeRouter:()=>Le,TradeType:()=>nt,XykPool:()=>fe,ZERO:()=>Tt,bnum:()=>L,scale:()=>Z});module.exports=It(en);var Ge=class{constructor(e=1/0){this.capacity=e;this.storage=[]}enqueue(e){if(this.size()===this.capacity)throw Error("Queue has reached max capacity, you cannot add more items");this.storage.push(e)}dequeue(){return this.storage.shift()}size(){return this.storage.length}};var Nt=4,ve=class{isNotVisited(e,o){let s=!0;return o.forEach(n=>{n[0]===e&&(s=!1)}),s}findPaths(e,o,s){let n=[],c=new Ge,p=[];for(p.push([o,""]),c.enqueue(p);c.size()>0;){let _=c.dequeue();if(_==null||_.length>Nt)return n;let w=_[_.length-1];(s===null||w[0]===s)&&n.push(_),e[w[0]].forEach(N=>{if(this.isNotVisited(N[0],_)){let x=[..._];x.push(N),c.enqueue(x)}})}return n}buildAndPopulateGraph(e,o){let s=e[e.length-1],n=[];for(let c=0;c<=parseInt(s);c++)n.push([]);for(let[c,p,_]of o){let w=parseInt(p),O=parseInt(_);n[w].push([O,c])}return n}};function tt(g){let e={};for(let o of g){let s=o.tokens.length;for(let n=0;n<s;n++){e[o.tokens[n].id]||(e[o.tokens[n].id]=[]);for(let c=0;c<s;c++){if(n==c)continue;let p=[o.address,o.tokens[n].id,o.tokens[c].id];e[o.tokens[n].id].push(p)}}}return e}var ke=class{getProposals(e,o,s){let n=tt(s),c=Object.keys(n),p=c.map(N=>n[N]).flat(),_=new ve,w=_.buildAndPopulateGraph(c,p),O=_.findPaths(w,parseInt(e),o?parseInt(o):null);return this.parsePaths(O)}parsePaths(e){let o=[];for(let s of e){let n=[];for(let c=0;c<s.length;c++){let p=s[c],_=s[c+1];if(_==null)break;n.push(this.toEdge(p,_))}o.push(n)}return o}toEdge(e,o){return[o[1],e[0].toString(),o[0].toString()]}};var de=(n=>(n.XYK="XYK",n.LBP="LBP",n.Stable="Stable",n.Omni="Omni",n))(de||{}),ut=(p=>(p.TradingLimitReached="TradingLimitReached",p.InsufficientTradingAmount="InsufficientTradingAmount",p.InsufficientBalance="InsufficientBalance",p.MaxInRatioExceeded="MaxInRatioExceeded",p.AssetAmountNotReachedLimit="AssetAmountNotReachedLimit",p.AssetAmountExceededLimit="AssetAmountExceededLimit",p))(ut||{}),nt=(o=>(o.Buy="Buy",o.Sell="Sell",o))(nt||{});var we=class{constructor(e){this.api=e}getStorageKey(e,o){return e[0].toHuman()[o]}getStorageEntryArray(e){return e[1].toHuman()}async getPoolTokens(e,o){let s=o.map(async n=>{let c=await this.getAccountBalance(e,n),_=(await this.getAssetMetadata(n)).toHuman();return{id:n.toString(),balance:c,decimals:_.decimals,symbol:_.symbol}});return Promise.all(s)}async syncPoolTokens(e,o){let s=o.map(async n=>{let c=await this.getAccountBalance(e,n.id);return{...n,balance:c}});return Promise.all(s)}async getAssetMetadata(e){return await this.api.query.assetRegistry.assetMetadataMap(e)}async getAccountBalance(e,o){return o==="0"?await this.getSystemAccountBalance(e):await this.getTokenAccountBalance(e,o)}async getSystemAccountBalance(e){let{data:{free:o}}=await this.api.query.system.account(e);return o.toString()}async getTokenAccountBalance(e,o){let{free:s}=await this.api.query.tokens.accounts(e,o);return s.toString()}};var Ce=class extends we{constructor(){super(...arguments);this.pools=[];this._poolsLoaded=!1}async getPools(){return this._poolsLoaded?this.pools=await this.syncPools():(this.pools=await this.loadPools(),this._poolsLoaded=!0),this.pools}async loadPools(){let s=(await this.api.query.xyk.poolAssets.entries()).map(async n=>{let c=this.getStorageKey(n,0),p=this.getStorageEntryArray(n),_=await this.getPoolTokens(c,p);return{address:c,type:"XYK",tradeFee:this.getTradeFee(),tokens:_}});return Promise.all(s)}async syncPools(){let o=this.pools.map(async s=>({...s,tokens:await this.syncPoolTokens(s.address,s.tokens)}));return Promise.all(o)}getTradeFee(){return this.api.consts.xyk.getExchangeFee.toJSON()}};var St=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,ot=Math.ceil,ae=Math.floor,ee="[BigNumber Error] ",pt=ee+"Number primitive has more than 15 significant digits: ",ie=1e14,A=14,rt=9007199254740991,it=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],me=1e7,V=1e9;function gt(g){var e,o,s,n=y.prototype={constructor:y,toString:null,valueOf:null},c=new y(1),p=20,_=4,w=-7,O=21,N=-1e7,x=1e7,k=!1,M=1,D=0,v={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},R="0123456789abcdefghijklmnopqrstuvwxyz",J=!0;function y(t,r){var i,m,l,f,P,a,u,h,d=this;if(!(d instanceof y))return new y(t,r);if(r==null){if(t&&t._isBigNumber===!0){d.s=t.s,!t.c||t.e>x?d.c=d.e=null:t.e<N?d.c=[d.e=0]:(d.e=t.e,d.c=t.c.slice());return}if((a=typeof t=="number")&&t*0==0){if(d.s=1/t<0?(t=-t,-1):1,t===~~t){for(f=0,P=t;P>=10;P/=10,f++);f>x?d.c=d.e=null:(d.e=f,d.c=[t]);return}h=String(t)}else{if(!St.test(h=String(t)))return s(d,h,a);d.s=h.charCodeAt(0)==45?(h=h.slice(1),-1):1}(f=h.indexOf("."))>-1&&(h=h.replace(".","")),(P=h.search(/e/i))>0?(f<0&&(f=P),f+=+h.slice(P+1),h=h.substring(0,P)):f<0&&(f=h.length)}else{if(H(r,2,R.length,"Base"),r==10&&J)return d=new y(t),te(d,p+d.e+1,_);if(h=String(t),a=typeof t=="number"){if(t*0!=0)return s(d,h,a,r);if(d.s=1/t<0?(h=h.slice(1),-1):1,y.DEBUG&&h.replace(/^0\.0*|\./,"").length>15)throw Error(pt+t)}else d.s=h.charCodeAt(0)===45?(h=h.slice(1),-1):1;for(i=R.slice(0,r),f=P=0,u=h.length;P<u;P++)if(i.indexOf(m=h.charAt(P))<0){if(m=="."){if(P>f){f=u;continue}}else if(!l&&(h==h.toUpperCase()&&(h=h.toLowerCase())||h==h.toLowerCase()&&(h=h.toUpperCase()))){l=!0,P=-1,f=0;continue}return s(d,String(t),a,r)}a=!1,h=o(h,r,10,d.s),(f=h.indexOf("."))>-1?h=h.replace(".",""):f=h.length}for(P=0;h.charCodeAt(P)===48;P++);for(u=h.length;h.charCodeAt(--u)===48;);if(h=h.slice(P,++u)){if(u-=P,a&&y.DEBUG&&u>15&&(t>rt||t!==ae(t)))throw Error(pt+d.s*t);if((f=f-P-1)>x)d.c=d.e=null;else if(f<N)d.c=[d.e=0];else{if(d.e=f,d.c=[],P=(f+1)%A,f<0&&(P+=A),P<u){for(P&&d.c.push(+h.slice(0,P)),u-=A;P<u;)d.c.push(+h.slice(P,P+=A));P=A-(h=h.slice(P)).length}else P-=u;for(;P--;h+="0");d.c.push(+h)}}else d.c=[d.e=0]}y.clone=gt,y.ROUND_UP=0,y.ROUND_DOWN=1,y.ROUND_CEIL=2,y.ROUND_FLOOR=3,y.ROUND_HALF_UP=4,y.ROUND_HALF_DOWN=5,y.ROUND_HALF_EVEN=6,y.ROUND_HALF_CEIL=7,y.ROUND_HALF_FLOOR=8,y.EUCLID=9,y.config=y.set=function(t){var r,i;if(t!=null)if(typeof t=="object"){if(t.hasOwnProperty(r="DECIMAL_PLACES")&&(i=t[r],H(i,0,V,r),p=i),t.hasOwnProperty(r="ROUNDING_MODE")&&(i=t[r],H(i,0,8,r),_=i),t.hasOwnProperty(r="EXPONENTIAL_AT")&&(i=t[r],i&&i.pop?(H(i[0],-V,0,r),H(i[1],0,V,r),w=i[0],O=i[1]):(H(i,-V,V,r),w=-(O=i<0?-i:i))),t.hasOwnProperty(r="RANGE"))if(i=t[r],i&&i.pop)H(i[0],-V,-1,r),H(i[1],1,V,r),N=i[0],x=i[1];else if(H(i,-V,V,r),i)N=-(x=i<0?-i:i);else throw Error(ee+r+" cannot be zero: "+i);if(t.hasOwnProperty(r="CRYPTO"))if(i=t[r],i===!!i)if(i)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))k=i;else throw k=!i,Error(ee+"crypto unavailable");else k=i;else throw Error(ee+r+" not true or false: "+i);if(t.hasOwnProperty(r="MODULO_MODE")&&(i=t[r],H(i,0,9,r),M=i),t.hasOwnProperty(r="POW_PRECISION")&&(i=t[r],H(i,0,V,r),D=i),t.hasOwnProperty(r="FORMAT"))if(i=t[r],typeof i=="object")v=i;else throw Error(ee+r+" not an object: "+i);if(t.hasOwnProperty(r="ALPHABET"))if(i=t[r],typeof i=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(i))J=i.slice(0,10)=="0123456789",R=i;else throw Error(ee+r+" invalid: "+i)}else throw Error(ee+"Object expected: "+t);return{DECIMAL_PLACES:p,ROUNDING_MODE:_,EXPONENTIAL_AT:[w,O],RANGE:[N,x],CRYPTO:k,MODULO_MODE:M,POW_PRECISION:D,FORMAT:v,ALPHABET:R}},y.isBigNumber=function(t){if(!t||t._isBigNumber!==!0)return!1;if(!y.DEBUG)return!0;var r,i,m=t.c,l=t.e,f=t.s;e:if({}.toString.call(m)=="[object Array]"){if((f===1||f===-1)&&l>=-V&&l<=V&&l===ae(l)){if(m[0]===0){if(l===0&&m.length===1)return!0;break e}if(r=(l+1)%A,r<1&&(r+=A),String(m[0]).length==r){for(r=0;r<m.length;r++)if(i=m[r],i<0||i>=ie||i!==ae(i))break e;if(i!==0)return!0}}}else if(m===null&&l===null&&(f===null||f===1||f===-1))return!0;throw Error(ee+"Invalid BigNumber: "+t)},y.maximum=y.max=function(){return st(arguments,n.lt)},y.minimum=y.min=function(){return st(arguments,n.gt)},y.random=function(){var t=9007199254740992,r=Math.random()*t&2097151?function(){return ae(Math.random()*t)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(i){var m,l,f,P,a,u=0,h=[],d=new y(c);if(i==null?i=p:H(i,0,V),P=ot(i/A),k)if(crypto.getRandomValues){for(m=crypto.getRandomValues(new Uint32Array(P*=2));u<P;)a=m[u]*131072+(m[u+1]>>>11),a>=9e15?(l=crypto.getRandomValues(new Uint32Array(2)),m[u]=l[0],m[u+1]=l[1]):(h.push(a%1e14),u+=2);u=P/2}else if(crypto.randomBytes){for(m=crypto.randomBytes(P*=7);u<P;)a=(m[u]&31)*281474976710656+m[u+1]*1099511627776+m[u+2]*4294967296+m[u+3]*16777216+(m[u+4]<<16)+(m[u+5]<<8)+m[u+6],a>=9e15?crypto.randomBytes(7).copy(m,u):(h.push(a%1e14),u+=7);u=P/7}else throw k=!1,Error(ee+"crypto unavailable");if(!k)for(;u<P;)a=r(),a<9e15&&(h[u++]=a%1e14);for(P=h[--u],i%=A,P&&i&&(a=it[A-i],h[u]=ae(P/a)*a);h[u]===0;h.pop(),u--);if(u<0)h=[f=0];else{for(f=-1;h[0]===0;h.splice(0,1),f-=A);for(u=1,a=h[0];a>=10;a/=10,u++);u<A&&(f-=A-u)}return d.e=f,d.c=h,d}}(),y.sum=function(){for(var t=1,r=arguments,i=new y(r[0]);t<r.length;)i=i.plus(r[t++]);return i},o=function(){var t="0123456789";function r(i,m,l,f){for(var P,a=[0],u,h=0,d=i.length;h<d;){for(u=a.length;u--;a[u]*=m);for(a[0]+=f.indexOf(i.charAt(h++)),P=0;P<a.length;P++)a[P]>l-1&&(a[P+1]==null&&(a[P+1]=0),a[P+1]+=a[P]/l|0,a[P]%=l)}return a.reverse()}return function(i,m,l,f,P){var a,u,h,d,b,S,T,F,U=i.indexOf("."),K=p,E=_;for(U>=0&&(d=D,D=0,i=i.replace(".",""),F=new y(m),S=F.pow(i.length-U),D=d,F.c=r(ge(oe(S.c),S.e,"0"),10,l,t),F.e=F.c.length),T=r(i,m,l,P?(a=R,t):(a=t,R)),h=d=T.length;T[--d]==0;T.pop());if(!T[0])return a.charAt(0);if(U<0?--h:(S.c=T,S.e=h,S.s=f,S=e(S,F,K,E,l),T=S.c,b=S.r,h=S.e),u=h+K+1,U=T[u],d=l/2,b=b||u<0||T[u+1]!=null,b=E<4?(U!=null||b)&&(E==0||E==(S.s<0?3:2)):U>d||U==d&&(E==4||b||E==6&&T[u-1]&1||E==(S.s<0?8:7)),u<1||!T[0])i=b?ge(a.charAt(1),-K,a.charAt(0)):a.charAt(0);else{if(T.length=u,b)for(--l;++T[--u]>l;)T[u]=0,u||(++h,T=[1].concat(T));for(d=T.length;!T[--d];);for(U=0,i="";U<=d;i+=a.charAt(T[U++]));i=ge(i,h,a.charAt(0))}return i}}(),e=function(){function t(m,l,f){var P,a,u,h,d=0,b=m.length,S=l%me,T=l/me|0;for(m=m.slice();b--;)u=m[b]%me,h=m[b]/me|0,P=T*u+h*S,a=S*u+P%me*me+d,d=(a/f|0)+(P/me|0)+T*h,m[b]=a%f;return d&&(m=[d].concat(m)),m}function r(m,l,f,P){var a,u;if(f!=P)u=f>P?1:-1;else for(a=u=0;a<f;a++)if(m[a]!=l[a]){u=m[a]>l[a]?1:-1;break}return u}function i(m,l,f,P){for(var a=0;f--;)m[f]-=a,a=m[f]<l[f]?1:0,m[f]=a*P+m[f]-l[f];for(;!m[0]&&m.length>1;m.splice(0,1));}return function(m,l,f,P,a){var u,h,d,b,S,T,F,U,K,E,G,Y,De,je,et,se,Ae,ne=m.s==l.s?1:-1,Q=m.c,X=l.c;if(!Q||!Q[0]||!X||!X[0])return new y(!m.s||!l.s||(Q?X&&Q[0]==X[0]:!X)?NaN:Q&&Q[0]==0||!X?ne*0:ne/0);for(U=new y(ne),K=U.c=[],h=m.e-l.e,ne=f+h+1,a||(a=ie,h=re(m.e/A)-re(l.e/A),ne=ne/A|0),d=0;X[d]==(Q[d]||0);d++);if(X[d]>(Q[d]||0)&&h--,ne<0)K.push(1),b=!0;else{for(je=Q.length,se=X.length,d=0,ne+=2,S=ae(a/(X[0]+1)),S>1&&(X=t(X,S,a),Q=t(Q,S,a),se=X.length,je=Q.length),De=se,E=Q.slice(0,se),G=E.length;G<se;E[G++]=0);Ae=X.slice(),Ae=[0].concat(Ae),et=X[0],X[1]>=a/2&&et++;do{if(S=0,u=r(X,E,se,G),u<0){if(Y=E[0],se!=G&&(Y=Y*a+(E[1]||0)),S=ae(Y/et),S>1)for(S>=a&&(S=a-1),T=t(X,S,a),F=T.length,G=E.length;r(T,E,F,G)==1;)S--,i(T,se<F?Ae:X,F,a),F=T.length,u=1;else S==0&&(u=S=1),T=X.slice(),F=T.length;if(F<G&&(T=[0].concat(T)),i(E,T,G,a),G=E.length,u==-1)for(;r(X,E,se,G)<1;)S++,i(E,se<G?Ae:X,G,a),G=E.length}else u===0&&(S++,E=[0]);K[d++]=S,E[0]?E[G++]=Q[De]||0:(E=[Q[De]],G=1)}while((De++<je||E[0]!=null)&&ne--);b=E[0]!=null,K[0]||K.splice(0,1)}if(a==ie){for(d=1,ne=K[0];ne>=10;ne/=10,d++);te(U,f+(U.e=d+h*A-1)+1,P,b)}else U.e=h,U.r=+b;return U}}();function Qe(t,r,i,m){var l,f,P,a,u;if(i==null?i=_:H(i,0,8),!t.c)return t.toString();if(l=t.c[0],P=t.e,r==null)u=oe(t.c),u=m==1||m==2&&(P<=w||P>=O)?He(u,P):ge(u,P,"0");else if(t=te(new y(t),r,i),f=t.e,u=oe(t.c),a=u.length,m==1||m==2&&(r<=f||f<=w)){for(;a<r;u+="0",a++);u=He(u,f)}else if(r-=P,u=ge(u,f,"0"),f+1>a){if(--r>0)for(u+=".";r--;u+="0");}else if(r+=f-a,r>0)for(f+1==a&&(u+=".");r--;u+="0");return t.s<0&&l?"-"+u:u}function st(t,r){for(var i,m=1,l=new y(t[0]);m<t.length;m++)if(i=new y(t[m]),i.s)r.call(l,i)&&(l=i);else{l=i;break}return l}function Ze(t,r,i){for(var m=1,l=r.length;!r[--l];r.pop());for(l=r[0];l>=10;l/=10,m++);return(i=m+i*A-1)>x?t.c=t.e=null:i<N?t.c=[t.e=0]:(t.e=i,t.c=r),t}s=function(){var t=/^(-?)0([xbo])(?=\w[\w.]*$)/i,r=/^([^.]+)\.$/,i=/^\.([^.]+)$/,m=/^-?(Infinity|NaN)$/,l=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(f,P,a,u){var h,d=a?P:P.replace(l,"");if(m.test(d))f.s=isNaN(d)?null:d<0?-1:1;else{if(!a&&(d=d.replace(t,function(b,S,T){return h=(T=T.toLowerCase())=="x"?16:T=="b"?2:8,!u||u==h?S:b}),u&&(h=u,d=d.replace(r,"$1").replace(i,"0.$1")),P!=d))return new y(d,h);if(y.DEBUG)throw Error(ee+"Not a"+(u?" base "+u:"")+" number: "+P);f.s=null}f.c=f.e=null}}();function te(t,r,i,m){var l,f,P,a,u,h,d,b=t.c,S=it;if(b){e:{for(l=1,a=b[0];a>=10;a/=10,l++);if(f=r-l,f<0)f+=A,P=r,u=b[h=0],d=u/S[l-P-1]%10|0;else if(h=ot((f+1)/A),h>=b.length)if(m){for(;b.length<=h;b.push(0));u=d=0,l=1,f%=A,P=f-A+1}else break e;else{for(u=a=b[h],l=1;a>=10;a/=10,l++);f%=A,P=f-A+l,d=P<0?0:u/S[l-P-1]%10|0}if(m=m||r<0||b[h+1]!=null||(P<0?u:u%S[l-P-1]),m=i<4?(d||m)&&(i==0||i==(t.s<0?3:2)):d>5||d==5&&(i==4||m||i==6&&(f>0?P>0?u/S[l-P]:0:b[h-1])%10&1||i==(t.s<0?8:7)),r<1||!b[0])return b.length=0,m?(r-=t.e+1,b[0]=S[(A-r%A)%A],t.e=-r||0):b[0]=t.e=0,t;if(f==0?(b.length=h,a=1,h--):(b.length=h+1,a=S[A-f],b[h]=P>0?ae(u/S[l-P]%S[P])*a:0),m)for(;;)if(h==0){for(f=1,P=b[0];P>=10;P/=10,f++);for(P=b[0]+=a,a=1;P>=10;P/=10,a++);f!=a&&(t.e++,b[0]==ie&&(b[0]=1));break}else{if(b[h]+=a,b[h]!=ie)break;b[h--]=0,a=1}for(f=b.length;b[--f]===0;b.pop());}t.e>x?t.c=t.e=null:t.e<N&&(t.c=[t.e=0])}return t}function pe(t){var r,i=t.e;return i===null?t.toString():(r=oe(t.c),r=i<=w||i>=O?He(r,i):ge(r,i,"0"),t.s<0?"-"+r:r)}return n.absoluteValue=n.abs=function(){var t=new y(this);return t.s<0&&(t.s=1),t},n.comparedTo=function(t,r){return Ie(this,new y(t,r))},n.decimalPlaces=n.dp=function(t,r){var i,m,l,f=this;if(t!=null)return H(t,0,V),r==null?r=_:H(r,0,8),te(new y(f),t+f.e+1,r);if(!(i=f.c))return null;if(m=((l=i.length-1)-re(this.e/A))*A,l=i[l])for(;l%10==0;l/=10,m--);return m<0&&(m=0),m},n.dividedBy=n.div=function(t,r){return e(this,new y(t,r),p,_)},n.dividedToIntegerBy=n.idiv=function(t,r){return e(this,new y(t,r),0,1)},n.exponentiatedBy=n.pow=function(t,r){var i,m,l,f,P,a,u,h,d,b=this;if(t=new y(t),t.c&&!t.isInteger())throw Error(ee+"Exponent not an integer: "+pe(t));if(r!=null&&(r=new y(r)),a=t.e>14,!b.c||!b.c[0]||b.c[0]==1&&!b.e&&b.c.length==1||!t.c||!t.c[0])return d=new y(Math.pow(+pe(b),a?2-We(t):+pe(t))),r?d.mod(r):d;if(u=t.s<0,r){if(r.c?!r.c[0]:!r.s)return new y(NaN);m=!u&&b.isInteger()&&r.isInteger(),m&&(b=b.mod(r))}else{if(t.e>9&&(b.e>0||b.e<-1||(b.e==0?b.c[0]>1||a&&b.c[1]>=24e7:b.c[0]<8e13||a&&b.c[0]<=9999975e7)))return f=b.s<0&&We(t)?-0:0,b.e>-1&&(f=1/f),new y(u?1/f:f);D&&(f=ot(D/A+2))}for(a?(i=new y(.5),u&&(t.s=1),h=We(t)):(l=Math.abs(+pe(t)),h=l%2),d=new y(c);;){if(h){if(d=d.times(b),!d.c)break;f?d.c.length>f&&(d.c.length=f):m&&(d=d.mod(r))}if(l){if(l=ae(l/2),l===0)break;h=l%2}else if(t=t.times(i),te(t,t.e+1,1),t.e>14)h=We(t);else{if(l=+pe(t),l===0)break;h=l%2}b=b.times(b),f?b.c&&b.c.length>f&&(b.c.length=f):m&&(b=b.mod(r))}return m?d:(u&&(d=c.div(d)),r?d.mod(r):f?te(d,D,_,P):d)},n.integerValue=function(t){var r=new y(this);return t==null?t=_:H(t,0,8),te(r,r.e+1,t)},n.isEqualTo=n.eq=function(t,r){return Ie(this,new y(t,r))===0},n.isFinite=function(){return!!this.c},n.isGreaterThan=n.gt=function(t,r){return Ie(this,new y(t,r))>0},n.isGreaterThanOrEqualTo=n.gte=function(t,r){return(r=Ie(this,new y(t,r)))===1||r===0},n.isInteger=function(){return!!this.c&&re(this.e/A)>this.c.length-2},n.isLessThan=n.lt=function(t,r){return Ie(this,new y(t,r))<0},n.isLessThanOrEqualTo=n.lte=function(t,r){return(r=Ie(this,new y(t,r)))===-1||r===0},n.isNaN=function(){return!this.s},n.isNegative=function(){return this.s<0},n.isPositive=function(){return this.s>0},n.isZero=function(){return!!this.c&&this.c[0]==0},n.minus=function(t,r){var i,m,l,f,P=this,a=P.s;if(t=new y(t,r),r=t.s,!a||!r)return new y(NaN);if(a!=r)return t.s=-r,P.plus(t);var u=P.e/A,h=t.e/A,d=P.c,b=t.c;if(!u||!h){if(!d||!b)return d?(t.s=-r,t):new y(b?P:NaN);if(!d[0]||!b[0])return b[0]?(t.s=-r,t):new y(d[0]?P:_==3?-0:0)}if(u=re(u),h=re(h),d=d.slice(),a=u-h){for((f=a<0)?(a=-a,l=d):(h=u,l=b),l.reverse(),r=a;r--;l.push(0));l.reverse()}else for(m=(f=(a=d.length)<(r=b.length))?a:r,a=r=0;r<m;r++)if(d[r]!=b[r]){f=d[r]<b[r];break}if(f&&(l=d,d=b,b=l,t.s=-t.s),r=(m=b.length)-(i=d.length),r>0)for(;r--;d[i++]=0);for(r=ie-1;m>a;){if(d[--m]<b[m]){for(i=m;i&&!d[--i];d[i]=r);--d[i],d[m]+=ie}d[m]-=b[m]}for(;d[0]==0;d.splice(0,1),--h);return d[0]?Ze(t,d,h):(t.s=_==3?-1:1,t.c=[t.e=0],t)},n.modulo=n.mod=function(t,r){var i,m,l=this;return t=new y(t,r),!l.c||!t.s||t.c&&!t.c[0]?new y(NaN):!t.c||l.c&&!l.c[0]?new y(l):(M==9?(m=t.s,t.s=1,i=e(l,t,0,3),t.s=m,i.s*=m):i=e(l,t,0,M),t=l.minus(i.times(t)),!t.c[0]&&M==1&&(t.s=l.s),t)},n.multipliedBy=n.times=function(t,r){var i,m,l,f,P,a,u,h,d,b,S,T,F,U,K,E=this,G=E.c,Y=(t=new y(t,r)).c;if(!G||!Y||!G[0]||!Y[0])return!E.s||!t.s||G&&!G[0]&&!Y||Y&&!Y[0]&&!G?t.c=t.e=t.s=null:(t.s*=E.s,!G||!Y?t.c=t.e=null:(t.c=[0],t.e=0)),t;for(m=re(E.e/A)+re(t.e/A),t.s*=E.s,u=G.length,b=Y.length,u<b&&(F=G,G=Y,Y=F,l=u,u=b,b=l),l=u+b,F=[];l--;F.push(0));for(U=ie,K=me,l=b;--l>=0;){for(i=0,S=Y[l]%K,T=Y[l]/K|0,P=u,f=l+P;f>l;)h=G[--P]%K,d=G[P]/K|0,a=T*h+d*S,h=S*h+a%K*K+F[f]+i,i=(h/U|0)+(a/K|0)+T*d,F[f--]=h%U;F[f]=i}return i?++m:F.splice(0,1),Ze(t,F,m)},n.negated=function(){var t=new y(this);return t.s=-t.s||null,t},n.plus=function(t,r){var i,m=this,l=m.s;if(t=new y(t,r),r=t.s,!l||!r)return new y(NaN);if(l!=r)return t.s=-r,m.minus(t);var f=m.e/A,P=t.e/A,a=m.c,u=t.c;if(!f||!P){if(!a||!u)return new y(l/0);if(!a[0]||!u[0])return u[0]?t:new y(a[0]?m:l*0)}if(f=re(f),P=re(P),a=a.slice(),l=f-P){for(l>0?(P=f,i=u):(l=-l,i=a),i.reverse();l--;i.push(0));i.reverse()}for(l=a.length,r=u.length,l-r<0&&(i=u,u=a,a=i,r=l),l=0;r;)l=(a[--r]=a[r]+u[r]+l)/ie|0,a[r]=ie===a[r]?0:a[r]%ie;return l&&(a=[l].concat(a),++P),Ze(t,a,P)},n.precision=n.sd=function(t,r){var i,m,l,f=this;if(t!=null&&t!==!!t)return H(t,1,V),r==null?r=_:H(r,0,8),te(new y(f),t,r);if(!(i=f.c))return null;if(l=i.length-1,m=l*A+1,l=i[l]){for(;l%10==0;l/=10,m--);for(l=i[0];l>=10;l/=10,m++);}return t&&f.e+1>m&&(m=f.e+1),m},n.shiftedBy=function(t){return H(t,-rt,rt),this.times("1e"+t)},n.squareRoot=n.sqrt=function(){var t,r,i,m,l,f=this,P=f.c,a=f.s,u=f.e,h=p+4,d=new y("0.5");if(a!==1||!P||!P[0])return new y(!a||a<0&&(!P||P[0])?NaN:P?f:1/0);if(a=Math.sqrt(+pe(f)),a==0||a==1/0?(r=oe(P),(r.length+u)%2==0&&(r+="0"),a=Math.sqrt(+r),u=re((u+1)/2)-(u<0||u%2),a==1/0?r="5e"+u:(r=a.toExponential(),r=r.slice(0,r.indexOf("e")+1)+u),i=new y(r)):i=new y(a+""),i.c[0]){for(u=i.e,a=u+h,a<3&&(a=0);;)if(l=i,i=d.times(l.plus(e(f,l,h,1))),oe(l.c).slice(0,a)===(r=oe(i.c)).slice(0,a))if(i.e<u&&--a,r=r.slice(a-3,a+1),r=="9999"||!m&&r=="4999"){if(!m&&(te(l,l.e+p+2,0),l.times(l).eq(f))){i=l;break}h+=4,a+=4,m=1}else{(!+r||!+r.slice(1)&&r.charAt(0)=="5")&&(te(i,i.e+p+2,1),t=!i.times(i).eq(f));break}}return te(i,i.e+p+1,_,t)},n.toExponential=function(t,r){return t!=null&&(H(t,0,V),t++),Qe(this,t,r,1)},n.toFixed=function(t,r){return t!=null&&(H(t,0,V),t=t+this.e+1),Qe(this,t,r)},n.toFormat=function(t,r,i){var m,l=this;if(i==null)t!=null&&r&&typeof r=="object"?(i=r,r=null):t&&typeof t=="object"?(i=t,t=r=null):i=v;else if(typeof i!="object")throw Error(ee+"Argument not an object: "+i);if(m=l.toFixed(t,r),l.c){var f,P=m.split("."),a=+i.groupSize,u=+i.secondaryGroupSize,h=i.groupSeparator||"",d=P[0],b=P[1],S=l.s<0,T=S?d.slice(1):d,F=T.length;if(u&&(f=a,a=u,u=f,F-=f),a>0&&F>0){for(f=F%a||a,d=T.substr(0,f);f<F;f+=a)d+=h+T.substr(f,a);u>0&&(d+=h+T.slice(f)),S&&(d="-"+d)}m=b?d+(i.decimalSeparator||"")+((u=+i.fractionGroupSize)?b.replace(new RegExp("\\d{"+u+"}\\B","g"),"$&"+(i.fractionGroupSeparator||"")):b):d}return(i.prefix||"")+m+(i.suffix||"")},n.toFraction=function(t){var r,i,m,l,f,P,a,u,h,d,b,S,T=this,F=T.c;if(t!=null&&(a=new y(t),!a.isInteger()&&(a.c||a.s!==1)||a.lt(c)))throw Error(ee+"Argument "+(a.isInteger()?"out of range: ":"not an integer: ")+pe(a));if(!F)return new y(T);for(r=new y(c),h=i=new y(c),m=u=new y(c),S=oe(F),f=r.e=S.length-T.e-1,r.c[0]=it[(P=f%A)<0?A+P:P],t=!t||a.comparedTo(r)>0?f>0?r:h:a,P=x,x=1/0,a=new y(S),u.c[0]=0;d=e(a,r,0,1),l=i.plus(d.times(m)),l.comparedTo(t)!=1;)i=m,m=l,h=u.plus(d.times(l=h)),u=l,r=a.minus(d.times(l=r)),a=l;return l=e(t.minus(i),m,0,1),u=u.plus(l.times(h)),i=i.plus(l.times(m)),u.s=h.s=T.s,f=f*2,b=e(h,m,f,_).minus(T).abs().comparedTo(e(u,i,f,_).minus(T).abs())<1?[h,m]:[u,i],x=P,b},n.toNumber=function(){return+pe(this)},n.toPrecision=function(t,r){return t!=null&&H(t,1,V),Qe(this,t,r,2)},n.toString=function(t){var r,i=this,m=i.s,l=i.e;return l===null?m?(r="Infinity",m<0&&(r="-"+r)):r="NaN":(t==null?r=l<=w||l>=O?He(oe(i.c),l):ge(oe(i.c),l,"0"):t===10&&J?(i=te(new y(i),p+l+1,_),r=ge(oe(i.c),i.e,"0")):(H(t,2,R.length,"Base"),r=o(ge(oe(i.c),l,"0"),10,t,m,!0)),m<0&&i.c[0]&&(r="-"+r)),r},n.valueOf=n.toJSON=function(){return pe(this)},n._isBigNumber=!0,n[Symbol.toStringTag]="BigNumber",n[Symbol.for("nodejs.util.inspect.custom")]=n.valueOf,g!=null&&y.set(g),y}function re(g){var e=g|0;return g>0||g===e?e:e-1}function oe(g){for(var e,o,s=1,n=g.length,c=g[0]+"";s<n;){for(e=g[s++]+"",o=A-e.length;o--;e="0"+e);c+=e}for(n=c.length;c.charCodeAt(--n)===48;);return c.slice(0,n+1||1)}function Ie(g,e){var o,s,n=g.c,c=e.c,p=g.s,_=e.s,w=g.e,O=e.e;if(!p||!_)return null;if(o=n&&!n[0],s=c&&!c[0],o||s)return o?s?0:-_:p;if(p!=_)return p;if(o=p<0,s=w==O,!n||!c)return s?0:!n^o?1:-1;if(!s)return w>O^o?1:-1;for(_=(w=n.length)<(O=c.length)?w:O,p=0;p<_;p++)if(n[p]!=c[p])return n[p]>c[p]^o?1:-1;return w==O?0:w>O^o?1:-1}function H(g,e,o,s){if(g<e||g>o||g!==ae(g))throw Error(ee+(s||"Argument")+(typeof g=="number"?g<e||g>o?" out of range: ":" not an integer: ":" not a primitive number: ")+String(g))}function We(g){var e=g.c.length-1;return re(g.e/A)==e&&g.c[e]%2!=0}function He(g,e){return(g.length>1?g.charAt(0)+"."+g.slice(1):g)+(e<0?"e":"e+")+e}function ge(g,e,o){var s,n;if(e<0){for(n=o+".";++e;n+=o);g=n+g}else if(s=g.length,++e>s){for(n=o,e-=s;--e;n+=o);g+=n}else e<s&&(g=g.slice(0,e)+"."+g.slice(e));return g}var Ne=gt();var ft=12;Ne.config({EXPONENTIAL_AT:[-100,100],ROUNDING_MODE:1,DECIMAL_PLACES:ft});var Tt=L(0),be=L(1),xt=L("Infinity");function Z(g,e){let o=new Ne(e.toString()),s=new Ne(10).pow(o);return g.times(s)}function L(g){return new Ne(g.toString())}var ce=ct(mt());function Rt(g,e,o,s,n){return(0,ce.get_spot_price)(g,e,o,s,n)}function Gt(g,e,o,s,n){return(0,ce.calculate_in_given_out)(g,e,o,s,n)}function Ct(g,e,o,s,n){return(0,ce.calculate_out_given_in)(g,e,o,s,n)}function Wt(g,e,o,s,n){return(0,ce.calculate_linear_weights)(g,e,o,s,n)}function Ht(g,e,o){return(0,ce.calculate_pool_trade_fee)(g,e,o)}var _e={getSpotPrice:Rt,calculateInGivenOut:Gt,calculateOutGivenIn:Ct,calculateLinearWeights:Wt,calculatePoolTradeFee:Ht};var Ke=class extends we{constructor(){super(...arguments);this.MAX_FINAL_WEIGHT=Z(L(100),6);this.poolsData=new Map([]);this.pools=[];this._poolsLoaded=!1}async getPools(){return this._poolsLoaded?this.pools=await this.syncPools():(this.pools=await this.loadPools(),this._poolsLoaded=!0),this.pools}async loadPools(){let s=(await this.api.query.lbp.poolData.entries()).map(async n=>{let c=this.getStorageKey(n,0),p=n[1].toJSON();this.poolsData.set(c,p);let _=await this.getPoolTokens(c,p.assets),w=await this.getLinearWeight(p),O=L(w),N=this.MAX_FINAL_WEIGHT.minus(L(O)),x=_[0].id;return{address:c,type:"LBP",tradeFee:p.fee,repayFee:this.getRepayFee(),repayFeeApply:await this.isRepayFeeApplied(x,p),tokens:[{..._[0],weight:O},{..._[1],weight:N}]}});return Promise.all(s)}async syncPools(){let o=this.pools.map(async s=>{let n=this.poolsData.get(s.address),c=await this.syncPoolTokens(s.address,s.tokens),p=await this.getLinearWeight(n),_=L(p),w=this.MAX_FINAL_WEIGHT.minus(L(_)),O=c[0].id;return{...s,repayFeeApply:await this.isRepayFeeApplied(O,n),tokens:[{...c[0],weight:_},{...c[1],weight:w}]}});return Promise.all(o)}async getLinearWeight(o){let n=(await this.api.query.parachainSystem.validationData()).toJSON();return _e.calculateLinearWeights(o.start.toString(),o.end.toString(),o.initialWeight.toString(),o.finalWeight.toString(),n.relayParentNumber.toString())}getRepayFee(){return this.api.consts.lbp.repayFee.toJSON()}async isRepayFeeApplied(o,s){let n=L(s.repayTarget);try{let c=await this.getAccountBalance(o,s.feeCollector);return L(c).isLessThan(n)}catch{return!0}}};var Fe=class{constructor(e){this.api=e,this.xykClient=new Ce(this.api),this.lbpClient=new Ke(this.api)}async getPools(e){if(console.log(e),e.length==0)return(await Promise.all([this.xykClient.getPools(),this.lbpClient.getPools()])).flat();let o=[];return e.forEach(n=>{switch(n){case"XYK":o.push(this.xykClient.getPools());break;case"LBP":o.push(this.lbpClient.getPools());break}}),(await Promise.all(o)).flat()}buildBuyTx(e,o,s,n,c){let p=this.api.tx.router.buy(e,o,s.toFixed(),n.toFixed(),c),_=()=>p;return{hex:p.toHex(),name:"RouterBuy",get:_}}buildSellTx(e,o,s,n,c){let p=this.api.tx.router.sell(e,o,s.toFixed(),n.toFixed(),c),_=()=>p;return{hex:p.toHex(),name:"RouterSell",get:_}}};function j(g,e){return g.shiftedBy(-1*e).toString()}function Se(g){return g[0]/g[1]*100}var Te=class{static fromPool(e){if(!e.repayFee)throw new Error("LBP Pool missing repayFee");if(!e.repayFeeApply)throw new Error("LBP Pool missing repayFeeApply");return new Te(e.address,e.tradeFee,e.tokens,e.repayFee,e.repayFeeApply)}constructor(e,o,s,n,c){this.type="LBP",this.address=e,this.tradeFee=o,this.tokens=s,this.repayFee=n,this.repayFeeApply=c}validPair(e,o){return!0}parsePoolPair(e,o){let s=new Map(this.tokens.map(w=>[w.id,w])),n=s.get(e),c=s.get(o);if(n==null)throw new Error("Pool does not contain tokenIn");if(c==null)throw new Error("Pool does not contain tokenOut");let p=L(n.balance),_=L(c.balance);return{assetIn:e,assetOut:o,decimalsIn:n.decimals,decimalsOut:c.decimals,weightIn:n.weight,weightOut:c.weight,balanceIn:p,balanceOut:_}}validateBuy(e,o){if(this.tokens[0].id===e.assetOut){let n=this.calculateTradeFee(o),c=o.plus(n),p=this.calculateInGivenOut(e,c),_=Se(this.repayFeeApply?this.repayFee:this.tradeFee);return{amountIn:p,calculatedIn:p,amountOut:o,feePct:_}}else{let n=this.calculateInGivenOut(e,o);return{amountIn:n,calculatedIn:n,amountOut:o,feePct:0}}}validateSell(e,o){if(this.tokens[0].id===e.assetIn){let n=this.calculateOutGivenIn(e,o);return{amountIn:o,calculatedOut:n,amountOut:n,feePct:0}}else{let n=this.calculateOutGivenIn(e,o),c=this.calculateTradeFee(n),p=n.minus(c),_=Se(this.repayFeeApply?this.repayFee:this.tradeFee);return{amountIn:o,calculatedOut:n,amountOut:p,feePct:_}}}calculateInGivenOut(e,o){let s=_e.calculateInGivenOut(e.balanceIn.toString(),e.balanceOut.toString(),e.weightIn.toString(),e.weightOut.toString(),o.toString());return L(s)}calculateOutGivenIn(e,o){let s=_e.calculateOutGivenIn(e.balanceIn.toString(),e.balanceOut.toString(),e.weightIn.toString(),e.weightOut.toString(),o.toString());return L(s)}spotPriceInGivenOut(e){let o=_e.getSpotPrice(e.balanceOut.toString(),e.balanceIn.toString(),e.weightOut.toString(),e.weightIn.toString(),Z(be,e.decimalsIn).toString());return L(o)}spotPriceOutGivenIn(e){let o=_e.getSpotPrice(e.balanceIn.toString(),e.balanceOut.toString(),e.weightIn.toString(),e.weightOut.toString(),Z(be,e.decimalsIn).toString());return L(o)}calculateTradeFee(e){let o=_e.calculatePoolTradeFee(e.toString(),this.repayFeeApply?this.repayFee[0]:this.tradeFee[0],this.repayFeeApply?this.repayFee[1]:this.tradeFee[1]);return L(o)}};var Pe=ct(ht());function Jt(g,e,o){return(0,Pe.get_spot_price)(g,e,o)}function Qt(g,e,o){return(0,Pe.calculate_in_given_out)(g,e,o)}function Zt(g,e,o){return(0,Pe.calculate_out_given_in)(g,e,o)}function jt(g,e,o){return(0,Pe.calculate_pool_trade_fee)(g,e,o)}var xe={getSpotPrice:Jt,calculateInGivenOut:Qt,calculateOutGivenIn:Zt,calculatePoolTradeFee:jt};var fe=class{static fromPool(e){return new fe(e.address,e.tradeFee,e.tokens)}constructor(e,o,s){this.type="XYK",this.address=e,this.tradeFee=o,this.tokens=s}validPair(e,o){return!0}parsePoolPair(e,o){let s=new Map(this.tokens.map(w=>[w.id,w])),n=s.get(e),c=s.get(o);if(n==null)throw new Error("Pool does not contain tokenIn");if(c==null)throw new Error("Pool does not contain tokenOut");let p=L(n.balance),_=L(c.balance);return{assetIn:e,assetOut:o,decimalsIn:n.decimals,decimalsOut:c.decimals,balanceIn:p,balanceOut:_}}validateBuy(e,o){let s=this.calculateInGivenOut(e,o),n=this.calculateTradeFee(s),c=s.plus(n),p=Se(this.tradeFee);return{amountIn:c,calculatedIn:s,amountOut:o,feePct:p}}validateSell(e,o){let s=this.calculateOutGivenIn(e,o),n=this.calculateTradeFee(s),c=s.minus(n),p=Se(this.tradeFee);return{amountIn:o,calculatedOut:s,amountOut:c,feePct:p}}calculateInGivenOut(e,o){let s=xe.calculateInGivenOut(e.balanceIn.toString(),e.balanceOut.toString(),o.toString());return L(s)}calculateOutGivenIn(e,o){let s=xe.calculateOutGivenIn(e.balanceIn.toString(),e.balanceOut.toString(),o.toString());return L(s)}spotPriceInGivenOut(e){let o=xe.getSpotPrice(e.balanceOut.toString(),e.balanceIn.toString(),Z(be,e.decimalsOut).toString());return L(o)}spotPriceOutGivenIn(e){let o=xe.getSpotPrice(e.balanceIn.toString(),e.balanceOut.toString(),Z(be,e.decimalsIn).toString());return L(o)}calculateTradeFee(e){let o=xe.calculatePoolTradeFee(e.toString(),this.tradeFee[0],this.tradeFee[1]);return L(o)}};var Be=class{static get(e){switch(e.type){case"XYK":return fe.fromPool(e);case"LBP":return Te.fromPool(e);default:throw new Error("Pool type "+e.type+" is not supported yet")}}};var Oe=class{constructor(e,o){this.defaultRouterOptions={includeOnly:[]};this.poolService=e,this.routeSuggester=new ke,this.routerOptions={...this.defaultRouterOptions,...o}}async getPools(){let e=this.routerOptions.includeOnly;return await this.poolService.getPools(e)}async getAllAssets(){let e=await this.getPools();if(e.length===0)throw new Error("No pools configured");let o=await this.getAssets(e);return[...new Map(o).values()]}async getAssetPairs(e){let o=await this.getPools();if(o.length===0)throw new Error("No pools configured");let{assets:s,poolsMap:n}=await this.validateToken(e,o),p=this.getPaths(e,null,n,o).map(_=>_[_.length-1].assetOut);return this.toPoolAssets([...new Set(p)],s)}async getAllPaths(e,o){let s=await this.getPools();if(s.length===0)throw new Error("No pools configured");let{poolsMap:n}=await this.validateTokenPair(e,o,s);return this.getPaths(e,o,n,s)}async getAssets(e){let o=e.map(s=>s.tokens.map(({id:n,symbol:c})=>({id:n,symbol:c}))).flat();return new Map(o.map(s=>[s.id,s]))}getPaths(e,o,s,n){return this.routeSuggester.getProposals(e,o,n).filter(_=>this.validPath(_,s)).map(_=>this.toHops(_,s))}async validateTokenPair(e,o,s){let n=await this.getAssets(s);if(n.get(e)==null)throw new Error(e+" is not supported token");if(n.get(o)==null)throw new Error(o+" is not supported token");let c=this.getPoolMap(s);return{assets:n,poolsMap:c}}async validateToken(e,o){let s=await this.getAssets(o);if(s.get(e)==null)throw new Error(e+" is not supported token");let n=this.getPoolMap(o);return{assets:s,poolsMap:n}}getPoolMap(e){return new Map(e.map(o=>[o.address,Be.get(o)]))}validPath(e,o){return e.length>0&&e.map(s=>this.validEdge(s,o)).reduce((s,n)=>s&&n)}validEdge([e,o,s],n){return n.get(e)?.validPair(o,s)||!1}toHops(e,o){return e.map(([s,n,c])=>{let p=o.get(s);return{poolId:s,poolType:p?.type,assetIn:n,assetOut:c}})}toPoolAssets(e,o){return e.map(s=>{let n=o.get(s);return{id:s,symbol:n?.symbol}})}};function Me(g,e,o,s){let n=g.shiftedBy(-1*e).multipliedBy(o),c=s;return n.minus(c).abs().div(n.plus(c).div(2)).multipliedBy(100).decimalPlaces(2)}var Le=class extends Oe{async getBestSpotPrice(e,o){let s=await super.getPools();if(s.length===0)throw new Error("No pools configured");let{poolsMap:n}=await super.validateTokenPair(e,o,s);return super.getPaths(e,o,n,s).map(_=>this.getSpotPrice(_,n)).sort((_,w)=>{let O=_.amount,N=w.amount;return O.isGreaterThan(N)?-1:1})[0]}getSpotPrice(e,o){let s=[];for(let p=0;p<e.length;p++){let _=e[p],w=o.get(_.poolId);if(w==null)throw new Error("Pool does not exit");let O=w.parsePoolPair(_.assetIn,_.assetOut),N=w.spotPriceOutGivenIn(O);s.push({amount:N,decimals:O.decimalsOut})}let n=s.map(p=>p.amount.shiftedBy(-1*p.decimals)).reduce((p,_)=>p.multipliedBy(_)),c=s[s.length-1].decimals;return{amount:Z(n,c).decimalPlaces(0,1),decimals:c}}async getBestSell(e,o,s){let n=await super.getPools();if(n.length===0)throw new Error("No pools configured");let{poolsMap:c}=await super.validateTokenPair(e,o,n),w=super.getPaths(e,o,c,n).map(v=>this.toSellSwaps(s,v,c)).sort((v,R)=>{let J=v[v.length-1].amountOut,y=R[R.length-1].amountOut;return J.isGreaterThan(y)?-1:1})[0],O=w[0],N=w[w.length-1],x=w.map(v=>v.spotPrice.shiftedBy(-1*v.assetOutDecimals)).reduce((v,R)=>v.multipliedBy(R)),k=Z(x,N.assetOutDecimals).decimalPlaces(0,1),M=Me(O.amountIn,O.assetInDecimals,k,N.calculatedOut),D=v=>this.poolService.buildSellTx(e,o,O.amountIn,v,w.map(R=>R));return{type:"Sell",amountIn:O.amountIn,amountOut:N.amountOut,spotPrice:k,priceImpactPct:M.toNumber(),swaps:w,toTx:D,toHuman(){return{type:"Sell",amountIn:j(O.amountIn,O.assetInDecimals),amountOut:j(N.amountOut,N.assetOutDecimals),spotPrice:j(k,N.assetOutDecimals),priceImpactPct:M.toNumber(),swaps:w.map(v=>v.toHuman())}}}}toSellSwaps(e,o,s){let n=[];for(let c=0;c<o.length;c++){let p=o[c],_=s.get(p.poolId);if(_==null)throw new Error("Pool does not exit");let w=_.parsePoolPair(p.assetIn,p.assetOut),O;c>0?O=n[c-1].amountOut:O=Z(L(e),w.decimalsIn);let{amountOut:N,calculatedOut:x,feePct:k}=_.validateSell(w,O),M=_.spotPriceOutGivenIn(w),D=Me(O,w.decimalsIn,M,x);n.push({...p,assetInDecimals:w.decimalsIn,assetOutDecimals:w.decimalsOut,amountIn:O,calculatedOut:x,amountOut:N,spotPrice:M,tradeFeePct:k,priceImpactPct:D.toNumber(),toHuman(){return{...p,amountIn:j(O,w.decimalsIn),calculatedOut:j(x,w.decimalsOut),amountOut:j(N,w.decimalsOut),spotPrice:j(M,w.decimalsOut),tradeFeePct:k,priceImpactPct:D.toNumber()}}})}return n}async getBestBuy(e,o,s){let n=await super.getPools();if(n.length===0)throw new Error("No pools configured");let{poolsMap:c}=await super.validateTokenPair(e,o,n),w=super.getPaths(e,o,c,n).map(v=>this.toBuySwaps(s,v,c)).sort((v,R)=>{let J=v[0].amountIn,y=R[0].amountIn;return J.isGreaterThan(y)?1:-1})[0],O=w[w.length-1],N=w[0],x=w.map(v=>v.spotPrice.shiftedBy(-1*v.assetInDecimals)).reduce((v,R)=>v.multipliedBy(R)),k=Z(x,N.assetInDecimals).decimalPlaces(0,1),M=Me(O.amountOut,O.assetOutDecimals,k,N.calculatedIn),D=v=>this.poolService.buildBuyTx(e,o,O.amountOut,v,w.map(R=>R));return{type:"Buy",amountOut:O.amountOut,amountIn:N.amountIn,spotPrice:k,priceImpactPct:M.toNumber(),swaps:w,toTx:D,toHuman(){return{type:"Buy",amountOut:j(O.amountOut,O.assetOutDecimals),amountIn:j(N.amountIn,N.assetInDecimals),spotPrice:j(k,N.assetInDecimals),priceImpactPct:M.toNumber(),swaps:w.map(v=>v.toHuman())}}}}toBuySwaps(e,o,s){let n=[];for(let c=o.length-1;c>=0;c--){let p=o[c],_=s.get(p.poolId);if(_==null)throw new Error("Pool does not exit");let w=_.parsePoolPair(p.assetIn,p.assetOut),O;c==o.length-1?O=Z(L(e),w.decimalsOut):O=n[0].amountIn;let{amountIn:N,calculatedIn:x,feePct:k}=_.validateBuy(w,O),M=_.spotPriceInGivenOut(w),D=Me(O,w.decimalsOut,M,x);n.unshift({...p,assetInDecimals:w.decimalsIn,assetOutDecimals:w.decimalsOut,amountOut:O,calculatedIn:x,amountIn:N,spotPrice:M,tradeFeePct:k,priceImpactPct:D.toNumber(),toHuman(){return{...p,amountOut:j(O,w.decimalsOut),calculatedIn:j(x,w.decimalsIn),amountIn:j(N,w.decimalsIn),spotPrice:j(M,w.decimalsIn),tradeFeePct:k,priceImpactPct:D.toNumber()}}})}return n}};0&&(module.exports={BigNumber,DECIMAL_PLACES,INFINITY,ONE,PolkadotApiPoolService,PoolError,PoolFactory,PoolType,Router,TradeRouter,TradeType,XykPool,ZERO,bnum,scale});
|
|
2
2
|
//# sourceMappingURL=index.js.map
|