@raydium-io/raydium-sdk-v2 0.1.32-alpha → 0.1.34-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +1 -1
- package/lib/index.mjs.map +1 -1
- package/lib/raydium/cpmm/cpmm.js +1 -1
- package/lib/raydium/cpmm/cpmm.js.map +1 -1
- package/lib/raydium/cpmm/cpmm.mjs +1 -1
- package/lib/raydium/cpmm/cpmm.mjs.map +1 -1
- package/lib/raydium/farm/farm.js +1 -1
- package/lib/raydium/farm/farm.js.map +1 -1
- package/lib/raydium/farm/farm.mjs +1 -1
- package/lib/raydium/farm/farm.mjs.map +1 -1
- package/lib/raydium/index.js +1 -1
- package/lib/raydium/index.js.map +1 -1
- package/lib/raydium/index.mjs +1 -1
- package/lib/raydium/index.mjs.map +1 -1
- package/lib/raydium/raydium.js +1 -1
- package/lib/raydium/raydium.js.map +1 -1
- package/lib/raydium/raydium.mjs +1 -1
- package/lib/raydium/raydium.mjs.map +1 -1
- package/package.json +1 -1
- package/src/raydium/cpmm/cpmm.ts +69 -69
- package/src/raydium/farm/farm.ts +19 -4
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var En=Object.defineProperty,vn=Object.defineProperties;var Mn=Object.getOwnPropertyDescriptors;var nt=Object.getOwnPropertySymbols;var Ar=Object.prototype.hasOwnProperty,Ir=Object.prototype.propertyIsEnumerable;var kr=(e,t,r)=>t in e?En(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,j=(e,t)=>{for(var r in t||(t={}))Ar.call(t,r)&&kr(e,r,t[r]);if(nt)for(var r of nt(t))Ir.call(t,r)&&kr(e,r,t[r]);return e},te=(e,t)=>vn(e,Mn(t));var ot=(e,t)=>{var r={};for(var n in e)Ar.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&nt)for(var n of nt(e))t.indexOf(n)<0&&Ir.call(e,n)&&(r[n]=e[n]);return r};import{createAssociatedTokenAccountInstruction as es}from"@solana/spl-token";import{PublicKey as G,SystemProgram as ts}from"@solana/web3.js";import{get as Sr,set as _n}from"lodash";var Rt=class{constructor(t){this.logLevel=t.logLevel!==void 0?t.logLevel:0,this.name=t.name}set level(t){this.logLevel=t}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(t){return t<=this.logLevel}error(...t){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...t),this):this}logWithError(...t){let r=t.map(n=>typeof n=="object"?JSON.stringify(n):n).join(", ");throw new Error(r)}warning(...t){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...t),this):this}info(...t){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...t),this):this}debug(...t){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...t),this):this}},Lr={},Dn={};function Q(e){let t=Sr(Lr,e);if(!t){let r=Sr(Dn,e);t=new Rt({name:e,logLevel:r}),_n(Lr,e,t)}return t}import{PublicKey as Xo}from"@solana/web3.js";import Qo from"bn.js";import zo from"big.js";import gt from"bn.js";import ue from"bn.js";var Ee=9e15,Se=1e9,Kt="0123456789abcdef",st="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",at="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Ct={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-Ee,maxE:Ee,crypto:!1},Cr,he,R=!0,ct="[DecimalError] ",Ie=ct+"Invalid argument: ",Vr=ct+"Precision limit exceeded",Fr=ct+"crypto unavailable",Nr="[object Decimal]",ie=Math.floor,re=Math.pow,On=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Wn=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Un=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,Er=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,de=1e7,L=7,qn=9007199254740991,Gn=st.length-1,Vt=at.length-1,h={toStringTag:Nr};h.absoluteValue=h.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),I(e)};h.ceil=function(){return I(new this.constructor(this),this.e+1,2)};h.clampedTo=h.clamp=function(e,t){var r,n=this,o=n.constructor;if(e=new o(e),t=new o(t),!e.s||!t.s)return new o(NaN);if(e.gt(t))throw Error(Ie+t);return r=n.cmp(e),r<0?e:n.cmp(t)>0?t:new o(n)};h.comparedTo=h.cmp=function(e){var t,r,n,o,i=this,s=i.d,a=(e=new i.constructor(e)).d,c=i.s,u=e.s;if(!s||!a)return!c||!u?NaN:c!==u?c:s===a?0:!s^c<0?1:-1;if(!s[0]||!a[0])return s[0]?c:a[0]?-u:0;if(c!==u)return c;if(i.e!==e.e)return i.e>e.e^c<0?1:-1;for(n=s.length,o=a.length,t=0,r=n<o?n:o;t<r;++t)if(s[t]!==a[t])return s[t]>a[t]^c<0?1:-1;return n===o?0:n>o^c<0?1:-1};h.cosine=h.cos=function(){var e,t,r=this,n=r.constructor;return r.d?r.d[0]?(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+L,n.rounding=1,r=Hn(n,Or(n,r)),n.precision=e,n.rounding=t,I(he==2||he==3?r.neg():r,e,t,!0)):new n(1):new n(NaN)};h.cubeRoot=h.cbrt=function(){var e,t,r,n,o,i,s,a,c,u,d=this,l=d.constructor;if(!d.isFinite()||d.isZero())return new l(d);for(R=!1,i=d.s*re(d.s*d,1/3),!i||Math.abs(i)==1/0?(r=oe(d.d),e=d.e,(i=(e-r.length+1)%3)&&(r+=i==1||i==-2?"0":"00"),i=re(r,1/3),e=ie((e+1)/3)-(e%3==(e<0?-1:2)),i==1/0?r="5e"+e:(r=i.toExponential(),r=r.slice(0,r.indexOf("e")+1)+e),n=new l(r),n.s=d.s):n=new l(i.toString()),s=(e=l.precision)+3;;)if(a=n,c=a.times(a).times(a),u=c.plus(d),n=q(u.plus(d).times(a),u.plus(c),s+2,1),oe(a.d).slice(0,s)===(r=oe(n.d)).slice(0,s))if(r=r.slice(s-3,s+1),r=="9999"||!o&&r=="4999"){if(!o&&(I(a,e+1,0),a.times(a).times(a).eq(d))){n=a;break}s+=4,o=1}else{(!+r||!+r.slice(1)&&r.charAt(0)=="5")&&(I(n,e+1,1),t=!n.times(n).times(n).eq(d));break}return R=!0,I(n,e,l.rounding,t)};h.decimalPlaces=h.dp=function(){var e,t=this.d,r=NaN;if(t){if(e=t.length-1,r=(e-ie(this.e/L))*L,e=t[e],e)for(;e%10==0;e/=10)r--;r<0&&(r=0)}return r};h.dividedBy=h.div=function(e){return q(this,new this.constructor(e))};h.dividedToIntegerBy=h.divToInt=function(e){var t=this,r=t.constructor;return I(q(t,new r(e),0,1,1),r.precision,r.rounding)};h.equals=h.eq=function(e){return this.cmp(e)===0};h.floor=function(){return I(new this.constructor(this),this.e+1,3)};h.greaterThan=h.gt=function(e){return this.cmp(e)>0};h.greaterThanOrEqualTo=h.gte=function(e){var t=this.cmp(e);return t==1||t===0};h.hyperbolicCosine=h.cosh=function(){var e,t,r,n,o,i=this,s=i.constructor,a=new s(1);if(!i.isFinite())return new s(i.s?1/0:NaN);if(i.isZero())return a;r=s.precision,n=s.rounding,s.precision=r+Math.max(i.e,i.sd())+4,s.rounding=1,o=i.d.length,o<32?(e=Math.ceil(o/3),t=(1/dt(4,e)).toString()):(e=16,t="2.3283064365386962890625e-10"),i=ve(s,1,i.times(t),new s(1),!0);for(var c,u=e,d=new s(8);u--;)c=i.times(i),i=a.minus(c.times(d.minus(c.times(d))));return I(i,s.precision=r,s.rounding=n,!0)};h.hyperbolicSine=h.sinh=function(){var e,t,r,n,o=this,i=o.constructor;if(!o.isFinite()||o.isZero())return new i(o);if(t=i.precision,r=i.rounding,i.precision=t+Math.max(o.e,o.sd())+4,i.rounding=1,n=o.d.length,n<3)o=ve(i,2,o,o,!0);else{e=1.4*Math.sqrt(n),e=e>16?16:e|0,o=o.times(1/dt(5,e)),o=ve(i,2,o,o,!0);for(var s,a=new i(5),c=new i(16),u=new i(20);e--;)s=o.times(o),o=o.times(a.plus(s.times(c.times(s).plus(u))))}return i.precision=t,i.rounding=r,I(o,t,r,!0)};h.hyperbolicTangent=h.tanh=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+7,n.rounding=1,q(r.sinh(),r.cosh(),n.precision=e,n.rounding=t)):new n(r.s)};h.inverseCosine=h.acos=function(){var e,t=this,r=t.constructor,n=t.abs().cmp(1),o=r.precision,i=r.rounding;return n!==-1?n===0?t.isNeg()?le(r,o,i):new r(0):new r(NaN):t.isZero()?le(r,o+4,i).times(.5):(r.precision=o+6,r.rounding=1,t=t.asin(),e=le(r,o+4,i).times(.5),r.precision=o,r.rounding=i,e.minus(t))};h.inverseHyperbolicCosine=h.acosh=function(){var e,t,r=this,n=r.constructor;return r.lte(1)?new n(r.eq(1)?0:NaN):r.isFinite()?(e=n.precision,t=n.rounding,n.precision=e+Math.max(Math.abs(r.e),r.sd())+4,n.rounding=1,R=!1,r=r.times(r).minus(1).sqrt().plus(r),R=!0,n.precision=e,n.rounding=t,r.ln()):new n(r)};h.inverseHyperbolicSine=h.asinh=function(){var e,t,r=this,n=r.constructor;return!r.isFinite()||r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+2*Math.max(Math.abs(r.e),r.sd())+6,n.rounding=1,R=!1,r=r.times(r).plus(1).sqrt().plus(r),R=!0,n.precision=e,n.rounding=t,r.ln())};h.inverseHyperbolicTangent=h.atanh=function(){var e,t,r,n,o=this,i=o.constructor;return o.isFinite()?o.e>=0?new i(o.abs().eq(1)?o.s/0:o.isZero()?o:NaN):(e=i.precision,t=i.rounding,n=o.sd(),Math.max(n,e)<2*-o.e-1?I(new i(o),e,t,!0):(i.precision=r=n-o.e,o=q(o.plus(1),new i(1).minus(o),r+e,1),i.precision=e+4,i.rounding=1,o=o.ln(),i.precision=e,i.rounding=t,o.times(.5))):new i(NaN)};h.inverseSine=h.asin=function(){var e,t,r,n,o=this,i=o.constructor;return o.isZero()?new i(o):(t=o.abs().cmp(1),r=i.precision,n=i.rounding,t!==-1?t===0?(e=le(i,r+4,n).times(.5),e.s=o.s,e):new i(NaN):(i.precision=r+6,i.rounding=1,o=o.div(new i(1).minus(o.times(o)).sqrt().plus(1)).atan(),i.precision=r,i.rounding=n,o.times(2)))};h.inverseTangent=h.atan=function(){var e,t,r,n,o,i,s,a,c,u=this,d=u.constructor,l=d.precision,f=d.rounding;if(u.isFinite()){if(u.isZero())return new d(u);if(u.abs().eq(1)&&l+4<=Vt)return s=le(d,l+4,f).times(.25),s.s=u.s,s}else{if(!u.s)return new d(NaN);if(l+4<=Vt)return s=le(d,l+4,f).times(.5),s.s=u.s,s}for(d.precision=a=l+10,d.rounding=1,r=Math.min(28,a/L+2|0),e=r;e;--e)u=u.div(u.times(u).plus(1).sqrt().plus(1));for(R=!1,t=Math.ceil(a/L),n=1,c=u.times(u),s=new d(u),o=u;e!==-1;)if(o=o.times(c),i=s.minus(o.div(n+=2)),o=o.times(c),s=i.plus(o.div(n+=2)),s.d[t]!==void 0)for(e=t;s.d[e]===i.d[e]&&e--;);return r&&(s=s.times(2<<r-1)),R=!0,I(s,d.precision=l,d.rounding=f,!0)};h.isFinite=function(){return!!this.d};h.isInteger=h.isInt=function(){return!!this.d&&ie(this.e/L)>this.d.length-2};h.isNaN=function(){return!this.s};h.isNegative=h.isNeg=function(){return this.s<0};h.isPositive=h.isPos=function(){return this.s>0};h.isZero=function(){return!!this.d&&this.d[0]===0};h.lessThan=h.lt=function(e){return this.cmp(e)<0};h.lessThanOrEqualTo=h.lte=function(e){return this.cmp(e)<1};h.logarithm=h.log=function(e){var t,r,n,o,i,s,a,c,u=this,d=u.constructor,l=d.precision,f=d.rounding,p=5;if(e==null)e=new d(10),t=!0;else{if(e=new d(e),r=e.d,e.s<0||!r||!r[0]||e.eq(1))return new d(NaN);t=e.eq(10)}if(r=u.d,u.s<0||!r||!r[0]||u.eq(1))return new d(r&&!r[0]?-1/0:u.s!=1?NaN:r?0:1/0);if(t)if(r.length>1)i=!0;else{for(o=r[0];o%10===0;)o/=10;i=o!==1}if(R=!1,a=l+p,s=Ae(u,a),n=t?ut(d,a+10):Ae(e,a),c=q(s,n,a,1),Ue(c.d,o=l,f))do if(a+=10,s=Ae(u,a),n=t?ut(d,a+10):Ae(e,a),c=q(s,n,a,1),!i){+oe(c.d).slice(o+1,o+15)+1==1e14&&(c=I(c,l+1,0));break}while(Ue(c.d,o+=10,f));return R=!0,I(c,l,f)};h.minus=h.sub=function(e){var t,r,n,o,i,s,a,c,u,d,l,f,p=this,m=p.constructor;if(e=new m(e),!p.d||!e.d)return!p.s||!e.s?e=new m(NaN):p.d?e.s=-e.s:e=new m(e.d||p.s!==e.s?p:NaN),e;if(p.s!=e.s)return e.s=-e.s,p.plus(e);if(u=p.d,f=e.d,a=m.precision,c=m.rounding,!u[0]||!f[0]){if(f[0])e.s=-e.s;else if(u[0])e=new m(p);else return new m(c===3?-0:0);return R?I(e,a,c):e}if(r=ie(e.e/L),d=ie(p.e/L),u=u.slice(),i=d-r,i){for(l=i<0,l?(t=u,i=-i,s=f.length):(t=f,r=d,s=u.length),n=Math.max(Math.ceil(a/L),s)+2,i>n&&(i=n,t.length=1),t.reverse(),n=i;n--;)t.push(0);t.reverse()}else{for(n=u.length,s=f.length,l=n<s,l&&(s=n),n=0;n<s;n++)if(u[n]!=f[n]){l=u[n]<f[n];break}i=0}for(l&&(t=u,u=f,f=t,e.s=-e.s),s=u.length,n=f.length-s;n>0;--n)u[s++]=0;for(n=f.length;n>i;){if(u[--n]<f[n]){for(o=n;o&&u[--o]===0;)u[o]=de-1;--u[o],u[n]+=de}u[n]-=f[n]}for(;u[--s]===0;)u.pop();for(;u[0]===0;u.shift())--r;return u[0]?(e.d=u,e.e=lt(u,r),R?I(e,a,c):e):new m(c===3?-0:0)};h.modulo=h.mod=function(e){var t,r=this,n=r.constructor;return e=new n(e),!r.d||!e.s||e.d&&!e.d[0]?new n(NaN):!e.d||r.d&&!r.d[0]?I(new n(r),n.precision,n.rounding):(R=!1,n.modulo==9?(t=q(r,e.abs(),0,3,1),t.s*=e.s):t=q(r,e,0,n.modulo,1),t=t.times(e),R=!0,r.minus(t))};h.naturalExponential=h.exp=function(){return Ft(this)};h.naturalLogarithm=h.ln=function(){return Ae(this)};h.negated=h.neg=function(){var e=new this.constructor(this);return e.s=-e.s,I(e)};h.plus=h.add=function(e){var t,r,n,o,i,s,a,c,u,d,l=this,f=l.constructor;if(e=new f(e),!l.d||!e.d)return!l.s||!e.s?e=new f(NaN):l.d||(e=new f(e.d||l.s===e.s?l:NaN)),e;if(l.s!=e.s)return e.s=-e.s,l.minus(e);if(u=l.d,d=e.d,a=f.precision,c=f.rounding,!u[0]||!d[0])return d[0]||(e=new f(l)),R?I(e,a,c):e;if(i=ie(l.e/L),n=ie(e.e/L),u=u.slice(),o=i-n,o){for(o<0?(r=u,o=-o,s=d.length):(r=d,n=i,s=u.length),i=Math.ceil(a/L),s=i>s?i+1:s+1,o>s&&(o=s,r.length=1),r.reverse();o--;)r.push(0);r.reverse()}for(s=u.length,o=d.length,s-o<0&&(o=s,r=d,d=u,u=r),t=0;o;)t=(u[--o]=u[o]+d[o]+t)/de|0,u[o]%=de;for(t&&(u.unshift(t),++n),s=u.length;u[--s]==0;)u.pop();return e.d=u,e.e=lt(u,n),R?I(e,a,c):e};h.precision=h.sd=function(e){var t,r=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(Ie+e);return r.d?(t=vr(r.d),e&&r.e+1>t&&(t=r.e+1)):t=NaN,t};h.round=function(){var e=this,t=e.constructor;return I(new t(e),e.e+1,t.rounding)};h.sine=h.sin=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+L,n.rounding=1,r=Jn(n,Or(n,r)),n.precision=e,n.rounding=t,I(he>2?r.neg():r,e,t,!0)):new n(NaN)};h.squareRoot=h.sqrt=function(){var e,t,r,n,o,i,s=this,a=s.d,c=s.e,u=s.s,d=s.constructor;if(u!==1||!a||!a[0])return new d(!u||u<0&&(!a||a[0])?NaN:a?s:1/0);for(R=!1,u=Math.sqrt(+s),u==0||u==1/0?(t=oe(a),(t.length+c)%2==0&&(t+="0"),u=Math.sqrt(t),c=ie((c+1)/2)-(c<0||c%2),u==1/0?t="5e"+c:(t=u.toExponential(),t=t.slice(0,t.indexOf("e")+1)+c),n=new d(t)):n=new d(u.toString()),r=(c=d.precision)+3;;)if(i=n,n=i.plus(q(s,i,r+2,1)).times(.5),oe(i.d).slice(0,r)===(t=oe(n.d)).slice(0,r))if(t=t.slice(r-3,r+1),t=="9999"||!o&&t=="4999"){if(!o&&(I(i,c+1,0),i.times(i).eq(s))){n=i;break}r+=4,o=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(I(n,c+1,1),e=!n.times(n).eq(s));break}return R=!0,I(n,c,d.rounding,e)};h.tangent=h.tan=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+10,n.rounding=1,r=r.sin(),r.s=1,r=q(r,new n(1).minus(r.times(r)).sqrt(),e+10,0),n.precision=e,n.rounding=t,I(he==2||he==4?r.neg():r,e,t,!0)):new n(NaN)};h.times=h.mul=function(e){var t,r,n,o,i,s,a,c,u,d=this,l=d.constructor,f=d.d,p=(e=new l(e)).d;if(e.s*=d.s,!f||!f[0]||!p||!p[0])return new l(!e.s||f&&!f[0]&&!p||p&&!p[0]&&!f?NaN:!f||!p?e.s/0:e.s*0);for(r=ie(d.e/L)+ie(e.e/L),c=f.length,u=p.length,c<u&&(i=f,f=p,p=i,s=c,c=u,u=s),i=[],s=c+u,n=s;n--;)i.push(0);for(n=u;--n>=0;){for(t=0,o=c+n;o>n;)a=i[o]+p[n]*f[o-n-1]+t,i[o--]=a%de|0,t=a/de|0;i[o]=(i[o]+t)%de|0}for(;!i[--s];)i.pop();return t?++r:i.shift(),e.d=i,e.e=lt(i,r),R?I(e,l.precision,l.rounding):e};h.toBinary=function(e,t){return Et(this,2,e,t)};h.toDecimalPlaces=h.toDP=function(e,t){var r=this,n=r.constructor;return r=new n(r),e===void 0?r:(ae(e,0,Se),t===void 0?t=n.rounding:ae(t,0,8),I(r,e+r.e+1,t))};h.toExponential=function(e,t){var r,n=this,o=n.constructor;return e===void 0?r=me(n,!0):(ae(e,0,Se),t===void 0?t=o.rounding:ae(t,0,8),n=I(new o(n),e+1,t),r=me(n,!0,e+1)),n.isNeg()&&!n.isZero()?"-"+r:r};h.toFixed=function(e,t){var r,n,o=this,i=o.constructor;return e===void 0?r=me(o):(ae(e,0,Se),t===void 0?t=i.rounding:ae(t,0,8),n=I(new i(o),e+o.e+1,t),r=me(n,!1,e+n.e+1)),o.isNeg()&&!o.isZero()?"-"+r:r};h.toFraction=function(e){var t,r,n,o,i,s,a,c,u,d,l,f,p=this,m=p.d,g=p.constructor;if(!m)return new g(p);if(u=r=new g(1),n=c=new g(0),t=new g(n),i=t.e=vr(m)-p.e-1,s=i%L,t.d[0]=re(10,s<0?L+s:s),e==null)e=i>0?t:u;else{if(a=new g(e),!a.isInt()||a.lt(u))throw Error(Ie+a);e=a.gt(t)?i>0?t:u:a}for(R=!1,a=new g(oe(m)),d=g.precision,g.precision=i=m.length*L*2;l=q(a,t,0,1,1),o=r.plus(l.times(n)),o.cmp(e)!=1;)r=n,n=o,o=u,u=c.plus(l.times(o)),c=o,o=t,t=a.minus(l.times(o)),a=o;return o=q(e.minus(r),n,0,1,1),c=c.plus(o.times(u)),r=r.plus(o.times(n)),c.s=u.s=p.s,f=q(u,n,i,1).minus(p).abs().cmp(q(c,r,i,1).minus(p).abs())<1?[u,n]:[c,r],g.precision=d,R=!0,f};h.toHexadecimal=h.toHex=function(e,t){return Et(this,16,e,t)};h.toNearest=function(e,t){var r=this,n=r.constructor;if(r=new n(r),e==null){if(!r.d)return r;e=new n(1),t=n.rounding}else{if(e=new n(e),t===void 0?t=n.rounding:ae(t,0,8),!r.d)return e.s?r:e;if(!e.d)return e.s&&(e.s=r.s),e}return e.d[0]?(R=!1,r=q(r,e,0,t,1).times(e),R=!0,I(r)):(e.s=r.s,r=e),r};h.toNumber=function(){return+this};h.toOctal=function(e,t){return Et(this,8,e,t)};h.toPower=h.pow=function(e){var t,r,n,o,i,s,a=this,c=a.constructor,u=+(e=new c(e));if(!a.d||!e.d||!a.d[0]||!e.d[0])return new c(re(+a,u));if(a=new c(a),a.eq(1))return a;if(n=c.precision,i=c.rounding,e.eq(1))return I(a,n,i);if(t=ie(e.e/L),t>=e.d.length-1&&(r=u<0?-u:u)<=qn)return o=Mr(c,a,r,n),e.s<0?new c(1).div(o):I(o,n,i);if(s=a.s,s<0){if(t<e.d.length-1)return new c(NaN);if((e.d[t]&1)==0&&(s=1),a.e==0&&a.d[0]==1&&a.d.length==1)return a.s=s,a}return r=re(+a,u),t=r==0||!isFinite(r)?ie(u*(Math.log("0."+oe(a.d))/Math.LN10+a.e+1)):new c(r+"").e,t>c.maxE+1||t<c.minE-1?new c(t>0?s/0:0):(R=!1,c.rounding=a.s=1,r=Math.min(12,(t+"").length),o=Ft(e.times(Ae(a,n+r)),n),o.d&&(o=I(o,n+5,1),Ue(o.d,n,i)&&(t=n+10,o=I(Ft(e.times(Ae(a,t+r)),t),t+5,1),+oe(o.d).slice(n+1,n+15)+1==1e14&&(o=I(o,n+1,0)))),o.s=s,R=!0,c.rounding=i,I(o,n,i))};h.toPrecision=function(e,t){var r,n=this,o=n.constructor;return e===void 0?r=me(n,n.e<=o.toExpNeg||n.e>=o.toExpPos):(ae(e,1,Se),t===void 0?t=o.rounding:ae(t,0,8),n=I(new o(n),e,t),r=me(n,e<=n.e||n.e<=o.toExpNeg,e)),n.isNeg()&&!n.isZero()?"-"+r:r};h.toSignificantDigits=h.toSD=function(e,t){var r=this,n=r.constructor;return e===void 0?(e=n.precision,t=n.rounding):(ae(e,1,Se),t===void 0?t=n.rounding:ae(t,0,8)),I(new n(r),e,t)};h.toString=function(){var e=this,t=e.constructor,r=me(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+r:r};h.truncated=h.trunc=function(){return I(new this.constructor(this),this.e+1,1)};h.valueOf=h.toJSON=function(){var e=this,t=e.constructor,r=me(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+r:r};function oe(e){var t,r,n,o=e.length-1,i="",s=e[0];if(o>0){for(i+=s,t=1;t<o;t++)n=e[t]+"",r=L-n.length,r&&(i+=ke(r)),i+=n;s=e[t],n=s+"",r=L-n.length,r&&(i+=ke(r))}else if(s===0)return"0";for(;s%10===0;)s/=10;return i+s}function ae(e,t,r){if(e!==~~e||e<t||e>r)throw Error(Ie+e)}function Ue(e,t,r,n){var o,i,s,a;for(i=e[0];i>=10;i/=10)--t;return--t<0?(t+=L,o=0):(o=Math.ceil((t+1)/L),t%=L),i=re(10,L-t),a=e[o]%i|0,n==null?t<3?(t==0?a=a/100|0:t==1&&(a=a/10|0),s=r<4&&a==99999||r>3&&a==49999||a==5e4||a==0):s=(r<4&&a+1==i||r>3&&a+1==i/2)&&(e[o+1]/i/100|0)==re(10,t-2)-1||(a==i/2||a==0)&&(e[o+1]/i/100|0)==0:t<4?(t==0?a=a/1e3|0:t==1?a=a/100|0:t==2&&(a=a/10|0),s=(n||r<4)&&a==9999||!n&&r>3&&a==4999):s=((n||r<4)&&a+1==i||!n&&r>3&&a+1==i/2)&&(e[o+1]/i/1e3|0)==re(10,t-3)-1,s}function it(e,t,r){for(var n,o=[0],i,s=0,a=e.length;s<a;){for(i=o.length;i--;)o[i]*=t;for(o[0]+=Kt.indexOf(e.charAt(s++)),n=0;n<o.length;n++)o[n]>r-1&&(o[n+1]===void 0&&(o[n+1]=0),o[n+1]+=o[n]/r|0,o[n]%=r)}return o.reverse()}function Hn(e,t){var r,n,o;if(t.isZero())return t;n=t.d.length,n<32?(r=Math.ceil(n/3),o=(1/dt(4,r)).toString()):(r=16,o="2.3283064365386962890625e-10"),e.precision+=r,t=ve(e,1,t.times(o),new e(1));for(var i=r;i--;){var s=t.times(t);t=s.times(s).minus(s).times(8).plus(1)}return e.precision-=r,t}var q=function(){function e(n,o,i){var s,a=0,c=n.length;for(n=n.slice();c--;)s=n[c]*o+a,n[c]=s%i|0,a=s/i|0;return a&&n.unshift(a),n}function t(n,o,i,s){var a,c;if(i!=s)c=i>s?1:-1;else for(a=c=0;a<i;a++)if(n[a]!=o[a]){c=n[a]>o[a]?1:-1;break}return c}function r(n,o,i,s){for(var a=0;i--;)n[i]-=a,a=n[i]<o[i]?1:0,n[i]=a*s+n[i]-o[i];for(;!n[0]&&n.length>1;)n.shift()}return function(n,o,i,s,a,c){var u,d,l,f,p,m,g,k,x,w,b,T,S,A,W,E,B,v,U,H,N=n.constructor,ee=n.s==o.s?1:-1,z=n.d,D=o.d;if(!z||!z[0]||!D||!D[0])return new N(!n.s||!o.s||(z?D&&z[0]==D[0]:!D)?NaN:z&&z[0]==0||!D?ee*0:ee/0);for(c?(p=1,d=n.e-o.e):(c=de,p=L,d=ie(n.e/p)-ie(o.e/p)),U=D.length,B=z.length,x=new N(ee),w=x.d=[],l=0;D[l]==(z[l]||0);l++);if(D[l]>(z[l]||0)&&d--,i==null?(A=i=N.precision,s=N.rounding):a?A=i+(n.e-o.e)+1:A=i,A<0)w.push(1),m=!0;else{if(A=A/p+2|0,l=0,U==1){for(f=0,D=D[0],A++;(l<B||f)&&A--;l++)W=f*c+(z[l]||0),w[l]=W/D|0,f=W%D|0;m=f||l<B}else{for(f=c/(D[0]+1)|0,f>1&&(D=e(D,f,c),z=e(z,f,c),U=D.length,B=z.length),E=U,b=z.slice(0,U),T=b.length;T<U;)b[T++]=0;H=D.slice(),H.unshift(0),v=D[0],D[1]>=c/2&&++v;do f=0,u=t(D,b,U,T),u<0?(S=b[0],U!=T&&(S=S*c+(b[1]||0)),f=S/v|0,f>1?(f>=c&&(f=c-1),g=e(D,f,c),k=g.length,T=b.length,u=t(g,b,k,T),u==1&&(f--,r(g,U<k?H:D,k,c))):(f==0&&(u=f=1),g=D.slice()),k=g.length,k<T&&g.unshift(0),r(b,g,T,c),u==-1&&(T=b.length,u=t(D,b,U,T),u<1&&(f++,r(b,U<T?H:D,T,c))),T=b.length):u===0&&(f++,b=[0]),w[l++]=f,u&&b[0]?b[T++]=z[E]||0:(b=[z[E]],T=1);while((E++<B||b[0]!==void 0)&&A--);m=b[0]!==void 0}w[0]||w.shift()}if(p==1)x.e=d,Cr=m;else{for(l=1,f=w[0];f>=10;f/=10)l++;x.e=l+d*p-1,I(x,a?i+x.e+1:i,s,m)}return x}}();function I(e,t,r,n){var o,i,s,a,c,u,d,l,f,p=e.constructor;e:if(t!=null){if(l=e.d,!l)return e;for(o=1,a=l[0];a>=10;a/=10)o++;if(i=t-o,i<0)i+=L,s=t,d=l[f=0],c=d/re(10,o-s-1)%10|0;else if(f=Math.ceil((i+1)/L),a=l.length,f>=a)if(n){for(;a++<=f;)l.push(0);d=c=0,o=1,i%=L,s=i-L+1}else break e;else{for(d=a=l[f],o=1;a>=10;a/=10)o++;i%=L,s=i-L+o,c=s<0?0:d/re(10,o-s-1)%10|0}if(n=n||t<0||l[f+1]!==void 0||(s<0?d:d%re(10,o-s-1)),u=r<4?(c||n)&&(r==0||r==(e.s<0?3:2)):c>5||c==5&&(r==4||n||r==6&&(i>0?s>0?d/re(10,o-s):0:l[f-1])%10&1||r==(e.s<0?8:7)),t<1||!l[0])return l.length=0,u?(t-=e.e+1,l[0]=re(10,(L-t%L)%L),e.e=-t||0):l[0]=e.e=0,e;if(i==0?(l.length=f,a=1,f--):(l.length=f+1,a=re(10,L-i),l[f]=s>0?(d/re(10,o-s)%re(10,s)|0)*a:0),u)for(;;)if(f==0){for(i=1,s=l[0];s>=10;s/=10)i++;for(s=l[0]+=a,a=1;s>=10;s/=10)a++;i!=a&&(e.e++,l[0]==de&&(l[0]=1));break}else{if(l[f]+=a,l[f]!=de)break;l[f--]=0,a=1}for(i=l.length;l[--i]===0;)l.pop()}return R&&(e.e>p.maxE?(e.d=null,e.e=NaN):e.e<p.minE&&(e.e=0,e.d=[0])),e}function me(e,t,r){if(!e.isFinite())return Dr(e);var n,o=e.e,i=oe(e.d),s=i.length;return t?(r&&(n=r-s)>0?i=i.charAt(0)+"."+i.slice(1)+ke(n):s>1&&(i=i.charAt(0)+"."+i.slice(1)),i=i+(e.e<0?"e":"e+")+e.e):o<0?(i="0."+ke(-o-1)+i,r&&(n=r-s)>0&&(i+=ke(n))):o>=s?(i+=ke(o+1-s),r&&(n=r-o-1)>0&&(i=i+"."+ke(n))):((n=o+1)<s&&(i=i.slice(0,n)+"."+i.slice(n)),r&&(n=r-s)>0&&(o+1===s&&(i+="."),i+=ke(n))),i}function lt(e,t){var r=e[0];for(t*=L;r>=10;r/=10)t++;return t}function ut(e,t,r){if(t>Gn)throw R=!0,r&&(e.precision=r),Error(Vr);return I(new e(st),t,1,!0)}function le(e,t,r){if(t>Vt)throw Error(Vr);return I(new e(at),t,r,!0)}function vr(e){var t=e.length-1,r=t*L+1;if(t=e[t],t){for(;t%10==0;t/=10)r--;for(t=e[0];t>=10;t/=10)r++}return r}function ke(e){for(var t="";e--;)t+="0";return t}function Mr(e,t,r,n){var o,i=new e(1),s=Math.ceil(n/L+4);for(R=!1;;){if(r%2&&(i=i.times(t),Rr(i.d,s)&&(o=!0)),r=ie(r/2),r===0){r=i.d.length-1,o&&i.d[r]===0&&++i.d[r];break}t=t.times(t),Rr(t.d,s)}return R=!0,i}function Br(e){return e.d[e.d.length-1]&1}function _r(e,t,r){for(var n,o=new e(t[0]),i=0;++i<t.length;)if(n=new e(t[i]),n.s)o[r](n)&&(o=n);else{o=n;break}return o}function Ft(e,t){var r,n,o,i,s,a,c,u=0,d=0,l=0,f=e.constructor,p=f.rounding,m=f.precision;if(!e.d||!e.d[0]||e.e>17)return new f(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:0/0);for(t==null?(R=!1,c=m):c=t,a=new f(.03125);e.e>-2;)e=e.times(a),l+=5;for(n=Math.log(re(2,l))/Math.LN10*2+5|0,c+=n,r=i=s=new f(1),f.precision=c;;){if(i=I(i.times(e),c,1),r=r.times(++d),a=s.plus(q(i,r,c,1)),oe(a.d).slice(0,c)===oe(s.d).slice(0,c)){for(o=l;o--;)s=I(s.times(s),c,1);if(t==null)if(u<3&&Ue(s.d,c-n,p,u))f.precision=c+=10,r=i=a=new f(1),d=0,u++;else return I(s,f.precision=m,p,R=!0);else return f.precision=m,s}s=a}}function Ae(e,t){var r,n,o,i,s,a,c,u,d,l,f,p=1,m=10,g=e,k=g.d,x=g.constructor,w=x.rounding,b=x.precision;if(g.s<0||!k||!k[0]||!g.e&&k[0]==1&&k.length==1)return new x(k&&!k[0]?-1/0:g.s!=1?NaN:k?0:g);if(t==null?(R=!1,d=b):d=t,x.precision=d+=m,r=oe(k),n=r.charAt(0),Math.abs(i=g.e)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)g=g.times(e),r=oe(g.d),n=r.charAt(0),p++;i=g.e,n>1?(g=new x("0."+r),i++):g=new x(n+"."+r.slice(1))}else return u=ut(x,d+2,b).times(i+""),g=Ae(new x(n+"."+r.slice(1)),d-m).plus(u),x.precision=b,t==null?I(g,b,w,R=!0):g;for(l=g,c=s=g=q(g.minus(1),g.plus(1),d,1),f=I(g.times(g),d,1),o=3;;){if(s=I(s.times(f),d,1),u=c.plus(q(s,new x(o),d,1)),oe(u.d).slice(0,d)===oe(c.d).slice(0,d))if(c=c.times(2),i!==0&&(c=c.plus(ut(x,d+2,b).times(i+""))),c=q(c,new x(p),d,1),t==null)if(Ue(c.d,d-m,w,a))x.precision=d+=m,u=s=g=q(l.minus(1),l.plus(1),d,1),f=I(g.times(g),d,1),o=a=1;else return I(c,x.precision=b,w,R=!0);else return x.precision=b,c;c=u,o+=2}}function Dr(e){return String(e.s*e.s/0)}function Nt(e,t){var r,n,o;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(n=t.search(/e/i))>0?(r<0&&(r=n),r+=+t.slice(n+1),t=t.substring(0,n)):r<0&&(r=t.length),n=0;t.charCodeAt(n)===48;n++);for(o=t.length;t.charCodeAt(o-1)===48;--o);if(t=t.slice(n,o),t){if(o-=n,e.e=r=r-n-1,e.d=[],n=(r+1)%L,r<0&&(n+=L),n<o){for(n&&e.d.push(+t.slice(0,n)),o-=L;n<o;)e.d.push(+t.slice(n,n+=L));t=t.slice(n),n=L-t.length}else n-=o;for(;n--;)t+="0";e.d.push(+t),R&&(e.e>e.constructor.maxE?(e.d=null,e.e=NaN):e.e<e.constructor.minE&&(e.e=0,e.d=[0]))}else e.e=0,e.d=[0];return e}function jn(e,t){var r,n,o,i,s,a,c,u,d;if(t.indexOf("_")>-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),Er.test(t))return Nt(e,t)}else if(t==="Infinity"||t==="NaN")return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(Wn.test(t))r=16,t=t.toLowerCase();else if(On.test(t))r=2;else if(Un.test(t))r=8;else throw Error(Ie+t);for(i=t.search(/p/i),i>0?(c=+t.slice(i+1),t=t.substring(2,i)):t=t.slice(2),i=t.indexOf("."),s=i>=0,n=e.constructor,s&&(t=t.replace(".",""),a=t.length,i=a-i,o=Mr(n,new n(r),i,i*2)),u=it(t,r,de),d=u.length-1,i=d;u[i]===0;--i)u.pop();return i<0?new n(e.s*0):(e.e=lt(u,d),e.d=u,R=!1,s&&(e=q(e,o,a*4)),c&&(e=e.times(Math.abs(c)<54?re(2,c):qe.pow(2,c))),R=!0,e)}function Jn(e,t){var r,n=t.d.length;if(n<3)return t.isZero()?t:ve(e,2,t,t);r=1.4*Math.sqrt(n),r=r>16?16:r|0,t=t.times(1/dt(5,r)),t=ve(e,2,t,t);for(var o,i=new e(5),s=new e(16),a=new e(20);r--;)o=t.times(t),t=t.times(i.plus(o.times(s.times(o).minus(a))));return t}function ve(e,t,r,n,o){var i,s,a,c,u=1,d=e.precision,l=Math.ceil(d/L);for(R=!1,c=r.times(r),a=new e(n);;){if(s=q(a.times(c),new e(t++*t++),d,1),a=o?n.plus(s):n.minus(s),n=q(s.times(c),new e(t++*t++),d,1),s=a.plus(n),s.d[l]!==void 0){for(i=l;s.d[i]===a.d[i]&&i--;);if(i==-1)break}i=a,a=n,n=s,s=i,u++}return R=!0,s.d.length=l+1,s}function dt(e,t){for(var r=e;--t;)r*=e;return r}function Or(e,t){var r,n=t.s<0,o=le(e,e.precision,1),i=o.times(.5);if(t=t.abs(),t.lte(i))return he=n?4:1,t;if(r=t.divToInt(o),r.isZero())he=n?3:2;else{if(t=t.minus(r.times(o)),t.lte(i))return he=Br(r)?n?2:3:n?4:1,t;he=Br(r)?n?1:4:n?3:2}return t.minus(o).abs()}function Et(e,t,r,n){var o,i,s,a,c,u,d,l,f,p=e.constructor,m=r!==void 0;if(m?(ae(r,1,Se),n===void 0?n=p.rounding:ae(n,0,8)):(r=p.precision,n=p.rounding),!e.isFinite())d=Dr(e);else{for(d=me(e),s=d.indexOf("."),m?(o=2,t==16?r=r*4-3:t==8&&(r=r*3-2)):o=t,s>=0&&(d=d.replace(".",""),f=new p(1),f.e=d.length-s,f.d=it(me(f),10,o),f.e=f.d.length),l=it(d,10,o),i=c=l.length;l[--c]==0;)l.pop();if(!l[0])d=m?"0p+0":"0";else{if(s<0?i--:(e=new p(e),e.d=l,e.e=i,e=q(e,f,r,n,0,o),l=e.d,i=e.e,u=Cr),s=l[r],a=o/2,u=u||l[r+1]!==void 0,u=n<4?(s!==void 0||u)&&(n===0||n===(e.s<0?3:2)):s>a||s===a&&(n===4||u||n===6&&l[r-1]&1||n===(e.s<0?8:7)),l.length=r,u)for(;++l[--r]>o-1;)l[r]=0,r||(++i,l.unshift(1));for(c=l.length;!l[c-1];--c);for(s=0,d="";s<c;s++)d+=Kt.charAt(l[s]);if(m){if(c>1)if(t==16||t==8){for(s=t==16?4:3,--c;c%s;c++)d+="0";for(l=it(d,o,t),c=l.length;!l[c-1];--c);for(s=1,d="1.";s<c;s++)d+=Kt.charAt(l[s])}else d=d.charAt(0)+"."+d.slice(1);d=d+(i<0?"p":"p+")+i}else if(i<0){for(;++i;)d="0"+d;d="0."+d}else if(++i>c)for(i-=c;i--;)d+="0";else i<c&&(d=d.slice(0,i)+"."+d.slice(i))}d=(t==16?"0x":t==2?"0b":t==8?"0o":"")+d}return e.s<0?"-"+d:d}function Rr(e,t){if(e.length>t)return e.length=t,!0}function zn(e){return new this(e).abs()}function Yn(e){return new this(e).acos()}function Zn(e){return new this(e).acosh()}function Xn(e,t){return new this(e).plus(t)}function Qn(e){return new this(e).asin()}function $n(e){return new this(e).asinh()}function eo(e){return new this(e).atan()}function to(e){return new this(e).atanh()}function ro(e,t){e=new this(e),t=new this(t);var r,n=this.precision,o=this.rounding,i=n+4;return!e.s||!t.s?r=new this(NaN):!e.d&&!t.d?(r=le(this,i,1).times(t.s>0?.25:.75),r.s=e.s):!t.d||e.isZero()?(r=t.s<0?le(this,n,o):new this(0),r.s=e.s):!e.d||t.isZero()?(r=le(this,i,1).times(.5),r.s=e.s):t.s<0?(this.precision=i,this.rounding=1,r=this.atan(q(e,t,i,1)),t=le(this,i,1),this.precision=n,this.rounding=o,r=e.s<0?r.minus(t):r.plus(t)):r=this.atan(q(e,t,i,1)),r}function no(e){return new this(e).cbrt()}function oo(e){return I(e=new this(e),e.e+1,2)}function io(e,t,r){return new this(e).clamp(t,r)}function so(e){if(!e||typeof e!="object")throw Error(ct+"Object expected");var t,r,n,o=e.defaults===!0,i=["precision",1,Se,"rounding",0,8,"toExpNeg",-Ee,0,"toExpPos",0,Ee,"maxE",0,Ee,"minE",-Ee,0,"modulo",0,9];for(t=0;t<i.length;t+=3)if(r=i[t],o&&(this[r]=Ct[r]),(n=e[r])!==void 0)if(ie(n)===n&&n>=i[t+1]&&n<=i[t+2])this[r]=n;else throw Error(Ie+r+": "+n);if(r="crypto",o&&(this[r]=Ct[r]),(n=e[r])!==void 0)if(n===!0||n===!1||n===0||n===1)if(n)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[r]=!0;else throw Error(Fr);else this[r]=!1;else throw Error(Ie+r+": "+n);return this}function ao(e){return new this(e).cos()}function uo(e){return new this(e).cosh()}function Wr(e){var t,r,n;function o(i){var s,a,c,u=this;if(!(u instanceof o))return new o(i);if(u.constructor=o,Kr(i)){u.s=i.s,R?!i.d||i.e>o.maxE?(u.e=NaN,u.d=null):i.e<o.minE?(u.e=0,u.d=[0]):(u.e=i.e,u.d=i.d.slice()):(u.e=i.e,u.d=i.d?i.d.slice():i.d);return}if(c=typeof i,c==="number"){if(i===0){u.s=1/i<0?-1:1,u.e=0,u.d=[0];return}if(i<0?(i=-i,u.s=-1):u.s=1,i===~~i&&i<1e7){for(s=0,a=i;a>=10;a/=10)s++;R?s>o.maxE?(u.e=NaN,u.d=null):s<o.minE?(u.e=0,u.d=[0]):(u.e=s,u.d=[i]):(u.e=s,u.d=[i]);return}else if(i*0!==0){i||(u.s=NaN),u.e=NaN,u.d=null;return}return Nt(u,i.toString())}else if(c!=="string")throw Error(Ie+i);return(a=i.charCodeAt(0))===45?(i=i.slice(1),u.s=-1):(a===43&&(i=i.slice(1)),u.s=1),Er.test(i)?Nt(u,i):jn(u,i)}if(o.prototype=h,o.ROUND_UP=0,o.ROUND_DOWN=1,o.ROUND_CEIL=2,o.ROUND_FLOOR=3,o.ROUND_HALF_UP=4,o.ROUND_HALF_DOWN=5,o.ROUND_HALF_EVEN=6,o.ROUND_HALF_CEIL=7,o.ROUND_HALF_FLOOR=8,o.EUCLID=9,o.config=o.set=so,o.clone=Wr,o.isDecimal=Kr,o.abs=zn,o.acos=Yn,o.acosh=Zn,o.add=Xn,o.asin=Qn,o.asinh=$n,o.atan=eo,o.atanh=to,o.atan2=ro,o.cbrt=no,o.ceil=oo,o.clamp=io,o.cos=ao,o.cosh=uo,o.div=co,o.exp=lo,o.floor=fo,o.hypot=po,o.ln=mo,o.log=go,o.log10=yo,o.log2=ho,o.max=bo,o.min=wo,o.mod=To,o.mul=xo,o.pow=Po,o.random=ko,o.round=Ao,o.sign=Io,o.sin=So,o.sinh=Lo,o.sqrt=Bo,o.sub=Ro,o.sum=Ko,o.tan=Co,o.tanh=Vo,o.trunc=Fo,e===void 0&&(e={}),e&&e.defaults!==!0)for(n=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],t=0;t<n.length;)e.hasOwnProperty(r=n[t++])||(e[r]=this[r]);return o.config(e),o}function co(e,t){return new this(e).div(t)}function lo(e){return new this(e).exp()}function fo(e){return I(e=new this(e),e.e+1,3)}function po(){var e,t,r=new this(0);for(R=!1,e=0;e<arguments.length;)if(t=new this(arguments[e++]),t.d)r.d&&(r=r.plus(t.times(t)));else{if(t.s)return R=!0,new this(1/0);r=t}return R=!0,r.sqrt()}function Kr(e){return e instanceof qe||e&&e.toStringTag===Nr||!1}function mo(e){return new this(e).ln()}function go(e,t){return new this(e).log(t)}function ho(e){return new this(e).log(2)}function yo(e){return new this(e).log(10)}function bo(){return _r(this,arguments,"lt")}function wo(){return _r(this,arguments,"gt")}function To(e,t){return new this(e).mod(t)}function xo(e,t){return new this(e).mul(t)}function Po(e,t){return new this(e).pow(t)}function ko(e){var t,r,n,o,i=0,s=new this(1),a=[];if(e===void 0?e=this.precision:ae(e,1,Se),n=Math.ceil(e/L),this.crypto)if(crypto.getRandomValues)for(t=crypto.getRandomValues(new Uint32Array(n));i<n;)o=t[i],o>=429e7?t[i]=crypto.getRandomValues(new Uint32Array(1))[0]:a[i++]=o%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(n*=4);i<n;)o=t[i]+(t[i+1]<<8)+(t[i+2]<<16)+((t[i+3]&127)<<24),o>=214e7?crypto.randomBytes(4).copy(t,i):(a.push(o%1e7),i+=4);i=n/4}else throw Error(Fr);else for(;i<n;)a[i++]=Math.random()*1e7|0;for(n=a[--i],e%=L,n&&e&&(o=re(10,L-e),a[i]=(n/o|0)*o);a[i]===0;i--)a.pop();if(i<0)r=0,a=[0];else{for(r=-1;a[0]===0;r-=L)a.shift();for(n=1,o=a[0];o>=10;o/=10)n++;n<L&&(r-=L-n)}return s.e=r,s.d=a,s}function Ao(e){return I(e=new this(e),e.e+1,this.rounding)}function Io(e){return e=new this(e),e.d?e.d[0]?e.s:0*e.s:e.s||NaN}function So(e){return new this(e).sin()}function Lo(e){return new this(e).sinh()}function Bo(e){return new this(e).sqrt()}function Ro(e,t){return new this(e).sub(t)}function Ko(){var e=0,t=arguments,r=new this(t[e]);for(R=!1;r.s&&++e<t.length;)r=r.plus(t[e]);return R=!0,I(r,this.precision,this.rounding)}function Co(e){return new this(e).tan()}function Vo(e){return new this(e).tanh()}function Fo(e){return I(e=new this(e),e.e+1,1)}h[Symbol.for("nodejs.util.inspect.custom")]=h.toString;h[Symbol.toStringTag]="Decimal";var qe=h.constructor=Wr(Ct);st=new qe(st);at=new qe(at);var vt=qe;import{PublicKey as Dt}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as No}from"@solana/spl-token";import{PublicKey as Z,SystemProgram as Ur,SYSVAR_RENT_PUBKEY as Eo}from"@solana/web3.js";function y({pubkey:e,isSigner:t=!1,isWritable:r=!0}){return{pubkey:e,isWritable:r,isSigner:t}}var Mt=[y({pubkey:No,isWritable:!1}),y({pubkey:Ur.programId,isWritable:!1}),y({pubkey:Eo,isWritable:!1})];function qr({publicKey:e,transformSol:t}){let r=_t(e.toString());if(r instanceof Z)return t&&r.equals(ne)?ye:r;if(t&&r.toString()===ne.toBase58())return ye;if(typeof r=="string"){if(r===Z.default.toBase58())return Z.default;try{return new Z(r)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function _t(e){try{return new Z(e)}catch{return e}}var cs=new Z("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),ls=new Z("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),vo=new Z("SysvarRent111111111111111111111111111111111"),ds=new Z("SysvarC1ock11111111111111111111111111111111"),fs=new Z("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),Mo=new Z("Sysvar1nstructions1111111111111111111111111"),ps=Ur.programId,ms=new Z("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),gs=new Z("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),hs=new Z("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),ys=new Z("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),bs=new Z("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),ws=new Z("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),Ts=new Z("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),xs=new Z("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),Ps=new Z("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),ks=new Z("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),As=new Z("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),ye=new Z("So11111111111111111111111111111111111111112"),ne=Z.default;import{PublicKey as _o}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Gr}from"@solana/spl-token";var Hr={chainId:101,address:_o.default.toBase58(),programId:Gr.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},se={chainId:101,address:"So11111111111111111111111111111111111111112",programId:Gr.toBase58(),decimals:9,symbol:"WSOL",name:"Wrapped SOL",logoURI:"https://img.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}};var Ot=class{constructor({mint:t,decimals:r,symbol:n,name:o,skipMint:i=!1,isToken2022:s=!1}){if(t===ne.toBase58()||t instanceof Dt&&ne.equals(t)){this.decimals=se.decimals,this.symbol=se.symbol,this.name=se.name,this.mint=new Dt(se.address),this.isToken2022=!1;return}this.decimals=r,this.symbol=n||t.toString().substring(0,6),this.name=o||t.toString().substring(0,6),this.mint=i?Dt.default:qr({publicKey:t}),this.isToken2022=s}equals(t){return this===t?!0:this.mint.equals(t.mint)}},Ce=Ot;Ce.WSOL=new Ot(te(j({},se),{mint:se.address}));import pt from"big.js";import Wo from"bn.js";import Uo from"decimal.js-light";import Do from"toformat";var Oo=Do,Ge=Oo;var ft=Q("module/fraction"),Wt=Ge(pt),He=Ge(Uo),qo={[0]:He.ROUND_DOWN,[1]:He.ROUND_HALF_UP,[2]:He.ROUND_UP},Go={[0]:pt.roundDown,[1]:pt.roundHalfUp,[2]:pt.roundUp},O=class{constructor(t,r=new Wo(1)){this.numerator=V(t),this.denominator=V(r)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new O(this.denominator,this.numerator)}add(t){let r=t instanceof O?t:new O(V(t));return this.denominator.eq(r.denominator)?new O(this.numerator.add(r.numerator),this.denominator):new O(this.numerator.mul(r.denominator).add(r.numerator.mul(this.denominator)),this.denominator.mul(r.denominator))}sub(t){let r=t instanceof O?t:new O(V(t));return this.denominator.eq(r.denominator)?new O(this.numerator.sub(r.numerator),this.denominator):new O(this.numerator.mul(r.denominator).sub(r.numerator.mul(this.denominator)),this.denominator.mul(r.denominator))}mul(t){let r=t instanceof O?t:new O(V(t));return new O(this.numerator.mul(r.numerator),this.denominator.mul(r.denominator))}div(t){let r=t instanceof O?t:new O(V(t));return new O(this.numerator.mul(r.denominator),this.denominator.mul(r.numerator))}toSignificant(t,r={groupSeparator:""},n=1){Number.isInteger(t)||ft.logWithError(`${t} is not an integer.`),t<=0&&ft.logWithError(`${t} is not positive.`),He.set({precision:t+1,rounding:qo[n]});let o=new He(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(t);return o.toFormat(o.decimalPlaces(),r)}toFixed(t,r={groupSeparator:""},n=1){return Number.isInteger(t)||ft.logWithError(`${t} is not an integer.`),t<0&&ft.logWithError(`${t} is negative.`),Wt.DP=t,Wt.RM=Go[n]||1,new Wt(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,r)}isZero(){return this.numerator.isZero()}};var jo=Q("Raydium_price"),be=class extends O{constructor(r){let{baseToken:n,quoteToken:o,numerator:i,denominator:s}=r;super(i,s);this.baseToken=n,this.quoteToken=o,this.scalar=new O(Ut(n.decimals),Ut(o.decimals))}get raw(){return new O(this.numerator,this.denominator)}get adjusted(){return super.mul(this.scalar)}invert(){return new be({baseToken:this.quoteToken,quoteToken:this.baseToken,denominator:this.numerator,numerator:this.denominator})}mul(r){this.quoteToken!==r.baseToken&&jo.logWithError("mul token not equals");let n=super.mul(r);return new be({baseToken:this.baseToken,quoteToken:r.quoteToken,denominator:n.denominator,numerator:n.numerator})}toSignificant(r=this.quoteToken.decimals,n,o){return this.adjusted.toSignificant(r,n,o)}toFixed(r=this.quoteToken.decimals,n,o){return this.adjusted.toFixed(r,n,o)}};var qt=class{constructor({decimals:t,symbol:r="UNKNOWN",name:n="UNKNOWN"}){this.decimals=t,this.symbol=r,this.name=n}equals(t){return this===t}},mt=qt;mt.SOL=new qt(Hr);import Jo from"bn.js";var jr=new O(new Jo(100)),Me=class extends O{toSignificant(t=5,r,n){return this.mul(jr).toSignificant(t,r,n)}toFixed(t=2,r,n){return this.mul(jr).toFixed(t,r,n)}};var Gt=new ue(0),Ta=new ue(1),xa=new ue(2),Pa=new ue(3),ka=new ue(5),Ht=new ue(10),Aa=new ue(100),Ia=new ue(1e3),Sa=new ue(1e4),Jr=9007199254740991;function V(e){let t=Q("Raydium_parseBigNumberish");if(e instanceof ue)return e;if(typeof e=="string"){if(e.match(/^-?[0-9]+$/))return new ue(e);t.logWithError(`invalid BigNumberish string: ${e}`)}return typeof e=="number"?(e%1&&t.logWithError(`BigNumberish number underflow: ${e}`),(e>=Jr||e<=-Jr)&&t.logWithError(`BigNumberish number overflow: ${e}`),new ue(String(e))):typeof e=="bigint"?new ue(e.toString()):(t.error(`invalid BigNumberish value: ${e}`),new ue(0))}function Ut(e){return Ht.pow(V(e))}var Yo=Q("Raydium_amount"),Yr=Ge(zo);function Zo(e,t){let r="0",n="0";if(e.includes(".")){let o=e.split(".");o.length===2?([r,n]=o,n=n.padEnd(t,"0")):Yo.logWithError(`invalid number string, num: ${e}`)}else r=e;return[r,n.slice(0,t)||n]}var we=class extends O{constructor(r,n,o=!0,i){let s=new gt(0),a=Ht.pow(new gt(r.decimals));if(o)s=V(n);else{let c=new gt(0),u=new gt(0);if(typeof n=="string"||typeof n=="number"||typeof n=="bigint"){let[d,l]=Zo(n.toString(),r.decimals);c=V(d),u=V(l)}c=c.mul(a),s=c.add(u)}super(s,a);this.logger=Q(i||"TokenAmount"),this.token=r}get raw(){return this.numerator}isZero(){return this.raw.isZero()}gt(r){return this.token.equals(r.token)||this.logger.logWithError("gt token not equals"),this.raw.gt(r.raw)}lt(r){return this.token.equals(r.token)||this.logger.logWithError("lt token not equals"),this.raw.lt(r.raw)}add(r){return this.token.equals(r.token)||this.logger.logWithError("add token not equals"),new we(this.token,this.raw.add(r.raw))}subtract(r){return this.token.equals(r.token)||this.logger.logWithError("sub token not equals"),new we(this.token,this.raw.sub(r.raw))}toSignificant(r=this.token.decimals,n,o=0){return super.toSignificant(r,n,o)}toFixed(r=this.token.decimals,n,o=0){return r>this.token.decimals&&this.logger.logWithError("decimals overflow"),super.toFixed(r,n,o)}toExact(r={groupSeparator:""}){return Yr.DP=this.token.decimals,new Yr(this.numerator.toString()).div(this.denominator.toString()).toFormat(r)}};function zr(e){return typeof e=="object"&&e!==null&&![Ce,we,Xo,O,Qo,be,Me].some(t=>typeof t=="object"&&e instanceof t)}function Te(e){return typeof e=="string"?_t(e):Array.isArray(e)?e.map(t=>Te(t)):zr(e)?Object.fromEntries(Object.entries(e).map(([t,r])=>[t,Te(r)])):e}import{PublicKey as De,sendAndConfirmTransaction as Zt,Transaction as ze,TransactionMessage as Ye,VersionedTransaction as Ze,SystemProgram as ii,LAMPORTS_PER_SOL as si}from"@solana/web3.js";import ai from"axios";var J={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",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",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"};import{PublicKey as $o,ComputeBudgetProgram as Zr,Transaction as Qr,TransactionMessage as ei,Keypair as $r,VersionedTransaction as jt}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ti}from"@solana/spl-token";var Xr=Q("Raydium_txUtil"),en=1644;function ht(e){let t=[],r=[];return e.microLamports&&(t.push(Zr.setComputeUnitPrice({microLamports:e.microLamports})),r.push(J.SetComputeUnitPrice)),e.units&&(t.push(Zr.setComputeUnitLimit({units:e.units})),r.push(J.SetComputeUnitLimit)),{instructions:t,instructionTypes:r}}async function _e(e,t){var n,o;let r=t!=null?t:"confirmed";try{return((o=await((n=e.getLatestBlockhash)==null?void 0:n.call(e,{commitment:r})))==null?void 0:o.blockhash)||(await e.getRecentBlockhash(r)).blockhash}catch{return(await e.getRecentBlockhash(r)).blockhash}}function ri(e,t){e.length<1&&Xr.logWithError(`no instructions provided: ${e.toString()}`),t.length<1&&Xr.logWithError(`no signers provided:, ${t.toString()}`);let r=new Qr;r.recentBlockhash="11111111111111111111111111111111",r.feePayer=t[0],r.add(...e);try{return Buffer.from(r.serialize({verifySignatures:!1})).toString("base64").length<en}catch{return!1}}function Ve(e,t){let[r,n]=$o.findProgramAddressSync(e,t);return{publicKey:r,nonce:n}}function je({instructions:e,payer:t,signers:r}){return ri(e,[t,...r])}function Je({instructions:e,payer:t,lookupTableAddressAccount:r,recentBlockhash:n=$r.generate().publicKey.toString()}){let i=new ei({payerKey:t,recentBlockhash:n,instructions:e}).compileToV0Message(Object.values(r!=null?r:{}));try{return Buffer.from(new jt(i).serialize()).toString("base64").length<en}catch{return!1}}var tn=e=>Buffer.isBuffer(e)?e:e instanceof Uint8Array?Buffer.from(e.buffer,e.byteOffset,e.byteLength):Buffer.from(e);function Fe(e){let t=[];return e.forEach(r=>{r instanceof Qr&&(r.recentBlockhash||(r.recentBlockhash=ti.toBase58()),r.feePayer||(r.feePayer=$r.generate().publicKey));let n=r.serialize({requireAllSignatures:!1,verifySignatures:!1});r instanceof jt&&(n=tn(n));let o=n.toString("base64");t.push(o)}),console.log("simulate tx string:",t),t}function rn(e){let t=e.serialize({requireAllSignatures:!1,verifySignatures:!1});return e instanceof jt&&(t=tn(t)),t.toString("base64")}import{PublicKey as on,AddressLookupTableAccount as yt}from"@solana/web3.js";import{PublicKey as ni}from"@solana/web3.js";import{MINT_SIZE as gu,TOKEN_PROGRAM_ID as hu,getTransferFeeConfig as yu,unpackMint as bu}from"@solana/spl-token";var Jt=Q("Raydium_accountInfo_util");async function nn(e,t,r){let{batchRequest:n,commitment:o="confirmed",chunkCount:i=100}=j({batchRequest:!1},r),s=zt(t,i),a=new Array(s.length).fill([]);if(n){let c=s.map(l=>{let f=e._buildArgs([l.map(p=>p.toBase58())],o,"base64");return{methodName:"getMultipleAccounts",args:f}}),u=zt(c,10);a=(await(await Promise.all(u.map(async l=>await e._rpcBatchRequest(l)))).flat()).map(l=>(l.error&&Jt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${l.error.message}`),l.result.value.map(f=>{if(f){let{data:p,executable:m,lamports:g,owner:k,rentEpoch:x}=f;return p.length!==2&&p[1]!=="base64"&&Jt.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(p[0],"base64"),executable:m,lamports:g,owner:new ni(k),rentEpoch:x}}return null})))}else try{a=await Promise.all(s.map(c=>e.getMultipleAccountsInfo(c,o)))}catch(c){c instanceof Error&&Jt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${c.message}`)}return a.flat()}async function Yt({connection:e,address:t}){let r=await nn(e,[...new Set(t.map(o=>o.toString()))].map(o=>new on(o))),n={};for(let o=0;o<t.length;o++){let i=r[o],s=t[o];if(!i)continue;let a=new yt({key:s,state:yt.deserialize(i.data)});n[s.toString()]=a,bt[s.toString()]=a}return n}var bt={"2immgwYNHBbyVQKVGCEkgWpi53bLwWNRMB5G2nbgYV17":new yt({key:new on("2immgwYNHBbyVQKVGCEkgWpi53bLwWNRMB5G2nbgYV17"),state:yt.deserialize(Buffer.from("AQAAAP//////////d49+DAAAAAAAAQZMWvw7GUNJdaccNBVnb57OKakxL2BHLYvhRwVILRsgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMGRm/lIRcy/+ytunLDm+e8jOW7xfcSayxDmzpAAAAABt324ddloZPZy+FGzut5rBy0he1fWzeROoz1hX7/AKkG3fbh7nWP3hhCXbzkbM3athr8TYO5DSf+vfko2KGL/AVKU1D4XciC1hSlVnJ4iilt3x6rq9CmBniISTL07vagBqfVFxksXFEhjMlMPUrxf1ja7gibof1E49vZigAAAAAGp9UXGMd0yShWY5hpHV62i164o5tLbVxzVVshAAAAAIyXJY9OJInxuz0QKRSODYMLWhOZ2v8QhASOe9jb6fhZC3BlsePRfEU4nVJ/awTDzVi4bHMaoP21SbbRvAP4KUbIScv+6Yw2LHF/6K0ZjUPibbSWXCirYPGuuVl7zT789IUPLW4CpHr4JNCatp3ELXDLKMv6JJ+37le50lbBJ2LvDQdRqCgtphMF/imcN7mY5YRx2xE1A3MQ+L4QRaYK9u4GRfZP3LsAd00a+IkCpA22UNQMKdq5BFbJuwuOLqc8zxCTDlqxBG8J0HcxtfogQHDK06ukzfaXiNDKAob1MqBHS9lJxDYCwz8gd5DtFqNSTKG5l1zxIaKpDP/sffi2is1H9aKveyXSu5StXElYRl9SD5As0DHE4N0GLnf84/siiKXVyp4Ez121kLcUui/jLLFZEz/BwZK3Ilf9B9OcsEAeDMKAy2vjGSxQODgBz0QwGA+eP4ZjIjrIAQaXENv31QfLlOdXSRCkaybRniDHF4C8YcwhcvsqrOVuTP4B2Na+9wLdtrB31uz2rtlFI5kahdsnp/d1SrASDInYCtTYtdoke4kX+hoKWcEWM4Tle8pTUkUVv4BxS6fje/EzKBE4Qu9N9LMnrw/JNO0hqMVB4rk/2ou4AB1loQ7FZoPwut2o4KZB+0p9xnbrQKw038qjpHar+PyDwvxBRcu5hpHw3dguezeWv+IwvgW5icu8EGkhGa9AkFPPJT7VMSFb8xowveU=","base64"))})};var ui=new De("3AVi9Tg9Uo68tJfuvoKvqKNWKkC5wPdSSdeBnizKZ6jT"),wt=class{constructor(t){this.instructions=[];this.endInstructions=[];this.lookupTableAddress=[];this.signers=[];this.instructionTypes=[];this.endInstructionTypes=[];this.connection=t.connection,this.feePayer=t.feePayer,this.signAllTransactions=t.signAllTransactions,this.owner=t.owner,this.cluster=t.cluster,this.blockhashCommitment=t.blockhashCommitment,this.enableJito=!!t.enableJito,this.api=t.api}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 n;let t=(await ai.get(`https://solanacompass.com/api/fees?cacheFreshTime=${3e5}`)).data,{avg:r}=(n=t==null?void 0:t[15])!=null?n:{};if(!!r)return{units:6e5,microLamports:Math.min(Math.ceil(r*1e6/6e5),25e3)}}addCustomComputeBudget(t){if(t){let{instructions:r,instructionTypes:n}=ht(t);return this.instructions.unshift(...r),this.instructionTypes.unshift(...n),!0}return!1}async calComputeBudget({config:t,defaultIns:r}){try{let n=t||await this.getComputeBudgetConfig();if(this.addCustomComputeBudget(n))return;r&&this.instructions.unshift(...r)}catch{r&&this.instructions.unshift(...r)}}addJitoInstruction(t){let{fee:r,bundle:n}=t||{};if(!this.owner)return;let o=ii.transfer({fromPubkey:this.owner.publicKey,toPubkey:ui,lamports:r?r*si:1e4});n?this.instructions.unshift(o):this.instructions.push(o)}async sendTxToJito(t){if(!this.api)return;let r=t.map(o=>rn(o));return(await this.api.sendTxToJito(r)).result}addInstruction({instructions:t=[],endInstructions:r=[],signers:n=[],instructionTypes:o=[],endInstructionTypes:i=[],lookupTableAddress:s=[]}){return this.instructions.push(...t),this.endInstructions.push(...r),this.signers.push(...n),this.instructionTypes.push(...o),this.endInstructionTypes.push(...i),this.lookupTableAddress.push(...s.filter(a=>a!==De.default.toString())),this}async versionBuild({txVersion:t,extInfo:r}){return t===0?await this.buildV0(j({},r||{})):this.build(r)}build(t){var n;this.enableJito&&this.addJitoInstruction();let r=new ze;return this.allInstructions.length&&r.add(...this.allInstructions),r.feePayer=this.feePayer,((n=this.owner)==null?void 0:n.signer)&&!this.signers.some(o=>o.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer),{builder:this,transaction:r,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async o=>{var u;let{recentBlockHash:i,skipPreflight:s=!0,sendAndConfirm:a}=o||{},c=i!=null?i:await _e(this.connection,this.blockhashCommitment);if(r.recentBlockhash=c,this.signers.length&&r.sign(...this.signers),Fe([r]),(u=this.owner)!=null&&u.isKeyPair)return{txId:a?await Zt(this.connection,r,this.signers.find(l=>l.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:s}):await this.connection.sendRawTransaction(r.serialize(),{skipPreflight:s}),signedTx:r};if(this.signAllTransactions){let d=await this.signAllTransactions([r]);return this.enableJito&&this.sendTxToJito(d),{txId:await this.connection.sendRawTransaction(d[0].serialize(),{skipPreflight:s}),signedTx:d[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:t||{}}}buildMultiTx(t){var u;let{extraPreBuildData:r=[],extInfo:n}=t,{transaction:o}=this.build(n),i=r.filter(d=>d.transaction.instructions.length>0),s=[o,...i.map(d=>d.transaction)],a=[this.signers,...i.map(d=>d.signers)],c=[...this.instructionTypes,...i.map(d=>d.instructionTypes).flat()];return(u=this.owner)!=null&&u.signer&&a.forEach(d=>{d.some(l=>l.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),{builder:this,transactions:s,signers:a,instructionTypes:c,execute:async d=>{var k;let{sequentially:l,onTxUpdate:f,recentBlockHash:p,skipPreflight:m=!0}=d||{},g=p!=null?p:await _e(this.connection,this.blockhashCommitment);if((k=this.owner)!=null&&k.isKeyPair){if(l){let x=[];for(let w of s){let b=await Zt(this.connection,w,this.signers.find(T=>T.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:m});x.push(b)}return{txIds:x,signedTxs:s}}return{txIds:await await Promise.all(s.map(async x=>(x.recentBlockhash=g,await this.connection.sendRawTransaction(x.serialize(),{skipPreflight:m})))),signedTxs:s}}if(this.signAllTransactions){let x=s.map((b,T)=>(b.recentBlockhash=g,a[T].length&&b.sign(...a[T]),b));Fe(x);let w=await this.signAllTransactions(x);if(l){let b=0,T=[],S=async()=>{if(!w[b])return;this.enableJito&&this.sendTxToJito([w[b]]);let A=await this.connection.sendRawTransaction(w[b].serialize(),{skipPreflight:m});T.push({txId:A,status:"sent",signedTx:w[b]}),f==null||f([...T]),b++,this.connection.onSignature(A,W=>{let E=T.findIndex(B=>B.txId===A);E>-1&&(T[E].status=W.err?"error":"success"),f==null||f([...T]),W.err||S()},"processed"),this.connection.getSignatureStatus(A)};return await S(),{txIds:T.map(A=>A.txId),signedTxs:w}}else{let b=[];for(let T=0;T<w.length;T+=1){let S=await this.connection.sendRawTransaction(w[T].serialize(),{skipPreflight:m});b.push(S)}return this.enableJito&&this.sendTxToJito(w),{txIds:b,signedTxs:w}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:n||{}}}async versionMultiBuild({extraPreBuildData:t,txVersion:r,extInfo:n}){return r===0?await this.buildV0MultiTx({extraPreBuildData:t,buildProps:n||{}}):this.buildMultiTx({extraPreBuildData:t,extInfo:n})}async buildV0(t){var p;let f=t||{},{lookupTableCache:r={},lookupTableAddress:n=[],forerunCreate:o}=f,i=ot(f,["lookupTableCache","lookupTableAddress","forerunCreate"]),s=j(j({},this.cluster==="devnet"?{}:bt),r);this.enableJito&&this.addJitoInstruction();let a=Array.from(new Set([...n,...this.lookupTableAddress])),c=[];for(let m of a)s[m]===void 0&&c.push(new De(m));let u=await Yt({connection:this.connection,address:c});for(let[m,g]of Object.entries(u))s[m]=g;let d=new Ye({payerKey:this.feePayer,recentBlockhash:o?De.default.toBase58():await _e(this.connection,this.blockhashCommitment),instructions:[...this.allInstructions]}).compileToV0Message(Object.values(s));((p=this.owner)==null?void 0:p.signer)&&!this.signers.some(m=>m.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer);let l=new Ze(d);return l.sign(this.signers),{builder:this,transaction:l,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async m=>{var w;let{recentBlockHash:g,skipPreflight:k=!0,sendAndConfirm:x}=m||{};if(g&&(l.message.recentBlockhash=g),Fe([l]),(w=this.owner)!=null&&w.isKeyPair){let b=await this.connection.sendTransaction(l,{skipPreflight:k});if(x){let{lastValidBlockHeight:T,blockhash:S}=await this.connection.getLatestBlockhash({commitment:this.blockhashCommitment});await this.connection.confirmTransaction({blockhash:S,lastValidBlockHeight:T,signature:b},"confirmed")}return{txId:b,signedTx:l}}if(this.signAllTransactions){let b=await this.signAllTransactions([l]);return this.enableJito&&this.sendTxToJito(b),{txId:await this.connection.sendTransaction(b[0],{skipPreflight:k}),signedTx:b[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:i||{}}}async buildV0MultiTx(t){var u;let{extraPreBuildData:r=[],buildProps:n}=t,{transaction:o}=await this.buildV0(n),i=r.filter(d=>d.builder.instructions.length>0),s=[o,...i.map(d=>d.transaction)],a=[this.signers,...i.map(d=>d.signers)],c=[...this.instructionTypes,...i.map(d=>d.instructionTypes).flat()];return(u=this.owner)!=null&&u.signer&&a.forEach(d=>{d.some(l=>l.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),s.forEach(async(d,l)=>{d.sign(a[l])}),{builder:this,transactions:s,signers:a,instructionTypes:c,buildProps:n,execute:async d=>{var g;let{sequentially:l,onTxUpdate:f,recentBlockHash:p,skipPreflight:m=!0}=d||{};if(p&&s.forEach(k=>k.message.recentBlockhash=p),Fe(s),(g=this.owner)!=null&&g.isKeyPair){if(l){let k=[];for(let x of s){let w=await this.connection.sendTransaction(x,{skipPreflight:m}),{lastValidBlockHeight:b,blockhash:T}=await this.connection.getLatestBlockhash({commitment:this.blockhashCommitment});await this.connection.confirmTransaction({blockhash:T,lastValidBlockHeight:b,signature:w},"confirmed"),k.push(w)}return{txIds:k,signedTxs:s}}return{txIds:await Promise.all(s.map(async k=>await this.connection.sendTransaction(k,{skipPreflight:m}))),signedTxs:s}}if(this.signAllTransactions){let k=await this.signAllTransactions(s);if(l){let x=0,w=[],b=async()=>{if(!k[x])return;let T=await this.connection.sendTransaction(k[x],{skipPreflight:m});this.enableJito&&this.sendTxToJito([k[x]]),w.push({txId:T,status:"sent",signedTx:k[x]}),f==null||f([...w]),x++,this.connection.onSignature(T,S=>{let A=w.findIndex(W=>W.txId===T);A>-1&&(w[A].status=S.err?"error":"success"),f==null||f([...w]),S.err||b()},"processed"),this.connection.getSignatureStatus(T)};return b(),{txIds:[],signedTxs:k}}else{let x=[];for(let w=0;w<k.length;w+=1){let b=await this.connection.sendTransaction(k[w],{skipPreflight:m});x.push(b)}return this.enableJito&&this.sendTxToJito(k),{txIds:x,signedTxs:k}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:n||{}}}async sizeCheckBuild(t){var d;let u=t||{},{computeBudgetConfig:r}=u,n=ot(u,["computeBudgetConfig"]),o=r?ht(r):{instructions:[],instructionTypes:[]},i=this.signers.reduce((l,f)=>te(j({},l),{[f.publicKey.toBase58()]:f}),{});this.enableJito&&this.addJitoInstruction({bundle:!0});let s=[],a=[],c=[];if(this.allInstructions.forEach(l=>{let f=[...c,l],p=r?[...o.instructions,...f]:f,g=[...new Set(f.map(k=>k.keys.filter(x=>x.isSigner).map(x=>x.pubkey.toString())).flat()).values()].map(k=>new De(k));if(c.length<12&&je({instructions:p,payer:this.feePayer,signers:g})||je({instructions:f,payer:this.feePayer,signers:g}))c.push(l);else{if(c.length===0)throw Error("item ins too big");je({instructions:r?[...o.instructions,...c]:[...c],payer:this.feePayer,signers:g})?s.push(new ze().add(...o.instructions,...c)):s.push(new ze().add(...c)),a.push(Array.from(new Set(c.map(k=>k.keys.filter(x=>x.isSigner).map(x=>x.pubkey.toString())).flat())).map(k=>i[k]).filter(k=>k!==void 0)),c=[l]}}),c.length>0){let f=[...new Set(c.map(p=>p.keys.filter(m=>m.isSigner).map(m=>m.pubkey.toString())).flat()).values()].map(p=>i[p]).filter(p=>p!==void 0);je({instructions:r?[...o.instructions,...c]:[...c],payer:this.feePayer,signers:f.map(p=>p.publicKey)})?s.push(new ze().add(...o.instructions,...c)):s.push(new ze().add(...c)),a.push(f)}return s.forEach(l=>l.feePayer=this.feePayer),(d=this.owner)!=null&&d.signer&&a.forEach(l=>{l.some(f=>f.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),{builder:this,transactions:s,signers:a,instructionTypes:this.instructionTypes,execute:async l=>{var x;let{sequentially:f,onTxUpdate:p,recentBlockHash:m,skipPreflight:g=!0}=l||{},k=m!=null?m:await _e(this.connection,this.blockhashCommitment);if(s.forEach(async(w,b)=>{w.recentBlockhash=k,a[b].length&&w.sign(...a[b])}),Fe(s),(x=this.owner)!=null&&x.isKeyPair){if(f){let w=[];for(let b of s){let T=await Zt(this.connection,b,this.signers.find(S=>S.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:g});w.push(T)}return{txIds:w,signedTxs:s}}return{txIds:await Promise.all(s.map(async w=>await this.connection.sendRawTransaction(w.serialize(),{skipPreflight:g}))),signedTxs:s}}if(this.signAllTransactions){let w=await this.signAllTransactions(s);if(f){let b=0,T=[],S=async()=>{if(!w[b])return;let A=await this.connection.sendRawTransaction(w[b].serialize(),{skipPreflight:g});T.push({txId:A,status:"sent",signedTx:w[b]}),p==null||p([...T]),b++,this.connection.onSignature(A,W=>{let E=T.findIndex(B=>B.txId===A);E>-1&&(T[E].status=W.err?"error":"success"),p==null||p([...T]),W.err||S()},"processed"),this.connection.getSignatureStatus(A)};return await S(),{txIds:T.map(A=>A.txId),signedTxs:w}}else{let b=[];for(let T=0;T<w.length;T+=1){let S=await this.connection.sendRawTransaction(w[T].serialize(),{skipPreflight:g});b.push(S)}return{txIds:b,signedTxs:w}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:n||{}}}async sizeCheckBuildV0(t){var x;let k=t||{},{computeBudgetConfig:r,lookupTableCache:n={},lookupTableAddress:o=[]}=k,i=ot(k,["computeBudgetConfig","lookupTableCache","lookupTableAddress"]);this.enableJito&&this.addJitoInstruction();let s=j(j({},this.cluster==="devnet"?{}:bt),n),a=Array.from(new Set([...this.lookupTableAddress,...o])),c=[];for(let w of a)s[w]===void 0&&c.push(new De(w));let u=await Yt({connection:this.connection,address:c});for(let[w,b]of Object.entries(u))s[w]=b;let d=r?ht(r):{instructions:[],instructionTypes:[]},l=await _e(this.connection,this.blockhashCommitment),f=this.signers.reduce((w,b)=>te(j({},w),{[b.publicKey.toBase58()]:b}),{});this.enableJito&&this.addJitoInstruction({bundle:!0});let p=[],m=[],g=[];if(this.allInstructions.forEach(w=>{let b=[...g,w],T=r?[...d.instructions,...b]:b;if(g.length<12&&Je({instructions:T,payer:this.feePayer,lookupTableAddressAccount:s})||Je({instructions:b,payer:this.feePayer,lookupTableAddressAccount:s}))g.push(w);else{if(g.length===0)throw Error("item ins too big");let S={};for(let A of[...new Set(a)])s[A]!==void 0&&(S[A]=s[A]);if(r&&Je({instructions:[...d.instructions,...g],payer:this.feePayer,lookupTableAddressAccount:s,recentBlockhash:l})){let A=new Ye({payerKey:this.feePayer,recentBlockhash:l,instructions:[...d.instructions,...g]}).compileToV0Message(Object.values(s));p.push(new Ze(A))}else{let A=new Ye({payerKey:this.feePayer,recentBlockhash:l,instructions:[...g]}).compileToV0Message(Object.values(s));p.push(new Ze(A))}m.push(Array.from(new Set(g.map(A=>A.keys.filter(W=>W.isSigner).map(W=>W.pubkey.toString())).flat())).map(A=>f[A]).filter(A=>A!==void 0)),g=[w]}}),g.length>0){let b=[...new Set(g.map(T=>T.keys.filter(S=>S.isSigner).map(S=>S.pubkey.toString())).flat()).values()].map(T=>f[T]).filter(T=>T!==void 0);if(r&&Je({instructions:[...d.instructions,...g],payer:this.feePayer,lookupTableAddressAccount:s,recentBlockhash:l})){let T=new Ye({payerKey:this.feePayer,recentBlockhash:l,instructions:[...d.instructions,...g]}).compileToV0Message(Object.values(s));p.push(new Ze(T))}else{let T=new Ye({payerKey:this.feePayer,recentBlockhash:l,instructions:[...g]}).compileToV0Message(Object.values(s));p.push(new Ze(T))}m.push(b)}return(x=this.owner)!=null&&x.signer&&m.forEach(w=>{w.some(b=>b.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),{builder:this,transactions:p,buildProps:t,signers:m,instructionTypes:this.instructionTypes,execute:async w=>{var W;let{sequentially:b,onTxUpdate:T,recentBlockHash:S,skipPreflight:A=!0}=w||{};if(p.map(async(E,B)=>{m[B].length&&E.sign(m[B]),S&&(E.message.recentBlockhash=S)}),Fe(p),(W=this.owner)!=null&&W.isKeyPair){if(b){let E=[];for(let B of p){let v=await this.connection.sendTransaction(B,{skipPreflight:A}),{lastValidBlockHeight:U,blockhash:H}=await this.connection.getLatestBlockhash({commitment:this.blockhashCommitment});await this.connection.confirmTransaction({blockhash:H,lastValidBlockHeight:U,signature:v},"confirmed"),E.push(v)}return{txIds:E,signedTxs:p}}return{txIds:await Promise.all(p.map(async E=>await this.connection.sendTransaction(E,{skipPreflight:A}))),signedTxs:p}}if(this.signAllTransactions){let E=await this.signAllTransactions(p);if(b){let B=0,v=[],U=async()=>{if(!E[B])return;let H=await this.connection.sendTransaction(E[B],{skipPreflight:A});v.push({txId:H,status:"sent",signedTx:E[B]}),T==null||T([...v]),B++,this.connection.onSignature(H,N=>{let ee=v.findIndex(z=>z.txId===H);ee>-1&&(v[ee].status=N.err?"error":"success"),T==null||T([...v]),N.err||U()},"processed"),this.connection.getSignatureStatus(H)};return U(),{txIds:[],signedTxs:E}}else{let B=[];for(let v=0;v<E.length;v+=1){let U=await this.connection.sendTransaction(E[v],{skipPreflight:A});B.push(U)}return{txIds:B,signedTxs:E}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:i||{}}}};function zt(e,t=1,r=[]){let n=[...e];if(t<=0)return r;for(;n.length;)r.push(n.splice(0,t));return r}import{PublicKey as M}from"@solana/web3.js";var sn=new M("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),an=new M("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Xe=new M("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),Wu=new M("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Uu=new M("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),qu=new M("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),Gu=new M("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),Hu=new M("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),ju=new M("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Ju=new M("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),zu=new M("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Yu=new M("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Zu=new M("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),Xu=new M("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),Qu=new M("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),$u=new M("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi"),ec=new M("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),tc=new M("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),rc=new M("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),ci=new M("CPMDWBwJDtYax9qW7AyRuVC19Cc4L4Vcy4n2BHAbHkCW"),li=new M("7rQ1QFNosMkUCuh7Z7fPbTHvh73b68sQYdirycEzJVuw"),di=new M("G11FKBRaAkHAKuLCgLM6K6NUc9rTjPAznRCjZifrTQe2");var nc={SERUM_MARKET:M.default,OPENBOOK_MARKET:new M("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),UTIL1216:M.default,FarmV3:new M("85BFyr98MbCUU9MVTEgzx1nbhWACbJqLzho6zd6DZcWL"),FarmV5:new M("EcLzTrNg9V7qhcdyXDe2qjtPkiGzDM2UbdRaeaadU5r2"),FarmV6:new M("Farm2hJLcqPtPg8M4rR6DMrsRNc5TPm5Cs4bVQrMe2T7"),AmmV4:new M("HWy1jotHpo6UqeQxx49dpYYdQB8wj9Qk9MdxwjLvDHB8"),AmmStable:new M("DDg4VmQaJV9ogWce7LpcjBA9bv22wRp5uaTPa5pGjijF"),CLMM:new M("devi51mZmdwUJGU9hjN27vEz64Gps7uUefqxg27EAtH"),Router:new M("BVChZ3XFEwTMUk1o9i3HAf91H6mFxSwa5X2wFAWhYPhU"),CREATE_CPMM_POOL_PROGRAM:ci,CREATE_CPMM_POOL_AUTH:li,CREATE_CPMM_POOL_FEE_ACC:di,FEE_DESTINATION_ID:new M("3XMrhbv989VxAMi3DErLV9eJht1pHppW5LbKxe9fkEFR")};import{PublicKey as fi}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as pi}from"@solana/spl-token";function Oe(e,t,r){return Ve([e.toBuffer(),(r!=null?r:pi).toBuffer(),t.toBuffer()],new fi("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"))}import lc from"bn.js";import{PublicKey as Li,Keypair as Bi}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Ri}from"@solana/spl-token";import Jl from"bn.js";import{PublicKey as Ti}from"@solana/web3.js";import dn,{isBN as fn}from"bn.js";import{bits as Kc,BitStructure as Cc,blob as mi,Blob as Vc,cstr as Fc,f32 as Nc,f32be as Ec,f64 as vc,f64be as Mc,greedy as _c,Layout as gi,ns64 as Dc,ns64be as Oc,nu64 as Wc,nu64be as Uc,offset as qc,s16 as Gc,s16be as Hc,s24 as jc,s24be as Jc,s32 as zc,s32be as Yc,s40 as Zc,s40be as Xc,s48 as Qc,s48be as $c,s8 as el,seq as hi,struct as tl,Structure as yi,u16 as rl,u16be as nl,u24 as ol,u24be as il,u32 as sl,u32be as al,u40 as ul,u40be as cl,u48 as ll,u48be as dl,u8 as bi,UInt as wi,union as fl,Union as pl,unionLayoutDiscriminator as ml,utf8 as gl}from"@solana/buffer-layout";var Xt=gi,un=yi;var Qt=wi;var cn=bi;var ln=hi;var Ne=mi;var We=class extends Xt{constructor(r,n,o){super(r,o);this.blob=Ne(r),this.signed=n}decode(r,n=0){let o=new dn(this.blob.decode(r,n),10,"le");return this.signed?o.fromTwos(this.span*8).clone():o}encode(r,n,o=0){return typeof r=="number"&&(r=new dn(r)),this.signed&&(r=r.toTwos(this.span*8)),this.blob.encode(r.toArrayLike(Buffer,"le",this.span),n,o)}};function $(e){return new Qt(1,e)}function Qe(e){return new Qt(4,e)}function P(e){return new We(8,!1,e)}function xe(e){return new We(16,!1,e)}function pn(e){return new We(1,!0,e)}function xt(e){return new We(8,!0,e)}var Tt=class extends Xt{constructor(r,n,o,i){super(r.span,i);this.layout=r,this.decoder=n,this.encoder=o}decode(r,n){return this.decoder(this.layout.decode(r,n))}encode(r,n,o){return this.layout.encode(this.encoder(r),n,o)}getSpan(r,n){return this.layout.getSpan(r,n)}};function F(e){return new Tt(Ne(32),t=>new Ti(t),t=>t.toBuffer(),e)}function Pt(e){return new Tt(cn(),xi,Pi,e)}function xi(e){if(e===0)return!1;if(e===1)return!0;throw new Error("Invalid bool: "+e)}function Pi(e){return e?1:0}var $t=class extends un{decode(t,r){return super.decode(t,r)}};function Y(e,t,r){return new $t(e,t,r)}function X(e,t,r){let n,o=typeof t=="number"?t:fn(t)?t.toNumber():new Proxy(t,{get(i,s){if(!n){let a=Reflect.get(i,"count");n=fn(a)?a.toNumber():a,Reflect.set(i,"count",n)}return Reflect.get(i,s)},set(i,s,a){return s==="count"&&(n=a),Reflect.set(i,s,a)}});return ln(e,o,r)}var $e=Y([F("mint"),F("owner"),P("amount"),Qe("delegateOption"),F("delegate"),$("state"),Qe("isNativeOption"),P("isNative"),P("delegatedAmount"),Qe("closeAuthorityOption"),F("closeAuthority")]);function ki(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}function er(e,...t){if(!ki(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error(`Uint8Array expected of length ${t}, not of length=${e.length}`)}function tr(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function mn(e,t){er(e);let r=t.outputLen;if(e.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var At=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),fe=(e,t)=>e<<32-t|e>>>t;var Vl=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Ai(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function rr(e){return typeof e=="string"&&(e=Ai(e)),er(e),e}var kt=class{clone(){return this._cloneInto()}},Fl={}.toString;function gn(e){let t=n=>e().update(rr(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function Ii(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let o=BigInt(32),i=BigInt(4294967295),s=Number(r>>o&i),a=Number(r&i),c=n?4:0,u=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+u,a,n)}var hn=(e,t,r)=>e&t^~e&r,yn=(e,t,r)=>e&t^e&r^t&r,It=class extends kt{constructor(t,r,n,o){super(),this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=At(this.buffer)}update(t){tr(this);let{view:r,buffer:n,blockLen:o}=this;t=rr(t);let i=t.length;for(let s=0;s<i;){let a=Math.min(o-this.pos,i-s);if(a===o){let c=At(t);for(;o<=i-s;s+=o)this.process(c,s);continue}n.set(t.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){tr(this),mn(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:i}=this,{pos:s}=this;r[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>o-s&&(this.process(n,0),s=0);for(let l=s;l<o;l++)r[l]=0;Ii(n,o-8,BigInt(this.length*8),i),this.process(n,0);let a=At(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,d=this.get();if(u>d.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<u;l++)a.setUint32(4*l,d[l],i)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:i,destroyed:s,pos:a}=this;return t.length=o,t.pos=a,t.finished=i,t.destroyed=s,o%r&&t.buffer.set(n),t}};var Si=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Le=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Be=new Uint32Array(64),nr=class extends It{constructor(){super(64,32,8,!1),this.A=Le[0]|0,this.B=Le[1]|0,this.C=Le[2]|0,this.D=Le[3]|0,this.E=Le[4]|0,this.F=Le[5]|0,this.G=Le[6]|0,this.H=Le[7]|0}get(){let{A:t,B:r,C:n,D:o,E:i,F:s,G:a,H:c}=this;return[t,r,n,o,i,s,a,c]}set(t,r,n,o,i,s,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=i|0,this.F=s|0,this.G=a|0,this.H=c|0}process(t,r){for(let l=0;l<16;l++,r+=4)Be[l]=t.getUint32(r,!1);for(let l=16;l<64;l++){let f=Be[l-15],p=Be[l-2],m=fe(f,7)^fe(f,18)^f>>>3,g=fe(p,17)^fe(p,19)^p>>>10;Be[l]=g+Be[l-7]+m+Be[l-16]|0}let{A:n,B:o,C:i,D:s,E:a,F:c,G:u,H:d}=this;for(let l=0;l<64;l++){let f=fe(a,6)^fe(a,11)^fe(a,25),p=d+f+hn(a,c,u)+Si[l]+Be[l]|0,g=(fe(n,2)^fe(n,13)^fe(n,22))+yn(n,o,i)|0;d=u,u=c,c=a,a=s+p|0,s=i,i=o,o=n,n=p+g|0}n=n+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,d=d+this.H|0,this.set(n,o,i,s,a,c,u,d)}roundClean(){Be.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var bn=gn(()=>new nr);var Xl=Q("Raydium_Util");function St({fromPublicKey:e,programId:t=Ri}){let r=Bi.generate().publicKey.toBase58().slice(0,32);return{publicKey:Ki(e,r,t),seed:r}}function Ki(e,t,r){let n=Buffer.concat([e.toBuffer(),Buffer.from(t),r.toBuffer()]),o=bn(n);return new Li(o)}import{createInitializeAccountInstruction as Ci,createCloseAccountInstruction as Vi,createTransferInstruction as ed,TOKEN_PROGRAM_ID as et}from"@solana/spl-token";import{PublicKey as Fi,SystemProgram as Ni}from"@solana/web3.js";import Ei from"bn.js";function vi(e){let{mint:t,tokenAccount:r,owner:n,programId:o=et}=e;return Ci(r,t,n,o)}function Mi(e){let{tokenAccount:t,payer:r,multiSigners:n=[],owner:o,programId:i=et}=e;return Vi(t,r,o,n,i)}async function or(e){let{connection:t,amount:r,commitment:n,payer:o,owner:i,skipCloseAccount:s}=e,a=await t.getMinimumBalanceForRentExemption($e.span,n),c=V(r).add(new Ei(a)),u=St({fromPublicKey:o,programId:et});return{addresses:{newAccount:u.publicKey},signers:[],instructions:[Ni.createAccountWithSeed({fromPubkey:o,basePubkey:o,seed:u.seed,newAccountPubkey:u.publicKey,lamports:c.toNumber(),space:$e.span,programId:et}),vi({mint:new Fi(se.address),tokenAccount:u.publicKey,owner:i,programId:et})],instructionTypes:[J.CreateAccount,J.InitAccount],endInstructionTypes:s?[]:[J.CloseAccount],endInstructions:s?[]:[Mi({tokenAccount:u.publicKey,payer:o,owner:i})]}}var ir=(...e)=>e.map(t=>{try{return typeof t=="object"?JSON.stringify(t):t}catch{return t}}).join(", "),tt=class{constructor({scope:t,moduleName:r}){this.disabled=!1;this.scope=t,this.logger=Q(r)}createTxBuilder(t){return this.scope.checkOwner(),new wt({connection:this.scope.connection,feePayer:t||this.scope.ownerPubKey,cluster:this.scope.cluster,owner:this.scope.owner,blockhashCommitment:this.scope.blockhashCommitment,enableJito:this.scope.enableJito,api:this.scope.api,signAllTransactions:this.scope.signAllTransactions})}logDebug(...t){this.logger.debug(ir(t))}logInfo(...t){this.logger.info(ir(t))}logAndCreateError(...t){let r=ir(t);throw new Error(r)}checkDisabled(){(this.disabled||!this.scope)&&this.logAndCreateError("module not working")}};import{PublicKey as xn}from"@solana/web3.js";var sr=Y([$("instruction")]),ar=Y([$("instruction")]),_i=Y([P("rewardState"),P("rewardOpenTime"),P("rewardEndTime"),P("rewardLastUpdateTime"),P("totalReward"),P("totalRewardEmissioned"),P("rewardClaimed"),P("rewardPerSecond"),xe("accRewardPerShare"),F("rewardVault"),F("rewardMint"),F("rewardSender"),P("rewardType"),X(P(),15,"padding")]),Di=Y([P("state"),P("nonce"),F("lpVault"),F("rewardVault"),F(),F(),P(),P(),P("totalReward"),xe("perShareReward"),P("lastSlot"),P("perSlotReward")]),Oi=Y([P("state"),P("nonce"),F("lpVault"),F("rewardVaultA"),P("totalRewardA"),xe("perShareRewardA"),P("perSlotRewardA"),$("option"),F("rewardVaultB"),Ne(7),P("totalRewardB"),xe("perShareRewardB"),P("perSlotRewardB"),P("lastSlot"),F()]),Wi=Y([P(),P("state"),P("nonce"),P("validRewardTokenNum"),xe("rewardMultiplier"),P("rewardPeriodMax"),P("rewardPeriodMin"),P("rewardPeriodExtend"),F("lpMint"),F("lpVault"),X(_i,5,"rewardInfos"),F("creator"),F(),X(P(),32,"padding")]),Ui=new Proxy(Di,{get(e,t,r){return t==="decode"?(...n)=>{let o=e.decode(...n);return te(j({},o),{version:3,rewardInfos:[{rewardVault:o.rewardVault,totalReward:o.totalReward,perSlotReward:o.perSlotReward,perShareReward:o.perShareReward}]})}:Reflect.get(e,t,r)}}),qi=new Proxy(Oi,{get(e,t,r){return t==="decode"?(...n)=>{let o=e.decode(...n);return te(j({},o),{version:5,rewardInfos:[{rewardVault:o.rewardVaultA,totalReward:o.totalRewardA,perSlotReward:o.perSlotRewardA,perShareReward:o.perShareRewardA},{rewardVault:o.rewardVaultB,totalReward:o.totalRewardB,perSlotReward:o.perSlotRewardB,perShareReward:o.perShareRewardB}]})}:Reflect.get(e,t,r)}}),Lt=new Proxy(Wi,{get(e,t,r){return t==="decode"?(...n)=>{let o=e.decode(...n);return te(j({},o),{version:6,rewardInfos:o.rewardInfos.map(i=>{var s;return te(j({},i),{rewardType:((s=Object.entries(Re).find(a=>String(a[1])===i.rewardType.toString()))!=null?s:["Standard SPL"])[0]})})})}:Reflect.get(e,t,r)}}),Gi=Y([P("isSet"),P("rewardPerSecond"),P("rewardOpenTime"),P("rewardEndTime"),P("rewardType")]),ur=Y([$("instruction"),P("nonce"),X(Gi,5,"rewardTimeInfo")]),cr=Y([$("instruction"),P("rewardReopenTime"),P("rewardEndTime"),P("rewardPerSecond")]),lr=Y([$("instruction"),P("isSet"),P("rewardPerSecond"),P("rewardOpenTime"),P("rewardEndTime"),P("rewardType")]),kd=Y([P("state"),F("id"),F("owner"),P("deposited"),X(P(),1,"rewardDebts")]),dr=Y([P("state"),F("id"),F("owner"),P("deposited"),X(xe(),1,"rewardDebts"),P(""),P("voteLockedBalance"),X(P(),15)]),Ad=Y([P("state"),F("id"),F("owner"),P("deposited"),X(P(),2,"rewardDebts")]),wn=Y([P("state"),F("id"),F("owner"),P("deposited"),X(xe(),2,"rewardDebts"),X(P(),17)]),Tn=Y([P(),P("state"),F("id"),F("owner"),P("deposited"),X(xe(),5,"rewardDebts"),X(P(),16)]),ce=Y([$("instruction"),P("amount")]),Hi=Y([F("mint"),F("grantAuthority"),P("baselineVoteWeightScaledFactor"),P("maxExtraLockupVoteWeightScaledFactor"),P("lockupSaturationSecs"),pn("digitShift"),X($(),7,"reserved1"),X(P(),7,"reserved2")]),ji=Y([Ne(8),F("governanceProgramId"),F("realm"),F("realmGoverningTokenMint"),F("realmAuthority"),X($(),32,"reserved1"),X(Hi,4,"votingMints"),xt("timeOffset"),$("bump"),X($(),7,"reserved2"),X(P(),11,"reserved3")]),Ji=Y([xt("startTime"),xt("endTime"),$("kind"),X($(),15,"reserved")]),zi=Y([X(Ji,1,"lockup"),P("amountDeposited_native"),P("amountInitiallyLockedNative"),Pt("isUsed"),Pt("allowClawback"),$("votingMintConfigIdx"),X($(),29,"reserved")]),Yi=Y([Ne(8),F("voterAuthority"),F("registrar"),X(zi,32,"deposits"),$("voterBump"),$("voterWweightRecordBump"),X($(),94,"reserved")]);var Vd=Q("Raydium_farm_config"),Pn=new xn("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),kn=new xn("FrspKwj8i3pNmKwXreTveC4fu7KL5ZbGeXdZBe2XViu1");var An={3:dr,5:wn,6:Tn},fr=e=>[3,5,6].indexOf(e)!==-1,pr=e=>{var s;let{version:t,rewardInfos:r,rewardTokenAccountsPublicKeys:n}=e,o=`rewardInfo:${JSON.stringify(r)}, rewardAccount:${JSON.stringify(n)}`,i={3:()=>{if(r.length!==1||n.length!==1)return`rewardInfos or rewardTokenAccounts lengths not equal 1: ${o}`},5:()=>{if(r.length!==n.length)return`rewardInfos and rewardTokenAccounts lengths not equal: ${o}`},6:()=>{if(!n.length||r.length!==n.length)return`no rewardTokenAccounts or rewardInfos and rewardTokenAccounts lengths not equal: ${o}`}};return(s=i[t])==null?void 0:s.call(i)},Re={"Standard SPL":0,"Option tokens":1},Pe={[sn.toString()]:3,[an.toString()]:5,[Xe.toString()]:6};import{PublicKey as _,SystemProgram as Ln,SYSVAR_RENT_PUBKEY as Qi,SYSVAR_CLOCK_PUBKEY as Bt,TransactionInstruction as pe}from"@solana/web3.js";import{createAssociatedTokenAccountInstruction as df,TOKEN_PROGRAM_ID as Ke,ASSOCIATED_TOKEN_PROGRAM_ID as ff}from"@solana/spl-token";import Bn from"bn.js";import Zi from"bn.js";var Xi=Q("Raydium.farm.util");function rt({programId:e,poolId:t,mint:r,type:n}){let{publicKey:o}=Ve([t.toBuffer(),r.toBuffer(),Buffer.from(n==="lpVault"?"lp_vault_associated_seed":n==="rewardVault"?"reward_vault_associated_seed":"","utf-8")],e);return o}function ge({programId:e,poolId:t,owner:r,version:n}){let{publicKey:o}=Ve([t.toBuffer(),r.toBuffer(),Buffer.from(n===6?"farmer_info_associated_seed":"staker_info_v2_associated_seed","utf-8")],e);return o}var In=({programId:e,poolId:t})=>Ve([t.toBuffer()],e);function Sn(e){return{isSet:new Zi(1),rewardPerSecond:V(e.perSecond),rewardOpenTime:V(e.openTime),rewardEndTime:V(e.endTime),rewardType:V(Re[e.rewardType])}}function mr(e){return V(e.endTime).sub(V(e.openTime)).mul(V(e.perSecond))}function gr(e){let t=An[e];return t||Xi.logWithError("invalid version",e),t}var $i=Q("Raydium_farm_instruction"),If={voterStakeRegistryCreateVoter:Buffer.from([6,24,245,52,243,255,148,25]),voterStakeRegistryCreateDepositEntry:Buffer.from([185,131,167,186,159,125,19,67]),voterStakeRegistryDeposit:Buffer.from([242,35,198,137,82,225,242,182]),voterStakeRegistryWithdraw:Buffer.from([183,18,70,156,148,109,161,34]),voterStakeRegistryUpdateVoterWeightRecord:Buffer.from([45,185,3,36,109,190,115,169])};function Rn(e){let{version:t,id:r,ledger:n,programId:o,owner:i}=e,s={3:9,5:10}[t];s||$i.logWithError(`invalid farm pool version: ${t}`);let a=Buffer.alloc(sr.span);sr.encode({instruction:s},a);let c=[y({pubkey:r}),y({pubkey:n}),y({pubkey:i,isWritable:!1}),y({pubkey:Ln.programId,isWritable:!1}),y({pubkey:Qi,isWritable:!1})];return{instruction:new pe({programId:o,keys:c,data:a}),instructionType:J.FarmV3CreateLedger}}function Kn(e){var n;let t=Buffer.alloc(ur.span);ur.encode({instruction:0,nonce:new Bn(e.nonce),rewardTimeInfo:e.rewardInfoConfig},t);let r=[...Mt,y({pubkey:e.farmId}),y({pubkey:e.farmAuthority,isWritable:!1}),y({pubkey:e.lpVault}),y({pubkey:e.lpMint,isWritable:!1}),y({pubkey:e.lockVault}),y({pubkey:e.lockMint,isWritable:!1}),y({pubkey:(n=e.lockUserAccount)!=null?n:ne}),y({pubkey:e.owner,isWritable:!1,isSigner:!0})];for(let o of e.rewardInfo)r.push(y({pubkey:o.rewardMint,isWritable:!1}),y({pubkey:o.rewardVault}),y({pubkey:o.userRewardToken}));return{instruction:new pe({programId:e.programId,keys:r,data:t}),instructionType:J.FarmV6Create}}function Cn(e){let t=Buffer.alloc(ar.span);ar.encode({instruction:5},t);let r=[y({pubkey:Ke,isWritable:!1}),y({pubkey:e.id}),y({pubkey:e.authority,isWritable:!1}),y({pubkey:e.lpVault,isWritable:!1}),y({pubkey:e.rewardVault}),y({pubkey:e.userRewardToken}),y({pubkey:e.owner,isWritable:!1,isSigner:!0})];return{instruction:new pe({programId:e.programId,keys:r,data:t}),instructionType:J.FarmV6CreatorWithdraw}}function hr({payer:e,rewardVault:t,userRewardTokenPub:r,farmKeys:n,rewardInfo:o}){let i=Buffer.alloc(cr.span);cr.encode({instruction:3,rewardReopenTime:V(o.openTime),rewardEndTime:V(o.endTime),rewardPerSecond:V(o.perSecond)},i);let s=[y({pubkey:Ke,isWritable:!1}),y({pubkey:n.id}),y({pubkey:n.lpVault,isWritable:!1}),y({pubkey:t}),y({pubkey:r}),y({pubkey:e,isWritable:!1,isSigner:!0})];return new pe({programId:n.programId,keys:s,data:i})}function yr({payer:e,userRewardTokenPub:t,farmKeys:r,rewardVault:n,rewardInfo:o}){let i=Buffer.alloc(lr.span);lr.encode({instruction:4,isSet:new Bn(1),rewardPerSecond:V(o.perSecond),rewardOpenTime:V(o.openTime),rewardEndTime:V(o.endTime),rewardType:V(Re[o.rewardType])},i);let s=[...Mt,y({pubkey:r.id}),y({pubkey:r.authority,isWritable:!1}),y({pubkey:o.mint,isWritable:!1}),y({pubkey:n}),y({pubkey:t}),y({pubkey:e,isWritable:!1,isSigner:!0})];return new pe({programId:r.programId,keys:s,data:i})}function br(e){let{farmInfo:t,farmKeys:r,lpAccount:n,rewardAccounts:o,owner:i,amount:s}=e,[a,c]=[new _(t.programId),new _(t.id)],u=ge({programId:a,poolId:c,owner:i,version:6}),d=Buffer.alloc(ce.span);ce.encode({instruction:2,amount:V(s)},d);let l=[y({pubkey:Ke,isWritable:!1}),y({pubkey:c}),y({pubkey:new _(r.authority),isWritable:!1}),y({pubkey:new _(r.lpVault)}),y({pubkey:u}),y({pubkey:i,isWritable:!1,isSigner:!0}),y({pubkey:n})];for(let f=0;f<r.rewardInfos.length;f++)l.push(y({pubkey:new _(r.rewardInfos[f].vault)})),l.push(y({pubkey:o[f]}));return new pe({programId:a,keys:l,data:d})}function wr(e){let{farmInfo:t,farmKeys:r,lpAccount:n,rewardAccounts:o,owner:i,amount:s,userAuxiliaryLedgers:a}=e,[c,u]=[new _(t.programId),new _(t.id)],d=ge({programId:c,poolId:u,owner:i,version:5}),l=Buffer.alloc(ce.span);ce.encode({instruction:12,amount:V(s)},l);let f=[y({pubkey:u}),y({pubkey:new _(r.authority),isWritable:!1}),y({pubkey:d}),y({pubkey:i,isWritable:!1,isSigner:!0}),y({pubkey:n}),y({pubkey:new _(r.lpVault)}),y({pubkey:o[0]}),y({pubkey:new _(r.rewardInfos[0].vault)}),y({pubkey:Bt,isWritable:!1}),y({pubkey:Ke,isWritable:!1})];for(let p=1;p<r.rewardInfos.length;p++)f.push(y({pubkey:o[p]})),f.push(y({pubkey:new _(r.rewardInfos[p].vault)}));if(a)for(let p of a)f.push(y({pubkey:p}));return new pe({programId:c,keys:f,data:l})}function Tr(e){let{farmInfo:t,farmKeys:r,lpAccount:n,rewardAccounts:o,owner:i,amount:s,userAuxiliaryLedgers:a}=e,[c,u]=[new _(t.programId),new _(t.id)],d=ge({programId:c,poolId:u,owner:i,version:3}),l=Buffer.alloc(ce.span);ce.encode({instruction:11,amount:V(s)},l);let f=[y({pubkey:u}),y({pubkey:new _(r.authority),isWritable:!1}),y({pubkey:d}),y({pubkey:i,isWritable:!1,isSigner:!0}),y({pubkey:n}),y({pubkey:new _(r.lpVault)}),y({pubkey:o[0]}),y({pubkey:new _(r.rewardInfos[0].vault)}),y({pubkey:Bt,isWritable:!1}),y({pubkey:Ke,isWritable:!1})];if(a)for(let p of a)f.push(y({pubkey:p}));return new pe({programId:c,keys:f,data:l})}function Vn(e){let{farmInfo:t,farmKeys:r,lpAccount:n,rewardAccounts:o,owner:i,amount:s,userAuxiliaryLedgers:a}=e,[c,u]=[new _(t.programId),new _(t.id)],d=ge({programId:c,poolId:u,owner:i,version:3}),l=Buffer.alloc(ce.span);ce.encode({instruction:10,amount:V(s)},l);let f=[y({pubkey:u}),y({pubkey:new _(r.authority),isWritable:!1}),y({pubkey:d}),y({pubkey:i,isWritable:!1,isSigner:!0}),y({pubkey:n}),y({pubkey:new _(r.lpVault)}),y({pubkey:o[0]}),y({pubkey:new _(r.rewardInfos[0].vault)}),y({pubkey:Bt,isWritable:!1}),y({pubkey:Ke,isWritable:!1})];if(a)for(let p of a)f.push(y({pubkey:p}));return new pe({programId:c,keys:f,data:l})}function Fn(e){let{farmInfo:t,farmKeys:r,lpAccount:n,rewardAccounts:o,owner:i,amount:s,userAuxiliaryLedgers:a}=e,[c,u]=[new _(t.programId),new _(t.id)],d=ge({programId:c,poolId:u,owner:i,version:5}),l=Buffer.alloc(ce.span);ce.encode({instruction:11,amount:V(s)},l);let f=[y({pubkey:u}),y({pubkey:new _(r.authority),isWritable:!1}),y({pubkey:d}),y({pubkey:i,isWritable:!1,isSigner:!0}),y({pubkey:n}),y({pubkey:new _(r.lpVault)}),y({pubkey:o[0]}),y({pubkey:new _(r.rewardInfos[0].vault)}),y({pubkey:Bt,isWritable:!1}),y({pubkey:Ke,isWritable:!1})];for(let p=1;p<r.rewardInfos.length;p++)f.push(y({pubkey:o[p]})),f.push(y({pubkey:new _(r.rewardInfos[p].vault)}));if(a)for(let p of a)f.push(y({pubkey:p}));return new pe({programId:c,keys:f,data:l})}function Nn(e){let{farmInfo:t,farmKeys:r,lpAccount:n,rewardAccounts:o,owner:i,amount:s}=e,[a,c]=[new _(t.programId),new _(t.id)],u=ge({programId:a,poolId:c,owner:i,version:6}),d=Buffer.alloc(ce.span);ce.encode({instruction:1,amount:V(s)},d);let l=[y({pubkey:Ke,isWritable:!1}),y({pubkey:Ln.programId,isWritable:!1}),y({pubkey:c}),y({pubkey:new _(r.authority),isWritable:!1}),y({pubkey:new _(r.lpVault)}),y({pubkey:u}),y({pubkey:i,isWritable:!1,isSigner:!0}),y({pubkey:n})];for(let f=0;f<r.rewardInfos.length;f++)l.push(y({pubkey:new _(r.rewardInfos[f].vault)})),l.push(y({pubkey:o[f]}));return new pe({programId:a,keys:l,data:d})}var xr=class extends tt{async _getUserRewardInfo({payer:t,rewardInfo:r}){if(r.mint.equals(ne)){let n=await or({connection:this.scope.connection,owner:this.scope.ownerPubKey,payer:t,amount:mr(te(j({},r),{openTime:r.openTime.toString(),endTime:r.endTime.toString()}))});return{rewardPubKey:n.addresses.newAccount,newInstruction:n}}return{rewardPubKey:await this.scope.account.getCreatedTokenAccount({mint:r.mint,associatedOnly:!1})}}async create({poolInfo:t,rewardInfos:r,payer:n,programId:o=Xe,txVersion:i}){this.checkDisabled(),this.scope.checkOwner();let a={lpMint:new G(t.lpMint.address),lockInfo:{lockMint:Pn,lockVault:kn},version:6,rewardInfos:r,programId:o},c=this.createTxBuilder(),u=n!=null?n:this.scope.ownerPubKey,d=St({fromPublicKey:u,programId:a.programId}),l=await this.scope.connection.getMinimumBalanceForRentExemption(Lt.span);c.addInstruction({instructions:[ts.createAccountWithSeed({fromPubkey:u,basePubkey:u,seed:d.seed,newAccountPubkey:d.publicKey,lamports:l,space:Lt.span,programId:a.programId})]});let{publicKey:f,nonce:p}=In({programId:new G(a.programId),poolId:d.publicKey}),m=rt({programId:a.programId,poolId:d.publicKey,mint:a.lpMint,type:"lpVault"}),g=[],k=[];for(let S of a.rewardInfos){S.openTime>=S.endTime&&this.logAndCreateError("start time error","rewardInfo.rewardOpenTime",S.openTime.toString()),isNaN(Re[S.rewardType])&&this.logAndCreateError("rewardType error",S.rewardType),Number(S.perSecond)<=0&&this.logAndCreateError("rewardPerSecond error",S.perSecond),g.push(Sn(S));let{rewardPubKey:A,newInstruction:W}=await this._getUserRewardInfo({rewardInfo:S,payer:u});W&&c.addInstruction(W),A||this.logAndCreateError("cannot found target token accounts",this.scope.account.tokenAccounts);let E=S.mint.equals(ne)?new G(se.address):S.mint;k.push({rewardMint:E,rewardVault:rt({programId:a.programId,poolId:d.publicKey,mint:E,type:"rewardVault"}),userRewardToken:A})}let{account:x,instructionParams:w}=await this.scope.account.getOrCreateTokenAccount({mint:new G(a.lockInfo.lockMint),owner:this.scope.ownerPubKey,skipCloseAccount:!1,createInfo:{payer:this.scope.ownerPubKey,amount:0},associatedOnly:!1});w&&c.addInstruction(w),x||this.logAndCreateError("cannot found lock vault","tokenAccounts",this.scope.account.tokenAccounts);let{instruction:b,instructionType:T}=Kn({farmId:d.publicKey,owner:this.scope.ownerPubKey,farmAuthority:f,lpVault:m,lpMint:a.lpMint,lockVault:a.lockInfo.lockVault,lockMint:a.lockInfo.lockMint,lockUserAccount:x,programId:a.programId,rewardInfo:k,rewardInfoConfig:g,nonce:p});return c.addInstruction({instructions:[b],instructionTypes:[T]}).versionBuild({txVersion:i,extInfo:{farmId:d.publicKey,farmAuthority:f,lpVault:m,lockUserAccount:x,nonce:p}})}async restartReward({farmInfo:t,payer:r,newRewardInfo:n,txVersion:o}){var k;let i=Pe[t.programId];i!==6&&this.logAndCreateError("invalid farm version ",i);let s=Te((await this.scope.api.fetchFarmKeysById({ids:t.id}))[0]),a={id:s.id,rewardInfos:t.rewardInfos,lpVault:s.lpVault,programId:s.programId};n.openTime>=n.endTime&&this.logAndCreateError("start time error","newRewardInfo",n);let c=r||this.scope.ownerPubKey,u=n.mint.equals(ne)?new G(se.address):n.mint,d=a.rewardInfos.findIndex(x=>new G(x.mint.address).equals(u)),l=s.rewardInfos[d];l||this.logAndCreateError("configuration does not exist","rewardMint",u);let f=(k=l.vault)!=null?k:ne,p=this.createTxBuilder(),{rewardPubKey:m,newInstruction:g}=await this._getUserRewardInfo({rewardInfo:n,payer:c});return g&&p.addInstruction(g),m||this.logAndCreateError("cannot found target token accounts",this.scope.account.tokenAccounts),p.addInstruction({instructions:[hr({payer:this.scope.ownerPubKey,rewardVault:f,userRewardTokenPub:m,farmKeys:a,rewardInfo:n})],instructionTypes:[J.FarmV6Restart]}).versionBuild({txVersion:o})}async restartRewards({farmInfo:t,payer:r,newRewardInfos:n,txVersion:o}){var d;let i=Pe[t.programId];i!==6&&this.logAndCreateError("invalid farm version ",i);let s=Te((await this.scope.api.fetchFarmKeysById({ids:t.id}))[0]),a={id:s.id,rewardInfos:t.rewardInfos,lpVault:s.lpVault,programId:s.programId};n.forEach(l=>{l.openTime>=l.endTime&&this.logAndCreateError("start time error","newRewardInfo",l)});let c=r||this.scope.ownerPubKey,u=this.createTxBuilder();for(let l of n){let f=l.mint.equals(ne)?new G(se.address):l.mint,p=a.rewardInfos.findIndex(b=>new G(b.mint.address).equals(f)),m=s.rewardInfos[p];m||this.logAndCreateError("configuration does not exist","rewardMint",f);let g=(d=m.vault)!=null?d:ne,{rewardPubKey:k,newInstruction:x}=await this._getUserRewardInfo({rewardInfo:l,payer:c});x&&u.addInstruction(x),k||this.logAndCreateError("cannot found target token accounts",this.scope.account.tokenAccounts);let w=hr({payer:this.scope.ownerPubKey,rewardVault:g,userRewardTokenPub:k,farmKeys:a,rewardInfo:l});u.addInstruction({instructions:[w],instructionTypes:[J.FarmV6Restart]})}return u.versionBuild({txVersion:o})}async addNewRewardToken(t){let{txVersion:r,farmInfo:n,newRewardInfo:o,payer:i}=t,s=Pe[n.programId];s!==6&&this.logAndCreateError("invalid farm version ",s);let a=Te((await this.scope.api.fetchFarmKeysById({ids:n.id}))[0]),c=i!=null?i:this.scope.ownerPubKey,u=this.createTxBuilder(),d=o.mint.equals(ne)?new G(se.address):o.mint,l=rt({programId:new G(n.programId),poolId:new G(n.id),mint:d,type:"rewardVault"}),{rewardPubKey:f,newInstruction:p}=await this._getUserRewardInfo({rewardInfo:o,payer:c});return p&&u.addInstruction(p),f||this.logAndCreateError("annot found target token accounts",this.scope.account.tokenAccounts),o.mint=d,u.addInstruction({instructions:[yr({payer:this.scope.ownerPubKey,userRewardTokenPub:f,farmKeys:a,rewardVault:l,rewardInfo:o})],instructionTypes:[J.FarmV6CreatorAddReward]}).versionBuild({txVersion:r})}async addNewRewardsToken(t){let{txVersion:r,farmInfo:n,newRewardInfos:o,payer:i}=t,s=Pe[n.programId];s!==6&&this.logAndCreateError("invalid farm version ",s);let a=Te((await this.scope.api.fetchFarmKeysById({ids:n.id}))[0]),c=i!=null?i:this.scope.ownerPubKey,u=this.createTxBuilder();for(let d of o){let l=d.mint.equals(ne)?new G(se.address):d.mint,f=rt({programId:new G(n.programId),poolId:new G(n.id),mint:l,type:"rewardVault"}),{rewardPubKey:p,newInstruction:m}=await this._getUserRewardInfo({rewardInfo:d,payer:c});m&&u.addInstruction(m),p||this.logAndCreateError("cannot found target token accounts",this.scope.account.tokenAccounts);let g=yr({payer:this.scope.ownerPubKey,userRewardTokenPub:p,farmKeys:a,rewardVault:f,rewardInfo:te(j({},d),{mint:l})});u.addInstruction({instructions:[g],instructionTypes:[J.FarmV6CreatorAddReward]})}return u.versionBuild({txVersion:r})}async deposit(t){let{txVersion:r,farmInfo:n,amount:o,feePayer:i,useSOLBalance:s,associatedOnly:a=!0,checkCreateATAOwner:c=!1,userAuxiliaryLedgers:u,computeBudgetConfig:d}=t;this.scope.availability.addFarm===!1&&this.logAndCreateError("farm deposit feature disabled in your region");let{rewardInfos:l,programId:f}=n,p=Pe[f];fr(p)||this.logAndCreateError("invalid farm program:",n.programId);let[m,g]=[new G(n.programId),new G(n.id)],k=(await this.scope.api.fetchFarmKeysById({ids:n.id}))[0],x=ge({programId:m,poolId:g,owner:this.scope.ownerPubKey,version:p}),w=this.createTxBuilder();w.addCustomComputeBudget(d);let b={};for(let N of this.scope.account.tokenAccounts)if(a){let ee=Oe(this.scope.ownerPubKey,N.mint,N.programId).publicKey;N.publicKey&&ee.equals(N.publicKey)&&(b[N.mint.toString()]=N.publicKey)}else b[N.mint.toString()]=N.publicKey;let T=k.lpMint,S=b[T.address];S||this.logAndCreateError("you don't have any lp","lp zero",b);let A=[];for(let N of l){let ee=s&&N.mint.address===ye.toString(),z=b[N.mint.address];if(!z){let{account:D,instructionParams:Pr}=await this.scope.account.getOrCreateTokenAccount({tokenProgram:N.mint.programId,mint:new G(N.mint.address),notUseTokenAccount:ee,createInfo:{payer:i||this.scope.ownerPubKey,amount:0},owner:this.scope.ownerPubKey,skipCloseAccount:!ee,associatedOnly:ee?!1:a,checkCreateATAOwner:c});z=D,Pr&&w.addInstruction(Pr)}b[N.mint.address]=z,A.push(z)}let W,E=await this.scope.connection.getAccountInfo(x);if(E&&(W=gr(p).decode(E.data)),n.programId!==Xe.toString()&&!W){let{instruction:N,instructionType:ee}=Rn({id:g,programId:m,version:p,ledger:x,owner:this.scope.ownerPubKey});w.addInstruction({instructions:[N],instructionTypes:[ee]})}let B=pr({version:p,rewardInfos:l,rewardTokenAccountsPublicKeys:A});B&&this.logAndCreateError(B);let v={amount:V(o),owner:this.scope.ownerPubKey,farmInfo:n,farmKeys:k,lpAccount:S,rewardAccounts:A,userAuxiliaryLedgers:u==null?void 0:u.map(N=>new G(N))},U=p===6?Nn(v):p===5?Fn(v):Vn(v),H={3:J.FarmV3Deposit,5:J.FarmV5Deposit,6:J.FarmV6Deposit};return w.addInstruction({instructions:[U],instructionTypes:[H[p]]}).versionBuild({txVersion:r})}async withdraw(t){let{txVersion:r,farmInfo:n,amount:o,deposited:i,useSOLBalance:s,feePayer:a,associatedOnly:c=!0,checkCreateATAOwner:u=!1,userAuxiliaryLedgers:d,computeBudgetConfig:l}=t,{rewardInfos:f}=n;this.scope.availability.removeFarm===!1&&this.logAndCreateError("farm withdraw feature disabled in your region");let p=Pe[n.programId];fr(p)||this.logAndCreateError("invalid farm program:",n.programId);let m=(await this.scope.api.fetchFarmKeysById({ids:n.id}))[0],g=this.createTxBuilder();g.addCustomComputeBudget(l);let k={};for(let B of this.scope.account.tokenAccounts)if(c){let v=Oe(this.scope.ownerPubKey,B.mint).publicKey;B.publicKey&&v.equals(B.publicKey)&&(k[B.mint.toString()]=B.publicKey)}else k[B.mint.toString()]=B.publicKey;if(i)i.isZero()&&this.logAndCreateError("no deposited lp",{farmId:n.id});else{let B=ge({programId:new G(n.programId),poolId:new G(n.id),owner:this.scope.ownerPubKey,version:p}),v=await this.scope.connection.getAccountInfo(B);v||this.logAndCreateError("no lp data",{farmId:n.id,version:p,ledgerData:v}),gr(p).decode(v.data).deposited.isZero()&&this.logAndCreateError("no deposited lp",{farmId:n.id})}let x=m.lpMint.address,w=s&&x===ye.toString(),b=k[x.toString()];if(!b){let{account:B,instructionParams:v}=await this.scope.account.getOrCreateTokenAccount({tokenProgram:m.lpMint.programId,mint:new G(x),notUseTokenAccount:w,createInfo:{payer:a||this.scope.ownerPubKey,amount:0},owner:this.scope.ownerPubKey,skipCloseAccount:!0,associatedOnly:w?!1:c,checkCreateATAOwner:u});b=B,v&&g.addInstruction(v)}k[x.toString()]=b;let T=[];for(let B of f){let v=s&&B.mint.address===ye.toString(),U=k[B.mint.address];if(!U){let{account:H,instructionParams:N}=await this.scope.account.getOrCreateTokenAccount({tokenProgram:B.mint.programId,mint:new G(B.mint.address),notUseTokenAccount:v,createInfo:{payer:a||this.scope.ownerPubKey,amount:0},owner:this.scope.ownerPubKey,skipCloseAccount:!v,associatedOnly:v?!1:c,checkCreateATAOwner:u});U=H,N&&g.addInstruction(N)}k[B.mint.address]=U,T.push(U)}let S=pr({version:p,rewardInfos:f,rewardTokenAccountsPublicKeys:T});S&&this.logAndCreateError(S);let A={amount:V(o),owner:this.scope.ownerPubKey,farmInfo:n,farmKeys:m,lpAccount:b,rewardAccounts:T,userAuxiliaryLedgers:d==null?void 0:d.map(B=>new G(B))},W=p===6?br(A):p===5?wr(A):Tr(A),E={3:J.FarmV3Withdraw,5:J.FarmV5Withdraw,6:J.FarmV6Withdraw};return g.addInstruction({instructions:[W],instructionTypes:[E[p]]}).versionBuild({txVersion:r})}async withdrawFarmReward({farmInfo:t,withdrawMint:r,txVersion:n}){var p;this.scope.checkOwner();let o=Te((await this.scope.api.fetchFarmKeysById({ids:t.id}))[0]),i=Pe[t.programId];i!==6&&this.logAndCreateError("invalid farm version",i);let s=t.rewardInfos.findIndex(m=>m.mint.address===ne.toString()?new G(se.address):r),a=o.rewardInfos[s];a||this.logAndCreateError("withdraw mint error","rewardInfos",t);let c=(p=a==null?void 0:a.vault)!=null?p:ne,u=this.createTxBuilder(),d;if(r.equals(ne)){let m=await or({connection:this.scope.connection,owner:this.scope.ownerPubKey,payer:this.scope.ownerPubKey,amount:mr(te(j({},a),{openTime:a.openTime,endTime:a.endTime,perSecond:new vt(a.perSecond).mul(10**a.mint.decimals).toString()}))});d=m.addresses.newAccount,u.addInstruction(m)}else{let m=await this.scope.account.getCreatedTokenAccount({mint:r});m===null?(d=await this.scope.account.getAssociatedTokenAccount(r),u.addInstruction({instructions:[es(this.scope.ownerPubKey,d,this.scope.ownerPubKey,r)],instructionTypes:[J.CreateATA]})):d=m}let{instruction:l,instructionType:f}=Cn({programId:o.programId,id:o.id,authority:o.authority,lpVault:o.lpVault,rewardVault:c,userRewardToken:d,owner:this.scope.ownerPubKey});return u.addInstruction({instructions:[l],instructionTypes:[f]}).versionBuild({txVersion:n})}async harvestAllRewards(t){let{farmInfoList:r,useSOLBalance:n,feePayer:o,associatedOnly:i=!0,checkCreateATAOwner:s=!1,userAuxiliaryLedgers:a,txVersion:c,computeBudgetConfig:u}=t,d=this.createTxBuilder(),l={};for(let m of this.scope.account.tokenAccounts)if(i){let g=Oe(this.scope.ownerPubKey,m.mint).publicKey;m.publicKey&&g.equals(m.publicKey)&&(l[m.mint.toString()]=m.publicKey)}else l[m.mint.toString()]=m.publicKey;let p=(await this.scope.api.fetchFarmKeysById({ids:Object.values(r).map(m=>m.id).join(",")})).reduce((m,g)=>te(j({},m),{[g.id]:g}),{});for(let m of Object.values(r)){let{programId:g,lpMint:k,rewardInfos:x,id:w}=m,b=Pe[g],T=k.address,S=n&&T===ye.toString(),A=l[T];if(!A){let{account:H,instructionParams:N}=await this.scope.account.getOrCreateTokenAccount({tokenProgram:k.programId,mint:new G(T),notUseTokenAccount:S,createInfo:{payer:o||this.scope.ownerPubKey,amount:0},owner:this.scope.ownerPubKey,skipCloseAccount:!0,associatedOnly:S?!1:i,checkCreateATAOwner:s});A=H,N&&d.addInstruction(N)}l[T.toString()]=A;let W=[];for(let H of x){let N=n&&H.mint.address===ye.toString(),ee=l[H.mint.address];if(!ee){let{account:z,instructionParams:D}=await this.scope.account.getOrCreateTokenAccount({tokenProgram:H.mint.programId,mint:new G(H.mint.address),notUseTokenAccount:N,createInfo:{payer:o||this.scope.ownerPubKey,amount:0},owner:this.scope.ownerPubKey,skipCloseAccount:!N,associatedOnly:N?!1:i,checkCreateATAOwner:s});ee=z,D&&d.addInstruction(D)}l[H.mint.address]=ee,W.push(ee)}let E=p[w],B={amount:Gt,owner:this.scope.ownerPubKey,farmInfo:m,farmKeys:E,lpAccount:A,rewardAccounts:W,userAuxiliaryLedgers:a==null?void 0:a.map(H=>new G(H))},v=b===6?br(B):b===5?wr(B):Tr(B),U={3:J.FarmV3Withdraw,5:J.FarmV5Withdraw,6:J.FarmV6Withdraw};d.addInstruction({instructions:[v],instructionTypes:[U[b]]})}return c===1?d.sizeCheckBuild({computeBudgetConfig:u}):d.sizeCheckBuildV0({computeBudgetConfig:u})}};export{xr as default};
|
|
1
|
+
var En=Object.defineProperty,vn=Object.defineProperties;var Mn=Object.getOwnPropertyDescriptors;var nt=Object.getOwnPropertySymbols;var Ir=Object.prototype.hasOwnProperty,Sr=Object.prototype.propertyIsEnumerable;var Ar=(e,t,r)=>t in e?En(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,j=(e,t)=>{for(var r in t||(t={}))Ir.call(t,r)&&Ar(e,r,t[r]);if(nt)for(var r of nt(t))Sr.call(t,r)&&Ar(e,r,t[r]);return e},te=(e,t)=>vn(e,Mn(t));var ot=(e,t)=>{var r={};for(var n in e)Ir.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&nt)for(var n of nt(e))t.indexOf(n)<0&&Sr.call(e,n)&&(r[n]=e[n]);return r};import{createAssociatedTokenAccountInstruction as es}from"@solana/spl-token";import{PublicKey as q,SystemProgram as ts}from"@solana/web3.js";import{get as Lr,set as _n}from"lodash";var Rt=class{constructor(t){this.logLevel=t.logLevel!==void 0?t.logLevel:0,this.name=t.name}set level(t){this.logLevel=t}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(t){return t<=this.logLevel}error(...t){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...t),this):this}logWithError(...t){let r=t.map(n=>typeof n=="object"?JSON.stringify(n):n).join(", ");throw new Error(r)}warning(...t){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...t),this):this}info(...t){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...t),this):this}debug(...t){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...t),this):this}},Br={},Dn={};function Q(e){let t=Lr(Br,e);if(!t){let r=Lr(Dn,e);t=new Rt({name:e,logLevel:r}),_n(Br,e,t)}return t}import{PublicKey as Xo}from"@solana/web3.js";import Qo from"bn.js";import zo from"big.js";import gt from"bn.js";import ue from"bn.js";var Ee=9e15,Se=1e9,Kt="0123456789abcdef",st="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",at="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Ct={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-Ee,maxE:Ee,crypto:!1},Vr,he,R=!0,ct="[DecimalError] ",Ie=ct+"Invalid argument: ",Fr=ct+"Precision limit exceeded",Nr=ct+"crypto unavailable",Er="[object Decimal]",ie=Math.floor,re=Math.pow,On=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Wn=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Un=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,vr=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,de=1e7,L=7,qn=9007199254740991,Gn=st.length-1,Vt=at.length-1,h={toStringTag:Er};h.absoluteValue=h.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),I(e)};h.ceil=function(){return I(new this.constructor(this),this.e+1,2)};h.clampedTo=h.clamp=function(e,t){var r,n=this,o=n.constructor;if(e=new o(e),t=new o(t),!e.s||!t.s)return new o(NaN);if(e.gt(t))throw Error(Ie+t);return r=n.cmp(e),r<0?e:n.cmp(t)>0?t:new o(n)};h.comparedTo=h.cmp=function(e){var t,r,n,o,i=this,s=i.d,a=(e=new i.constructor(e)).d,c=i.s,u=e.s;if(!s||!a)return!c||!u?NaN:c!==u?c:s===a?0:!s^c<0?1:-1;if(!s[0]||!a[0])return s[0]?c:a[0]?-u:0;if(c!==u)return c;if(i.e!==e.e)return i.e>e.e^c<0?1:-1;for(n=s.length,o=a.length,t=0,r=n<o?n:o;t<r;++t)if(s[t]!==a[t])return s[t]>a[t]^c<0?1:-1;return n===o?0:n>o^c<0?1:-1};h.cosine=h.cos=function(){var e,t,r=this,n=r.constructor;return r.d?r.d[0]?(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+L,n.rounding=1,r=Hn(n,Wr(n,r)),n.precision=e,n.rounding=t,I(he==2||he==3?r.neg():r,e,t,!0)):new n(1):new n(NaN)};h.cubeRoot=h.cbrt=function(){var e,t,r,n,o,i,s,a,c,u,d=this,l=d.constructor;if(!d.isFinite()||d.isZero())return new l(d);for(R=!1,i=d.s*re(d.s*d,1/3),!i||Math.abs(i)==1/0?(r=oe(d.d),e=d.e,(i=(e-r.length+1)%3)&&(r+=i==1||i==-2?"0":"00"),i=re(r,1/3),e=ie((e+1)/3)-(e%3==(e<0?-1:2)),i==1/0?r="5e"+e:(r=i.toExponential(),r=r.slice(0,r.indexOf("e")+1)+e),n=new l(r),n.s=d.s):n=new l(i.toString()),s=(e=l.precision)+3;;)if(a=n,c=a.times(a).times(a),u=c.plus(d),n=H(u.plus(d).times(a),u.plus(c),s+2,1),oe(a.d).slice(0,s)===(r=oe(n.d)).slice(0,s))if(r=r.slice(s-3,s+1),r=="9999"||!o&&r=="4999"){if(!o&&(I(a,e+1,0),a.times(a).times(a).eq(d))){n=a;break}s+=4,o=1}else{(!+r||!+r.slice(1)&&r.charAt(0)=="5")&&(I(n,e+1,1),t=!n.times(n).times(n).eq(d));break}return R=!0,I(n,e,l.rounding,t)};h.decimalPlaces=h.dp=function(){var e,t=this.d,r=NaN;if(t){if(e=t.length-1,r=(e-ie(this.e/L))*L,e=t[e],e)for(;e%10==0;e/=10)r--;r<0&&(r=0)}return r};h.dividedBy=h.div=function(e){return H(this,new this.constructor(e))};h.dividedToIntegerBy=h.divToInt=function(e){var t=this,r=t.constructor;return I(H(t,new r(e),0,1,1),r.precision,r.rounding)};h.equals=h.eq=function(e){return this.cmp(e)===0};h.floor=function(){return I(new this.constructor(this),this.e+1,3)};h.greaterThan=h.gt=function(e){return this.cmp(e)>0};h.greaterThanOrEqualTo=h.gte=function(e){var t=this.cmp(e);return t==1||t===0};h.hyperbolicCosine=h.cosh=function(){var e,t,r,n,o,i=this,s=i.constructor,a=new s(1);if(!i.isFinite())return new s(i.s?1/0:NaN);if(i.isZero())return a;r=s.precision,n=s.rounding,s.precision=r+Math.max(i.e,i.sd())+4,s.rounding=1,o=i.d.length,o<32?(e=Math.ceil(o/3),t=(1/dt(4,e)).toString()):(e=16,t="2.3283064365386962890625e-10"),i=ve(s,1,i.times(t),new s(1),!0);for(var c,u=e,d=new s(8);u--;)c=i.times(i),i=a.minus(c.times(d.minus(c.times(d))));return I(i,s.precision=r,s.rounding=n,!0)};h.hyperbolicSine=h.sinh=function(){var e,t,r,n,o=this,i=o.constructor;if(!o.isFinite()||o.isZero())return new i(o);if(t=i.precision,r=i.rounding,i.precision=t+Math.max(o.e,o.sd())+4,i.rounding=1,n=o.d.length,n<3)o=ve(i,2,o,o,!0);else{e=1.4*Math.sqrt(n),e=e>16?16:e|0,o=o.times(1/dt(5,e)),o=ve(i,2,o,o,!0);for(var s,a=new i(5),c=new i(16),u=new i(20);e--;)s=o.times(o),o=o.times(a.plus(s.times(c.times(s).plus(u))))}return i.precision=t,i.rounding=r,I(o,t,r,!0)};h.hyperbolicTangent=h.tanh=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+7,n.rounding=1,H(r.sinh(),r.cosh(),n.precision=e,n.rounding=t)):new n(r.s)};h.inverseCosine=h.acos=function(){var e,t=this,r=t.constructor,n=t.abs().cmp(1),o=r.precision,i=r.rounding;return n!==-1?n===0?t.isNeg()?le(r,o,i):new r(0):new r(NaN):t.isZero()?le(r,o+4,i).times(.5):(r.precision=o+6,r.rounding=1,t=t.asin(),e=le(r,o+4,i).times(.5),r.precision=o,r.rounding=i,e.minus(t))};h.inverseHyperbolicCosine=h.acosh=function(){var e,t,r=this,n=r.constructor;return r.lte(1)?new n(r.eq(1)?0:NaN):r.isFinite()?(e=n.precision,t=n.rounding,n.precision=e+Math.max(Math.abs(r.e),r.sd())+4,n.rounding=1,R=!1,r=r.times(r).minus(1).sqrt().plus(r),R=!0,n.precision=e,n.rounding=t,r.ln()):new n(r)};h.inverseHyperbolicSine=h.asinh=function(){var e,t,r=this,n=r.constructor;return!r.isFinite()||r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+2*Math.max(Math.abs(r.e),r.sd())+6,n.rounding=1,R=!1,r=r.times(r).plus(1).sqrt().plus(r),R=!0,n.precision=e,n.rounding=t,r.ln())};h.inverseHyperbolicTangent=h.atanh=function(){var e,t,r,n,o=this,i=o.constructor;return o.isFinite()?o.e>=0?new i(o.abs().eq(1)?o.s/0:o.isZero()?o:NaN):(e=i.precision,t=i.rounding,n=o.sd(),Math.max(n,e)<2*-o.e-1?I(new i(o),e,t,!0):(i.precision=r=n-o.e,o=H(o.plus(1),new i(1).minus(o),r+e,1),i.precision=e+4,i.rounding=1,o=o.ln(),i.precision=e,i.rounding=t,o.times(.5))):new i(NaN)};h.inverseSine=h.asin=function(){var e,t,r,n,o=this,i=o.constructor;return o.isZero()?new i(o):(t=o.abs().cmp(1),r=i.precision,n=i.rounding,t!==-1?t===0?(e=le(i,r+4,n).times(.5),e.s=o.s,e):new i(NaN):(i.precision=r+6,i.rounding=1,o=o.div(new i(1).minus(o.times(o)).sqrt().plus(1)).atan(),i.precision=r,i.rounding=n,o.times(2)))};h.inverseTangent=h.atan=function(){var e,t,r,n,o,i,s,a,c,u=this,d=u.constructor,l=d.precision,f=d.rounding;if(u.isFinite()){if(u.isZero())return new d(u);if(u.abs().eq(1)&&l+4<=Vt)return s=le(d,l+4,f).times(.25),s.s=u.s,s}else{if(!u.s)return new d(NaN);if(l+4<=Vt)return s=le(d,l+4,f).times(.5),s.s=u.s,s}for(d.precision=a=l+10,d.rounding=1,r=Math.min(28,a/L+2|0),e=r;e;--e)u=u.div(u.times(u).plus(1).sqrt().plus(1));for(R=!1,t=Math.ceil(a/L),n=1,c=u.times(u),s=new d(u),o=u;e!==-1;)if(o=o.times(c),i=s.minus(o.div(n+=2)),o=o.times(c),s=i.plus(o.div(n+=2)),s.d[t]!==void 0)for(e=t;s.d[e]===i.d[e]&&e--;);return r&&(s=s.times(2<<r-1)),R=!0,I(s,d.precision=l,d.rounding=f,!0)};h.isFinite=function(){return!!this.d};h.isInteger=h.isInt=function(){return!!this.d&&ie(this.e/L)>this.d.length-2};h.isNaN=function(){return!this.s};h.isNegative=h.isNeg=function(){return this.s<0};h.isPositive=h.isPos=function(){return this.s>0};h.isZero=function(){return!!this.d&&this.d[0]===0};h.lessThan=h.lt=function(e){return this.cmp(e)<0};h.lessThanOrEqualTo=h.lte=function(e){return this.cmp(e)<1};h.logarithm=h.log=function(e){var t,r,n,o,i,s,a,c,u=this,d=u.constructor,l=d.precision,f=d.rounding,p=5;if(e==null)e=new d(10),t=!0;else{if(e=new d(e),r=e.d,e.s<0||!r||!r[0]||e.eq(1))return new d(NaN);t=e.eq(10)}if(r=u.d,u.s<0||!r||!r[0]||u.eq(1))return new d(r&&!r[0]?-1/0:u.s!=1?NaN:r?0:1/0);if(t)if(r.length>1)i=!0;else{for(o=r[0];o%10===0;)o/=10;i=o!==1}if(R=!1,a=l+p,s=Ae(u,a),n=t?ut(d,a+10):Ae(e,a),c=H(s,n,a,1),Ue(c.d,o=l,f))do if(a+=10,s=Ae(u,a),n=t?ut(d,a+10):Ae(e,a),c=H(s,n,a,1),!i){+oe(c.d).slice(o+1,o+15)+1==1e14&&(c=I(c,l+1,0));break}while(Ue(c.d,o+=10,f));return R=!0,I(c,l,f)};h.minus=h.sub=function(e){var t,r,n,o,i,s,a,c,u,d,l,f,p=this,m=p.constructor;if(e=new m(e),!p.d||!e.d)return!p.s||!e.s?e=new m(NaN):p.d?e.s=-e.s:e=new m(e.d||p.s!==e.s?p:NaN),e;if(p.s!=e.s)return e.s=-e.s,p.plus(e);if(u=p.d,f=e.d,a=m.precision,c=m.rounding,!u[0]||!f[0]){if(f[0])e.s=-e.s;else if(u[0])e=new m(p);else return new m(c===3?-0:0);return R?I(e,a,c):e}if(r=ie(e.e/L),d=ie(p.e/L),u=u.slice(),i=d-r,i){for(l=i<0,l?(t=u,i=-i,s=f.length):(t=f,r=d,s=u.length),n=Math.max(Math.ceil(a/L),s)+2,i>n&&(i=n,t.length=1),t.reverse(),n=i;n--;)t.push(0);t.reverse()}else{for(n=u.length,s=f.length,l=n<s,l&&(s=n),n=0;n<s;n++)if(u[n]!=f[n]){l=u[n]<f[n];break}i=0}for(l&&(t=u,u=f,f=t,e.s=-e.s),s=u.length,n=f.length-s;n>0;--n)u[s++]=0;for(n=f.length;n>i;){if(u[--n]<f[n]){for(o=n;o&&u[--o]===0;)u[o]=de-1;--u[o],u[n]+=de}u[n]-=f[n]}for(;u[--s]===0;)u.pop();for(;u[0]===0;u.shift())--r;return u[0]?(e.d=u,e.e=lt(u,r),R?I(e,a,c):e):new m(c===3?-0:0)};h.modulo=h.mod=function(e){var t,r=this,n=r.constructor;return e=new n(e),!r.d||!e.s||e.d&&!e.d[0]?new n(NaN):!e.d||r.d&&!r.d[0]?I(new n(r),n.precision,n.rounding):(R=!1,n.modulo==9?(t=H(r,e.abs(),0,3,1),t.s*=e.s):t=H(r,e,0,n.modulo,1),t=t.times(e),R=!0,r.minus(t))};h.naturalExponential=h.exp=function(){return Ft(this)};h.naturalLogarithm=h.ln=function(){return Ae(this)};h.negated=h.neg=function(){var e=new this.constructor(this);return e.s=-e.s,I(e)};h.plus=h.add=function(e){var t,r,n,o,i,s,a,c,u,d,l=this,f=l.constructor;if(e=new f(e),!l.d||!e.d)return!l.s||!e.s?e=new f(NaN):l.d||(e=new f(e.d||l.s===e.s?l:NaN)),e;if(l.s!=e.s)return e.s=-e.s,l.minus(e);if(u=l.d,d=e.d,a=f.precision,c=f.rounding,!u[0]||!d[0])return d[0]||(e=new f(l)),R?I(e,a,c):e;if(i=ie(l.e/L),n=ie(e.e/L),u=u.slice(),o=i-n,o){for(o<0?(r=u,o=-o,s=d.length):(r=d,n=i,s=u.length),i=Math.ceil(a/L),s=i>s?i+1:s+1,o>s&&(o=s,r.length=1),r.reverse();o--;)r.push(0);r.reverse()}for(s=u.length,o=d.length,s-o<0&&(o=s,r=d,d=u,u=r),t=0;o;)t=(u[--o]=u[o]+d[o]+t)/de|0,u[o]%=de;for(t&&(u.unshift(t),++n),s=u.length;u[--s]==0;)u.pop();return e.d=u,e.e=lt(u,n),R?I(e,a,c):e};h.precision=h.sd=function(e){var t,r=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(Ie+e);return r.d?(t=Mr(r.d),e&&r.e+1>t&&(t=r.e+1)):t=NaN,t};h.round=function(){var e=this,t=e.constructor;return I(new t(e),e.e+1,t.rounding)};h.sine=h.sin=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+L,n.rounding=1,r=Jn(n,Wr(n,r)),n.precision=e,n.rounding=t,I(he>2?r.neg():r,e,t,!0)):new n(NaN)};h.squareRoot=h.sqrt=function(){var e,t,r,n,o,i,s=this,a=s.d,c=s.e,u=s.s,d=s.constructor;if(u!==1||!a||!a[0])return new d(!u||u<0&&(!a||a[0])?NaN:a?s:1/0);for(R=!1,u=Math.sqrt(+s),u==0||u==1/0?(t=oe(a),(t.length+c)%2==0&&(t+="0"),u=Math.sqrt(t),c=ie((c+1)/2)-(c<0||c%2),u==1/0?t="5e"+c:(t=u.toExponential(),t=t.slice(0,t.indexOf("e")+1)+c),n=new d(t)):n=new d(u.toString()),r=(c=d.precision)+3;;)if(i=n,n=i.plus(H(s,i,r+2,1)).times(.5),oe(i.d).slice(0,r)===(t=oe(n.d)).slice(0,r))if(t=t.slice(r-3,r+1),t=="9999"||!o&&t=="4999"){if(!o&&(I(i,c+1,0),i.times(i).eq(s))){n=i;break}r+=4,o=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(I(n,c+1,1),e=!n.times(n).eq(s));break}return R=!0,I(n,c,d.rounding,e)};h.tangent=h.tan=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+10,n.rounding=1,r=r.sin(),r.s=1,r=H(r,new n(1).minus(r.times(r)).sqrt(),e+10,0),n.precision=e,n.rounding=t,I(he==2||he==4?r.neg():r,e,t,!0)):new n(NaN)};h.times=h.mul=function(e){var t,r,n,o,i,s,a,c,u,d=this,l=d.constructor,f=d.d,p=(e=new l(e)).d;if(e.s*=d.s,!f||!f[0]||!p||!p[0])return new l(!e.s||f&&!f[0]&&!p||p&&!p[0]&&!f?NaN:!f||!p?e.s/0:e.s*0);for(r=ie(d.e/L)+ie(e.e/L),c=f.length,u=p.length,c<u&&(i=f,f=p,p=i,s=c,c=u,u=s),i=[],s=c+u,n=s;n--;)i.push(0);for(n=u;--n>=0;){for(t=0,o=c+n;o>n;)a=i[o]+p[n]*f[o-n-1]+t,i[o--]=a%de|0,t=a/de|0;i[o]=(i[o]+t)%de|0}for(;!i[--s];)i.pop();return t?++r:i.shift(),e.d=i,e.e=lt(i,r),R?I(e,l.precision,l.rounding):e};h.toBinary=function(e,t){return Et(this,2,e,t)};h.toDecimalPlaces=h.toDP=function(e,t){var r=this,n=r.constructor;return r=new n(r),e===void 0?r:(ae(e,0,Se),t===void 0?t=n.rounding:ae(t,0,8),I(r,e+r.e+1,t))};h.toExponential=function(e,t){var r,n=this,o=n.constructor;return e===void 0?r=me(n,!0):(ae(e,0,Se),t===void 0?t=o.rounding:ae(t,0,8),n=I(new o(n),e+1,t),r=me(n,!0,e+1)),n.isNeg()&&!n.isZero()?"-"+r:r};h.toFixed=function(e,t){var r,n,o=this,i=o.constructor;return e===void 0?r=me(o):(ae(e,0,Se),t===void 0?t=i.rounding:ae(t,0,8),n=I(new i(o),e+o.e+1,t),r=me(n,!1,e+n.e+1)),o.isNeg()&&!o.isZero()?"-"+r:r};h.toFraction=function(e){var t,r,n,o,i,s,a,c,u,d,l,f,p=this,m=p.d,g=p.constructor;if(!m)return new g(p);if(u=r=new g(1),n=c=new g(0),t=new g(n),i=t.e=Mr(m)-p.e-1,s=i%L,t.d[0]=re(10,s<0?L+s:s),e==null)e=i>0?t:u;else{if(a=new g(e),!a.isInt()||a.lt(u))throw Error(Ie+a);e=a.gt(t)?i>0?t:u:a}for(R=!1,a=new g(oe(m)),d=g.precision,g.precision=i=m.length*L*2;l=H(a,t,0,1,1),o=r.plus(l.times(n)),o.cmp(e)!=1;)r=n,n=o,o=u,u=c.plus(l.times(o)),c=o,o=t,t=a.minus(l.times(o)),a=o;return o=H(e.minus(r),n,0,1,1),c=c.plus(o.times(u)),r=r.plus(o.times(n)),c.s=u.s=p.s,f=H(u,n,i,1).minus(p).abs().cmp(H(c,r,i,1).minus(p).abs())<1?[u,n]:[c,r],g.precision=d,R=!0,f};h.toHexadecimal=h.toHex=function(e,t){return Et(this,16,e,t)};h.toNearest=function(e,t){var r=this,n=r.constructor;if(r=new n(r),e==null){if(!r.d)return r;e=new n(1),t=n.rounding}else{if(e=new n(e),t===void 0?t=n.rounding:ae(t,0,8),!r.d)return e.s?r:e;if(!e.d)return e.s&&(e.s=r.s),e}return e.d[0]?(R=!1,r=H(r,e,0,t,1).times(e),R=!0,I(r)):(e.s=r.s,r=e),r};h.toNumber=function(){return+this};h.toOctal=function(e,t){return Et(this,8,e,t)};h.toPower=h.pow=function(e){var t,r,n,o,i,s,a=this,c=a.constructor,u=+(e=new c(e));if(!a.d||!e.d||!a.d[0]||!e.d[0])return new c(re(+a,u));if(a=new c(a),a.eq(1))return a;if(n=c.precision,i=c.rounding,e.eq(1))return I(a,n,i);if(t=ie(e.e/L),t>=e.d.length-1&&(r=u<0?-u:u)<=qn)return o=_r(c,a,r,n),e.s<0?new c(1).div(o):I(o,n,i);if(s=a.s,s<0){if(t<e.d.length-1)return new c(NaN);if((e.d[t]&1)==0&&(s=1),a.e==0&&a.d[0]==1&&a.d.length==1)return a.s=s,a}return r=re(+a,u),t=r==0||!isFinite(r)?ie(u*(Math.log("0."+oe(a.d))/Math.LN10+a.e+1)):new c(r+"").e,t>c.maxE+1||t<c.minE-1?new c(t>0?s/0:0):(R=!1,c.rounding=a.s=1,r=Math.min(12,(t+"").length),o=Ft(e.times(Ae(a,n+r)),n),o.d&&(o=I(o,n+5,1),Ue(o.d,n,i)&&(t=n+10,o=I(Ft(e.times(Ae(a,t+r)),t),t+5,1),+oe(o.d).slice(n+1,n+15)+1==1e14&&(o=I(o,n+1,0)))),o.s=s,R=!0,c.rounding=i,I(o,n,i))};h.toPrecision=function(e,t){var r,n=this,o=n.constructor;return e===void 0?r=me(n,n.e<=o.toExpNeg||n.e>=o.toExpPos):(ae(e,1,Se),t===void 0?t=o.rounding:ae(t,0,8),n=I(new o(n),e,t),r=me(n,e<=n.e||n.e<=o.toExpNeg,e)),n.isNeg()&&!n.isZero()?"-"+r:r};h.toSignificantDigits=h.toSD=function(e,t){var r=this,n=r.constructor;return e===void 0?(e=n.precision,t=n.rounding):(ae(e,1,Se),t===void 0?t=n.rounding:ae(t,0,8)),I(new n(r),e,t)};h.toString=function(){var e=this,t=e.constructor,r=me(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+r:r};h.truncated=h.trunc=function(){return I(new this.constructor(this),this.e+1,1)};h.valueOf=h.toJSON=function(){var e=this,t=e.constructor,r=me(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+r:r};function oe(e){var t,r,n,o=e.length-1,i="",s=e[0];if(o>0){for(i+=s,t=1;t<o;t++)n=e[t]+"",r=L-n.length,r&&(i+=ke(r)),i+=n;s=e[t],n=s+"",r=L-n.length,r&&(i+=ke(r))}else if(s===0)return"0";for(;s%10===0;)s/=10;return i+s}function ae(e,t,r){if(e!==~~e||e<t||e>r)throw Error(Ie+e)}function Ue(e,t,r,n){var o,i,s,a;for(i=e[0];i>=10;i/=10)--t;return--t<0?(t+=L,o=0):(o=Math.ceil((t+1)/L),t%=L),i=re(10,L-t),a=e[o]%i|0,n==null?t<3?(t==0?a=a/100|0:t==1&&(a=a/10|0),s=r<4&&a==99999||r>3&&a==49999||a==5e4||a==0):s=(r<4&&a+1==i||r>3&&a+1==i/2)&&(e[o+1]/i/100|0)==re(10,t-2)-1||(a==i/2||a==0)&&(e[o+1]/i/100|0)==0:t<4?(t==0?a=a/1e3|0:t==1?a=a/100|0:t==2&&(a=a/10|0),s=(n||r<4)&&a==9999||!n&&r>3&&a==4999):s=((n||r<4)&&a+1==i||!n&&r>3&&a+1==i/2)&&(e[o+1]/i/1e3|0)==re(10,t-3)-1,s}function it(e,t,r){for(var n,o=[0],i,s=0,a=e.length;s<a;){for(i=o.length;i--;)o[i]*=t;for(o[0]+=Kt.indexOf(e.charAt(s++)),n=0;n<o.length;n++)o[n]>r-1&&(o[n+1]===void 0&&(o[n+1]=0),o[n+1]+=o[n]/r|0,o[n]%=r)}return o.reverse()}function Hn(e,t){var r,n,o;if(t.isZero())return t;n=t.d.length,n<32?(r=Math.ceil(n/3),o=(1/dt(4,r)).toString()):(r=16,o="2.3283064365386962890625e-10"),e.precision+=r,t=ve(e,1,t.times(o),new e(1));for(var i=r;i--;){var s=t.times(t);t=s.times(s).minus(s).times(8).plus(1)}return e.precision-=r,t}var H=function(){function e(n,o,i){var s,a=0,c=n.length;for(n=n.slice();c--;)s=n[c]*o+a,n[c]=s%i|0,a=s/i|0;return a&&n.unshift(a),n}function t(n,o,i,s){var a,c;if(i!=s)c=i>s?1:-1;else for(a=c=0;a<i;a++)if(n[a]!=o[a]){c=n[a]>o[a]?1:-1;break}return c}function r(n,o,i,s){for(var a=0;i--;)n[i]-=a,a=n[i]<o[i]?1:0,n[i]=a*s+n[i]-o[i];for(;!n[0]&&n.length>1;)n.shift()}return function(n,o,i,s,a,c){var u,d,l,f,p,m,g,k,x,w,b,T,S,A,U,E,B,v,W,G,N=n.constructor,ee=n.s==o.s?1:-1,z=n.d,D=o.d;if(!z||!z[0]||!D||!D[0])return new N(!n.s||!o.s||(z?D&&z[0]==D[0]:!D)?NaN:z&&z[0]==0||!D?ee*0:ee/0);for(c?(p=1,d=n.e-o.e):(c=de,p=L,d=ie(n.e/p)-ie(o.e/p)),W=D.length,B=z.length,x=new N(ee),w=x.d=[],l=0;D[l]==(z[l]||0);l++);if(D[l]>(z[l]||0)&&d--,i==null?(A=i=N.precision,s=N.rounding):a?A=i+(n.e-o.e)+1:A=i,A<0)w.push(1),m=!0;else{if(A=A/p+2|0,l=0,W==1){for(f=0,D=D[0],A++;(l<B||f)&&A--;l++)U=f*c+(z[l]||0),w[l]=U/D|0,f=U%D|0;m=f||l<B}else{for(f=c/(D[0]+1)|0,f>1&&(D=e(D,f,c),z=e(z,f,c),W=D.length,B=z.length),E=W,b=z.slice(0,W),T=b.length;T<W;)b[T++]=0;G=D.slice(),G.unshift(0),v=D[0],D[1]>=c/2&&++v;do f=0,u=t(D,b,W,T),u<0?(S=b[0],W!=T&&(S=S*c+(b[1]||0)),f=S/v|0,f>1?(f>=c&&(f=c-1),g=e(D,f,c),k=g.length,T=b.length,u=t(g,b,k,T),u==1&&(f--,r(g,W<k?G:D,k,c))):(f==0&&(u=f=1),g=D.slice()),k=g.length,k<T&&g.unshift(0),r(b,g,T,c),u==-1&&(T=b.length,u=t(D,b,W,T),u<1&&(f++,r(b,W<T?G:D,T,c))),T=b.length):u===0&&(f++,b=[0]),w[l++]=f,u&&b[0]?b[T++]=z[E]||0:(b=[z[E]],T=1);while((E++<B||b[0]!==void 0)&&A--);m=b[0]!==void 0}w[0]||w.shift()}if(p==1)x.e=d,Vr=m;else{for(l=1,f=w[0];f>=10;f/=10)l++;x.e=l+d*p-1,I(x,a?i+x.e+1:i,s,m)}return x}}();function I(e,t,r,n){var o,i,s,a,c,u,d,l,f,p=e.constructor;e:if(t!=null){if(l=e.d,!l)return e;for(o=1,a=l[0];a>=10;a/=10)o++;if(i=t-o,i<0)i+=L,s=t,d=l[f=0],c=d/re(10,o-s-1)%10|0;else if(f=Math.ceil((i+1)/L),a=l.length,f>=a)if(n){for(;a++<=f;)l.push(0);d=c=0,o=1,i%=L,s=i-L+1}else break e;else{for(d=a=l[f],o=1;a>=10;a/=10)o++;i%=L,s=i-L+o,c=s<0?0:d/re(10,o-s-1)%10|0}if(n=n||t<0||l[f+1]!==void 0||(s<0?d:d%re(10,o-s-1)),u=r<4?(c||n)&&(r==0||r==(e.s<0?3:2)):c>5||c==5&&(r==4||n||r==6&&(i>0?s>0?d/re(10,o-s):0:l[f-1])%10&1||r==(e.s<0?8:7)),t<1||!l[0])return l.length=0,u?(t-=e.e+1,l[0]=re(10,(L-t%L)%L),e.e=-t||0):l[0]=e.e=0,e;if(i==0?(l.length=f,a=1,f--):(l.length=f+1,a=re(10,L-i),l[f]=s>0?(d/re(10,o-s)%re(10,s)|0)*a:0),u)for(;;)if(f==0){for(i=1,s=l[0];s>=10;s/=10)i++;for(s=l[0]+=a,a=1;s>=10;s/=10)a++;i!=a&&(e.e++,l[0]==de&&(l[0]=1));break}else{if(l[f]+=a,l[f]!=de)break;l[f--]=0,a=1}for(i=l.length;l[--i]===0;)l.pop()}return R&&(e.e>p.maxE?(e.d=null,e.e=NaN):e.e<p.minE&&(e.e=0,e.d=[0])),e}function me(e,t,r){if(!e.isFinite())return Or(e);var n,o=e.e,i=oe(e.d),s=i.length;return t?(r&&(n=r-s)>0?i=i.charAt(0)+"."+i.slice(1)+ke(n):s>1&&(i=i.charAt(0)+"."+i.slice(1)),i=i+(e.e<0?"e":"e+")+e.e):o<0?(i="0."+ke(-o-1)+i,r&&(n=r-s)>0&&(i+=ke(n))):o>=s?(i+=ke(o+1-s),r&&(n=r-o-1)>0&&(i=i+"."+ke(n))):((n=o+1)<s&&(i=i.slice(0,n)+"."+i.slice(n)),r&&(n=r-s)>0&&(o+1===s&&(i+="."),i+=ke(n))),i}function lt(e,t){var r=e[0];for(t*=L;r>=10;r/=10)t++;return t}function ut(e,t,r){if(t>Gn)throw R=!0,r&&(e.precision=r),Error(Fr);return I(new e(st),t,1,!0)}function le(e,t,r){if(t>Vt)throw Error(Fr);return I(new e(at),t,r,!0)}function Mr(e){var t=e.length-1,r=t*L+1;if(t=e[t],t){for(;t%10==0;t/=10)r--;for(t=e[0];t>=10;t/=10)r++}return r}function ke(e){for(var t="";e--;)t+="0";return t}function _r(e,t,r,n){var o,i=new e(1),s=Math.ceil(n/L+4);for(R=!1;;){if(r%2&&(i=i.times(t),Kr(i.d,s)&&(o=!0)),r=ie(r/2),r===0){r=i.d.length-1,o&&i.d[r]===0&&++i.d[r];break}t=t.times(t),Kr(t.d,s)}return R=!0,i}function Rr(e){return e.d[e.d.length-1]&1}function Dr(e,t,r){for(var n,o=new e(t[0]),i=0;++i<t.length;)if(n=new e(t[i]),n.s)o[r](n)&&(o=n);else{o=n;break}return o}function Ft(e,t){var r,n,o,i,s,a,c,u=0,d=0,l=0,f=e.constructor,p=f.rounding,m=f.precision;if(!e.d||!e.d[0]||e.e>17)return new f(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:0/0);for(t==null?(R=!1,c=m):c=t,a=new f(.03125);e.e>-2;)e=e.times(a),l+=5;for(n=Math.log(re(2,l))/Math.LN10*2+5|0,c+=n,r=i=s=new f(1),f.precision=c;;){if(i=I(i.times(e),c,1),r=r.times(++d),a=s.plus(H(i,r,c,1)),oe(a.d).slice(0,c)===oe(s.d).slice(0,c)){for(o=l;o--;)s=I(s.times(s),c,1);if(t==null)if(u<3&&Ue(s.d,c-n,p,u))f.precision=c+=10,r=i=a=new f(1),d=0,u++;else return I(s,f.precision=m,p,R=!0);else return f.precision=m,s}s=a}}function Ae(e,t){var r,n,o,i,s,a,c,u,d,l,f,p=1,m=10,g=e,k=g.d,x=g.constructor,w=x.rounding,b=x.precision;if(g.s<0||!k||!k[0]||!g.e&&k[0]==1&&k.length==1)return new x(k&&!k[0]?-1/0:g.s!=1?NaN:k?0:g);if(t==null?(R=!1,d=b):d=t,x.precision=d+=m,r=oe(k),n=r.charAt(0),Math.abs(i=g.e)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)g=g.times(e),r=oe(g.d),n=r.charAt(0),p++;i=g.e,n>1?(g=new x("0."+r),i++):g=new x(n+"."+r.slice(1))}else return u=ut(x,d+2,b).times(i+""),g=Ae(new x(n+"."+r.slice(1)),d-m).plus(u),x.precision=b,t==null?I(g,b,w,R=!0):g;for(l=g,c=s=g=H(g.minus(1),g.plus(1),d,1),f=I(g.times(g),d,1),o=3;;){if(s=I(s.times(f),d,1),u=c.plus(H(s,new x(o),d,1)),oe(u.d).slice(0,d)===oe(c.d).slice(0,d))if(c=c.times(2),i!==0&&(c=c.plus(ut(x,d+2,b).times(i+""))),c=H(c,new x(p),d,1),t==null)if(Ue(c.d,d-m,w,a))x.precision=d+=m,u=s=g=H(l.minus(1),l.plus(1),d,1),f=I(g.times(g),d,1),o=a=1;else return I(c,x.precision=b,w,R=!0);else return x.precision=b,c;c=u,o+=2}}function Or(e){return String(e.s*e.s/0)}function Nt(e,t){var r,n,o;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(n=t.search(/e/i))>0?(r<0&&(r=n),r+=+t.slice(n+1),t=t.substring(0,n)):r<0&&(r=t.length),n=0;t.charCodeAt(n)===48;n++);for(o=t.length;t.charCodeAt(o-1)===48;--o);if(t=t.slice(n,o),t){if(o-=n,e.e=r=r-n-1,e.d=[],n=(r+1)%L,r<0&&(n+=L),n<o){for(n&&e.d.push(+t.slice(0,n)),o-=L;n<o;)e.d.push(+t.slice(n,n+=L));t=t.slice(n),n=L-t.length}else n-=o;for(;n--;)t+="0";e.d.push(+t),R&&(e.e>e.constructor.maxE?(e.d=null,e.e=NaN):e.e<e.constructor.minE&&(e.e=0,e.d=[0]))}else e.e=0,e.d=[0];return e}function jn(e,t){var r,n,o,i,s,a,c,u,d;if(t.indexOf("_")>-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),vr.test(t))return Nt(e,t)}else if(t==="Infinity"||t==="NaN")return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(Wn.test(t))r=16,t=t.toLowerCase();else if(On.test(t))r=2;else if(Un.test(t))r=8;else throw Error(Ie+t);for(i=t.search(/p/i),i>0?(c=+t.slice(i+1),t=t.substring(2,i)):t=t.slice(2),i=t.indexOf("."),s=i>=0,n=e.constructor,s&&(t=t.replace(".",""),a=t.length,i=a-i,o=_r(n,new n(r),i,i*2)),u=it(t,r,de),d=u.length-1,i=d;u[i]===0;--i)u.pop();return i<0?new n(e.s*0):(e.e=lt(u,d),e.d=u,R=!1,s&&(e=H(e,o,a*4)),c&&(e=e.times(Math.abs(c)<54?re(2,c):qe.pow(2,c))),R=!0,e)}function Jn(e,t){var r,n=t.d.length;if(n<3)return t.isZero()?t:ve(e,2,t,t);r=1.4*Math.sqrt(n),r=r>16?16:r|0,t=t.times(1/dt(5,r)),t=ve(e,2,t,t);for(var o,i=new e(5),s=new e(16),a=new e(20);r--;)o=t.times(t),t=t.times(i.plus(o.times(s.times(o).minus(a))));return t}function ve(e,t,r,n,o){var i,s,a,c,u=1,d=e.precision,l=Math.ceil(d/L);for(R=!1,c=r.times(r),a=new e(n);;){if(s=H(a.times(c),new e(t++*t++),d,1),a=o?n.plus(s):n.minus(s),n=H(s.times(c),new e(t++*t++),d,1),s=a.plus(n),s.d[l]!==void 0){for(i=l;s.d[i]===a.d[i]&&i--;);if(i==-1)break}i=a,a=n,n=s,s=i,u++}return R=!0,s.d.length=l+1,s}function dt(e,t){for(var r=e;--t;)r*=e;return r}function Wr(e,t){var r,n=t.s<0,o=le(e,e.precision,1),i=o.times(.5);if(t=t.abs(),t.lte(i))return he=n?4:1,t;if(r=t.divToInt(o),r.isZero())he=n?3:2;else{if(t=t.minus(r.times(o)),t.lte(i))return he=Rr(r)?n?2:3:n?4:1,t;he=Rr(r)?n?1:4:n?3:2}return t.minus(o).abs()}function Et(e,t,r,n){var o,i,s,a,c,u,d,l,f,p=e.constructor,m=r!==void 0;if(m?(ae(r,1,Se),n===void 0?n=p.rounding:ae(n,0,8)):(r=p.precision,n=p.rounding),!e.isFinite())d=Or(e);else{for(d=me(e),s=d.indexOf("."),m?(o=2,t==16?r=r*4-3:t==8&&(r=r*3-2)):o=t,s>=0&&(d=d.replace(".",""),f=new p(1),f.e=d.length-s,f.d=it(me(f),10,o),f.e=f.d.length),l=it(d,10,o),i=c=l.length;l[--c]==0;)l.pop();if(!l[0])d=m?"0p+0":"0";else{if(s<0?i--:(e=new p(e),e.d=l,e.e=i,e=H(e,f,r,n,0,o),l=e.d,i=e.e,u=Vr),s=l[r],a=o/2,u=u||l[r+1]!==void 0,u=n<4?(s!==void 0||u)&&(n===0||n===(e.s<0?3:2)):s>a||s===a&&(n===4||u||n===6&&l[r-1]&1||n===(e.s<0?8:7)),l.length=r,u)for(;++l[--r]>o-1;)l[r]=0,r||(++i,l.unshift(1));for(c=l.length;!l[c-1];--c);for(s=0,d="";s<c;s++)d+=Kt.charAt(l[s]);if(m){if(c>1)if(t==16||t==8){for(s=t==16?4:3,--c;c%s;c++)d+="0";for(l=it(d,o,t),c=l.length;!l[c-1];--c);for(s=1,d="1.";s<c;s++)d+=Kt.charAt(l[s])}else d=d.charAt(0)+"."+d.slice(1);d=d+(i<0?"p":"p+")+i}else if(i<0){for(;++i;)d="0"+d;d="0."+d}else if(++i>c)for(i-=c;i--;)d+="0";else i<c&&(d=d.slice(0,i)+"."+d.slice(i))}d=(t==16?"0x":t==2?"0b":t==8?"0o":"")+d}return e.s<0?"-"+d:d}function Kr(e,t){if(e.length>t)return e.length=t,!0}function zn(e){return new this(e).abs()}function Yn(e){return new this(e).acos()}function Zn(e){return new this(e).acosh()}function Xn(e,t){return new this(e).plus(t)}function Qn(e){return new this(e).asin()}function $n(e){return new this(e).asinh()}function eo(e){return new this(e).atan()}function to(e){return new this(e).atanh()}function ro(e,t){e=new this(e),t=new this(t);var r,n=this.precision,o=this.rounding,i=n+4;return!e.s||!t.s?r=new this(NaN):!e.d&&!t.d?(r=le(this,i,1).times(t.s>0?.25:.75),r.s=e.s):!t.d||e.isZero()?(r=t.s<0?le(this,n,o):new this(0),r.s=e.s):!e.d||t.isZero()?(r=le(this,i,1).times(.5),r.s=e.s):t.s<0?(this.precision=i,this.rounding=1,r=this.atan(H(e,t,i,1)),t=le(this,i,1),this.precision=n,this.rounding=o,r=e.s<0?r.minus(t):r.plus(t)):r=this.atan(H(e,t,i,1)),r}function no(e){return new this(e).cbrt()}function oo(e){return I(e=new this(e),e.e+1,2)}function io(e,t,r){return new this(e).clamp(t,r)}function so(e){if(!e||typeof e!="object")throw Error(ct+"Object expected");var t,r,n,o=e.defaults===!0,i=["precision",1,Se,"rounding",0,8,"toExpNeg",-Ee,0,"toExpPos",0,Ee,"maxE",0,Ee,"minE",-Ee,0,"modulo",0,9];for(t=0;t<i.length;t+=3)if(r=i[t],o&&(this[r]=Ct[r]),(n=e[r])!==void 0)if(ie(n)===n&&n>=i[t+1]&&n<=i[t+2])this[r]=n;else throw Error(Ie+r+": "+n);if(r="crypto",o&&(this[r]=Ct[r]),(n=e[r])!==void 0)if(n===!0||n===!1||n===0||n===1)if(n)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[r]=!0;else throw Error(Nr);else this[r]=!1;else throw Error(Ie+r+": "+n);return this}function ao(e){return new this(e).cos()}function uo(e){return new this(e).cosh()}function Ur(e){var t,r,n;function o(i){var s,a,c,u=this;if(!(u instanceof o))return new o(i);if(u.constructor=o,Cr(i)){u.s=i.s,R?!i.d||i.e>o.maxE?(u.e=NaN,u.d=null):i.e<o.minE?(u.e=0,u.d=[0]):(u.e=i.e,u.d=i.d.slice()):(u.e=i.e,u.d=i.d?i.d.slice():i.d);return}if(c=typeof i,c==="number"){if(i===0){u.s=1/i<0?-1:1,u.e=0,u.d=[0];return}if(i<0?(i=-i,u.s=-1):u.s=1,i===~~i&&i<1e7){for(s=0,a=i;a>=10;a/=10)s++;R?s>o.maxE?(u.e=NaN,u.d=null):s<o.minE?(u.e=0,u.d=[0]):(u.e=s,u.d=[i]):(u.e=s,u.d=[i]);return}else if(i*0!==0){i||(u.s=NaN),u.e=NaN,u.d=null;return}return Nt(u,i.toString())}else if(c!=="string")throw Error(Ie+i);return(a=i.charCodeAt(0))===45?(i=i.slice(1),u.s=-1):(a===43&&(i=i.slice(1)),u.s=1),vr.test(i)?Nt(u,i):jn(u,i)}if(o.prototype=h,o.ROUND_UP=0,o.ROUND_DOWN=1,o.ROUND_CEIL=2,o.ROUND_FLOOR=3,o.ROUND_HALF_UP=4,o.ROUND_HALF_DOWN=5,o.ROUND_HALF_EVEN=6,o.ROUND_HALF_CEIL=7,o.ROUND_HALF_FLOOR=8,o.EUCLID=9,o.config=o.set=so,o.clone=Ur,o.isDecimal=Cr,o.abs=zn,o.acos=Yn,o.acosh=Zn,o.add=Xn,o.asin=Qn,o.asinh=$n,o.atan=eo,o.atanh=to,o.atan2=ro,o.cbrt=no,o.ceil=oo,o.clamp=io,o.cos=ao,o.cosh=uo,o.div=co,o.exp=lo,o.floor=fo,o.hypot=po,o.ln=mo,o.log=go,o.log10=yo,o.log2=ho,o.max=bo,o.min=wo,o.mod=To,o.mul=xo,o.pow=Po,o.random=ko,o.round=Ao,o.sign=Io,o.sin=So,o.sinh=Lo,o.sqrt=Bo,o.sub=Ro,o.sum=Ko,o.tan=Co,o.tanh=Vo,o.trunc=Fo,e===void 0&&(e={}),e&&e.defaults!==!0)for(n=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],t=0;t<n.length;)e.hasOwnProperty(r=n[t++])||(e[r]=this[r]);return o.config(e),o}function co(e,t){return new this(e).div(t)}function lo(e){return new this(e).exp()}function fo(e){return I(e=new this(e),e.e+1,3)}function po(){var e,t,r=new this(0);for(R=!1,e=0;e<arguments.length;)if(t=new this(arguments[e++]),t.d)r.d&&(r=r.plus(t.times(t)));else{if(t.s)return R=!0,new this(1/0);r=t}return R=!0,r.sqrt()}function Cr(e){return e instanceof qe||e&&e.toStringTag===Er||!1}function mo(e){return new this(e).ln()}function go(e,t){return new this(e).log(t)}function ho(e){return new this(e).log(2)}function yo(e){return new this(e).log(10)}function bo(){return Dr(this,arguments,"lt")}function wo(){return Dr(this,arguments,"gt")}function To(e,t){return new this(e).mod(t)}function xo(e,t){return new this(e).mul(t)}function Po(e,t){return new this(e).pow(t)}function ko(e){var t,r,n,o,i=0,s=new this(1),a=[];if(e===void 0?e=this.precision:ae(e,1,Se),n=Math.ceil(e/L),this.crypto)if(crypto.getRandomValues)for(t=crypto.getRandomValues(new Uint32Array(n));i<n;)o=t[i],o>=429e7?t[i]=crypto.getRandomValues(new Uint32Array(1))[0]:a[i++]=o%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(n*=4);i<n;)o=t[i]+(t[i+1]<<8)+(t[i+2]<<16)+((t[i+3]&127)<<24),o>=214e7?crypto.randomBytes(4).copy(t,i):(a.push(o%1e7),i+=4);i=n/4}else throw Error(Nr);else for(;i<n;)a[i++]=Math.random()*1e7|0;for(n=a[--i],e%=L,n&&e&&(o=re(10,L-e),a[i]=(n/o|0)*o);a[i]===0;i--)a.pop();if(i<0)r=0,a=[0];else{for(r=-1;a[0]===0;r-=L)a.shift();for(n=1,o=a[0];o>=10;o/=10)n++;n<L&&(r-=L-n)}return s.e=r,s.d=a,s}function Ao(e){return I(e=new this(e),e.e+1,this.rounding)}function Io(e){return e=new this(e),e.d?e.d[0]?e.s:0*e.s:e.s||NaN}function So(e){return new this(e).sin()}function Lo(e){return new this(e).sinh()}function Bo(e){return new this(e).sqrt()}function Ro(e,t){return new this(e).sub(t)}function Ko(){var e=0,t=arguments,r=new this(t[e]);for(R=!1;r.s&&++e<t.length;)r=r.plus(t[e]);return R=!0,I(r,this.precision,this.rounding)}function Co(e){return new this(e).tan()}function Vo(e){return new this(e).tanh()}function Fo(e){return I(e=new this(e),e.e+1,1)}h[Symbol.for("nodejs.util.inspect.custom")]=h.toString;h[Symbol.toStringTag]="Decimal";var qe=h.constructor=Ur(Ct);st=new qe(st);at=new qe(at);var vt=qe;import{PublicKey as Dt}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as No}from"@solana/spl-token";import{PublicKey as Z,SystemProgram as qr,SYSVAR_RENT_PUBKEY as Eo}from"@solana/web3.js";function y({pubkey:e,isSigner:t=!1,isWritable:r=!0}){return{pubkey:e,isWritable:r,isSigner:t}}var Mt=[y({pubkey:No,isWritable:!1}),y({pubkey:qr.programId,isWritable:!1}),y({pubkey:Eo,isWritable:!1})];function Gr({publicKey:e,transformSol:t}){let r=_t(e.toString());if(r instanceof Z)return t&&r.equals(ne)?ye:r;if(t&&r.toString()===ne.toBase58())return ye;if(typeof r=="string"){if(r===Z.default.toBase58())return Z.default;try{return new Z(r)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function _t(e){try{return new Z(e)}catch{return e}}var cs=new Z("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),ls=new Z("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),vo=new Z("SysvarRent111111111111111111111111111111111"),ds=new Z("SysvarC1ock11111111111111111111111111111111"),fs=new Z("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),Mo=new Z("Sysvar1nstructions1111111111111111111111111"),ps=qr.programId,ms=new Z("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),gs=new Z("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),hs=new Z("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),ys=new Z("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),bs=new Z("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),ws=new Z("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),Ts=new Z("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),xs=new Z("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),Ps=new Z("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),ks=new Z("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),As=new Z("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),ye=new Z("So11111111111111111111111111111111111111112"),ne=Z.default;import{PublicKey as _o}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Hr}from"@solana/spl-token";var jr={chainId:101,address:_o.default.toBase58(),programId:Hr.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},se={chainId:101,address:"So11111111111111111111111111111111111111112",programId:Hr.toBase58(),decimals:9,symbol:"WSOL",name:"Wrapped SOL",logoURI:"https://img.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}};var Ot=class{constructor({mint:t,decimals:r,symbol:n,name:o,skipMint:i=!1,isToken2022:s=!1}){if(t===ne.toBase58()||t instanceof Dt&&ne.equals(t)){this.decimals=se.decimals,this.symbol=se.symbol,this.name=se.name,this.mint=new Dt(se.address),this.isToken2022=!1;return}this.decimals=r,this.symbol=n||t.toString().substring(0,6),this.name=o||t.toString().substring(0,6),this.mint=i?Dt.default:Gr({publicKey:t}),this.isToken2022=s}equals(t){return this===t?!0:this.mint.equals(t.mint)}},Ce=Ot;Ce.WSOL=new Ot(te(j({},se),{mint:se.address}));import pt from"big.js";import Wo from"bn.js";import Uo from"decimal.js-light";import Do from"toformat";var Oo=Do,Ge=Oo;var ft=Q("module/fraction"),Wt=Ge(pt),He=Ge(Uo),qo={[0]:He.ROUND_DOWN,[1]:He.ROUND_HALF_UP,[2]:He.ROUND_UP},Go={[0]:pt.roundDown,[1]:pt.roundHalfUp,[2]:pt.roundUp},O=class{constructor(t,r=new Wo(1)){this.numerator=V(t),this.denominator=V(r)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new O(this.denominator,this.numerator)}add(t){let r=t instanceof O?t:new O(V(t));return this.denominator.eq(r.denominator)?new O(this.numerator.add(r.numerator),this.denominator):new O(this.numerator.mul(r.denominator).add(r.numerator.mul(this.denominator)),this.denominator.mul(r.denominator))}sub(t){let r=t instanceof O?t:new O(V(t));return this.denominator.eq(r.denominator)?new O(this.numerator.sub(r.numerator),this.denominator):new O(this.numerator.mul(r.denominator).sub(r.numerator.mul(this.denominator)),this.denominator.mul(r.denominator))}mul(t){let r=t instanceof O?t:new O(V(t));return new O(this.numerator.mul(r.numerator),this.denominator.mul(r.denominator))}div(t){let r=t instanceof O?t:new O(V(t));return new O(this.numerator.mul(r.denominator),this.denominator.mul(r.numerator))}toSignificant(t,r={groupSeparator:""},n=1){Number.isInteger(t)||ft.logWithError(`${t} is not an integer.`),t<=0&&ft.logWithError(`${t} is not positive.`),He.set({precision:t+1,rounding:qo[n]});let o=new He(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(t);return o.toFormat(o.decimalPlaces(),r)}toFixed(t,r={groupSeparator:""},n=1){return Number.isInteger(t)||ft.logWithError(`${t} is not an integer.`),t<0&&ft.logWithError(`${t} is negative.`),Wt.DP=t,Wt.RM=Go[n]||1,new Wt(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,r)}isZero(){return this.numerator.isZero()}};var jo=Q("Raydium_price"),be=class extends O{constructor(r){let{baseToken:n,quoteToken:o,numerator:i,denominator:s}=r;super(i,s);this.baseToken=n,this.quoteToken=o,this.scalar=new O(Ut(n.decimals),Ut(o.decimals))}get raw(){return new O(this.numerator,this.denominator)}get adjusted(){return super.mul(this.scalar)}invert(){return new be({baseToken:this.quoteToken,quoteToken:this.baseToken,denominator:this.numerator,numerator:this.denominator})}mul(r){this.quoteToken!==r.baseToken&&jo.logWithError("mul token not equals");let n=super.mul(r);return new be({baseToken:this.baseToken,quoteToken:r.quoteToken,denominator:n.denominator,numerator:n.numerator})}toSignificant(r=this.quoteToken.decimals,n,o){return this.adjusted.toSignificant(r,n,o)}toFixed(r=this.quoteToken.decimals,n,o){return this.adjusted.toFixed(r,n,o)}};var qt=class{constructor({decimals:t,symbol:r="UNKNOWN",name:n="UNKNOWN"}){this.decimals=t,this.symbol=r,this.name=n}equals(t){return this===t}},mt=qt;mt.SOL=new qt(jr);import Jo from"bn.js";var Jr=new O(new Jo(100)),Me=class extends O{toSignificant(t=5,r,n){return this.mul(Jr).toSignificant(t,r,n)}toFixed(t=2,r,n){return this.mul(Jr).toFixed(t,r,n)}};var Gt=new ue(0),Ta=new ue(1),xa=new ue(2),Pa=new ue(3),ka=new ue(5),Ht=new ue(10),Aa=new ue(100),Ia=new ue(1e3),Sa=new ue(1e4),zr=9007199254740991;function V(e){let t=Q("Raydium_parseBigNumberish");if(e instanceof ue)return e;if(typeof e=="string"){if(e.match(/^-?[0-9]+$/))return new ue(e);t.logWithError(`invalid BigNumberish string: ${e}`)}return typeof e=="number"?(e%1&&t.logWithError(`BigNumberish number underflow: ${e}`),(e>=zr||e<=-zr)&&t.logWithError(`BigNumberish number overflow: ${e}`),new ue(String(e))):typeof e=="bigint"?new ue(e.toString()):(t.error(`invalid BigNumberish value: ${e}`),new ue(0))}function Ut(e){return Ht.pow(V(e))}var Yo=Q("Raydium_amount"),Zr=Ge(zo);function Zo(e,t){let r="0",n="0";if(e.includes(".")){let o=e.split(".");o.length===2?([r,n]=o,n=n.padEnd(t,"0")):Yo.logWithError(`invalid number string, num: ${e}`)}else r=e;return[r,n.slice(0,t)||n]}var we=class extends O{constructor(r,n,o=!0,i){let s=new gt(0),a=Ht.pow(new gt(r.decimals));if(o)s=V(n);else{let c=new gt(0),u=new gt(0);if(typeof n=="string"||typeof n=="number"||typeof n=="bigint"){let[d,l]=Zo(n.toString(),r.decimals);c=V(d),u=V(l)}c=c.mul(a),s=c.add(u)}super(s,a);this.logger=Q(i||"TokenAmount"),this.token=r}get raw(){return this.numerator}isZero(){return this.raw.isZero()}gt(r){return this.token.equals(r.token)||this.logger.logWithError("gt token not equals"),this.raw.gt(r.raw)}lt(r){return this.token.equals(r.token)||this.logger.logWithError("lt token not equals"),this.raw.lt(r.raw)}add(r){return this.token.equals(r.token)||this.logger.logWithError("add token not equals"),new we(this.token,this.raw.add(r.raw))}subtract(r){return this.token.equals(r.token)||this.logger.logWithError("sub token not equals"),new we(this.token,this.raw.sub(r.raw))}toSignificant(r=this.token.decimals,n,o=0){return super.toSignificant(r,n,o)}toFixed(r=this.token.decimals,n,o=0){return r>this.token.decimals&&this.logger.logWithError("decimals overflow"),super.toFixed(r,n,o)}toExact(r={groupSeparator:""}){return Zr.DP=this.token.decimals,new Zr(this.numerator.toString()).div(this.denominator.toString()).toFormat(r)}};function Yr(e){return typeof e=="object"&&e!==null&&![Ce,we,Xo,O,Qo,be,Me].some(t=>typeof t=="object"&&e instanceof t)}function Te(e){return typeof e=="string"?_t(e):Array.isArray(e)?e.map(t=>Te(t)):Yr(e)?Object.fromEntries(Object.entries(e).map(([t,r])=>[t,Te(r)])):e}import{PublicKey as De,sendAndConfirmTransaction as Zt,Transaction as ze,TransactionMessage as Ye,VersionedTransaction as Ze,SystemProgram as ii,LAMPORTS_PER_SOL as si}from"@solana/web3.js";import ai from"axios";var J={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",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",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"};import{PublicKey as $o,ComputeBudgetProgram as Xr,Transaction as $r,TransactionMessage as ei,Keypair as en,VersionedTransaction as jt}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ti}from"@solana/spl-token";var Qr=Q("Raydium_txUtil"),tn=1644;function ht(e){let t=[],r=[];return e.microLamports&&(t.push(Xr.setComputeUnitPrice({microLamports:e.microLamports})),r.push(J.SetComputeUnitPrice)),e.units&&(t.push(Xr.setComputeUnitLimit({units:e.units})),r.push(J.SetComputeUnitLimit)),{instructions:t,instructionTypes:r}}async function _e(e,t){var n,o;let r=t!=null?t:"confirmed";try{return((o=await((n=e.getLatestBlockhash)==null?void 0:n.call(e,{commitment:r})))==null?void 0:o.blockhash)||(await e.getRecentBlockhash(r)).blockhash}catch{return(await e.getRecentBlockhash(r)).blockhash}}function ri(e,t){e.length<1&&Qr.logWithError(`no instructions provided: ${e.toString()}`),t.length<1&&Qr.logWithError(`no signers provided:, ${t.toString()}`);let r=new $r;r.recentBlockhash="11111111111111111111111111111111",r.feePayer=t[0],r.add(...e);try{return Buffer.from(r.serialize({verifySignatures:!1})).toString("base64").length<tn}catch{return!1}}function Ve(e,t){let[r,n]=$o.findProgramAddressSync(e,t);return{publicKey:r,nonce:n}}function je({instructions:e,payer:t,signers:r}){return ri(e,[t,...r])}function Je({instructions:e,payer:t,lookupTableAddressAccount:r,recentBlockhash:n=en.generate().publicKey.toString()}){let i=new ei({payerKey:t,recentBlockhash:n,instructions:e}).compileToV0Message(Object.values(r!=null?r:{}));try{return Buffer.from(new jt(i).serialize()).toString("base64").length<tn}catch{return!1}}var rn=e=>Buffer.isBuffer(e)?e:e instanceof Uint8Array?Buffer.from(e.buffer,e.byteOffset,e.byteLength):Buffer.from(e);function Fe(e){let t=[];return e.forEach(r=>{r instanceof $r&&(r.recentBlockhash||(r.recentBlockhash=ti.toBase58()),r.feePayer||(r.feePayer=en.generate().publicKey));let n=r.serialize({requireAllSignatures:!1,verifySignatures:!1});r instanceof jt&&(n=rn(n));let o=n.toString("base64");t.push(o)}),console.log("simulate tx string:",t),t}function nn(e){let t=e.serialize({requireAllSignatures:!1,verifySignatures:!1});return e instanceof jt&&(t=rn(t)),t.toString("base64")}import{PublicKey as sn,AddressLookupTableAccount as yt}from"@solana/web3.js";import{PublicKey as ni}from"@solana/web3.js";import{MINT_SIZE as gu,TOKEN_PROGRAM_ID as hu,getTransferFeeConfig as yu,unpackMint as bu}from"@solana/spl-token";var Jt=Q("Raydium_accountInfo_util");async function on(e,t,r){let{batchRequest:n,commitment:o="confirmed",chunkCount:i=100}=j({batchRequest:!1},r),s=zt(t,i),a=new Array(s.length).fill([]);if(n){let c=s.map(l=>{let f=e._buildArgs([l.map(p=>p.toBase58())],o,"base64");return{methodName:"getMultipleAccounts",args:f}}),u=zt(c,10);a=(await(await Promise.all(u.map(async l=>await e._rpcBatchRequest(l)))).flat()).map(l=>(l.error&&Jt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${l.error.message}`),l.result.value.map(f=>{if(f){let{data:p,executable:m,lamports:g,owner:k,rentEpoch:x}=f;return p.length!==2&&p[1]!=="base64"&&Jt.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(p[0],"base64"),executable:m,lamports:g,owner:new ni(k),rentEpoch:x}}return null})))}else try{a=await Promise.all(s.map(c=>e.getMultipleAccountsInfo(c,o)))}catch(c){c instanceof Error&&Jt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${c.message}`)}return a.flat()}async function Yt({connection:e,address:t}){let r=await on(e,[...new Set(t.map(o=>o.toString()))].map(o=>new sn(o))),n={};for(let o=0;o<t.length;o++){let i=r[o],s=t[o];if(!i)continue;let a=new yt({key:s,state:yt.deserialize(i.data)});n[s.toString()]=a,bt[s.toString()]=a}return n}var bt={"2immgwYNHBbyVQKVGCEkgWpi53bLwWNRMB5G2nbgYV17":new yt({key:new sn("2immgwYNHBbyVQKVGCEkgWpi53bLwWNRMB5G2nbgYV17"),state:yt.deserialize(Buffer.from("AQAAAP//////////d49+DAAAAAAAAQZMWvw7GUNJdaccNBVnb57OKakxL2BHLYvhRwVILRsgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMGRm/lIRcy/+ytunLDm+e8jOW7xfcSayxDmzpAAAAABt324ddloZPZy+FGzut5rBy0he1fWzeROoz1hX7/AKkG3fbh7nWP3hhCXbzkbM3athr8TYO5DSf+vfko2KGL/AVKU1D4XciC1hSlVnJ4iilt3x6rq9CmBniISTL07vagBqfVFxksXFEhjMlMPUrxf1ja7gibof1E49vZigAAAAAGp9UXGMd0yShWY5hpHV62i164o5tLbVxzVVshAAAAAIyXJY9OJInxuz0QKRSODYMLWhOZ2v8QhASOe9jb6fhZC3BlsePRfEU4nVJ/awTDzVi4bHMaoP21SbbRvAP4KUbIScv+6Yw2LHF/6K0ZjUPibbSWXCirYPGuuVl7zT789IUPLW4CpHr4JNCatp3ELXDLKMv6JJ+37le50lbBJ2LvDQdRqCgtphMF/imcN7mY5YRx2xE1A3MQ+L4QRaYK9u4GRfZP3LsAd00a+IkCpA22UNQMKdq5BFbJuwuOLqc8zxCTDlqxBG8J0HcxtfogQHDK06ukzfaXiNDKAob1MqBHS9lJxDYCwz8gd5DtFqNSTKG5l1zxIaKpDP/sffi2is1H9aKveyXSu5StXElYRl9SD5As0DHE4N0GLnf84/siiKXVyp4Ez121kLcUui/jLLFZEz/BwZK3Ilf9B9OcsEAeDMKAy2vjGSxQODgBz0QwGA+eP4ZjIjrIAQaXENv31QfLlOdXSRCkaybRniDHF4C8YcwhcvsqrOVuTP4B2Na+9wLdtrB31uz2rtlFI5kahdsnp/d1SrASDInYCtTYtdoke4kX+hoKWcEWM4Tle8pTUkUVv4BxS6fje/EzKBE4Qu9N9LMnrw/JNO0hqMVB4rk/2ou4AB1loQ7FZoPwut2o4KZB+0p9xnbrQKw038qjpHar+PyDwvxBRcu5hpHw3dguezeWv+IwvgW5icu8EGkhGa9AkFPPJT7VMSFb8xowveU=","base64"))})};var ui=new De("3AVi9Tg9Uo68tJfuvoKvqKNWKkC5wPdSSdeBnizKZ6jT"),wt=class{constructor(t){this.instructions=[];this.endInstructions=[];this.lookupTableAddress=[];this.signers=[];this.instructionTypes=[];this.endInstructionTypes=[];this.connection=t.connection,this.feePayer=t.feePayer,this.signAllTransactions=t.signAllTransactions,this.owner=t.owner,this.cluster=t.cluster,this.blockhashCommitment=t.blockhashCommitment,this.enableJito=!!t.enableJito,this.api=t.api}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 n;let t=(await ai.get(`https://solanacompass.com/api/fees?cacheFreshTime=${3e5}`)).data,{avg:r}=(n=t==null?void 0:t[15])!=null?n:{};if(!!r)return{units:6e5,microLamports:Math.min(Math.ceil(r*1e6/6e5),25e3)}}addCustomComputeBudget(t){if(t){let{instructions:r,instructionTypes:n}=ht(t);return this.instructions.unshift(...r),this.instructionTypes.unshift(...n),!0}return!1}async calComputeBudget({config:t,defaultIns:r}){try{let n=t||await this.getComputeBudgetConfig();if(this.addCustomComputeBudget(n))return;r&&this.instructions.unshift(...r)}catch{r&&this.instructions.unshift(...r)}}addJitoInstruction(t){let{fee:r,bundle:n}=t||{};if(!this.owner)return;let o=ii.transfer({fromPubkey:this.owner.publicKey,toPubkey:ui,lamports:r?r*si:1e4});n?this.instructions.unshift(o):this.instructions.push(o)}async sendTxToJito(t){if(!this.api)return;let r=t.map(o=>nn(o));return(await this.api.sendTxToJito(r)).result}addInstruction({instructions:t=[],endInstructions:r=[],signers:n=[],instructionTypes:o=[],endInstructionTypes:i=[],lookupTableAddress:s=[]}){return this.instructions.push(...t),this.endInstructions.push(...r),this.signers.push(...n),this.instructionTypes.push(...o),this.endInstructionTypes.push(...i),this.lookupTableAddress.push(...s.filter(a=>a!==De.default.toString())),this}async versionBuild({txVersion:t,extInfo:r}){return t===0?await this.buildV0(j({},r||{})):this.build(r)}build(t){var n;this.enableJito&&this.addJitoInstruction();let r=new ze;return this.allInstructions.length&&r.add(...this.allInstructions),r.feePayer=this.feePayer,((n=this.owner)==null?void 0:n.signer)&&!this.signers.some(o=>o.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer),{builder:this,transaction:r,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async o=>{var u;let{recentBlockHash:i,skipPreflight:s=!0,sendAndConfirm:a}=o||{},c=i!=null?i:await _e(this.connection,this.blockhashCommitment);if(r.recentBlockhash=c,this.signers.length&&r.sign(...this.signers),Fe([r]),(u=this.owner)!=null&&u.isKeyPair)return{txId:a?await Zt(this.connection,r,this.signers.find(l=>l.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:s}):await this.connection.sendRawTransaction(r.serialize(),{skipPreflight:s}),signedTx:r};if(this.signAllTransactions){let d=await this.signAllTransactions([r]);return this.enableJito&&this.sendTxToJito(d),{txId:await this.connection.sendRawTransaction(d[0].serialize(),{skipPreflight:s}),signedTx:d[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:t||{}}}buildMultiTx(t){var u;let{extraPreBuildData:r=[],extInfo:n}=t,{transaction:o}=this.build(n),i=r.filter(d=>d.transaction.instructions.length>0),s=[o,...i.map(d=>d.transaction)],a=[this.signers,...i.map(d=>d.signers)],c=[...this.instructionTypes,...i.map(d=>d.instructionTypes).flat()];return(u=this.owner)!=null&&u.signer&&a.forEach(d=>{d.some(l=>l.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),{builder:this,transactions:s,signers:a,instructionTypes:c,execute:async d=>{var k;let{sequentially:l,onTxUpdate:f,recentBlockHash:p,skipPreflight:m=!0}=d||{},g=p!=null?p:await _e(this.connection,this.blockhashCommitment);if((k=this.owner)!=null&&k.isKeyPair){if(l){let x=[];for(let w of s){let b=await Zt(this.connection,w,this.signers.find(T=>T.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:m});x.push(b)}return{txIds:x,signedTxs:s}}return{txIds:await await Promise.all(s.map(async x=>(x.recentBlockhash=g,await this.connection.sendRawTransaction(x.serialize(),{skipPreflight:m})))),signedTxs:s}}if(this.signAllTransactions){let x=s.map((b,T)=>(b.recentBlockhash=g,a[T].length&&b.sign(...a[T]),b));Fe(x);let w=await this.signAllTransactions(x);if(l){let b=0,T=[],S=async()=>{if(!w[b])return;this.enableJito&&this.sendTxToJito([w[b]]);let A=await this.connection.sendRawTransaction(w[b].serialize(),{skipPreflight:m});T.push({txId:A,status:"sent",signedTx:w[b]}),f==null||f([...T]),b++,this.connection.onSignature(A,U=>{let E=T.findIndex(B=>B.txId===A);E>-1&&(T[E].status=U.err?"error":"success"),f==null||f([...T]),U.err||S()},"processed"),this.connection.getSignatureStatus(A)};return await S(),{txIds:T.map(A=>A.txId),signedTxs:w}}else{let b=[];for(let T=0;T<w.length;T+=1){let S=await this.connection.sendRawTransaction(w[T].serialize(),{skipPreflight:m});b.push(S)}return this.enableJito&&this.sendTxToJito(w),{txIds:b,signedTxs:w}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:n||{}}}async versionMultiBuild({extraPreBuildData:t,txVersion:r,extInfo:n}){return r===0?await this.buildV0MultiTx({extraPreBuildData:t,buildProps:n||{}}):this.buildMultiTx({extraPreBuildData:t,extInfo:n})}async buildV0(t){var p;let f=t||{},{lookupTableCache:r={},lookupTableAddress:n=[],forerunCreate:o}=f,i=ot(f,["lookupTableCache","lookupTableAddress","forerunCreate"]),s=j(j({},this.cluster==="devnet"?{}:bt),r);this.enableJito&&this.addJitoInstruction();let a=Array.from(new Set([...n,...this.lookupTableAddress])),c=[];for(let m of a)s[m]===void 0&&c.push(new De(m));let u=await Yt({connection:this.connection,address:c});for(let[m,g]of Object.entries(u))s[m]=g;let d=new Ye({payerKey:this.feePayer,recentBlockhash:o?De.default.toBase58():await _e(this.connection,this.blockhashCommitment),instructions:[...this.allInstructions]}).compileToV0Message(Object.values(s));((p=this.owner)==null?void 0:p.signer)&&!this.signers.some(m=>m.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer);let l=new Ze(d);return l.sign(this.signers),{builder:this,transaction:l,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async m=>{var w;let{recentBlockHash:g,skipPreflight:k=!0,sendAndConfirm:x}=m||{};if(g&&(l.message.recentBlockhash=g),Fe([l]),(w=this.owner)!=null&&w.isKeyPair){let b=await this.connection.sendTransaction(l,{skipPreflight:k});if(x){let{lastValidBlockHeight:T,blockhash:S}=await this.connection.getLatestBlockhash({commitment:this.blockhashCommitment});await this.connection.confirmTransaction({blockhash:S,lastValidBlockHeight:T,signature:b},"confirmed")}return{txId:b,signedTx:l}}if(this.signAllTransactions){let b=await this.signAllTransactions([l]);return this.enableJito&&this.sendTxToJito(b),{txId:await this.connection.sendTransaction(b[0],{skipPreflight:k}),signedTx:b[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:i||{}}}async buildV0MultiTx(t){var u;let{extraPreBuildData:r=[],buildProps:n}=t,{transaction:o}=await this.buildV0(n),i=r.filter(d=>d.builder.instructions.length>0),s=[o,...i.map(d=>d.transaction)],a=[this.signers,...i.map(d=>d.signers)],c=[...this.instructionTypes,...i.map(d=>d.instructionTypes).flat()];return(u=this.owner)!=null&&u.signer&&a.forEach(d=>{d.some(l=>l.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),s.forEach(async(d,l)=>{d.sign(a[l])}),{builder:this,transactions:s,signers:a,instructionTypes:c,buildProps:n,execute:async d=>{var g;let{sequentially:l,onTxUpdate:f,recentBlockHash:p,skipPreflight:m=!0}=d||{};if(p&&s.forEach(k=>k.message.recentBlockhash=p),Fe(s),(g=this.owner)!=null&&g.isKeyPair){if(l){let k=[];for(let x of s){let w=await this.connection.sendTransaction(x,{skipPreflight:m}),{lastValidBlockHeight:b,blockhash:T}=await this.connection.getLatestBlockhash({commitment:this.blockhashCommitment});await this.connection.confirmTransaction({blockhash:T,lastValidBlockHeight:b,signature:w},"confirmed"),k.push(w)}return{txIds:k,signedTxs:s}}return{txIds:await Promise.all(s.map(async k=>await this.connection.sendTransaction(k,{skipPreflight:m}))),signedTxs:s}}if(this.signAllTransactions){let k=await this.signAllTransactions(s);if(l){let x=0,w=[],b=async()=>{if(!k[x])return;let T=await this.connection.sendTransaction(k[x],{skipPreflight:m});this.enableJito&&this.sendTxToJito([k[x]]),w.push({txId:T,status:"sent",signedTx:k[x]}),f==null||f([...w]),x++,this.connection.onSignature(T,S=>{let A=w.findIndex(U=>U.txId===T);A>-1&&(w[A].status=S.err?"error":"success"),f==null||f([...w]),S.err||b()},"processed"),this.connection.getSignatureStatus(T)};return b(),{txIds:[],signedTxs:k}}else{let x=[];for(let w=0;w<k.length;w+=1){let b=await this.connection.sendTransaction(k[w],{skipPreflight:m});x.push(b)}return this.enableJito&&this.sendTxToJito(k),{txIds:x,signedTxs:k}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:n||{}}}async sizeCheckBuild(t){var d;let u=t||{},{computeBudgetConfig:r}=u,n=ot(u,["computeBudgetConfig"]),o=r?ht(r):{instructions:[],instructionTypes:[]},i=this.signers.reduce((l,f)=>te(j({},l),{[f.publicKey.toBase58()]:f}),{});this.enableJito&&this.addJitoInstruction({bundle:!0});let s=[],a=[],c=[];if(this.allInstructions.forEach(l=>{let f=[...c,l],p=r?[...o.instructions,...f]:f,g=[...new Set(f.map(k=>k.keys.filter(x=>x.isSigner).map(x=>x.pubkey.toString())).flat()).values()].map(k=>new De(k));if(c.length<12&&je({instructions:p,payer:this.feePayer,signers:g})||je({instructions:f,payer:this.feePayer,signers:g}))c.push(l);else{if(c.length===0)throw Error("item ins too big");je({instructions:r?[...o.instructions,...c]:[...c],payer:this.feePayer,signers:g})?s.push(new ze().add(...o.instructions,...c)):s.push(new ze().add(...c)),a.push(Array.from(new Set(c.map(k=>k.keys.filter(x=>x.isSigner).map(x=>x.pubkey.toString())).flat())).map(k=>i[k]).filter(k=>k!==void 0)),c=[l]}}),c.length>0){let f=[...new Set(c.map(p=>p.keys.filter(m=>m.isSigner).map(m=>m.pubkey.toString())).flat()).values()].map(p=>i[p]).filter(p=>p!==void 0);je({instructions:r?[...o.instructions,...c]:[...c],payer:this.feePayer,signers:f.map(p=>p.publicKey)})?s.push(new ze().add(...o.instructions,...c)):s.push(new ze().add(...c)),a.push(f)}return s.forEach(l=>l.feePayer=this.feePayer),(d=this.owner)!=null&&d.signer&&a.forEach(l=>{l.some(f=>f.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),{builder:this,transactions:s,signers:a,instructionTypes:this.instructionTypes,execute:async l=>{var x;let{sequentially:f,onTxUpdate:p,recentBlockHash:m,skipPreflight:g=!0}=l||{},k=m!=null?m:await _e(this.connection,this.blockhashCommitment);if(s.forEach(async(w,b)=>{w.recentBlockhash=k,a[b].length&&w.sign(...a[b])}),Fe(s),(x=this.owner)!=null&&x.isKeyPair){if(f){let w=[];for(let b of s){let T=await Zt(this.connection,b,this.signers.find(S=>S.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:g});w.push(T)}return{txIds:w,signedTxs:s}}return{txIds:await Promise.all(s.map(async w=>await this.connection.sendRawTransaction(w.serialize(),{skipPreflight:g}))),signedTxs:s}}if(this.signAllTransactions){let w=await this.signAllTransactions(s);if(f){let b=0,T=[],S=async()=>{if(!w[b])return;let A=await this.connection.sendRawTransaction(w[b].serialize(),{skipPreflight:g});T.push({txId:A,status:"sent",signedTx:w[b]}),p==null||p([...T]),b++,this.connection.onSignature(A,U=>{let E=T.findIndex(B=>B.txId===A);E>-1&&(T[E].status=U.err?"error":"success"),p==null||p([...T]),U.err||S()},"processed"),this.connection.getSignatureStatus(A)};return await S(),{txIds:T.map(A=>A.txId),signedTxs:w}}else{let b=[];for(let T=0;T<w.length;T+=1){let S=await this.connection.sendRawTransaction(w[T].serialize(),{skipPreflight:g});b.push(S)}return{txIds:b,signedTxs:w}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:n||{}}}async sizeCheckBuildV0(t){var x;let k=t||{},{computeBudgetConfig:r,lookupTableCache:n={},lookupTableAddress:o=[]}=k,i=ot(k,["computeBudgetConfig","lookupTableCache","lookupTableAddress"]);this.enableJito&&this.addJitoInstruction();let s=j(j({},this.cluster==="devnet"?{}:bt),n),a=Array.from(new Set([...this.lookupTableAddress,...o])),c=[];for(let w of a)s[w]===void 0&&c.push(new De(w));let u=await Yt({connection:this.connection,address:c});for(let[w,b]of Object.entries(u))s[w]=b;let d=r?ht(r):{instructions:[],instructionTypes:[]},l=await _e(this.connection,this.blockhashCommitment),f=this.signers.reduce((w,b)=>te(j({},w),{[b.publicKey.toBase58()]:b}),{});this.enableJito&&this.addJitoInstruction({bundle:!0});let p=[],m=[],g=[];if(this.allInstructions.forEach(w=>{let b=[...g,w],T=r?[...d.instructions,...b]:b;if(g.length<12&&Je({instructions:T,payer:this.feePayer,lookupTableAddressAccount:s})||Je({instructions:b,payer:this.feePayer,lookupTableAddressAccount:s}))g.push(w);else{if(g.length===0)throw Error("item ins too big");let S={};for(let A of[...new Set(a)])s[A]!==void 0&&(S[A]=s[A]);if(r&&Je({instructions:[...d.instructions,...g],payer:this.feePayer,lookupTableAddressAccount:s,recentBlockhash:l})){let A=new Ye({payerKey:this.feePayer,recentBlockhash:l,instructions:[...d.instructions,...g]}).compileToV0Message(Object.values(s));p.push(new Ze(A))}else{let A=new Ye({payerKey:this.feePayer,recentBlockhash:l,instructions:[...g]}).compileToV0Message(Object.values(s));p.push(new Ze(A))}m.push(Array.from(new Set(g.map(A=>A.keys.filter(U=>U.isSigner).map(U=>U.pubkey.toString())).flat())).map(A=>f[A]).filter(A=>A!==void 0)),g=[w]}}),g.length>0){let b=[...new Set(g.map(T=>T.keys.filter(S=>S.isSigner).map(S=>S.pubkey.toString())).flat()).values()].map(T=>f[T]).filter(T=>T!==void 0);if(r&&Je({instructions:[...d.instructions,...g],payer:this.feePayer,lookupTableAddressAccount:s,recentBlockhash:l})){let T=new Ye({payerKey:this.feePayer,recentBlockhash:l,instructions:[...d.instructions,...g]}).compileToV0Message(Object.values(s));p.push(new Ze(T))}else{let T=new Ye({payerKey:this.feePayer,recentBlockhash:l,instructions:[...g]}).compileToV0Message(Object.values(s));p.push(new Ze(T))}m.push(b)}return(x=this.owner)!=null&&x.signer&&m.forEach(w=>{w.some(b=>b.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),{builder:this,transactions:p,buildProps:t,signers:m,instructionTypes:this.instructionTypes,execute:async w=>{var U;let{sequentially:b,onTxUpdate:T,recentBlockHash:S,skipPreflight:A=!0}=w||{};if(p.map(async(E,B)=>{m[B].length&&E.sign(m[B]),S&&(E.message.recentBlockhash=S)}),Fe(p),(U=this.owner)!=null&&U.isKeyPair){if(b){let E=[];for(let B of p){let v=await this.connection.sendTransaction(B,{skipPreflight:A}),{lastValidBlockHeight:W,blockhash:G}=await this.connection.getLatestBlockhash({commitment:this.blockhashCommitment});await this.connection.confirmTransaction({blockhash:G,lastValidBlockHeight:W,signature:v},"confirmed"),E.push(v)}return{txIds:E,signedTxs:p}}return{txIds:await Promise.all(p.map(async E=>await this.connection.sendTransaction(E,{skipPreflight:A}))),signedTxs:p}}if(this.signAllTransactions){let E=await this.signAllTransactions(p);if(b){let B=0,v=[],W=async()=>{if(!E[B])return;let G=await this.connection.sendTransaction(E[B],{skipPreflight:A});v.push({txId:G,status:"sent",signedTx:E[B]}),T==null||T([...v]),B++,this.connection.onSignature(G,N=>{let ee=v.findIndex(z=>z.txId===G);ee>-1&&(v[ee].status=N.err?"error":"success"),T==null||T([...v]),N.err||W()},"processed"),this.connection.getSignatureStatus(G)};return W(),{txIds:[],signedTxs:E}}else{let B=[];for(let v=0;v<E.length;v+=1){let W=await this.connection.sendTransaction(E[v],{skipPreflight:A});B.push(W)}return{txIds:B,signedTxs:E}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:i||{}}}};function zt(e,t=1,r=[]){let n=[...e];if(t<=0)return r;for(;n.length;)r.push(n.splice(0,t));return r}import{PublicKey as M}from"@solana/web3.js";var an=new M("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),un=new M("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Xe=new M("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),Wu=new M("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Uu=new M("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),qu=new M("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),Gu=new M("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),Hu=new M("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),ju=new M("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Ju=new M("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),zu=new M("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Yu=new M("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Zu=new M("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),Xu=new M("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),Qu=new M("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),$u=new M("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi"),ec=new M("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),tc=new M("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),rc=new M("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),ci=new M("CPMDWBwJDtYax9qW7AyRuVC19Cc4L4Vcy4n2BHAbHkCW"),li=new M("7rQ1QFNosMkUCuh7Z7fPbTHvh73b68sQYdirycEzJVuw"),di=new M("G11FKBRaAkHAKuLCgLM6K6NUc9rTjPAznRCjZifrTQe2");var nc={SERUM_MARKET:M.default,OPENBOOK_MARKET:new M("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),UTIL1216:M.default,FarmV3:new M("85BFyr98MbCUU9MVTEgzx1nbhWACbJqLzho6zd6DZcWL"),FarmV5:new M("EcLzTrNg9V7qhcdyXDe2qjtPkiGzDM2UbdRaeaadU5r2"),FarmV6:new M("Farm2hJLcqPtPg8M4rR6DMrsRNc5TPm5Cs4bVQrMe2T7"),AmmV4:new M("HWy1jotHpo6UqeQxx49dpYYdQB8wj9Qk9MdxwjLvDHB8"),AmmStable:new M("DDg4VmQaJV9ogWce7LpcjBA9bv22wRp5uaTPa5pGjijF"),CLMM:new M("devi51mZmdwUJGU9hjN27vEz64Gps7uUefqxg27EAtH"),Router:new M("BVChZ3XFEwTMUk1o9i3HAf91H6mFxSwa5X2wFAWhYPhU"),CREATE_CPMM_POOL_PROGRAM:ci,CREATE_CPMM_POOL_AUTH:li,CREATE_CPMM_POOL_FEE_ACC:di,FEE_DESTINATION_ID:new M("3XMrhbv989VxAMi3DErLV9eJht1pHppW5LbKxe9fkEFR")};import{PublicKey as fi}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as pi}from"@solana/spl-token";function Oe(e,t,r){return Ve([e.toBuffer(),(r!=null?r:pi).toBuffer(),t.toBuffer()],new fi("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"))}import lc from"bn.js";import{PublicKey as Li,Keypair as Bi}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Ri}from"@solana/spl-token";import Jl from"bn.js";import{PublicKey as Ti}from"@solana/web3.js";import fn,{isBN as pn}from"bn.js";import{bits as Kc,BitStructure as Cc,blob as mi,Blob as Vc,cstr as Fc,f32 as Nc,f32be as Ec,f64 as vc,f64be as Mc,greedy as _c,Layout as gi,ns64 as Dc,ns64be as Oc,nu64 as Wc,nu64be as Uc,offset as qc,s16 as Gc,s16be as Hc,s24 as jc,s24be as Jc,s32 as zc,s32be as Yc,s40 as Zc,s40be as Xc,s48 as Qc,s48be as $c,s8 as el,seq as hi,struct as tl,Structure as yi,u16 as rl,u16be as nl,u24 as ol,u24be as il,u32 as sl,u32be as al,u40 as ul,u40be as cl,u48 as ll,u48be as dl,u8 as bi,UInt as wi,union as fl,Union as pl,unionLayoutDiscriminator as ml,utf8 as gl}from"@solana/buffer-layout";var Xt=gi,cn=yi;var Qt=wi;var ln=bi;var dn=hi;var Ne=mi;var We=class extends Xt{constructor(r,n,o){super(r,o);this.blob=Ne(r),this.signed=n}decode(r,n=0){let o=new fn(this.blob.decode(r,n),10,"le");return this.signed?o.fromTwos(this.span*8).clone():o}encode(r,n,o=0){return typeof r=="number"&&(r=new fn(r)),this.signed&&(r=r.toTwos(this.span*8)),this.blob.encode(r.toArrayLike(Buffer,"le",this.span),n,o)}};function $(e){return new Qt(1,e)}function Qe(e){return new Qt(4,e)}function P(e){return new We(8,!1,e)}function xe(e){return new We(16,!1,e)}function mn(e){return new We(1,!0,e)}function xt(e){return new We(8,!0,e)}var Tt=class extends Xt{constructor(r,n,o,i){super(r.span,i);this.layout=r,this.decoder=n,this.encoder=o}decode(r,n){return this.decoder(this.layout.decode(r,n))}encode(r,n,o){return this.layout.encode(this.encoder(r),n,o)}getSpan(r,n){return this.layout.getSpan(r,n)}};function F(e){return new Tt(Ne(32),t=>new Ti(t),t=>t.toBuffer(),e)}function Pt(e){return new Tt(ln(),xi,Pi,e)}function xi(e){if(e===0)return!1;if(e===1)return!0;throw new Error("Invalid bool: "+e)}function Pi(e){return e?1:0}var $t=class extends cn{decode(t,r){return super.decode(t,r)}};function Y(e,t,r){return new $t(e,t,r)}function X(e,t,r){let n,o=typeof t=="number"?t:pn(t)?t.toNumber():new Proxy(t,{get(i,s){if(!n){let a=Reflect.get(i,"count");n=pn(a)?a.toNumber():a,Reflect.set(i,"count",n)}return Reflect.get(i,s)},set(i,s,a){return s==="count"&&(n=a),Reflect.set(i,s,a)}});return dn(e,o,r)}var $e=Y([F("mint"),F("owner"),P("amount"),Qe("delegateOption"),F("delegate"),$("state"),Qe("isNativeOption"),P("isNative"),P("delegatedAmount"),Qe("closeAuthorityOption"),F("closeAuthority")]);function ki(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}function er(e,...t){if(!ki(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error(`Uint8Array expected of length ${t}, not of length=${e.length}`)}function tr(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function gn(e,t){er(e);let r=t.outputLen;if(e.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var At=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),fe=(e,t)=>e<<32-t|e>>>t;var Vl=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Ai(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function rr(e){return typeof e=="string"&&(e=Ai(e)),er(e),e}var kt=class{clone(){return this._cloneInto()}},Fl={}.toString;function hn(e){let t=n=>e().update(rr(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function Ii(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let o=BigInt(32),i=BigInt(4294967295),s=Number(r>>o&i),a=Number(r&i),c=n?4:0,u=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+u,a,n)}var yn=(e,t,r)=>e&t^~e&r,bn=(e,t,r)=>e&t^e&r^t&r,It=class extends kt{constructor(t,r,n,o){super(),this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=At(this.buffer)}update(t){tr(this);let{view:r,buffer:n,blockLen:o}=this;t=rr(t);let i=t.length;for(let s=0;s<i;){let a=Math.min(o-this.pos,i-s);if(a===o){let c=At(t);for(;o<=i-s;s+=o)this.process(c,s);continue}n.set(t.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){tr(this),gn(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:i}=this,{pos:s}=this;r[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>o-s&&(this.process(n,0),s=0);for(let l=s;l<o;l++)r[l]=0;Ii(n,o-8,BigInt(this.length*8),i),this.process(n,0);let a=At(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,d=this.get();if(u>d.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<u;l++)a.setUint32(4*l,d[l],i)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:i,destroyed:s,pos:a}=this;return t.length=o,t.pos=a,t.finished=i,t.destroyed=s,o%r&&t.buffer.set(n),t}};var Si=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Le=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Be=new Uint32Array(64),nr=class extends It{constructor(){super(64,32,8,!1),this.A=Le[0]|0,this.B=Le[1]|0,this.C=Le[2]|0,this.D=Le[3]|0,this.E=Le[4]|0,this.F=Le[5]|0,this.G=Le[6]|0,this.H=Le[7]|0}get(){let{A:t,B:r,C:n,D:o,E:i,F:s,G:a,H:c}=this;return[t,r,n,o,i,s,a,c]}set(t,r,n,o,i,s,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=i|0,this.F=s|0,this.G=a|0,this.H=c|0}process(t,r){for(let l=0;l<16;l++,r+=4)Be[l]=t.getUint32(r,!1);for(let l=16;l<64;l++){let f=Be[l-15],p=Be[l-2],m=fe(f,7)^fe(f,18)^f>>>3,g=fe(p,17)^fe(p,19)^p>>>10;Be[l]=g+Be[l-7]+m+Be[l-16]|0}let{A:n,B:o,C:i,D:s,E:a,F:c,G:u,H:d}=this;for(let l=0;l<64;l++){let f=fe(a,6)^fe(a,11)^fe(a,25),p=d+f+yn(a,c,u)+Si[l]+Be[l]|0,g=(fe(n,2)^fe(n,13)^fe(n,22))+bn(n,o,i)|0;d=u,u=c,c=a,a=s+p|0,s=i,i=o,o=n,n=p+g|0}n=n+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,d=d+this.H|0,this.set(n,o,i,s,a,c,u,d)}roundClean(){Be.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var wn=hn(()=>new nr);var Xl=Q("Raydium_Util");function St({fromPublicKey:e,programId:t=Ri}){let r=Bi.generate().publicKey.toBase58().slice(0,32);return{publicKey:Ki(e,r,t),seed:r}}function Ki(e,t,r){let n=Buffer.concat([e.toBuffer(),Buffer.from(t),r.toBuffer()]),o=wn(n);return new Li(o)}import{createInitializeAccountInstruction as Ci,createCloseAccountInstruction as Vi,createTransferInstruction as ed,TOKEN_PROGRAM_ID as et}from"@solana/spl-token";import{PublicKey as Fi,SystemProgram as Ni}from"@solana/web3.js";import Ei from"bn.js";function vi(e){let{mint:t,tokenAccount:r,owner:n,programId:o=et}=e;return Ci(r,t,n,o)}function Mi(e){let{tokenAccount:t,payer:r,multiSigners:n=[],owner:o,programId:i=et}=e;return Vi(t,r,o,n,i)}async function or(e){let{connection:t,amount:r,commitment:n,payer:o,owner:i,skipCloseAccount:s}=e,a=await t.getMinimumBalanceForRentExemption($e.span,n),c=V(r).add(new Ei(a)),u=St({fromPublicKey:o,programId:et});return{addresses:{newAccount:u.publicKey},signers:[],instructions:[Ni.createAccountWithSeed({fromPubkey:o,basePubkey:o,seed:u.seed,newAccountPubkey:u.publicKey,lamports:c.toNumber(),space:$e.span,programId:et}),vi({mint:new Fi(se.address),tokenAccount:u.publicKey,owner:i,programId:et})],instructionTypes:[J.CreateAccount,J.InitAccount],endInstructionTypes:s?[]:[J.CloseAccount],endInstructions:s?[]:[Mi({tokenAccount:u.publicKey,payer:o,owner:i})]}}var ir=(...e)=>e.map(t=>{try{return typeof t=="object"?JSON.stringify(t):t}catch{return t}}).join(", "),tt=class{constructor({scope:t,moduleName:r}){this.disabled=!1;this.scope=t,this.logger=Q(r)}createTxBuilder(t){return this.scope.checkOwner(),new wt({connection:this.scope.connection,feePayer:t||this.scope.ownerPubKey,cluster:this.scope.cluster,owner:this.scope.owner,blockhashCommitment:this.scope.blockhashCommitment,enableJito:this.scope.enableJito,api:this.scope.api,signAllTransactions:this.scope.signAllTransactions})}logDebug(...t){this.logger.debug(ir(t))}logInfo(...t){this.logger.info(ir(t))}logAndCreateError(...t){let r=ir(t);throw new Error(r)}checkDisabled(){(this.disabled||!this.scope)&&this.logAndCreateError("module not working")}};import{PublicKey as Pn}from"@solana/web3.js";var sr=Y([$("instruction")]),ar=Y([$("instruction")]),_i=Y([P("rewardState"),P("rewardOpenTime"),P("rewardEndTime"),P("rewardLastUpdateTime"),P("totalReward"),P("totalRewardEmissioned"),P("rewardClaimed"),P("rewardPerSecond"),xe("accRewardPerShare"),F("rewardVault"),F("rewardMint"),F("rewardSender"),P("rewardType"),X(P(),15,"padding")]),Di=Y([P("state"),P("nonce"),F("lpVault"),F("rewardVault"),F(),F(),P(),P(),P("totalReward"),xe("perShareReward"),P("lastSlot"),P("perSlotReward")]),Oi=Y([P("state"),P("nonce"),F("lpVault"),F("rewardVaultA"),P("totalRewardA"),xe("perShareRewardA"),P("perSlotRewardA"),$("option"),F("rewardVaultB"),Ne(7),P("totalRewardB"),xe("perShareRewardB"),P("perSlotRewardB"),P("lastSlot"),F()]),Wi=Y([P(),P("state"),P("nonce"),P("validRewardTokenNum"),xe("rewardMultiplier"),P("rewardPeriodMax"),P("rewardPeriodMin"),P("rewardPeriodExtend"),F("lpMint"),F("lpVault"),X(_i,5,"rewardInfos"),F("creator"),F(),X(P(),32,"padding")]),Ui=new Proxy(Di,{get(e,t,r){return t==="decode"?(...n)=>{let o=e.decode(...n);return te(j({},o),{version:3,rewardInfos:[{rewardVault:o.rewardVault,totalReward:o.totalReward,perSlotReward:o.perSlotReward,perShareReward:o.perShareReward}]})}:Reflect.get(e,t,r)}}),qi=new Proxy(Oi,{get(e,t,r){return t==="decode"?(...n)=>{let o=e.decode(...n);return te(j({},o),{version:5,rewardInfos:[{rewardVault:o.rewardVaultA,totalReward:o.totalRewardA,perSlotReward:o.perSlotRewardA,perShareReward:o.perShareRewardA},{rewardVault:o.rewardVaultB,totalReward:o.totalRewardB,perSlotReward:o.perSlotRewardB,perShareReward:o.perShareRewardB}]})}:Reflect.get(e,t,r)}}),Lt=new Proxy(Wi,{get(e,t,r){return t==="decode"?(...n)=>{let o=e.decode(...n);return te(j({},o),{version:6,rewardInfos:o.rewardInfos.map(i=>{var s;return te(j({},i),{rewardType:((s=Object.entries(Re).find(a=>String(a[1])===i.rewardType.toString()))!=null?s:["Standard SPL"])[0]})})})}:Reflect.get(e,t,r)}}),Gi=Y([P("isSet"),P("rewardPerSecond"),P("rewardOpenTime"),P("rewardEndTime"),P("rewardType")]),ur=Y([$("instruction"),P("nonce"),X(Gi,5,"rewardTimeInfo")]),cr=Y([$("instruction"),P("rewardReopenTime"),P("rewardEndTime"),P("rewardPerSecond")]),lr=Y([$("instruction"),P("isSet"),P("rewardPerSecond"),P("rewardOpenTime"),P("rewardEndTime"),P("rewardType")]),kd=Y([P("state"),F("id"),F("owner"),P("deposited"),X(P(),1,"rewardDebts")]),dr=Y([P("state"),F("id"),F("owner"),P("deposited"),X(xe(),1,"rewardDebts"),P(""),P("voteLockedBalance"),X(P(),15)]),Ad=Y([P("state"),F("id"),F("owner"),P("deposited"),X(P(),2,"rewardDebts")]),Tn=Y([P("state"),F("id"),F("owner"),P("deposited"),X(xe(),2,"rewardDebts"),X(P(),17)]),xn=Y([P(),P("state"),F("id"),F("owner"),P("deposited"),X(xe(),5,"rewardDebts"),X(P(),16)]),ce=Y([$("instruction"),P("amount")]),Hi=Y([F("mint"),F("grantAuthority"),P("baselineVoteWeightScaledFactor"),P("maxExtraLockupVoteWeightScaledFactor"),P("lockupSaturationSecs"),mn("digitShift"),X($(),7,"reserved1"),X(P(),7,"reserved2")]),ji=Y([Ne(8),F("governanceProgramId"),F("realm"),F("realmGoverningTokenMint"),F("realmAuthority"),X($(),32,"reserved1"),X(Hi,4,"votingMints"),xt("timeOffset"),$("bump"),X($(),7,"reserved2"),X(P(),11,"reserved3")]),Ji=Y([xt("startTime"),xt("endTime"),$("kind"),X($(),15,"reserved")]),zi=Y([X(Ji,1,"lockup"),P("amountDeposited_native"),P("amountInitiallyLockedNative"),Pt("isUsed"),Pt("allowClawback"),$("votingMintConfigIdx"),X($(),29,"reserved")]),Yi=Y([Ne(8),F("voterAuthority"),F("registrar"),X(zi,32,"deposits"),$("voterBump"),$("voterWweightRecordBump"),X($(),94,"reserved")]);var Vd=Q("Raydium_farm_config"),kn=new Pn("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),An=new Pn("FrspKwj8i3pNmKwXreTveC4fu7KL5ZbGeXdZBe2XViu1");var In={3:dr,5:Tn,6:xn},fr=e=>[3,5,6].indexOf(e)!==-1,pr=e=>{var s;let{version:t,rewardInfos:r,rewardTokenAccountsPublicKeys:n}=e,o=`rewardInfo:${JSON.stringify(r)}, rewardAccount:${JSON.stringify(n)}`,i={3:()=>{if(r.length!==1||n.length!==1)return`rewardInfos or rewardTokenAccounts lengths not equal 1: ${o}`},5:()=>{if(r.length!==n.length)return`rewardInfos and rewardTokenAccounts lengths not equal: ${o}`},6:()=>{if(!n.length||r.length!==n.length)return`no rewardTokenAccounts or rewardInfos and rewardTokenAccounts lengths not equal: ${o}`}};return(s=i[t])==null?void 0:s.call(i)},Re={"Standard SPL":0,"Option tokens":1},Pe={[an.toString()]:3,[un.toString()]:5,[Xe.toString()]:6};import{PublicKey as _,SystemProgram as Bn,SYSVAR_RENT_PUBKEY as Qi,SYSVAR_CLOCK_PUBKEY as Bt,TransactionInstruction as pe}from"@solana/web3.js";import{createAssociatedTokenAccountInstruction as df,TOKEN_PROGRAM_ID as Ke,ASSOCIATED_TOKEN_PROGRAM_ID as ff}from"@solana/spl-token";import Rn from"bn.js";import Zi from"bn.js";var Xi=Q("Raydium.farm.util");function rt({programId:e,poolId:t,mint:r,type:n}){let{publicKey:o}=Ve([t.toBuffer(),r.toBuffer(),Buffer.from(n==="lpVault"?"lp_vault_associated_seed":n==="rewardVault"?"reward_vault_associated_seed":"","utf-8")],e);return o}function ge({programId:e,poolId:t,owner:r,version:n}){let{publicKey:o}=Ve([t.toBuffer(),r.toBuffer(),Buffer.from(n===6?"farmer_info_associated_seed":"staker_info_v2_associated_seed","utf-8")],e);return o}var Sn=({programId:e,poolId:t})=>Ve([t.toBuffer()],e);function Ln(e){return{isSet:new Zi(1),rewardPerSecond:V(e.perSecond),rewardOpenTime:V(e.openTime),rewardEndTime:V(e.endTime),rewardType:V(Re[e.rewardType])}}function mr(e){return V(e.endTime).sub(V(e.openTime)).mul(V(e.perSecond))}function gr(e){let t=In[e];return t||Xi.logWithError("invalid version",e),t}var $i=Q("Raydium_farm_instruction"),If={voterStakeRegistryCreateVoter:Buffer.from([6,24,245,52,243,255,148,25]),voterStakeRegistryCreateDepositEntry:Buffer.from([185,131,167,186,159,125,19,67]),voterStakeRegistryDeposit:Buffer.from([242,35,198,137,82,225,242,182]),voterStakeRegistryWithdraw:Buffer.from([183,18,70,156,148,109,161,34]),voterStakeRegistryUpdateVoterWeightRecord:Buffer.from([45,185,3,36,109,190,115,169])};function hr(e){let{version:t,id:r,ledger:n,programId:o,owner:i}=e,s={3:9,5:10}[t];s||$i.logWithError(`invalid farm pool version: ${t}`);let a=Buffer.alloc(sr.span);sr.encode({instruction:s},a);let c=[y({pubkey:r}),y({pubkey:n}),y({pubkey:i,isWritable:!1}),y({pubkey:Bn.programId,isWritable:!1}),y({pubkey:Qi,isWritable:!1})];return{instruction:new pe({programId:o,keys:c,data:a}),instructionType:J.FarmV3CreateLedger}}function Kn(e){var n;let t=Buffer.alloc(ur.span);ur.encode({instruction:0,nonce:new Rn(e.nonce),rewardTimeInfo:e.rewardInfoConfig},t);let r=[...Mt,y({pubkey:e.farmId}),y({pubkey:e.farmAuthority,isWritable:!1}),y({pubkey:e.lpVault}),y({pubkey:e.lpMint,isWritable:!1}),y({pubkey:e.lockVault}),y({pubkey:e.lockMint,isWritable:!1}),y({pubkey:(n=e.lockUserAccount)!=null?n:ne}),y({pubkey:e.owner,isWritable:!1,isSigner:!0})];for(let o of e.rewardInfo)r.push(y({pubkey:o.rewardMint,isWritable:!1}),y({pubkey:o.rewardVault}),y({pubkey:o.userRewardToken}));return{instruction:new pe({programId:e.programId,keys:r,data:t}),instructionType:J.FarmV6Create}}function Cn(e){let t=Buffer.alloc(ar.span);ar.encode({instruction:5},t);let r=[y({pubkey:Ke,isWritable:!1}),y({pubkey:e.id}),y({pubkey:e.authority,isWritable:!1}),y({pubkey:e.lpVault,isWritable:!1}),y({pubkey:e.rewardVault}),y({pubkey:e.userRewardToken}),y({pubkey:e.owner,isWritable:!1,isSigner:!0})];return{instruction:new pe({programId:e.programId,keys:r,data:t}),instructionType:J.FarmV6CreatorWithdraw}}function yr({payer:e,rewardVault:t,userRewardTokenPub:r,farmKeys:n,rewardInfo:o}){let i=Buffer.alloc(cr.span);cr.encode({instruction:3,rewardReopenTime:V(o.openTime),rewardEndTime:V(o.endTime),rewardPerSecond:V(o.perSecond)},i);let s=[y({pubkey:Ke,isWritable:!1}),y({pubkey:n.id}),y({pubkey:n.lpVault,isWritable:!1}),y({pubkey:t}),y({pubkey:r}),y({pubkey:e,isWritable:!1,isSigner:!0})];return new pe({programId:n.programId,keys:s,data:i})}function br({payer:e,userRewardTokenPub:t,farmKeys:r,rewardVault:n,rewardInfo:o}){let i=Buffer.alloc(lr.span);lr.encode({instruction:4,isSet:new Rn(1),rewardPerSecond:V(o.perSecond),rewardOpenTime:V(o.openTime),rewardEndTime:V(o.endTime),rewardType:V(Re[o.rewardType])},i);let s=[...Mt,y({pubkey:r.id}),y({pubkey:r.authority,isWritable:!1}),y({pubkey:o.mint,isWritable:!1}),y({pubkey:n}),y({pubkey:t}),y({pubkey:e,isWritable:!1,isSigner:!0})];return new pe({programId:r.programId,keys:s,data:i})}function wr(e){let{farmInfo:t,farmKeys:r,lpAccount:n,rewardAccounts:o,owner:i,amount:s}=e,[a,c]=[new _(t.programId),new _(t.id)],u=ge({programId:a,poolId:c,owner:i,version:6}),d=Buffer.alloc(ce.span);ce.encode({instruction:2,amount:V(s)},d);let l=[y({pubkey:Ke,isWritable:!1}),y({pubkey:c}),y({pubkey:new _(r.authority),isWritable:!1}),y({pubkey:new _(r.lpVault)}),y({pubkey:u}),y({pubkey:i,isWritable:!1,isSigner:!0}),y({pubkey:n})];for(let f=0;f<r.rewardInfos.length;f++)l.push(y({pubkey:new _(r.rewardInfos[f].vault)})),l.push(y({pubkey:o[f]}));return new pe({programId:a,keys:l,data:d})}function Tr(e){let{farmInfo:t,farmKeys:r,lpAccount:n,rewardAccounts:o,owner:i,amount:s,userAuxiliaryLedgers:a}=e,[c,u]=[new _(t.programId),new _(t.id)],d=ge({programId:c,poolId:u,owner:i,version:5}),l=Buffer.alloc(ce.span);ce.encode({instruction:12,amount:V(s)},l);let f=[y({pubkey:u}),y({pubkey:new _(r.authority),isWritable:!1}),y({pubkey:d}),y({pubkey:i,isWritable:!1,isSigner:!0}),y({pubkey:n}),y({pubkey:new _(r.lpVault)}),y({pubkey:o[0]}),y({pubkey:new _(r.rewardInfos[0].vault)}),y({pubkey:Bt,isWritable:!1}),y({pubkey:Ke,isWritable:!1})];for(let p=1;p<r.rewardInfos.length;p++)f.push(y({pubkey:o[p]})),f.push(y({pubkey:new _(r.rewardInfos[p].vault)}));if(a)for(let p of a)f.push(y({pubkey:p}));return new pe({programId:c,keys:f,data:l})}function xr(e){let{farmInfo:t,farmKeys:r,lpAccount:n,rewardAccounts:o,owner:i,amount:s,userAuxiliaryLedgers:a}=e,[c,u]=[new _(t.programId),new _(t.id)],d=ge({programId:c,poolId:u,owner:i,version:3}),l=Buffer.alloc(ce.span);ce.encode({instruction:11,amount:V(s)},l);let f=[y({pubkey:u}),y({pubkey:new _(r.authority),isWritable:!1}),y({pubkey:d}),y({pubkey:i,isWritable:!1,isSigner:!0}),y({pubkey:n}),y({pubkey:new _(r.lpVault)}),y({pubkey:o[0]}),y({pubkey:new _(r.rewardInfos[0].vault)}),y({pubkey:Bt,isWritable:!1}),y({pubkey:Ke,isWritable:!1})];if(a)for(let p of a)f.push(y({pubkey:p}));return new pe({programId:c,keys:f,data:l})}function Vn(e){let{farmInfo:t,farmKeys:r,lpAccount:n,rewardAccounts:o,owner:i,amount:s,userAuxiliaryLedgers:a}=e,[c,u]=[new _(t.programId),new _(t.id)],d=ge({programId:c,poolId:u,owner:i,version:3}),l=Buffer.alloc(ce.span);ce.encode({instruction:10,amount:V(s)},l);let f=[y({pubkey:u}),y({pubkey:new _(r.authority),isWritable:!1}),y({pubkey:d}),y({pubkey:i,isWritable:!1,isSigner:!0}),y({pubkey:n}),y({pubkey:new _(r.lpVault)}),y({pubkey:o[0]}),y({pubkey:new _(r.rewardInfos[0].vault)}),y({pubkey:Bt,isWritable:!1}),y({pubkey:Ke,isWritable:!1})];if(a)for(let p of a)f.push(y({pubkey:p}));return new pe({programId:c,keys:f,data:l})}function Fn(e){let{farmInfo:t,farmKeys:r,lpAccount:n,rewardAccounts:o,owner:i,amount:s,userAuxiliaryLedgers:a}=e,[c,u]=[new _(t.programId),new _(t.id)],d=ge({programId:c,poolId:u,owner:i,version:5}),l=Buffer.alloc(ce.span);ce.encode({instruction:11,amount:V(s)},l);let f=[y({pubkey:u}),y({pubkey:new _(r.authority),isWritable:!1}),y({pubkey:d}),y({pubkey:i,isWritable:!1,isSigner:!0}),y({pubkey:n}),y({pubkey:new _(r.lpVault)}),y({pubkey:o[0]}),y({pubkey:new _(r.rewardInfos[0].vault)}),y({pubkey:Bt,isWritable:!1}),y({pubkey:Ke,isWritable:!1})];for(let p=1;p<r.rewardInfos.length;p++)f.push(y({pubkey:o[p]})),f.push(y({pubkey:new _(r.rewardInfos[p].vault)}));if(a)for(let p of a)f.push(y({pubkey:p}));return new pe({programId:c,keys:f,data:l})}function Nn(e){let{farmInfo:t,farmKeys:r,lpAccount:n,rewardAccounts:o,owner:i,amount:s}=e,[a,c]=[new _(t.programId),new _(t.id)],u=ge({programId:a,poolId:c,owner:i,version:6}),d=Buffer.alloc(ce.span);ce.encode({instruction:1,amount:V(s)},d);let l=[y({pubkey:Ke,isWritable:!1}),y({pubkey:Bn.programId,isWritable:!1}),y({pubkey:c}),y({pubkey:new _(r.authority),isWritable:!1}),y({pubkey:new _(r.lpVault)}),y({pubkey:u}),y({pubkey:i,isWritable:!1,isSigner:!0}),y({pubkey:n})];for(let f=0;f<r.rewardInfos.length;f++)l.push(y({pubkey:new _(r.rewardInfos[f].vault)})),l.push(y({pubkey:o[f]}));return new pe({programId:a,keys:l,data:d})}var Pr=class extends tt{async _getUserRewardInfo({payer:t,rewardInfo:r}){if(r.mint.equals(ne)){let n=await or({connection:this.scope.connection,owner:this.scope.ownerPubKey,payer:t,amount:mr(te(j({},r),{openTime:r.openTime.toString(),endTime:r.endTime.toString()}))});return{rewardPubKey:n.addresses.newAccount,newInstruction:n}}return{rewardPubKey:await this.scope.account.getCreatedTokenAccount({mint:r.mint,associatedOnly:!1})}}async create({poolInfo:t,rewardInfos:r,payer:n,programId:o=Xe,txVersion:i}){this.checkDisabled(),this.scope.checkOwner();let a={lpMint:new q(t.lpMint.address),lockInfo:{lockMint:kn,lockVault:An},version:6,rewardInfos:r,programId:o},c=this.createTxBuilder(),u=n!=null?n:this.scope.ownerPubKey,d=St({fromPublicKey:u,programId:a.programId}),l=await this.scope.connection.getMinimumBalanceForRentExemption(Lt.span);c.addInstruction({instructions:[ts.createAccountWithSeed({fromPubkey:u,basePubkey:u,seed:d.seed,newAccountPubkey:d.publicKey,lamports:l,space:Lt.span,programId:a.programId})]});let{publicKey:f,nonce:p}=Sn({programId:new q(a.programId),poolId:d.publicKey}),m=rt({programId:a.programId,poolId:d.publicKey,mint:a.lpMint,type:"lpVault"}),g=[],k=[];for(let S of a.rewardInfos){S.openTime>=S.endTime&&this.logAndCreateError("start time error","rewardInfo.rewardOpenTime",S.openTime.toString()),isNaN(Re[S.rewardType])&&this.logAndCreateError("rewardType error",S.rewardType),Number(S.perSecond)<=0&&this.logAndCreateError("rewardPerSecond error",S.perSecond),g.push(Ln(S));let{rewardPubKey:A,newInstruction:U}=await this._getUserRewardInfo({rewardInfo:S,payer:u});U&&c.addInstruction(U),A||this.logAndCreateError("cannot found target token accounts",this.scope.account.tokenAccounts);let E=S.mint.equals(ne)?new q(se.address):S.mint;k.push({rewardMint:E,rewardVault:rt({programId:a.programId,poolId:d.publicKey,mint:E,type:"rewardVault"}),userRewardToken:A})}let{account:x,instructionParams:w}=await this.scope.account.getOrCreateTokenAccount({mint:new q(a.lockInfo.lockMint),owner:this.scope.ownerPubKey,skipCloseAccount:!1,createInfo:{payer:this.scope.ownerPubKey,amount:0},associatedOnly:!1});w&&c.addInstruction(w),x||this.logAndCreateError("cannot found lock vault","tokenAccounts",this.scope.account.tokenAccounts);let{instruction:b,instructionType:T}=Kn({farmId:d.publicKey,owner:this.scope.ownerPubKey,farmAuthority:f,lpVault:m,lpMint:a.lpMint,lockVault:a.lockInfo.lockVault,lockMint:a.lockInfo.lockMint,lockUserAccount:x,programId:a.programId,rewardInfo:k,rewardInfoConfig:g,nonce:p});return c.addInstruction({instructions:[b],instructionTypes:[T]}).versionBuild({txVersion:i,extInfo:{farmId:d.publicKey,farmAuthority:f,lpVault:m,lockUserAccount:x,nonce:p}})}async restartReward({farmInfo:t,payer:r,newRewardInfo:n,txVersion:o}){var k;let i=Pe[t.programId];i!==6&&this.logAndCreateError("invalid farm version ",i);let s=Te((await this.scope.api.fetchFarmKeysById({ids:t.id}))[0]),a={id:s.id,rewardInfos:t.rewardInfos,lpVault:s.lpVault,programId:s.programId};n.openTime>=n.endTime&&this.logAndCreateError("start time error","newRewardInfo",n);let c=r||this.scope.ownerPubKey,u=n.mint.equals(ne)?new q(se.address):n.mint,d=a.rewardInfos.findIndex(x=>new q(x.mint.address).equals(u)),l=s.rewardInfos[d];l||this.logAndCreateError("configuration does not exist","rewardMint",u);let f=(k=l.vault)!=null?k:ne,p=this.createTxBuilder(),{rewardPubKey:m,newInstruction:g}=await this._getUserRewardInfo({rewardInfo:n,payer:c});return g&&p.addInstruction(g),m||this.logAndCreateError("cannot found target token accounts",this.scope.account.tokenAccounts),p.addInstruction({instructions:[yr({payer:this.scope.ownerPubKey,rewardVault:f,userRewardTokenPub:m,farmKeys:a,rewardInfo:n})],instructionTypes:[J.FarmV6Restart]}).versionBuild({txVersion:o})}async restartRewards({farmInfo:t,payer:r,newRewardInfos:n,txVersion:o}){var d;let i=Pe[t.programId];i!==6&&this.logAndCreateError("invalid farm version ",i);let s=Te((await this.scope.api.fetchFarmKeysById({ids:t.id}))[0]),a={id:s.id,rewardInfos:t.rewardInfos,lpVault:s.lpVault,programId:s.programId};n.forEach(l=>{l.openTime>=l.endTime&&this.logAndCreateError("start time error","newRewardInfo",l)});let c=r||this.scope.ownerPubKey,u=this.createTxBuilder();for(let l of n){let f=l.mint.equals(ne)?new q(se.address):l.mint,p=a.rewardInfos.findIndex(b=>new q(b.mint.address).equals(f)),m=s.rewardInfos[p];m||this.logAndCreateError("configuration does not exist","rewardMint",f);let g=(d=m.vault)!=null?d:ne,{rewardPubKey:k,newInstruction:x}=await this._getUserRewardInfo({rewardInfo:l,payer:c});x&&u.addInstruction(x),k||this.logAndCreateError("cannot found target token accounts",this.scope.account.tokenAccounts);let w=yr({payer:this.scope.ownerPubKey,rewardVault:g,userRewardTokenPub:k,farmKeys:a,rewardInfo:l});u.addInstruction({instructions:[w],instructionTypes:[J.FarmV6Restart]})}return u.versionBuild({txVersion:o})}async addNewRewardToken(t){let{txVersion:r,farmInfo:n,newRewardInfo:o,payer:i}=t,s=Pe[n.programId];s!==6&&this.logAndCreateError("invalid farm version ",s);let a=Te((await this.scope.api.fetchFarmKeysById({ids:n.id}))[0]),c=i!=null?i:this.scope.ownerPubKey,u=this.createTxBuilder(),d=o.mint.equals(ne)?new q(se.address):o.mint,l=rt({programId:new q(n.programId),poolId:new q(n.id),mint:d,type:"rewardVault"}),{rewardPubKey:f,newInstruction:p}=await this._getUserRewardInfo({rewardInfo:o,payer:c});return p&&u.addInstruction(p),f||this.logAndCreateError("annot found target token accounts",this.scope.account.tokenAccounts),o.mint=d,u.addInstruction({instructions:[br({payer:this.scope.ownerPubKey,userRewardTokenPub:f,farmKeys:a,rewardVault:l,rewardInfo:o})],instructionTypes:[J.FarmV6CreatorAddReward]}).versionBuild({txVersion:r})}async addNewRewardsToken(t){let{txVersion:r,farmInfo:n,newRewardInfos:o,payer:i}=t,s=Pe[n.programId];s!==6&&this.logAndCreateError("invalid farm version ",s);let a=Te((await this.scope.api.fetchFarmKeysById({ids:n.id}))[0]),c=i!=null?i:this.scope.ownerPubKey,u=this.createTxBuilder();for(let d of o){let l=d.mint.equals(ne)?new q(se.address):d.mint,f=rt({programId:new q(n.programId),poolId:new q(n.id),mint:l,type:"rewardVault"}),{rewardPubKey:p,newInstruction:m}=await this._getUserRewardInfo({rewardInfo:d,payer:c});m&&u.addInstruction(m),p||this.logAndCreateError("cannot found target token accounts",this.scope.account.tokenAccounts);let g=br({payer:this.scope.ownerPubKey,userRewardTokenPub:p,farmKeys:a,rewardVault:f,rewardInfo:te(j({},d),{mint:l})});u.addInstruction({instructions:[g],instructionTypes:[J.FarmV6CreatorAddReward]})}return u.versionBuild({txVersion:r})}async deposit(t){let{txVersion:r,farmInfo:n,amount:o,feePayer:i,useSOLBalance:s,associatedOnly:a=!0,checkCreateATAOwner:c=!1,userAuxiliaryLedgers:u,computeBudgetConfig:d}=t;this.scope.availability.addFarm===!1&&this.logAndCreateError("farm deposit feature disabled in your region");let{rewardInfos:l,programId:f}=n,p=Pe[f];fr(p)||this.logAndCreateError("invalid farm program:",n.programId);let[m,g]=[new q(n.programId),new q(n.id)],k=(await this.scope.api.fetchFarmKeysById({ids:n.id}))[0],x=ge({programId:m,poolId:g,owner:this.scope.ownerPubKey,version:p}),w=this.createTxBuilder();w.addCustomComputeBudget(d);let b={};for(let N of this.scope.account.tokenAccounts)if(a){let ee=Oe(this.scope.ownerPubKey,N.mint,N.programId).publicKey;N.publicKey&&ee.equals(N.publicKey)&&(b[N.mint.toString()]=N.publicKey)}else b[N.mint.toString()]=N.publicKey;let T=k.lpMint,S=b[T.address];S||this.logAndCreateError("you don't have any lp","lp zero",b);let A=[];for(let N of l){let ee=s&&N.mint.address===ye.toString(),z=b[N.mint.address];if(!z){let{account:D,instructionParams:kr}=await this.scope.account.getOrCreateTokenAccount({tokenProgram:N.mint.programId,mint:new q(N.mint.address),notUseTokenAccount:ee,createInfo:{payer:i||this.scope.ownerPubKey,amount:0},owner:this.scope.ownerPubKey,skipCloseAccount:!ee,associatedOnly:ee?!1:a,checkCreateATAOwner:c});z=D,kr&&w.addInstruction(kr)}b[N.mint.address]=z,A.push(z)}let U,E=await this.scope.connection.getAccountInfo(x);if(E&&(U=gr(p).decode(E.data)),n.programId!==Xe.toString()&&!U){let{instruction:N,instructionType:ee}=hr({id:g,programId:m,version:p,ledger:x,owner:this.scope.ownerPubKey});w.addInstruction({instructions:[N],instructionTypes:[ee]})}let B=pr({version:p,rewardInfos:l,rewardTokenAccountsPublicKeys:A});B&&this.logAndCreateError(B);let v={amount:V(o),owner:this.scope.ownerPubKey,farmInfo:n,farmKeys:k,lpAccount:S,rewardAccounts:A,userAuxiliaryLedgers:u==null?void 0:u.map(N=>new q(N))},W=p===6?Nn(v):p===5?Fn(v):Vn(v),G={3:J.FarmV3Deposit,5:J.FarmV5Deposit,6:J.FarmV6Deposit};return w.addInstruction({instructions:[W],instructionTypes:[G[p]]}).versionBuild({txVersion:r})}async withdraw(t){let{txVersion:r,farmInfo:n,amount:o,deposited:i,useSOLBalance:s,feePayer:a,associatedOnly:c=!0,checkCreateATAOwner:u=!1,userAuxiliaryLedgers:d,computeBudgetConfig:l}=t,{rewardInfos:f}=n;this.scope.availability.removeFarm===!1&&this.logAndCreateError("farm withdraw feature disabled in your region");let p=Pe[n.programId];fr(p)||this.logAndCreateError("invalid farm program:",n.programId);let m=(await this.scope.api.fetchFarmKeysById({ids:n.id}))[0],g=this.createTxBuilder();g.addCustomComputeBudget(l);let k={};for(let B of this.scope.account.tokenAccounts)if(c){let v=Oe(this.scope.ownerPubKey,B.mint).publicKey;B.publicKey&&v.equals(B.publicKey)&&(k[B.mint.toString()]=B.publicKey)}else k[B.mint.toString()]=B.publicKey;if(i)i.isZero()&&this.logAndCreateError("no deposited lp",{farmId:n.id});else{let B=ge({programId:new q(n.programId),poolId:new q(n.id),owner:this.scope.ownerPubKey,version:p}),v=await this.scope.connection.getAccountInfo(B);if(v)gr(p).decode(v.data).deposited.isZero()&&this.logAndCreateError("no deposited lp",{farmId:n.id});else if(p!==6&&(d||[]).length>0){let{instruction:W,instructionType:G}=hr({id:new q(m.id),programId:new q(m.programId),version:p,ledger:B,owner:this.scope.ownerPubKey});g.addInstruction({instructions:[W],instructionTypes:[G]})}else this.logAndCreateError("no lp data",{farmId:n.id,version:p,ledgerData:v})}let x=m.lpMint.address,w=s&&x===ye.toString(),b=k[x.toString()];if(!b){let{account:B,instructionParams:v}=await this.scope.account.getOrCreateTokenAccount({tokenProgram:m.lpMint.programId,mint:new q(x),notUseTokenAccount:w,createInfo:{payer:a||this.scope.ownerPubKey,amount:0},owner:this.scope.ownerPubKey,skipCloseAccount:!0,associatedOnly:w?!1:c,checkCreateATAOwner:u});b=B,v&&g.addInstruction(v)}k[x.toString()]=b;let T=[];for(let B of f){let v=s&&B.mint.address===ye.toString(),W=k[B.mint.address];if(!W){let{account:G,instructionParams:N}=await this.scope.account.getOrCreateTokenAccount({tokenProgram:B.mint.programId,mint:new q(B.mint.address),notUseTokenAccount:v,createInfo:{payer:a||this.scope.ownerPubKey,amount:0},owner:this.scope.ownerPubKey,skipCloseAccount:!v,associatedOnly:v?!1:c,checkCreateATAOwner:u});W=G,N&&g.addInstruction(N)}k[B.mint.address]=W,T.push(W)}let S=pr({version:p,rewardInfos:f,rewardTokenAccountsPublicKeys:T});S&&this.logAndCreateError(S);let A={amount:V(o),owner:this.scope.ownerPubKey,farmInfo:n,farmKeys:m,lpAccount:b,rewardAccounts:T,userAuxiliaryLedgers:d==null?void 0:d.map(B=>new q(B))},U=p===6?wr(A):p===5?Tr(A):xr(A),E={3:J.FarmV3Withdraw,5:J.FarmV5Withdraw,6:J.FarmV6Withdraw};return g.addInstruction({instructions:[U],instructionTypes:[E[p]]}).versionBuild({txVersion:r})}async withdrawFarmReward({farmInfo:t,withdrawMint:r,txVersion:n}){var p;this.scope.checkOwner();let o=Te((await this.scope.api.fetchFarmKeysById({ids:t.id}))[0]),i=Pe[t.programId];i!==6&&this.logAndCreateError("invalid farm version",i);let s=t.rewardInfos.findIndex(m=>m.mint.address===ne.toString()?new q(se.address):r),a=o.rewardInfos[s];a||this.logAndCreateError("withdraw mint error","rewardInfos",t);let c=(p=a==null?void 0:a.vault)!=null?p:ne,u=this.createTxBuilder(),d;if(r.equals(ne)){let m=await or({connection:this.scope.connection,owner:this.scope.ownerPubKey,payer:this.scope.ownerPubKey,amount:mr(te(j({},a),{openTime:a.openTime,endTime:a.endTime,perSecond:new vt(a.perSecond).mul(10**a.mint.decimals).toString()}))});d=m.addresses.newAccount,u.addInstruction(m)}else{let m=await this.scope.account.getCreatedTokenAccount({mint:r});m===null?(d=await this.scope.account.getAssociatedTokenAccount(r),u.addInstruction({instructions:[es(this.scope.ownerPubKey,d,this.scope.ownerPubKey,r)],instructionTypes:[J.CreateATA]})):d=m}let{instruction:l,instructionType:f}=Cn({programId:o.programId,id:o.id,authority:o.authority,lpVault:o.lpVault,rewardVault:c,userRewardToken:d,owner:this.scope.ownerPubKey});return u.addInstruction({instructions:[l],instructionTypes:[f]}).versionBuild({txVersion:n})}async harvestAllRewards(t){let{farmInfoList:r,useSOLBalance:n,feePayer:o,associatedOnly:i=!0,checkCreateATAOwner:s=!1,userAuxiliaryLedgers:a,txVersion:c,computeBudgetConfig:u}=t,d=this.createTxBuilder(),l={};for(let m of this.scope.account.tokenAccounts)if(i){let g=Oe(this.scope.ownerPubKey,m.mint).publicKey;m.publicKey&&g.equals(m.publicKey)&&(l[m.mint.toString()]=m.publicKey)}else l[m.mint.toString()]=m.publicKey;let p=(await this.scope.api.fetchFarmKeysById({ids:Object.values(r).map(m=>m.id).join(",")})).reduce((m,g)=>te(j({},m),{[g.id]:g}),{});for(let m of Object.values(r)){let{programId:g,lpMint:k,rewardInfos:x,id:w}=m,b=Pe[g],T=k.address,S=n&&T===ye.toString(),A=l[T];if(!A){let{account:G,instructionParams:N}=await this.scope.account.getOrCreateTokenAccount({tokenProgram:k.programId,mint:new q(T),notUseTokenAccount:S,createInfo:{payer:o||this.scope.ownerPubKey,amount:0},owner:this.scope.ownerPubKey,skipCloseAccount:!0,associatedOnly:S?!1:i,checkCreateATAOwner:s});A=G,N&&d.addInstruction(N)}l[T.toString()]=A;let U=[];for(let G of x){let N=n&&G.mint.address===ye.toString(),ee=l[G.mint.address];if(!ee){let{account:z,instructionParams:D}=await this.scope.account.getOrCreateTokenAccount({tokenProgram:G.mint.programId,mint:new q(G.mint.address),notUseTokenAccount:N,createInfo:{payer:o||this.scope.ownerPubKey,amount:0},owner:this.scope.ownerPubKey,skipCloseAccount:!N,associatedOnly:N?!1:i,checkCreateATAOwner:s});ee=z,D&&d.addInstruction(D)}l[G.mint.address]=ee,U.push(ee)}let E=p[w],B={amount:Gt,owner:this.scope.ownerPubKey,farmInfo:m,farmKeys:E,lpAccount:A,rewardAccounts:U,userAuxiliaryLedgers:a==null?void 0:a.map(G=>new q(G))},v=b===6?wr(B):b===5?Tr(B):xr(B),W={3:J.FarmV3Withdraw,5:J.FarmV5Withdraw,6:J.FarmV6Withdraw};d.addInstruction({instructions:[v],instructionTypes:[W[b]]})}return c===1?d.sizeCheckBuild({computeBudgetConfig:u}):d.sizeCheckBuildV0({computeBudgetConfig:u})}};export{Pr as default};
|
|
2
2
|
/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
3
3
|
//# sourceMappingURL=farm.mjs.map
|