UNPKG

@raydium-io/raydium-sdk-v2

Version:

An SDK for building applications on top of Raydium.

1 lines 79.1 kB
var bi=Object.create;var Je=Object.defineProperty,gi=Object.defineProperties,Pi=Object.getOwnPropertyDescriptor,Ai=Object.getOwnPropertyDescriptors,wi=Object.getOwnPropertyNames,yt=Object.getOwnPropertySymbols,ki=Object.getPrototypeOf,Zt=Object.prototype.hasOwnProperty,Dn=Object.prototype.propertyIsEnumerable;var En=(o,n,t)=>n in o?Je(o,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[n]=t,R=(o,n)=>{for(var t in n||(n={}))Zt.call(n,t)&&En(o,t,n[t]);if(yt)for(var t of yt(n))Dn.call(n,t)&&En(o,t,n[t]);return o},_=(o,n)=>gi(o,Ai(n));var be=(o,n)=>{var t={};for(var i in o)Zt.call(o,i)&&n.indexOf(i)<0&&(t[i]=o[i]);if(o!=null&&yt)for(var i of yt(o))n.indexOf(i)<0&&Dn.call(o,i)&&(t[i]=o[i]);return t};var Ti=(o,n)=>{for(var t in n)Je(o,t,{get:n[t],enumerable:!0})},Wn=(o,n,t,i)=>{if(n&&typeof n=="object"||typeof n=="function")for(let a of wi(n))!Zt.call(o,a)&&a!==t&&Je(o,a,{get:()=>n[a],enumerable:!(i=Pi(n,a))||i.enumerable});return o};var f=(o,n,t)=>(t=o!=null?bi(ki(o)):{},Wn(n||!o||!o.__esModule?Je(t,"default",{value:o,enumerable:!0}):t,o)),hi=o=>Wn(Je({},"__esModule",{value:!0}),o);var wu={};Ti(wu,{BN_100:()=>du,BN_1000:()=>pu,BN_10000:()=>fu,BN_FIVE:()=>mu,BN_TEN:()=>xe,BN_THREE:()=>lu,BN_TWO:()=>cu,ceilDiv:()=>Sn,decimalToFraction:()=>Pu,divCeil:()=>Qo,floorDiv:()=>jo,isDecimal:()=>Au,parseNumberInfo:()=>Fe,shakeFractionDecimal:()=>pi,tenExponential:()=>Ot,toBN:()=>fi,toFraction:()=>Vn,toPercent:()=>yu,toTokenPrice:()=>bu,toTotalPrice:()=>gu,toUsdCurrency:()=>vn});module.exports=hi(wu);var H=f(require("bn.js")),di=f(require("decimal.js"));var li=f(require("big.js")),Ie=f(require("bn.js"));var et=require("lodash");var Ht=class{constructor(n){this.logLevel=n.logLevel!==void 0?n.logLevel:0,this.name=n.name}set level(n){this.logLevel=n}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(n){return n<=this.logLevel}error(...n){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...n),this):this}logWithError(...n){let t=n.map(i=>typeof i=="object"?JSON.stringify(i):i).join(", ");throw new Error(t)}warning(...n){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...n),this):this}info(...n){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...n),this):this}debug(...n){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...n),this):this}},qn={},Ii={};function V(o){let n=(0,et.get)(qn,o);if(!n){let t=(0,et.get)(Ii,o);n=new Ht({name:o,logLevel:t}),(0,et.set)(qn,o,n)}return n}var Un=require("@solana/web3.js");var bt=require("@solana/spl-token"),jt=V("Raydium_accountInfo_util");async function he(o,n,t){let{batchRequest:i,commitment:a="confirmed",chunkCount:l=100}=R({batchRequest:!1},t),d=$t(n,l),p=new Array(d.length).fill([]);if(i){let y=d.map(K=>{let L=o._buildArgs([K.map(x=>x.toBase58())],a,"base64");return{methodName:"getMultipleAccounts",args:L}}),h=$t(y,10);p=(await(await Promise.all(h.map(async K=>await o._rpcBatchRequest(K)))).flat()).map(K=>(K.error&&jt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${K.error.message}`),K.result.value.map(L=>{if(L){let{data:x,executable:v,lamports:w,owner:I,rentEpoch:S}=L;return x.length!==2&&x[1]!=="base64"&&jt.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(x[0],"base64"),executable:v,lamports:w,owner:new Un.PublicKey(I),rentEpoch:S}}return null})))}else try{p=await Promise.all(d.map(y=>o.getMultipleAccountsInfo(y,a)))}catch(y){y instanceof Error&&jt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${y.message}`)}return p.flat()}var _e=f(require("bn.js"));var Gn=9007199254740991;function Z(o){let n=V("Raydium_parseBigNumberish");if(o instanceof _e.default)return o;if(typeof o=="string"){if(o.match(/^-?[0-9]+$/))return new _e.default(o);n.logWithError(`invalid BigNumberish string: ${o}`)}return typeof o=="number"?(o%1&&n.logWithError(`BigNumberish number underflow: ${o}`),(o>=Gn||o<=-Gn)&&n.logWithError(`BigNumberish number overflow: ${o}`),new _e.default(String(o))):typeof o=="bigint"?new _e.default(o.toString()):(n.error(`invalid BigNumberish value: ${o}`),new _e.default(0))}var su=require("lodash");var Si=f(require("axios"));var zn={BASE_HOST:"https://api-v3.raydium.io",OWNER_BASE_HOST:"https://owner-v1.raydium.io",SERVICE_BASE_HOST:"https://service.raydium.io",MONITOR_BASE_HOST:"https://monitor.raydium.io",SERVICE_1_BASE_HOST:"https://service-v1.raydium.io",TEMP_HOST:"https://temp-api-v1.raydium.io",SEND_TRANSACTION:"/send-transaction",FARM_ARP:"/main/farm/info",FARM_ARP_LINE:"/main/farm-apr-tv",CLMM_CONFIG:"/main/clmm-config",CPMM_CONFIG:"/main/cpmm-config",CLMM_DYNAMIC_CONFIG:"/main/clmm-dynamic-config",VERSION:"/main/version",CHECK_AVAILABILITY:"/v3/main/AvailabilityCheckAPI",RPCS:"/main/rpcs",INFO:"/main/info",STAKE_POOLS:"/main/stake-pools",CHAIN_TIME:"/main/chain-time",TOKEN_LIST:"/mint/list",MINT_INFO_ID:"/mint/ids",JUP_TOKEN_LIST:"https://lite-api.jup.ag/tokens/v2/tag?query=verified",POOL_LIST:"/pools/info/list-v2",POOL_SEARCH_BY_ID:"/pools/info/ids",POOL_SEARCH_MINT:"/pools/info/list-v2",POOL_SEARCH_LP:"/pools/info/lps",POOL_KEY_BY_ID:"/pools/key/ids",POOL_LIQUIDITY_LINE:"/pools/line/liquidity",POOL_POSITION_LINE:"/pools/line/position",FARM_INFO:"/farms/info/ids",FARM_LP_INFO:"/farms/info/lp",FARM_KEYS:"/farms/key/ids",OWNER_CREATED_FARM:"/create-pool/{owner}",OWNER_IDO:"/main/ido/{owner}",OWNER_STAKE_FARMS:"/position/stake/{owner}",OWNER_LOCK_POSITION:"/position/clmm-lock/{owner}",IDO_KEYS:"/ido/key/ids",SWAP_HOST:"https://transaction-v1.raydium.io",SWAP_COMPUTE:"/compute/",SWAP_TX:"/transaction/",MINT_PRICE:"/mint/price",MIGRATE_CONFIG:"/main/migrate-lp",PRIORITY_FEE:"/main/auto-fee",CPMM_LOCK:"https://dynamic-ipfs.raydium.io/lock/cpmm/position",LAUNCH_AUTH_HOST:"https://launch-auth-v1.raydium.io",LAUNCH_COMMENT_HOST:"hhttps://launch-forum-v1.raydium.io",LAUNCH_HISTORY_HOST:"https://launch-history-v1.raydium.io",LAUNCH_MINT_HOST:"https://launch-mint-v1.raydium.io"},Bi=_(R({},zn),{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 rc=V("Raydium_Api");var co=require("@solana/web3.js");var Kt=require("@solana/spl-token");var U=require("@solana/web3.js"),Zn=f(require("axios"));var de=require("@solana/web3.js");async function Jt({connection:o,address:n,cluster:t="mainnet"}){let i=await he(o,[...new Set(n.map(l=>l.toString()))].map(l=>new de.PublicKey(l))),a={};for(let l=0;l<n.length;l++){let d=i[l],p=n[l];if(!d)continue;let y=new de.AddressLookupTableAccount({key:p,state:de.AddressLookupTableAccount.deserialize(d.data)});a[p.toString()]=y,t==="devnet"?De[p.toString()]=y:Ee[p.toString()]=y}return a}var Ee={},en=async o=>{let n="AcL1Vo8oy1ULiavEcjSUcwfBSForXMudcZvDZy5nzJkU";if(Ee[n])return Ee;let t=new de.PublicKey(n),i=await o.getAccountInfo(t);return i&&(Ee[n]=new de.AddressLookupTableAccount({key:t,state:de.AddressLookupTableAccount.deserialize(i.data)})),Ee},De={},tn=async o=>{let n="EFhMuDw1PKEuckuFRW9PavNfTH4LKP5uKHgyXDmWpFCq";if(De[n])return De;let t=new de.PublicKey(n),i=await o.getAccountInfo(t);return i&&(De[n]=new de.AddressLookupTableAccount({key:t,state:de.AddressLookupTableAccount.deserialize(i.data)})),De};var J={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"};var ie=require("@solana/web3.js");var Xn=require("@solana/spl-token"),Yn=V("Raydium_txUtil"),Qn=1644;function gt(o){let n=[],t=[];return o.microLamports&&(n.push(ie.ComputeBudgetProgram.setComputeUnitPrice({microLamports:o.microLamports})),t.push(J.SetComputeUnitPrice)),o.units&&(n.push(ie.ComputeBudgetProgram.setComputeUnitLimit({units:o.units})),t.push(J.SetComputeUnitLimit)),{instructions:n,instructionTypes:t}}async function We(o,n){var i,a;let t=n!=null?n:"confirmed";return(a=await((i=o.getLatestBlockhash)==null?void 0:i.call(o,{commitment:t})))==null?void 0:a.blockhash}async function Pt(o,n){return o.getSignatureStatuses([n]),new Promise((t,i)=>{let a=setTimeout(i,6e4);o.onSignature(n,l=>{if(clearTimeout(a),!l.err){t("");return}i(Object.assign(l.err,{txId:n}))},"confirmed")})}function nn(o,n){o.length<1&&Yn.logWithError(`no instructions provided: ${o.toString()}`),n.length<1&&Yn.logWithError(`no signers provided:, ${n.toString()}`);let t=new ie.Transaction;t.recentBlockhash="11111111111111111111111111111111",t.feePayer=n[0],t.add(...o);try{return Buffer.from(t.serialize({verifySignatures:!1})).toString("base64").length<Qn}catch{return!1}}function Pe(o,n){let[t,i]=ie.PublicKey.findProgramAddressSync(o,n);return{publicKey:t,nonce:i}}function nt({instructions:o,payer:n,signers:t}){return nn(o,[n,...t])}function ot({instructions:o,payer:n,lookupTableAddressAccount:t,recentBlockhash:i=ie.Keypair.generate().publicKey.toString()}){let l=new ie.TransactionMessage({payerKey:n,recentBlockhash:i,instructions:o}).compileToV0Message(Object.values(t!=null?t:{}));try{return Buffer.from(new ie.VersionedTransaction(l).serialize()).toString("base64").length<Qn}catch{return!1}}var xi=o=>Buffer.isBuffer(o)?o:o instanceof Uint8Array?Buffer.from(o.buffer,o.byteOffset,o.byteLength):Buffer.from(o),Ki=o=>{let n=o.serialize({requireAllSignatures:!1,verifySignatures:!1});o instanceof ie.VersionedTransaction&&(n=xi(n));try{return n instanceof Buffer?n.toString("base64"):Buffer.from(n).toString("base64")}catch{return n.toString("base64")}};function Ce(o){let n=[];return o.forEach(t=>{t instanceof ie.Transaction&&(t.recentBlockhash||(t.recentBlockhash=Xn.TOKEN_PROGRAM_ID.toBase58()),t.feePayer||(t.feePayer=ie.Keypair.generate().publicKey)),n.push(Ki(t))}),console.log("simulate tx string:",n),n}var At=2e3,wt=class{constructor(n){this.instructions=[];this.endInstructions=[];this.lookupTableAddress=[];this.signers=[];this.instructionTypes=[];this.endInstructionTypes=[];this.connection=n.connection,this.feePayer=n.feePayer,this.signAllTransactions=n.signAllTransactions,this.owner=n.owner,this.cluster=n.cluster,this.blockhashCommitment=n.blockhashCommitment,this.loopMultiTxStatus=!!n.loopMultiTxStatus}get AllTxData(){return{instructions:this.instructions,endInstructions:this.endInstructions,signers:this.signers,instructionTypes:this.instructionTypes,endInstructionTypes:this.endInstructionTypes,lookupTableAddress:this.lookupTableAddress}}get allInstructions(){return[...this.instructions,...this.endInstructions]}async getComputeBudgetConfig(){var i;let n=(await Zn.default.get(`https://solanacompass.com/api/fees?cacheFreshTime=${3e5}`)).data,{avg:t}=(i=n==null?void 0:n[15])!=null?i:{};if(!!t)return{units:6e5,microLamports:Math.min(Math.ceil(t*1e6/6e5),25e3)}}addCustomComputeBudget(n){if(n){let{instructions:t,instructionTypes:i}=gt(n);return this.instructions.unshift(...t),this.instructionTypes.unshift(...i),!0}return!1}addTipInstruction(n){var t;return n?(this.endInstructions.push(U.SystemProgram.transfer({fromPubkey:(t=n.feePayer)!=null?t:this.feePayer,toPubkey:new U.PublicKey(n.address),lamports:BigInt(n.amount.toString())})),this.endInstructionTypes.push(J.TransferTip),!0):!1}async calComputeBudget({config:n,defaultIns:t}){try{let i=n||await this.getComputeBudgetConfig();if(this.addCustomComputeBudget(i))return;t&&this.instructions.unshift(...t)}catch{t&&this.instructions.unshift(...t)}}addInstruction({instructions:n=[],endInstructions:t=[],signers:i=[],instructionTypes:a=[],endInstructionTypes:l=[],lookupTableAddress:d=[]}){return this.instructions.push(...n),this.endInstructions.push(...t),this.signers.push(...i),this.instructionTypes.push(...a),this.endInstructionTypes.push(...l),this.lookupTableAddress.push(...d.filter(p=>p!==U.PublicKey.default.toString())),this}async versionBuild({txVersion:n,extInfo:t,lookupTableAddress:i}){return n===0?await this.buildV0(_(R({},t||{}),{lookupTableAddress:i})):this.build(t)}build(n){var i;let t=new U.Transaction;return this.allInstructions.length&&t.add(...this.allInstructions),t.feePayer=this.feePayer,((i=this.owner)==null?void 0:i.signer)&&!this.signers.some(a=>a.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 a=>{var b;let{recentBlockHash:l,skipPreflight:d=!0,sendAndConfirm:p,notSendToRpc:y}=a||{},h=l!=null?l:await We(this.connection,this.blockhashCommitment);if(t.recentBlockhash=h,this.signers.length&&t.sign(...this.signers),Ce([t]),(b=this.owner)!=null&&b.isKeyPair)return{txId:p?await(0,U.sendAndConfirmTransaction)(this.connection,t,this.signers.find(L=>L.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:d}):await this.connection.sendRawTransaction(t.serialize(),{skipPreflight:d}),signedTx:t};if(this.signAllTransactions){let K=await this.signAllTransactions([t]);if(this.signers.length)for(let L of K)try{L.sign(...this.signers)}catch{}return{txId:y?"":await this.connection.sendRawTransaction(K[0].serialize(),{skipPreflight:d}),signedTx:K[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:n||{}}}buildMultiTx(n){var h;let{extraPreBuildData:t=[],extInfo:i}=n,{transaction:a}=this.build(i),l=t.filter(b=>b.transaction.instructions.length>0),d=[a,...l.map(b=>b.transaction)],p=[this.signers,...l.map(b=>b.signers)],y=[...this.instructionTypes,...l.map(b=>b.instructionTypes).flat()];return(h=this.owner)!=null&&h.signer&&p.forEach(b=>{b.some(K=>K.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),{builder:this,transactions:d,signers:p,instructionTypes:y,execute:async b=>{var S;let{sequentially:K,onTxUpdate:L,skipTxCount:x=0,recentBlockHash:v,skipPreflight:w=!0}=b||{},I=v!=null?v:await We(this.connection,this.blockhashCommitment);if((S=this.owner)!=null&&S.isKeyPair){if(K){let B=[],D=0;for(let W of d){if(++D,D<=x)continue;let g=await(0,U.sendAndConfirmTransaction)(this.connection,W,this.signers.find(k=>k.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:w});B.push(g)}return{txIds:B,signedTxs:d}}return{txIds:await await Promise.all(d.map(async B=>(B.recentBlockhash=I,await this.connection.sendRawTransaction(B.serialize(),{skipPreflight:w})))),signedTxs:d}}if(this.signAllTransactions){let B=d.map((W,g)=>(W.recentBlockhash=I,p[g].length&&W.sign(...p[g]),W));Ce(B);let D=await this.signAllTransactions(B);if(K){let W=0,g=[],k=async()=>{if(!D[W])return;let T=await this.connection.sendRawTransaction(D[W].serialize(),{skipPreflight:w});g.push({txId:T,status:"sent",signedTx:D[W]}),L==null||L([...g]),W++;let C=!1,O=null,q=null,ce=Y=>{O!==null&&clearInterval(O),q!==null&&this.connection.removeSignatureListener(q);let G=g.findIndex(ne=>ne.txId===T);if(G>-1){if(g[G].status==="error"||g[G].status==="success")return;g[G].status=Y.err?"error":"success"}L==null||L([...g]),Y.err||k()};this.loopMultiTxStatus&&(O=setInterval(async()=>{var Y;if(C){clearInterval(O);return}try{let G=await this.connection.getTransaction(T,{commitment:"confirmed",maxSupportedTransactionVersion:0});G&&(C=!0,clearInterval(O),ce({err:((Y=G.meta)==null?void 0:Y.err)||null}),console.log("tx status from getTransaction:",T))}catch(G){C=!0,clearInterval(O),console.error("getTransaction timeout:",G,T)}},At)),q=this.connection.onSignature(T,Y=>{if(C){this.connection.removeSignatureListener(q);return}C=!0,ce(Y)},"confirmed"),this.connection.getSignatureStatus(T)};return await k(),{txIds:g.map(T=>T.txId),signedTxs:D}}else{let W=[];for(let g=0;g<D.length;g+=1){let k=await this.connection.sendRawTransaction(D[g].serialize(),{skipPreflight:w});W.push(k)}return{txIds:W,signedTxs:D}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:i||{}}}async versionMultiBuild({extraPreBuildData:n,txVersion:t,extInfo:i}){return t===0?await this.buildV0MultiTx({extraPreBuildData:n,buildProps:i||{}}):this.buildMultiTx({extraPreBuildData:n,extInfo:i})}async buildV0(n){var w;let v=n||{},{lookupTableCache:t={},lookupTableAddress:i=[],forerunCreate:a,recentBlockhash:l}=v,d=be(v,["lookupTableCache","lookupTableAddress","forerunCreate","recentBlockhash"]),p=R(R({},this.cluster==="devnet"?await tn(this.connection):await en(this.connection)),t),y=Array.from(new Set([...i,...this.lookupTableAddress])),h=[];for(let I of y)p[I]===void 0&&h.push(new U.PublicKey(I));let b=await Jt({connection:this.connection,address:h});for(let[I,S]of Object.entries(b))p[I]=S;let K=a?U.PublicKey.default.toBase58():l!=null?l:await We(this.connection,this.blockhashCommitment),L=new U.TransactionMessage({payerKey:this.feePayer,recentBlockhash:K,instructions:[...this.allInstructions]}).compileToV0Message(Object.values(p));((w=this.owner)==null?void 0:w.signer)&&!this.signers.some(I=>I.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer);let x=new U.VersionedTransaction(L);return x.sign(this.signers),{builder:this,transaction:x,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async I=>{var W;let{skipPreflight:S=!0,sendAndConfirm:B,notSendToRpc:D}=I||{};if(Ce([x]),(W=this.owner)!=null&&W.isKeyPair){let g=await this.connection.sendTransaction(x,{skipPreflight:S});return B&&await Pt(this.connection,g),{txId:g,signedTx:x}}if(this.signAllTransactions){let g=await this.signAllTransactions([x]);if(this.signers.length)for(let k of g)try{k.sign(this.signers)}catch{}return{txId:D?"":await this.connection.sendTransaction(g[0],{skipPreflight:S}),signedTx:g[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:d||{}}}async buildV0MultiTx(n){var h;let{extraPreBuildData:t=[],buildProps:i}=n,{transaction:a}=await this.buildV0(i),l=t.filter(b=>b.builder.instructions.length>0),d=[a,...l.map(b=>b.transaction)],p=[this.signers,...l.map(b=>b.signers)],y=[...this.instructionTypes,...l.map(b=>b.instructionTypes).flat()];return(h=this.owner)!=null&&h.signer&&p.forEach(b=>{b.some(K=>K.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),d.forEach(async(b,K)=>{b.sign(p[K])}),{builder:this,transactions:d,signers:p,instructionTypes:y,buildProps:i,execute:async b=>{var w;let{sequentially:K,onTxUpdate:L,recentBlockHash:x,skipPreflight:v=!0}=b||{};if(x&&d.forEach(I=>I.message.recentBlockhash=x),Ce(d),(w=this.owner)!=null&&w.isKeyPair){if(K){let I=[];for(let S of d){let B=await this.connection.sendTransaction(S,{skipPreflight:v});await Pt(this.connection,B),I.push(B)}return{txIds:I,signedTxs:d}}return{txIds:await Promise.all(d.map(async I=>await this.connection.sendTransaction(I,{skipPreflight:v}))),signedTxs:d}}if(this.signAllTransactions){let I=await this.signAllTransactions(d);if(K){let S=0,B=[],D=async()=>{if(!I[S])return;let W=await this.connection.sendTransaction(I[S],{skipPreflight:v});B.push({txId:W,status:"sent",signedTx:I[S]}),L==null||L([...B]),S++;let g=!1,k=null,T=null,C=O=>{k!==null&&clearInterval(k),T!==null&&this.connection.removeSignatureListener(T);let q=B.findIndex(ce=>ce.txId===W);if(q>-1){if(B[q].status==="error"||B[q].status==="success")return;B[q].status=O.err?"error":"success"}L==null||L([...B]),O.err||D()};this.loopMultiTxStatus&&(k=setInterval(async()=>{var O;if(g){clearInterval(k);return}try{let q=await this.connection.getTransaction(W,{commitment:"confirmed",maxSupportedTransactionVersion:0});q&&(g=!0,clearInterval(k),C({err:((O=q.meta)==null?void 0:O.err)||null}),console.log("tx status from getTransaction:",W))}catch(q){g=!0,clearInterval(k),console.error("getTransaction timeout:",q,W)}},At)),T=this.connection.onSignature(W,O=>{if(g){this.connection.removeSignatureListener(T);return}g=!0,C(O)},"confirmed"),this.connection.getSignatureStatus(W)};return D(),{txIds:[],signedTxs:I}}else{let S=[];for(let B=0;B<I.length;B+=1){let D=await this.connection.sendTransaction(I[B],{skipPreflight:v});S.push(D)}return{txIds:S,signedTxs:I}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:i||{}}}async sizeCheckBuild(n){var L;let K=n||{},{splitIns:t=[],computeBudgetConfig:i}=K,a=be(K,["splitIns","computeBudgetConfig"]),l=i?gt(i):{instructions:[],instructionTypes:[]},d=this.signers.reduce((x,v)=>_(R({},x),{[v.publicKey.toBase58()]:v}),{}),p=[],y=[],h=[],b=0;if(this.allInstructions.forEach(x=>{let v=[...h,x],w=i?[...l.instructions,...v]:v,S=[...new Set(v.map(B=>B.keys.filter(D=>D.isSigner).map(D=>D.pubkey.toString())).flat()).values()].map(B=>new U.PublicKey(B));if(x!==t[b]&&h.length<12&&(nt({instructions:w,payer:this.feePayer,signers:S})||nt({instructions:v,payer:this.feePayer,signers:S})))h.push(x);else{if(h.length===0)throw Error("item ins too big");b+=x===t[b]?1:0,nt({instructions:i?[...l.instructions,...h]:[...h],payer:this.feePayer,signers:S})?p.push(new U.Transaction().add(...l.instructions,...h)):p.push(new U.Transaction().add(...h)),y.push(Array.from(new Set(h.map(B=>B.keys.filter(D=>D.isSigner).map(D=>D.pubkey.toString())).flat())).map(B=>d[B]).filter(B=>B!==void 0)),h=[x]}}),h.length>0){let v=[...new Set(h.map(w=>w.keys.filter(I=>I.isSigner).map(I=>I.pubkey.toString())).flat()).values()].map(w=>d[w]).filter(w=>w!==void 0);nt({instructions:i?[...l.instructions,...h]:[...h],payer:this.feePayer,signers:v.map(w=>w.publicKey)})?p.push(new U.Transaction().add(...l.instructions,...h)):p.push(new U.Transaction().add(...h)),y.push(v)}return p.forEach(x=>x.feePayer=this.feePayer),(L=this.owner)!=null&&L.signer&&y.forEach(x=>{x.some(v=>v.publicKey.equals(this.owner.publicKey))||x.push(this.owner.signer)}),{builder:this,transactions:p,signers:y,instructionTypes:this.instructionTypes,execute:async x=>{var W;let{sequentially:v,onTxUpdate:w,skipTxCount:I=0,recentBlockHash:S,skipPreflight:B=!0}=x||{},D=S!=null?S:await We(this.connection,this.blockhashCommitment);if(p.forEach(async(g,k)=>{g.recentBlockhash=D,y[k].length&&g.sign(...y[k])}),Ce(p),(W=this.owner)!=null&&W.isKeyPair){if(v){let g=0,k=[];for(let T of p){if(++g,g<=I){k.push("tx skipped");continue}let C=await(0,U.sendAndConfirmTransaction)(this.connection,T,this.signers.find(O=>O.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:B});k.push(C)}return{txIds:k,signedTxs:p}}return{txIds:await Promise.all(p.map(async g=>await this.connection.sendRawTransaction(g.serialize(),{skipPreflight:B}))),signedTxs:p}}if(this.signAllTransactions){let g=await this.signAllTransactions(p.slice(I,p.length)),k=[...p.slice(0,I),...g];if(v){let T=0,C=[],O=async()=>{if(!k[T])return;T<I&&(C.push({txId:"",status:"success",signedTx:k[T]}),w==null||w([...C]),T++,O());let q=await this.connection.sendRawTransaction(k[T].serialize(),{skipPreflight:B});C.push({txId:q,status:"sent",signedTx:k[T]}),w==null||w([...C]),T++;let ce=!1,Y=null,G=null,ne=X=>{Y!==null&&clearInterval(Y),G!==null&&this.connection.removeSignatureListener(G);let ae=C.findIndex(ke=>ke.txId===q);if(ae>-1){if(C[ae].status==="error"||C[ae].status==="success")return;C[ae].status=X.err?"error":"success"}w==null||w([...C]),X.err||O()};this.loopMultiTxStatus&&(Y=setInterval(async()=>{var X;if(ce){clearInterval(Y);return}try{let ae=await this.connection.getTransaction(q,{commitment:"confirmed",maxSupportedTransactionVersion:0});ae&&(ce=!0,clearInterval(Y),ne({err:((X=ae.meta)==null?void 0:X.err)||null}),console.log("tx status from getTransaction:",q))}catch(ae){ce=!0,clearInterval(Y),console.error("getTransaction timeout:",ae,q)}},At)),G=this.connection.onSignature(q,X=>{if(ce){this.connection.removeSignatureListener(G);return}ce=!0,ne(X)},"confirmed"),this.connection.getSignatureStatus(q)};return await O(),{txIds:C.map(q=>q.txId),signedTxs:k}}else{let T=[];for(let C=0;C<k.length;C+=1){let O=await this.connection.sendRawTransaction(k[C].serialize(),{skipPreflight:B});T.push(O)}return{txIds:T,signedTxs:k}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:a||{}}}async sizeCheckBuildV0(n){var W;let D=n||{},{computeBudgetConfig:t,splitIns:i=[],lookupTableCache:a={},lookupTableAddress:l=[],insCountLimit:d=12}=D,p=be(D,["computeBudgetConfig","splitIns","lookupTableCache","lookupTableAddress","insCountLimit"]),y=R(R({},this.cluster==="devnet"?await tn(this.connection):await en(this.connection)),a),h=Array.from(new Set([...this.lookupTableAddress,...l])),b=[];for(let g of h)y[g]===void 0&&b.push(new U.PublicKey(g));let K=await Jt({connection:this.connection,address:b});for(let[g,k]of Object.entries(K))y[g]=k;let L=t?gt(t):{instructions:[],instructionTypes:[]},x=await We(this.connection,this.blockhashCommitment),v=this.signers.reduce((g,k)=>_(R({},g),{[k.publicKey.toBase58()]:k}),{}),w=[],I=[],S=[],B=0;if(this.allInstructions.forEach(g=>{let k=[...S,g],T=t?[...L.instructions,...k]:k;if(g!==i[B]&&S.length<d&&(ot({instructions:T,payer:this.feePayer,lookupTableAddressAccount:y})||ot({instructions:k,payer:this.feePayer,lookupTableAddressAccount:y})))S.push(g);else{if(S.length===0)throw Error("item ins too big");B+=g===i[B]?1:0;let C={};for(let O of[...new Set(h)])y[O]!==void 0&&(C[O]=y[O]);if(t&&ot({instructions:[...L.instructions,...S],payer:this.feePayer,lookupTableAddressAccount:y,recentBlockhash:x})){let O=new U.TransactionMessage({payerKey:this.feePayer,recentBlockhash:x,instructions:[...L.instructions,...S]}).compileToV0Message(Object.values(y));w.push(new U.VersionedTransaction(O))}else{let O=new U.TransactionMessage({payerKey:this.feePayer,recentBlockhash:x,instructions:[...S]}).compileToV0Message(Object.values(y));w.push(new U.VersionedTransaction(O))}I.push(Array.from(new Set(S.map(O=>O.keys.filter(q=>q.isSigner).map(q=>q.pubkey.toString())).flat())).map(O=>v[O]).filter(O=>O!==void 0)),S=[g]}}),S.length>0){let k=[...new Set(S.map(T=>T.keys.filter(C=>C.isSigner).map(C=>C.pubkey.toString())).flat()).values()].map(T=>v[T]).filter(T=>T!==void 0);if(t&&ot({instructions:[...L.instructions,...S],payer:this.feePayer,lookupTableAddressAccount:y,recentBlockhash:x})){let T=new U.TransactionMessage({payerKey:this.feePayer,recentBlockhash:x,instructions:[...L.instructions,...S]}).compileToV0Message(Object.values(y));w.push(new U.VersionedTransaction(T))}else{let T=new U.TransactionMessage({payerKey:this.feePayer,recentBlockhash:x,instructions:[...S]}).compileToV0Message(Object.values(y));w.push(new U.VersionedTransaction(T))}I.push(k)}return(W=this.owner)!=null&&W.signer&&I.forEach(g=>{g.some(k=>k.publicKey.equals(this.owner.publicKey))||g.push(this.owner.signer)}),w.forEach((g,k)=>{g.sign(I[k])}),{builder:this,transactions:w,buildProps:n,signers:I,instructionTypes:this.instructionTypes,execute:async g=>{var ce;let{sequentially:k,onTxUpdate:T,skipTxCount:C=0,recentBlockHash:O,skipPreflight:q=!0}=g||{};if(w.map(async(Y,G)=>{I[G].length&&Y.sign(I[G]),O&&(Y.message.recentBlockhash=O)}),Ce(w),(ce=this.owner)!=null&&ce.isKeyPair){if(k){let Y=0,G=[];for(let ne of w){if(++Y,Y<=C){console.log("skip tx: ",Y),G.push("tx skipped");continue}let X=await this.connection.sendTransaction(ne,{skipPreflight:q});await Pt(this.connection,X),G.push(X)}return{txIds:G,signedTxs:w}}return{txIds:await Promise.all(w.map(async Y=>await this.connection.sendTransaction(Y,{skipPreflight:q}))),signedTxs:w}}if(this.signAllTransactions){let Y=await this.signAllTransactions(w.slice(C,w.length)),G=[...w.slice(0,C),...Y];if(k){let ne=0,X=[],ae=async()=>{if(!G[ne])return;if(ne<C){X.push({txId:"",status:"success",signedTx:G[ne]}),T==null||T([...X]),ne++,ae();return}let ke=await this.connection.sendTransaction(G[ne],{skipPreflight:q});X.push({txId:ke,status:"sent",signedTx:G[ne]}),T==null||T([...X]),ne++;let $e=!1,Ve=null,ft=null,_n=Ke=>{Ve!==null&&clearInterval(Ve),ft!==null&&this.connection.removeSignatureListener(ft);let Te=X.findIndex(yi=>yi.txId===ke);if(Te>-1){if(X[Te].status==="error"||X[Te].status==="success")return;X[Te].status=Ke.err?"error":"success"}T==null||T([...X]),Ke.err||ae()};this.loopMultiTxStatus&&(Ve=setInterval(async()=>{var Ke;if($e){clearInterval(Ve);return}try{let Te=await this.connection.getTransaction(ke,{commitment:"confirmed",maxSupportedTransactionVersion:0});Te&&($e=!0,clearInterval(Ve),_n({err:((Ke=Te.meta)==null?void 0:Ke.err)||null}),console.log("tx status from getTransaction:",ke))}catch(Te){$e=!0,clearInterval(Ve),console.error("getTransaction timeout:",Te,ke)}},At)),ft=this.connection.onSignature(ke,Ke=>{if($e){this.connection.removeSignatureListener(ft);return}$e=!0,_n(Ke)},"confirmed"),this.connection.getSignatureStatus(ke)};return ae(),{txIds:[],signedTxs:G}}else{let ne=[];for(let X=0;X<G.length;X+=1){let ae=await this.connection.sendTransaction(G[X],{skipPreflight:q});ne.push(ae)}return{txIds:ne,signedTxs:G}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:p||{}}}};var on=(...o)=>o.map(n=>{try{return typeof n=="object"?JSON.stringify(n):n}catch{return n}}).join(", "),se=class{constructor({scope:n,moduleName:t}){this.disabled=!1;this.scope=n,this.logger=V(t)}createTxBuilder(n){return this.scope.checkOwner(),new wt({connection:this.scope.connection,feePayer:n||this.scope.ownerPubKey,cluster:this.scope.cluster,owner:this.scope.owner,blockhashCommitment:this.scope.blockhashCommitment,loopMultiTxStatus:this.scope.loopMultiTxStatus,api:this.scope.api,signAllTransactions:this.scope.signAllTransactions})}logDebug(...n){this.logger.debug(on(n))}logInfo(...n){this.logger.info(on(n))}logAndCreateError(...n){let t=on(n);throw new Error(t)}checkDisabled(){(this.disabled||!this.scope)&&this.logAndCreateError("module not working")}};var so=require("@solana/web3.js"),Ni=f(require("bn.js"));var xt=require("@solana/spl-token");var Hn=require("@solana/web3.js"),rn=require("@solana/spl-token"),kt={chainId:101,address:Hn.PublicKey.default.toBase58(),programId:rn.TOKEN_PROGRAM_ID.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},Ae={chainId:101,address:"So11111111111111111111111111111111111111112",programId:rn.TOKEN_PROGRAM_ID.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"}};var ao=require("@solana/web3.js"),Li=f(require("bn.js"));var Oi=require("@solana/spl-token");var no=require("@solana/web3.js"),qe=f(require("bn.js"));var P=require("@solana/buffer-layout"),Tt=P.Layout,jn=P.Structure;var an=P.UInt;var $n=P.u8,ee=P.u16;var ht=P.u32;var Jn=P.nu64;var pe=P.s32;var eo=P.seq;var F=P.blob;var sn=P.bits,to=P.offset;var Le=class extends Tt{constructor(t,i,a){super(t,a);this.blob=F(t),this.signed=i}decode(t,i=0){let a=new qe.default(this.blob.decode(t,i),10,"le");return this.signed?a.fromTwos(this.span*8).clone():a}encode(t,i,a=0){return typeof t=="number"&&(t=new qe.default(t)),this.signed&&(t=t.toTwos(this.span*8)),this.blob.encode(t.toArrayLike(Buffer,"le",this.span),i,a)}},It=class extends Tt{constructor(t){super(8,t);this._lower=sn(ht(),!1),this._upper=sn(ht(),!1)}addBoolean(t){this._lower.fields.length<32?this._lower.addBoolean(t):this._upper.addBoolean(t)}decode(t,i=0){let a=this._lower.decode(t,i),l=this._upper.decode(t,i+this._lower.span);return R(R({},a),l)}encode(t,i,a=0){return this._lower.encode(t,i,a)+this._upper.encode(t,i,a+this._lower.span)}};function u(o){return new an(1,o)}function Q(o){return new an(4,o)}function e(o){return new Le(8,!1,o)}function N(o){return new Le(16,!1,o)}function oo(o){return new Le(1,!0,o)}function Ue(o){return new Le(8,!0,o)}function io(o){return new Le(16,!0,o)}var it=class extends Tt{constructor(t,i,a,l){super(t.span,l);this.layout=t,this.decoder=i,this.encoder=a}decode(t,i){return this.decoder(this.layout.decode(t,i))}encode(t,i,a){return this.layout.encode(this.encoder(t),i,a)}getSpan(t,i){return this.layout.getSpan(t,i)}};function r(o){return new it(F(32),n=>new no.PublicKey(n),n=>n.toBuffer(),o)}function me(o){return new it($n(),Ci,Ri,o)}function Ci(o){if(o===0)return!1;if(o===1)return!0;throw new Error("Invalid bool: "+o)}function Ri(o){return o?1:0}function ro(o,n){let t=ht("length"),i=c([t,m(o,to(t,-t.span),"values")]);return new it(i,({values:a})=>a,a=>({values:a}),n)}var un=class extends jn{decode(n,t){return super.decode(n,t)}};function c(o,n,t){return new un(o,n,t)}function m(o,n,t){let i,a=typeof n=="number"?n:(0,qe.isBN)(n)?n.toNumber():new Proxy(n,{get(l,d){if(!i){let p=Reflect.get(l,"count");i=(0,qe.isBN)(p)?p.toNumber():p,Reflect.set(l,"count",i)}return Reflect.get(l,d)},set(l,d,p){return d==="count"&&(i=p),Reflect.set(l,d,p)}});return eo(o,a,t)}var Bt=c([r("mint"),r("owner"),e("amount"),Q("delegateOption"),r("delegate"),u("state"),Q("isNativeOption"),e("isNative"),e("delegatedAmount"),Q("closeAuthorityOption"),r("closeAuthority")]);var Go=require("@solana/web3.js"),qa=require("@solana/spl-token");var Fi=require("@solana/web3.js"),vi=require("@solana/spl-token");var A=require("@solana/web3.js"),lo=new A.PublicKey("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),mo=new A.PublicKey("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),po=new A.PublicKey("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),cn=new A.PublicKey("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),Kl=new A.PublicKey("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Vi=new A.PublicKey("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),fo=new A.PublicKey("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),yo=new A.PublicKey("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),Cl=new A.PublicKey("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),_i=new A.PublicKey("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),bo=new A.PublicKey("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),Ei=new A.PublicKey("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Di=new A.PublicKey("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),go=new A.PublicKey("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Rl=new A.PublicKey("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Wi=new A.PublicKey("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),qi=new A.PublicKey("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),Ui=new A.PublicKey("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),Gi=new A.PublicKey("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),zi=new A.PublicKey("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi"),ln=new A.PublicKey("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),Yi=new A.PublicKey("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),Ll=new A.PublicKey("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),Xi=new A.PublicKey("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Qi=new A.PublicKey("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),Zi=new A.PublicKey("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),Ol=new A.PublicKey("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),Nl=new A.PublicKey("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),Ml=new A.PublicKey("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),Fl=new A.PublicKey("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),vl=new A.PublicKey("6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX"),rt={IDO_PROGRAM_ID_V1:qi,IDO_PROGRAM_ID_V2:Ui,IDO_PROGRAM_ID_V3:Gi,IDO_PROGRAM_ID_V4:zi};var Be={OPEN_BOOK_PROGRAM:new A.PublicKey("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),SERUM_PROGRAM_ID_V3:new A.PublicKey("Ray1111111111111111111111111111111111111111"),AMM_V4:new A.PublicKey("DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav"),AMM_STABLE:new A.PublicKey("DRayDdXc1NZQ9C3hRWmoSf8zK4iapgMnjdNZWrfwsP8m"),CLMM_PROGRAM_ID:new A.PublicKey("DRayAUgENGQBKVaX8owNhgzkEDyoHTGVEGHVJT1E9pfH"),CLMM_LOCK_PROGRAM_ID:new A.PublicKey("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),CLMM_LOCK_AUTH_ID:new A.PublicKey("6Aoh8h2Lw2m5UGxYR8AdAL87jTWYeKoxM52mJRzfYwN"),CREATE_CPMM_POOL_PROGRAM:new A.PublicKey("DRaycpLY18LhpbydsBWbVJtxpNv9oXPgjRSfpF2bWpYb"),CREATE_CPMM_POOL_AUTH:new A.PublicKey("CXniRufdq5xL8t8jZAPxsPZDpuudwuJSPWnbcD5Y5Nxq"),CREATE_CPMM_POOL_FEE_ACC:new A.PublicKey("3oE58BKVt8KuYkGxx8zBojugnymWmBiyafWgMrnb6eYy"),LOCK_CPMM_PROGRAM:new A.PublicKey("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),LOCK_CPMM_AUTH:new A.PublicKey("7qWVV8UY2bRJfDLP4s37YzBPKUkVB46DStYJBpYbQzu3"),UTIL1216:A.PublicKey.default,Router:new A.PublicKey("DRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd"),FARM_PROGRAM_ID_V3:new A.PublicKey("DRayWyrLmEW5KEeqs8kdTMMaBabapqagaBC7KWpGtJeZ"),FARM_PROGRAM_ID_V4:new A.PublicKey("Ray1111111111111111111111111111111111111111"),FARM_PROGRAM_ID_V5:new A.PublicKey("DRayiCGSZgku1GTK6rXD6mVDdingXy6APAH1R6R5L2LC"),FARM_PROGRAM_ID_V6:new A.PublicKey("DRayzbYakXs45ELHkzH6vC3fuhQqTAnv5A68gdFuvZyZ"),LAUNCHPAD_PROGRAM:new A.PublicKey("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),LAUNCHPAD_AUTH:new A.PublicKey("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),LAUNCHPAD_PLATFORM:new A.PublicKey("2Jx4KTDrVSdWNazuGpcA8n3ZLTRGGBDxAWhuKe2Xcj2a"),LAUNCHPAD_CONFIG:new A.PublicKey("7ZR4zD7PYfY2XxoG1Gxcy2EgEeGYrpxrwzPuwdUBssEt"),FEE_DESTINATION_ID:new A.PublicKey("9y8ENuuZ3b19quffx9hQvRVygG5ky6snHfRvGpuSfeJy"),MODEL_DATA_PUBKEY:new A.PublicKey("Ray1111111111111111111111111111111111111111")};var z=require("@solana/web3.js"),Po=require("@solana/spl-token");function Ge({pubkey:o,isSigner:n=!1,isWritable:t=!0}){return{pubkey:o,isWritable:t,isSigner:n}}var Hi=[Ge({pubkey:Po.TOKEN_PROGRAM_ID,isWritable:!1}),Ge({pubkey:z.SystemProgram.programId,isWritable:!1}),Ge({pubkey:z.SYSVAR_RENT_PUBKEY,isWritable:!1})];function Ao({publicKey:o,transformSol:n}){let t=wo(o.toString());if(t instanceof z.PublicKey)return n&&t.equals(Oe)?ge:t;if(n&&t.toString()===Oe.toBase58())return ge;if(typeof t=="string"){if(t===z.PublicKey.default.toBase58())return z.PublicKey.default;try{return new z.PublicKey(t)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function wo(o){try{return new z.PublicKey(o)}catch{return o}}var mn=new z.PublicKey("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),ze=new z.PublicKey("SysvarRent111111111111111111111111111111111"),ji=new z.PublicKey("SysvarC1ock11111111111111111111111111111111"),Ct=new z.PublicKey("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),$i=new z.PublicKey("Sysvar1nstructions1111111111111111111111111"),ko=z.SystemProgram.programId,El=new z.PublicKey("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Dl=new z.PublicKey("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Wl=new z.PublicKey("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),ql=new z.PublicKey("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Ul=new z.PublicKey("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Gl=new z.PublicKey("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),zl=new z.PublicKey("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),Yl=new z.PublicKey("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),Xl=new z.PublicKey("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Ql=new z.PublicKey("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Zl=new z.PublicKey("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),ge=new z.PublicKey("So11111111111111111111111111111111111111112"),Oe=z.PublicKey.default;var Ua=f(require("decimal.js"));var hn=require("@solana/spl-token"),ia=require("@solana/web3.js"),ra=f(require("bn.js")),aa=f(require("decimal.js"));var rr=require("@solana/spl-token"),ar=require("@solana/web3.js");var Rt=require("@solana/web3.js");var dn=class{constructor({mint:n,decimals:t,symbol:i,name:a,skipMint:l=!1,isToken2022:d=!1}){if(n===Oe.toBase58()||n instanceof Rt.PublicKey&&Oe.equals(n)){this.decimals=Ae.decimals,this.symbol=Ae.symbol,this.name=Ae.name,this.mint=new Rt.PublicKey(Ae.address),this.isToken2022=!1;return}this.decimals=t,this.symbol=i||n.toString().substring(0,6),this.name=a||n.toString().substring(0,6),this.mint=l?Rt.PublicKey.default:Ao({publicKey:n}),this.isToken2022=d}equals(n){return this===n?!0:this.mint.equals(n.mint)}},te=dn;te.WSOL=new dn(_(R({},Ae),{mint:Ae.address}));var pn=class{constructor({decimals:n,symbol:t="UNKNOWN",name:i="UNKNOWN"}){this.decimals=n,this.symbol=t,this.name=i}equals(n){return this===n}},at=pn;at.SOL=new pn(kt);var To=f(require("toformat")),Ji=To.default,st=Ji;var ut=f(require("big.js")),ho=f(require("bn.js")),Io=f(require("decimal.js-light"));var Lt=V("module/fraction"),fn=st(ut.default),ct=st(Io.default),tr={[0]:ct.ROUND_DOWN,[1]:ct.ROUND_HALF_UP,[2]:ct.ROUND_UP},nr={[0]:ut.default.roundDown,[1]:ut.default.roundHalfUp,[2]:ut.default.roundUp},M=class{constructor(n,t=new ho.default(1)){this.numerator=Z(n),this.denominator=Z(t)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new M(this.denominator,this.numerator)}add(n){let t=n instanceof M?n:new M(Z(n));return this.denominator.eq(t.denominator)?new M(this.numerator.add(t.numerator),this.denominator):new M(this.numerator.mul(t.denominator).add(t.numerator.mul(this.denominator)),this.denominator.mul(t.denominator))}sub(n){let t=n instanceof M?n:new M(Z(n));return this.denominator.eq(t.denominator)?new M(this.numerator.sub(t.numerator),this.denominator):new M(this.numerator.mul(t.denominator).sub(t.numerator.mul(this.denominator)),this.denominator.mul(t.denominator))}mul(n){let t=n instanceof M?n:new M(Z(n));return new M(this.numerator.mul(t.numerator),this.denominator.mul(t.denominator))}div(n){let t=n instanceof M?n:new M(Z(n));return new M(this.numerator.mul(t.denominator),this.denominator.mul(t.numerator))}toSignificant(n,t={groupSeparator:""},i=1){Number.isInteger(n)||Lt.logWithError(`${n} is not an integer.`),n<=0&&Lt.logWithError(`${n} is not positive.`),ct.set({precision:n+1,rounding:tr[i]});let a=new ct(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(n);return a.toFormat(a.decimalPlaces(),t)}toFixed(n,t={groupSeparator:""},i=1){return Number.isInteger(n)||Lt.logWithError(`${n} is not an integer.`),n<0&&Lt.logWithError(`${n} is negative.`),fn.DP=n,fn.RM=nr[i]||1,new fn(this.numerator.toString()).div(this.denominator.toString()).toFormat(n,t)}isZero(){return this.numerator.isZero()}};var So=f(require("bn.js"));var Bo=new M(new So.default(100)),fe=class extends M{toSignificant(n=5,t,i){return this.mul(Bo).toSignificant(n,t,i)}toFixed(n=2,t,i){return this.mul(Bo).toFixed(n,t,i)}};var or=V("Raydium_price"),le=class extends M{constructor(t){let{baseToken:i,quoteToken:a,numerator:l,denominator:d}=t;super(l,d);this.baseToken=i,this.quoteToken=a,this.scalar=new M(Ot(i.decimals),Ot(a.decimals))}get raw(){return new M(this.numerator,this.denominator)}get adjusted(){return super.mul(this.scalar)}invert(){return new le({baseToken:this.quoteToken,quoteToken:this.baseToken,denominator:this.numerator,numerator:this.denominator})}mul(t){this.quoteToken!==t.baseToken&&or.logWithError("mul token not equals");let i=super.mul(t);return new le({baseToken:this.baseToken,quoteToken:t.quoteToken,denominator:i.denominator,numerator:i.numerator})}toSignificant(t=this.quoteToken.decimals,i,a){return this.adjusted.toSignificant(t,i,a)}toFixed(t=this.quoteToken.decimals,i,a){return this.adjusted.toFixed(t,i,a)}};var ir=c([Q("mintAuthorityOption"),r("mintAuthority"),e("supply"),u("decimals"),u("isInitialized"),Q("freezeAuthorityOption"),r("freezeAuthority")]);var wn=require("@solana/spl-token"),Vt=require("@solana/web3.js"),ea=f(require("bn.js"));var E=f(require("bn.js")),Ne=new E.default(1).shln(64);var sr=new E.default(1).shln(128),yn=new E.default(1).shln(64).subn(1),ur=new E.default(1).shln(128).subn(1);var Ye=new E.default("4295048016"),Xe=new E.default("79226673521066979257578248091"),cr=new E.default("59543866431248"),lr=new E.default("184467440737095516"),mr=new E.default("15793534762490258745");var bn=60,Dm=new E.default("18446743708227953217"),dr=[{bit:0,factor:new E.default("fffcb933bd6fb800",16)},{bit:1,factor:new E.default("fff97272373d4000",16)},{bit:2,factor:new E.default("fff2e50f5f657000",16)},{bit:3,factor:new E.default("ffe5caca7e10f000",16)},{bit:4,factor:new E.default("ffcb9843d60f7000",16)},{bit:5,factor:new E.default("ff973b41fa98e800",16)},{bit:6,factor:new E.default("ff2ea16466c9b000",16)},{bit:7,factor:new E.default("fe5dee046a9a3800",16)},{bit:8,factor:new E.default("fcbe86c7900bb000",16)},{bit:9,factor:new E.default("f987a7253ac65800",16)},{bit:10,factor:new E.default("f3392b0822bb6000",16)},{bit:11,factor:new E.default("e7159475a2caf000",16)},{bit:12,factor:new E.default("d097f3bdfd2f2000",16)},{bit:13,factor:new E.default("a9f746462d9f8000",16)},{bit:14,factor:new E.default("70d869a156f31c00",16)},{bit:15,factor:new E.default("31be135f97ed3200",16)},{bit:16,factor:new E.default("9aa508b5b85a500",16)},{bit:17,factor:new E.default("5d6af8dedc582c",16)},{bit:18,factor:new E.default("2216e584f5fa",16)}];var lt=3,xo=100;var Ko=10,Co=100,Nt=14;var j=new E.default(0),Qe=new E.default(1),Wm=new E.default(-1);var qm=new E.default("18446744073700000000");var pr=c([F(8),u("bump"),ee("index"),r("owner"),Q("protocolFeeRate"),Q("tradeFeeRate"),ee("tickSpacing"),Q("fundFeeRate"),m(Q(),1),r("fundOwner"),m(e(),3)]),fr=c([Q("blockTimestamp"),Ue("tickCumulative"),m(e(),4)]),Ro=c([F(8),me("initialized"),e("recentEpoch"),ee("observationIndex"),r("poolId"),m(fr,xo,"observations"),m(e(),4)]),yr=c([ee("filterPeriod"),ee("decayPeriod"),ee("reductionFactor"),Q("dynamicFeeControl"),Q("maxVolatilityAccumulator"),pe("tickSpacingIndexReference"),Q("volatilityReference"),Q("volatilityAccumulator"),e("lastUpdateTimestamp"),m(u(),46)]),br=c([u("state"),e("openTime"),e("endTime"),e("lastUpdateTime"),N("emissionsPerSecondX64"),e("totalEmissioned"),e("claimed"),r("mint"),r("vault"),r("creator"),N("growthGlobalX64")]),gn=c([F(8),u("bump"),r("configId"),r("creator"),r("mintA"),r("mintB"),r("vaultA"),r("vaultB"),r("observationId"),u("mintDecimalsA"),u("mintDecimalsB"),ee("tickSpacing"),N("liquidity"),N("sqrtPriceX64"),pe("tickCurrent"),Q(),N("feeGrowthGlobalX64A"),N("feeGrowthGlobalX64B"),e("protocolFeesTokenA"),e("protocolFeesTokenB"),m(N(),4),u("status"),u("feeOn"),F(6),m(br,lt,"rewardInfos"),F(8*16,"tickArrayBitmap"),m(e(),4),e("fundFeesTokenA"),e("fundFeesTokenB"),e("startTime"),e("recentEpoch"),yr.replicate("dynamicFeeInfo"),m(e(),46)]),gr=c([N("growthInsideLastX64"),e("rewardAmountOwed")]),Pr=c([F(8),u("bump"),r("nftMint"),r("poolId"),pe("tickLower"),pe("tickUpper"),N("liquidity"),N("feeGrowthInsideLastX64A"),N("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),m(gr,lt,"rewardInfos"),e("recentEpoch"),m(e(),7)]),Ym=c([F(8),u("bump"),r("poolId"),pe("tickLower"),pe("tickUpper"),N("liquidity"),N("feeGrowthInsideLastX64A"),N("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),m(N(),lt,"rewardGrowthInside"),e("recentEpoch"),m(e(),7)]),Ar=c([pe("tick"),io("liquidityNet"),N("liquidityGross"),N("feeGrowthOutsideX64A"),N("feeGrowthOutsideX64B"),m(N(),lt,"rewardGrowthsOutsideX64"),e("orderPhase"),e("ordersAmount"),e("partFilledOrdersRemaining"),N("unfilledRatioX64"),m(Q(),3)]),Lo=c([F(8),r("poolId"),pe("startTickIndex"),m(Ar,bn,"ticks"),u("initializedTickCount"),e("recentEpoch"),m(u(),107)]),wr=c([F(8),u("bump"),m(r(),Ko,"operationOwners"),m(r(),Co,"whitelistMints")]),kr=c([F(8),r("poolId"),r("owner"),pe("tick"),me("zeroForOne"),e("orderPhase"),e("totalAmount"),e("filledAmount"),e("settleBase"),e("settleOutput"),e("openTime"),N("unfilledRatioX64"),m(e(),4)]),Oo=c([F(8),r("poolId"),F(8*8*Nt,"positiveTickArrayBitmap"),F(8*8*Nt,"negativeTickArrayBitmap")]),Xm=c([F(8),ee("index"),ee("filterPeriod"),ee("decayPeriod"),ee("reductionFactor"),Q("dynamicFeeControl"),Q("maxVolatilityAccumulator"),m(e(),8)]),Tr=c([F(8),r("wallet"),u("nonceIndex"),e("orderNonce"),m(e(),4)]),Qm=c([e(),u("bump"),r("owner"),r("poolId"),r("positionId"),r("n