@raydium-io/raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
2 lines • 73.5 kB
JavaScript
var so=Object.defineProperty,uo=Object.defineProperties;var co=Object.getOwnPropertyDescriptors;var tt=Object.getOwnPropertySymbols;var nn=Object.prototype.hasOwnProperty,on=Object.prototype.propertyIsEnumerable;var tn=(i,t,n)=>t in i?so(i,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):i[t]=n,C=(i,t)=>{for(var n in t||(t={}))nn.call(t,n)&&tn(i,n,t[n]);if(tt)for(var n of tt(t))on.call(t,n)&&tn(i,n,t[n]);return i},V=(i,t)=>uo(i,co(t));var ue=(i,t)=>{var n={};for(var r in i)nn.call(i,r)&&t.indexOf(r)<0&&(n[r]=i[r]);if(i!=null&&tt)for(var r of tt(i))t.indexOf(r)<0&&on.call(i,r)&&(n[r]=i[r]);return n};import{PublicKey as Jt,AddressLookupTableAccount as _e}from"@solana/web3.js";import{PublicKey as fa}from"@solana/web3.js";import Te from"bn.js";import oR from"decimal.js";import wo from"big.js";import Na from"bn.js";import{get as rn,set as lo}from"lodash";var ht=class{constructor(t){this.logLevel=t.logLevel!==void 0?t.logLevel:0,this.name=t.name}set level(t){this.logLevel=t}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(t){return t<=this.logLevel}error(...t){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...t),this):this}logWithError(...t){let n=t.map(r=>typeof r=="object"?JSON.stringify(r):r).join(", ");throw new Error(n)}warning(...t){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...t),this):this}info(...t){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...t),this):this}debug(...t){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...t),this):this}},an={},mo={};function E(i){let t=rn(an,i);if(!t){let n=rn(mo,i);t=new ht({name:i,logLevel:n}),lo(an,i,t)}return t}import po from"toformat";var fo=po,Ee=fo;import ot from"big.js";import bo from"bn.js";import go from"decimal.js-light";import De from"bn.js";var sn=9007199254740991;function ne(i){let t=E("Raydium_parseBigNumberish");if(i instanceof De)return i;if(typeof i=="string"){if(i.match(/^-?[0-9]+$/))return new De(i);t.logWithError(`invalid BigNumberish string: ${i}`)}return typeof i=="number"?(i%1&&t.logWithError(`BigNumberish number underflow: ${i}`),(i>=sn||i<=-sn)&&t.logWithError(`BigNumberish number overflow: ${i}`),new De(String(i))):typeof i=="bigint"?new De(i.toString()):(t.error(`invalid BigNumberish value: ${i}`),new De(0))}var nt=E("module/fraction"),It=Ee(ot),We=Ee(go),Po={[0]:We.ROUND_DOWN,[1]:We.ROUND_HALF_UP,[2]:We.ROUND_UP},Ao={[0]:ot.roundDown,[1]:ot.roundHalfUp,[2]:ot.roundUp},U=class{constructor(t,n=new bo(1)){this.numerator=ne(t),this.denominator=ne(n)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new U(this.denominator,this.numerator)}add(t){let n=t instanceof U?t:new U(ne(t));return this.denominator.eq(n.denominator)?new U(this.numerator.add(n.numerator),this.denominator):new U(this.numerator.mul(n.denominator).add(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}sub(t){let n=t instanceof U?t:new U(ne(t));return this.denominator.eq(n.denominator)?new U(this.numerator.sub(n.numerator),this.denominator):new U(this.numerator.mul(n.denominator).sub(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}mul(t){let n=t instanceof U?t:new U(ne(t));return new U(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(t){let n=t instanceof U?t:new U(ne(t));return new U(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(t,n={groupSeparator:""},r=1){Number.isInteger(t)||nt.logWithError(`${t} is not an integer.`),t<=0&&nt.logWithError(`${t} is not positive.`),We.set({precision:t+1,rounding:Po[r]});let c=new We(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(t);return c.toFormat(c.decimalPlaces(),n)}toFixed(t,n={groupSeparator:""},r=1){return Number.isInteger(t)||nt.logWithError(`${t} is not an integer.`),t<0&&nt.logWithError(`${t} is negative.`),It.DP=t,It.RM=Ao[r]||1,new It(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,n)}isZero(){return this.numerator.isZero()}};var qa=E("Raydium_amount"),Ua=Ee(wo);import{PublicKey as To}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as un}from"@solana/spl-token";var it={chainId:101,address:To.default.toBase58(),programId:un.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},ce={chainId:101,address:"So11111111111111111111111111111111111111112",programId:un.toBase58(),decimals:9,symbol:"WSOL",name:"Wrapped SOL",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}};import{PublicKey as St}from"@solana/web3.js";import{PublicKey as z,SystemProgram as cn,SYSVAR_RENT_PUBKEY as ho}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Io}from"@solana/spl-token";function Ie({pubkey:i,isSigner:t=!1,isWritable:n=!0}){return{pubkey:i,isWritable:n,isSigner:t}}var Bo=[Ie({pubkey:Io,isWritable:!1}),Ie({pubkey:cn.programId,isWritable:!1}),Ie({pubkey:ho,isWritable:!1})];function ln({publicKey:i,transformSol:t}){let n=mn(i.toString());if(n instanceof z)return t&&n.equals(Pe)?fe:n;if(t&&n.toString()===Pe.toBase58())return fe;if(typeof n=="string"){if(n===z.default.toBase58())return z.default;try{return new z(n)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function mn(i){try{return new z(i)}catch{return i}}var Bt=new z("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),qe=new z("SysvarRent111111111111111111111111111111111"),$a=new z("SysvarC1ock11111111111111111111111111111111"),rt=new z("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),So=new z("Sysvar1nstructions1111111111111111111111111"),Ko=cn.programId,ja=new z("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Ja=new z("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),es=new z("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),ts=new z("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),ns=new z("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),os=new z("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),is=new z("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),rs=new z("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),as=new z("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),ss=new z("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),us=new z("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),fe=new z("So11111111111111111111111111111111111111112"),Pe=z.default;var Kt=class{constructor({mint:t,decimals:n,symbol:r,name:c,skipMint:d=!1,isToken2022:y=!1}){if(t===Pe.toBase58()||t instanceof St&&Pe.equals(t)){this.decimals=ce.decimals,this.symbol=ce.symbol,this.name=ce.name,this.mint=new St(ce.address),this.isToken2022=!1;return}this.decimals=n,this.symbol=r||t.toString().substring(0,6),this.name=c||t.toString().substring(0,6),this.mint=d?St.default:ln({publicKey:t}),this.isToken2022=y}equals(t){return this===t?!0:this.mint.equals(t.mint)}},J=Kt;J.WSOL=new Kt(V(C({},ce),{mint:ce.address}));var xt=class{constructor({decimals:t,symbol:n="UNKNOWN",name:r="UNKNOWN"}){this.decimals=t,this.symbol=n,this.name=r}equals(t){return this===t}},at=xt;at.SOL=new xt(it);import xo from"bn.js";var ws=new U(new xo(100));var Ss=E("Raydium_price");import{merge as rC}from"lodash";import Fs from"axios";var dn={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"},Co=V(C({},dn),{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 iu=E("Raydium_Api");import{PublicKey as Al,SystemProgram as wl}from"@solana/web3.js";import{AccountLayout as Bl,createAssociatedTokenAccountIdempotentInstruction as Sl,TOKEN_PROGRAM_ID as Kl,TOKEN_2022_PROGRAM_ID as xl}from"@solana/spl-token";import{PublicKey as Se,sendAndConfirmTransaction as Rt,SystemProgram as Fo,Transaction as Xe,TransactionMessage as Ye,VersionedTransaction as He}from"@solana/web3.js";import vo from"axios";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{ComputeBudgetProgram as pn,Keypair as yn,PublicKey as Ro,Transaction as bn,TransactionMessage as Lo,VersionedTransaction as gn}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Oo}from"@solana/spl-token";var fn=E("Raydium_txUtil"),Pn=1644;function st(i){let t=[],n=[];return i.microLamports&&(t.push(pn.setComputeUnitPrice({microLamports:i.microLamports})),n.push(Q.SetComputeUnitPrice)),i.units&&(t.push(pn.setComputeUnitLimit({units:i.units})),n.push(Q.SetComputeUnitLimit)),{instructions:t,instructionTypes:n}}async function Be(i,t){var r,c;let n=t!=null?t:"confirmed";return(c=await((r=i.getLatestBlockhash)==null?void 0:r.call(i,{commitment:n})))==null?void 0:c.blockhash}async function ut(i,t){return i.getSignatureStatuses([t]),new Promise((n,r)=>{let c=setTimeout(r,6e4);i.onSignature(t,d=>{if(clearTimeout(c),!d.err){n("");return}r(Object.assign(d.err,{txId:t}))},"confirmed")})}function Ct(i,t){i.length<1&&fn.logWithError(`no instructions provided: ${i.toString()}`),t.length<1&&fn.logWithError(`no signers provided:, ${t.toString()}`);let n=new bn;n.recentBlockhash="11111111111111111111111111111111",n.feePayer=t[0],n.add(...i);try{return Buffer.from(n.serialize({verifySignatures:!1})).toString("base64").length<Pn}catch{return!1}}function le(i,t){let[n,r]=Ro.findProgramAddressSync(i,t);return{publicKey:n,nonce:r}}function Ge({instructions:i,payer:t,signers:n}){return Ct(i,[t,...n])}function ze({instructions:i,payer:t,lookupTableAddressAccount:n,recentBlockhash:r=yn.generate().publicKey.toString()}){let d=new Lo({payerKey:t,recentBlockhash:r,instructions:i}).compileToV0Message(Object.values(n!=null?n:{}));try{return Buffer.from(new gn(d).serialize()).toString("base64").length<Pn}catch{return!1}}var No=i=>Buffer.isBuffer(i)?i:i instanceof Uint8Array?Buffer.from(i.buffer,i.byteOffset,i.byteLength):Buffer.from(i),Mo=i=>{let t=i.serialize({requireAllSignatures:!1,verifySignatures:!1});i instanceof gn&&(t=No(t));try{return t instanceof Buffer?t.toString("base64"):Buffer.from(t).toString("base64")}catch{return t.toString("base64")}};function Ae(i){let t=[];return i.forEach(n=>{n instanceof bn&&(n.recentBlockhash||(n.recentBlockhash=Oo.toBase58()),n.feePayer||(n.feePayer=yn.generate().publicKey)),t.push(Mo(n))}),console.log("simulate tx string:",t),t}var ct=2e3,lt=class{constructor(t){this.instructions=[];this.endInstructions=[];this.lookupTableAddress=[];this.signers=[];this.instructionTypes=[];this.endInstructionTypes=[];this.connection=t.connection,this.feePayer=t.feePayer,this.signAllTransactions=t.signAllTransactions,this.owner=t.owner,this.cluster=t.cluster,this.blockhashCommitment=t.blockhashCommitment,this.loopMultiTxStatus=!!t.loopMultiTxStatus}get AllTxData(){return{instructions:this.instructions,endInstructions:this.endInstructions,signers:this.signers,instructionTypes:this.instructionTypes,endInstructionTypes:this.endInstructionTypes,lookupTableAddress:this.lookupTableAddress}}get allInstructions(){return[...this.instructions,...this.endInstructions]}async getComputeBudgetConfig(){var r;let t=(await vo.get(`https://solanacompass.com/api/fees?cacheFreshTime=${3e5}`)).data,{avg:n}=(r=t==null?void 0:t[15])!=null?r:{};if(!!n)return{units:6e5,microLamports:Math.min(Math.ceil(n*1e6/6e5),25e3)}}addCustomComputeBudget(t){if(t){let{instructions:n,instructionTypes:r}=st(t);return this.instructions.unshift(...n),this.instructionTypes.unshift(...r),!0}return!1}addTipInstruction(t){var n;return t?(this.endInstructions.push(Fo.transfer({fromPubkey:(n=t.feePayer)!=null?n:this.feePayer,toPubkey:new Se(t.address),lamports:BigInt(t.amount.toString())})),this.endInstructionTypes.push(Q.TransferTip),!0):!1}async calComputeBudget({config:t,defaultIns:n}){try{let r=t||await this.getComputeBudgetConfig();if(this.addCustomComputeBudget(r))return;n&&this.instructions.unshift(...n)}catch{n&&this.instructions.unshift(...n)}}addInstruction({instructions:t=[],endInstructions:n=[],signers:r=[],instructionTypes:c=[],endInstructionTypes:d=[],lookupTableAddress:y=[]}){return this.instructions.push(...t),this.endInstructions.push(...n),this.signers.push(...r),this.instructionTypes.push(...c),this.endInstructionTypes.push(...d),this.lookupTableAddress.push(...y.filter(f=>f!==Se.default.toString())),this}async versionBuild({txVersion:t,extInfo:n,lookupTableAddress:r}){return t===0?await this.buildV0(V(C({},n||{}),{lookupTableAddress:r})):this.build(n)}build(t){var r;let n=new Xe;return this.allInstructions.length&&n.add(...this.allInstructions),n.feePayer=this.feePayer,((r=this.owner)==null?void 0:r.signer)&&!this.signers.some(c=>c.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer),{builder:this,transaction:n,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async c=>{var b;let{recentBlockHash:d,skipPreflight:y=!0,sendAndConfirm:f,notSendToRpc:g}=c||{},x=d!=null?d:await Be(this.connection,this.blockhashCommitment);if(n.recentBlockhash=x,this.signers.length&&n.sign(...this.signers),Ae([n]),(b=this.owner)!=null&&b.isKeyPair)return{txId:f?await Rt(this.connection,n,this.signers.find(R=>R.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:y}):await this.connection.sendRawTransaction(n.serialize(),{skipPreflight:y}),signedTx:n};if(this.signAllTransactions){let O=await this.signAllTransactions([n]);if(this.signers.length)for(let R of O)try{R.sign(...this.signers)}catch{}return{txId:g?"":await this.connection.sendRawTransaction(O[0].serialize(),{skipPreflight:y}),signedTx:O[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:t||{}}}buildMultiTx(t){var x;let{extraPreBuildData:n=[],extInfo:r}=t,{transaction:c}=this.build(r),d=n.filter(b=>b.transaction.instructions.length>0),y=[c,...d.map(b=>b.transaction)],f=[this.signers,...d.map(b=>b.signers)],g=[...this.instructionTypes,...d.map(b=>b.instructionTypes).flat()];return(x=this.owner)!=null&&x.signer&&f.forEach(b=>{b.some(O=>O.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),{builder:this,transactions:y,signers:f,instructionTypes:g,execute:async b=>{var I;let{sequentially:O,onTxUpdate:R,skipTxCount:B=0,recentBlockHash:M,skipPreflight:P=!0}=b||{},T=M!=null?M:await Be(this.connection,this.blockhashCommitment);if((I=this.owner)!=null&&I.isKeyPair){if(O){let h=[],F=0;for(let v of y){if(++F,F<=B)continue;let p=await Rt(this.connection,v,this.signers.find(A=>A.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:P});h.push(p)}return{txIds:h,signedTxs:y}}return{txIds:await await Promise.all(y.map(async h=>(h.recentBlockhash=T,await this.connection.sendRawTransaction(h.serialize(),{skipPreflight:P})))),signedTxs:y}}if(this.signAllTransactions){let h=y.map((v,p)=>(v.recentBlockhash=T,f[p].length&&v.sign(...f[p]),v));Ae(h);let F=await this.signAllTransactions(h);if(O){let v=0,p=[],A=async()=>{if(!F[v])return;let w=await this.connection.sendRawTransaction(F[v].serialize(),{skipPreflight:P});p.push({txId:w,status:"sent",signedTx:F[v]}),R==null||R([...p]),v++;let S=!1,L=null,_=null,ie=q=>{L!==null&&clearInterval(L),_!==null&&this.connection.removeSignatureListener(_);let W=p.findIndex(j=>j.txId===w);if(W>-1){if(p[W].status==="error"||p[W].status==="success")return;p[W].status=q.err?"error":"success"}R==null||R([...p]),q.err||A()};this.loopMultiTxStatus&&(L=setInterval(async()=>{var q;if(S){clearInterval(L);return}try{let W=await this.connection.getTransaction(w,{commitment:"confirmed",maxSupportedTransactionVersion:1});W&&(S=!0,clearInterval(L),ie({err:((q=W.meta)==null?void 0:q.err)||null}),console.log("tx status from getTransaction:",w))}catch(W){S=!0,clearInterval(L),console.error("getTransaction timeout:",W,w)}},ct)),_=this.connection.onSignature(w,q=>{if(S){this.connection.removeSignatureListener(_);return}S=!0,ie(q)},"confirmed"),this.connection.getSignatureStatus(w)};return await A(),{txIds:p.map(w=>w.txId),signedTxs:F}}else{let v=[];for(let p=0;p<F.length;p+=1){let A=await this.connection.sendRawTransaction(F[p].serialize(),{skipPreflight:P});v.push(A)}return{txIds:v,signedTxs:F}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:r||{}}}async versionMultiBuild({extraPreBuildData:t,txVersion:n,extInfo:r}){return n===0?await this.buildV0MultiTx({extraPreBuildData:t,buildProps:r||{}}):this.buildMultiTx({extraPreBuildData:t,extInfo:r})}async buildV0(t){var P;let M=t||{},{lookupTableCache:n={},lookupTableAddress:r=[],forerunCreate:c,recentBlockhash:d}=M,y=ue(M,["lookupTableCache","lookupTableAddress","forerunCreate","recentBlockhash"]),f=C(C({},this.cluster==="devnet"?await Nt(this.connection):await Ot(this.connection)),n),g=Array.from(new Set([...r,...this.lookupTableAddress])),x=[];for(let T of g)f[T]===void 0&&x.push(new Se(T));let b=await Lt({connection:this.connection,address:x});for(let[T,I]of Object.entries(b))f[T]=I;let O=c?Se.default.toBase58():d!=null?d:await Be(this.connection,this.blockhashCommitment),R=new Ye({payerKey:this.feePayer,recentBlockhash:O,instructions:[...this.allInstructions]}).compileToV0Message(Object.values(f));((P=this.owner)==null?void 0:P.signer)&&!this.signers.some(T=>T.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer);let B=new He(R);return B.sign(this.signers),{builder:this,transaction:B,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async T=>{var v;let{skipPreflight:I=!0,sendAndConfirm:h,notSendToRpc:F}=T||{};if(Ae([B]),(v=this.owner)!=null&&v.isKeyPair){let p=await this.connection.sendTransaction(B,{skipPreflight:I});return h&&await ut(this.connection,p),{txId:p,signedTx:B}}if(this.signAllTransactions){let p=await this.signAllTransactions([B]);if(this.signers.length)for(let A of p)try{A.sign(this.signers)}catch{}return{txId:F?"":await this.connection.sendTransaction(p[0],{skipPreflight:I}),signedTx:p[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:y||{}}}async buildV0MultiTx(t){var x;let{extraPreBuildData:n=[],buildProps:r}=t,{transaction:c}=await this.buildV0(r),d=n.filter(b=>b.builder.instructions.length>0),y=[c,...d.map(b=>b.transaction)],f=[this.signers,...d.map(b=>b.signers)],g=[...this.instructionTypes,...d.map(b=>b.instructionTypes).flat()];return(x=this.owner)!=null&&x.signer&&f.forEach(b=>{b.some(O=>O.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),y.forEach(async(b,O)=>{b.sign(f[O])}),{builder:this,transactions:y,signers:f,instructionTypes:g,buildProps:r,execute:async b=>{var P;let{sequentially:O,onTxUpdate:R,recentBlockHash:B,skipPreflight:M=!0}=b||{};if(B&&y.forEach(T=>T.message.recentBlockhash=B),Ae(y),(P=this.owner)!=null&&P.isKeyPair){if(O){let T=[];for(let I of y){let h=await this.connection.sendTransaction(I,{skipPreflight:M});await ut(this.connection,h),T.push(h)}return{txIds:T,signedTxs:y}}return{txIds:await Promise.all(y.map(async T=>await this.connection.sendTransaction(T,{skipPreflight:M}))),signedTxs:y}}if(this.signAllTransactions){let T=await this.signAllTransactions(y);if(O){let I=0,h=[],F=async()=>{if(!T[I])return;let v=await this.connection.sendTransaction(T[I],{skipPreflight:M});h.push({txId:v,status:"sent",signedTx:T[I]}),R==null||R([...h]),I++;let p=!1,A=null,w=null,S=L=>{A!==null&&clearInterval(A),w!==null&&this.connection.removeSignatureListener(w);let _=h.findIndex(ie=>ie.txId===v);if(_>-1){if(h[_].status==="error"||h[_].status==="success")return;h[_].status=L.err?"error":"success"}R==null||R([...h]),L.err||F()};this.loopMultiTxStatus&&(A=setInterval(async()=>{var L;if(p){clearInterval(A);return}try{let _=await this.connection.getTransaction(v,{commitment:"confirmed",maxSupportedTransactionVersion:1});_&&(p=!0,clearInterval(A),S({err:((L=_.meta)==null?void 0:L.err)||null}),console.log("tx status from getTransaction:",v))}catch(_){p=!0,clearInterval(A),console.error("getTransaction timeout:",_,v)}},ct)),w=this.connection.onSignature(v,L=>{if(p){this.connection.removeSignatureListener(w);return}p=!0,S(L)},"confirmed"),this.connection.getSignatureStatus(v)};return F(),{txIds:[],signedTxs:T}}else{let I=[];for(let h=0;h<T.length;h+=1){let F=await this.connection.sendTransaction(T[h],{skipPreflight:M});I.push(F)}return{txIds:I,signedTxs:T}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:r||{}}}async sizeCheckBuild(t){var R;let O=t||{},{splitIns:n=[],computeBudgetConfig:r}=O,c=ue(O,["splitIns","computeBudgetConfig"]),d=r?st(r):{instructions:[],instructionTypes:[]},y=this.signers.reduce((B,M)=>V(C({},B),{[M.publicKey.toBase58()]:M}),{}),f=[],g=[],x=[],b=0;if(this.allInstructions.forEach(B=>{let M=[...x,B],P=r?[...d.instructions,...M]:M,I=[...new Set(M.map(h=>h.keys.filter(F=>F.isSigner).map(F=>F.pubkey.toString())).flat()).values()].map(h=>new Se(h));if(B!==n[b]&&x.length<12&&(Ge({instructions:P,payer:this.feePayer,signers:I})||Ge({instructions:M,payer:this.feePayer,signers:I})))x.push(B);else{if(x.length===0)throw Error("item ins too big");b+=B===n[b]?1:0,Ge({instructions:r?[...d.instructions,...x]:[...x],payer:this.feePayer,signers:I})?f.push(new Xe().add(...d.instructions,...x)):f.push(new Xe().add(...x)),g.push(Array.from(new Set(x.map(h=>h.keys.filter(F=>F.isSigner).map(F=>F.pubkey.toString())).flat())).map(h=>y[h]).filter(h=>h!==void 0)),x=[B]}}),x.length>0){let M=[...new Set(x.map(P=>P.keys.filter(T=>T.isSigner).map(T=>T.pubkey.toString())).flat()).values()].map(P=>y[P]).filter(P=>P!==void 0);Ge({instructions:r?[...d.instructions,...x]:[...x],payer:this.feePayer,signers:M.map(P=>P.publicKey)})?f.push(new Xe().add(...d.instructions,...x)):f.push(new Xe().add(...x)),g.push(M)}return f.forEach(B=>B.feePayer=this.feePayer),(R=this.owner)!=null&&R.signer&&g.forEach(B=>{B.some(M=>M.publicKey.equals(this.owner.publicKey))||B.push(this.owner.signer)}),{builder:this,transactions:f,signers:g,instructionTypes:this.instructionTypes,execute:async B=>{var v;let{sequentially:M,onTxUpdate:P,skipTxCount:T=0,recentBlockHash:I,skipPreflight:h=!0}=B||{},F=I!=null?I:await Be(this.connection,this.blockhashCommitment);if(f.forEach(async(p,A)=>{p.recentBlockhash=F,g[A].length&&p.sign(...g[A])}),Ae(f),(v=this.owner)!=null&&v.isKeyPair){if(M){let p=0,A=[];for(let w of f){if(++p,p<=T){A.push("tx skipped");continue}let S=await Rt(this.connection,w,this.signers.find(L=>L.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:h});A.push(S)}return{txIds:A,signedTxs:f}}return{txIds:await Promise.all(f.map(async p=>await this.connection.sendRawTransaction(p.serialize(),{skipPreflight:h}))),signedTxs:f}}if(this.signAllTransactions){let p=await this.signAllTransactions(f.slice(T,f.length)),A=[...f.slice(0,T),...p];if(M){let w=0,S=[],L=async()=>{if(!A[w])return;w<T&&(S.push({txId:"",status:"success",signedTx:A[w]}),P==null||P([...S]),w++,L());let _=await this.connection.sendRawTransaction(A[w].serialize(),{skipPreflight:h});S.push({txId:_,status:"sent",signedTx:A[w]}),P==null||P([...S]),w++;let ie=!1,q=null,W=null,j=G=>{q!==null&&clearInterval(q),W!==null&&this.connection.removeSignatureListener(W);let te=S.findIndex(de=>de.txId===_);if(te>-1){if(S[te].status==="error"||S[te].status==="success")return;S[te].status=G.err?"error":"success"}P==null||P([...S]),G.err||L()};this.loopMultiTxStatus&&(q=setInterval(async()=>{var G;if(ie){clearInterval(q);return}try{let te=await this.connection.getTransaction(_,{commitment:"confirmed",maxSupportedTransactionVersion:1});te&&(ie=!0,clearInterval(q),j({err:((G=te.meta)==null?void 0:G.err)||null}),console.log("tx status from getTransaction:",_))}catch(te){ie=!0,clearInterval(q),console.error("getTransaction timeout:",te,_)}},ct)),W=this.connection.onSignature(_,G=>{if(ie){this.connection.removeSignatureListener(W);return}ie=!0,j(G)},"confirmed"),this.connection.getSignatureStatus(_)};return await L(),{txIds:S.map(_=>_.txId),signedTxs:A}}else{let w=[];for(let S=0;S<A.length;S+=1){let L=await this.connection.sendRawTransaction(A[S].serialize(),{skipPreflight:h});w.push(L)}return{txIds:w,signedTxs:A}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:c||{}}}async sizeCheckBuildV0(t){var v;let F=t||{},{computeBudgetConfig:n,splitIns:r=[],lookupTableCache:c={},lookupTableAddress:d=[],insCountLimit:y=12}=F,f=ue(F,["computeBudgetConfig","splitIns","lookupTableCache","lookupTableAddress","insCountLimit"]),g=C(C({},this.cluster==="devnet"?await Nt(this.connection):await Ot(this.connection)),c),x=Array.from(new Set([...this.lookupTableAddress,...d])),b=[];for(let p of x)g[p]===void 0&&b.push(new Se(p));let O=await Lt({connection:this.connection,address:b});for(let[p,A]of Object.entries(O))g[p]=A;let R=n?st(n):{instructions:[],instructionTypes:[]},B=await Be(this.connection,this.blockhashCommitment),M=this.signers.reduce((p,A)=>V(C({},p),{[A.publicKey.toBase58()]:A}),{}),P=[],T=[],I=[],h=0;if(this.allInstructions.forEach(p=>{let A=[...I,p],w=n?[...R.instructions,...A]:A;if(p!==r[h]&&I.length<y&&(ze({instructions:w,payer:this.feePayer,lookupTableAddressAccount:g})||ze({instructions:A,payer:this.feePayer,lookupTableAddressAccount:g})))I.push(p);else{if(I.length===0)throw Error("item ins too big");h+=p===r[h]?1:0;let S={};for(let L of[...new Set(x)])g[L]!==void 0&&(S[L]=g[L]);if(n&&ze({instructions:[...R.instructions,...I],payer:this.feePayer,lookupTableAddressAccount:g,recentBlockhash:B})){let L=new Ye({payerKey:this.feePayer,recentBlockhash:B,instructions:[...R.instructions,...I]}).compileToV0Message(Object.values(g));P.push(new He(L))}else{let L=new Ye({payerKey:this.feePayer,recentBlockhash:B,instructions:[...I]}).compileToV0Message(Object.values(g));P.push(new He(L))}T.push(Array.from(new Set(I.map(L=>L.keys.filter(_=>_.isSigner).map(_=>_.pubkey.toString())).flat())).map(L=>M[L]).filter(L=>L!==void 0)),I=[p]}}),I.length>0){let A=[...new Set(I.map(w=>w.keys.filter(S=>S.isSigner).map(S=>S.pubkey.toString())).flat()).values()].map(w=>M[w]).filter(w=>w!==void 0);if(n&&ze({instructions:[...R.instructions,...I],payer:this.feePayer,lookupTableAddressAccount:g,recentBlockhash:B})){let w=new Ye({payerKey:this.feePayer,recentBlockhash:B,instructions:[...R.instructions,...I]}).compileToV0Message(Object.values(g));P.push(new He(w))}else{let w=new Ye({payerKey:this.feePayer,recentBlockhash:B,instructions:[...I]}).compileToV0Message(Object.values(g));P.push(new He(w))}T.push(A)}return(v=this.owner)!=null&&v.signer&&T.forEach(p=>{p.some(A=>A.publicKey.equals(this.owner.publicKey))||p.push(this.owner.signer)}),P.forEach((p,A)=>{p.sign(T[A])}),{builder:this,transactions:P,buildProps:t,signers:T,instructionTypes:this.instructionTypes,execute:async p=>{var ie;let{sequentially:A,onTxUpdate:w,skipTxCount:S=0,recentBlockHash:L,skipPreflight:_=!0}=p||{};if(P.map(async(q,W)=>{T[W].length&&q.sign(T[W]),L&&(q.message.recentBlockhash=L)}),Ae(P),(ie=this.owner)!=null&&ie.isKeyPair){if(A){let q=0,W=[];for(let j of P){if(++q,q<=S){console.log("skip tx: ",q),W.push("tx skipped");continue}let G=await this.connection.sendTransaction(j,{skipPreflight:_});await ut(this.connection,G),W.push(G)}return{txIds:W,signedTxs:P}}return{txIds:await Promise.all(P.map(async q=>await this.connection.sendTransaction(q,{skipPreflight:_}))),signedTxs:P}}if(this.signAllTransactions){let q=await this.signAllTransactions(P.slice(S,P.length)),W=[...P.slice(0,S),...q];if(A){let j=0,G=[],te=async()=>{if(!W[j])return;if(j<S){G.push({txId:"",status:"success",signedTx:W[j]}),w==null||w([...G]),j++,te();return}let de=await this.connection.sendTransaction(W[j],{skipPreflight:_});G.push({txId:de,status:"sent",signedTx:W[j]}),w==null||w([...G]),j++;let Ve=!1,he=null,et=null,en=ge=>{he!==null&&clearInterval(he),et!==null&&this.connection.removeSignatureListener(et);let pe=G.findIndex(ao=>ao.txId===de);if(pe>-1){if(G[pe].status==="error"||G[pe].status==="success")return;G[pe].status=ge.err?"error":"success"}w==null||w([...G]),ge.err||te()};this.loopMultiTxStatus&&(he=setInterval(async()=>{var ge;if(Ve){clearInterval(he);return}try{let pe=await this.connection.getTransaction(de,{commitment:"confirmed",maxSupportedTransactionVersion:1});pe&&(Ve=!0,clearInterval(he),en({err:((ge=pe.meta)==null?void 0:ge.err)||null}),console.log("tx status from getTransaction:",de))}catch(pe){Ve=!0,clearInterval(he),console.error("getTransaction timeout:",pe,de)}},ct)),et=this.connection.onSignature(de,ge=>{if(Ve){this.connection.removeSignatureListener(et);return}Ve=!0,en(ge)},"confirmed"),this.connection.getSignatureStatus(de)};return te(),{txIds:[],signedTxs:W}}else{let j=[];for(let G=0;G<W.length;G+=1){let te=await this.connection.sendTransaction(W[G],{skipPreflight:_});j.push(te)}return{txIds:j,signedTxs:W}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:f||{}}}};var Mt=(...i)=>i.map(t=>{try{return typeof t=="object"?JSON.stringify(t):t}catch{return t}}).join(", "),oe=class{constructor({scope:t,moduleName:n}){this.disabled=!1;this.scope=t,this.logger=E(n)}createTxBuilder(t){return this.scope.checkOwner(),new lt({connection:this.scope.connection,feePayer:t||this.scope.ownerPubKey,cluster:this.scope.cluster,owner:this.scope.owner,blockhashCommitment:this.scope.blockhashCommitment,loopMultiTxStatus:this.scope.loopMultiTxStatus,api:this.scope.api,signAllTransactions:this.scope.signAllTransactions})}logDebug(...t){this.logger.debug(Mt(t))}logInfo(...t){this.logger.info(Mt(t))}logAndCreateError(...t){let n=Mt(t);throw new Error(n)}checkDisabled(){(this.disabled||!this.scope)&&this.logAndCreateError("module not working")}};import{PublicKey as Zc,SystemProgram as jc}from"@solana/web3.js";import tl from"bn.js";import{createCloseAccountInstruction as rl,createInitializeAccountInstruction as al,createTransferInstruction as sl,TOKEN_PROGRAM_ID as ul}from"@solana/spl-token";import{Keypair as _c,PublicKey as Vc}from"@solana/web3.js";import Wc from"bn.js";import{TOKEN_PROGRAM_ID as Gc}from"@solana/spl-token";import{PublicKey as Ho}from"@solana/web3.js";import hn,{isBN as In}from"bn.js";import{bits as _o,BitStructure as qu,blob as Vo,Blob as Uu,cstr as Gu,f32 as zu,f32be as Xu,f64 as Yu,f64be as Hu,greedy as Qu,Layout as Eo,ns64 as Zu,ns64be as $u,nu64 as ju,nu64be as Ju,offset as Do,s16 as ec,s16be as tc,s24 as nc,s24be as oc,s32 as Wo,s32be as ic,s40 as rc,s40be as ac,s48 as sc,s48be as uc,s8 as cc,seq as qo,struct as lc,Structure as Uo,u16 as Go,u16be as mc,u24 as dc,u24be as pc,u32 as zo,u32be as fc,u40 as yc,u40be as bc,u48 as gc,u48be as Pc,u8 as Xo,UInt as Yo,union as Ac,Union as wc,unionLayoutDiscriminator as kc,utf8 as Tc}from"@solana/buffer-layout";var mt=Eo,An=Uo;var Ft=Yo;var wn=Xo,Y=Go;var dt=zo;var ae=Wo;var kn=qo;var N=Vo;var vt=_o,Tn=Do;var ke=class extends mt{constructor(n,r,c){super(n,c);this.blob=N(n),this.signed=r}decode(n,r=0){let c=new hn(this.blob.decode(n,r),10,"le");return this.signed?c.fromTwos(this.span*8).clone():c}encode(n,r,c=0){return typeof n=="number"&&(n=new hn(n)),this.signed&&(n=n.toTwos(this.span*8)),this.blob.encode(n.toArrayLike(Buffer,"le",this.span),r,c)}},pt=class extends mt{constructor(n){super(8,n);this._lower=vt(dt(),!1),this._upper=vt(dt(),!1)}addBoolean(n){this._lower.fields.length<32?this._lower.addBoolean(n):this._upper.addBoolean(n)}decode(n,r=0){let c=this._lower.decode(n,r),d=this._upper.decode(n,r+this._lower.span);return C(C({},c),d)}encode(n,r,c=0){return this._lower.encode(n,r,c)+this._upper.encode(n,r,c+this._lower.span)}};function u(i){return new Ft(1,i)}function X(i){return new Ft(4,i)}function e(i){return new ke(8,!1,i)}function K(i){return new ke(16,!1,i)}function Bn(i){return new ke(1,!0,i)}function Ke(i){return new ke(8,!0,i)}function Sn(i){return new ke(16,!0,i)}var Qe=class extends mt{constructor(n,r,c,d){super(n.span,d);this.layout=n,this.decoder=r,this.encoder=c}decode(n,r){return this.decoder(this.layout.decode(n,r))}encode(n,r,c){return this.layout.encode(this.encoder(n),r,c)}getSpan(n,r){return this.layout.getSpan(n,r)}};function o(i){return new Qe(N(32),t=>new Ho(t),t=>t.toBuffer(),i)}function re(i){return new Qe(wn(),Qo,Zo,i)}function Qo(i){if(i===0)return!1;if(i===1)return!0;throw new Error("Invalid bool: "+i)}function Zo(i){return i?1:0}function Vt(i,t){let n=dt("length"),r=l([n,m(i,Tn(n,-n.span),"values")]);return new Qe(r,({values:c})=>c,c=>({values:c}),t)}var _t=class extends An{decode(t,n){return super.decode(t,n)}};function l(i,t,n){return new _t(i,t,n)}function m(i,t,n){let r,c=typeof t=="number"?t:In(t)?t.toNumber():new Proxy(t,{get(d,y){if(!r){let f=Reflect.get(d,"count");r=In(f)?f.toNumber():f,Reflect.set(d,"count",r)}return Reflect.get(d,y)},set(d,y,f){return y==="count"&&(r=f),Reflect.set(d,y,f)}});return kn(i,c,n)}var ft=l([o("mint"),o("owner"),e("amount"),X("delegateOption"),o("delegate"),u("state"),X("isNativeOption"),e("isNative"),e("delegatedAmount"),X("closeAuthorityOption"),o("closeAuthority")]);import{PublicKey as Ag,SystemProgram as wg}from"@solana/web3.js";import{createAssociatedTokenAccountIdempotentInstruction as Tg}from"@solana/spl-token";import{PublicKey as Fl}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as _l}from"@solana/spl-token";import{PublicKey as k}from"@solana/web3.js";var xn=new k("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),Cn=new k("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),Rn=new k("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Et=new k("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),Wl=new k("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),jo=new k("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),Ln=new k("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),On=new k("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),ql=new k("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),Jo=new k("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Nn=new k("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),ei=new k("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),ti=new k("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),Mn=new k("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Ul=new k("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),ni=new k("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Dt=new k("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),oi=new k("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),Gl=new k("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),ii=new k("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),ri=new k("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),ai=new k("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),zl=new k("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),Xl=new k("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),Yl=new k("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),Hl=new k("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),Ql=new k("6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX");var be={OPEN_BOOK_PROGRAM:new k("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),SERUM_PROGRAM_ID_V3:new k("Ray1111111111111111111111111111111111111111"),AMM_V4:new k("DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav"),AMM_STABLE:new k("DRayDdXc1NZQ9C3hRWmoSf8zK4iapgMnjdNZWrfwsP8m"),CLMM_PROGRAM_ID:new k("DRayAUgENGQBKVaX8owNhgzkEDyoHTGVEGHVJT1E9pfH"),CLMM_LOCK_PROGRAM_ID:new k("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),CLMM_LOCK_AUTH_ID:new k("6Aoh8h2Lw2m5UGxYR8AdAL87jTWYeKoxM52mJRzfYwN"),CREATE_CPMM_POOL_PROGRAM:new k("DRaycpLY18LhpbydsBWbVJtxpNv9oXPgjRSfpF2bWpYb"),CREATE_CPMM_POOL_AUTH:new k("CXniRufdq5xL8t8jZAPxsPZDpuudwuJSPWnbcD5Y5Nxq"),CREATE_CPMM_POOL_FEE_ACC:new k("3oE58BKVt8KuYkGxx8zBojugnymWmBiyafWgMrnb6eYy"),LOCK_CPMM_PROGRAM:new k("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),LOCK_CPMM_AUTH:new k("7qWVV8UY2bRJfDLP4s37YzBPKUkVB46DStYJBpYbQzu3"),UTIL1216:k.default,Router:new k("DRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd"),FARM_PROGRAM_ID_V3:new k("DRayWyrLmEW5KEeqs8kdTMMaBabapqagaBC7KWpGtJeZ"),FARM_PROGRAM_ID_V4:new k("Ray1111111111111111111111111111111111111111"),FARM_PROGRAM_ID_V5:new k("DRayiCGSZgku1GTK6rXD6mVDdingXy6APAH1R6R5L2LC"),FARM_PROGRAM_ID_V6:new k("DRayzbYakXs45ELHkzH6vC3fuhQqTAnv5A68gdFuvZyZ"),LAUNCHPAD_PROGRAM:new k("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),LAUNCHPAD_AUTH:new k("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),LAUNCHPAD_PLATFORM:new k("2Jx4KTDrVSdWNazuGpcA8n3ZLTRGGBDxAWhuKe2Xcj2a"),LAUNCHPAD_CONFIG:new k("7ZR4zD7PYfY2XxoG1Gxcy2EgEeGYrpxrwzPuwdUBssEt"),FEE_DESTINATION_ID:new k("9y8ENuuZ3b19quffx9hQvRVygG5ky6snHfRvGpuSfeJy"),MODEL_DATA_PUBKEY:new k("Ray1111111111111111111111111111111111111111")};import Og from"decimal.js";import{createAssociatedTokenAccountIdempotentInstruction as ey,TOKEN_2022_PROGRAM_ID as ty,TOKEN_PROGRAM_ID as ny}from"@solana/spl-token";import{PublicKey as iy}from"@solana/web3.js";import ay from"bn.js";import uy from"decimal.js";import{TOKEN_PROGRAM_ID as cm}from"@solana/spl-token";import{PublicKey as pm}from"@solana/web3.js";var si=l([X("mintAuthorityOption"),o("mintAuthority"),e("supply"),u("decimals"),u("isInitialized"),X("freezeAuthorityOption"),o("freezeAuthority")]);import{ASSOCIATED_TOKEN_PROGRAM_ID as kf,TOKEN_2022_PROGRAM_ID as Tf,TOKEN_PROGRAM_ID as hf}from"@solana/spl-token";import{Keypair as Sf,PublicKey as Kf,SystemProgram as Cf,TransactionInstruction as Rf}from"@solana/web3.js";import Of from"bn.js";import D from"bn.js";var Ce=new D(1).shln(64);var ui=new D(1).shln(128),Wt=new D(1).shln(64).subn(1),ci=new D(1).shln(128).subn(1);var Re=new D("4295048016"),Le=new D("79226673521066979257578248091"),li=new D("59543866431248"),mi=new D("184467440737095516"),di=new D("15793534762490258745");var qt=60,Bm=new D("18446743708227953217"),pi=[{bit:0,factor:new D("fffcb933bd6fb800",16)},{bit:1,factor:new D("fff97272373d4000",16)},{bit:2,factor:new D("fff2e50f5f657000",16)},{bit:3,factor:new D("ffe5caca7e10f000",16)},{bit:4,factor:new D("ffcb9843d60f7000",16)},{bit:5,factor:new D("ff973b41fa98e800",16)},{bit:6,factor:new D("ff2ea16466c9b000",16)},{bit:7,factor:new D("fe5dee046a9a3800",16)},{bit:8,factor:new D("fcbe86c7900bb000",16)},{bit:9,factor:new D("f987a7253ac65800",16)},{bit:10,factor:new D("f3392b0822bb6000",16)},{bit:11,factor:new D("e7159475a2caf000",16)},{bit:12,factor:new D("d097f3bdfd2f2000",16)},{bit:13,factor:new D("a9f746462d9f8000",16)},{bit:14,factor:new D("70d869a156f31c00",16)},{bit:15,factor:new D("31be135f97ed3200",16)},{bit:16,factor:new D("9aa508b5b85a500",16)},{bit:17,factor:new D("5d6af8dedc582c",16)},{bit:18,factor:new D("2216e584f5fa",16)}];var Ze=3,Fn=100;var vn=10,_n=100,bt=14;var Z=new D(0),Oe=new D(1),Sm=new D(-1);var Km=new D("18446744073700000000");var fi=l([N(8),u("bump"),Y("index"),o("owner"),X("protocolFeeRate"),X("tradeFeeRate"),Y("tickSpacing"),X("fundFeeRate"),m(X(),1),o("fundOwner"),m(e(),3)]),yi=l([X("blockTimestamp"),Ke("tickCumulative"),m(e(),4)]),Vn=l([N(8),re("initialized"),e("recentEpoch"),Y("observationIndex"),o("poolId"),m(yi,Fn,"observations"),m(e(),4)]),bi=l([Y("filterPeriod"),Y("decayPeriod"),Y("reductionFactor"),X("dynamicFeeControl"),X("maxVolatilityAccumulator"),ae("tickSpacingIndexReference"),X("volatilityReference"),X("volatilityAccumulator"),e("lastUpdateTimestamp"),m(u(),46)]),gi=l([u("state"),e("openTime"),e("endTime"),e("lastUpdateTime"),K("emissionsPerSecondX64"),e("totalEmissioned"),e("claimed"),o("mint"),o("vault"),o("creator"),K("growthGlobalX64")]),Ut=l([N(8),u("bump"),o("configId"),o("creator"),o("mintA"),o("mintB"),o("vaultA"),o("vaultB"),o("observationId"),u("mintDecimalsA"),u("mintDecimalsB"),Y("tickSpacing"),K("liquidity"),K("sqrtPriceX64"),ae("tickCurrent"),X(),K("feeGrowthGlobalX64A"),K("feeGrowthGlobalX64B"),e("protocolFeesTokenA"),e("protocolFeesTokenB"),m(K(),4),u("status"),u("feeOn"),N(6),m(gi,Ze,"rewardInfos"),N(8*16,"tickArrayBitmap"),m(e(),4),e("fundFeesTokenA"),e("fundFeesTokenB"),e("startTime"),e("recentEpoch"),bi.replicate("dynamicFeeInfo"),m(e(),46)]),Pi=l([K("growthInsideLastX64"),e("rewardAmountOwed")]),Ai=l([N(8),u("bump"),o("nftMint"),o("poolId"),ae("tickLower"),ae("tickUpper"),K("liquidity"),K("feeGrowthInsideLastX64A"),K("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),m(Pi,Ze,"rewardInfos"),e("recentEpoch"),m(e(),7)]),Lm=l([N(8),u("bump"),o("poolId"),ae("tickLower"),ae("tickUpper"),K("liquidity"),K("feeGrowthInsideLastX64A"),K("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),m(K(),Ze,"rewardGrowthInside"),e("recentEpoch"),m(e(),7)]),wi=l([ae("tick"),Sn("liquidityNet"),K("liquidityGross"),K("feeGrowthOutsideX64A"),K("feeGrowthOutsideX64B"),m(K(),Ze,"rewardGrowthsOutsideX64"),e("orderPhase"),e("ordersAmount"),e("partFilledOrdersRemaining"),K("unfilledRatioX64"),m(X(),3)]),En=l([N(8),o("poolId"),ae("startTickIndex"),m(wi,qt,"ticks"),u("initializedTickCount"),e("recentEpoch"),m(u(),107)]),ki=l([N(8),u("bump"),m(o(),vn,"operationOwners"),m(o(),_n,"whitelistMints")]),Ti=l([N(8),o("poolId"),o("owner"),ae("tick"),re("zeroForOne"),e("orderPhase"),e("totalAmount"),e("filledAmount"),e("settleBase"),e("settleOutput"),e("openTime"),K("unfilledRatioX64"),m(e(),4)]),Dn=l([N(8),o("poolId"),N(8*8*bt,"positiveTickArrayBitmap"),N(8*8*bt,"negativeTickArrayBitmap")]),Om=l([N(8),Y("index"),Y("filterPeriod"),Y("decayPeriod"),Y("reductionFactor"),X("dynamicFeeControl"),X("maxVolatilityAccumulator"),m(e(),8)]),hi=l([N(8),o("wallet"),u("nonceIndex"),e("orderNonce"),m(e(),4)]),Nm=l([e(),u("bump"),o("owner"),o("poolId"),o("positionId"),o("nftAccount"),m(e(),8)]),Ii=l([N(8),u("bump"),o("lockOwner"),o("poolId"),o("positionId"),o("nftAccount"),o("lockNftMint"),e("recentEpoch"),m(e(),8)]);import vm from"bn.js";var Ym=Buffer.from("amm_config","utf8"),Si=Buffer.from("pool","utf8"),Ki=Buffer.from("pool_vault","utf8"),Hm=Buffer.from("pool_reward_vault","utf8"),Qm=Buffer.from("position","utf8"),Zm=Buffer.from("tick_array","utf8"),$m=Buffer.from("operation","utf8"),jm=Buffer.from("pool_tick_array_bitmap_extension","utf8"),Jm=Buffer.from("observation","utf8"),ed=Buffer.from("support_mint","utf8"),td=Buffer.from("dynamic_fee_config","utf8"),nd=Buffer.from("permission","utf8");var od=Buffer.from("locked_position","utf8");import{sha256 as qi}from"js-sha256";import xi from"bn.js";import sd from"decimal.js";var cd=new xi(1).shln(256).subn(1);import Kd from"bn.js";import bd from"bn.js";import Pd from"decimal.js";import Od from"bn.js";import Md from"decimal.js";import{PublicKey as wp}from"@solana/web3.js";import Tp from"bn.js";import{TOKEN_2022_PROGRAM_ID as Rp,TOKEN_PROGRAM_ID as Lp}from"@solana/spl-token";import Fp from"decimal.js";import cp from"bn.js";import Zd from"bn.js";import Xp from"bn.js";function $(i){let t=`global:${i}`;return Buffer.from(qi.digest(t)).slice(0,8)}Vn.span;var Wf=E("Raydium_Clmm"),qf={createPool:$("create_pool"),createCustomizablePool:$("create_customizable_pool"),createPermissionedPool:$("create_permissioned_pool"),openPositionV2:$("open_position_v2"),openPositionWithToken22Nft:$("open_position_with_token22_nft"),closePosition:$("close_position"),increaseLiquidityV2:$("increase_liquidity_v2"),decreaseLiquidityV2:$("decrease_liquidity_v2"),initializeReward:$("initialize_reward"),setRewardParams:$("set_reward_params"),updateRewardInfos:$("update_reward_infos"),collectRemainingRewards:$("collect_remaining_rewards"),swapV2:$("swap_v2"),openLimitOrder:$("open_limit_order"),increaseLimitOrder:$("increase_limit_order"),decreaseLimitOrder:$("decrease_limit_order"),settleLimitOrder:$("settle_limit_order"),closeLimitOrder:$("close_limit_order")};import{PublicKey as Yt}from"@solana/web3.js";var Xi=l([u("instruction")]),Yi=l([u("instruction")]),Hi=l([e("rewardState"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardLastUpdateTime"),e("totalReward"),e("totalRewardEmissioned"),e("rewardClaimed"),e("rewardPerSecond"),K("accRewardPerShare"),o("rewardVault"),o("rewardMint"),o("rewardSender"),e("rewardType"),m(e(),15,"padding")]),Qi=l([e("state"),e("nonce"),o("lpVault"),o("rewardVault"),o(),o(),e(),e(),e("totalReward"),K("perShareReward"),e("lastSlot"),e("perSlotReward")]),Zi=l([e("state"),e("nonce"),o("lpVault"),o("rewardVaultA"),e("totalRewardA"),K("perShareRewardA"),e("perSlotRewardA"),u("option"),o("rewardVaultB"),N(7),e("totalRewardB"),K("perShareRewardB"),e("perSlotRewardB"),e("lastSlot"),o()]),$i=l([e(),e("state"),e("nonce"),e("validRewardTokenNum"),K("rewardMultiplier"),e("rewardPeriodMax"),e("rewardPeriodMin"),e("rewardPeriodExtend"),o("lpMint"),o("lpVault"),m(Hi,5,"rewardInfos"),o("creator"),o(),m(e(),32,"padding")]),ji=new Proxy(Qi,{get(i,t,n){return t==="decode"?(...r)=>{let c=i.decode(...r);return V(C({},c),{version:3,rewardInfos:[{rewardVault:c.rewardVault,totalReward:c.totalReward,perSlotReward:c.perSlotReward,perShareReward:c.perShareReward}]})}:Reflect.get(i,t,n)}}),Ji=new Proxy(Zi,{get(i,t,n){return t==="decode"?(...r)=>{let c=i.decode(...r);return V(C({},c),{version:5,rewardInfos:[{rewardVault:c.rewardVaultA,totalReward:c.totalRewardA,perSlotReward:c.perSlotRewardA,perShareReward:c.perShareRewardA},{rewardVault:c.rewardVaultB,totalReward:c.totalRewardB,perSlotReward:c.perSlotRewardB,perShareReward:c.perShareRewardB}]})}:Reflect.get(i,t,n)}}),Yn=new Proxy($i,{get(i,t,n){return t==="decode"?(...r)=>{let c=i.decode(...r);return V(C({},c),{version:6,rewardInfos:c.rewardInfos.map(d=>{var y;return V(C({},d),{rewardType:((y=Object.entries(Je).find(f=>String(f[1])===d.rewardType.toString()))!=null?y:["Standard SPL"])[0]})})})}:Reflect.get(i,t,n)}}),er=l([e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),tr=l([u("instruction"),e("nonce"),m(er,5,"rewardTimeInfo")]),nr=l([u("instruction"),e("rewardReopenTime"),e("rewardEndTime"),e("rewardPerSecond")]),or=l([u("instruction"),e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),_y=l([e("state"),o("id"),o("owner"),e("deposited"),m(e(),1,"rewardDebts")]),Hn=l([e("state"),o("id"),o("owner"),e("deposited"),m(K(),1,"rewardDebts"),e(""),e("voteLockedBalance"),m(e(),15)]),Vy=l([e("state"),o("id"),o("owner"),e("deposited"),m(e(),2,"rewardDebts")]),ir=l([e("state"),o("id"),o("owner"),e("deposited"),m(K(),2,"rewardDebts"),m(e(),17)]),rr=l([e(),e("state"),o("id"),o("owner"),e("deposited"),m(K(),5,"rewardDebts"),m(e(),16)]),ar=l([u("instruction"),e("amount")]),sr=l([o("mint"),o("grantAuthority"),e("baselineVoteWeightScaledFactor"),e("maxExtraLockupVoteWeightScaledFactor"),e("lockupSaturationSecs"),Bn("digitShift"),m(u(),7,"reserved1"),m(e(),7,"reserved2")]),ur=l([N(8),o("governanceProgramId"),o("realm"),o("realmGoverningTokenMint"),o("realmAuthority"),m(u(),32,"reserved1"),m(sr,4,"votingMints"),Ke("timeOffset"),u("bump"),m(u(),7,"reserved2"),m(e(),11,"reserved3")]),cr=l([Ke("startTime"),Ke("endTime"),u("kind"),m(u(),15,"reserved")]),lr=l([m(cr,1,"lockup"),e("amountDeposited_native"),e("amountInitiallyLockedNative"),re("isUsed"),re("allowClawback"),u("votingMintConfigIdx"),m(u(),29,"reserved")]),mr=l([N(8),o("voterAuthority"),o("registrar"),m(lr,32,"deposits"),u("voterBump"),u("voterWweightRecordBump"),m(u(),94,"reserved")]);import{NATIVE_MINT as Yy}from"@solana/spl-token";var Hy=E("Raydium_farm_config"),dr=new Yt("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),pr=new Yt("FrspKwj8i3pNmKwXreTveC4fu7KL5ZbGeXdZBe2XViu1");var Qy=new Yt("3TRTX4dXUpp2eqxi3tvQDFYUV7SdDJjcPE3Y4mbtftaX");var Je={"Standard SPL":0,"Option tokens":1},Qn={[xn.toString()]:3,[Cn.toString()]:4,[Rn.toString()]:5,[Et.toString()]:6,[be.FARM_PROGRAM_ID_V3.toString()]:3,[be.FARM_PROGRAM_ID_V4.toString()]:4,[be.FARM_PROGRAM_ID_V5.toString()]:5,[be.FARM_PROGRAM_ID_V6.toString()]:6};import{PublicKey as Mb,SystemProgram as Fb,SYSVAR_CLOCK_PUBKEY as vb,SYSVAR_RENT_PUBKEY as _b,TransactionInstruction as Vb}from"@solana/web3.js";import Db from"bn.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as qb,createAssociatedTokenAccountIdempotentInstruction as Ub,TOKEN_PROGRAM_ID as Gb}from"@solana/spl-token";import lb from"bn.js";import{PublicKey as tb}from"@solana/web3.js";import ob from"bn.js";var hb=E("Raydium.farm.util");var tg=E("Raydium_farm_instruction"),ng={voterStakeRegistryCreateVoter:Buffer.from([6,24,245,52,243,255,148,25]),voterStakeRegistryCreateDepositEntry:Buffer.from([185,131,167,186,159,125,19,67]),voterStakeRegistryDeposit:Buffer.from([242,35,198,137,82,225,242,182]),voterStakeRegistryWithdraw:Buffer.from([183,18,70,156,148,109,161,34]),voterStakeRegistryUpdateVoterWeightRecord:Buffer.from([45,185,3,36,109,190,115,169])};import Ug from"bn.js";import{PublicKey as $A}from"@solana/web3.js";import{AccountLayout as ew,MintLayout as tw,NATIVE_MINT as nw,TOKEN_PROGRAM_ID as iw}from"@solana/spl-token";import Xg from"bn.js";import $n from"bn.js";var kr=new $n(25),Tr=new $n(1e4);import{ASSOCIATED_TOKEN_PROGRAM_ID as fP,TOKEN_PROGRAM_ID as yP}from"@solana/spl-token";import{PublicKey as gP,SystemProgram as PP,SYSVAR_RENT_PUBKEY as AP,TransactionInstruction as wP}from"@solana/web3.js";import xP from"bn.js";var hr=l([u("instruction"),e("amountIn"),e("minAmountOut")]),Ir=l([u("instruction"),e("maxAmountIn"),e("amountOut")]),lP=l([u("instruction"),u("nonce")]),Br=l([u("instruction"),u("nonce"),e("startTime")]),jn=l([e("status"),e("nonce"),e("maxOrder"),e("depth"),e("baseDecimal"),e("quoteDecimal"),e("state"),e("resetFlag"),e("minSize"),e("volMaxCutRatio"),e("amountWaveRatio"),e("baseLotSize"),e("quoteLotSize"),e("minPriceMultiplier"),e("maxPriceMultiplier"),e("systemDecimalValue"),e("minSeparateNumerator"),e("minSeparateDenominator"),e("tradeFeeNumerator"),e("tradeFeeDenominator"),e("pnlNumerator"),e("pnlDenominator"),e("swapFeeNumerator"),e("swapFeeDenominator"),e("baseNeedTakePnl"),e("quoteNeedTakePnl"),e("quoteTotalPnl"),e("baseTotalPnl"),e("poolOpenTime"),e("punishPcAmount"),e("punishCoinAmount"),e("orderbookToInitTime"),K("swapBaseInAmount"),K("swapQuoteOutAmount"),e("swapBase2QuoteFee"),K("swapQuoteInAmount"),K("swapBaseOutAmount"),e("swapQuote2BaseFee"),o("baseVault"),o("quoteVault"),o("baseMint"),o("quoteMint"),o("lpMint"),o("openOrders"),o("marketId"),o("marketProgramId"),o("targetOrders"),o("withdrawQueue"),o("lpVault"),o("owner"),e("lpReserve"),m(e(),3,"padding")]),mP=l([e("accountType"),e("status"),e("nonce"),e("maxOrder"),e("depth"),e("baseDecimal"),e("quoteDecimal"),e("state"),e("resetFlag"),e("minSize"),e("volMaxCutRatio"),e("amountWaveRatio"),e("baseLotSize"),e("quoteLotSize"),e("minPriceMultiplier"),e("maxPriceMultiplier"),e("systemDecimalsValue"),e("abortTradeFactor"),e("priceTickMultiplier"),e("priceTick"),e("minSeparateNumerator"),e("minSeparateDenominator"),e("tradeFeeNumerator"),e("tradeFeeDenominator"),e("pnlNumerator"),e("pnlDenominator"),e("swapFeeNumerator"),e("swapFeeDenominator"),e("baseNeedTakePnl"),e("quoteNeedTakePnl"),e("quoteTotalPnl"),e("baseTotalPnl"),e("poolOpenTime"),e("punishPcAmount"),e("punishCoinAmount"),e("orderbookToInitTime"),K("swapBaseInAmount"),K("swapQuoteOutAmount"),K("swapQuoteInAmount"),K("swapBaseOutAmount"),e("swapQuote2BaseFee"),e("swapBase2QuoteFee"),o("baseVault"),o("quoteVault"),o("baseMint"),o("quoteMint"),o("lpMint"),o("modelDataAccount"),o("openOrders"),o("marketId"),o("marketProgramId"),o("targetOrders"),o("owner"),m(e(),64,"padding")]),Sr=l([u("instruction"),e("baseAmountIn"),e("quoteAmountIn"),e("fixedSide"),e("otherAmountMin")]),Kr=l([u("instruction"),e("lpAmount"),e("baseAmountMin"),e("quoteAmountMin")]);var xr=l([e("fee")]);var LP=E("Raydium_liquidity_instruction");var Cr=5e4,Rr=l([e("x"),e("y"),e("price")]),FP=l([e("accountType"),e("status"),e("multiplier"),e("validDataCount"),m(Rr,Cr,"DataElement")]);import{PublicKey as YP}from"@solana/web3.js";import QP from"decimal.js";import{TOKEN_PROGRAM_ID as $P}from"@solana/spl-token";import{PublicKey as EP}from"@solana/web3.js";var qP=E("Raydium_liquidity_serum");import Iw from"bn.js";import Sw from"decimal.js";import{TOKEN_PROGRAM_ID as IA}from"@solana/spl-token";import{PublicKey as SA}from"@solana/web3.js";import xA from"bn.js";import{SystemProgram as mA,SYSVAR_RENT_PUBKEY as dA,Transaction as pA,TransactionInstruction as fA}from"@solana/web3.js";import{createInitializeAccountInstruction as bA,TOKEN_PROGRAM_ID as gA}from"@solana/spl-token";function Lr(i="accountFlags"){let t=new pt(i);return t.addBoolean("initialized"),t.addBoolean("market"),t.addBoolean("openOrders"),t.addBoolean("requestQueue"),t.addBoolean("eventQueue"),t.addBoolean("bids"),t.addBoolean("asks"),t}var Or=l([N(5),Lr("accountFlags"),o("ownAddress"),e("vaultSignerNonce"),o("baseMint"),o("quoteMint"),o("baseVault"),e("baseDepositsTotal"),e("baseFeesAccrued"),o("quoteVault"),e("quoteDepositsTotal"),e("quoteFeesAccrued"),e("quoteDustThreshold"),o("requestQueue"),o("eventQueue"),o("bids"),o("asks"),e("baseLotSize"),e("quoteLotSize"),e("feeRateBps"),e("referrerRebatesAccrued"),N(7)]);import{PublicKey as eT}from"@solana/web3.js";import{AccountLayout as nT,NATIVE_MINT as oT,TOKEN_2022_PROGRAM_ID as iT,TOKEN_PROGRAM_ID as rT,createAssociatedTokenAccountIdempotentInstruction as aT}from"@solana/spl-token";import Zw from"bn.js";import Er from"bn.js";var vw=new Er(0);import qw from"bn.js";import Dr from"bn.js";var At=new Dr(1e6);import fT from"bn.js";import bT from"decimal.js";import{PublicKey as bk,TransactionInstruction as gk,Keypair as Ak,SystemProgram as wk}from"@solana/web3.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as Tk,TOKEN_2022_PROGRAM_ID as hk,TOKEN_PROGRAM_ID as Ik}from"@solana/spl-token";var tk=Buffer.from("vault_and_lp_mint_auth_seed","utf8"),nk=Buffer.from("amm_config","utf8"),ok=Buffer.from("pool","utf8"),ik=Buffer.from("pool_lp_mint","utf8"),rk=Buffer.from("pool_vault","utf8"),ak=Buffer.from("observation","utf8"),sk=Buffer.from("permission","utf8"),uk=Buffer.from("support_mint","utf8"),ck=Buffer.from("creator_fee_share","utf8");var lk=Buffer.from("locked_liquidity","utf8");var Lk=E("Raydium_cpmm"),Ok={initialize:[175,175,109,31,13,152,155,237],deposit:[242,35,198,137,82,225,242,182],withdraw:[183,18,70,156,148,109,161,34],swapBaseInput:[143,190,90,218,196,30,51,222],swapBaseOutput:[55,217,98,86,163,74,180,173],lockCpLiquidity:[216,157,29,78,38,51,31,26],collectCpFee:[8,30,51,199,209,184,247,133],createPermissionPda:Buffer.from([135,136,2,216,137,169,181,202]),closePermissionPda:Buffer.from([156,84,32,118,69,135,70,123]),initializeWithPermission:Buffer.from([63,55,254,65,49,178,89,121]),collectCreatorFee:Buffer.from([20,22,86,123,198,28,219,132]),collectCreatorFeePermissionless:Buffer.from([202,202,34,83,226,122,145,229])};var Ur=l([N(8),u("bump"),re("disableCreatePool"),Y("index"),e("tradeFeeRate"),e("protocolFeeRate"),e("fundFeeRate"),e("createPoolFee"),o("protocolOwner"),o("fundOwner"),e("creatorFeeRate"),e("creatorFeeShareRate"),m(e(),14)]),Jn=l([N(8),o("configId"),o("poolCreator"),o("vaultA"),o("vaultB"),o("mintLp"),o("mintA"),o("mintB"),o("mintProgramA"),o("mintProgramB"),o("observationId"),u("bump"),u("status"),u("lpDecimals"),u("mintDecimalA"),u("mintDecimalB"),e("lpAmount"),e("protocolFeesMintA"),e("protocolFeesMintB"),e("fundFeesMintA"),e("fundFeesMintB"),e("openTime"),e("epoch"),u("feeOn"),re("enableCreatorFee"),m(u(),6),e("creatorFeesMintA"),e("creatorFeesMintB"),m(e(),28)]),Fk=l([N(8),o("configId"),m(e(),30)]),vk=l([N(8),u("bump"),o("creator"),o("ammConfig"),e("shareRate"),m(e(),8)]);import{PublicKey as xK,SystemProgram as CK}from"@solana/web3.js";import{createTransferInstruction as LK,TOKEN_PROGRAM_ID as OK,TOKEN_2022_PROGRAM_ID as NK,createAssociatedTokenAccountIdempotentInstruction as MK,createSyncNativeInstruction as vK,createTransferCheckedInstruction as _K}from"@solana/spl-token";import la from"bn.js";import DK from"decimal.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as Ih,TOKEN_2022_PROGRAM_ID as Bh,TOKEN_PROGRAM_ID as Sh}from"@solana/spl-token";import{SystemProgram as Rh,TransactionInstruction as Lh}from"@solana/web3.js";import Xr from"bn.js";var ch=Buffer.from("vault_auth_seed","utf8"),lh=Buffer.from("global_config","utf8"),mh=Buffer.from("pool_vesting","utf8"),dh=Buffer.from("platform_config","utf8"),ph=Buffer.from("platform_fee_vault_auth_seed","utf8"),fh=Buffer.from("creator_fee_vault_auth_seed","utf8"),yh=Buffer.from("platform_global_access","utf8"),bh=Buffer.from("platform_allow_config","utf8"),gh=Buffer.from("platform_curve_rule","utf8");var Mh={initialize:Buffer.from([175,175,109,31,13,152,155,237]),initializeV2:Buffer.from([67,153,175,39,218,16,38,32]),buyExactIn:Buffer.from([250,234,13,123,213,156,19,236]),buyExactOut:Buffer.from([24,211,116,40,105,3,153,56]),sellExactIn:Buffer.from([149,39,222,155,211,124,152,26]),sellExactOut:Buffer.from([95,200,71,34,8,9,11,166]),createVestingAccount:Buffer.from([129,178,2,13,217,172,230,218]),claimVestedToken:Buffer.from([49,33,104,30,189,157,79,35]),createPlatformConfig:Buffer.from([176,90,196,175,253,113,220,20]),claimPlatformFee:Buffer.from([156,39,208,135,76,237,61,72]),updatePlaformConfig:Buffer.from([195,60,76,129,146,45,67,143]),initializeWithToken2022:Buffer.from([37,190,126,222,44,154,171,17]),claimPlatformFeeFromVault:Buffer.from([117,241,198,168,248,218,80,29]),claimCreatorFee:Buffer.from([26,97,138,203,132,171,141,252]),createPlatformVestingAccount:Buffer.from([146,71,173,69,98,19,15,106]),createPlatformAllowConfig:Buffer.from([69,71,168,7,214,250,107,102]),closePlatformAllowConfig:Buffer.from([82,205,36,216,16,6,240,215]),createPlatformCurveRule:Buffer.from([148,71,180,136,122,144,59,21]),updatePlatformCurveRule:Buffer.from([90,100,206,196,54,117,120,139]),removePlatformCurveRule:Buffer.from([236,77,154,138,32,145,127,219]),closePlatformCurveRule:Buffer.from([194,114,82,45,136,88,169,159])};var Fh=new Xr("18446744073709551615");var Yr=l([e(),e("epoch"),u("curveType"),Y("index"),e("migrateFee"),e("tradeFeeRate"),e("maxShareFeeRate"),e("minSupplyA"),e("maxLockRate"),e("minSellRateA"),e("minMigrateRateA"),e("minFundRaisingB"),o("mintB"),o("protocolFeeOwner"),o("migrateFeeOwner"),o("migrateToAmmWallet"),o("migrateToCpmmWallet"),m(e(),16)]),Hr=l([e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod"),e("startTime"),e("totalAllocatedShare")]),Qr=l([e(),e("epoch"),u("bump"),u("status"),u("mintDecimalsA"),u("mintDecimalsB"),u("migrateType"),e("supply"),e("totalSellA"),e("virtualA"),e("virtualB"),e("realA"),e("realB"),e("totalFundRaisingB"),e("protocolFee"),e("platformFee"),e("migrateFee"),Hr.replicate("vestingSchedule"),o("configId"),o("platformId"),o("mintA"),o("mintB"),o("vaultA"),o("vaultB"),o("creator"),u("mintProgramFlag"),u("cpmmCreatorFeeOn"),e("platformVestingShare"),m(u(),54)]),Eh=l([e(),e("epoch"),o("poolId"),o("beneficiary"),e("claimedAmount"),e("tokenShareAmount"),m(e(),8)]),Zr=l([u("migrateType"),u("migrateCpmmFeeOn"),e("supply"),e("totalSellA"),e("totalFundRaisingB"),e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod")]),Dh=l([e("epoch"),u("index"),o("configId"),Zr.replicate("bondingCurveParam"),m(e(),50)]),to=l([e(),e("epoch"),o("platformClaimFeeWallet"),o("platformLockNftWallet"),e("platformScale"),e("creatorScale"),e("burnScale"),e("feeRate"),m(u(),64,"name"),m(u(),256,"web"),m(u(),256,"img"),o("cpConfigId"),e("creatorFeeRate"),o("transferFeeExtensionAuth"),o("platformVestingWallet"),e("platformVestingScale"),o("platformCpCreator"),u("restrictGlobalConfig"),u("restrictCurveParam"),o("curveRuleManager"),m(u(),78)]),$r=l([u("field"),u("op"),K("value")]),jr=l([Y("groupId"),e("epoch"),Vt($r,"constraints")]),Jr=l([e(),u("bump"),u("version"),o("platformId"),o("configId"),e("epoch"),m(e(),8),Vt(jr,"groups")]);import{TOKEN_2022_PROGRAM_ID as Uh,TOKEN_PROGRAM_ID as Gh}from"@solana/spl-token";import ea from"bn.js";var nI=new ea(1e6);import aI from"bn.js";import uI from"decimal.js";import DI from"bn.js";import qI from"decimal.js";import fI from"bn.js";import bI from"decimal.js";import SI from"bn.js";import xI from"decimal.js";import io from"bn.js";import Qt from"decimal.js";var Tt=class{static _multipler(t){return new Qt(10).pow(t)}static getPrice({priceX64:t,decimalA:n,decimalB:r}){return new Qt(t.toString()).div(this._Q64).mul(this._multipler(n)).div(this._multipler(r))}static getPriceX64({price:t,decimalA:n,decimalB:r}){let c=t.mul(this._multipler(r)).div(this._multipler(n));return new io(c.mul(this._Q64).toFixed(0))}};Tt._Q64=new Qt(new io(1).shln(64).toString());import{NATIVE_MINT as oS,TOKEN_2022_PROGRAM_ID as iS,TOKEN_PROGRAM_ID as rS,createAssociatedTokenAccountIdempotentInstruction as sS,createSyncNativeInstruction as uS,getTransferFeeConfig as cS,unpackMint as lS}from"@solana/spl-token";import H from"bn.js";import{PublicKey as sa,SystemProgram as pS}from"@solana/web3.js";import wS from"decimal.js";var kS={initPriceX64:new H("515752397214619"),supply:new H(1e15),totalSellA:new H(7931e11),totalFundRaisingB:new H(85e9),totalFundRaisingBUSD:new H(125e8),totalLockedAmount:new H("0"),cliffPeriod:new H("0"),unlockPeriod:new H("0"),decimals:6,virtualA:new H("1073471847374405"),virtualB:new H("30050573465"),realA:new H(0),realB:new H(0),protocolFee:new H(0),platformId:new sa("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),vestingSchedule:{totalLockedAmount:new H(0),cliffPeriod:new H(0),unlockPeriod:new H(0),startTime:new H(0),totalAllocatedShare:new H(0)}},TS=new H(1e4);var ua={[Ln.toBase58()]:3};var ca=l([N(5),N(8),o("ownAddress"),e("vaultSignerNonce"),o("baseMint"),o("quoteMint"),o("baseVault"),e("baseDepositsTotal"),e("baseFeesAccrued"),o("quoteVault"),e("quoteDepositsTotal"),e("quoteFeesAccrued"),e("quoteDustThreshold"),o("requestQueue"),o("eventQueue"),o("bids"),o("asks"),e("baseLotSize"),e("quoteLotSize"),e("feeRateBps"),e("referrerRebatesAccrued"),N(7)]);import{PublicKey as XS}from"@solana/web3.js";var $S=E("Serum");import{ASSOCIATED_TOKEN_PROGRAM_ID as aK,TOKEN_2022_PROGRAM_ID as sK,TOKEN_PROGRAM_ID as uK}from"@solana/spl-token";import{PublicKey as lK,SystemProgram as mK,TransactionInstruction as dK}from"@solana/web3.js";import fK from"bn.js";var bx=new la(0);import{PublicKey as ma,Transaction as Zt,TransactionInstruction as da}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as pa}from"@solana/spl-token";import ro from"bn.js";var ee=class extends oe{static getPdaPoolId(t,n){return le([ee.SEED_CONFIG.pool.id,n.toBuffer()],t)}static getPdaOwnerId(t,n,r,c){return le([ee.SEED_CONFIG.owner.id,n.toBuffer(),r.toBuffer(),Buffer.from(new ro(c).toArray())],t)}static async getAllInfo({connection:t,programId:n,poolIds:r,wallet:c,chainTime:d}){if(r.length===0)return[];let y=r.map(b=>ee.getPdaPoolId(n,b).publicKey),f=[];for(let b=0;b<ee.VERSION_PROJECT.length;b++)f.push(...y.map(O=>ee.getPdaOwnerId(n,O,c,b).publicKey));let g=await ye(t,[...y,...f]),x=[];for(let b=0;b<g.length;b++){let O=Math.floor(b/r.length),R=b%r.length,B=y[R],M=f[b],P=g[R],T=g[r.length+b];if(!(P&&T)||P.data.length!==ee.POOL_LAYOUT.span||T.data.length!==ee.OWNER_LAYOUT.span)continue;let I=ee.POOL_LAYOUT.decode(P.data),h=ee.OWNER_LAYOUT.decode(T.data),F=I.openTime.toNumber(),v=I.endTime.toNumber(),p=h.tokenInfo.map(S=>S.debtAmount.gt(new ro(0))).filter(S=>!S).length!==3,A=d>F&&d<v&&I.status===1,w=p&&A;x.push({programId:n,poolId:B,ammId:I.ammId,ownerAccountId:M,snapshotLpAmount:h.lpAmount,project:ee.VERSION_PROJECT[O],openTime:F,endTime:v,canClaim:w,canClaimErrorType:p?A?void 0:"outOfOperationalTime":"alreadyClaimIt",tokenInfo:I.tokenInfo.map((S,L)=>({mintAddress:S.mintAddress,mintVault:S.mintVault,mintDecimals:S.mintDecimals,perLpLoss:S.perLpLoss,debtAmount:h.tokenInfo[L].debtAmount.add(h.tokenInfo[L].claimedAmount)}))})}return x}async makeClaimTransaction({poolInfo:t,ownerInfo:n,feePayer:r}){n.wallet||this.scope.checkOwner();let c=this.createTxBuilder(r),d=n.wallet||this.scope.ownerPubKey,y=[];for(let x of t.tokenInfo){let{account:b,instructionParams:O}=await this.scope.account.getOrCreateTokenAccount({mint:x.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:x.mintAddress.equals(J.WSOL.mint),createInfo:{payer:d,amount:0},skipCloseAccount:!x.mintAddress.equals(J.WSOL.mint),associatedOnly:x.mintAddress.equals(J.WSOL.mint)?!1:n.associatedOnly});O&&c.addInstruction(O),y.push(b)}c.addInstruction({instructions:[ee.makeClaimInstruction({programId:t.programId,poolInfo:t,ownerInfo:{wallet:d,ownerPda:t.ownerAccountId,claimAddress:y}})]});let{transaction:f,signers:g}=c.build();return[{transaction:f,signer:g}]}async makeClaimAllTransaction({poolInfos:t,ownerInfo:n,feePayer:r}){let c=this.createTxBuilder(r),d=n.wallet||this.scope.ownerPubKey,y={};for(let b of t){let O=[];for(let R of b.tokenInfo){let{account:B,instructionParams:M}=await this.scope.account.getOrCreateTokenAccount({mint:R.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:R.mintAddress.equals(J.WSOL.mint),createInfo:{payer:d,amount:0},skipCloseAccount:!R.mintAddress.equals(J.WSOL.mint),associatedOnly:R.mintAddress.equals(J.WSOL.mint)?!1:n.associatedOnly});M&&c.addInstruction(M),B&&(y[R.mintAddress.toString()]=B,O.push(B))}c.addInstruction({instructions:[ee.makeClaimInstruction({programId:b.programId,poolInfo:b,ownerInfo:{wallet:d,ownerPda:b.ownerAccountId,claimAddress:O}})]})}let{transaction:f,signers:g}=c.build(),x=c.allInstructions;return Ct(x,[d,...g.map(b=>b.publicKey)])?[{transaction:f,signer:g}]:[{transaction:new Zt().add(...x.slice(0,c.AllTxData.instructions.length-1)),signer:g},{transaction:new Zt().add(...x.slice(c.AllTxData.instructions.length-1)),signer:[]},{transaction:new Zt().add(...c.AllTxData.endInstructions),signer:[]}]}static makeClaimInstruction({programId:t,poolInfo:n,ownerInfo:r}){let c=l([]),d=[{pubkey:r.wallet,isSigner:!0,isWritable:!0},{pubkey:n.poolId,isSigner:!1,isWritable:!0},{pubkey:r.ownerPda,isSigner:!1,isWritable:!0},...r.claimAddress.map(g=>({pubkey:g,isSigner:!1,isWritable:!0})),...n.tokenInfo.map(({mintVault:g})=>({pubkey:g,isSigner:!1,isWritable:!0})),{pubkey:pa,isSigner:!1,isWritable:!1}],y=Buffer.alloc(c.span);c.encode({},y);let f=Buffer.from([10,66,208,184,161,6,191,98,...y]);return new da({keys:d,programId:t,data:f})}},se=ee;se.CLAIMED_NUM=3,se.POOL_LAYOUT=l([N(8),u("bump"),u("status"),e("openTime"),e("endTime"),o("ammId"),m(l([u("mintDecimals"),o("mintAddress"),o("mintVault"),e("perLpLoss"),e("totalClaimedAmount")]),ee.CLAIMED_NUM,"tokenInfo"),m(e(),10,"padding")]),se.OWNER_LAYOUT=l([N(8),u("bump"),u("version"),o("poolId"),o("owner"),e("lpAmount"),m(l([o("mintAddress"),e("debtAmount"),e("claimedAmount")]),ee.CLAIMED_NUM,"tokenInfo"),m(e(),4,"padding")]),se.DEFAULT_POOL_ID=["58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2","6UmmUiYoBjSrhakAobJw8BvkmJtDVxaeBtbt7rxWo1mg","AVs9TA4nWDzfPJE9gGVNJMVhcQy3V9PGazuz33BfG2RA","DVa7Qmb5ct9RCpaU7UTpSaf3GVMYz17vNVU67XpdCRut","7XawhbbxtsRcQA8KTkHT9f9nc6d69UwqCDh6U5EEbEmX","6a1CsrpeZubDjEJE9s1CMVheB6HWM5d7m1cj2jkhyXhj","EoNrn8iUhwgJySD1pHu8Qxm5gSQqLK3za4m8xzD2RuEb","AceAyRTWt4PyB2pHqf2qhDgNZDtKVNaxgL8Ru3V4aN1P","6tmFJbMk5yVHFcFy7X2K8RwHjKLr6KVFLYXpgpBNeAxB"].map(t=>new ma(t)),se.SEED_CONFIG={pool:{id:Buffer.from("pool_seed","utf8")},owner:{id:Buffer.from("user_claim_seed","utf8")}},se.VERSION_PROJECT=[void 0,"Francium","Tulip","Larix"];import{PublicKey as Nx}from"@solana/web3.js";import{getTransferFeeConfig as Fx,MintLayout as vx,TOKEN_2022_PROGRAM_ID as _x,TOKEN_PROGRAM_ID as Vx,unpackMint as Ex}from"@solana/spl-token";var pR=new Te(2),fR=new Te(3),yR=new Te(5),ko=new Te(10),bR=new Te(100),gR=new Te(1e3),PR=new Te(1e4);function $t(i,t=1,n=[]){let r=[...i];if(t<=0)return n;for(;r.length;)n.push(r.splice(0,t));return n}import{MINT_SIZE as YR,TOKEN_PROGRAM_ID as HR,getTransferFeeConfig as QR,unpackMint as ZR}from"@solana/spl-token";var jt=E("Raydium_accountInfo_util");async function ye(i,t,n){let{batchRequest:r,commitment:c="confirmed",chunkCount:d=100}=C({batchRequest:!1},n),y=$t(t,d),f=new Array(y.length).fill([]);if(r){let g=y.map(O=>{let R=i._buildArgs([O.map(B=>B.toBase58())],c,"base64");return{methodName:"getMultipleAccounts",args:R}}),x=$t(g,10);f=(await(await Promise.all(x.map(async O=>await i._rpcBatchRequest(O)))).flat()).map(O=>(O.error&&jt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${O.error.message}`),O.result.value.map(R=>{if(R){let{data:B,executable:M,lamports:P,owner:T,rentEpoch:I}=R;return B.length!==2&&B[1]!=="base64"&&jt.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(B[0],"base64"),executable:M,lamports:P,owner:new fa(T),rentEpoch:I}}return null})))}else try{f=await Promise.all(y.map(g=>i.getMultipleAccountsInfo(g,c)))}catch(g){g instanceof Error&&jt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${g.message}`)}return f.flat()}async function Lt({connection:i,address:t,cluster:n="mainnet"}){let r=await ye(i,[...new Set(t.map(d=>d.toString()))].map(d=>new Jt(d))),c={};for(let d=0;d<t.length;d++){let y=r[d],f=t[d];if(!y)continue;let g=new _e({key:f,state:_e.deserialize(y.data)});c[f.toString()]=g,n==="devnet"?ve[f.toString()]=g:Fe[f.toString()]=g}return c}var Fe={},Ot=async i=>{let t="AcL1Vo8oy1ULiavEcjSUcwfBSForXMudcZvDZy5nzJkU";if(Fe[t])return Fe;let n=new Jt(t),r=await i.getAccountInfo(n);return r&&(Fe[t]=new _e({key:n,state:_e.deserialize(r.data)})),Fe},ve={},Nt=async i=>{let t="EFhMuDw1PKEuckuFRW9PavNfTH4LKP5uKHgyXDmWpFCq";if(ve[t])return ve;let n=new Jt(t),r=await i.getAccountInfo(n);return r&&(ve[t]=new _e({key:n,state:_e.deserialize(r.data)})),ve};export{ve as DEV_LOOKUP_TABLE_CACHE,Fe as LOOKUP_TABLE_CACHE,Nt as getDevLookupTableCache,Ot as getMainLookupTableCache,Lt as getMultipleLookupTableInfo};
//# sourceMappingURL=lookupTable.mjs.map