UNPKG

@raydium-io/raydium-sdk-v2

Version:

An SDK for building applications on top of Raydium.

2 lines 78.8 kB
var yi=Object.create;var $e=Object.defineProperty,bi=Object.defineProperties,gi=Object.getOwnPropertyDescriptor,Pi=Object.getOwnPropertyDescriptors,Ai=Object.getOwnPropertyNames,bt=Object.getOwnPropertySymbols,wi=Object.getPrototypeOf,Zt=Object.prototype.hasOwnProperty,En=Object.prototype.propertyIsEnumerable;var _n=(o,n,t)=>n in o?$e(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)&&_n(o,t,n[t]);if(bt)for(var t of bt(n))En.call(n,t)&&_n(o,t,n[t]);return o},q=(o,n)=>bi(o,Pi(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&&bt)for(var i of bt(o))n.indexOf(i)<0&&En.call(o,i)&&(t[i]=o[i]);return t};var ki=(o,n)=>{for(var t in n)$e(o,t,{get:n[t],enumerable:!0})},Dn=(o,n,t,i)=>{if(n&&typeof n=="object"||typeof n=="function")for(let a of Ai(n))!Zt.call(o,a)&&a!==t&&$e(o,a,{get:()=>n[a],enumerable:!(i=gi(n,a))||i.enumerable});return o};var f=(o,n,t)=>(t=o!=null?yi(wi(o)):{},Dn(n||!o||!o.__esModule?$e(t,"default",{value:o,enumerable:!0}):t,o)),Ti=o=>Dn($e({},"__esModule",{value:!0}),o);var su={};ki(su,{BN_100:()=>Js,BN_1000:()=>eu,BN_10000:()=>tu,BN_FIVE:()=>$s,BN_TEN:()=>Ke,BN_THREE:()=>js,BN_TWO:()=>Hs,ceilDiv:()=>Sn,decimalToFraction:()=>ru,divCeil:()=>Yo,floorDiv:()=>Ho,isDecimal:()=>au,parseNumberInfo:()=>Me,shakeFractionDecimal:()=>di,tenExponential:()=>Nt,toBN:()=>pi,toFraction:()=>vn,toPercent:()=>nu,toTokenPrice:()=>ou,toTotalPrice:()=>iu,toUsdCurrency:()=>Fn});module.exports=Ti(su);var H=f(require("bn.js")),mi=f(require("decimal.js"));var ci=f(require("big.js")),Ie=f(require("bn.js"));var Je=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}},Wn={},hi={};function V(o){let n=(0,Je.get)(Wn,o);if(!n){let t=(0,Je.get)(hi,o);n=new Ht({name:o,logLevel:t}),(0,Je.set)(Wn,o,n)}return n}var qn=require("@solana/web3.js");var gt=require("@solana/spl-token"),jt=V("Raydium_accountInfo_util");async function Te(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(x=>{let L=o._buildArgs([x.map(K=>K.toBase58())],a,"base64");return{methodName:"getMultipleAccounts",args:L}}),h=$t(y,10);p=(await(await Promise.all(h.map(async x=>await o._rpcBatchRequest(x)))).flat()).map(x=>(x.error&&jt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${x.error.message}`),x.result.value.map(L=>{if(L){let{data:K,executable:v,lamports:A,owner:I,rentEpoch:S}=L;return K.length!==2&&K[1]!=="base64"&&jt.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(K[0],"base64"),executable:v,lamports:A,owner:new qn.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 Ve=f(require("bn.js"));var Un=9007199254740991;function Z(o){let n=V("Raydium_parseBigNumberish");if(o instanceof Ve.default)return o;if(typeof o=="string"){if(o.match(/^-?[0-9]+$/))return new Ve.default(o);n.logWithError(`invalid BigNumberish string: ${o}`)}return typeof o=="number"?(o%1&&n.logWithError(`BigNumberish number underflow: ${o}`),(o>=Un||o<=-Un)&&n.logWithError(`BigNumberish number overflow: ${o}`),new Ve.default(String(o))):typeof o=="bigint"?new Ve.default(o.toString()):(n.error(`invalid BigNumberish value: ${o}`),new Ve.default(0))}var Qs=require("lodash");var Bi=f(require("axios"));var Gn={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"},Ii=q(R({},Gn),{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 Xu=V("Raydium_Api");var so=require("@solana/web3.js");var Ct=require("@solana/spl-token");var U=require("@solana/web3.js"),Qn=f(require("axios"));var de=require("@solana/web3.js");async function Jt({connection:o,address:n,cluster:t="mainnet"}){let i=await Te(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"?Ee[p.toString()]=y:_e[p.toString()]=y}return a}var _e={},en=async o=>{let n="AcL1Vo8oy1ULiavEcjSUcwfBSForXMudcZvDZy5nzJkU";if(_e[n])return _e;let t=new de.PublicKey(n),i=await o.getAccountInfo(t);return i&&(_e[n]=new de.AddressLookupTableAccount({key:t,state:de.AddressLookupTableAccount.deserialize(i.data)})),_e},Ee={},tn=async o=>{let n="EFhMuDw1PKEuckuFRW9PavNfTH4LKP5uKHgyXDmWpFCq";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};var ee={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"),zn=V("Raydium_txUtil"),Yn=1644;function Pt(o){let n=[],t=[];return o.microLamports&&(n.push(ie.ComputeBudgetProgram.setComputeUnitPrice({microLamports:o.microLamports})),t.push(ee.SetComputeUnitPrice)),o.units&&(n.push(ie.ComputeBudgetProgram.setComputeUnitLimit({units:o.units})),t.push(ee.SetComputeUnitLimit)),{instructions:n,instructionTypes:t}}async function De(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 At(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&&zn.logWithError(`no instructions provided: ${o.toString()}`),n.length<1&&zn.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<Yn}catch{return!1}}function ge(o,n){let[t,i]=ie.PublicKey.findProgramAddressSync(o,n);return{publicKey:t,nonce:i}}function tt({instructions:o,payer:n,signers:t}){return nn(o,[n,...t])}function nt({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<Yn}catch{return!1}}var Si=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=Si(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 wt=2e3,kt=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 Qn.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}=Pt(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(ee.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(q(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 De(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 x=await this.signAllTransactions([t]);if(this.signers.length)for(let L of x)try{L.sign(...this.signers)}catch{}return{txId:y?"":await this.connection.sendRawTransaction(x[0].serialize(),{skipPreflight:d}),signedTx:x[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(x=>x.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:x,onTxUpdate:L,skipTxCount:K=0,recentBlockHash:v,skipPreflight:A=!0}=b||{},I=v!=null?v:await De(this.connection,this.blockhashCommitment);if((S=this.owner)!=null&&S.isKeyPair){if(x){let B=[],E=0;for(let D of d){if(++E,E<=K)continue;let g=await(0,U.sendAndConfirmTransaction)(this.connection,D,this.signers.find(w=>w.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:A});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:A})))),signedTxs:d}}if(this.signAllTransactions){let B=d.map((D,g)=>(D.recentBlockhash=I,p[g].length&&D.sign(...p[g]),D));Ce(B);let E=await this.signAllTransactions(B);if(x){let D=0,g=[],w=async()=>{if(!E[D])return;let k=await this.connection.sendRawTransaction(E[D].serialize(),{skipPreflight:A});g.push({txId:k,status:"sent",signedTx:E[D]}),L==null||L([...g]),D++;let C=!1,O=null,W=null,ce=X=>{O!==null&&clearInterval(O),W!==null&&this.connection.removeSignatureListener(W);let G=g.findIndex(oe=>oe.txId===k);if(G>-1){if(g[G].status==="error"||g[G].status==="success")return;g[G].status=X.err?"error":"success"}L==null||L([...g]),X.err||w()};this.loopMultiTxStatus&&(O=setInterval(async()=>{var X;if(C){clearInterval(O);return}try{let G=await this.connection.getTransaction(k,{commitment:"confirmed",maxSupportedTransactionVersion:0});G&&(C=!0,clearInterval(O),ce({err:((X=G.meta)==null?void 0:X.err)||null}),console.log("tx status from getTransaction:",k))}catch(G){C=!0,clearInterval(O),console.error("getTransaction timeout:",G,k)}},wt)),W=this.connection.onSignature(k,X=>{if(C){this.connection.removeSignatureListener(W);return}C=!0,ce(X)},"confirmed"),this.connection.getSignatureStatus(k)};return await w(),{txIds:g.map(k=>k.txId),signedTxs:E}}else{let D=[];for(let g=0;g<E.length;g+=1){let w=await this.connection.sendRawTransaction(E[g].serialize(),{skipPreflight:A});D.push(w)}return{txIds:D,signedTxs:E}}}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 A;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 x=a?U.PublicKey.default.toBase58():l!=null?l:await De(this.connection,this.blockhashCommitment),L=new U.TransactionMessage({payerKey:this.feePayer,recentBlockhash:x,instructions:[...this.allInstructions]}).compileToV0Message(Object.values(p));((A=this.owner)==null?void 0:A.signer)&&!this.signers.some(I=>I.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer);let K=new U.VersionedTransaction(L);return K.sign(this.signers),{builder:this,transaction:K,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async I=>{var D;let{skipPreflight:S=!0,sendAndConfirm:B,notSendToRpc:E}=I||{};if(Ce([K]),(D=this.owner)!=null&&D.isKeyPair){let g=await this.connection.sendTransaction(K,{skipPreflight:S});return B&&await At(this.connection,g),{txId:g,signedTx:K}}if(this.signAllTransactions){let g=await this.signAllTransactions([K]);if(this.signers.length)for(let w of g)try{w.sign(this.signers)}catch{}return{txId:E?"":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(x=>x.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),d.forEach(async(b,x)=>{b.sign(p[x])}),{builder:this,transactions:d,signers:p,instructionTypes:y,buildProps:i,execute:async b=>{var A;let{sequentially:x,onTxUpdate:L,recentBlockHash:K,skipPreflight:v=!0}=b||{};if(K&&d.forEach(I=>I.message.recentBlockhash=K),Ce(d),(A=this.owner)!=null&&A.isKeyPair){if(x){let I=[];for(let S of d){let B=await this.connection.sendTransaction(S,{skipPreflight:v});await At(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(x){let S=0,B=[],E=async()=>{if(!I[S])return;let D=await this.connection.sendTransaction(I[S],{skipPreflight:v});B.push({txId:D,status:"sent",signedTx:I[S]}),L==null||L([...B]),S++;let g=!1,w=null,k=null,C=O=>{w!==null&&clearInterval(w),k!==null&&this.connection.removeSignatureListener(k);let W=B.findIndex(ce=>ce.txId===D);if(W>-1){if(B[W].status==="error"||B[W].status==="success")return;B[W].status=O.err?"error":"success"}L==null||L([...B]),O.err||E()};this.loopMultiTxStatus&&(w=setInterval(async()=>{var O;if(g){clearInterval(w);return}try{let W=await this.connection.getTransaction(D,{commitment:"confirmed",maxSupportedTransactionVersion:0});W&&(g=!0,clearInterval(w),C({err:((O=W.meta)==null?void 0:O.err)||null}),console.log("tx status from getTransaction:",D))}catch(W){g=!0,clearInterval(w),console.error("getTransaction timeout:",W,D)}},wt)),k=this.connection.onSignature(D,O=>{if(g){this.connection.removeSignatureListener(k);return}g=!0,C(O)},"confirmed"),this.connection.getSignatureStatus(D)};return E(),{txIds:[],signedTxs:I}}else{let S=[];for(let B=0;B<I.length;B+=1){let E=await this.connection.sendTransaction(I[B],{skipPreflight:v});S.push(E)}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 x=n||{},{splitIns:t=[],computeBudgetConfig:i}=x,a=be(x,["splitIns","computeBudgetConfig"]),l=i?Pt(i):{instructions:[],instructionTypes:[]},d=this.signers.reduce((K,v)=>q(R({},K),{[v.publicKey.toBase58()]:v}),{}),p=[],y=[],h=[],b=0;if(this.allInstructions.forEach(K=>{let v=[...h,K],A=i?[...l.instructions,...v]:v,S=[...new Set(v.map(B=>B.keys.filter(E=>E.isSigner).map(E=>E.pubkey.toString())).flat()).values()].map(B=>new U.PublicKey(B));if(K!==t[b]&&h.length<12&&(tt({instructions:A,payer:this.feePayer,signers:S})||tt({instructions:v,payer:this.feePayer,signers:S})))h.push(K);else{if(h.length===0)throw Error("item ins too big");b+=K===t[b]?1:0,tt({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(E=>E.isSigner).map(E=>E.pubkey.toString())).flat())).map(B=>d[B]).filter(B=>B!==void 0)),h=[K]}}),h.length>0){let v=[...new Set(h.map(A=>A.keys.filter(I=>I.isSigner).map(I=>I.pubkey.toString())).flat()).values()].map(A=>d[A]).filter(A=>A!==void 0);tt({instructions:i?[...l.instructions,...h]:[...h],payer:this.feePayer,signers:v.map(A=>A.publicKey)})?p.push(new U.Transaction().add(...l.instructions,...h)):p.push(new U.Transaction().add(...h)),y.push(v)}return p.forEach(K=>K.feePayer=this.feePayer),(L=this.owner)!=null&&L.signer&&y.forEach(K=>{K.some(v=>v.publicKey.equals(this.owner.publicKey))||K.push(this.owner.signer)}),{builder:this,transactions:p,signers:y,instructionTypes:this.instructionTypes,execute:async K=>{var D;let{sequentially:v,onTxUpdate:A,skipTxCount:I=0,recentBlockHash:S,skipPreflight:B=!0}=K||{},E=S!=null?S:await De(this.connection,this.blockhashCommitment);if(p.forEach(async(g,w)=>{g.recentBlockhash=E,y[w].length&&g.sign(...y[w])}),Ce(p),(D=this.owner)!=null&&D.isKeyPair){if(v){let g=0,w=[];for(let k of p){if(++g,g<=I){w.push("tx skipped");continue}let C=await(0,U.sendAndConfirmTransaction)(this.connection,k,this.signers.find(O=>O.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:B});w.push(C)}return{txIds:w,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)),w=[...p.slice(0,I),...g];if(v){let k=0,C=[],O=async()=>{if(!w[k])return;k<I&&(C.push({txId:"",status:"success",signedTx:w[k]}),A==null||A([...C]),k++,O());let W=await this.connection.sendRawTransaction(w[k].serialize(),{skipPreflight:B});C.push({txId:W,status:"sent",signedTx:w[k]}),A==null||A([...C]),k++;let ce=!1,X=null,G=null,oe=Y=>{X!==null&&clearInterval(X),G!==null&&this.connection.removeSignatureListener(G);let ae=C.findIndex(we=>we.txId===W);if(ae>-1){if(C[ae].status==="error"||C[ae].status==="success")return;C[ae].status=Y.err?"error":"success"}A==null||A([...C]),Y.err||O()};this.loopMultiTxStatus&&(X=setInterval(async()=>{var Y;if(ce){clearInterval(X);return}try{let ae=await this.connection.getTransaction(W,{commitment:"confirmed",maxSupportedTransactionVersion:0});ae&&(ce=!0,clearInterval(X),oe({err:((Y=ae.meta)==null?void 0:Y.err)||null}),console.log("tx status from getTransaction:",W))}catch(ae){ce=!0,clearInterval(X),console.error("getTransaction timeout:",ae,W)}},wt)),G=this.connection.onSignature(W,Y=>{if(ce){this.connection.removeSignatureListener(G);return}ce=!0,oe(Y)},"confirmed"),this.connection.getSignatureStatus(W)};return await O(),{txIds:C.map(W=>W.txId),signedTxs:w}}else{let k=[];for(let C=0;C<w.length;C+=1){let O=await this.connection.sendRawTransaction(w[C].serialize(),{skipPreflight:B});k.push(O)}return{txIds:k,signedTxs:w}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:a||{}}}async sizeCheckBuildV0(n){var D;let E=n||{},{computeBudgetConfig:t,splitIns:i=[],lookupTableCache:a={},lookupTableAddress:l=[],insCountLimit:d=12}=E,p=be(E,["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 x=await Jt({connection:this.connection,address:b});for(let[g,w]of Object.entries(x))y[g]=w;let L=t?Pt(t):{instructions:[],instructionTypes:[]},K=await De(this.connection,this.blockhashCommitment),v=this.signers.reduce((g,w)=>q(R({},g),{[w.publicKey.toBase58()]:w}),{}),A=[],I=[],S=[],B=0;if(this.allInstructions.forEach(g=>{let w=[...S,g],k=t?[...L.instructions,...w]:w;if(g!==i[B]&&S.length<d&&(nt({instructions:k,payer:this.feePayer,lookupTableAddressAccount:y})||nt({instructions:w,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&&nt({instructions:[...L.instructions,...S],payer:this.feePayer,lookupTableAddressAccount:y,recentBlockhash:K})){let O=new U.TransactionMessage({payerKey:this.feePayer,recentBlockhash:K,instructions:[...L.instructions,...S]}).compileToV0Message(Object.values(y));A.push(new U.VersionedTransaction(O))}else{let O=new U.TransactionMessage({payerKey:this.feePayer,recentBlockhash:K,instructions:[...S]}).compileToV0Message(Object.values(y));A.push(new U.VersionedTransaction(O))}I.push(Array.from(new Set(S.map(O=>O.keys.filter(W=>W.isSigner).map(W=>W.pubkey.toString())).flat())).map(O=>v[O]).filter(O=>O!==void 0)),S=[g]}}),S.length>0){let w=[...new Set(S.map(k=>k.keys.filter(C=>C.isSigner).map(C=>C.pubkey.toString())).flat()).values()].map(k=>v[k]).filter(k=>k!==void 0);if(t&&nt({instructions:[...L.instructions,...S],payer:this.feePayer,lookupTableAddressAccount:y,recentBlockhash:K})){let k=new U.TransactionMessage({payerKey:this.feePayer,recentBlockhash:K,instructions:[...L.instructions,...S]}).compileToV0Message(Object.values(y));A.push(new U.VersionedTransaction(k))}else{let k=new U.TransactionMessage({payerKey:this.feePayer,recentBlockhash:K,instructions:[...S]}).compileToV0Message(Object.values(y));A.push(new U.VersionedTransaction(k))}I.push(w)}return(D=this.owner)!=null&&D.signer&&I.forEach(g=>{g.some(w=>w.publicKey.equals(this.owner.publicKey))||g.push(this.owner.signer)}),A.forEach((g,w)=>{g.sign(I[w])}),{builder:this,transactions:A,buildProps:n,signers:I,instructionTypes:this.instructionTypes,execute:async g=>{var ce;let{sequentially:w,onTxUpdate:k,skipTxCount:C=0,recentBlockHash:O,skipPreflight:W=!0}=g||{};if(A.map(async(X,G)=>{I[G].length&&X.sign(I[G]),O&&(X.message.recentBlockhash=O)}),Ce(A),(ce=this.owner)!=null&&ce.isKeyPair){if(w){let X=0,G=[];for(let oe of A){if(++X,X<=C){console.log("skip tx: ",X),G.push("tx skipped");continue}let Y=await this.connection.sendTransaction(oe,{skipPreflight:W});await At(this.connection,Y),G.push(Y)}return{txIds:G,signedTxs:A}}return{txIds:await Promise.all(A.map(async X=>await this.connection.sendTransaction(X,{skipPreflight:W}))),signedTxs:A}}if(this.signAllTransactions){let X=await this.signAllTransactions(A.slice(C,A.length)),G=[...A.slice(0,C),...X];if(w){let oe=0,Y=[],ae=async()=>{if(!G[oe])return;if(oe<C){Y.push({txId:"",status:"success",signedTx:G[oe]}),k==null||k([...Y]),oe++,ae();return}let we=await this.connection.sendTransaction(G[oe],{skipPreflight:W});Y.push({txId:we,status:"sent",signedTx:G[oe]}),k==null||k([...Y]),oe++;let je=!1,ve=null,yt=null,Vn=xe=>{ve!==null&&clearInterval(ve),yt!==null&&this.connection.removeSignatureListener(yt);let ke=Y.findIndex(fi=>fi.txId===we);if(ke>-1){if(Y[ke].status==="error"||Y[ke].status==="success")return;Y[ke].status=xe.err?"error":"success"}k==null||k([...Y]),xe.err||ae()};this.loopMultiTxStatus&&(ve=setInterval(async()=>{var xe;if(je){clearInterval(ve);return}try{let ke=await this.connection.getTransaction(we,{commitment:"confirmed",maxSupportedTransactionVersion:0});ke&&(je=!0,clearInterval(ve),Vn({err:((xe=ke.meta)==null?void 0:xe.err)||null}),console.log("tx status from getTransaction:",we))}catch(ke){je=!0,clearInterval(ve),console.error("getTransaction timeout:",ke,we)}},wt)),yt=this.connection.onSignature(we,xe=>{if(je){this.connection.removeSignatureListener(yt);return}je=!0,Vn(xe)},"confirmed"),this.connection.getSignatureStatus(we)};return ae(),{txIds:[],signedTxs:G}}else{let oe=[];for(let Y=0;Y<G.length;Y+=1){let ae=await this.connection.sendTransaction(G[Y],{skipPreflight:W});oe.push(ae)}return{txIds:oe,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 kt({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 ro=require("@solana/web3.js"),Oi=f(require("bn.js"));var xt=require("@solana/spl-token");var Zn=require("@solana/web3.js"),rn=require("@solana/spl-token"),Tt={chainId:101,address:Zn.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"}},Pe={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 io=require("@solana/web3.js"),Ri=f(require("bn.js"));var Li=require("@solana/spl-token");var eo=require("@solana/web3.js"),We=f(require("bn.js"));var P=require("@solana/buffer-layout"),ht=P.Layout,Hn=P.Structure;var an=P.UInt;var jn=P.u8,J=P.u16;var It=P.u32;var pe=P.s32;var $n=P.seq;var F=P.blob;var sn=P.bits,Jn=P.offset;var Le=class extends ht{constructor(t,i,a){super(t,a);this.blob=F(t),this.signed=i}decode(t,i=0){let a=new We.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 We.default(t)),this.signed&&(t=t.toTwos(this.span*8)),this.blob.encode(t.toArrayLike(Buffer,"le",this.span),i,a)}},Bt=class extends ht{constructor(t){super(8,t);this._lower=sn(It(),!1),this._upper=sn(It(),!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 to(o){return new Le(1,!0,o)}function qe(o){return new Le(8,!0,o)}function no(o){return new Le(16,!0,o)}var ot=class extends ht{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 ot(F(32),n=>new eo.PublicKey(n),n=>n.toBuffer(),o)}function me(o){return new ot(jn(),xi,Ci,o)}function xi(o){if(o===0)return!1;if(o===1)return!0;throw new Error("Invalid bool: "+o)}function Ci(o){return o?1:0}function oo(o,n){let t=It("length"),i=c([t,m(o,Jn(t,-t.span),"values")]);return new ot(i,({values:a})=>a,a=>({values:a}),n)}var un=class extends Hn{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,We.isBN)(n)?n.toNumber():new Proxy(n,{get(l,d){if(!i){let p=Reflect.get(l,"count");i=(0,We.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 $n(o,a,t)}var St=c([r("mint"),r("owner"),e("amount"),Q("delegateOption"),r("delegate"),u("state"),Q("isNativeOption"),e("isNative"),e("delegatedAmount"),Q("closeAuthorityOption"),r("closeAuthority")]);var Uo=require("@solana/web3.js"),Fa=require("@solana/spl-token");var Mi=require("@solana/web3.js"),Fi=require("@solana/spl-token");var T=require("@solana/web3.js"),uo=new T.PublicKey("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),co=new T.PublicKey("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),lo=new T.PublicKey("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),cn=new T.PublicKey("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),yl=new T.PublicKey("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),vi=new T.PublicKey("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),mo=new T.PublicKey("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),po=new T.PublicKey("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),bl=new T.PublicKey("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),Vi=new T.PublicKey("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),fo=new T.PublicKey("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),_i=new T.PublicKey("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Ei=new T.PublicKey("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),yo=new T.PublicKey("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),gl=new T.PublicKey("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Di=new T.PublicKey("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),ln=new T.PublicKey("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),Wi=new T.PublicKey("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),Pl=new T.PublicKey("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),qi=new T.PublicKey("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Ui=new T.PublicKey("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),Gi=new T.PublicKey("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),Al=new T.PublicKey("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),wl=new T.PublicKey("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),kl=new T.PublicKey("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),Tl=new T.PublicKey("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),hl=new T.PublicKey("6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX");var Be={OPEN_BOOK_PROGRAM:new T.PublicKey("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),SERUM_PROGRAM_ID_V3:new T.PublicKey("Ray1111111111111111111111111111111111111111"),AMM_V4:new T.PublicKey("DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav"),AMM_STABLE:new T.PublicKey("DRayDdXc1NZQ9C3hRWmoSf8zK4iapgMnjdNZWrfwsP8m"),CLMM_PROGRAM_ID:new T.PublicKey("DRayAUgENGQBKVaX8owNhgzkEDyoHTGVEGHVJT1E9pfH"),CLMM_LOCK_PROGRAM_ID:new T.PublicKey("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),CLMM_LOCK_AUTH_ID:new T.PublicKey("6Aoh8h2Lw2m5UGxYR8AdAL87jTWYeKoxM52mJRzfYwN"),CREATE_CPMM_POOL_PROGRAM:new T.PublicKey("DRaycpLY18LhpbydsBWbVJtxpNv9oXPgjRSfpF2bWpYb"),CREATE_CPMM_POOL_AUTH:new T.PublicKey("CXniRufdq5xL8t8jZAPxsPZDpuudwuJSPWnbcD5Y5Nxq"),CREATE_CPMM_POOL_FEE_ACC:new T.PublicKey("3oE58BKVt8KuYkGxx8zBojugnymWmBiyafWgMrnb6eYy"),LOCK_CPMM_PROGRAM:new T.PublicKey("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),LOCK_CPMM_AUTH:new T.PublicKey("7qWVV8UY2bRJfDLP4s37YzBPKUkVB46DStYJBpYbQzu3"),UTIL1216:T.PublicKey.default,Router:new T.PublicKey("DRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd"),FARM_PROGRAM_ID_V3:new T.PublicKey("DRayWyrLmEW5KEeqs8kdTMMaBabapqagaBC7KWpGtJeZ"),FARM_PROGRAM_ID_V4:new T.PublicKey("Ray1111111111111111111111111111111111111111"),FARM_PROGRAM_ID_V5:new T.PublicKey("DRayiCGSZgku1GTK6rXD6mVDdingXy6APAH1R6R5L2LC"),FARM_PROGRAM_ID_V6:new T.PublicKey("DRayzbYakXs45ELHkzH6vC3fuhQqTAnv5A68gdFuvZyZ"),LAUNCHPAD_PROGRAM:new T.PublicKey("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),LAUNCHPAD_AUTH:new T.PublicKey("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),LAUNCHPAD_PLATFORM:new T.PublicKey("2Jx4KTDrVSdWNazuGpcA8n3ZLTRGGBDxAWhuKe2Xcj2a"),LAUNCHPAD_CONFIG:new T.PublicKey("7ZR4zD7PYfY2XxoG1Gxcy2EgEeGYrpxrwzPuwdUBssEt"),FEE_DESTINATION_ID:new T.PublicKey("9y8ENuuZ3b19quffx9hQvRVygG5ky6snHfRvGpuSfeJy"),MODEL_DATA_PUBKEY:new T.PublicKey("Ray1111111111111111111111111111111111111111")};var z=require("@solana/web3.js"),bo=require("@solana/spl-token");function Ue({pubkey:o,isSigner:n=!1,isWritable:t=!0}){return{pubkey:o,isWritable:t,isSigner:n}}var zi=[Ue({pubkey:bo.TOKEN_PROGRAM_ID,isWritable:!1}),Ue({pubkey:z.SystemProgram.programId,isWritable:!1}),Ue({pubkey:z.SYSVAR_RENT_PUBKEY,isWritable:!1})];function go({publicKey:o,transformSol:n}){let t=Po(o.toString());if(t instanceof z.PublicKey)return n&&t.equals(Oe)?he:t;if(n&&t.toString()===Oe.toBase58())return he;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 Po(o){try{return new z.PublicKey(o)}catch{return o}}var mn=new z.PublicKey("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),it=new z.PublicKey("SysvarRent111111111111111111111111111111111"),Sl=new z.PublicKey("SysvarC1ock11111111111111111111111111111111"),Rt=new z.PublicKey("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),Xi=new z.PublicKey("Sysvar1nstructions1111111111111111111111111"),Yi=z.SystemProgram.programId,Kl=new z.PublicKey("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),xl=new z.PublicKey("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Cl=new z.PublicKey("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),Rl=new z.PublicKey("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Ll=new z.PublicKey("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Ol=new z.PublicKey("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),Nl=new z.PublicKey("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),Ml=new z.PublicKey("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),Fl=new z.PublicKey("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),vl=new z.PublicKey("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Vl=new z.PublicKey("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),he=new z.PublicKey("So11111111111111111111111111111111111111112"),Oe=z.PublicKey.default;var va=f(require("decimal.js"));var Tn=require("@solana/spl-token"),jr=require("@solana/web3.js"),$r=f(require("bn.js")),Jr=f(require("decimal.js"));var er=require("@solana/spl-token"),tr=require("@solana/web3.js");var Lt=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 Lt.PublicKey&&Oe.equals(n)){this.decimals=Pe.decimals,this.symbol=Pe.symbol,this.name=Pe.name,this.mint=new Lt.PublicKey(Pe.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?Lt.PublicKey.default:go({publicKey:n}),this.isToken2022=d}equals(n){return this===n?!0:this.mint.equals(n.mint)}},te=dn;te.WSOL=new dn(q(R({},Pe),{mint:Pe.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}},rt=pn;rt.SOL=new pn(Tt);var Ao=f(require("toformat")),Qi=Ao.default,at=Qi;var st=f(require("big.js")),wo=f(require("bn.js")),ko=f(require("decimal.js-light"));var Ot=V("module/fraction"),fn=at(st.default),ut=at(ko.default),Hi={[0]:ut.ROUND_DOWN,[1]:ut.ROUND_HALF_UP,[2]:ut.ROUND_UP},ji={[0]:st.default.roundDown,[1]:st.default.roundHalfUp,[2]:st.default.roundUp},M=class{constructor(n,t=new wo.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)||Ot.logWithError(`${n} is not an integer.`),n<=0&&Ot.logWithError(`${n} is not positive.`),ut.set({precision:n+1,rounding:Hi[i]});let a=new ut(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)||Ot.logWithError(`${n} is not an integer.`),n<0&&Ot.logWithError(`${n} is negative.`),fn.DP=n,fn.RM=ji[i]||1,new fn(this.numerator.toString()).div(this.denominator.toString()).toFormat(n,t)}isZero(){return this.numerator.isZero()}};var ho=f(require("bn.js"));var To=new M(new ho.default(100)),fe=class extends M{toSignificant(n=5,t,i){return this.mul(To).toSignificant(n,t,i)}toFixed(n=2,t,i){return this.mul(To).toFixed(n,t,i)}};var $i=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(Nt(i.decimals),Nt(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&&$i.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 Ji=c([Q("mintAuthorityOption"),r("mintAuthority"),e("supply"),u("decimals"),u("isInitialized"),Q("freezeAuthorityOption"),r("freezeAuthority")]);var wn=require("@solana/spl-token"),Et=require("@solana/web3.js"),Qr=f(require("bn.js"));var _=f(require("bn.js")),Ge=new _.default(1).shln(64);var nr=new _.default(1).shln(128),yn=new _.default(1).shln(64).subn(1),or=new _.default(1).shln(128).subn(1);var ze=new _.default("4295048016"),Xe=new _.default("79226673521066979257578248091"),ir=new _.default("59543866431248"),rr=new _.default("184467440737095516"),ar=new _.default("15793534762490258745");var bn=60,xm=new _.default("18446743708227953217"),sr=[{bit:0,factor:new _.default("fffcb933bd6fb800",16)},{bit:1,factor:new _.default("fff97272373d4000",16)},{bit:2,factor:new _.default("fff2e50f5f657000",16)},{bit:3,factor:new _.default("ffe5caca7e10f000",16)},{bit:4,factor:new _.default("ffcb9843d60f7000",16)},{bit:5,factor:new _.default("ff973b41fa98e800",16)},{bit:6,factor:new _.default("ff2ea16466c9b000",16)},{bit:7,factor:new _.default("fe5dee046a9a3800",16)},{bit:8,factor:new _.default("fcbe86c7900bb000",16)},{bit:9,factor:new _.default("f987a7253ac65800",16)},{bit:10,factor:new _.default("f3392b0822bb6000",16)},{bit:11,factor:new _.default("e7159475a2caf000",16)},{bit:12,factor:new _.default("d097f3bdfd2f2000",16)},{bit:13,factor:new _.default("a9f746462d9f8000",16)},{bit:14,factor:new _.default("70d869a156f31c00",16)},{bit:15,factor:new _.default("31be135f97ed3200",16)},{bit:16,factor:new _.default("9aa508b5b85a500",16)},{bit:17,factor:new _.default("5d6af8dedc582c",16)},{bit:18,factor:new _.default("2216e584f5fa",16)}];var ct=3,Io=100;var Bo=10,So=100,Mt=14;var j=new _.default(0),Ye=new _.default(1),Cm=new _.default(-1);var Rm=new _.default("18446744073700000000");var ur=c([F(8),u("bump"),J("index"),r("owner"),Q("protocolFeeRate"),Q("tradeFeeRate"),J("tickSpacing"),Q("fundFeeRate"),m(Q(),1),r("fundOwner"),m(e(),3)]),cr=c([Q("blockTimestamp"),qe("tickCumulative"),m(e(),4)]),Ko=c([F(8),me("initialized"),e("recentEpoch"),J("observationIndex"),r("poolId"),m(cr,Io,"observations"),m(e(),4)]),lr=c([J("filterPeriod"),J("decayPeriod"),J("reductionFactor"),Q("dynamicFeeControl"),Q("maxVolatilityAccumulator"),pe("tickSpacingIndexReference"),Q("volatilityReference"),Q("volatilityAccumulator"),e("lastUpdateTimestamp"),m(u(),46)]),mr=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"),J("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(mr,ct,"rewardInfos"),F(8*16,"tickArrayBitmap"),m(e(),4),e("fundFeesTokenA"),e("fundFeesTokenB"),e("startTime"),e("recentEpoch"),lr.replicate("dynamicFeeInfo"),m(e(),46)]),dr=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(dr,ct,"rewardInfos"),e("recentEpoch"),m(e(),7)]),Mm=c([F(8),u("bump"),r("poolId"),pe("tickLower"),pe("tickUpper"),N("liquidity"),N("feeGrowthInsideLastX64A"),N("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),m(N(),ct,"rewardGrowthInside"),e("recentEpoch"),m(e(),7)]),fr=c([pe("tick"),no("liquidityNet"),N("liquidityGross"),N("feeGrowthOutsideX64A"),N("feeGrowthOutsideX64B"),m(N(),ct,"rewardGrowthsOutsideX64"),e("orderPhase"),e("ordersAmount"),e("partFilledOrdersRemaining"),N("unfilledRatioX64"),m(Q(),3)]),xo=c([F(8),r("poolId"),pe("startTickIndex"),m(fr,bn,"ticks"),u("initializedTickCount"),e("recentEpoch"),m(u(),107)]),yr=c([F(8),u("bump"),m(r(),Bo,"operationOwners"),m(r(),So,"whitelistMints")]),br=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)]),Co=c([F(8),r("poolId"),F(8*8*Mt,"positiveTickArrayBitmap"),F(8*8*Mt,"negativeTickArrayBitmap")]),Fm=c([F(8),J("index"),J("filterPeriod"),J("decayPeriod"),J("reductionFactor"),Q("dynamicFeeControl"),Q("maxVolatilityAccumulator"),m(e(),8)]),gr=c([F(8),r("wallet"),u("nonceIndex"),e("orderNonce"),m(e(),4)]),vm=c([e(),u("bump"),r("owner"),r("poolId"),r("positionId"),r("nftAccount"),m(e(),8)]),Pr=c([F(8),u("bump"),r("lockOwner"),r("poolId"),r("positionId"),r("nftAccount"),r("lockNftMint"),e("recentEpoch"),m(e(),8)]);var Ar=f(require("bn.js"));var Qm=Buffer.from("amm_config","utf8"),kr=Buffer.from("pool","utf8"),Tr=Buffer.from("pool_vault","utf8"),Zm=Buffer.from("pool_reward_vault","utf8"),Hm=Buffer.from("position","utf8"),jm=Buffer.from("tick_array","utf8"),$m=Buffer.from("operation","utf8"),Jm=Buffer.from("pool_tick_array_bitmap_extension","utf8"),ed=Buffer.from("observation","utf8"),td=Buffer.from("support_mint","utf8"),nd=Buffer.from("dynamic_fee_config","utf8"),od=Buffer.from("permission","utf8");var id=Buffer.from("locked_position","utf8");var vo=require("js-sha256");var Ro=f(require("bn.js")),hr=f(require("decimal.js"));var sd=new Ro.default(1).shln(256).subn(1);var Sr=f(require("bn.js"));var Ir=f(require("bn.js")),Br=f(require("decimal.js"));var Cr=f(require("bn.js")),Rr=f(require("decimal.js"));var Vr=require("@solana/web3.js"),_r=f(require("bn.js"));var Mo=require("@solana/spl-token");var Er=f(require("decimal.js"));var Mr=f(require("bn.js"));var Or=f(require("bn.js"));var qr=f(require("bn.js"));function ne(o){let n=`global:${o}`;return Buffer.from(vo.sha256.digest(n)).slice(0,8)}Ko.span;var ef=V("Raydium_Clmm"),tf={createPool:ne("create_pool"),createCustomizablePool:ne("create_customizable_pool"),createPermissionedPool:ne("create_permissioned_pool"),openPositionV2:ne("open_position_v2"),openPositionWithToken22Nft:ne("open_position_with_token22_nft"),closePosition:ne("close_position"),increaseLiquidityV2:ne("increase_liquidity_v2"),decreaseLiquidityV2:ne("decrease_liquidity_v2"),initializeReward:ne("initialize_reward"),setRewardParams:ne("set_reward_params"),updateRewardInfos:ne("update_reward_infos"),collectRemainingRewards:ne("collect_remaining_rewards"),swapV2:ne("swap_v2"),openLimitOrder:ne("open_limit_order"),increaseLimitOrder:ne("increase_limit_order"),decreaseLimitOrder:ne("decrease_limit_order"),settleLimitOrder:ne("settle_limit_order"),closeLimitOrder:ne("close_limit_order")};var Dt=require("@solana/web3.js");var ta=c([u("instruction")]),na=c([u("instruction")]),oa=c([e("rewardState"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardLastUpdateTime"),e("totalReward"),e("totalRewardEmissioned"),e("rewardClaimed"),e("rewardPerSecond"),N("accRewardPerShare"),r("rewardVault"),r("rewardMint"),r("rewardSender"),e("rewardType"),m(e(),15,"padding")]),ia=c([e("state"),e("nonce"),r("lpVault"),r("rewardVault"),r(),r(),e(),e(),e("totalReward"),N("perShareReward"),e("lastSlot"),e("perSlotReward")]),ra=c([e("state"),e("nonce"),r("lpVault"),r("rewardVaultA"),e("totalRewardA"),N("perShareRewardA"),e("perSlotRewardA"),u("option"),r("rewardVaultB"),F(7),e("totalRewardB"),N("perShareRewardB"),e("perSlotRewardB"),e("lastSlot"),r()]),aa=c([e(),e("state"),e("nonce"),e("validRewardTokenNum"),N("rewardMultiplier"),e("rewardPeriodMax"),e("rewardPeriodMin"),e("rewardPeriodExtend"),r("lpMint"),r("lpVault"),m(oa,5,"rewardInfos"),r("creator"),r(),m(e(),32,"padding")]),sa=new Proxy(ia,{get(o,n,t){return n==="decode"?(...i)=>{let a=o.decode(...i);return q(R({},a),{version:3,rewardInfos:[{rewardVault:a.rewardVault,totalReward:a.totalReward,perSlotReward:a.perSlotReward,perShareReward:a.perShareReward}]})}:Reflect.get(o,n,t)}}),ua=new Proxy(ra,{get(o,n,t){return n==="decode"?(...i)=>{let a=o.decode(...i);return q(R({},a),{version:5,rewardInfos:[{rewardVault:a.rewardVaultA,totalReward:a.totalRewardA,perSlotReward:a.perSlotRewardA,perShareReward:a.perShareRewardA},{rewardVault:a.rewardVaultB,totalReward:a.totalRewardB,perSlotReward:a.perSlotRewardB,perShareReward:a.perShareRewardB}]})}:Reflect.get(o,n,t)}}),Eo=new Proxy(aa,{get(o,n,t){return n==="decode"?(...i)=>{let a=o.decode(...i);return q(R({},a),{version:6,rewardInfos:a.rewardInfos.map(l=>{var d;return q(R({},l),{rewardType:((d=Object.entries(mt).find(p=>String(p[1])===l.rewardType.toString()))!=null?d:["Standard SPL"])[0]})})})}:Reflect.get(o,n,t)}}),ca=c([e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),la=c([u("instruction"),e("nonce"),m(ca,5,"rewardTimeInfo")]),ma=c([u("instruction"),e("rewardReopenTime"),e("rewardEndTime"),e("rewardPerSecond")]),da=c([u("instruction"),e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),zf=c([e("state"),r("id"),r("owner"),e("deposited"),m(e(),1,"rewardDebts")]),Do=c([e("state"),r("id"),r("owner"),e("deposited"),m(N(),1,"rewardDebts"),e(""),e("voteLockedBalance"),m(e(),15)]),Xf=c([e("state"),r("id"),r("owner"),e("deposited"),m(e(),2,"rewardDebts")]),pa=c([e("state"),r("id"),r("owner"),e("deposited"),m(N(),2,"rewardDebts"),m(e(),17)]),fa=c([e(),e("state"),r("id"),r("owner"),e("deposited"),m(N(),5,"rewardDebts"),m(e(),16)]),ya=c([u("instruction"),e("amount")]),ba=c([r("mint"),r("grantAuthority"),e("baselineVoteWeightScaledFactor"),e("maxExtraLockupVoteWeightScaledFactor"),e("lockupSaturationSecs"),to("digitShift"),m(u(),7,"reserved1"),m(e(),7,"reserved2")]),ga=c([F(8),r("governanceProgramId"),r("realm"),r("realmGoverningTokenMint"),r("realmAuthority"),m(u(),32,"reserved1"),m(ba,4,"votingMints"),qe("timeOffset"),u("bump"),m(u(),7,"reserved2"),m(e(),11,"reserved3")]),Pa=c([qe("startTime"),qe("endTime"),u("kind"),m(u(),15,"reserved")]),Aa=c([m(Pa,1,"lockup"),e("amountDeposited_native"),e("amountInitiallyLockedNative"),me("isUsed"),me("allowClawback"),u("votingMintConfigIdx"),m(u(),29,"reserved")]),wa=c([F(8),r("voterAuthority"),r("registrar"),m(Aa,32,"deposits"),u("voterBump"),u("voterWweightRecordBump"),m(u(),94,"reserved")]);var ka=require("@solana/spl-token"),Jf=V("Raydium_farm_config"),Ta=new Dt.PublicKey("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),ha=new Dt.PublicKey("FrspKwj8i3pNmKwXreTveC4fu7KL5ZbGeXdZBe2XViu1");var ey=new Dt.PublicKey("3TRTX4dXUpp2eqxi3tvQDFYUV7SdDJjcPE3Y4mbtftaX");var mt={"Standard SPL":0,"Option tokens":1},Wo={[uo.toString()]:3,[co.toString()]:4,[lo.toString()]:5,[cn.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};var dt=require("@solana/web3.js"),Ca=f(require("bn.js")),In=require("@solana/spl-token");var xa=f(require("bn.js"));var Ia=require("@solana/web3.js"),Ba=f(require("bn.js"));var ky=V("Raydium.farm.util");var Wy=V("Raydium_farm_instruction"),qy={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])};var Va=f(require("bn.js"));var ms=require("@solana/web3.js"),Ut=require("@solana/spl-token");var _a=f(require("bn.js"));var Bn=f(require("bn.js")),Ea=new Bn.default(25),Da=new Bn.default(1e4);var zo=require("@solana/spl-token"),Wt=require("@solana/web3.js");var Ya=f(require("bn.js"));var Wa=c([u("instruction"),e("amountIn"),e("minAmountOut")]),qa=c([u("instruction"),e("maxAmountIn"),e("amountOut")]),_b=c([u("instruction"),u("nonce")]),Ua=c([u("instruction"),u("nonce"),e("startTime")]),Go=c([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"),N("swapBaseInAmount"),N("swapQuoteOutAmount"),e("swapBase2QuoteFee"),N("swapQuoteInAmount"),N("swapBaseOutAmount"),e("swapQuote2BaseFee"),r("baseVault"),r("quoteVault"),r("baseMint"),r("quoteMint"),r("lpMint"),r("openOrders"),r("marketId"),r("marketProgramId"),r("targetOrders"),r("withdrawQueue"),r("lpVault"),r("owner"),e("lpReserve"),m(e(),3,"padding")]),Eb=c([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"),N("swapBaseInAmount"),N("swapQuoteOutAmount"),N("swapQuoteInAmount"),N("swapBaseOutAmount"),e("swapQuote2BaseFee"),e("swapBase2QuoteFee"),r("baseVault"),r("quoteVault"),r("baseMint"),r("quoteMint"),r("lpMint"),r("modelDataAccount"),r("openOrders"),r("marketId"),r("marketProgramId"),r("targetOrders"),r("owner"),m(e(),64,"padding")]),Ga=c([u("instruction"),e("baseAmountIn"),e("quoteAmountIn"),e("fixedSide"),e("otherAmountMin")]),za=c([u("instruction"),e("lpAmount"),e("baseAmountMin"),e("quoteAmountMin")]);var Xa=c([e("fee")]);var Zb=V("Raydium_liquidity_instruction");var Qa=5e4,Za=c([e("x"),e("y"),e("price")]),Jb=c([e("accountType"),e("status"),e("multiplier"),e("validDataCount"),m(Za,Qa,"DataElement")]);var ja=require("@solana/web3.js"),$a=f(require("decimal.js")),Ja=require("@solana/spl-token");var Ha=require("@solana/web3.js");var ig=V("Raydium_liquidity_serum");var ds=f(require("bn.js")),ps=f(require("decimal.js"));var os=require("@solana/spl-token"),is=require("@solana/web3.js"),rs=f(require("bn.js"));var qt=require("@solana/web3.js"),Xo=require("@solana/spl-token");function es(o="accountFlags"){let n=new Bt(o);return n.addBoolean("initialized"),n.addBoolean("market"),n.addBoolean("openOrders"),n.addBoolean("requestQueue"),n.addBoolean("eventQueue"),n.addBoolean("bids"),n.addBoolean("asks"),n}var ts=c([F(5),es("accountFlags"),r("ownAddress"),e("vaultSignerNonce"),r("baseMint"),r("quoteMint"),r("baseVault"),e("baseDepositsTotal"),e("baseFeesAccrued"),r("quoteVault"),e("quoteDepositsTotal"),e("quoteFeesAccrued"),e("quoteDustThreshold"),r("requestQueue"),r("eventQueue"),r("bids"),r("asks"),e("baseLotSize"),e("quoteLotSize"),e("feeRateBps"),e("referrerRebatesAccrued"),F(7)]);var ws=require("@solana/web3.js"),pt=require("@solana/spl-token");var ys=f(require("bn.js"));var Qo=f(require("bn.js"));var AP=new Qo.default(0);var fs=f(require("bn.js"));var Zo=f(require("bn.js")),Vt=new Zo.default(1e6);var ks=f(require("bn.js")),Ts=f(require("decimal.js"));var Gt=require("@solana/web3.js"),Kn=require("@solana/spl-token");var OP=Buffer.from("vault_and_lp_mint_auth_seed","utf8"),NP=Buffer.from("amm_config","utf8"),MP=Buffer.from("pool","utf8"),FP=Buffer.from("pool_lp_mint","utf8"),vP=Buffer.from("pool_vault","utf8"),VP=Buffer.from("observation","utf8"),_P=Buffer.from("permission","utf8"),EP=Buffer.from("support_mint","utf8");var DP=Buffer.from("locked_liquidity","utf8");var jP=V("Raydium_cpmm"),$P={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 gs=c([F(8),u("bump"),me("disableCreatePool"),J("index"),e("tradeFeeRate"),e("protocolFeeRate"),e("fundFeeRate"),e("createPoolFee"),r("protocolOwner"),r("fundOwner"),e("creatorFeeRate"),m(e(),15)]),jo=c([F(8),r("configId"),r("poolCreator"),r("vaultA"),r("vaultB"),r("mintLp"),r("mintA"),r("mintB"),r("mintProgramA"),r("mintProgramB"),r("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"),me("enableCreatorFee"),m(u(),6),e("creatorFeesMintA"),e("creatorFeesMintB"),m(e(),28)]),tA=c([F(8),r("configId"),m(e(),30)]);var ai=require("@solana/web3.js"),He=require("@solana/spl-token"),si=f(require("bn.js")),Xs=f(require("decimal.js"));var xn=require("@solana/spl-token"),ti=require("@solana/web3.js"),ni=f(require("bn.js"));var hs=c([e(),e("epoch"),u("curveType"),J("index"),e("migrateFee"),e("tradeFeeRate"),e("maxShareFeeRate"),e("minSupplyA"),e("maxLockRate"),e("minSellRateA"),e("minMigrateRateA"),e("minFundRaisingB"),r("mintB"),r("protocolFeeOwner"),r("migrateFeeOwner"),r("migrateToAmmWallet"),r("migrateToCpmmWallet"),m(e(),16)]),Is=c([e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod"),e("startTime"),e("totalAllocatedShare")]),Bs=c([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"),Is.replicate("vestingSchedule"),r("configId"),r("platformId"),r("mintA"),r("mintB"),r("vaultA"),r("vaultB"),r("creator"),u("mintProgramFlag"),u("cpmmCreatorFeeOn"),e("platformVestingShare"),m(u(),54)]),fw=c([e(),e("epoch"),r("poolId"),r("beneficiary"),e("claimedAmount"),e("tokenShareAmount"),m(e(),8)]),Jo=c([u("migrateType"),u("migrateCpmmFeeOn"),e("supply"),e("totalSellA"),e("totalFundRaisingB"),e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod")]),Ss=c([e("epoch"),u("index"),r("configId"),Jo.replicate("bondingCurveParam"),m(e(),50)]),ei=c([e(),e("epoch"),r("platformClaimFeeWallet"),r("platformLockNftWallet"),e("platformScale"),e("creatorScale"),e("burnScale"),e("feeRate"),m(u(),64,"name"),m(u(),256,"web"),m(u(),256,"img"),r("cpConfigId"),e("creatorFeeRate"),r("transferFeeExtensionAuth"),r("platformVestingWallet"),e("platformVestingScale"),r("platformCpCreator"),u("restrictGlobalConfig"),m(u(),107),oo(Ss,"platformCurve")]);var Aw=Buffer.from("vault_auth_seed","utf8"),ww=Buffer.from("global_config","utf8"),kw=Buffer.from("pool_vesting","utf8"),Tw=Buffer.from("platform_config","utf8"),hw=Buffer.from("platform_fee_vault_auth_seed","utf8"),Iw=Buffer.from("creator_fee_vault_auth_seed","utf8"),Bw=Buffer.from("platform_global_access","utf8"),Sw=Buffer.from("platform_allow_config","utf8");var vw={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]),updatePlatformCurveParam:Buffer.from([138,144,138,250,220,128,4,57]),removePlatformCurveParam:Buffer.from([27,30,62,169,93,224,24,145]),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])};var Vw=new ni.default("18446744073709551615");var oi=require("@solana/spl-token");var Ks=f(require("bn.js")),xs=f(require("decimal.js"));var Ns=f(require("bn.js")),Ms=f(require("decimal.js"));var Cs=f(require("bn.js")),Rs=f(require("decimal.js"));var Ls=f(require("bn.js")),Os=f(require("decimal.js"));var Cn=f(require("bn.js")),zt=f(require("decimal.js")),Xt=class{static _multipler(n){return new zt.default(10).pow(n)}static getPrice({priceX64:n,decimalA:t,decimalB:i}){return new zt.default(n.toString()).div(this._Q64).mul(this._multipler(t)).div(this._multipler(i))}static getPriceX64({price:n,decimalA:t,decimalB:i}){let a=n.mul(this._multipler(i)).div(this._multipler(t));return new Cn.default(a.mul(this._Q64).toFixed(0))}};Xt._Q64=new zt.default(new Cn.default(1).shln(64).toString());var Ne=require("@solana/spl-token"),$=f(require("bn.js")),Rn=require("@solana/web3.js");var Ws=f(require("decimal.js")),wT={initPriceX64:new $.default("515752397214619"),supply:new $.default(1e15),totalSellA:new $.default(7931e11),totalFundRaisingB:new $.default(85e9),totalFundRaisingBUSD:new $.default(125e8),totalLockedAmount:new $.default("0"),cliffPeriod:new $.default("0"),unlockPeriod:new $.default("0"),decimals:6,virtualA:new $.default("1073471847374405"),virtualB:new $.default("30050573465"),realA:new $.default(0),realB:new $.default(0),protocolFee:new $.default(0),platformId:new Rn.PublicKey("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),vestingSchedule:{totalLockedAmount:new $.default(0),cliffPeriod:new $.default(0),unlockPeriod:new $.default(0),startTime:new $.default(0),totalAllocatedShare:new $.default(0)}},kT=new $.default(1e4);var qs={[mo.toBase58()]:3};var Us=c([F(5),F(8),r("ownAddress"),e("vaultSignerNonce"),r("baseMint"),r("quoteMint"),r("baseVault"),e("baseDepositsTotal"),e("baseFeesAccrued"),r("quoteVault"),e("quoteDepositsTotal"),e("quoteFeesAccrued"),e("quoteDustThreshold"),r("requestQueue"),r("eventQueue"),r("bids"),r("asks"),e("baseLotSize"),e("quoteLotSize"),e("feeRateBps"),e("referrerRebatesAccrued"),F(7)]);var Gs=require("@solana/web3.js");var YT=V("Serum");var Ln=require("@solana/spl-token"),On=require("@solana/web3.js"),zs=f(require("bn.js"));var Uh=new si.default(0);var Se=require("@solana/web3.js"),ui=require("@solana/spl-token"),Nn=f(require("bn.js"));var re=class extends se{static getPdaPoolId(n,t){return ge([re.SEED_CONFIG.pool.id,t.toBuffer()],n)}static getPdaOwnerId(n,t,i,a){return ge([re.SEED_CONFIG.owner.id,t.toBuffer(),i.toBuffer(),Buffer.from(new Nn.default(a).toArray())],n)}static async getAllInfo({connection:n,programId:t,poolIds:i,wallet:a,chainTime:l}){if(i.length===0)return[];let d=i.map(b=>re.getPdaPoolId(t,b).publicKey),p=[];for(let b=0;b<re.VERSION_PROJECT.length;b++)p.push(...d.map(x=>re.getPdaOwnerId(t,x,a,b).publicKey));let y=await Te(n,[...d,...p]),h=[];for(let b=0;b<y.length;b++){let x=Math.floor(b/i.length),L=b%i.length,K=d[L],v=p[b],A=y[L],I=y[i.length+b];if(!(A&&I)||A.data.length!==re.POOL_LAYOUT.span||I.data.length!==re.OWNER_LAYOUT.span)continue;let S=re.POOL_LAYOUT.decode(A.data),B=re.OWNER_LAYOUT.decode(I.data),E=S.openTime.toNumber(),D=S.endTime.toNumber(),g=B.tokenInfo.map(C=>C.debtAmount.gt(new Nn.default(0))).filter(C=>!C).length!==3,w=l>E&&l<D&&S.status===1,k=g&&w;h.push({programId:t,poolId:K,ammId:S.ammId,ownerAccountId:v,snapshotLpAmount:B.lpAmount,project:re.VERSION_PROJECT[x],openTime:E,endTime:D,canClaim:k,canClaimErrorType:g?w?void 0:"outOfOperationalTime":"alreadyClaimIt",tokenInfo:S.tokenInfo.map((C,O)=>({mintAddress:C.mintAddress,mintVault:C.mintVault,mintDecimals:C.mintDecimals,perLpLoss:C.perLpLoss,debtAmount:B.tokenInfo[O].debtAmount.add(B.tokenInfo[O].claimedAmount)}))})}return h}async makeClaimTransaction({poolInfo:n,ownerInfo:t,feePayer:i}){t.wallet||this.scope.checkOwner();let a=this.createTxBuilder(i),l=t.wallet||this.scope.ownerPubKey,d=[];for(let h of n.tokenInfo){let{account:b,instructionParams:x}=await this.scope.account.getOrCreateTokenAccount({mint:h.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:h.mintAddress.equals(te.WSOL.mint),createInfo:{payer:l,amount:0},skipCloseAccount:!h.mintAddress.equals(te.WSOL.mint),associatedOnly:h.mintAddress.equals(te.WSOL.mint)?!1:t.associatedOnly});x&&a.addInstruction(x),d.push(b)}a.addInstruction({instructions:[re.makeClaimInstruction({programId:n.programId,poolInfo:n,ownerInfo:{wallet:l,ownerPda:n.ownerAccountId,claimAddress:d}})]});let{transaction:p,signers:y}=a.build();return[{transaction:p,signer:y}]}async makeClaimAllTransaction({poolInfos:n,ownerInfo:t,feePayer:i}){let a=this.createTxBuilder(i),l=t.wallet||this.scope.ownerPubKey,d={};for(let b of n){let x=[];for(let L of b.tokenInfo){let{account:K,instructionParams:v}=await this.scope.account.getOrCreateTokenAccount({mint:L.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:L.mintAddress.equals(te.WSOL.mint),createInfo:{payer:l,amount:0},skipCloseAccount:!L.mintAddress.equals(te.WSOL.mint),associatedOnly:L.mintAddress.equals(te.WSOL.mint)?!1:t.associatedOnly});v&&a.addInstruction(v),K&&(d[L.mintAddress.toString()]=K,x.push(K))}a.addInstruction({instructions:[re.makeClaimInstruction({programId:b.programId,poolInfo:b,ownerInfo:{wallet:l,ownerPda:b.ownerAccountId,claimAddress:x}})]})}let{transaction:p,signers:y}=a.build(),h=a.allInstructions;return nn(h,[l,...y.map(b=>b.publicKey)])?[{transaction:p,signer:y}]:[{transaction:new Se.Transaction().add(...h.slice(0,a.AllTxData.instructions.length-1)),signer:y},{transaction:new Se.Transaction().add(...h.slice(a.AllTxData.instructions.length-1)),signer:[]},{transaction:new Se.Transaction().add(...a.AllTxData.endInstructions),signer:[]}]}static makeClaimInstruction({programId:n,poolInfo:t,ownerInfo:i}){let a=c([]),l=[{pubkey:i.wallet,isSigner:!0,isWritable:!0},{pubkey:t.poolId,isSigner:!1,isWritable:!0},{pubkey:i.ownerPda,isSigner:!1,isWritable:!0},...i.claimAddress.map(y=>({pubkey:y,isSigner:!1,isWritable:!0})),...t.tokenInfo.map(({mintVault:y})=>({pubkey:y,isSigner:!1,isWritable:!0})),{pubkey:ui.TOKEN_PROGRAM_ID,isSigner:!1,isWritable:!1}],d=Buffer.alloc(a.span);a.encode({},d);let p=Buffer.from([10,66,208,184,161,6,191,98,...d]);return new Se.TransactionInstruction({keys:l,programId:n,data:p})}},ye=re;ye.CLAIMED_NUM=3,ye.POOL_LAYOUT=c([F(8),u("bump"),u("status"),e("openTime"),e("endTime"),r("ammId"),m(c([u("mintDecimals"),r("mintAddress"),r("mintVault"),e("perLpLoss"),e("totalClaimedAmount")]),re.CLAIMED_NUM,"tokenInfo"),m(e(),10,"padding")]),ye.OWNER_LAYOUT=c([F(8),u("bump"),u("version"),r("poolId"),r("owner"),e("lpAmount"),m(c([r("mintAddress"),e("debtAmount"),e("claimedAmount")]),re.CLAIMED_NUM,"tokenInfo"),m(e(),4,"padding")]),ye.DEFAULT_POOL_ID=["58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2","6UmmUiYoBjSrhakAobJw8BvkmJtDVxaeBtbt7rxWo1mg","AVs9TA4nWDzfPJE9gGVNJMVhcQy3V9PGazuz33BfG2RA","DVa7Qmb5ct9RCpaU7UTpSaf3GVMYz17vNVU67XpdCRut","7XawhbbxtsRcQA8KTkHT9f9nc6d69UwqCDh6U5EEbEmX","6a1CsrpeZubDjEJE9s1CMVheB6HWM5d7m1cj2jkhyXhj","EoNrn8iUhwgJySD1pHu8Qxm5gSQqLK3za4m8xzD2RuEb","AceAyRTWt4PyB2pHqf2qhDgNZDtKVNaxgL8Ru3V4aN1P","6tmFJbMk5yVHFcFy7X2K8RwHjKLr6KVFLYXpgpBNeAxB"].map(n=>new Se.PublicKey(n)),ye.SEED_CONFIG={pool:{id:Buffer.from("pool_seed","utf8")},owner:{id:Buffer.from("user_claim_seed","utf8")}},ye.VERSION_PROJECT=[void 0,"Francium","Tulip","Larix"];var Ys=require("@solana/web3.js"),ft=require("@solana/spl-token");function Yt(o){if(o instanceof fe)return new M(o.numerator,o.denominator);if(o instanceof le)return o.adjusted;if(o instanceof ue)try{return Yt(o.toExact())}catch{return new M(j)}if(o instanceof M)return o;let n=String(o),t=Me(n);return new M(t.numerator,t.denominator)}function Mn(o,n){if(o==null||n==null)return;let t=Yt(o),i=Yt(n);return t.mul(i)}function $t(o,n=1,t=[]){let i=[...o];if(n<=0)return t;for(;i.length;)t.push(i.splice(0,n));return t}var Zs=V("Raydium_amount"),Qt=at(ci.default);function li(o,n){let t="0",i="0";if(o.includes(".")){let a=o.split(".");a.length===2?([t,i]=a,i=i.padEnd(n,"0")):Zs.logWithError(`invalid number string, num: ${o}`)}else t=o;return[t,i.slice(0,n)||i]}var ue=class extends M{constructor(t,i,a=!0,l){let d=new Ie.default(0),p=Ke.pow(new Ie.default(t.decimals));if(a)d=Z(i);else{let y=new Ie.default(0),h=new Ie.default(0);if(typeof i=="string"||typeof i=="number"||typeof i=="bigint"){let[b,x]=li(i.toString(),t.decimals);y=Z(b),h=Z(x)}y=y.mul(p),d=y.add(h)}super(d,p);this.logger=V(l||"TokenAmount"),this.token=t}get raw(){return this.numerator}isZero(){return this.raw.isZero()}gt(t){return this.token.equals(t.token)||this.logger.logWithError("gt token not equals"),this.raw.gt(t.raw)}lt(t){return this.token.equals(t.token)||this.logger.logWithError("lt token not equals"),this.raw.lt(t.raw)}add(t){return this.token.equals(t.token)||this.logger.logWithError("add token not equals"),new ue(this.token,this.raw.add(t.raw))}subtract(t){return this.token.equals(t.token)||this.logger.logWithError("sub token not equals"),new ue(this.token,this.raw.sub(t.raw))}toSignificant(t=this.token.decimals,i,a=0){return super.toSignificant(t,i,a)}toFixed(t=this.token.decimals,i,a=0){return t>this.token.decimals&&this.logger.logWithError("decimals overflow"),super.toFixed(t,i,a)}toExact(t={groupSeparator:""}){return Qt.DP=this.token.decimals,new Qt(this.numerator.toString()).div(this.denominator.toString()).toFormat(t)}},Fe=class extends M{constructor(t,i,a=!0,l){let d=new Ie.default(0),p=Ke.pow(new Ie.default(t.decimals));if(a)d=Z(i);else{let y=new Ie.default(0),h=new Ie.default(0);if(typeof i=="string"||typeof i=="number"||typeof i=="bigint"){let[b,x]=li(i.toString(),t.decimals);y=Z(b),h=Z(x)}y=y.mul(p),d=y.add(h)}super(d,p);this.logger=V(l||"TokenAmount"),this.currency=t}get raw(){return this.numerator}isZero(){return this.raw.isZero()}gt(t){return this.currency.equals(t.currency)||this.logger.logWithError("gt currency not equals"),this.raw.gt(t.raw)}lt(t){return this.currency.equals(t.currency)||this.logger.logWithError("lt currency not equals"),this.raw.lt(t.raw)}add(t){return this.currency.equals(t.currency)||this.logger.logWithError("add currency not equals"),new Fe(this.currency,this.raw.add(t.raw))}sub(t){return this.currency.equals(t.currency)||this.logger.logWithError("sub currency not equals"),new Fe(this.currency,this.raw.sub(t.raw))}toSignificant(t=this.currency.decimals,i,a=0){return super.toSignificant(t,i,a)}toFixed(t=this.currency.decimals,i,a=0){return t>this.currency.decimals&&this.logger.logWithError("decimals overflow"),super.toFixed(t,i,a)}toExact(t={groupSeparator:""}){return Qt.DP=this.currency.decimals,new Qt(this.numerator.toString()).div(this.denominator.toString()).toFormat(t)}};var Hs=new H.default(2),js=new H.default(3),$s=new H.default(5),Ke=new H.default(10),Js=new H.default(100),eu=new H.default(1e3),tu=new H.default(1e4);function Nt(o){return Ke.pow(Z(o))}function Me(o){var p;if(o===void 0)return{denominator:"1",numerator:"0"};if(o instanceof H.default)return{numerator:o.toString(),denominator:"1"};if(o instanceof M)return{denominator:o.denominator.toString(),numerator:o.numerator.toString()};let n=String(o),[,t="",i="",a=""]=(p=n.replace(",","").match(/(-?)(\d*)\.?(\d*)/))!=null?p:[],l="1"+"0".repeat(a.length),d=t+(i==="0"?"":i)+a||"0";return{denominator:l,numerator:d,sign:t,int:i,dec:a}}function Yo(o,n){let t=o.divmod(n);return t.mod.isZero()?t.div:o.isNeg()===n.isNeg()?t.div.iaddn(1):t.div}function di(o){var i;let[,n="",t=""]=(i=o.toFixed(2).match(/(-?)(\d*)\.?(\d*)/))!=null?i:[];return`${n}${t}`}function pi(o,n=0){return o instanceof H.default?o:new H.default(di(vn(o).mul(Ke.pow(new H.default(String(n))))))}function vn(o){if(o instanceof fe)return new M(o.numerator,o.denominator);if(o instanceof le)return o.adjusted;if(o instanceof ue)try{return vn(o.toExact())}catch{return new M(j)}if(o instanceof M)return o;let n=String(o),t=Me(n);return new M(t.numerator,t.denominator)}function Sn(o,n,t){return o.mul(n).add(t).sub(new H.default(1)).div(t)}function Ho(o,n,t){return o.mul(n).div(t)}function nu(o,n){let{numerator:t,denominator:i}=Me(o);return new fe(new H.default(t),new H.default(i).mul(n!=null&&n.alreadyDecimaled?new H.default(100):new H.default(1)))}function ou(o){let{token:n,numberPrice:t,decimalDone:i}=o,a=new te({mint:"",decimals:6,symbol:"usd",name:"usd",skipMint:!0}),{numerator:l,denominator:d}=Me(t),p=i?new H.default(l).mul(Ke.pow(new H.default(n.decimals))):l,y=new H.default(d).mul(Ke.pow(new H.default(a.decimals)));return new le({baseToken:a,denominator:y.toString(),quoteToken:new te(q(R({},n),{skipMint:!0,mint:""})),numerator:p.toString()})}function Fn(o){let n=new rt({decimals:6,symbol:"usd",name:"usd"}),t=pi(Mn(o,10**n.decimals));return new Fe(n,t)}function iu(o,n){return Fn(!n||!o?0:Mn(o,n))}function ru(o){if(o==null)return;let{numerator:n,denominator:t}=Me(o.toString());return new M(n,t)}function au(o){return o instanceof mi.default}0&&(module.exports={BN_100,BN_1000,BN_10000,BN_FIVE,BN_TEN,BN_THREE,BN_TWO,ceilDiv,decimalToFraction,divCeil,floorDiv,isDecimal,parseNumberInfo,shakeFractionDecimal,tenExponential,toBN,toFraction,toPercent,toTokenPrice,toTotalPrice,toUsdCurrency});
//# sourceMappingURL=bignumber.js.map