@raydium-io/raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
1 lines • 115 kB
JavaScript
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 bs,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)?ie:t;if(e&&t.toString()===_e.toBase58())return ie;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"),Es=new $("SysvarC1ock11111111111111111111111111111111"),De=new $("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),ki=new $("Sysvar1nstructions1111111111111111111111111"),oo=to.programId,Ds=new $("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Ws=new $("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),qs=new $("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),Us=new $("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Gs=new $("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),zs=new $("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),Xs=new $("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),Ys=new $("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),Qs=new $("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Zs=new $("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Hs=new $("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),ie=new $("So11111111111111111111111111111111111111112"),_e=$.default;function Ne(i){return un({publicKey:i,transformSol:!0})}import ys from"big.js";import fC from"bn.js";import Fe from"bn.js";import QK 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 Cu=X("Raydium_price");import{merge as jx}from"lodash";import Jc 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[ie.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"),Gu=new _("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Fi=new _("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),mo=new _("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),po=new _("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),zu=new _("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),vi=new _("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),fo=new _("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),Vi=new _("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),_i=new _("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),yo=new _("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Xu=new _("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Ei=new _("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),ze=new _("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),bo=new _("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),Yu=new _("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),yt=new _("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),vt=new _("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),Di=new _("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),Qu=new _("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),Zu=new _("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),Hu=new _("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),ju=new _("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),$u=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&<({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&<({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 Ac}from"@solana/web3.js";import kc 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 Tl=X("Raydium_Api");import{PublicKey as dd,SystemProgram as pd}from"@solana/web3.js";import{AccountLayout as Pd,createAssociatedTokenAccountIdempotentInstruction as Ad,TOKEN_PROGRAM_ID as wd,TOKEN_2022_PROGRAM_ID as kd}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 Um,SystemProgram as zm}from"@solana/web3.js";import Qm from"bn.js";import{createCloseAccountInstruction as $m,createInitializeAccountInstruction as Jm,createTransferInstruction as ed,TOKEN_PROGRAM_ID as td}from"@solana/spl-token";import{Keypair as Rm,PublicKey as Lm}from"@solana/web3.js";import Mm from"bn.js";import{TOKEN_PROGRAM_ID as Vm}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 Fl,blob as Xi,Blob as vl,cstr as Vl,f32 as _l,f32be as El,f64 as Dl,f64be as Wl,greedy as ql,Layout as Yi,ns64 as Ul,ns64be as Gl,nu64 as zl,nu64be as Xl,offset as Qi,s16 as Yl,s16be as Ql,s24 as Zl,s24be as Hl,s32 as Zi,s32be as jl,s40 as $l,s40be as Jl,s48 as em,s48be as tm,s8 as nm,seq as Hi,struct as om,Structure as ji,u16 as $i,u16be as im,u24 as rm,u24be as am,u32 as Ji,u32be as sm,u40 as um,u40be as cm,u48 as lm,u48be as mm,u8 as er,UInt as tr,union as dm,Union as pm,unionLayoutDiscriminator as fm,utf8 as ym}from"@solana/buffer-layout";var Wt=Yi,Po=ji;var Tn=tr;var Ao=er,re=$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 NP,SystemProgram as MP}from"@solana/web3.js";import{createAssociatedTokenAccountIdempotentInstruction as vP}from"@solana/spl-token";import XP from"decimal.js";import{createAssociatedTokenAccountIdempotentInstruction as Pb,TOKEN_2022_PROGRAM_ID as Ab,TOKEN_PROGRAM_ID as wb}from"@solana/spl-token";import{PublicKey as Tb}from"@solana/web3.js";import Ib from"bn.js";import Sb from"decimal.js";import{TOKEN_PROGRAM_ID as Ld}from"@solana/spl-token";import{PublicKey as Fd}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 Dy,TOKEN_2022_PROGRAM_ID as Wy,TOKEN_PROGRAM_ID as qy}from"@solana/spl-token";import{Keypair as zy,PublicKey as Xy,SystemProgram as Qy,TransactionInstruction as Zy}from"@solana/web3.js";import jy 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,Yd=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 ne=new Y(0),nt=new Y(1),Qd=new Y(-1);var Zd=new Y("18446744073700000000");var pr=B([G(8),K("bump"),re("index"),u("owner"),J("protocolFeeRate"),J("tradeFeeRate"),re("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"),re("observationIndex"),u("poolId"),O(fr,Ko,"observations"),O(n(),4)]),yr=B([re("filterPeriod"),re("decayPeriod"),re("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"),re("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)]),Jd=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