@raydium-io/raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
1 lines • 75.2 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 wa}from"@solana/web3.js";import ka from"bn.js";import ga from"big.js";import It from"bn.js";import Be from"bn.js";import KC 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"),Ra=new z("SysvarC1ock11111111111111111111111111111111"),rt=new z("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),wo=new z("Sysvar1nstructions1111111111111111111111111"),ko=cn.programId,La=new z("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Oa=new z("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Na=new z("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),Ma=new z("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Fa=new z("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),va=new z("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),Va=new z("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),_a=new z("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),Ea=new z("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Da=new z("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Wa=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)}},ee=Kt;ee.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 LK}from"lodash";import tc from"axios";import{PublicKey as No}from"@solana/web3.js";import{MINT_SIZE as xs,TOKEN_PROGRAM_ID as Ks,getTransferFeeConfig as Cs,unpackMint as Rs}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 Ys}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Zs}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 H={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(H.SetComputeUnitPrice)),o.units&&(t.push(yn.setComputeUnitLimit({units:o.units})),n.push(H.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"),Js=new k("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Eo=new k("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),In=new k("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),Bn=new k("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),eu=new k("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),Do=new k("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Sn=new k("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),Wo=new k("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),qo=new k("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),xn=new k("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),tu=new k("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Uo=new k("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Vt=new k("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),Go=new k("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),nu=new k("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),zo=new k("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Xo=new k("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),Yo=new k("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),ou=new k("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),iu=new k("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),ru=new k("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),au=new k("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),su=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 lu 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(H.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(J=>J.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,J=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),J({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,J(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 J of P){if(++U,U<=x){console.log("skip tx: ",U),q.push("tx skipped");continue}let G=await this.connection.sendTransaction(J,{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 J=0,G=[],ne=async()=>{if(!q[J])return;if(J<x){G.push({txId:"",status:"success",signedTx:q[J]}),w==null||w([...G]),J++,ne();return}let fe=await this.connection.sendTransaction(q[J],{skipPreflight:_});G.push({txId:fe,status:"sent",signedTx:q[J]}),w==null||w([...G]),J++;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 J=[];for(let G=0;G<q.length;G+=1){let ne=await this.connection.sendTransaction(q[G],{skipPreflight:_});J.push(ne)}return{txIds:J,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 Ic=F("Raydium_Api");import{PublicKey as fm,SystemProgram as ym}from"@solana/web3.js";import{AccountLayout as wm,createAssociatedTokenAccountIdempotentInstruction as km,TOKEN_PROGRAM_ID as Tm,TOKEN_2022_PROGRAM_ID as hm}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 zl,SystemProgram as Yl}from"@solana/web3.js";import Hl from"bn.js";import{createCloseAccountInstruction as em,createInitializeAccountInstruction as tm,createTransferInstruction as nm,TOKEN_PROGRAM_ID as om}from"@solana/spl-token";import{Keypair as Ol,PublicKey as Nl}from"@solana/web3.js";import vl from"bn.js";import{TOKEN_PROGRAM_ID as El}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 _c,cstr as Ec,f32 as Dc,f32be as Wc,f64 as qc,f64be as Uc,greedy as Gc,Layout as ti,ns64 as zc,ns64be as Xc,nu64 as Yc,nu64be as Qc,offset as ni,s16 as Zc,s16be as Hc,s24 as jc,s24be as $c,s32 as oi,s32be as Jc,s40 as el,s40be as tl,s48 as nl,s48be as ol,s8 as il,seq as ii,struct as rl,Structure as ri,u16 as ai,u16be as al,u24 as sl,u24be as ul,u32 as si,u32be as cl,u40 as ll,u40be as ml,u48 as dl,u48be as pl,u8 as ui,UInt as ci,union as fl,Union as yl,unionLayoutDiscriminator as bl,utf8 as gl}from"@solana/buffer-layout";var ft=ti,Cn=ri;var Gt=ci;var Rn=ui,Q=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 _g,SystemProgram as Eg}from"@solana/web3.js";import{createAssociatedTokenAccountIdempotentInstruction as Wg}from"@solana/spl-token";import jg from"decimal.js";import{createAssociatedTokenAccountIdempotentInstruction as hy,TOKEN_2022_PROGRAM_ID as Iy,TOKEN_PROGRAM_ID as By}from"@solana/spl-token";import{PublicKey as xy}from"@solana/web3.js";import Cy from"bn.js";import Ly from"decimal.js";import{TOKEN_PROGRAM_ID as Nm}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 zf,TOKEN_2022_PROGRAM_ID as Xf,TOKEN_PROGRAM_ID as Yf}from"@solana/spl-token";import{Keypair as Hf,PublicKey as jf,SystemProgram as Jf,TransactionInstruction as ey}from"@solana/web3.js";import ny 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,Zm=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),Hm=new E(-1);var jm=new E("18446744073700000000");var ki=l([N(8),c("bump"),Q("index"),r("owner"),X("protocolFeeRate"),X("tradeFeeRate"),Q("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"),Q("observationIndex"),r("poolId"),m(Ti,En,"observations"),m(e(),4)]),hi=l([Q("filterPeriod"),Q("decayPeriod"),Q("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"),Q("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)]),td=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")]),nd=l([N(8),Q("index"),Q("filterPeriod"),Q("decayPeriod"),Q("reductionFactor"),X("dynamicFeeControl"),X("maxVolatilityAccumulator"),m(e(),8)]),Ri=l([N(8),r("wallet"),c("nonceIndex"),e("orderNonce"),m(e(),4)]),od=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 ad from"bn.js";var gd=Buffer.from("amm_config","utf8"),Ni=Buffer.from("pool","utf8"),Mi=Buffer.from("pool_vault","utf8"),Pd=Buffer.from("pool_reward_vault","utf8"),Ad=Buffer.from("position","utf8"),wd=Buffer.from("tick_array","utf8"),kd=Buffer.from("operation","utf8"),Td=Buffer.from("pool_tick_array_bitmap_extension","utf8"),hd=Buffer.from("observation","utf8"),Id=Buffer.from("support_mint","utf8"),Bd=Buffer.from("dynamic_fee_config","utf8"),Sd=Buffer.from("permission","utf8");var xd=Buffer.from("locked_position","utf8");import{sha256 as Zi}from"js-sha256";import Fi from"bn.js";import Ld from"decimal.js";var Nd=new Fi(1).shln(256).subn(1);import jd from"bn.js";import Dd from"bn.js";import qd from"decimal.js";import np from"bn.js";import ip from"decimal.js";import{PublicKey as Gp}from"@solana/web3.js";import Xp from"bn.js";import{TOKEN_2022_PROGRAM_ID as ef,TOKEN_PROGRAM_ID as tf}from"@solana/spl-token";import af from"decimal.js";import Np from"bn.js";import wp from"bn.js";import gf from"bn.js";function $(o){let t=`global:${o}`;return Buffer.from(Zi.digest(t)).slice(0,8)}qn.span;var ly=F("Raydium_Clmm"),my={createPool:$("create_pool"),createCustomizablePool:$("create_customizable_pool"),createPermissi