@raydium-io/raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
3 lines • 83.7 kB
JavaScript
var Hn=Object.defineProperty,zn=Object.defineProperties;var jn=Object.getOwnPropertyDescriptors;var He=Object.getOwnPropertySymbols;var Yt=Object.prototype.hasOwnProperty,Jt=Object.prototype.propertyIsEnumerable;var Zt=(t,e,n)=>e in t?Hn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,H=(t,e)=>{for(var n in e||(e={}))Yt.call(e,n)&&Zt(t,n,e[n]);if(He)for(var n of He(e))Jt.call(e,n)&&Zt(t,n,e[n]);return t},ae=(t,e)=>zn(t,jn(e));var ze=(t,e)=>{var n={};for(var r in t)Yt.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&He)for(var r of He(t))e.indexOf(r)<0&&Jt.call(t,r)&&(n[r]=t[r]);return n};import{PublicKey as Ue}from"@solana/web3.js";import We from"bn.js";import{TOKEN_PROGRAM_ID as Wn}from"@solana/spl-token";import se from"bn.js";var xe=9e15,pe=1e9,gt="0123456789abcdef",Qe="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",Ze="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",ht={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-xe,maxE:xe,crypto:!1},tn,ie,M=!0,Je="[DecimalError] ",fe=Je+"Invalid argument: ",nn=Je+"Precision limit exceeded",rn=Je+"crypto unavailable",on="[object Decimal]",Q=Math.floor,G=Math.pow,Qn=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Zn=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Yn=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,sn=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,ee=1e7,L=7,Jn=9007199254740991,Xn=Qe.length-1,bt=Ze.length-1,d={toStringTag:on};d.absoluteValue=d.abs=function(){var t=new this.constructor(this);return t.s<0&&(t.s=1),A(t)};d.ceil=function(){return A(new this.constructor(this),this.e+1,2)};d.clampedTo=d.clamp=function(t,e){var n,r=this,i=r.constructor;if(t=new i(t),e=new i(e),!t.s||!e.s)return new i(NaN);if(t.gt(e))throw Error(fe+e);return n=r.cmp(t),n<0?t:r.cmp(e)>0?e:new i(r)};d.comparedTo=d.cmp=function(t){var e,n,r,i,o=this,s=o.d,u=(t=new o.constructor(t)).d,c=o.s,a=t.s;if(!s||!u)return!c||!a?NaN:c!==a?c:s===u?0:!s^c<0?1:-1;if(!s[0]||!u[0])return s[0]?c:u[0]?-a:0;if(c!==a)return c;if(o.e!==t.e)return o.e>t.e^c<0?1:-1;for(r=s.length,i=u.length,e=0,n=r<i?r:i;e<n;++e)if(s[e]!==u[e])return s[e]>u[e]^c<0?1:-1;return r===i?0:r>i^c<0?1:-1};d.cosine=d.cos=function(){var t,e,n=this,r=n.constructor;return n.d?n.d[0]?(t=r.precision,e=r.rounding,r.precision=t+Math.max(n.e,n.sd())+L,r.rounding=1,n=$n(r,fn(r,n)),r.precision=t,r.rounding=e,A(ie==2||ie==3?n.neg():n,t,e,!0)):new r(1):new r(NaN)};d.cubeRoot=d.cbrt=function(){var t,e,n,r,i,o,s,u,c,a,l=this,f=l.constructor;if(!l.isFinite()||l.isZero())return new f(l);for(M=!1,o=l.s*G(l.s*l,1/3),!o||Math.abs(o)==1/0?(n=z(l.d),t=l.e,(o=(t-n.length+1)%3)&&(n+=o==1||o==-2?"0":"00"),o=G(n,1/3),t=Q((t+1)/3)-(t%3==(t<0?-1:2)),o==1/0?n="5e"+t:(n=o.toExponential(),n=n.slice(0,n.indexOf("e")+1)+t),r=new f(n),r.s=l.s):r=new f(o.toString()),s=(t=f.precision)+3;;)if(u=r,c=u.times(u).times(u),a=c.plus(l),r=V(a.plus(l).times(u),a.plus(c),s+2,1),z(u.d).slice(0,s)===(n=z(r.d)).slice(0,s))if(n=n.slice(s-3,s+1),n=="9999"||!i&&n=="4999"){if(!i&&(A(u,t+1,0),u.times(u).times(u).eq(l))){r=u;break}s+=4,i=1}else{(!+n||!+n.slice(1)&&n.charAt(0)=="5")&&(A(r,t+1,1),e=!r.times(r).times(r).eq(l));break}return M=!0,A(r,t,f.rounding,e)};d.decimalPlaces=d.dp=function(){var t,e=this.d,n=NaN;if(e){if(t=e.length-1,n=(t-Q(this.e/L))*L,t=e[t],t)for(;t%10==0;t/=10)n--;n<0&&(n=0)}return n};d.dividedBy=d.div=function(t){return V(this,new this.constructor(t))};d.dividedToIntegerBy=d.divToInt=function(t){var e=this,n=e.constructor;return A(V(e,new n(t),0,1,1),n.precision,n.rounding)};d.equals=d.eq=function(t){return this.cmp(t)===0};d.floor=function(){return A(new this.constructor(this),this.e+1,3)};d.greaterThan=d.gt=function(t){return this.cmp(t)>0};d.greaterThanOrEqualTo=d.gte=function(t){var e=this.cmp(t);return e==1||e===0};d.hyperbolicCosine=d.cosh=function(){var t,e,n,r,i,o=this,s=o.constructor,u=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return u;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?(t=Math.ceil(i/3),e=(1/$e(4,t)).toString()):(t=16,e="2.3283064365386962890625e-10"),o=Te(s,1,o.times(e),new s(1),!0);for(var c,a=t,l=new s(8);a--;)c=o.times(o),o=u.minus(c.times(l.minus(c.times(l))));return A(o,s.precision=n,s.rounding=r,!0)};d.hyperbolicSine=d.sinh=function(){var t,e,n,r,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(e=o.precision,n=o.rounding,o.precision=e+Math.max(i.e,i.sd())+4,o.rounding=1,r=i.d.length,r<3)i=Te(o,2,i,i,!0);else{t=1.4*Math.sqrt(r),t=t>16?16:t|0,i=i.times(1/$e(5,t)),i=Te(o,2,i,i,!0);for(var s,u=new o(5),c=new o(16),a=new o(20);t--;)s=i.times(i),i=i.times(u.plus(s.times(c.times(s).plus(a))))}return o.precision=e,o.rounding=n,A(i,e,n,!0)};d.hyperbolicTangent=d.tanh=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+7,r.rounding=1,V(n.sinh(),n.cosh(),r.precision=t,r.rounding=e)):new r(n.s)};d.inverseCosine=d.acos=function(){var t,e=this,n=e.constructor,r=e.abs().cmp(1),i=n.precision,o=n.rounding;return r!==-1?r===0?e.isNeg()?$(n,i,o):new n(0):new n(NaN):e.isZero()?$(n,i+4,o).times(.5):(n.precision=i+6,n.rounding=1,e=e.asin(),t=$(n,i+4,o).times(.5),n.precision=i,n.rounding=o,t.minus(e))};d.inverseHyperbolicCosine=d.acosh=function(){var t,e,n=this,r=n.constructor;return n.lte(1)?new r(n.eq(1)?0:NaN):n.isFinite()?(t=r.precision,e=r.rounding,r.precision=t+Math.max(Math.abs(n.e),n.sd())+4,r.rounding=1,M=!1,n=n.times(n).minus(1).sqrt().plus(n),M=!0,r.precision=t,r.rounding=e,n.ln()):new r(n)};d.inverseHyperbolicSine=d.asinh=function(){var t,e,n=this,r=n.constructor;return!n.isFinite()||n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+2*Math.max(Math.abs(n.e),n.sd())+6,r.rounding=1,M=!1,n=n.times(n).plus(1).sqrt().plus(n),M=!0,r.precision=t,r.rounding=e,n.ln())};d.inverseHyperbolicTangent=d.atanh=function(){var t,e,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):(t=o.precision,e=o.rounding,r=i.sd(),Math.max(r,t)<2*-i.e-1?A(new o(i),t,e,!0):(o.precision=n=r-i.e,i=V(i.plus(1),new o(1).minus(i),n+t,1),o.precision=t+4,o.rounding=1,i=i.ln(),o.precision=t,o.rounding=e,i.times(.5))):new o(NaN)};d.inverseSine=d.asin=function(){var t,e,n,r,i=this,o=i.constructor;return i.isZero()?new o(i):(e=i.abs().cmp(1),n=o.precision,r=o.rounding,e!==-1?e===0?(t=$(o,n+4,r).times(.5),t.s=i.s,t):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)))};d.inverseTangent=d.atan=function(){var t,e,n,r,i,o,s,u,c,a=this,l=a.constructor,f=l.precision,p=l.rounding;if(a.isFinite()){if(a.isZero())return new l(a);if(a.abs().eq(1)&&f+4<=bt)return s=$(l,f+4,p).times(.25),s.s=a.s,s}else{if(!a.s)return new l(NaN);if(f+4<=bt)return s=$(l,f+4,p).times(.5),s.s=a.s,s}for(l.precision=u=f+10,l.rounding=1,n=Math.min(28,u/L+2|0),t=n;t;--t)a=a.div(a.times(a).plus(1).sqrt().plus(1));for(M=!1,e=Math.ceil(u/L),r=1,c=a.times(a),s=new l(a),i=a;t!==-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[e]!==void 0)for(t=e;s.d[t]===o.d[t]&&t--;);return n&&(s=s.times(2<<n-1)),M=!0,A(s,l.precision=f,l.rounding=p,!0)};d.isFinite=function(){return!!this.d};d.isInteger=d.isInt=function(){return!!this.d&&Q(this.e/L)>this.d.length-2};d.isNaN=function(){return!this.s};d.isNegative=d.isNeg=function(){return this.s<0};d.isPositive=d.isPos=function(){return this.s>0};d.isZero=function(){return!!this.d&&this.d[0]===0};d.lessThan=d.lt=function(t){return this.cmp(t)<0};d.lessThanOrEqualTo=d.lte=function(t){return this.cmp(t)<1};d.logarithm=d.log=function(t){var e,n,r,i,o,s,u,c,a=this,l=a.constructor,f=l.precision,p=l.rounding,m=5;if(t==null)t=new l(10),e=!0;else{if(t=new l(t),n=t.d,t.s<0||!n||!n[0]||t.eq(1))return new l(NaN);e=t.eq(10)}if(n=a.d,a.s<0||!n||!n[0]||a.eq(1))return new l(n&&!n[0]?-1/0:a.s!=1?NaN:n?0:1/0);if(e)if(n.length>1)o=!0;else{for(i=n[0];i%10===0;)i/=10;o=i!==1}if(M=!1,u=f+m,s=le(a,u),r=e?Ye(l,u+10):le(t,u),c=V(s,r,u,1),Re(c.d,i=f,p))do if(u+=10,s=le(a,u),r=e?Ye(l,u+10):le(t,u),c=V(s,r,u,1),!o){+z(c.d).slice(i+1,i+15)+1==1e14&&(c=A(c,f+1,0));break}while(Re(c.d,i+=10,p));return M=!0,A(c,f,p)};d.minus=d.sub=function(t){var e,n,r,i,o,s,u,c,a,l,f,p,m=this,b=m.constructor;if(t=new b(t),!m.d||!t.d)return!m.s||!t.s?t=new b(NaN):m.d?t.s=-t.s:t=new b(t.d||m.s!==t.s?m:NaN),t;if(m.s!=t.s)return t.s=-t.s,m.plus(t);if(a=m.d,p=t.d,u=b.precision,c=b.rounding,!a[0]||!p[0]){if(p[0])t.s=-t.s;else if(a[0])t=new b(m);else return new b(c===3?-0:0);return M?A(t,u,c):t}if(n=Q(t.e/L),l=Q(m.e/L),a=a.slice(),o=l-n,o){for(f=o<0,f?(e=a,o=-o,s=p.length):(e=p,n=l,s=a.length),r=Math.max(Math.ceil(u/L),s)+2,o>r&&(o=r,e.length=1),e.reverse(),r=o;r--;)e.push(0);e.reverse()}else{for(r=a.length,s=p.length,f=r<s,f&&(s=r),r=0;r<s;r++)if(a[r]!=p[r]){f=a[r]<p[r];break}o=0}for(f&&(e=a,a=p,p=e,t.s=-t.s),s=a.length,r=p.length-s;r>0;--r)a[s++]=0;for(r=p.length;r>o;){if(a[--r]<p[r]){for(i=r;i&&a[--i]===0;)a[i]=ee-1;--a[i],a[r]+=ee}a[r]-=p[r]}for(;a[--s]===0;)a.pop();for(;a[0]===0;a.shift())--n;return a[0]?(t.d=a,t.e=Xe(a,n),M?A(t,u,c):t):new b(c===3?-0:0)};d.modulo=d.mod=function(t){var e,n=this,r=n.constructor;return t=new r(t),!n.d||!t.s||t.d&&!t.d[0]?new r(NaN):!t.d||n.d&&!n.d[0]?A(new r(n),r.precision,r.rounding):(M=!1,r.modulo==9?(e=V(n,t.abs(),0,3,1),e.s*=t.s):e=V(n,t,0,r.modulo,1),e=e.times(t),M=!0,n.minus(e))};d.naturalExponential=d.exp=function(){return yt(this)};d.naturalLogarithm=d.ln=function(){return le(this)};d.negated=d.neg=function(){var t=new this.constructor(this);return t.s=-t.s,A(t)};d.plus=d.add=function(t){var e,n,r,i,o,s,u,c,a,l,f=this,p=f.constructor;if(t=new p(t),!f.d||!t.d)return!f.s||!t.s?t=new p(NaN):f.d||(t=new p(t.d||f.s===t.s?f:NaN)),t;if(f.s!=t.s)return t.s=-t.s,f.minus(t);if(a=f.d,l=t.d,u=p.precision,c=p.rounding,!a[0]||!l[0])return l[0]||(t=new p(f)),M?A(t,u,c):t;if(o=Q(f.e/L),r=Q(t.e/L),a=a.slice(),i=o-r,i){for(i<0?(n=a,i=-i,s=l.length):(n=l,r=o,s=a.length),o=Math.ceil(u/L),s=o>s?o+1:s+1,i>s&&(i=s,n.length=1),n.reverse();i--;)n.push(0);n.reverse()}for(s=a.length,i=l.length,s-i<0&&(i=s,n=l,l=a,a=n),e=0;i;)e=(a[--i]=a[i]+l[i]+e)/ee|0,a[i]%=ee;for(e&&(a.unshift(e),++r),s=a.length;a[--s]==0;)a.pop();return t.d=a,t.e=Xe(a,r),M?A(t,u,c):t};d.precision=d.sd=function(t){var e,n=this;if(t!==void 0&&t!==!!t&&t!==1&&t!==0)throw Error(fe+t);return n.d?(e=un(n.d),t&&n.e+1>e&&(e=n.e+1)):e=NaN,e};d.round=function(){var t=this,e=t.constructor;return A(new e(t),t.e+1,e.rounding)};d.sine=d.sin=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+Math.max(n.e,n.sd())+L,r.rounding=1,n=tr(r,fn(r,n)),r.precision=t,r.rounding=e,A(ie>2?n.neg():n,t,e,!0)):new r(NaN)};d.squareRoot=d.sqrt=function(){var t,e,n,r,i,o,s=this,u=s.d,c=s.e,a=s.s,l=s.constructor;if(a!==1||!u||!u[0])return new l(!a||a<0&&(!u||u[0])?NaN:u?s:1/0);for(M=!1,a=Math.sqrt(+s),a==0||a==1/0?(e=z(u),(e.length+c)%2==0&&(e+="0"),a=Math.sqrt(e),c=Q((c+1)/2)-(c<0||c%2),a==1/0?e="5e"+c:(e=a.toExponential(),e=e.slice(0,e.indexOf("e")+1)+c),r=new l(e)):r=new l(a.toString()),n=(c=l.precision)+3;;)if(o=r,r=o.plus(V(s,o,n+2,1)).times(.5),z(o.d).slice(0,n)===(e=z(r.d)).slice(0,n))if(e=e.slice(n-3,n+1),e=="9999"||!i&&e=="4999"){if(!i&&(A(o,c+1,0),o.times(o).eq(s))){r=o;break}n+=4,i=1}else{(!+e||!+e.slice(1)&&e.charAt(0)=="5")&&(A(r,c+1,1),t=!r.times(r).eq(s));break}return M=!0,A(r,c,l.rounding,t)};d.tangent=d.tan=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+10,r.rounding=1,n=n.sin(),n.s=1,n=V(n,new r(1).minus(n.times(n)).sqrt(),t+10,0),r.precision=t,r.rounding=e,A(ie==2||ie==4?n.neg():n,t,e,!0)):new r(NaN)};d.times=d.mul=function(t){var e,n,r,i,o,s,u,c,a,l=this,f=l.constructor,p=l.d,m=(t=new f(t)).d;if(t.s*=l.s,!p||!p[0]||!m||!m[0])return new f(!t.s||p&&!p[0]&&!m||m&&!m[0]&&!p?NaN:!p||!m?t.s/0:t.s*0);for(n=Q(l.e/L)+Q(t.e/L),c=p.length,a=m.length,c<a&&(o=p,p=m,m=o,s=c,c=a,a=s),o=[],s=c+a,r=s;r--;)o.push(0);for(r=a;--r>=0;){for(e=0,i=c+r;i>r;)u=o[i]+m[r]*p[i-r-1]+e,o[i--]=u%ee|0,e=u/ee|0;o[i]=(o[i]+e)%ee|0}for(;!o[--s];)o.pop();return e?++n:o.shift(),t.d=o,t.e=Xe(o,n),M?A(t,f.precision,f.rounding):t};d.toBinary=function(t,e){return xt(this,2,t,e)};d.toDecimalPlaces=d.toDP=function(t,e){var n=this,r=n.constructor;return n=new r(n),t===void 0?n:(X(t,0,pe),e===void 0?e=r.rounding:X(e,0,8),A(n,t+n.e+1,e))};d.toExponential=function(t,e){var n,r=this,i=r.constructor;return t===void 0?n=ne(r,!0):(X(t,0,pe),e===void 0?e=i.rounding:X(e,0,8),r=A(new i(r),t+1,e),n=ne(r,!0,t+1)),r.isNeg()&&!r.isZero()?"-"+n:n};d.toFixed=function(t,e){var n,r,i=this,o=i.constructor;return t===void 0?n=ne(i):(X(t,0,pe),e===void 0?e=o.rounding:X(e,0,8),r=A(new o(i),t+i.e+1,e),n=ne(r,!1,t+r.e+1)),i.isNeg()&&!i.isZero()?"-"+n:n};d.toFraction=function(t){var e,n,r,i,o,s,u,c,a,l,f,p,m=this,b=m.d,g=m.constructor;if(!b)return new g(m);if(a=n=new g(1),r=c=new g(0),e=new g(r),o=e.e=un(b)-m.e-1,s=o%L,e.d[0]=G(10,s<0?L+s:s),t==null)t=o>0?e:a;else{if(u=new g(t),!u.isInt()||u.lt(a))throw Error(fe+u);t=u.gt(e)?o>0?e:a:u}for(M=!1,u=new g(z(b)),l=g.precision,g.precision=o=b.length*L*2;f=V(u,e,0,1,1),i=n.plus(f.times(r)),i.cmp(t)!=1;)n=r,r=i,i=a,a=c.plus(f.times(i)),c=i,i=e,e=u.minus(f.times(i)),u=i;return i=V(t.minus(n),r,0,1,1),c=c.plus(i.times(a)),n=n.plus(i.times(r)),c.s=a.s=m.s,p=V(a,r,o,1).minus(m).abs().cmp(V(c,n,o,1).minus(m).abs())<1?[a,r]:[c,n],g.precision=l,M=!0,p};d.toHexadecimal=d.toHex=function(t,e){return xt(this,16,t,e)};d.toNearest=function(t,e){var n=this,r=n.constructor;if(n=new r(n),t==null){if(!n.d)return n;t=new r(1),e=r.rounding}else{if(t=new r(t),e===void 0?e=r.rounding:X(e,0,8),!n.d)return t.s?n:t;if(!t.d)return t.s&&(t.s=n.s),t}return t.d[0]?(M=!1,n=V(n,t,0,e,1).times(t),M=!0,A(n)):(t.s=n.s,n=t),n};d.toNumber=function(){return+this};d.toOctal=function(t,e){return xt(this,8,t,e)};d.toPower=d.pow=function(t){var e,n,r,i,o,s,u=this,c=u.constructor,a=+(t=new c(t));if(!u.d||!t.d||!u.d[0]||!t.d[0])return new c(G(+u,a));if(u=new c(u),u.eq(1))return u;if(r=c.precision,o=c.rounding,t.eq(1))return A(u,r,o);if(e=Q(t.e/L),e>=t.d.length-1&&(n=a<0?-a:a)<=Jn)return i=an(c,u,n,r),t.s<0?new c(1).div(i):A(i,r,o);if(s=u.s,s<0){if(e<t.d.length-1)return new c(NaN);if((t.d[e]&1)==0&&(s=1),u.e==0&&u.d[0]==1&&u.d.length==1)return u.s=s,u}return n=G(+u,a),e=n==0||!isFinite(n)?Q(a*(Math.log("0."+z(u.d))/Math.LN10+u.e+1)):new c(n+"").e,e>c.maxE+1||e<c.minE-1?new c(e>0?s/0:0):(M=!1,c.rounding=u.s=1,n=Math.min(12,(e+"").length),i=yt(t.times(le(u,r+n)),r),i.d&&(i=A(i,r+5,1),Re(i.d,r,o)&&(e=r+10,i=A(yt(t.times(le(u,e+n)),e),e+5,1),+z(i.d).slice(r+1,r+15)+1==1e14&&(i=A(i,r+1,0)))),i.s=s,M=!0,c.rounding=o,A(i,r,o))};d.toPrecision=function(t,e){var n,r=this,i=r.constructor;return t===void 0?n=ne(r,r.e<=i.toExpNeg||r.e>=i.toExpPos):(X(t,1,pe),e===void 0?e=i.rounding:X(e,0,8),r=A(new i(r),t,e),n=ne(r,t<=r.e||r.e<=i.toExpNeg,t)),r.isNeg()&&!r.isZero()?"-"+n:n};d.toSignificantDigits=d.toSD=function(t,e){var n=this,r=n.constructor;return t===void 0?(t=r.precision,e=r.rounding):(X(t,1,pe),e===void 0?e=r.rounding:X(e,0,8)),A(new r(n),t,e)};d.toString=function(){var t=this,e=t.constructor,n=ne(t,t.e<=e.toExpNeg||t.e>=e.toExpPos);return t.isNeg()&&!t.isZero()?"-"+n:n};d.truncated=d.trunc=function(){return A(new this.constructor(this),this.e+1,1)};d.valueOf=d.toJSON=function(){var t=this,e=t.constructor,n=ne(t,t.e<=e.toExpNeg||t.e>=e.toExpPos);return t.isNeg()?"-"+n:n};function z(t){var e,n,r,i=t.length-1,o="",s=t[0];if(i>0){for(o+=s,e=1;e<i;e++)r=t[e]+"",n=L-r.length,n&&(o+=ce(n)),o+=r;s=t[e],r=s+"",n=L-r.length,n&&(o+=ce(n))}else if(s===0)return"0";for(;s%10===0;)s/=10;return o+s}function X(t,e,n){if(t!==~~t||t<e||t>n)throw Error(fe+t)}function Re(t,e,n,r){var i,o,s,u;for(o=t[0];o>=10;o/=10)--e;return--e<0?(e+=L,i=0):(i=Math.ceil((e+1)/L),e%=L),o=G(10,L-e),u=t[i]%o|0,r==null?e<3?(e==0?u=u/100|0:e==1&&(u=u/10|0),s=n<4&&u==99999||n>3&&u==49999||u==5e4||u==0):s=(n<4&&u+1==o||n>3&&u+1==o/2)&&(t[i+1]/o/100|0)==G(10,e-2)-1||(u==o/2||u==0)&&(t[i+1]/o/100|0)==0:e<4?(e==0?u=u/1e3|0:e==1?u=u/100|0:e==2&&(u=u/10|0),s=(r||n<4)&&u==9999||!r&&n>3&&u==4999):s=((r||n<4)&&u+1==o||!r&&n>3&&u+1==o/2)&&(t[i+1]/o/1e3|0)==G(10,e-3)-1,s}function je(t,e,n){for(var r,i=[0],o,s=0,u=t.length;s<u;){for(o=i.length;o--;)i[o]*=e;for(i[0]+=gt.indexOf(t.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 $n(t,e){var n,r,i;if(e.isZero())return e;r=e.d.length,r<32?(n=Math.ceil(r/3),i=(1/$e(4,n)).toString()):(n=16,i="2.3283064365386962890625e-10"),t.precision+=n,e=Te(t,1,e.times(i),new t(1));for(var o=n;o--;){var s=e.times(e);e=s.times(s).minus(s).times(8).plus(1)}return t.precision-=n,e}var V=function(){function t(r,i,o){var s,u=0,c=r.length;for(r=r.slice();c--;)s=r[c]*i+u,r[c]=s%o|0,u=s/o|0;return u&&r.unshift(u),r}function e(r,i,o,s){var u,c;if(o!=s)c=o>s?1:-1;else for(u=c=0;u<o;u++)if(r[u]!=i[u]){c=r[u]>i[u]?1:-1;break}return c}function n(r,i,o,s){for(var u=0;o--;)r[o]-=u,u=r[o]<i[o]?1:0,r[o]=u*s+r[o]-i[o];for(;!r[0]&&r.length>1;)r.shift()}return function(r,i,o,s,u,c){var a,l,f,p,m,b,g,h,P,S,T,y,w,x,C,k,_,K,v,D,I=r.constructor,O=r.s==i.s?1:-1,F=r.d,N=i.d;if(!F||!F[0]||!N||!N[0])return new I(!r.s||!i.s||(F?N&&F[0]==N[0]:!N)?NaN:F&&F[0]==0||!N?O*0:O/0);for(c?(m=1,l=r.e-i.e):(c=ee,m=L,l=Q(r.e/m)-Q(i.e/m)),v=N.length,_=F.length,P=new I(O),S=P.d=[],f=0;N[f]==(F[f]||0);f++);if(N[f]>(F[f]||0)&&l--,o==null?(x=o=I.precision,s=I.rounding):u?x=o+(r.e-i.e)+1:x=o,x<0)S.push(1),b=!0;else{if(x=x/m+2|0,f=0,v==1){for(p=0,N=N[0],x++;(f<_||p)&&x--;f++)C=p*c+(F[f]||0),S[f]=C/N|0,p=C%N|0;b=p||f<_}else{for(p=c/(N[0]+1)|0,p>1&&(N=t(N,p,c),F=t(F,p,c),v=N.length,_=F.length),k=v,T=F.slice(0,v),y=T.length;y<v;)T[y++]=0;D=N.slice(),D.unshift(0),K=N[0],N[1]>=c/2&&++K;do p=0,a=e(N,T,v,y),a<0?(w=T[0],v!=y&&(w=w*c+(T[1]||0)),p=w/K|0,p>1?(p>=c&&(p=c-1),g=t(N,p,c),h=g.length,y=T.length,a=e(g,T,h,y),a==1&&(p--,n(g,v<h?D:N,h,c))):(p==0&&(a=p=1),g=N.slice()),h=g.length,h<y&&g.unshift(0),n(T,g,y,c),a==-1&&(y=T.length,a=e(N,T,v,y),a<1&&(p++,n(T,v<y?D:N,y,c))),y=T.length):a===0&&(p++,T=[0]),S[f++]=p,a&&T[0]?T[y++]=F[k]||0:(T=[F[k]],y=1);while((k++<_||T[0]!==void 0)&&x--);b=T[0]!==void 0}S[0]||S.shift()}if(m==1)P.e=l,tn=b;else{for(f=1,p=S[0];p>=10;p/=10)f++;P.e=f+l*m-1,A(P,u?o+P.e+1:o,s,b)}return P}}();function A(t,e,n,r){var i,o,s,u,c,a,l,f,p,m=t.constructor;e:if(e!=null){if(f=t.d,!f)return t;for(i=1,u=f[0];u>=10;u/=10)i++;if(o=e-i,o<0)o+=L,s=e,l=f[p=0],c=l/G(10,i-s-1)%10|0;else if(p=Math.ceil((o+1)/L),u=f.length,p>=u)if(r){for(;u++<=p;)f.push(0);l=c=0,i=1,o%=L,s=o-L+1}else break e;else{for(l=u=f[p],i=1;u>=10;u/=10)i++;o%=L,s=o-L+i,c=s<0?0:l/G(10,i-s-1)%10|0}if(r=r||e<0||f[p+1]!==void 0||(s<0?l:l%G(10,i-s-1)),a=n<4?(c||r)&&(n==0||n==(t.s<0?3:2)):c>5||c==5&&(n==4||r||n==6&&(o>0?s>0?l/G(10,i-s):0:f[p-1])%10&1||n==(t.s<0?8:7)),e<1||!f[0])return f.length=0,a?(e-=t.e+1,f[0]=G(10,(L-e%L)%L),t.e=-e||0):f[0]=t.e=0,t;if(o==0?(f.length=p,u=1,p--):(f.length=p+1,u=G(10,L-o),f[p]=s>0?(l/G(10,i-s)%G(10,s)|0)*u:0),a)for(;;)if(p==0){for(o=1,s=f[0];s>=10;s/=10)o++;for(s=f[0]+=u,u=1;s>=10;s/=10)u++;o!=u&&(t.e++,f[0]==ee&&(f[0]=1));break}else{if(f[p]+=u,f[p]!=ee)break;f[p--]=0,u=1}for(o=f.length;f[--o]===0;)f.pop()}return M&&(t.e>m.maxE?(t.d=null,t.e=NaN):t.e<m.minE&&(t.e=0,t.d=[0])),t}function ne(t,e,n){if(!t.isFinite())return ln(t);var r,i=t.e,o=z(t.d),s=o.length;return e?(n&&(r=n-s)>0?o=o.charAt(0)+"."+o.slice(1)+ce(r):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(t.e<0?"e":"e+")+t.e):i<0?(o="0."+ce(-i-1)+o,n&&(r=n-s)>0&&(o+=ce(r))):i>=s?(o+=ce(i+1-s),n&&(r=n-i-1)>0&&(o=o+"."+ce(r))):((r=i+1)<s&&(o=o.slice(0,r)+"."+o.slice(r)),n&&(r=n-s)>0&&(i+1===s&&(o+="."),o+=ce(r))),o}function Xe(t,e){var n=t[0];for(e*=L;n>=10;n/=10)e++;return e}function Ye(t,e,n){if(e>Xn)throw M=!0,n&&(t.precision=n),Error(nn);return A(new t(Qe),e,1,!0)}function $(t,e,n){if(e>bt)throw Error(nn);return A(new t(Ze),e,n,!0)}function un(t){var e=t.length-1,n=e*L+1;if(e=t[e],e){for(;e%10==0;e/=10)n--;for(e=t[0];e>=10;e/=10)n++}return n}function ce(t){for(var e="";t--;)e+="0";return e}function an(t,e,n,r){var i,o=new t(1),s=Math.ceil(r/L+4);for(M=!1;;){if(n%2&&(o=o.times(e),$t(o.d,s)&&(i=!0)),n=Q(n/2),n===0){n=o.d.length-1,i&&o.d[n]===0&&++o.d[n];break}e=e.times(e),$t(e.d,s)}return M=!0,o}function Xt(t){return t.d[t.d.length-1]&1}function cn(t,e,n){for(var r,i=new t(e[0]),o=0;++o<e.length;)if(r=new t(e[o]),r.s)i[n](r)&&(i=r);else{i=r;break}return i}function yt(t,e){var n,r,i,o,s,u,c,a=0,l=0,f=0,p=t.constructor,m=p.rounding,b=p.precision;if(!t.d||!t.d[0]||t.e>17)return new p(t.d?t.d[0]?t.s<0?0:1/0:1:t.s?t.s<0?0:t:0/0);for(e==null?(M=!1,c=b):c=e,u=new p(.03125);t.e>-2;)t=t.times(u),f+=5;for(r=Math.log(G(2,f))/Math.LN10*2+5|0,c+=r,n=o=s=new p(1),p.precision=c;;){if(o=A(o.times(t),c,1),n=n.times(++l),u=s.plus(V(o,n,c,1)),z(u.d).slice(0,c)===z(s.d).slice(0,c)){for(i=f;i--;)s=A(s.times(s),c,1);if(e==null)if(a<3&&Re(s.d,c-r,m,a))p.precision=c+=10,n=o=u=new p(1),l=0,a++;else return A(s,p.precision=b,m,M=!0);else return p.precision=b,s}s=u}}function le(t,e){var n,r,i,o,s,u,c,a,l,f,p,m=1,b=10,g=t,h=g.d,P=g.constructor,S=P.rounding,T=P.precision;if(g.s<0||!h||!h[0]||!g.e&&h[0]==1&&h.length==1)return new P(h&&!h[0]?-1/0:g.s!=1?NaN:h?0:g);if(e==null?(M=!1,l=T):l=e,P.precision=l+=b,n=z(h),r=n.charAt(0),Math.abs(o=g.e)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)g=g.times(t),n=z(g.d),r=n.charAt(0),m++;o=g.e,r>1?(g=new P("0."+n),o++):g=new P(r+"."+n.slice(1))}else return a=Ye(P,l+2,T).times(o+""),g=le(new P(r+"."+n.slice(1)),l-b).plus(a),P.precision=T,e==null?A(g,T,S,M=!0):g;for(f=g,c=s=g=V(g.minus(1),g.plus(1),l,1),p=A(g.times(g),l,1),i=3;;){if(s=A(s.times(p),l,1),a=c.plus(V(s,new P(i),l,1)),z(a.d).slice(0,l)===z(c.d).slice(0,l))if(c=c.times(2),o!==0&&(c=c.plus(Ye(P,l+2,T).times(o+""))),c=V(c,new P(m),l,1),e==null)if(Re(c.d,l-b,S,u))P.precision=l+=b,a=s=g=V(f.minus(1),f.plus(1),l,1),p=A(g.times(g),l,1),i=u=1;else return A(c,P.precision=T,S,M=!0);else return P.precision=T,c;c=a,i+=2}}function ln(t){return String(t.s*t.s/0)}function wt(t,e){var n,r,i;for((n=e.indexOf("."))>-1&&(e=e.replace(".","")),(r=e.search(/e/i))>0?(n<0&&(n=r),n+=+e.slice(r+1),e=e.substring(0,r)):n<0&&(n=e.length),r=0;e.charCodeAt(r)===48;r++);for(i=e.length;e.charCodeAt(i-1)===48;--i);if(e=e.slice(r,i),e){if(i-=r,t.e=n=n-r-1,t.d=[],r=(n+1)%L,n<0&&(r+=L),r<i){for(r&&t.d.push(+e.slice(0,r)),i-=L;r<i;)t.d.push(+e.slice(r,r+=L));e=e.slice(r),r=L-e.length}else r-=i;for(;r--;)e+="0";t.d.push(+e),M&&(t.e>t.constructor.maxE?(t.d=null,t.e=NaN):t.e<t.constructor.minE&&(t.e=0,t.d=[0]))}else t.e=0,t.d=[0];return t}function er(t,e){var n,r,i,o,s,u,c,a,l;if(e.indexOf("_")>-1){if(e=e.replace(/(\d)_(?=\d)/g,"$1"),sn.test(e))return wt(t,e)}else if(e==="Infinity"||e==="NaN")return+e||(t.s=NaN),t.e=NaN,t.d=null,t;if(Zn.test(e))n=16,e=e.toLowerCase();else if(Qn.test(e))n=2;else if(Yn.test(e))n=8;else throw Error(fe+e);for(o=e.search(/p/i),o>0?(c=+e.slice(o+1),e=e.substring(2,o)):e=e.slice(2),o=e.indexOf("."),s=o>=0,r=t.constructor,s&&(e=e.replace(".",""),u=e.length,o=u-o,i=an(r,new r(n),o,o*2)),a=je(e,n,ee),l=a.length-1,o=l;a[o]===0;--o)a.pop();return o<0?new r(t.s*0):(t.e=Xe(a,l),t.d=a,M=!1,s&&(t=V(t,i,u*4)),c&&(t=t.times(Math.abs(c)<54?G(2,c):et.pow(2,c))),M=!0,t)}function tr(t,e){var n,r=e.d.length;if(r<3)return e.isZero()?e:Te(t,2,e,e);n=1.4*Math.sqrt(r),n=n>16?16:n|0,e=e.times(1/$e(5,n)),e=Te(t,2,e,e);for(var i,o=new t(5),s=new t(16),u=new t(20);n--;)i=e.times(e),e=e.times(o.plus(i.times(s.times(i).minus(u))));return e}function Te(t,e,n,r,i){var o,s,u,c,a=1,l=t.precision,f=Math.ceil(l/L);for(M=!1,c=n.times(n),u=new t(r);;){if(s=V(u.times(c),new t(e++*e++),l,1),u=i?r.plus(s):r.minus(s),r=V(s.times(c),new t(e++*e++),l,1),s=u.plus(r),s.d[f]!==void 0){for(o=f;s.d[o]===u.d[o]&&o--;);if(o==-1)break}o=u,u=r,r=s,s=o,a++}return M=!0,s.d.length=f+1,s}function $e(t,e){for(var n=t;--e;)n*=t;return n}function fn(t,e){var n,r=e.s<0,i=$(t,t.precision,1),o=i.times(.5);if(e=e.abs(),e.lte(o))return ie=r?4:1,e;if(n=e.divToInt(i),n.isZero())ie=r?3:2;else{if(e=e.minus(n.times(i)),e.lte(o))return ie=Xt(n)?r?2:3:r?4:1,e;ie=Xt(n)?r?1:4:r?3:2}return e.minus(i).abs()}function xt(t,e,n,r){var i,o,s,u,c,a,l,f,p,m=t.constructor,b=n!==void 0;if(b?(X(n,1,pe),r===void 0?r=m.rounding:X(r,0,8)):(n=m.precision,r=m.rounding),!t.isFinite())l=ln(t);else{for(l=ne(t),s=l.indexOf("."),b?(i=2,e==16?n=n*4-3:e==8&&(n=n*3-2)):i=e,s>=0&&(l=l.replace(".",""),p=new m(1),p.e=l.length-s,p.d=je(ne(p),10,i),p.e=p.d.length),f=je(l,10,i),o=c=f.length;f[--c]==0;)f.pop();if(!f[0])l=b?"0p+0":"0";else{if(s<0?o--:(t=new m(t),t.d=f,t.e=o,t=V(t,p,n,r,0,i),f=t.d,o=t.e,a=tn),s=f[n],u=i/2,a=a||f[n+1]!==void 0,a=r<4?(s!==void 0||a)&&(r===0||r===(t.s<0?3:2)):s>u||s===u&&(r===4||a||r===6&&f[n-1]&1||r===(t.s<0?8:7)),f.length=n,a)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+=gt.charAt(f[s]);if(b){if(c>1)if(e==16||e==8){for(s=e==16?4:3,--c;c%s;c++)l+="0";for(f=je(l,i,e),c=f.length;!f[c-1];--c);for(s=1,l="1.";s<c;s++)l+=gt.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=(e==16?"0x":e==2?"0b":e==8?"0o":"")+l}return t.s<0?"-"+l:l}function $t(t,e){if(t.length>e)return t.length=e,!0}function nr(t){return new this(t).abs()}function rr(t){return new this(t).acos()}function ir(t){return new this(t).acosh()}function or(t,e){return new this(t).plus(e)}function sr(t){return new this(t).asin()}function ur(t){return new this(t).asinh()}function ar(t){return new this(t).atan()}function cr(t){return new this(t).atanh()}function lr(t,e){t=new this(t),e=new this(e);var n,r=this.precision,i=this.rounding,o=r+4;return!t.s||!e.s?n=new this(NaN):!t.d&&!e.d?(n=$(this,o,1).times(e.s>0?.25:.75),n.s=t.s):!e.d||t.isZero()?(n=e.s<0?$(this,r,i):new this(0),n.s=t.s):!t.d||e.isZero()?(n=$(this,o,1).times(.5),n.s=t.s):e.s<0?(this.precision=o,this.rounding=1,n=this.atan(V(t,e,o,1)),e=$(this,o,1),this.precision=r,this.rounding=i,n=t.s<0?n.minus(e):n.plus(e)):n=this.atan(V(t,e,o,1)),n}function fr(t){return new this(t).cbrt()}function pr(t){return A(t=new this(t),t.e+1,2)}function dr(t,e,n){return new this(t).clamp(e,n)}function mr(t){if(!t||typeof t!="object")throw Error(Je+"Object expected");var e,n,r,i=t.defaults===!0,o=["precision",1,pe,"rounding",0,8,"toExpNeg",-xe,0,"toExpPos",0,xe,"maxE",0,xe,"minE",-xe,0,"modulo",0,9];for(e=0;e<o.length;e+=3)if(n=o[e],i&&(this[n]=ht[n]),(r=t[n])!==void 0)if(Q(r)===r&&r>=o[e+1]&&r<=o[e+2])this[n]=r;else throw Error(fe+n+": "+r);if(n="crypto",i&&(this[n]=ht[n]),(r=t[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(rn);else this[n]=!1;else throw Error(fe+n+": "+r);return this}function gr(t){return new this(t).cos()}function hr(t){return new this(t).cosh()}function pn(t){var e,n,r;function i(o){var s,u,c,a=this;if(!(a instanceof i))return new i(o);if(a.constructor=i,en(o)){a.s=o.s,M?!o.d||o.e>i.maxE?(a.e=NaN,a.d=null):o.e<i.minE?(a.e=0,a.d=[0]):(a.e=o.e,a.d=o.d.slice()):(a.e=o.e,a.d=o.d?o.d.slice():o.d);return}if(c=typeof o,c==="number"){if(o===0){a.s=1/o<0?-1:1,a.e=0,a.d=[0];return}if(o<0?(o=-o,a.s=-1):a.s=1,o===~~o&&o<1e7){for(s=0,u=o;u>=10;u/=10)s++;M?s>i.maxE?(a.e=NaN,a.d=null):s<i.minE?(a.e=0,a.d=[0]):(a.e=s,a.d=[o]):(a.e=s,a.d=[o]);return}else if(o*0!==0){o||(a.s=NaN),a.e=NaN,a.d=null;return}return wt(a,o.toString())}else if(c!=="string")throw Error(fe+o);return(u=o.charCodeAt(0))===45?(o=o.slice(1),a.s=-1):(u===43&&(o=o.slice(1)),a.s=1),sn.test(o)?wt(a,o):er(a,o)}if(i.prototype=d,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=mr,i.clone=pn,i.isDecimal=en,i.abs=nr,i.acos=rr,i.acosh=ir,i.add=or,i.asin=sr,i.asinh=ur,i.atan=ar,i.atanh=cr,i.atan2=lr,i.cbrt=fr,i.ceil=pr,i.clamp=dr,i.cos=gr,i.cosh=hr,i.div=br,i.exp=yr,i.floor=wr,i.hypot=xr,i.ln=Tr,i.log=Pr,i.log10=Ar,i.log2=Sr,i.max=Br,i.min=Lr,i.mod=kr,i.mul=Nr,i.pow=Cr,i.random=Mr,i.round=Rr,i.sign=Er,i.sin=_r,i.sinh=Dr,i.sqrt=vr,i.sub=Ir,i.sum=Fr,i.tan=Kr,i.tanh=Or,i.trunc=Vr,t===void 0&&(t={}),t&&t.defaults!==!0)for(r=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],e=0;e<r.length;)t.hasOwnProperty(n=r[e++])||(t[n]=this[n]);return i.config(t),i}function br(t,e){return new this(t).div(e)}function yr(t){return new this(t).exp()}function wr(t){return A(t=new this(t),t.e+1,3)}function xr(){var t,e,n=new this(0);for(M=!1,t=0;t<arguments.length;)if(e=new this(arguments[t++]),e.d)n.d&&(n=n.plus(e.times(e)));else{if(e.s)return M=!0,new this(1/0);n=e}return M=!0,n.sqrt()}function en(t){return t instanceof et||t&&t.toStringTag===on||!1}function Tr(t){return new this(t).ln()}function Pr(t,e){return new this(t).log(e)}function Sr(t){return new this(t).log(2)}function Ar(t){return new this(t).log(10)}function Br(){return cn(this,arguments,"lt")}function Lr(){return cn(this,arguments,"gt")}function kr(t,e){return new this(t).mod(e)}function Nr(t,e){return new this(t).mul(e)}function Cr(t,e){return new this(t).pow(e)}function Mr(t){var e,n,r,i,o=0,s=new this(1),u=[];if(t===void 0?t=this.precision:X(t,1,pe),r=Math.ceil(t/L),this.crypto)if(crypto.getRandomValues)for(e=crypto.getRandomValues(new Uint32Array(r));o<r;)i=e[o],i>=429e7?e[o]=crypto.getRandomValues(new Uint32Array(1))[0]:u[o++]=i%1e7;else if(crypto.randomBytes){for(e=crypto.randomBytes(r*=4);o<r;)i=e[o]+(e[o+1]<<8)+(e[o+2]<<16)+((e[o+3]&127)<<24),i>=214e7?crypto.randomBytes(4).copy(e,o):(u.push(i%1e7),o+=4);o=r/4}else throw Error(rn);else for(;o<r;)u[o++]=Math.random()*1e7|0;for(r=u[--o],t%=L,r&&t&&(i=G(10,L-t),u[o]=(r/i|0)*i);u[o]===0;o--)u.pop();if(o<0)n=0,u=[0];else{for(n=-1;u[0]===0;n-=L)u.shift();for(r=1,i=u[0];i>=10;i/=10)r++;r<L&&(n-=L-r)}return s.e=n,s.d=u,s}function Rr(t){return A(t=new this(t),t.e+1,this.rounding)}function Er(t){return t=new this(t),t.d?t.d[0]?t.s:0*t.s:t.s||NaN}function _r(t){return new this(t).sin()}function Dr(t){return new this(t).sinh()}function vr(t){return new this(t).sqrt()}function Ir(t,e){return new this(t).sub(e)}function Fr(){var t=0,e=arguments,n=new this(e[t]);for(M=!1;n.s&&++t<e.length;)n=n.plus(e[t]);return M=!0,A(n,this.precision,this.rounding)}function Kr(t){return new this(t).tan()}function Or(t){return new this(t).tanh()}function Vr(t){return A(t=new this(t),t.e+1,1)}d[Symbol.for("nodejs.util.inspect.custom")]=d.toString;d[Symbol.toStringTag]="Decimal";var et=d.constructor=pn(ht);Qe=new et(Qe);Ze=new et(Ze);import li from"big.js";import pa from"bn.js";import{get as dn,set as qr}from"lodash";var Tt=class{constructor(e){this.logLevel=e.logLevel!==void 0?e.logLevel:0,this.name=e.name}set level(e){this.logLevel=e}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(e){return e<=this.logLevel}error(...e){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...e),this):this}logWithError(...e){let n=e.map(r=>typeof r=="object"?JSON.stringify(r):r).join(", ");throw new Error(n)}warning(...e){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...e),this):this}info(...e){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...e),this):this}debug(...e){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...e),this):this}},mn={},Ur={};function Z(t){let e=dn(mn,t);if(!e){let n=dn(Ur,t);e=new Tt({name:t,logLevel:n}),qr(mn,t,e)}return e}import{PublicKey as Wr}from"@solana/web3.js";import{MINT_SIZE as Gi,TOKEN_PROGRAM_ID as Hi,getTransferFeeConfig as zi,unpackMint as ji}from"@solana/spl-token";var Pt=Z("Raydium_accountInfo_util");async function gn(t,e,n){let{batchRequest:r,commitment:i="confirmed",chunkCount:o=100}=H({batchRequest:!1},n),s=St(e,o),u=new Array(s.length).fill([]);if(r){let c=s.map(f=>{let p=t._buildArgs([f.map(m=>m.toBase58())],i,"base64");return{methodName:"getMultipleAccounts",args:p}}),a=St(c,10);u=(await(await Promise.all(a.map(async f=>await t._rpcBatchRequest(f)))).flat()).map(f=>(f.error&&Pt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${f.error.message}`),f.result.value.map(p=>{if(p){let{data:m,executable:b,lamports:g,owner:h,rentEpoch:P}=p;return m.length!==2&&m[1]!=="base64"&&Pt.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(m[0],"base64"),executable:b,lamports:g,owner:new Wr(h),rentEpoch:P}}return null})))}else try{u=await Promise.all(s.map(c=>t.getMultipleAccountsInfo(c,i)))}catch(c){c instanceof Error&&Pt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${c.message}`)}return u.flat()}import Ee from"bn.js";var hn=9007199254740991;function oe(t){let e=Z("Raydium_parseBigNumberish");if(t instanceof Ee)return t;if(typeof t=="string"){if(t.match(/^-?[0-9]+$/))return new Ee(t);e.logWithError(`invalid BigNumberish string: ${t}`)}return typeof t=="number"?(t%1&&e.logWithError(`BigNumberish number underflow: ${t}`),(t>=hn||t<=-hn)&&e.logWithError(`BigNumberish number overflow: ${t}`),new Ee(String(t))):typeof t=="bigint"?new Ee(t.toString()):(e.error(`invalid BigNumberish value: ${t}`),new Ee(0))}import{PublicKey as Gr}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as bn}from"@solana/spl-token";var yn={chainId:101,address:Gr.default.toBase58(),programId:bn.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},be={chainId:101,address:"So11111111111111111111111111111111111111112",programId:bn.toBase58(),decimals:9,symbol:"WSOL",name:"Wrapped SOL",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}};import{PublicKey as Lt}from"@solana/web3.js";import{PublicKey as U,SystemProgram as wn,SYSVAR_RENT_PUBKEY as Hr}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as zr}from"@solana/spl-token";function Bt({pubkey:t,isSigner:e=!1,isWritable:n=!0}){return{pubkey:t,isWritable:n,isSigner:e}}var so=[Bt({pubkey:zr,isWritable:!1}),Bt({pubkey:wn.programId,isWritable:!1}),Bt({pubkey:Hr,isWritable:!1})];function xn({publicKey:t,transformSol:e}){let n=Tn(t.toString());if(n instanceof U)return e&&n.equals(_e)?At:n;if(e&&n.toString()===_e.toBase58())return At;if(typeof n=="string"){if(n===U.default.toBase58())return U.default;try{return new U(n)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function Tn(t){try{return new U(t)}catch{return t}}var uo=new U("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),ao=new U("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),co=new U("SysvarRent111111111111111111111111111111111"),lo=new U("SysvarC1ock11111111111111111111111111111111"),fo=new U("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),po=new U("Sysvar1nstructions1111111111111111111111111"),mo=wn.programId,go=new U("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),ho=new U("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),bo=new U("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),yo=new U("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),wo=new U("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),xo=new U("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),To=new U("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),Po=new U("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),So=new U("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Ao=new U("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Bo=new U("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),At=new U("So11111111111111111111111111111111111111112"),_e=U.default;var kt=class{constructor({mint:e,decimals:n,symbol:r,name:i,skipMint:o=!1,isToken2022:s=!1}){if(e===_e.toBase58()||e instanceof Lt&&_e.equals(e)){this.decimals=be.decimals,this.symbol=be.symbol,this.name=be.name,this.mint=new Lt(be.address),this.isToken2022=!1;return}this.decimals=n,this.symbol=r||e.toString().substring(0,6),this.name=i||e.toString().substring(0,6),this.mint=o?Lt.default:xn({publicKey:e}),this.isToken2022=s}equals(e){return this===e?!0:this.mint.equals(e.mint)}},Pe=kt;Pe.WSOL=new kt(ae(H({},be),{mint:be.address}));var Nt=class{constructor({decimals:e,symbol:n="UNKNOWN",name:r="UNKNOWN"}){this.decimals=e,this.symbol=n,this.name=r}equals(e){return this===e}},tt=Nt;tt.SOL=new Nt(yn);import jr from"toformat";var Qr=jr,De=Qr;import rt from"big.js";import Yr from"bn.js";import Jr from"decimal.js-light";var nt=Z("module/fraction"),Ct=De(rt),ve=De(Jr),Xr={[0]:ve.ROUND_DOWN,[1]:ve.ROUND_HALF_UP,[2]:ve.ROUND_UP},$r={[0]:rt.roundDown,[1]:rt.roundHalfUp,[2]:rt.roundUp},q=class{constructor(e,n=new Yr(1)){this.numerator=oe(e),this.denominator=oe(n)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new q(this.denominator,this.numerator)}add(e){let n=e instanceof q?e:new q(oe(e));return this.denominator.eq(n.denominator)?new q(this.numerator.add(n.numerator),this.denominator):new q(this.numerator.mul(n.denominator).add(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}sub(e){let n=e instanceof q?e:new q(oe(e));return this.denominator.eq(n.denominator)?new q(this.numerator.sub(n.numerator),this.denominator):new q(this.numerator.mul(n.denominator).sub(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}mul(e){let n=e instanceof q?e:new q(oe(e));return new q(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(e){let n=e instanceof q?e:new q(oe(e));return new q(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(e,n={groupSeparator:""},r=1){Number.isInteger(e)||nt.logWithError(`${e} is not an integer.`),e<=0&&nt.logWithError(`${e} is not positive.`),ve.set({precision:e+1,rounding:Xr[r]});let i=new ve(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(e);return i.toFormat(i.decimalPlaces(),n)}toFixed(e,n={groupSeparator:""},r=1){return Number.isInteger(e)||nt.logWithError(`${e} is not an integer.`),e<0&&nt.logWithError(`${e} is negative.`),Ct.DP=e,Ct.RM=$r[r]||1,new Ct(this.numerator.toString()).div(this.denominator.toString()).toFormat(e,n)}isZero(){return this.numerator.isZero()}};import ei from"bn.js";var jo=new q(new ei(100));var $o=Z("Raydium_price");function St(t,e=1,n=[]){let r=[...t];if(e<=0)return n;for(;r.length;)n.push(r.splice(0,e));return n}import{PublicKey as Rs}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as _s}from"@solana/spl-token";import{ComputeBudgetProgram as Bn,Keypair as kn,PublicKey as Ps,Transaction as Nn,TransactionMessage as ti,VersionedTransaction as Cn}from"@solana/web3.js";var Y={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",TransferTip:"TransferTip"};import{TOKEN_PROGRAM_ID as ni}from"@solana/spl-token";var Ln=Z("Raydium_txUtil"),Mn=1644;function ot(t){let e=[],n=[];return t.microLamports&&(e.push(Bn.setComputeUnitPrice({microLamports:t.microLamports})),n.push(Y.SetComputeUnitPrice)),t.units&&(e.push(Bn.setComputeUnitLimit({units:t.units})),n.push(Y.SetComputeUnitLimit)),{instructions:e,instructionTypes:n}}async function Se(t,e){var r,i;let n=e!=null?e:"confirmed";return(i=await((r=t.getLatestBlockhash)==null?void 0:r.call(t,{commitment:n})))==null?void 0:i.blockhash}async function st(t,e){return t.getSignatureStatuses([e]),new Promise((n,r)=>{let i=setTimeout(r,6e4);t.onSignature(e,o=>{if(clearTimeout(i),!o.err){n("");return}r(Object.assign(o.err,{txId:e}))},"confirmed")})}function ri(t,e){t.length<1&&Ln.logWithError(`no instructions provided: ${t.toString()}`),e.length<1&&Ln.logWithError(`no signers provided:, ${e.toString()}`);let n=new Nn;n.recentBlockhash="11111111111111111111111111111111",n.feePayer=e[0],n.add(...t);try{return Buffer.from(n.serialize({verifySignatures:!1})).toString("base64").length<Mn}catch{return!1}}function Ie({instructions:t,payer:e,signers:n}){return ri(t,[e,...n])}function Fe({instructions:t,payer:e,lookupTableAddressAccount:n,recentBlockhash:r=kn.generate().publicKey.toString()}){let o=new ti({payerKey:e,recentBlockhash:r,instructions:t}).compileToV0Message(Object.values(n!=null?n:{}));try{return Buffer.from(new Cn(o).serialize()).toString("base64").length<Mn}catch{return!1}}var ii=t=>Buffer.isBuffer(t)?t:t instanceof Uint8Array?Buffer.from(t.buffer,t.byteOffset,t.byteLength):Buffer.from(t),oi=t=>{let e=t.serialize({requireAllSignatures:!1,verifySignatures:!1});t instanceof Cn&&(e=ii(e));try{return e instanceof Buffer?e.toString("base64"):Buffer.from(e).toString("base64")}catch{return e.toString("base64")}};function ye(t){let e=[];return t.forEach(n=>{n instanceof Nn&&(n.recentBlockhash||(n.recentBlockhash=ni.toBase58()),n.feePayer||(n.feePayer=kn.generate().publicKey)),e.push(oi(n))}),console.log("simulate tx string:",e),e}import{PublicKey as B}from"@solana/web3.js";var Fs=new B("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),Ks=new B("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),Os=new B("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Vs=new B("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),qs=new B("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Us=new B("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),Ws=new B("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),Gs=new B("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),Hs=new B("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),zs=new B("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),js=new B("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),Qs=new B("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Zs=new B("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),Ys=new B("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Js=new B("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Xs=new B("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),$s=new B("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),eu=new B("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),tu=new B("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),nu=new B("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi"),ru=new B("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),iu=new B("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),ou=new B("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),su=new B("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),uu=new B("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),au=new B("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),cu=new B("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),lu=new B("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),fu=new B("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),pu=new B("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),du=new B("6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX");var mu={OPEN_BOOK_PROGRAM:new B("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),SERUM_PROGRAM_ID_V3:new B("Ray1111111111111111111111111111111111111111"),AMM_V4:new B("DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav"),AMM_STABLE:new B("DRayDdXc1NZQ9C3hRWmoSf8zK4iapgMnjdNZWrfwsP8m"),CLMM_PROGRAM_ID:new B("DRayAUgENGQBKVaX8owNhgzkEDyoHTGVEGHVJT1E9pfH"),CLMM_LOCK_PROGRAM_ID:new B("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),CLMM_LOCK_AUTH_ID:new B("6Aoh8h2Lw2m5UGxYR8AdAL87jTWYeKoxM52mJRzfYwN"),CREATE_CPMM_POOL_PROGRAM:new B("DRaycpLY18LhpbydsBWbVJtxpNv9oXPgjRSfpF2bWpYb"),CREATE_CPMM_POOL_AUTH:new B("CXniRufdq5xL8t8jZAPxsPZDpuudwuJSPWnbcD5Y5Nxq"),CREATE_CPMM_POOL_FEE_ACC:new B("3oE58BKVt8KuYkGxx8zBojugnymWmBiyafWgMrnb6eYy"),LOCK_CPMM_PROGRAM:new B("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),LOCK_CPMM_AUTH:new B("7qWVV8UY2bRJfDLP4s37YzBPKUkVB46DStYJBpYbQzu3"),UTIL1216:B.default,Router:new B("DRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd"),FARM_PROGRAM_ID_V3:new B("DRayWyrLmEW5KEeqs8kdTMMaBabapqagaBC7KWpGtJeZ"),FARM_PROGRAM_ID_V4:new B("Ray1111111111111111111111111111111111111111"),FARM_PROGRAM_ID_V5:new B("DRayiCGSZgku1GTK6rXD6mVDdingXy6APAH1R6R5L2LC"),FARM_PROGRAM_ID_V6:new B("DRayzbYakXs45ELHkzH6vC3fuhQqTAnv5A68gdFuvZyZ"),LAUNCHPAD_PROGRAM:new B("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),LAUNCHPAD_AUTH:new B("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),LAUNCHPAD_PLATFORM:new B("2Jx4KTDrVSdWNazuGpcA8n3ZLTRGGBDxAWhuKe2Xcj2a"),LAUNCHPAD_CONFIG:new B("7ZR4zD7PYfY2XxoG1Gxcy2EgEeGYrpxrwzPuwdUBssEt"),FEE_DESTINATION_ID:new B("9y8ENuuZ3b19quffx9hQvRVygG5ky6snHfRvGpuSfeJy"),MODEL_DATA_PUBKEY:new B("Ray1111111111111111111111111111111111111111")};import bu from"bn.js";import{PublicKey as Mt,AddressLookupTableAccount as Le}from"@solana/web3.js";async function Rt({connection:t,address:e,cluster:n="mainnet"}){let r=await gn(t,[...new Set(e.map(o=>o.toString()))].map(o=>new Mt(o))),i={};for(let o=0;o<e.length;o++){let s=r[o],u=e[o];if(!s)continue;let c=new Le({key:u,state:Le.deserialize(s.data)});i[u.toString()]=c,n==="devnet"?Be[u.toString()]=c:Ae[u.toString()]=c}return i}var Ae={},Et=async t=>{let e="AcL1Vo8oy1ULiavEcjSUcwfBSForXMudcZvDZy5nzJkU";if(Ae[e])return Ae;let n=new Mt(e),r=await t.getAccountInfo(n);return r&&(Ae[e]=new Le({key:n,state:Le.deserialize(r.data)})),Ae},Be={},_t=async t=>{let e="EFhMuDw1PKEuckuFRW9PavNfTH4LKP5uKHgyXDmWpFCq";if(Be[e])return Be;let n=new Mt(e),r=await t.getAccountInfo(n);return r&&(Be[e]=new Le({key:n,state:Le.deserialize(r.data)})),Be};import{PublicKey as ke,sendAndConfirmTransaction as Dt,SystemProgram as ui,Transaction as Ke,TransactionMessage as Oe,VersionedTransaction as Ve}from"@solana/web3.js";import ai from"axios";var ut=2e3,at=class{constructor(e){this.instructions=[];this.endInstructions=[];this.lookupTableAddress=[];this.signers=[];this.instructionTypes=[];this.endInstructionTypes=[];this.connection=e.connection,this.feePayer=e.feePayer,this.signAllTransactions=e.signAllTransactions,this.owner=e.owner,this.cluster=e.cluster,this.blockhashCommitment=e.blockhashCommitment,this.loopMultiTxStatus=!!e.loopMultiTxStatus}get AllTxData(){return{instructions:this.instructions,endInstructions:this.endInstructions,signers:this.signers,instructionTypes:this.instructionTypes,endInstructionTypes:this.endInstructionTypes,lookupTableAddress:this.lookupTableAddress}}get allInstructions(){return[...this.instructions,...this.endInstructions]}async getComputeBudgetConfig(){var r;let e=(await ai.get(`https://solanacompass.com/api/fees?cacheFreshTime=${3e5}`)).data,{avg:n}=(r=e==null?void 0:e[15])!=null?r:{};if(!!n)return{units:6e5,microLamports:Math.min(Math.ceil(n*1e6/6e5),25e3)}}addCustomComputeBudget(e){if(e){let{instructions:n,instructionTypes:r}=ot(e);return this.instructions.unshift(...n),this.instructionTypes.unshift(...r),!0}return!1}addTipInstruction(e){var n;return e?(this.endInstructions.push(ui.transfer({fromPubkey:(n=e.feePayer)!=null?n:this.feePayer,toPubkey:new ke(e.address),lamports:BigInt(e.amount.toString())})),this.endInstructionTypes.push(Y.TransferTip),!0):!1}async calComputeBudget({config:e,defaultIns:n}){try{let r=e||await this.getComputeBudgetConfig();if(this.addCustomComputeBudget(r))return;n&&this.instructions.unshift(...n)}catch{n&&this.instructions.unshift(...n)}}addInstruction({instructions:e=[],endInstructions:n=[],signers:r=[],instructionTypes:i=[],endInstructionTypes:o=[],lookupTableAddress:s=[]}){return this.instructions.push(...e),this.endInstructions.push(...n),this.signers.push(...r),this.instructionTypes.push(...i),this.endInstructionTypes.push(...o),this.lookupTableAddress.push(...s.filter(u=>u!==ke.default.toString())),this}async versionBuild({txVersion:e,extInfo:n}){return e===0?await this.buildV0(H({},n||{})):this.build(n)}build(e){var r;let n=new Ke;return this.allInstructions.length&&n.add(...this.allInstructions),n.feePayer=this.feePayer,((r=this.owner)==null?void 0:r.signer)&&!this.signers.some(i=>i.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer),{builder:this,transaction:n,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async i=>{var l;let{recentBlockHash:o,skipPreflight:s=!0,sendAndConfirm:u,notSendToRpc:c}=i||{},a=o!=null?o:await Se(this.connection,this.blockhashCommitment);if(n.recentBlockhash=a,this.signers.length&&n.sign(...this.signers),ye([n]),(l=this.owner)!=null&&l.isKeyPair)return{txId:u?await Dt(this.connection,n,this.signers.find(p=>p.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:s}):await this.connection.sendRawTransaction(n.serialize(),{skipPreflight:s}),signedTx:n};if(this.signAllTransactions){let f=await this.signAllTransactions([n]);if(this.signers.length)for(let p of f)try{p.sign(...this.signers)}catch{}return{txId:c?"":await this.connection.sendRawTransaction(f[0].serialize(),{skipPreflight:s}),signedTx:f[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:e||{}}}buildMultiTx(e){var a;let{extraPreBuildData:n=[],extInfo:r}=e,{transaction:i}=this.build(r),o=n.filter(l=>l.transaction.instructions.length>0),s=[i,...o.map(l=>l.transaction)],u=[this.signers,...o.map(l=>l.signers)],c=[...this.instructionTypes,...o.map(l=>l.instructionTypes).flat()];return(a=this.owner)!=null&&a.signer&&u.forEach(l=>{l.some(f=>f.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),{builder:this,transactions:s,signers:u,instructionTypes:c,execute:async l=>{var P;let{sequentially:f,onTxUpdate:p,skipTxCount:m=0,recentBlockHash:b,skipPreflight:g=!0}=l||{},h=b!=null?b:await Se(this.connection,this.blockhashCommitment);if((P=this.owner)!=null&&P.isKeyPair){if(f){let S=[],T=0;for(let y of s){if(++T,T<=m)continue;let w=await Dt(this.connection,y,this.signers.find(x=>x.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:g});S.push(w)}return{txIds:S,signedTxs:s}}return{txIds:await await Promise.all(s.map(async S=>(S.recentBlockhash=h,await this.connection.sendRawTransaction(S.serialize(),{skipPreflight:g})))),signedTxs:s}}if(this.signAllTransactions){let S=s.map((y,w)=>(y.recentBlockhash=h,u[w].length&&y.sign(...u[w]),y));ye(S);let T=await this.signAllTransactions(S);if(f){let y=0,w=[],x=async()=>{if(!T[y])return;let C=await this.connection.sendRawTransaction(T[y].serialize(),{skipPreflight:g});w.push({txId:C,status:"sent",signedTx:T[y]}),p==null||p([...w]),y++;let k=!1,_=null,K=null,v=D=>{_!==null&&clearInterval(_),K!==null&&this.connection.removeSignatureListener(K);let I=w.findIndex(O=>O.txId===C);if(I>-1){if(w[I].status==="error"||w[I].status==="success")return;w[I].status=D.err?"error":"success"}p==null||p([...w]),D.err||x()};this.loopMultiTxStatus&&(_=setInterval(async()=>{var D;if(k){clearInterval(_);return}try{let I=await this.connection.getTransaction(C,{commitment:"confirmed",maxSupportedTransactionVersion:0});I&&(k=!0,clearInterval(_),v({err:((D=I.meta)==null?void 0:D.err)||null}),console.log("tx status from getTransaction:",C))}catch(I){k=!0,clearInterval(_),console.error("getTransaction timeout:",I,C)}},ut)),K=this.connection.onSignature(C,D=>{if(k){this.connection.removeSignatureListener(K);return}k=!0,v(D)},"confirmed"),this.connection.getSignatureStatus(C)};return await x(),{txIds:w.map(C=>C.txId),signedTxs:T}}else{let y=[];for(let w=0;w<T.length;w+=1){let x=await this.connection.sendRawTransaction(T[w].serialize(),{skipPreflight:g});y.push(x)}return{txIds:y,signedTxs:T}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:r||{}}}async versionMultiBuild({extraPreBuildData:e,txVersion:n,extInfo:r}){return n===0?await this.buildV0MultiTx({extraPreBuildData:e,buildProps:r||{}}):this.buildMultiTx({extraPreBuildData:e,extInfo:r})}async buildV0(e){var g;let b=e||{},{lookupTableCache:n={},lookupTableAddress:r=[],forerunCreate:i,recentBlockhash:o}=b,s=ze(b,["lookupTableCache","lookupTableAddress","forerunCreate","recentBlockhash"]),u=H(H({},this.cluster==="devnet"?await _t(this.connection):await Et(this.connection)),n),c=Array.from(new Set([...r,...this.lookupTableAddress])),a=[];for(let h of c)u[h]===void 0&&a.push(new ke(h));let l=await Rt({connection:this.connection,address:a});for(let[h,P]of Object.entries(l))u[h]=P;let f=i?ke.default.toBase58():o!=null?o:await Se(this.connection,this.blockhashCommitment),p=new Oe({payerKey:this.feePayer,recentBlockhash:f,instructions:[...this.allInstructions]}).compileToV0Message(Object.values(u));((g=this.owner)==null?void 0:g.signer)&&!this.signers.some(h=>h.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer);let m=new Ve(p);return m.sign(this.signers),{builder:this,transaction:m,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async h=>{var y;let{skipPreflight:P=!0,sendAndConfirm:S,notSendToRpc:T}=h||{};if(ye([m]),(y=this.owner)!=null&&y.isKeyPair){let w=await this.connection.sendTransaction(m,{skipPreflight:P});return S&&await st(this.connection,w),{txId:w,signedTx:m}}if(this.signAllTransactions){let w=await this.signAllTransactions([m]);if(this.signers.length)for(let x of w)try{x.sign(this.signers)}catch{}return{txId:T?"":await this.connection.sendTransaction(w[0],{skipPreflight:P}),signedTx:w[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:s||{}}}async buildV0MultiTx(e){var a;let{extraPreBuildData:n=[],buildProps:r}=e,{transaction:i}=await this.buildV0(r),o=n.filter(l=>l.builder.instructions.length>0),s=[i,...o.map(l=>l.transaction)],u=[this.signers,...o.map(l=>l.signers)],c=[...this.instructionTypes,...o.map(l=>l.instructionTypes).flat()];return(a=this.owner)!=null&&a.signer&&u.forEach(l=>{l.some(f=>f.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),s.forEach(async(l,f)=>{l.sign(u[f])}),{builder:this,transactions:s,signers:u,instructionTypes:c,buildProps:r,execute:async l=>{var g;let{sequentially:f,onTxUpdate:p,recentBlockHash:m,skipPreflight:b=!0}=l||{};if(m&&s.forEach(h=>h.message.recentBlockhash=m),ye(s),(g=this.owner)!=null&&g.isKeyPair){if(f){let h=[];for(let P of s){let S=await this.connection.sendTransaction(P,{skipPreflight:b});await st(this.connection,S),h.push(S)}return{txIds:h,signedTxs:s}}return{txIds:await Promise.all(s.map(async h=>await this.connection.sendTransaction(h,{skipPreflight:b}))),signedTxs:s}}if(this.signAllTransactions){let h=await this.signAllTransactions(s);if(f){let P=0,S=[],T=async()=>{if(!h[P])return;let y=await this.connection.sendTransaction(h[P],{skipPreflight:b});S.push({txId:y,status:"sent",signedTx:h[P]}),p==null||p([...S]),P++;let w=!1,x=null,C=null,k=_=>{x!==null&&clearInterval(x),C!==null&&this.connection.removeSignatureListener(C);let K=S.findIndex(v=>v.txId===y);if(K>-1){if(S[K].status==="error"||S[K].status==="success")return;S[K].status=_.err?"error":"success"}p==null||p([...S]),_.err||T()};this.loopMultiTxStatus&&(x=setInterval(async()=>{var _;if(w){clearInterval(x);return}try{let K=await this.connection.getTransaction(y,{commitment:"confirmed",maxSupportedTransactionVersion:0});K&&(w=!0,clearInterval(x),k({err:((_=K.meta)==null?void 0:_.err)||null}),console.log("tx status from getTransaction:",y))}catch(K){w=!0,clearInterval(x),console.error("getTransaction timeout:",K,y)}},ut)),C=this.connection.onSignature(y,_=>{if(w){this.connection.removeSignatureListener(C);return}w=!0,k(_)},"confirmed"),this.connection.getSignatureStatus(y)};return T(),{txIds:[],signedTxs:h}}else{let P=[];for(let S=0;S<h.length;S+=1){let T=await this.connection.sendTransaction(h[S],{skipPreflight:b});P.push(T)}return{txIds:P,signedTxs:h}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:r||{}}}async sizeCheckBuild(e){var p;let f=e||{},{splitIns:n=[],computeBudgetConfig:r}=f,i=ze(f,["splitIns","computeBudgetConfig"]),o=r?ot(r):{instructions:[],instructionTypes:[]},s=this.signers.reduce((m,b)=>ae(H({},m),{[b.publicKey.toBase58()]:b}),{}),u=[],c=[],a=[],l=0;if(this.allInstructions.forEach(m=>{let b=[...a,m],g=r?[...o.instructions,...b]:b,P=[...new Set(b.map(S=>S.keys.filter(T=>T.isSigner).map(T=>T.pubkey.toString())).flat()).values()].map(S=>new ke(S));if(m!==n[l]&&a.length<12&&(Ie({instructions:g,payer:this.feePayer,signers:P})||Ie({instructions:b,payer:this.feePayer,signers:P})))a.push(m);else{if(a.length===0)throw Error("item ins too big");l+=m===n[l]?1:0,Ie({instructions:r?[...o.instructions,...a]:[...a],payer:this.feePayer,signers:P})?u.push(new Ke().add(...o.instructions,...a)):u.push(new Ke().add(...a)),c.push(Array.from(new Set(a.map(S=>S.keys.filter(T=>T.isSigner).map(T=>T.pubkey.toString())).flat())).map(S=>s[S]).filter(S=>S!==void 0)),a=[m]}}),a.length>0){let b=[...new Set(a.map(g=>g.keys.filter(h=>h.isSigner).map(h=>h.pubkey.toString())).flat()).values()].map(g=>s[g]).filter(g=>g!==void 0);Ie({instructions:r?[...o.instructions,...a]:[...a],payer:this.feePayer,signers:b.map(g=>g.publicKey)})?u.push(new Ke().add(...o.instructions,...a)):u.push(new Ke().add(...a)),c.push(b)}return u.forEach(m=>m.feePayer=this.feePayer),(p=this.owner)!=null&&p.signer&&c.forEach(m=>{m.some(b=>b.publicKey.equals(this.owner.publicKey))||m.push(this.owner.signer)}),{builder:this,transactions:u,signers:c,instructionTypes:this.instructionTypes,execute:async m=>{var y;let{sequentially:b,onTxUpdate:g,skipTxCount:h=0,recentBlockHash:P,skipPreflight:S=!0}=m||{},T=P!=null?P:await Se(this.connection,this.blockhashCommitment);if(u.forEach(async(w,x)=>{w.recentBlockhash=T,c[x].length&&w.sign(...c[x])}),ye(u),(y=this.owner)!=null&&y.isKeyPair){if(b){let w=0,x=[];for(let C of u){if(++w,w<=h){x.push("tx skipped");continue}let k=await Dt(this.connection,C,this.signers.find(_=>_.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:S});x.push(k)}return{txIds:x,signedTxs:u}}return{txIds:await Promise.all(u.map(async w=>await this.connection.sendRawTransaction(w.serialize(),{skipPreflight:S}))),signedTxs:u}}if(this.signAllTransactions){let w=await this.signAllTransactions(u.slice(h,u.length)),x=[...u.slice(0,h),...w];if(b){let C=0,k=[],_=async()=>{if(!x[C])return;C<h&&(k.push({txId:"",status:"success",signedTx:x[C]}),g==null||g([...k]),C++,_());let K=await this.connection.sendRawTransaction(x[C].serialize(),{skipPreflight:S});k.push({txId:K,status:"sent",signedTx:x[C]}),g==null||g([...k]),C++;let v=!1,D=null,I=null,O=F=>{D!==null&&clearInterval(D),I!==null&&this.connection.removeSignatureListener(I);let N=k.findIndex(j=>j.txId===K);if(N>-1){if(k[N].status==="error"||k[N].status==="success")return;k[N].status=F.err?"error":"success"}g==null||g([...k]),F.err||_()};this.loopMultiTxStatus&&(D=setInterval(async()=>{var F;if(v){clearInterval(D);return}try{let N=await this.connection.getTransaction(K,{commitment:"confirmed",maxSupportedTransactionVersion:0});N&&(v=!0,clearInterval(D),O({err:((F=N.meta)==null?void 0:F.err)||null}),console.log("tx status from getTransaction:",K))}catch(N){v=!0,clearInterval(D),console.error("getTransaction timeout:",N,K)}},ut)),I=this.connection.onSignature(K,F=>{if(v){this.connection.removeSignatureListener(I);return}v=!0,O(F)},"confirmed"),this.connection.getSignatureStatus(K)};return await _(),{txIds:k.map(K=>K.txId),signedTxs:x}}else{let C=[];for(let k=0;k<x.length;k+=1){let _=await this.connection.sendRawTransaction(x[k].serialize(),{skipPreflight:S});C.push(_)}return{txIds:C,signedTxs:x}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:i||{}}}async sizeCheckBuildV0(e){var T;let S=e||{},{computeBudgetConfig:n,splitIns:r=[],lookupTableCache:i={},lookupTableAddress:o=[]}=S,s=ze(S,["computeBudgetConfig","splitIns","lookupTableCache","lookupTableAddress"]),u=H(H({},this.cluster==="devnet"?await _t(this.connection):await Et(this.connection)),i),c=Array.from(new Set([...this.lookupTableAddress,...o])),a=[];for(let y of c)u[y]===void 0&&a.push(new ke(y));let l=await Rt({connection:this.connection,address:a});for(let[y,w]of Object.entries(l))u[y]=w;let f=n?ot(n):{instructions:[],instructionTypes:[]},p=await Se(this.connection,this.blockhashCommitment),m=this.signers.reduce((y,w)=>ae(H({},y),{[w.publicKey.toBase58()]:w}),{}),b=[],g=[],h=[],P=0;if(this.allInstructions.forEach(y=>{let w=[...h,y],x=n?[...f.instructions,...w]:w;if(y!==r[P]&&h.length<12&&(Fe({instructions:x,payer:this.feePayer,lookupTableAddressAccount:u})||Fe({instructions:w,payer:this.feePayer,lookupTableAddressAccount:u})))h.push(y);else{if(h.length===0)throw Error("item ins too big");P+=y===r[P]?1:0;let C={};for(let k of[...new Set(c)])u[k]!==void 0&&(C[k]=u[k]);if(n&&Fe({instructions:[...f.instructions,...h],payer:this.feePayer,lookupTableAddressAccount:u,recentBlockhash:p})){let k=new Oe({payerKey:this.feePayer,recentBlockhash:p,instructions:[...f.instructions,...h]}).compileToV0Message(Object.values(u));b.push(new Ve(k))}else{let k=new Oe({payerKey:this.feePayer,recentBlockhash:p,instructions:[...h]}).compileToV0Message(Object.values(u));b.push(new Ve(k))}g.push(Array.from(new Set(h.map(k=>k.keys.filter(_=>_.isSigner).map(_=>_.pubkey.toString())).flat())).map(k=>m[k]).filter(k=>k!==void 0)),h=[y]}}),h.length>0){let w=[...new Set(h.map(x=>x.keys.filter(C=>C.isSigner).map(C=>C.pubkey.toString())).flat()).values()].map(x=>m[x]).filter(x=>x!==void 0);if(n&&Fe({instructions:[...f.instructions,...h],payer:this.feePayer,lookupTableAddressAccount:u,recentBlockhash:p})){let x=new Oe({payerKey:this.feePayer,recentBlockhash:p,instructions:[...f.instructions,...h]}).compileToV0Message(Object.values(u));b.push(new Ve(x))}else{let x=new Oe({payerKey:this.feePayer,recentBlockhash:p,instructions:[...h]}).compileToV0Message(Object.values(u));b.push(new Ve(x))}g.push(w)}return(T=this.owner)!=null&&T.signer&&g.forEach(y=>{y.some(w=>w.publicKey.equals(this.owner.publicKey))||y.push(this.owner.signer)}),b.forEach((y,w)=>{y.sign(g[w])}),{builder:this,transactions:b,buildProps:e,signers:g,instructionTypes:this.instructionTypes,execute:async y=>{var K;let{sequentially:w,onTxUpdate:x,skipTxCount:C=0,recentBlockHash:k,skipPreflight:_=!0}=y||{};if(b.map(async(v,D)=>{g[D].length&&v.sign(g[D]),k&&(v.message.recentBlockhash=k)}),ye(b),(K=this.owner)!=null&&K.isKeyPair){if(w){let v=0,D=[];for(let I of b){if(++v,v<=C){console.log("skip tx: ",v),D.push("tx skipped");continue}let O=await this.connection.sendTransaction(I,{skipPreflight:_});await st(this.connection,O),D.push(O)}return{txIds:D,signedTxs:b}}return{txIds:await Promise.all(b.map(async v=>await this.connection.sendTransaction(v,{skipPreflight:_}))),signedTxs:b}}if(this.signAllTransactions){let v=await this.signAllTransactions(b.slice(C,b.length)),D=[...b.slice(0,C),...v];if(w){let I=0,O=[],F=async()=>{if(!D[I])return;if(I<C){O.push({txId:"",status:"success",signedTx:D[I]}),x==null||x([...O]),I++,F();return}let N=await this.connection.sendTransaction(D[I],{skipPreflight:_});O.push({txId:N,status:"sent",signedTx:D[I]}),x==null||x([...O]),I++;let j=!1,ue=null,Ge=null,Qt=he=>{ue!==null&&clearInterval(ue),Ge!==null&&this.connection.removeSignatureListener(Ge);let re=O.findIndex(Gn=>Gn.txId===N);if(re>-1){if(O[re].status==="error"||O[re].status==="success")return;O[re].status=he.err?"error":"success"}x==null||x([...O]),he.err||F()};this.loopMultiTxStatus&&(ue=setInterval(async()=>{var he;if(j){clearInterval(ue);return}try{let re=await this.connection.getTransaction(N,{commitment:"confirmed",maxSupportedTransactionVersion:0});re&&(j=!0,clearInterval(ue),Qt({err:((he=re.meta)==null?void 0:he.err)||null}),console.log("tx status from getTransaction:",N))}catch(re){j=!0,clearInterval(ue),console.error("getTransaction timeout:",re,N)}},ut)),Ge=this.connection.onSignature(N,he=>{if(j){this.connection.removeSignatureListener(Ge);return}j=!0,Qt(he)},"confirmed"),this.connection.getSignatureStatus(N)};return F(),{txIds:[],signedTxs:D}}else{let I=[];for(let O=0;O<D.length;O+=1){let F=await this.connection.sendTransaction(D[O],{skipPreflight:_});I.push(F)}return{txIds:I,signedTxs:D}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:s||{}}}};import{PublicKey as Iu}from"@solana/web3.js";import Ku from"bn.js";import ci from"bn.js";var Wu=new ci(1e6);var Ta=Z("Raydium_amount"),Pa=De(li);var it=new se(0),Fa=new se(1),Ka=new se(2),Oa=new se(3),Va=new se(5),fi=new se(10),qa=new se(100),Ua=new se(1e3),Wa=new se(1e4);import{Keypair as Bi,PublicKey as Li}from"@solana/web3.js";import cl from"bn.js";import{TOKEN_PROGRAM_ID as ki}from"@solana/spl-token";function pi(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}function vt(t,...e){if(!pi(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error(`Uint8Array expected of length ${e}, not of length=${t.length}`)}function It(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function Rn(t,e){vt(t);let n=e.outputLen;if(t.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}var lt=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),te=(t,e)=>t<<32-e|t>>>e;var ja=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function di(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function Ft(t){return typeof t=="string"&&(t=di(t)),vt(t),t}var ct=class{clone(){return this._cloneInto()}},Qa={}.toString;function En(t){let e=r=>t().update(Ft(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}function mi(t,e,n,r){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,n,r);let i=BigInt(32),o=BigInt(4294967295),s=Number(n>>i&o),u=Number(n&o),c=r?4:0,a=r?0:4;t.setUint32(e+c,s,r),t.setUint32(e+a,u,r)}var _n=(t,e,n)=>t&e^~t&n,Dn=(t,e,n)=>t&e^t&n^e&n,ft=class extends ct{constructor(e,n,r,i){super(),this.blockLen=e,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(e),this.view=lt(this.buffer)}update(e){It(this);let{view:n,buffer:r,blockLen:i}=this;e=Ft(e);let o=e.length;for(let s=0;s<o;){let u=Math.min(i-this.pos,o-s);if(u===i){let c=lt(e);for(;i<=o-s;s+=i)this.process(c,s);continue}r.set(e.subarray(s,s+u),this.pos),this.pos+=u,s+=u,this.pos===i&&(this.process(n,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){It(this),Rn(e,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;mi(r,i-8,BigInt(this.length*8),o),this.process(r,0);let u=lt(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let a=c/4,l=this.get();if(a>l.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<a;f++)u.setUint32(4*f,l[f],o)}digest(){let{buffer:e,outputLen:n}=this;this.digestInto(e);let r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:n,buffer:r,length:i,finished:o,destroyed:s,pos:u}=this;return e.length=i,e.pos=u,e.finished=o,e.destroyed=s,i%n&&e.buffer.set(r),e}};var gi=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]),de=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),me=new Uint32Array(64),Kt=class extends ft{constructor(){super(64,32,8,!1),this.A=de[0]|0,this.B=de[1]|0,this.C=de[2]|0,this.D=de[3]|0,this.E=de[4]|0,this.F=de[5]|0,this.G=de[6]|0,this.H=de[7]|0}get(){let{A:e,B:n,C:r,D:i,E:o,F:s,G:u,H:c}=this;return[e,n,r,i,o,s,u,c]}set(e,n,r,i,o,s,u,c){this.A=e|0,this.B=n|0,this.C=r|0,this.D=i|0,this.E=o|0,this.F=s|0,this.G=u|0,this.H=c|0}process(e,n){for(let f=0;f<16;f++,n+=4)me[f]=e.getUint32(n,!1);for(let f=16;f<64;f++){let p=me[f-15],m=me[f-2],b=te(p,7)^te(p,18)^p>>>3,g=te(m,17)^te(m,19)^m>>>10;me[f]=g+me[f-7]+b+me[f-16]|0}let{A:r,B:i,C:o,D:s,E:u,F:c,G:a,H:l}=this;for(let f=0;f<64;f++){let p=te(u,6)^te(u,11)^te(u,25),m=l+p+_n(u,c,a)+gi[f]+me[f]|0,g=(te(r,2)^te(r,13)^te(r,22))+Dn(r,i,o)|0;l=a,a=c,c=u,u=s+m|0,s=o,o=i,i=r,r=m+g|0}r=r+this.A|0,i=i+this.B|0,o=o+this.C|0,s=s+this.D|0,u=u+this.E|0,c=c+this.F|0,a=a+this.G|0,l=l+this.H|0,this.set(r,i,o,s,u,c,a,l)}roundClean(){me.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var vn=En(()=>new Kt);import{PublicKey as Si}from"@solana/web3.js";import Kn,{isBN as Jc}from"bn.js";import{bits as hi,BitStructure as rc,blob as bi,Blob as ic,cstr as oc,f32 as sc,f32be as uc,f64 as ac,f64be as cc,greedy as lc,Layout as yi,ns64 as fc,ns64be as pc,nu64 as dc,nu64be as mc,offset as gc,s16 as hc,s16be as bc,s24 as yc,s24be as wc,s32 as xc,s32be as Tc,s40 as Pc,s40be as Sc,s48 as Ac,s48be as Bc,s8 as Lc,seq as kc,struct as Nc,Structure as wi,u16 as xi,u16be as Cc,u24 as Mc,u24be as Rc,u32 as Ti,u32be as Ec,u40 as _c,u40be as Dc,u48 as vc,u48be as Ic,u8 as Fc,UInt as Pi,union as Kc,Union as Oc,unionLayoutDiscriminator as Vc,utf8 as qc}from"@solana/buffer-layout";var pt=yi,In=wi;var Ot=Pi;var Fn=xi;var Vt=Ti;var Ne=bi;var qt=hi;var Ut=class extends pt{constructor(n,r,i){super(n,i);this.blob=Ne(n),this.signed=r}decode(n,r=0){let i=new Kn(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 Kn(n)),this.signed&&(n=n.toTwos(this.span*8)),this.blob.encode(n.toArrayLike(Buffer,"le",this.span),r,i)}},dt=class extends pt{constructor(n){super(8,n);this._lower=qt(Vt(),!1),this._upper=qt(Vt(),!1)}addBoolean(n){this._lower.fields.length<32?this._lower.addBoolean(n):this._upper.addBoolean(n)}decode(n,r=0){let i=this._lower.decode(n,r),o=this._upper.decode(n,r+this._lower.span);return H(H({},i),o)}encode(n,r,i=0){return this._lower.encode(n,r,i)+this._upper.encode(n,r,i+this._lower.span)}};function mt(t){return new Ot(1,t)}function Ce(t){return new Ot(4,t)}function W(t){return new Ut(8,!1,t)}var Wt=class extends pt{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 J(t){return new Wt(Ne(32),e=>new Si(e),e=>e.toBuffer(),t)}var Gt=class extends In{decode(e,n){return super.decode(e,n)}};function Me(t,e,n){return new Gt(t,e,n)}var Ai=Me([J("mint"),J("owner"),W("amount"),Ce("delegateOption"),J("delegate"),mt("state"),Ce("isNativeOption"),W("isNative"),W("delegatedAmount"),Ce("closeAuthorityOption"),J("closeAuthority")]);var ml=Z("Raydium_Util");function ge({fromPublicKey:t,programId:e=ki,assignSeed:n}){let r=n?btoa(n).slice(0,32):Bi.generate().publicKey.toBase58().slice(0,32);return{publicKey:Ni(t,r,e),seed:r}}function Ni(t,e,n){let r=Buffer.concat([t.toBuffer(),Buffer.from(e),n.toBuffer()]),i=vn(r);return new Li(i)}var Ht=(...t)=>t.map(e=>{try{return typeof e=="object"?JSON.stringify(e):e}catch{return e}}).join(", "),qe=class{constructor({scope:e,moduleName:n}){this.disabled=!1;this.scope=e,this.logger=Z(n)}createTxBuilder(e){return this.scope.checkOwner(),new at({connection:this.scope.connection,feePayer:e||this.scope.ownerPubKey,cluster:this.scope.cluster,owner:this.scope.owner,blockhashCommitment:this.scope.blockhashCommitment,loopMultiTxStatus:this.scope.loopMultiTxStatus,api:this.scope.api,signAllTransactions:this.scope.signAllTransactions})}logDebug(...e){this.logger.debug(Ht(e))}logInfo(...e){this.logger.info(Ht(e))}logAndCreateError(...e){let n=Ht(e);throw new Error(n)}checkDisabled(){(this.disabled||!this.scope)&&this.logAndCreateError("module not working")}};import{SystemProgram as we,SYSVAR_RENT_PUBKEY as Mi,Transaction as On,TransactionInstruction as Ri}from"@solana/web3.js";import{createInitializeAccountInstruction as Vn,TOKEN_PROGRAM_ID as qn}from"@solana/spl-token";function Ci(t="accountFlags"){let e=new dt(t);return e.addBoolean("initialized"),e.addBoolean("market"),e.addBoolean("openOrders"),e.addBoolean("requestQueue"),e.addBoolean("eventQueue"),e.addBoolean("bids"),e.addBoolean("asks"),e}var zt=Me([Ne(5),Ci("accountFlags"),J("ownAddress"),W("vaultSignerNonce"),J("baseMint"),J("quoteMint"),J("baseVault"),W("baseDepositsTotal"),W("baseFeesAccrued"),J("quoteVault"),W("quoteDepositsTotal"),W("quoteFeesAccrued"),W("quoteDustThreshold"),J("requestQueue"),J("eventQueue"),J("bids"),J("asks"),W("baseLotSize"),W("quoteLotSize"),W("feeRateBps"),W("referrerRebatesAccrued"),Ne(7)]);function Ei({programId:t,marketInfo:e}){let n=Me([mt("version"),Ce("instruction"),W("baseLotSize"),W("quoteLotSize"),Fn("feeRateBps"),W("vaultSignerNonce"),W("quoteDustThreshold")]),r=[{pubkey:e.id,isSigner:!1,isWritable:!0},{pubkey:e.requestQueue,isSigner:!1,isWritable:!0},{pubkey:e.eventQueue,isSigner:!1,isWritable:!0},{pubkey:e.bids,isSigner:!1,isWritable:!0},{pubkey:e.asks,isSigner:!1,isWritable:!0},{pubkey:e.baseVault,isSigner:!1,isWritable:!0},{pubkey:e.quoteVault,isSigner:!1,isWritable:!0},{pubkey:e.baseMint,isSigner:!1,isWritable:!1},{pubkey:e.quoteMint,isSigner:!1,isWritable:!1},{pubkey:e.authority?e.quoteMint:Mi,isSigner:!1,isWritable:!1}].concat(e.authority?{pubkey:e.authority,isSigner:!1,isWritable:!1}:[]).concat(e.authority&&e.pruneAuthority?{pubkey:e.pruneAuthority,isSigner:!1,isWritable:!1}:[]),i=Buffer.alloc(n.span);return n.encode({version:0,instruction:0,baseLotSize:e.baseLotSize,quoteLotSize:e.quoteLotSize,feeRateBps:e.feeRateBps,vaultSignerNonce:e.vaultSignerNonce,quoteDustThreshold:e.quoteDustThreshold},i),new Ri({keys:r,programId:t,data:i})}async function Un({connection:t,wallet:e,marketInfo:n}){var s,u,c,a,l,f,p,m;let r=new On,i=await t.getMinimumBalanceForRentExemption(165);r.add(we.createAccountWithSeed({fromPubkey:e,basePubkey:e,seed:n.baseVault.seed,newAccountPubkey:n.baseVault.publicKey,lamports:i,space:165,programId:qn}),we.createAccountWithSeed({fromPubkey:e,basePubkey:e,seed:n.quoteVault.seed,newAccountPubkey:n.quoteVault.publicKey,lamports:i,space:165,programId:qn}),Vn(n.baseVault.publicKey,n.baseMint,n.vaultOwner),Vn(n.quoteVault.publicKey,n.quoteMint,n.vaultOwner),we.createAccountWithSeed({fromPubkey:e,basePubkey:e,seed:n.id.seed,newAccountPubkey:n.id.publicKey,lamports:await t.getMinimumBalanceForRentExemption(zt.span),space:zt.span,programId:n.programId}));let o=new On;return o.add(we.createAccountWithSeed({fromPubkey:e,basePubkey:e,seed:n.requestQueue.seed,newAccountPubkey:n.requestQueue.publicKey,lamports:n.lowestFeeMarket?6208320:await t.getMinimumBalanceForRentExemption((s=n.requestQueueSpace)!=null?s:5120+12),space:n.lowestFeeMarket?764:(u=n.requestQueueSpace)!=null?u:5120+12,programId:n.programId}),we.createAccountWithSeed({fromPubkey:e,basePubkey:e,seed:n.eventQueue.seed,newAccountPubkey:n.eventQueue.publicKey,lamports:n.lowestFeeMarket?79594560:await t.getMinimumBalanceForRentExemption((c=n.eventQueueSpace)!=null?c:262144+12),space:n.lowestFeeMarket?11308:(a=n.eventQueueSpace)!=null?a:262144+12,programId:n.programId}),we.createAccountWithSeed({fromPubkey:e,basePubkey:e,seed:n.bids.seed,newAccountPubkey:n.bids.publicKey,lamports:n.lowestFeeMarket?101977920:await t.getMinimumBalanceForRentExemption((l=n.orderbookQueueSpace)!=null?l:65536+12),space:n.lowestFeeMarket?14524:(f=n.orderbookQueueSpace)!=null?f:65536+12,programId:n.programId}),we.createAccountWithSeed({fromPubkey:e,basePubkey:e,seed:n.asks.seed,newAccountPubkey:n.asks.publicKey,lamports:n.lowestFeeMarket?101977920:await t.getMinimumBalanceForRentExemption((p=n.orderbookQueueSpace)!=null?p:65536+12),space:n.lowestFeeMarket?14524:(m=n.orderbookQueueSpace)!=null?m:65536+12,programId:n.programId}),Ei({programId:n.programId,marketInfo:{id:n.id.publicKey,requestQueue:n.requestQueue.publicKey,eventQueue:n.eventQueue.publicKey,bids:n.bids.publicKey,asks:n.asks.publicKey,baseVault:n.baseVault.publicKey,quoteVault:n.quoteVault.publicKey,baseMint:n.baseMint,quoteMint:n.quoteMint,baseLotSize:n.baseLotSize,quoteLotSize:n.quoteLotSize,feeRateBps:n.feeRateBps,vaultSignerNonce:n.vaultSignerNonce,quoteDustThreshold:n.quoteDustThreshold}})),[{transaction:r,signer:[],instructionTypes:[Y.CreateAccount,Y.CreateAccount,Y.InitAccount,Y.InitAccount]},{transaction:o,signer:[],instructionTypes:[Y.CreateAccount,Y.CreateAccount,Y.CreateAccount,Y.CreateAccount,Y.CreateAccount,Y.InitMarket]}]}var jt=class extends qe{async create({baseInfo:e,quoteInfo:n,lotSize:r,tickSize:i,dexProgramId:o,requestQueueSpace:s,eventQueueSpace:u,orderbookQueueSpace:c,lowestFeeMarket:a,assignSeed:l,txVersion:f,computeBudgetConfig:p,txTipConfig:m,feePayer:b}){let g=this.scope.ownerPubKey,h=l?`${e.mint.toBase58().slice(0,10)}-${n.mint.toBase58().slice(0,10)}-${l}`:void 0,P=ge({fromPublicKey:g,programId:o,assignSeed:h&&`${h}-market`}),S=ge({fromPublicKey:g,programId:o,assignSeed:h&&`${h}-request`}),T=ge({fromPublicKey:g,programId:o,assignSeed:h&&`${h}-event`}),y=ge({fromPublicKey:g,programId:o,assignSeed:h&&`${h}-bids`}),w=ge({fromPublicKey:g,programId:o,assignSeed:h&&`${h}-asks`}),x=ge({fromPublicKey:g,programId:Wn,assignSeed:h&&`${h}-baseVault`}),C=ge({fromPublicKey:g,programId:Wn,assignSeed:h&&`${h}-quoteVault`}),k=0,_=new We(100);function K(){let j=new We(0);for(;;)try{return{vaultOwner:Ue.createProgramAddressSync([P.publicKey.toBuffer(),j.toArrayLike(Buffer,"le",8)],o),vaultSignerNonce:j}}catch{if(j.iaddn(1),j.gt(new We(25555)))throw Error("find vault owner error")}}let{vaultOwner:v,vaultSignerNonce:D}=K(),I=new We(Math.round(10**e.decimals*r)),O=new We(Math.round(r*10**n.decimals*i));if(I.eq(it))throw Error("lot size is too small");if(O.eq(it))throw Error("tick size or lot size is too small");let F=await Un({connection:this.scope.connection,wallet:this.scope.ownerPubKey,marketInfo:{programId:o,id:P,baseMint:e.mint,quoteMint:n.mint,baseVault:x,quoteVault:C,vaultOwner:v,requestQueue:S,eventQueue:T,bids:y,asks:w,feeRateBps:k,quoteDustThreshold:_,vaultSignerNonce:D,baseLotSize:I,quoteLotSize:O,requestQueueSpace:s,eventQueueSpace:u,orderbookQueueSpace:c,lowestFeeMarket:a}}),N=this.createTxBuilder(b);N.addInstruction({instructions:F[0].transaction.instructions,signers:F[0].signer});for await(let j of F.slice(1,F.length))N.addInstruction({instructions:j.transaction.instructions,signers:j.signer,instructionTypes:j.instructionTypes});return f===0?N.sizeCheckBuildV0({computeBudgetConfig:p,address:{marketId:P.publicKey,requestQueue:S.publicKey,eventQueue:T.publicKey,bids:y.publicKey,asks:w.publicKey,baseVault:x.publicKey,quoteVault:C.publicKey,baseMint:new Ue(e.mint),quoteMint:new Ue(n.mint)}}):N.sizeCheckBuild({computeBudgetConfig:p,address:{marketId:P.publicKey,requestQueue:S.publicKey,eventQueue:T.publicKey,bids:y.publicKey,asks:w.publicKey,baseVault:x.publicKey,quoteVault:C.publicKey,baseMint:new Ue(e.mint),quoteMint:new Ue(n.mint)}})}};export{jt as default};
/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */
//# sourceMappingURL=createMarket.mjs.map