@raydium-io/raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
2 lines • 76.2 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=(i,t,n)=>t in i?po(i,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):i[t]=n,R=(i,t)=>{for(var n in t||(t={}))sn.call(t,n)&&an(i,n,t[n]);if(ot)for(var n of ot(t))un.call(t,n)&&an(i,n,t[n]);return i},E=(i,t)=>fo(i,yo(t));var le=(i,t)=>{var n={};for(var r in i)sn.call(i,r)&&t.indexOf(r)<0&&(n[r]=i[r]);if(i!=null&&ot)for(var r of ot(i))t.indexOf(r)<0&&un.call(i,r)&&(n[r]=i[r]);return n};import{PublicKey as ha}from"@solana/web3.js";import Ia from"bn.js";import wa from"big.js";import It from"bn.js";import Be from"bn.js";import bR from"decimal.js";import{PublicKey as bo}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as cn}from"@solana/spl-token";var it={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"}},me={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 Kt}from"@solana/web3.js";import{PublicKey as z,SystemProgram as ln,SYSVAR_RENT_PUBKEY as go}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Po}from"@solana/spl-token";function Ke({pubkey:i,isSigner:t=!1,isWritable:n=!0}){return{pubkey:i,isWritable:n,isSigner:t}}var Ao=[Ke({pubkey:Po,isWritable:!1}),Ke({pubkey:ln.programId,isWritable:!1}),Ke({pubkey:go,isWritable:!1})];function mn({publicKey:i,transformSol:t}){let n=Bt(i.toString());if(n instanceof z)return t&&n.equals(ke)?be:n;if(t&&n.toString()===ke.toBase58())return be;if(typeof n=="string"){if(n===z.default.toBase58())return z.default;try{return new z(n)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function Bt(i){try{return new z(i)}catch{return i}}var St=new z("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),qe=new z("SysvarRent111111111111111111111111111111111"),Na=new z("SysvarC1ock11111111111111111111111111111111"),rt=new z("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),wo=new z("Sysvar1nstructions1111111111111111111111111"),ko=ln.programId,Ma=new z("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Fa=new z("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),va=new z("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),_a=new z("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Va=new z("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Ea=new z("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),Da=new z("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),Wa=new z("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),qa=new z("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Ua=new z("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Ga=new z("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),be=new z("So11111111111111111111111111111111111111112"),ke=z.default;var xt=class{constructor({mint:t,decimals:n,symbol:r,name:u,skipMint:d=!1,isToken2022:p=!1}){if(t===ke.toBase58()||t instanceof Kt&&ke.equals(t)){this.decimals=me.decimals,this.symbol=me.symbol,this.name=me.name,this.mint=new Kt(me.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=d?Kt.default:mn({publicKey:t}),this.isToken2022=p}equals(t){return this===t?!0:this.mint.equals(t.mint)}},ee=xt;ee.WSOL=new xt(E(R({},me),{mint:me.address}));var Ct=class{constructor({decimals:t,symbol:n="UNKNOWN",name:r="UNKNOWN"}){this.decimals=t,this.symbol=n,this.name=r}equals(t){return this===t}},at=Ct;at.SOL=new Ct(it);import ut from"big.js";import Ko from"bn.js";import xo from"decimal.js-light";import{get as dn,set as To}from"lodash";var Rt=class{constructor(t){this.logLevel=t.logLevel!==void 0?t.logLevel:0,this.name=t.name}set level(t){this.logLevel=t}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(t){return t<=this.logLevel}error(...t){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...t),this):this}logWithError(...t){let 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}},pn={},ho={};function F(i){let t=dn(pn,i);if(!t){let n=dn(ho,i);t=new Rt({name:i,logLevel:n}),To(pn,i,t)}return t}import Ue from"bn.js";var fn=9007199254740991;function H(i){let t=F("Raydium_parseBigNumberish");if(i instanceof Ue)return i;if(typeof i=="string"){if(i.match(/^-?[0-9]+$/))return new Ue(i);t.logWithError(`invalid BigNumberish string: ${i}`)}return typeof i=="number"?(i%1&&t.logWithError(`BigNumberish number underflow: ${i}`),(i>=fn||i<=-fn)&&t.logWithError(`BigNumberish number overflow: ${i}`),new Ue(String(i))):typeof i=="bigint"?new Ue(i.toString()):(t.error(`invalid BigNumberish value: ${i}`),new Ue(0))}import Io from"toformat";var Bo=Io,Ge=Bo;var st=F("module/fraction"),Lt=Ge(ut),ze=Ge(xo),Co={[0]:ze.ROUND_DOWN,[1]:ze.ROUND_HALF_UP,[2]:ze.ROUND_UP},Ro={[0]:ut.roundDown,[1]:ut.roundHalfUp,[2]:ut.roundUp},W=class{constructor(t,n=new Ko(1)){this.numerator=H(t),this.denominator=H(n)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new W(this.denominator,this.numerator)}add(t){let n=t instanceof W?t:new W(H(t));return this.denominator.eq(n.denominator)?new W(this.numerator.add(n.numerator),this.denominator):new W(this.numerator.mul(n.denominator).add(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}sub(t){let n=t instanceof W?t:new W(H(t));return this.denominator.eq(n.denominator)?new W(this.numerator.sub(n.numerator),this.denominator):new W(this.numerator.mul(n.denominator).sub(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}mul(t){let n=t instanceof W?t:new W(H(t));return new W(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(t){let n=t instanceof W?t:new W(H(t));return new W(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(t,n={groupSeparator:""},r=1){Number.isInteger(t)||st.logWithError(`${t} is not an integer.`),t<=0&&st.logWithError(`${t} is not positive.`),ze.set({precision:t+1,rounding:Co[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)||st.logWithError(`${t} is not an integer.`),t<0&&st.logWithError(`${t} is negative.`),Lt.DP=t,Lt.RM=Ro[r]||1,new Lt(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,n)}isZero(){return this.numerator.isZero()}};import Lo from"bn.js";var yn=new W(new Lo(100)),ge=class extends W{toSignificant(t=5,n,r){return this.mul(yn).toSignificant(t,n,r)}toFixed(t=2,n,r){return this.mul(yn).toFixed(t,n,r)}};var Oo=F("Raydium_price"),se=class extends W{constructor(n){let{baseToken:r,quoteToken:u,numerator:d,denominator:p}=n;super(d,p);this.baseToken=r,this.quoteToken=u,this.scalar=new W(Ot(r.decimals),Ot(u.decimals))}get raw(){return new W(this.numerator,this.denominator)}get adjusted(){return super.mul(this.scalar)}invert(){return new se({baseToken:this.quoteToken,quoteToken:this.baseToken,denominator:this.numerator,numerator:this.denominator})}mul(n){this.quoteToken!==n.baseToken&&Oo.logWithError("mul token not equals");let r=super.mul(n);return new se({baseToken:this.baseToken,quoteToken:n.quoteToken,denominator:r.denominator,numerator:r.numerator})}toSignificant(n=this.quoteToken.decimals,r,u){return this.adjusted.toSignificant(n,r,u)}toFixed(n=this.quoteToken.decimals,r,u){return this.adjusted.toFixed(n,r,u)}};import{merge as AC}from"lodash";import ic from"axios";import{PublicKey as No}from"@solana/web3.js";import{MINT_SIZE as Rs,TOKEN_PROGRAM_ID as Ls,getTransferFeeConfig as Os,unpackMint as Ns}from"@solana/spl-token";var Nt=F("Raydium_accountInfo_util");async function Pe(i,t,n){let{batchRequest:r,commitment:u="confirmed",chunkCount:d=100}=R({batchRequest:!1},n),p=Mt(t,d),f=new Array(p.length).fill([]);if(r){let g=p.map(C=>{let L=i._buildArgs([C.map(S=>S.toBase58())],u,"base64");return{methodName:"getMultipleAccounts",args:L}}),B=Mt(g,10);f=(await(await Promise.all(B.map(async C=>await i._rpcBatchRequest(C)))).flat()).map(C=>(C.error&&Nt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${C.error.message}`),C.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"&&Nt.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(S[0],"base64"),executable:M,lamports:P,owner:new No(T),rentEpoch:I}}return null})))}else try{f=await Promise.all(p.map(g=>i.getMultipleAccountsInfo(g,u)))}catch(g){g instanceof Error&&Nt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${g.message}`)}return f.flat()}function Mt(i,t=1,n=[]){let r=[...i];if(t<=0)return n;for(;r.length;)n.push(r.splice(0,t));return n}import{PublicKey as Zs}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as js}from"@solana/spl-token";import{ComputeBudgetProgram as bn,Keypair as Pn,PublicKey as Mo,Transaction as An,TransactionMessage as Fo,VersionedTransaction as wn}from"@solana/web3.js";var Z={CreateAccount:"CreateAccount",InitAccount:"InitAccount",CreateATA:"CreateATA",CloseAccount:"CloseAccount",TransferAmount:"TransferAmount",InitMint:"InitMint",MintTo:"MintTo",InitMarket:"InitMarket",Util1216OwnerClaim:"Util1216OwnerClaim",SetComputeUnitPrice:"SetComputeUnitPrice",SetComputeUnitLimit:"SetComputeUnitLimit",ClmmCreatePool:"ClmmCreatePool",ClmmOpenPosition:"ClmmOpenPosition",ClmmIncreasePosition:"ClmmIncreasePosition",ClmmDecreasePosition:"ClmmDecreasePosition",ClmmClosePosition:"ClmmClosePosition",ClmmSwapBaseIn:"ClmmSwapBaseIn",ClmmSwapBaseOut:"ClmmSwapBaseOut",ClmmInitReward:"ClmmInitReward",ClmmSetReward:"ClmmSetReward",ClmmCollectReward:"ClmmCollectReward",ClmmLockPosition:"ClmmLockPosition",ClmmHarvestLockPosition:"ClmmHarvestLockPosition",AmmV4Swap:"AmmV4Swap",AmmV4AddLiquidity:"AmmV4AddLiquidity",AmmV4RemoveLiquidity:"AmmV4RemoveLiquidity",AmmV4SimulatePoolInfo:"AmmV4SimulatePoolInfo",AmmV4SwapBaseIn:"AmmV4SwapBaseIn",AmmV4SwapBaseOut:"AmmV4SwapBaseOut",AmmV4CreatePool:"AmmV4CreatePool",AmmV4InitPool:"AmmV4InitPool",AmmV5AddLiquidity:"AmmV5AddLiquidity",AmmV5RemoveLiquidity:"AmmV5RemoveLiquidity",AmmV5SimulatePoolInfo:"AmmV5SimulatePoolInfo",AmmV5SwapBaseIn:"AmmV5SwapBaseIn",AmmV5SwapBaseOut:"AmmV5SwapBaseOut",RouteSwap:"RouteSwap",RouteSwap1:"RouteSwap1",RouteSwap2:"RouteSwap2",FarmV3Deposit:"FarmV3Deposit",FarmV3Withdraw:"FarmV3Withdraw",FarmV3CreateLedger:"FarmV3CreateLedger",FarmV4Withdraw:"FarmV4Withdraw",FarmV5Deposit:"FarmV5Deposit",FarmV5Withdraw:"FarmV5Withdraw",FarmV5CreateLedger:"FarmV5CreateLedger",FarmV6Deposit:"FarmV6Deposit",FarmV6Withdraw:"FarmV6Withdraw",FarmV6Create:"FarmV6Create",FarmV6Restart:"FarmV6Restart",FarmV6CreatorAddReward:"FarmV6CreatorAddReward",FarmV6CreatorWithdraw:"FarmV6CreatorWithdraw",CpmmCreatePool:"CpmmCreatePool",CpmmAddLiquidity:"CpmmAddLiquidity",CpmmWithdrawLiquidity:"CpmmWithdrawLiquidity",CpmmSwapBaseIn:"CpmmSwapBaseIn",CpmmSwapBaseOut:"CpmmSwapBaseOut",CpmmLockLp:"CpmmLockLp",CpmmCollectLockFee:"CpmmCollectLockFee",TransferTip:"TransferTip"};import{TOKEN_PROGRAM_ID as vo}from"@solana/spl-token";var gn=F("Raydium_txUtil"),kn=1644;function ct(i){let t=[],n=[];return i.microLamports&&(t.push(bn.setComputeUnitPrice({microLamports:i.microLamports})),n.push(Z.SetComputeUnitPrice)),i.units&&(t.push(bn.setComputeUnitLimit({units:i.units})),n.push(Z.SetComputeUnitLimit)),{instructions:t,instructionTypes:n}}async function xe(i,t){var r,u;let n=t!=null?t:"confirmed";return(u=await((r=i.getLatestBlockhash)==null?void 0:r.call(i,{commitment:n})))==null?void 0:u.blockhash}async function lt(i,t){return i.getSignatureStatuses([t]),new Promise((n,r)=>{let u=setTimeout(r,6e4);i.onSignature(t,d=>{if(clearTimeout(u),!d.err){n("");return}r(Object.assign(d.err,{txId:t}))},"confirmed")})}function Ft(i,t){i.length<1&&gn.logWithError(`no instructions provided: ${i.toString()}`),t.length<1&&gn.logWithError(`no signers provided:, ${t.toString()}`);let n=new An;n.recentBlockhash="11111111111111111111111111111111",n.feePayer=t[0],n.add(...i);try{return Buffer.from(n.serialize({verifySignatures:!1})).toString("base64").length<kn}catch{return!1}}function de(i,t){let[n,r]=Mo.findProgramAddressSync(i,t);return{publicKey:n,nonce:r}}function Ye({instructions:i,payer:t,signers:n}){return Ft(i,[t,...n])}function He({instructions:i,payer:t,lookupTableAddressAccount:n,recentBlockhash:r=Pn.generate().publicKey.toString()}){let d=new Fo({payerKey:t,recentBlockhash:r,instructions:i}).compileToV0Message(Object.values(n!=null?n:{}));try{return Buffer.from(new wn(d).serialize()).toString("base64").length<kn}catch{return!1}}var _o=i=>Buffer.isBuffer(i)?i:i instanceof Uint8Array?Buffer.from(i.buffer,i.byteOffset,i.byteLength):Buffer.from(i),Vo=i=>{let t=i.serialize({requireAllSignatures:!1,verifySignatures:!1});i instanceof wn&&(t=_o(t));try{return t instanceof Buffer?t.toString("base64"):Buffer.from(t).toString("base64")}catch{return t.toString("base64")}};function Te(i){let t=[];return i.forEach(n=>{n instanceof An&&(n.recentBlockhash||(n.recentBlockhash=vo.toBase58()),n.feePayer||(n.feePayer=Pn.generate().publicKey)),t.push(Vo(n))}),console.log("simulate tx string:",t),t}import{PublicKey as k}from"@solana/web3.js";var Tn=new k("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),hn=new k("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),In=new k("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),vt=new k("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),nu=new k("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Eo=new k("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),Bn=new k("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),Sn=new k("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),ou=new k("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),Do=new k("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Kn=new k("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),Wo=new k("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),qo=new k("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),xn=new k("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),iu=new k("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Uo=new k("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),_t=new k("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),Go=new k("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),ru=new k("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),zo=new k("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Xo=new k("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),Yo=new k("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),au=new k("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),su=new k("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),uu=new k("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),cu=new k("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),lu=new k("6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX");var Ae={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 pu from"bn.js";import{PublicKey as Vt,AddressLookupTableAccount as Le}from"@solana/web3.js";async function Et({connection:i,address:t,cluster:n="mainnet"}){let r=await Pe(i,[...new Set(t.map(d=>d.toString()))].map(d=>new Vt(d))),u={};for(let d=0;d<t.length;d++){let p=r[d],f=t[d];if(!p)continue;let g=new Le({key:f,state:Le.deserialize(p.data)});u[f.toString()]=g,n==="devnet"?Re[f.toString()]=g:Ce[f.toString()]=g}return u}var Ce={},Dt=async i=>{let t="AcL1Vo8oy1ULiavEcjSUcwfBSForXMudcZvDZy5nzJkU";if(Ce[t])return Ce;let n=new Vt(t),r=await i.getAccountInfo(n);return r&&(Ce[t]=new Le({key:n,state:Le.deserialize(r.data)})),Ce},Re={},Wt=async i=>{let t="EFhMuDw1PKEuckuFRW9PavNfTH4LKP5uKHgyXDmWpFCq";if(Re[t])return Re;let n=new Vt(t),r=await i.getAccountInfo(n);return r&&(Re[t]=new Le({key:n,state:Le.deserialize(r.data)})),Re};import{PublicKey as Oe,sendAndConfirmTransaction as qt,SystemProgram as Ho,Transaction as Qe,TransactionMessage as Ze,VersionedTransaction as $e}from"@solana/web3.js";import Qo from"axios";var mt=2e3,dt=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 Qo.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}=ct(t);return this.instructions.unshift(...n),this.instructionTypes.unshift(...r),!0}return!1}addTipInstruction(t){var n;return t?(this.endInstructions.push(Ho.transfer({fromPubkey:(n=t.feePayer)!=null?n:this.feePayer,toPubkey:new Oe(t.address),lamports:BigInt(t.amount.toString())})),this.endInstructionTypes.push(Z.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:d=[],lookupTableAddress:p=[]}){return this.instructions.push(...t),this.endInstructions.push(...n),this.signers.push(...r),this.instructionTypes.push(...u),this.endInstructionTypes.push(...d),this.lookupTableAddress.push(...p.filter(f=>f!==Oe.default.toString())),this}async versionBuild({txVersion:t,extInfo:n,lookupTableAddress:r}){return t===0?await this.buildV0(E(R({},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:d,skipPreflight:p=!0,sendAndConfirm:f,notSendToRpc:g}=u||{},B=d!=null?d:await xe(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:f?await qt(this.connection,n,this.signers.find(L=>L.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:p}):await this.connection.sendRawTransaction(n.serialize(),{skipPreflight:p}),signedTx:n};if(this.signAllTransactions){let C=await this.signAllTransactions([n]);if(this.signers.length)for(let L of C)try{L.sign(...this.signers)}catch{}return{txId:g?"":await this.connection.sendRawTransaction(C[0].serialize(),{skipPreflight:p}),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),d=n.filter(b=>b.transaction.instructions.length>0),p=[u,...d.map(b=>b.transaction)],f=[this.signers,...d.map(b=>b.signers)],g=[...this.instructionTypes,...d.map(b=>b.instructionTypes).flat()];return(B=this.owner)!=null&&B.signer&&f.forEach(b=>{b.some(C=>C.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),{builder:this,transactions:p,signers:f,instructionTypes:g,execute:async b=>{var I;let{sequentially:C,onTxUpdate:L,skipTxCount:S=0,recentBlockHash:M,skipPreflight:P=!0}=b||{},T=M!=null?M:await xe(this.connection,this.blockhashCommitment);if((I=this.owner)!=null&&I.isKeyPair){if(C){let h=[],v=0;for(let _ of p){if(++v,v<=S)continue;let y=await qt(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:p}}return{txIds:await await Promise.all(p.map(async h=>(h.recentBlockhash=T,await this.connection.sendRawTransaction(h.serialize(),{skipPreflight:P})))),signedTxs:p}}if(this.signAllTransactions){let h=p.map((_,y)=>(_.recentBlockhash=T,f[y].length&&_.sign(...f[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[_]}),L==null||L([...y]),_++;let K=!1,O=null,V=null,ie=U=>{O!==null&&clearInterval(O),V!==null&&this.connection.removeSignatureListener(V);let q=y.findIndex(J=>J.txId===w);if(q>-1){if(y[q].status==="error"||y[q].status==="success")return;y[q].status=U.err?"error":"success"}L==null||L([...y]),U.err||A()};this.loopMultiTxStatus&&(O=setInterval(async()=>{var U;if(K){clearInterval(O);return}try{let q=await this.connection.getTransaction(w,{commitment:"confirmed",maxSupportedTransactionVersion:1});q&&(K=!0,clearInterval(O),ie({err:((U=q.meta)==null?void 0:U.err)||null}),console.log("tx status from getTransaction:",w))}catch(q){K=!0,clearInterval(O),console.error("getTransaction timeout:",q,w)}},mt)),V=this.connection.onSignature(w,U=>{if(K){this.connection.removeSignatureListener(V);return}K=!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:d}=M,p=le(M,["lookupTableCache","lookupTableAddress","forerunCreate","recentBlockhash"]),f=R(R({},this.cluster==="devnet"?await Wt(this.connection):await Dt(this.connection)),n),g=Array.from(new Set([...r,...this.lookupTableAddress])),B=[];for(let T of g)f[T]===void 0&&B.push(new Oe(T));let b=await Et({connection:this.connection,address:B});for(let[T,I]of Object.entries(b))f[T]=I;let C=u?Oe.default.toBase58():d!=null?d:await xe(this.connection,this.blockhashCommitment),L=new Ze({payerKey:this.feePayer,recentBlockhash:C,instructions:[...this.allInstructions]}).compileToV0Message(Object.values(f));((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 $e(L);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 lt(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:p||{}}}async buildV0MultiTx(t){var B;let{extraPreBuildData:n=[],buildProps:r}=t,{transaction:u}=await this.buildV0(r),d=n.filter(b=>b.builder.instructions.length>0),p=[u,...d.map(b=>b.transaction)],f=[this.signers,...d.map(b=>b.signers)],g=[...this.instructionTypes,...d.map(b=>b.instructionTypes).flat()];return(B=this.owner)!=null&&B.signer&&f.forEach(b=>{b.some(C=>C.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),p.forEach(async(b,C)=>{b.sign(f[C])}),{builder:this,transactions:p,signers:f,instructionTypes:g,buildProps:r,execute:async b=>{var P;let{sequentially:C,onTxUpdate:L,recentBlockHash:S,skipPreflight:M=!0}=b||{};if(S&&p.forEach(T=>T.message.recentBlockhash=S),Te(p),(P=this.owner)!=null&&P.isKeyPair){if(C){let T=[];for(let I of p){let h=await this.connection.sendTransaction(I,{skipPreflight:M});await lt(this.connection,h),T.push(h)}return{txIds:T,signedTxs:p}}return{txIds:await Promise.all(p.map(async T=>await this.connection.sendTransaction(T,{skipPreflight:M}))),signedTxs:p}}if(this.signAllTransactions){let T=await this.signAllTransactions(p);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]}),L==null||L([...h]),I++;let y=!1,A=null,w=null,K=O=>{A!==null&&clearInterval(A),w!==null&&this.connection.removeSignatureListener(w);let V=h.findIndex(ie=>ie.txId===_);if(V>-1){if(h[V].status==="error"||h[V].status==="success")return;h[V].status=O.err?"error":"success"}L==null||L([...h]),O.err||v()};this.loopMultiTxStatus&&(A=setInterval(async()=>{var O;if(y){clearInterval(A);return}try{let V=await this.connection.getTransaction(_,{commitment:"confirmed",maxSupportedTransactionVersion:1});V&&(y=!0,clearInterval(A),K({err:((O=V.meta)==null?void 0:O.err)||null}),console.log("tx status from getTransaction:",_))}catch(V){y=!0,clearInterval(A),console.error("getTransaction timeout:",V,_)}},mt)),w=this.connection.onSignature(_,O=>{if(y){this.connection.removeSignatureListener(w);return}y=!0,K(O)},"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 L;let C=t||{},{splitIns:n=[],computeBudgetConfig:r}=C,u=le(C,["splitIns","computeBudgetConfig"]),d=r?ct(r):{instructions:[],instructionTypes:[]},p=this.signers.reduce((S,M)=>E(R({},S),{[M.publicKey.toBase58()]:M}),{}),f=[],g=[],B=[],b=0;if(this.allInstructions.forEach(S=>{let M=[...B,S],P=r?[...d.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 Oe(h));if(S!==n[b]&&B.length<12&&(Ye({instructions:P,payer:this.feePayer,signers:I})||Ye({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,Ye({instructions:r?[...d.instructions,...B]:[...B],payer:this.feePayer,signers:I})?f.push(new Qe().add(...d.instructions,...B)):f.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=>p[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=>p[P]).filter(P=>P!==void 0);Ye({instructions:r?[...d.instructions,...B]:[...B],payer:this.feePayer,signers:M.map(P=>P.publicKey)})?f.push(new Qe().add(...d.instructions,...B)):f.push(new Qe().add(...B)),g.push(M)}return f.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:f,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 xe(this.connection,this.blockhashCommitment);if(f.forEach(async(y,A)=>{y.recentBlockhash=v,g[A].length&&y.sign(...g[A])}),Te(f),(_=this.owner)!=null&&_.isKeyPair){if(M){let y=0,A=[];for(let w of f){if(++y,y<=T){A.push("tx skipped");continue}let K=await qt(this.connection,w,this.signers.find(O=>O.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:h});A.push(K)}return{txIds:A,signedTxs:f}}return{txIds:await Promise.all(f.map(async y=>await this.connection.sendRawTransaction(y.serialize(),{skipPreflight:h}))),signedTxs:f}}if(this.signAllTransactions){let y=await this.signAllTransactions(f.slice(T,f.length)),A=[...f.slice(0,T),...y];if(M){let w=0,K=[],O=async()=>{if(!A[w])return;w<T&&(K.push({txId:"",status:"success",signedTx:A[w]}),P==null||P([...K]),w++,O());let V=await this.connection.sendRawTransaction(A[w].serialize(),{skipPreflight:h});K.push({txId:V,status:"sent",signedTx:A[w]}),P==null||P([...K]),w++;let ie=!1,U=null,q=null,J=G=>{U!==null&&clearInterval(U),q!==null&&this.connection.removeSignatureListener(q);let ne=K.findIndex(fe=>fe.txId===V);if(ne>-1){if(K[ne].status==="error"||K[ne].status==="success")return;K[ne].status=G.err?"error":"success"}P==null||P([...K]),G.err||O()};this.loopMultiTxStatus&&(U=setInterval(async()=>{var G;if(ie){clearInterval(U);return}try{let ne=await this.connection.getTransaction(V,{commitment:"confirmed",maxSupportedTransactionVersion:1});ne&&(ie=!0,clearInterval(U),J({err:((G=ne.meta)==null?void 0:G.err)||null}),console.log("tx status from getTransaction:",V))}catch(ne){ie=!0,clearInterval(U),console.error("getTransaction timeout:",ne,V)}},mt)),q=this.connection.onSignature(V,G=>{if(ie){this.connection.removeSignatureListener(q);return}ie=!0,J(G)},"confirmed"),this.connection.getSignatureStatus(V)};return await O(),{txIds:K.map(V=>V.txId),signedTxs:A}}else{let w=[];for(let K=0;K<A.length;K+=1){let O=await this.connection.sendRawTransaction(A[K].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 _;let v=t||{},{computeBudgetConfig:n,splitIns:r=[],lookupTableCache:u={},lookupTableAddress:d=[],insCountLimit:p=12}=v,f=le(v,["computeBudgetConfig","splitIns","lookupTableCache","lookupTableAddress","insCountLimit"]),g=R(R({},this.cluster==="devnet"?await Wt(this.connection):await Dt(this.connection)),u),B=Array.from(new Set([...this.lookupTableAddress,...d])),b=[];for(let y of B)g[y]===void 0&&b.push(new Oe(y));let C=await Et({connection:this.connection,address:b});for(let[y,A]of Object.entries(C))g[y]=A;let L=n?ct(n):{instructions:[],instructionTypes:[]},S=await xe(this.connection,this.blockhashCommitment),M=this.signers.reduce((y,A)=>E(R({},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<p&&(He({instructions:w,payer:this.feePayer,lookupTableAddressAccount:g})||He({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 K={};for(let O of[...new Set(B)])g[O]!==void 0&&(K[O]=g[O]);if(n&&He({instructions:[...L.instructions,...I],payer:this.feePayer,lookupTableAddressAccount:g,recentBlockhash:S})){let O=new Ze({payerKey:this.feePayer,recentBlockhash:S,instructions:[...L.instructions,...I]}).compileToV0Message(Object.values(g));P.push(new $e(O))}else{let O=new Ze({payerKey:this.feePayer,recentBlockhash:S,instructions:[...I]}).compileToV0Message(Object.values(g));P.push(new $e(O))}T.push(Array.from(new Set(I.map(O=>O.keys.filter(V=>V.isSigner).map(V=>V.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(K=>K.isSigner).map(K=>K.pubkey.toString())).flat()).values()].map(w=>M[w]).filter(w=>w!==void 0);if(n&&He({instructions:[...L.instructions,...I],payer:this.feePayer,lookupTableAddressAccount:g,recentBlockhash:S})){let w=new Ze({payerKey:this.feePayer,recentBlockhash:S,instructions:[...L.instructions,...I]}).compileToV0Message(Object.values(g));P.push(new $e(w))}else{let w=new Ze({payerKey:this.feePayer,recentBlockhash:S,instructions:[...I]}).compileToV0Message(Object.values(g));P.push(new $e(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:K=0,recentBlockHash:O,skipPreflight:V=!0}=y||{};if(P.map(async(U,q)=>{T[q].length&&U.sign(T[q]),O&&(U.message.recentBlockhash=O)}),Te(P),(ie=this.owner)!=null&&ie.isKeyPair){if(A){let U=0,q=[];for(let J of P){if(++U,U<=K){console.log("skip tx: ",U),q.push("tx skipped");continue}let G=await this.connection.sendTransaction(J,{skipPreflight:V});await lt(this.connection,G),q.push(G)}return{txIds:q,signedTxs:P}}return{txIds:await Promise.all(P.map(async U=>await this.connection.sendTransaction(U,{skipPreflight:V}))),signedTxs:P}}if(this.signAllTransactions){let U=await this.signAllTransactions(P.slice(K,P.length)),q=[...P.slice(0,K),...U];if(A){let J=0,G=[],ne=async()=>{if(!q[J])return;if(J<K){G.push({txId:"",status:"success",signedTx:q[J]}),w==null||w([...G]),J++,ne();return}let fe=await this.connection.sendTransaction(q[J],{skipPreflight:V});G.push({txId:fe,status:"sent",signedTx:q[J]}),w==null||w([...G]),J++;let We=!1,Se=null,nt=null,rn=we=>{Se!==null&&clearInterval(Se),nt!==null&&this.connection.removeSignatureListener(nt);let ye=G.findIndex(mo=>mo.txId===fe);if(ye>-1){if(G[ye].status==="error"||G[ye].status==="success")return;G[ye].status=we.err?"error":"success"}w==null||w([...G]),we.err||ne()};this.loopMultiTxStatus&&(Se=setInterval(async()=>{var we;if(We){clearInterval(Se);return}try{let ye=await this.connection.getTransaction(fe,{commitment:"confirmed",maxSupportedTransactionVersion:1});ye&&(We=!0,clearInterval(Se),rn({err:((we=ye.meta)==null?void 0:we.err)||null}),console.log("tx status from getTransaction:",fe))}catch(ye){We=!0,clearInterval(Se),console.error("getTransaction timeout:",ye,fe)}},mt)),nt=this.connection.onSignature(fe,we=>{if(We){this.connection.removeSignatureListener(nt);return}We=!0,rn(we)},"confirmed"),this.connection.getSignatureStatus(fe)};return ne(),{txIds:[],signedTxs:q}}else{let J=[];for(let G=0;G<q.length;G+=1){let ne=await this.connection.sendTransaction(q[G],{skipPreflight:V});J.push(ne)}return{txIds:J,signedTxs:q}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:f||{}}}};import Zo from"bn.js";var pt=new Zo(1e6);var Cn={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"},$o=E(R({},Cn),{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 Kc=F("Raydium_Api");import{PublicKey as gm,SystemProgram as Pm}from"@solana/web3.js";import{AccountLayout as hm,createAssociatedTokenAccountIdempotentInstruction as Im,TOKEN_PROGRAM_ID as Bm,TOKEN_2022_PROGRAM_ID as Sm}from"@solana/spl-token";var Ut=(...i)=>i.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=F(n)}createTxBuilder(t){return this.scope.checkOwner(),new dt({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(Ut(t))}logInfo(...t){this.logger.info(Ut(t))}logAndCreateError(...t){let n=Ut(t);throw new Error(n)}checkDisabled(){(this.disabled||!this.scope)&&this.logAndCreateError("module not working")}};import{PublicKey as Hl,SystemProgram as Zl}from"@solana/web3.js";import Jl from"bn.js";import{createCloseAccountInstruction as om,createInitializeAccountInstruction as im,createTransferInstruction as rm,TOKEN_PROGRAM_ID as am}from"@solana/spl-token";import{Keypair as Fl,PublicKey as vl}from"@solana/web3.js";import El from"bn.js";import{TOKEN_PROGRAM_ID as ql}from"@solana/spl-token";import{PublicKey as li}from"@solana/web3.js";import Mn,{isBN as Fn}from"bn.js";import{bits as Jo,BitStructure as Dc,blob as ei,Blob as Wc,cstr as qc,f32 as Uc,f32be as Gc,f64 as zc,f64be as Xc,greedy as Yc,Layout as ti,ns64 as Hc,ns64be as Qc,nu64 as Zc,nu64be as $c,offset as ni,s16 as jc,s16be as Jc,s24 as el,s24be as tl,s32 as oi,s32be as nl,s40 as ol,s40be as il,s48 as rl,s48be as al,s8 as sl,seq as ii,struct as ul,Structure as ri,u16 as ai,u16be as cl,u24 as ll,u24be as ml,u32 as si,u32be as dl,u40 as pl,u40be as fl,u48 as yl,u48be as bl,u8 as ui,UInt as ci,union as gl,Union as Pl,unionLayoutDiscriminator as Al,utf8 as wl}from"@solana/buffer-layout";var ft=ti,Rn=ri;var Gt=ci;var Ln=ui,Y=ai;var yt=si;var ue=oi;var On=ii;var N=ei;var zt=Jo,Nn=ni;var Ie=class extends ft{constructor(n,r,u){super(n,u);this.blob=N(n),this.signed=r}decode(n,r=0){let u=new Mn(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 Mn(n)),this.signed&&(n=n.toTwos(this.span*8)),this.blob.encode(n.toArrayLike(Buffer,"le",this.span),r,u)}},bt=class extends ft{constructor(n){super(8,n);this._lower=zt(yt(),!1),this._upper=zt(yt(),!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),d=this._upper.decode(n,r+this._lower.span);return R(R({},u),d)}encode(n,r,u=0){return this._lower.encode(n,r,u)+this._upper.encode(n,r,u+this._lower.span)}};function c(i){return new Gt(1,i)}function X(i){return new Gt(4,i)}function e(i){return new Ie(8,!1,i)}function x(i){return new Ie(16,!1,i)}function vn(i){return new Ie(1,!0,i)}function Ne(i){return new Ie(8,!0,i)}function _n(i){return new Ie(16,!0,i)}var je=class extends ft{constructor(n,r,u,d){super(n.span,d);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 o(i){return new je(N(32),t=>new li(t),t=>t.toBuffer(),i)}function ae(i){return new je(Ln(),mi,di,i)}function mi(i){if(i===0)return!1;if(i===1)return!0;throw new Error("Invalid bool: "+i)}function di(i){return i?1:0}function Yt(i,t){let n=yt("length"),r=l([n,m(i,Nn(n,-n.span),"values")]);return new je(r,({values:u})=>u,u=>({values:u}),t)}var Xt=class extends Rn{decode(t,n){return super.decode(t,n)}};function l(i,t,n){return new Xt(i,t,n)}function m(i,t,n){let r,u=typeof t=="number"?t:Fn(t)?t.toNumber():new Proxy(t,{get(d,p){if(!r){let f=Reflect.get(d,"count");r=Fn(f)?f.toNumber():f,Reflect.set(d,"count",r)}return Reflect.get(d,p)},set(d,p,f){return p==="count"&&(r=f),Reflect.set(d,p,f)}});return On(i,u,n)}var gt=l([o("mint"),o("owner"),e("amount"),X("delegateOption"),o("delegate"),c("state"),X("isNativeOption"),e("isNative"),e("delegatedAmount"),X("closeAuthorityOption"),o("closeAuthority")]);import{PublicKey as Vg,SystemProgram as Eg}from"@solana/web3.js";import{createAssociatedTokenAccountIdempotentInstruction as Wg}from"@solana/spl-token";import $g from"decimal.js";import{createAssociatedTokenAccountIdempotentInstruction as Ky,TOKEN_2022_PROGRAM_ID as xy,TOKEN_PROGRAM_ID as Cy}from"@solana/spl-token";import{PublicKey as Ly}from"@solana/web3.js";import Ny from"bn.js";import Fy from"decimal.js";import{TOKEN_PROGRAM_ID as vm}from"@solana/spl-token";import{PublicKey as Dm}from"@solana/web3.js";var fi=l([X("mintAuthorityOption"),o("mintAuthority"),e("supply"),c("decimals"),c("isInitialized"),X("freezeAuthorityOption"),o("freezeAuthority")]);import{ASSOCIATED_TOKEN_PROGRAM_ID as Hf,TOKEN_2022_PROGRAM_ID as Qf,TOKEN_PROGRAM_ID as Zf}from"@solana/spl-token";import{Keypair as Jf,PublicKey as ey,SystemProgram as ny,TransactionInstruction as oy}from"@solana/web3.js";import ry from"bn.js";import D from"bn.js";var Me=new D(1).shln(64);var yi=new D(1).shln(128),Ht=new D(1).shln(64).subn(1),bi=new D(1).shln(128).subn(1);var Fe=new D("4295048016"),ve=new D("79226673521066979257578248091"),gi=new D("59543866431248"),Pi=new D("184467440737095516"),Ai=new D("15793534762490258745");var Qt=60,jm=new D("18446743708227953217"),wi=[{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,En=100;var Dn=10,Wn=100,At=14;var $=new D(0),_e=new D(1),Jm=new D(-1);var ed=new D("18446744073700000000");var ki=l([N(8),c("bump"),Y("index"),o("owner"),X("protocolFeeRate"),X("tradeFeeRate"),Y("tickSpacing"),X("fundFeeRate"),m(X(),1),o("fundOwner"),m(e(),3)]),Ti=l([X("blockTimestamp"),Ne("tickCumulative"),m(e(),4)]),qn=l([N(8),ae("initialized"),e("recentEpoch"),Y("observationIndex"),o("poolId"),m(Ti,En,"observations"),m(e(),4)]),hi=l([Y("filterPeriod"),Y("decayPeriod"),Y("reductionFactor"),X("dynamicFeeControl"),X("maxVolatilityAccumulator"),ue("tickSpacingIndexReference"),X("volatilityReference"),X("volatilityAccumulator"),e("lastUpdateTimestamp"),m(c(),46)]),Ii=l([c("state"),e("openTime"),e("endTime"),e("lastUpdateTime"),x("emissionsPerSecondX64"),e("totalEmissioned"),e("claimed"),o("mint"),o("vault"),o("creator"),x("growthGlobalX64")]),Zt=l([N(8),c("bump"),o("configId"),o("creator"),o("mintA"),o("mintB"),o("vaultA"),o("vaultB"),o("observationId"),c("mintDecimalsA"),c("mintDecimalsB"),Y("tickSpacing"),x("liquidity"),x("sqrtPriceX64"),ue("tickCurrent"),X(),x("feeGrowthGlobalX64A"),x("feeGrowthGlobalX64B"),e("protocolFeesTokenA"),e("protocolFeesTokenB"),m(x(),4),c("status"),c("feeOn"),N(6),m(Ii,Je,"rewardInfos"),N(8*16,"tickArrayBitmap"),m(e(),4),e("fundFeesTokenA"),e("fundFeesTokenB"),e("startTime"),e("recentEpoch"),hi.replicate("dynamicFeeInfo"),m(e(),46)]),Bi=l([x("growthInsideLastX64"),e("rewardAmountOwed")]),Si=l([N(8),c("bump"),o("nftMint"),o("poolId"),ue("tickLower"),ue("tickUpper"),x("liquidity"),x("feeGrowthInsideLastX64A"),x("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),m(Bi,Je,"rewardInfos"),e("recentEpoch"),m(e(),7)]),id=l([N(8),c("bump"),o("poolId"),ue("tickLower"),ue("tickUpper"),x("liquidity"),x("feeGrowthInsideLastX64A"),x("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),m(x(),Je,"rewardGrowthInside"),e("recentEpoch"),m(e(),7)]),Ki=l([ue("tick"),_n("liquidityNet"),x("liquidityGross"),x("feeGrowthOutsideX64A"),x("feeGrowthOutsideX64B"),m(x(),Je,"rewardGrowthsOutsideX64"),e("orderPhase"),e("ordersAmount"),e("partFilledOrdersRemaining"),x("unfilledRatioX64"),m(X(),3)]),Un=l([N(8),o("poolId"),ue("startTickIndex"),m(Ki,Qt,"ticks"),c("initializedTickCount"),e("recentEpoch"),m(c(),107)]),xi=l([N(8),c("bump"),m(o(),Dn,"operationOwners"),m(o(),Wn,"whitelistMints")]),Ci=l([N(8),o("poolId"),o("owner"),ue("tick"),ae("zeroForOne"),e("orderPhase"),e("totalAmount"),e("filledAmount"),e("settleBase"),e("settleOutput"),e("openTime"),x("unfilledRatioX64"),m(e(),4)]),Gn=l([N(8),o("poolId"),N(8*8*At,"positiveTickArrayBitmap"),N(8*8*At,"negativeTickArrayBitmap")]),rd=l([N(8),Y("index"),Y("filterPeriod"),Y("decayPeriod"),Y("reductionFactor"),X("dynamicFeeControl"),X("maxVolatilityAccumulator"),m(e(),8)]),Ri=l([N(8),o("wallet"),c("nonceIndex"),e("orderNonce"),m(e(),4)]),ad=l([e(),c("bump"),o("owner"),o("poolId"),o("positionId"),o("nftAccount"),m(e(),8)]),Li=l([N(8),c("bump"),o("lockOwner"),o("poolId"),o("positionId"),o("nftAccount"),o("lockNftMint"),e("recentEpoch"),m(e(),8)]);import cd from"bn.js";var wd=Buffer.from("amm_config","utf8"),Ni=Buffer.from("pool","utf8"),Mi=Buffer.from("pool_vault","utf8"),kd=Buffer.from("pool_reward_vault","utf8"),Td=Buffer.from("position","utf8"),hd=Buffer.from("tick_array","utf8"),Id=Buffer.from("operation","utf8"),Bd=Buffer.from("pool_tick_array_bitmap_extension","utf8"),Sd=Buffer.from("observation","utf8"),Kd=Buffer.from("support_mint","utf8"),xd=Buffer.from("dynamic_fee_config","utf8"),Cd=Buffer.from("permission","utf8");var Rd=Buffer.from("locked_position","utf8");import{sha256 as Qi}from"js-sha256";import Fi from"bn.js";import Md from"decimal.js";var vd=new Fi(1).shln(256).subn(1);import ep from"bn.js";import Ud from"bn.js";import zd from"decimal.js";import rp from"bn.js";import sp from"decimal.js";import{PublicKey as Yp}from"@solana/web3.js";import Qp from"bn.js";import{TOKEN_2022_PROGRAM_ID as of,TOKEN_PROGRAM_ID as rf}from"@solana/spl-token";import cf from"decimal.js";import vp from"bn.js";import hp from"bn.js";import wf from"bn.js";function j(i){let t=`global:${i}`;return Buffer.from(Qi.digest(t)).slice(0,8)}qn.span;var fy=F("Raydium_Clmm"),yy={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 Ji=l([c("instruction")]),er=l([c("instruction")]),tr=l([e("rewardState"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardLastUpdateTime"),e("totalReward"),e("totalRewardEmissioned"),e("rewardClaimed"),e("rewardPerSecond"),x("accRewardPerShare"),o("rewardVault"),o("rewardMint"),o("rewardSender"),e("rewardType"),m(e(),15,"padding")]),nr=l([e("state"),e("nonce"),o("lpVault"),o("rewardVault"),o(),o(),e(),e(),e("totalReward"),x("perShareReward"),e("lastSlot"),e("perSlotReward")]),or=l([e("state"),e("nonce"),o("lpVault"),o("rewardVaultA"),e("totalRewardA"),x("perShareRewardA"),e("perSlotRewardA"),c("option"),o("rewardVaultB"),N(7),e("totalRewardB"),x("perShareRewardB"),e("perSlotRewardB"),e("lastSlot"),o()]),ir=l([e(),e("state"),e("nonce"),e("validRewardTokenNum"),x("rewardMultiplier"),e("rewardPeriodMax"),e("rewardPeriodMin"),e("rewardPeriodExtend"),o("lpMint"),o("lpVault"),m(tr,5,"rewardInfos"),o("creator"),o(),m(e(),32,"padding")]),rr=new Proxy(nr,{get(i,t,n){return t==="decode"?(...r)=>{let u=i.decode(...r);return E(R({},u),{version:3,rewardInfos:[{rewardVault:u.rewardVault,totalReward:u.totalReward,perSlotReward:u.perSlotReward,perShareReward:u.perShareReward}]})}:Reflect.get(i,t,n)}}),ar=new Proxy(or,{get(i,t,n){return t==="decode"?(...r)=>{let u=i.decode(...r);return E(R({},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(i,t,n)}}),$n=new Proxy(ir,{get(i,t,n){return t==="decode"?(...r)=>{let u=i.decode(...r);return E(R({},u),{version:6,rewardInfos:u.rewardInfos.map(d=>{var p;return E(R({},d),{rewardType:((p=Object.entries(tt).find(f=>String(f[1])===d.rewardType.toString()))!=null?p:["Standard SPL"])[0]})})})}:Reflect.get(i,t,n)}}),sr=l([e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),ur=l([c("instruction"),e("nonce"),m(sr,5,"rewardTimeInfo")]),cr=l([c("instruction"),e("rewardReopenTime"),e("rewardEndTime"),e("rewardPerSecond")]),lr=l([c("instruction"),e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),lb=l([e("state"),o("id"),o("owner"),e("deposited"),m(e(),1,"rewardDebts")]),jn=l([e("state"),o("id"),o("owner"),e("deposited"),m(x(),1,"rewardDebts"),e(""),e("voteLockedBalance"),m(e(),15)]),mb=l([e("state"),o("id"),o("owner"),e("deposited"),m(e(),2,"rewardDebts")]),mr=l([e("state"),o("id"),o("owner"),e("deposited"),m(x(),2,"rewardDebts"),m(e(),17)]),dr=l([e(),e("state"),o("id"),o("owner"),e("deposited"),m(x(),5,"rewardDebts"),m(e(),16)]),pr=l([c("instruction"),e("amount")]),fr=l([o("mint"),o("grantAuthority"),e("baselineVoteWeightScaledFactor"),e("maxExtraLockupVoteWeightScaledFactor"),e("lockupSaturationSecs"),vn("digitShift"),m(c(),7,"reserved1"),m(e(),7,"reserved2")]),yr=l([N(8),o("governanceProgramId"),o("realm"),o("realmGoverningTokenMint"),o("realmAuthority"),m(c(),32,"reserved1"),m(fr,4,"votingMints"),Ne("timeOffset"),c("bump"),m(c(),7,"reserved2"),m(e(),11,"reserved3")]),br=l([Ne("startTime"),Ne("endTime"),c("kind"),m(c(),15,"reserved")]),gr=l([m(br,1,"lockup"),e("amountDeposited_native"),e("amountInitiallyLockedNative"),ae("isUsed"),ae("allowClawback"),c("votingMintConfigIdx"),m(c(),29,"reserved")]),Pr=l([N(8),o("voterAuthority"),o("registrar"),m(gr,32,"deposits"),c("voterBump"),c("voterWweightRecordBump"),m(c(),94,"reserved")]);import{NATIVE_MINT as wb}from"@solana/spl-token";var kb=F("Raydium_farm_config"),Ar=new en("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),wr=new en("FrspKwj8i3pNmKwXreTveC4fu7KL5ZbGeXdZBe2XViu1");var Tb=new en("3TRTX4dXUpp2eqxi3tvQDFYUV7SdDJjcPE3Y4mbtftaX");var tt={"Standard SPL":0,"Option tokens":1},Jn={[Tn.toString()]:3,[hn.toString()]:4,[In.toString()]:5,[vt.toString()]:6,[Ae.FARM_PROGRAM_ID_V3.toString()]:3,[Ae.FARM_PROGRAM_ID_V4.toString()]:4,[Ae.FARM_PROGRAM_ID_V5.toString()]:5,[Ae.FARM_PROGRAM_ID_V6.toString()]:6};import{PublicKey as Jb,SystemProgram as eg,SYSVAR_CLOCK_PUBKEY as tg,SYSVAR_RENT_PUBKEY as ng,TransactionInstruction as og}from"@solana/web3.js";import rg from"bn.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as sg,createAssociatedTokenAccountIdempotentInstruction as ug,TOKEN_PROGRAM_ID as cg}from"@solana/spl-token";import Cb from"bn.js";var qb=F("Raydium.farm.util");var wg=F("Raydium_farm_instruction"),kg={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 uP from"bn.js";import{PublicKey as pw}from"@solana/web3.js";import{AccountLayout as bw,MintLayout as gw,NATIVE_MINT as Pw,TOKEN_PROGRAM_ID as ww}from"@solana/spl-token";import to from"bn.js";var xr=new to(25),Cr=new to(1e4);import{ASSOCIATED_TOKEN_PROGRAM_ID as RP,TOKEN_PROGRAM_ID as LP}from"@solana/spl-token";import{PublicKey as NP,SystemProgram as MP,SYSVAR_RENT_PUBKEY as FP,TransactionInstruction as vP}from"@solana/web3.js";import GP from"bn.js";var Rr=l([c("instruction"),e("amountIn"),e("minAmountOut")]),Lr=l([c("instruction"),e("maxAmountIn"),e("amountOut")]),SP=l([c("instruction"),c("nonce")]),Or=l([c("instruction"),c("nonce"),e("startTime")]),no=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"),x("swapBaseInAmount"),x("swapQuoteOutAmount"),e("swapBase2QuoteFee"),x("swapQuoteInAmount"),x("swapBaseOutAmount"),e("swapQuote2BaseFee"),o("baseVault"),o("quoteVault"),o("baseMint"),o("quoteMint"),o("lpMint"),o("openOrders"),o("marketId"),o("marketProgramId"),o("targetOrders"),o("withdrawQueue"),o("lpVault"),o("owner"),e("lpReserve"),m(e(),3,"padding")]),KP=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"),x("swapBaseInAmount"),x("swapQuoteOutAmount"),x("swapQuoteInAmount"),x("swapBaseOutAmount"),e("swapQuote2BaseFee"),e("swapBase2QuoteFee"),o("baseVault"),o("quoteVault"),o("baseMint"),o("quoteMint"),o("lpMint"),o("modelDataAccount"),o("openOrders"),o("marketId"),o("marketProgramId"),o("targetOrders"),o("owner"),m(e(),64,"padding")]),Nr=l([c("instruction"),e("baseAmountIn"),e("quoteAmountIn"),e("fixedSide"),e("otherAmountMin")]),Mr=l([c("instruction"),e("lpAmount"),e("baseAmountMin"),e("quoteAmountMin")]);var Fr=l([e("fee")]);var YP=F("Raydium_liquidity_instruction");var vr=5e4,_r=l([e("x"),e("y"),e("price")]),$P=l([e("accountType"),e("status"),e("multiplier"),e("validDataCount"),m(_r,vr,"DataElement")]);import{PublicKey as cA}from"@solana/web3.js";import mA from"decimal.js";import{TOKEN_PROGRAM_ID as pA}from"@solana/spl-token";import{PublicKey as tA}from"@solana/web3.js";var iA=F("Raydium_liquidity_serum");import Dw from"bn.js";import qw from"decimal.js";import{TOKEN_PROGRAM_ID as DA}from"@solana/spl-token";import{PublicKey as qA}from"@solana/web3.js";import GA from"bn.js";import{SystemProgram as KA,SYSVAR_RENT_PUBKEY as xA,Transaction as CA,TransactionInstruction as RA}from"@solana/web3.js";import{createInitializeAccountInstruction as OA,TOKEN_PROGRAM_ID as NA}from"@solana/spl-token";function Vr(i="accountFlags"){let t=new bt(i);return t.addBoolean("initialized"),t.addBoolean("market"),t.addBoolean("openOrders"),t.addBoolean("requestQueue"),t.addBoolean("eventQueue"),t.addBoolean("bids"),t.addBoolean("asks"),t}var Er=l([N(5),Vr("accountFlags"),o("ownAddress"),e("vaultSignerNonce"),o("baseMint"),o("quoteMint"),o("baseVault"),e("baseDepositsTotal"),e("baseFeesAccrued"),o("quoteVault"),e("quoteDepositsTotal"),e("quoteFeesAccrued"),e("quoteDustThreshold"),o("requestQueue"),o("eventQueue"),o("bids"),o("asks"),e("baseLotSize"),e("quoteLotSize"),e("feeRateBps"),e("referrerRebatesAccrued"),N(7)]);import{PublicKey as fT}from"@solana/web3.js";import{AccountLayout as bT,NATIVE_MINT as gT,TOKEN_2022_PROGRAM_ID as PT,TOKEN_PROGRAM_ID as AT,createAssociatedTokenAccountIdempotentInstruction as wT}from"@solana/spl-token";import lk from"bn.js";import Xr from"bn.js";var jw=new Xr(0);import nk from"bn.js";import xT from"bn.js";import RT from"decimal.js";import{PublicKey as Rk,TransactionInstruction as Lk,Keypair as Nk,SystemProgram as Mk}from"@solana/web3.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as vk,TOKEN_2022_PROGRAM_ID as _k,TOKEN_PROGRAM_ID as Vk}from"@solana/spl-token";var yk=Buffer.from("vault_and_lp_mint_auth_seed","utf8"),bk=Buffer.from("amm_config","utf8"),gk=Buffer.from("pool","utf8"),Pk=Buffer.from("pool_lp_mint","utf8"),Ak=Buffer.from("pool_vault","utf8"),wk=Buffer.from("observation","utf8"),kk=Buffer.from("permission","utf8"),Tk=Buffer.from("support_mint","utf8"),hk=Buffer.from("creator_fee_share","utf8");var Ik=Buffer.from("locked_liquidity","utf8");var zk=F("Raydium_cpmm"),Xk={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 Qr=l([N(8),c("bump"),ae("disableCreatePool"),Y("index"),e("tradeFeeRate"),e("protocolFeeRate"),e("fundFeeRate"),e("createPoolFee"),o("protocolOwner"),o("fundOwner"),e("creatorFeeRate"),e("creatorFeeShareRate"),m(e(),14)]),oo=l([N(8),o("configId"),o("poolCreator"),o("vaultA"),o("vaultB"),o("mintLp"),o("mintA"),o("mintB"),o("mintProgramA"),o("mintProgramB"),o("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"),ae("enableCreatorFee"),m(c(),6),e("creatorFeesMintA"),e("creatorFeesMintB"),m(e(),28)]),Qk=l([N(8),o("configId"),m(e(),30)]),Zk=l([N(8),c("bump"),o("creator"),o("ammConfig"),e("shareRate"),m(e(),8)]);import{PublicKey as qK,SystemProgram as UK}from"@solana/web3.js";import{createTransferInstruction as zK,TOKEN_PROGRAM_ID as XK,TOKEN_2022_PROGRAM_ID as YK,createAssociatedTokenAccountIdempotentInstruction as HK,createSyncNativeInstruction as ZK,createTransferCheckedInstruction as $K}from"@solana/spl-token";import ba from"bn.js";import ex from"decimal.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as Vh,TOKEN_2022_PROGRAM_ID as Eh,TOKEN_PROGRAM_ID as Dh}from"@solana/spl-token";import{SystemProgram as Gh,TransactionInstruction as zh}from"@solana/web3.js";import jr from"bn.js";var hh=Buffer.from("vault_auth_seed","utf8"),Ih=Buffer.from("global_config","utf8"),Bh=Buffer.from("pool_vesting","utf8"),Sh=Buffer.from("platform_config","utf8"),Kh=Buffer.from("platform_fee_vault_auth_seed","utf8"),xh=Buffer.from("creator_fee_vault_auth_seed","utf8"),Ch=Buffer.from("platform_global_access","utf8"),Rh=Buffer.from("platform_allow_config","utf8"),Lh=Buffer.from("platform_curve_rule","utf8");var Hh={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 Qh=new jr("18446744073709551615");var Jr=l([e(),e("epoch"),c("curveType"),Y("index"),e("migrateFee"),e("tradeFeeRate"),e("maxShareFeeRate"),e("minSupplyA"),e("maxLockRate"),e("minSellRateA"),e("minMigrateRateA"),e("minFundRaisingB"),o("mintB"),o("protocolFeeOwner"),o("migrateFeeOwner"),o("migrateToAmmWallet"),o("migrateToCpmmWallet"),m(e(),16)]),ea=l([e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod"),e("startTime"),e("totalAllocatedShare")]),ta=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"),ea.replicate("vestingSchedule"),o("configId"),o("platformId"),o("mintA"),o("mintB"),o("vaultA"),o("vaultB"),o("creator"),c("mintProgramFlag"),c("cpmmCreatorFeeOn"),e("platformVestingShare"),m(c(),54)]),Jh=l([e(),e("epoch"),o("poolId"),o("beneficiary"),e("claimedAmount"),e("tokenShareAmount"),m(e(),8)]),na=l([c("migrateType"),c("migrateCpmmFeeOn"),e("supply"),e("totalSellA"),e("totalFundRaisingB"),e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod")]),eI=l([e("epoch"),c("index"),o("configId"),na.replicate("bondingCurveParam"),m(e(),50)]),ro=l([e(),e("epoch"),o("platformClaimFeeWallet"),o("platformLockNftWallet"),e("platformScale"),e("creatorScale"),e("burnScale"),e("feeRate"),m(c(),64,"name"),m(c(),256,"web"),m(c(),256,"img"),o("cpConfigId"),e("creatorFeeRate"),o("transferFeeExtensionAuth"),o("platformVestingWallet"),e("platformVestingScale"),o("platformCpCreator"),c("restrictGlobalConfig"),c("restrictCurveParam"),o("curveRuleManager"),m(c(),78)]),oa=l([c("field"),c("op"),x("value")]),ia=l([Y("groupId"),e("epoch"),Yt(oa,"constraints")]),ra=l([e(),c("bump"),c("version"),o("platformId"),o("configId"),e("epoch"),m(e(),8),Yt(ia,"groups")]);import{TOKEN_2022_PROGRAM_ID as oI,TOKEN_PROGRAM_ID as iI}from"@solana/spl-token";import aa from"bn.js";var bI=new aa(1e6);import wI from"bn.js";import TI from"decimal.js";import eB from"bn.js";import nB from"decimal.js";import xI from"bn.js";import RI from"decimal.js";import DI from"bn.js";import qI from"decimal.js";import uo from"bn.js";import tn from"decimal.js";var ht=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))}};ht._Q64=new tn(new uo(1).shln(64).toString());import{NATIVE_MINT as gS,TOKEN_2022_PROGRAM_ID as PS,TOKEN_PROGRAM_ID as AS,createAssociatedTokenAccountIdempotentInstruction as kS,createSyncNativeInstruction as TS,getTransferFeeConfig as hS,unpackMint as IS}from"@solana/spl-token";import Q from"bn.js";import{PublicKey as pa,SystemProgram as KS}from"@solana/web3.js";import MS from"decimal.js";var FS={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 pa("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),vestingSchedule:{totalLockedAmount:new Q(0),cliffPeriod:new Q(0),unlockPeriod:new Q(0),startTime:new Q(0),totalAllocatedShare:new Q(0)}},vS=new Q(1e4);var fa={[Bn.toBase58()]:3};var ya=l([N(5),N(8),o("ownAddress"),e("vaultSignerNonce"),o("baseMint"),o("quoteMint"),o("baseVault"),e("baseDepositsTotal"),e("baseFeesAccrued"),o("quoteVault"),e("quoteDepositsTotal"),e("quoteFeesAccrued"),e("quoteDustThreshold"),o("requestQueue"),o("eventQueue"),o("bids"),o("asks"),e("baseLotSize"),e("quoteLotSize"),e("feeRateBps"),e("referrerRebatesAccrued"),N(7)]);import{PublicKey as aK}from"@solana/web3.js";var mK=F("Serum");import{ASSOCIATED_TOKEN_PROGRAM_ID as wK,TOKEN_2022_PROGRAM_ID as kK,TOKEN_PROGRAM_ID as TK}from"@solana/spl-token";import{PublicKey as IK,SystemProgram as BK,TransactionInstruction as SK}from"@solana/web3.js";import xK from"bn.js";var Rx=new ba(0);import{PublicKey as ga,Transaction as nn,TransactionInstruction as Pa}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Aa}from"@solana/spl-token";import co from"bn.js";var te=class extends oe{static getPdaPoolId(t,n){return de([te.SEED_CONFIG.pool.id,n.toBuffer()],t)}static getPdaOwnerId(t,n,r,u){return de([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:d}){if(r.length===0)return[];let p=r.map(b=>te.getPdaPoolId(n,b).publicKey),f=[];for(let b=0;b<te.VERSION_PROJECT.length;b++)f.push(...p.map(C=>te.getPdaOwnerId(n,C,u,b).publicKey));let g=await Pe(t,[...p,...f]),B=[];for(let b=0;b<g.length;b++){let C=Math.floor(b/r.length),L=b%r.length,S=p[L],M=f[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),v=I.openTime.toNumber(),_=I.endTime.toNumber(),y=h.tokenInfo.map(K=>K.debtAmount.gt(new co(0))).filter(K=>!K).length!==3,A=d>v&&d<_&&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((K,O)=>({mintAddress:K.mintAddress,mintVault:K.mintVault,mintDecimals:K.mintDecimals,perLpLoss:K.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),d=n.wallet||this.scope.ownerPubKey,p=[];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(ee.WSOL.mint),createInfo:{payer:d,amount:0},skipCloseAccount:!B.mintAddress.equals(ee.WSOL.mint),associatedOnly:B.mintAddress.equals(ee.WSOL.mint)?!1:n.associatedOnly});C&&u.addInstruction(C),p.push(b)}u.addInstruction({instructions:[te.makeClaimInstruction({programId:t.programId,poolInfo:t,ownerInfo:{wallet:d,ownerPda:t.ownerAccountId,claimAddress:p}})]});let{transaction:f,signers:g}=u.build();return[{transaction:f,signer:g}]}async makeClaimAllTransaction({poolInfos:t,ownerInfo:n,feePayer:r}){let u=this.createTxBuilder(r),d=n.wallet||this.scope.ownerPubKey,p={};for(let b of t){let C=[];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(ee.WSOL.mint),createInfo:{payer:d,amount:0},skipCloseAccount:!L.mintAddress.equals(ee.WSOL.mint),associatedOnly:L.mintAddress.equals(ee.WSOL.mint)?!1:n.associatedOnly});M&&u.addInstruction(M),S&&(p[L.mintAddress.toString()]=S,C.push(S))}u.addInstruction({instructions:[te.makeClaimInstruction({programId:b.programId,poolInfo:b,ownerInfo:{wallet:d,ownerPda:b.ownerAccountId,claimAddress:C}})]})}let{transaction:f,signers:g}=u.build(),B=u.allInstructions;return Ft(B,[d,...g.map(b=>b.publicKey)])?[{transaction:f,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([]),d=[{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:Aa,isSigner:!1,isWritable:!1}],p=Buffer.alloc(u.span);u.encode({},p);let f=Buffer.from([10,66,208,184,161,6,191,98,...p]);return new Pa({keys:d,programId:t,data:f})}},ce=te;ce.CLAIMED_NUM=3,ce.POOL_LAYOUT=l([N(8),c("bump"),c("status"),e("openTime"),e("endTime"),o("ammId"),m(l([c("mintDecimals"),o("mintAddress"),o("mintVault"),e("perLpLoss"),e("totalClaimedAmount")]),te.CLAIMED_NUM,"tokenInfo"),m(e(),10,"padding")]),ce.OWNER_LAYOUT=l([N(8),c("bump"),c("version"),o("poolId"),o("owner"),e("lpAmount"),m(l([o("mintAddress"),e("debtAmount"),e("claimedAmount")]),te.CLAIMED_NUM,"tokenInfo"),m(e(),4,"padding")]),ce.DEFAULT_POOL_ID=["58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2","6UmmUiYoBjSrhakAobJw8BvkmJtDVxaeBtbt7rxWo1mg","AVs9TA4nWDzfPJE9gGVNJMVhcQy3V9PGazuz33BfG2RA","DVa7Qmb5ct9RCpaU7UTpSaf3GVMYz17vNVU67XpdCRut","7XawhbbxtsRcQA8KTkHT9f9nc6d69UwqCDh6U5EEbEmX","6a1CsrpeZubDjEJE9s1CMVheB6HWM5d7m1cj2jkhyXhj","EoNrn8iUhwgJySD1pHu8Qxm5gSQqLK3za4m8xzD2RuEb","AceAyRTWt4PyB2pHqf2qhDgNZDtKVNaxgL8Ru3V4aN1P","6tmFJbMk5yVHFcFy7X2K8RwHjKLr6KVFLYXpgpBNeAxB"].map(t=>new ga(t)),ce.SEED_CONFIG={pool:{id:Buffer.from("pool_seed","utf8")},owner:{id:Buffer.from("user_claim_seed","utf8")}},ce.VERSION_PROJECT=[void 0,"Francium","Tulip","Larix"];import{PublicKey as Yx}from"@solana/web3.js";import{getTransferFeeConfig as Qx,MintLayout as Zx,TOKEN_2022_PROGRAM_ID as $x,TOKEN_PROGRAM_ID as jx,unpackMint as Jx}from"@solana/spl-token";var SR=new Be(2),KR=new Be(3),xR=new Be(5),on=new Be(10),CR=new Be(100),RR=new Be(1e3),LR=new Be(1e4);function Ot(i){return on.pow(H(i))}var ka=F("Raydium_amount"),lo=Ge(wa);function Ta(i,t){let n="0",r="0";if(i.includes(".")){let u=i.split(".");u.length===2?([n,r]=u,r=r.padEnd(t,"0")):ka.logWithError(`invalid number string, num: ${i}`)}else n=i;return[n,r.slice(0,t)||r]}var re=class extends W{constructor(n,r,u=!0,d){let p=new It(0),f=on.pow(new It(n.decimals));if(u)p=H(r);else{let g=new It(0),B=new It(0);if(typeof r=="string"||typeof r=="number"||typeof r=="bigint"){let[b,C]=Ta(r.toString(),n.decimals);g=H(b),B=H(C)}g=g.mul(f),p=g.add(B)}super(p,f);this.logger=F(d||"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)}};async function jo(i){new Promise(t=>setTimeout(t,i))}function oL(){return new Date().getTime()}function Ba(i){return typeof i=="object"&&i!==null&&![ee,re,ha,W,Ia,se,ge].some(t=>typeof t=="object"&&i instanceof t)}function De(i){return typeof i=="string"?Bt(i):Array.isArray(i)?i.map(t=>De(t)):Ba(i)?Object.fromEntries(Object.entries(i).map(([t,n])=>[t,De(n)])):i}export{oL as getTimestamp,De as jsonInfo2PoolKeys,Ba as notInnerObject,jo as sleep};
//# sourceMappingURL=utility.mjs.map