@raydium-io/raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
2 lines • 76.5 kB
JavaScript
var po=Object.defineProperty,fo=Object.defineProperties;var yo=Object.getOwnPropertyDescriptors;var ot=Object.getOwnPropertySymbols;var sn=Object.prototype.hasOwnProperty,un=Object.prototype.propertyIsEnumerable;var an=(o,t,n)=>t in o?po(o,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):o[t]=n,K=(o,t)=>{for(var n in t||(t={}))sn.call(t,n)&&an(o,n,t[n]);if(ot)for(var n of ot(t))un.call(t,n)&&an(o,n,t[n]);return o},F=(o,t)=>fo(o,yo(t));var ae=(o,t)=>{var n={};for(var r in o)sn.call(o,r)&&t.indexOf(r)<0&&(n[r]=o[r]);if(o!=null&&ot)for(var r of ot(o))t.indexOf(r)<0&&un.call(o,r)&&(n[r]=o[r]);return n};import{PublicKey as bo}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as cn}from"@solana/spl-token";var Se={chainId:101,address:bo.default.toBase58(),programId:cn.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},se={chainId:101,address:"So11111111111111111111111111111111111111112",programId:cn.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 xo}from"@solana/web3.js";import fn,{isBN as yn}from"bn.js";import{bits as go,BitStructure as Ka,blob as Po,Blob as xa,cstr as Ca,f32 as Ra,f32be as La,f64 as Oa,f64be as Na,greedy as Ma,Layout as Ao,ns64 as Fa,ns64be as va,nu64 as _a,nu64be as Va,offset as wo,s16 as Ea,s16be as Da,s24 as Wa,s24be as qa,s32 as ko,s32be as Ua,s40 as Ga,s40be as za,s48 as Xa,s48be as Ya,s8 as Ha,seq as To,struct as Qa,Structure as ho,u16 as Io,u16be as Za,u24 as $a,u24be as ja,u32 as Bo,u32be as Ja,u40 as es,u40be as ts,u48 as ns,u48be as os,u8 as So,UInt as Ko,union as is,Union as rs,unionLayoutDiscriminator as as,utf8 as ss}from"@solana/buffer-layout";var it=Ao,ln=ho;var It=Ko;var mn=So,Y=Io;var rt=Bo;var ce=ko;var dn=To;var N=Po;var Bt=go,pn=wo;var we=class extends it{constructor(n,r,u){super(n,u);this.blob=N(n),this.signed=r}decode(n,r=0){let u=new fn(this.blob.decode(n,r),10,"le");return this.signed?u.fromTwos(this.span*8).clone():u}encode(n,r,u=0){return typeof n=="number"&&(n=new fn(n)),this.signed&&(n=n.toTwos(this.span*8)),this.blob.encode(n.toArrayLike(Buffer,"le",this.span),r,u)}},at=class extends it{constructor(n){super(8,n);this._lower=Bt(rt(),!1),this._upper=Bt(rt(),!1)}addBoolean(n){this._lower.fields.length<32?this._lower.addBoolean(n):this._upper.addBoolean(n)}decode(n,r=0){let u=this._lower.decode(n,r),m=this._upper.decode(n,r+this._lower.span);return K(K({},u),m)}encode(n,r,u=0){return this._lower.encode(n,r,u)+this._upper.encode(n,r,u+this._lower.span)}};function c(o){return new It(1,o)}function z(o){return new It(4,o)}function e(o){return new we(8,!1,o)}function C(o){return new we(16,!1,o)}function bn(o){return new we(1,!0,o)}function Ke(o){return new we(8,!0,o)}function gn(o){return new we(16,!0,o)}var We=class extends it{constructor(n,r,u,m){super(n.span,m);this.layout=n,this.decoder=r,this.encoder=u}decode(n,r){return this.decoder(this.layout.decode(n,r))}encode(n,r,u){return this.layout.encode(this.encoder(n),r,u)}getSpan(n,r){return this.layout.getSpan(n,r)}};function i(o){return new We(N(32),t=>new xo(t),t=>t.toBuffer(),o)}function ue(o){return new We(mn(),Co,Ro,o)}function Co(o){if(o===0)return!1;if(o===1)return!0;throw new Error("Invalid bool: "+o)}function Ro(o){return o?1:0}function Kt(o,t){let n=rt("length"),r=l([n,d(o,pn(n,-n.span),"values")]);return new We(r,({values:u})=>u,u=>({values:u}),t)}var St=class extends ln{decode(t,n){return super.decode(t,n)}};function l(o,t,n){return new St(o,t,n)}function d(o,t,n){let r,u=typeof t=="number"?t:yn(t)?t.toNumber():new Proxy(t,{get(m,f){if(!r){let p=Reflect.get(m,"count");r=yn(p)?p.toNumber():p,Reflect.set(m,"count",r)}return Reflect.get(m,f)},set(m,f,p){return f==="count"&&(r=p),Reflect.set(m,f,p)}});return dn(o,u,n)}var xt=l([z("mintAuthorityOption"),i("mintAuthority"),e("supply"),c("decimals"),c("isInitialized"),z("freezeAuthorityOption"),i("freezeAuthority")]);import{TOKEN_PROGRAM_ID as wa}from"@solana/spl-token";import{PublicKey as ka}from"@solana/web3.js";import ga from"big.js";import ht from"bn.js";import Ie from"bn.js";import rR from"decimal.js";import{PublicKey as Lt}from"@solana/web3.js";import{PublicKey as X,SystemProgram as Pn,SYSVAR_RENT_PUBKEY as Lo}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Oo}from"@solana/spl-token";function xe({pubkey:o,isSigner:t=!1,isWritable:n=!0}){return{pubkey:o,isWritable:n,isSigner:t}}var No=[xe({pubkey:Oo,isWritable:!1}),xe({pubkey:Pn.programId,isWritable:!1}),xe({pubkey:Lo,isWritable:!1})];function Ct({publicKey:o,transformSol:t}){let n=An(o.toString());if(n instanceof X)return t&&n.equals(ke)?ye:n;if(t&&n.toString()===ke.toBase58())return ye;if(typeof n=="string"){if(n===X.default.toBase58())return X.default;try{return new X(n)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function An(o){try{return new X(o)}catch{return o}}var Rt=new X("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),qe=new X("SysvarRent111111111111111111111111111111111"),Ts=new X("SysvarC1ock11111111111111111111111111111111"),st=new X("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),Mo=new X("Sysvar1nstructions1111111111111111111111111"),Fo=Pn.programId,hs=new X("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Is=new X("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Bs=new X("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),Ss=new X("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Ks=new X("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),xs=new X("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),Cs=new X("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),Rs=new X("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),Ls=new X("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Os=new X("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Ns=new X("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),ye=new X("So11111111111111111111111111111111111111112"),ke=X.default;function ge(o){return Ct({publicKey:o,transformSol:!0})}var Ot=class{constructor({mint:t,decimals:n,symbol:r,name:u,skipMint:m=!1,isToken2022:f=!1}){if(t===ke.toBase58()||t instanceof Lt&&ke.equals(t)){this.decimals=se.decimals,this.symbol=se.symbol,this.name=se.name,this.mint=new Lt(se.address),this.isToken2022=!1;return}this.decimals=n,this.symbol=r||t.toString().substring(0,6),this.name=u||t.toString().substring(0,6),this.mint=m?Lt.default:Ct({publicKey:t}),this.isToken2022=f}equals(t){return this===t?!0:this.mint.equals(t.mint)}},Q=Ot;Q.WSOL=new Ot(F(K({},se),{mint:se.address}));var Nt=class{constructor({decimals:t,symbol:n="UNKNOWN",name:r="UNKNOWN"}){this.decimals=t,this.symbol=n,this.name=r}equals(t){return this===t}},ut=Nt;ut.SOL=new Nt(Se);import lt from"big.js";import Wo from"bn.js";import qo from"decimal.js-light";import{get as wn,set as vo}from"lodash";var Mt=class{constructor(t){this.logLevel=t.logLevel!==void 0?t.logLevel:0,this.name=t.name}set level(t){this.logLevel=t}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(t){return t<=this.logLevel}error(...t){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...t),this):this}logWithError(...t){let n=t.map(r=>typeof r=="object"?JSON.stringify(r):r).join(", ");throw new Error(n)}warning(...t){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...t),this):this}info(...t){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...t),this):this}debug(...t){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...t),this):this}},kn={},_o={};function v(o){let t=wn(kn,o);if(!t){let n=wn(_o,o);t=new Mt({name:o,logLevel:n}),vo(kn,o,t)}return t}import Ue from"bn.js";var Tn=9007199254740991;function Z(o){let t=v("Raydium_parseBigNumberish");if(o instanceof Ue)return o;if(typeof o=="string"){if(o.match(/^-?[0-9]+$/))return new Ue(o);t.logWithError(`invalid BigNumberish string: ${o}`)}return typeof o=="number"?(o%1&&t.logWithError(`BigNumberish number underflow: ${o}`),(o>=Tn||o<=-Tn)&&t.logWithError(`BigNumberish number overflow: ${o}`),new Ue(String(o))):typeof o=="bigint"?new Ue(o.toString()):(t.error(`invalid BigNumberish value: ${o}`),new Ue(0))}import Vo from"toformat";var Eo=Vo,Ge=Eo;var ct=v("module/fraction"),Ft=Ge(lt),ze=Ge(qo),Uo={[0]:ze.ROUND_DOWN,[1]:ze.ROUND_HALF_UP,[2]:ze.ROUND_UP},Go={[0]:lt.roundDown,[1]:lt.roundHalfUp,[2]:lt.roundUp},q=class{constructor(t,n=new Wo(1)){this.numerator=Z(t),this.denominator=Z(n)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new q(this.denominator,this.numerator)}add(t){let n=t instanceof q?t:new q(Z(t));return this.denominator.eq(n.denominator)?new q(this.numerator.add(n.numerator),this.denominator):new q(this.numerator.mul(n.denominator).add(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}sub(t){let n=t instanceof q?t:new q(Z(t));return this.denominator.eq(n.denominator)?new q(this.numerator.sub(n.numerator),this.denominator):new q(this.numerator.mul(n.denominator).sub(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}mul(t){let n=t instanceof q?t:new q(Z(t));return new q(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(t){let n=t instanceof q?t:new q(Z(t));return new q(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(t,n={groupSeparator:""},r=1){Number.isInteger(t)||ct.logWithError(`${t} is not an integer.`),t<=0&&ct.logWithError(`${t} is not positive.`),ze.set({precision:t+1,rounding:Uo[r]});let u=new ze(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(t);return u.toFormat(u.decimalPlaces(),n)}toFixed(t,n={groupSeparator:""},r=1){return Number.isInteger(t)||ct.logWithError(`${t} is not an integer.`),t<0&&ct.logWithError(`${t} is negative.`),Ft.DP=t,Ft.RM=Go[r]||1,new Ft(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,n)}isZero(){return this.numerator.isZero()}};import zo from"bn.js";var au=new q(new zo(100));var du=v("Raydium_price");import{merge as uC}from"lodash";import il from"axios";import{PublicKey as Xo}from"@solana/web3.js";import{MINT_SIZE as Tu,TOKEN_PROGRAM_ID as hu,getTransferFeeConfig as Iu,unpackMint as Bu}from"@solana/spl-token";var vt=v("Raydium_accountInfo_util");async function be(o,t,n){let{batchRequest:r,commitment:u="confirmed",chunkCount:m=100}=K({batchRequest:!1},n),f=_t(t,m),p=new Array(f.length).fill([]);if(r){let g=f.map(R=>{let L=o._buildArgs([R.map(S=>S.toBase58())],u,"base64");return{methodName:"getMultipleAccounts",args:L}}),B=_t(g,10);p=(await(await Promise.all(B.map(async R=>await o._rpcBatchRequest(R)))).flat()).map(R=>(R.error&&vt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${R.error.message}`),R.result.value.map(L=>{if(L){let{data:S,executable:M,lamports:P,owner:T,rentEpoch:I}=L;return S.length!==2&&S[1]!=="base64"&&vt.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(S[0],"base64"),executable:M,lamports:P,owner:new Xo(T),rentEpoch:I}}return null})))}else try{p=await Promise.all(f.map(g=>o.getMultipleAccountsInfo(g,u)))}catch(g){g instanceof Error&&vt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${g.message}`)}return p.flat()}function _t(o,t=1,n=[]){let r=[...o];if(t<=0)return n;for(;r.length;)n.push(r.splice(0,t));return n}import{PublicKey as qu}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Gu}from"@solana/spl-token";import{ComputeBudgetProgram as hn,Keypair as Bn,PublicKey as Yo,Transaction as Sn,TransactionMessage as Ho,VersionedTransaction as Kn}from"@solana/web3.js";var $={CreateAccount:"CreateAccount",InitAccount:"InitAccount",CreateATA:"CreateATA",CloseAccount:"CloseAccount",TransferAmount:"TransferAmount",InitMint:"InitMint",MintTo:"MintTo",InitMarket:"InitMarket",Util1216OwnerClaim:"Util1216OwnerClaim",SetComputeUnitPrice:"SetComputeUnitPrice",SetComputeUnitLimit:"SetComputeUnitLimit",ClmmCreatePool:"ClmmCreatePool",ClmmOpenPosition:"ClmmOpenPosition",ClmmIncreasePosition:"ClmmIncreasePosition",ClmmDecreasePosition:"ClmmDecreasePosition",ClmmClosePosition:"ClmmClosePosition",ClmmSwapBaseIn:"ClmmSwapBaseIn",ClmmSwapBaseOut:"ClmmSwapBaseOut",ClmmInitReward:"ClmmInitReward",ClmmSetReward:"ClmmSetReward",ClmmCollectReward:"ClmmCollectReward",ClmmLockPosition:"ClmmLockPosition",ClmmHarvestLockPosition:"ClmmHarvestLockPosition",AmmV4Swap:"AmmV4Swap",AmmV4AddLiquidity:"AmmV4AddLiquidity",AmmV4RemoveLiquidity:"AmmV4RemoveLiquidity",AmmV4SimulatePoolInfo:"AmmV4SimulatePoolInfo",AmmV4SwapBaseIn:"AmmV4SwapBaseIn",AmmV4SwapBaseOut:"AmmV4SwapBaseOut",AmmV4CreatePool:"AmmV4CreatePool",AmmV4InitPool:"AmmV4InitPool",AmmV5AddLiquidity:"AmmV5AddLiquidity",AmmV5RemoveLiquidity:"AmmV5RemoveLiquidity",AmmV5SimulatePoolInfo:"AmmV5SimulatePoolInfo",AmmV5SwapBaseIn:"AmmV5SwapBaseIn",AmmV5SwapBaseOut:"AmmV5SwapBaseOut",RouteSwap:"RouteSwap",RouteSwap1:"RouteSwap1",RouteSwap2:"RouteSwap2",FarmV3Deposit:"FarmV3Deposit",FarmV3Withdraw:"FarmV3Withdraw",FarmV3CreateLedger:"FarmV3CreateLedger",FarmV4Withdraw:"FarmV4Withdraw",FarmV5Deposit:"FarmV5Deposit",FarmV5Withdraw:"FarmV5Withdraw",FarmV5CreateLedger:"FarmV5CreateLedger",FarmV6Deposit:"FarmV6Deposit",FarmV6Withdraw:"FarmV6Withdraw",FarmV6Create:"FarmV6Create",FarmV6Restart:"FarmV6Restart",FarmV6CreatorAddReward:"FarmV6CreatorAddReward",FarmV6CreatorWithdraw:"FarmV6CreatorWithdraw",CpmmCreatePool:"CpmmCreatePool",CpmmAddLiquidity:"CpmmAddLiquidity",CpmmWithdrawLiquidity:"CpmmWithdrawLiquidity",CpmmSwapBaseIn:"CpmmSwapBaseIn",CpmmSwapBaseOut:"CpmmSwapBaseOut",CpmmLockLp:"CpmmLockLp",CpmmCollectLockFee:"CpmmCollectLockFee",TransferTip:"TransferTip"};import{TOKEN_PROGRAM_ID as Qo}from"@solana/spl-token";var In=v("Raydium_txUtil"),xn=1644;function mt(o){let t=[],n=[];return o.microLamports&&(t.push(hn.setComputeUnitPrice({microLamports:o.microLamports})),n.push($.SetComputeUnitPrice)),o.units&&(t.push(hn.setComputeUnitLimit({units:o.units})),n.push($.SetComputeUnitLimit)),{instructions:t,instructionTypes:n}}async function Ce(o,t){var r,u;let n=t!=null?t:"confirmed";return(u=await((r=o.getLatestBlockhash)==null?void 0:r.call(o,{commitment:n})))==null?void 0:u.blockhash}async function dt(o,t){return o.getSignatureStatuses([t]),new Promise((n,r)=>{let u=setTimeout(r,6e4);o.onSignature(t,m=>{if(clearTimeout(u),!m.err){n("");return}r(Object.assign(m.err,{txId:t}))},"confirmed")})}function Vt(o,t){o.length<1&&In.logWithError(`no instructions provided: ${o.toString()}`),t.length<1&&In.logWithError(`no signers provided:, ${t.toString()}`);let n=new Sn;n.recentBlockhash="11111111111111111111111111111111",n.feePayer=t[0],n.add(...o);try{return Buffer.from(n.serialize({verifySignatures:!1})).toString("base64").length<xn}catch{return!1}}function me(o,t){let[n,r]=Yo.findProgramAddressSync(o,t);return{publicKey:n,nonce:r}}function Xe({instructions:o,payer:t,signers:n}){return Vt(o,[t,...n])}function Ye({instructions:o,payer:t,lookupTableAddressAccount:n,recentBlockhash:r=Bn.generate().publicKey.toString()}){let m=new Ho({payerKey:t,recentBlockhash:r,instructions:o}).compileToV0Message(Object.values(n!=null?n:{}));try{return Buffer.from(new Kn(m).serialize()).toString("base64").length<xn}catch{return!1}}var Zo=o=>Buffer.isBuffer(o)?o:o instanceof Uint8Array?Buffer.from(o.buffer,o.byteOffset,o.byteLength):Buffer.from(o),$o=o=>{let t=o.serialize({requireAllSignatures:!1,verifySignatures:!1});o instanceof Kn&&(t=Zo(t));try{return t instanceof Buffer?t.toString("base64"):Buffer.from(t).toString("base64")}catch{return t.toString("base64")}};function Te(o){let t=[];return o.forEach(n=>{n instanceof Sn&&(n.recentBlockhash||(n.recentBlockhash=Qo.toBase58()),n.feePayer||(n.feePayer=Bn.generate().publicKey)),t.push($o(n))}),console.log("simulate tx string:",t),t}import{PublicKey as k}from"@solana/web3.js";var Cn=new k("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),Rn=new k("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),Ln=new k("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Et=new k("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),Hu=new k("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),jo=new k("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),On=new k("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),Nn=new k("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),Qu=new k("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),Jo=new k("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Mn=new k("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),ei=new k("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),ti=new k("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),Fn=new k("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Zu=new k("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),ni=new k("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Dt=new k("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),oi=new k("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),$u=new k("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),ii=new k("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),ri=new k("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),ai=new k("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),ju=new k("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),Ju=new k("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),ec=new k("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),tc=new k("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),nc=new k("6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX");var Pe={OPEN_BOOK_PROGRAM:new k("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),SERUM_PROGRAM_ID_V3:new k("Ray1111111111111111111111111111111111111111"),AMM_V4:new k("DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav"),AMM_STABLE:new k("DRayDdXc1NZQ9C3hRWmoSf8zK4iapgMnjdNZWrfwsP8m"),CLMM_PROGRAM_ID:new k("DRayAUgENGQBKVaX8owNhgzkEDyoHTGVEGHVJT1E9pfH"),CLMM_LOCK_PROGRAM_ID:new k("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),CLMM_LOCK_AUTH_ID:new k("6Aoh8h2Lw2m5UGxYR8AdAL87jTWYeKoxM52mJRzfYwN"),CREATE_CPMM_POOL_PROGRAM:new k("DRaycpLY18LhpbydsBWbVJtxpNv9oXPgjRSfpF2bWpYb"),CREATE_CPMM_POOL_AUTH:new k("CXniRufdq5xL8t8jZAPxsPZDpuudwuJSPWnbcD5Y5Nxq"),CREATE_CPMM_POOL_FEE_ACC:new k("3oE58BKVt8KuYkGxx8zBojugnymWmBiyafWgMrnb6eYy"),LOCK_CPMM_PROGRAM:new k("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),LOCK_CPMM_AUTH:new k("7qWVV8UY2bRJfDLP4s37YzBPKUkVB46DStYJBpYbQzu3"),UTIL1216:k.default,Router:new k("DRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd"),FARM_PROGRAM_ID_V3:new k("DRayWyrLmEW5KEeqs8kdTMMaBabapqagaBC7KWpGtJeZ"),FARM_PROGRAM_ID_V4:new k("Ray1111111111111111111111111111111111111111"),FARM_PROGRAM_ID_V5:new k("DRayiCGSZgku1GTK6rXD6mVDdingXy6APAH1R6R5L2LC"),FARM_PROGRAM_ID_V6:new k("DRayzbYakXs45ELHkzH6vC3fuhQqTAnv5A68gdFuvZyZ"),LAUNCHPAD_PROGRAM:new k("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),LAUNCHPAD_AUTH:new k("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),LAUNCHPAD_PLATFORM:new k("2Jx4KTDrVSdWNazuGpcA8n3ZLTRGGBDxAWhuKe2Xcj2a"),LAUNCHPAD_CONFIG:new k("7ZR4zD7PYfY2XxoG1Gxcy2EgEeGYrpxrwzPuwdUBssEt"),FEE_DESTINATION_ID:new k("9y8ENuuZ3b19quffx9hQvRVygG5ky6snHfRvGpuSfeJy"),MODEL_DATA_PUBKEY:new k("Ray1111111111111111111111111111111111111111")};import rc from"bn.js";import{PublicKey as Wt,AddressLookupTableAccount as Oe}from"@solana/web3.js";async function qt({connection:o,address:t,cluster:n="mainnet"}){let r=await be(o,[...new Set(t.map(m=>m.toString()))].map(m=>new Wt(m))),u={};for(let m=0;m<t.length;m++){let f=r[m],p=t[m];if(!f)continue;let g=new Oe({key:p,state:Oe.deserialize(f.data)});u[p.toString()]=g,n==="devnet"?Le[p.toString()]=g:Re[p.toString()]=g}return u}var Re={},Ut=async o=>{let t="AcL1Vo8oy1ULiavEcjSUcwfBSForXMudcZvDZy5nzJkU";if(Re[t])return Re;let n=new Wt(t),r=await o.getAccountInfo(n);return r&&(Re[t]=new Oe({key:n,state:Oe.deserialize(r.data)})),Re},Le={},Gt=async o=>{let t="EFhMuDw1PKEuckuFRW9PavNfTH4LKP5uKHgyXDmWpFCq";if(Le[t])return Le;let n=new Wt(t),r=await o.getAccountInfo(n);return r&&(Le[t]=new Oe({key:n,state:Oe.deserialize(r.data)})),Le};import{PublicKey as Ne,sendAndConfirmTransaction as zt,SystemProgram as si,Transaction as He,TransactionMessage as Qe,VersionedTransaction as Ze}from"@solana/web3.js";import ui from"axios";var pt=2e3,ft=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.loopMultiTxStatus=!!t.loopMultiTxStatus}get AllTxData(){return{instructions:this.instructions,endInstructions:this.endInstructions,signers:this.signers,instructionTypes:this.instructionTypes,endInstructionTypes:this.endInstructionTypes,lookupTableAddress:this.lookupTableAddress}}get allInstructions(){return[...this.instructions,...this.endInstructions]}async getComputeBudgetConfig(){var r;let t=(await ui.get(`https://solanacompass.com/api/fees?cacheFreshTime=${3e5}`)).data,{avg:n}=(r=t==null?void 0:t[15])!=null?r:{};if(!!n)return{units:6e5,microLamports:Math.min(Math.ceil(n*1e6/6e5),25e3)}}addCustomComputeBudget(t){if(t){let{instructions:n,instructionTypes:r}=mt(t);return this.instructions.unshift(...n),this.instructionTypes.unshift(...r),!0}return!1}addTipInstruction(t){var n;return t?(this.endInstructions.push(si.transfer({fromPubkey:(n=t.feePayer)!=null?n:this.feePayer,toPubkey:new Ne(t.address),lamports:BigInt(t.amount.toString())})),this.endInstructionTypes.push($.TransferTip),!0):!1}async calComputeBudget({config:t,defaultIns:n}){try{let r=t||await this.getComputeBudgetConfig();if(this.addCustomComputeBudget(r))return;n&&this.instructions.unshift(...n)}catch{n&&this.instructions.unshift(...n)}}addInstruction({instructions:t=[],endInstructions:n=[],signers:r=[],instructionTypes:u=[],endInstructionTypes:m=[],lookupTableAddress:f=[]}){return this.instructions.push(...t),this.endInstructions.push(...n),this.signers.push(...r),this.instructionTypes.push(...u),this.endInstructionTypes.push(...m),this.lookupTableAddress.push(...f.filter(p=>p!==Ne.default.toString())),this}async versionBuild({txVersion:t,extInfo:n,lookupTableAddress:r}){return t===0?await this.buildV0(F(K({},n||{}),{lookupTableAddress:r})):this.build(n)}build(t){var r;let n=new He;return this.allInstructions.length&&n.add(...this.allInstructions),n.feePayer=this.feePayer,((r=this.owner)==null?void 0:r.signer)&&!this.signers.some(u=>u.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer),{builder:this,transaction:n,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async u=>{var b;let{recentBlockHash:m,skipPreflight:f=!0,sendAndConfirm:p,notSendToRpc:g}=u||{},B=m!=null?m:await Ce(this.connection,this.blockhashCommitment);if(n.recentBlockhash=B,this.signers.length&&n.sign(...this.signers),Te([n]),(b=this.owner)!=null&&b.isKeyPair)return{txId:p?await zt(this.connection,n,this.signers.find(L=>L.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:f}):await this.connection.sendRawTransaction(n.serialize(),{skipPreflight:f}),signedTx:n};if(this.signAllTransactions){let R=await this.signAllTransactions([n]);if(this.signers.length)for(let L of R)try{L.sign(...this.signers)}catch{}return{txId:g?"":await this.connection.sendRawTransaction(R[0].serialize(),{skipPreflight:f}),signedTx:R[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:t||{}}}buildMultiTx(t){var B;let{extraPreBuildData:n=[],extInfo:r}=t,{transaction:u}=this.build(r),m=n.filter(b=>b.transaction.instructions.length>0),f=[u,...m.map(b=>b.transaction)],p=[this.signers,...m.map(b=>b.signers)],g=[...this.instructionTypes,...m.map(b=>b.instructionTypes).flat()];return(B=this.owner)!=null&&B.signer&&p.forEach(b=>{b.some(R=>R.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),{builder:this,transactions:f,signers:p,instructionTypes:g,execute:async b=>{var I;let{sequentially:R,onTxUpdate:L,skipTxCount:S=0,recentBlockHash:M,skipPreflight:P=!0}=b||{},T=M!=null?M:await Ce(this.connection,this.blockhashCommitment);if((I=this.owner)!=null&&I.isKeyPair){if(R){let h=[],_=0;for(let V of f){if(++_,_<=S)continue;let y=await zt(this.connection,V,this.signers.find(A=>A.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:P});h.push(y)}return{txIds:h,signedTxs:f}}return{txIds:await await Promise.all(f.map(async h=>(h.recentBlockhash=T,await this.connection.sendRawTransaction(h.serialize(),{skipPreflight:P})))),signedTxs:f}}if(this.signAllTransactions){let h=f.map((V,y)=>(V.recentBlockhash=T,p[y].length&&V.sign(...p[y]),V));Te(h);let _=await this.signAllTransactions(h);if(R){let V=0,y=[],A=async()=>{if(!_[V])return;let w=await this.connection.sendRawTransaction(_[V].serialize(),{skipPreflight:P});y.push({txId:w,status:"sent",signedTx:_[V]}),L==null||L([...y]),V++;let x=!1,O=null,E=null,ie=U=>{O!==null&&clearInterval(O),E!==null&&this.connection.removeSignatureListener(E);let W=y.findIndex(ee=>ee.txId===w);if(W>-1){if(y[W].status==="error"||y[W].status==="success")return;y[W].status=U.err?"error":"success"}L==null||L([...y]),U.err||A()};this.loopMultiTxStatus&&(O=setInterval(async()=>{var U;if(x){clearInterval(O);return}try{let W=await this.connection.getTransaction(w,{commitment:"confirmed",maxSupportedTransactionVersion:1});W&&(x=!0,clearInterval(O),ie({err:((U=W.meta)==null?void 0:U.err)||null}),console.log("tx status from getTransaction:",w))}catch(W){x=!0,clearInterval(O),console.error("getTransaction timeout:",W,w)}},pt)),E=this.connection.onSignature(w,U=>{if(x){this.connection.removeSignatureListener(E);return}x=!0,ie(U)},"confirmed"),this.connection.getSignatureStatus(w)};return await A(),{txIds:y.map(w=>w.txId),signedTxs:_}}else{let V=[];for(let y=0;y<_.length;y+=1){let A=await this.connection.sendRawTransaction(_[y].serialize(),{skipPreflight:P});V.push(A)}return{txIds:V,signedTxs:_}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:r||{}}}async versionMultiBuild({extraPreBuildData:t,txVersion:n,extInfo:r}){return n===0?await this.buildV0MultiTx({extraPreBuildData:t,buildProps:r||{}}):this.buildMultiTx({extraPreBuildData:t,extInfo:r})}async buildV0(t){var P;let M=t||{},{lookupTableCache:n={},lookupTableAddress:r=[],forerunCreate:u,recentBlockhash:m}=M,f=ae(M,["lookupTableCache","lookupTableAddress","forerunCreate","recentBlockhash"]),p=K(K({},this.cluster==="devnet"?await Gt(this.connection):await Ut(this.connection)),n),g=Array.from(new Set([...r,...this.lookupTableAddress])),B=[];for(let T of g)p[T]===void 0&&B.push(new Ne(T));let b=await qt({connection:this.connection,address:B});for(let[T,I]of Object.entries(b))p[T]=I;let R=u?Ne.default.toBase58():m!=null?m:await Ce(this.connection,this.blockhashCommitment),L=new Qe({payerKey:this.feePayer,recentBlockhash:R,instructions:[...this.allInstructions]}).compileToV0Message(Object.values(p));((P=this.owner)==null?void 0:P.signer)&&!this.signers.some(T=>T.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer);let S=new Ze(L);return S.sign(this.signers),{builder:this,transaction:S,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async T=>{var V;let{skipPreflight:I=!0,sendAndConfirm:h,notSendToRpc:_}=T||{};if(Te([S]),(V=this.owner)!=null&&V.isKeyPair){let y=await this.connection.sendTransaction(S,{skipPreflight:I});return h&&await dt(this.connection,y),{txId:y,signedTx:S}}if(this.signAllTransactions){let y=await this.signAllTransactions([S]);if(this.signers.length)for(let A of y)try{A.sign(this.signers)}catch{}return{txId:_?"":await this.connection.sendTransaction(y[0],{skipPreflight:I}),signedTx:y[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:f||{}}}async buildV0MultiTx(t){var B;let{extraPreBuildData:n=[],buildProps:r}=t,{transaction:u}=await this.buildV0(r),m=n.filter(b=>b.builder.instructions.length>0),f=[u,...m.map(b=>b.transaction)],p=[this.signers,...m.map(b=>b.signers)],g=[...this.instructionTypes,...m.map(b=>b.instructionTypes).flat()];return(B=this.owner)!=null&&B.signer&&p.forEach(b=>{b.some(R=>R.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),f.forEach(async(b,R)=>{b.sign(p[R])}),{builder:this,transactions:f,signers:p,instructionTypes:g,buildProps:r,execute:async b=>{var P;let{sequentially:R,onTxUpdate:L,recentBlockHash:S,skipPreflight:M=!0}=b||{};if(S&&f.forEach(T=>T.message.recentBlockhash=S),Te(f),(P=this.owner)!=null&&P.isKeyPair){if(R){let T=[];for(let I of f){let h=await this.connection.sendTransaction(I,{skipPreflight:M});await dt(this.connection,h),T.push(h)}return{txIds:T,signedTxs:f}}return{txIds:await Promise.all(f.map(async T=>await this.connection.sendTransaction(T,{skipPreflight:M}))),signedTxs:f}}if(this.signAllTransactions){let T=await this.signAllTransactions(f);if(R){let I=0,h=[],_=async()=>{if(!T[I])return;let V=await this.connection.sendTransaction(T[I],{skipPreflight:M});h.push({txId:V,status:"sent",signedTx:T[I]}),L==null||L([...h]),I++;let y=!1,A=null,w=null,x=O=>{A!==null&&clearInterval(A),w!==null&&this.connection.removeSignatureListener(w);let E=h.findIndex(ie=>ie.txId===V);if(E>-1){if(h[E].status==="error"||h[E].status==="success")return;h[E].status=O.err?"error":"success"}L==null||L([...h]),O.err||_()};this.loopMultiTxStatus&&(A=setInterval(async()=>{var O;if(y){clearInterval(A);return}try{let E=await this.connection.getTransaction(V,{commitment:"confirmed",maxSupportedTransactionVersion:1});E&&(y=!0,clearInterval(A),x({err:((O=E.meta)==null?void 0:O.err)||null}),console.log("tx status from getTransaction:",V))}catch(E){y=!0,clearInterval(A),console.error("getTransaction timeout:",E,V)}},pt)),w=this.connection.onSignature(V,O=>{if(y){this.connection.removeSignatureListener(w);return}y=!0,x(O)},"confirmed"),this.connection.getSignatureStatus(V)};return _(),{txIds:[],signedTxs:T}}else{let I=[];for(let h=0;h<T.length;h+=1){let _=await this.connection.sendTransaction(T[h],{skipPreflight:M});I.push(_)}return{txIds:I,signedTxs:T}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:r||{}}}async sizeCheckBuild(t){var L;let R=t||{},{splitIns:n=[],computeBudgetConfig:r}=R,u=ae(R,["splitIns","computeBudgetConfig"]),m=r?mt(r):{instructions:[],instructionTypes:[]},f=this.signers.reduce((S,M)=>F(K({},S),{[M.publicKey.toBase58()]:M}),{}),p=[],g=[],B=[],b=0;if(this.allInstructions.forEach(S=>{let M=[...B,S],P=r?[...m.instructions,...M]:M,I=[...new Set(M.map(h=>h.keys.filter(_=>_.isSigner).map(_=>_.pubkey.toString())).flat()).values()].map(h=>new Ne(h));if(S!==n[b]&&B.length<12&&(Xe({instructions:P,payer:this.feePayer,signers:I})||Xe({instructions:M,payer:this.feePayer,signers:I})))B.push(S);else{if(B.length===0)throw Error("item ins too big");b+=S===n[b]?1:0,Xe({instructions:r?[...m.instructions,...B]:[...B],payer:this.feePayer,signers:I})?p.push(new He().add(...m.instructions,...B)):p.push(new He().add(...B)),g.push(Array.from(new Set(B.map(h=>h.keys.filter(_=>_.isSigner).map(_=>_.pubkey.toString())).flat())).map(h=>f[h]).filter(h=>h!==void 0)),B=[S]}}),B.length>0){let M=[...new Set(B.map(P=>P.keys.filter(T=>T.isSigner).map(T=>T.pubkey.toString())).flat()).values()].map(P=>f[P]).filter(P=>P!==void 0);Xe({instructions:r?[...m.instructions,...B]:[...B],payer:this.feePayer,signers:M.map(P=>P.publicKey)})?p.push(new He().add(...m.instructions,...B)):p.push(new He().add(...B)),g.push(M)}return p.forEach(S=>S.feePayer=this.feePayer),(L=this.owner)!=null&&L.signer&&g.forEach(S=>{S.some(M=>M.publicKey.equals(this.owner.publicKey))||S.push(this.owner.signer)}),{builder:this,transactions:p,signers:g,instructionTypes:this.instructionTypes,execute:async S=>{var V;let{sequentially:M,onTxUpdate:P,skipTxCount:T=0,recentBlockHash:I,skipPreflight:h=!0}=S||{},_=I!=null?I:await Ce(this.connection,this.blockhashCommitment);if(p.forEach(async(y,A)=>{y.recentBlockhash=_,g[A].length&&y.sign(...g[A])}),Te(p),(V=this.owner)!=null&&V.isKeyPair){if(M){let y=0,A=[];for(let w of p){if(++y,y<=T){A.push("tx skipped");continue}let x=await zt(this.connection,w,this.signers.find(O=>O.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:h});A.push(x)}return{txIds:A,signedTxs:p}}return{txIds:await Promise.all(p.map(async y=>await this.connection.sendRawTransaction(y.serialize(),{skipPreflight:h}))),signedTxs:p}}if(this.signAllTransactions){let y=await this.signAllTransactions(p.slice(T,p.length)),A=[...p.slice(0,T),...y];if(M){let w=0,x=[],O=async()=>{if(!A[w])return;w<T&&(x.push({txId:"",status:"success",signedTx:A[w]}),P==null||P([...x]),w++,O());let E=await this.connection.sendRawTransaction(A[w].serialize(),{skipPreflight:h});x.push({txId:E,status:"sent",signedTx:A[w]}),P==null||P([...x]),w++;let ie=!1,U=null,W=null,ee=G=>{U!==null&&clearInterval(U),W!==null&&this.connection.removeSignatureListener(W);let ne=x.findIndex(pe=>pe.txId===E);if(ne>-1){if(x[ne].status==="error"||x[ne].status==="success")return;x[ne].status=G.err?"error":"success"}P==null||P([...x]),G.err||O()};this.loopMultiTxStatus&&(U=setInterval(async()=>{var G;if(ie){clearInterval(U);return}try{let ne=await this.connection.getTransaction(E,{commitment:"confirmed",maxSupportedTransactionVersion:1});ne&&(ie=!0,clearInterval(U),ee({err:((G=ne.meta)==null?void 0:G.err)||null}),console.log("tx status from getTransaction:",E))}catch(ne){ie=!0,clearInterval(U),console.error("getTransaction timeout:",ne,E)}},pt)),W=this.connection.onSignature(E,G=>{if(ie){this.connection.removeSignatureListener(W);return}ie=!0,ee(G)},"confirmed"),this.connection.getSignatureStatus(E)};return await O(),{txIds:x.map(E=>E.txId),signedTxs:A}}else{let w=[];for(let x=0;x<A.length;x+=1){let O=await this.connection.sendRawTransaction(A[x].serialize(),{skipPreflight:h});w.push(O)}return{txIds:w,signedTxs:A}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:u||{}}}async sizeCheckBuildV0(t){var V;let _=t||{},{computeBudgetConfig:n,splitIns:r=[],lookupTableCache:u={},lookupTableAddress:m=[],insCountLimit:f=12}=_,p=ae(_,["computeBudgetConfig","splitIns","lookupTableCache","lookupTableAddress","insCountLimit"]),g=K(K({},this.cluster==="devnet"?await Gt(this.connection):await Ut(this.connection)),u),B=Array.from(new Set([...this.lookupTableAddress,...m])),b=[];for(let y of B)g[y]===void 0&&b.push(new Ne(y));let R=await qt({connection:this.connection,address:b});for(let[y,A]of Object.entries(R))g[y]=A;let L=n?mt(n):{instructions:[],instructionTypes:[]},S=await Ce(this.connection,this.blockhashCommitment),M=this.signers.reduce((y,A)=>F(K({},y),{[A.publicKey.toBase58()]:A}),{}),P=[],T=[],I=[],h=0;if(this.allInstructions.forEach(y=>{let A=[...I,y],w=n?[...L.instructions,...A]:A;if(y!==r[h]&&I.length<f&&(Ye({instructions:w,payer:this.feePayer,lookupTableAddressAccount:g})||Ye({instructions:A,payer:this.feePayer,lookupTableAddressAccount:g})))I.push(y);else{if(I.length===0)throw Error("item ins too big");h+=y===r[h]?1:0;let x={};for(let O of[...new Set(B)])g[O]!==void 0&&(x[O]=g[O]);if(n&&Ye({instructions:[...L.instructions,...I],payer:this.feePayer,lookupTableAddressAccount:g,recentBlockhash:S})){let O=new Qe({payerKey:this.feePayer,recentBlockhash:S,instructions:[...L.instructions,...I]}).compileToV0Message(Object.values(g));P.push(new Ze(O))}else{let O=new Qe({payerKey:this.feePayer,recentBlockhash:S,instructions:[...I]}).compileToV0Message(Object.values(g));P.push(new Ze(O))}T.push(Array.from(new Set(I.map(O=>O.keys.filter(E=>E.isSigner).map(E=>E.pubkey.toString())).flat())).map(O=>M[O]).filter(O=>O!==void 0)),I=[y]}}),I.length>0){let A=[...new Set(I.map(w=>w.keys.filter(x=>x.isSigner).map(x=>x.pubkey.toString())).flat()).values()].map(w=>M[w]).filter(w=>w!==void 0);if(n&&Ye({instructions:[...L.instructions,...I],payer:this.feePayer,lookupTableAddressAccount:g,recentBlockhash:S})){let w=new Qe({payerKey:this.feePayer,recentBlockhash:S,instructions:[...L.instructions,...I]}).compileToV0Message(Object.values(g));P.push(new Ze(w))}else{let w=new Qe({payerKey:this.feePayer,recentBlockhash:S,instructions:[...I]}).compileToV0Message(Object.values(g));P.push(new Ze(w))}T.push(A)}return(V=this.owner)!=null&&V.signer&&T.forEach(y=>{y.some(A=>A.publicKey.equals(this.owner.publicKey))||y.push(this.owner.signer)}),P.forEach((y,A)=>{y.sign(T[A])}),{builder:this,transactions:P,buildProps:t,signers:T,instructionTypes:this.instructionTypes,execute:async y=>{var ie;let{sequentially:A,onTxUpdate:w,skipTxCount:x=0,recentBlockHash:O,skipPreflight:E=!0}=y||{};if(P.map(async(U,W)=>{T[W].length&&U.sign(T[W]),O&&(U.message.recentBlockhash=O)}),Te(P),(ie=this.owner)!=null&&ie.isKeyPair){if(A){let U=0,W=[];for(let ee of P){if(++U,U<=x){console.log("skip tx: ",U),W.push("tx skipped");continue}let G=await this.connection.sendTransaction(ee,{skipPreflight:E});await dt(this.connection,G),W.push(G)}return{txIds:W,signedTxs:P}}return{txIds:await Promise.all(P.map(async U=>await this.connection.sendTransaction(U,{skipPreflight:E}))),signedTxs:P}}if(this.signAllTransactions){let U=await this.signAllTransactions(P.slice(x,P.length)),W=[...P.slice(0,x),...U];if(A){let ee=0,G=[],ne=async()=>{if(!W[ee])return;if(ee<x){G.push({txId:"",status:"success",signedTx:W[ee]}),w==null||w([...G]),ee++,ne();return}let pe=await this.connection.sendTransaction(W[ee],{skipPreflight:E});G.push({txId:pe,status:"sent",signedTx:W[ee]}),w==null||w([...G]),ee++;let De=!1,Be=null,nt=null,rn=Ae=>{Be!==null&&clearInterval(Be),nt!==null&&this.connection.removeSignatureListener(nt);let fe=G.findIndex(mo=>mo.txId===pe);if(fe>-1){if(G[fe].status==="error"||G[fe].status==="success")return;G[fe].status=Ae.err?"error":"success"}w==null||w([...G]),Ae.err||ne()};this.loopMultiTxStatus&&(Be=setInterval(async()=>{var Ae;if(De){clearInterval(Be);return}try{let fe=await this.connection.getTransaction(pe,{commitment:"confirmed",maxSupportedTransactionVersion:1});fe&&(De=!0,clearInterval(Be),rn({err:((Ae=fe.meta)==null?void 0:Ae.err)||null}),console.log("tx status from getTransaction:",pe))}catch(fe){De=!0,clearInterval(Be),console.error("getTransaction timeout:",fe,pe)}},pt)),nt=this.connection.onSignature(pe,Ae=>{if(De){this.connection.removeSignatureListener(nt);return}De=!0,rn(Ae)},"confirmed"),this.connection.getSignatureStatus(pe)};return ne(),{txIds:[],signedTxs:W}}else{let ee=[];for(let G=0;G<W.length;G+=1){let ne=await this.connection.sendTransaction(W[G],{skipPreflight:E});ee.push(ne)}return{txIds:ee,signedTxs:W}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:p||{}}}};import{PublicKey as Ic}from"@solana/web3.js";import Sc from"bn.js";import ci from"bn.js";var bt=new ci(1e6);var vn={BASE_HOST:"https://api-v3.raydium.io",OWNER_BASE_HOST:"https://owner-v1.raydium.io",SERVICE_BASE_HOST:"https://service.raydium.io",MONITOR_BASE_HOST:"https://monitor.raydium.io",SERVICE_1_BASE_HOST:"https://service-v1.raydium.io",TEMP_HOST:"https://temp-api-v1.raydium.io",SEND_TRANSACTION:"/send-transaction",FARM_ARP:"/main/farm/info",FARM_ARP_LINE:"/main/farm-apr-tv",CLMM_CONFIG:"/main/clmm-config",CPMM_CONFIG:"/main/cpmm-config",CLMM_DYNAMIC_CONFIG:"/main/clmm-dynamic-config",VERSION:"/main/version",CHECK_AVAILABILITY:"/v3/main/AvailabilityCheckAPI",RPCS:"/main/rpcs",INFO:"/main/info",STAKE_POOLS:"/main/stake-pools",CHAIN_TIME:"/main/chain-time",TOKEN_LIST:"/mint/list",MINT_INFO_ID:"/mint/ids",JUP_TOKEN_LIST:"https://lite-api.jup.ag/tokens/v2/tag?query=verified",POOL_LIST:"/pools/info/list-v2",POOL_SEARCH_BY_ID:"/pools/info/ids",POOL_SEARCH_MINT:"/pools/info/list-v2",POOL_SEARCH_LP:"/pools/info/lps",POOL_KEY_BY_ID:"/pools/key/ids",POOL_LIQUIDITY_LINE:"/pools/line/liquidity",POOL_POSITION_LINE:"/pools/line/position",FARM_INFO:"/farms/info/ids",FARM_LP_INFO:"/farms/info/lp",FARM_KEYS:"/farms/key/ids",OWNER_CREATED_FARM:"/create-pool/{owner}",OWNER_STAKE_FARMS:"/position/stake/{owner}",OWNER_LOCK_POSITION:"/position/clmm-lock/{owner}",SWAP_HOST:"https://transaction-v1.raydium.io",SWAP_COMPUTE:"/compute/",SWAP_TX:"/transaction/",MINT_PRICE:"/mint/price",MIGRATE_CONFIG:"/main/migrate-lp",PRIORITY_FEE:"/main/auto-fee",CPMM_LOCK:"https://dynamic-ipfs.raydium.io/lock/cpmm/position",LAUNCH_AUTH_HOST:"https://launch-auth-v1.raydium.io",LAUNCH_COMMENT_HOST:"hhttps://launch-forum-v1.raydium.io",LAUNCH_HISTORY_HOST:"https://launch-history-v1.raydium.io",LAUNCH_MINT_HOST:"https://launch-mint-v1.raydium.io"},li=F(K({},vn),{BASE_HOST:"https://api-v3-devnet.raydium.io",OWNER_BASE_HOST:"https://owner-v1-devnet.raydium.io",SWAP_HOST:"https://transaction-v1-devnet.raydium.io",CPMM_LOCK:"https://dynamic-ipfs-devnet.raydium.io/lock/cpmm/position",TEMP_HOST:"https://temp-api-v1-devnet.raydium.io",LAUNCH_AUTH_HOST:"https://launch-auth-v1-devnet.raydium.io",LAUNCH_COMMENT_HOST:"https://launch-forum-v1-devnet.raydium.io",LAUNCH_HISTORY_HOST:"https://launch-history-v1-devnet.raydium.io",LAUNCH_MINT_HOST:"https://launch-mint-v1-devnet.raydium.io"});var Kl=v("Raydium_Api");import{PublicKey as Sm,SystemProgram as Km}from"@solana/web3.js";import{AccountLayout as Om,createAssociatedTokenAccountIdempotentInstruction as Nm,TOKEN_PROGRAM_ID as Mm,TOKEN_2022_PROGRAM_ID as Fm}from"@solana/spl-token";var Xt=(...o)=>o.map(t=>{try{return typeof t=="object"?JSON.stringify(t):t}catch{return t}}).join(", "),oe=class{constructor({scope:t,moduleName:n}){this.disabled=!1;this.scope=t,this.logger=v(n)}createTxBuilder(t){return this.scope.checkOwner(),new ft({connection:this.scope.connection,feePayer:t||this.scope.ownerPubKey,cluster:this.scope.cluster,owner:this.scope.owner,blockhashCommitment:this.scope.blockhashCommitment,loopMultiTxStatus:this.scope.loopMultiTxStatus,api:this.scope.api,signAllTransactions:this.scope.signAllTransactions})}logDebug(...t){this.logger.debug(Xt(t))}logInfo(...t){this.logger.info(Xt(t))}logAndCreateError(...t){let n=Xt(t);throw new Error(n)}checkDisabled(){(this.disabled||!this.scope)&&this.logAndCreateError("module not working")}};import{PublicKey as om,SystemProgram as rm}from"@solana/web3.js";import um from"bn.js";import{createCloseAccountInstruction as dm,createInitializeAccountInstruction as pm,createTransferInstruction as fm,TOKEN_PROGRAM_ID as ym}from"@solana/spl-token";import{Keypair as Gl,PublicKey as zl}from"@solana/web3.js";import Hl from"bn.js";import{TOKEN_PROGRAM_ID as $l}from"@solana/spl-token";var gt=l([i("mint"),i("owner"),e("amount"),z("delegateOption"),i("delegate"),c("state"),z("isNativeOption"),e("isNative"),e("delegatedAmount"),z("closeAuthorityOption"),i("closeAuthority")]);import{PublicKey as Ng,SystemProgram as Mg}from"@solana/web3.js";import{createAssociatedTokenAccountIdempotentInstruction as vg}from"@solana/spl-token";import Xg from"decimal.js";import{createAssociatedTokenAccountIdempotentInstruction as Ty,TOKEN_2022_PROGRAM_ID as hy,TOKEN_PROGRAM_ID as Iy}from"@solana/spl-token";import{PublicKey as Sy}from"@solana/web3.js";import xy from"bn.js";import Ry from"decimal.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as Uf,TOKEN_2022_PROGRAM_ID as Gf,TOKEN_PROGRAM_ID as zf}from"@solana/spl-token";import{Keypair as Hf,PublicKey as Qf,SystemProgram as $f,TransactionInstruction as jf}from"@solana/web3.js";import ey from"bn.js";import D from"bn.js";var Me=new D(1).shln(64);var di=new D(1).shln(128),Yt=new D(1).shln(64).subn(1),pi=new D(1).shln(128).subn(1);var Fe=new D("4295048016"),ve=new D("79226673521066979257578248091"),fi=new D("59543866431248"),yi=new D("184467440737095516"),bi=new D("15793534762490258745");var Ht=60,Ym=new D("18446743708227953217"),gi=[{bit:0,factor:new D("fffcb933bd6fb800",16)},{bit:1,factor:new D("fff97272373d4000",16)},{bit:2,factor:new D("fff2e50f5f657000",16)},{bit:3,factor:new D("ffe5caca7e10f000",16)},{bit:4,factor:new D("ffcb9843d60f7000",16)},{bit:5,factor:new D("ff973b41fa98e800",16)},{bit:6,factor:new D("ff2ea16466c9b000",16)},{bit:7,factor:new D("fe5dee046a9a3800",16)},{bit:8,factor:new D("fcbe86c7900bb000",16)},{bit:9,factor:new D("f987a7253ac65800",16)},{bit:10,factor:new D("f3392b0822bb6000",16)},{bit:11,factor:new D("e7159475a2caf000",16)},{bit:12,factor:new D("d097f3bdfd2f2000",16)},{bit:13,factor:new D("a9f746462d9f8000",16)},{bit:14,factor:new D("70d869a156f31c00",16)},{bit:15,factor:new D("31be135f97ed3200",16)},{bit:16,factor:new D("9aa508b5b85a500",16)},{bit:17,factor:new D("5d6af8dedc582c",16)},{bit:18,factor:new D("2216e584f5fa",16)}];var je=3,Vn=100;var En=10,Dn=100,At=14;var j=new D(0),_e=new D(1),Hm=new D(-1);var Qm=new D("18446744073700000000");var Pi=l([N(8),c("bump"),Y("index"),i("owner"),z("protocolFeeRate"),z("tradeFeeRate"),Y("tickSpacing"),z("fundFeeRate"),d(z(),1),i("fundOwner"),d(e(),3)]),Ai=l([z("blockTimestamp"),Ke("tickCumulative"),d(e(),4)]),Wn=l([N(8),ue("initialized"),e("recentEpoch"),Y("observationIndex"),i("poolId"),d(Ai,Vn,"observations"),d(e(),4)]),wi=l([Y("filterPeriod"),Y("decayPeriod"),Y("reductionFactor"),z("dynamicFeeControl"),z("maxVolatilityAccumulator"),ce("tickSpacingIndexReference"),z("volatilityReference"),z("volatilityAccumulator"),e("lastUpdateTimestamp"),d(c(),46)]),ki=l([c("state"),e("openTime"),e("endTime"),e("lastUpdateTime"),C("emissionsPerSecondX64"),e("totalEmissioned"),e("claimed"),i("mint"),i("vault"),i("creator"),C("growthGlobalX64")]),Qt=l([N(8),c("bump"),i("configId"),i("creator"),i("mintA"),i("mintB"),i("vaultA"),i("vaultB"),i("observationId"),c("mintDecimalsA"),c("mintDecimalsB"),Y("tickSpacing"),C("liquidity"),C("sqrtPriceX64"),ce("tickCurrent"),z(),C("feeGrowthGlobalX64A"),C("feeGrowthGlobalX64B"),e("protocolFeesTokenA"),e("protocolFeesTokenB"),d(C(),4),c("status"),c("feeOn"),N(6),d(ki,je,"rewardInfos"),N(8*16,"tickArrayBitmap"),d(e(),4),e("fundFeesTokenA"),e("fundFeesTokenB"),e("startTime"),e("recentEpoch"),wi.replicate("dynamicFeeInfo"),d(e(),46)]),Ti=l([C("growthInsideLastX64"),e("rewardAmountOwed")]),hi=l([N(8),c("bump"),i("nftMint"),i("poolId"),ce("tickLower"),ce("tickUpper"),C("liquidity"),C("feeGrowthInsideLastX64A"),C("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),d(Ti,je,"rewardInfos"),e("recentEpoch"),d(e(),7)]),Jm=l([N(8),c("bump"),i("poolId"),ce("tickLower"),ce("tickUpper"),C("liquidity"),C("feeGrowthInsideLastX64A"),C("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),d(C(),je,"rewardGrowthInside"),e("recentEpoch"),d(e(),7)]),Ii=l([ce("tick"),gn("liquidityNet"),C("liquidityGross"),C("feeGrowthOutsideX64A"),C("feeGrowthOutsideX64B"),d(C(),je,"rewardGrowthsOutsideX64"),e("orderPhase"),e("ordersAmount"),e("partFilledOrdersRemaining"),C("unfilledRatioX64"),d(z(),3)]),qn=l([N(8),i("poolId"),ce("startTickIndex"),d(Ii,Ht,"ticks"),c("initializedTickCount"),e("recentEpoch"),d(c(),107)]),Bi=l([N(8),c("bump"),d(i(),En,"operationOwners"),d(i(),Dn,"whitelistMints")]),Si=l([N(8),i("poolId"),i("owner"),ce("tick"),ue("zeroForOne"),e("orderPhase"),e("totalAmount"),e("filledAmount"),e("settleBase"),e("settleOutput"),e("openTime"),C("unfilledRatioX64"),d(e(),4)]),Un=l([N(8),i("poolId"),N(8*8*At,"positiveTickArrayBitmap"),N(8*8*At,"negativeTickArrayBitmap")]),ed=l([N(8),Y("index"),Y("filterPeriod"),Y("decayPeriod"),Y("reductionFactor"),z("dynamicFeeControl"),z("maxVolatilityAccumulator"),d(e(),8)]),Ki=l([N(8),i("wallet"),c("nonceIndex"),e("orderNonce"),d(e(),4)]),td=l([e(),c("bump"),i("owner"),i("poolId"),i("positionId"),i("nftAccount"),d(e(),8)]),xi=l([N(8),c("bump"),i("lockOwner"),i("poolId"),i("positionId"),i("nftAccount"),i("lockNftMint"),e("recentEpoch"),d(e(),8)]);import id from"bn.js";var yd=Buffer.from("amm_config","utf8"),Ri=Buffer.from("pool","utf8"),Li=Buffer.from("pool_vault","utf8"),bd=Buffer.from("pool_reward_vault","utf8"),gd=Buffer.from("position","utf8"),Pd=Buffer.from("tick_array","utf8"),Ad=Buffer.from("operation","utf8"),wd=Buffer.from("pool_tick_array_bitmap_extension","utf8"),kd=Buffer.from("observation","utf8"),Td=Buffer.from("support_mint","utf8"),hd=Buffer.from("dynamic_fee_config","utf8"),Id=Buffer.from("permission","utf8");var Bd=Buffer.from("locked_position","utf8");import{sha256 as Xi}from"js-sha256";import Oi from"bn.js";import Cd from"decimal.js";var Ld=new Oi(1).shln(256).subn(1);import Qd from"bn.js";import Vd from"bn.js";import Dd from"decimal.js";import ep from"bn.js";import np from"decimal.js";import{PublicKey as qp}from"@solana/web3.js";import Gp from"bn.js";import{TOKEN_2022_PROGRAM_ID as jp,TOKEN_PROGRAM_ID as Jp}from"@solana/spl-token";import of from"decimal.js";import Lp from"bn.js";import Pp from"bn.js";import yf from"bn.js";function J(o){let t=`global:${o}`;return Buffer.from(Xi.digest(t)).slice(0,8)}Wn.span;var cy=v("Raydium_Clmm"),ly={createPool:J("create_pool"),createCustomizablePool:J("create_customizable_pool"),createPermissionedPool:J("create_permissioned_pool"),openPositionV2:J("open_position_v2"),openPositionWithToken22Nft:J("open_position_with_token22_nft"),closePosition:J("close_position"),increaseLiquidityV2:J("increase_liquidity_v2"),decreaseLiquidityV2:J("decrease_liquidity_v2"),initializeReward:J("initialize_reward"),setRewardParams:J("set_reward_params"),updateRewardInfos:J("update_reward_infos"),collectRemainingRewards:J("collect_remaining_rewards"),swapV2:J("swap_v2"),openLimitOrder:J("open_limit_order"),increaseLimitOrder:J("increase_limit_order"),decreaseLimitOrder:J("decrease_limit_order"),settleLimitOrder:J("settle_limit_order"),closeLimitOrder:J("close_limit_order")};import{PublicKey as en}from"@solana/web3.js";var Zi=l([c("instruction")]),$i=l([c("instruction")]),ji=l([e("rewardState"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardLastUpdateTime"),e("totalReward"),e("totalRewardEmissioned"),e("rewardClaimed"),e("rewardPerSecond"),C("accRewardPerShare"),i("rewardVault"),i("rewardMint"),i("rewardSender"),e("rewardType"),d(e(),15,"padding")]),Ji=l([e("state"),e("nonce"),i("lpVault"),i("rewardVault"),i(),i(),e(),e(),e("totalReward"),C("perShareReward"),e("lastSlot"),e("perSlotReward")]),er=l([e("state"),e("nonce"),i("lpVault"),i("rewardVaultA"),e("totalRewardA"),C("perShareRewardA"),e("perSlotRewardA"),c("option"),i("rewardVaultB"),N(7),e("totalRewardB"),C("perShareRewardB"),e("perSlotRewardB"),e("lastSlot"),i()]),tr=l([e(),e("state"),e("nonce"),e("validRewardTokenNum"),C("rewardMultiplier"),e("rewardPeriodMax"),e("rewardPeriodMin"),e("rewardPeriodExtend"),i("lpMint"),i("lpVault"),d(ji,5,"rewardInfos"),i("creator"),i(),d(e(),32,"padding")]),nr=new Proxy(Ji,{get(o,t,n){return t==="decode"?(...r)=>{let u=o.decode(...r);return F(K({},u),{version:3,rewardInfos:[{rewardVault:u.rewardVault,totalReward:u.totalReward,perSlotReward:u.perSlotReward,perShareReward:u.perShareReward}]})}:Reflect.get(o,t,n)}}),or=new Proxy(er,{get(o,t,n){return t==="decode"?(...r)=>{let u=o.decode(...r);return F(K({},u),{version:5,rewardInfos:[{rewardVault:u.rewardVaultA,totalReward:u.totalRewardA,perSlotReward:u.perSlotRewardA,perShareReward:u.perShareRewardA},{rewardVault:u.rewardVaultB,totalReward:u.totalRewardB,perSlotReward:u.perSlotRewardB,perShareReward:u.perShareRewardB}]})}:Reflect.get(o,t,n)}}),Qn=new Proxy(tr,{get(o,t,n){return t==="decode"?(...r)=>{let u=o.decode(...r);return F(K({},u),{version:6,rewardInfos:u.rewardInfos.map(m=>{var f;return F(K({},m),{rewardType:((f=Object.entries(tt).find(p=>String(p[1])===m.rewardType.toString()))!=null?f:["Standard SPL"])[0]})})})}:Reflect.get(o,t,n)}}),ir=l([e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),rr=l([c("instruction"),e("nonce"),d(ir,5,"rewardTimeInfo")]),ar=l([c("instruction"),e("rewardReopenTime"),e("rewardEndTime"),e("rewardPerSecond")]),sr=l([c("instruction"),e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),rb=l([e("state"),i("id"),i("owner"),e("deposited"),d(e(),1,"rewardDebts")]),Zn=l([e("state"),i("id"),i("owner"),e("deposited"),d(C(),1,"rewardDebts"),e(""),e("voteLockedBalance"),d(e(),15)]),ab=l([e("state"),i("id"),i("owner"),e("deposited"),d(e(),2,"rewardDebts")]),ur=l([e("state"),i("id"),i("owner"),e("deposited"),d(C(),2,"rewardDebts"),d(e(),17)]),cr=l([e(),e("state"),i("id"),i("owner"),e("deposited"),d(C(),5,"rewardDebts"),d(e(),16)]),lr=l([c("instruction"),e("amount")]),mr=l([i("mint"),i("grantAuthority"),e("baselineVoteWeightScaledFactor"),e("maxExtraLockupVoteWeightScaledFactor"),e("lockupSaturationSecs"),bn("digitShift"),d(c(),7,"reserved1"),d(e(),7,"reserved2")]),dr=l([N(8),i("governanceProgramId"),i("realm"),i("realmGoverningTokenMint"),i("realmAuthority"),d(c(),32,"reserved1"),d(mr,4,"votingMints"),Ke("timeOffset"),c("bump"),d(c(),7,"reserved2"),d(e(),11,"reserved3")]),pr=l([Ke("startTime"),Ke("endTime"),c("kind"),d(c(),15,"reserved")]),fr=l([d(pr,1,"lockup"),e("amountDeposited_native"),e("amountInitiallyLockedNative"),ue("isUsed"),ue("allowClawback"),c("votingMintConfigIdx"),d(c(),29,"reserved")]),yr=l([N(8),i("voterAuthority"),i("registrar"),d(fr,32,"deposits"),c("voterBump"),c("voterWweightRecordBump"),d(c(),94,"reserved")]);import{NATIVE_MINT as yb}from"@solana/spl-token";var bb=v("Raydium_farm_config"),br=new en("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),gr=new en("FrspKwj8i3pNmKwXreTveC4fu7KL5ZbGeXdZBe2XViu1");var gb=new en("3TRTX4dXUpp2eqxi3tvQDFYUV7SdDJjcPE3Y4mbtftaX");var tt={"Standard SPL":0,"Option tokens":1},$n={[Cn.toString()]:3,[Rn.toString()]:4,[Ln.toString()]:5,[Et.toString()]:6,[Pe.FARM_PROGRAM_ID_V3.toString()]:3,[Pe.FARM_PROGRAM_ID_V4.toString()]:4,[Pe.FARM_PROGRAM_ID_V5.toString()]:5,[Pe.FARM_PROGRAM_ID_V6.toString()]:6};import{PublicKey as Hb,SystemProgram as Qb,SYSVAR_CLOCK_PUBKEY as Zb,SYSVAR_RENT_PUBKEY as $b,TransactionInstruction as jb}from"@solana/web3.js";import eg from"bn.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as ng,createAssociatedTokenAccountIdempotentInstruction as og,TOKEN_PROGRAM_ID as ig}from"@solana/spl-token";import Ib from"bn.js";var _b=v("Raydium.farm.util");var yg=v("Raydium_farm_instruction"),bg={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])};import oP from"bn.js";import{PublicKey as ow}from"@solana/web3.js";import{AccountLayout as aw,MintLayout as sw,NATIVE_MINT as uw,TOKEN_PROGRAM_ID as lw}from"@solana/spl-token";import Jn from"bn.js";var Br=new Jn(25),Sr=new Jn(1e4);import{ASSOCIATED_TOKEN_PROGRAM_ID as wP,TOKEN_PROGRAM_ID as kP}from"@solana/spl-token";import{PublicKey as hP,SystemProgram as IP,SYSVAR_RENT_PUBKEY as BP,TransactionInstruction as SP}from"@solana/web3.js";import MP from"bn.js";var Kr=l([c("instruction"),e("amountIn"),e("minAmountOut")]),xr=l([c("instruction"),e("maxAmountIn"),e("amountOut")]),bP=l([c("instruction"),c("nonce")]),Cr=l([c("instruction"),c("nonce"),e("startTime")]),eo=l([e("status"),e("nonce"),e("maxOrder"),e("depth"),e("baseDecimal"),e("quoteDecimal"),e("state"),e("resetFlag"),e("minSize"),e("volMaxCutRatio"),e("amountWaveRatio"),e("baseLotSize"),e("quoteLotSize"),e("minPriceMultiplier"),e("maxPriceMultiplier"),e("systemDecimalValue"),e("minSeparateNumerator"),e("minSeparateDenominator"),e("tradeFeeNumerator"),e("tradeFeeDenominator"),e("pnlNumerator"),e("pnlDenominator"),e("swapFeeNumerator"),e("swapFeeDenominator"),e("baseNeedTakePnl"),e("quoteNeedTakePnl"),e("quoteTotalPnl"),e("baseTotalPnl"),e("poolOpenTime"),e("punishPcAmount"),e("punishCoinAmount"),e("orderbookToInitTime"),C("swapBaseInAmount"),C("swapQuoteOutAmount"),e("swapBase2QuoteFee"),C("swapQuoteInAmount"),C("swapBaseOutAmount"),e("swapQuote2BaseFee"),i("baseVault"),i("quoteVault"),i("baseMint"),i("quoteMint"),i("lpMint"),i("openOrders"),i("marketId"),i("marketProgramId"),i("targetOrders"),i("withdrawQueue"),i("lpVault"),i("owner"),e("lpReserve"),d(e(),3,"padding")]),gP=l([e("accountType"),e("status"),e("nonce"),e("maxOrder"),e("depth"),e("baseDecimal"),e("quoteDecimal"),e("state"),e("resetFlag"),e("minSize"),e("volMaxCutRatio"),e("amountWaveRatio"),e("baseLotSize"),e("quoteLotSize"),e("minPriceMultiplier"),e("maxPriceMultiplier"),e("systemDecimalsValue"),e("abortTradeFactor"),e("priceTickMultiplier"),e("priceTick"),e("minSeparateNumerator"),e("minSeparateDenominator"),e("tradeFeeNumerator"),e("tradeFeeDenominator"),e("pnlNumerator"),e("pnlDenominator"),e("swapFeeNumerator"),e("swapFeeDenominator"),e("baseNeedTakePnl"),e("quoteNeedTakePnl"),e("quoteTotalPnl"),e("baseTotalPnl"),e("poolOpenTime"),e("punishPcAmount"),e("punishCoinAmount"),e("orderbookToInitTime"),C("swapBaseInAmount"),C("swapQuoteOutAmount"),C("swapQuoteInAmount"),C("swapBaseOutAmount"),e("swapQuote2BaseFee"),e("swapBase2QuoteFee"),i("baseVault"),i("quoteVault"),i("baseMint"),i("quoteMint"),i("lpMint"),i("modelDataAccount"),i("openOrders"),i("marketId"),i("marketProgramId"),i("targetOrders"),i("owner"),d(e(),64,"padding")]),Rr=l([c("instruction"),e("baseAmountIn"),e("quoteAmountIn"),e("fixedSide"),e("otherAmountMin")]),Lr=l([c("instruction"),e("lpAmount"),e("baseAmountMin"),e("quoteAmountMin")]);var Or=l([e("fee")]);var _P=v("Raydium_liquidity_instruction");var Nr=5e4,Mr=l([e("x"),e("y"),e("price")]),WP=l([e("accountType"),e("status"),e("multiplier"),e("validDataCount"),d(Mr,Nr,"DataElement")]);import{PublicKey as JP}from"@solana/web3.js";import tA from"decimal.js";import{TOKEN_PROGRAM_ID as oA}from"@solana/spl-token";import{PublicKey as zP}from"@solana/web3.js";var HP=v("Raydium_liquidity_serum");import Rw from"bn.js";import Ow from"decimal.js";import{TOKEN_PROGRAM_ID as RA}from"@solana/spl-token";import{PublicKey as OA}from"@solana/web3.js";import MA from"bn.js";import{SystemProgram as gA,SYSVAR_RENT_PUBKEY as PA,Transaction as AA,TransactionInstruction as wA}from"@solana/web3.js";import{createInitializeAccountInstruction as TA,TOKEN_PROGRAM_ID as hA}from"@solana/spl-token";function Fr(o="accountFlags"){let t=new at(o);return t.addBoolean("initialized"),t.addBoolean("market"),t.addBoolean("openOrders"),t.addBoolean("requestQueue"),t.addBoolean("eventQueue"),t.addBoolean("bids"),t.addBoolean("asks"),t}var vr=l([N(5),Fr("accountFlags"),i("ownAddress"),e("vaultSignerNonce"),i("baseMint"),i("quoteMint"),i("baseVault"),e("baseDepositsTotal"),e("baseFeesAccrued"),i("quoteVault"),e("quoteDepositsTotal"),e("quoteFeesAccrued"),e("quoteDustThreshold"),i("requestQueue"),i("eventQueue"),i("bids"),i("asks"),e("baseLotSize"),e("quoteLotSize"),e("feeRateBps"),e("referrerRebatesAccrued"),N(7)]);import{PublicKey as iT}from"@solana/web3.js";import{AccountLayout as aT,NATIVE_MINT as sT,TOKEN_2022_PROGRAM_ID as uT,TOKEN_PROGRAM_ID as cT,createAssociatedTokenAccountIdempotentInstruction as lT}from"@solana/spl-token";import ek from"bn.js";import qr from"bn.js";var qw=new qr(0);import Xw from"bn.js";import PT from"bn.js";import wT from"decimal.js";import{PublicKey as wk,TransactionInstruction as kk,Keypair as hk,SystemProgram as Ik}from"@solana/web3.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as Sk,TOKEN_2022_PROGRAM_ID as Kk,TOKEN_PROGRAM_ID as xk}from"@solana/spl-token";var rk=Buffer.from("vault_and_lp_mint_auth_seed","utf8"),ak=Buffer.from("amm_config","utf8"),sk=Buffer.from("pool","utf8"),uk=Buffer.from("pool_lp_mint","utf8"),ck=Buffer.from("pool_vault","utf8"),lk=Buffer.from("observation","utf8"),mk=Buffer.from("permission","utf8"),dk=Buffer.from("support_mint","utf8"),pk=Buffer.from("creator_fee_share","utf8");var fk=Buffer.from("locked_liquidity","utf8");var Fk=v("Raydium_cpmm"),vk={initialize:[175,175,109,31,13,152,155,237],deposit:[242,35,198,137,82,225,242,182],withdraw:[183,18,70,156,148,109,161,34],swapBaseInput:[143,190,90,218,196,30,51,222],swapBaseOutput:[55,217,98,86,163,74,180,173],lockCpLiquidity:[216,157,29,78,38,51,31,26],collectCpFee:[8,30,51,199,209,184,247,133],createPermissionPda:Buffer.from([135,136,2,216,137,169,181,202]),closePermissionPda:Buffer.from([156,84,32,118,69,135,70,123]),initializeWithPermission:Buffer.from([63,55,254,65,49,178,89,121]),collectCreatorFee:Buffer.from([20,22,86,123,198,28,219,132]),collectCreatorFeePermissionless:Buffer.from([202,202,34,83,226,122,145,229])};var zr=l([N(8),c("bump"),ue("disableCreatePool"),Y("index"),e("tradeFeeRate"),e("protocolFeeRate"),e("fundFeeRate"),e("createPoolFee"),i("protocolOwner"),i("fundOwner"),e("creatorFeeRate"),e("creatorFeeShareRate"),d(e(),14)]),no=l([N(8),i("configId"),i("poolCreator"),i("vaultA"),i("vaultB"),i("mintLp"),i("mintA"),i("mintB"),i("mintProgramA"),i("mintProgramB"),i("observationId"),c("bump"),c("status"),c("lpDecimals"),c("mintDecimalA"),c("mintDecimalB"),e("lpAmount"),e("protocolFeesMintA"),e("protocolFeesMintB"),e("fundFeesMintA"),e("fundFeesMintB"),e("openTime"),e("epoch"),c("feeOn"),ue("enableCreatorFee"),d(c(),6),e("creatorFeesMintA"),e("creatorFeesMintB"),d(e(),28)]),Ek=l([N(8),i("configId"),d(e(),30)]),Dk=l([N(8),c("bump"),i("creator"),i("ammConfig"),e("shareRate"),d(e(),8)]);import{PublicKey as LK,SystemProgram as OK}from"@solana/web3.js";import{createTransferInstruction as MK,TOKEN_PROGRAM_ID as FK,TOKEN_2022_PROGRAM_ID as vK,createAssociatedTokenAccountIdempotentInstruction as _K,createSyncNativeInstruction as EK,createTransferCheckedInstruction as DK}from"@solana/spl-token";import da from"bn.js";import UK from"decimal.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as xh,TOKEN_2022_PROGRAM_ID as Ch,TOKEN_PROGRAM_ID as Rh}from"@solana/spl-token";import{SystemProgram as Mh,TransactionInstruction as Fh}from"@solana/web3.js";import Hr from"bn.js";var ph=Buffer.from("vault_auth_seed","utf8"),fh=Buffer.from("global_config","utf8"),yh=Buffer.from("pool_vesting","utf8"),bh=Buffer.from("platform_config","utf8"),gh=Buffer.from("platform_fee_vault_auth_seed","utf8"),Ph=Buffer.from("creator_fee_vault_auth_seed","utf8"),Ah=Buffer.from("platform_global_access","utf8"),wh=Buffer.from("platform_allow_config","utf8"),kh=Buffer.from("platform_curve_rule","utf8");var Vh={initialize:Buffer.from([175,175,109,31,13,152,155,237]),initializeV2:Buffer.from([67,153,175,39,218,16,38,32]),buyExactIn:Buffer.from([250,234,13,123,213,156,19,236]),buyExactOut:Buffer.from([24,211,116,40,105,3,153,56]),sellExactIn:Buffer.from([149,39,222,155,211,124,152,26]),sellExactOut:Buffer.from([95,200,71,34,8,9,11,166]),createVestingAccount:Buffer.from([129,178,2,13,217,172,230,218]),claimVestedToken:Buffer.from([49,33,104,30,189,157,79,35]),createPlatformConfig:Buffer.from([176,90,196,175,253,113,220,20]),claimPlatformFee:Buffer.from([156,39,208,135,76,237,61,72]),updatePlaformConfig:Buffer.from([195,60,76,129,146,45,67,143]),initializeWithToken2022:Buffer.from([37,190,126,222,44,154,171,17]),claimPlatformFeeFromVault:Buffer.from([117,241,198,168,248,218,80,29]),claimCreatorFee:Buffer.from([26,97,138,203,132,171,141,252]),createPlatformVestingAccount:Buffer.from([146,71,173,69,98,19,15,106]),createPlatformAllowConfig:Buffer.from([69,71,168,7,214,250,107,102]),closePlatformAllowConfig:Buffer.from([82,205,36,216,16,6,240,215]),createPlatformCurveRule:Buffer.from([148,71,180,136,122,144,59,21]),updatePlatformCurveRule:Buffer.from([90,100,206,196,54,117,120,139]),removePlatformCurveRule:Buffer.from([236,77,154,138,32,145,127,219]),closePlatformCurveRule:Buffer.from([194,114,82,45,136,88,169,159])};var Eh=new Hr("18446744073709551615");var Qr=l([e(),e("epoch"),c("curveType"),Y("index"),e("migrateFee"),e("tradeFeeRate"),e("maxShareFeeRate"),e("minSupplyA"),e("maxLockRate"),e("minSellRateA"),e("minMigrateRateA"),e("minFundRaisingB"),i("mintB"),i("protocolFeeOwner"),i("migrateFeeOwner"),i("migrateToAmmWallet"),i("migrateToCpmmWallet"),d(e(),16)]),Zr=l([e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod"),e("startTime"),e("totalAllocatedShare")]),$r=l([e(),e("epoch"),c("bump"),c("status"),c("mintDecimalsA"),c("mintDecimalsB"),c("migrateType"),e("supply"),e("totalSellA"),e("virtualA"),e("virtualB"),e("realA"),e("realB"),e("totalFundRaisingB"),e("protocolFee"),e("platformFee"),e("migrateFee"),Zr.replicate("vestingSchedule"),i("configId"),i("platformId"),i("mintA"),i("mintB"),i("vaultA"),i("vaultB"),i("creator"),c("mintProgramFlag"),c("cpmmCreatorFeeOn"),e("platformVestingShare"),d(c(),54)]),Uh=l([e(),e("epoch"),i("poolId"),i("beneficiary"),e("claimedAmount"),e("tokenShareAmount"),d(e(),8)]),jr=l([c("migrateType"),c("migrateCpmmFeeOn"),e("supply"),e("totalSellA"),e("totalFundRaisingB"),e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod")]),Gh=l([e("epoch"),c("index"),i("configId"),jr.replicate("bondingCurveParam"),d(e(),50)]),io=l([e(),e("epoch"),i("platformClaimFeeWallet"),i("platformLockNftWallet"),e("platformScale"),e("creatorScale"),e("burnScale"),e("feeRate"),d(c(),64,"name"),d(c(),256,"web"),d(c(),256,"img"),i("cpConfigId"),e("creatorFeeRate"),i("transferFeeExtensionAuth"),i("platformVestingWallet"),e("platformVestingScale"),i("platformCpCreator"),c("restrictGlobalConfig"),c("restrictCurveParam"),i("curveRuleManager"),d(c(),78)]),Jr=l([c("field"),c("op"),C("value")]),ea=l([Y("groupId"),e("epoch"),Kt(Jr,"constraints")]),ta=l([e(),c("bump"),c("version"),i("platformId"),i("configId"),e("epoch"),d(e(),8),Kt(ea,"groups")]);import{TOKEN_2022_PROGRAM_ID as Yh,TOKEN_PROGRAM_ID as Hh}from"@solana/spl-token";import na from"bn.js";var aI=new na(1e6);import lI from"bn.js";import dI from"decimal.js";import GI from"bn.js";import XI from"decimal.js";import PI from"bn.js";import wI from"decimal.js";import RI from"bn.js";import OI from"decimal.js";import so from"bn.js";import nn from"decimal.js";var Tt=class{static _multipler(t){return new nn(10).pow(t)}static getPrice({priceX64:t,decimalA:n,decimalB:r}){return new nn(t.toString()).div(this._Q64).mul(this._multipler(n)).div(this._multipler(r))}static getPriceX64({price:t,decimalA:n,decimalB:r}){let u=t.mul(this._multipler(r)).div(this._multipler(n));return new so(u.mul(this._Q64).toFixed(0))}};Tt._Q64=new nn(new so(1).shln(64).toString());import{NATIVE_MINT as sS,TOKEN_2022_PROGRAM_ID as uS,TOKEN_PROGRAM_ID as cS,createAssociatedTokenAccountIdempotentInstruction as mS,createSyncNativeInstruction as dS,getTransferFeeConfig as pS,unpackMint as fS}from"@solana/spl-token";import H from"bn.js";import{PublicKey as ca,SystemProgram as gS}from"@solana/web3.js";import IS from"decimal.js";var BS={initPriceX64:new H("515752397214619"),supply:new H(1e15),totalSellA:new H(7931e11),totalFundRaisingB:new H(85e9),totalFundRaisingBUSD:new H(125e8),totalLockedAmount:new H("0"),cliffPeriod:new H("0"),unlockPeriod:new H("0"),decimals:6,virtualA:new H("1073471847374405"),virtualB:new H("30050573465"),realA:new H(0),realB:new H(0),protocolFee:new H(0),platformId:new ca("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),vestingSchedule:{totalLockedAmount:new H(0),cliffPeriod:new H(0),unlockPeriod:new H(0),startTime:new H(0),totalAllocatedShare:new H(0)}},SS=new H(1e4);var la={[On.toBase58()]:3};var ma=l([N(5),N(8),i("ownAddress"),e("vaultSignerNonce"),i("baseMint"),i("quoteMint"),i("baseVault"),e("baseDepositsTotal"),e("baseFeesAccrued"),i("quoteVault"),e("quoteDepositsTotal"),e("quoteFeesAccrued"),e("quoteDustThreshold"),i("requestQueue"),i("eventQueue"),i("bids"),i("asks"),e("baseLotSize"),e("quoteLotSize"),e("feeRateBps"),e("referrerRebatesAccrued"),N(7)]);import{PublicKey as ZS}from"@solana/web3.js";var tK=v("Serum");import{ASSOCIATED_TOKEN_PROGRAM_ID as lK,TOKEN_2022_PROGRAM_ID as mK,TOKEN_PROGRAM_ID as dK}from"@solana/spl-token";import{PublicKey as fK,SystemProgram as yK,TransactionInstruction as bK}from"@solana/web3.js";import PK from"bn.js";var Ax=new da(0);import{PublicKey as fa,Transaction as on,TransactionInstruction as ya}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ba}from"@solana/spl-token";import uo from"bn.js";var te=class extends oe{static getPdaPoolId(t,n){return me([te.SEED_CONFIG.pool.id,n.toBuffer()],t)}static getPdaOwnerId(t,n,r,u){return me([te.SEED_CONFIG.owner.id,n.toBuffer(),r.toBuffer(),Buffer.from(new uo(u).toArray())],t)}static async getAllInfo({connection:t,programId:n,poolIds:r,wallet:u,chainTime:m}){if(r.length===0)return[];let f=r.map(b=>te.getPdaPoolId(n,b).publicKey),p=[];for(let b=0;b<te.VERSION_PROJECT.length;b++)p.push(...f.map(R=>te.getPdaOwnerId(n,R,u,b).publicKey));let g=await be(t,[...f,...p]),B=[];for(let b=0;b<g.length;b++){let R=Math.floor(b/r.length),L=b%r.length,S=f[L],M=p[b],P=g[L],T=g[r.length+b];if(!(P&&T)||P.data.length!==te.POOL_LAYOUT.span||T.data.length!==te.OWNER_LAYOUT.span)continue;let I=te.POOL_LAYOUT.decode(P.data),h=te.OWNER_LAYOUT.decode(T.data),_=I.openTime.toNumber(),V=I.endTime.toNumber(),y=h.tokenInfo.map(x=>x.debtAmount.gt(new uo(0))).filter(x=>!x).length!==3,A=m>_&&m<V&&I.status===1,w=y&&A;B.push({programId:n,poolId:S,ammId:I.ammId,ownerAccountId:M,snapshotLpAmount:h.lpAmount,project:te.VERSION_PROJECT[R],openTime:_,endTime:V,canClaim:w,canClaimErrorType:y?A?void 0:"outOfOperationalTime":"alreadyClaimIt",tokenInfo:I.tokenInfo.map((x,O)=>({mintAddress:x.mintAddress,mintVault:x.mintVault,mintDecimals:x.mintDecimals,perLpLoss:x.perLpLoss,debtAmount:h.tokenInfo[O].debtAmount.add(h.tokenInfo[O].claimedAmount)}))})}return B}async makeClaimTransaction({poolInfo:t,ownerInfo:n,feePayer:r}){n.wallet||this.scope.checkOwner();let u=this.createTxBuilder(r),m=n.wallet||this.scope.ownerPubKey,f=[];for(let B of t.tokenInfo){let{account:b,instructionParams:R}=await this.scope.account.getOrCreateTokenAccount({mint:B.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:B.mintAddress.equals(Q.WSOL.mint),createInfo:{payer:m,amount:0},skipCloseAccount:!B.mintAddress.equals(Q.WSOL.mint),associatedOnly:B.mintAddress.equals(Q.WSOL.mint)?!1:n.associatedOnly});R&&u.addInstruction(R),f.push(b)}u.addInstruction({instructions:[te.makeClaimInstruction({programId:t.programId,poolInfo:t,ownerInfo:{wallet:m,ownerPda:t.ownerAccountId,claimAddress:f}})]});let{transaction:p,signers:g}=u.build();return[{transaction:p,signer:g}]}async makeClaimAllTransaction({poolInfos:t,ownerInfo:n,feePayer:r}){let u=this.createTxBuilder(r),m=n.wallet||this.scope.ownerPubKey,f={};for(let b of t){let R=[];for(let L of b.tokenInfo){let{account:S,instructionParams:M}=await this.scope.account.getOrCreateTokenAccount({mint:L.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:L.mintAddress.equals(Q.WSOL.mint),createInfo:{payer:m,amount:0},skipCloseAccount:!L.mintAddress.equals(Q.WSOL.mint),associatedOnly:L.mintAddress.equals(Q.WSOL.mint)?!1:n.associatedOnly});M&&u.addInstruction(M),S&&(f[L.mintAddress.toString()]=S,R.push(S))}u.addInstruction({instructions:[te.makeClaimInstruction({programId:b.programId,poolInfo:b,ownerInfo:{wallet:m,ownerPda:b.ownerAccountId,claimAddress:R}})]})}let{transaction:p,signers:g}=u.build(),B=u.allInstructions;return Vt(B,[m,...g.map(b=>b.publicKey)])?[{transaction:p,signer:g}]:[{transaction:new on().add(...B.slice(0,u.AllTxData.instructions.length-1)),signer:g},{transaction:new on().add(...B.slice(u.AllTxData.instructions.length-1)),signer:[]},{transaction:new on().add(...u.AllTxData.endInstructions),signer:[]}]}static makeClaimInstruction({programId:t,poolInfo:n,ownerInfo:r}){let u=l([]),m=[{pubkey:r.wallet,isSigner:!0,isWritable:!0},{pubkey:n.poolId,isSigner:!1,isWritable:!0},{pubkey:r.ownerPda,isSigner:!1,isWritable:!0},...r.claimAddress.map(g=>({pubkey:g,isSigner:!1,isWritable:!0})),...n.tokenInfo.map(({mintVault:g})=>({pubkey:g,isSigner:!1,isWritable:!0})),{pubkey:ba,isSigner:!1,isWritable:!1}],f=Buffer.alloc(u.span);u.encode({},f);let p=Buffer.from([10,66,208,184,161,6,191,98,...f]);return new ya({keys:m,programId:t,data:p})}},le=te;le.CLAIMED_NUM=3,le.POOL_LAYOUT=l([N(8),c("bump"),c("status"),e("openTime"),e("endTime"),i("ammId"),d(l([c("mintDecimals"),i("mintAddress"),i("mintVault"),e("perLpLoss"),e("totalClaimedAmount")]),te.CLAIMED_NUM,"tokenInfo"),d(e(),10,"padding")]),le.OWNER_LAYOUT=l([N(8),c("bump"),c("version"),i("poolId"),i("owner"),e("lpAmount"),d(l([i("mintAddress"),e("debtAmount"),e("claimedAmount")]),te.CLAIMED_NUM,"tokenInfo"),d(e(),4,"padding")]),le.DEFAULT_POOL_ID=["58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2","6UmmUiYoBjSrhakAobJw8BvkmJtDVxaeBtbt7rxWo1mg","AVs9TA4nWDzfPJE9gGVNJMVhcQy3V9PGazuz33BfG2RA","DVa7Qmb5ct9RCpaU7UTpSaf3GVMYz17vNVU67XpdCRut","7XawhbbxtsRcQA8KTkHT9f9nc6d69UwqCDh6U5EEbEmX","6a1CsrpeZubDjEJE9s1CMVheB6HWM5d7m1cj2jkhyXhj","EoNrn8iUhwgJySD1pHu8Qxm5gSQqLK3za4m8xzD2RuEb","AceAyRTWt4PyB2pHqf2qhDgNZDtKVNaxgL8Ru3V4aN1P","6tmFJbMk5yVHFcFy7X2K8RwHjKLr6KVFLYXpgpBNeAxB"].map(t=>new fa(t)),le.SEED_CONFIG={pool:{id:Buffer.from("pool_seed","utf8")},owner:{id:Buffer.from("user_claim_seed","utf8")}},le.VERSION_PROJECT=[void 0,"Francium","Tulip","Larix"];import{PublicKey as vx}from"@solana/web3.js";import{getTransferFeeConfig as Vx,MintLayout as Ex,TOKEN_2022_PROGRAM_ID as Dx,TOKEN_PROGRAM_ID as Wx,unpackMint as qx}from"@solana/spl-token";var yR=new Ie(2),bR=new Ie(3),gR=new Ie(5),co=new Ie(10),PR=new Ie(100),AR=new Ie(1e3),wR=new Ie(1e4);var Pa=v("Raydium_amount"),lo=Ge(ga);function Aa(o,t){let n="0",r="0";if(o.includes(".")){let u=o.split(".");u.length===2?([n,r]=u,r=r.padEnd(t,"0")):Pa.logWithError(`invalid number string, num: ${o}`)}else n=o;return[n,r.slice(0,t)||r]}var re=class extends q{constructor(n,r,u=!0,m){let f=new ht(0),p=co.pow(new ht(n.decimals));if(u)f=Z(r);else{let g=new ht(0),B=new ht(0);if(typeof r=="string"||typeof r=="number"||typeof r=="bigint"){let[b,R]=Aa(r.toString(),n.decimals);g=Z(b),B=Z(R)}g=g.mul(p),f=g.add(B)}super(f,p);this.logger=v(m||"TokenAmount"),this.token=n}get raw(){return this.numerator}isZero(){return this.raw.isZero()}gt(n){return this.token.equals(n.token)||this.logger.logWithError("gt token not equals"),this.raw.gt(n.raw)}lt(n){return this.token.equals(n.token)||this.logger.logWithError("lt token not equals"),this.raw.lt(n.raw)}add(n){return this.token.equals(n.token)||this.logger.logWithError("add token not equals"),new re(this.token,this.raw.add(n.raw))}subtract(n){return this.token.equals(n.token)||this.logger.logWithError("sub token not equals"),new re(this.token,this.raw.sub(n.raw))}toSignificant(n=this.token.decimals,r,u=0){return super.toSignificant(n,r,u)}toFixed(n=this.token.decimals,r,u=0){return n>this.token.decimals&&this.logger.logWithError("decimals overflow"),super.toFixed(n,r,u)}toExact(n={groupSeparator:""}){return lo.DP=this.token.decimals,new lo(this.numerator.toString()).div(this.denominator.toString()).toFormat(n)}};var $R=async({connection:o,mint:t})=>{let n=await o.getAccountInfo(new ka(t));return!n||n.data.length!==xt.span?void 0:xt.decode(n.data)},jR=({mint:o,decimals:t,programId:n=wa,logoURI:r="",priority:u=3})=>{let m=o.toBase58().substring(0,6);return{address:o.toBase58(),decimals:t,symbol:m,logoURI:r,extensions:{},chainId:101,programId:n.toString(),name:m,tags:[],priority:u}},to=o=>new Q({mint:o.address,decimals:o.decimals,symbol:o.symbol,name:o.name}),pa=u=>{var m=u,{amount:o,isRaw:t,name:n}=m,r=ae(m,["amount","isRaw","name"]);return new re(new Q({mint:ge(r.address).toBase58(),decimals:r.decimals,symbol:r.symbol,name:n}),o,t,n)};function JR(o){return o.address===Se.address?se:o}function eL(o){return o.address===se.address?Se:o}var et=u=>{var m=u,{address:o,programId:t,decimals:n}=m,r=ae(m,["address","programId","decimals"]);return K({chainId:101,address:ge(o).toBase58(),programId:t,logoURI:"",symbol:"",name:"",decimals:n,tags:[],extensions:r.extensions||{}},r)},Jt=o=>o?F(K({},o),{transferFeeConfigAuthority:o.transferFeeConfigAuthority.toBase58(),withdrawWithheldAuthority:o.withdrawWithheldAuthority.toBase58(),withheldAmount:o.withheldAmount.toString(),olderTransferFee:F(K({},o.olderTransferFee),{epoch:o.olderTransferFee.epoch.toString(),maximumFee:o.olderTransferFee.maximumFee.toString()}),newerTransferFee:F(K({},o.newerTransferFee),{epoch:o.newerTransferFee.epoch.toString(),maximumFee:o.newerTransferFee.maximumFee.toString()})}):void 0;export{Se as SOL_INFO,xt as SPL_MINT_LAYOUT,se as TOKEN_WSOL,$R as parseTokenInfo,JR as solToWSolToken,et as toApiV3Token,Jt as toFeeConfig,to as toToken,pa as toTokenAmount,jR as toTokenInfo,eL as wSolToSolToken};
//# sourceMappingURL=index.mjs.map