UNPKG

@cobaltx/sdk-v2

Version:

An SDK for building applications on top of CobaltX.

10 lines 58.7 kB
import{PublicKey as Ut}from"@solana/web3.js";import tt,{isBN as Pi}from"bn.js";import{bits as Sr,BitStructure as Ar,blob as Rt,Blob as Nr,cstr as _r,f32 as Er,f32be as Br,f64 as Lr,f64be as kr,greedy as Cr,Layout as Ot,ns64 as Ir,ns64be as Dr,nu64 as Mr,nu64be as Rr,offset as Or,s16 as Kr,s16be as vr,s24 as Ur,s24be as Fr,s32 as Vr,s32be as Wr,s40 as Hr,s40be as qr,s48 as Gr,s48be as jr,s8 as Yr,seq as zr,struct as Qr,Structure as Kt,u16 as Zr,u16be as Xr,u24 as Jr,u24be as $r,u32 as ei,u32be as ti,u40 as ni,u40be as ri,u48 as ii,u48be as oi,u8 as si,UInt as vt,union as ai,Union as ui,unionLayoutDiscriminator as ci,utf8 as li}from"@solana/buffer-layout";var Re=Ot,et=Kt;var Oe=vt;var Ke=Rt;var ve=class extends Re{constructor(n,r,i){super(n,i);this.blob=Ke(n),this.signed=r}decode(n,r=0){let i=new tt(this.blob.decode(n,r),10,"le");return this.signed?i.fromTwos(this.span*8).clone():i}encode(n,r,i=0){return typeof n=="number"&&(n=new tt(n)),this.signed&&(n=n.toTwos(this.span*8)),this.blob.encode(n.toArrayLike(Buffer,"le",this.span),r,i)}};function nt(e){return new Oe(1,e)}function he(e){return new Oe(4,e)}function be(e){return new ve(8,!1,e)}var Ue=class extends Re{constructor(n,r,i,o){super(n.span,o);this.layout=n,this.decoder=r,this.encoder=i}decode(n,r){return this.decoder(this.layout.decode(n,r))}encode(n,r,i){return this.layout.encode(this.encoder(n),r,i)}getSpan(n,r){return this.layout.getSpan(n,r)}};function ie(e){return new Ue(Ke(32),t=>new Ut(t),t=>t.toBuffer(),e)}var Fe=class extends et{decode(t,n){return super.decode(t,n)}};function rt(e,t,n){return new Fe(e,t,n)}var oe=rt([ie("mint"),ie("owner"),be("amount"),he("delegateOption"),ie("delegate"),nt("state"),he("isNativeOption"),be("isNative"),be("delegatedAmount"),he("closeAuthorityOption"),ie("closeAuthority")]);function Ft(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Ve(e,...t){if(!Ft(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function We(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function it(e,t){Ve(e);let n=t.outputLen;if(e.length<n)throw new Error("digestInto() expects output buffer of length at least "+n)}function we(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function v(e,t){return e<<32-t|e>>>t}function Vt(e){if(typeof e!="string")throw new Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array(new TextEncoder().encode(e))}function He(e){return typeof e=="string"&&(e=Vt(e)),Ve(e),e}var Te=class{clone(){return this._cloneInto()}};function ot(e){let t=r=>e().update(He(r)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function Wt(e,t,n,r){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,n,r);let i=BigInt(32),o=BigInt(4294967295),s=Number(n>>i&o),a=Number(n&o),c=r?4:0,u=r?0:4;e.setUint32(t+c,s,r),e.setUint32(t+u,a,r)}function st(e,t,n){return e&t^~e&n}function at(e,t,n){return e&t^e&n^t&n}var ye=class extends Te{constructor(t,n,r,i){super(),this.blockLen=t,this.outputLen=n,this.padOffset=r,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=we(this.buffer)}update(t){We(this);let{view:n,buffer:r,blockLen:i}=this;t=He(t);let o=t.length;for(let s=0;s<o;){let a=Math.min(i-this.pos,o-s);if(a===i){let c=we(t);for(;i<=o-s;s+=i)this.process(c,s);continue}r.set(t.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===i&&(this.process(n,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){We(this),it(t,this),this.finished=!0;let{buffer:n,view:r,blockLen:i,isLE:o}=this,{pos:s}=this;n[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>i-s&&(this.process(r,0),s=0);for(let f=s;f<i;f++)n[f]=0;Wt(r,i-8,BigInt(this.length*8),o),this.process(r,0);let a=we(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,l=this.get();if(u>l.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<u;f++)a.setUint32(4*f,l[f],o)}digest(){let{buffer:t,outputLen:n}=this;this.digestInto(t);let r=t.slice(0,n);return this.destroy(),r}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:n,buffer:r,length:i,finished:o,destroyed:s,pos:a}=this;return t.length=i,t.pos=a,t.finished=o,t.destroyed=s,i%n&&t.buffer.set(r),t}};var Ht=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Y=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),z=new Uint32Array(64),qe=class extends ye{constructor(){super(64,32,8,!1),this.A=Y[0]|0,this.B=Y[1]|0,this.C=Y[2]|0,this.D=Y[3]|0,this.E=Y[4]|0,this.F=Y[5]|0,this.G=Y[6]|0,this.H=Y[7]|0}get(){let{A:t,B:n,C:r,D:i,E:o,F:s,G:a,H:c}=this;return[t,n,r,i,o,s,a,c]}set(t,n,r,i,o,s,a,c){this.A=t|0,this.B=n|0,this.C=r|0,this.D=i|0,this.E=o|0,this.F=s|0,this.G=a|0,this.H=c|0}process(t,n){for(let f=0;f<16;f++,n+=4)z[f]=t.getUint32(n,!1);for(let f=16;f<64;f++){let p=z[f-15],d=z[f-2],P=v(p,7)^v(p,18)^p>>>3,b=v(d,17)^v(d,19)^d>>>10;z[f]=b+z[f-7]+P+z[f-16]|0}let{A:r,B:i,C:o,D:s,E:a,F:c,G:u,H:l}=this;for(let f=0;f<64;f++){let p=v(a,6)^v(a,11)^v(a,25),d=l+p+st(a,c,u)+Ht[f]+z[f]|0,b=(v(r,2)^v(r,13)^v(r,22))+at(r,i,o)|0;l=u,u=c,c=a,a=s+d|0,s=o,o=i,i=r,r=d+b|0}r=r+this.A|0,i=i+this.B|0,o=o+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,l=l+this.H|0,this.set(r,i,o,s,a,c,u,l)}roundClean(){z.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var ut=ot(()=>new qe);import{TOKEN_PROGRAM_ID as lr}from"@solana/spl-token";import{Keypair as fr,PublicKey as Dt}from"@solana/web3.js";import pr from"bn.js";import{MINT_SIZE as Fi,TOKEN_PROGRAM_ID as Vi,getTransferFeeConfig as Wi,unpackMint as Hi}from"@solana/spl-token";import{PublicKey as zi}from"@solana/web3.js";import{get as ct,set as qt}from"lodash";var Ge=class{constructor(t){this.logLevel=t.logLevel!==void 0?t.logLevel:0,this.name=t.name}set level(t){this.logLevel=t}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(t){return t<=this.logLevel}error(...t){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...t),this):this}logWithError(...t){let n=t.map(r=>typeof r=="object"?JSON.stringify(r):r).join(", ");throw new Error(n)}warning(...t){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...t),this):this}info(...t){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...t),this):this}debug(...t){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...t),this):this}},lt={},Gt={};function M(e){let t=ct(lt,e);if(!t){let n=ct(Gt,e);t=new Ge({name:e,logLevel:n}),qt(lt,e,t)}return t}var Xi=M("CobaltX_accountInfo_util");import j from"bn.js";var ee=9e15,J=1e9,je="0123456789abcdef",Se="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",Ae="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Ye={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-ee,maxE:ee,crypto:!1},dt,q,T=!0,_e="[DecimalError] ",X=_e+"Invalid argument: ",gt=_e+"Precision limit exceeded",ht=_e+"crypto unavailable",bt="[object Decimal]",I=Math.floor,B=Math.pow,jt=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Yt=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,zt=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,Tt=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,U=1e7,h=7,Qt=9007199254740991,Zt=Se.length-1,ze=Ae.length-1,m={toStringTag:bt};m.absoluteValue=m.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),g(e)};m.ceil=function(){return g(new this.constructor(this),this.e+1,2)};m.clampedTo=m.clamp=function(e,t){var n,r=this,i=r.constructor;if(e=new i(e),t=new i(t),!e.s||!t.s)return new i(NaN);if(e.gt(t))throw Error(X+t);return n=r.cmp(e),n<0?e:r.cmp(t)>0?t:new i(r)};m.comparedTo=m.cmp=function(e){var t,n,r,i,o=this,s=o.d,a=(e=new o.constructor(e)).d,c=o.s,u=e.s;if(!s||!a)return!c||!u?NaN:c!==u?c:s===a?0:!s^c<0?1:-1;if(!s[0]||!a[0])return s[0]?c:a[0]?-u:0;if(c!==u)return c;if(o.e!==e.e)return o.e>e.e^c<0?1:-1;for(r=s.length,i=a.length,t=0,n=r<i?r:i;t<n;++t)if(s[t]!==a[t])return s[t]>a[t]^c<0?1:-1;return r===i?0:r>i^c<0?1:-1};m.cosine=m.cos=function(){var e,t,n=this,r=n.constructor;return n.d?n.d[0]?(e=r.precision,t=r.rounding,r.precision=e+Math.max(n.e,n.sd())+h,r.rounding=1,n=Xt(r,St(r,n)),r.precision=e,r.rounding=t,g(q==2||q==3?n.neg():n,e,t,!0)):new r(1):new r(NaN)};m.cubeRoot=m.cbrt=function(){var e,t,n,r,i,o,s,a,c,u,l=this,f=l.constructor;if(!l.isFinite()||l.isZero())return new f(l);for(T=!1,o=l.s*B(l.s*l,1/3),!o||Math.abs(o)==1/0?(n=L(l.d),e=l.e,(o=(e-n.length+1)%3)&&(n+=o==1||o==-2?"0":"00"),o=B(n,1/3),e=I((e+1)/3)-(e%3==(e<0?-1:2)),o==1/0?n="5e"+e:(n=o.toExponential(),n=n.slice(0,n.indexOf("e")+1)+e),r=new f(n),r.s=l.s):r=new f(o.toString()),s=(e=f.precision)+3;;)if(a=r,c=a.times(a).times(a),u=c.plus(l),r=A(u.plus(l).times(a),u.plus(c),s+2,1),L(a.d).slice(0,s)===(n=L(r.d)).slice(0,s))if(n=n.slice(s-3,s+1),n=="9999"||!i&&n=="4999"){if(!i&&(g(a,e+1,0),a.times(a).times(a).eq(l))){r=a;break}s+=4,i=1}else{(!+n||!+n.slice(1)&&n.charAt(0)=="5")&&(g(r,e+1,1),t=!r.times(r).times(r).eq(l));break}return T=!0,g(r,e,f.rounding,t)};m.decimalPlaces=m.dp=function(){var e,t=this.d,n=NaN;if(t){if(e=t.length-1,n=(e-I(this.e/h))*h,e=t[e],e)for(;e%10==0;e/=10)n--;n<0&&(n=0)}return n};m.dividedBy=m.div=function(e){return A(this,new this.constructor(e))};m.dividedToIntegerBy=m.divToInt=function(e){var t=this,n=t.constructor;return g(A(t,new n(e),0,1,1),n.precision,n.rounding)};m.equals=m.eq=function(e){return this.cmp(e)===0};m.floor=function(){return g(new this.constructor(this),this.e+1,3)};m.greaterThan=m.gt=function(e){return this.cmp(e)>0};m.greaterThanOrEqualTo=m.gte=function(e){var t=this.cmp(e);return t==1||t===0};m.hyperbolicCosine=m.cosh=function(){var e,t,n,r,i,o=this,s=o.constructor,a=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return a;n=s.precision,r=s.rounding,s.precision=n+Math.max(o.e,o.sd())+4,s.rounding=1,i=o.d.length,i<32?(e=Math.ceil(i/3),t=(1/Be(4,e)).toString()):(e=16,t="2.3283064365386962890625e-10"),o=te(s,1,o.times(t),new s(1),!0);for(var c,u=e,l=new s(8);u--;)c=o.times(o),o=a.minus(c.times(l.minus(c.times(l))));return g(o,s.precision=n,s.rounding=r,!0)};m.hyperbolicSine=m.sinh=function(){var e,t,n,r,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(t=o.precision,n=o.rounding,o.precision=t+Math.max(i.e,i.sd())+4,o.rounding=1,r=i.d.length,r<3)i=te(o,2,i,i,!0);else{e=1.4*Math.sqrt(r),e=e>16?16:e|0,i=i.times(1/Be(5,e)),i=te(o,2,i,i,!0);for(var s,a=new o(5),c=new o(16),u=new o(20);e--;)s=i.times(i),i=i.times(a.plus(s.times(c.times(s).plus(u))))}return o.precision=t,o.rounding=n,g(i,t,n,!0)};m.hyperbolicTangent=m.tanh=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+7,r.rounding=1,A(n.sinh(),n.cosh(),r.precision=e,r.rounding=t)):new r(n.s)};m.inverseCosine=m.acos=function(){var e=this,t=e.constructor,n=e.abs().cmp(1),r=t.precision,i=t.rounding;return n!==-1?n===0?e.isNeg()?V(t,r,i):new t(0):new t(NaN):e.isZero()?V(t,r+4,i).times(.5):(t.precision=r+6,t.rounding=1,e=new t(1).minus(e).div(e.plus(1)).sqrt().atan(),t.precision=r,t.rounding=i,e.times(2))};m.inverseHyperbolicCosine=m.acosh=function(){var e,t,n=this,r=n.constructor;return n.lte(1)?new r(n.eq(1)?0:NaN):n.isFinite()?(e=r.precision,t=r.rounding,r.precision=e+Math.max(Math.abs(n.e),n.sd())+4,r.rounding=1,T=!1,n=n.times(n).minus(1).sqrt().plus(n),T=!0,r.precision=e,r.rounding=t,n.ln()):new r(n)};m.inverseHyperbolicSine=m.asinh=function(){var e,t,n=this,r=n.constructor;return!n.isFinite()||n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+2*Math.max(Math.abs(n.e),n.sd())+6,r.rounding=1,T=!1,n=n.times(n).plus(1).sqrt().plus(n),T=!0,r.precision=e,r.rounding=t,n.ln())};m.inverseHyperbolicTangent=m.atanh=function(){var e,t,n,r,i=this,o=i.constructor;return i.isFinite()?i.e>=0?new o(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(e=o.precision,t=o.rounding,r=i.sd(),Math.max(r,e)<2*-i.e-1?g(new o(i),e,t,!0):(o.precision=n=r-i.e,i=A(i.plus(1),new o(1).minus(i),n+e,1),o.precision=e+4,o.rounding=1,i=i.ln(),o.precision=e,o.rounding=t,i.times(.5))):new o(NaN)};m.inverseSine=m.asin=function(){var e,t,n,r,i=this,o=i.constructor;return i.isZero()?new o(i):(t=i.abs().cmp(1),n=o.precision,r=o.rounding,t!==-1?t===0?(e=V(o,n+4,r).times(.5),e.s=i.s,e):new o(NaN):(o.precision=n+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=n,o.rounding=r,i.times(2)))};m.inverseTangent=m.atan=function(){var e,t,n,r,i,o,s,a,c,u=this,l=u.constructor,f=l.precision,p=l.rounding;if(u.isFinite()){if(u.isZero())return new l(u);if(u.abs().eq(1)&&f+4<=ze)return s=V(l,f+4,p).times(.25),s.s=u.s,s}else{if(!u.s)return new l(NaN);if(f+4<=ze)return s=V(l,f+4,p).times(.5),s.s=u.s,s}for(l.precision=a=f+10,l.rounding=1,n=Math.min(28,a/h+2|0),e=n;e;--e)u=u.div(u.times(u).plus(1).sqrt().plus(1));for(T=!1,t=Math.ceil(a/h),r=1,c=u.times(u),s=new l(u),i=u;e!==-1;)if(i=i.times(c),o=s.minus(i.div(r+=2)),i=i.times(c),s=o.plus(i.div(r+=2)),s.d[t]!==void 0)for(e=t;s.d[e]===o.d[e]&&e--;);return n&&(s=s.times(2<<n-1)),T=!0,g(s,l.precision=f,l.rounding=p,!0)};m.isFinite=function(){return!!this.d};m.isInteger=m.isInt=function(){return!!this.d&&I(this.e/h)>this.d.length-2};m.isNaN=function(){return!this.s};m.isNegative=m.isNeg=function(){return this.s<0};m.isPositive=m.isPos=function(){return this.s>0};m.isZero=function(){return!!this.d&&this.d[0]===0};m.lessThan=m.lt=function(e){return this.cmp(e)<0};m.lessThanOrEqualTo=m.lte=function(e){return this.cmp(e)<1};m.logarithm=m.log=function(e){var t,n,r,i,o,s,a,c,u=this,l=u.constructor,f=l.precision,p=l.rounding,d=5;if(e==null)e=new l(10),t=!0;else{if(e=new l(e),n=e.d,e.s<0||!n||!n[0]||e.eq(1))return new l(NaN);t=e.eq(10)}if(n=u.d,u.s<0||!n||!n[0]||u.eq(1))return new l(n&&!n[0]?-1/0:u.s!=1?NaN:n?0:1/0);if(t)if(n.length>1)o=!0;else{for(i=n[0];i%10===0;)i/=10;o=i!==1}if(T=!1,a=f+d,s=Z(u,a),r=t?Ne(l,a+10):Z(e,a),c=A(s,r,a,1),se(c.d,i=f,p))do if(a+=10,s=Z(u,a),r=t?Ne(l,a+10):Z(e,a),c=A(s,r,a,1),!o){+L(c.d).slice(i+1,i+15)+1==1e14&&(c=g(c,f+1,0));break}while(se(c.d,i+=10,p));return T=!0,g(c,f,p)};m.minus=m.sub=function(e){var t,n,r,i,o,s,a,c,u,l,f,p,d=this,P=d.constructor;if(e=new P(e),!d.d||!e.d)return!d.s||!e.s?e=new P(NaN):d.d?e.s=-e.s:e=new P(e.d||d.s!==e.s?d:NaN),e;if(d.s!=e.s)return e.s=-e.s,d.plus(e);if(u=d.d,p=e.d,a=P.precision,c=P.rounding,!u[0]||!p[0]){if(p[0])e.s=-e.s;else if(u[0])e=new P(d);else return new P(c===3?-0:0);return T?g(e,a,c):e}if(n=I(e.e/h),l=I(d.e/h),u=u.slice(),o=l-n,o){for(f=o<0,f?(t=u,o=-o,s=p.length):(t=p,n=l,s=u.length),r=Math.max(Math.ceil(a/h),s)+2,o>r&&(o=r,t.length=1),t.reverse(),r=o;r--;)t.push(0);t.reverse()}else{for(r=u.length,s=p.length,f=r<s,f&&(s=r),r=0;r<s;r++)if(u[r]!=p[r]){f=u[r]<p[r];break}o=0}for(f&&(t=u,u=p,p=t,e.s=-e.s),s=u.length,r=p.length-s;r>0;--r)u[s++]=0;for(r=p.length;r>o;){if(u[--r]<p[r]){for(i=r;i&&u[--i]===0;)u[i]=U-1;--u[i],u[r]+=U}u[r]-=p[r]}for(;u[--s]===0;)u.pop();for(;u[0]===0;u.shift())--n;return u[0]?(e.d=u,e.e=Ee(u,n),T?g(e,a,c):e):new P(c===3?-0:0)};m.modulo=m.mod=function(e){var t,n=this,r=n.constructor;return e=new r(e),!n.d||!e.s||e.d&&!e.d[0]?new r(NaN):!e.d||n.d&&!n.d[0]?g(new r(n),r.precision,r.rounding):(T=!1,r.modulo==9?(t=A(n,e.abs(),0,3,1),t.s*=e.s):t=A(n,e,0,r.modulo,1),t=t.times(e),T=!0,n.minus(t))};m.naturalExponential=m.exp=function(){return Qe(this)};m.naturalLogarithm=m.ln=function(){return Z(this)};m.negated=m.neg=function(){var e=new this.constructor(this);return e.s=-e.s,g(e)};m.plus=m.add=function(e){var t,n,r,i,o,s,a,c,u,l,f=this,p=f.constructor;if(e=new p(e),!f.d||!e.d)return!f.s||!e.s?e=new p(NaN):f.d||(e=new p(e.d||f.s===e.s?f:NaN)),e;if(f.s!=e.s)return e.s=-e.s,f.minus(e);if(u=f.d,l=e.d,a=p.precision,c=p.rounding,!u[0]||!l[0])return l[0]||(e=new p(f)),T?g(e,a,c):e;if(o=I(f.e/h),r=I(e.e/h),u=u.slice(),i=o-r,i){for(i<0?(n=u,i=-i,s=l.length):(n=l,r=o,s=u.length),o=Math.ceil(a/h),s=o>s?o+1:s+1,i>s&&(i=s,n.length=1),n.reverse();i--;)n.push(0);n.reverse()}for(s=u.length,i=l.length,s-i<0&&(i=s,n=l,l=u,u=n),t=0;i;)t=(u[--i]=u[i]+l[i]+t)/U|0,u[i]%=U;for(t&&(u.unshift(t),++r),s=u.length;u[--s]==0;)u.pop();return e.d=u,e.e=Ee(u,r),T?g(e,a,c):e};m.precision=m.sd=function(e){var t,n=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(X+e);return n.d?(t=wt(n.d),e&&n.e+1>t&&(t=n.e+1)):t=NaN,t};m.round=function(){var e=this,t=e.constructor;return g(new t(e),e.e+1,t.rounding)};m.sine=m.sin=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+Math.max(n.e,n.sd())+h,r.rounding=1,n=$t(r,St(r,n)),r.precision=e,r.rounding=t,g(q>2?n.neg():n,e,t,!0)):new r(NaN)};m.squareRoot=m.sqrt=function(){var e,t,n,r,i,o,s=this,a=s.d,c=s.e,u=s.s,l=s.constructor;if(u!==1||!a||!a[0])return new l(!u||u<0&&(!a||a[0])?NaN:a?s:1/0);for(T=!1,u=Math.sqrt(+s),u==0||u==1/0?(t=L(a),(t.length+c)%2==0&&(t+="0"),u=Math.sqrt(t),c=I((c+1)/2)-(c<0||c%2),u==1/0?t="5e"+c:(t=u.toExponential(),t=t.slice(0,t.indexOf("e")+1)+c),r=new l(t)):r=new l(u.toString()),n=(c=l.precision)+3;;)if(o=r,r=o.plus(A(s,o,n+2,1)).times(.5),L(o.d).slice(0,n)===(t=L(r.d)).slice(0,n))if(t=t.slice(n-3,n+1),t=="9999"||!i&&t=="4999"){if(!i&&(g(o,c+1,0),o.times(o).eq(s))){r=o;break}n+=4,i=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(g(r,c+1,1),e=!r.times(r).eq(s));break}return T=!0,g(r,c,l.rounding,e)};m.tangent=m.tan=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+10,r.rounding=1,n=n.sin(),n.s=1,n=A(n,new r(1).minus(n.times(n)).sqrt(),e+10,0),r.precision=e,r.rounding=t,g(q==2||q==4?n.neg():n,e,t,!0)):new r(NaN)};m.times=m.mul=function(e){var t,n,r,i,o,s,a,c,u,l=this,f=l.constructor,p=l.d,d=(e=new f(e)).d;if(e.s*=l.s,!p||!p[0]||!d||!d[0])return new f(!e.s||p&&!p[0]&&!d||d&&!d[0]&&!p?NaN:!p||!d?e.s/0:e.s*0);for(n=I(l.e/h)+I(e.e/h),c=p.length,u=d.length,c<u&&(o=p,p=d,d=o,s=c,c=u,u=s),o=[],s=c+u,r=s;r--;)o.push(0);for(r=u;--r>=0;){for(t=0,i=c+r;i>r;)a=o[i]+d[r]*p[i-r-1]+t,o[i--]=a%U|0,t=a/U|0;o[i]=(o[i]+t)%U|0}for(;!o[--s];)o.pop();return t?++n:o.shift(),e.d=o,e.e=Ee(o,n),T?g(e,f.precision,f.rounding):e};m.toBinary=function(e,t){return Ze(this,2,e,t)};m.toDecimalPlaces=m.toDP=function(e,t){var n=this,r=n.constructor;return n=new r(n),e===void 0?n:(R(e,0,J),t===void 0?t=r.rounding:R(t,0,8),g(n,e+n.e+1,t))};m.toExponential=function(e,t){var n,r=this,i=r.constructor;return e===void 0?n=W(r,!0):(R(e,0,J),t===void 0?t=i.rounding:R(t,0,8),r=g(new i(r),e+1,t),n=W(r,!0,e+1)),r.isNeg()&&!r.isZero()?"-"+n:n};m.toFixed=function(e,t){var n,r,i=this,o=i.constructor;return e===void 0?n=W(i):(R(e,0,J),t===void 0?t=o.rounding:R(t,0,8),r=g(new o(i),e+i.e+1,t),n=W(r,!1,e+r.e+1)),i.isNeg()&&!i.isZero()?"-"+n:n};m.toFraction=function(e){var t,n,r,i,o,s,a,c,u,l,f,p,d=this,P=d.d,b=d.constructor;if(!P)return new b(d);if(u=n=new b(1),r=c=new b(0),t=new b(r),o=t.e=wt(P)-d.e-1,s=o%h,t.d[0]=B(10,s<0?h+s:s),e==null)e=o>0?t:u;else{if(a=new b(e),!a.isInt()||a.lt(u))throw Error(X+a);e=a.gt(t)?o>0?t:u:a}for(T=!1,a=new b(L(P)),l=b.precision,b.precision=o=P.length*h*2;f=A(a,t,0,1,1),i=n.plus(f.times(r)),i.cmp(e)!=1;)n=r,r=i,i=u,u=c.plus(f.times(i)),c=i,i=t,t=a.minus(f.times(i)),a=i;return i=A(e.minus(n),r,0,1,1),c=c.plus(i.times(u)),n=n.plus(i.times(r)),c.s=u.s=d.s,p=A(u,r,o,1).minus(d).abs().cmp(A(c,n,o,1).minus(d).abs())<1?[u,r]:[c,n],b.precision=l,T=!0,p};m.toHexadecimal=m.toHex=function(e,t){return Ze(this,16,e,t)};m.toNearest=function(e,t){var n=this,r=n.constructor;if(n=new r(n),e==null){if(!n.d)return n;e=new r(1),t=r.rounding}else{if(e=new r(e),t===void 0?t=r.rounding:R(t,0,8),!n.d)return e.s?n:e;if(!e.d)return e.s&&(e.s=n.s),e}return e.d[0]?(T=!1,n=A(n,e,0,t,1).times(e),T=!0,g(n)):(e.s=n.s,n=e),n};m.toNumber=function(){return+this};m.toOctal=function(e,t){return Ze(this,8,e,t)};m.toPower=m.pow=function(e){var t,n,r,i,o,s,a=this,c=a.constructor,u=+(e=new c(e));if(!a.d||!e.d||!a.d[0]||!e.d[0])return new c(B(+a,u));if(a=new c(a),a.eq(1))return a;if(r=c.precision,o=c.rounding,e.eq(1))return g(a,r,o);if(t=I(e.e/h),t>=e.d.length-1&&(n=u<0?-u:u)<=Qt)return i=yt(c,a,n,r),e.s<0?new c(1).div(i):g(i,r,o);if(s=a.s,s<0){if(t<e.d.length-1)return new c(NaN);if((e.d[t]&1)==0&&(s=1),a.e==0&&a.d[0]==1&&a.d.length==1)return a.s=s,a}return n=B(+a,u),t=n==0||!isFinite(n)?I(u*(Math.log("0."+L(a.d))/Math.LN10+a.e+1)):new c(n+"").e,t>c.maxE+1||t<c.minE-1?new c(t>0?s/0:0):(T=!1,c.rounding=a.s=1,n=Math.min(12,(t+"").length),i=Qe(e.times(Z(a,r+n)),r),i.d&&(i=g(i,r+5,1),se(i.d,r,o)&&(t=r+10,i=g(Qe(e.times(Z(a,t+n)),t),t+5,1),+L(i.d).slice(r+1,r+15)+1==1e14&&(i=g(i,r+1,0)))),i.s=s,T=!0,c.rounding=o,g(i,r,o))};m.toPrecision=function(e,t){var n,r=this,i=r.constructor;return e===void 0?n=W(r,r.e<=i.toExpNeg||r.e>=i.toExpPos):(R(e,1,J),t===void 0?t=i.rounding:R(t,0,8),r=g(new i(r),e,t),n=W(r,e<=r.e||r.e<=i.toExpNeg,e)),r.isNeg()&&!r.isZero()?"-"+n:n};m.toSignificantDigits=m.toSD=function(e,t){var n=this,r=n.constructor;return e===void 0?(e=r.precision,t=r.rounding):(R(e,1,J),t===void 0?t=r.rounding:R(t,0,8)),g(new r(n),e,t)};m.toString=function(){var e=this,t=e.constructor,n=W(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+n:n};m.truncated=m.trunc=function(){return g(new this.constructor(this),this.e+1,1)};m.valueOf=m.toJSON=function(){var e=this,t=e.constructor,n=W(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+n:n};function L(e){var t,n,r,i=e.length-1,o="",s=e[0];if(i>0){for(o+=s,t=1;t<i;t++)r=e[t]+"",n=h-r.length,n&&(o+=Q(n)),o+=r;s=e[t],r=s+"",n=h-r.length,n&&(o+=Q(n))}else if(s===0)return"0";for(;s%10===0;)s/=10;return o+s}function R(e,t,n){if(e!==~~e||e<t||e>n)throw Error(X+e)}function se(e,t,n,r){var i,o,s,a;for(o=e[0];o>=10;o/=10)--t;return--t<0?(t+=h,i=0):(i=Math.ceil((t+1)/h),t%=h),o=B(10,h-t),a=e[i]%o|0,r==null?t<3?(t==0?a=a/100|0:t==1&&(a=a/10|0),s=n<4&&a==99999||n>3&&a==49999||a==5e4||a==0):s=(n<4&&a+1==o||n>3&&a+1==o/2)&&(e[i+1]/o/100|0)==B(10,t-2)-1||(a==o/2||a==0)&&(e[i+1]/o/100|0)==0:t<4?(t==0?a=a/1e3|0:t==1?a=a/100|0:t==2&&(a=a/10|0),s=(r||n<4)&&a==9999||!r&&n>3&&a==4999):s=((r||n<4)&&a+1==o||!r&&n>3&&a+1==o/2)&&(e[i+1]/o/1e3|0)==B(10,t-3)-1,s}function xe(e,t,n){for(var r,i=[0],o,s=0,a=e.length;s<a;){for(o=i.length;o--;)i[o]*=t;for(i[0]+=je.indexOf(e.charAt(s++)),r=0;r<i.length;r++)i[r]>n-1&&(i[r+1]===void 0&&(i[r+1]=0),i[r+1]+=i[r]/n|0,i[r]%=n)}return i.reverse()}function Xt(e,t){var n,r,i;if(t.isZero())return t;r=t.d.length,r<32?(n=Math.ceil(r/3),i=(1/Be(4,n)).toString()):(n=16,i="2.3283064365386962890625e-10"),e.precision+=n,t=te(e,1,t.times(i),new e(1));for(var o=n;o--;){var s=t.times(t);t=s.times(s).minus(s).times(8).plus(1)}return e.precision-=n,t}var A=function(){function e(r,i,o){var s,a=0,c=r.length;for(r=r.slice();c--;)s=r[c]*i+a,r[c]=s%o|0,a=s/o|0;return a&&r.unshift(a),r}function t(r,i,o,s){var a,c;if(o!=s)c=o>s?1:-1;else for(a=c=0;a<o;a++)if(r[a]!=i[a]){c=r[a]>i[a]?1:-1;break}return c}function n(r,i,o,s){for(var a=0;o--;)r[o]-=a,a=r[o]<i[o]?1:0,r[o]=a*s+r[o]-i[o];for(;!r[0]&&r.length>1;)r.shift()}return function(r,i,o,s,a,c){var u,l,f,p,d,P,b,D,E,O,S,k,pe,H,Ie,me,re,De,K,de,ge=r.constructor,Me=r.s==i.s?1:-1,C=r.d,N=i.d;if(!C||!C[0]||!N||!N[0])return new ge(!r.s||!i.s||(C?N&&C[0]==N[0]:!N)?NaN:C&&C[0]==0||!N?Me*0:Me/0);for(c?(d=1,l=r.e-i.e):(c=U,d=h,l=I(r.e/d)-I(i.e/d)),K=N.length,re=C.length,E=new ge(Me),O=E.d=[],f=0;N[f]==(C[f]||0);f++);if(N[f]>(C[f]||0)&&l--,o==null?(H=o=ge.precision,s=ge.rounding):a?H=o+(r.e-i.e)+1:H=o,H<0)O.push(1),P=!0;else{if(H=H/d+2|0,f=0,K==1){for(p=0,N=N[0],H++;(f<re||p)&&H--;f++)Ie=p*c+(C[f]||0),O[f]=Ie/N|0,p=Ie%N|0;P=p||f<re}else{for(p=c/(N[0]+1)|0,p>1&&(N=e(N,p,c),C=e(C,p,c),K=N.length,re=C.length),me=K,S=C.slice(0,K),k=S.length;k<K;)S[k++]=0;de=N.slice(),de.unshift(0),De=N[0],N[1]>=c/2&&++De;do p=0,u=t(N,S,K,k),u<0?(pe=S[0],K!=k&&(pe=pe*c+(S[1]||0)),p=pe/De|0,p>1?(p>=c&&(p=c-1),b=e(N,p,c),D=b.length,k=S.length,u=t(b,S,D,k),u==1&&(p--,n(b,K<D?de:N,D,c))):(p==0&&(u=p=1),b=N.slice()),D=b.length,D<k&&b.unshift(0),n(S,b,k,c),u==-1&&(k=S.length,u=t(N,S,K,k),u<1&&(p++,n(S,K<k?de:N,k,c))),k=S.length):u===0&&(p++,S=[0]),O[f++]=p,u&&S[0]?S[k++]=C[me]||0:(S=[C[me]],k=1);while((me++<re||S[0]!==void 0)&&H--);P=S[0]!==void 0}O[0]||O.shift()}if(d==1)E.e=l,dt=P;else{for(f=1,p=O[0];p>=10;p/=10)f++;E.e=f+l*d-1,g(E,a?o+E.e+1:o,s,P)}return E}}();function g(e,t,n,r){var i,o,s,a,c,u,l,f,p,d=e.constructor;e:if(t!=null){if(f=e.d,!f)return e;for(i=1,a=f[0];a>=10;a/=10)i++;if(o=t-i,o<0)o+=h,s=t,l=f[p=0],c=l/B(10,i-s-1)%10|0;else if(p=Math.ceil((o+1)/h),a=f.length,p>=a)if(r){for(;a++<=p;)f.push(0);l=c=0,i=1,o%=h,s=o-h+1}else break e;else{for(l=a=f[p],i=1;a>=10;a/=10)i++;o%=h,s=o-h+i,c=s<0?0:l/B(10,i-s-1)%10|0}if(r=r||t<0||f[p+1]!==void 0||(s<0?l:l%B(10,i-s-1)),u=n<4?(c||r)&&(n==0||n==(e.s<0?3:2)):c>5||c==5&&(n==4||r||n==6&&(o>0?s>0?l/B(10,i-s):0:f[p-1])%10&1||n==(e.s<0?8:7)),t<1||!f[0])return f.length=0,u?(t-=e.e+1,f[0]=B(10,(h-t%h)%h),e.e=-t||0):f[0]=e.e=0,e;if(o==0?(f.length=p,a=1,p--):(f.length=p+1,a=B(10,h-o),f[p]=s>0?(l/B(10,i-s)%B(10,s)|0)*a:0),u)for(;;)if(p==0){for(o=1,s=f[0];s>=10;s/=10)o++;for(s=f[0]+=a,a=1;s>=10;s/=10)a++;o!=a&&(e.e++,f[0]==U&&(f[0]=1));break}else{if(f[p]+=a,f[p]!=U)break;f[p--]=0,a=1}for(o=f.length;f[--o]===0;)f.pop()}return T&&(e.e>d.maxE?(e.d=null,e.e=NaN):e.e<d.minE&&(e.e=0,e.d=[0])),e}function W(e,t,n){if(!e.isFinite())return Pt(e);var r,i=e.e,o=L(e.d),s=o.length;return t?(n&&(r=n-s)>0?o=o.charAt(0)+"."+o.slice(1)+Q(r):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):i<0?(o="0."+Q(-i-1)+o,n&&(r=n-s)>0&&(o+=Q(r))):i>=s?(o+=Q(i+1-s),n&&(r=n-i-1)>0&&(o=o+"."+Q(r))):((r=i+1)<s&&(o=o.slice(0,r)+"."+o.slice(r)),n&&(r=n-s)>0&&(i+1===s&&(o+="."),o+=Q(r))),o}function Ee(e,t){var n=e[0];for(t*=h;n>=10;n/=10)t++;return t}function Ne(e,t,n){if(t>Zt)throw T=!0,n&&(e.precision=n),Error(gt);return g(new e(Se),t,1,!0)}function V(e,t,n){if(t>ze)throw Error(gt);return g(new e(Ae),t,n,!0)}function wt(e){var t=e.length-1,n=t*h+1;if(t=e[t],t){for(;t%10==0;t/=10)n--;for(t=e[0];t>=10;t/=10)n++}return n}function Q(e){for(var t="";e--;)t+="0";return t}function yt(e,t,n,r){var i,o=new e(1),s=Math.ceil(r/h+4);for(T=!1;;){if(n%2&&(o=o.times(t),pt(o.d,s)&&(i=!0)),n=I(n/2),n===0){n=o.d.length-1,i&&o.d[n]===0&&++o.d[n];break}t=t.times(t),pt(t.d,s)}return T=!0,o}function ft(e){return e.d[e.d.length-1]&1}function xt(e,t,n){for(var r,i,o=new e(t[0]),s=0;++s<t.length;){if(i=new e(t[s]),!i.s){o=i;break}r=o.cmp(i),(r===n||r===0&&o.s===n)&&(o=i)}return o}function Qe(e,t){var n,r,i,o,s,a,c,u=0,l=0,f=0,p=e.constructor,d=p.rounding,P=p.precision;if(!e.d||!e.d[0]||e.e>17)return new p(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:0/0);for(t==null?(T=!1,c=P):c=t,a=new p(.03125);e.e>-2;)e=e.times(a),f+=5;for(r=Math.log(B(2,f))/Math.LN10*2+5|0,c+=r,n=o=s=new p(1),p.precision=c;;){if(o=g(o.times(e),c,1),n=n.times(++l),a=s.plus(A(o,n,c,1)),L(a.d).slice(0,c)===L(s.d).slice(0,c)){for(i=f;i--;)s=g(s.times(s),c,1);if(t==null)if(u<3&&se(s.d,c-r,d,u))p.precision=c+=10,n=o=a=new p(1),l=0,u++;else return g(s,p.precision=P,d,T=!0);else return p.precision=P,s}s=a}}function Z(e,t){var n,r,i,o,s,a,c,u,l,f,p,d=1,P=10,b=e,D=b.d,E=b.constructor,O=E.rounding,S=E.precision;if(b.s<0||!D||!D[0]||!b.e&&D[0]==1&&D.length==1)return new E(D&&!D[0]?-1/0:b.s!=1?NaN:D?0:b);if(t==null?(T=!1,l=S):l=t,E.precision=l+=P,n=L(D),r=n.charAt(0),Math.abs(o=b.e)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)b=b.times(e),n=L(b.d),r=n.charAt(0),d++;o=b.e,r>1?(b=new E("0."+n),o++):b=new E(r+"."+n.slice(1))}else return u=Ne(E,l+2,S).times(o+""),b=Z(new E(r+"."+n.slice(1)),l-P).plus(u),E.precision=S,t==null?g(b,S,O,T=!0):b;for(f=b,c=s=b=A(b.minus(1),b.plus(1),l,1),p=g(b.times(b),l,1),i=3;;){if(s=g(s.times(p),l,1),u=c.plus(A(s,new E(i),l,1)),L(u.d).slice(0,l)===L(c.d).slice(0,l))if(c=c.times(2),o!==0&&(c=c.plus(Ne(E,l+2,S).times(o+""))),c=A(c,new E(d),l,1),t==null)if(se(c.d,l-P,O,a))E.precision=l+=P,u=s=b=A(f.minus(1),f.plus(1),l,1),p=g(b.times(b),l,1),i=a=1;else return g(c,E.precision=S,O,T=!0);else return E.precision=S,c;c=u,i+=2}}function Pt(e){return String(e.s*e.s/0)}function Pe(e,t){var n,r,i;for((n=t.indexOf("."))>-1&&(t=t.replace(".","")),(r=t.search(/e/i))>0?(n<0&&(n=r),n+=+t.slice(r+1),t=t.substring(0,r)):n<0&&(n=t.length),r=0;t.charCodeAt(r)===48;r++);for(i=t.length;t.charCodeAt(i-1)===48;--i);if(t=t.slice(r,i),t){if(i-=r,e.e=n=n-r-1,e.d=[],r=(n+1)%h,n<0&&(r+=h),r<i){for(r&&e.d.push(+t.slice(0,r)),i-=h;r<i;)e.d.push(+t.slice(r,r+=h));t=t.slice(r),r=h-t.length}else r-=i;for(;r--;)t+="0";e.d.push(+t),T&&(e.e>e.constructor.maxE?(e.d=null,e.e=NaN):e.e<e.constructor.minE&&(e.e=0,e.d=[0]))}else e.e=0,e.d=[0];return e}function Jt(e,t){var n,r,i,o,s,a,c,u,l;if(t.indexOf("_")>-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),Tt.test(t))return Pe(e,t)}else if(t==="Infinity"||t==="NaN")return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(Yt.test(t))n=16,t=t.toLowerCase();else if(jt.test(t))n=2;else if(zt.test(t))n=8;else throw Error(X+t);for(o=t.search(/p/i),o>0?(c=+t.slice(o+1),t=t.substring(2,o)):t=t.slice(2),o=t.indexOf("."),s=o>=0,r=e.constructor,s&&(t=t.replace(".",""),a=t.length,o=a-o,i=yt(r,new r(n),o,o*2)),u=xe(t,n,U),l=u.length-1,o=l;u[o]===0;--o)u.pop();return o<0?new r(e.s*0):(e.e=Ee(u,l),e.d=u,T=!1,s&&(e=A(e,i,a*4)),c&&(e=e.times(Math.abs(c)<54?B(2,c):Le.pow(2,c))),T=!0,e)}function $t(e,t){var n,r=t.d.length;if(r<3)return t.isZero()?t:te(e,2,t,t);n=1.4*Math.sqrt(r),n=n>16?16:n|0,t=t.times(1/Be(5,n)),t=te(e,2,t,t);for(var i,o=new e(5),s=new e(16),a=new e(20);n--;)i=t.times(t),t=t.times(o.plus(i.times(s.times(i).minus(a))));return t}function te(e,t,n,r,i){var o,s,a,c,u=1,l=e.precision,f=Math.ceil(l/h);for(T=!1,c=n.times(n),a=new e(r);;){if(s=A(a.times(c),new e(t++*t++),l,1),a=i?r.plus(s):r.minus(s),r=A(s.times(c),new e(t++*t++),l,1),s=a.plus(r),s.d[f]!==void 0){for(o=f;s.d[o]===a.d[o]&&o--;);if(o==-1)break}o=a,a=r,r=s,s=o,u++}return T=!0,s.d.length=f+1,s}function Be(e,t){for(var n=e;--t;)n*=e;return n}function St(e,t){var n,r=t.s<0,i=V(e,e.precision,1),o=i.times(.5);if(t=t.abs(),t.lte(o))return q=r?4:1,t;if(n=t.divToInt(i),n.isZero())q=r?3:2;else{if(t=t.minus(n.times(i)),t.lte(o))return q=ft(n)?r?2:3:r?4:1,t;q=ft(n)?r?1:4:r?3:2}return t.minus(i).abs()}function Ze(e,t,n,r){var i,o,s,a,c,u,l,f,p,d=e.constructor,P=n!==void 0;if(P?(R(n,1,J),r===void 0?r=d.rounding:R(r,0,8)):(n=d.precision,r=d.rounding),!e.isFinite())l=Pt(e);else{for(l=W(e),s=l.indexOf("."),P?(i=2,t==16?n=n*4-3:t==8&&(n=n*3-2)):i=t,s>=0&&(l=l.replace(".",""),p=new d(1),p.e=l.length-s,p.d=xe(W(p),10,i),p.e=p.d.length),f=xe(l,10,i),o=c=f.length;f[--c]==0;)f.pop();if(!f[0])l=P?"0p+0":"0";else{if(s<0?o--:(e=new d(e),e.d=f,e.e=o,e=A(e,p,n,r,0,i),f=e.d,o=e.e,u=dt),s=f[n],a=i/2,u=u||f[n+1]!==void 0,u=r<4?(s!==void 0||u)&&(r===0||r===(e.s<0?3:2)):s>a||s===a&&(r===4||u||r===6&&f[n-1]&1||r===(e.s<0?8:7)),f.length=n,u)for(;++f[--n]>i-1;)f[n]=0,n||(++o,f.unshift(1));for(c=f.length;!f[c-1];--c);for(s=0,l="";s<c;s++)l+=je.charAt(f[s]);if(P){if(c>1)if(t==16||t==8){for(s=t==16?4:3,--c;c%s;c++)l+="0";for(f=xe(l,i,t),c=f.length;!f[c-1];--c);for(s=1,l="1.";s<c;s++)l+=je.charAt(f[s])}else l=l.charAt(0)+"."+l.slice(1);l=l+(o<0?"p":"p+")+o}else if(o<0){for(;++o;)l="0"+l;l="0."+l}else if(++o>c)for(o-=c;o--;)l+="0";else o<c&&(l=l.slice(0,o)+"."+l.slice(o))}l=(t==16?"0x":t==2?"0b":t==8?"0o":"")+l}return e.s<0?"-"+l:l}function pt(e,t){if(e.length>t)return e.length=t,!0}function en(e){return new this(e).abs()}function tn(e){return new this(e).acos()}function nn(e){return new this(e).acosh()}function rn(e,t){return new this(e).plus(t)}function on(e){return new this(e).asin()}function sn(e){return new this(e).asinh()}function an(e){return new this(e).atan()}function un(e){return new this(e).atanh()}function cn(e,t){e=new this(e),t=new this(t);var n,r=this.precision,i=this.rounding,o=r+4;return!e.s||!t.s?n=new this(NaN):!e.d&&!t.d?(n=V(this,o,1).times(t.s>0?.25:.75),n.s=e.s):!t.d||e.isZero()?(n=t.s<0?V(this,r,i):new this(0),n.s=e.s):!e.d||t.isZero()?(n=V(this,o,1).times(.5),n.s=e.s):t.s<0?(this.precision=o,this.rounding=1,n=this.atan(A(e,t,o,1)),t=V(this,o,1),this.precision=r,this.rounding=i,n=e.s<0?n.minus(t):n.plus(t)):n=this.atan(A(e,t,o,1)),n}function ln(e){return new this(e).cbrt()}function fn(e){return g(e=new this(e),e.e+1,2)}function pn(e,t,n){return new this(e).clamp(t,n)}function mn(e){if(!e||typeof e!="object")throw Error(_e+"Object expected");var t,n,r,i=e.defaults===!0,o=["precision",1,J,"rounding",0,8,"toExpNeg",-ee,0,"toExpPos",0,ee,"maxE",0,ee,"minE",-ee,0,"modulo",0,9];for(t=0;t<o.length;t+=3)if(n=o[t],i&&(this[n]=Ye[n]),(r=e[n])!==void 0)if(I(r)===r&&r>=o[t+1]&&r<=o[t+2])this[n]=r;else throw Error(X+n+": "+r);if(n="crypto",i&&(this[n]=Ye[n]),(r=e[n])!==void 0)if(r===!0||r===!1||r===0||r===1)if(r)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[n]=!0;else throw Error(ht);else this[n]=!1;else throw Error(X+n+": "+r);return this}function dn(e){return new this(e).cos()}function gn(e){return new this(e).cosh()}function At(e){var t,n,r;function i(o){var s,a,c,u=this;if(!(u instanceof i))return new i(o);if(u.constructor=i,mt(o)){u.s=o.s,T?!o.d||o.e>i.maxE?(u.e=NaN,u.d=null):o.e<i.minE?(u.e=0,u.d=[0]):(u.e=o.e,u.d=o.d.slice()):(u.e=o.e,u.d=o.d?o.d.slice():o.d);return}if(c=typeof o,c==="number"){if(o===0){u.s=1/o<0?-1:1,u.e=0,u.d=[0];return}if(o<0?(o=-o,u.s=-1):u.s=1,o===~~o&&o<1e7){for(s=0,a=o;a>=10;a/=10)s++;T?s>i.maxE?(u.e=NaN,u.d=null):s<i.minE?(u.e=0,u.d=[0]):(u.e=s,u.d=[o]):(u.e=s,u.d=[o]);return}if(o*0!==0){o||(u.s=NaN),u.e=NaN,u.d=null;return}return Pe(u,o.toString())}if(c==="string")return(a=o.charCodeAt(0))===45?(o=o.slice(1),u.s=-1):(a===43&&(o=o.slice(1)),u.s=1),Tt.test(o)?Pe(u,o):Jt(u,o);if(c==="bigint")return o<0?(o=-o,u.s=-1):u.s=1,Pe(u,o.toString());throw Error(X+o)}if(i.prototype=m,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.EUCLID=9,i.config=i.set=mn,i.clone=At,i.isDecimal=mt,i.abs=en,i.acos=tn,i.acosh=nn,i.add=rn,i.asin=on,i.asinh=sn,i.atan=an,i.atanh=un,i.atan2=cn,i.cbrt=ln,i.ceil=fn,i.clamp=pn,i.cos=dn,i.cosh=gn,i.div=hn,i.exp=bn,i.floor=Tn,i.hypot=wn,i.ln=yn,i.log=xn,i.log10=Sn,i.log2=Pn,i.max=An,i.min=Nn,i.mod=_n,i.mul=En,i.pow=Bn,i.random=Ln,i.round=kn,i.sign=Cn,i.sin=In,i.sinh=Dn,i.sqrt=Mn,i.sub=Rn,i.sum=On,i.tan=Kn,i.tanh=vn,i.trunc=Un,e===void 0&&(e={}),e&&e.defaults!==!0)for(r=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],t=0;t<r.length;)e.hasOwnProperty(n=r[t++])||(e[n]=this[n]);return i.config(e),i}function hn(e,t){return new this(e).div(t)}function bn(e){return new this(e).exp()}function Tn(e){return g(e=new this(e),e.e+1,3)}function wn(){var e,t,n=new this(0);for(T=!1,e=0;e<arguments.length;)if(t=new this(arguments[e++]),t.d)n.d&&(n=n.plus(t.times(t)));else{if(t.s)return T=!0,new this(1/0);n=t}return T=!0,n.sqrt()}function mt(e){return e instanceof Le||e&&e.toStringTag===bt||!1}function yn(e){return new this(e).ln()}function xn(e,t){return new this(e).log(t)}function Pn(e){return new this(e).log(2)}function Sn(e){return new this(e).log(10)}function An(){return xt(this,arguments,-1)}function Nn(){return xt(this,arguments,1)}function _n(e,t){return new this(e).mod(t)}function En(e,t){return new this(e).mul(t)}function Bn(e,t){return new this(e).pow(t)}function Ln(e){var t,n,r,i,o=0,s=new this(1),a=[];if(e===void 0?e=this.precision:R(e,1,J),r=Math.ceil(e/h),this.crypto)if(crypto.getRandomValues)for(t=crypto.getRandomValues(new Uint32Array(r));o<r;)i=t[o],i>=429e7?t[o]=crypto.getRandomValues(new Uint32Array(1))[0]:a[o++]=i%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(r*=4);o<r;)i=t[o]+(t[o+1]<<8)+(t[o+2]<<16)+((t[o+3]&127)<<24),i>=214e7?crypto.randomBytes(4).copy(t,o):(a.push(i%1e7),o+=4);o=r/4}else throw Error(ht);else for(;o<r;)a[o++]=Math.random()*1e7|0;for(r=a[--o],e%=h,r&&e&&(i=B(10,h-e),a[o]=(r/i|0)*i);a[o]===0;o--)a.pop();if(o<0)n=0,a=[0];else{for(n=-1;a[0]===0;n-=h)a.shift();for(r=1,i=a[0];i>=10;i/=10)r++;r<h&&(n-=h-r)}return s.e=n,s.d=a,s}function kn(e){return g(e=new this(e),e.e+1,this.rounding)}function Cn(e){return e=new this(e),e.d?e.d[0]?e.s:0*e.s:e.s||NaN}function In(e){return new this(e).sin()}function Dn(e){return new this(e).sinh()}function Mn(e){return new this(e).sqrt()}function Rn(e,t){return new this(e).sub(t)}function On(){var e=0,t=arguments,n=new this(t[e]);for(T=!1;n.s&&++e<t.length;)n=n.plus(t[e]);return T=!0,g(n,this.precision,this.rounding)}function Kn(e){return new this(e).tan()}function vn(e){return new this(e).tanh()}function Un(e){return g(e=new this(e),e.e+1,1)}m[Symbol.for("nodejs.util.inspect.custom")]=m.toString;m[Symbol.toStringTag]="Decimal";var Le=m.constructor=At(Ye);Se=new Le(Se);Ae=new Le(Ae);import Yn from"big.js";import wo from"bn.js";import Fn from"toformat";var Vn=Fn,ae=Vn;import Ce from"big.js";import Hn from"bn.js";import qn from"decimal.js-light";import ue from"bn.js";var Nt=9007199254740991;function F(e){let t=M("CobaltX_parseBigNumberish");if(e instanceof ue)return e;if(typeof e=="string"){if(e.match(/^-?[0-9]+$/))return new ue(e);t.logWithError(`invalid BigNumberish string: ${e}`)}return typeof e=="number"?(e%1&&t.logWithError(`BigNumberish number underflow: ${e}`),(e>=Nt||e<=-Nt)&&t.logWithError(`BigNumberish number overflow: ${e}`),new ue(String(e))):typeof e=="bigint"?new ue(e.toString()):(t.error(`invalid BigNumberish value: ${e}`),new ue(0))}var ke=M("module/fraction"),Xe=ae(Ce),ce=ae(qn),Gn={[0]:ce.ROUND_DOWN,[1]:ce.ROUND_HALF_UP,[2]:ce.ROUND_UP},jn={[0]:Ce.roundDown,[1]:Ce.roundHalfUp,[2]:Ce.roundUp},_=class{constructor(t,n=new Hn(1)){this.numerator=F(t),this.denominator=F(n)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new _(this.denominator,this.numerator)}add(t){let n=t instanceof _?t:new _(F(t));return this.denominator.eq(n.denominator)?new _(this.numerator.add(n.numerator),this.denominator):new _(this.numerator.mul(n.denominator).add(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}sub(t){let n=t instanceof _?t:new _(F(t));return this.denominator.eq(n.denominator)?new _(this.numerator.sub(n.numerator),this.denominator):new _(this.numerator.mul(n.denominator).sub(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}mul(t){let n=t instanceof _?t:new _(F(t));return new _(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(t){let n=t instanceof _?t:new _(F(t));return new _(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(t,n={groupSeparator:""},r=1){Number.isInteger(t)||ke.logWithError(`${t} is not an integer.`),t<=0&&ke.logWithError(`${t} is not positive.`),ce.set({precision:t+1,rounding:Gn[r]});let i=new ce(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(t);return i.toFormat(i.decimalPlaces(),n)}toFixed(t,n={groupSeparator:""},r=1){return Number.isInteger(t)||ke.logWithError(`${t} is not an integer.`),t<0&&ke.logWithError(`${t} is negative.`),Xe.DP=t,Xe.RM=jn[r]||1,new Xe(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,n)}isZero(){return this.numerator.isZero()}};var Bo=M("CobaltX_amount"),Lo=ae(Yn);import{TOKEN_PROGRAM_ID as Zn}from"@solana/spl-token";import{PublicKey as Ro}from"@solana/web3.js";import{PublicKey as G}from"@solana/web3.js";var Qn={["sooneth"]:{NATIVE_TOKEN_SYMBOL:"ETH",SWAP_HOST:"https://trade-api.cobaltx.io",BASE_HOST:"https://api.cobaltx.io",OWNER_BASE_HOST:"https://api.cobaltx.io",SERVICE_BASE_HOST:"https://api.cobaltx.io",MONITOR_BASE_HOST:"https://api.cobaltx.io",SERVICE_1_BASE_HOST:"https://api.cobaltx.io",ANALYTICS_BASE_HOST:"https://api.cobaltx.io",GITHUB_TOKEN_LIST_URL:"https://raw.githubusercontent.com/cobaltx-io/tokens/main/tokens.json",WSOL_MINT_ADDRESS:"So11111111111111111111111111111111111111112",GITHUB_LOGO_URL:"https://raw.githubusercontent.com/cobaltx-io/tokens/main/logo/So11111111111111111111111111111111111111112.png",LOOKUP_TABLE_CACHE:"6fa5xTGwoYJPMLMXaQ4tQFKMoYvXuvsJFLigMJ9a5QeB",CLMM_PROGRAMM_ID:"2TnjBuwqyBB9to5jURagDT7jLmBPefGRiKL2yh1zPZ4V",BONK_MINT_ADDRESS:"71kRXzJMvSeArtXYNEWa8KAjpRJosdMQ7Dpgy5Jt5zfd",SOL_MINT_ADDRESS:"ERFzpDteGNo8LTDKW1WwVGrkRMmA2y9WZHXNHxMA6BSV",USDC_MINT_ADDRESS:"ExYxyorY2x3h8gLcuypnHFQV3F36rmMkQVn7HHV8mUy9",USDT_MINT_ADDRESS:"742wcXVzkhNuEePAot7L3GvPseh93pvYFPgyHLX8mUy9",FULL_TOKEN_NAME:"Wrapped Ethereum",ETH_MINT_ADDRESS:"71kRXzJMvSeArtXYNEWa8KAjpRJosdMQ7Dpgy5Jt5zfd",WRAPPED_TOKEN_SYMBOL:"WETH",INPUT_MINT_ADDRESS:G.default.toString(),OUTPUT_MINT_ADDRESS:"742wcXVzkhNuEePAot7L3GvPseh93pvYFPgyHLX8mUy9",POPULAR_TOKENS:{SOL:G.default.toString(),ETH:"71kRXzJMvSeArtXYNEWa8KAjpRJosdMQ7Dpgy5Jt5zfd",USDC:"ExYxyorY2x3h8gLcuypnHFQV3F36rmMkQVn7HHV8KjtA",USDT:"742wcXVzkhNuEePAot7L3GvPseh93pvYFPgyHLX8mUy9"},WSOL_DECIMALS:9},["svmbnb"]:{NATIVE_TOKEN_SYMBOL:"BNB",SWAP_HOST:"https://trade-api.svmbnb.cobaltx.io",BASE_HOST:"https://api.svmbnb.cobaltx.io",OWNER_BASE_HOST:"https://api.svmbnb.cobaltx.io",SERVICE_BASE_HOST:"https://api.svmbnb.cobaltx.io",MONITOR_BASE_HOST:"https://api.svmbnb.cobaltx.io",SERVICE_1_BASE_HOST:"https://api.svmbnb.cobaltx.io",ANALYTICS_BASE_HOST:"https://api.svmbnb.cobaltx.io",GITHUB_TOKEN_LIST_URL:"https://raw.githubusercontent.com/cobaltx-io/svmbnb-tokens/main/tokens.json",WSOL_MINT_ADDRESS:"So11111111111111111111111111111111111111112",GITHUB_LOGO_URL:"https://raw.githubusercontent.com/cobaltx-io/svmbnb-tokens/main/logo/So11111111111111111111111111111111111111112.svg",LOOKUP_TABLE_CACHE:"GSR5XQGWhpzV9TTduBJR6qPNjYsepMQSGkpaqfrbrW9w",CLMM_PROGRAMM_ID:"6f1b3xyVZbnWMHXBjgW1KPwxmPAgXcRdrvKNn4Nmf1Cn",ETH_MINT_ADDRESS:"H3xpFH1yN5E1zFdAoBrC9Y7m7RfJUeQNLvkHi8kNf9Qu",USDC_MINT_ADDRESS:"5odzAHDpDETYhupMkc6kjiYen3K2nrf8oPmvqmsoNW4L",USDT_MINT_ADDRESS:"s8cRDxnp3VxjB6khRnGDdxv6QbCUPyY9Vn1bgSQQsnG",SOL_MINT_ADDRESS:"So11111111111111111111111111111111111111112",FULL_TOKEN_NAME:"Wrapped BNB",WRAPPED_TOKEN_SYMBOL:"WBNB",INPUT_MINT_ADDRESS:G.default.toBase58(),OUTPUT_MINT_ADDRESS:"ABoT7umUXnx8RtJTeRqKB6myebVjP2wdJGQuV23jVVH3",POPULAR_TOKENS:{SOL:G.default.toString(),ETH:"H3xpFH1yN5E1zFdAoBrC9Y7m7RfJUeQNLvkHi8kNf9Qu",USDC:"5odzAHDpDETYhupMkc6kjiYen3K2nrf8oPmvqmsoNW4L",USDT:"s8cRDxnp3VxjB6khRnGDdxv6QbCUPyY9Vn1bgSQQsnG"},WSOL_DECIMALS:9},["svmbnb_testnet"]:{NATIVE_TOKEN_SYMBOL:"BNB",SWAP_HOST:"https://trade-api.svmbnb.cobaltx.io",BASE_HOST:"https://api.testnet.svmbnb.cobaltx.io",OWNER_BASE_HOST:"https://api.testnet.svmbnb.cobaltx.io",SERVICE_BASE_HOST:"https://api.testnet.svmbnb.cobaltx.io",MONITOR_BASE_HOST:"https://api.testnet.svmbnb.cobaltx.io",SERVICE_1_BASE_HOST:"https://api.testnet.svmbnb.cobaltx.io",ANALYTICS_BASE_HOST:"https://api.testnet.svmbnb.cobaltx.io",GITHUB_TOKEN_LIST_URL:"https://raw.githubusercontent.com/cobaltx-io/svmbnb-testnet-tokens/main/tokens.json",WSOL_MINT_ADDRESS:"So11111111111111111111111111111111111111112",GITHUB_LOGO_URL:"https://raw.githubusercontent.com/cobaltx-io/svmbnb-testnet-tokens/main/logo/So11111111111111111111111111111111111111112.svg",LOOKUP_TABLE_CACHE:"D79gSiTNV9pyLPJyscW5yZYwdPVDrtKsamL3ZfQi6JiM",CLMM_PROGRAMM_ID:"FgycD57kcCZsjpoTAi2u67GTPxm59bPEhycL2Lw1icm1",ETH_MINT_ADDRESS:"5aLr3sV4UNVcMB6CiA3PZTWbgVBRNyMdEp1s5LNfhR95",USDC_MINT_ADDRESS:"jrhUNRxEDpFmGV3sqaWyveS7bVtRQgtHsfBTCdjfMBw",USDT_MINT_ADDRESS:"Ex86C4gmdjvPRNrfyvsyejbjkP6RstNaBC5g3itZw2iv",FULL_TOKEN_NAME:"Wrapped BNB",WRAPPED_TOKEN_SYMBOL:"WBNB",INPUT_MINT_ADDRESS:"bnb",OUTPUT_MINT_ADDRESS:"jrhUNRxEDpFmGV3sqaWyveS7bVtRQgtHsfBTCdjfMBw",POPULAR_TOKENS:{SOL:G.default.toString(),ETH:"5aLr3sV4UNVcMB6CiA3PZTWbgVBRNyMdEp1s5LNfhR95",USDC:"jrhUNRxEDpFmGV3sqaWyveS7bVtRQgtHsfBTCdjfMBw",USDT:"Ex86C4gmdjvPRNrfyvsyejbjkP6RstNaBC5g3itZw2iv"},WSOL_DECIMALS:9},["svmbase_testnet"]:{NATIVE_TOKEN_SYMBOL:"ETH",SWAP_HOST:"https://trade-api.testnet.svmbase.cobaltx.io",BASE_HOST:"https://api.testnet.svmbase.cobaltx.io",OWNER_BASE_HOST:"https://api.testnet.svmbase.cobaltx.io",SERVICE_BASE_HOST:"https://api.testnet.svmbase.cobaltx.io",MONITOR_BASE_HOST:"https://api.testnet.svmbase.cobaltx.io",SERVICE_1_BASE_HOST:"https://api.testnet.svmbase.cobaltx.io",ANALYTICS_BASE_HOST:"https://api.testnet.svmbase.cobaltx.io",GITHUB_TOKEN_LIST_URL:"https://raw.githubusercontent.com/cobaltx-io/svmbase-testnet-tokens/main/tokens.json",WSOL_MINT_ADDRESS:"So11111111111111111111111111111111111111112",GITHUB_LOGO_URL:"https://raw.githubusercontent.com/cobaltx-io/svmbase-testnet-tokens/main/logo/So11111111111111111111111111111111111111112.png",LOOKUP_TABLE_CACHE:"AyPMvNmUUY2jwZ75NxhkLYPraQGNk5DssVfP4TnMcPJF",CLMM_PROGRAMM_ID:"DnZnBqJKiGSYHUHYvkXAbQmkMbwrjfgo4orR7jWyMsik",ETH_MINT_ADDRESS:"71kRXzJMvSeArtXYNEWa8KAjpRJosdMQ7Dpgy5Jt5zfd",USDC_MINT_ADDRESS:"63tPXWPnYeZ9hA3dJsAY5RcQ8YbwEz8uZ5nKu3uFD1aK",USDT_MINT_ADDRESS:"4fyX7hSmPetQC2wRS3YVAhWeFzif7WStarKwTvCXrBtD",FULL_TOKEN_NAME:"Wrapped Ethereum",WRAPPED_TOKEN_SYMBOL:"WETH",INPUT_MINT_ADDRESS:G.default.toString(),OUTPUT_MINT_ADDRESS:"63tPXWPnYeZ9hA3dJsAY5RcQ8YbwEz8uZ5nKu3uFD1aK",POPULAR_TOKENS:{SOL:G.default.toString(),ETH:"So11111111111111111111111111111111111111112",USDC:"63tPXWPnYeZ9hA3dJsAY5RcQ8YbwEz8uZ5nKu3uFD1aK",USDT:"4fyX7hSmPetQC2wRS3YVAhWeFzif7WStarKwTvCXrBtD"},WSOL_DECIMALS:9},["soonbase_mainnet"]:{NATIVE_TOKEN_SYMBOL:"ETH",SWAP_HOST:"https://trade-api.soonbase.cobaltx.io",BASE_HOST:"https://api.soonbase.cobaltx.io",OWNER_BASE_HOST:"https://api.soonbase.cobaltx.io",SERVICE_BASE_HOST:"https://api.soonbase.cobaltx.io",MONITOR_BASE_HOST:"https://api.soonbase.cobaltx.io",SERVICE_1_BASE_HOST:"https://api.soonbase.cobaltx.io",ANALYTICS_BASE_HOST:"https://api.soonbase.cobaltx.io",GITHUB_TOKEN_LIST_URL:"https://raw.githubusercontent.com/cobaltx-io/soonbase-tokens/main/tokens.json",WSOL_MINT_ADDRESS:"So11111111111111111111111111111111111111112",GITHUB_LOGO_URL:"https://raw.githubusercontent.com/cobaltx-io/soonbase-tokens/main/logo/So11111111111111111111111111111111111111112.png",LOOKUP_TABLE_CACHE:"FGRusuLycV6nhSPQc9VX55YjT6DCzJFc59mvTTarSTjK",CLMM_PROGRAMM_ID:"6f1b3xyVZbnWMHXBjgW1KPwxmPAgXcRdrvKNn4Nmf1Cn",ETH_MINT_ADDRESS:"71kRXzJMvSeArtXYNEWa8KAjpRJosdMQ7Dpgy5Jt5zfd",USDC_MINT_ADDRESS:"BoYN2f2gLQS4jpvMSV9dAZwfzKJiKGk4NPck5BjXfujo",USDT_MINT_ADDRESS:"J87bysZjwfS3n6KR21cwbdPZVJWNSFcXpWF5kiChAwQH",FULL_TOKEN_NAME:"Wrapped Ethereum",WRAPPED_TOKEN_SYMBOL:"WETH",INPUT_MINT_ADDRESS:G.default.toString(),OUTPUT_MINT_ADDRESS:"BoYN2f2gLQS4jpvMSV9dAZwfzKJiKGk4NPck5BjXfujo",POPULAR_TOKENS:{SOL:G.default.toString(),ETH:"FkvCG5DcuYCQ1BnPH4ZzTkCdk3VzutgyDAFBec4qAjhh",USDC:"BoYN2f2gLQS4jpvMSV9dAZwfzKJiKGk4NPck5BjXfujo",USDT:"J87bysZjwfS3n6KR21cwbdPZVJWNSFcXpWF5kiChAwQH"},WSOL_DECIMALS:9}},le=e=>Qn[e];function Je(e){let t=le(e);return{chainId:101,address:t.WSOL_MINT_ADDRESS,programId:Zn.toBase58(),decimals:9,symbol:t.WRAPPED_TOKEN_SYMBOL||"",name:t.FULL_TOKEN_NAME,logoURI:t.GITHUB_LOGO_URL,tags:[],priority:2,type:"cobaltx",extensions:{coingeckoId:"solana"}}}import{PublicKey as es}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Xn}from"@solana/spl-token";import{PublicKey as $,SystemProgram as _t,SYSVAR_RENT_PUBKEY as Jn}from"@solana/web3.js";function $e({pubkey:e,isSigner:t=!1,isWritable:n=!0}){return{pubkey:e,isWritable:n,isSigner:t}}var Ho=[$e({pubkey:Xn,isWritable:!1}),$e({pubkey:_t.programId,isWritable:!1}),$e({pubkey:Jn,isWritable:!1})];var qo=new $("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Go=new $("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),jo=new $("SysvarRent111111111111111111111111111111111"),Yo=new $("SysvarC1ock11111111111111111111111111111111"),zo=new $("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),Qo=new $("Sysvar1nstructions1111111111111111111111111"),Zo=_t.programId,$n=$.default;import er from"bn.js";var fs=new _(new er(100));var bs=M("CobaltX_price");import{PublicKey as Rs}from"@solana/web3.js";import Ks from"bn.js";var tr=new j(0),ra=new j(1),ia=new j(2),oa=new j(3),sa=new j(5),zn=new j(10),aa=new j(100),ua=new j(1e3),ca=new j(1e4);import{PublicKey as rr}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ir}from"@solana/spl-token";import{ComputeBudgetProgram as ba,Keypair as ya,PublicKey as nr,Transaction as Pa,TransactionMessage as Aa,VersionedTransaction as Na}from"@solana/web3.js";var fe={CreateAccount:"CreateAccount",InitAccount:"InitAccount",CreateATA:"CreateATA",CloseAccount:"CloseAccount",TransferAmount:"TransferAmount",InitMint:"InitMint",MintTo:"MintTo",InitMarket:"InitMarket",Util1216OwnerClaim:"Util1216OwnerClaim",SetComputeUnitPrice:"SetComputeUnitPrice",SetComputeUnitLimit:"SetComputeUnitLimit",ClmmCreatePool:"ClmmCreatePool",ClmmOpenPosition:"ClmmOpenPosition",ClmmIncreasePosition:"ClmmIncreasePosition",ClmmDecreasePosition:"ClmmDecreasePosition",ClmmClosePosition:"ClmmClosePosition",ClmmSwapBaseIn:"ClmmSwapBaseIn",ClmmSwapBaseOut:"ClmmSwapBaseOut",ClmmInitReward:"ClmmInitReward",ClmmSetReward:"ClmmSetReward",ClmmCollectReward:"ClmmCollectReward",ClmmLockPosition:"ClmmLockPosition",ClmmHarvestLockPosition:"ClmmHarvestLockPosition",AmmV4Swap:"AmmV4Swap",AmmV4AddLiquidity:"AmmV4AddLiquidity",AmmV4RemoveLiquidity:"AmmV4RemoveLiquidity",AmmV4SimulatePoolInfo:"AmmV4SimulatePoolInfo",AmmV4SwapBaseIn:"AmmV4SwapBaseIn",AmmV4SwapBaseOut:"AmmV4SwapBaseOut",AmmV4CreatePool:"AmmV4CreatePool",AmmV4InitPool:"AmmV4InitPool",AmmV5AddLiquidity:"AmmV5AddLiquidity",AmmV5RemoveLiquidity:"AmmV5RemoveLiquidity",AmmV5SimulatePoolInfo:"AmmV5SimulatePoolInfo",AmmV5SwapBaseIn:"AmmV5SwapBaseIn",AmmV5SwapBaseOut:"AmmV5SwapBaseOut",RouteSwap:"RouteSwap",RouteSwap1:"RouteSwap1",RouteSwap2:"RouteSwap2",FarmV3Deposit:"FarmV3Deposit",FarmV3Withdraw:"FarmV3Withdraw",FarmV3CreateLedger:"FarmV3CreateLedger",FarmV4Withdraw:"FarmV4Withdraw",FarmV5Deposit:"FarmV5Deposit",FarmV5Withdraw:"FarmV5Withdraw",FarmV5CreateLedger:"FarmV5CreateLedger",FarmV6Deposit:"FarmV6Deposit",FarmV6Withdraw:"FarmV6Withdraw",FarmV6Create:"FarmV6Create",FarmV6Restart:"FarmV6Restart",FarmV6CreatorAddReward:"FarmV6CreatorAddReward",FarmV6CreatorWithdraw:"FarmV6CreatorWithdraw",CpmmCreatePool:"CpmmCreatePool",CpmmAddLiquidity:"CpmmAddLiquidity",CpmmWithdrawLiquidity:"CpmmWithdrawLiquidity",CpmmSwapBaseIn:"CpmmSwapBaseIn",CpmmSwapBaseOut:"CpmmSwapBaseOut",CpmmLockLp:"CpmmLockLp",CpmmCollectLockFee:"CpmmCollectLockFee"};import{TOKEN_PROGRAM_ID as La}from"@solana/spl-token";var ka=M("CobaltX_txUtil");function Ct(e,t){let[n,r]=nr.findProgramAddressSync(e,t);return{publicKey:n,nonce:r}}function It(e,t,n){return Ct([e.toBuffer(),(n!=null?n:ir).toBuffer(),t.toBuffer()],new rr("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"))}import{PublicKey as w}from"@solana/web3.js";var va=new w("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),Ua=new w("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),Fa=new w("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Va=new w("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),Wa=new w("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Ha=new w("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),qa=new w("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),Ga=new w("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),ja=new w("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),Ya=new w("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo");var za=new w("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Qa=new w("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),Za=new w("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Xa=new w("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Ja=new w("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),$a=new w("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),eu=new w("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),tu=new w("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi"),nu=new w("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),ru=new w("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),iu=new w("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),or=new w("CPMDWBwJDtYax9qW7AyRuVC19Cc4L4Vcy4n2BHAbHkCW"),sr=new w("7rQ1QFNosMkUCuh7Z7fPbTHvh73b68sQYdirycEzJVuw"),ar=new w("G11FKBRaAkHAKuLCgLM6K6NUc9rTjPAznRCjZifrTQe2"),ou=new w("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),ur=new w("DLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC"),su=new w("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),cr=new w("7AFUeLVRjBfzqK3tTGw8hN48KLQWSk6DTE8xprWdPqix");var au={SERUM_MARKET:w.default,OPENBOOK_MARKET:new w("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),UTIL1216:w.default,FarmV3:new w("85BFyr98MbCUU9MVTEgzx1nbhWACbJqLzho6zd6DZcWL"),FarmV5:new w("EcLzTrNg9V7qhcdyXDe2qjtPkiGzDM2UbdRaeaadU5r2"),FarmV6:new w("Farm2hJLcqPtPg8M4rR6DMrsRNc5TPm5Cs4bVQrMe2T7"),AmmV4:new w("HWy1jotHpo6UqeQxx49dpYYdQB8wj9Qk9MdxwjLvDHB8"),AmmStable:new w("DDg4VmQaJV9ogWce7LpcjBA9bv22wRp5uaTPa5pGjijF"),CLMM:new w("devi51mZmdwUJGU9hjN27vEz64Gps7uUefqxg27EAtH"),CLMM_LOCK_PROGRAM_ID:new w("DLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC"),CLMM_LOCK_AUTH_ID:new w("8qmHNvu2Kr2C7U8mJL4Vz1vTDxMhVuXKREwU7TNoaVEo"),Router:new w("BVChZ3XFEwTMUk1o9i3HAf91H6mFxSwa5X2wFAWhYPhU"),CREATE_CPMM_POOL_PROGRAM:or,CREATE_CPMM_POOL_AUTH:sr,CREATE_CPMM_POOL_FEE_ACC:ar,FEE_DESTINATION_ID:new w("3XMrhbv989VxAMi3DErLV9eJht1pHppW5LbKxe9fkEFR"),LOCK_CPMM_PROGRAM:ur,LCOK_CPMM_AUTH:cr};import lu from"bn.js";import{PublicKey as gu,AddressLookupTableAccount as hu}from"@solana/web3.js";import{PublicKey as Du,sendAndConfirmTransaction as Mu,Transaction as Ou,TransactionMessage as vu,VersionedTransaction as Uu}from"@solana/web3.js";import Vu from"axios";var yc=M("CobaltX_Util");function xc({owner:e,solAccountResp:t,tokenAccountResp:n}){let r=[],i=[];for(let{pubkey:o,account:s}of n.value){let a=oe.decode(s.data),{mint:c,amount:u}=a;r.push({publicKey:o,mint:c,amount:u,isAssociated:It(e,c,s.owner).publicKey.equals(o),isNative:!1,programId:s.owner}),i.push({pubkey:o,accountInfo:a,programId:s.owner})}return t&&r.push({mint:Dt.default,amount:new pr(String(t.lamports)),isNative:!0,programId:t.owner}),{tokenAccounts:r,tokenAccountRawInfos:i}}function Mt({fromPublicKey:e,programId:t=lr,assignSeed:n}){let r=n?btoa(n).slice(0,32):fr.generate().publicKey.toBase58().slice(0,32);return{publicKey:mr(e,r,t),seed:r}}function mr(e,t,n){let r=Buffer.concat([e.toBuffer(),Buffer.from(t),n.toBuffer()]),i=ut(r);return new Dt(i)}import{createCloseAccountInstruction as dr,createInitializeAccountInstruction as gr,createTransferInstruction as hr,TOKEN_PROGRAM_ID as ne}from"@solana/spl-token";import{PublicKey as br,SystemProgram as Tr}from"@solana/web3.js";import wr from"bn.js";function yr(e){let{mint:t,tokenAccount:n,owner:r,programId:i=ne}=e;return gr(n,t,r,i)}function xr(e){let{tokenAccount:t,payer:n,multiSigners:r=[],owner:i,programId:o=ne}=e;return dr(t,n,i,r,o)}async function Oc(e){let{connection:t,amount:n,commitment:r,payer:i,owner:o,skipCloseAccount:s,network:a}=e,c=await t.getMinimumBalanceForRentExemption(oe.span,r),u=F(n).add(new wr(c)),l=Mt({fromPublicKey:i,programId:ne});return{addresses:{newAccount:l.publicKey},signers:[],instructions:[Tr.createAccountWithSeed({fromPubkey:i,basePubkey:i,seed:l.seed,newAccountPubkey:l.publicKey,lamports:u.toNumber(),space:oe.span,programId:ne}),yr({mint:new br(Je(a).address),tokenAccount:l.publicKey,owner:o,programId:ne})],instructionTypes:[fe.CreateAccount,fe.InitAccount],endInstructionTypes:s?[]:[fe.CloseAccount],endInstructions:s?[]:[xr({tokenAccount:l.publicKey,payer:i,owner:o})]}}function Kc({source:e,destination:t,owner:n,amount:r,multiSigners:i=[],tokenProgram:o=ne}){return hr(e,t,n,BigInt(String(r)),i,o)}export{xr as closeAccountInstruction,Oc as createWSolAccountInstructions,Mt as generatePubKey,yr as initTokenAccountInstruction,Kc as makeTransferInstruction,xc as parseTokenAccountResp,oe as splAccountLayout};
/*!
 *  decimal.js v10.5.0
 *  An arbitrary-precision Decimal type for JavaScript.
 *  https://github.com/MikeMcl/decimal.js
 *  Copyright (c) 2025 Michael Mclaughlin <M8ch88l@gmail.com>
 *  MIT Licence
 */
/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */
//# sourceMappingURL=index.mjs.map