@raydium-io/raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
1 lines • 75.1 kB
JavaScript
var po=Object.defineProperty,fo=Object.defineProperties;var yo=Object.getOwnPropertyDescriptors;var ot=Object.getOwnPropertySymbols;var an=Object.prototype.hasOwnProperty,sn=Object.prototype.propertyIsEnumerable;var rn=(o,t,n)=>t in o?po(o,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):o[t]=n,L=(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},D=(o,t)=>fo(o,yo(t));var le=(o,t)=>{var n={};for(var i in o)an.call(o,i)&&t.indexOf(i)<0&&(n[i]=o[i]);if(o!=null&&ot)for(var i of ot(o))t.indexOf(i)<0&&sn.call(o,i)&&(n[i]=o[i]);return n};import{PublicKey as Aa}from"@solana/web3.js";import wa from"bn.js";import ba from"big.js";import It from"bn.js";import Be from"bn.js";import BC from"decimal.js";import{PublicKey as bo}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as un}from"@solana/spl-token";var it={chainId:101,address:bo.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"}},me={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 xt}from"@solana/web3.js";import{PublicKey as z,SystemProgram as cn,SYSVAR_RENT_PUBKEY as go}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Po}from"@solana/spl-token";function xe({pubkey:o,isSigner:t=!1,isWritable:n=!0}){return{pubkey:o,isWritable:n,isSigner:t}}var Ao=[xe({pubkey:Po,isWritable:!1}),xe({pubkey:cn.programId,isWritable:!1}),xe({pubkey:go,isWritable:!1})];function ln({publicKey:o,transformSol:t}){let n=Bt(o.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(o){try{return new z(o)}catch{return o}}var St=new z("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),qe=new z("SysvarRent111111111111111111111111111111111"),Ca=new z("SysvarC1ock11111111111111111111111111111111"),rt=new z("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),wo=new z("Sysvar1nstructions1111111111111111111111111"),ko=cn.programId,Ra=new z("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),La=new z("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Oa=new z("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),Na=new z("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Ma=new z("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Fa=new z("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),va=new z("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),Va=new z("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),_a=new z("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Ea=new z("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Da=new z("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),be=new z("So11111111111111111111111111111111111111112"),ke=z.default;var Kt=class{constructor({mint:t,decimals:n,symbol:i,name:u,skipMint:d=!1,isToken2022:p=!1}){if(t===ke.toBase58()||t instanceof xt&&ke.equals(t)){this.decimals=me.decimals,this.symbol=me.symbol,this.name=me.name,this.mint=new xt(me.address),this.isToken2022=!1;return}this.decimals=n,this.symbol=i||t.toString().substring(0,6),this.name=u||t.toString().substring(0,6),this.mint=d?xt.default:ln({publicKey:t}),this.isToken2022=p}equals(t){return this===t?!0:this.mint.equals(t.mint)}},J=Kt;J.WSOL=new Kt(D(L({},me),{mint:me.address}));var Ct=class{constructor({decimals:t,symbol:n="UNKNOWN",name:i="UNKNOWN"}){this.decimals=t,this.symbol=n,this.name=i}equals(t){return this===t}},at=Ct;at.SOL=new Ct(it);import ut from"big.js";import xo from"bn.js";import Ko from"decimal.js-light";import{get as mn,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(i=>typeof i=="object"?JSON.stringify(i):i).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}},dn={},ho={};function F(o){let t=mn(dn,o);if(!t){let n=mn(ho,o);t=new Rt({name:o,logLevel:n}),To(dn,o,t)}return t}import Ue from"bn.js";var pn=9007199254740991;function Y(o){let t=F("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>=pn||o<=-pn)&&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 Io from"toformat";var Bo=Io,Ge=Bo;var st=F("module/fraction"),Lt=Ge(ut),ze=Ge(Ko),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 xo(1)){this.numerator=Y(t),this.denominator=Y(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(Y(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(Y(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(Y(t));return new W(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(t){let n=t instanceof W?t:new W(Y(t));return new W(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(t,n={groupSeparator:""},i=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[i]});let u=new ze(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(t);return u.toFormat(u.decimalPlaces(),n)}toFixed(t,n={groupSeparator:""},i=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[i]||1,new Lt(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,n)}isZero(){return this.numerator.isZero()}};import Lo from"bn.js";var fn=new W(new Lo(100)),ge=class extends W{toSignificant(t=5,n,i){return this.mul(fn).toSignificant(t,n,i)}toFixed(t=2,n,i){return this.mul(fn).toFixed(t,n,i)}};var Oo=F("Raydium_price"),se=class extends W{constructor(n){let{baseToken:i,quoteToken:u,numerator:d,denominator:p}=n;super(d,p);this.baseToken=i,this.quoteToken=u,this.scalar=new W(Ot(i.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 i=super.mul(n);return new se({baseToken:this.baseToken,quoteToken:n.quoteToken,denominator:i.denominator,numerator:i.numerator})}toSignificant(n=this.quoteToken.decimals,i,u){return this.adjusted.toSignificant(n,i,u)}toFixed(n=this.quoteToken.decimals,i,u){return this.adjusted.toFixed(n,i,u)}};import{merge as KK}from"lodash";import ec from"axios";import{PublicKey as No}from"@solana/web3.js";import{MINT_SIZE as Ss,TOKEN_PROGRAM_ID as xs,getTransferFeeConfig as Ks,unpackMint as Cs}from"@solana/spl-token";var Nt=F("Raydium_accountInfo_util");async function Pe(o,t,n){let{batchRequest:i,commitment:u="confirmed",chunkCount:d=100}=L({batchRequest:!1},n),p=Mt(t,d),f=new Array(p.length).fill([]);if(i){let g=p.map(K=>{let C=o._buildArgs([K.map(S=>S.toBase58())],u,"base64");return{methodName:"getMultipleAccounts",args:C}}),B=Mt(g,10);f=(await(await Promise.all(B.map(async K=>await o._rpcBatchRequest(K)))).flat()).map(K=>(K.error&&Nt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${K.error.message}`),K.result.value.map(C=>{if(C){let{data:S,executable:M,lamports:P,owner:T,rentEpoch:I}=C;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=>o.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(o,t=1,n=[]){let i=[...o];if(t<=0)return n;for(;i.length;)n.push(i.splice(0,t));return n}import{PublicKey as Xs}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Qs}from"@solana/spl-token";import{ComputeBudgetProgram as yn,Keypair as gn,PublicKey as Mo,Transaction as Pn,TransactionMessage as Fo,VersionedTransaction as An}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 bn=F("Raydium_txUtil"),wn=1644;function ct(o){let t=[],n=[];return o.microLamports&&(t.push(yn.setComputeUnitPrice({microLamports:o.microLamports})),n.push(Z.SetComputeUnitPrice)),o.units&&(t.push(yn.setComputeUnitLimit({units:o.units})),n.push(Z.SetComputeUnitLimit)),{instructions:t,instructionTypes:n}}async function Ke(o,t){var i,u;let n=t!=null?t:"confirmed";return(u=await((i=o.getLatestBlockhash)==null?void 0:i.call(o,{commitment:n})))==null?void 0:u.blockhash}async function lt(o,t){return o.getSignatureStatuses([t]),new Promise((n,i)=>{let u=setTimeout(i,6e4);o.onSignature(t,d=>{if(clearTimeout(u),!d.err){n("");return}i(Object.assign(d.err,{txId:t}))},"confirmed")})}function Ft(o,t){o.length<1&&bn.logWithError(`no instructions provided: ${o.toString()}`),t.length<1&&bn.logWithError(`no signers provided:, ${t.toString()}`);let n=new Pn;n.recentBlockhash="11111111111111111111111111111111",n.feePayer=t[0],n.add(...o);try{return Buffer.from(n.serialize({verifySignatures:!1})).toString("base64").length<wn}catch{return!1}}function de(o,t){let[n,i]=Mo.findProgramAddressSync(o,t);return{publicKey:n,nonce:i}}function Ye({instructions:o,payer:t,signers:n}){return Ft(o,[t,...n])}function Qe({instructions:o,payer:t,lookupTableAddressAccount:n,recentBlockhash:i=gn.generate().publicKey.toString()}){let d=new Fo({payerKey:t,recentBlockhash:i,instructions:o}).compileToV0Message(Object.values(n!=null?n:{}));try{return Buffer.from(new An(d).serialize()).toString("base64").length<wn}catch{return!1}}var Vo=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 An&&(t=Vo(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 Pn&&(n.recentBlockhash||(n.recentBlockhash=vo.toBase58()),n.feePayer||(n.feePayer=gn.generate().publicKey)),t.push(_o(n))}),console.log("simulate tx string:",t),t}import{PublicKey as k}from"@solana/web3.js";var kn=new k("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),Tn=new k("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),hn=new k("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),vt=new k("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),$s=new k("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Eo=new k("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),In=new k("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),Bn=new k("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),Js=new k("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),Do=new k("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Sn=new k("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),Wo=new k("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),qo=new k("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),xn=new k("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),eu=new k("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Uo=new k("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Vt=new k("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),Go=new k("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),tu=new k("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),zo=new k("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Xo=new k("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),Yo=new k("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),nu=new k("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),ou=new k("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),iu=new k("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),ru=new k("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),au=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 cu from"bn.js";import{PublicKey as _t,AddressLookupTableAccount as Le}from"@solana/web3.js";async function Et({connection:o,address:t,cluster:n="mainnet"}){let i=await Pe(o,[...new Set(t.map(d=>d.toString()))].map(d=>new _t(d))),u={};for(let d=0;d<t.length;d++){let p=i[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 o=>{let t="AcL1Vo8oy1ULiavEcjSUcwfBSForXMudcZvDZy5nzJkU";if(Ce[t])return Ce;let n=new _t(t),i=await o.getAccountInfo(n);return i&&(Ce[t]=new Le({key:n,state:Le.deserialize(i.data)})),Ce},Re={},Wt=async o=>{let t="EFhMuDw1PKEuckuFRW9PavNfTH4LKP5uKHgyXDmWpFCq";if(Re[t])return Re;let n=new _t(t),i=await o.getAccountInfo(n);return i&&(Re[t]=new Le({key:n,state:Le.deserialize(i.data)})),Re};import{PublicKey as Oe,sendAndConfirmTransaction as qt,SystemProgram as Qo,Transaction as Ze,TransactionMessage as He,VersionedTransaction as je}from"@solana/web3.js";import Zo 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 i;let t=(await Zo.get(`https://solanacompass.com/api/fees?cacheFreshTime=${3e5}`)).data,{avg:n}=(i=t==null?void 0:t[15])!=null?i:{};if(!!n)return{units:6e5,microLamports:Math.min(Math.ceil(n*1e6/6e5),25e3)}}addCustomComputeBudget(t){if(t){let{instructions:n,instructionTypes:i}=ct(t);return this.instructions.unshift(...n),this.instructionTypes.unshift(...i),!0}return!1}addTipInstruction(t){var n;return t?(this.endInstructions.push(Qo.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 i=t||await this.getComputeBudgetConfig();if(this.addCustomComputeBudget(i))return;n&&this.instructions.unshift(...n)}catch{n&&this.instructions.unshift(...n)}}addInstruction({instructions:t=[],endInstructions:n=[],signers:i=[],instructionTypes:u=[],endInstructionTypes:d=[],lookupTableAddress:p=[]}){return this.instructions.push(...t),this.endInstructions.push(...n),this.signers.push(...i),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:i}){return t===0?await this.buildV0(D(L({},n||{}),{lookupTableAddress:i})):this.build(n)}build(t){var i;let n=new Ze;return this.allInstructions.length&&n.add(...this.allInstructions),n.feePayer=this.feePayer,((i=this.owner)==null?void 0:i.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 Ke(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(C=>C.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 K=await this.signAllTransactions([n]);if(this.signers.length)for(let C of K)try{C.sign(...this.signers)}catch{}return{txId:g?"":await this.connection.sendRawTransaction(K[0].serialize(),{skipPreflight:p}),signedTx:K[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:t||{}}}buildMultiTx(t){var B;let{extraPreBuildData:n=[],extInfo:i}=t,{transaction:u}=this.build(i),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(K=>K.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:K,onTxUpdate:C,skipTxCount:S=0,recentBlockHash:M,skipPreflight:P=!0}=b||{},T=M!=null?M:await Ke(this.connection,this.blockhashCommitment);if((I=this.owner)!=null&&I.isKeyPair){if(K){let h=[],v=0;for(let V of p){if(++v,v<=S)continue;let y=await qt(this.connection,V,this.signers.find(A=>A.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:P});h.push(y)}return{txIds:h,signedTxs: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((V,y)=>(V.recentBlockhash=T,f[y].length&&V.sign(...f[y]),V));Te(h);let v=await this.signAllTransactions(h);if(K){let V=0,y=[],A=async()=>{if(!v[V])return;let w=await this.connection.sendRawTransaction(v[V].serialize(),{skipPreflight:P});y.push({txId:w,status:"sent",signedTx:v[V]}),C==null||C([...y]),V++;let x=!1,R=null,_=null,ie=U=>{R!==null&&clearInterval(R),_!==null&&this.connection.removeSignatureListener(_);let q=y.findIndex($=>$.txId===w);if(q>-1){if(y[q].status==="error"||y[q].status==="success")return;y[q].status=U.err?"error":"success"}C==null||C([...y]),U.err||A()};this.loopMultiTxStatus&&(R=setInterval(async()=>{var U;if(x){clearInterval(R);return}try{let q=await this.connection.getTransaction(w,{commitment:"confirmed",maxSupportedTransactionVersion:0});q&&(x=!0,clearInterval(R),ie({err:((U=q.meta)==null?void 0:U.err)||null}),console.log("tx status from getTransaction:",w))}catch(q){x=!0,clearInterval(R),console.error("getTransaction timeout:",q,w)}},mt)),_=this.connection.onSignature(w,U=>{if(x){this.connection.removeSignatureListener(_);return}x=!0,ie(U)},"confirmed"),this.connection.getSignatureStatus(w)};return await A(),{txIds:y.map(w=>w.txId),signedTxs:v}}else{let V=[];for(let y=0;y<v.length;y+=1){let A=await this.connection.sendRawTransaction(v[y].serialize(),{skipPreflight:P});V.push(A)}return{txIds:V,signedTxs:v}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:i||{}}}async versionMultiBuild({extraPreBuildData:t,txVersion:n,extInfo:i}){return n===0?await this.buildV0MultiTx({extraPreBuildData:t,buildProps:i||{}}):this.buildMultiTx({extraPreBuildData:t,extInfo:i})}async buildV0(t){var P;let M=t||{},{lookupTableCache:n={},lookupTableAddress:i=[],forerunCreate:u,recentBlockhash:d}=M,p=le(M,["lookupTableCache","lookupTableAddress","forerunCreate","recentBlockhash"]),f=L(L({},this.cluster==="devnet"?await Wt(this.connection):await Dt(this.connection)),n),g=Array.from(new Set([...i,...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 K=u?Oe.default.toBase58():d!=null?d:await Ke(this.connection,this.blockhashCommitment),C=new He({payerKey:this.feePayer,recentBlockhash:K,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 je(C);return S.sign(this.signers),{builder:this,transaction:S,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async T=>{var V;let{skipPreflight:I=!0,sendAndConfirm:h,notSendToRpc:v}=T||{};if(Te([S]),(V=this.owner)!=null&&V.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:i}=t,{transaction:u}=await this.buildV0(i),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(K=>K.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),p.forEach(async(b,K)=>{b.sign(f[K])}),{builder:this,transactions:p,signers:f,instructionTypes:g,buildProps:i,execute:async b=>{var P;let{sequentially:K,onTxUpdate:C,recentBlockHash:S,skipPreflight:M=!0}=b||{};if(S&&p.forEach(T=>T.message.recentBlockhash=S),Te(p),(P=this.owner)!=null&&P.isKeyPair){if(K){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(K){let I=0,h=[],v=async()=>{if(!T[I])return;let V=await this.connection.sendTransaction(T[I],{skipPreflight:M});h.push({txId:V,status:"sent",signedTx:T[I]}),C==null||C([...h]),I++;let y=!1,A=null,w=null,x=R=>{A!==null&&clearInterval(A),w!==null&&this.connection.removeSignatureListener(w);let _=h.findIndex(ie=>ie.txId===V);if(_>-1){if(h[_].status==="error"||h[_].status==="success")return;h[_].status=R.err?"error":"success"}C==null||C([...h]),R.err||v()};this.loopMultiTxStatus&&(A=setInterval(async()=>{var R;if(y){clearInterval(A);return}try{let _=await this.connection.getTransaction(V,{commitment:"confirmed",maxSupportedTransactionVersion:0});_&&(y=!0,clearInterval(A),x({err:((R=_.meta)==null?void 0:R.err)||null}),console.log("tx status from getTransaction:",V))}catch(_){y=!0,clearInterval(A),console.error("getTransaction timeout:",_,V)}},mt)),w=this.connection.onSignature(V,R=>{if(y){this.connection.removeSignatureListener(w);return}y=!0,x(R)},"confirmed"),this.connection.getSignatureStatus(V)};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:i||{}}}async sizeCheckBuild(t){var C;let K=t||{},{splitIns:n=[],computeBudgetConfig:i}=K,u=le(K,["splitIns","computeBudgetConfig"]),d=i?ct(i):{instructions:[],instructionTypes:[]},p=this.signers.reduce((S,M)=>D(L({},S),{[M.publicKey.toBase58()]:M}),{}),f=[],g=[],B=[],b=0;if(this.allInstructions.forEach(S=>{let M=[...B,S],P=i?[...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:i?[...d.instructions,...B]:[...B],payer:this.feePayer,signers:I})?f.push(new Ze().add(...d.instructions,...B)):f.push(new Ze().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:i?[...d.instructions,...B]:[...B],payer:this.feePayer,signers:M.map(P=>P.publicKey)})?f.push(new Ze().add(...d.instructions,...B)):f.push(new Ze().add(...B)),g.push(M)}return f.forEach(S=>S.feePayer=this.feePayer),(C=this.owner)!=null&&C.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 V;let{sequentially:M,onTxUpdate:P,skipTxCount:T=0,recentBlockHash:I,skipPreflight:h=!0}=S||{},v=I!=null?I:await Ke(this.connection,this.blockhashCommitment);if(f.forEach(async(y,A)=>{y.recentBlockhash=v,g[A].length&&y.sign(...g[A])}),Te(f),(V=this.owner)!=null&&V.isKeyPair){if(M){let y=0,A=[];for(let w of f){if(++y,y<=T){A.push("tx skipped");continue}let x=await qt(this.connection,w,this.signers.find(R=>R.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:h});A.push(x)}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,x=[],R=async()=>{if(!A[w])return;w<T&&(x.push({txId:"",status:"success",signedTx:A[w]}),P==null||P([...x]),w++,R());let _=await this.connection.sendRawTransaction(A[w].serialize(),{skipPreflight:h});x.push({txId:_,status:"sent",signedTx:A[w]}),P==null||P([...x]),w++;let ie=!1,U=null,q=null,$=G=>{U!==null&&clearInterval(U),q!==null&&this.connection.removeSignatureListener(q);let ne=x.findIndex(fe=>fe.txId===_);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||R()};this.loopMultiTxStatus&&(U=setInterval(async()=>{var G;if(ie){clearInterval(U);return}try{let ne=await this.connection.getTransaction(_,{commitment:"confirmed",maxSupportedTransactionVersion:0});ne&&(ie=!0,clearInterval(U),$({err:((G=ne.meta)==null?void 0:G.err)||null}),console.log("tx status from getTransaction:",_))}catch(ne){ie=!0,clearInterval(U),console.error("getTransaction timeout:",ne,_)}},mt)),q=this.connection.onSignature(_,G=>{if(ie){this.connection.removeSignatureListener(q);return}ie=!0,$(G)},"confirmed"),this.connection.getSignatureStatus(_)};return await R(),{txIds:x.map(_=>_.txId),signedTxs:A}}else{let w=[];for(let x=0;x<A.length;x+=1){let R=await this.connection.sendRawTransaction(A[x].serialize(),{skipPreflight:h});w.push(R)}return{txIds:w,signedTxs:A}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:u||{}}}async sizeCheckBuildV0(t){var V;let v=t||{},{computeBudgetConfig:n,splitIns:i=[],lookupTableCache:u={},lookupTableAddress:d=[],insCountLimit:p=12}=v,f=le(v,["computeBudgetConfig","splitIns","lookupTableCache","lookupTableAddress","insCountLimit"]),g=L(L({},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 K=await Et({connection:this.connection,address:b});for(let[y,A]of Object.entries(K))g[y]=A;let C=n?ct(n):{instructions:[],instructionTypes:[]},S=await Ke(this.connection,this.blockhashCommitment),M=this.signers.reduce((y,A)=>D(L({},y),{[A.publicKey.toBase58()]:A}),{}),P=[],T=[],I=[],h=0;if(this.allInstructions.forEach(y=>{let A=[...I,y],w=n?[...C.instructions,...A]:A;if(y!==i[h]&&I.length<p&&(Qe({instructions:w,payer:this.feePayer,lookupTableAddressAccount:g})||Qe({instructions:A,payer:this.feePayer,lookupTableAddressAccount:g})))I.push(y);else{if(I.length===0)throw Error("item ins too big");h+=y===i[h]?1:0;let x={};for(let R of[...new Set(B)])g[R]!==void 0&&(x[R]=g[R]);if(n&&Qe({instructions:[...C.instructions,...I],payer:this.feePayer,lookupTableAddressAccount:g,recentBlockhash:S})){let R=new He({payerKey:this.feePayer,recentBlockhash:S,instructions:[...C.instructions,...I]}).compileToV0Message(Object.values(g));P.push(new je(R))}else{let R=new He({payerKey:this.feePayer,recentBlockhash:S,instructions:[...I]}).compileToV0Message(Object.values(g));P.push(new je(R))}T.push(Array.from(new Set(I.map(R=>R.keys.filter(_=>_.isSigner).map(_=>_.pubkey.toString())).flat())).map(R=>M[R]).filter(R=>R!==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&&Qe({instructions:[...C.instructions,...I],payer:this.feePayer,lookupTableAddressAccount:g,recentBlockhash:S})){let w=new He({payerKey:this.feePayer,recentBlockhash:S,instructions:[...C.instructions,...I]}).compileToV0Message(Object.values(g));P.push(new je(w))}else{let w=new He({payerKey:this.feePayer,recentBlockhash:S,instructions:[...I]}).compileToV0Message(Object.values(g));P.push(new je(w))}T.push(A)}return(V=this.owner)!=null&&V.signer&&T.forEach(y=>{y.some(A=>A.publicKey.equals(this.owner.publicKey))||y.push(this.owner.signer)}),P.forEach((y,A)=>{y.sign(T[A])}),{builder:this,transactions:P,buildProps:t,signers:T,instructionTypes:this.instructionTypes,execute:async y=>{var ie;let{sequentially:A,onTxUpdate:w,skipTxCount:x=0,recentBlockHash:R,skipPreflight:_=!0}=y||{};if(P.map(async(U,q)=>{T[q].length&&U.sign(T[q]),R&&(U.message.recentBlockhash=R)}),Te(P),(ie=this.owner)!=null&&ie.isKeyPair){if(A){let U=0,q=[];for(let $ of P){if(++U,U<=x){console.log("skip tx: ",U),q.push("tx skipped");continue}let G=await this.connection.sendTransaction($,{skipPreflight:_});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:_}))),signedTxs:P}}if(this.signAllTransactions){let U=await this.signAllTransactions(P.slice(x,P.length)),q=[...P.slice(0,x),...U];if(A){let $=0,G=[],ne=async()=>{if(!q[$])return;if($<x){G.push({txId:"",status:"success",signedTx:q[$]}),w==null||w([...G]),$++,ne();return}let fe=await this.connection.sendTransaction(q[$],{skipPreflight:_});G.push({txId:fe,status:"sent",signedTx:q[$]}),w==null||w([...G]),$++;let We=!1,Se=null,nt=null,on=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:0});ye&&(We=!0,clearInterval(Se),on({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,on(we)},"confirmed"),this.connection.getSignatureStatus(fe)};return ne(),{txIds:[],signedTxs:q}}else{let $=[];for(let G=0;G<q.length;G+=1){let ne=await this.connection.sendTransaction(q[G],{skipPreflight:_});$.push(ne)}return{txIds:$,signedTxs:q}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:f||{}}}};import Ho from"bn.js";var pt=new Ho(1e6);var Kn={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"},jo=D(L({},Kn),{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 hc=F("Raydium_Api");import{PublicKey as pm,SystemProgram as fm}from"@solana/web3.js";import{AccountLayout as Am,createAssociatedTokenAccountIdempotentInstruction as wm,TOKEN_PROGRAM_ID as km,TOKEN_2022_PROGRAM_ID as Tm}from"@solana/spl-token";var Ut=(...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=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 Gl,SystemProgram as Xl}from"@solana/web3.js";import Zl from"bn.js";import{createCloseAccountInstruction as Jl,createInitializeAccountInstruction as em,createTransferInstruction as tm,TOKEN_PROGRAM_ID as nm}from"@solana/spl-token";import{Keypair as Ll,PublicKey as Ol}from"@solana/web3.js";import Fl from"bn.js";import{TOKEN_PROGRAM_ID as _l}from"@solana/spl-token";import{PublicKey as li}from"@solana/web3.js";import Nn,{isBN as Mn}from"bn.js";import{bits as Jo,BitStructure as vc,blob as ei,Blob as Vc,cstr as _c,f32 as Ec,f32be as Dc,f64 as Wc,f64be as qc,greedy as Uc,Layout as ti,ns64 as Gc,ns64be as zc,nu64 as Xc,nu64be as Yc,offset as ni,s16 as Qc,s16be as Zc,s24 as Hc,s24be as jc,s32 as oi,s32be as $c,s40 as Jc,s40be as el,s48 as tl,s48be as nl,s8 as ol,seq as ii,struct as il,Structure as ri,u16 as ai,u16be as rl,u24 as al,u24be as sl,u32 as si,u32be as ul,u40 as cl,u40be as ll,u48 as ml,u48be as dl,u8 as ui,UInt as ci,union as pl,Union as fl,unionLayoutDiscriminator as yl,utf8 as bl}from"@solana/buffer-layout";var ft=ti,Cn=ri;var Gt=ci;var Rn=ui,H=ai;var yt=si;var ue=oi;var Ln=ii;var N=ei;var zt=Jo,On=ni;var Ie=class extends ft{constructor(n,i,u){super(n,u);this.blob=N(n),this.signed=i}decode(n,i=0){let u=new Nn(this.blob.decode(n,i),10,"le");return this.signed?u.fromTwos(this.span*8).clone():u}encode(n,i,u=0){return typeof n=="number"&&(n=new Nn(n)),this.signed&&(n=n.toTwos(this.span*8)),this.blob.encode(n.toArrayLike(Buffer,"le",this.span),i,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,i=0){let u=this._lower.decode(n,i),d=this._upper.decode(n,i+this._lower.span);return L(L({},u),d)}encode(n,i,u=0){return this._lower.encode(n,i,u)+this._upper.encode(n,i,u+this._lower.span)}};function c(o){return new Gt(1,o)}function X(o){return new Gt(4,o)}function e(o){return new Ie(8,!1,o)}function O(o){return new Ie(16,!1,o)}function Fn(o){return new Ie(1,!0,o)}function Ne(o){return new Ie(8,!0,o)}function vn(o){return new Ie(16,!0,o)}var $e=class extends ft{constructor(n,i,u,d){super(n.span,d);this.layout=n,this.decoder=i,this.encoder=u}decode(n,i){return this.decoder(this.layout.decode(n,i))}encode(n,i,u){return this.layout.encode(this.encoder(n),i,u)}getSpan(n,i){return this.layout.getSpan(n,i)}};function r(o){return new $e(N(32),t=>new li(t),t=>t.toBuffer(),o)}function ae(o){return new $e(Rn(),mi,di,o)}function mi(o){if(o===0)return!1;if(o===1)return!0;throw new Error("Invalid bool: "+o)}function di(o){return o?1:0}function Vn(o,t){let n=yt("length"),i=l([n,m(o,On(n,-n.span),"values")]);return new $e(i,({values:u})=>u,u=>({values:u}),t)}var Xt=class extends Cn{decode(t,n){return super.decode(t,n)}};function l(o,t,n){return new Xt(o,t,n)}function m(o,t,n){let i,u=typeof t=="number"?t:Mn(t)?t.toNumber():new Proxy(t,{get(d,p){if(!i){let f=Reflect.get(d,"count");i=Mn(f)?f.toNumber():f,Reflect.set(d,"count",i)}return Reflect.get(d,p)},set(d,p,f){return p==="count"&&(i=f),Reflect.set(d,p,f)}});return Ln(o,u,n)}var gt=l([r("mint"),r("owner"),e("amount"),X("delegateOption"),r("delegate"),c("state"),X("isNativeOption"),e("isNative"),e("delegatedAmount"),X("closeAuthorityOption"),r("closeAuthority")]);import{PublicKey as Mg,SystemProgram as Fg}from"@solana/web3.js";import{createAssociatedTokenAccountIdempotentInstruction as Vg}from"@solana/spl-token";import Yg from"decimal.js";import{createAssociatedTokenAccountIdempotentInstruction as Ay,TOKEN_2022_PROGRAM_ID as wy,TOKEN_PROGRAM_ID as ky}from"@solana/spl-token";import{PublicKey as hy}from"@solana/web3.js";import By from"bn.js";import xy from"decimal.js";import{TOKEN_PROGRAM_ID as Om}from"@solana/spl-token";import{PublicKey as vm}from"@solana/web3.js";var fi=l([X("mintAuthorityOption"),r("mintAuthority"),e("supply"),c("decimals"),c("isInitialized"),X("freezeAuthorityOption"),r("freezeAuthority")]);import{ASSOCIATED_TOKEN_PROGRAM_ID as Wf,TOKEN_2022_PROGRAM_ID as qf,TOKEN_PROGRAM_ID as Uf}from"@solana/spl-token";import{Keypair as Xf,PublicKey as Yf,SystemProgram as Zf,TransactionInstruction as Hf}from"@solana/web3.js";import $f from"bn.js";import E from"bn.js";var Me=new E(1).shln(64);var yi=new E(1).shln(128),Yt=new E(1).shln(64).subn(1),bi=new E(1).shln(128).subn(1);var Fe=new E("4295048016"),ve=new E("79226673521066979257578248091"),gi=new E("59543866431248"),Pi=new E("184467440737095516"),Ai=new E("15793534762490258745");var Qt=60,Qm=new E("18446743708227953217"),wi=[{bit:0,factor:new E("fffcb933bd6fb800",16)},{bit:1,factor:new E("fff97272373d4000",16)},{bit:2,factor:new E("fff2e50f5f657000",16)},{bit:3,factor:new E("ffe5caca7e10f000",16)},{bit:4,factor:new E("ffcb9843d60f7000",16)},{bit:5,factor:new E("ff973b41fa98e800",16)},{bit:6,factor:new E("ff2ea16466c9b000",16)},{bit:7,factor:new E("fe5dee046a9a3800",16)},{bit:8,factor:new E("fcbe86c7900bb000",16)},{bit:9,factor:new E("f987a7253ac65800",16)},{bit:10,factor:new E("f3392b0822bb6000",16)},{bit:11,factor:new E("e7159475a2caf000",16)},{bit:12,factor:new E("d097f3bdfd2f2000",16)},{bit:13,factor:new E("a9f746462d9f8000",16)},{bit:14,factor:new E("70d869a156f31c00",16)},{bit:15,factor:new E("31be135f97ed3200",16)},{bit:16,factor:new E("9aa508b5b85a500",16)},{bit:17,factor:new E("5d6af8dedc582c",16)},{bit:18,factor:new E("2216e584f5fa",16)}];var Je=3,En=100;var Dn=10,Wn=100,At=14;var j=new E(0),Ve=new E(1),Zm=new E(-1);var Hm=new E("18446744073700000000");var ki=l([N(8),c("bump"),H("index"),r("owner"),X("protocolFeeRate"),X("tradeFeeRate"),H("tickSpacing"),X("fundFeeRate"),m(X(),1),r("fundOwner"),m(e(),3)]),Ti=l([X("blockTimestamp"),Ne("tickCumulative"),m(e(),4)]),qn=l([N(8),ae("initialized"),e("recentEpoch"),H("observationIndex"),r("poolId"),m(Ti,En,"observations"),m(e(),4)]),hi=l([H("filterPeriod"),H("decayPeriod"),H("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"),O("emissionsPerSecondX64"),e("totalEmissioned"),e("claimed"),r("mint"),r("vault"),r("creator"),O("growthGlobalX64")]),Zt=l([N(8),c("bump"),r("configId"),r("creator"),r("mintA"),r("mintB"),r("vaultA"),r("vaultB"),r("observationId"),c("mintDecimalsA"),c("mintDecimalsB"),H("tickSpacing"),O("liquidity"),O("sqrtPriceX64"),ue("tickCurrent"),X(),O("feeGrowthGlobalX64A"),O("feeGrowthGlobalX64B"),e("protocolFeesTokenA"),e("protocolFeesTokenB"),m(O(),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([O("growthInsideLastX64"),e("rewardAmountOwed")]),Si=l([N(8),c("bump"),r("nftMint"),r("poolId"),ue("tickLower"),ue("tickUpper"),O("liquidity"),O("feeGrowthInsideLastX64A"),O("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),m(Bi,Je,"rewardInfos"),e("recentEpoch"),m(e(),7)]),ed=l([N(8),c("bump"),r("poolId"),ue("tickLower"),ue("tickUpper"),O("liquidity"),O("feeGrowthInsideLastX64A"),O("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),m(O(),Je,"rewardGrowthInside"),e("recentEpoch"),m(e(),7)]),xi=l([ue("tick"),vn("liquidityNet"),O("liquidityGross"),O("feeGrowthOutsideX64A"),O("feeGrowthOutsideX64B"),m(O(),Je,"rewardGrowthsOutsideX64"),e("orderPhase"),e("ordersAmount"),e("partFilledOrdersRemaining"),O("unfilledRatioX64"),m(X(),3)]),Un=l([N(8),r("poolId"),ue("startTickIndex"),m(xi,Qt,"ticks"),c("initializedTickCount"),e("recentEpoch"),m(c(),107)]),Ki=l([N(8),c("bump"),m(r(),Dn,"operationOwners"),m(r(),Wn,"whitelistMints")]),Ci=l([N(8),r("poolId"),r("owner"),ue("tick"),ae("zeroForOne"),e("orderPhase"),e("totalAmount"),e("filledAmount"),e("settleBase"),e("settleOutput"),e("openTime"),O("unfilledRatioX64"),m(e(),4)]),Gn=l([N(8),r("poolId"),N(8*8*At,"positiveTickArrayBitmap"),N(8*8*At,"negativeTickArrayBitmap")]),td=l([N(8),H("index"),H("filterPeriod"),H("decayPeriod"),H("reductionFactor"),X("dynamicFeeControl"),X("maxVolatilityAccumulator"),m(e(),8)]),Ri=l([N(8),r("wallet"),c("nonceIndex"),e("orderNonce"),m(e(),4)]),nd=l([e(),c("bump"),r("owner"),r("poolId"),r("positionId"),r("nftAccount"),m(e(),8)]),Li=l([N(8),c("bump"),r("lockOwner"),r("poolId"),r("positionId"),r("nftAccount"),r("lockNftMint"),e("recentEpoch"),m(e(),8)]);import rd from"bn.js";var bd=Buffer.from("amm_config","utf8"),Oi=Buffer.from("pool","utf8"),Ni=Buffer.from("pool_vault","utf8"),gd=Buffer.from("pool_reward_vault","utf8"),Pd=Buffer.from("position","utf8"),Ad=Buffer.from("tick_array","utf8"),wd=Buffer.from("operation","utf8"),kd=Buffer.from("pool_tick_array_bitmap_extension","utf8"),Td=Buffer.from("observation","utf8"),hd=Buffer.from("support_mint","utf8"),Id=Buffer.from("dynamic_fee_config","utf8");var Bd=Buffer.from("locked_position","utf8");import{sha256 as Qi}from"js-sha256";import Mi from"bn.js";import Cd from"decimal.js";var Ld=new Mi(1).shln(256).subn(1);import Zd from"bn.js";import _d from"bn.js";import Dd from"decimal.js";import ep from"bn.js";import np from"decimal.js";import{PublicKey as qp}from"@solana/web3.js";import Gp from"bn.js";import{TOKEN_2022_PROGRAM_ID as $p,TOKEN_PROGRAM_ID as Jp}from"@solana/spl-token";import of from"decimal.js";import Lp from"bn.js";import Pp from"bn.js";import yf from"bn.js";function ee(o){let t=`global:${o}`;return Buffer.from(Qi.digest(t)).slice(0,8)}qn.span;var ay=F("Raydium_Clmm"),sy={createPool:ee("create_pool"),createCustomizablePool:ee("create_customizable_pool"),openPositionV2:ee("open_position_v2"),openPositio