UNPKG

@raydium-io/raydium-sdk-v2

Version:

An SDK for building applications on top of Raydium.

1 lines 454 kB
var Fl=Object.defineProperty,vl=Object.defineProperties;var _l=Object.getOwnPropertyDescriptors;var Xi=Object.getOwnPropertySymbols;var eu=Object.prototype.hasOwnProperty,tu=Object.prototype.propertyIsEnumerable;var Js=(p,e,t)=>e in p?Fl(p,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):p[e]=t,M=(p,e)=>{for(var t in e||(e={}))eu.call(e,t)&&Js(p,t,e[t]);if(Xi)for(var t of Xi(e))tu.call(e,t)&&Js(p,t,e[t]);return p},E=(p,e)=>vl(p,_l(e));var Ee=(p,e)=>{var t={};for(var n in p)eu.call(p,n)&&e.indexOf(n)<0&&(t[n]=p[n]);if(p!=null&&Xi)for(var n of Xi(p))e.indexOf(n)<0&&tu.call(p,n)&&(t[n]=p[n]);return t};import{merge as Xp}from"lodash";import Cl from"axios";import{PublicKey as iu}from"@solana/web3.js";import{get as nu,set as Vl}from"lodash";var oa=class{constructor(e){this.logLevel=e.logLevel!==void 0?e.logLevel:0,this.name=e.name}set level(e){this.logLevel=e}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(e){return e<=this.logLevel}error(...e){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...e),this):this}logWithError(...e){let t=e.map(n=>typeof n=="object"?JSON.stringify(n):n).join(", ");throw new Error(t)}warning(...e){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...e),this):this}info(...e){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...e),this):this}debug(...e){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...e),this):this}},ou={},El={};function we(p){let e=nu(ou,p);if(!e){let t=nu(El,p);e=new oa({name:p,logLevel:t}),Vl(ou,p,e)}return e}import{MINT_SIZE as Dl,TOKEN_PROGRAM_ID as Wl,getTransferFeeConfig as ql,unpackMint as Ul}from"@solana/spl-token";var ia=we("Raydium_accountInfo_util");async function ft(p,e,t){let{batchRequest:n,commitment:o="confirmed",chunkCount:i=100}=M({batchRequest:!1},t),r=ra(e,i),a=new Array(r.length).fill([]);if(n){let u=r.map(l=>{let m=p._buildArgs([l.map(d=>d.toBase58())],o,"base64");return{methodName:"getMultipleAccounts",args:m}}),s=ra(u,10);a=(await(await Promise.all(s.map(async l=>await p._rpcBatchRequest(l)))).flat()).map(l=>(l.error&&ia.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${l.error.message}`),l.result.value.map(m=>{if(m){let{data:d,executable:f,lamports:y,owner:b,rentEpoch:g}=m;return d.length!==2&&d[1]!=="base64"&&ia.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(d[0],"base64"),executable:f,lamports:y,owner:new iu(b),rentEpoch:g}}return null})))}else try{a=await Promise.all(r.map(u=>p.getMultipleAccountsInfo(u,o)))}catch(u){u instanceof Error&&ia.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${u.message}`)}return a.flat()}async function Ne(p,e,t){let n=await ft(p,e.map(o=>o.pubkey),t);return e.map((o,i)=>E(M({},o),{accountInfo:n[i]}))}async function Jn({connection:p,mints:e,config:t}){var i,r,a;if(e.length===0)return{};let n=await Ne(p,e.map(u=>({pubkey:ht(u)})),t),o={};for(let u of n){if(!u.accountInfo||u.accountInfo.data.length<Dl){console.log("invalid mint account",u.pubkey.toBase58());continue}let s=Ul(u.pubkey,u.accountInfo,(i=u.accountInfo)==null?void 0:i.owner);o[u.pubkey.toString()]=E(M({},s),{programId:((r=u.accountInfo)==null?void 0:r.owner)||Wl,feeConfig:(a=ql(s))!=null?a:void 0})}return o[iu.default.toBase58()]=o[Z.toBase58()],o}import Yn from"bn.js";import wK from"decimal.js";import jl from"big.js";import Qi from"bn.js";import Gl from"toformat";var zl=Gl,Qo=zl;import Hi from"big.js";import Yl from"bn.js";import Hl from"decimal.js-light";import Zo from"bn.js";var ru=9007199254740991;function ce(p){let e=we("Raydium_parseBigNumberish");if(p instanceof Zo)return p;if(typeof p=="string"){if(p.match(/^-?[0-9]+$/))return new Zo(p);e.logWithError(`invalid BigNumberish string: ${p}`)}return typeof p=="number"?(p%1&&e.logWithError(`BigNumberish number underflow: ${p}`),(p>=ru||p<=-ru)&&e.logWithError(`BigNumberish number overflow: ${p}`),new Zo(String(p))):typeof p=="bigint"?new Zo(p.toString()):(e.error(`invalid BigNumberish value: ${p}`),new Zo(0))}var Yi=we("module/fraction"),aa=Qo(Hi),jo=Qo(Hl),Ql={[0]:jo.ROUND_DOWN,[1]:jo.ROUND_HALF_UP,[2]:jo.ROUND_UP},Zl={[0]:Hi.roundDown,[1]:Hi.roundHalfUp,[2]:Hi.roundUp},Se=class{constructor(e,t=new Yl(1)){this.numerator=ce(e),this.denominator=ce(t)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new Se(this.denominator,this.numerator)}add(e){let t=e instanceof Se?e:new Se(ce(e));return this.denominator.eq(t.denominator)?new Se(this.numerator.add(t.numerator),this.denominator):new Se(this.numerator.mul(t.denominator).add(t.numerator.mul(this.denominator)),this.denominator.mul(t.denominator))}sub(e){let t=e instanceof Se?e:new Se(ce(e));return this.denominator.eq(t.denominator)?new Se(this.numerator.sub(t.numerator),this.denominator):new Se(this.numerator.mul(t.denominator).sub(t.numerator.mul(this.denominator)),this.denominator.mul(t.denominator))}mul(e){let t=e instanceof Se?e:new Se(ce(e));return new Se(this.numerator.mul(t.numerator),this.denominator.mul(t.denominator))}div(e){let t=e instanceof Se?e:new Se(ce(e));return new Se(this.numerator.mul(t.denominator),this.denominator.mul(t.numerator))}toSignificant(e,t={groupSeparator:""},n=1){Number.isInteger(e)||Yi.logWithError(`${e} is not an integer.`),e<=0&&Yi.logWithError(`${e} is not positive.`),jo.set({precision:e+1,rounding:Ql[n]});let o=new jo(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(e);return o.toFormat(o.decimalPlaces(),t)}toFixed(e,t={groupSeparator:""},n=1){return Number.isInteger(e)||Yi.logWithError(`${e} is not an integer.`),e<0&&Yi.logWithError(`${e} is negative.`),aa.DP=e,aa.RM=Zl[n]||1,new aa(this.numerator.toString()).div(this.denominator.toString()).toFormat(e,t)}isZero(){return this.numerator.isZero()}};var $l=we("Raydium_amount"),au=Qo(jl);function Jl(p,e){let t="0",n="0";if(p.includes(".")){let o=p.split(".");o.length===2?([t,n]=o,n=n.padEnd(e,"0")):$l.logWithError(`invalid number string, num: ${p}`)}else t=p;return[t,n.slice(0,e)||n]}var Ke=class extends Se{constructor(t,n,o=!0,i){let r=new Qi(0),a=sa.pow(new Qi(t.decimals));if(o)r=ce(n);else{let u=new Qi(0),s=new Qi(0);if(typeof n=="string"||typeof n=="number"||typeof n=="bigint"){let[c,l]=Jl(n.toString(),t.decimals);u=ce(c),s=ce(l)}u=u.mul(a),r=u.add(s)}super(r,a);this.logger=we(i||"TokenAmount"),this.token=t}get raw(){return this.numerator}isZero(){return this.raw.isZero()}gt(t){return this.token.equals(t.token)||this.logger.logWithError("gt token not equals"),this.raw.gt(t.raw)}lt(t){return this.token.equals(t.token)||this.logger.logWithError("lt token not equals"),this.raw.lt(t.raw)}add(t){return this.token.equals(t.token)||this.logger.logWithError("add token not equals"),new Ke(this.token,this.raw.add(t.raw))}subtract(t){return this.token.equals(t.token)||this.logger.logWithError("sub token not equals"),new Ke(this.token,this.raw.sub(t.raw))}toSignificant(t=this.token.decimals,n,o=0){return super.toSignificant(t,n,o)}toFixed(t=this.token.decimals,n,o=0){return t>this.token.decimals&&this.logger.logWithError("decimals overflow"),super.toFixed(t,n,o)}toExact(t={groupSeparator:""}){return au.DP=this.token.decimals,new au(this.numerator.toString()).div(this.denominator.toString()).toFormat(t)}};import{PublicKey as em}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as su}from"@solana/spl-token";var Fn={chainId:101,address:em.default.toBase58(),programId:su.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},Bt={chainId:101,address:"So11111111111111111111111111111111111111112",programId:su.toBase58(),decimals:9,symbol:"WSOL",name:"Wrapped SOL",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}};import{PublicKey as ma}from"@solana/web3.js";import{PublicKey as Ge,SystemProgram as uu,SYSVAR_RENT_PUBKEY as tm}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as nm}from"@solana/spl-token";function K({pubkey:p,isSigner:e=!1,isWritable:t=!0}){return{pubkey:p,isWritable:t,isSigner:e}}var ua=[K({pubkey:nm,isWritable:!1}),K({pubkey:uu.programId,isWritable:!1}),K({pubkey:tm,isWritable:!1})];function ca({publicKey:p,transformSol:e}){let t=la(p.toString());if(t instanceof Ge)return e&&t.equals(yt)?Z:t;if(e&&t.toString()===yt.toBase58())return Z;if(typeof t=="string"){if(t===Ge.default.toBase58())return Ge.default;try{return new Ge(t)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function la(p){try{return new Ge(p)}catch{return p}}var rn=new Ge("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),xt=new Ge("SysvarRent111111111111111111111111111111111"),Ff=new Ge("SysvarC1ock11111111111111111111111111111111"),yn=new Ge("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),om=new Ge("Sysvar1nstructions1111111111111111111111111"),cu=uu.programId,vf=new Ge("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),_f=new Ge("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Vf=new Ge("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),Ef=new Ge("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Df=new Ge("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Wf=new Ge("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),qf=new Ge("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),Uf=new Ge("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),Gf=new Ge("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),zf=new Ge("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Xf=new Ge("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),Z=new Ge("So11111111111111111111111111111111111111112"),yt=Ge.default;function ht(p){return ca({publicKey:p,transformSol:!0})}var da=class{constructor({mint:e,decimals:t,symbol:n,name:o,skipMint:i=!1,isToken2022:r=!1}){if(e===yt.toBase58()||e instanceof ma&&yt.equals(e)){this.decimals=Bt.decimals,this.symbol=Bt.symbol,this.name=Bt.name,this.mint=new ma(Bt.address),this.isToken2022=!1;return}this.decimals=t,this.symbol=n||e.toString().substring(0,6),this.name=o||e.toString().substring(0,6),this.mint=i?ma.default:ca({publicKey:e}),this.isToken2022=r}equals(e){return this===e?!0:this.mint.equals(e.mint)}},De=da;De.WSOL=new da(E(M({},Bt),{mint:Bt.address}));var pa=class{constructor({decimals:e,symbol:t="UNKNOWN",name:n="UNKNOWN"}){this.decimals=e,this.symbol=t,this.name=n}equals(e){return this===e}},Zi=pa;Zi.SOL=new pa(Fn);import im from"bn.js";var lu=new Se(new im(100)),bt=class extends Se{toSignificant(e=5,t,n){return this.mul(lu).toSignificant(e,t,n)}toFixed(e=2,t,n){return this.mul(lu).toFixed(e,t,n)}};var rm=we("Raydium_price"),Ct=class extends Se{constructor(t){let{baseToken:n,quoteToken:o,numerator:i,denominator:r}=t;super(i,r);this.baseToken=n,this.quoteToken=o,this.scalar=new Se(fa(n.decimals),fa(o.decimals))}get raw(){return new Se(this.numerator,this.denominator)}get adjusted(){return super.mul(this.scalar)}invert(){return new Ct({baseToken:this.quoteToken,quoteToken:this.baseToken,denominator:this.numerator,numerator:this.denominator})}mul(t){this.quoteToken!==t.baseToken&&rm.logWithError("mul token not equals");let n=super.mul(t);return new Ct({baseToken:this.baseToken,quoteToken:t.quoteToken,denominator:n.denominator,numerator:n.numerator})}toSignificant(t=this.quoteToken.decimals,n,o){return this.adjusted.toSignificant(t,n,o)}toFixed(t=this.quoteToken.decimals,n,o){return this.adjusted.toFixed(t,n,o)}};import{PublicKey as gm}from"@solana/web3.js";import fu,{isBN as yu}from"bn.js";import{bits as am,BitStructure as my,blob as sm,Blob as dy,cstr as py,f32 as fy,f32be as yy,f64 as by,f64be as gy,greedy as Py,Layout as um,ns64 as Ay,ns64be as wy,nu64 as ky,nu64be as Ty,offset as cm,s16 as hy,s16be as Iy,s24 as By,s24be as xy,s32 as lm,s32be as Sy,s40 as Ky,s40be as Cy,s48 as Ry,s48be as Ly,s8 as Oy,seq as mm,struct as Ny,Structure as dm,u16 as pm,u16be as My,u24 as Fy,u24be as vy,u32 as fm,u32be as _y,u40 as Vy,u40be as Ey,u48 as Dy,u48be as Wy,u8 as ym,UInt as bm,union as qy,Union as Uy,unionLayoutDiscriminator as Gy,utf8 as zy}from"@solana/buffer-layout";var ji=um,mu=dm;var ya=bm;var du=ym,Qe=pm;var $o=fm;var rt=lm;var pu=mm;var ge=sm;var ba=am,ga=cm;var eo=class extends ji{constructor(t,n,o){super(t,o);this.blob=ge(t),this.signed=n}decode(t,n=0){let o=new fu(this.blob.decode(t,n),10,"le");return this.signed?o.fromTwos(this.span*8).clone():o}encode(t,n,o=0){return typeof t=="number"&&(t=new fu(t)),this.signed&&(t=t.toTwos(this.span*8)),this.blob.encode(t.toArrayLike(Buffer,"le",this.span),n,o)}},$i=class extends ji{constructor(t){super(8,t);this._lower=ba($o(),!1),this._upper=ba($o(),!1)}addBoolean(t){this._lower.fields.length<32?this._lower.addBoolean(t):this._upper.addBoolean(t)}decode(t,n=0){let o=this._lower.decode(t,n),i=this._upper.decode(t,n+this._lower.span);return M(M({},o),i)}encode(t,n,o=0){return this._lower.encode(t,n,o)+this._upper.encode(t,n,o+this._lower.span)}};function D(p){return new ya(1,p)}function We(p){return new ya(4,p)}function w(p){return new eo(8,!1,p)}function le(p){return new eo(16,!1,p)}function bu(p){return new eo(1,!0,p)}function Io(p){return new eo(8,!0,p)}function gu(p){return new eo(16,!0,p)}var to=class extends ji{constructor(t,n,o,i){super(t.span,i);this.layout=t,this.decoder=n,this.encoder=o}decode(t,n){return this.decoder(this.layout.decode(t,n))}encode(t,n,o){return this.layout.encode(this.encoder(t),n,o)}getSpan(t,n){return this.layout.getSpan(t,n)}};function F(p){return new to(ge(32),e=>new gm(e),e=>e.toBuffer(),p)}function ze(p){return new to(du(),Pm,Am,p)}function Pm(p){if(p===0)return!1;if(p===1)return!0;throw new Error("Invalid bool: "+p)}function Am(p){return p?1:0}function Pu(p,e){let t=$o("length"),n=_([t,j(p,ga(t,-t.span),"values")]);return new to(n,({values:o})=>o,o=>({values:o}),e)}function wm(p){let e=$o("length"),t=_([e,ge(ga(e,-e.span),"data")]);return new to(t,({data:n})=>n,n=>({data:n}),p)}function Mt(p){return new to(wm(),e=>e.toString("utf-8"),e=>Buffer.from(e,"utf-8"),p)}var Pa=class extends mu{decode(e,t){return super.decode(e,t)}};function _(p,e,t){return new Pa(p,e,t)}function j(p,e,t){let n,o=typeof e=="number"?e:yu(e)?e.toNumber():new Proxy(e,{get(i,r){if(!n){let a=Reflect.get(i,"count");n=yu(a)?a.toNumber():a,Reflect.set(i,"count",n)}return Reflect.get(i,r)},set(i,r,a){return r==="count"&&(n=a),Reflect.set(i,r,a)}});return pu(p,o,t)}var wn=_([F("mint"),F("owner"),w("amount"),We("delegateOption"),F("delegate"),D("state"),We("isNativeOption"),w("isNative"),w("delegatedAmount"),We("closeAuthorityOption"),F("closeAuthority")]);import{Keypair as Bm,PublicKey as Iu}from"@solana/web3.js";import xm from"bn.js";import{TOKEN_PROGRAM_ID as Sm}from"@solana/spl-token";function km(p){return p instanceof Uint8Array||p!=null&&typeof p=="object"&&p.constructor.name==="Uint8Array"}function Aa(p,...e){if(!km(p))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(p.length))throw new Error(`Uint8Array expected of length ${e}, not of length=${p.length}`)}function wa(p,e=!0){if(p.destroyed)throw new Error("Hash instance has been destroyed");if(e&&p.finished)throw new Error("Hash#digest() has already been called")}function Au(p,e){Aa(p);let t=e.outputLen;if(p.length<t)throw new Error(`digestInto() expects output buffer of length at least ${t}`)}var er=p=>new DataView(p.buffer,p.byteOffset,p.byteLength),an=(p,e)=>p<<32-e|p>>>e;var rb=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Tm(p){if(typeof p!="string")throw new Error(`utf8ToBytes expected string, got ${typeof p}`);return new Uint8Array(new TextEncoder().encode(p))}function ka(p){return typeof p=="string"&&(p=Tm(p)),Aa(p),p}var Ji=class{clone(){return this._cloneInto()}},ab={}.toString;function wu(p){let e=n=>p().update(ka(n)).digest(),t=p();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>p(),e}function hm(p,e,t,n){if(typeof p.setBigUint64=="function")return p.setBigUint64(e,t,n);let o=BigInt(32),i=BigInt(4294967295),r=Number(t>>o&i),a=Number(t&i),u=n?4:0,s=n?0:4;p.setUint32(e+u,r,n),p.setUint32(e+s,a,n)}var ku=(p,e,t)=>p&e^~p&t,Tu=(p,e,t)=>p&e^p&t^e&t,tr=class extends Ji{constructor(e,t,n,o){super(),this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=er(this.buffer)}update(e){wa(this);let{view:t,buffer:n,blockLen:o}=this;e=ka(e);let i=e.length;for(let r=0;r<i;){let a=Math.min(o-this.pos,i-r);if(a===o){let u=er(e);for(;o<=i-r;r+=o)this.process(u,r);continue}n.set(e.subarray(r,r+a),this.pos),this.pos+=a,r+=a,this.pos===o&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){wa(this),Au(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:o,isLE:i}=this,{pos:r}=this;t[r++]=128,this.buffer.subarray(r).fill(0),this.padOffset>o-r&&(this.process(n,0),r=0);for(let l=r;l<o;l++)t[l]=0;hm(n,o-8,BigInt(this.length*8),i),this.process(n,0);let a=er(e),u=this.outputLen;if(u%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let s=u/4,c=this.get();if(s>c.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<s;l++)a.setUint32(4*l,c[l],i)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:t,buffer:n,length:o,finished:i,destroyed:r,pos:a}=this;return e.length=o,e.pos=a,e.finished=i,e.destroyed=r,o%t&&e.buffer.set(n),e}};var Im=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]),vn=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),_n=new Uint32Array(64),Ta=class extends tr{constructor(){super(64,32,8,!1),this.A=vn[0]|0,this.B=vn[1]|0,this.C=vn[2]|0,this.D=vn[3]|0,this.E=vn[4]|0,this.F=vn[5]|0,this.G=vn[6]|0,this.H=vn[7]|0}get(){let{A:e,B:t,C:n,D:o,E:i,F:r,G:a,H:u}=this;return[e,t,n,o,i,r,a,u]}set(e,t,n,o,i,r,a,u){this.A=e|0,this.B=t|0,this.C=n|0,this.D=o|0,this.E=i|0,this.F=r|0,this.G=a|0,this.H=u|0}process(e,t){for(let l=0;l<16;l++,t+=4)_n[l]=e.getUint32(t,!1);for(let l=16;l<64;l++){let m=_n[l-15],d=_n[l-2],f=an(m,7)^an(m,18)^m>>>3,y=an(d,17)^an(d,19)^d>>>10;_n[l]=y+_n[l-7]+f+_n[l-16]|0}let{A:n,B:o,C:i,D:r,E:a,F:u,G:s,H:c}=this;for(let l=0;l<64;l++){let m=an(a,6)^an(a,11)^an(a,25),d=c+m+ku(a,u,s)+Im[l]+_n[l]|0,y=(an(n,2)^an(n,13)^an(n,22))+Tu(n,o,i)|0;c=s,s=u,u=a,a=r+d|0,r=i,i=o,o=n,n=d+y|0}n=n+this.A|0,o=o+this.B|0,i=i+this.C|0,r=r+this.D|0,a=a+this.E|0,u=u+this.F|0,s=s+this.G|0,c=c+this.H|0,this.set(n,o,i,r,a,u,s,c)}roundClean(){_n.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var hu=wu(()=>new Ta);function Bu({owner:p,solAccountResp:e,tokenAccountResp:t}){let n=[],o=[];for(let{pubkey:i,account:r}of t.value){let a=wn.decode(r.data),{mint:u,amount:s}=a;n.push({publicKey:i,mint:u,amount:s,isAssociated:ne(p,u,r.owner).publicKey.equals(i),isNative:!1,programId:r.owner}),o.push({pubkey:i,accountInfo:a,programId:r.owner})}return e&&n.push({mint:Iu.default,amount:new xm(String(e.lamports)),isNative:!0,programId:e.owner}),{tokenAccounts:n,tokenAccountRawInfos:o}}function Ze({fromPublicKey:p,programId:e=Sm,assignSeed:t}){let n=t?btoa(t).slice(0,32):Bm.generate().publicKey.toBase58().slice(0,32);return{publicKey:Km(p,n,e),seed:n}}function Km(p,e,t){let n=Buffer.concat([p.toBuffer(),Buffer.from(e),t.toBuffer()]),o=hu(n);return new Iu(o)}import{PublicKey as Cm,SystemProgram as Rm}from"@solana/web3.js";import Lm from"bn.js";import{createCloseAccountInstruction as Om,createInitializeAccountInstruction as Nm,createTransferInstruction as Mm,TOKEN_PROGRAM_ID as Bo}from"@solana/spl-token";var z={CreateAccount:"CreateAccount",InitAccount:"InitAccount",CreateATA:"CreateATA",CloseAccount:"CloseAccount",TransferAmount:"TransferAmount",InitMint:"InitMint",MintTo:"MintTo",InitMarket:"InitMarket",Util1216OwnerClaim:"Util1216OwnerClaim",SetComputeUnitPrice:"SetComputeUnitPrice",SetComputeUnitLimit:"SetComputeUnitLimit",ClmmCreatePool:"ClmmCreatePool",ClmmOpenPosition:"ClmmOpenPosition",ClmmIncreasePosition:"ClmmIncreasePosition",ClmmDecreasePosition:"ClmmDecreasePosition",ClmmClosePosition:"ClmmClosePosition",ClmmSwapBaseIn:"ClmmSwapBaseIn",ClmmSwapBaseOut:"ClmmSwapBaseOut",ClmmInitReward:"ClmmInitReward",ClmmSetReward:"ClmmSetReward",ClmmCollectReward:"ClmmCollectReward",ClmmLockPosition:"ClmmLockPosition",ClmmHarvestLockPosition:"ClmmHarvestLockPosition",AmmV4Swap:"AmmV4Swap",AmmV4AddLiquidity:"AmmV4AddLiquidity",AmmV4RemoveLiquidity:"AmmV4RemoveLiquidity",AmmV4SimulatePoolInfo:"AmmV4SimulatePoolInfo",AmmV4SwapBaseIn:"AmmV4SwapBaseIn",AmmV4SwapBaseOut:"AmmV4SwapBaseOut",AmmV4CreatePool:"AmmV4CreatePool",AmmV4InitPool:"AmmV4InitPool",AmmV5AddLiquidity:"AmmV5AddLiquidity",AmmV5RemoveLiquidity:"AmmV5RemoveLiquidity",AmmV5SimulatePoolInfo:"AmmV5SimulatePoolInfo",AmmV5SwapBaseIn:"AmmV5SwapBaseIn",AmmV5SwapBaseOut:"AmmV5SwapBaseOut",RouteSwap:"RouteSwap",RouteSwap1:"RouteSwap1",RouteSwap2:"RouteSwap2",FarmV3Deposit:"FarmV3Deposit",FarmV3Withdraw:"FarmV3Withdraw",FarmV3CreateLedger:"FarmV3CreateLedger",FarmV4Withdraw:"FarmV4Withdraw",FarmV5Deposit:"FarmV5Deposit",FarmV5Withdraw:"FarmV5Withdraw",FarmV5CreateLedger:"FarmV5CreateLedger",FarmV6Deposit:"FarmV6Deposit",FarmV6Withdraw:"FarmV6Withdraw",FarmV6Create:"FarmV6Create",FarmV6Restart:"FarmV6Restart",FarmV6CreatorAddReward:"FarmV6CreatorAddReward",FarmV6CreatorWithdraw:"FarmV6CreatorWithdraw",CpmmCreatePool:"CpmmCreatePool",CpmmAddLiquidity:"CpmmAddLiquidity",CpmmWithdrawLiquidity:"CpmmWithdrawLiquidity",CpmmSwapBaseIn:"CpmmSwapBaseIn",CpmmSwapBaseOut:"CpmmSwapBaseOut",CpmmLockLp:"CpmmLockLp",CpmmCollectLockFee:"CpmmCollectLockFee",TransferTip:"TransferTip"};function ha(p){let{mint:e,tokenAccount:t,owner:n,programId:o=Bo}=p;return Nm(t,e,n,o)}function kn(p){let{tokenAccount:e,payer:t,multiSigners:n=[],owner:o,programId:i=Bo}=p;return Om(e,t,o,n,i)}async function Vn(p){let{connection:e,amount:t,commitment:n,payer:o,owner:i,skipCloseAccount:r}=p,a=await e.getMinimumBalanceForRentExemption(wn.span,n),u=ce(t).add(new Lm(a)),s=Ze({fromPublicKey:o,programId:Bo});return{addresses:{newAccount:s.publicKey},signers:[],instructions:[Rm.createAccountWithSeed({fromPubkey:o,basePubkey:o,seed:s.seed,newAccountPubkey:s.publicKey,lamports:u.toNumber(),space:wn.span,programId:Bo}),ha({mint:new Cm(Bt.address),tokenAccount:s.publicKey,owner:i,programId:Bo})],instructionTypes:[z.CreateAccount,z.InitAccount],endInstructionTypes:r?[]:[z.CloseAccount],endInstructions:r?[]:[kn({tokenAccount:s.publicKey,payer:o,owner:i})]}}function xu({source:p,destination:e,owner:t,amount:n,multiSigners:o=[],tokenProgram:i=Bo}){return Mm(p,e,t,BigInt(String(n)),o,i)}import{PublicKey as Ba}from"@solana/web3.js";import{PublicKey as me}from"@solana/web3.js";var Su=new me("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),Ku=new me("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),Cu=new me("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Jo=new me("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),zb=new me("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Ru=new me("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),Ia=new me("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),nr=new me("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),Xb=new me("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),Lu=new me("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Tn=new me("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),ei=new me("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),or=new me("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),no=new me("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Yb=new me("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Ou=new me("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),oo=new me("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),Nu=new me("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),Hb=new me("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),ti=new me("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),ir=new me("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),lt=new me("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),Qb=new me("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),Zb=new me("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),jb=new me("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),$b=new me("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),Jb=new me("6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX");var sn={OPEN_BOOK_PROGRAM:new me("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),SERUM_PROGRAM_ID_V3:new me("Ray1111111111111111111111111111111111111111"),AMM_V4:new me("DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav"),AMM_STABLE:new me("DRayDdXc1NZQ9C3hRWmoSf8zK4iapgMnjdNZWrfwsP8m"),CLMM_PROGRAM_ID:new me("DRayAUgENGQBKVaX8owNhgzkEDyoHTGVEGHVJT1E9pfH"),CLMM_LOCK_PROGRAM_ID:new me("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),CLMM_LOCK_AUTH_ID:new me("6Aoh8h2Lw2m5UGxYR8AdAL87jTWYeKoxM52mJRzfYwN"),CREATE_CPMM_POOL_PROGRAM:new me("DRaycpLY18LhpbydsBWbVJtxpNv9oXPgjRSfpF2bWpYb"),CREATE_CPMM_POOL_AUTH:new me("CXniRufdq5xL8t8jZAPxsPZDpuudwuJSPWnbcD5Y5Nxq"),CREATE_CPMM_POOL_FEE_ACC:new me("3oE58BKVt8KuYkGxx8zBojugnymWmBiyafWgMrnb6eYy"),LOCK_CPMM_PROGRAM:new me("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),LOCK_CPMM_AUTH:new me("7qWVV8UY2bRJfDLP4s37YzBPKUkVB46DStYJBpYbQzu3"),UTIL1216:me.default,Router:new me("DRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd"),FARM_PROGRAM_ID_V3:new me("DRayWyrLmEW5KEeqs8kdTMMaBabapqagaBC7KWpGtJeZ"),FARM_PROGRAM_ID_V4:new me("Ray1111111111111111111111111111111111111111"),FARM_PROGRAM_ID_V5:new me("DRayiCGSZgku1GTK6rXD6mVDdingXy6APAH1R6R5L2LC"),FARM_PROGRAM_ID_V6:new me("DRayzbYakXs45ELHkzH6vC3fuhQqTAnv5A68gdFuvZyZ"),LAUNCHPAD_PROGRAM:new me("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),LAUNCHPAD_AUTH:new me("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),LAUNCHPAD_PLATFORM:new me("2Jx4KTDrVSdWNazuGpcA8n3ZLTRGGBDxAWhuKe2Xcj2a"),LAUNCHPAD_CONFIG:new me("7ZR4zD7PYfY2XxoG1Gxcy2EgEeGYrpxrwzPuwdUBssEt"),FEE_DESTINATION_ID:new me("9y8ENuuZ3b19quffx9hQvRVygG5ky6snHfRvGpuSfeJy"),MODEL_DATA_PUBKEY:new me("Ray1111111111111111111111111111111111111111")};import{NATIVE_MINT as ug}from"@solana/spl-token";var cg=we("Raydium_farm_config"),Mu=new Ba("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Fu=new Ba("FrspKwj8i3pNmKwXreTveC4fu7KL5ZbGeXdZBe2XViu1");var lg=new Ba("3TRTX4dXUpp2eqxi3tvQDFYUV7SdDJjcPE3Y4mbtftaX"),rr={3:vu,5:_u,6:oi},ni={3:Ka,5:Vu,6:Eu},xa=p=>[3,4,5,6].indexOf(p)!==-1,Sa=p=>{var r;let{version:e,rewardInfos:t,rewardTokenAccountsPublicKeys:n}=p,o=`rewardInfo:${JSON.stringify(t)}, rewardAccount:${JSON.stringify(n)}`,i={3:()=>{if(t.length!==1||n.length!==1)return`rewardInfos or rewardTokenAccounts lengths not equal 1: ${o}`},5:()=>{if(t.length!==n.length)return`rewardInfos and rewardTokenAccounts lengths not equal: ${o}`},6:()=>{if(!n.length||t.length!==n.length)return`no rewardTokenAccounts or rewardInfos and rewardTokenAccounts lengths not equal: ${o}`}};return(r=i[e])==null?void 0:r.call(i)},En={"Standard SPL":0,"Option tokens":1},Ut={[Su.toString()]:3,[Ku.toString()]:4,[Cu.toString()]:5,[Jo.toString()]:6,[sn.FARM_PROGRAM_ID_V3.toString()]:3,[sn.FARM_PROGRAM_ID_V4.toString()]:4,[sn.FARM_PROGRAM_ID_V5.toString()]:5,[sn.FARM_PROGRAM_ID_V6.toString()]:6};var Ca=_([D("instruction")]),Ra=_([D("instruction")]),Fm=_([w("rewardState"),w("rewardOpenTime"),w("rewardEndTime"),w("rewardLastUpdateTime"),w("totalReward"),w("totalRewardEmissioned"),w("rewardClaimed"),w("rewardPerSecond"),le("accRewardPerShare"),F("rewardVault"),F("rewardMint"),F("rewardSender"),w("rewardType"),j(w(),15,"padding")]),vm=_([w("state"),w("nonce"),F("lpVault"),F("rewardVault"),F(),F(),w(),w(),w("totalReward"),le("perShareReward"),w("lastSlot"),w("perSlotReward")]),_m=_([w("state"),w("nonce"),F("lpVault"),F("rewardVaultA"),w("totalRewardA"),le("perShareRewardA"),w("perSlotRewardA"),D("option"),F("rewardVaultB"),ge(7),w("totalRewardB"),le("perShareRewardB"),w("perSlotRewardB"),w("lastSlot"),F()]),Vm=_([w(),w("state"),w("nonce"),w("validRewardTokenNum"),le("rewardMultiplier"),w("rewardPeriodMax"),w("rewardPeriodMin"),w("rewardPeriodExtend"),F("lpMint"),F("lpVault"),j(Fm,5,"rewardInfos"),F("creator"),F(),j(w(),32,"padding")]),vu=new Proxy(vm,{get(p,e,t){return e==="decode"?(...n)=>{let o=p.decode(...n);return E(M({},o),{version:3,rewardInfos:[{rewardVault:o.rewardVault,totalReward:o.totalReward,perSlotReward:o.perSlotReward,perShareReward:o.perShareReward}]})}:Reflect.get(p,e,t)}}),_u=new Proxy(_m,{get(p,e,t){return e==="decode"?(...n)=>{let o=p.decode(...n);return E(M({},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(p,e,t)}}),oi=new Proxy(Vm,{get(p,e,t){return e==="decode"?(...n)=>{let o=p.decode(...n);return E(M({},o),{version:6,rewardInfos:o.rewardInfos.map(i=>{var r;return E(M({},i),{rewardType:((r=Object.entries(En).find(a=>String(a[1])===i.rewardType.toString()))!=null?r:["Standard SPL"])[0]})})})}:Reflect.get(p,e,t)}}),Em=_([w("isSet"),w("rewardPerSecond"),w("rewardOpenTime"),w("rewardEndTime"),w("rewardType")]),La=_([D("instruction"),w("nonce"),j(Em,5,"rewardTimeInfo")]),Oa=_([D("instruction"),w("rewardReopenTime"),w("rewardEndTime"),w("rewardPerSecond")]),Na=_([D("instruction"),w("isSet"),w("rewardPerSecond"),w("rewardOpenTime"),w("rewardEndTime"),w("rewardType")]),gg=_([w("state"),F("id"),F("owner"),w("deposited"),j(w(),1,"rewardDebts")]),Ka=_([w("state"),F("id"),F("owner"),w("deposited"),j(le(),1,"rewardDebts"),w(""),w("voteLockedBalance"),j(w(),15)]),Pg=_([w("state"),F("id"),F("owner"),w("deposited"),j(w(),2,"rewardDebts")]),Vu=_([w("state"),F("id"),F("owner"),w("deposited"),j(le(),2,"rewardDebts"),j(w(),17)]),Eu=_([w(),w("state"),F("id"),F("owner"),w("deposited"),j(le(),5,"rewardDebts"),j(w(),16)]),Gt=_([D("instruction"),w("amount")]),Dm=_([F("mint"),F("grantAuthority"),w("baselineVoteWeightScaledFactor"),w("maxExtraLockupVoteWeightScaledFactor"),w("lockupSaturationSecs"),bu("digitShift"),j(D(),7,"reserved1"),j(w(),7,"reserved2")]),Wm=_([ge(8),F("governanceProgramId"),F("realm"),F("realmGoverningTokenMint"),F("realmAuthority"),j(D(),32,"reserved1"),j(Dm,4,"votingMints"),Io("timeOffset"),D("bump"),j(D(),7,"reserved2"),j(w(),11,"reserved3")]),qm=_([Io("startTime"),Io("endTime"),D("kind"),j(D(),15,"reserved")]),Um=_([j(qm,1,"lockup"),w("amountDeposited_native"),w("amountInitiallyLockedNative"),ze("isUsed"),ze("allowClawback"),D("votingMintConfigIdx"),j(D(),29,"reserved")]),Gm=_([ge(8),F("voterAuthority"),F("registrar"),j(Um,32,"deposits"),D("voterBump"),D("voterWweightRecordBump"),j(D(),94,"reserved")]);import Jm from"bn.js";import{ComputeBudgetProgram as Du,Keypair as qu,PublicKey as zm,Transaction as Uu,TransactionMessage as Xm,VersionedTransaction as Gu}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Ym}from"@solana/spl-token";var Wu=we("Raydium_txUtil"),zu=1644;function ar(p){let e=[],t=[];return p.microLamports&&(e.push(Du.setComputeUnitPrice({microLamports:p.microLamports})),t.push(z.SetComputeUnitPrice)),p.units&&(e.push(Du.setComputeUnitLimit({units:p.units})),t.push(z.SetComputeUnitLimit)),{instructions:e,instructionTypes:t}}async function xo(p,e){var n,o;let t=e!=null?e:"confirmed";return(o=await((n=p.getLatestBlockhash)==null?void 0:n.call(p,{commitment:t})))==null?void 0:o.blockhash}async function sr(p,e){return p.getSignatureStatuses([e]),new Promise((t,n)=>{let o=setTimeout(n,6e4);p.onSignature(e,i=>{if(clearTimeout(o),!i.err){t("");return}n(Object.assign(i.err,{txId:e}))},"confirmed")})}function Ma(p,e){p.length<1&&Wu.logWithError(`no instructions provided: ${p.toString()}`),e.length<1&&Wu.logWithError(`no signers provided:, ${e.toString()}`);let t=new Uu;t.recentBlockhash="11111111111111111111111111111111",t.feePayer=e[0],t.add(...p);try{return Buffer.from(t.serialize({verifySignatures:!1})).toString("base64").length<zu}catch{return!1}}function ue(p,e){let[t,n]=zm.findProgramAddressSync(p,e);return{publicKey:t,nonce:n}}function ii({instructions:p,payer:e,signers:t}){return Ma(p,[e,...t])}function ri({instructions:p,payer:e,lookupTableAddressAccount:t,recentBlockhash:n=qu.generate().publicKey.toString()}){let i=new Xm({payerKey:e,recentBlockhash:n,instructions:p}).compileToV0Message(Object.values(t!=null?t:{}));try{return Buffer.from(new Gu(i).serialize()).toString("base64").length<zu}catch{return!1}}var Hm=p=>Buffer.isBuffer(p)?p:p instanceof Uint8Array?Buffer.from(p.buffer,p.byteOffset,p.byteLength):Buffer.from(p),Qm=p=>{let e=p.serialize({requireAllSignatures:!1,verifySignatures:!1});p instanceof Gu&&(e=Hm(e));try{return e instanceof Buffer?e.toString("base64"):Buffer.from(e).toString("base64")}catch{return e.toString("base64")}};function io(p){let e=[];return p.forEach(t=>{t instanceof Uu&&(t.recentBlockhash||(t.recentBlockhash=Ym.toBase58()),t.feePayer||(t.feePayer=qu.generate().publicKey)),e.push(Qm(t))}),console.log("simulate tx string:",e),e}import{PublicKey as Zm}from"@solana/web3.js";import jm from"bn.js";function $m(p){return typeof p=="object"&&p!==null&&![De,Ke,Zm,Se,jm,Ct,bt].some(e=>typeof e=="object"&&p instanceof e)}function Rt(p){return typeof p=="string"?la(p):Array.isArray(p)?p.map(e=>Rt(e)):$m(p)?Object.fromEntries(Object.entries(p).map(([e,t])=>[e,Rt(t)])):p}var ed=we("Raydium.farm.util");function ai({programId:p,poolId:e,mint:t,type:n}){let{publicKey:o}=ue([e.toBuffer(),t.toBuffer(),Buffer.from(n==="lpVault"?"lp_vault_associated_seed":n==="rewardVault"?"reward_vault_associated_seed":"","utf-8")],p);return o}function Zt({programId:p,poolId:e,owner:t,version:n}){let{publicKey:o}=ue([e.toBuffer(),t.toBuffer(),Buffer.from(n===6?"farmer_info_associated_seed":"staker_info_v2_associated_seed","utf-8")],p);return o}var Xu=({programId:p,poolId:e})=>ue([e.toBuffer()],p);function Yu(p){return{isSet:new Jm(1),rewardPerSecond:ce(p.perSecond),rewardOpenTime:ce(p.openTime),rewardEndTime:ce(p.endTime),rewardType:ce(En[p.rewardType])}}function Fa(p){return ce(p.endTime).sub(ce(p.openTime)).mul(ce(p.perSecond))}function si(p){let e=ni[p];return e||ed.logWithError("invalid version",p),e}import{PublicKey as Pe,SystemProgram as Hu,SYSVAR_CLOCK_PUBKEY as ui,SYSVAR_RENT_PUBKEY as od,TransactionInstruction as jt}from"@solana/web3.js";import Qu from"bn.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as hP,createAssociatedTokenAccountIdempotentInstruction as IP,TOKEN_PROGRAM_ID as hn}from"@solana/spl-token";import{PublicKey as td}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as nd}from"@solana/spl-token";function ne(p,e,t){return ue([p.toBuffer(),(t!=null?t:nd).toBuffer(),e.toBuffer()],new td("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"))}var id=we("Raydium_farm_instruction"),FP={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 ci(p){let{version:e,id:t,ledger:n,programId:o,owner:i}=p,r={3:9,5:10}[e];r||id.logWithError(`invalid farm pool version: ${e}`);let a=Buffer.alloc(Ca.span);Ca.encode({instruction:r},a);let u=[K({pubkey:t}),K({pubkey:n}),K({pubkey:i,isWritable:!1}),K({pubkey:Hu.programId,isWritable:!1}),K({pubkey:od,isWritable:!1})];return{instruction:new jt({programId:o,keys:u,data:a}),instructionType:z.FarmV3CreateLedger}}function Zu(p){var n;let e=Buffer.alloc(La.span);La.encode({instruction:0,nonce:new Qu(p.nonce),rewardTimeInfo:p.rewardInfoConfig},e);let t=[...ua,K({pubkey:p.farmId}),K({pubkey:p.farmAuthority,isWritable:!1}),K({pubkey:p.lpVault}),K({pubkey:p.lpMint,isWritable:!1}),K({pubkey:p.lockVault}),K({pubkey:p.lockMint,isWritable:!1}),K({pubkey:(n=p.lockUserAccount)!=null?n:yt}),K({pubkey:p.owner,isWritable:!1,isSigner:!0})];for(let o of p.rewardInfo)t.push(K({pubkey:o.rewardMint,isWritable:!1}),K({pubkey:o.rewardVault}),K({pubkey:o.userRewardToken}));return{instruction:new jt({programId:p.programId,keys:t,data:e}),instructionType:z.FarmV6Create}}function ju(p){let e=Buffer.alloc(Ra.span);Ra.encode({instruction:5},e);let t=[K({pubkey:hn,isWritable:!1}),K({pubkey:p.id}),K({pubkey:p.authority,isWritable:!1}),K({pubkey:p.lpVault,isWritable:!1}),K({pubkey:p.rewardVault}),K({pubkey:p.userRewardToken}),K({pubkey:p.owner,isWritable:!1,isSigner:!0})];return{instruction:new jt({programId:p.programId,keys:t,data:e}),instructionType:z.FarmV6CreatorWithdraw}}function va({payer:p,rewardVault:e,userRewardTokenPub:t,farmKeys:n,rewardInfo:o}){let i=Buffer.alloc(Oa.span);Oa.encode({instruction:3,rewardReopenTime:ce(o.openTime),rewardEndTime:ce(o.endTime),rewardPerSecond:ce(o.perSecond)},i);let r=[K({pubkey:hn,isWritable:!1}),K({pubkey:n.id}),K({pubkey:n.lpVault,isWritable:!1}),K({pubkey:e}),K({pubkey:t}),K({pubkey:p,isWritable:!1,isSigner:!0})];return new jt({programId:n.programId,keys:r,data:i})}function _a({payer:p,userRewardTokenPub:e,farmKeys:t,rewardVault:n,rewardInfo:o}){let i=Buffer.alloc(Na.span);Na.encode({instruction:4,isSet:new Qu(1),rewardPerSecond:ce(o.perSecond),rewardOpenTime:ce(o.openTime),rewardEndTime:ce(o.endTime),rewardType:ce(En[o.rewardType])},i);let r=[...ua,K({pubkey:t.id}),K({pubkey:t.authority,isWritable:!1}),K({pubkey:o.mint,isWritable:!1}),K({pubkey:n}),K({pubkey:e}),K({pubkey:p,isWritable:!1,isSigner:!0})];return new jt({programId:t.programId,keys:r,data:i})}function li(p){let{farmInfo:e,farmKeys:t,lpAccount:n,rewardAccounts:o,owner:i,amount:r}=p,[a,u]=[new Pe(e.programId),new Pe(e.id)],s=Zt({programId:a,poolId:u,owner:i,version:6}),c=Buffer.alloc(Gt.span);Gt.encode({instruction:2,amount:ce(r)},c);let l=[K({pubkey:hn,isWritable:!1}),K({pubkey:u}),K({pubkey:new Pe(t.authority),isWritable:!1}),K({pubkey:new Pe(t.lpVault)}),K({pubkey:s}),K({pubkey:i,isWritable:!1,isSigner:!0}),K({pubkey:n})];for(let m=0;m<t.rewardInfos.length;m++)l.push(K({pubkey:new Pe(t.rewardInfos[m].vault)})),l.push(K({pubkey:o[m]}));return new jt({programId:a,keys:l,data:c})}function mi(p){let{farmInfo:e,farmKeys:t,lpAccount:n,rewardAccounts:o,owner:i,amount:r,userAuxiliaryLedgers:a}=p,[u,s]=[new Pe(e.programId),new Pe(e.id)],c=Zt({programId:u,poolId:s,owner:i,version:5}),l=Buffer.alloc(Gt.span);Gt.encode({instruction:12,amount:ce(r)},l);let m=[K({pubkey:s}),K({pubkey:new Pe(t.authority),isWritable:!1}),K({pubkey:c}),K({pubkey:i,isWritable:!1,isSigner:!0}),K({pubkey:n}),K({pubkey:new Pe(t.lpVault)}),K({pubkey:o[0]}),K({pubkey:new Pe(t.rewardInfos[0].vault)}),K({pubkey:ui,isWritable:!1}),K({pubkey:hn,isWritable:!1})];for(let d=1;d<t.rewardInfos.length;d++)m.push(K({pubkey:o[d]})),m.push(K({pubkey:new Pe(t.rewardInfos[d].vault)}));if(a)for(let d of a)m.push(K({pubkey:d}));return new jt({programId:u,keys:m,data:l})}function $u(p){let{farmInfo:e,farmKeys:t,lpAccount:n,rewardAccounts:o,owner:i,amount:r,userAuxiliaryLedgers:a}=p,[u,s]=[new Pe(e.programId),new Pe(e.id)],c=_([D("instruction"),w("amount")]),l=[K({pubkey:s}),K({pubkey:new Pe(t.authority),isWritable:!1}),K({pubkey:a[0]}),K({pubkey:i,isSigner:!0,isWritable:!1}),K({pubkey:n}),K({pubkey:new Pe(t.lpVault)}),K({pubkey:o[0]}),K({pubkey:new Pe(t.rewardInfos[0].vault)}),K({pubkey:ui,isWritable:!1}),K({pubkey:hn,isWritable:!1}),K({pubkey:o[1]}),K({pubkey:new Pe(t.rewardInfos[1].vault)})],m=Buffer.alloc(c.span);return c.encode({instruction:2,amount:r},m),new jt({keys:l,programId:u,data:m})}function di(p){let{farmInfo:e,farmKeys:t,lpAccount:n,rewardAccounts:o,owner:i,amount:r,userAuxiliaryLedgers:a}=p,[u,s]=[new Pe(e.programId),new Pe(e.id)],c=Zt({programId:u,poolId:s,owner:i,version:3}),l=Buffer.alloc(Gt.span);Gt.encode({instruction:11,amount:ce(r)},l);let m=[K({pubkey:s}),K({pubkey:new Pe(t.authority),isWritable:!1}),K({pubkey:c}),K({pubkey:i,isWritable:!1,isSigner:!0}),K({pubkey:n}),K({pubkey:new Pe(t.lpVault)}),K({pubkey:o[0]}),K({pubkey:new Pe(t.rewardInfos[0].vault)}),K({pubkey:ui,isWritable:!1}),K({pubkey:hn,isWritable:!1})];if(a)for(let d of a)m.push(K({pubkey:d}));return new jt({programId:u,keys:m,data:l})}function Ju(p){let{farmInfo:e,farmKeys:t,lpAccount:n,rewardAccounts:o,owner:i,amount:r,userAuxiliaryLedgers:a}=p,[u,s]=[new Pe(e.programId),new Pe(e.id)],c=Zt({programId:u,poolId:s,owner:i,version:3}),l=Buffer.alloc(Gt.span);Gt.encode({instruction:10,amount:ce(r)},l);let m=[K({pubkey:s}),K({pubkey:new Pe(t.authority),isWritable:!1}),K({pubkey:c}),K({pubkey:i,isWritable:!1,isSigner:!0}),K({pubkey:n}),K({pubkey:new Pe(t.lpVault)}),K({pubkey:o[0]}),K({pubkey:new Pe(t.rewardInfos[0].vault)}),K({pubkey:ui,isWritable:!1}),K({pubkey:hn,isWritable:!1})];if(a)for(let d of a)m.push(K({pubkey:d}));return new jt({programId:u,keys:m,data:l})}function ec(p){let{farmInfo:e,farmKeys:t,lpAccount:n,rewardAccounts:o,owner:i,amount:r,userAuxiliaryLedgers:a}=p,[u,s]=[new Pe(e.programId),new Pe(e.id)],c=Zt({programId:u,poolId:s,owner:i,version:5}),l=Buffer.alloc(Gt.span);Gt.encode({instruction:11,amount:ce(r)},l);let m=[K({pubkey:s}),K({pubkey:new Pe(t.authority),isWritable:!1}),K({pubkey:c}),K({pubkey:i,isWritable:!1,isSigner:!0}),K({pubkey:n}),K({pubkey:new Pe(t.lpVault)}),K({pubkey:o[0]}),K({pubkey:new Pe(t.rewardInfos[0].vault)}),K({pubkey:ui,isWritable:!1}),K({pubkey:hn,isWritable:!1})];for(let d=1;d<t.rewardInfos.length;d++)m.push(K({pubkey:o[d]})),m.push(K({pubkey:new Pe(t.rewardInfos[d].vault)}));if(a)for(let d of a)m.push(K({pubkey:d}));return new jt({programId:u,keys:m,data:l})}function tc(p){let{farmInfo:e,farmKeys:t,lpAccount:n,rewardAccounts:o,owner:i,amount:r}=p,[a,u]=[new Pe(e.programId),new Pe(e.id)],s=Zt({programId:a,poolId:u,owner:i,version:6}),c=Buffer.alloc(Gt.span);Gt.encode({instruction:1,amount:ce(r)},c);let l=[K({pubkey:hn,isWritable:!1}),K({pubkey:Hu.programId,isWritable:!1}),K({pubkey:u}),K({pubkey:new Pe(t.authority),isWritable:!1}),K({pubkey:new Pe(t.lpVault)}),K({pubkey:s}),K({pubkey:i,isWritable:!1,isSigner:!0}),K({pubkey:n})];for(let m=0;m<t.rewardInfos.length;m++)l.push(K({pubkey:new Pe(t.rewardInfos[m].vault)})),l.push(K({pubkey:o[m]}));return new jt({programId:a,keys:l,data:c})}var rd=_([We("mintAuthorityOption"),F("mintAuthority"),w("supply"),D("decimals"),D("isInitialized"),We("freezeAuthorityOption"),F("freezeAuthority")]);import{TOKEN_PROGRAM_ID as HP}from"@solana/spl-token";import{PublicKey as $P}from"@solana/web3.js";var pi=p=>new De({mint:p.address,decimals:p.decimals,symbol:p.symbol,name:p.name}),at=o=>{var i=o,{amount:p,isRaw:e,name:t}=i,n=Ee(i,["amount","isRaw","name"]);return new Ke(new De({mint:ht(n.address).toBase58(),decimals:n.decimals,symbol:n.symbol,name:t}),p,e,t)};var mt=o=>{var i=o,{address:p,programId:e,decimals:t}=i,n=Ee(i,["address","programId","decimals"]);return M({chainId:101,address:ht(p).toBase58(),programId:e,logoURI:"",symbol:"",name:"",decimals:t,tags:[],extensions:n.extensions||{}},n)},Dn=p=>p?E(M({},p),{transferFeeConfigAuthority:p.transferFeeConfigAuthority.toBase58(),withdrawWithheldAuthority:p.withdrawWithheldAuthority.toBase58(),withheldAmount:p.withheldAmount.toString(),olderTransferFee:E(M({},p.olderTransferFee),{epoch:p.olderTransferFee.epoch.toString(),maximumFee:p.olderTransferFee.maximumFee.toString()}),newerTransferFee:E(M({},p.newerTransferFee),{epoch:p.newerTransferFee.epoch.toString(),maximumFee:p.newerTransferFee.maximumFee.toString()})}):void 0;import{PublicKey as se,SystemProgram as Al}from"@solana/web3.js";import{createTransferInstruction as wl,TOKEN_PROGRAM_ID as Te,TOKEN_2022_PROGRAM_ID as Mn,createAssociatedTokenAccountIdempotentInstruction as Go,createSyncNativeInstruction as kl,createTransferCheckedInstruction as Cp}from"@solana/spl-token";import ye from"bn.js";import Be from"decimal.js";import{createAssociatedTokenAccountIdempotentInstruction as Kn,TOKEN_2022_PROGRAM_ID as en,TOKEN_PROGRAM_ID as Vo}from"@solana/spl-token";import{PublicKey as U}from"@solana/web3.js";import it from"bn.js";import Cn from"decimal.js";import{PublicKey as Ro,sendAndConfirmTransaction as qa,SystemProgram as ad,Transaction as fi,TransactionMessage as yi,VersionedTransaction as bi}from"@solana/web3.js";import sd from"axios";import{PublicKey as Va,AddressLookupTableAccount as Co}from"@solana/web3.js";async function Ea({connection:p,address:e,cluster:t="mainnet"}){let n=await ft(p,[...new Set(e.map(i=>i.toString()))].map(i=>new Va(i))),o={};for(let i=0;i<e.length;i++){let r=n[i],a=e[i];if(!r)continue;let u=new Co({key:a,state:Co.deserialize(r.data)});o[a.toString()]=u,t==="devnet"?Ko[a.toString()]=u:So[a.toString()]=u}return o}var So={},Da=async p=>{let e="AcL1Vo8oy1ULiavEcjSUcwfBSForXMudcZvDZy5nzJkU";if(So[e])return So;let t=new Va(e),n=await p.getAccountInfo(t);return n&&(So[e]=new Co({key:t,state:Co.deserialize(n.data)})),So},Ko={},Wa=async p=>{let e="EFhMuDw1PKEuckuFRW9PavNfTH4LKP5uKHgyXDmWpFCq";if(Ko[e])return Ko;let t=new Va(e),n=await p.getAccountInfo(t);return n&&(Ko[e]=new Co({key:t,state:Co.deserialize(n.data)})),Ko};var ur=2e3,cr=class{constructor(e){this.instructions=[];this.endInstructions=[];this.lookupTableAddress=[];this.signers=[];this.instructionTypes=[];this.endInstructionTypes=[];this.connection=e.connection,this.feePayer=e.feePayer,this.signAllTransactions=e.signAllTransactions,this.owner=e.owner,this.cluster=e.cluster,this.blockhashCommitment=e.blockhashCommitment,this.loopMultiTxStatus=!!e.loopMultiTxStatus}get AllTxData(){return{instructions:this.instructions,endInstructions:this.endInstructions,signers:this.signers,instructionTypes:this.instructionTypes,endInstructionTypes:this.endInstructionTypes,lookupTableAddress:this.lookupTableAddress}}get allInstructions(){return[...this.instructions,...this.endInstructions]}async getComputeBudgetConfig(){var n;let e=(await sd.get(`https://solanacompass.com/api/fees?cacheFreshTime=${3e5}`)).data,{avg:t}=(n=e==null?void 0:e[15])!=null?n:{};if(!!t)return{units:6e5,microLamports:Math.min(Math.ceil(t*1e6/6e5),25e3)}}addCustomComputeBudget(e){if(e){let{instructions:t,instructionTypes:n}=ar(e);return this.instructions.unshift(...t),this.instructionTypes.unshift(...n),!0}return!1}addTipInstruction(e){var t;return e?(this.endInstructions.push(ad.transfer({fromPubkey:(t=e.feePayer)!=null?t:this.feePayer,toPubkey:new Ro(e.address),lamports:BigInt(e.amount.toString())})),this.endInstructionTypes.push(z.TransferTip),!0):!1}async calComputeBudget({config:e,defaultIns:t}){try{let n=e||await this.getComputeBudgetConfig();if(this.addCustomComputeBudget(n))return;t&&this.instructions.unshift(...t)}catch{t&&this.instructions.unshift(...t)}}addInstruction({instructions:e=[],endInstructions:t=[],signers:n=[],instructionTypes:o=[],endInstructionTypes:i=[],lookupTableAddress:r=[]}){return this.instructions.push(...e),this.endInstructions.push(...t),this.signers.push(...n),this.instructionTypes.push(...o),this.endInstructionTypes.push(...i),this.lookupTableAddress.push(...r.filter(a=>a!==Ro.default.toString())),this}async versionBuild({txVersion:e,extInfo:t,lookupTableAddress:n}){return e===0?await this.buildV0(E(M({},t||{}),{lookupTableAddress:n})):this.build(t)}build(e){var n;let t=new fi;return this.allInstructions.length&&t.add(...this.allInstructions),t.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:t,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async o=>{var c;let{recentBlockHash:i,skipPreflight:r=!0,sendAndConfirm:a,notSendToRpc:u}=o||{},s=i!=null?i:await xo(this.connection,this.blockhashCommitment);if(t.recentBlockhash=s,this.signers.length&&t.sign(...this.signers),io([t]),(c=this.owner)!=null&&c.isKeyPair)return{txId:a?await qa(this.connection,t,this.signers.find(m=>m.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:r}):await this.connection.sendRawTransaction(t.serialize(),{skipPreflight:r}),signedTx:t};if(this.signAllTransactions){let l=await this.signAllTransactions([t]);if(this.signers.length)for(let m of l)try{m.sign(...this.signers)}catch{}return{txId:u?"":await this.connection.sendRawTransaction(l[0].serialize(),{skipPreflight:r}),signedTx:l[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:e||{}}}buildMultiTx(e){var s;let{extraPreBuildData:t=[],extInfo:n}=e,{transaction:o}=this.build(n),i=t.filter(c=>c.transaction.instructions.length>0),r=[o,...i.map(c=>c.transaction)],a=[this.signers,...i.map(c=>c.signers)],u=[...this.instructionTypes,...i.map(c=>c.instructionTypes).flat()];return(s=this.owner)!=null&&s.signer&&a.forEach(c=>{c.some(l=>l.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),{builder:this,transactions:r,signers:a,instructionTypes:u,execute:async c=>{var g;let{sequentially:l,onTxUpdate:m,skipTxCount:d=0,recentBlockHash:f,skipPreflight:y=!0}=c||{},b=f!=null?f:await xo(this.connection,this.blockhashCommitment);if((g=this.owner)!=null&&g.isKeyPair){if(l){let A=[],k=0;for(let h of r){if(++k,k<=d)continue;l