UNPKG

@raydium-io/raydium-sdk-v2

Version:

An SDK for building applications on top of Raydium.

2 lines 75.9 kB
var fo=Object.defineProperty,yo=Object.defineProperties;var bo=Object.getOwnPropertyDescriptors;var ot=Object.getOwnPropertySymbols;var an=Object.prototype.hasOwnProperty,sn=Object.prototype.propertyIsEnumerable;var rn=(o,t,n)=>t in o?fo(o,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):o[t]=n,K=(o,t)=>{for(var n in t||(t={}))an.call(t,n)&&rn(o,n,t[n]);if(ot)for(var n of ot(t))sn.call(t,n)&&rn(o,n,t[n]);return o},F=(o,t)=>yo(o,bo(t));var ae=(o,t)=>{var n={};for(var r in o)an.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&&sn.call(o,r)&&(n[r]=o[r]);return n};import{PublicKey as go}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as un}from"@solana/spl-token";var Se={chainId:101,address:go.default.toBase58(),programId:un.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:un.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 Co}from"@solana/web3.js";import pn,{isBN as fn}from"bn.js";import{bits as Po,BitStructure as Ia,blob as Ao,Blob as Ba,cstr as Sa,f32 as Ka,f32be as xa,f64 as Ca,f64be as Ra,greedy as La,Layout as wo,ns64 as Oa,ns64be as Na,nu64 as Ma,nu64be as Fa,offset as ko,s16 as va,s16be as Va,s24 as _a,s24be as Ea,s32 as To,s32be as Da,s40 as Wa,s40be as qa,s48 as Ua,s48be as Ga,s8 as za,seq as ho,struct as Xa,Structure as Io,u16 as Bo,u16be as Ya,u24 as Qa,u24be as Za,u32 as So,u32be as Ha,u40 as ja,u40be as $a,u48 as Ja,u48be as es,u8 as Ko,UInt as xo,union as ts,Union as ns,unionLayoutDiscriminator as os,utf8 as is}from"@solana/buffer-layout";var it=wo,cn=Io;var It=xo;var ln=Ko,Y=Bo;var rt=So;var ce=To;var mn=ho;var N=Ao;var Bt=Po,dn=ko;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 pn(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 pn(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 O(o){return new we(16,!1,o)}function yn(o){return new we(1,!0,o)}function Ke(o){return new we(8,!0,o)}function bn(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 Co(t),t=>t.toBuffer(),o)}function ue(o){return new We(ln(),Ro,Lo,o)}function Ro(o){if(o===0)return!1;if(o===1)return!0;throw new Error("Invalid bool: "+o)}function Lo(o){return o?1:0}function gn(o,t){let n=rt("length"),r=l([n,d(o,dn(n,-n.span),"values")]);return new We(r,({values:u})=>u,u=>({values:u}),t)}var St=class extends cn{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:fn(t)?t.toNumber():new Proxy(t,{get(m,f){if(!r){let p=Reflect.get(m,"count");r=fn(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 mn(o,u,n)}var Kt=l([z("mintAuthorityOption"),i("mintAuthority"),e("supply"),c("decimals"),c("isInitialized"),z("freezeAuthorityOption"),i("freezeAuthority")]);import{TOKEN_PROGRAM_ID as ga}from"@solana/spl-token";import{PublicKey as Pa}from"@solana/web3.js";import fa from"big.js";import ht from"bn.js";import Ie from"bn.js";import FC from"decimal.js";import{PublicKey as Rt}from"@solana/web3.js";import{PublicKey as X,SystemProgram as Pn,SYSVAR_RENT_PUBKEY as Oo}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as No}from"@solana/spl-token";function xe({pubkey:o,isSigner:t=!1,isWritable:n=!0}){return{pubkey:o,isWritable:n,isSigner:t}}var Mo=[xe({pubkey:No,isWritable:!1}),xe({pubkey:Pn.programId,isWritable:!1}),xe({pubkey:Oo,isWritable:!1})];function xt({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 Ct=new X("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),qe=new X("SysvarRent111111111111111111111111111111111"),As=new X("SysvarC1ock11111111111111111111111111111111"),st=new X("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),Fo=new X("Sysvar1nstructions1111111111111111111111111"),vo=Pn.programId,ws=new X("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),ks=new X("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Ts=new X("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),hs=new X("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Is=new X("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Bs=new X("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),Ss=new X("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),Ks=new X("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),xs=new X("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Cs=new X("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Rs=new X("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),ye=new X("So11111111111111111111111111111111111111112"),ke=X.default;function ge(o){return xt({publicKey:o,transformSol:!0})}var Lt=class{constructor({mint:t,decimals:n,symbol:r,name:u,skipMint:m=!1,isToken2022:f=!1}){if(t===ke.toBase58()||t instanceof Rt&&ke.equals(t)){this.decimals=se.decimals,this.symbol=se.symbol,this.name=se.name,this.mint=new Rt(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?Rt.default:xt({publicKey:t}),this.isToken2022=f}equals(t){return this===t?!0:this.mint.equals(t.mint)}},Z=Lt;Z.WSOL=new Lt(F(K({},se),{mint:se.address}));var Ot=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=Ot;ut.SOL=new Ot(Se);import lt from"big.js";import qo from"bn.js";import Uo from"decimal.js-light";import{get as wn,set as Vo}from"lodash";var Nt=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 Nt({name:o,logLevel:n}),Vo(kn,o,t)}return t}import Ue from"bn.js";var Tn=9007199254740991;function H(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 Eo from"toformat";var Do=Eo,Ge=Do;var ct=v("module/fraction"),Mt=Ge(lt),ze=Ge(Uo),Go={[0]:ze.ROUND_DOWN,[1]:ze.ROUND_HALF_UP,[2]:ze.ROUND_UP},zo={[0]:lt.roundDown,[1]:lt.roundHalfUp,[2]:lt.roundUp},q=class{constructor(t,n=new qo(1)){this.numerator=H(t),this.denominator=H(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(H(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(H(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(H(t));return new q(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(t){let n=t instanceof q?t:new q(H(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:Go[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.`),Mt.DP=t,Mt.RM=zo[r]||1,new Mt(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,n)}isZero(){return this.numerator.isZero()}};import Xo from"bn.js";var ou=new q(new Xo(100));var cu=v("Raydium_price");import{merge as _x}from"lodash";import tl from"axios";import{PublicKey as Yo}from"@solana/web3.js";import{MINT_SIZE as Au,TOKEN_PROGRAM_ID as wu,getTransferFeeConfig as ku,unpackMint as Tu}from"@solana/spl-token";var Ft=v("Raydium_accountInfo_util");async function be(o,t,n){let{batchRequest:r,commitment:u="confirmed",chunkCount:m=100}=K({batchRequest:!1},n),f=vt(t,m),p=new Array(f.length).fill([]);if(r){let g=f.map(C=>{let R=o._buildArgs([C.map(S=>S.toBase58())],u,"base64");return{methodName:"getMultipleAccounts",args:R}}),B=vt(g,10);p=(await(await Promise.all(B.map(async C=>await o._rpcBatchRequest(C)))).flat()).map(C=>(C.error&&Ft.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${C.error.message}`),C.result.value.map(R=>{if(R){let{data:S,executable:M,lamports:P,owner:T,rentEpoch:I}=R;return S.length!==2&&S[1]!=="base64"&&Ft.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(S[0],"base64"),executable:M,lamports:P,owner:new Yo(T),rentEpoch:I}}return null})))}else try{p=await Promise.all(f.map(g=>o.getMultipleAccountsInfo(g,u)))}catch(g){g instanceof Error&&Ft.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${g.message}`)}return p.flat()}function vt(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 Eu}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Wu}from"@solana/spl-token";import{ComputeBudgetProgram as hn,Keypair as Bn,PublicKey as Qo,Transaction as Sn,TransactionMessage as Zo,VersionedTransaction as Kn}from"@solana/web3.js";var j={CreateAccount:"CreateAccount",InitAccount:"InitAccount",CreateATA:"CreateATA",CloseAccount:"CloseAccount",TransferAmount:"TransferAmount",InitMint:"InitMint",MintTo:"MintTo",InitMarket:"InitMarket",Util1216OwnerClaim:"Util1216OwnerClaim",SetComputeUnitPrice:"SetComputeUnitPrice",SetComputeUnitLimit:"SetComputeUnitLimit",ClmmCreatePool:"ClmmCreatePool",ClmmOpenPosition:"ClmmOpenPosition",ClmmIncreasePosition:"ClmmIncreasePosition",ClmmDecreasePosition:"ClmmDecreasePosition",ClmmClosePosition:"ClmmClosePosition",ClmmSwapBaseIn:"ClmmSwapBaseIn",ClmmSwapBaseOut:"ClmmSwapBaseOut",ClmmInitReward:"ClmmInitReward",ClmmSetReward:"ClmmSetReward",ClmmCollectReward:"ClmmCollectReward",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 Ho}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(j.SetComputeUnitPrice)),o.units&&(t.push(hn.setComputeUnitLimit({units:o.units})),n.push(j.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]=Qo.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 Zo({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 jo=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=jo(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=Ho.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"),_t=new k("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),zu=new k("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Jo=new k("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),On=new k("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),Nn=new k("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),Xu=new k("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),ei=new k("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Mn=new k("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),ti=new k("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),ni=new k("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),Fn=new k("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Yu=new k("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),oi=new k("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Et=new k("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),ii=new k("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),Qu=new k("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),ri=new k("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),ai=new k("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),si=new k("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),Zu=new k("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),Hu=new k("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),ju=new k("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),$u=new k("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),Ju=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 nc from"bn.js";import{PublicKey as Dt,AddressLookupTableAccount as Oe}from"@solana/web3.js";async function Wt({connection:o,address:t,cluster:n="mainnet"}){let r=await be(o,[...new Set(t.map(m=>m.toString()))].map(m=>new Dt(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={},qt=async o=>{let t="AcL1Vo8oy1ULiavEcjSUcwfBSForXMudcZvDZy5nzJkU";if(Re[t])return Re;let n=new Dt(t),r=await o.getAccountInfo(n);return r&&(Re[t]=new Oe({key:n,state:Oe.deserialize(r.data)})),Re},Le={},Ut=async o=>{let t="EFhMuDw1PKEuckuFRW9PavNfTH4LKP5uKHgyXDmWpFCq";if(Le[t])return Le;let n=new Dt(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 Gt,SystemProgram as ui,Transaction as Qe,TransactionMessage as Ze,VersionedTransaction as He}from"@solana/web3.js";import ci 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 ci.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(ui.transfer({fromPubkey:(n=t.feePayer)!=null?n:this.feePayer,toPubkey:new Ne(t.address),lamports:BigInt(t.amount.toString())})),this.endInstructionTypes.push(j.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 Qe;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 Gt(this.connection,n,this.signers.find(R=>R.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 C=await this.signAllTransactions([n]);if(this.signers.length)for(let R of C)try{R.sign(...this.signers)}catch{}return{txId:g?"":await this.connection.sendRawTransaction(C[0].serialize(),{skipPreflight:f}),signedTx:C[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(C=>C.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:C,onTxUpdate:R,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(C){let h=[],V=0;for(let _ of f){if(++V,V<=S)continue;let y=await Gt(this.connection,_,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((_,y)=>(_.recentBlockhash=T,p[y].length&&_.sign(...p[y]),_));Te(h);let V=await this.signAllTransactions(h);if(C){let _=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[_]}),R==null||R([...y]),_++;let x=!1,L=null,E=null,ie=U=>{L!==null&&clearInterval(L),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"}R==null||R([...y]),U.err||A()};this.loopMultiTxStatus&&(L=setInterval(async()=>{var U;if(x){clearInterval(L);return}try{let W=await this.connection.getTransaction(w,{commitment:"confirmed",maxSupportedTransactionVersion:0});W&&(x=!0,clearInterval(L),ie({err:((U=W.meta)==null?void 0:U.err)||null}),console.log("tx status from getTransaction:",w))}catch(W){x=!0,clearInterval(L),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:V}}else{let _=[];for(let y=0;y<V.length;y+=1){let A=await this.connection.sendRawTransaction(V[y].serialize(),{skipPreflight:P});_.push(A)}return{txIds:_,signedTxs:V}}}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 Ut(this.connection):await qt(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 Wt({connection:this.connection,address:B});for(let[T,I]of Object.entries(b))p[T]=I;let C=u?Ne.default.toBase58():m!=null?m:await Ce(this.connection,this.blockhashCommitment),R=new Ze({payerKey:this.feePayer,recentBlockhash:C,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 He(R);return S.sign(this.signers),{builder:this,transaction:S,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async T=>{var _;let{skipPreflight:I=!0,sendAndConfirm:h,notSendToRpc:V}=T||{};if(Te([S]),(_=this.owner)!=null&&_.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:V?"":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(C=>C.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),f.forEach(async(b,C)=>{b.sign(p[C])}),{builder:this,transactions:f,signers:p,instructionTypes:g,buildProps:r,execute:async b=>{var P;let{sequentially:C,onTxUpdate:R,recentBlockHash:S,skipPreflight:M=!0}=b||{};if(S&&f.forEach(T=>T.message.recentBlockhash=S),Te(f),(P=this.owner)!=null&&P.isKeyPair){if(C){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(C){let I=0,h=[],V=async()=>{if(!T[I])return;let _=await this.connection.sendTransaction(T[I],{skipPreflight:M});h.push({txId:_,status:"sent",signedTx:T[I]}),R==null||R([...h]),I++;let y=!1,A=null,w=null,x=L=>{A!==null&&clearInterval(A),w!==null&&this.connection.removeSignatureListener(w);let E=h.findIndex(ie=>ie.txId===_);if(E>-1){if(h[E].status==="error"||h[E].status==="success")return;h[E].status=L.err?"error":"success"}R==null||R([...h]),L.err||V()};this.loopMultiTxStatus&&(A=setInterval(async()=>{var L;if(y){clearInterval(A);return}try{let E=await this.connection.getTransaction(_,{commitment:"confirmed",maxSupportedTransactionVersion:0});E&&(y=!0,clearInterval(A),x({err:((L=E.meta)==null?void 0:L.err)||null}),console.log("tx status from getTransaction:",_))}catch(E){y=!0,clearInterval(A),console.error("getTransaction timeout:",E,_)}},pt)),w=this.connection.onSignature(_,L=>{if(y){this.connection.removeSignatureListener(w);return}y=!0,x(L)},"confirmed"),this.connection.getSignatureStatus(_)};return V(),{txIds:[],signedTxs:T}}else{let I=[];for(let h=0;h<T.length;h+=1){let V=await this.connection.sendTransaction(T[h],{skipPreflight:M});I.push(V)}return{txIds:I,signedTxs:T}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:r||{}}}async sizeCheckBuild(t){var R;let C=t||{},{splitIns:n=[],computeBudgetConfig:r}=C,u=ae(C,["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(V=>V.isSigner).map(V=>V.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 Qe().add(...m.instructions,...B)):p.push(new Qe().add(...B)),g.push(Array.from(new Set(B.map(h=>h.keys.filter(V=>V.isSigner).map(V=>V.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 Qe().add(...m.instructions,...B)):p.push(new Qe().add(...B)),g.push(M)}return p.forEach(S=>S.feePayer=this.feePayer),(R=this.owner)!=null&&R.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 _;let{sequentially:M,onTxUpdate:P,skipTxCount:T=0,recentBlockHash:I,skipPreflight:h=!0}=S||{},V=I!=null?I:await Ce(this.connection,this.blockhashCommitment);if(p.forEach(async(y,A)=>{y.recentBlockhash=V,g[A].length&&y.sign(...g[A])}),Te(p),(_=this.owner)!=null&&_.isKeyPair){if(M){let y=0,A=[];for(let w of p){if(++y,y<=T){A.push("tx skipped");continue}let x=await Gt(this.connection,w,this.signers.find(L=>L.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=[],L=async()=>{if(!A[w])return;w<T&&(x.push({txId:"",status:"success",signedTx:A[w]}),P==null||P([...x]),w++,L());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||L()};this.loopMultiTxStatus&&(U=setInterval(async()=>{var G;if(ie){clearInterval(U);return}try{let ne=await this.connection.getTransaction(E,{commitment:"confirmed",maxSupportedTransactionVersion:0});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 L(),{txIds:x.map(E=>E.txId),signedTxs:A}}else{let w=[];for(let x=0;x<A.length;x+=1){let L=await this.connection.sendRawTransaction(A[x].serialize(),{skipPreflight:h});w.push(L)}return{txIds:w,signedTxs:A}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:u||{}}}async sizeCheckBuildV0(t){var _;let V=t||{},{computeBudgetConfig:n,splitIns:r=[],lookupTableCache:u={},lookupTableAddress:m=[],insCountLimit:f=12}=V,p=ae(V,["computeBudgetConfig","splitIns","lookupTableCache","lookupTableAddress","insCountLimit"]),g=K(K({},this.cluster==="devnet"?await Ut(this.connection):await qt(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 C=await Wt({connection:this.connection,address:b});for(let[y,A]of Object.entries(C))g[y]=A;let R=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?[...R.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 L of[...new Set(B)])g[L]!==void 0&&(x[L]=g[L]);if(n&&Ye({instructions:[...R.instructions,...I],payer:this.feePayer,lookupTableAddressAccount:g,recentBlockhash:S})){let L=new Ze({payerKey:this.feePayer,recentBlockhash:S,instructions:[...R.instructions,...I]}).compileToV0Message(Object.values(g));P.push(new He(L))}else{let L=new Ze({payerKey:this.feePayer,recentBlockhash:S,instructions:[...I]}).compileToV0Message(Object.values(g));P.push(new He(L))}T.push(Array.from(new Set(I.map(L=>L.keys.filter(E=>E.isSigner).map(E=>E.pubkey.toString())).flat())).map(L=>M[L]).filter(L=>L!==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:[...R.instructions,...I],payer:this.feePayer,lookupTableAddressAccount:g,recentBlockhash:S})){let w=new Ze({payerKey:this.feePayer,recentBlockhash:S,instructions:[...R.instructions,...I]}).compileToV0Message(Object.values(g));P.push(new He(w))}else{let w=new Ze({payerKey:this.feePayer,recentBlockhash:S,instructions:[...I]}).compileToV0Message(Object.values(g));P.push(new He(w))}T.push(A)}return(_=this.owner)!=null&&_.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:L,skipPreflight:E=!0}=y||{};if(P.map(async(U,W)=>{T[W].length&&U.sign(T[W]),L&&(U.message.recentBlockhash=L)}),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,on=Ae=>{Be!==null&&clearInterval(Be),nt!==null&&this.connection.removeSignatureListener(nt);let fe=G.findIndex(po=>po.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:0});fe&&(De=!0,clearInterval(Be),on({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,on(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 kc}from"@solana/web3.js";import hc from"bn.js";import li from"bn.js";var bt=new li(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"},mi=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 Il=v("Raydium_Api");import{PublicKey as hm,SystemProgram as Im}from"@solana/web3.js";import{AccountLayout as Cm,createAssociatedTokenAccountIdempotentInstruction as Rm,TOKEN_PROGRAM_ID as Lm,TOKEN_2022_PROGRAM_ID as Om}from"@solana/spl-token";var zt=(...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(zt(t))}logInfo(...t){this.logger.info(zt(t))}logAndCreateError(...t){let n=zt(t);throw new Error(n)}checkDisabled(){(this.disabled||!this.scope)&&this.logAndCreateError("module not working")}};import{PublicKey as em,SystemProgram as nm}from"@solana/web3.js";import rm from"bn.js";import{createCloseAccountInstruction as cm,createInitializeAccountInstruction as lm,createTransferInstruction as mm,TOKEN_PROGRAM_ID as dm}from"@solana/spl-token";import{Keypair as Wl,PublicKey as ql}from"@solana/web3.js";import zl from"bn.js";import{TOKEN_PROGRAM_ID as Ql}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 Py,TOKEN_2022_PROGRAM_ID as Ay,TOKEN_PROGRAM_ID as wy}from"@solana/spl-token";import{PublicKey as Ty}from"@solana/web3.js";import Iy from"bn.js";import Sy from"decimal.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as Df,TOKEN_2022_PROGRAM_ID as Wf,TOKEN_PROGRAM_ID as qf}from"@solana/spl-token";import{Keypair as zf,PublicKey as Xf,SystemProgram as Qf,TransactionInstruction as Zf}from"@solana/web3.js";import jf from"bn.js";import D from"bn.js";var Me=new D(1).shln(64);var pi=new D(1).shln(128),Xt=new D(1).shln(64).subn(1),fi=new D(1).shln(128).subn(1);var Fe=new D("4295048016"),ve=new D("79226673521066979257578248091"),yi=new D("59543866431248"),bi=new D("184467440737095516"),gi=new D("15793534762490258745");var Yt=60,Gm=new D("18446743708227953217"),Pi=[{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 $e=3,_n=100;var En=10,Dn=100,At=14;var $=new D(0),Ve=new D(1),zm=new D(-1);var Xm=new D("18446744073700000000");var Ai=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)]),wi=l([z("blockTimestamp"),Ke("tickCumulative"),d(e(),4)]),Wn=l([N(8),ue("initialized"),e("recentEpoch"),Y("observationIndex"),i("poolId"),d(wi,_n,"observations"),d(e(),4)]),ki=l([Y("filterPeriod"),Y("decayPeriod"),Y("reductionFactor"),z("dynamicFeeControl"),z("maxVolatilityAccumulator"),ce("tickSpacingIndexReference"),z("volatilityReference"),z("volatilityAccumulator"),e("lastUpdateTimestamp"),d(c(),46)]),Ti=l([c("state"),e("openTime"),e("endTime"),e("lastUpdateTime"),O("emissionsPerSecondX64"),e("totalEmissioned"),e("claimed"),i("mint"),i("vault"),i("creator"),O("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"),O("liquidity"),O("sqrtPriceX64"),ce("tickCurrent"),z(),O("feeGrowthGlobalX64A"),O("feeGrowthGlobalX64B"),e("protocolFeesTokenA"),e("protocolFeesTokenB"),d(O(),4),c("status"),c("feeOn"),N(6),d(Ti,$e,"rewardInfos"),N(8*16,"tickArrayBitmap"),d(e(),4),e("fundFeesTokenA"),e("fundFeesTokenB"),e("startTime"),e("recentEpoch"),ki.replicate("dynamicFeeInfo"),d(e(),46)]),hi=l([O("growthInsideLastX64"),e("rewardAmountOwed")]),Ii=l([N(8),c("bump"),i("nftMint"),i("poolId"),ce("tickLower"),ce("tickUpper"),O("liquidity"),O("feeGrowthInsideLastX64A"),O("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),d(hi,$e,"rewardInfos"),e("recentEpoch"),d(e(),7)]),Hm=l([N(8),c("bump"),i("poolId"),ce("tickLower"),ce("tickUpper"),O("liquidity"),O("feeGrowthInsideLastX64A"),O("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),d(O(),$e,"rewardGrowthInside"),e("recentEpoch"),d(e(),7)]),Bi=l([ce("tick"),bn("liquidityNet"),O("liquidityGross"),O("feeGrowthOutsideX64A"),O("feeGrowthOutsideX64B"),d(O(),$e,"rewardGrowthsOutsideX64"),e("orderPhase"),e("ordersAmount"),e("partFilledOrdersRemaining"),O("unfilledRatioX64"),d(z(),3)]),qn=l([N(8),i("poolId"),ce("startTickIndex"),d(Bi,Yt,"ticks"),c("initializedTickCount"),e("recentEpoch"),d(c(),107)]),Si=l([N(8),c("bump"),d(i(),En,"operationOwners"),d(i(),Dn,"whitelistMints")]),Ki=l([N(8),i("poolId"),i("owner"),ce("tick"),ue("zeroForOne"),e("orderPhase"),e("totalAmount"),e("filledAmount"),e("settleBase"),e("settleOutput"),e("openTime"),O("unfilledRatioX64"),d(e(),4)]),Un=l([N(8),i("poolId"),N(8*8*At,"positiveTickArrayBitmap"),N(8*8*At,"negativeTickArrayBitmap")]),jm=l([N(8),Y("index"),Y("filterPeriod"),Y("decayPeriod"),Y("reductionFactor"),z("dynamicFeeControl"),z("maxVolatilityAccumulator"),d(e(),8)]),xi=l([N(8),i("wallet"),c("nonceIndex"),e("orderNonce"),d(e(),4)]),$m=l([e(),c("bump"),i("owner"),i("poolId"),i("positionId"),i("nftAccount"),d(e(),8)]),Ci=l([N(8),c("bump"),i("lockOwner"),i("poolId"),i("positionId"),i("nftAccount"),i("lockNftMint"),e("recentEpoch"),d(e(),8)]);import td from"bn.js";var dd=Buffer.from("amm_config","utf8"),Li=Buffer.from("pool","utf8"),Oi=Buffer.from("pool_vault","utf8"),pd=Buffer.from("pool_reward_vault","utf8"),fd=Buffer.from("position","utf8"),yd=Buffer.from("tick_array","utf8"),bd=Buffer.from("operation","utf8"),gd=Buffer.from("pool_tick_array_bitmap_extension","utf8"),Pd=Buffer.from("observation","utf8"),Ad=Buffer.from("support_mint","utf8"),wd=Buffer.from("dynamic_fee_config","utf8"),kd=Buffer.from("permission","utf8");var Td=Buffer.from("locked_position","utf8");import{sha256 as Yi}from"js-sha256";import Ni from"bn.js";import Sd from"decimal.js";var xd=new Ni(1).shln(256).subn(1);import Xd from"bn.js";import Fd from"bn.js";import Vd from"decimal.js";import jd from"bn.js";import Jd from"decimal.js";import{PublicKey as Ep}from"@solana/web3.js";import Wp from"bn.js";import{TOKEN_2022_PROGRAM_ID as Zp,TOKEN_PROGRAM_ID as Hp}from"@solana/spl-token";import ef from"decimal.js";import xp from"bn.js";import yp from"bn.js";import df from"bn.js";function J(o){let t=`global:${o}`;return Buffer.from(Yi.digest(t)).slice(0,8)}Wn.span;var ry=v("Raydium_Clmm"),ay={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 Jt}from"@solana/web3.js";var ji=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"),O("accRewardPerShare"),i("rewardVault"),i("rewardMint"),i("rewardSender"),e("rewardType"),d(e(),15,"padding")]),er=l([e("state"),e("nonce"),i("lpVault"),i("rewardVault"),i(),i(),e(),e(),e("totalReward"),O("perShareReward"),e("lastSlot"),e("perSlotReward")]),tr=l([e("state"),e("nonce"),i("lpVault"),i("rewardVaultA"),e("totalRewardA"),O("perShareRewardA"),e("perSlotRewardA"),c("option"),i("rewardVaultB"),N(7),e("totalRewardB"),O("perShareRewardB"),e("perSlotRewardB"),e("lastSlot"),i()]),nr=l([e(),e("state"),e("nonce"),e("validRewardTokenNum"),O("rewardMultiplier"),e("rewardPeriodMax"),e("rewardPeriodMin"),e("rewardPeriodExtend"),i("lpMint"),i("lpVault"),d(Ji,5,"rewardInfos"),i("creator"),i(),d(e(),32,"padding")]),or=new Proxy(er,{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)}}),ir=new Proxy(tr,{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)}}),Zn=new Proxy(nr,{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)}}),rr=l([e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),ar=l([c("instruction"),e("nonce"),d(rr,5,"rewardTimeInfo")]),sr=l([c("instruction"),e("rewardReopenTime"),e("rewardEndTime"),e("rewardPerSecond")]),ur=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")]),Hn=l([e("state"),i("id"),i("owner"),e("deposited"),d(O(),1,"rewardDebts"),e(""),e("voteLockedBalance"),d(e(),15)]),ab=l([e("state"),i("id"),i("owner"),e("deposited"),d(e(),2,"rewardDebts")]),cr=l([e("state"),i("id"),i("owner"),e("deposited"),d(O(),2,"rewardDebts"),d(e(),17)]),lr=l([e(),e("state"),i("id"),i("owner"),e("deposited"),d(O(),5,"rewardDebts"),d(e(),16)]),mr=l([c("instruction"),e("amount")]),dr=l([i("mint"),i("grantAuthority"),e("baselineVoteWeightScaledFactor"),e("maxExtraLockupVoteWeightScaledFactor"),e("lockupSaturationSecs"),yn("digitShift"),d(c(),7,"reserved1"),d(e(),7,"reserved2")]),pr=l([N(8),i("governanceProgramId"),i("realm"),i("realmGoverningTokenMint"),i("realmAuthority"),d(c(),32,"reserved1"),d(dr,4,"votingMints"),Ke("timeOffset"),c("bump"),d(c(),7,"reserved2"),d(e(),11,"reserved3")]),fr=l([Ke("startTime"),Ke("endTime"),c("kind"),d(c(),15,"reserved")]),yr=l([d(fr,1,"lockup"),e("amountDeposited_native"),e("amountInitiallyLockedNative"),ue("isUsed"),ue("allowClawback"),c("votingMintConfigIdx"),d(c(),29,"reserved")]),br=l([N(8),i("voterAuthority"),i("registrar"),d(yr,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"),gr=new Jt("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Pr=new Jt("FrspKwj8i3pNmKwXreTveC4fu7KL5ZbGeXdZBe2XViu1");var gb=new Jt("3TRTX4dXUpp2eqxi3tvQDFYUV7SdDJjcPE3Y4mbtftaX");var tt={"Standard SPL":0,"Option tokens":1},jn={[Cn.toString()]:3,[Rn.toString()]:4,[Ln.toString()]:5,[_t.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 Qb,SystemProgram as Zb,SYSVAR_CLOCK_PUBKEY as Hb,SYSVAR_RENT_PUBKEY as jb,TransactionInstruction as $b}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 Vb=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 Sr=new Jn(25),Kr=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 xr=l([c("instruction"),e("amountIn"),e("minAmountOut")]),Cr=l([c("instruction"),e("maxAmountIn"),e("amountOut")]),bP=l([c("instruction"),c("nonce")]),Rr=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"),O("swapBaseInAmount"),O("swapQuoteOutAmount"),e("swapBase2QuoteFee"),O("swapQuoteInAmount"),O("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"),O("swapBaseInAmount"),O("swapQuoteOutAmount"),O("swapQuoteInAmount"),O("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")]),Lr=l([c("instruction"),e("baseAmountIn"),e("quoteAmountIn"),e("fixedSide"),e("otherAmountMin")]),Or=l([c("instruction"),e("lpAmount"),e("baseAmountMin"),e("quoteAmountMin")]);var Nr=l([e("fee")]);var VP=v("Raydium_liquidity_instruction");var Mr=5e4,Fr=l([e("x"),e("y"),e("price")]),WP=l([e("accountType"),e("status"),e("multiplier"),e("validDataCount"),d(Fr,Mr,"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 QP=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 vr(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),vr("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 tT}from"@solana/web3.js";import{AccountLayout as oT,NATIVE_MINT as iT,TOKEN_2022_PROGRAM_ID as rT,TOKEN_PROGRAM_ID as aT,createAssociatedTokenAccountIdempotentInstruction as sT}from"@solana/spl-token";import ek from"bn.js";import Ur from"bn.js";var qw=new Ur(0);import Xw from"bn.js";import yT from"bn.js";import gT from"decimal.js";import{PublicKey as Pk,TransactionInstruction as Ak,Keypair as kk,SystemProgram as Tk}from"@solana/web3.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as Ik,TOKEN_2022_PROGRAM_ID as Bk,TOKEN_PROGRAM_ID as Sk}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");var pk=Buffer.from("locked_liquidity","utf8");var Nk=v("Raydium_cpmm"),Mk={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 Xr=l([N(8),c("bump"),ue("disableCreatePool"),Y("index"),e("tradeFeeRate"),e("protocolFeeRate"),e("fundFeeRate"),e("createPoolFee"),i("protocolOwner"),i("fundOwner"),e("creatorFeeRate"),d(e(),15)]),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)]),Vk=l([N(8),i("configId"),d(e(),30)]);import{PublicKey as sK,SystemProgram as uK}from"@solana/web3.js";import{createTransferInstruction as lK,TOKEN_PROGRAM_ID as mK,TOKEN_2022_PROGRAM_ID as dK,createAssociatedTokenAccountIdempotentInstruction as pK,createSyncNativeInstruction as yK,createTransferCheckedInstruction as bK}from"@solana/spl-token";import ca from"bn.js";import AK from"decimal.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as Kh,TOKEN_2022_PROGRAM_ID as xh,TOKEN_PROGRAM_ID as Ch}from"@solana/spl-token";import{SystemProgram as Nh,TransactionInstruction as Mh}from"@solana/web3.js";import Jr from"bn.js";var Zr=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)]),Hr=l([e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod"),e("startTime"),e("totalAllocatedShare")]),jr=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"),Hr.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)]),io=l([c("migrateType"),c("migrateCpmmFeeOn"),e("supply"),e("totalSellA"),e("totalFundRaisingB"),e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod")]),$r=l([e("epoch"),c("index"),i("configId"),io.replicate("bondingCurveParam"),d(e(),50)]),ro=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"),d(c(),107),gn($r,"platformCurve")]);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");var _h={initialize:Buffer.from([175,175,109,31,13,152,155,237]),initializeV2:Buffer.from([67,153,175,39,218,16,38,32]),buyExactIn:Buffer.from([250,234,13,123,213,156,19,236]),buyExactOut:Buffer.from([24,211,116,40,105,3,153,56]),sellExactIn:Buffer.from([149,39,222,155,211,124,152,26]),sellExactOut:Buffer.from([95,200,71,34,8,9,11,166]),createVestingAccount:Buffer.from([129,178,2,13,217,172,230,218]),claimVestedToken:Buffer.from([49,33,104,30,189,157,79,35]),createPlatformConfig:Buffer.from([176,90,196,175,253,113,220,20]),claimPlatformFee:Buffer.from([156,39,208,135,76,237,61,72]),updatePlaformConfig:Buffer.from([195,60,76,129,146,45,67,143]),initializeWithToken2022:Buffer.from([37,190,126,222,44,154,171,17]),claimPlatformFeeFromVault:Buffer.from([117,241,198,168,248,218,80,29]),claimCreatorFee:Buffer.from([26,97,138,203,132,171,141,252]),updatePlatformCurveParam:Buffer.from([138,144,138,250,220,128,4,57]),removePlatformCurveParam:Buffer.from([27,30,62,169,93,224,24,145]),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])};var Eh=new Jr("18446744073709551615");import{TOKEN_2022_PROGRAM_ID as Uh,TOKEN_PROGRAM_ID as Gh}from"@solana/spl-token";import Qh from"bn.js";import Hh from"decimal.js";import xI from"bn.js";import RI from"decimal.js";import nI from"bn.js";import iI from"decimal.js";import fI from"bn.js";import bI from"decimal.js";import uo from"bn.js";import tn from"decimal.js";var Tt=class{static _multipler(t){return new tn(10).pow(t)}static getPrice({priceX64:t,decimalA:n,decimalB:r}){return new tn(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 uo(u.mul(this._Q64).toFixed(0))}};Tt._Q64=new tn(new uo(1).shln(64).toString());import{NATIVE_MINT as _B,TOKEN_2022_PROGRAM_ID as EB,TOKEN_PROGRAM_ID as DB,createAssociatedTokenAccountIdempotentInstruction as qB,createSyncNativeInstruction as UB,getTransferFeeConfig as GB,unpackMint as zB}from"@solana/spl-token";import Q from"bn.js";import{PublicKey as aa,SystemProgram as QB}from"@solana/web3.js";import tS from"decimal.js";var nS={initPriceX64:new Q("515752397214619"),supply:new Q(1e15),totalSellA:new Q(7931e11),totalFundRaisingB:new Q(85e9),totalFundRaisingBUSD:new Q(125e8),totalLockedAmount:new Q("0"),cliffPeriod:new Q("0"),unlockPeriod:new Q("0"),decimals:6,virtualA:new Q("1073471847374405"),virtualB:new Q("30050573465"),realA:new Q(0),realB:new Q(0),protocolFee:new Q(0),platformId:new aa("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),vestingSchedule:{totalLockedAmount:new Q(0),cliffPeriod:new Q(0),unlockPeriod:new Q(0),startTime:new Q(0),totalAllocatedShare:new Q(0)}},oS=new Q(1e4);var sa={[On.toBase58()]:3};var ua=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 SS}from"@solana/web3.js";var LS=v("Serum");import{ASSOCIATED_TOKEN_PROGRAM_ID as DS,TOKEN_2022_PROGRAM_ID as WS,TOKEN_PROGRAM_ID as qS}from"@solana/spl-token";import{PublicKey as GS,SystemProgram as zS,TransactionInstruction as XS}from"@solana/web3.js";import QS from"bn.js";var ZK=new ca(0);import{PublicKey as ma,Transaction as nn,TransactionInstruction as da}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as pa}from"@solana/spl-token";import co 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 co(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(C=>te.getPdaOwnerId(n,C,u,b).publicKey));let g=await be(t,[...f,...p]),B=[];for(let b=0;b<g.length;b++){let C=Math.floor(b/r.length),R=b%r.length,S=f[R],M=p[b],P=g[R],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),V=I.openTime.toNumber(),_=I.endTime.toNumber(),y=h.tokenInfo.map(x=>x.debtAmount.gt(new co(0))).filter(x=>!x).length!==3,A=m>V&&m<_&&I.status===1,w=y&&A;B.push({programId:n,poolId:S,ammId:I.ammId,ownerAccountId:M,snapshotLpAmount:h.lpAmount,project:te.VERSION_PROJECT[C],openTime:V,endTime:_,canClaim:w,canClaimErrorType:y?A?void 0:"outOfOperationalTime":"alreadyClaimIt",tokenInfo:I.tokenInfo.map((x,L)=>({mintAddress:x.mintAddress,mintVault:x.mintVault,mintDecimals:x.mintDecimals,perLpLoss:x.perLpLoss,debtAmount:h.tokenInfo[L].debtAmount.add(h.tokenInfo[L].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:C}=await this.scope.account.getOrCreateTokenAccount({mint:B.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:B.mintAddress.equals(Z.WSOL.mint),createInfo:{payer:m,amount:0},skipCloseAccount:!B.mintAddress.equals(Z.WSOL.mint),associatedOnly:B.mintAddress.equals(Z.WSOL.mint)?!1:n.associatedOnly});C&&u.addInstruction(C),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 C=[];for(let R of b.tokenInfo){let{account:S,instructionParams:M}=await this.scope.account.getOrCreateTokenAccount({mint:R.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:R.mintAddress.equals(Z.WSOL.mint),createInfo:{payer:m,amount:0},skipCloseAccount:!R.mintAddress.equals(Z.WSOL.mint),associatedOnly:R.mintAddress.equals(Z.WSOL.mint)?!1:n.associatedOnly});M&&u.addInstruction(M),S&&(f[R.mintAddress.toString()]=S,C.push(S))}u.addInstruction({instructions:[te.makeClaimInstruction({programId:b.programId,poolInfo:b,ownerInfo:{wallet:m,ownerPda:b.ownerAccountId,claimAddress:C}})]})}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 nn().add(...B.slice(0,u.AllTxData.instructions.length-1)),signer:g},{transaction:new nn().add(...B.slice(u.AllTxData.instructions.length-1)),signer:[]},{transaction:new nn().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:pa,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 da({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 ma(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 dx}from"@solana/web3.js";import{getTransferFeeConfig as fx,MintLayout as yx,TOKEN_2022_PROGRAM_ID as bx,TOKEN_PROGRAM_ID as gx,unpackMint as Px}from"@solana/spl-token";var zC=new Ie(2),XC=new Ie(3),YC=new Ie(5),lo=new Ie(10),QC=new Ie(100),ZC=new Ie(1e3),HC=new Ie(1e4);var ya=v("Raydium_amount"),mo=Ge(fa);function ba(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")):ya.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=lo.pow(new ht(n.decimals));if(u)f=H(r);else{let g=new ht(0),B=new ht(0);if(typeof r=="string"||typeof r=="number"||typeof r=="bigint"){let[b,C]=ba(r.toString(),n.decimals);g=H(b),B=H(C)}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 mo.DP=this.token.decimals,new mo(this.numerator.toString()).div(this.denominator.toString()).toFormat(n)}};var KR=async({connection:o,mint:t})=>{let n=await o.getAccountInfo(new Pa(t));return!n||n.data.length!==Kt.span?void 0:Kt.decode(n.data)},xR=({mint:o,decimals:t,programId:n=ga,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 Z({mint:o.address,decimals:o.decimals,symbol:o.symbol,name:o.name}),la=u=>{var m=u,{amount:o,isRaw:t,name:n}=m,r=ae(m,["amount","isRaw","name"]);return new re(new Z({mint:ge(r.address).toBase58(),decimals:r.decimals,symbol:r.symbol,name:n}),o,t,n)};function CR(o){return o.address===Se.address?se:o}function RR(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)},$t=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,Kt as SPL_MINT_LAYOUT,se as TOKEN_WSOL,KR as parseTokenInfo,CR as solToWSolToken,et as toApiV3Token,$t as toFeeConfig,to as toToken,la as toTokenAmount,xR as toTokenInfo,RR as wSolToSolToken};
//# sourceMappingURL=index.mjs.map