UNPKG

@raydium-io/raydium-sdk-v2

Version:

An SDK for building applications on top of Raydium.

1 lines 115 kB
var ai=Object.defineProperty,si=Object.defineProperties;var ui=Object.getOwnPropertyDescriptors;var Kt=Object.getOwnPropertySymbols;var zn=Object.prototype.hasOwnProperty,Xn=Object.prototype.propertyIsEnumerable;var Gn=(i,e,t)=>e in i?ai(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,F=(i,e)=>{for(var t in e||(e={}))zn.call(e,t)&&Gn(i,t,e[t]);if(Kt)for(var t of Kt(e))Xn.call(e,t)&&Gn(i,t,e[t]);return i},E=(i,e)=>si(i,ui(e));var fe=(i,e)=>{var t={};for(var o in i)zn.call(i,o)&&e.indexOf(o)<0&&(t[o]=i[o]);if(i!=null&&Kt)for(var o of Kt(i))e.indexOf(o)<0&&Xn.call(i,o)&&(t[o]=i[o]);return t};import{PublicKey as k}from"@solana/web3.js";import{AccountLayout as gs,NATIVE_MINT as st,TOKEN_2022_PROGRAM_ID as ri,TOKEN_PROGRAM_ID as pe,createAssociatedTokenAccountIdempotentInstruction as on}from"@solana/spl-token";import{PublicKey as bi}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as gi}from"@solana/spl-token";import{ComputeBudgetProgram as Zn,Keypair as jn,PublicKey as mi,Transaction as $n,TransactionMessage as di,VersionedTransaction as Jn}from"@solana/web3.js";import{get as Yn,set as ci}from"lodash";var an=class{constructor(e){this.logLevel=e.logLevel!==void 0?e.logLevel:0,this.name=e.name}set level(e){this.logLevel=e}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(e){return e<=this.logLevel}error(...e){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...e),this):this}logWithError(...e){let t=e.map(o=>typeof o=="object"?JSON.stringify(o):o).join(", ");throw new Error(t)}warning(...e){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...e),this):this}info(...e){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...e),this):this}debug(...e){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...e),this):this}},Qn={},li={};function X(i){let e=Yn(Qn,i);if(!e){let t=Yn(li,i);e=new an({name:i,logLevel:t}),ci(Qn,i,e)}return e}var Q={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 pi}from"@solana/spl-token";var Hn=X("Raydium_txUtil"),eo=1644;function Ct(i){let e=[],t=[];return i.microLamports&&(e.push(Zn.setComputeUnitPrice({microLamports:i.microLamports})),t.push(Q.SetComputeUnitPrice)),i.units&&(e.push(Zn.setComputeUnitLimit({units:i.units})),t.push(Q.SetComputeUnitLimit)),{instructions:e,instructionTypes:t}}async function Ue(i,e){var o,r;let t=e!=null?e:"confirmed";return(r=await((o=i.getLatestBlockhash)==null?void 0:o.call(i,{commitment:t})))==null?void 0:r.blockhash}async function Rt(i,e){return i.getSignatureStatuses([e]),new Promise((t,o)=>{let r=setTimeout(o,6e4);i.onSignature(e,a=>{if(clearTimeout(r),!a.err){t("");return}o(Object.assign(a.err,{txId:e}))},"confirmed")})}function sn(i,e){i.length<1&&Hn.logWithError(`no instructions provided: ${i.toString()}`),e.length<1&&Hn.logWithError(`no signers provided:, ${e.toString()}`);let t=new $n;t.recentBlockhash="11111111111111111111111111111111",t.feePayer=e[0],t.add(...i);try{return Buffer.from(t.serialize({verifySignatures:!1})).toString("base64").length<eo}catch{return!1}}function ee(i,e){let[t,o]=mi.findProgramAddressSync(i,e);return{publicKey:t,nonce:o}}function ct({instructions:i,payer:e,signers:t}){return sn(i,[e,...t])}function lt({instructions:i,payer:e,lookupTableAddressAccount:t,recentBlockhash:o=jn.generate().publicKey.toString()}){let a=new di({payerKey:e,recentBlockhash:o,instructions:i}).compileToV0Message(Object.values(t!=null?t:{}));try{return Buffer.from(new Jn(a).serialize()).toString("base64").length<eo}catch{return!1}}var fi=i=>Buffer.isBuffer(i)?i:i instanceof Uint8Array?Buffer.from(i.buffer,i.byteOffset,i.byteLength):Buffer.from(i),yi=i=>{let e=i.serialize({requireAllSignatures:!1,verifySignatures:!1});i instanceof Jn&&(e=fi(e));try{return e instanceof Buffer?e.toString("base64"):Buffer.from(e).toString("base64")}catch{return e.toString("base64")}};function Ve(i){let e=[];return i.forEach(t=>{t instanceof $n&&(t.recentBlockhash||(t.recentBlockhash=pi.toBase58()),t.feePayer||(t.feePayer=jn.generate().publicKey)),e.push(yi(t))}),console.log("simulate tx string:",e),e}function te(i,e,t){return ee([i.toBuffer(),(t!=null?t:gi).toBuffer(),e.toBuffer()],new bi("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"))}import{PublicKey as $,SystemProgram as to,SYSVAR_RENT_PUBKEY as Pi}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Ai}from"@solana/spl-token";function Ge({pubkey:i,isSigner:e=!1,isWritable:t=!0}){return{pubkey:i,isWritable:t,isSigner:e}}var wi=[Ge({pubkey:Ai,isWritable:!1}),Ge({pubkey:to.programId,isWritable:!1}),Ge({pubkey:Pi,isWritable:!1})];function un({publicKey:i,transformSol:e}){let t=no(i.toString());if(t instanceof $)return e&&t.equals(_e)?re:t;if(e&&t.toString()===_e.toBase58())return re;if(typeof t=="string"){if(t===$.default.toBase58())return $.default;try{return new $(t)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function no(i){try{return new $(i)}catch{return i}}var mt=new $("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Ee=new $("SysvarRent111111111111111111111111111111111"),Ds=new $("SysvarC1ock11111111111111111111111111111111"),De=new $("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),ki=new $("Sysvar1nstructions1111111111111111111111111"),oo=to.programId,Ws=new $("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),qs=new $("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Us=new $("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),Gs=new $("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),zs=new $("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Xs=new $("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),Ys=new $("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),Qs=new $("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),Zs=new $("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Hs=new $("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),js=new $("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),re=new $("So11111111111111111111111111111111111111112"),_e=$.default;function Ne(i){return un({publicKey:i,transformSol:!0})}import bs from"big.js";import gC from"bn.js";import Fe from"bn.js";import jK from"decimal.js";import{PublicKey as Ti}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as io}from"@solana/spl-token";var Lt={chainId:101,address:Ti.default.toBase58(),programId:io.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},Ie={chainId:101,address:"So11111111111111111111111111111111111111112",programId:io.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 cn}from"@solana/web3.js";var ln=class{constructor({mint:e,decimals:t,symbol:o,name:r,skipMint:a=!1,isToken2022:l=!1}){if(e===_e.toBase58()||e instanceof cn&&_e.equals(e)){this.decimals=Ie.decimals,this.symbol=Ie.symbol,this.name=Ie.name,this.mint=new cn(Ie.address),this.isToken2022=!1;return}this.decimals=t,this.symbol=o||e.toString().substring(0,6),this.name=r||e.toString().substring(0,6),this.mint=a?cn.default:un({publicKey:e}),this.isToken2022=l}equals(e){return this===e?!0:this.mint.equals(e.mint)}},se=ln;se.WSOL=new ln(E(F({},Ie),{mint:Ie.address}));var mn=class{constructor({decimals:e,symbol:t="UNKNOWN",name:o="UNKNOWN"}){this.decimals=e,this.symbol=t,this.name=o}equals(e){return this===e}},Ot=mn;Ot.SOL=new mn(Lt);import Mt from"big.js";import Si from"bn.js";import xi from"decimal.js-light";import dt from"bn.js";var ro=9007199254740991;function me(i){let e=X("Raydium_parseBigNumberish");if(i instanceof dt)return i;if(typeof i=="string"){if(i.match(/^-?[0-9]+$/))return new dt(i);e.logWithError(`invalid BigNumberish string: ${i}`)}return typeof i=="number"?(i%1&&e.logWithError(`BigNumberish number underflow: ${i}`),(i>=ro||i<=-ro)&&e.logWithError(`BigNumberish number overflow: ${i}`),new dt(String(i))):typeof i=="bigint"?new dt(i.toString()):(e.error(`invalid BigNumberish value: ${i}`),new dt(0))}import hi from"toformat";var Ii=hi,pt=Ii;var Nt=X("module/fraction"),dn=pt(Mt),ft=pt(xi),Ki={[0]:ft.ROUND_DOWN,[1]:ft.ROUND_HALF_UP,[2]:ft.ROUND_UP},Ci={[0]:Mt.roundDown,[1]:Mt.roundHalfUp,[2]:Mt.roundUp},H=class{constructor(e,t=new Si(1)){this.numerator=me(e),this.denominator=me(t)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new H(this.denominator,this.numerator)}add(e){let t=e instanceof H?e:new H(me(e));return this.denominator.eq(t.denominator)?new H(this.numerator.add(t.numerator),this.denominator):new H(this.numerator.mul(t.denominator).add(t.numerator.mul(this.denominator)),this.denominator.mul(t.denominator))}sub(e){let t=e instanceof H?e:new H(me(e));return this.denominator.eq(t.denominator)?new H(this.numerator.sub(t.numerator),this.denominator):new H(this.numerator.mul(t.denominator).sub(t.numerator.mul(this.denominator)),this.denominator.mul(t.denominator))}mul(e){let t=e instanceof H?e:new H(me(e));return new H(this.numerator.mul(t.numerator),this.denominator.mul(t.denominator))}div(e){let t=e instanceof H?e:new H(me(e));return new H(this.numerator.mul(t.denominator),this.denominator.mul(t.numerator))}toSignificant(e,t={groupSeparator:""},o=1){Number.isInteger(e)||Nt.logWithError(`${e} is not an integer.`),e<=0&&Nt.logWithError(`${e} is not positive.`),ft.set({precision:e+1,rounding:Ki[o]});let r=new ft(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(e);return r.toFormat(r.decimalPlaces(),t)}toFixed(e,t={groupSeparator:""},o=1){return Number.isInteger(e)||Nt.logWithError(`${e} is not an integer.`),e<0&&Nt.logWithError(`${e} is negative.`),dn.DP=e,dn.RM=Ci[o]||1,new dn(this.numerator.toString()).div(this.denominator.toString()).toFormat(e,t)}isZero(){return this.numerator.isZero()}};import Ri from"bn.js";var ao=new H(new Ri(100)),be=class extends H{toSignificant(e=5,t,o){return this.mul(ao).toSignificant(e,t,o)}toFixed(e=2,t,o){return this.mul(ao).toFixed(e,t,o)}};var Ru=X("Raydium_price");import{merge as eK}from"lodash";import el from"axios";import{PublicKey as so}from"@solana/web3.js";import{MINT_SIZE as Li,TOKEN_PROGRAM_ID as Oi,getTransferFeeConfig as Ni,unpackMint as Mi}from"@solana/spl-token";var pn=X("Raydium_accountInfo_util");async function Be(i,e,t){let{batchRequest:o,commitment:r="confirmed",chunkCount:a=100}=F({batchRequest:!1},t),l=fn(e,a),s=new Array(l.length).fill([]);if(o){let c=l.map(b=>{let d=i._buildArgs([b.map(f=>f.toBase58())],r,"base64");return{methodName:"getMultipleAccounts",args:d}}),p=fn(c,10);s=(await(await Promise.all(p.map(async b=>await i._rpcBatchRequest(b)))).flat()).map(b=>(b.error&&pn.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${b.error.message}`),b.result.value.map(d=>{if(d){let{data:f,executable:w,lamports:y,owner:g,rentEpoch:T}=d;return f.length!==2&&f[1]!=="base64"&&pn.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(f[0],"base64"),executable:w,lamports:y,owner:new so(g),rentEpoch:T}}return null})))}else try{s=await Promise.all(l.map(c=>i.getMultipleAccountsInfo(c,r)))}catch(c){c instanceof Error&&pn.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${c.message}`)}return s.flat()}async function Pe(i,e,t){let o=await Be(i,e.map(r=>r.pubkey),t);return e.map((r,a)=>E(F({},r),{accountInfo:o[a]}))}async function Ft({connection:i,mints:e,config:t}){var a,l,s;if(e.length===0)return{};let o=await Pe(i,e.map(c=>({pubkey:Ne(c)})),t),r={};for(let c of o){if(!c.accountInfo||c.accountInfo.data.length<Li){console.log("invalid mint account",c.pubkey.toBase58());continue}let p=Mi(c.pubkey,c.accountInfo,(a=c.accountInfo)==null?void 0:a.owner);r[c.pubkey.toString()]=E(F({},p),{programId:((l=c.accountInfo)==null?void 0:l.owner)||Oi,feeConfig:(s=Ni(p))!=null?s:void 0})}return r[so.default.toBase58()]=r[re.toBase58()],r}function fn(i,e=1,t=[]){let o=[...i];if(e<=0)return t;for(;o.length;)t.push(o.splice(0,e));return t}import{PublicKey as _}from"@solana/web3.js";var uo=new _("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),co=new _("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),lo=new _("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),yn=new _("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),zu=new _("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Fi=new _("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),mo=new _("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),po=new _("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),Xu=new _("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),vi=new _("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),fo=new _("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),Vi=new _("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),_i=new _("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),yo=new _("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Yu=new _("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Ei=new _("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),ze=new _("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),bo=new _("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),Qu=new _("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),yt=new _("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),vt=new _("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),Di=new _("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),Zu=new _("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),Hu=new _("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),ju=new _("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),$u=new _("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),Ju=new _("6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX");var Ke={OPEN_BOOK_PROGRAM:new _("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),SERUM_PROGRAM_ID_V3:new _("Ray1111111111111111111111111111111111111111"),AMM_V4:new _("DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav"),AMM_STABLE:new _("DRayDdXc1NZQ9C3hRWmoSf8zK4iapgMnjdNZWrfwsP8m"),CLMM_PROGRAM_ID:new _("DRayAUgENGQBKVaX8owNhgzkEDyoHTGVEGHVJT1E9pfH"),CLMM_LOCK_PROGRAM_ID:new _("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),CLMM_LOCK_AUTH_ID:new _("6Aoh8h2Lw2m5UGxYR8AdAL87jTWYeKoxM52mJRzfYwN"),CREATE_CPMM_POOL_PROGRAM:new _("DRaycpLY18LhpbydsBWbVJtxpNv9oXPgjRSfpF2bWpYb"),CREATE_CPMM_POOL_AUTH:new _("CXniRufdq5xL8t8jZAPxsPZDpuudwuJSPWnbcD5Y5Nxq"),CREATE_CPMM_POOL_FEE_ACC:new _("3oE58BKVt8KuYkGxx8zBojugnymWmBiyafWgMrnb6eYy"),LOCK_CPMM_PROGRAM:new _("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),LOCK_CPMM_AUTH:new _("7qWVV8UY2bRJfDLP4s37YzBPKUkVB46DStYJBpYbQzu3"),UTIL1216:_.default,Router:new _("DRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd"),FARM_PROGRAM_ID_V3:new _("DRayWyrLmEW5KEeqs8kdTMMaBabapqagaBC7KWpGtJeZ"),FARM_PROGRAM_ID_V4:new _("Ray1111111111111111111111111111111111111111"),FARM_PROGRAM_ID_V5:new _("DRayiCGSZgku1GTK6rXD6mVDdingXy6APAH1R6R5L2LC"),FARM_PROGRAM_ID_V6:new _("DRayzbYakXs45ELHkzH6vC3fuhQqTAnv5A68gdFuvZyZ"),LAUNCHPAD_PROGRAM:new _("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),LAUNCHPAD_AUTH:new _("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),LAUNCHPAD_PLATFORM:new _("2Jx4KTDrVSdWNazuGpcA8n3ZLTRGGBDxAWhuKe2Xcj2a"),LAUNCHPAD_CONFIG:new _("7ZR4zD7PYfY2XxoG1Gxcy2EgEeGYrpxrwzPuwdUBssEt"),FEE_DESTINATION_ID:new _("9y8ENuuZ3b19quffx9hQvRVygG5ky6snHfRvGpuSfeJy"),MODEL_DATA_PUBKEY:new _("Ray1111111111111111111111111111111111111111")};import ke from"bn.js";var bt=1e4;function Me(i,e,t,o){if(e===void 0)return{amount:i,fee:void 0,expirationTime:void 0};let r=E(F({},e),{olderTransferFee:{epoch:BigInt(e.olderTransferFee.epoch),maximumFee:BigInt(e.olderTransferFee.maximumFee),transferFeeBasisPoints:e.olderTransferFee.transferFeeBasisPoints},newerTransferFee:{epoch:BigInt(e.newerTransferFee.epoch),maximumFee:BigInt(e.newerTransferFee.maximumFee),transferFeeBasisPoints:e.newerTransferFee.transferFeeBasisPoints}}),a=t.epoch<r.newerTransferFee.epoch?r.olderTransferFee:r.newerTransferFee,l=new ke(a.maximumFee.toString()),s=t.epoch<r.newerTransferFee.epoch?(Number(r.newerTransferFee.epoch)*t.slotsInEpoch-t.absoluteSlot)*400/1e3:void 0;if(o)if(a.transferFeeBasisPoints===bt){let c=new ke(a.maximumFee.toString());return{amount:i.add(c),fee:c,expirationTime:s}}else{let c=Vt(i.mul(new ke(bt)),new ke(bt-a.transferFeeBasisPoints)),p=new ke(a.maximumFee.toString()),m=c.sub(i).gt(p)?i.add(p):c,b=Vt(m.mul(new ke(a.transferFeeBasisPoints)),new ke(bt)),d=b.gt(l)?l:b;return{amount:m,fee:d,expirationTime:s}}else{let c=Vt(i.mul(new ke(a.transferFeeBasisPoints)),new ke(bt)),p=c.gt(l)?l:c;return{amount:i,fee:p,expirationTime:s}}}function Vt(i,e){let{div:t,mod:o}=i.divmod(e);return o.gt(new ke(0))?t.add(new ke(1)):t}import{PublicKey as bn,AddressLookupTableAccount as Qe}from"@solana/web3.js";async function gn({connection:i,address:e,cluster:t="mainnet"}){let o=await Be(i,[...new Set(e.map(a=>a.toString()))].map(a=>new bn(a))),r={};for(let a=0;a<e.length;a++){let l=o[a],s=e[a];if(!l)continue;let c=new Qe({key:s,state:Qe.deserialize(l.data)});r[s.toString()]=c,t==="devnet"?Ye[s.toString()]=c:Xe[s.toString()]=c}return r}var Xe={},Pn=async i=>{let e="AcL1Vo8oy1ULiavEcjSUcwfBSForXMudcZvDZy5nzJkU";if(Xe[e])return Xe;let t=new bn(e),o=await i.getAccountInfo(t);return o&&(Xe[e]=new Qe({key:t,state:Qe.deserialize(o.data)})),Xe},Ye={},An=async i=>{let e="EFhMuDw1PKEuckuFRW9PavNfTH4LKP5uKHgyXDmWpFCq";if(Ye[e])return Ye;let t=new bn(e),o=await i.getAccountInfo(t);return o&&(Ye[e]=new Qe({key:t,state:Qe.deserialize(o.data)})),Ye};import{PublicKey as Ze,sendAndConfirmTransaction as wn,SystemProgram as Wi,Transaction as gt,TransactionMessage as Pt,VersionedTransaction as At}from"@solana/web3.js";import qi from"axios";var _t=2e3,Et=class{constructor(e){this.instructions=[];this.endInstructions=[];this.lookupTableAddress=[];this.signers=[];this.instructionTypes=[];this.endInstructionTypes=[];this.connection=e.connection,this.feePayer=e.feePayer,this.signAllTransactions=e.signAllTransactions,this.owner=e.owner,this.cluster=e.cluster,this.blockhashCommitment=e.blockhashCommitment,this.loopMultiTxStatus=!!e.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 e=(await qi.get(`https://solanacompass.com/api/fees?cacheFreshTime=${3e5}`)).data,{avg:t}=(o=e==null?void 0:e[15])!=null?o:{};if(!!t)return{units:6e5,microLamports:Math.min(Math.ceil(t*1e6/6e5),25e3)}}addCustomComputeBudget(e){if(e){let{instructions:t,instructionTypes:o}=Ct(e);return this.instructions.unshift(...t),this.instructionTypes.unshift(...o),!0}return!1}addTipInstruction(e){var t;return e?(this.endInstructions.push(Wi.transfer({fromPubkey:(t=e.feePayer)!=null?t:this.feePayer,toPubkey:new Ze(e.address),lamports:BigInt(e.amount.toString())})),this.endInstructionTypes.push(Q.TransferTip),!0):!1}async calComputeBudget({config:e,defaultIns:t}){try{let o=e||await this.getComputeBudgetConfig();if(this.addCustomComputeBudget(o))return;t&&this.instructions.unshift(...t)}catch{t&&this.instructions.unshift(...t)}}addInstruction({instructions:e=[],endInstructions:t=[],signers:o=[],instructionTypes:r=[],endInstructionTypes:a=[],lookupTableAddress:l=[]}){return this.instructions.push(...e),this.endInstructions.push(...t),this.signers.push(...o),this.instructionTypes.push(...r),this.endInstructionTypes.push(...a),this.lookupTableAddress.push(...l.filter(s=>s!==Ze.default.toString())),this}async versionBuild({txVersion:e,extInfo:t,lookupTableAddress:o}){return e===0?await this.buildV0(E(F({},t||{}),{lookupTableAddress:o})):this.build(t)}build(e){var o;let t=new gt;return this.allInstructions.length&&t.add(...this.allInstructions),t.feePayer=this.feePayer,((o=this.owner)==null?void 0:o.signer)&&!this.signers.some(r=>r.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 r=>{var m;let{recentBlockHash:a,skipPreflight:l=!0,sendAndConfirm:s,notSendToRpc:c}=r||{},p=a!=null?a:await Ue(this.connection,this.blockhashCommitment);if(t.recentBlockhash=p,this.signers.length&&t.sign(...this.signers),Ve([t]),(m=this.owner)!=null&&m.isKeyPair)return{txId:s?await wn(this.connection,t,this.signers.find(d=>d.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:l}):await this.connection.sendRawTransaction(t.serialize(),{skipPreflight:l}),signedTx:t};if(this.signAllTransactions){let b=await this.signAllTransactions([t]);if(this.signers.length)for(let d of b)try{d.sign(...this.signers)}catch{}return{txId:c?"":await this.connection.sendRawTransaction(b[0].serialize(),{skipPreflight:l}),signedTx:b[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:e||{}}}buildMultiTx(e){var p;let{extraPreBuildData:t=[],extInfo:o}=e,{transaction:r}=this.build(o),a=t.filter(m=>m.transaction.instructions.length>0),l=[r,...a.map(m=>m.transaction)],s=[this.signers,...a.map(m=>m.signers)],c=[...this.instructionTypes,...a.map(m=>m.instructionTypes).flat()];return(p=this.owner)!=null&&p.signer&&s.forEach(m=>{m.some(b=>b.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),{builder:this,transactions:l,signers:s,instructionTypes:c,execute:async m=>{var T;let{sequentially:b,onTxUpdate:d,skipTxCount:f=0,recentBlockHash:w,skipPreflight:y=!0}=m||{},g=w!=null?w:await Ue(this.connection,this.blockhashCommitment);if((T=this.owner)!=null&&T.isKeyPair){if(b){let h=[],R=0;for(let L of l){if(++R,R<=f)continue;let S=await wn(this.connection,L,this.signers.find(x=>x.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:y});h.push(S)}return{txIds:h,signedTxs:l}}return{txIds:await await Promise.all(l.map(async h=>(h.recentBlockhash=g,await this.connection.sendRawTransaction(h.serialize(),{skipPreflight:y})))),signedTxs:l}}if(this.signAllTransactions){let h=l.map((L,S)=>(L.recentBlockhash=g,s[S].length&&L.sign(...s[S]),L));Ve(h);let R=await this.signAllTransactions(h);if(b){let L=0,S=[],x=async()=>{if(!R[L])return;let I=await this.connection.sendRawTransaction(R[L].serialize(),{skipPreflight:y});S.push({txId:I,status:"sent",signedTx:R[L]}),d==null||d([...S]),L++;let C=!1,N=null,M=null,D=v=>{N!==null&&clearInterval(N),M!==null&&this.connection.removeSignatureListener(M);let V=S.findIndex(z=>z.txId===I);if(V>-1){if(S[V].status==="error"||S[V].status==="success")return;S[V].status=v.err?"error":"success"}d==null||d([...S]),v.err||x()};this.loopMultiTxStatus&&(N=setInterval(async()=>{var v;if(C){clearInterval(N);return}try{let V=await this.connection.getTransaction(I,{commitment:"confirmed",maxSupportedTransactionVersion:0});V&&(C=!0,clearInterval(N),D({err:((v=V.meta)==null?void 0:v.err)||null}),console.log("tx status from getTransaction:",I))}catch(V){C=!0,clearInterval(N),console.error("getTransaction timeout:",V,I)}},_t)),M=this.connection.onSignature(I,v=>{if(C){this.connection.removeSignatureListener(M);return}C=!0,D(v)},"confirmed"),this.connection.getSignatureStatus(I)};return await x(),{txIds:S.map(I=>I.txId),signedTxs:R}}else{let L=[];for(let S=0;S<R.length;S+=1){let x=await this.connection.sendRawTransaction(R[S].serialize(),{skipPreflight:y});L.push(x)}return{txIds:L,signedTxs:R}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:o||{}}}async versionMultiBuild({extraPreBuildData:e,txVersion:t,extInfo:o}){return t===0?await this.buildV0MultiTx({extraPreBuildData:e,buildProps:o||{}}):this.buildMultiTx({extraPreBuildData:e,extInfo:o})}async buildV0(e){var y;let w=e||{},{lookupTableCache:t={},lookupTableAddress:o=[],forerunCreate:r,recentBlockhash:a}=w,l=fe(w,["lookupTableCache","lookupTableAddress","forerunCreate","recentBlockhash"]),s=F(F({},this.cluster==="devnet"?await An(this.connection):await Pn(this.connection)),t),c=Array.from(new Set([...o,...this.lookupTableAddress])),p=[];for(let g of c)s[g]===void 0&&p.push(new Ze(g));let m=await gn({connection:this.connection,address:p});for(let[g,T]of Object.entries(m))s[g]=T;let b=r?Ze.default.toBase58():a!=null?a:await Ue(this.connection,this.blockhashCommitment),d=new Pt({payerKey:this.feePayer,recentBlockhash:b,instructions:[...this.allInstructions]}).compileToV0Message(Object.values(s));((y=this.owner)==null?void 0:y.signer)&&!this.signers.some(g=>g.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer);let f=new At(d);return f.sign(this.signers),{builder:this,transaction:f,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async g=>{var L;let{skipPreflight:T=!0,sendAndConfirm:h,notSendToRpc:R}=g||{};if(Ve([f]),(L=this.owner)!=null&&L.isKeyPair){let S=await this.connection.sendTransaction(f,{skipPreflight:T});return h&&await Rt(this.connection,S),{txId:S,signedTx:f}}if(this.signAllTransactions){let S=await this.signAllTransactions([f]);if(this.signers.length)for(let x of S)try{x.sign(this.signers)}catch{}return{txId:R?"":await this.connection.sendTransaction(S[0],{skipPreflight:T}),signedTx:S[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:l||{}}}async buildV0MultiTx(e){var p;let{extraPreBuildData:t=[],buildProps:o}=e,{transaction:r}=await this.buildV0(o),a=t.filter(m=>m.builder.instructions.length>0),l=[r,...a.map(m=>m.transaction)],s=[this.signers,...a.map(m=>m.signers)],c=[...this.instructionTypes,...a.map(m=>m.instructionTypes).flat()];return(p=this.owner)!=null&&p.signer&&s.forEach(m=>{m.some(b=>b.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),l.forEach(async(m,b)=>{m.sign(s[b])}),{builder:this,transactions:l,signers:s,instructionTypes:c,buildProps:o,execute:async m=>{var y;let{sequentially:b,onTxUpdate:d,recentBlockHash:f,skipPreflight:w=!0}=m||{};if(f&&l.forEach(g=>g.message.recentBlockhash=f),Ve(l),(y=this.owner)!=null&&y.isKeyPair){if(b){let g=[];for(let T of l){let h=await this.connection.sendTransaction(T,{skipPreflight:w});await Rt(this.connection,h),g.push(h)}return{txIds:g,signedTxs:l}}return{txIds:await Promise.all(l.map(async g=>await this.connection.sendTransaction(g,{skipPreflight:w}))),signedTxs:l}}if(this.signAllTransactions){let g=await this.signAllTransactions(l);if(b){let T=0,h=[],R=async()=>{if(!g[T])return;let L=await this.connection.sendTransaction(g[T],{skipPreflight:w});h.push({txId:L,status:"sent",signedTx:g[T]}),d==null||d([...h]),T++;let S=!1,x=null,I=null,C=N=>{x!==null&&clearInterval(x),I!==null&&this.connection.removeSignatureListener(I);let M=h.findIndex(D=>D.txId===L);if(M>-1){if(h[M].status==="error"||h[M].status==="success")return;h[M].status=N.err?"error":"success"}d==null||d([...h]),N.err||R()};this.loopMultiTxStatus&&(x=setInterval(async()=>{var N;if(S){clearInterval(x);return}try{let M=await this.connection.getTransaction(L,{commitment:"confirmed",maxSupportedTransactionVersion:0});M&&(S=!0,clearInterval(x),C({err:((N=M.meta)==null?void 0:N.err)||null}),console.log("tx status from getTransaction:",L))}catch(M){S=!0,clearInterval(x),console.error("getTransaction timeout:",M,L)}},_t)),I=this.connection.onSignature(L,N=>{if(S){this.connection.removeSignatureListener(I);return}S=!0,C(N)},"confirmed"),this.connection.getSignatureStatus(L)};return R(),{txIds:[],signedTxs:g}}else{let T=[];for(let h=0;h<g.length;h+=1){let R=await this.connection.sendTransaction(g[h],{skipPreflight:w});T.push(R)}return{txIds:T,signedTxs:g}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:o||{}}}async sizeCheckBuild(e){var d;let b=e||{},{splitIns:t=[],computeBudgetConfig:o}=b,r=fe(b,["splitIns","computeBudgetConfig"]),a=o?Ct(o):{instructions:[],instructionTypes:[]},l=this.signers.reduce((f,w)=>E(F({},f),{[w.publicKey.toBase58()]:w}),{}),s=[],c=[],p=[],m=0;if(this.allInstructions.forEach(f=>{let w=[...p,f],y=o?[...a.instructions,...w]:w,T=[...new Set(w.map(h=>h.keys.filter(R=>R.isSigner).map(R=>R.pubkey.toString())).flat()).values()].map(h=>new Ze(h));if(f!==t[m]&&p.length<12&&(ct({instructions:y,payer:this.feePayer,signers:T})||ct({instructions:w,payer:this.feePayer,signers:T})))p.push(f);else{if(p.length===0)throw Error("item ins too big");m+=f===t[m]?1:0,ct({instructions:o?[...a.instructions,...p]:[...p],payer:this.feePayer,signers:T})?s.push(new gt().add(...a.instructions,...p)):s.push(new gt().add(...p)),c.push(Array.from(new Set(p.map(h=>h.keys.filter(R=>R.isSigner).map(R=>R.pubkey.toString())).flat())).map(h=>l[h]).filter(h=>h!==void 0)),p=[f]}}),p.length>0){let w=[...new Set(p.map(y=>y.keys.filter(g=>g.isSigner).map(g=>g.pubkey.toString())).flat()).values()].map(y=>l[y]).filter(y=>y!==void 0);ct({instructions:o?[...a.instructions,...p]:[...p],payer:this.feePayer,signers:w.map(y=>y.publicKey)})?s.push(new gt().add(...a.instructions,...p)):s.push(new gt().add(...p)),c.push(w)}return s.forEach(f=>f.feePayer=this.feePayer),(d=this.owner)!=null&&d.signer&&c.forEach(f=>{f.some(w=>w.publicKey.equals(this.owner.publicKey))||f.push(this.owner.signer)}),{builder:this,transactions:s,signers:c,instructionTypes:this.instructionTypes,execute:async f=>{var L;let{sequentially:w,onTxUpdate:y,skipTxCount:g=0,recentBlockHash:T,skipPreflight:h=!0}=f||{},R=T!=null?T:await Ue(this.connection,this.blockhashCommitment);if(s.forEach(async(S,x)=>{S.recentBlockhash=R,c[x].length&&S.sign(...c[x])}),Ve(s),(L=this.owner)!=null&&L.isKeyPair){if(w){let S=0,x=[];for(let I of s){if(++S,S<=g){x.push("tx skipped");continue}let C=await wn(this.connection,I,this.signers.find(N=>N.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:h});x.push(C)}return{txIds:x,signedTxs:s}}return{txIds:await Promise.all(s.map(async S=>await this.connection.sendRawTransaction(S.serialize(),{skipPreflight:h}))),signedTxs:s}}if(this.signAllTransactions){let S=await this.signAllTransactions(s.slice(g,s.length)),x=[...s.slice(0,g),...S];if(w){let I=0,C=[],N=async()=>{if(!x[I])return;I<g&&(C.push({txId:"",status:"success",signedTx:x[I]}),y==null||y([...C]),I++,N());let M=await this.connection.sendRawTransaction(x[I].serialize(),{skipPreflight:h});C.push({txId:M,status:"sent",signedTx:x[I]}),y==null||y([...C]),I++;let D=!1,v=null,V=null,z=q=>{v!==null&&clearInterval(v),V!==null&&this.connection.removeSignatureListener(V);let U=C.findIndex(Z=>Z.txId===M);if(U>-1){if(C[U].status==="error"||C[U].status==="success")return;C[U].status=q.err?"error":"success"}y==null||y([...C]),q.err||N()};this.loopMultiTxStatus&&(v=setInterval(async()=>{var q;if(D){clearInterval(v);return}try{let U=await this.connection.getTransaction(M,{commitment:"confirmed",maxSupportedTransactionVersion:0});U&&(D=!0,clearInterval(v),z({err:((q=U.meta)==null?void 0:q.err)||null}),console.log("tx status from getTransaction:",M))}catch(U){D=!0,clearInterval(v),console.error("getTransaction timeout:",U,M)}},_t)),V=this.connection.onSignature(M,q=>{if(D){this.connection.removeSignatureListener(V);return}D=!0,z(q)},"confirmed"),this.connection.getSignatureStatus(M)};return await N(),{txIds:C.map(M=>M.txId),signedTxs:x}}else{let I=[];for(let C=0;C<x.length;C+=1){let N=await this.connection.sendRawTransaction(x[C].serialize(),{skipPreflight:h});I.push(N)}return{txIds:I,signedTxs:x}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:r||{}}}async sizeCheckBuildV0(e){var L;let R=e||{},{computeBudgetConfig:t,splitIns:o=[],lookupTableCache:r={},lookupTableAddress:a=[],insCountLimit:l=12}=R,s=fe(R,["computeBudgetConfig","splitIns","lookupTableCache","lookupTableAddress","insCountLimit"]),c=F(F({},this.cluster==="devnet"?await An(this.connection):await Pn(this.connection)),r),p=Array.from(new Set([...this.lookupTableAddress,...a])),m=[];for(let S of p)c[S]===void 0&&m.push(new Ze(S));let b=await gn({connection:this.connection,address:m});for(let[S,x]of Object.entries(b))c[S]=x;let d=t?Ct(t):{instructions:[],instructionTypes:[]},f=await Ue(this.connection,this.blockhashCommitment),w=this.signers.reduce((S,x)=>E(F({},S),{[x.publicKey.toBase58()]:x}),{}),y=[],g=[],T=[],h=0;if(this.allInstructions.forEach(S=>{let x=[...T,S],I=t?[...d.instructions,...x]:x;if(S!==o[h]&&T.length<l&&(lt({instructions:I,payer:this.feePayer,lookupTableAddressAccount:c})||lt({instructions:x,payer:this.feePayer,lookupTableAddressAccount:c})))T.push(S);else{if(T.length===0)throw Error("item ins too big");h+=S===o[h]?1:0;let C={};for(let N of[...new Set(p)])c[N]!==void 0&&(C[N]=c[N]);if(t&&lt({instructions:[...d.instructions,...T],payer:this.feePayer,lookupTableAddressAccount:c,recentBlockhash:f})){let N=new Pt({payerKey:this.feePayer,recentBlockhash:f,instructions:[...d.instructions,...T]}).compileToV0Message(Object.values(c));y.push(new At(N))}else{let N=new Pt({payerKey:this.feePayer,recentBlockhash:f,instructions:[...T]}).compileToV0Message(Object.values(c));y.push(new At(N))}g.push(Array.from(new Set(T.map(N=>N.keys.filter(M=>M.isSigner).map(M=>M.pubkey.toString())).flat())).map(N=>w[N]).filter(N=>N!==void 0)),T=[S]}}),T.length>0){let x=[...new Set(T.map(I=>I.keys.filter(C=>C.isSigner).map(C=>C.pubkey.toString())).flat()).values()].map(I=>w[I]).filter(I=>I!==void 0);if(t&&lt({instructions:[...d.instructions,...T],payer:this.feePayer,lookupTableAddressAccount:c,recentBlockhash:f})){let I=new Pt({payerKey:this.feePayer,recentBlockhash:f,instructions:[...d.instructions,...T]}).compileToV0Message(Object.values(c));y.push(new At(I))}else{let I=new Pt({payerKey:this.feePayer,recentBlockhash:f,instructions:[...T]}).compileToV0Message(Object.values(c));y.push(new At(I))}g.push(x)}return(L=this.owner)!=null&&L.signer&&g.forEach(S=>{S.some(x=>x.publicKey.equals(this.owner.publicKey))||S.push(this.owner.signer)}),y.forEach((S,x)=>{S.sign(g[x])}),{builder:this,transactions:y,buildProps:e,signers:g,instructionTypes:this.instructionTypes,execute:async S=>{var D;let{sequentially:x,onTxUpdate:I,skipTxCount:C=0,recentBlockHash:N,skipPreflight:M=!0}=S||{};if(y.map(async(v,V)=>{g[V].length&&v.sign(g[V]),N&&(v.message.recentBlockhash=N)}),Ve(y),(D=this.owner)!=null&&D.isKeyPair){if(x){let v=0,V=[];for(let z of y){if(++v,v<=C){console.log("skip tx: ",v),V.push("tx skipped");continue}let q=await this.connection.sendTransaction(z,{skipPreflight:M});await Rt(this.connection,q),V.push(q)}return{txIds:V,signedTxs:y}}return{txIds:await Promise.all(y.map(async v=>await this.connection.sendTransaction(v,{skipPreflight:M}))),signedTxs:y}}if(this.signAllTransactions){let v=await this.signAllTransactions(y.slice(C,y.length)),V=[...y.slice(0,C),...v];if(x){let z=0,q=[],U=async()=>{if(!V[z])return;if(z<C){q.push({txId:"",status:"success",signedTx:V[z]}),I==null||I([...q]),z++,U();return}let Z=await this.connection.sendTransaction(V[z],{skipPreflight:M});q.push({txId:Z,status:"sent",signedTx:V[z]}),I==null||I([...q]),z++;let ce=!1,le=null,ve=null,ut=Oe=>{le!==null&&clearInterval(le),ve!==null&&this.connection.removeSignatureListener(ve);let we=q.findIndex(rn=>rn.txId===Z);if(we>-1){if(q[we].status==="error"||q[we].status==="success")return;q[we].status=Oe.err?"error":"success"}I==null||I([...q]),Oe.err||U()};this.loopMultiTxStatus&&(le=setInterval(async()=>{var Oe;if(ce){clearInterval(le);return}try{let we=await this.connection.getTransaction(Z,{commitment:"confirmed",maxSupportedTransactionVersion:0});we&&(ce=!0,clearInterval(le),ut({err:((Oe=we.meta)==null?void 0:Oe.err)||null}),console.log("tx status from getTransaction:",Z))}catch(we){ce=!0,clearInterval(le),console.error("getTransaction timeout:",we,Z)}},_t)),ve=this.connection.onSignature(Z,Oe=>{if(ce){this.connection.removeSignatureListener(ve);return}ce=!0,ut(Oe)},"confirmed"),this.connection.getSignatureStatus(Z)};return U(),{txIds:[],signedTxs:V}}else{let z=[];for(let q=0;q<V.length;q+=1){let U=await this.connection.sendTransaction(V[q],{skipPreflight:M});z.push(U)}return{txIds:z,signedTxs:V}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:s||{}}}};import{PublicKey as wc}from"@solana/web3.js";import Tc from"bn.js";import Ui from"bn.js";var Se=new Ui(1e6);var go={BASE_HOST:"https://api-v3.raydium.io",OWNER_BASE_HOST:"https://owner-v1.raydium.io",SERVICE_BASE_HOST:"https://service.raydium.io",MONITOR_BASE_HOST:"https://monitor.raydium.io",SERVICE_1_BASE_HOST:"https://service-v1.raydium.io",TEMP_HOST:"https://temp-api-v1.raydium.io",SEND_TRANSACTION:"/send-transaction",FARM_ARP:"/main/farm/info",FARM_ARP_LINE:"/main/farm-apr-tv",CLMM_CONFIG:"/main/clmm-config",CPMM_CONFIG:"/main/cpmm-config",CLMM_DYNAMIC_CONFIG:"/main/clmm-dynamic-config",VERSION:"/main/version",CHECK_AVAILABILITY:"/v3/main/AvailabilityCheckAPI",RPCS:"/main/rpcs",INFO:"/main/info",STAKE_POOLS:"/main/stake-pools",CHAIN_TIME:"/main/chain-time",TOKEN_LIST:"/mint/list",MINT_INFO_ID:"/mint/ids",JUP_TOKEN_LIST:"https://lite-api.jup.ag/tokens/v2/tag?query=verified",POOL_LIST:"/pools/info/list-v2",POOL_SEARCH_BY_ID:"/pools/info/ids",POOL_SEARCH_MINT:"/pools/info/list-v2",POOL_SEARCH_LP:"/pools/info/lps",POOL_KEY_BY_ID:"/pools/key/ids",POOL_LIQUIDITY_LINE:"/pools/line/liquidity",POOL_POSITION_LINE:"/pools/line/position",FARM_INFO:"/farms/info/ids",FARM_LP_INFO:"/farms/info/lp",FARM_KEYS:"/farms/key/ids",OWNER_CREATED_FARM:"/create-pool/{owner}",OWNER_STAKE_FARMS:"/position/stake/{owner}",OWNER_LOCK_POSITION:"/position/clmm-lock/{owner}",SWAP_HOST:"https://transaction-v1.raydium.io",SWAP_COMPUTE:"/compute/",SWAP_TX:"/transaction/",MINT_PRICE:"/mint/price",MIGRATE_CONFIG:"/main/migrate-lp",PRIORITY_FEE:"/main/auto-fee",CPMM_LOCK:"https://dynamic-ipfs.raydium.io/lock/cpmm/position",LAUNCH_AUTH_HOST:"https://launch-auth-v1.raydium.io",LAUNCH_COMMENT_HOST:"hhttps://launch-forum-v1.raydium.io",LAUNCH_HISTORY_HOST:"https://launch-history-v1.raydium.io",LAUNCH_MINT_HOST:"https://launch-mint-v1.raydium.io"},Gi=E(F({},go),{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 hl=X("Raydium_Api");import{PublicKey as pd,SystemProgram as fd}from"@solana/web3.js";import{AccountLayout as Ad,createAssociatedTokenAccountIdempotentInstruction as wd,TOKEN_PROGRAM_ID as kd,TOKEN_2022_PROGRAM_ID as Td}from"@solana/spl-token";var kn=(...i)=>i.map(e=>{try{return typeof e=="object"?JSON.stringify(e):e}catch{return e}}).join(", "),de=class{constructor({scope:e,moduleName:t}){this.disabled=!1;this.scope=e,this.logger=X(t)}createTxBuilder(e){return this.scope.checkOwner(),new Et({connection:this.scope.connection,feePayer:e||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(...e){this.logger.debug(kn(e))}logInfo(...e){this.logger.info(kn(e))}logAndCreateError(...e){let t=kn(e);throw new Error(t)}checkDisabled(){(this.disabled||!this.scope)&&this.logAndCreateError("module not working")}};import{PublicKey as Gm,SystemProgram as Xm}from"@solana/web3.js";import Zm from"bn.js";import{createCloseAccountInstruction as Jm,createInitializeAccountInstruction as ed,createTransferInstruction as td,TOKEN_PROGRAM_ID as nd}from"@solana/spl-token";import{Keypair as Lm,PublicKey as Om}from"@solana/web3.js";import Fm from"bn.js";import{TOKEN_PROGRAM_ID as _m}from"@solana/spl-token";import{PublicKey as nr}from"@solana/web3.js";import To,{isBN as ho}from"bn.js";import{bits as zi,BitStructure as vl,blob as Xi,Blob as Vl,cstr as _l,f32 as El,f32be as Dl,f64 as Wl,f64be as ql,greedy as Ul,Layout as Yi,ns64 as Gl,ns64be as zl,nu64 as Xl,nu64be as Yl,offset as Qi,s16 as Ql,s16be as Zl,s24 as Hl,s24be as jl,s32 as Zi,s32be as $l,s40 as Jl,s40be as em,s48 as tm,s48be as nm,s8 as om,seq as Hi,struct as im,Structure as ji,u16 as $i,u16be as rm,u24 as am,u24be as sm,u32 as Ji,u32be as um,u40 as cm,u40be as lm,u48 as mm,u48be as dm,u8 as er,UInt as tr,union as pm,Union as fm,unionLayoutDiscriminator as ym,utf8 as bm}from"@solana/buffer-layout";var Wt=Yi,Po=ji;var Tn=tr;var Ao=er,ne=$i;var qt=Ji;var Te=Zi;var wo=Hi;var G=Xi;var hn=zi,ko=Qi;var qe=class extends Wt{constructor(t,o,r){super(t,r);this.blob=G(t),this.signed=o}decode(t,o=0){let r=new To(this.blob.decode(t,o),10,"le");return this.signed?r.fromTwos(this.span*8).clone():r}encode(t,o,r=0){return typeof t=="number"&&(t=new To(t)),this.signed&&(t=t.toTwos(this.span*8)),this.blob.encode(t.toArrayLike(Buffer,"le",this.span),o,r)}},Ut=class extends Wt{constructor(t){super(8,t);this._lower=hn(qt(),!1),this._upper=hn(qt(),!1)}addBoolean(t){this._lower.fields.length<32?this._lower.addBoolean(t):this._upper.addBoolean(t)}decode(t,o=0){let r=this._lower.decode(t,o),a=this._upper.decode(t,o+this._lower.span);return F(F({},r),a)}encode(t,o,r=0){return this._lower.encode(t,o,r)+this._upper.encode(t,o,r+this._lower.span)}};function K(i){return new Tn(1,i)}function J(i){return new Tn(4,i)}function n(i){return new qe(8,!1,i)}function W(i){return new qe(16,!1,i)}function Io(i){return new qe(1,!0,i)}function je(i){return new qe(8,!0,i)}function Bo(i){return new qe(16,!0,i)}var wt=class extends Wt{constructor(t,o,r,a){super(t.span,a);this.layout=t,this.decoder=o,this.encoder=r}decode(t,o){return this.decoder(this.layout.decode(t,o))}encode(t,o,r){return this.layout.encode(this.encoder(t),o,r)}getSpan(t,o){return this.layout.getSpan(t,o)}};function u(i){return new wt(G(32),e=>new nr(e),e=>e.toBuffer(),i)}function ge(i){return new wt(Ao(),or,ir,i)}function or(i){if(i===0)return!1;if(i===1)return!0;throw new Error("Invalid bool: "+i)}function ir(i){return i?1:0}function So(i,e){let t=qt("length"),o=B([t,O(i,ko(t,-t.span),"values")]);return new wt(o,({values:r})=>r,r=>({values:r}),e)}var In=class extends Po{decode(e,t){return super.decode(e,t)}};function B(i,e,t){return new In(i,e,t)}function O(i,e,t){let o,r=typeof e=="number"?e:ho(e)?e.toNumber():new Proxy(e,{get(a,l){if(!o){let s=Reflect.get(a,"count");o=ho(s)?s.toNumber():s,Reflect.set(a,"count",o)}return Reflect.get(a,l)},set(a,l,s){return l==="count"&&(o=s),Reflect.set(a,l,s)}});return wo(i,r,t)}var Gt=B([u("mint"),u("owner"),n("amount"),J("delegateOption"),u("delegate"),K("state"),J("isNativeOption"),n("isNative"),n("delegatedAmount"),J("closeAuthorityOption"),u("closeAuthority")]);import{PublicKey as VP,SystemProgram as _P}from"@solana/web3.js";import{createAssociatedTokenAccountIdempotentInstruction as DP}from"@solana/spl-token";import HP from"decimal.js";import{createAssociatedTokenAccountIdempotentInstruction as Tb,TOKEN_2022_PROGRAM_ID as hb,TOKEN_PROGRAM_ID as Ib}from"@solana/spl-token";import{PublicKey as Sb}from"@solana/web3.js";import Kb from"bn.js";import Rb from"decimal.js";import{TOKEN_PROGRAM_ID as Od}from"@solana/spl-token";import{PublicKey as vd}from"@solana/web3.js";var ar=B([J("mintAuthorityOption"),u("mintAuthority"),n("supply"),K("decimals"),K("isInitialized"),J("freezeAuthorityOption"),u("freezeAuthority")]);var xe=r=>{var a=r,{address:i,programId:e,decimals:t}=a,o=fe(a,["address","programId","decimals"]);return F({chainId:101,address:Ne(i).toBase58(),programId:e,logoURI:"",symbol:"",name:"",decimals:t,tags:[],extensions:o.extensions||{}},o)},$e=i=>i?E(F({},i),{transferFeeConfigAuthority:i.transferFeeConfigAuthority.toBase58(),withdrawWithheldAuthority:i.withdrawWithheldAuthority.toBase58(),withheldAmount:i.withheldAmount.toString(),olderTransferFee:E(F({},i.olderTransferFee),{epoch:i.olderTransferFee.epoch.toString(),maximumFee:i.olderTransferFee.maximumFee.toString()}),newerTransferFee:E(F({},i.newerTransferFee),{epoch:i.newerTransferFee.epoch.toString(),maximumFee:i.newerTransferFee.maximumFee.toString()})}):void 0;import{ASSOCIATED_TOKEN_PROGRAM_ID as Gy,TOKEN_2022_PROGRAM_ID as zy,TOKEN_PROGRAM_ID as Xy}from"@solana/spl-token";import{Keypair as Zy,PublicKey as Hy,SystemProgram as $y,TransactionInstruction as Jy}from"@solana/web3.js";import tb from"bn.js";import Y from"bn.js";var Je=new Y(1).shln(64);var sr=new Y(1).shln(128),Bn=new Y(1).shln(64).subn(1),ur=new Y(1).shln(128).subn(1);var et=new Y("4295048016"),tt=new Y("79226673521066979257578248091"),cr=new Y("59543866431248"),lr=new Y("184467440737095516"),mr=new Y("15793534762490258745");var Sn=60,Qd=new Y("18446743708227953217"),dr=[{bit:0,factor:new Y("fffcb933bd6fb800",16)},{bit:1,factor:new Y("fff97272373d4000",16)},{bit:2,factor:new Y("fff2e50f5f657000",16)},{bit:3,factor:new Y("ffe5caca7e10f000",16)},{bit:4,factor:new Y("ffcb9843d60f7000",16)},{bit:5,factor:new Y("ff973b41fa98e800",16)},{bit:6,factor:new Y("ff2ea16466c9b000",16)},{bit:7,factor:new Y("fe5dee046a9a3800",16)},{bit:8,factor:new Y("fcbe86c7900bb000",16)},{bit:9,factor:new Y("f987a7253ac65800",16)},{bit:10,factor:new Y("f3392b0822bb6000",16)},{bit:11,factor:new Y("e7159475a2caf000",16)},{bit:12,factor:new Y("d097f3bdfd2f2000",16)},{bit:13,factor:new Y("a9f746462d9f8000",16)},{bit:14,factor:new Y("70d869a156f31c00",16)},{bit:15,factor:new Y("31be135f97ed3200",16)},{bit:16,factor:new Y("9aa508b5b85a500",16)},{bit:17,factor:new Y("5d6af8dedc582c",16)},{bit:18,factor:new Y("2216e584f5fa",16)}];var kt=3,Ko=100;var Co=10,Ro=100,Xt=14;var oe=new Y(0),nt=new Y(1),Zd=new Y(-1);var Hd=new Y("18446744073700000000");var pr=B([G(8),K("bump"),ne("index"),u("owner"),J("protocolFeeRate"),J("tradeFeeRate"),ne("tickSpacing"),J("fundFeeRate"),O(J(),1),u("fundOwner"),O(n(),3)]),fr=B([J("blockTimestamp"),je("tickCumulative"),O(n(),4)]),Lo=B([G(8),ge("initialized"),n("recentEpoch"),ne("observationIndex"),u("poolId"),O(fr,Ko,"observations"),O(n(),4)]),yr=B([ne("filterPeriod"),ne("decayPeriod"),ne("reductionFactor"),J("dynamicFeeControl"),J("maxVolatilityAccumulator"),Te("tickSpacingIndexReference"),J("volatilityReference"),J("volatilityAccumulator"),n("lastUpdateTimestamp"),O(K(),46)]),br=B([K("state"),n("openTime"),n("endTime"),n("lastUpdateTime"),W("emissionsPerSecondX64"),n("totalEmissioned"),n("claimed"),u("mint"),u("vault"),u("creator"),W("growthGlobalX64")]),xn=B([G(8),K("bump"),u("configId"),u("creator"),u("mintA"),u("mintB"),u("vaultA"),u("vaultB"),u("observationId"),K("mintDecimalsA"),K("mintDecimalsB"),ne("tickSpacing"),W("liquidity"),W("sqrtPriceX64"),Te("tickCurrent"),J(),W("feeGrowthGlobalX64A"),W("feeGrowthGlobalX64B"),n("protocolFeesTokenA"),n("protocolFeesTokenB"),O(W(),4),K("status"),K("feeOn"),G(6),O(br,kt,"rewardInfos"),G(8*16,"tickArrayBitmap"),O(n(),4),n("fundFeesTokenA"),n("fundFeesTokenB"),n("startTime"),n("recentEpoch"),yr.replicate("dynamicFeeInfo"),O(n(),46)]),gr=B([W("growthInsideLastX64"),n("rewardAmountOwed")]),Pr=B([G(8),K("bump"),u("nftMint"),u("poolId"),Te("tickLower"),Te("tickUpper"),W("liquidity"),W("feeGrowthInsideLastX64A"),W("feeGrowthInsideLastX64B"),n("tokenFeesOwedA"),n("tokenFeesOwedB"),O(gr,kt,"rewardInfos"),n("recentEpoch"),O(n(),7)]),ep=B([G(8),K("bump"),u("poolId"),Te("tickLower"),Te("tickUpper"),W("liquidity"),W("feeGrowthInsideLastX64A"),W("feeGrowthInsideLastX64B"),n("tokenFeesOwedA"),n("tokenFeesOwedB"),O(W(),kt,"rewardGrowthInside"),n("recentEpoch"),O(n(),7)]),Ar=B([Te("tick"),Bo("liquidityNet"),W("liquidityGross"),W("feeGrowthOutsideX64A"),W("feeGrowthOutsideX64B"),O(W(),kt,"rewardGrowthsOutsideX64"),n("orderPhase"),n("orde