@raydium-io/raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
1 lines • 76.9 kB
JavaScript
var Po=Object.defineProperty,Ao=Object.defineProperties;var wo=Object.getOwnPropertyDescriptors;var rt=Object.getOwnPropertySymbols;var un=Object.prototype.hasOwnProperty,cn=Object.prototype.propertyIsEnumerable;var sn=(r,n,t)=>n in r?Po(r,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[n]=t,C=(r,n)=>{for(var t in n||(n={}))un.call(n,t)&&sn(r,t,n[t]);if(rt)for(var t of rt(n))cn.call(n,t)&&sn(r,t,n[t]);return r},E=(r,n)=>Ao(r,wo(n));var ce=(r,n)=>{var t={};for(var o in r)un.call(r,o)&&n.indexOf(o)<0&&(t[o]=r[o]);if(r!=null&&rt)for(var o of rt(r))n.indexOf(o)<0&&cn.call(r,o)&&(t[o]=r[o]);return t};import Ca from"big.js";import we from"bn.js";import xe from"bn.js";import dR from"decimal.js";import{PublicKey as ko}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ln}from"@solana/spl-token";var at={chainId:101,address:ko.default.toBase58(),programId:ln.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},le={chainId:101,address:"So11111111111111111111111111111111111111112",programId:ln.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 Ct}from"@solana/web3.js";import{PublicKey as z,SystemProgram as mn,SYSVAR_RENT_PUBKEY as To}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ho}from"@solana/spl-token";function Ce({pubkey:r,isSigner:n=!1,isWritable:t=!0}){return{pubkey:r,isWritable:t,isSigner:n}}var Io=[Ce({pubkey:ho,isWritable:!1}),Ce({pubkey:mn.programId,isWritable:!1}),Ce({pubkey:To,isWritable:!1})];function dn({publicKey:r,transformSol:n}){let t=pn(r.toString());if(t instanceof z)return n&&t.equals(Te)?me:t;if(n&&t.toString()===Te.toBase58())return me;if(typeof t=="string"){if(t===z.default.toBase58())return z.default;try{return new z(t)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function pn(r){try{return new z(r)}catch{return r}}var Kt=new z("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Re=new z("SysvarRent111111111111111111111111111111111"),Bo=new z("SysvarC1ock11111111111111111111111111111111"),st=new z("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),So=new z("Sysvar1nstructions1111111111111111111111111"),fn=mn.programId,_a=new z("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Ea=new z("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Da=new z("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),Wa=new z("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),qa=new z("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Ua=new z("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),Ga=new z("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),za=new z("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),Ya=new z("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Xa=new z("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Qa=new z("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),me=new z("So11111111111111111111111111111111111111112"),Te=z.default;var Rt=class{constructor({mint:n,decimals:t,symbol:o,name:u,skipMint:m=!1,isToken2022:p=!1}){if(n===Te.toBase58()||n instanceof Ct&&Te.equals(n)){this.decimals=le.decimals,this.symbol=le.symbol,this.name=le.name,this.mint=new Ct(le.address),this.isToken2022=!1;return}this.decimals=t,this.symbol=o||n.toString().substring(0,6),this.name=u||n.toString().substring(0,6),this.mint=m?Ct.default:dn({publicKey:n}),this.isToken2022=p}equals(n){return this===n?!0:this.mint.equals(n.mint)}},Q=Rt;Q.WSOL=new Rt(E(C({},le),{mint:le.address}));var Lt=class{constructor({decimals:n,symbol:t="UNKNOWN",name:o="UNKNOWN"}){this.decimals=n,this.symbol=t,this.name=o}equals(n){return this===n}},ut=Lt;ut.SOL=new Lt(at);function os(r,n){return r instanceof Q&&n instanceof Q?r.equals(n):r instanceof Q||n instanceof Q?!1:r===n}import lt from"big.js";import Oo from"bn.js";import No from"decimal.js-light";import{get as yn,set as xo}from"lodash";var Ot=class{constructor(n){this.logLevel=n.logLevel!==void 0?n.logLevel:0,this.name=n.name}set level(n){this.logLevel=n}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(n){return n<=this.logLevel}error(...n){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...n),this):this}logWithError(...n){let t=n.map(o=>typeof o=="object"?JSON.stringify(o):o).join(", ");throw new Error(t)}warning(...n){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...n),this):this}info(...n){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...n),this):this}debug(...n){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...n),this):this}},bn={},Ko={};function F(r){let n=yn(bn,r);if(!n){let t=yn(Ko,r);n=new Ot({name:r,logLevel:t}),xo(bn,r,n)}return n}import Ge from"bn.js";var gn=9007199254740991;function X(r){let n=F("Raydium_parseBigNumberish");if(r instanceof Ge)return r;if(typeof r=="string"){if(r.match(/^-?[0-9]+$/))return new Ge(r);n.logWithError(`invalid BigNumberish string: ${r}`)}return typeof r=="number"?(r%1&&n.logWithError(`BigNumberish number underflow: ${r}`),(r>=gn||r<=-gn)&&n.logWithError(`BigNumberish number overflow: ${r}`),new Ge(String(r))):typeof r=="bigint"?new Ge(r.toString()):(n.error(`invalid BigNumberish value: ${r}`),new Ge(0))}import Co from"toformat";var Ro=Co,ze=Ro;var ct=F("module/fraction"),Nt=ze(lt),Ye=ze(No),Mo={[0]:Ye.ROUND_DOWN,[1]:Ye.ROUND_HALF_UP,[2]:Ye.ROUND_UP},Fo={[0]:lt.roundDown,[1]:lt.roundHalfUp,[2]:lt.roundUp},W=class{constructor(n,t=new Oo(1)){this.numerator=X(n),this.denominator=X(t)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new W(this.denominator,this.numerator)}add(n){let t=n instanceof W?n:new W(X(n));return this.denominator.eq(t.denominator)?new W(this.numerator.add(t.numerator),this.denominator):new W(this.numerator.mul(t.denominator).add(t.numerator.mul(this.denominator)),this.denominator.mul(t.denominator))}sub(n){let t=n instanceof W?n:new W(X(n));return this.denominator.eq(t.denominator)?new W(this.numerator.sub(t.numerator),this.denominator):new W(this.numerator.mul(t.denominator).sub(t.numerator.mul(this.denominator)),this.denominator.mul(t.denominator))}mul(n){let t=n instanceof W?n:new W(X(n));return new W(this.numerator.mul(t.numerator),this.denominator.mul(t.denominator))}div(n){let t=n instanceof W?n:new W(X(n));return new W(this.numerator.mul(t.denominator),this.denominator.mul(t.numerator))}toSignificant(n,t={groupSeparator:""},o=1){Number.isInteger(n)||ct.logWithError(`${n} is not an integer.`),n<=0&&ct.logWithError(`${n} is not positive.`),Ye.set({precision:n+1,rounding:Mo[o]});let u=new Ye(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(n);return u.toFormat(u.decimalPlaces(),t)}toFixed(n,t={groupSeparator:""},o=1){return Number.isInteger(n)||ct.logWithError(`${n} is not an integer.`),n<0&&ct.logWithError(`${n} is negative.`),Nt.DP=n,Nt.RM=Fo[o]||1,new Nt(this.numerator.toString()).div(this.denominator.toString()).toFormat(n,t)}isZero(){return this.numerator.isZero()}};import vo from"bn.js";var Pn=new W(new vo(100)),Pe=class extends W{toSignificant(n=5,t,o){return this.mul(Pn).toSignificant(n,t,o)}toFixed(n=2,t,o){return this.mul(Pn).toFixed(n,t,o)}};var Vo=F("Raydium_price"),de=class extends W{constructor(t){let{baseToken:o,quoteToken:u,numerator:m,denominator:p}=t;super(m,p);this.baseToken=o,this.quoteToken=u,this.scalar=new W(Mt(o.decimals),Mt(u.decimals))}get raw(){return new W(this.numerator,this.denominator)}get adjusted(){return super.mul(this.scalar)}invert(){return new de({baseToken:this.quoteToken,quoteToken:this.baseToken,denominator:this.numerator,numerator:this.denominator})}mul(t){this.quoteToken!==t.baseToken&&Vo.logWithError("mul token not equals");let o=super.mul(t);return new de({baseToken:this.baseToken,quoteToken:t.quoteToken,denominator:o.denominator,numerator:o.numerator})}toSignificant(t=this.quoteToken.decimals,o,u){return this.adjusted.toSignificant(t,o,u)}toFixed(t=this.quoteToken.decimals,o,u){return this.adjusted.toFixed(t,o,u)}};import{merge as pC}from"lodash";import gc from"axios";import{PublicKey as _o}from"@solana/web3.js";import{MINT_SIZE as Fs,TOKEN_PROGRAM_ID as vs,getTransferFeeConfig as Vs,unpackMint as _s}from"@solana/spl-token";var Ft=F("Raydium_accountInfo_util");async function ge(r,n,t){let{batchRequest:o,commitment:u="confirmed",chunkCount:m=100}=C({batchRequest:!1},t),p=vt(n,m),f=new Array(p.length).fill([]);if(o){let g=p.map(x=>{let R=r._buildArgs([x.map(S=>S.toBase58())],u,"base64");return{methodName:"getMultipleAccounts",args:R}}),T=vt(g,10);f=(await(await Promise.all(T.map(async x=>await r._rpcBatchRequest(x)))).flat()).map(x=>(x.error&&Ft.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${x.error.message}`),x.result.value.map(R=>{if(R){let{data:S,executable:M,lamports:A,owner:h,rentEpoch:B}=R;return S.length!==2&&S[1]!=="base64"&&Ft.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(S[0],"base64"),executable:M,lamports:A,owner:new _o(h),rentEpoch:B}}return null})))}else try{f=await Promise.all(p.map(g=>r.getMultipleAccountsInfo(g,u)))}catch(g){g instanceof Error&&Ft.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${g.message}`)}return f.flat()}function vt(r,n=1,t=[]){let o=[...r];if(n<=0)return t;for(;o.length;)t.push(o.splice(0,n));return t}import{PublicKey as tu}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ou}from"@solana/spl-token";import{ComputeBudgetProgram as An,Keypair as kn,PublicKey as Eo,Transaction as Tn,TransactionMessage as Do,VersionedTransaction as hn}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 Wo}from"@solana/spl-token";var wn=F("Raydium_txUtil"),In=1644;function mt(r){let n=[],t=[];return r.microLamports&&(n.push(An.setComputeUnitPrice({microLamports:r.microLamports})),t.push(H.SetComputeUnitPrice)),r.units&&(n.push(An.setComputeUnitLimit({units:r.units})),t.push(H.SetComputeUnitLimit)),{instructions:n,instructionTypes:t}}async function Le(r,n){var o,u;let t=n!=null?n:"confirmed";return(u=await((o=r.getLatestBlockhash)==null?void 0:o.call(r,{commitment:t})))==null?void 0:u.blockhash}async function dt(r,n){return r.getSignatureStatuses([n]),new Promise((t,o)=>{let u=setTimeout(o,6e4);r.onSignature(n,m=>{if(clearTimeout(u),!m.err){t("");return}o(Object.assign(m.err,{txId:n}))},"confirmed")})}function Vt(r,n){r.length<1&&wn.logWithError(`no instructions provided: ${r.toString()}`),n.length<1&&wn.logWithError(`no signers provided:, ${n.toString()}`);let t=new Tn;t.recentBlockhash="11111111111111111111111111111111",t.feePayer=n[0],t.add(...r);try{return Buffer.from(t.serialize({verifySignatures:!1})).toString("base64").length<In}catch{return!1}}function pe(r,n){let[t,o]=Eo.findProgramAddressSync(r,n);return{publicKey:t,nonce:o}}function Qe({instructions:r,payer:n,signers:t}){return Vt(r,[n,...t])}function Ze({instructions:r,payer:n,lookupTableAddressAccount:t,recentBlockhash:o=kn.generate().publicKey.toString()}){let m=new Do({payerKey:n,recentBlockhash:o,instructions:r}).compileToV0Message(Object.values(t!=null?t:{}));try{return Buffer.from(new hn(m).serialize()).toString("base64").length<In}catch{return!1}}var qo=r=>Buffer.isBuffer(r)?r:r instanceof Uint8Array?Buffer.from(r.buffer,r.byteOffset,r.byteLength):Buffer.from(r),Uo=r=>{let n=r.serialize({requireAllSignatures:!1,verifySignatures:!1});r instanceof hn&&(n=qo(n));try{return n instanceof Buffer?n.toString("base64"):Buffer.from(n).toString("base64")}catch{return n.toString("base64")}};function he(r){let n=[];return r.forEach(t=>{t instanceof Tn&&(t.recentBlockhash||(t.recentBlockhash=Wo.toBase58()),t.feePayer||(t.feePayer=kn.generate().publicKey)),n.push(Uo(t))}),console.log("simulate tx string:",n),n}import{PublicKey as P}from"@solana/web3.js";var Bn=new P("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),Sn=new P("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),xn=new P("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),_t=new P("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),su=new P("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Go=new P("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),Kn=new P("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),Cn=new P("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),uu=new P("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),zo=new P("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Rn=new P("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),Yo=new P("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Xo=new P("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),Ln=new P("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),cu=new P("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Qo=new P("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Zo=new P("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),Ho=new P("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),jo=new P("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),$o=new P("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi"),Et=new P("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),Jo=new P("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),lu=new P("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),ei=new P("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),ti=new P("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),ni=new P("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),mu=new P("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),du=new P("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),pu=new P("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),fu=new P("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),yu=new P("6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX"),He={IDO_PROGRAM_ID_V1:Zo,IDO_PROGRAM_ID_V2:Ho,IDO_PROGRAM_ID_V3:jo,IDO_PROGRAM_ID_V4:$o};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 Pu from"bn.js";import{PublicKey as Dt,AddressLookupTableAccount as Me}from"@solana/web3.js";async function Wt({connection:r,address:n,cluster:t="mainnet"}){let o=await ge(r,[...new Set(n.map(m=>m.toString()))].map(m=>new Dt(m))),u={};for(let m=0;m<n.length;m++){let p=o[m],f=n[m];if(!p)continue;let g=new Me({key:f,state:Me.deserialize(p.data)});u[f.toString()]=g,t==="devnet"?Ne[f.toString()]=g:Oe[f.toString()]=g}return u}var Oe={},qt=async r=>{let n="AcL1Vo8oy1ULiavEcjSUcwfBSForXMudcZvDZy5nzJkU";if(Oe[n])return Oe;let t=new Dt(n),o=await r.getAccountInfo(t);return o&&(Oe[n]=new Me({key:t,state:Me.deserialize(o.data)})),Oe},Ne={},Ut=async r=>{let n="EFhMuDw1PKEuckuFRW9PavNfTH4LKP5uKHgyXDmWpFCq";if(Ne[n])return Ne;let t=new Dt(n),o=await r.getAccountInfo(t);return o&&(Ne[n]=new Me({key:t,state:Me.deserialize(o.data)})),Ne};import{PublicKey as Fe,sendAndConfirmTransaction as Gt,SystemProgram as oi,Transaction as je,TransactionMessage as $e,VersionedTransaction as Je}from"@solana/web3.js";import ii from"axios";var pt=2e3,ft=class{constructor(n){this.instructions=[];this.endInstructions=[];this.lookupTableAddress=[];this.signers=[];this.instructionTypes=[];this.endInstructionTypes=[];this.connection=n.connection,this.feePayer=n.feePayer,this.signAllTransactions=n.signAllTransactions,this.owner=n.owner,this.cluster=n.cluster,this.blockhashCommitment=n.blockhashCommitment,this.loopMultiTxStatus=!!n.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 o;let n=(await ii.get(`https://solanacompass.com/api/fees?cacheFreshTime=${3e5}`)).data,{avg:t}=(o=n==null?void 0:n[15])!=null?o:{};if(!!t)return{units:6e5,microLamports:Math.min(Math.ceil(t*1e6/6e5),25e3)}}addCustomComputeBudget(n){if(n){let{instructions:t,instructionTypes:o}=mt(n);return this.instructions.unshift(...t),this.instructionTypes.unshift(...o),!0}return!1}addTipInstruction(n){var t;return n?(this.endInstructions.push(oi.transfer({fromPubkey:(t=n.feePayer)!=null?t:this.feePayer,toPubkey:new Fe(n.address),lamports:BigInt(n.amount.toString())})),this.endInstructionTypes.push(H.TransferTip),!0):!1}async calComputeBudget({config:n,defaultIns:t}){try{let o=n||await this.getComputeBudgetConfig();if(this.addCustomComputeBudget(o))return;t&&this.instructions.unshift(...t)}catch{t&&this.instructions.unshift(...t)}}addInstruction({instructions:n=[],endInstructions:t=[],signers:o=[],instructionTypes:u=[],endInstructionTypes:m=[],lookupTableAddress:p=[]}){return this.instructions.push(...n),this.endInstructions.push(...t),this.signers.push(...o),this.instructionTypes.push(...u),this.endInstructionTypes.push(...m),this.lookupTableAddress.push(...p.filter(f=>f!==Fe.default.toString())),this}async versionBuild({txVersion:n,extInfo:t,lookupTableAddress:o}){return n===0?await this.buildV0(E(C({},t||{}),{lookupTableAddress:o})):this.build(t)}build(n){var o;let t=new je;return this.allInstructions.length&&t.add(...this.allInstructions),t.feePayer=this.feePayer,((o=this.owner)==null?void 0:o.signer)&&!this.signers.some(u=>u.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer),{builder:this,transaction:t,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async u=>{var y;let{recentBlockHash:m,skipPreflight:p=!0,sendAndConfirm:f,notSendToRpc:g}=u||{},T=m!=null?m:await Le(this.connection,this.blockhashCommitment);if(t.recentBlockhash=T,this.signers.length&&t.sign(...this.signers),he([t]),(y=this.owner)!=null&&y.isKeyPair)return{txId:f?await Gt(this.connection,t,this.signers.find(R=>R.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:p}):await this.connection.sendRawTransaction(t.serialize(),{skipPreflight:p}),signedTx:t};if(this.signAllTransactions){let x=await this.signAllTransactions([t]);if(this.signers.length)for(let R of x)try{R.sign(...this.signers)}catch{}return{txId:g?"":await this.connection.sendRawTransaction(x[0].serialize(),{skipPreflight:p}),signedTx:x[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:n||{}}}buildMultiTx(n){var T;let{extraPreBuildData:t=[],extInfo:o}=n,{transaction:u}=this.build(o),m=t.filter(y=>y.transaction.instructions.length>0),p=[u,...m.map(y=>y.transaction)],f=[this.signers,...m.map(y=>y.signers)],g=[...this.instructionTypes,...m.map(y=>y.instructionTypes).flat()];return(T=this.owner)!=null&&T.signer&&f.forEach(y=>{y.some(x=>x.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),{builder:this,transactions:p,signers:f,instructionTypes:g,execute:async y=>{var B;let{sequentially:x,onTxUpdate:R,skipTxCount:S=0,recentBlockHash:M,skipPreflight:A=!0}=y||{},h=M!=null?M:await Le(this.connection,this.blockhashCommitment);if((B=this.owner)!=null&&B.isKeyPair){if(x){let I=[],v=0;for(let V of p){if(++v,v<=S)continue;let b=await Gt(this.connection,V,this.signers.find(w=>w.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:A});I.push(b)}return{txIds:I,signedTxs:p}}return{txIds:await await Promise.all(p.map(async I=>(I.recentBlockhash=h,await this.connection.sendRawTransaction(I.serialize(),{skipPreflight:A})))),signedTxs:p}}if(this.signAllTransactions){let I=p.map((V,b)=>(V.recentBlockhash=h,f[b].length&&V.sign(...f[b]),V));he(I);let v=await this.signAllTransactions(I);if(x){let V=0,b=[],w=async()=>{if(!v[V])return;let k=await this.connection.sendRawTransaction(v[V].serialize(),{skipPreflight:A});b.push({txId:k,status:"sent",signedTx:v[V]}),R==null||R([...b]),V++;let K=!1,L=null,_=null,ie=U=>{L!==null&&clearInterval(L),_!==null&&this.connection.removeSignatureListener(_);let q=b.findIndex(J=>J.txId===k);if(q>-1){if(b[q].status==="error"||b[q].status==="success")return;b[q].status=U.err?"error":"success"}R==null||R([...b]),U.err||w()};this.loopMultiTxStatus&&(L=setInterval(async()=>{var U;if(K){clearInterval(L);return}try{let q=await this.connection.getTransaction(k,{commitment:"confirmed",maxSupportedTransactionVersion:0});q&&(K=!0,clearInterval(L),ie({err:((U=q.meta)==null?void 0:U.err)||null}),console.log("tx status from getTransaction:",k))}catch(q){K=!0,clearInterval(L),console.error("getTransaction timeout:",q,k)}},pt)),_=this.connection.onSignature(k,U=>{if(K){this.connection.removeSignatureListener(_);return}K=!0,ie(U)},"confirmed"),this.connection.getSignatureStatus(k)};return await w(),{txIds:b.map(k=>k.txId),signedTxs:v}}else{let V=[];for(let b=0;b<v.length;b+=1){let w=await this.connection.sendRawTransaction(v[b].serialize(),{skipPreflight:A});V.push(w)}return{txIds:V,signedTxs:v}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:o||{}}}async versionMultiBuild({extraPreBuildData:n,txVersion:t,extInfo:o}){return t===0?await this.buildV0MultiTx({extraPreBuildData:n,buildProps:o||{}}):this.buildMultiTx({extraPreBuildData:n,extInfo:o})}async buildV0(n){var A;let M=n||{},{lookupTableCache:t={},lookupTableAddress:o=[],forerunCreate:u,recentBlockhash:m}=M,p=ce(M,["lookupTableCache","lookupTableAddress","forerunCreate","recentBlockhash"]),f=C(C({},this.cluster==="devnet"?await Ut(this.connection):await qt(this.connection)),t),g=Array.from(new Set([...o,...this.lookupTableAddress])),T=[];for(let h of g)f[h]===void 0&&T.push(new Fe(h));let y=await Wt({connection:this.connection,address:T});for(let[h,B]of Object.entries(y))f[h]=B;let x=u?Fe.default.toBase58():m!=null?m:await Le(this.connection,this.blockhashCommitment),R=new $e({payerKey:this.feePayer,recentBlockhash:x,instructions:[...this.allInstructions]}).compileToV0Message(Object.values(f));((A=this.owner)==null?void 0:A.signer)&&!this.signers.some(h=>h.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer);let S=new Je(R);return S.sign(this.signers),{builder:this,transaction:S,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async h=>{var V;let{skipPreflight:B=!0,sendAndConfirm:I,notSendToRpc:v}=h||{};if(he([S]),(V=this.owner)!=null&&V.isKeyPair){let b=await this.connection.sendTransaction(S,{skipPreflight:B});return I&&await dt(this.connection,b),{txId:b,signedTx:S}}if(this.signAllTransactions){let b=await this.signAllTransactions([S]);if(this.signers.length)for(let w of b)try{w.sign(this.signers)}catch{}return{txId:v?"":await this.connection.sendTransaction(b[0],{skipPreflight:B}),signedTx:b[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:p||{}}}async buildV0MultiTx(n){var T;let{extraPreBuildData:t=[],buildProps:o}=n,{transaction:u}=await this.buildV0(o),m=t.filter(y=>y.builder.instructions.length>0),p=[u,...m.map(y=>y.transaction)],f=[this.signers,...m.map(y=>y.signers)],g=[...this.instructionTypes,...m.map(y=>y.instructionTypes).flat()];return(T=this.owner)!=null&&T.signer&&f.forEach(y=>{y.some(x=>x.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),p.forEach(async(y,x)=>{y.sign(f[x])}),{builder:this,transactions:p,signers:f,instructionTypes:g,buildProps:o,execute:async y=>{var A;let{sequentially:x,onTxUpdate:R,recentBlockHash:S,skipPreflight:M=!0}=y||{};if(S&&p.forEach(h=>h.message.recentBlockhash=S),he(p),(A=this.owner)!=null&&A.isKeyPair){if(x){let h=[];for(let B of p){let I=await this.connection.sendTransaction(B,{skipPreflight:M});await dt(this.connection,I),h.push(I)}return{txIds:h,signedTxs:p}}return{txIds:await Promise.all(p.map(async h=>await this.connection.sendTransaction(h,{skipPreflight:M}))),signedTxs:p}}if(this.signAllTransactions){let h=await this.signAllTransactions(p);if(x){let B=0,I=[],v=async()=>{if(!h[B])return;let V=await this.connection.sendTransaction(h[B],{skipPreflight:M});I.push({txId:V,status:"sent",signedTx:h[B]}),R==null||R([...I]),B++;let b=!1,w=null,k=null,K=L=>{w!==null&&clearInterval(w),k!==null&&this.connection.removeSignatureListener(k);let _=I.findIndex(ie=>ie.txId===V);if(_>-1){if(I[_].status==="error"||I[_].status==="success")return;I[_].status=L.err?"error":"success"}R==null||R([...I]),L.err||v()};this.loopMultiTxStatus&&(w=setInterval(async()=>{var L;if(b){clearInterval(w);return}try{let _=await this.connection.getTransaction(V,{commitment:"confirmed",maxSupportedTransactionVersion:0});_&&(b=!0,clearInterval(w),K({err:((L=_.meta)==null?void 0:L.err)||null}),console.log("tx status from getTransaction:",V))}catch(_){b=!0,clearInterval(w),console.error("getTransaction timeout:",_,V)}},pt)),k=this.connection.onSignature(V,L=>{if(b){this.connection.removeSignatureListener(k);return}b=!0,K(L)},"confirmed"),this.connection.getSignatureStatus(V)};return v(),{txIds:[],signedTxs:h}}else{let B=[];for(let I=0;I<h.length;I+=1){let v=await this.connection.sendTransaction(h[I],{skipPreflight:M});B.push(v)}return{txIds:B,signedTxs:h}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:o||{}}}async sizeCheckBuild(n){var R;let x=n||{},{splitIns:t=[],computeBudgetConfig:o}=x,u=ce(x,["splitIns","computeBudgetConfig"]),m=o?mt(o):{instructions:[],instructionTypes:[]},p=this.signers.reduce((S,M)=>E(C({},S),{[M.publicKey.toBase58()]:M}),{}),f=[],g=[],T=[],y=0;if(this.allInstructions.forEach(S=>{let M=[...T,S],A=o?[...m.instructions,...M]:M,B=[...new Set(M.map(I=>I.keys.filter(v=>v.isSigner).map(v=>v.pubkey.toString())).flat()).values()].map(I=>new Fe(I));if(S!==t[y]&&T.length<12&&(Qe({instructions:A,payer:this.feePayer,signers:B})||Qe({instructions:M,payer:this.feePayer,signers:B})))T.push(S);else{if(T.length===0)throw Error("item ins too big");y+=S===t[y]?1:0,Qe({instructions:o?[...m.instructions,...T]:[...T],payer:this.feePayer,signers:B})?f.push(new je().add(...m.instructions,...T)):f.push(new je().add(...T)),g.push(Array.from(new Set(T.map(I=>I.keys.filter(v=>v.isSigner).map(v=>v.pubkey.toString())).flat())).map(I=>p[I]).filter(I=>I!==void 0)),T=[S]}}),T.length>0){let M=[...new Set(T.map(A=>A.keys.filter(h=>h.isSigner).map(h=>h.pubkey.toString())).flat()).values()].map(A=>p[A]).filter(A=>A!==void 0);Qe({instructions:o?[...m.instructions,...T]:[...T],payer:this.feePayer,signers:M.map(A=>A.publicKey)})?f.push(new je().add(...m.instructions,...T)):f.push(new je().add(...T)),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:h=0,recentBlockHash:B,skipPreflight:I=!0}=S||{},v=B!=null?B:await Le(this.connection,this.blockhashCommitment);if(f.forEach(async(b,w)=>{b.recentBlockhash=v,g[w].length&&b.sign(...g[w])}),he(f),(V=this.owner)!=null&&V.isKeyPair){if(M){let b=0,w=[];for(let k of f){if(++b,b<=h){w.push("tx skipped");continue}let K=await Gt(this.connection,k,this.signers.find(L=>L.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:I});w.push(K)}return{txIds:w,signedTxs:f}}return{txIds:await Promise.all(f.map(async b=>await this.connection.sendRawTransaction(b.serialize(),{skipPreflight:I}))),signedTxs:f}}if(this.signAllTransactions){let b=await this.signAllTransactions(f.slice(h,f.length)),w=[...f.slice(0,h),...b];if(M){let k=0,K=[],L=async()=>{if(!w[k])return;k<h&&(K.push({txId:"",status:"success",signedTx:w[k]}),A==null||A([...K]),k++,L());let _=await this.connection.sendRawTransaction(w[k].serialize(),{skipPreflight:I});K.push({txId:_,status:"sent",signedTx:w[k]}),A==null||A([...K]),k++;let ie=!1,U=null,q=null,J=G=>{U!==null&&clearInterval(U),q!==null&&this.connection.removeSignatureListener(q);let ne=K.findIndex(ye=>ye.txId===_);if(ne>-1){if(K[ne].status==="error"||K[ne].status==="success")return;K[ne].status=G.err?"error":"success"}A==null||A([...K]),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),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,_)}},pt)),q=this.connection.onSignature(_,G=>{if(ie){this.connection.removeSignatureListener(q);return}ie=!0,J(G)},"confirmed"),this.connection.getSignatureStatus(_)};return await L(),{txIds:K.map(_=>_.txId),signedTxs:w}}else{let k=[];for(let K=0;K<w.length;K+=1){let L=await this.connection.sendRawTransaction(w[K].serialize(),{skipPreflight:I});k.push(L)}return{txIds:k,signedTxs:w}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:u||{}}}async sizeCheckBuildV0(n){var V;let v=n||{},{computeBudgetConfig:t,splitIns:o=[],lookupTableCache:u={},lookupTableAddress:m=[],insCountLimit:p=12}=v,f=ce(v,["computeBudgetConfig","splitIns","lookupTableCache","lookupTableAddress","insCountLimit"]),g=C(C({},this.cluster==="devnet"?await Ut(this.connection):await qt(this.connection)),u),T=Array.from(new Set([...this.lookupTableAddress,...m])),y=[];for(let b of T)g[b]===void 0&&y.push(new Fe(b));let x=await Wt({connection:this.connection,address:y});for(let[b,w]of Object.entries(x))g[b]=w;let R=t?mt(t):{instructions:[],instructionTypes:[]},S=await Le(this.connection,this.blockhashCommitment),M=this.signers.reduce((b,w)=>E(C({},b),{[w.publicKey.toBase58()]:w}),{}),A=[],h=[],B=[],I=0;if(this.allInstructions.forEach(b=>{let w=[...B,b],k=t?[...R.instructions,...w]:w;if(b!==o[I]&&B.length<p&&(Ze({instructions:k,payer:this.feePayer,lookupTableAddressAccount:g})||Ze({instructions:w,payer:this.feePayer,lookupTableAddressAccount:g})))B.push(b);else{if(B.length===0)throw Error("item ins too big");I+=b===o[I]?1:0;let K={};for(let L of[...new Set(T)])g[L]!==void 0&&(K[L]=g[L]);if(t&&Ze({instructions:[...R.instructions,...B],payer:this.feePayer,lookupTableAddressAccount:g,recentBlockhash:S})){let L=new $e({payerKey:this.feePayer,recentBlockhash:S,instructions:[...R.instructions,...B]}).compileToV0Message(Object.values(g));A.push(new Je(L))}else{let L=new $e({payerKey:this.feePayer,recentBlockhash:S,instructions:[...B]}).compileToV0Message(Object.values(g));A.push(new Je(L))}h.push(Array.from(new Set(B.map(L=>L.keys.filter(_=>_.isSigner).map(_=>_.pubkey.toString())).flat())).map(L=>M[L]).filter(L=>L!==void 0)),B=[b]}}),B.length>0){let w=[...new Set(B.map(k=>k.keys.filter(K=>K.isSigner).map(K=>K.pubkey.toString())).flat()).values()].map(k=>M[k]).filter(k=>k!==void 0);if(t&&Ze({instructions:[...R.instructions,...B],payer:this.feePayer,lookupTableAddressAccount:g,recentBlockhash:S})){let k=new $e({payerKey:this.feePayer,recentBlockhash:S,instructions:[...R.instructions,...B]}).compileToV0Message(Object.values(g));A.push(new Je(k))}else{let k=new $e({payerKey:this.feePayer,recentBlockhash:S,instructions:[...B]}).compileToV0Message(Object.values(g));A.push(new Je(k))}h.push(w)}return(V=this.owner)!=null&&V.signer&&h.forEach(b=>{b.some(w=>w.publicKey.equals(this.owner.publicKey))||b.push(this.owner.signer)}),A.forEach((b,w)=>{b.sign(h[w])}),{builder:this,transactions:A,buildProps:n,signers:h,instructionTypes:this.instructionTypes,execute:async b=>{var ie;let{sequentially:w,onTxUpdate:k,skipTxCount:K=0,recentBlockHash:L,skipPreflight:_=!0}=b||{};if(A.map(async(U,q)=>{h[q].length&&U.sign(h[q]),L&&(U.message.recentBlockhash=L)}),he(A),(ie=this.owner)!=null&&ie.isKeyPair){if(w){let U=0,q=[];for(let J of A){if(++U,U<=K){console.log("skip tx: ",U),q.push("tx skipped");continue}let G=await this.connection.sendTransaction(J,{skipPreflight:_});await dt(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(K,A.length)),q=[...A.slice(0,K),...U];if(w){let J=0,G=[],ne=async()=>{if(!q[J])return;if(J<K){G.push({txId:"",status:"success",signedTx:q[J]}),k==null||k([...G]),J++,ne();return}let ye=await this.connection.sendTransaction(q[J],{skipPreflight:_});G.push({txId:ye,status:"sent",signedTx:q[J]}),k==null||k([...G]),J++;let Ue=!1,Ke=null,it=null,an=ke=>{Ke!==null&&clearInterval(Ke),it!==null&&this.connection.removeSignatureListener(it);let be=G.findIndex(go=>go.txId===ye);if(be>-1){if(G[be].status==="error"||G[be].status==="success")return;G[be].status=ke.err?"error":"success"}k==null||k([...G]),ke.err||ne()};this.loopMultiTxStatus&&(Ke=setInterval(async()=>{var ke;if(Ue){clearInterval(Ke);return}try{let be=await this.connection.getTransaction(ye,{commitment:"confirmed",maxSupportedTransactionVersion:0});be&&(Ue=!0,clearInterval(Ke),an({err:((ke=be.meta)==null?void 0:ke.err)||null}),console.log("tx status from getTransaction:",ye))}catch(be){Ue=!0,clearInterval(Ke),console.error("getTransaction timeout:",be,ye)}},pt)),it=this.connection.onSignature(ye,ke=>{if(Ue){this.connection.removeSignatureListener(it);return}Ue=!0,an(ke)},"confirmed"),this.connection.getSignatureStatus(ye)};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{PublicKey as Vu}from"@solana/web3.js";import Eu from"bn.js";import ri from"bn.js";var yt=new ri(1e6);var On={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"},ai=E(C({},On),{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 Dc=F("Raydium_Api");import{PublicKey as Cm,SystemProgram as Rm}from"@solana/web3.js";import{AccountLayout as Fm,createAssociatedTokenAccountIdempotentInstruction as vm,TOKEN_PROGRAM_ID as Vm,TOKEN_2022_PROGRAM_ID as _m}from"@solana/spl-token";var zt=(...r)=>r.map(n=>{try{return typeof n=="object"?JSON.stringify(n):n}catch{return n}}).join(", "),oe=class{constructor({scope:n,moduleName:t}){this.disabled=!1;this.scope=n,this.logger=F(t)}createTxBuilder(n){return this.scope.checkOwner(),new ft({connection:this.scope.connection,feePayer:n||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(...n){this.logger.debug(zt(n))}logInfo(...n){this.logger.info(zt(n))}logAndCreateError(...n){let t=zt(n);throw new Error(t)}checkDisabled(){(this.disabled||!this.scope)&&this.logAndCreateError("module not working")}};import{PublicKey as am,SystemProgram as um}from"@solana/web3.js";import mm from"bn.js";import{createCloseAccountInstruction as ym,createInitializeAccountInstruction as bm,createTransferInstruction as gm,TOKEN_PROGRAM_ID as Pm}from"@solana/spl-token";import{Keypair as Xl,PublicKey as Ql}from"@solana/web3.js";import jl from"bn.js";import{TOKEN_PROGRAM_ID as em}from"@solana/spl-token";import{PublicKey as Ai}from"@solana/web3.js";import _n,{isBN as En}from"bn.js";import{bits as si,BitStructure as Jc,blob as ui,Blob as el,cstr as tl,f32 as nl,f32be as ol,f64 as il,f64be as rl,greedy as al,Layout as ci,ns64 as sl,ns64be as ul,nu64 as li,nu64be as cl,offset as mi,s16 as ll,s16be as ml,s24 as dl,s24be as pl,s32 as di,s32be as fl,s40 as yl,s40be as bl,s48 as gl,s48be as Pl,s8 as Al,seq as pi,struct as wl,Structure as fi,u16 as yi,u16be as kl,u24 as Tl,u24be as hl,u32 as bi,u32be as Il,u40 as Bl,u40be as Sl,u48 as xl,u48be as Kl,u8 as gi,UInt as Pi,union as Cl,Union as Rl,unionLayoutDiscriminator as Ll,utf8 as Ol}from"@solana/buffer-layout";var bt=ci,Nn=fi;var Yt=Pi;var Mn=gi,j=yi;var gt=bi;var Fn=li;var se=di;var vn=pi;var N=ui;var Xt=si,Vn=mi;var Be=class extends bt{constructor(t,o,u){super(t,u);this.blob=N(t),this.signed=o}decode(t,o=0){let u=new _n(this.blob.decode(t,o),10,"le");return this.signed?u.fromTwos(this.span*8).clone():u}encode(t,o,u=0){return typeof t=="number"&&(t=new _n(t)),this.signed&&(t=t.toTwos(this.span*8)),this.blob.encode(t.toArrayLike(Buffer,"le",this.span),o,u)}},Pt=class extends bt{constructor(t){super(8,t);this._lower=Xt(gt(),!1),this._upper=Xt(gt(),!1)}addBoolean(t){this._lower.fields.length<32?this._lower.addBoolean(t):this._upper.addBoolean(t)}decode(t,o=0){let u=this._lower.decode(t,o),m=this._upper.decode(t,o+this._lower.span);return C(C({},u),m)}encode(t,o,u=0){return this._lower.encode(t,o,u)+this._upper.encode(t,o,u+this._lower.span)}};function c(r){return new Yt(1,r)}function Y(r){return new Yt(4,r)}function e(r){return new Be(8,!1,r)}function O(r){return new Be(16,!1,r)}function Dn(r){return new Be(1,!0,r)}function ve(r){return new Be(8,!0,r)}function Wn(r){return new Be(16,!0,r)}var et=class extends bt{constructor(t,o,u,m){super(t.span,m);this.layout=t,this.decoder=o,this.encoder=u}decode(t,o){return this.decoder(this.layout.decode(t,o))}encode(t,o,u){return this.layout.encode(this.encoder(t),o,u)}getSpan(t,o){return this.layout.getSpan(t,o)}};function i(r){return new et(N(32),n=>new Ai(n),n=>n.toBuffer(),r)}function ae(r){return new et(Mn(),wi,ki,r)}function wi(r){if(r===0)return!1;if(r===1)return!0;throw new Error("Invalid bool: "+r)}function ki(r){return r?1:0}function qn(r,n){let t=gt("length"),o=l([t,d(r,Vn(t,-t.span),"values")]);return new et(o,({values:u})=>u,u=>({values:u}),n)}var Qt=class extends Nn{decode(n,t){return super.decode(n,t)}};function l(r,n,t){return new Qt(r,n,t)}function d(r,n,t){let o,u=typeof n=="number"?n:En(n)?n.toNumber():new Proxy(n,{get(m,p){if(!o){let f=Reflect.get(m,"count");o=En(f)?f.toNumber():f,Reflect.set(m,"count",o)}return Reflect.get(m,p)},set(m,p,f){return p==="count"&&(o=f),Reflect.set(m,p,f)}});return vn(r,u,t)}var At=l([i("mint"),i("owner"),e("amount"),Y("delegateOption"),i("delegate"),c("state"),Y("isNativeOption"),e("isNative"),e("delegatedAmount"),Y("closeAuthorityOption"),i("closeAuthority")]);import{PublicKey as Yg,SystemProgram as Xg}from"@solana/web3.js";import{createAssociatedTokenAccountIdempotentInstruction as Zg}from"@solana/spl-token";import rP from"decimal.js";import{createAssociatedTokenAccountIdempotentInstruction as Ly,TOKEN_2022_PROGRAM_ID as Oy,TOKEN_PROGRAM_ID as Ny}from"@solana/spl-token";import{PublicKey as Fy}from"@solana/web3.js";import Vy from"bn.js";import Ey from"decimal.js";import{TOKEN_PROGRAM_ID as Qm}from"@solana/spl-token";import{PublicKey as $m}from"@solana/web3.js";var hi=l([Y("mintAuthorityOption"),i("mintAuthority"),e("supply"),c("decimals"),c("isInitialized"),Y("freezeAuthorityOption"),i("freezeAuthority")]);import{ASSOCIATED_TOKEN_PROGRAM_ID as Jf,TOKEN_2022_PROGRAM_ID as ey,TOKEN_PROGRAM_ID as ty}from"@solana/spl-token";import{Keypair as iy,PublicKey as ry,SystemProgram as sy,TransactionInstruction as uy}from"@solana/web3.js";import ly from"bn.js";import D from"bn.js";var Se=new D(1).shln(64);var Ii=new D(1).shln(128),Zt=new D(1).shln(64).subn(1),Bi=new D(1).shln(128).subn(1);var Ve=new D("4295048016"),_e=new D("79226673521066979257578248091"),Si=new D("59543866431248"),xi=new D("184467440737095516"),Ki=new D("15793534762490258745");var Ht=60,ld=new D("18446743708227953217"),Ci=[{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 tt=3,Gn=100;var zn=10,Yn=100,kt=14;var $=new D(0),Ee=new D(1),md=new D(-1);var dd=new D("18446744073700000000");var Ri=l([N(8),c("bump"),j("index"),i("owner"),Y("protocolFeeRate"),Y("tradeFeeRate"),j("tickSpacing"),Y("fundFeeRate"),d(Y(),1),i("fundOwner"),d(e(),3)]),Li=l([Y("blockTimestamp"),ve("tickCumulative"),d(e(),4)]),Xn=l([N(8),ae("initialized"),e("recentEpoch"),j("observationIndex"),i("poolId"),d(Li,Gn,"observations"),d(e(),4)]),Oi=l([j("filterPeriod"),j("decayPeriod"),j("reductionFactor"),Y("dynamicFeeControl"),Y("maxVolatilityAccumulator"),se("tickSpacingIndexReference"),Y("volatilityReference"),Y("volatilityAccumulator"),e("lastUpdateTimestamp"),d(c(),46)]),Ni=l([c("state"),e("openTime"),e("endTime"),e("lastUpdateTime"),O("emissionsPerSecondX64"),e("totalEmissioned"),e("claimed"),i("mint"),i("vault"),i("creator"),O("growthGlobalX64")]),jt=l([N(8),c("bump"),i("configId"),i("creator"),i("mintA"),i("mintB"),i("vaultA"),i("vaultB"),i("observationId"),c("mintDecimalsA"),c("mintDecimalsB"),j("tickSpacing"),O("liquidity"),O("sqrtPriceX64"),se("tickCurrent"),Y(),O("feeGrowthGlobalX64A"),O("feeGrowthGlobalX64B"),e("protocolFeesTokenA"),e("protocolFeesTokenB"),d(O(),4),c("status"),c("feeOn"),N(6),d(Ni,tt,"rewardInfos"),N(8*16,"tickArrayBitmap"),d(e(),4),e("fundFeesTokenA"),e("fundFeesTokenB"),e("startTime"),e("recentEpoch"),Oi.replicate("dynamicFeeInfo"),d(e(),46)]),Mi=l([O("growthInsideLastX64"),e("rewardAmountOwed")]),Fi=l([N(8),c("bump"),i("nftMint"),i("poolId"),se("tickLower"),se("tickUpper"),O("liquidity"),O("feeGrowthInsideLastX64A"),O("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),d(Mi,tt,"rewardInfos"),e("recentEpoch"),d(e(),7)]),bd=l([N(8),c("bump"),i("poolId"),se("tickLower"),se("tickUpper"),O("liquidity"),O("feeGrowthInsideLastX64A"),O("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),d(O(),tt,"rewardGrowthInside"),e("recentEpoch"),d(e(),7)]),vi=l([se("tick"),Wn("liquidityNet"),O("liquidityGross"),O("feeGrowthOutsideX64A"),O("feeGrowthOutsideX64B"),d(O(),tt,"rewardGrowthsOutsideX64"),e("orderPhase"),e("ordersAmount"),e("partFilledOrdersRemaining"),O("unfilledRatioX64"),d(Y(),3)]),Qn=l([N(8),i("poolId"),se("startTickIndex"),d(vi,Ht,"ticks"),c("initializedTickCount"),e("recentEpoch"),d(c(),107)]),Vi=l([N(8),c("bump"),d(i(),zn,"operationOwners"),d(i(),Yn,"whitelistMints")]),_i=l([N(8),i("poolId"),i("owner"),se("tick"),ae("zeroForOne"),e("orderPhase"),e("totalAmount"),e("filledAmount"),e("settleBase"),e("settleOutput"),e("openTime"),O("unfilledRatioX64"),d(e(),4)]),Zn=l([N(8),i("poolId"),N(8*8*kt,"positiveTickArrayBitmap"),N(8*8*kt,"negativeTickArrayBitmap")]),gd=l([N(8),j("index"),j("filterPeriod"),j("decayPeriod"),j("reductionFactor"),Y("dynamicFeeControl"),Y("maxVolatilityAccumulator"),d(e(),8)]),Ei=l([N(8),i("wallet"),c("nonceIndex"),e("orderNonce"),d(e(),4)]),Pd=l([e(),c("bump"),i("owner"),i("poolId"),i("positionId"),i("nftAccount"),d(e(),8)]),Di=l([N(8),c("bump"),i("lockOwner"),i("poolId"),i("positionId"),i("nftAccount"),i("lockNftMint"),e("recentEpoch"),d(e(),8)]);import kd from"bn.js";var Od=Buffer.from("amm_config","utf8"),Wi=Buffer.from("pool","utf8"),qi=Buffer.from("pool_vault","utf8"),Nd=Buffer.from("pool_reward_vault","utf8"),Md=Buffer.from("position","utf8"),Fd=Buffer.from("tick_array","utf8"),vd=Buffer.from("operation","utf8"),Vd=Buffer.from("pool_tick_array_bitmap_extension","utf8"),_d=Buffer.from("observation","utf8"),Ed=Buffer.from("support_mint","utf8"),Dd=Buffer.from("dynamic_fee_config","utf8");var Wd=Buffer.from("locked_position","utf8");import{sha256 as ir}from"js-sha256";import Ui from"bn.js";import zd from"decimal.js";var Xd=new Ui(1).shln(256).subn(1);import mp from"bn.js";import ep from"bn.js";import np from"decimal.js";import Ap from"bn.js";import kp from"decimal.js";im