@raydium-io/raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
1 lines • 75.8 kB
JavaScript
var bo=Object.defineProperty,go=Object.defineProperties;var Po=Object.getOwnPropertyDescriptors;var it=Object.getOwnPropertySymbols;var sn=Object.prototype.hasOwnProperty,un=Object.prototype.propertyIsEnumerable;var an=(o,t,n)=>t in o?bo(o,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):o[t]=n,C=(o,t)=>{for(var n in t||(t={}))sn.call(t,n)&&an(o,n,t[n]);if(it)for(var n of it(t))un.call(t,n)&&an(o,n,t[n]);return o},E=(o,t)=>go(o,Po(t));var le=(o,t)=>{var n={};for(var i in o)sn.call(o,i)&&t.indexOf(i)<0&&(n[i]=o[i]);if(o!=null&&it)for(var i of it(o))t.indexOf(i)<0&&un.call(o,i)&&(n[i]=o[i]);return n};import{PublicKey as La}from"@solana/web3.js";import Oa from"bn.js";import Ka from"big.js";import It from"bn.js";import xe from"bn.js";import aR from"decimal.js";import{PublicKey as Ao}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as cn}from"@solana/spl-token";var rt={chainId:101,address:Ao.default.toBase58(),programId:cn.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},me={chainId:101,address:"So11111111111111111111111111111111111111112",programId:cn.toBase58(),decimals:9,symbol:"WSOL",name:"Wrapped SOL",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}};import{PublicKey as xt}from"@solana/web3.js";import{PublicKey as z,SystemProgram as ln,SYSVAR_RENT_PUBKEY as wo}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ko}from"@solana/spl-token";function Ce({pubkey:o,isSigner:t=!1,isWritable:n=!0}){return{pubkey:o,isWritable:n,isSigner:t}}var To=[Ce({pubkey:ko,isWritable:!1}),Ce({pubkey:ln.programId,isWritable:!1}),Ce({pubkey:wo,isWritable:!1})];function mn({publicKey:o,transformSol:t}){let n=Bt(o.toString());if(n instanceof z)return t&&n.equals(ke)?de:n;if(t&&n.toString()===ke.toBase58())return de;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"),Re=new z("SysvarRent111111111111111111111111111111111"),ho=new z("SysvarC1ock11111111111111111111111111111111"),at=new z("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),Io=new z("Sysvar1nstructions1111111111111111111111111"),dn=ln.programId,Wa=new z("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),qa=new z("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Ua=new z("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),Ga=new z("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),za=new z("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Ya=new z("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),Xa=new z("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),Qa=new z("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),Za=new z("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Ha=new z("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),ja=new z("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),de=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:mn({publicKey:t}),this.isToken2022=p}equals(t){return this===t?!0:this.mint.equals(t.mint)}},J=Kt;J.WSOL=new Kt(E(C({},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}},st=Ct;st.SOL=new Ct(rt);import ct from"big.js";import Ro from"bn.js";import Lo from"decimal.js-light";import{get as pn,set as Bo}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}},fn={},So={};function F(o){let t=pn(fn,o);if(!t){let n=pn(So,o);t=new Rt({name:o,logLevel:n}),Bo(fn,o,t)}return t}import Ue from"bn.js";var yn=9007199254740991;function X(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>=yn||o<=-yn)&&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 xo from"toformat";var Ko=xo,Ge=Ko;var ut=F("module/fraction"),Lt=Ge(ct),ze=Ge(Lo),Oo={[0]:ze.ROUND_DOWN,[1]:ze.ROUND_HALF_UP,[2]:ze.ROUND_UP},No={[0]:ct.roundDown,[1]:ct.roundHalfUp,[2]:ct.roundUp},W=class{constructor(t,n=new Ro(1)){this.numerator=X(t),this.denominator=X(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(X(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(X(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(X(t));return new W(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(t){let n=t instanceof W?t:new W(X(t));return new W(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(t,n={groupSeparator:""},i=1){Number.isInteger(t)||ut.logWithError(`${t} is not an integer.`),t<=0&&ut.logWithError(`${t} is not positive.`),ze.set({precision:t+1,rounding:Oo[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)||ut.logWithError(`${t} is not an integer.`),t<0&&ut.logWithError(`${t} is negative.`),Lt.DP=t,Lt.RM=No[i]||1,new Lt(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,n)}isZero(){return this.numerator.isZero()}};import Mo from"bn.js";var bn=new W(new Mo(100)),ge=class extends W{toSignificant(t=5,n,i){return this.mul(bn).toSignificant(t,n,i)}toFixed(t=2,n,i){return this.mul(bn).toFixed(t,n,i)}};var Fo=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&&Fo.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 sC}from"lodash";import mc from"axios";import{PublicKey as vo}from"@solana/web3.js";import{MINT_SIZE as Vs,TOKEN_PROGRAM_ID as _s,getTransferFeeConfig as Es,unpackMint as Ds}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}=C({batchRequest:!1},n),p=Mt(t,d),f=new Array(p.length).fill([]);if(i){let g=p.map(K=>{let R=o._buildArgs([K.map(S=>S.toBase58())],u,"base64");return{methodName:"getMultipleAccounts",args:R}}),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(R=>{if(R){let{data:S,executable:M,lamports:A,owner:T,rentEpoch:I}=R;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:A,owner:new vo(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 ou}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ru}from"@solana/spl-token";import{ComputeBudgetProgram as gn,Keypair as An,PublicKey as Vo,Transaction as wn,TransactionMessage as _o,VersionedTransaction as kn}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 Eo}from"@solana/spl-token";var Pn=F("Raydium_txUtil"),Tn=1644;function lt(o){let t=[],n=[];return o.microLamports&&(t.push(gn.setComputeUnitPrice({microLamports:o.microLamports})),n.push(Z.SetComputeUnitPrice)),o.units&&(t.push(gn.setComputeUnitLimit({units:o.units})),n.push(Z.SetComputeUnitLimit)),{instructions:t,instructionTypes:n}}async function Le(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 mt(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&&Pn.logWithError(`no instructions provided: ${o.toString()}`),t.length<1&&Pn.logWithError(`no signers provided:, ${t.toString()}`);let n=new wn;n.recentBlockhash="11111111111111111111111111111111",n.feePayer=t[0],n.add(...o);try{return Buffer.from(n.serialize({verifySignatures:!1})).toString("base64").length<Tn}catch{return!1}}function pe(o,t){let[n,i]=Vo.findProgramAddressSync(o,t);return{publicKey:n,nonce:i}}function Xe({instructions:o,payer:t,signers:n}){return Ft(o,[t,...n])}function Qe({instructions:o,payer:t,lookupTableAddressAccount:n,recentBlockhash:i=An.generate().publicKey.toString()}){let d=new _o({payerKey:t,recentBlockhash:i,instructions:o}).compileToV0Message(Object.values(n!=null?n:{}));try{return Buffer.from(new kn(d).serialize()).toString("base64").length<Tn}catch{return!1}}var Do=o=>Buffer.isBuffer(o)?o:o instanceof Uint8Array?Buffer.from(o.buffer,o.byteOffset,o.byteLength):Buffer.from(o),Wo=o=>{let t=o.serialize({requireAllSignatures:!1,verifySignatures:!1});o instanceof kn&&(t=Do(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 wn&&(n.recentBlockhash||(n.recentBlockhash=Eo.toBase58()),n.feePayer||(n.feePayer=An.generate().publicKey)),t.push(Wo(n))}),console.log("simulate tx string:",t),t}import{PublicKey as P}from"@solana/web3.js";var hn=new P("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),In=new P("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),Bn=new P("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),vt=new P("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),cu=new P("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),qo=new P("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),Sn=new P("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),xn=new P("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),lu=new P("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),Uo=new P("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Kn=new P("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),Go=new P("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),zo=new P("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),Cn=new P("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),mu=new P("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Yo=new P("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Xo=new P("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),Qo=new P("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),Zo=new P("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),Ho=new P("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi"),Vt=new P("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),jo=new P("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),du=new P("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),$o=new P("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Jo=new P("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),ei=new P("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),pu=new P("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),fu=new P("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),yu=new P("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),bu=new P("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),gu=new P("6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX"),Ze={IDO_PROGRAM_ID_V1:Xo,IDO_PROGRAM_ID_V2:Qo,IDO_PROGRAM_ID_V3:Zo,IDO_PROGRAM_ID_V4:Ho};var Ae={OPEN_BOOK_PROGRAM:new P("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),SERUM_PROGRAM_ID_V3:new P("Ray1111111111111111111111111111111111111111"),AMM_V4:new P("DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav"),AMM_STABLE:new P("DRayDdXc1NZQ9C3hRWmoSf8zK4iapgMnjdNZWrfwsP8m"),CLMM_PROGRAM_ID:new P("DRayAUgENGQBKVaX8owNhgzkEDyoHTGVEGHVJT1E9pfH"),CLMM_LOCK_PROGRAM_ID:new P("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),CLMM_LOCK_AUTH_ID:new P("6Aoh8h2Lw2m5UGxYR8AdAL87jTWYeKoxM52mJRzfYwN"),CREATE_CPMM_POOL_PROGRAM:new P("DRaycpLY18LhpbydsBWbVJtxpNv9oXPgjRSfpF2bWpYb"),CREATE_CPMM_POOL_AUTH:new P("CXniRufdq5xL8t8jZAPxsPZDpuudwuJSPWnbcD5Y5Nxq"),CREATE_CPMM_POOL_FEE_ACC:new P("3oE58BKVt8KuYkGxx8zBojugnymWmBiyafWgMrnb6eYy"),LOCK_CPMM_PROGRAM:new P("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),LOCK_CPMM_AUTH:new P("7qWVV8UY2bRJfDLP4s37YzBPKUkVB46DStYJBpYbQzu3"),UTIL1216:P.default,Router:new P("DRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd"),FARM_PROGRAM_ID_V3:new P("DRayWyrLmEW5KEeqs8kdTMMaBabapqagaBC7KWpGtJeZ"),FARM_PROGRAM_ID_V4:new P("Ray1111111111111111111111111111111111111111"),FARM_PROGRAM_ID_V5:new P("DRayiCGSZgku1GTK6rXD6mVDdingXy6APAH1R6R5L2LC"),FARM_PROGRAM_ID_V6:new P("DRayzbYakXs45ELHkzH6vC3fuhQqTAnv5A68gdFuvZyZ"),LAUNCHPAD_PROGRAM:new P("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),LAUNCHPAD_AUTH:new P("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),LAUNCHPAD_PLATFORM:new P("2Jx4KTDrVSdWNazuGpcA8n3ZLTRGGBDxAWhuKe2Xcj2a"),LAUNCHPAD_CONFIG:new P("7ZR4zD7PYfY2XxoG1Gxcy2EgEeGYrpxrwzPuwdUBssEt"),FEE_DESTINATION_ID:new P("9y8ENuuZ3b19quffx9hQvRVygG5ky6snHfRvGpuSfeJy"),MODEL_DATA_PUBKEY:new P("Ray1111111111111111111111111111111111111111")};import wu from"bn.js";import{PublicKey as _t,AddressLookupTableAccount as Me}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 Me({key:f,state:Me.deserialize(p.data)});u[f.toString()]=g,n==="devnet"?Ne[f.toString()]=g:Oe[f.toString()]=g}return u}var Oe={},Dt=async o=>{let t="AcL1Vo8oy1ULiavEcjSUcwfBSForXMudcZvDZy5nzJkU";if(Oe[t])return Oe;let n=new _t(t),i=await o.getAccountInfo(n);return i&&(Oe[t]=new Me({key:n,state:Me.deserialize(i.data)})),Oe},Ne={},Wt=async o=>{let t="EFhMuDw1PKEuckuFRW9PavNfTH4LKP5uKHgyXDmWpFCq";if(Ne[t])return Ne;let n=new _t(t),i=await o.getAccountInfo(n);return i&&(Ne[t]=new Me({key:n,state:Me.deserialize(i.data)})),Ne};import{PublicKey as Fe,sendAndConfirmTransaction as qt,SystemProgram as ti,Transaction as He,TransactionMessage as je,VersionedTransaction as $e}from"@solana/web3.js";import ni from"axios";var dt=2e3,pt=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 ni.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}=lt(t);return this.instructions.unshift(...n),this.instructionTypes.unshift(...i),!0}return!1}addTipInstruction(t){var n;return t?(this.endInstructions.push(ti.transfer({fromPubkey:(n=t.feePayer)!=null?n:this.feePayer,toPubkey:new Fe(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!==Fe.default.toString())),this}async versionBuild({txVersion:t,extInfo:n,lookupTableAddress:i}){return t===0?await this.buildV0(E(C({},n||{}),{lookupTableAddress:i})):this.build(n)}build(t){var i;let n=new He;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 Le(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(R=>R.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 R of K)try{R.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:R,skipTxCount:S=0,recentBlockHash:M,skipPreflight:A=!0}=b||{},T=M!=null?M:await Le(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(w=>w.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:A});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:A})))),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=[],w=async()=>{if(!v[V])return;let k=await this.connection.sendRawTransaction(v[V].serialize(),{skipPreflight:A});y.push({txId:k,status:"sent",signedTx:v[V]}),R==null||R([...y]),V++;let x=!1,L=null,_=null,ie=U=>{L!==null&&clearInterval(L),_!==null&&this.connection.removeSignatureListener(_);let q=y.findIndex($=>$.txId===k);if(q>-1){if(y[q].status==="error"||y[q].status==="success")return;y[q].status=U.err?"error":"success"}R==null||R([...y]),U.err||w()};this.loopMultiTxStatus&&(L=setInterval(async()=>{var U;if(x){clearInterval(L);return}try{let q=await this.connection.getTransaction(k,{commitment:"confirmed",maxSupportedTransactionVersion:0});q&&(x=!0,clearInterval(L),ie({err:((U=q.meta)==null?void 0:U.err)||null}),console.log("tx status from getTransaction:",k))}catch(q){x=!0,clearInterval(L),console.error("getTransaction timeout:",q,k)}},dt)),_=this.connection.onSignature(k,U=>{if(x){this.connection.removeSignatureListener(_);return}x=!0,ie(U)},"confirmed"),this.connection.getSignatureStatus(k)};return await w(),{txIds:y.map(k=>k.txId),signedTxs:v}}else{let V=[];for(let y=0;y<v.length;y+=1){let w=await this.connection.sendRawTransaction(v[y].serialize(),{skipPreflight:A});V.push(w)}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 A;let M=t||{},{lookupTableCache:n={},lookupTableAddress:i=[],forerunCreate:u,recentBlockhash:d}=M,p=le(M,["lookupTableCache","lookupTableAddress","forerunCreate","recentBlockhash"]),f=C(C({},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 Fe(T));let b=await Et({connection:this.connection,address:B});for(let[T,I]of Object.entries(b))f[T]=I;let K=u?Fe.default.toBase58():d!=null?d:await Le(this.connection,this.blockhashCommitment),R=new je({payerKey:this.feePayer,recentBlockhash:K,instructions:[...this.allInstructions]}).compileToV0Message(Object.values(f));((A=this.owner)==null?void 0:A.signer)&&!this.signers.some(T=>T.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer);let S=new $e(R);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 mt(this.connection,y),{txId:y,signedTx:S}}if(this.signAllTransactions){let y=await this.signAllTransactions([S]);if(this.signers.length)for(let w of y)try{w.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 A;let{sequentially:K,onTxUpdate:R,recentBlockHash:S,skipPreflight:M=!0}=b||{};if(S&&p.forEach(T=>T.message.recentBlockhash=S),Te(p),(A=this.owner)!=null&&A.isKeyPair){if(K){let T=[];for(let I of p){let h=await this.connection.sendTransaction(I,{skipPreflight:M});await mt(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]}),R==null||R([...h]),I++;let y=!1,w=null,k=null,x=L=>{w!==null&&clearInterval(w),k!==null&&this.connection.removeSignatureListener(k);let _=h.findIndex(ie=>ie.txId===V);if(_>-1){if(h[_].status==="error"||h[_].status==="success")return;h[_].status=L.err?"error":"success"}R==null||R([...h]),L.err||v()};this.loopMultiTxStatus&&(w=setInterval(async()=>{var L;if(y){clearInterval(w);return}try{let _=await this.connection.getTransaction(V,{commitment:"confirmed",maxSupportedTransactionVersion:0});_&&(y=!0,clearInterval(w),x({err:((L=_.meta)==null?void 0:L.err)||null}),console.log("tx status from getTransaction:",V))}catch(_){y=!0,clearInterval(w),console.error("getTransaction timeout:",_,V)}},dt)),k=this.connection.onSignature(V,L=>{if(y){this.connection.removeSignatureListener(k);return}y=!0,x(L)},"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 R;let K=t||{},{splitIns:n=[],computeBudgetConfig:i}=K,u=le(K,["splitIns","computeBudgetConfig"]),d=i?lt(i):{instructions:[],instructionTypes:[]},p=this.signers.reduce((S,M)=>E(C({},S),{[M.publicKey.toBase58()]:M}),{}),f=[],g=[],B=[],b=0;if(this.allInstructions.forEach(S=>{let M=[...B,S],A=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 Fe(h));if(S!==n[b]&&B.length<12&&(Xe({instructions:A,payer:this.feePayer,signers:I})||Xe({instructions:M,payer:this.feePayer,signers:I})))B.push(S);else{if(B.length===0)throw Error("item ins too big");b+=S===n[b]?1:0,Xe({instructions:i?[...d.instructions,...B]:[...B],payer:this.feePayer,signers:I})?f.push(new He().add(...d.instructions,...B)):f.push(new He().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(A=>A.keys.filter(T=>T.isSigner).map(T=>T.pubkey.toString())).flat()).values()].map(A=>p[A]).filter(A=>A!==void 0);Xe({instructions:i?[...d.instructions,...B]:[...B],payer:this.feePayer,signers:M.map(A=>A.publicKey)})?f.push(new He().add(...d.instructions,...B)):f.push(new He().add(...B)),g.push(M)}return f.forEach(S=>S.feePayer=this.feePayer),(R=this.owner)!=null&&R.signer&&g.forEach(S=>{S.some(M=>M.publicKey.equals(this.owner.publicKey))||S.push(this.owner.signer)}),{builder:this,transactions:f,signers:g,instructionTypes:this.instructionTypes,execute:async S=>{var V;let{sequentially:M,onTxUpdate:A,skipTxCount:T=0,recentBlockHash:I,skipPreflight:h=!0}=S||{},v=I!=null?I:await Le(this.connection,this.blockhashCommitment);if(f.forEach(async(y,w)=>{y.recentBlockhash=v,g[w].length&&y.sign(...g[w])}),Te(f),(V=this.owner)!=null&&V.isKeyPair){if(M){let y=0,w=[];for(let k of f){if(++y,y<=T){w.push("tx skipped");continue}let x=await qt(this.connection,k,this.signers.find(L=>L.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:h});w.push(x)}return{txIds:w,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)),w=[...f.slice(0,T),...y];if(M){let k=0,x=[],L=async()=>{if(!w[k])return;k<T&&(x.push({txId:"",status:"success",signedTx:w[k]}),A==null||A([...x]),k++,L());let _=await this.connection.sendRawTransaction(w[k].serialize(),{skipPreflight:h});x.push({txId:_,status:"sent",signedTx:w[k]}),A==null||A([...x]),k++;let ie=!1,U=null,q=null,$=G=>{U!==null&&clearInterval(U),q!==null&&this.connection.removeSignatureListener(q);let ne=x.findIndex(ye=>ye.txId===_);if(ne>-1){if(x[ne].status==="error"||x[ne].status==="success")return;x[ne].status=G.err?"error":"success"}A==null||A([...x]),G.err||L()};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,_)}},dt)),q=this.connection.onSignature(_,G=>{if(ie){this.connection.removeSignatureListener(q);return}ie=!0,$(G)},"confirmed"),this.connection.getSignatureStatus(_)};return await L(),{txIds:x.map(_=>_.txId),signedTxs:w}}else{let k=[];for(let x=0;x<w.length;x+=1){let L=await this.connection.sendRawTransaction(w[x].serialize(),{skipPreflight:h});k.push(L)}return{txIds:k,signedTxs:w}}}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=C(C({},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 Fe(y));let K=await Et({connection:this.connection,address:b});for(let[y,w]of Object.entries(K))g[y]=w;let R=n?lt(n):{instructions:[],instructionTypes:[]},S=await Le(this.connection,this.blockhashCommitment),M=this.signers.reduce((y,w)=>E(C({},y),{[w.publicKey.toBase58()]:w}),{}),A=[],T=[],I=[],h=0;if(this.allInstructions.forEach(y=>{let w=[...I,y],k=n?[...R.instructions,...w]:w;if(y!==i[h]&&I.length<p&&(Qe({instructions:k,payer:this.feePayer,lookupTableAddressAccount:g})||Qe({instructions:w,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 L of[...new Set(B)])g[L]!==void 0&&(x[L]=g[L]);if(n&&Qe({instructions:[...R.instructions,...I],payer:this.feePayer,lookupTableAddressAccount:g,recentBlockhash:S})){let L=new je({payerKey:this.feePayer,recentBlockhash:S,instructions:[...R.instructions,...I]}).compileToV0Message(Object.values(g));A.push(new $e(L))}else{let L=new je({payerKey:this.feePayer,recentBlockhash:S,instructions:[...I]}).compileToV0Message(Object.values(g));A.push(new $e(L))}T.push(Array.from(new Set(I.map(L=>L.keys.filter(_=>_.isSigner).map(_=>_.pubkey.toString())).flat())).map(L=>M[L]).filter(L=>L!==void 0)),I=[y]}}),I.length>0){let w=[...new Set(I.map(k=>k.keys.filter(x=>x.isSigner).map(x=>x.pubkey.toString())).flat()).values()].map(k=>M[k]).filter(k=>k!==void 0);if(n&&Qe({instructions:[...R.instructions,...I],payer:this.feePayer,lookupTableAddressAccount:g,recentBlockhash:S})){let k=new je({payerKey:this.feePayer,recentBlockhash:S,instructions:[...R.instructions,...I]}).compileToV0Message(Object.values(g));A.push(new $e(k))}else{let k=new je({payerKey:this.feePayer,recentBlockhash:S,instructions:[...I]}).compileToV0Message(Object.values(g));A.push(new $e(k))}T.push(w)}return(V=this.owner)!=null&&V.signer&&T.forEach(y=>{y.some(w=>w.publicKey.equals(this.owner.publicKey))||y.push(this.owner.signer)}),A.forEach((y,w)=>{y.sign(T[w])}),{builder:this,transactions:A,buildProps:t,signers:T,instructionTypes:this.instructionTypes,execute:async y=>{var ie;let{sequentially:w,onTxUpdate:k,skipTxCount:x=0,recentBlockHash:L,skipPreflight:_=!0}=y||{};if(A.map(async(U,q)=>{T[q].length&&U.sign(T[q]),L&&(U.message.recentBlockhash=L)}),Te(A),(ie=this.owner)!=null&&ie.isKeyPair){if(w){let U=0,q=[];for(let $ of A){if(++U,U<=x){console.log("skip tx: ",U),q.push("tx skipped");continue}let G=await this.connection.sendTransaction($,{skipPreflight:_});await mt(this.connection,G),q.push(G)}return{txIds:q,signedTxs:A}}return{txIds:await Promise.all(A.map(async U=>await this.connection.sendTransaction(U,{skipPreflight:_}))),signedTxs:A}}if(this.signAllTransactions){let U=await this.signAllTransactions(A.slice(x,A.length)),q=[...A.slice(0,x),...U];if(w){let $=0,G=[],ne=async()=>{if(!q[$])return;if($<x){G.push({txId:"",status:"success",signedTx:q[$]}),k==null||k([...G]),$++,ne();return}let ye=await this.connection.sendTransaction(q[$],{skipPreflight:_});G.push({txId:ye,status:"sent",signedTx:q[$]}),k==null||k([...G]),$++;let qe=!1,Ke=null,ot=null,rn=we=>{Ke!==null&&clearInterval(Ke),ot!==null&&this.connection.removeSignatureListener(ot);let be=G.findIndex(yo=>yo.txId===ye);if(be>-1){if(G[be].status==="error"||G[be].status==="success")return;G[be].status=we.err?"error":"success"}k==null||k([...G]),we.err||ne()};this.loopMultiTxStatus&&(Ke=setInterval(async()=>{var we;if(qe){clearInterval(Ke);return}try{let be=await this.connection.getTransaction(ye,{commitment:"confirmed",maxSupportedTransactionVersion:0});be&&(qe=!0,clearInterval(Ke),rn({err:((we=be.meta)==null?void 0:we.err)||null}),console.log("tx status from getTransaction:",ye))}catch(be){qe=!0,clearInterval(Ke),console.error("getTransaction timeout:",be,ye)}},dt)),ot=this.connection.onSignature(ye,we=>{if(qe){this.connection.removeSignatureListener(ot);return}qe=!0,rn(we)},"confirmed"),this.connection.getSignatureStatus(ye)};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 oi from"bn.js";var ft=new oi(1e6);var Rn={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_IDO:"/main/ido/{owner}",OWNER_STAKE_FARMS:"/position/stake/{owner}",OWNER_LOCK_POSITION:"/position/clmm-lock/{owner}",IDO_KEYS:"/ido/key/ids",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"},ii=E(C({},Rn),{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 Mc=F("Raydium_Api");import{PublicKey as hm,SystemProgram as Im}from"@solana/web3.js";import{AccountLayout as Cm,createAssociatedTokenAccountIdempotentInstruction as Rm,TOKEN_PROGRAM_ID as Lm,TOKEN_2022_PROGRAM_ID as Om}from"@solana/spl-token";var 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 pt({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 em,SystemProgram as nm}from"@solana/web3.js";import rm from"bn.js";import{createCloseAccountInstruction as cm,createInitializeAccountInstruction as lm,createTransferInstruction as mm,TOKEN_PROGRAM_ID as dm}from"@solana/spl-token";import{Keypair as Wl,PublicKey as ql}from"@solana/web3.js";import zl from"bn.js";import{TOKEN_PROGRAM_ID as Ql}from"@solana/spl-token";import{PublicKey as Pi}from"@solana/web3.js";import vn,{isBN as Vn}from"bn.js";import{bits as ai,BitStructure as Xc,blob as si,Blob as Qc,cstr as Zc,f32 as Hc,f32be as jc,f64 as $c,f64be as Jc,greedy as el,Layout as ui,ns64 as tl,ns64be as nl,nu64 as ci,nu64be as ol,offset as li,s16 as il,s16be as rl,s24 as al,s24be as sl,s32 as mi,s32be as ul,s40 as cl,s40be as ll,s48 as ml,s48be as dl,s8 as pl,seq as di,struct as fl,Structure as pi,u16 as fi,u16be as yl,u24 as bl,u24be as gl,u32 as yi,u32be as Pl,u40 as Al,u40be as wl,u48 as kl,u48be as Tl,u8 as bi,UInt as gi,union as hl,Union as Il,unionLayoutDiscriminator as Bl,utf8 as Sl}from"@solana/buffer-layout";var yt=ui,Ln=pi;var Gt=gi;var On=bi,H=fi;var bt=yi;var Nn=ci;var ue=mi;var Mn=di;var N=si;var zt=ai,Fn=li;var Ie=class extends yt{constructor(n,i,u){super(n,u);this.blob=N(n),this.signed=i}decode(n,i=0){let u=new vn(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 vn(n)),this.signed&&(n=n.toTwos(this.span*8)),this.blob.encode(n.toArrayLike(Buffer,"le",this.span),i,u)}},gt=class extends yt{constructor(n){super(8,n);this._lower=zt(bt(),!1),this._upper=zt(bt(),!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 C(C({},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 Y(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 _n(o){return new Ie(1,!0,o)}function ve(o){return new Ie(8,!0,o)}function En(o){return new Ie(16,!0,o)}var Je=class extends yt{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 Je(N(32),t=>new Pi(t),t=>t.toBuffer(),o)}function ae(o){return new Je(On(),Ai,wi,o)}function Ai(o){if(o===0)return!1;if(o===1)return!0;throw new Error("Invalid bool: "+o)}function wi(o){return o?1:0}function Dn(o,t){let n=bt("length"),i=l([n,m(o,Fn(n,-n.span),"values")]);return new Je(i,({values:u})=>u,u=>({values:u}),t)}var Yt=class extends Ln{decode(t,n){return super.decode(t,n)}};function l(o,t,n){return new Yt(o,t,n)}function m(o,t,n){let i,u=typeof t=="number"?t:Vn(t)?t.toNumber():new Proxy(t,{get(d,p){if(!i){let f=Reflect.get(d,"count");i=Vn(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 Mn(o,u,n)}var Pt=l([r("mint"),r("owner"),e("amount"),Y("delegateOption"),r("delegate"),c("state"),Y("isNativeOption"),e("isNative"),e("delegatedAmount"),Y("closeAuthorityOption"),r("closeAuthority")]);import{PublicKey as Dg,SystemProgram as Wg}from"@solana/web3.js";import{createAssociatedTokenAccountIdempotentInstruction as Ug}from"@solana/spl-token";import Jg from"decimal.js";import{createAssociatedTokenAccountIdempotentInstruction as By,TOKEN_2022_PROGRAM_ID as Sy,TOKEN_PROGRAM_ID as xy}from"@solana/spl-token";import{PublicKey as Cy}from"@solana/web3.js";import Ly from"bn.js";import Ny from"decimal.js";import{TOKEN_PROGRAM_ID as qm}from"@solana/spl-token";import{PublicKey as Ym}from"@solana/web3.js";var Ti=l([Y("mintAuthorityOption"),r("mintAuthority"),e("supply"),c("decimals"),c("isInitialized"),Y("freezeAuthorityOption"),r("freezeAuthority")]);import{ASSOCIATED_TOKEN_PROGRAM_ID as Xf,TOKEN_2022_PROGRAM_ID as Qf,TOKEN_PROGRAM_ID as Zf}from"@solana/spl-token";import{Keypair as $f,PublicKey as Jf,SystemProgram as ty,TransactionInstruction as ny}from"@solana/web3.js";import iy from"bn.js";import D from"bn.js";var Be=new D(1).shln(64);var hi=new D(1).shln(128),Xt=new D(1).shln(64).subn(1),Ii=new D(1).shln(128).subn(1);var Ve=new D("4295048016"),_e=new D("79226673521066979257578248091"),Bi=new D("59543866431248"),Si=new D("184467440737095516"),xi=new D("15793534762490258745");var Qt=60,id=new D("18446743708227953217"),Ki=[{bit:0,factor:new D("fffcb933bd6fb800",16)},{bit:1,factor:new D("fff97272373d4000",16)},{bit:2,factor:new D("fff2e50f5f657000",16)},{bit:3,factor:new D("ffe5caca7e10f000",16)},{bit:4,factor:new D("ffcb9843d60f7000",16)},{bit:5,factor:new D("ff973b41fa98e800",16)},{bit:6,factor:new D("ff2ea16466c9b000",16)},{bit:7,factor:new D("fe5dee046a9a3800",16)},{bit:8,factor:new D("fcbe86c7900bb000",16)},{bit:9,factor:new D("f987a7253ac65800",16)},{bit:10,factor:new D("f3392b0822bb6000",16)},{bit:11,factor:new D("e7159475a2caf000",16)},{bit:12,factor:new D("d097f3bdfd2f2000",16)},{bit:13,factor:new D("a9f746462d9f8000",16)},{bit:14,factor:new D("70d869a156f31c00",16)},{bit:15,factor:new D("31be135f97ed3200",16)},{bit:16,factor:new D("9aa508b5b85a500",16)},{bit:17,factor:new D("5d6af8dedc582c",16)},{bit:18,factor:new D("2216e584f5fa",16)}];var et=3,qn=100;var Un=10,Gn=100,wt=14;var j=new D(0),Ee=new D(1),rd=new D(-1);var ad=new D("18446744073700000000");var Ci=l([N(8),c("bump"),H("index"),r("owner"),Y("protocolFeeRate"),Y("tradeFeeRate"),H("tickSpacing"),Y("fundFeeRate"),m(Y(),1),r("fundOwner"),m(e(),3)]),Ri=l([Y("blockTimestamp"),ve("tickCumulative"),m(e(),4)]),zn=l([N(8),ae("initialized"),e("recentEpoch"),H("observationIndex"),r("poolId"),m(Ri,qn,"observations"),m(e(),4)]),Li=l([H("filterPeriod"),H("decayPeriod"),H("reductionFactor"),Y("dynamicFeeControl"),Y("maxVolatilityAccumulator"),ue("tickSpacingIndexReference"),Y("volatilityReference"),Y("volatilityAccumulator"),e("lastUpdateTimestamp"),m(c(),46)]),Oi=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"),Y(),O("feeGrowthGlobalX64A"),O("feeGrowthGlobalX64B"),e("protocolFeesTokenA"),e("protocolFeesTokenB"),m(O(),4),c("status"),c("feeOn"),N(6),m(Oi,et,"rewardInfos"),N(8*16,"tickArrayBitmap"),m(e(),4),e("fundFeesTokenA"),e("fundFeesTokenB"),e("startTime"),e("recentEpoch"),Li.replicate("dynamicFeeInfo"),m(e(),46)]),Ni=l([O("growthInsideLastX64"),e("rewardAmountOwed")]),Mi=l([N(8),c("bump"),r("nftMint"),r("poolId"),ue("tickLower"),ue("tickUpper"),O("liquidity"),O("feeGrowthInsideLastX64A"),O("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),m(Ni,et,"rewardInfos"),e("recentEpoch"),m(e(),7)]),ld=l([N(8),c("bump"),r("poolId"),ue("tickLower"),ue("tickUpper"),O("liquidity"),O("feeGrowthInsideLastX64A"),O("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),m(O(),et,"rewardGrowthInside"),e("recentEpoch"),m(e(),7)]),Fi=l([ue("tick"),En("liquidityNet"),O("liquidityGross"),O("feeGrowthOutsideX64A"),O("feeGrowthOutsideX64B"),m(O(),et,"rewardGrowthsOutsideX64"),e("orderPhase"),e("ordersAmount"),e("partFilledOrdersRemaining"),O("unfilledRatioX64"),m(Y(),3)]),Yn=l([N(8),r("poolId"),ue("startTickIndex"),m(Fi,Qt,"ticks"),c("initializedTickCount"),e("recentEpoch"),m(c(),107)]),vi=l([N(8),c("bump"),m(r(),Un,"operationOwners"),m(r(),Gn,"whitelistMints")]),Vi=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)]),Xn=l([N(8),r("poolId"),N(8*8*wt,"positiveTickArrayBitmap"),N(8*8*wt,"negativeTickArrayBitmap")]),md=l([N(8),H("index"),H("filterPeriod"),H("decayPeriod"),H("reductionFactor"),Y("dynamicFeeControl"),Y("maxVolatilityAccumulator"),m(e(),8)]),_i=l([N(8),r("wallet"),c("nonceIndex"),e("orderNonce"),m(e(),4)]),dd=l([e(),c("bump"),r("owner"),r("poolId"),r("positionId"),r("nftAccount"),m(e(),8)]),Ei=l([N(8),c("bump"),r("lockOwner"),r("poolId"),r("positionId"),r("nftAccount"),r("lockNftMint"),e("recentEpoch"),m(e(),8)]);import yd from"bn.js";var Sd=Buffer.from("amm_config","utf8"),Di=Buffer.from("pool","utf8"),Wi=Buffer.from("pool_vault","utf8"),xd=Buffer.from("pool_reward_vault","utf8"),Kd=Buffer.from("position","utf8"),Cd=Buffer.from("tick_array","utf8"),Rd=Buffer.from("operation","utf8"),Ld=Buffer.from("pool_tick_array_bitmap_extension","utf8"),Od=Buffer.from("observation","utf8"),Nd=Buffer.from("support_mint","utf8"),Md=Buffer.from("dynamic_fee_config","utf8");var Fd=Buffer.from("locked_position","utf8");import{sha256 as or}from"js-sha256";import qi from"bn.js";import Ed from"decimal.js";var Wd=new qi(1).shln(256).subn(1);import rp from"bn.js";import Qd from"bn.js";import Hd from"decimal.js";import pp from"bn.js";import yp from"decimal.js";import{PublicKey as jp}from"@solana/web3.js";import Jp from"bn.js";import{TOKEN_2022_PROGRAM_ID as uf}from"@s