@raydium-io/raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
2 lines • 139 kB
JavaScript
var to=Object.create;var Ct=Object.defineProperty,no=Object.defineProperties,io=Object.getOwnPropertyDescriptor,ro=Object.getOwnPropertyDescriptors,oo=Object.getOwnPropertyNames,Qt=Object.getOwnPropertySymbols,so=Object.getPrototypeOf,In=Object.prototype.hasOwnProperty,Ei=Object.prototype.propertyIsEnumerable;var vi=(n,e,t)=>e in n?Ct(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,Y=(n,e)=>{for(var t in e||(e={}))In.call(e,t)&&vi(n,t,e[t]);if(Qt)for(var t of Qt(e))Ei.call(e,t)&&vi(n,t,e[t]);return n},$=(n,e)=>no(n,ro(e));var it=(n,e)=>{var t={};for(var i in n)In.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&Qt)for(var i of Qt(n))e.indexOf(i)<0&&Ei.call(n,i)&&(t[i]=n[i]);return t};var ao=(n,e)=>{for(var t in e)Ct(n,t,{get:e[t],enumerable:!0})},Oi=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of oo(e))!In.call(n,r)&&r!==t&&Ct(n,r,{get:()=>e[r],enumerable:!(i=io(e,r))||i.enumerable});return n};var ne=(n,e,t)=>(t=n!=null?to(so(n)):{},Oi(e||!n||!n.__esModule?Ct(t,"default",{value:n,enumerable:!0}):t,n)),uo=n=>Oi(Ct({},"__esModule",{value:!0}),n);var ra={};ao(ra,{LaunchpadPoolInitParam:()=>Ht,default:()=>kn,usdMintBSet:()=>ia});module.exports=uo(ra);var Kt=require("lodash");var Sn=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 t=e.map(i=>typeof i=="object"?JSON.stringify(i):i).join(", ");throw new Error(t)}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}},Di={},co={};function ge(n){let e=(0,Kt.get)(Di,n);if(!e){let t=(0,Kt.get)(co,n);e=new Sn({name:n,logLevel:t}),(0,Kt.set)(Di,n,e)}return e}var Q=require("@solana/web3.js"),wr=ne(require("axios"));var ve=require("@solana/web3.js");var gr=require("@solana/web3.js");var Fe=ne(require("bn.js"));var ft=9e15,Qe=1e9,Cn="0123456789abcdef",$t="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",en="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Kn={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-ft,maxE:ft,crypto:!1},qi,Ue,X=!0,nn="[DecimalError] ",je=nn+"Invalid argument: ",Gi=nn+"Precision limit exceeded",Ui=nn+"crypto unavailable",Xi="[object Decimal]",Pe=Math.floor,de=Math.pow,lo=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,mo=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,po=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,zi=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Le=1e7,q=7,fo=9007199254740991,bo=$t.length-1,Nn=en.length-1,T={toStringTag:Xi};T.absoluteValue=T.abs=function(){var n=new this.constructor(this);return n.s<0&&(n.s=1),v(n)};T.ceil=function(){return v(new this.constructor(this),this.e+1,2)};T.clampedTo=T.clamp=function(n,e){var t,i=this,r=i.constructor;if(n=new r(n),e=new r(e),!n.s||!e.s)return new r(NaN);if(n.gt(e))throw Error(je+e);return t=i.cmp(n),t<0?n:i.cmp(e)>0?e:new r(i)};T.comparedTo=T.cmp=function(n){var e,t,i,r,o=this,s=o.d,a=(n=new o.constructor(n)).d,c=o.s,u=n.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!==n.e)return o.e>n.e^c<0?1:-1;for(i=s.length,r=a.length,e=0,t=i<r?i:r;e<t;++e)if(s[e]!==a[e])return s[e]>a[e]^c<0?1:-1;return i===r?0:i>r^c<0?1:-1};T.cosine=T.cos=function(){var n,e,t=this,i=t.constructor;return t.d?t.d[0]?(n=i.precision,e=i.rounding,i.precision=n+Math.max(t.e,t.sd())+q,i.rounding=1,t=yo(i,Qi(i,t)),i.precision=n,i.rounding=e,v(Ue==2||Ue==3?t.neg():t,n,e,!0)):new i(1):new i(NaN)};T.cubeRoot=T.cbrt=function(){var n,e,t,i,r,o,s,a,c,u,l=this,m=l.constructor;if(!l.isFinite()||l.isZero())return new m(l);for(X=!1,o=l.s*de(l.s*l,1/3),!o||Math.abs(o)==1/0?(t=be(l.d),n=l.e,(o=(n-t.length+1)%3)&&(t+=o==1||o==-2?"0":"00"),o=de(t,1/3),n=Pe((n+1)/3)-(n%3==(n<0?-1:2)),o==1/0?t="5e"+n:(t=o.toExponential(),t=t.slice(0,t.indexOf("e")+1)+n),i=new m(t),i.s=l.s):i=new m(o.toString()),s=(n=m.precision)+3;;)if(a=i,c=a.times(a).times(a),u=c.plus(l),i=ie(u.plus(l).times(a),u.plus(c),s+2,1),be(a.d).slice(0,s)===(t=be(i.d)).slice(0,s))if(t=t.slice(s-3,s+1),t=="9999"||!r&&t=="4999"){if(!r&&(v(a,n+1,0),a.times(a).times(a).eq(l))){i=a;break}s+=4,r=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(v(i,n+1,1),e=!i.times(i).times(i).eq(l));break}return X=!0,v(i,n,m.rounding,e)};T.decimalPlaces=T.dp=function(){var n,e=this.d,t=NaN;if(e){if(n=e.length-1,t=(n-Pe(this.e/q))*q,n=e[n],n)for(;n%10==0;n/=10)t--;t<0&&(t=0)}return t};T.dividedBy=T.div=function(n){return ie(this,new this.constructor(n))};T.dividedToIntegerBy=T.divToInt=function(n){var e=this,t=e.constructor;return v(ie(e,new t(n),0,1,1),t.precision,t.rounding)};T.equals=T.eq=function(n){return this.cmp(n)===0};T.floor=function(){return v(new this.constructor(this),this.e+1,3)};T.greaterThan=T.gt=function(n){return this.cmp(n)>0};T.greaterThanOrEqualTo=T.gte=function(n){var e=this.cmp(n);return e==1||e===0};T.hyperbolicCosine=T.cosh=function(){var n,e,t,i,r,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;t=s.precision,i=s.rounding,s.precision=t+Math.max(o.e,o.sd())+4,s.rounding=1,r=o.d.length,r<32?(n=Math.ceil(r/3),e=(1/on(4,n)).toString()):(n=16,e="2.3283064365386962890625e-10"),o=bt(s,1,o.times(e),new s(1),!0);for(var c,u=n,l=new s(8);u--;)c=o.times(o),o=a.minus(c.times(l.minus(c.times(l))));return v(o,s.precision=t,s.rounding=i,!0)};T.hyperbolicSine=T.sinh=function(){var n,e,t,i,r=this,o=r.constructor;if(!r.isFinite()||r.isZero())return new o(r);if(e=o.precision,t=o.rounding,o.precision=e+Math.max(r.e,r.sd())+4,o.rounding=1,i=r.d.length,i<3)r=bt(o,2,r,r,!0);else{n=1.4*Math.sqrt(i),n=n>16?16:n|0,r=r.times(1/on(5,n)),r=bt(o,2,r,r,!0);for(var s,a=new o(5),c=new o(16),u=new o(20);n--;)s=r.times(r),r=r.times(a.plus(s.times(c.times(s).plus(u))))}return o.precision=e,o.rounding=t,v(r,e,t,!0)};T.hyperbolicTangent=T.tanh=function(){var n,e,t=this,i=t.constructor;return t.isFinite()?t.isZero()?new i(t):(n=i.precision,e=i.rounding,i.precision=n+7,i.rounding=1,ie(t.sinh(),t.cosh(),i.precision=n,i.rounding=e)):new i(t.s)};T.inverseCosine=T.acos=function(){var n,e=this,t=e.constructor,i=e.abs().cmp(1),r=t.precision,o=t.rounding;return i!==-1?i===0?e.isNeg()?Re(t,r,o):new t(0):new t(NaN):e.isZero()?Re(t,r+4,o).times(.5):(t.precision=r+6,t.rounding=1,e=e.asin(),n=Re(t,r+4,o).times(.5),t.precision=r,t.rounding=o,n.minus(e))};T.inverseHyperbolicCosine=T.acosh=function(){var n,e,t=this,i=t.constructor;return t.lte(1)?new i(t.eq(1)?0:NaN):t.isFinite()?(n=i.precision,e=i.rounding,i.precision=n+Math.max(Math.abs(t.e),t.sd())+4,i.rounding=1,X=!1,t=t.times(t).minus(1).sqrt().plus(t),X=!0,i.precision=n,i.rounding=e,t.ln()):new i(t)};T.inverseHyperbolicSine=T.asinh=function(){var n,e,t=this,i=t.constructor;return!t.isFinite()||t.isZero()?new i(t):(n=i.precision,e=i.rounding,i.precision=n+2*Math.max(Math.abs(t.e),t.sd())+6,i.rounding=1,X=!1,t=t.times(t).plus(1).sqrt().plus(t),X=!0,i.precision=n,i.rounding=e,t.ln())};T.inverseHyperbolicTangent=T.atanh=function(){var n,e,t,i,r=this,o=r.constructor;return r.isFinite()?r.e>=0?new o(r.abs().eq(1)?r.s/0:r.isZero()?r:NaN):(n=o.precision,e=o.rounding,i=r.sd(),Math.max(i,n)<2*-r.e-1?v(new o(r),n,e,!0):(o.precision=t=i-r.e,r=ie(r.plus(1),new o(1).minus(r),t+n,1),o.precision=n+4,o.rounding=1,r=r.ln(),o.precision=n,o.rounding=e,r.times(.5))):new o(NaN)};T.inverseSine=T.asin=function(){var n,e,t,i,r=this,o=r.constructor;return r.isZero()?new o(r):(e=r.abs().cmp(1),t=o.precision,i=o.rounding,e!==-1?e===0?(n=Re(o,t+4,i).times(.5),n.s=r.s,n):new o(NaN):(o.precision=t+6,o.rounding=1,r=r.div(new o(1).minus(r.times(r)).sqrt().plus(1)).atan(),o.precision=t,o.rounding=i,r.times(2)))};T.inverseTangent=T.atan=function(){var n,e,t,i,r,o,s,a,c,u=this,l=u.constructor,m=l.precision,d=l.rounding;if(u.isFinite()){if(u.isZero())return new l(u);if(u.abs().eq(1)&&m+4<=Nn)return s=Re(l,m+4,d).times(.25),s.s=u.s,s}else{if(!u.s)return new l(NaN);if(m+4<=Nn)return s=Re(l,m+4,d).times(.5),s.s=u.s,s}for(l.precision=a=m+10,l.rounding=1,t=Math.min(28,a/q+2|0),n=t;n;--n)u=u.div(u.times(u).plus(1).sqrt().plus(1));for(X=!1,e=Math.ceil(a/q),i=1,c=u.times(u),s=new l(u),r=u;n!==-1;)if(r=r.times(c),o=s.minus(r.div(i+=2)),r=r.times(c),s=o.plus(r.div(i+=2)),s.d[e]!==void 0)for(n=e;s.d[n]===o.d[n]&&n--;);return t&&(s=s.times(2<<t-1)),X=!0,v(s,l.precision=m,l.rounding=d,!0)};T.isFinite=function(){return!!this.d};T.isInteger=T.isInt=function(){return!!this.d&&Pe(this.e/q)>this.d.length-2};T.isNaN=function(){return!this.s};T.isNegative=T.isNeg=function(){return this.s<0};T.isPositive=T.isPos=function(){return this.s>0};T.isZero=function(){return!!this.d&&this.d[0]===0};T.lessThan=T.lt=function(n){return this.cmp(n)<0};T.lessThanOrEqualTo=T.lte=function(n){return this.cmp(n)<1};T.logarithm=T.log=function(n){var e,t,i,r,o,s,a,c,u=this,l=u.constructor,m=l.precision,d=l.rounding,p=5;if(n==null)n=new l(10),e=!0;else{if(n=new l(n),t=n.d,n.s<0||!t||!t[0]||n.eq(1))return new l(NaN);e=n.eq(10)}if(t=u.d,u.s<0||!t||!t[0]||u.eq(1))return new l(t&&!t[0]?-1/0:u.s!=1?NaN:t?0:1/0);if(e)if(t.length>1)o=!0;else{for(r=t[0];r%10===0;)r/=10;o=r!==1}if(X=!1,a=m+p,s=Ze(u,a),i=e?tn(l,a+10):Ze(n,a),c=ie(s,i,a,1),Nt(c.d,r=m,d))do if(a+=10,s=Ze(u,a),i=e?tn(l,a+10):Ze(n,a),c=ie(s,i,a,1),!o){+be(c.d).slice(r+1,r+15)+1==1e14&&(c=v(c,m+1,0));break}while(Nt(c.d,r+=10,d));return X=!0,v(c,m,d)};T.minus=T.sub=function(n){var e,t,i,r,o,s,a,c,u,l,m,d,p=this,f=p.constructor;if(n=new f(n),!p.d||!n.d)return!p.s||!n.s?n=new f(NaN):p.d?n.s=-n.s:n=new f(n.d||p.s!==n.s?p:NaN),n;if(p.s!=n.s)return n.s=-n.s,p.plus(n);if(u=p.d,d=n.d,a=f.precision,c=f.rounding,!u[0]||!d[0]){if(d[0])n.s=-n.s;else if(u[0])n=new f(p);else return new f(c===3?-0:0);return X?v(n,a,c):n}if(t=Pe(n.e/q),l=Pe(p.e/q),u=u.slice(),o=l-t,o){for(m=o<0,m?(e=u,o=-o,s=d.length):(e=d,t=l,s=u.length),i=Math.max(Math.ceil(a/q),s)+2,o>i&&(o=i,e.length=1),e.reverse(),i=o;i--;)e.push(0);e.reverse()}else{for(i=u.length,s=d.length,m=i<s,m&&(s=i),i=0;i<s;i++)if(u[i]!=d[i]){m=u[i]<d[i];break}o=0}for(m&&(e=u,u=d,d=e,n.s=-n.s),s=u.length,i=d.length-s;i>0;--i)u[s++]=0;for(i=d.length;i>o;){if(u[--i]<d[i]){for(r=i;r&&u[--r]===0;)u[r]=Le-1;--u[r],u[i]+=Le}u[i]-=d[i]}for(;u[--s]===0;)u.pop();for(;u[0]===0;u.shift())--t;return u[0]?(n.d=u,n.e=rn(u,t),X?v(n,a,c):n):new f(c===3?-0:0)};T.modulo=T.mod=function(n){var e,t=this,i=t.constructor;return n=new i(n),!t.d||!n.s||n.d&&!n.d[0]?new i(NaN):!n.d||t.d&&!t.d[0]?v(new i(t),i.precision,i.rounding):(X=!1,i.modulo==9?(e=ie(t,n.abs(),0,3,1),e.s*=n.s):e=ie(t,n,0,i.modulo,1),e=e.times(n),X=!0,t.minus(e))};T.naturalExponential=T.exp=function(){return Rn(this)};T.naturalLogarithm=T.ln=function(){return Ze(this)};T.negated=T.neg=function(){var n=new this.constructor(this);return n.s=-n.s,v(n)};T.plus=T.add=function(n){var e,t,i,r,o,s,a,c,u,l,m=this,d=m.constructor;if(n=new d(n),!m.d||!n.d)return!m.s||!n.s?n=new d(NaN):m.d||(n=new d(n.d||m.s===n.s?m:NaN)),n;if(m.s!=n.s)return n.s=-n.s,m.minus(n);if(u=m.d,l=n.d,a=d.precision,c=d.rounding,!u[0]||!l[0])return l[0]||(n=new d(m)),X?v(n,a,c):n;if(o=Pe(m.e/q),i=Pe(n.e/q),u=u.slice(),r=o-i,r){for(r<0?(t=u,r=-r,s=l.length):(t=l,i=o,s=u.length),o=Math.ceil(a/q),s=o>s?o+1:s+1,r>s&&(r=s,t.length=1),t.reverse();r--;)t.push(0);t.reverse()}for(s=u.length,r=l.length,s-r<0&&(r=s,t=l,l=u,u=t),e=0;r;)e=(u[--r]=u[r]+l[r]+e)/Le|0,u[r]%=Le;for(e&&(u.unshift(e),++i),s=u.length;u[--s]==0;)u.pop();return n.d=u,n.e=rn(u,i),X?v(n,a,c):n};T.precision=T.sd=function(n){var e,t=this;if(n!==void 0&&n!==!!n&&n!==1&&n!==0)throw Error(je+n);return t.d?(e=Hi(t.d),n&&t.e+1>e&&(e=t.e+1)):e=NaN,e};T.round=function(){var n=this,e=n.constructor;return v(new e(n),n.e+1,e.rounding)};T.sine=T.sin=function(){var n,e,t=this,i=t.constructor;return t.isFinite()?t.isZero()?new i(t):(n=i.precision,e=i.rounding,i.precision=n+Math.max(t.e,t.sd())+q,i.rounding=1,t=Po(i,Qi(i,t)),i.precision=n,i.rounding=e,v(Ue>2?t.neg():t,n,e,!0)):new i(NaN)};T.squareRoot=T.sqrt=function(){var n,e,t,i,r,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(X=!1,u=Math.sqrt(+s),u==0||u==1/0?(e=be(a),(e.length+c)%2==0&&(e+="0"),u=Math.sqrt(e),c=Pe((c+1)/2)-(c<0||c%2),u==1/0?e="5e"+c:(e=u.toExponential(),e=e.slice(0,e.indexOf("e")+1)+c),i=new l(e)):i=new l(u.toString()),t=(c=l.precision)+3;;)if(o=i,i=o.plus(ie(s,o,t+2,1)).times(.5),be(o.d).slice(0,t)===(e=be(i.d)).slice(0,t))if(e=e.slice(t-3,t+1),e=="9999"||!r&&e=="4999"){if(!r&&(v(o,c+1,0),o.times(o).eq(s))){i=o;break}t+=4,r=1}else{(!+e||!+e.slice(1)&&e.charAt(0)=="5")&&(v(i,c+1,1),n=!i.times(i).eq(s));break}return X=!0,v(i,c,l.rounding,n)};T.tangent=T.tan=function(){var n,e,t=this,i=t.constructor;return t.isFinite()?t.isZero()?new i(t):(n=i.precision,e=i.rounding,i.precision=n+10,i.rounding=1,t=t.sin(),t.s=1,t=ie(t,new i(1).minus(t.times(t)).sqrt(),n+10,0),i.precision=n,i.rounding=e,v(Ue==2||Ue==4?t.neg():t,n,e,!0)):new i(NaN)};T.times=T.mul=function(n){var e,t,i,r,o,s,a,c,u,l=this,m=l.constructor,d=l.d,p=(n=new m(n)).d;if(n.s*=l.s,!d||!d[0]||!p||!p[0])return new m(!n.s||d&&!d[0]&&!p||p&&!p[0]&&!d?NaN:!d||!p?n.s/0:n.s*0);for(t=Pe(l.e/q)+Pe(n.e/q),c=d.length,u=p.length,c<u&&(o=d,d=p,p=o,s=c,c=u,u=s),o=[],s=c+u,i=s;i--;)o.push(0);for(i=u;--i>=0;){for(e=0,r=c+i;r>i;)a=o[r]+p[i]*d[r-i-1]+e,o[r--]=a%Le|0,e=a/Le|0;o[r]=(o[r]+e)%Le|0}for(;!o[--s];)o.pop();return e?++t:o.shift(),n.d=o,n.e=rn(o,t),X?v(n,m.precision,m.rounding):n};T.toBinary=function(n,e){return Fn(this,2,n,e)};T.toDecimalPlaces=T.toDP=function(n,e){var t=this,i=t.constructor;return t=new i(t),n===void 0?t:(he(n,0,Qe),e===void 0?e=i.rounding:he(e,0,8),v(t,n+t.e+1,e))};T.toExponential=function(n,e){var t,i=this,r=i.constructor;return n===void 0?t=De(i,!0):(he(n,0,Qe),e===void 0?e=r.rounding:he(e,0,8),i=v(new r(i),n+1,e),t=De(i,!0,n+1)),i.isNeg()&&!i.isZero()?"-"+t:t};T.toFixed=function(n,e){var t,i,r=this,o=r.constructor;return n===void 0?t=De(r):(he(n,0,Qe),e===void 0?e=o.rounding:he(e,0,8),i=v(new o(r),n+r.e+1,e),t=De(i,!1,n+i.e+1)),r.isNeg()&&!r.isZero()?"-"+t:t};T.toFraction=function(n){var e,t,i,r,o,s,a,c,u,l,m,d,p=this,f=p.d,b=p.constructor;if(!f)return new b(p);if(u=t=new b(1),i=c=new b(0),e=new b(i),o=e.e=Hi(f)-p.e-1,s=o%q,e.d[0]=de(10,s<0?q+s:s),n==null)n=o>0?e:u;else{if(a=new b(n),!a.isInt()||a.lt(u))throw Error(je+a);n=a.gt(e)?o>0?e:u:a}for(X=!1,a=new b(be(f)),l=b.precision,b.precision=o=f.length*q*2;m=ie(a,e,0,1,1),r=t.plus(m.times(i)),r.cmp(n)!=1;)t=i,i=r,r=u,u=c.plus(m.times(r)),c=r,r=e,e=a.minus(m.times(r)),a=r;return r=ie(n.minus(t),i,0,1,1),c=c.plus(r.times(u)),t=t.plus(r.times(i)),c.s=u.s=p.s,d=ie(u,i,o,1).minus(p).abs().cmp(ie(c,t,o,1).minus(p).abs())<1?[u,i]:[c,t],b.precision=l,X=!0,d};T.toHexadecimal=T.toHex=function(n,e){return Fn(this,16,n,e)};T.toNearest=function(n,e){var t=this,i=t.constructor;if(t=new i(t),n==null){if(!t.d)return t;n=new i(1),e=i.rounding}else{if(n=new i(n),e===void 0?e=i.rounding:he(e,0,8),!t.d)return n.s?t:n;if(!n.d)return n.s&&(n.s=t.s),n}return n.d[0]?(X=!1,t=ie(t,n,0,e,1).times(n),X=!0,v(t)):(n.s=t.s,t=n),t};T.toNumber=function(){return+this};T.toOctal=function(n,e){return Fn(this,8,n,e)};T.toPower=T.pow=function(n){var e,t,i,r,o,s,a=this,c=a.constructor,u=+(n=new c(n));if(!a.d||!n.d||!a.d[0]||!n.d[0])return new c(de(+a,u));if(a=new c(a),a.eq(1))return a;if(i=c.precision,o=c.rounding,n.eq(1))return v(a,i,o);if(e=Pe(n.e/q),e>=n.d.length-1&&(t=u<0?-u:u)<=fo)return r=Yi(c,a,t,i),n.s<0?new c(1).div(r):v(r,i,o);if(s=a.s,s<0){if(e<n.d.length-1)return new c(NaN);if((n.d[e]&1)==0&&(s=1),a.e==0&&a.d[0]==1&&a.d.length==1)return a.s=s,a}return t=de(+a,u),e=t==0||!isFinite(t)?Pe(u*(Math.log("0."+be(a.d))/Math.LN10+a.e+1)):new c(t+"").e,e>c.maxE+1||e<c.minE-1?new c(e>0?s/0:0):(X=!1,c.rounding=a.s=1,t=Math.min(12,(e+"").length),r=Rn(n.times(Ze(a,i+t)),i),r.d&&(r=v(r,i+5,1),Nt(r.d,i,o)&&(e=i+10,r=v(Rn(n.times(Ze(a,e+t)),e),e+5,1),+be(r.d).slice(i+1,i+15)+1==1e14&&(r=v(r,i+1,0)))),r.s=s,X=!0,c.rounding=o,v(r,i,o))};T.toPrecision=function(n,e){var t,i=this,r=i.constructor;return n===void 0?t=De(i,i.e<=r.toExpNeg||i.e>=r.toExpPos):(he(n,1,Qe),e===void 0?e=r.rounding:he(e,0,8),i=v(new r(i),n,e),t=De(i,n<=i.e||i.e<=r.toExpNeg,n)),i.isNeg()&&!i.isZero()?"-"+t:t};T.toSignificantDigits=T.toSD=function(n,e){var t=this,i=t.constructor;return n===void 0?(n=i.precision,e=i.rounding):(he(n,1,Qe),e===void 0?e=i.rounding:he(e,0,8)),v(new i(t),n,e)};T.toString=function(){var n=this,e=n.constructor,t=De(n,n.e<=e.toExpNeg||n.e>=e.toExpPos);return n.isNeg()&&!n.isZero()?"-"+t:t};T.truncated=T.trunc=function(){return v(new this.constructor(this),this.e+1,1)};T.valueOf=T.toJSON=function(){var n=this,e=n.constructor,t=De(n,n.e<=e.toExpNeg||n.e>=e.toExpPos);return n.isNeg()?"-"+t:t};function be(n){var e,t,i,r=n.length-1,o="",s=n[0];if(r>0){for(o+=s,e=1;e<r;e++)i=n[e]+"",t=q-i.length,t&&(o+=Ye(t)),o+=i;s=n[e],i=s+"",t=q-i.length,t&&(o+=Ye(t))}else if(s===0)return"0";for(;s%10===0;)s/=10;return o+s}function he(n,e,t){if(n!==~~n||n<e||n>t)throw Error(je+n)}function Nt(n,e,t,i){var r,o,s,a;for(o=n[0];o>=10;o/=10)--e;return--e<0?(e+=q,r=0):(r=Math.ceil((e+1)/q),e%=q),o=de(10,q-e),a=n[r]%o|0,i==null?e<3?(e==0?a=a/100|0:e==1&&(a=a/10|0),s=t<4&&a==99999||t>3&&a==49999||a==5e4||a==0):s=(t<4&&a+1==o||t>3&&a+1==o/2)&&(n[r+1]/o/100|0)==de(10,e-2)-1||(a==o/2||a==0)&&(n[r+1]/o/100|0)==0:e<4?(e==0?a=a/1e3|0:e==1?a=a/100|0:e==2&&(a=a/10|0),s=(i||t<4)&&a==9999||!i&&t>3&&a==4999):s=((i||t<4)&&a+1==o||!i&&t>3&&a+1==o/2)&&(n[r+1]/o/1e3|0)==de(10,e-3)-1,s}function Jt(n,e,t){for(var i,r=[0],o,s=0,a=n.length;s<a;){for(o=r.length;o--;)r[o]*=e;for(r[0]+=Cn.indexOf(n.charAt(s++)),i=0;i<r.length;i++)r[i]>t-1&&(r[i+1]===void 0&&(r[i+1]=0),r[i+1]+=r[i]/t|0,r[i]%=t)}return r.reverse()}function yo(n,e){var t,i,r;if(e.isZero())return e;i=e.d.length,i<32?(t=Math.ceil(i/3),r=(1/on(4,t)).toString()):(t=16,r="2.3283064365386962890625e-10"),n.precision+=t,e=bt(n,1,e.times(r),new n(1));for(var o=t;o--;){var s=e.times(e);e=s.times(s).minus(s).times(8).plus(1)}return n.precision-=t,e}var ie=function(){function n(i,r,o){var s,a=0,c=i.length;for(i=i.slice();c--;)s=i[c]*r+a,i[c]=s%o|0,a=s/o|0;return a&&i.unshift(a),i}function e(i,r,o,s){var a,c;if(o!=s)c=o>s?1:-1;else for(a=c=0;a<o;a++)if(i[a]!=r[a]){c=i[a]>r[a]?1:-1;break}return c}function t(i,r,o,s){for(var a=0;o--;)i[o]-=a,a=i[o]<r[o]?1:0,i[o]=a*s+i[o]-r[o];for(;!i[0]&&i.length>1;)i.shift()}return function(i,r,o,s,a,c){var u,l,m,d,p,f,b,g,w,A,B,k,P,h,C,I,R,F,S,M,_=i.constructor,z=i.s==r.s?1:-1,x=i.d,K=r.d;if(!x||!x[0]||!K||!K[0])return new _(!i.s||!r.s||(x?K&&x[0]==K[0]:!K)?NaN:x&&x[0]==0||!K?z*0:z/0);for(c?(p=1,l=i.e-r.e):(c=Le,p=q,l=Pe(i.e/p)-Pe(r.e/p)),S=K.length,R=x.length,w=new _(z),A=w.d=[],m=0;K[m]==(x[m]||0);m++);if(K[m]>(x[m]||0)&&l--,o==null?(h=o=_.precision,s=_.rounding):a?h=o+(i.e-r.e)+1:h=o,h<0)A.push(1),f=!0;else{if(h=h/p+2|0,m=0,S==1){for(d=0,K=K[0],h++;(m<R||d)&&h--;m++)C=d*c+(x[m]||0),A[m]=C/K|0,d=C%K|0;f=d||m<R}else{for(d=c/(K[0]+1)|0,d>1&&(K=n(K,d,c),x=n(x,d,c),S=K.length,R=x.length),I=S,B=x.slice(0,S),k=B.length;k<S;)B[k++]=0;M=K.slice(),M.unshift(0),F=K[0],K[1]>=c/2&&++F;do d=0,u=e(K,B,S,k),u<0?(P=B[0],S!=k&&(P=P*c+(B[1]||0)),d=P/F|0,d>1?(d>=c&&(d=c-1),b=n(K,d,c),g=b.length,k=B.length,u=e(b,B,g,k),u==1&&(d--,t(b,S<g?M:K,g,c))):(d==0&&(u=d=1),b=K.slice()),g=b.length,g<k&&b.unshift(0),t(B,b,k,c),u==-1&&(k=B.length,u=e(K,B,S,k),u<1&&(d++,t(B,S<k?M:K,k,c))),k=B.length):u===0&&(d++,B=[0]),A[m++]=d,u&&B[0]?B[k++]=x[I]||0:(B=[x[I]],k=1);while((I++<R||B[0]!==void 0)&&h--);f=B[0]!==void 0}A[0]||A.shift()}if(p==1)w.e=l,qi=f;else{for(m=1,d=A[0];d>=10;d/=10)m++;w.e=m+l*p-1,v(w,a?o+w.e+1:o,s,f)}return w}}();function v(n,e,t,i){var r,o,s,a,c,u,l,m,d,p=n.constructor;e:if(e!=null){if(m=n.d,!m)return n;for(r=1,a=m[0];a>=10;a/=10)r++;if(o=e-r,o<0)o+=q,s=e,l=m[d=0],c=l/de(10,r-s-1)%10|0;else if(d=Math.ceil((o+1)/q),a=m.length,d>=a)if(i){for(;a++<=d;)m.push(0);l=c=0,r=1,o%=q,s=o-q+1}else break e;else{for(l=a=m[d],r=1;a>=10;a/=10)r++;o%=q,s=o-q+r,c=s<0?0:l/de(10,r-s-1)%10|0}if(i=i||e<0||m[d+1]!==void 0||(s<0?l:l%de(10,r-s-1)),u=t<4?(c||i)&&(t==0||t==(n.s<0?3:2)):c>5||c==5&&(t==4||i||t==6&&(o>0?s>0?l/de(10,r-s):0:m[d-1])%10&1||t==(n.s<0?8:7)),e<1||!m[0])return m.length=0,u?(e-=n.e+1,m[0]=de(10,(q-e%q)%q),n.e=-e||0):m[0]=n.e=0,n;if(o==0?(m.length=d,a=1,d--):(m.length=d+1,a=de(10,q-o),m[d]=s>0?(l/de(10,r-s)%de(10,s)|0)*a:0),u)for(;;)if(d==0){for(o=1,s=m[0];s>=10;s/=10)o++;for(s=m[0]+=a,a=1;s>=10;s/=10)a++;o!=a&&(n.e++,m[0]==Le&&(m[0]=1));break}else{if(m[d]+=a,m[d]!=Le)break;m[d--]=0,a=1}for(o=m.length;m[--o]===0;)m.pop()}return X&&(n.e>p.maxE?(n.d=null,n.e=NaN):n.e<p.minE&&(n.e=0,n.d=[0])),n}function De(n,e,t){if(!n.isFinite())return ji(n);var i,r=n.e,o=be(n.d),s=o.length;return e?(t&&(i=t-s)>0?o=o.charAt(0)+"."+o.slice(1)+Ye(i):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(n.e<0?"e":"e+")+n.e):r<0?(o="0."+Ye(-r-1)+o,t&&(i=t-s)>0&&(o+=Ye(i))):r>=s?(o+=Ye(r+1-s),t&&(i=t-r-1)>0&&(o=o+"."+Ye(i))):((i=r+1)<s&&(o=o.slice(0,i)+"."+o.slice(i)),t&&(i=t-s)>0&&(r+1===s&&(o+="."),o+=Ye(i))),o}function rn(n,e){var t=n[0];for(e*=q;t>=10;t/=10)e++;return e}function tn(n,e,t){if(e>bo)throw X=!0,t&&(n.precision=t),Error(Gi);return v(new n($t),e,1,!0)}function Re(n,e,t){if(e>Nn)throw Error(Gi);return v(new n(en),e,t,!0)}function Hi(n){var e=n.length-1,t=e*q+1;if(e=n[e],e){for(;e%10==0;e/=10)t--;for(e=n[0];e>=10;e/=10)t++}return t}function Ye(n){for(var e="";n--;)e+="0";return e}function Yi(n,e,t,i){var r,o=new n(1),s=Math.ceil(i/q+4);for(X=!1;;){if(t%2&&(o=o.times(e),Vi(o.d,s)&&(r=!0)),t=Pe(t/2),t===0){t=o.d.length-1,r&&o.d[t]===0&&++o.d[t];break}e=e.times(e),Vi(e.d,s)}return X=!0,o}function Wi(n){return n.d[n.d.length-1]&1}function Zi(n,e,t){for(var i,r=new n(e[0]),o=0;++o<e.length;)if(i=new n(e[o]),i.s)r[t](i)&&(r=i);else{r=i;break}return r}function Rn(n,e){var t,i,r,o,s,a,c,u=0,l=0,m=0,d=n.constructor,p=d.rounding,f=d.precision;if(!n.d||!n.d[0]||n.e>17)return new d(n.d?n.d[0]?n.s<0?0:1/0:1:n.s?n.s<0?0:n:0/0);for(e==null?(X=!1,c=f):c=e,a=new d(.03125);n.e>-2;)n=n.times(a),m+=5;for(i=Math.log(de(2,m))/Math.LN10*2+5|0,c+=i,t=o=s=new d(1),d.precision=c;;){if(o=v(o.times(n),c,1),t=t.times(++l),a=s.plus(ie(o,t,c,1)),be(a.d).slice(0,c)===be(s.d).slice(0,c)){for(r=m;r--;)s=v(s.times(s),c,1);if(e==null)if(u<3&&Nt(s.d,c-i,p,u))d.precision=c+=10,t=o=a=new d(1),l=0,u++;else return v(s,d.precision=f,p,X=!0);else return d.precision=f,s}s=a}}function Ze(n,e){var t,i,r,o,s,a,c,u,l,m,d,p=1,f=10,b=n,g=b.d,w=b.constructor,A=w.rounding,B=w.precision;if(b.s<0||!g||!g[0]||!b.e&&g[0]==1&&g.length==1)return new w(g&&!g[0]?-1/0:b.s!=1?NaN:g?0:b);if(e==null?(X=!1,l=B):l=e,w.precision=l+=f,t=be(g),i=t.charAt(0),Math.abs(o=b.e)<15e14){for(;i<7&&i!=1||i==1&&t.charAt(1)>3;)b=b.times(n),t=be(b.d),i=t.charAt(0),p++;o=b.e,i>1?(b=new w("0."+t),o++):b=new w(i+"."+t.slice(1))}else return u=tn(w,l+2,B).times(o+""),b=Ze(new w(i+"."+t.slice(1)),l-f).plus(u),w.precision=B,e==null?v(b,B,A,X=!0):b;for(m=b,c=s=b=ie(b.minus(1),b.plus(1),l,1),d=v(b.times(b),l,1),r=3;;){if(s=v(s.times(d),l,1),u=c.plus(ie(s,new w(r),l,1)),be(u.d).slice(0,l)===be(c.d).slice(0,l))if(c=c.times(2),o!==0&&(c=c.plus(tn(w,l+2,B).times(o+""))),c=ie(c,new w(p),l,1),e==null)if(Nt(c.d,l-f,A,a))w.precision=l+=f,u=s=b=ie(m.minus(1),m.plus(1),l,1),d=v(b.times(b),l,1),r=a=1;else return v(c,w.precision=B,A,X=!0);else return w.precision=B,c;c=u,r+=2}}function ji(n){return String(n.s*n.s/0)}function Ln(n,e){var t,i,r;for((t=e.indexOf("."))>-1&&(e=e.replace(".","")),(i=e.search(/e/i))>0?(t<0&&(t=i),t+=+e.slice(i+1),e=e.substring(0,i)):t<0&&(t=e.length),i=0;e.charCodeAt(i)===48;i++);for(r=e.length;e.charCodeAt(r-1)===48;--r);if(e=e.slice(i,r),e){if(r-=i,n.e=t=t-i-1,n.d=[],i=(t+1)%q,t<0&&(i+=q),i<r){for(i&&n.d.push(+e.slice(0,i)),r-=q;i<r;)n.d.push(+e.slice(i,i+=q));e=e.slice(i),i=q-e.length}else i-=r;for(;i--;)e+="0";n.d.push(+e),X&&(n.e>n.constructor.maxE?(n.d=null,n.e=NaN):n.e<n.constructor.minE&&(n.e=0,n.d=[0]))}else n.e=0,n.d=[0];return n}function go(n,e){var t,i,r,o,s,a,c,u,l;if(e.indexOf("_")>-1){if(e=e.replace(/(\d)_(?=\d)/g,"$1"),zi.test(e))return Ln(n,e)}else if(e==="Infinity"||e==="NaN")return+e||(n.s=NaN),n.e=NaN,n.d=null,n;if(mo.test(e))t=16,e=e.toLowerCase();else if(lo.test(e))t=2;else if(po.test(e))t=8;else throw Error(je+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,i=n.constructor,s&&(e=e.replace(".",""),a=e.length,o=a-o,r=Yi(i,new i(t),o,o*2)),u=Jt(e,t,Le),l=u.length-1,o=l;u[o]===0;--o)u.pop();return o<0?new i(n.s*0):(n.e=rn(u,l),n.d=u,X=!1,s&&(n=ie(n,r,a*4)),c&&(n=n.times(Math.abs(c)<54?de(2,c):Rt.pow(2,c))),X=!0,n)}function Po(n,e){var t,i=e.d.length;if(i<3)return e.isZero()?e:bt(n,2,e,e);t=1.4*Math.sqrt(i),t=t>16?16:t|0,e=e.times(1/on(5,t)),e=bt(n,2,e,e);for(var r,o=new n(5),s=new n(16),a=new n(20);t--;)r=e.times(e),e=e.times(o.plus(r.times(s.times(r).minus(a))));return e}function bt(n,e,t,i,r){var o,s,a,c,u=1,l=n.precision,m=Math.ceil(l/q);for(X=!1,c=t.times(t),a=new n(i);;){if(s=ie(a.times(c),new n(e++*e++),l,1),a=r?i.plus(s):i.minus(s),i=ie(s.times(c),new n(e++*e++),l,1),s=a.plus(i),s.d[m]!==void 0){for(o=m;s.d[o]===a.d[o]&&o--;);if(o==-1)break}o=a,a=i,i=s,s=o,u++}return X=!0,s.d.length=m+1,s}function on(n,e){for(var t=n;--e;)t*=n;return t}function Qi(n,e){var t,i=e.s<0,r=Re(n,n.precision,1),o=r.times(.5);if(e=e.abs(),e.lte(o))return Ue=i?4:1,e;if(t=e.divToInt(r),t.isZero())Ue=i?3:2;else{if(e=e.minus(t.times(r)),e.lte(o))return Ue=Wi(t)?i?2:3:i?4:1,e;Ue=Wi(t)?i?1:4:i?3:2}return e.minus(r).abs()}function Fn(n,e,t,i){var r,o,s,a,c,u,l,m,d,p=n.constructor,f=t!==void 0;if(f?(he(t,1,Qe),i===void 0?i=p.rounding:he(i,0,8)):(t=p.precision,i=p.rounding),!n.isFinite())l=ji(n);else{for(l=De(n),s=l.indexOf("."),f?(r=2,e==16?t=t*4-3:e==8&&(t=t*3-2)):r=e,s>=0&&(l=l.replace(".",""),d=new p(1),d.e=l.length-s,d.d=Jt(De(d),10,r),d.e=d.d.length),m=Jt(l,10,r),o=c=m.length;m[--c]==0;)m.pop();if(!m[0])l=f?"0p+0":"0";else{if(s<0?o--:(n=new p(n),n.d=m,n.e=o,n=ie(n,d,t,i,0,r),m=n.d,o=n.e,u=qi),s=m[t],a=r/2,u=u||m[t+1]!==void 0,u=i<4?(s!==void 0||u)&&(i===0||i===(n.s<0?3:2)):s>a||s===a&&(i===4||u||i===6&&m[t-1]&1||i===(n.s<0?8:7)),m.length=t,u)for(;++m[--t]>r-1;)m[t]=0,t||(++o,m.unshift(1));for(c=m.length;!m[c-1];--c);for(s=0,l="";s<c;s++)l+=Cn.charAt(m[s]);if(f){if(c>1)if(e==16||e==8){for(s=e==16?4:3,--c;c%s;c++)l+="0";for(m=Jt(l,r,e),c=m.length;!m[c-1];--c);for(s=1,l="1.";s<c;s++)l+=Cn.charAt(m[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 n.s<0?"-"+l:l}function Vi(n,e){if(n.length>e)return n.length=e,!0}function wo(n){return new this(n).abs()}function Ao(n){return new this(n).acos()}function To(n){return new this(n).acosh()}function ko(n,e){return new this(n).plus(e)}function ho(n){return new this(n).asin()}function Bo(n){return new this(n).asinh()}function xo(n){return new this(n).atan()}function Io(n){return new this(n).atanh()}function So(n,e){n=new this(n),e=new this(e);var t,i=this.precision,r=this.rounding,o=i+4;return!n.s||!e.s?t=new this(NaN):!n.d&&!e.d?(t=Re(this,o,1).times(e.s>0?.25:.75),t.s=n.s):!e.d||n.isZero()?(t=e.s<0?Re(this,i,r):new this(0),t.s=n.s):!n.d||e.isZero()?(t=Re(this,o,1).times(.5),t.s=n.s):e.s<0?(this.precision=o,this.rounding=1,t=this.atan(ie(n,e,o,1)),e=Re(this,o,1),this.precision=i,this.rounding=r,t=n.s<0?t.minus(e):t.plus(e)):t=this.atan(ie(n,e,o,1)),t}function Co(n){return new this(n).cbrt()}function Ko(n){return v(n=new this(n),n.e+1,2)}function No(n,e,t){return new this(n).clamp(e,t)}function Ro(n){if(!n||typeof n!="object")throw Error(nn+"Object expected");var e,t,i,r=n.defaults===!0,o=["precision",1,Qe,"rounding",0,8,"toExpNeg",-ft,0,"toExpPos",0,ft,"maxE",0,ft,"minE",-ft,0,"modulo",0,9];for(e=0;e<o.length;e+=3)if(t=o[e],r&&(this[t]=Kn[t]),(i=n[t])!==void 0)if(Pe(i)===i&&i>=o[e+1]&&i<=o[e+2])this[t]=i;else throw Error(je+t+": "+i);if(t="crypto",r&&(this[t]=Kn[t]),(i=n[t])!==void 0)if(i===!0||i===!1||i===0||i===1)if(i)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[t]=!0;else throw Error(Ui);else this[t]=!1;else throw Error(je+t+": "+i);return this}function Lo(n){return new this(n).cos()}function Fo(n){return new this(n).cosh()}function Ji(n){var e,t,i;function r(o){var s,a,c,u=this;if(!(u instanceof r))return new r(o);if(u.constructor=r,_i(o)){u.s=o.s,X?!o.d||o.e>r.maxE?(u.e=NaN,u.d=null):o.e<r.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++;X?s>r.maxE?(u.e=NaN,u.d=null):s<r.minE?(u.e=0,u.d=[0]):(u.e=s,u.d=[o]):(u.e=s,u.d=[o]);return}else if(o*0!==0){o||(u.s=NaN),u.e=NaN,u.d=null;return}return Ln(u,o.toString())}else if(c!=="string")throw Error(je+o);return(a=o.charCodeAt(0))===45?(o=o.slice(1),u.s=-1):(a===43&&(o=o.slice(1)),u.s=1),zi.test(o)?Ln(u,o):go(u,o)}if(r.prototype=T,r.ROUND_UP=0,r.ROUND_DOWN=1,r.ROUND_CEIL=2,r.ROUND_FLOOR=3,r.ROUND_HALF_UP=4,r.ROUND_HALF_DOWN=5,r.ROUND_HALF_EVEN=6,r.ROUND_HALF_CEIL=7,r.ROUND_HALF_FLOOR=8,r.EUCLID=9,r.config=r.set=Ro,r.clone=Ji,r.isDecimal=_i,r.abs=wo,r.acos=Ao,r.acosh=To,r.add=ko,r.asin=ho,r.asinh=Bo,r.atan=xo,r.atanh=Io,r.atan2=So,r.cbrt=Co,r.ceil=Ko,r.clamp=No,r.cos=Lo,r.cosh=Fo,r.div=Mo,r.exp=vo,r.floor=Eo,r.hypot=Oo,r.ln=Do,r.log=Wo,r.log10=_o,r.log2=Vo,r.max=qo,r.min=Go,r.mod=Uo,r.mul=Xo,r.pow=zo,r.random=Ho,r.round=Yo,r.sign=Zo,r.sin=jo,r.sinh=Qo,r.sqrt=Jo,r.sub=$o,r.sum=es,r.tan=ts,r.tanh=ns,r.trunc=is,n===void 0&&(n={}),n&&n.defaults!==!0)for(i=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],e=0;e<i.length;)n.hasOwnProperty(t=i[e++])||(n[t]=this[t]);return r.config(n),r}function Mo(n,e){return new this(n).div(e)}function vo(n){return new this(n).exp()}function Eo(n){return v(n=new this(n),n.e+1,3)}function Oo(){var n,e,t=new this(0);for(X=!1,n=0;n<arguments.length;)if(e=new this(arguments[n++]),e.d)t.d&&(t=t.plus(e.times(e)));else{if(e.s)return X=!0,new this(1/0);t=e}return X=!0,t.sqrt()}function _i(n){return n instanceof Rt||n&&n.toStringTag===Xi||!1}function Do(n){return new this(n).ln()}function Wo(n,e){return new this(n).log(e)}function Vo(n){return new this(n).log(2)}function _o(n){return new this(n).log(10)}function qo(){return Zi(this,arguments,"lt")}function Go(){return Zi(this,arguments,"gt")}function Uo(n,e){return new this(n).mod(e)}function Xo(n,e){return new this(n).mul(e)}function zo(n,e){return new this(n).pow(e)}function Ho(n){var e,t,i,r,o=0,s=new this(1),a=[];if(n===void 0?n=this.precision:he(n,1,Qe),i=Math.ceil(n/q),this.crypto)if(crypto.getRandomValues)for(e=crypto.getRandomValues(new Uint32Array(i));o<i;)r=e[o],r>=429e7?e[o]=crypto.getRandomValues(new Uint32Array(1))[0]:a[o++]=r%1e7;else if(crypto.randomBytes){for(e=crypto.randomBytes(i*=4);o<i;)r=e[o]+(e[o+1]<<8)+(e[o+2]<<16)+((e[o+3]&127)<<24),r>=214e7?crypto.randomBytes(4).copy(e,o):(a.push(r%1e7),o+=4);o=i/4}else throw Error(Ui);else for(;o<i;)a[o++]=Math.random()*1e7|0;for(i=a[--o],n%=q,i&&n&&(r=de(10,q-n),a[o]=(i/r|0)*r);a[o]===0;o--)a.pop();if(o<0)t=0,a=[0];else{for(t=-1;a[0]===0;t-=q)a.shift();for(i=1,r=a[0];r>=10;r/=10)i++;i<q&&(t-=q-i)}return s.e=t,s.d=a,s}function Yo(n){return v(n=new this(n),n.e+1,this.rounding)}function Zo(n){return n=new this(n),n.d?n.d[0]?n.s:0*n.s:n.s||NaN}function jo(n){return new this(n).sin()}function Qo(n){return new this(n).sinh()}function Jo(n){return new this(n).sqrt()}function $o(n,e){return new this(n).sub(e)}function es(){var n=0,e=arguments,t=new this(e[n]);for(X=!1;t.s&&++n<e.length;)t=t.plus(e[n]);return X=!0,v(t,this.precision,this.rounding)}function ts(n){return new this(n).tan()}function ns(n){return new this(n).tanh()}function is(n){return v(n=new this(n),n.e+1,1)}T[Symbol.for("nodejs.util.inspect.custom")]=T.toString;T[Symbol.toStringTag]="Decimal";var Rt=T.constructor=Ji(Kn);$t=new Rt($t);en=new Rt(en);var U=Rt;var ir=ne(require("big.js")),us=ne(require("bn.js"));var $i=ne(require("toformat")),rs=$i.default,Lt=rs;var Ft=ne(require("big.js")),tr=ne(require("bn.js")),nr=ne(require("decimal.js-light"));var yt=ne(require("bn.js"));var er=9007199254740991;function We(n){let e=ge("Raydium_parseBigNumberish");if(n instanceof yt.default)return n;if(typeof n=="string"){if(n.match(/^-?[0-9]+$/))return new yt.default(n);e.logWithError(`invalid BigNumberish string: ${n}`)}return typeof n=="number"?(n%1&&e.logWithError(`BigNumberish number underflow: ${n}`),(n>=er||n<=-er)&&e.logWithError(`BigNumberish number overflow: ${n}`),new yt.default(String(n))):typeof n=="bigint"?new yt.default(n.toString()):(e.error(`invalid BigNumberish value: ${n}`),new yt.default(0))}var sn=ge("module/fraction"),Mn=Lt(Ft.default),Mt=Lt(nr.default),ss={[0]:Mt.ROUND_DOWN,[1]:Mt.ROUND_HALF_UP,[2]:Mt.ROUND_UP},as={[0]:Ft.default.roundDown,[1]:Ft.default.roundHalfUp,[2]:Ft.default.roundUp},se=class{constructor(e,t=new tr.default(1)){this.numerator=We(e),this.denominator=We(t)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new se(this.denominator,this.numerator)}add(e){let t=e instanceof se?e:new se(We(e));return this.denominator.eq(t.denominator)?new se(this.numerator.add(t.numerator),this.denominator):new se(this.numerator.mul(t.denominator).add(t.numerator.mul(this.denominator)),this.denominator.mul(t.denominator))}sub(e){let t=e instanceof se?e:new se(We(e));return this.denominator.eq(t.denominator)?new se(this.numerator.sub(t.numerator),this.denominator):new se(this.numerator.mul(t.denominator).sub(t.numerator.mul(this.denominator)),this.denominator.mul(t.denominator))}mul(e){let t=e instanceof se?e:new se(We(e));return new se(this.numerator.mul(t.numerator),this.denominator.mul(t.denominator))}div(e){let t=e instanceof se?e:new se(We(e));return new se(this.numerator.mul(t.denominator),this.denominator.mul(t.numerator))}toSignificant(e,t={groupSeparator:""},i=1){Number.isInteger(e)||sn.logWithError(`${e} is not an integer.`),e<=0&&sn.logWithError(`${e} is not positive.`),Mt.set({precision:e+1,rounding:ss[i]});let r=new Mt(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(e);return r.toFormat(r.decimalPlaces(),t)}toFixed(e,t={groupSeparator:""},i=1){return Number.isInteger(e)||sn.logWithError(`${e} is not an integer.`),e<0&&sn.logWithError(`${e} is negative.`),Mn.DP=e,Mn.RM=as[i]||1,new Mn(this.numerator.toString()).div(this.denominator.toString()).toFormat(e,t)}isZero(){return this.numerator.isZero()}};var Ba=ge("Raydium_amount"),xa=Lt(ir.default);var rr=require("@solana/web3.js"),vn=require("@solana/spl-token"),En={chainId:101,address:rr.PublicKey.default.toBase58(),programId:vn.TOKEN_PROGRAM_ID.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},Je={chainId:101,address:"So11111111111111111111111111111111111111112",programId:vn.TOKEN_PROGRAM_ID.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"}};var un=require("@solana/web3.js");var ee=require("@solana/web3.js"),or=require("@solana/spl-token");function On({pubkey:n,isSigner:e=!1,isWritable:t=!0}){return{pubkey:n,isWritable:t,isSigner:e}}var Ka=[On({pubkey:or.TOKEN_PROGRAM_ID,isWritable:!1}),On({pubkey:ee.SystemProgram.programId,isWritable:!1}),On({pubkey:ee.SYSVAR_RENT_PUBKEY,isWritable:!1})];function sr({publicKey:n,transformSol:e}){let t=ar(n.toString());if(t instanceof ee.PublicKey)return e&&t.equals(vt)?an:t;if(e&&t.toString()===vt.toBase58())return an;if(typeof t=="string"){if(t===ee.PublicKey.default.toBase58())return ee.PublicKey.default;try{return new ee.PublicKey(t)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function ar(n){try{return new ee.PublicKey(n)}catch{return n}}var ls=new ee.PublicKey("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),ms=new ee.PublicKey("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Dn=new ee.PublicKey("SysvarRent111111111111111111111111111111111"),Na=new ee.PublicKey("SysvarC1ock11111111111111111111111111111111"),gt=new ee.PublicKey("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),Ra=new ee.PublicKey("Sysvar1nstructions1111111111111111111111111"),La=ee.SystemProgram.programId,Fa=new ee.PublicKey("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Ma=new ee.PublicKey("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),va=new ee.PublicKey("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),Ea=new ee.PublicKey("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Oa=new ee.PublicKey("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Da=new ee.PublicKey("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),Wa=new ee.PublicKey("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),Va=new ee.PublicKey("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),_a=new ee.PublicKey("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),qa=new ee.PublicKey("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Ga=new ee.PublicKey("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),an=new ee.PublicKey("So11111111111111111111111111111111111111112"),vt=ee.PublicKey.default;var Wn=class{constructor({mint:e,decimals:t,symbol:i,name:r,skipMint:o=!1,isToken2022:s=!1}){if(e===vt.toBase58()||e instanceof un.PublicKey&&vt.equals(e)){this.decimals=Je.decimals,this.symbol=Je.symbol,this.name=Je.name,this.mint=new un.PublicKey(Je.address),this.isToken2022=!1;return}this.decimals=t,this.symbol=i||e.toString().substring(0,6),this.name=r||e.toString().substring(0,6),this.mint=o?un.PublicKey.default:sr({publicKey:e}),this.isToken2022=s}equals(e){return this===e?!0:this.mint.equals(e.mint)}},$e=Wn;$e.WSOL=new Wn($(Y({},Je),{mint:Je.address}));var Vn=class{constructor({decimals:e,symbol:t="UNKNOWN",name:i="UNKNOWN"}){this.decimals=e,this.symbol=t,this.name=i}equals(e){return this===e}},cn=Vn;cn.SOL=new Vn(En);var ur=ne(require("bn.js"));var $a=new se(new ur.default(100));var ou=ge("Raydium_price");var ds=new Fe.default(0),Lu=new Fe.default(1),Fu=new Fe.default(2),Mu=new Fe.default(3),vu=new Fe.default(5),cs=new Fe.default(10),Eu=new Fe.default(100),Ou=new Fe.default(1e3),Du=new Fe.default(1e4);function cr(n,e,t){return n.mul(e).add(t).sub(new Fe.default(1)).div(t)}function Gn(n,e=1,t=[]){let i=[...n];if(e<=0)return t;for(;i.length;)t.push(i.splice(0,e));return t}var pr=require("@solana/web3.js"),fr=require("@solana/spl-token");var we=require("@solana/web3.js");var rt={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"};var mr=require("@solana/spl-token"),lr=ge("Raydium_txUtil"),dr=1644;function mn(n){let e=[],t=[];return n.microLamports&&(e.push(we.ComputeBudgetProgram.setComputeUnitPrice({microLamports:n.microLamports})),t.push(rt.SetComputeUnitPrice)),n.units&&(e.push(we.ComputeBudgetProgram.setComputeUnitLimit({units:n.units})),t.push(rt.SetComputeUnitLimit)),{instructions:e,instructionTypes:t}}async function Pt(n,e){var i,r;let t=e!=null?e:"confirmed";return(r=await((i=n.getLatestBlockhash)==null?void 0:i.call(n,{commitment:t})))==null?void 0:r.blockhash}async function dn(n,e){return n.getSignatureStatuses([e]),new Promise((t,i)=>{let r=setTimeout(i,6e4);n.onSignature(e,o=>{if(clearTimeout(r),!o.err){t("");return}i(Object.assign(o.err,{txId:e}))},"confirmed")})}function ps(n,e){n.length<1&&lr.logWithError(`no instructions provided: ${n.toString()}`),e.length<1&&lr.logWithError(`no signers provided:, ${e.toString()}`);let t=new we.Transaction;t.recentBlockhash="11111111111111111111111111111111",t.feePayer=e[0],t.add(...n);try{return Buffer.from(t.serialize({verifySignatures:!1})).toString("base64").length<dr}catch{return!1}}function Te(n,e){let[t,i]=we.PublicKey.findProgramAddressSync(n,e);return{publicKey:t,nonce:i}}function Et({instructions:n,payer:e,signers:t}){return ps(n,[e,...t])}function Ot({instructions:n,payer:e,lookupTableAddressAccount:t,recentBlockhash:i=we.Keypair.generate().publicKey.toString()}){let o=new we.TransactionMessage({payerKey:e,recentBlockhash:i,instructions:n}).compileToV0Message(Object.values(t!=null?t:{}));try{return Buffer.from(new we.VersionedTransaction(o).serialize()).toString("base64").length<dr}catch{return!1}}var fs=n=>Buffer.isBuffer(n)?n:n instanceof Uint8Array?Buffer.from(n.buffer,n.byteOffset,n.byteLength):Buffer.from(n),bs=n=>{let e=n.serialize({requireAllSignatures:!1,verifySignatures:!1});n instanceof we.VersionedTransaction&&(e=fs(e));try{return e instanceof Buffer?e.toString("base64"):Buffer.from(e).toString("base64")}catch{return e.toString("base64")}};function ot(n){let e=[];return n.forEach(t=>{t instanceof we.Transaction&&(t.recentBlockhash||(t.recentBlockhash=mr.TOKEN_PROGRAM_ID.toBase58()),t.feePayer||(t.feePayer=we.Keypair.generate().publicKey)),e.push(bs(t))}),console.log("simulate tx string:",e),e}function Me(n,e,t){return Te([n.toBuffer(),(t!=null?t:fr.TOKEN_PROGRAM_ID).toBuffer(),e.toBuffer()],new pr.PublicKey("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"))}var E=require("@solana/web3.js"),ec=new E.PublicKey("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),tc=new E.PublicKey("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),nc=new E.PublicKey("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),ic=new E.PublicKey("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),rc=new E.PublicKey("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),oc=new E.PublicKey("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),sc=new E.PublicKey("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),ac=new E.PublicKey("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),uc=new E.PublicKey("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),cc=new E.PublicKey("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),ys=new E.PublicKey("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),gs=new E.PublicKey("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Ps=new E.PublicKey("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),lc=new E.PublicKey("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),mc=new E.PublicKey("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),dc=new E.PublicKey("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),pc=new E.PublicKey("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),fc=new E.PublicKey("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),bc=new E.PublicKey("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),yc=new E.PublicKey("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi"),gc=new E.PublicKey("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),Pc=new E.PublicKey("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),wc=new E.PublicKey("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),Ac=new E.PublicKey("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Tc=new E.PublicKey("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),fe=new E.PublicKey("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),kc=new E.PublicKey("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),hc=new E.PublicKey("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),Bc=new E.PublicKey("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),xc=new E.PublicKey("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),Ic=new E.PublicKey("6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX");var Sc={OPEN_BOOK_PROGRAM:new E.PublicKey("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),SERUM_PROGRAM_ID_V3:new E.PublicKey("Ray1111111111111111111111111111111111111111"),AMM_V4:new E.PublicKey("DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav"),AMM_STABLE:new E.PublicKey("DRayDdXc1NZQ9C3hRWmoSf8zK4iapgMnjdNZWrfwsP8m"),CLMM_PROGRAM_ID:new E.PublicKey("DRayAUgENGQBKVaX8owNhgzkEDyoHTGVEGHVJT1E9pfH"),CLMM_LOCK_PROGRAM_ID:new E.PublicKey("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),CLMM_LOCK_AUTH_ID:new E.PublicKey("6Aoh8h2Lw2m5UGxYR8AdAL87jTWYeKoxM52mJRzfYwN"),CREATE_CPMM_POOL_PROGRAM:new E.PublicKey("DRaycpLY18LhpbydsBWbVJtxpNv9oXPgjRSfpF2bWpYb"),CREATE_CPMM_POOL_AUTH:new E.PublicKey("CXniRufdq5xL8t8jZAPxsPZDpuudwuJSPWnbcD5Y5Nxq"),CREATE_CPMM_POOL_FEE_ACC:new E.PublicKey("3oE58BKVt8KuYkGxx8zBojugnymWmBiyafWgMrnb6eYy"),LOCK_CPMM_PROGRAM:new E.PublicKey("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),LOCK_CPMM_AUTH:new E.PublicKey("7qWVV8UY2bRJfDLP4s37YzBPKUkVB46DStYJBpYbQzu3"),UTIL1216:E.PublicKey.default,Router:new E.PublicKey("DRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd"),FARM_PROGRAM_ID_V3:new E.PublicKey("DRayWyrLmEW5KEeqs8kdTMMaBabapqagaBC7KWpGtJeZ"),FARM_PROGRAM_ID_V4:new E.PublicKey("Ray1111111111111111111111111111111111111111"),FARM_PROGRAM_ID_V5:new E.PublicKey("DRayiCGSZgku1GTK6rXD6mVDdingXy6APAH1R6R5L2LC"),FARM_PROGRAM_ID_V6:new E.PublicKey("DRayzbYakXs45ELHkzH6vC3fuhQqTAnv5A68gdFuvZyZ"),LAUNCHPAD_PROGRAM:new E.PublicKey("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),LAUNCHPAD_AUTH:new E.PublicKey("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),LAUNCHPAD_PLATFORM:new E.PublicKey("2Jx4KTDrVSdWNazuGpcA8n3ZLTRGGBDxAWhuKe2Xcj2a"),LAUNCHPAD_CONFIG:new E.PublicKey("7ZR4zD7PYfY2XxoG1Gxcy2EgEeGYrpxrwzPuwdUBssEt"),FEE_DESTINATION_ID:new E.PublicKey("9y8ENuuZ3b19quffx9hQvRVygG5ky6snHfRvGpuSfeJy"),MODEL_DATA_PUBKEY:new E.PublicKey("Ray1111111111111111111111111111111111111111")};var ye=ne(require("bn.js")),Dt=1e4;function Un(n,e){let{div:t,mod:i}=n.divmod(e);return i.gt(new ye.default(0))?t.add(new ye.default(1)):t}function st(n,e){if(n.isZero())return new ye.default(0);let t=n.div(e);return t.isZero()?new ye.default(1):n.mod(e).gt(new ye.default(0))?t.add(new ye.default(1)):t}function Xn(n,e,t){if(e===void 0)return{amount:n,fee:void 0,expirationTime:void 0};let i=Math.floor(t/432e3),r=i<e.newerTransferFee.epoch?e.olderTransferFee:e.newerTransferFee,o=new ye.default(r.maximumFee.toString()),s=i<e.newerTransferFee.epoch?(Number(e.newerTransferFee.epoch)*432e3-t)*400/1e3:void 0,a=Un(n.mul(new ye.default(r.transferFeeBasisPoints)),new ye.default(Dt)),c=a.gt(o)?o:a;return{amount:n,fee:c,expirationTime:s}}function zn(n,e,t){if(e===void 0)return{amount:n,fee:void 0,expirationTime:void 0};let i=Math.floor(t/432e3),r=i<e.newerTransferFee.epoch?e.olderTransferFee:e.newerTransferFee,o=new ye.default(r.maximumFee.toString()),s=i<e.newerTransferFee.epoch?(Number(e.newerTransferFee.epoch)*432e3-t)*400/1e3:void 0;if(r.transferFeeBasisPoints===Dt){let a=new ye.default(r.maximumFee.toString());return{amount:n.add(a),fee:a,expirationTime:s}}else{let a=Un(n.mul(new ye.default(Dt)),new ye.default(Dt-r.transferFeeBasisPoints)),c=new ye.default(r.maximumFee.toString()),u=a.sub(n).gt(c)?n.add(c):a,l=Un(u.mul(new ye.default(r.transferFeeBasisPoints)),new ye.default(Dt)),m=l.gt(o)?o:l;return{amount:u,fee:m,expirationTime:s}}}var ws=require("@solana/web3.js"),As=ne(require("bn.js"));var br=ne(require("bn.js")),at=new br.default(1e6);var pn=require("@solana/spl-token"),Hn=ge("Raydium_accountInfo_util");async function Wt(n,e,t){let{batchRequest:i,commitment:r="confirmed",chunkCount:o=100}=Y({batchRequest:!1},t),s=Gn(e,o),a=new Array(s.length).fill([]);if(i){let c=s.map(m=>{let d=n._buildArgs([m.map(p=>p.toBase58())],r,"base64");return{methodName:"getMultipleAccounts",args:d}}),u=Gn(c,10);a=(await(await Promise.all(u.map(async m=>await n._rpcBatchRequest(m)))).flat()).map(m=>(m.error&&Hn.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${m.error.message}`),m.result.value.map(d=>{if(d){let{data:p,executable:f,lamports:b,owner:g,rentEpoch:w}=d;return p.length!==2&&p[1]!=="base64"&&Hn.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(p[0],"base64"),executable:f,lamports:b,owner:new gr.PublicKey(g),rentEpoch:w}}return null})))}else try{a=await Promise.all(s.map(c=>n.getMultipleAccountsInfo(c,r)))}catch(c){c instanceof Error&&Hn.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${c.message}`)}return a.flat()}async function Xe(n,e,t){let i=await Wt(n,e.map(r=>r.pubkey),t);return e.map((r,o)=>$(Y({},r),{accountInfo:i[o]}))}async function Yn({connection:n,address:e,cluster:t="mainnet"}){let i=await Wt(n,[...new Set(e.map(o=>o.toString()))].map(o=>new ve.PublicKey(o))),r={};for(let o=0;o<e.length;o++){let s=i[o],a=e[o];if(!s)continue;let c=new ve.AddressLookupTableAccount({key:a,state:ve.AddressLookupTableAccount.deserialize(s.data)});r[a.toString()]=c,t==="devnet"?At[a.toString()]=c:wt[a.toString()]=c}return r}var wt={},Zn=async n=>{let e="AcL1Vo8oy1ULiavEcjSUcwfBSForXMudcZvDZy5nzJkU";if(wt[e])return wt;let t=new ve.PublicKey(e),i=await n.getAccountInfo(t);return i&&(wt[e]=new ve.AddressLookupTableAccount({key:t,state:ve.AddressLookupTableAccount.deserialize(i.data)})),wt},At={},jn=async n=>{let e="EFhMuDw1PKEuckuFRW9PavNfTH4LKP5uKHgyXDmWpFCq";if(At[e])return At;let t=new ve.PublicKey(e),i=await n.getAccountInfo(t);return i&&(At[e]=new ve.AddressLookupTableAccount({key:t,state:ve.AddressLookupTableAccount.deserialize(i.data)})),At};var fn=2e3,bn=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 i;let e=(await wr.default.get(`https://solanacompass.com/api/fees?cacheFreshTime=${3e5}`)).data,{avg:t}=(i=e==null?void 0:e[15])!=null?i:{};if(!!t)return{units:6e5,microLamports:Math.min(Math.ceil(t*1e6/6e5),25e3)}}addCustomComputeBudget(e){if(e){let{instructions:t,instructionTypes:i}=mn(e);return this.instructions.unshift(...t),this.instructionTypes.unshift(...i),!0}return!1}addTipInstruction(e){var t;return e?(this.endInstructions.push(Q.SystemProgram.transfer({fromPubkey:(t=e.feePayer)!=null?t:this.feePayer,toPubkey:new Q.PublicKey(e.address),lamports:BigInt(e.amount.toString())})),this.endInstructionTypes.push(rt.TransferTip),!0):!1}async calComputeBudget({config:e,defaultIns:t}){try{let i=e||await this.getComputeBudgetConfig();if(this.addCustomComputeBudget(i))return;t&&this.instructions.unshift(...t)}catch{t&&this.instructions.unshift(...t)}}addInstruction({instructions:e=[],endInstructions:t=[],signers:i=[],instructionTypes:r=[],endInstructionTypes:o=[],lookupTableAddress:s=[]}){return this.instructions.push(...e),this.endInstructions.push(...t),this.signers.push(...i),this.instructionTypes.push(...r),this.endInstructionTypes.push(...o),this.lookupTableAddress.push(...s.filter(a=>a!==Q.PublicKey.default.toString())),this}async versionBuild({txVersion:e,extInfo:t}){return e===0?await this.buildV0(Y({},t||{})):this.build(t)}build(e){var i;let t=new Q.Transaction;return this.allInstructions.length&&t.add(...this.allInstructions),t.feePayer=this.feePayer,((i=this.owner)==null?void 0:i.signer)&&!this.signers.some(r=>r.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer),{builder:this,transaction:t,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async r=>{var l;let{recentBlockHash:o,skipPreflight:s=!0,sendAndConfirm:a,notSendToRpc:c}=r||{},u=o!=null?o:await Pt(this.connection,this.blockhashCommitment);if(t.recentBlockhash=u,this.signers.length&&t.sign(...this.signers),ot([t]),(l=this.owner)!=null&&l.isKeyPair)return{txId:a?await(0,Q.sendAndConfirmTransaction)(this.connection,t,this.signers.find(d=>d.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:s}):await this.connection.sendRawTransaction(t.serialize(),{skipPreflight:s}),signedTx:t};if(this.signAllTransactions){let m=await this.signAllTransactions([t]);if(this.signers.length)for(let d of m)try{d.sign(...this.signers)}catch{}return{txId:c?"":await this.connection.sendRawTransaction(m[0].serialize(),{skipPreflight:s}),signedTx:m[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:e||{}}}buildMultiTx(e){var u;let{extraPreBuildData:t=[],extInfo:i}=e,{transaction:r}=this.build(i),o=t.filter(l=>l.transaction.instructions.length>0),s=[r,...o.map(l=>l.transaction)],a=[this.signers,...o.map(l=>l.signers)],c=[...this.instructionTypes,...o.map(l=>l.instructionTypes).flat()];return(u=this.owner)!=null&&u.signer&&a.forEach(l=>{l.some(m=>m.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),{builder:this,transactions:s,signers:a,instructionTypes:c,execute:async l=>{var w;let{sequentially:m,onTxUpdate:d,skipTxCount:p=0,recentBlockHash:f,skipPreflight:b=!0}=l||{},g=f!=null?f:await Pt(this.connection,this.blockhashCommitment);if((w=this.owner)!=null&&w.isKeyPair){if(m){let A=[],B=0;for(let k of s){if(++B,B<=p)continue;let P=await(0,Q.sendAndConfirmTransaction)(this.connection,k,this.signers.find(h=>h.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:b});A.push(P)}return{txIds:A,signedTxs:s}}return{txIds:await await Promise.all(s.map(async A=>(A.recentBlockhash=g,await this.connection.sendRawTransaction(A.serialize(),{skipPreflight:b})))),signedTxs:s}}if(this.signAllTransactions){let A=s.map((k,P)=>(k.recentBlockhash=g,a[P].length&&k.sign(...a[P]),k));ot(A);let B=await this.signAllTransactions(A);if(m){let k=0,P=[],h=async()=>{if(!B[k])return;let C=await this.connection.sendRawTransaction(B[k].serialize(),{skipPreflight:b});P.push({txId:C,status:"sent",signedTx:B[k]}),d==null||d([...P]),k++;let I=!1,R=null,F=null,S=M=>{R!==null&&clearInterval(R),F!==null&&this.connection.removeSignatureListener(F);let _=P.findIndex(z=>z.txId===C);if(_>-1){if(P[_].status==="error"||P[_].status==="success")return;P[_].status=M.err?"error":"success"}d==null||d([...P]),M.err||h()};this.loopMultiTxStatus&&(R=setInterval(async()=>{var M;if(I){clearInterval(R);return}try{let _=await this.connection.getTransaction(C,{commitment:"confirmed",maxSupportedTransactionVersion:0});_&&(I=!0,clearInterval(R),S({err:((M=_.meta)==null?void 0:M.err)||null}),console.log("tx status from getTransaction:",C))}catch(_){I=!0,clearInterval(R),console.error("getTransaction timeout:",_,C)}},fn)),F=this.connection.onSignature(C,M=>{if(I){this.connection.removeSignatureListener(F);return}I=!0,S(M)},"confirmed"),this.connection.getSignatureStatus(C)};return await h(),{txIds:P.map(C=>C.txId),signedTxs:B}}else{let k=[];for(let P=0;P<B.length;P+=1){let h=await this.connection.sendRawTransaction(B[P].serialize(),{skipPreflight:b});k.push(h)}return{txIds:k,signedTxs:B}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:i||{}}}async versionMultiBuild({extraPreBuildData:e,txVersion:t,extInfo:i}){return t===0?await this.buildV0MultiTx({extraPreBuildData:e,buildProps:i||{}}):this.buildMultiTx({extraPreBuildData:e,extInfo:i})}async buildV0(e){var b;let f=e||{},{lookupTableCache:t={},lookupTableAddress:i=[],forerunCreate:r,recentBlockhash:o}=f,s=it(f,["lookupTableCache","lookupTableAddress","forerunCreate","recentBlockhash"]),a=Y(Y({},this.cluster==="devnet"?await jn(this.connection):await Zn(this.connection)),t),c=Array.from(new Set([...i,...this.lookupTableAddress])),u=[];for(let g of c)a[g]===void 0&&u.push(new Q.PublicKey(g));let l=await Yn({connection:this.connection,address:u});for(let[g,w]of Object.entries(l))a[g]=w;let m=r?Q.PublicKey.default.toBase58():o!=null?o:await Pt(this.connection,this.blockhashCommitment),d=new Q.TransactionMessage({payerKey:this.feePayer,recentBlockhash:m,instructions:[...this.allInstructions]}).compileToV0Message(Object.values(a));((b=this.owner)==null?void 0:b.signer)&&!this.signers.some(g=>g.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer);let p=new Q.VersionedTransaction(d);return p.sign(this.signers),{builder:this,transaction:p,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async g=>{var k;let{skipPreflight:w=!0,sendAndConfirm:A,notSendToRpc:B}=g||{};if(ot([p]),(k=this.owner)!=null&&k.isKeyPair){let P=await this.connection.sendTransaction(p,{skipPreflight:w});return A&&await dn(this.connection,P),{txId:P,signedTx:p}}if(this.signAllTransactions){let P=await this.signAllTransactions([p]);if(this.signers.length)for(let h of P)try{h.sign(this.signers)}catch{}return{txId:B?"":await this.connection.sendTransaction(P[0],{skipPreflight:w}),signedTx:P[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:s||{}}}async buildV0MultiTx(e){var u;let{extraPreBuildData:t=[],buildProps:i}=e,{transaction:r}=await this.buildV0(i),o=t.filter(l=>l.builder.instructions.length>0),s=[r,...o.map(l=>l.transaction)],a=[this.signers,...o.map(l=>l.signers)],c=[...this.instructionTypes,...o.map(l=>l.instructionTypes).flat()];return(u=this.owner)!=null&&u.signer&&a.forEach(l=>{l.some(m=>m.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),s.forEach(async(l,m)=>{l.sign(a[m])}),{builder:this,transactions:s,signers:a,instructionTypes:c,buildProps:i,execute:async l=>{var b;let{sequentially:m,onTxUpdate:d,recentBlockHash:p,skipPreflight:f=!0}=l||{};if(p&&s.forEach(g=>g.message.recentBlockhash=p),ot(s),(b=this.owner)!=null&&b.isKeyPair){if(m){let g=[];for(let w of s){let A=await this.connection.sendTransaction(w,{skipPreflight:f});await dn(this.connection,A),g.push(A)}return{txIds:g,signedTxs:s}}return{txIds:await Promise.all(s.map(async g=>await this.connection.sendTransaction(g,{skipPreflight:f}))),signedTxs:s}}if(this.signAllTransactions){let g=await this.signAllTransactions(s);if(m){let w=0,A=[],B=async()=>{if(!g[w])return;let k=await this.connection.sendTransaction(g[w],{skipPreflight:f});A.push({txId:k,status:"sent",signedTx:g[w]}),d==null||d([...A]),w++;let P=!1,h=null,C=null,I=R=>{h!==null&&clearInterval(h),C!==null&&this.connection.removeSignatureListener(C);let F=A.findIndex(S=>S.txId===k);if(F>-1){if(A[F].status==="error"||A[F].status==="success")return;A[F].status=R.err?"error":"success"}d==null||d([...A]),R.err||B()};this.loopMultiTxStatus&&(h=setInterval(async()=>{var R;if(P){clearInterval(h);return}try{let F=await this.connection.getTransaction(k,{commitment:"confirmed",maxSupportedTransactionVersion:0});F&&(P=!0,clearInterval(h),I({err:((R=F.meta)==null?void 0:R.err)||null}),console.log("tx status from getTransaction:",k))}catch(F){P=!0,clearInterval(h),console.error("getTransaction timeout:",F,k)}},fn)),C=this.connection.onSignature(k,R=>{if(P){this.connection.removeSignatureListener(C);return}P=!0,I(R)},"confirmed"),this.connection.getSignatureStatus(k)};return B(),{txIds:[],signedTxs:g}}else{let w=[];for(let A=0;A<g.length;A+=1){let B=await this.connection.sendTransaction(g[A],{skipPreflight:f});w.push(B)}return{txIds:w,signedTxs:g}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:i||{}}}async sizeCheckBuild(e){var d;let m=e||{},{splitIns:t=[],computeBudgetConfig:i}=m,r=it(m,["splitIns","computeBudgetConfig"]),o=i?mn(i):{instructions:[],instructionTypes:[]},s=this.signers.reduce((p,f)=>$(Y({},p),{[f.publicKey.toBase58()]:f}),{}),a=[],c=[],u=[],l=0;if(this.allInstructions.forEach(p=>{let f=[...u,p],b=i?[...o.instructions,...f]:f,w=[...new Set(f.map(A=>A.keys.filter(B=>B.isSigner).map(B=>B.pubkey.toString())).flat()).values()].map(A=>new Q.PublicKey(A));if(p!==t[l]&&u.length<12&&(Et({instructions:b,payer:this.feePayer,signers:w})||Et({instructions:f,payer:this.feePayer,signers:w})))u.push(p);else{if(u.length===0)throw Error("item ins too big");l+=p===t[l]?1:0,Et({instructions:i?[...o.instructions,...u]:[...u],payer:this.feePayer,signers:w})?a.push(new Q.Transaction().add(...o.instructions,...u)):a.push(new Q.Transaction().add(...u)),c.push(Array.from(new Set(u.map(A=>A.keys.filter(B=>B.isSigner).map(B=>B.pubkey.toString())).flat())).map(A=>s[A]).filter(A=>A!==void 0)),u=[p]}}),u.length>0){let f=[...new Set(u.map(b=>b.keys.filter(g=>g.isSigner).map(g=>g.pubkey.toString())).flat()).values()].map(b=>s[b]).filter(b=>b!==void 0);Et({instructions:i?[...o.instructions,...u]:[...u],payer:this.feePayer,signers:f.map(b=>b.publicKey)})?a.push(new Q.Transaction().add(...o.instructions,...u)):a.push(new Q.Transaction().add(...u)),c.push(f)}return a.forEach(p=>p.feePayer=this.feePayer),(d=this.owner)!=null&&d.signer&&c.forEach(p=>{p.some(f=>f.publicKey.equals(this.owner.publicKey))||p.push(this.owner.signer)}),{builder:this,transactions:a,signers:c,instructionTypes:this.instructionTypes,execute:async p=>{var k;let{sequentially:f,onTxUpdate:b,skipTxCount:g=0,recentBlockHash:w,skipPreflight:A=!0}=p||{},B=w!=null?w:await Pt(this.connection,this.blockhashCommitment);if(a.forEach(async(P,h)=>{P.recentBlockhash=B,c[h].length&&P.sign(...c[h])}),ot(a),(k=this.owner)!=null&&k.isKeyPair){if(f){let P=0,h=[];for(let C of a){if(++P,P<=g){h.push("tx skipped");continue}let I=await(0,Q.sendAndConfirmTransaction)(this.connection,C,this.signers.find(R=>R.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:A});h.push(I)}return{txIds:h,signedTxs:a}}return{txIds:await Promise.all(a.map(async P=>await this.connection.sendRawTransaction(P.serialize(),{skipPreflight:A}))),signedTxs:a}}if(this.signAllTransactions){let P=await this.signAllTransactions(a.slice(g,a.length)),h=[...a.slice(0,g),...P];if(f){let C=0,I=[],R=async()=>{if(!h[C])return;C<g&&(I.push({txId:"",status:"success",signedTx:h[C]}),b==null||b([...I]),C++,R());let F=await this.connection.sendRawTransaction(h[C].serialize(),{skipPreflight:A});I.push({txId:F,status:"sent",signedTx:h[C]}),b==null||b([...I]),C++;let S=!1,M=null,_=null,z=x=>{M!==null&&clearInterval(M),_!==null&&this.connection.removeSignatureListener(_);let K=I.findIndex(oe=>oe.txId===F);if(K>-1){if(I[K].status==="error"||I[K].status==="success")return;I[K].status=x.err?"error":"success"}b==null||b([...I]),x.err||R()};this.loopMultiTxStatus&&(M=setInterval(async()=>{var x;if(S){clearInterval(M);return}try{let K=await this.connection.getTransaction(F,{commitment:"confirmed",maxSupportedTransactionVersion:0});K&&(S=!0,clearInterval(M),z({err:((x=K.meta)==null?void 0:x.err)||null}),console.log("tx status from getTransaction:",F))}catch(K){S=!0,clearInterval(M),console.error("getTransaction timeout:",K,F)}},fn)),_=this.connection.onSignature(F,x=>{if(S){this.connection.removeSignatureListener(_);return}S=!0,z(x)},"confirmed"),this.connection.getSignatureStatus(F)};return await R(),{txIds:I.map(F=>F.txId),signedTxs:h}}else{let C=[];for(let I=0;I<h.length;I+=1){let R=await this.connection.sendRawTransaction(h[I].serialize(),{skipPreflight:A});C.push(R)}return{txIds:C,signedTxs:h}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:r||{}}}async sizeCheckBuildV0(e){var B;let A=e||{},{computeBudgetConfig:t,splitIns:i=[],lookupTableCache:r={},lookupTableAddress:o=[]}=A,s=it(A,["computeBudgetConfig","splitIns","lookupTableCache","lookupTableAddress"]),a=Y(Y({},this.cluster==="devnet"?await jn(this.connection):await Zn(this.connection)),r),c=Array.from(new Set([...this.lookupTableAddress,...o])),u=[];for(let k of c)a[k]===void 0&&u.push(new Q.PublicKey(k));let l=await Yn({connection:this.connection,address:u});for(let[k,P]of Object.entries(l))a[k]=P;let m=t?mn(t):{instructions:[],instructionTypes:[]},d=await Pt(this.connection,this.blockhashCommitment),p=this.signers.reduce((k,P)=>$(Y({},k),{[P.publicKey.toBase58()]:P}),{}),f=[],b=[],g=[],w=0;if(this.allInstructions.forEach(k=>{let P=[...g,k],h=t?[...m.instructions,...P]:P;if(k!==i[w]&&g.length<12&&(Ot({instructions:h,payer:this.feePayer,lookupTableAddressAccount:a})||Ot({instructions:P,payer:this.feePayer,lookupTableAddressAccount:a})))g.push(k);else{if(g.length===0)throw Error("item ins too big");w+=k===i[w]?1:0;let C={};for(let I of[...new Set(c)])a[I]!==void 0&&(C[I]=a[I]);if(t&&Ot({instructions:[...m.instructions,...g],payer:this.feePayer,lookupTableAddressAccount:a,recentBlockhash:d})){let I=new Q.TransactionMessage({payerKey:this.feePayer,recentBlockhash:d,instructions:[...m.instructions,...g]}).compileToV0Message(Object.values(a));f.push(new Q.VersionedTransaction(I))}else{let I=new Q.TransactionMessage({payerKey:this.feePayer,recentBlockhash:d,instructions:[...g]}).compileToV0Message(Object.values(a));f.push(new Q.VersionedTransaction(I))}b.push(Array.from(new Set(g.map(I=>I.keys.filter(R=>R.isSigner).map(R=>R.pubkey.toString())).flat())).map(I=>p[I]).filter(I=>I!==void 0)),g=[k]}}),g.length>0){let P=[...new Set(g.map(h=>h.keys.filter(C=>C.isSigner).map(C=>C.pubkey.toString())).flat()).values()].map(h=>p[h]).filter(h=>h!==void 0);if(t&&Ot({instructions:[...m.instructions,...g],payer:this.feePayer,lookupTableAddressAccount:a,recentBlockhash:d})){let h=new Q.TransactionMessage({payerKey:this.feePayer,recentBlockhash:d,instructions:[...m.instructions,...g]}).compileToV0Message(Object.values(a));f.push(new Q.VersionedTransaction(h))}else{let h=new Q.TransactionMessage({payerKey:this.feePayer,recentBlockhash:d,instructions:[...g]}).compileToV0Message(Object.values(a));f.push(new Q.VersionedTransaction(h))}b.push(P)}return(B=this.owner)!=null&&B.signer&&b.forEach(k=>{k.some(P=>P.publicKey.equals(this.owner.publicKey))||k.push(this.owner.signer)}),f.forEach((k,P)=>{k.sign(b[P])}),{builder:this,transactions:f,buildProps:e,signers:b,instructionTypes:this.instructionTypes,execute:async k=>{var F;let{sequentially:P,onTxUpdate:h,skipTxCount:C=0,recentBlockHash:I,skipPreflight:R=!0}=k||{};if(f.map(async(S,M)=>{b[M].length&&S.sign(b[M]),I&&(S.message.recentBlockhash=I)}),ot(f),(F=this.owner)!=null&&F.isKeyPair){if(P){let S=0,M=[];for(let _ of f){if(++S,S<=C){console.log("skip tx: ",S),M.push("tx skipped");continue}let z=await this.connection.sendTransaction(_,{skipPreflight:R});await dn(this.connection,z),M.push(z)}return{txIds:M,signedTxs:f}}return{txIds:await Promise.all(f.map(async S=>await this.connection.sendTransaction(S,{skipPreflight:R}))),signedTxs:f}}if(this.signAllTransactions){let S=await this.signAllTransactions(f.slice(C,f.length)),M=[...f.slice(0,C),...S];if(P){let _=0,z=[],x=async()=>{if(!M[_])return;if(_<C){z.push({txId:"",status:"success",signedTx:M[_]}),h==null||h([...z]),_++,x();return}let K=await this.connection.sendTransaction(M[_],{skipPreflight:R});z.push({txId:K,status:"sent",signedTx:M[_]}),h==null||h([...z]),_++;let oe=!1,te=null,ce=null,J=le=>{te!==null&&clearInterval(te),ce!==null&&this.connection.removeSignatureListener(ce);let pe=z.findIndex(me=>me.txId===K);if(pe>-1){if(z[pe].status==="error"||z[pe].status==="success")return;z[pe].status=le.err?"error":"success"}h==null||h([...z]),le.err||x()};this.loopMultiTxStatus&&(te=setInterval(async()=>{var le;if(oe){clearInterval(te);return}try{let pe=await this.connection.getTransaction(K,{commitment:"confirmed",maxSupportedTransactionVersion:0});pe&&(oe=!0,clearInterval(te),J({err:((le=pe.meta)==null?void 0:le.err)||null}),console.log("tx status from getTransaction:",K))}catch(pe){oe=!0,clearInterval(te),console.error("getTransaction timeout:",pe,K)}},fn)),ce=this.connection.onSignature(K,le=>{if(oe){this.connection.removeSignatureListener(ce);return}oe=!0,J(le)},"confirmed"),this.connection.getSignatureStatus(K)};return x(),{txIds:[],signedTxs:M}}else{let _=[];for(let z=0;z<M.length;z+=1){let x=await this.connection.sendTransaction(M[z],{skipPreflight:R});_.push(x)}return{txIds:_,signedTxs:M}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:s||{}}}};var Qn=(...n)=>n.map(e=>{try{return typeof e=="object"?JSON.stringify(e):e}catch{return e}}).join(", "),Tt=class{constructor({scope:e,moduleName:t}){this.disabled=!1;this.scope=e,this.logger=ge(t)}createTxBuilder(e){return this.scope.checkOwner(),new bn({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(Qn(e))}logInfo(...e){this.logger.info(Qn(e))}logAndCreateError(...e){let t=Qn(e);throw new Error(t)}checkDisabled(){(this.disabled||!this.scope)&&this.logAndCreateError("module not working")}};var Ys=require("@solana/web3.js"),Zs=ne(require("bn.js"));var Pn=require("@solana/spl-token");var Ts=require("@solana/web3.js"),Ar=require("@solana/spl-token");var gn=require("@solana/web3.js"),Hs=ne(require("bn.js"));var di=require("@solana/spl-token");var Br=require("@solana/web3.js"),kt=ne(require("bn.js"));var O=require("@solana/buffer-layout"),Jn=O.Layout,Tr=O.Structure;var $n=O.UInt;var kr=O.u8,ze=O.u16;var ei=O.u32;var He=O.s32;var hr=O.seq;var Be=O.blob;var ti=O.offset;var ht=class extends Jn{constructor(t,i,r){super(t,r);this.blob=Be(t),this.signed=i}decode(t,i=0){let r=new kt.default(this.blob.decode(t,i),10,"le");return this.signed?r.fromTwos(this.span*8).clone():r}encode(t,i,r=0){return typeof t=="number"&&(t=new kt.default(t)),this.signed&&(t=t.toTwos(this.span*8)),this.blob.encode(t.toArrayLike(Buffer,"le",this.span),i,r)}};function V(n){return new $n(1,n)}function Bt(n){return new $n(4,n)}function y(n){return new ht(8,!1,n)}function ae(n){return new ht(16,!1,n)}function xr(n){return new ht(8,!0,n)}function Ir(n){return new ht(16,!0,n)}var ut=class extends Jn{constructor(t,i,r,o){super(t.span,o);this.layout=t,this.decoder=i,this.encoder=r}decode(t,i){return this.decoder(this.layout.decode(t,i))}encode(t,i,r){return this.layout.encode(this.encoder(t),i,r)}getSpan(t,i){return this.layout.getSpan(t,i)}};function W(n){return new ut(Be(32),e=>new Br.PublicKey(e),e=>e.toBuffer(),n)}function ii(n){return new ut(kr(),ks,hs,n)}function ks(n){if(n===0)return!1;if(n===1)return!0;throw new Error("Invalid bool: "+n)}function hs(n){return n?1:0}function Sr(n,e){let t=ei("length"),i=G([t,Z(n,ti(t,-t.span),"values")]);return new ut(i,({values:r})=>r,r=>({values:r}),e)}function Bs(n){let e=ei("length"),t=G([e,Be(ti(e,-e.span),"data")]);return new ut(t,({data:i})=>i,i=>({data:i}),n)}function xe(n){return new ut(Bs(),e=>e.toString("utf-8"),e=>Buffer.from(e,"utf-8"),n)}var ni=class extends Tr{decode(e,t){return super.decode(e,t)}};function G(n,e,t){return new ni(n,e,t)}function Z(n,e,t){let i,r=typeof e=="number"?e:(0,kt.isBN)(e)?e.toNumber():new Proxy(e,{get(o,s){if(!i){let a=Reflect.get(o,"count");i=(0,kt.isBN)(a)?a.toNumber():a,Reflect.set(o,"count",i)}return Reflect.get(o,s)},set(o,s,a){return s==="count"&&(i=a),Reflect.set(o,s,a)}});return hr(n,r,t)}var Es=ne(require("bn.js"));var Ie=ne(require("bn.js")),ri=new Ie.default(0),Cr=new Ie.default(1),Kr=new Ie.default(-1),Ve=new Ie.default(1).shln(64),Nr=new Ie.default(1).shln(128),oi=Ve.sub(Cr);var xs=Nr.subn(1),xt=-443636,Vt=-xt,si=new Ie.default("4295048016"),ai=new Ie.default("79226673521066979257578248091"),Dl=new Ie.default("4295048017"),Wl=new Ie.default("79226673521066979257578248090");var Is=new Ie.default(10).pow(new Ie.default(6));var Vl=new Ie.default("18446744073700000000");var vs=ne(require("bn.js"));var zl=Buffer.from("amm_config","utf8"),Rr=Buffer.from("pool","utf8"),Lr=Buffer.from("pool_vault","utf8"),Hl=Buffer.from("pool_reward_vault","utf8"),Yl=Buffer.from("position","utf8"),Zl=Buffer.from("tick_array","utf8"),jl=Buffer.from("operation","utf8"),Ql=Buffer.from("pool_tick_array_bitmap_extension","utf8"),Jl=Buffer.from("observation","utf8");function ui(n){return Te([Buffer.from("metadata","utf8"),gt.toBuffer(),n.toBuffer()],gt)}var $l=Buffer.from("locked_position","utf8");var em=Buffer.from("support_mint","utf8");var Rs=require("@solana/web3.js"),Ls=require("@solana/spl-token"),Fs=ne(require("bn.js"));var Cs=ne(require("bn.js"));var mi=14;var yn=60;var Os=G([Be(8),V("bump"),ze("index"),W(""),Bt("protocolFeeRate"),Bt("tradeFeeRate"),ze("tickSpacing"),Z(y(),8,"")]),Ds=G([Bt("blockTimestamp"),xr("tickCumulative"),Z(y(),4)]),qr=G([Be(8),ii("initialized"),y("recentEpoch"),ze("observationIndex"),W("poolId"),Z(Ds,100,"observations"),Z(y(),4)]),Ws=G([V("rewardState"),y("openTime"),y("endTime"),y("lastUpdateTime"),ae("emissionsPerSecondX64"),y("rewardTotalEmissioned"),y("rewardClaimed"),W("tokenMint"),W("tokenVault"),W("creator"),ae("rewardGrowthGlobalX64")]),Wr=G([Be(8),V("bump"),W("ammConfig"),W("creator"),W("mintA"),W("mintB"),W("vaultA"),W("vaultB"),W("observationId"),V("mintDecimalsA"),V("mintDecimalsB"),ze("tickSpacing"),ae("liquidity"),ae("sqrtPriceX64"),He("tickCurrent"),Bt(),ae("feeGrowthGlobalX64A"),ae("feeGrowthGlobalX64B"),y("protocolFeesTokenA"),y("protocolFeesTokenB"),ae("swapInAmountTokenA"),ae("swapOutAmountTokenB"),ae("swapInAmountTokenB"),ae("swapOutAmountTokenA"),V("status"),Z(V(),7,""),Z(Ws,3,"rewardInfos"),Z(y(),16,"tickArrayBitmap"),y("totalFeesTokenA"),y("totalFeesClaimedTokenA"),y("totalFeesTokenB"),y("totalFeesClaimedTokenB"),y("fundFeesTokenA"),y("fundFeesTokenB"),y("startTime"),Z(y(),15*4-3,"padding")]),Vs=G([ae("growthInsideLastX64"),y("rewardAmountOwed")]),Vr=G([Be(8),V("bump"),W("nftMint"),W("poolId"),He("tickLower"),He("tickUpper"),ae("liquidity"),ae("feeGrowthInsideLastX64A"),ae("feeGrowthInsideLastX64B"),y("tokenFeesOwedA"),y("tokenFeesOwedB"),Z(Vs,3,"rewardInfos"),Z(y(),8,"")]),Pd=G([Be(8),V("bump"),W("poolId"),He("tickLowerIndex"),He("tickUpperIndex"),ae("liquidity"),ae("feeGrowthInsideLastX64A"),ae("feeGrowthInsideLastX64B"),y("tokenFeesOwedA"),y("tokenFeesOwedB"),Z(ae(),3,"rewardGrowthInside"),Z(y(),8,"")]),_s=G([He("tick"),Ir("liquidityNet"),ae("liquidityGross"),ae("feeGrowthOutsideX64A"),ae("feeGrowthOutsideX64B"),Z(ae(),3,"rewardGrowthsOutsideX64"),Z(Bt(),13,"")]),Er=G([Be(8),W("poolId"),He("startTickIndex"),Z(_s,yn,"ticks"),V("initializedTickCount"),Z(V(),115,"")]),qs=G([Be(329),Z(W(),100,"whitelistMints")]),Ms=G([Be(8),W("poolId"),Z(Z(y(),8),mi,"positiveTickArrayBitmap"),Z(Z(y(),8),mi,"negativeTickArrayBitmap")]),wd=G([y(),V("bump"),W("owner"),W("poolId"),W("positionId"),W("nftAccount"),Z(y(),8)]),Gs=G([Be(8),V("bump"),W("lockOwner"),W("poolId"),W("positionId"),W("nftAccount"),W("lockNftMint"),y("recentEpoch"),Z(y(),8)]);qr.span;var Od=ge("Raydium_Clmm");var js=Buffer.from("vault_auth_seed","utf8"),Lp=Buffer.from("global_config","utf8"),Qs=Buffer.from("pool_vesting","utf8"),Js=Buffer.from("platform_config","utf8"),$s=Buffer.from("platform_fee_vault_auth_seed","utf8"),ea=Buffer.from("creator_fee_vault_auth_seed","utf8");function _e(n){return Te([js],n)}function It(n,e,t){return Te([Rr,e.toBuffer(),t.toBuffer()],n)}function pi(n,e,t){return Te([Lr,e.toBuffer(),t.toBuffer()],n)}function ct(n){return Te([Buffer.from("__event_authority","utf8")],n)}function fi(n,e){return Te([Js,e.toBuffer()],n)}function Gt(n,e,t){return Te([Qs,e.toBuffer(),t.toBuffer()],n)}function lt(n,e,t){return Te([e.toBuffer(),t.toBuffer()],n)}function bi(n){return Te([$s],n)}function mt(n,e,t){return Te([e.toBuffer(),t.toBuffer()],n)}function yi(n){return Te([ea],n)}var Oe=require("@solana/spl-token"),re=require("@solana/web3.js"),dt=ne(require("bn.js"));var et=G([y(),y("epoch"),V("curveType"),ze("index"),y("migrateFee"),y("tradeFeeRate"),y("maxShareFeeRate"),y("minSupplyA"),y("maxLockRate"),y("minSellRateA"),y("minMigrateRateA"),y("minFundRaisingB"),W("mintB"),W("protocolFeeOwner"),W("migrateFeeOwner"),W("migrateToAmmWallet"),W("migrateToCpmmWallet"),Z(y(),16)]),ta=G([y("totalLockedAmount"),y("cliffPeriod"),y("unlockPeriod"),y("startTime"),y("totalAllocatedShare")]),Ee=G([y(),y("epoch"),V("bump"),V("status"),V("mintDecimalsA"),V("mintDecimalsB"),V("migrateType"),y("supply"),y("totalSellA"),y("virtualA"),y("virtualB"),y("realA"),y("realB"),y("totalFundRaisingB"),y("protocolFee"),y("platformFee"),y("migrateFee"),ta.replicate("vestingSchedule"),W("configId"),W("platformId"),W("mintA"),W("mintB"),W("vaultA"),W("vaultB"),W("creator"),V("mintProgramFlag"),V("cpmmCreatorFeeOn"),Z(V(),62)]),vp=G([y(),y("epoch"),W("poolId"),W("beneficiary"),y("claimedAmount"),y("tokenShareAmount"),Z(y(),8)]),Gr=G([V("migrateType"),V("migrateCpmmFeeOn"),y("supply"),y("totalSellA"),y("totalFundRaisingB"),y("totalLockedAmount"),y("cliffPeriod"),y("unlockPeriod")]),na=G([y("epoch"),V("index"),W("configId"),Gr.replicate("bondingCurveParam"),Z(y(),50)]),St=G([y(),y("epoch"),W("platformClaimFeeWallet"),W("platformLockNftWallet"),y("platformScale"),y("creatorScale"),y("burnScale"),y("feeRate"),Z(V(),64,"name"),Z(V(),256,"web"),Z(V(),256,"img"),W("cpConfigId"),y("creatorFeeRate"),W("transferFeeExtensionAuth"),Z(V(),180),Sr(na,"platformCurve")]);var Se={initialize:Buffer.from([175,175,109,31,13,152,155,237]),initializeV2:Buffer.from([67,153,175,39,218,16,38,32]),buyExactIn:Buffer.from([250,234,13,123,213,156,19,236]),buyExactOut:Buffer.from([24,211,116,40,105,3,153,56]),sellExactIn:Buffer.from([149,39,222,155,211,124,152,26]),sellExactOut:Buffer.from([95,200,71,34,8,9,11,166]),createVestingAccount:Buffer.from([129,178,2,13,217,172,230,218]),claimVestedToken:Buffer.from([49,33,104,30,189,157,79,35]),createPlatformConfig:Buffer.from([176,90,196,175,253,113,220,20]),claimPlatformFee:Buffer.from([156,39,208,135,76,237,61,72]),updatePlaformConfig:Buffer.from([195,60,76,129,146,45,67,143]),initializeWithToken2022:Buffer.from([37,190,126,222,44,154,171,17]),claimPlatformFeeFromVault:Buffer.from([117,241,198,168,248,218,80,29]),claimCreatorFee:Buffer.from([26,97,138,203,132,171,141,252]),updatePlatformCurveParam:Buffer.from([138,144,138,250,220,128,4,57]),removePlatformCurveParam:Buffer.from([27,30,62,169,93,224,24,145])};function Ur(n,e,t,i,r,o,s,a,c,u,l,m,d,p,f,b,g,w,A,B,k){let P=G([V("decimals"),xe("name"),xe("symbol"),xe("uri")]),h=G([y("totalLockedAmount"),y("cliffPeriod"),y("unlockPeriod"),V("cpmmCreatorFeeOn")]),C=G([V("index"),y("supply"),y("totalFundRaisingB"),V("migrateType")]),I=G([V("index"),y("supply"),y("totalSellA"),y("totalFundRaisingB"),V("migrateType")]),R=[{pubkey:e,isSigner:!0,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!1,isWritable:!1},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!0,isWritable:!0},{pubkey:c,isSigner:!1,isWritable:!1},{pubkey:u,isSigner:!1,isWritable:!0},{pubkey:l,isSigner:!1,isWritable:!0},{pubkey:m,isSigner:!1,isWritable:!0},{pubkey:Oe.TOKEN_PROGRAM_ID,isSigner:!1,isWritable:!1},{pubkey:Oe.TOKEN_PROGRAM_ID,isSigner:!1,isWritable:!1},{pubkey:gt,isSigner:!1,isWritable:!1},{pubkey:re.SystemProgram.programId,isSigner:!1,isWritable:!1},{pubkey:Dn,isSigner:!1,isWritable:!1},{pubkey:ct(n).publicKey,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1}],F=Buffer.alloc(Buffer.from(p,"utf-8").length+Buffer.from(f,"utf-8").length+Buffer.from(b,"utf-8").length+4*3+1),S=Buffer.alloc(h.span),M=Buffer.alloc(g.type==="ConstantCurve"?I.span:C.span);return P.encode({decimals:d,name:p,symbol:f,uri:b},F),g.type==="ConstantCurve"?I.encode($(Y({index:0},g),{migrateType:g.migrateType==="amm"?0:1}),M):g.type==="FixedCurve"?C.encode($(Y({index:1},g),{migrateType:g.migrateType==="amm"?0:1}),M):g.type==="LinearCurve"&&C.encode($(Y({index:2},g),{migrateType:g.migrateType==="amm"?0:1}),M),h.encode({totalLockedAmount:w,cliffPeriod:A,unlockPeriod:B,cpmmCreatorFeeOn:k},S),new re.TransactionInstruction({keys:R,programId:n,data:Buffer.from([...Se.initializeV2,...F,...M,...S])})}function Xr(n,e,t,i,r,o,s,a,c,u,l,m,d,p,f,b,g,w,A,B,k){let P=G([V("decimals"),xe("name"),xe("symbol"),xe("uri")]),h=G([y("totalLockedAmount"),y("cliffPeriod"),y("unlockPeriod"),V("cpmmCreatorFeeOn"),V("transferFeeExtensionParamsOption"),G([ze("transferFeeBasePoints"),y("maxinumFee")]).replicate("transferFeeExtensionParams")]),C=G([V("index"),y("supply"),y("totalFundRaisingB"),V("migrateType")]),I=G([V("index"),y("supply"),y("totalSellA"),y("totalFundRaisingB"),V("migrateType")]),R=[{pubkey:e,isSigner:!0,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!1,isWritable:!1},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!0,isWritable:!0},{pubkey:c,isSigner:!1,isWritable:!1},{pubkey:u,isSigner:!1,isWritable:!0},{pubkey:l,isSigner:!1,isWritable:!0},{pubkey:Oe.TOKEN_2022_PROGRAM_ID,isSigner:!1,isWritable:!1},{pubkey:Oe.TOKEN_PROGRAM_ID,isSigner:!1,isWritable:!1},{pubkey:re.SystemProgram.programId,isSigner:!1,isWritable:!1},{pubkey:ct(n).publicKey,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1}],F=Buffer.alloc(Buffer.from(d,"utf-8").length+Buffer.from(p,"utf-8").length+Buffer.from(f,"utf-8").length+4*3+1),S=Buffer.alloc(h.span),M=Buffer.alloc(b.type==="ConstantCurve"?I.span:C.span);return P.encode({decimals:m,name:d,symbol:p,uri:f},F),b.type==="ConstantCurve"?I.encode($(Y({index:0},b),{migrateType:b.migrateType==="amm"?0:1}),M):b.type==="FixedCurve"?C.encode($(Y({index:1},b),{migrateType:b.migrateType==="amm"?0:1}),M):b.type==="LinearCurve"&&C.encode($(Y({index:2},b),{migrateType:b.migrateType==="amm"?0:1}),M),h.encode({totalLockedAmount:g,cliffPeriod:w,unlockPeriod:A,cpmmCreatorFeeOn:B,transferFeeExtensionParamsOption:k?1:0,transferFeeExtensionParams:k!=null?k:{transferFeeBasePoints:0,maxinumFee:new dt.default(0)}},S),new re.TransactionInstruction({keys:R,programId:n,data:Buffer.from([...Se.initializeWithToken2022,...F,...M,...S])})}function zr(n,e,t,i,r,o,s,a,c,u,l,m,d,p,f,b,g,w,A,B){let k=G([y("amountB"),y("minAmountA"),y("shareFeeRate")]),P=[{pubkey:e,isSigner:!0,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:c,isSigner:!1,isWritable:!0},{pubkey:u,isSigner:!1,isWritable:!0},{pubkey:l,isSigner:!1,isWritable:!1},{pubkey:m,isSigner:!1,isWritable:!1},{pubkey:d,isSigner:!1,isWritable:!1},{pubkey:p,isSigner:!1,isWritable:!1},{pubkey:ct(n).publicKey,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1}];B&&P.push({pubkey:B,isSigner:!1,isWritable:!0}),P.push({pubkey:re.SystemProgram.programId,isSigner:!1,isWritable:!1}),P.push({pubkey:f,isSigner:!1,isWritable:!0}),P.push({pubkey:b,isSigner:!1,isWritable:!0});let h=Buffer.alloc(k.span);return k.encode({amountB:g,minAmountA:w,shareFeeRate:A!=null?A:new dt.default(0)},h),new re.TransactionInstruction({keys:P,programId:n,data:Buffer.from([...Se.buyExactIn,...h])})}function Hr(n,e,t,i,r,o,s,a,c,u,l,m,d,p,f,b,g,w,A,B){let k=G([y("amountA"),y("maxAmountB"),y("shareFeeRate")]),P=[{pubkey:e,isSigner:!0,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:c,isSigner:!1,isWritable:!0},{pubkey:u,isSigner:!1,isWritable:!0},{pubkey:l,isSigner:!1,isWritable:!1},{pubkey:m,isSigner:!1,isWritable:!1},{pubkey:d,isSigner:!1,isWritable:!1},{pubkey:p,isSigner:!1,isWritable:!1},{pubkey:ct(n).publicKey,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1}];B&&P.push({pubkey:B,isSigner:!1,isWritable:!0}),P.push({pubkey:re.SystemProgram.programId,isSigner:!1,isWritable:!1}),P.push({pubkey:f,isSigner:!1,isWritable:!0}),P.push({pubkey:b,isSigner:!1,isWritable:!0});let h=Buffer.alloc(k.span);return k.encode({amountA:g,maxAmountB:w,shareFeeRate:A!=null?A:new dt.default(0)},h),new re.TransactionInstruction({keys:P,programId:n,data:Buffer.from([...Se.buyExactOut,...h])})}function Yr(n,e,t,i,r,o,s,a,c,u,l,m,d,p,f,b,g,w,A,B){let k=G([y("amountA"),y("minAmountB"),y("shareFeeRate")]),P=[{pubkey:e,isSigner:!0,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:c,isSigner:!1,isWritable:!0},{pubkey:u,isSigner:!1,isWritable:!0},{pubkey:l,isSigner:!1,isWritable:!1},{pubkey:m,isSigner:!1,isWritable:!1},{pubkey:d,isSigner:!1,isWritable:!1},{pubkey:p,isSigner:!1,isWritable:!1},{pubkey:ct(n).publicKey,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1}];B&&P.push({pubkey:B,isSigner:!1,isWritable:!0}),P.push({pubkey:re.SystemProgram.programId,isSigner:!1,isWritable:!1}),P.push({pubkey:f,isSigner:!1,isWritable:!0}),P.push({pubkey:b,isSigner:!1,isWritable:!0});let h=Buffer.alloc(k.span);return k.encode({amountA:g,minAmountB:w,shareFeeRate:A!=null?A:new dt.default(0)},h),new re.TransactionInstruction({keys:P,programId:n,data:Buffer.from([...Se.sellExactIn,...h])})}function Zr(n,e,t,i,r,o,s,a,c,u,l,m,d,p,f,b,g,w,A,B){let k=G([y("amountB"),y("maxAmountA"),y("shareFeeRate")]),P=[{pubkey:e,isSigner:!0,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:c,isSigner:!1,isWritable:!0},{pubkey:u,isSigner:!1,isWritable:!0},{pubkey:l,isSigner:!1,isWritable:!1},{pubkey:m,isSigner:!1,isWritable:!1},{pubkey:d,isSigner:!1,isWritable:!1},{pubkey:p,isSigner:!1,isWritable:!1},{pubkey:ct(n).publicKey,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1}];B&&P.push({pubkey:B,isSigner:!1,isWritable:!0}),P.push({pubkey:re.SystemProgram.programId,isSigner:!1,isWritable:!1}),P.push({pubkey:f,isSigner:!1,isWritable:!0}),P.push({pubkey:b,isSigner:!1,isWritable:!0});let h=Buffer.alloc(k.span);return k.encode({amountB:g,maxAmountA:w,shareFeeRate:A!=null?A:new dt.default(0)},h),new re.TransactionInstruction({keys:P,programId:n,data:Buffer.from([...Se.sellExactOut,...h])})}function gi(n,e,t,i,r,o,s,a,c){let u=G([]),l=[{pubkey:e,isSigner:!0,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!1},{pubkey:c,isSigner:!1,isWritable:!1},{pubkey:re.SystemProgram.programId,isSigner:!1,isWritable:!1},{pubkey:Oe.ASSOCIATED_TOKEN_PROGRAM_ID,isSigner:!1,isWritable:!1}],m=Buffer.alloc(u.span);return u.encode({},m),new re.TransactionInstruction({keys:l,programId:n,data:Buffer.from([...Se.claimVestedToken,...m])})}function Pi(n,e,t,i,r,o){let s=G([y("shareAmount")]),a=[{pubkey:e,isSigner:!0,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:re.SystemProgram.programId,isSigner:!1,isWritable:!1}],c=Buffer.alloc(s.span);return s.encode({shareAmount:o},c),new re.TransactionInstruction({keys:a,programId:n,data:Buffer.from([...Se.createVestingAccount,...c])})}function wi(n,e,t,i,r,o,s,a,c){let u=[{pubkey:e,isSigner:!0,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:c,isSigner:!1,isWritable:!0},{pubkey:re.SystemProgram.programId,isSigner:!1,isWritable:!0},{pubkey:Oe.ASSOCIATED_TOKEN_PROGRAM_ID,isSigner:!1,isWritable:!0}];return new re.TransactionInstruction({keys:u,programId:n,data:Se.claimPlatformFee})}function jr(n,e,t,i,r,o,s,a,c,u,l,m,d){let p=G([y("platformScale"),y("creatorScale"),y("burnScale"),y("feeRate"),xe("name"),xe("web"),xe("img"),y("creatorFeeRate")]),f=[{pubkey:e,isSigner:!0,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:re.SystemProgram.programId,isSigner:!1,isWritable:!1},{pubkey:s,isSigner:!1,isWritable:!1}],b=Buffer.alloc(8*5+Buffer.from(l,"utf-8").length+Buffer.from(m,"utf-8").length+Buffer.from(d,"utf-8").length+4*3);return p.encode({platformScale:a.platformScale,creatorScale:a.creatorScale,burnScale:a.burnScale,feeRate:c,name:l,web:m,img:d,creatorFeeRate:u},b),new re.TransactionInstruction({keys:f,programId:n,data:Buffer.from([...Se.createPlatformConfig,...b])})}function Qr(n,e,t,i){let r=[{pubkey:e,isSigner:!0,isWritable:!1},{pubkey:t,isSigner:!1,isWritable:!0}],o;if(i.type==="updateClaimFeeWallet"){let s=G([V("index"),W("value")]);o=Buffer.alloc(s.span),s.encode({index:0,value:i.value},o)}else if(i.type==="updateLockNftWallet"){let s=G([V("index"),W("value")]);o=Buffer.alloc(s.span),s.encode({index:1,value:i.value},o)}else if(i.type==="migrateCpLockNftScale"){let s=G([V("index"),y("platformScale"),y("creatorScale"),y("burnScale")]);o=Buffer.alloc(s.span),s.encode(Y({index:2},i.value),o)}else if(i.type==="updateFeeRate"){let s=G([V("index"),y("value")]);o=Buffer.alloc(s.span),s.encode({index:3,value:i.value},o)}else if(i.type==="updateImg"||i.type==="updateName"||i.type==="updateWeb"){let s=G([V("index"),xe("value")]);o=Buffer.alloc(Buffer.from(i.value,"utf-8").length+4+1*1),i.type==="updateName"?s.encode({index:4,value:i.value},o):i.type==="updateWeb"?s.encode({index:5,value:i.value},o):i.type==="updateImg"&&s.encode({index:6,value:i.value},o)}else if(i.type==="updateCpConfigId"){r.push({pubkey:i.value,isSigner:!1,isWritable:!1});let s=G([V("index")]);o=Buffer.alloc(s.span),s.encode({index:7},o)}else if(i.type==="updateAll"){r.push({pubkey:i.value.cpConfigId,isSigner:!1,isWritable:!1});let s=G([V("index"),W("platformClaimFeeWallet"),W("platformLockNftWallet"),y("platformScale"),y("creatorScale"),y("burnScale"),y("feeRate"),xe("name"),xe("web"),xe("img"),W("transferFeeExtensionAuth"),y("creatorFeeRate")]);o=Buffer.alloc(1+32+32+8*4+4*3+Buffer.from(i.value.name,"utf-8").length+Buffer.from(i.value.web,"utf-8").length+Buffer.from(i.value.img,"utf-8").length+32+8),s.encode({index:8,platformClaimFeeWallet:i.value.platformClaimFeeWallet,platformLockNftWallet:i.value.platformLockNftWallet,platformScale:i.value.migrateCpLockNftScale.platformScale,creatorScale:i.value.migrateCpLockNftScale.creatorScale,burnScale:i.value.migrateCpLockNftScale.burnScale,feeRate:i.value.feeRate,name:i.value.name,web:i.value.web,img:i.value.img,transferFeeExtensionAuth:i.value.transferFeeExtensionAuth,creatorFeeRate:i.value.creatorFeeRate},o)}else throw Error("updateInfo params type error");return new re.TransactionInstruction({keys:r,programId:n,data:Buffer.from([...Se.updatePlaformConfig,...o])})}function Ai(n,e,t,i,r,o,s,a){let c=[{pubkey:t,isSigner:!0,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!1},{pubkey:e,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!1},{pubkey:a,isSigner:!1,isWritable:!1},{pubkey:re.SystemProgram.programId,isSigner:!1,isWritable:!1},{pubkey:Oe.ASSOCIATED_TOKEN_PROGRAM_ID,isSigner:!1,isWritable:!1}];return new re.TransactionInstruction({keys:c,programId:n,data:Se.claimPlatformFeeFromVault})}function Ti(n,e,t,i,r,o,s){let a=[{pubkey:e,isSigner:!0,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:o,isSigner:!1,isWritable:!1},{pubkey:s,isSigner:!1,isWritable:!1},{pubkey:re.SystemProgram.programId,isSigner:!1,isWritable:!1},{pubkey:Oe.ASSOCIATED_TOKEN_PROGRAM_ID,isSigner:!1,isWritable:!1}];return new re.TransactionInstruction({keys:a,programId:n,data:Se.claimCreatorFee})}var Up=new dt.default("18446744073709551615");var N=require("@solana/spl-token"),D=ne(require("bn.js")),Yt=require("@solana/web3.js");var Ce=ne(require("bn.js"));var Ut=ne(require("bn.js"));var tt=class{static getPoolInitPriceByPool({poolInfo:e,decimalA:t,decimalB:i}){throw Error()}static getPoolInitPriceByInit({a:e,b:t,decimalA:i,decimalB:r}){throw Error()}static getPoolPrice({poolInfo:e,decimalA:t,decimalB:i}){throw Error()}static getPoolEndPrice({supply:e,totalSell:t,totalLockedAmount:i,totalFundRaising:r,migrateFee:o,decimalA:s,decimalB:a}){throw Error()}static getPoolEndPriceReal({poolInfo:e,decimalA:t,decimalB:i}){throw Error()}static getInitParam({supply:e,totalFundRaising:t,totalSell:i,totalLockedAmount:r,migrateFee:o}){throw Error()}static buyExactIn({poolInfo:e,amount:t}){throw Error()}static buyExactOut({poolInfo:e,amount:t}){throw Error()}static sellExactIn({poolInfo:e,amount:t}){throw Error()}static sellExactOut({poolInfo:e,amount:t}){throw Error()}};var wn=class extends tt{static getPoolInitPriceByPool({poolInfo:e,decimalA:t,decimalB:i}){return new U(e.virtualB.toString()).div(e.virtualA.toString()).mul(10**(t-i))}static getPoolInitPriceByInit({a:e,b:t,decimalA:i,decimalB:r}){return new U(t.toString()).div(e.toString()).mul(10**(i-r))}static getPoolPrice({poolInfo:e,decimalA:t,decimalB:i}){return new U(e.virtualB.add(e.realB).toString()).div(e.virtualA.sub(e.realA).toString()).mul(10**(t-i))}static getPoolEndPrice({supply:e,totalSell:t,totalLockedAmount:i,totalFundRaising:r,migrateFee:o,decimalA:s,decimalB:a}){return new U(r.sub(o).toString()).div(e.sub(t).sub(i).toString()).mul(10**(s-a))}static getPoolEndPriceReal({poolInfo:e,decimalA:t,decimalB:i}){let r=e.totalSellA.sub(e.realA),o=e.totalFundRaisingB.sub(e.realB);return new U(e.virtualB.add(e.realB.add(o)).toString()).div(e.virtualA.sub(e.realA.add(r)).toString()).mul(10**(t-i))}static getInitParam({supply:e,totalFundRaising:t,totalSell:i,totalLockedAmount:r,migrateFee:o}){if(e.lte(i))throw Error("supply need gt total sell");let s=e.sub(i).sub(r);if(s.lte(new Ut.default(0)))throw Error("supplyMinusSellLocked <= 0");let a=t.sub(o);if(a.lte(new Ut.default(0)))throw Error("tfMinusMf <= 0");let c=a.mul(i).mul(i).div(s),u=a.mul(i).div(s).sub(t),l=c.div(u),m=t.mul(t).div(u);if(l.lt(new Ut.default(0))||m.lt(new Ut.default(0)))throw Error("invalid input 0");return{a:l,b:m,c:i}}static buyExactIn({poolInfo:e,amount:t}){return this.getAmountOut({amountIn:t,inputReserve:e.virtualB.add(e.realB),outputReserve:e.virtualA.sub(e.realA)})}static buyExactOut({poolInfo:e,amount:t}){return this.getAmountIn({amountOut:t,inputReserve:e.virtualB.add(e.realB),outputReserve:e.virtualA.sub(e.realA)})}static sellExactIn({poolInfo:e,amount:t}){return this.getAmountOut({amountIn:t,inputReserve:e.virtualA.sub(e.realA),outputReserve:e.virtualB.add(e.realB)})}static sellExactOut({poolInfo:e,amount:t}){return this.getAmountIn({amountOut:t,inputReserve:e.virtualA.sub(e.realA),outputReserve:e.virtualB.add(e.realB)})}static getAmountOut({amountIn:e,inputReserve:t,outputReserve:i}){let r=e.mul(i),o=t.add(e);return r.div(o)}static getAmountIn({amountOut:e,inputReserve:t,outputReserve:i}){let r=t.mul(e),o=i.sub(e);return st(r,o)}};var Xt=ne(require("bn.js"));var An=class extends tt{static getPoolInitPriceByPool({poolInfo:e,decimalA:t,decimalB:i}){return new U(e.virtualB.toString()).div(e.virtualA.toString()).mul(10**(t-i))}static getPoolInitPriceByInit({a:e,b:t,decimalA:i,decimalB:r}){return new U(t.toString()).div(e.toString()).mul(10**(i-r))}static getPoolPrice({poolInfo:e,decimalA:t,decimalB:i}){return new U(e.virtualB.toString()).div(e.virtualA.toString()).mul(10**(t-i))}static getPoolEndPrice({supply:e,totalSell:t,totalLockedAmount:i,totalFundRaising:r,migrateFee:o,decimalA:s,decimalB:a}){return new U(r.sub(o).toString()).div(e.sub(t).sub(i).toString()).mul(10**(s-a))}static getPoolEndPriceReal({poolInfo:e,decimalA:t,decimalB:i}){let r=e.totalSellA.sub(e.realA),o=e.totalFundRaisingB.sub(e.realB);return new U(e.virtualB.add(e.realB).add(o).toString()).div(e.virtualA.sub(e.realA).add(r).toString()).mul(10**(t-i))}static getInitParam({supply:e,totalFundRaising:t,totalSell:i,totalLockedAmount:r,migrateFee:o}){let s=e.sub(r);if(s.lte(new Xt.default(0)))throw Error("invalid input 1");let a=new Xt.default(2).mul(t).sub(o),u=t.mul(s).div(a);if(u.lt(new Xt.default(0))||t.lt(new Xt.default(0)))throw Error("invalid input 0");return{a:u,b:t,c:u}}static buyExactIn({poolInfo:e,amount:t}){return this.getAmountOut({amountIn:t,initInput:e.virtualB,initOutput:e.virtualA})}static buyExactOut({poolInfo:e,amount:t}){return this.getAmountIn({amountOut:t,initInput:e.virtualB,initOutput:e.virtualA})}static sellExactIn({poolInfo:e,amount:t}){return this.getAmountOut({amountIn:t,initInput:e.virtualA,initOutput:e.virtualB})}static sellExactOut({poolInfo:e,amount:t}){return this.getAmountIn({amountOut:t,initInput:e.virtualA,initOutput:e.virtualB})}static getAmountOut({amountIn:e,initInput:t,initOutput:i}){return i.mul(e).div(t)}static getAmountIn({amountOut:e,initInput:t,initOutput:i}){let r=t.mul(e);return st(r,i)}};var ke=ne(require("bn.js"));var ki=ne(require("bn.js"));var zt=class{static _multipler(e){return new U(10).pow(e)}static getPrice({priceX64:e,decimalA:t,decimalB:i}){return new U(e.toString()).div(this._Q64).mul(this._multipler(t)).div(this._multipler(i))}static getPriceX64({price:e,decimalA:t,decimalB:i}){let r=e.mul(this._multipler(i)).div(this._multipler(t));return new ki.default(r.mul(this._Q64).toFixed(0))}};zt._Q64=new U(new ki.default(1).shln(64).toString());var Tn=class extends tt{static getPoolInitPriceByPool({poolInfo:e,decimalA:t,decimalB:i}){return new U(0)}static getPoolInitPriceByInit({a:e,b:t,decimalA:i,decimalB:r}){return new U(0)}static getPoolPrice({poolInfo:e,decimalA:t,decimalB:i}){return new U(e.virtualA.mul(e.realA).toString()).div(zt._Q64).mul(10**(t-i))}static getPoolEndPrice({supply:e,totalSell:t,totalLockedAmount:i,totalFundRaising:r,migrateFee:o,decimalA:s,decimalB:a}){return new U(r.sub(o).toString()).div(e.sub(t).sub(i).toString()).mul(10**(s-a))}static getPoolEndPriceReal({poolInfo:e,decimalA:t,decimalB:i}){let r=e.totalSellA.sub(e.realA),o=e.totalFundRaisingB.sub(e.realB);return new U(e.virtualB.add(e.realB).add(o).toString()).div(e.virtualA.sub(e.realA).add(r).toString()).mul(10**(t-i))}static getInitParam({supply:e,totalFundRaising:t,totalSell:i,totalLockedAmount:r,migrateFee:o}){let s=e.sub(r);if(s.lte(new ke.default(0)))throw Error("supplyMinusLocked need gt 0");let a=t.mul(new ke.default(3)).sub(o),u=t.mul(new ke.default(2)).mul(s).div(a),l=u.mul(u),m=t.mul(new ke.default(2)).mul(Ve).div(l);if(!m.gt(new ke.default(0)))throw Error("a need gt 0");if(!oi.gt(m))throw Error("a need lt u64 max");if(m.lt(new ke.default(0))||u.lt(new ke.default(0)))throw Error("invalid input 0");return{a:m,b:new ke.default(0),c:u}}static buyExactIn({poolInfo:e,amount:t}){let i=e.realB.add(t),r=new ke.default(2).mul(i).mul(Ve).div(e.virtualA);return new ke.default(new U(r.toString()).sqrt().toFixed(0)).sub(e.realA)}static buyExactOut({poolInfo:e,amount:t}){let i=e.realA.add(t),r=i.mul(i);return st(e.virtualA.mul(r),new ke.default(2).mul(Ve)).sub(e.realB)}static sellExactIn({poolInfo:e,amount:t}){let i=e.realA.sub(t),r=i.mul(i),o=st(e.virtualA.mul(r),new ke.default(2).mul(Ve));return e.realB.sub(o)}static sellExactOut({poolInfo:e,amount:t}){let i=e.realB.sub(t),r=new ke.default(2).mul(i).mul(Ve).div(e.virtualA),o=new ke.default(new U(r.toString()).sqrt().toFixed(0));return e.realA.sub(o)}};var Ne=class{static getPoolCurvePointByPoolInfo({curveType:e,pointCount:t,poolInfo:i}){return this.getPoolCurvePointByInit({curveType:e,pointCount:t,supply:i.supply,totalFundRaising:i.totalFundRaisingB,totalSell:i.totalSellA,totalLockedAmount:i.vestingSchedule.totalLockedAmount,migrateFee:i.migrateFee,decimalA:i.mintDecimalsA,decimalB:i.mintDecimalsB})}static getPoolCurvePointByInit({curveType:e,pointCount:t,supply:i,totalFundRaising:r,totalSell:o,totalLockedAmount:s,migrateFee:a,decimalA:c,decimalB:u}){if(t<3)throw Error("point count < 3");let l=this.getCurve(e),m=l.getInitParam({supply:i,totalFundRaising:r,totalSell:o,totalLockedAmount:s,migrateFee:a}),d=l.getPoolInitPriceByInit($(Y({},m),{decimalA:c,decimalB:u})),p=r.div(new Ce.default(t-1)),f=new Ce.default(0),b=[{price:d,totalSellSupply:0}],{a:g,b:w}=m,A=f,B=f;for(let k=1;k<t;k++){let P=k!==t-1?p:r.sub(B),h=this.buyExactIn({poolInfo:{virtualA:g,virtualB:w,realA:A,realB:B,totalFundRaisingB:r,totalSellA:o},amountB:P,protocolFeeRate:f,platformFeeRate:f,curveType:e,shareFeeRate:f,creatorFeeRate:f,transferFeeConfigA:void 0,slot:0});A=A.add(h.amountA.amount),B=B.add(h.amountB);let C=this.getPrice({poolInfo:{virtualA:g,virtualB:w,realA:A,realB:B},decimalA:c,decimalB:u,curveType:e});b.push({price:C,totalSellSupply:new U(A.toString()).div(10**c).toNumber()})}return b}static getPoolInitPriceByPool({poolInfo:e,decimalA:t,decimalB:i,curveType:r}){return this.getCurve(r).getPoolInitPriceByPool({poolInfo:e,decimalA:t,decimalB:i})}static getPoolInitPriceByInit({a:e,b:t,decimalA:i,decimalB:r,curveType:o}){return this.getCurve(o).getPoolInitPriceByInit({a:e,b:t,decimalA:i,decimalB:r})}static getPrice({poolInfo:e,curveType:t,decimalA:i,decimalB:r}){return this.getCurve(t).getPoolPrice({poolInfo:e,decimalA:i,decimalB:r})}static getEndPrice({poolInfo:e,curveType:t,decimalA:i,decimalB:r}){return this.getCurve(t).getPoolPrice({poolInfo:e,decimalA:i,decimalB:r})}static getPoolEndPriceReal({poolInfo:e,curveType:t,decimalA:i,decimalB:r}){return this.getCurve(t).getPoolEndPriceReal({poolInfo:e,decimalA:i,decimalB:r})}static checkParam({supply:e,totalFundRaising:t,totalSell:i,totalLockedAmount:r,decimals:o,config:s,migrateType:a}){if(Number(o)!==6)throw Error("decimals = 6");if(e.mul(s.maxLockRate).div(at).lt(r))throw Error("total lock amount gte max lock amount");if(e.lt(s.minSupplyA.mul(new Ce.default(10**o))))throw Error("supply lt min supply");let u=e.mul(s.minSellRateA).div(at);if(i.lt(u))throw Error("invalid input");if(t.lt(s.minFundRaisingB))throw Error("total fund raising lt min fund raising");let l=e.sub(i).sub(r),m=e.mul(s.minMigrateRateA).div(at);if(l.lt(m))throw Error("migrate lt min migrate amoount");let d=e.sub(i).sub(r),p=new Ce.default(new U(d.mul(t).toString()).sqrt().toFixed(0));if(a==="amm"){let f=new Ce.default(10).pow(new Ce.default(o));if(p.lte(f))throw Error("check migrate lp error")}else if(a==="cpmm"){let f=new Ce.default(100);if(p.lte(f))throw Error("check migrate lp error")}else throw Error("migrate type error")}static buyExactIn({poolInfo:e,amountB:t,protocolFeeRate:i,platformFeeRate:r,curveType:o,shareFeeRate:s,creatorFeeRate:a,transferFeeConfigA:c,slot:u}){let l=this.totalFeeRate({protocolFeeRate:i,platformFeeRate:r,shareFeeRate:s,creatorFeeRate:a}),m=this.calculateFee({amount:t,feeRate:l}),d=t.sub(m),p=this.getCurve(o),f=p.buyExactIn({poolInfo:e,amount:d}),b=e.totalSellA.sub(e.realA),g,w,A;if(f.gt(b)){g=b;let k=p.buyExactOut({poolInfo:e,amount:g});w=this.calculatePreFee({postFeeAmount:k,feeRate:l}),A=w.sub(k)}else g=f,w=t,A=m;let B=this.splitFee({totalFee:A,protocolFeeRate:i,platformFeeRate:r,shareFeeRate:s,creatorFeeRate:a});return{amountA:Xn(g,c,u),amountB:w,splitFee:B}}static buyExactOut({poolInfo:e,amountA:t,protocolFeeRate:i,platformFeeRate:r,curveType:o,shareFeeRate:s,creatorFeeRate:a,transferFeeConfigA:c,slot:u}){let l=e.totalSellA.sub(e.realA),m=zn(t,c,u),d=m.fee?m.amount.add(m.fee):m.amount;t.gt(l)&&(d=l);let f=this.getCurve(o).buyExactOut({poolInfo:e,amount:d}),b=this.totalFeeRate({protocolFeeRate:i,platformFeeRate:r,shareFeeRate:s,creatorFeeRate:a}),g=this.calculatePreFee({postFeeAmount:f,feeRate:b}),w=g.sub(f),A=this.splitFee({totalFee:w,protocolFeeRate:i,platformFeeRate:r,shareFeeRate:s,creatorFeeRate:a});return{amountA:m,amountB:g,splitFee:A}}static sellExactIn({poolInfo:e,amountA:t,protocolFeeRate:i,platformFeeRate:r,curveType:o,shareFeeRate:s,creatorFeeRate:a,transferFeeConfigA:c,slot:u}){let l=this.getCurve(o),m=Xn(t,c,u),d=m.fee?m.amount.sub(m.fee):m.amount,p=l.sellExactIn({poolInfo:e,amount:d}),f=this.calculateFee({amount:p,feeRate:this.totalFeeRate({protocolFeeRate:i,platformFeeRate:r,shareFeeRate:s,creatorFeeRate:a})}),b=this.splitFee({totalFee:f,protocolFeeRate:i,platformFeeRate:r,shareFeeRate:s,creatorFeeRate:a});return{amountA:m,amountB:p.sub(f),splitFee:b}}static sellExactOut({poolInfo:e,amountB:t,protocolFeeRate:i,platformFeeRate:r,curveType:o,shareFeeRate:s,creatorFeeRate:a,transferFeeConfigA:c,slot:u}){let l=this.totalFeeRate({protocolFeeRate:i,platformFeeRate:r,shareFeeRate:s,creatorFeeRate:a}),m=this.calculatePreFee({postFeeAmount:t,feeRate:l});if(e.realB.lt(m))throw Error("Insufficient liquidity");let d=m.sub(t),f=Ne.getCurve(o).sellExactOut({poolInfo:e,amount:m});if(f.gt(e.realA))throw Error();let b=this.splitFee({totalFee:d,protocolFeeRate:i,platformFeeRate:r,shareFeeRate:s,creatorFeeRate:a});return{amountA:zn(f,c,u),amountB:t,splitFee:b}}static splitFee({totalFee:e,protocolFeeRate:t,platformFeeRate:i,shareFeeRate:r,creatorFeeRate:o}){let s=this.totalFeeRate({protocolFeeRate:t,platformFeeRate:i,shareFeeRate:r,creatorFeeRate:o}),a=s.isZero()?new Ce.default(0):e.mul(i).div(s),c=s.isZero()?new Ce.default(0):e.mul(r).div(s),u=s.isZero()?new Ce.default(0):e.mul(o).div(s),l=e.sub(a).sub(c).sub(u);return{platformFee:a,shareFee:c,protocolFee:l,creatorFee:u}}static calculateFee({amount:e,feeRate:t}){return cr(e,t,at)}static calculatePreFee({postFeeAmount:e,feeRate:t}){if(t.isZero())return e;let i=e.mul(at),r=at.sub(t);return i.add(r).sub(new Ce.default(1)).div(r)}static totalFeeRate({protocolFeeRate:e,platformFeeRate:t,shareFeeRate:i,creatorFeeRate:r}){if(e.add(t).add(i).add(r).gt(new Ce.default(1e6)))throw Error("total fee rate gt 1_000_000");return e.add(t).add(i).add(r)}static getCurve(e){switch(e){case 0:return wn;case 1:return An;case 2:return Tn}throw Error("find curve error")}};var Ht={initPriceX64:new D.default("515752397214619"),supply:new D.default(1e15),totalSellA:new D.default(7931e11),totalFundRaisingB:new D.default(85e9),totalFundRaisingBUSD:new D.default(125e8),totalLockedAmount:new D.default("0"),cliffPeriod:new D.default("0"),unlockPeriod:new D.default("0"),decimals:6,virtualA:new D.default("1073471847374405"),virtualB:new D.default("30050573465"),realA:new D.default(0),realB:new D.default(0),protocolFee:new D.default(0),platformId:new Yt.PublicKey("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),vestingSchedule:{totalLockedAmount:new D.default(0),cliffPeriod:new D.default(0),unlockPeriod:new D.default(0),startTime:new D.default(0),totalAllocatedShare:new D.default(0)}},nt=new D.default(1e4),ia=new Set(["USDCoctVLVnvTXBEuP9s8hntucdJokbo17RwHuNXemT","USD1ttGY1N17NEEHLmELoaybftRBUSErhqYiQzvEmuB"]),kn=class extends Tt{constructor(e){super(e)}async createLaunchpad(M){var _=M,{programId:e=fe,authProgramId:t,platformId:i=Ht.platformId,mintA:r,decimals:o=6,mintBDecimals:s=9,name:a,symbol:c,uri:u,migrateType:l,configId:m,configInfo:d,platformFeeRate:p,txVersion:f,computeBudgetConfig:b,txTipConfig:g,feePayer:w,buyAmount:A,minMintAAmount:B,slippage:k,associatedOnly:P=!0,checkCreateATAOwner:h=!1,extraSigners:C,token2022:I,transferFeeExtensionParams:R,creatorFeeOn:F=0}=_,S=it(_,["programId","authProgramId","platformId","mintA","decimals","mintBDecimals","name","symbol","uri","migrateType","configId","configInfo","platformFeeRate","txVersion","computeBudgetConfig","txTipConfig","feePayer","buyAmount","minMintAAmount","slippage","associatedOnly","checkCreateATAOwner","extraSigners","token2022","transferFeeExtensionParams","creatorFeeOn"]);var Bi,xi,Ii,Si,Ci,Ki,Ni,Ri,Li,Fi,Mi;let z=this.createTxBuilder(w);t=t!=null?t:_e(e).publicKey,I=!!R,I&&(l="cpmm");let x=d;if(!x&&m){let Ke=await this.scope.connection.getAccountInfo(m);Ke&&(x=et.decode(Ke.data))}x||this.logAndCreateError("config not found");let K=x.mintB,oe=x.curveType,{publicKey:te}=It(e,r,K),{publicKey:ce}=pi(e,te,r),{publicKey:J}=pi(e,te,K),{publicKey:le}=ui(r);this.logDebug(`create token: ${r.toBase58()}, mintB: ${K.toBase58()}, decimals A:${o}/B:${s}, config:${m.toBase58()}`),c.length>10&&this.logAndCreateError("Symbol length should shorter than 11"),u||this.logAndCreateError("uri should not empty");let me=(await this.scope.api.fetchLaunchConfigs()).find(Ke=>Ke.key.pubKey===m.toBase58()),j=(Bi=S==null?void 0:S.supply)!=null?Bi:new D.default(me.defaultParams.supplyInit),H=(xi=S==null?void 0:S.totalSellA)!=null?xi:new D.default(me.defaultParams.totalSellA),Ae=(Ii=S==null?void 0:S.totalFundRaisingB)!=null?Ii:new D.default(me.defaultParams.totalFundRaisingB),qe=(Si=S==null?void 0:S.totalLockedAmount)!=null?Si:new D.default(0),ue=p;if(!p){let Ke=await this.scope.connection.getAccountInfo(i);Ke||this.logAndCreateError("platform id not found:",i.toString()),ue=St.decode(Ke.data).feeRate}let hi=Ne.getCurve(x.curveType).getInitParam({supply:j,totalFundRaising:Ae,totalSell:H,totalLockedAmount:qe,migrateFee:x.migrateFee}),Zt;try{Zt=await this.scope.token.getTokenInfo(K)}catch{this.logDebug("can not get mintB info from getTokenInfo")}let Ge={epoch:new D.default(896),bump:254,status:0,mintDecimalsA:o,mintDecimalsB:(Ci=Zt==null?void 0:Zt.decimals)!=null?Ci:s,supply:j,totalSellA:H,mintA:new Yt.PublicKey(r),mintB:K,virtualA:hi.a,virtualB:hi.b,realA:Ht.realA,realB:Ht.realB,migrateFee:x.migrateFee,migrateType:l==="amm"?0:1,protocolFee:Ht.protocolFee,platformFee:ue,platformId:i,configId:m,vaultA:ce,vaultB:J,creator:this.scope.ownerPubKey,totalFundRaisingB:Ae,vestingSchedule:{totalLockedAmount:qe,cliffPeriod:new D.default(0),unlockPeriod:new D.default(0),startTime:new D.default(0),totalAllocatedShare:new D.default(0)},mintProgramFlag:I?1:0,cpmmCreatorFeeOn:F},Jr=Ne.getCurve(x.curveType),{c:$r}=Jr.getInitParam({supply:Ge.supply,totalFundRaising:Ge.totalFundRaisingB,totalLockedAmount:qe,totalSell:x.curveType===0?Ge.totalSellA:new D.default(0),migrateFee:x.migrateFee});try{Ne.checkParam({supply:Ge.supply,totalFundRaising:Ge.totalFundRaisingB,totalSell:$r,totalLockedAmount:qe,decimals:Ge.mintDecimalsA,config:x,migrateType:l}),this.logDebug("check init params success")}catch(Ke){this.logAndCreateError(`check create mint params failed, ${Ke.message}`)}z.addInstruction({instructions:[I?Xr(e,w!=null?w:this.scope.ownerPubKey,this.scope.ownerPubKey,m,i,t,te,r,K,ce,J,o,a,c,u||"https://",{type:oe===0?"ConstantCurve":oe===1?"FixedCurve":oe===2?"LinearCurve":"ConstantCurve",totalSellA:H,migrateType:l,supply:j,totalFundRaisingB:Ae},qe,(Ki=S==null?void 0:S.cliffPeriod)!=null?Ki:new D.default(0),(Ni=S==null?void 0:S.unlockPeriod)!=null?Ni:new D.default(0),F,R):Ur(e,w!=null?w:this.scope.ownerPubKey,this.scope.ownerPubKey,m,i,t,te,r,K,ce,J,le,o,a,c,u||"https://",{type:oe===0?"ConstantCurve":oe===1?"FixedCurve":oe===2?"LinearCurve":"ConstantCurve",totalSellA:H,migrateType:l,supply:j,totalFundRaisingB:Ae},qe,(Ri=S==null?void 0:S.cliffPeriod)!=null?Ri:new D.default(0),(Li=S==null?void 0:S.unlockPeriod)!=null?Li:new D.default(0),F)]});let hn=I?await this.scope.connection.getEpochInfo():void 0,jt=R?{epoch:BigInt((hn==null?void 0:hn.epoch)||0),maximumFee:BigInt((Fi=R==null?void 0:R.maxinumFee.toString())!=null?Fi:0),transferFeeBasisPoints:(Mi=R==null?void 0:R.transferFeeBasePoints)!=null?Mi:0}:void 0,Bn={amountA:{amount:new D.default(0),fee:void 0,expirationTime:void 0},amountB:new D.default(0),splitFee:{platformFee:new D.default(0),shareFee:new D.default(0),protocolFee:new D.default(0),creatorFee:new D.default(0)}},xn;if(C!=null&&C.length&&z.addInstruction({signers:C}),!S.createOnly){let{builder:Ke,extInfo:eo}=await this.buyToken({programId:e,authProgramId:t,mintAProgram:I?N.TOKEN_2022_PROGRAM_ID:void 0,mintA:r,mintB:K,poolInfo:Ge,buyAmount:A,minMintAAmount:B,shareFeeRate:S.shareFeeRate,shareFeeReceiver:S.shareFeeReceiver,configInfo:x,platformFeeRate:ue,slippage:k,associatedOnly:P,checkCreateATAOwner:h,skipCheckMintA:!jt,transferFeeConfigA:jt?{transferFeeConfigAuthority:t,withdrawWithheldAuthority:t,withheldAmount:BigInt(0),olderTransferFee:jt,newerTransferFee:jt}:void 0,fromCreate:!0});z.addInstruction(Y({},Ke.AllTxData)),Bn=Y({},eo),xn=(this.scope.cluster==="devnet"||f===1)&&S.shareFeeReceiver?[Ke.allInstructions[0]]:void 0}return z.addTipInstruction(g),f===0?z.sizeCheckBuildV0({computeBudgetConfig:b,swapInfo:Bn,splitIns:xn,address:$(Y({},Ge),{poolId:te})}):z.sizeCheckBuild({computeBudgetConfig:b,swapInfo:Bn,splitIns:xn,address:$(Y({},Ge),{poolId:te})})}async buyToken({programId:e=fe,authProgramId:t,mintA:i,mintAProgram:r=N.TOKEN_PROGRAM_ID,mintB:o=N.NATIVE_MINT,poolInfo:s,configInfo:a,platformFeeRate:c,txVersion:u,computeBudgetConfig:l,txTipConfig:m,feePayer:d,buyAmount:p,minMintAAmount:f,slippage:b,shareFeeRate:g=new D.default(0),shareFeeReceiver:w,associatedOnly:A=!0,checkCreateATAOwner:B=!1,fromCreate:k=!1,transferFeeConfigA:P,skipCheckMintA:h=!1}){var H,Ae,qe;p.lte(new D.default(0))&&this.logAndCreateError("buy amount should gt 0:",p.toString());let C=this.createTxBuilder(d),{publicKey:I}=It(e,i,o);t=t!=null?t:_e(e).publicKey;let R=P;if(!h)if(R)r=N.TOKEN_2022_PROGRAM_ID;else{let ue=await this.scope.connection.getAccountInfo(i);if(ue&&ue.owner.equals(N.TOKEN_2022_PROGRAM_ID)){r=ue.owner;let pt=(0,N.unpackMint)(i,ue,r);R=(0,N.getTransferFeeConfig)(pt)||void 0}}let F=this.scope.account.getAssociatedTokenAccount(i,r),S=o.equals(N.NATIVE_MINT),M=k&&S,_=M?this.scope.account.getAssociatedTokenAccount(o,N.TOKEN_PROGRAM_ID):null,z=S;if(C.addInstruction({instructions:[(0,N.createAssociatedTokenAccountIdempotentInstruction)(this.scope.ownerPubKey,F,this.scope.ownerPubKey,i,r),...M?[(0,N.createAssociatedTokenAccountIdempotentInstruction)(this.scope.ownerPubKey,_,this.scope.ownerPubKey,o,N.TOKEN_PROGRAM_ID),Yt.SystemProgram.transfer({fromPubkey:this.scope.ownerPubKey,toPubkey:_,lamports:BigInt(p.toString())}),(0,N.createSyncNativeInstruction)(_)]:[]]}),!M){let{account:ue,instructionParams:pt}=await this.scope.account.getOrCreateTokenAccount({mint:o,owner:this.scope.ownerPubKey,createInfo:z?{payer:this.scope.ownerPubKey,amount:p}:void 0,skipCloseAccount:!z,notUseTokenAccount:z,associatedOnly:z?!1:A,checkCreateATAOwner:B});ue&&(_=ue),C.addInstruction(pt||{})}_||this.logAndCreateError(`cannot found mintB(${o.toBase58()}) buy token accounts`,"tokenAccounts",this.scope.account.tokenAccounts);let x=s;if(!x){let ue=await this.scope.connection.getAccountInfo(I,{commitment:"processed"});ue||this.logAndCreateError("cannot found pool:",I.toBase58()),x=Ee.decode(ue.data)}let K=a,oe=await Xe(this.scope.connection,[K?void 0:x.configId,x.platformId].filter(Boolean).map(ue=>({pubkey:ue})));if(!K){let ue=oe.find(pt=>pt.pubkey.equals(x.configId));(!ue||!ue.accountInfo)&&this.logAndCreateError("config not found: ",x.configId.toBase58()),K=et.decode(ue.accountInfo.data)}let te=oe.find(ue=>ue.pubkey.equals(x.platformId));(!te||!te.accountInfo)&&this.logAndCreateError("platform info not found: ",x.configId.toBase58());let ce=St.decode(te.accountInfo.data);c=c||ce.feeRate;let J=Ne.buyExactIn({poolInfo:x,amountB:p,protocolFeeRate:K.tradeFeeRate,platformFeeRate:c,curveType:K.curveType,shareFeeRate:g,creatorFeeRate:ce.creatorFeeRate,transferFeeConfigA:R,slot:await this.scope.connection.getSlot()}),le=new U(J.amountA.amount.toString()).sub((Ae=(H=J.amountA.fee)==null?void 0:H.toString())!=null?Ae:0),pe=b?new U(nt.sub(b).toNumber()/nt.toNumber()).clampedTo(0,1):new U(1),me=f!=null?f:b?new D.default(le.mul(pe).toFixed(0)):J.amountA.amount.sub((qe=J.amountA.fee)!=null?qe:new D.default(0));J.amountB.lt(p)&&console.log(`maximum ${i.toBase58()} amount can buy is ${J.amountA.toString()}, input ${o.toBase58()} amount: ${J.amountB.toString()}`);let j=w?Me(w,o,N.TOKEN_PROGRAM_ID).publicKey:void 0;return j&&C.addInstruction({instructions:[(0,N.createAssociatedTokenAccountIdempotentInstruction)(this.scope.ownerPubKey,j,w,o)]}),C.addInstruction({instructions:[zr(e,this.scope.ownerPubKey,t,x.configId,x.platformId,I,F,_,x.vaultA,x.vaultB,i,o,r,N.TOKEN_PROGRAM_ID,lt(e,x.platformId,o).publicKey,mt(e,x.creator,o).publicKey,J.amountB.lt(p)?J.amountB:p,me,g,j)]}),C.addCustomComputeBudget(l),C.addTipInstruction(m),C.versionBuild({txVersion:u,extInfo:$(Y({},J),{decimalOutAmount:le,minDecimalOutAmount:new U(me.toString())})})}async buyTokenExactOut({programId:e=fe,authProgramId:t,mintA:i,mintAProgram:r=N.TOKEN_PROGRAM_ID,mintB:o=N.NATIVE_MINT,poolInfo:s,configInfo:a,transferFeeConfigA:c,platformFeeRate:u,txVersion:l,computeBudgetConfig:m,txTipConfig:d,feePayer:p,maxBuyAmount:f,outAmount:b,slippage:g,shareFeeRate:w=new D.default(0),shareFeeReceiver:A,associatedOnly:B=!0,checkCreateATAOwner:k=!1,skipCheckMintA:P=!1}){b.lte(new D.default(0))&&this.logAndCreateError("out amount should gt 0:",b.toString());let h=this.createTxBuilder(p),{publicKey:C}=It(e,i,o);t=t!=null?t:_e(e).publicKey;let I=s;if(!I){let j=await this.scope.connection.getAccountInfo(C,{commitment:"processed"});j||this.logAndCreateError("cannot found pool:",C.toBase58()),I=Ee.decode(j.data)}let R=a,F=await Xe(this.scope.connection,[R?void 0:I.configId,I.platformId].filter(Boolean).map(j=>({pubkey:j})));if(!R){let j=F.find(H=>H.pubkey.equals(I.configId));(!j||!j.accountInfo)&&this.logAndCreateError("config not found: ",I.configId.toBase58()),R=et.decode(j.accountInfo.data)}let S=F.find(j=>j.pubkey.equals(I.platformId));(!S||!S.accountInfo)&&this.logAndCreateError("platform info not found: ",I.configId.toBase58());let M=St.decode(S.accountInfo.data);u=u||M.feeRate;let _=c;if(!P)if(_)r=N.TOKEN_2022_PROGRAM_ID;else{let j=await this.scope.connection.getAccountInfo(i);if(j&&j.owner.equals(N.TOKEN_2022_PROGRAM_ID)){r=j.owner;let H=(0,N.unpackMint)(i,j,r);_=(0,N.getTransferFeeConfig)(H)||void 0}}let z=Ne.buyExactOut({poolInfo:I,amountA:b,protocolFeeRate:R.tradeFeeRate,platformFeeRate:u,curveType:R.curveType,shareFeeRate:w,creatorFeeRate:M.creatorFeeRate,transferFeeConfigA:_,slot:await this.scope.connection.getSlot()}),x=new U(z.amountB.toString()),K=g?new U(nt.add(g).toNumber()/nt.toNumber()).clampedTo(0,Number.MIN_SAFE_INTEGER):new U(1),oe=(f!=null?f:g)?new D.default(x.mul(K).toFixed(0)):z.amountB,te=this.scope.account.getAssociatedTokenAccount(i,r),ce=null,J=o.equals(N.NATIVE_MINT);h.addInstruction({instructions:[(0,N.createAssociatedTokenAccountIdempotentInstruction)(this.scope.ownerPubKey,te,this.scope.ownerPubKey,i,r)]});let{account:le,instructionParams:pe}=await this.scope.account.getOrCreateTokenAccount({mint:o,owner:this.scope.ownerPubKey,createInfo:J?{payer:this.scope.ownerPubKey,amount:z.amountB}:void 0,skipCloseAccount:!J,notUseTokenAccount:J,associatedOnly:J?!1:B,checkCreateATAOwner:k});le&&(ce=le),h.addInstruction(pe||{}),ce===void 0&&this.logAndCreateError(`cannot found mintB(${o.toBase58()}) token accounts`,"tokenAccounts",this.scope.account.tokenAccounts);let me=A?Me(A,o,N.TOKEN_PROGRAM_ID).publicKey:void 0;return me&&h.addInstruction({instructions:[(0,N.createAssociatedTokenAccountIdempotentInstruction)(this.scope.ownerPubKey,me,A,o)]}),h.addInstruction({instructions:[Hr(e,this.scope.ownerPubKey,t,I.configId,I.platformId,C,te,ce,I.vaultA,I.vaultB,i,o,r,N.TOKEN_PROGRAM_ID,lt(e,I.platformId,o).publicKey,mt(e,I.creator,o).publicKey,b,oe,w,me)]}),h.addCustomComputeBudget(m),h.addTipInstruction(d),h.versionBuild({txVersion:l,extInfo:{maxSpentAmount:oe,outAmount:b}})}async sellToken({programId:e=fe,authProgramId:t,mintAProgram:i=N.TOKEN_PROGRAM_ID,mintA:r,mintB:o=N.NATIVE_MINT,poolInfo:s,configInfo:a,platformFeeRate:c,txVersion:u,computeBudgetConfig:l,txTipConfig:m,feePayer:d,sellAmount:p,minAmountB:f,slippage:b,shareFeeRate:g=new D.default(0),shareFeeReceiver:w,associatedOnly:A=!0,checkCreateATAOwner:B=!1,skipCheckMintA:k=!1}){t=t!=null?t:_e(e).publicKey;let P=this.createTxBuilder(d);p.lte(new D.default(0))&&this.logAndCreateError("sell amount should be gt 0");let{publicKey:h}=It(e,r,o),C;if(!k){let H=await this.scope.connection.getAccountInfo(r);if(H&&H.owner.equals(N.TOKEN_2022_PROGRAM_ID)){i=H.owner;let Ae=(0,N.unpackMint)(r,H,i);C=(0,N.getTransferFeeConfig)(Ae)||void 0}}let I=null,R=null,F=o.equals(N.NATIVE_MINT),{account:S,instructionParams:M}=await this.scope.account.getOrCreateTokenAccount({tokenProgram:i,mint:r,owner:this.scope.ownerPubKey,createInfo:void 0,skipCloseAccount:!0,notUseTokenAccount:!1,associatedOnly:A,checkCreateATAOwner:B});S&&(I=S),P.addInstruction(M||{}),I===void 0&&this.logAndCreateError("cannot found mintA token accounts","tokenAccounts",this.scope.account.tokenAccounts);let{account:_,instructionParams:z}=await this.scope.account.getOrCreateTokenAccount({mint:o,owner:this.scope.ownerPubKey,createInfo:F?{payer:this.scope.ownerPubKey,amount:0}:void 0,skipCloseAccount:!F,notUseTokenAccount:F,associatedOnly:F?!1:A,checkCreateATAOwner:B});_&&(R=_),P.addInstruction(z||{}),R===void 0&&this.logAndCreateError("cannot found mintB token accounts","tokenAccounts",this.scope.account.tokenAccounts);let x=s;if(!x){let H=await this.scope.connection.getAccountInfo(h,{commitment:"processed"});H||this.logAndCreateError("cannot found pool",h.toBase58()),x=Ee.decode(H.data)}let K=a,oe=await Xe(this.scope.connection,[K?void 0:x.configId,x.platformId].filter(Boolean).map(H=>({pubkey:H})));if(!K){let H=oe.find(Ae=>Ae.pubkey.equals(x.configId));(!H||!H.accountInfo)&&this.logAndCreateError("config not found: ",x.configId.toBase58()),K=et.decode(H.accountInfo.data)}let te=oe.find(H=>H.pubkey.equals(x.platformId));(!te||!te.accountInfo)&&this.logAndCreateError("platform info not found: ",x.configId.toBase58());let ce=St.decode(te.accountInfo.data);c=c||ce.feeRate;let J=Ne.sellExactIn({poolInfo:x,amountA:p,protocolFeeRate:K.tradeFeeRate,platformFeeRate:c,curveType:K.curveType,shareFeeRate:g,creatorFeeRate:ce.creatorFeeRate,transferFeeConfigA:C,slot:await this.scope.connection.getSlot()}),le=new U(J.amountB.toString()),pe=b?new U(nt.sub(b).toNumber()/nt.toNumber()).clampedTo(0,1):new U(1),me=f!=null?f:b?new D.default(le.mul(pe).toFixed(0)):J.amountB;me.lte(new D.default(0))&&this.logAndCreateError(`out ${o.toBase58()} amount should be gt 0`);let j=w?Me(w,o,N.TOKEN_PROGRAM_ID).publicKey:void 0;return j&&P.addInstruction({instructions:[(0,N.createAssociatedTokenAccountIdempotentInstruction)(this.scope.ownerPubKey,j,w,o)]}),P.addInstruction({instructions:[Yr(e,this.scope.ownerPubKey,t,x.configId,x.platformId,h,I,R,x.vaultA,x.vaultB,r,o,i,N.TOKEN_PROGRAM_ID,lt(e,x.platformId,o).publicKey,mt(e,x.creator,o).publicKey,J.amountA.amount.lt(p)?J.amountA.amount:p,me,g,j)]}),P.addCustomComputeBudget(l),P.addTipInstruction(m),P.versionBuild({txVersion:u,extInfo:{outAmount:me}})}async sellTokenExactOut({programId:e=fe,authProgramId:t,mintAProgram:i=N.TOKEN_PROGRAM_ID,mintA:r,mintB:o=N.NATIVE_MINT,poolInfo:s,configInfo:a,platformFeeRate:c,txVersion:u,computeBudgetConfig:l,txTipConfig:m,feePayer:d,inAmount:p,maxSellAmount:f,slippage:b,shareFeeRate:g=new D.default(0),shareFeeReceiver:w,associatedOnly:A=!0,checkCreateATAOwner:B=!1,skipCheckMintA:k=!1}){t=t!=null?t:_e(e).publicKey;let P=this.createTxBuilder(d);f!=null&&f.lte(new D.default(0))&&this.logAndCreateError("max sell amount should be gt 0");let{publicKey:h}=It(e,r,o),C;if(!k){let H=await this.scope.connection.getAccountInfo(r);if(H&&H.owner.equals(N.TOKEN_2022_PROGRAM_ID)){i=H.owner;let Ae=(0,N.unpackMint)(r,H,i);C=(0,N.getTransferFeeConfig)(Ae)||void 0}}let I=null,R=null,F=o.equals(N.NATIVE_MINT),{account:S,instructionParams:M}=await this.scope.account.getOrCreateTokenAccount({tokenProgram:i,mint:r,owner:this.scope.ownerPubKey,createInfo:void 0,skipCloseAccount:!0,notUseTokenAccount:!1,associatedOnly:A,checkCreateATAOwner:B});S&&(I=S),P.addInstruction(M||{}),I===void 0&&this.logAndCreateError("cannot found mintA token accounts","tokenAccounts",this.scope.account.tokenAccounts);let{account:_,instructionParams:z}=await this.scope.account.getOrCreateTokenAccount({mint:o,owner:this.scope.ownerPubKey,createInfo:F?{payer:this.scope.ownerPubKey,amount:0}:void 0,skipCloseAccount:!F,notUseTokenAccount:F,associatedOnly:F?!1:A,checkCreateATAOwner:B});_&&(R=_),P.addInstruction(z||{}),R===void 0&&this.logAndCreateError("cannot found mintB token accounts","tokenAccounts",this.scope.account.tokenAccounts);let x=s;if(!x){let H=await this.scope.connection.getAccountInfo(h,{commitment:"processed"});H||this.logAndCreateError("cannot found pool",h.toBase58()),x=Ee.decode(H.data)}let K=a,oe=await Xe(this.scope.connection,[K?void 0:x.configId,x.platformId].filter(Boolean).map(H=>({pubkey:H})));if(!K){let H=oe.find(Ae=>Ae.pubkey.equals(x.configId));(!H||!H.accountInfo)&&this.logAndCreateError("config not found: ",x.configId.toBase58()),K=et.decode(H.accountInfo.data)}let te=oe.find(H=>H.pubkey.equals(x.platformId));(!te||!te.accountInfo)&&this.logAndCreateError("platform info not found: ",x.configId.toBase58());let ce=St.decode(te.accountInfo.data);c=c||ce.feeRate;let J=Ne.sellExactOut({poolInfo:x,amountB:p,protocolFeeRate:K.tradeFeeRate,platformFeeRate:c,curveType:K.curveType,shareFeeRate:g,creatorFeeRate:ce.creatorFeeRate,transferFeeConfigA:C,slot:await this.scope.connection.getSlot()}),le=new U(J.amountA.amount.toString()),pe=b?new U(nt.add(b).toNumber()/nt.toNumber()).clampedTo(0,Number.MAX_SAFE_INTEGER):new U(1),me=(f!=null?f:b)?new D.default(le.mul(pe).toFixed(0)):J.amountA.amount,j=w?Me(w,o,N.TOKEN_PROGRAM_ID).publicKey:void 0;return j&&P.addInstruction({instructions:[(0,N.createAssociatedTokenAccountIdempotentInstruction)(this.scope.ownerPubKey,j,w,o)]}),P.addInstruction({instructions:[Zr(e,this.scope.ownerPubKey,t,x.configId,x.platformId,h,I,R,x.vaultA,x.vaultB,r,o,i,N.TOKEN_PROGRAM_ID,lt(e,x.platformId,o).publicKey,mt(e,x.creator,o).publicKey,p,me,g,j)]}),P.addCustomComputeBudget(l),P.addTipInstruction(m),P.versionBuild({txVersion:u,extInfo:{maxSellAmount:me}})}async createPlatformConfig({programId:e=fe,platformAdmin:t,platformClaimFeeWallet:i,platformLockNftWallet:r,cpConfigId:o,migrateCpLockNftScale:s,transferFeeExtensionAuth:a,creatorFeeRate:c,feeRate:u,name:l,web:m,img:d,txVersion:p,computeBudgetConfig:f,txTipConfig:b,feePayer:g}){let w=this.createTxBuilder(g),{publicKey:A}=fi(e,t);return w.addInstruction({instructions:[jr(e,t,i,r,A,o,a,s,u,c,l,m,d)]}),w.addCustomComputeBudget(f),w.addTipInstruction(b),w.versionBuild({txVersion:p,extInfo:{platformId:A}})}async updatePlatformConfig({programId:e=fe,platformAdmin:t,platformId:i,updateInfo:r,txVersion:o,computeBudgetConfig:s,txTipConfig:a,feePayer:c}){let u=this.createTxBuilder(c),l=i!=null?i:fi(e,t).publicKey;return u.addInstruction({instructions:[Qr(e,t,l,r)]}),u.addCustomComputeBudget(s),u.addTipInstruction(a),u.versionBuild({txVersion:o})}async claimPlatformFee({programId:e=fe,authProgramId:t,platformId:i,poolId:r,platformClaimFeeWallet:o,mintB:s,vaultB:a,mintBProgram:c=N.TOKEN_PROGRAM_ID,txVersion:u,computeBudgetConfig:l,txTipConfig:m,feePayer:d}){var w;let p=this.createTxBuilder(d);t=t!=null?t:_e(e).publicKey;let f=s,b=a;if(!f){let A=await this.scope.connection.getAccountInfo(r,{commitment:"processed"});A||this.logAndCreateError("cannot found pool:",r.toBase58());let B=Ee.decode(A.data),k=await this.scope.connection.getAccountInfo(B.configId,{commitment:"processed"});k||this.logAndCreateError("cannot found config:",B.configId.toBase58()),f=et.decode(k.data).mintB,b=b!=null?b:B.vaultB}(!f||!b)&&this.logAndCreateError("cannot found mint info, mintB: ",f.toBase58(),", vaultB: ",(w=b==null?void 0:b.toBase58())!=null?w:"");let g=Me(this.scope.ownerPubKey,f,N.TOKEN_PROGRAM_ID).publicKey;return p.addInstruction({instructions:[(0,N.createAssociatedTokenAccountIdempotentInstruction)(this.scope.ownerPubKey,g,this.scope.ownerPubKey,f)]}),p.addInstruction({instructions:[wi(e,o,t,r,i,b,g,f,c)]}),p.addCustomComputeBudget(l),p.addTipInstruction(m),p.versionBuild({txVersion:u})}async claimAllPlatformFee({programId:e=fe,authProgramId:t,platformId:i,platformClaimFeeWallet:r,txVersion:o,computeBudgetConfig:s,txTipConfig:a,feePayer:c}){let u=this.createTxBuilder(c);return t=t!=null?t:_e(e).publicKey,(await this.scope.connection.getProgramAccounts(e,{filters:[{dataSize:Ee.span},{memcmp:{offset:Ee.offsetOf("platformId"),bytes:i.toString()}}]})).forEach(m=>{let d=Ee.decode(m.account.data);if(d.platformFee.lte(new D.default(0)))return;let p=Me(this.scope.ownerPubKey,d.mintB,N.TOKEN_PROGRAM_ID).publicKey;u.addInstruction({instructions:[(0,N.createAssociatedTokenAccountIdempotentInstruction)(this.scope.ownerPubKey,p,this.scope.ownerPubKey,d.mintB)]}),u.addInstruction({instructions:[wi(e,r,t,m.pubkey,i,d.vaultB,p,d.mintB,N.TOKEN_PROGRAM_ID)]})}),u.addTipInstruction(a),o===0?u.sizeCheckBuildV0({computeBudgetConfig:s}):u.sizeCheckBuild({computeBudgetConfig:s})}async createVesting({programId:e=fe,poolId:t,beneficiary:i,shareAmount:r,txVersion:o,computeBudgetConfig:s,txTipConfig:a,feePayer:c}){let u=this.createTxBuilder(c),l=await this.getRpcPoolInfo({poolId:t});r.add(l.vestingSchedule.totalAllocatedShare).gt(l.vestingSchedule.totalLockedAmount)&&this.logAndCreateError("share amount exceed total locked amount");let m=Gt(e,t,i).publicKey;return u.addInstruction({instructions:[Pi(e,this.scope.ownerPubKey,i,t,m,r)]}),u.addCustomComputeBudget(s),u.addTipInstruction(a),u.versionBuild({txVersion:o})}async createMultipleVesting({programId:e=fe,poolId:t,beneficiaryList:i,txVersion:r,computeBudgetConfig:o,feePayer:s}){let a=this.createTxBuilder(s);i.length===0&&this.logAndCreateError("beneficiaryList is null");let c=await this.getRpcPoolInfo({poolId:t});return i.reduce((l,m)=>l.add(m.shareAmount),c.vestingSchedule.totalAllocatedShare).gt(c.vestingSchedule.totalLockedAmount)&&this.logAndCreateError("share amount exceed total locked amount"),i.forEach(l=>{let m=Gt(e,t,l.wallet).publicKey;a.addInstruction({instructions:[Pi(e,this.scope.ownerPubKey,l.wallet,t,m,l.shareAmount)]})}),r===0?a.sizeCheckBuildV0({computeBudgetConfig:o}):a.sizeCheckBuild({computeBudgetConfig:o})}async claimVesting({programId:e=fe,poolId:t,poolInfo:i,vestingRecord:r,txVersion:o,computeBudgetConfig:s,txTipConfig:a,feePayer:c}){let u=this.createTxBuilder(c),l=_e(e).publicKey,m=r||Gt(e,t,this.scope.ownerPubKey).publicKey,d=i;if(!d){let f=await this.scope.connection.getAccountInfo(t);f||this.logAndCreateError("pool not found"),d=Ee.decode(f.data)}let p=Me(this.scope.ownerPubKey,d.mintA,N.TOKEN_PROGRAM_ID).publicKey;return u.addInstruction({instructions:[(0,N.createAssociatedTokenAccountIdempotentInstruction)(this.scope.ownerPubKey,p,this.scope.ownerPubKey,d.mintA)]}),u.addInstruction({instructions:[gi(e,this.scope.ownerPubKey,l,t,m,p,d.vaultA,d.mintA,N.TOKEN_PROGRAM_ID)]}),u.addCustomComputeBudget(s),u.addTipInstruction(a),u.versionBuild({txVersion:o})}async claimMultiVesting({programId:e=fe,poolIdList:t,poolsInfo:i={},vestingRecords:r={},txVersion:o,computeBudgetConfig:s,feePayer:a}){let c=this.createTxBuilder(a),u=Y({},i),l=_e(e).publicKey,m=t.filter(d=>!u[d.toBase58()]);if(m.length){let d=await this.getRpcPoolsInfo({poolIdList:m});u=Y(Y({},u),d.poolInfoMap)}return t.forEach(d=>{let p=d.toBase58(),f=u[p];f||this.logAndCreateError(`pool info not found: ${p}`);let b=r[p]||Gt(e,d,this.scope.ownerPubKey).publicKey,g=Me(this.scope.ownerPubKey,f.mintA,N.TOKEN_PROGRAM_ID).publicKey;c.addInstruction({instructions:[(0,N.createAssociatedTokenAccountIdempotentInstruction)(this.scope.ownerPubKey,g,this.scope.ownerPubKey,f.mintA)]}),c.addInstruction({instructions:[gi(e,this.scope.ownerPubKey,l,d,b,g,f.vaultA,f.mintA,N.TOKEN_PROGRAM_ID)]})}),o===0?c.sizeCheckBuildV0({computeBudgetConfig:s}):c.sizeCheckBuild({computeBudgetConfig:s})}async claimVaultPlatformFee({programId:e=fe,platformId:t,mintB:i,mintBProgram:r=N.TOKEN_PROGRAM_ID,claimFeeWallet:o,txVersion:s,computeBudgetConfig:a,txTipConfig:c,feePayer:u}){let l=this.createTxBuilder(u),m=lt(e,t,i).publicKey,d=bi(e).publicKey,p=this.scope.account.getAssociatedTokenAccount(i,r);return l.addInstruction({instructions:[(0,N.createAssociatedTokenAccountIdempotentInstruction)(this.scope.ownerPubKey,p,this.scope.ownerPubKey,i,r),Ai(e,t,o!=null?o:this.scope.ownerPubKey,d,m,p,i,r)]}),l.addCustomComputeBudget(a),l.addTipInstruction(c),l.versionBuild({txVersion:s})}async claimMultipleVaultPlatformFee({programId:e=fe,platformList:t,unwrapSol:i=!0,txVersion:r,computeBudgetConfig:o,feePayer:s,associatedOnly:a=!0,checkCreateATAOwner:c=!1}){let u=this.createTxBuilder(s),l={};return t.forEach(async m=>{var g,w;let d=bi(e).publicKey,p=lt(e,m.id,m.mintB).publicKey,f=m.mintB.equals(N.NATIVE_MINT)&&i,b=l[m.mintB.toBase58()];if(!b){let{account:A,instructionParams:B}=await this.scope.account.getOrCreateTokenAccount({mint:m.mintB,owner:this.scope.ownerPubKey,createInfo:f?{payer:this.scope.ownerPubKey,amount:0}:void 0,skipCloseAccount:!f,notUseTokenAccount:f,associatedOnly:f?!1:a,checkCreateATAOwner:c});A&&(b=A),u.addInstruction(B||{}),b===void 0&&this.logAndCreateError(`cannot found platform ${m.id.toBase58()} mintB(${m.mintB.toBase58()}) token accounts`,"tokenAccounts",this.scope.account.tokenAccounts)}u.addInstruction({instructions:[Ai(e,m.id,(g=m.claimFeeWallet)!=null?g:this.scope.ownerPubKey,p,d,b,m.mintB,(w=m.mintBProgram)!=null?w:N.TOKEN_PROGRAM_ID)]})}),r===0?u.sizeCheckBuildV0({computeBudgetConfig:o}):u.sizeCheckBuild({computeBudgetConfig:o})}async claimCreatorFee({programId:e=fe,mintB:t,mintBProgram:i=N.TOKEN_PROGRAM_ID,txVersion:r,computeBudgetConfig:o,txTipConfig:s,feePayer:a}){let c=this.createTxBuilder(a),u=mt(e,this.scope.ownerPubKey,t).publicKey,l=yi(e).publicKey,m=this.scope.account.getAssociatedTokenAccount(t,i);return c.addInstruction({instructions:[(0,N.createAssociatedTokenAccountIdempotentInstruction)(this.scope.ownerPubKey,m,this.scope.ownerPubKey,t,i),Ti(e,this.scope.ownerPubKey,l,u,m,t,i)]}),c.addCustomComputeBudget(o),c.addTipInstruction(s),c.versionBuild({txVersion:r})}async claimMultipleCreatorFee({programId:e=fe,mintBList:t,txVersion:i,computeBudgetConfig:r,feePayer:o}){let s=this.createTxBuilder(o);return t.forEach(a=>{var p;let c=a.pubKey,u=(p=a.programId)!=null?p:N.TOKEN_PROGRAM_ID,l=mt(e,this.scope.ownerPubKey,c).publicKey,m=yi(e).publicKey,d=this.scope.account.getAssociatedTokenAccount(c,u);s.addInstruction({instructions:[(0,N.createAssociatedTokenAccountIdempotentInstruction)(this.scope.ownerPubKey,d,this.scope.ownerPubKey,c,u),Ti(e,this.scope.ownerPubKey,m,l,d,c,u)]})}),i==0?s.sizeCheckBuildV0({computeBudgetConfig:r}):s.sizeCheckBuild({computeBudgetConfig:r})}async getRpcPoolInfo({poolId:e}){return(await this.getRpcPoolsInfo({poolIdList:[e]})).poolInfoMap[e.toBase58()]}async getRpcPoolsInfo({poolIdList:e,config:t}){let i=await Xe(this.scope.connection,e.map(c=>({pubkey:c})),t),r={},o=[];for(let c=0;c<e.length;c++){let u=i[c];if(u===null||!u.accountInfo)throw Error("fetch pool info error: "+e[c].toBase58());let l=Ee.decode(u.accountInfo.data);r[e[c].toBase58()]=$(Y({},l),{poolId:e[c],programId:u.accountInfo.owner}),o.push(l.configId)}let s=await Xe(this.scope.connection,o.map(c=>({pubkey:c})),t),a={};for(let c=0;c<o.length;c++){let u=s[c];if(u===null||!u.accountInfo)throw Error("fetch config info error: "+o[c].toBase58());let l=et.decode(u.accountInfo.data);a[o[c].toBase58()]=$(Y({},l),{configId:u.accountInfo.owner})}return{poolInfoMap:Object.keys(r).reduce((c,u)=>$(Y({},c),{[u]:$(Y({},r[u]),{configInfo:a[r[u].configId.toBase58()]})}),{})}}};0&&(module.exports={LaunchpadPoolInitParam,usdMintBSet});
//# sourceMappingURL=launchpad.js.map