@raydium-io/raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
2 lines • 74.2 kB
JavaScript
var yo=Object.defineProperty,bo=Object.defineProperties;var go=Object.getOwnPropertyDescriptors;var tt=Object.getOwnPropertySymbols;var nn=Object.prototype.hasOwnProperty,on=Object.prototype.propertyIsEnumerable;var tn=(o,t,n)=>t in o?yo(o,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):o[t]=n,R=(o,t)=>{for(var n in t||(t={}))nn.call(t,n)&&tn(o,n,t[n]);if(tt)for(var n of tt(t))on.call(t,n)&&tn(o,n,t[n]);return o},D=(o,t)=>bo(o,go(t));var ce=(o,t)=>{var n={};for(var r in o)nn.call(o,r)&&t.indexOf(r)<0&&(n[r]=o[r]);if(o!=null&&tt)for(var r of tt(o))t.indexOf(r)<0&&on.call(o,r)&&(n[r]=o[r]);return n};import{PublicKey as wo}from"@solana/web3.js";import{get as rn,set as Po}from"lodash";var ht=class{constructor(t){this.logLevel=t.logLevel!==void 0?t.logLevel:0,this.name=t.name}set level(t){this.logLevel=t}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(t){return t<=this.logLevel}error(...t){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...t),this):this}logWithError(...t){let n=t.map(r=>typeof r=="object"?JSON.stringify(r):r).join(", ");throw new Error(n)}warning(...t){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...t),this):this}info(...t){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...t),this):this}debug(...t){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...t),this):this}},an={},Ao={};function _(o){let t=rn(an,o);if(!t){let n=rn(Ao,o);t=new ht({name:o,logLevel:n}),Po(an,o,t)}return t}import{MINT_SIZE as Da,TOKEN_PROGRAM_ID as Wa,getTransferFeeConfig as qa,unpackMint as Ua}from"@solana/spl-token";var It=_("Raydium_accountInfo_util");async function fe(o,t,n){let{batchRequest:r,commitment:u="confirmed",chunkCount:d=100}=R({batchRequest:!1},n),y=Bt(t,d),f=new Array(y.length).fill([]);if(r){let g=y.map(O=>{let x=o._buildArgs([O.map(B=>B.toBase58())],u,"base64");return{methodName:"getMultipleAccounts",args:x}}),K=Bt(g,10);f=(await(await Promise.all(K.map(async O=>await o._rpcBatchRequest(O)))).flat()).map(O=>(O.error&&It.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${O.error.message}`),O.result.value.map(x=>{if(x){let{data:B,executable:M,lamports:P,owner:T,rentEpoch:I}=x;return B.length!==2&&B[1]!=="base64"&&It.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(B[0],"base64"),executable:M,lamports:P,owner:new wo(T),rentEpoch:I}}return null})))}else try{f=await Promise.all(y.map(g=>o.getMultipleAccountsInfo(g,u)))}catch(g){g instanceof Error&&It.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${g.message}`)}return f.flat()}import Te from"bn.js";import XC from"decimal.js";import xo from"big.js";import as from"bn.js";import ko from"toformat";var To=ko,De=To;import ot from"big.js";import Io from"bn.js";import Bo from"decimal.js-light";import We from"bn.js";var sn=9007199254740991;function oe(o){let t=_("Raydium_parseBigNumberish");if(o instanceof We)return o;if(typeof o=="string"){if(o.match(/^-?[0-9]+$/))return new We(o);t.logWithError(`invalid BigNumberish string: ${o}`)}return typeof o=="number"?(o%1&&t.logWithError(`BigNumberish number underflow: ${o}`),(o>=sn||o<=-sn)&&t.logWithError(`BigNumberish number overflow: ${o}`),new We(String(o))):typeof o=="bigint"?new We(o.toString()):(t.error(`invalid BigNumberish value: ${o}`),new We(0))}var nt=_("module/fraction"),St=De(ot),qe=De(Bo),So={[0]:qe.ROUND_DOWN,[1]:qe.ROUND_HALF_UP,[2]:qe.ROUND_UP},Ko={[0]:ot.roundDown,[1]:ot.roundHalfUp,[2]:ot.roundUp},U=class{constructor(t,n=new Io(1)){this.numerator=oe(t),this.denominator=oe(n)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new U(this.denominator,this.numerator)}add(t){let n=t instanceof U?t:new U(oe(t));return this.denominator.eq(n.denominator)?new U(this.numerator.add(n.numerator),this.denominator):new U(this.numerator.mul(n.denominator).add(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}sub(t){let n=t instanceof U?t:new U(oe(t));return this.denominator.eq(n.denominator)?new U(this.numerator.sub(n.numerator),this.denominator):new U(this.numerator.mul(n.denominator).sub(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}mul(t){let n=t instanceof U?t:new U(oe(t));return new U(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(t){let n=t instanceof U?t:new U(oe(t));return new U(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(t,n={groupSeparator:""},r=1){Number.isInteger(t)||nt.logWithError(`${t} is not an integer.`),t<=0&&nt.logWithError(`${t} is not positive.`),qe.set({precision:t+1,rounding:So[r]});let u=new qe(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(t);return u.toFormat(u.decimalPlaces(),n)}toFixed(t,n={groupSeparator:""},r=1){return Number.isInteger(t)||nt.logWithError(`${t} is not an integer.`),t<0&&nt.logWithError(`${t} is negative.`),St.DP=t,St.RM=Ko[r]||1,new St(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,n)}isZero(){return this.numerator.isZero()}};var ys=_("Raydium_amount"),bs=De(xo);import{PublicKey as Ro}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as un}from"@solana/spl-token";var it={chainId:101,address:Ro.default.toBase58(),programId:un.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},le={chainId:101,address:"So11111111111111111111111111111111111111112",programId:un.toBase58(),decimals:9,symbol:"WSOL",name:"Wrapped SOL",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}};import{PublicKey as xt}from"@solana/web3.js";import{PublicKey as z,SystemProgram as cn,SYSVAR_RENT_PUBKEY as Lo}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Oo}from"@solana/spl-token";function Ie({pubkey:o,isSigner:t=!1,isWritable:n=!0}){return{pubkey:o,isWritable:n,isSigner:t}}var No=[Ie({pubkey:Oo,isWritable:!1}),Ie({pubkey:cn.programId,isWritable:!1}),Ie({pubkey:Lo,isWritable:!1})];function ln({publicKey:o,transformSol:t}){let n=mn(o.toString());if(n instanceof z)return t&&n.equals(Pe)?ye:n;if(t&&n.toString()===Pe.toBase58())return ye;if(typeof n=="string"){if(n===z.default.toBase58())return z.default;try{return new z(n)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function mn(o){try{return new z(o)}catch{return o}}var Kt=new z("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Ue=new z("SysvarRent111111111111111111111111111111111"),Is=new z("SysvarC1ock11111111111111111111111111111111"),rt=new z("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),Mo=new z("Sysvar1nstructions1111111111111111111111111"),Fo=cn.programId,Bs=new z("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Ss=new z("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Ks=new z("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),xs=new z("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Cs=new z("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Rs=new z("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),Ls=new z("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),Os=new z("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),Ns=new z("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Ms=new z("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Fs=new z("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),ye=new z("So11111111111111111111111111111111111111112"),Pe=z.default;var Ct=class{constructor({mint:t,decimals:n,symbol:r,name:u,skipMint:d=!1,isToken2022:y=!1}){if(t===Pe.toBase58()||t instanceof xt&&Pe.equals(t)){this.decimals=le.decimals,this.symbol=le.symbol,this.name=le.name,this.mint=new xt(le.address),this.isToken2022=!1;return}this.decimals=n,this.symbol=r||t.toString().substring(0,6),this.name=u||t.toString().substring(0,6),this.mint=d?xt.default:ln({publicKey:t}),this.isToken2022=y}equals(t){return this===t?!0:this.mint.equals(t.mint)}},ee=Ct;ee.WSOL=new Ct(D(R({},le),{mint:le.address}));var Rt=class{constructor({decimals:t,symbol:n="UNKNOWN",name:r="UNKNOWN"}){this.decimals=t,this.symbol=n,this.name=r}equals(t){return this===t}},at=Rt;at.SOL=new Rt(it);import vo from"bn.js";var Ys=new U(new vo(100));var Js=_("Raydium_price");import{merge as Qx}from"lodash";import uu from"axios";var dn={BASE_HOST:"https://api-v3.raydium.io",OWNER_BASE_HOST:"https://owner-v1.raydium.io",SERVICE_BASE_HOST:"https://service.raydium.io",MONITOR_BASE_HOST:"https://monitor.raydium.io",SERVICE_1_BASE_HOST:"https://service-v1.raydium.io",TEMP_HOST:"https://temp-api-v1.raydium.io",SEND_TRANSACTION:"/send-transaction",FARM_ARP:"/main/farm/info",FARM_ARP_LINE:"/main/farm-apr-tv",CLMM_CONFIG:"/main/clmm-config",CPMM_CONFIG:"/main/cpmm-config",CLMM_DYNAMIC_CONFIG:"/main/clmm-dynamic-config",VERSION:"/main/version",CHECK_AVAILABILITY:"/v3/main/AvailabilityCheckAPI",RPCS:"/main/rpcs",INFO:"/main/info",STAKE_POOLS:"/main/stake-pools",CHAIN_TIME:"/main/chain-time",TOKEN_LIST:"/mint/list",MINT_INFO_ID:"/mint/ids",JUP_TOKEN_LIST:"https://lite-api.jup.ag/tokens/v2/tag?query=verified",POOL_LIST:"/pools/info/list-v2",POOL_SEARCH_BY_ID:"/pools/info/ids",POOL_SEARCH_MINT:"/pools/info/list-v2",POOL_SEARCH_LP:"/pools/info/lps",POOL_KEY_BY_ID:"/pools/key/ids",POOL_LIQUIDITY_LINE:"/pools/line/liquidity",POOL_POSITION_LINE:"/pools/line/position",FARM_INFO:"/farms/info/ids",FARM_LP_INFO:"/farms/info/lp",FARM_KEYS:"/farms/key/ids",OWNER_CREATED_FARM:"/create-pool/{owner}",OWNER_STAKE_FARMS:"/position/stake/{owner}",OWNER_LOCK_POSITION:"/position/clmm-lock/{owner}",SWAP_HOST:"https://transaction-v1.raydium.io",SWAP_COMPUTE:"/compute/",SWAP_TX:"/transaction/",MINT_PRICE:"/mint/price",MIGRATE_CONFIG:"/main/migrate-lp",PRIORITY_FEE:"/main/auto-fee",CPMM_LOCK:"https://dynamic-ipfs.raydium.io/lock/cpmm/position",LAUNCH_AUTH_HOST:"https://launch-auth-v1.raydium.io",LAUNCH_COMMENT_HOST:"hhttps://launch-forum-v1.raydium.io",LAUNCH_HISTORY_HOST:"https://launch-history-v1.raydium.io",LAUNCH_MINT_HOST:"https://launch-mint-v1.raydium.io"},Vo=D(R({},dn),{BASE_HOST:"https://api-v3-devnet.raydium.io",OWNER_BASE_HOST:"https://owner-v1-devnet.raydium.io",SWAP_HOST:"https://transaction-v1-devnet.raydium.io",CPMM_LOCK:"https://dynamic-ipfs-devnet.raydium.io/lock/cpmm/position",TEMP_HOST:"https://temp-api-v1-devnet.raydium.io",LAUNCH_AUTH_HOST:"https://launch-auth-v1-devnet.raydium.io",LAUNCH_COMMENT_HOST:"https://launch-forum-v1-devnet.raydium.io",LAUNCH_HISTORY_HOST:"https://launch-history-v1-devnet.raydium.io",LAUNCH_MINT_HOST:"https://launch-mint-v1-devnet.raydium.io"});var Lu=_("Raydium_Api");import{PublicKey as Hl,SystemProgram as jl}from"@solana/web3.js";import{AccountLayout as nm,createAssociatedTokenAccountIdempotentInstruction as om,TOKEN_PROGRAM_ID as im,TOKEN_2022_PROGRAM_ID as rm}from"@solana/spl-token";import{PublicKey as Ce,sendAndConfirmTransaction as vt,SystemProgram as Uo,Transaction as Xe,TransactionMessage as Ye,VersionedTransaction as Qe}from"@solana/web3.js";import Go from"axios";import{PublicKey as Lt,AddressLookupTableAccount as Ke}from"@solana/web3.js";async function Ot({connection:o,address:t,cluster:n="mainnet"}){let r=await fe(o,[...new Set(t.map(d=>d.toString()))].map(d=>new Lt(d))),u={};for(let d=0;d<t.length;d++){let y=r[d],f=t[d];if(!y)continue;let g=new Ke({key:f,state:Ke.deserialize(y.data)});u[f.toString()]=g,n==="devnet"?Se[f.toString()]=g:Be[f.toString()]=g}return u}var Be={},Nt=async o=>{let t="AcL1Vo8oy1ULiavEcjSUcwfBSForXMudcZvDZy5nzJkU";if(Be[t])return Be;let n=new Lt(t),r=await o.getAccountInfo(n);return r&&(Be[t]=new Ke({key:n,state:Ke.deserialize(r.data)})),Be},Se={},Mt=async o=>{let t="EFhMuDw1PKEuckuFRW9PavNfTH4LKP5uKHgyXDmWpFCq";if(Se[t])return Se;let n=new Lt(t),r=await o.getAccountInfo(n);return r&&(Se[t]=new Ke({key:n,state:Ke.deserialize(r.data)})),Se};var H={CreateAccount:"CreateAccount",InitAccount:"InitAccount",CreateATA:"CreateATA",CloseAccount:"CloseAccount",TransferAmount:"TransferAmount",InitMint:"InitMint",MintTo:"MintTo",InitMarket:"InitMarket",Util1216OwnerClaim:"Util1216OwnerClaim",SetComputeUnitPrice:"SetComputeUnitPrice",SetComputeUnitLimit:"SetComputeUnitLimit",ClmmCreatePool:"ClmmCreatePool",ClmmOpenPosition:"ClmmOpenPosition",ClmmIncreasePosition:"ClmmIncreasePosition",ClmmDecreasePosition:"ClmmDecreasePosition",ClmmClosePosition:"ClmmClosePosition",ClmmSwapBaseIn:"ClmmSwapBaseIn",ClmmSwapBaseOut:"ClmmSwapBaseOut",ClmmInitReward:"ClmmInitReward",ClmmSetReward:"ClmmSetReward",ClmmCollectReward:"ClmmCollectReward",ClmmLockPosition:"ClmmLockPosition",ClmmHarvestLockPosition:"ClmmHarvestLockPosition",AmmV4Swap:"AmmV4Swap",AmmV4AddLiquidity:"AmmV4AddLiquidity",AmmV4RemoveLiquidity:"AmmV4RemoveLiquidity",AmmV4SimulatePoolInfo:"AmmV4SimulatePoolInfo",AmmV4SwapBaseIn:"AmmV4SwapBaseIn",AmmV4SwapBaseOut:"AmmV4SwapBaseOut",AmmV4CreatePool:"AmmV4CreatePool",AmmV4InitPool:"AmmV4InitPool",AmmV5AddLiquidity:"AmmV5AddLiquidity",AmmV5RemoveLiquidity:"AmmV5RemoveLiquidity",AmmV5SimulatePoolInfo:"AmmV5SimulatePoolInfo",AmmV5SwapBaseIn:"AmmV5SwapBaseIn",AmmV5SwapBaseOut:"AmmV5SwapBaseOut",RouteSwap:"RouteSwap",RouteSwap1:"RouteSwap1",RouteSwap2:"RouteSwap2",FarmV3Deposit:"FarmV3Deposit",FarmV3Withdraw:"FarmV3Withdraw",FarmV3CreateLedger:"FarmV3CreateLedger",FarmV4Withdraw:"FarmV4Withdraw",FarmV5Deposit:"FarmV5Deposit",FarmV5Withdraw:"FarmV5Withdraw",FarmV5CreateLedger:"FarmV5CreateLedger",FarmV6Deposit:"FarmV6Deposit",FarmV6Withdraw:"FarmV6Withdraw",FarmV6Create:"FarmV6Create",FarmV6Restart:"FarmV6Restart",FarmV6CreatorAddReward:"FarmV6CreatorAddReward",FarmV6CreatorWithdraw:"FarmV6CreatorWithdraw",CpmmCreatePool:"CpmmCreatePool",CpmmAddLiquidity:"CpmmAddLiquidity",CpmmWithdrawLiquidity:"CpmmWithdrawLiquidity",CpmmSwapBaseIn:"CpmmSwapBaseIn",CpmmSwapBaseOut:"CpmmSwapBaseOut",CpmmLockLp:"CpmmLockLp",CpmmCollectLockFee:"CpmmCollectLockFee",TransferTip:"TransferTip"};import{ComputeBudgetProgram as pn,Keypair as yn,PublicKey as _o,Transaction as bn,TransactionMessage as Eo,VersionedTransaction as gn}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Do}from"@solana/spl-token";var fn=_("Raydium_txUtil"),Pn=1644;function st(o){let t=[],n=[];return o.microLamports&&(t.push(pn.setComputeUnitPrice({microLamports:o.microLamports})),n.push(H.SetComputeUnitPrice)),o.units&&(t.push(pn.setComputeUnitLimit({units:o.units})),n.push(H.SetComputeUnitLimit)),{instructions:t,instructionTypes:n}}async function xe(o,t){var r,u;let n=t!=null?t:"confirmed";return(u=await((r=o.getLatestBlockhash)==null?void 0:r.call(o,{commitment:n})))==null?void 0:u.blockhash}async function ut(o,t){return o.getSignatureStatuses([t]),new Promise((n,r)=>{let u=setTimeout(r,6e4);o.onSignature(t,d=>{if(clearTimeout(u),!d.err){n("");return}r(Object.assign(d.err,{txId:t}))},"confirmed")})}function Ft(o,t){o.length<1&&fn.logWithError(`no instructions provided: ${o.toString()}`),t.length<1&&fn.logWithError(`no signers provided:, ${t.toString()}`);let n=new bn;n.recentBlockhash="11111111111111111111111111111111",n.feePayer=t[0],n.add(...o);try{return Buffer.from(n.serialize({verifySignatures:!1})).toString("base64").length<Pn}catch{return!1}}function X(o,t){let[n,r]=_o.findProgramAddressSync(o,t);return{publicKey:n,nonce:r}}function Ge({instructions:o,payer:t,signers:n}){return Ft(o,[t,...n])}function ze({instructions:o,payer:t,lookupTableAddressAccount:n,recentBlockhash:r=yn.generate().publicKey.toString()}){let d=new Eo({payerKey:t,recentBlockhash:r,instructions:o}).compileToV0Message(Object.values(n!=null?n:{}));try{return Buffer.from(new gn(d).serialize()).toString("base64").length<Pn}catch{return!1}}var Wo=o=>Buffer.isBuffer(o)?o:o instanceof Uint8Array?Buffer.from(o.buffer,o.byteOffset,o.byteLength):Buffer.from(o),qo=o=>{let t=o.serialize({requireAllSignatures:!1,verifySignatures:!1});o instanceof gn&&(t=Wo(t));try{return t instanceof Buffer?t.toString("base64"):Buffer.from(t).toString("base64")}catch{return t.toString("base64")}};function Ae(o){let t=[];return o.forEach(n=>{n instanceof bn&&(n.recentBlockhash||(n.recentBlockhash=Do.toBase58()),n.feePayer||(n.feePayer=yn.generate().publicKey)),t.push(qo(n))}),console.log("simulate tx string:",t),t}var ct=2e3,lt=class{constructor(t){this.instructions=[];this.endInstructions=[];this.lookupTableAddress=[];this.signers=[];this.instructionTypes=[];this.endInstructionTypes=[];this.connection=t.connection,this.feePayer=t.feePayer,this.signAllTransactions=t.signAllTransactions,this.owner=t.owner,this.cluster=t.cluster,this.blockhashCommitment=t.blockhashCommitment,this.loopMultiTxStatus=!!t.loopMultiTxStatus}get AllTxData(){return{instructions:this.instructions,endInstructions:this.endInstructions,signers:this.signers,instructionTypes:this.instructionTypes,endInstructionTypes:this.endInstructionTypes,lookupTableAddress:this.lookupTableAddress}}get allInstructions(){return[...this.instructions,...this.endInstructions]}async getComputeBudgetConfig(){var r;let t=(await Go.get(`https://solanacompass.com/api/fees?cacheFreshTime=${3e5}`)).data,{avg:n}=(r=t==null?void 0:t[15])!=null?r:{};if(!!n)return{units:6e5,microLamports:Math.min(Math.ceil(n*1e6/6e5),25e3)}}addCustomComputeBudget(t){if(t){let{instructions:n,instructionTypes:r}=st(t);return this.instructions.unshift(...n),this.instructionTypes.unshift(...r),!0}return!1}addTipInstruction(t){var n;return t?(this.endInstructions.push(Uo.transfer({fromPubkey:(n=t.feePayer)!=null?n:this.feePayer,toPubkey:new Ce(t.address),lamports:BigInt(t.amount.toString())})),this.endInstructionTypes.push(H.TransferTip),!0):!1}async calComputeBudget({config:t,defaultIns:n}){try{let r=t||await this.getComputeBudgetConfig();if(this.addCustomComputeBudget(r))return;n&&this.instructions.unshift(...n)}catch{n&&this.instructions.unshift(...n)}}addInstruction({instructions:t=[],endInstructions:n=[],signers:r=[],instructionTypes:u=[],endInstructionTypes:d=[],lookupTableAddress:y=[]}){return this.instructions.push(...t),this.endInstructions.push(...n),this.signers.push(...r),this.instructionTypes.push(...u),this.endInstructionTypes.push(...d),this.lookupTableAddress.push(...y.filter(f=>f!==Ce.default.toString())),this}async versionBuild({txVersion:t,extInfo:n,lookupTableAddress:r}){return t===0?await this.buildV0(D(R({},n||{}),{lookupTableAddress:r})):this.build(n)}build(t){var r;let n=new Xe;return this.allInstructions.length&&n.add(...this.allInstructions),n.feePayer=this.feePayer,((r=this.owner)==null?void 0:r.signer)&&!this.signers.some(u=>u.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer),{builder:this,transaction:n,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async u=>{var b;let{recentBlockHash:d,skipPreflight:y=!0,sendAndConfirm:f,notSendToRpc:g}=u||{},K=d!=null?d:await xe(this.connection,this.blockhashCommitment);if(n.recentBlockhash=K,this.signers.length&&n.sign(...this.signers),Ae([n]),(b=this.owner)!=null&&b.isKeyPair)return{txId:f?await vt(this.connection,n,this.signers.find(x=>x.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:y}):await this.connection.sendRawTransaction(n.serialize(),{skipPreflight:y}),signedTx:n};if(this.signAllTransactions){let O=await this.signAllTransactions([n]);if(this.signers.length)for(let x of O)try{x.sign(...this.signers)}catch{}return{txId:g?"":await this.connection.sendRawTransaction(O[0].serialize(),{skipPreflight:y}),signedTx:O[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:t||{}}}buildMultiTx(t){var K;let{extraPreBuildData:n=[],extInfo:r}=t,{transaction:u}=this.build(r),d=n.filter(b=>b.transaction.instructions.length>0),y=[u,...d.map(b=>b.transaction)],f=[this.signers,...d.map(b=>b.signers)],g=[...this.instructionTypes,...d.map(b=>b.instructionTypes).flat()];return(K=this.owner)!=null&&K.signer&&f.forEach(b=>{b.some(O=>O.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),{builder:this,transactions:y,signers:f,instructionTypes:g,execute:async b=>{var I;let{sequentially:O,onTxUpdate:x,skipTxCount:B=0,recentBlockHash:M,skipPreflight:P=!0}=b||{},T=M!=null?M:await xe(this.connection,this.blockhashCommitment);if((I=this.owner)!=null&&I.isKeyPair){if(O){let h=[],F=0;for(let v of y){if(++F,F<=B)continue;let p=await vt(this.connection,v,this.signers.find(A=>A.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:P});h.push(p)}return{txIds:h,signedTxs:y}}return{txIds:await await Promise.all(y.map(async h=>(h.recentBlockhash=T,await this.connection.sendRawTransaction(h.serialize(),{skipPreflight:P})))),signedTxs:y}}if(this.signAllTransactions){let h=y.map((v,p)=>(v.recentBlockhash=T,f[p].length&&v.sign(...f[p]),v));Ae(h);let F=await this.signAllTransactions(h);if(O){let v=0,p=[],A=async()=>{if(!F[v])return;let w=await this.connection.sendRawTransaction(F[v].serialize(),{skipPreflight:P});p.push({txId:w,status:"sent",signedTx:F[v]}),x==null||x([...p]),v++;let S=!1,C=null,V=null,re=q=>{C!==null&&clearInterval(C),V!==null&&this.connection.removeSignatureListener(V);let W=p.findIndex(J=>J.txId===w);if(W>-1){if(p[W].status==="error"||p[W].status==="success")return;p[W].status=q.err?"error":"success"}x==null||x([...p]),q.err||A()};this.loopMultiTxStatus&&(C=setInterval(async()=>{var q;if(S){clearInterval(C);return}try{let W=await this.connection.getTransaction(w,{commitment:"confirmed",maxSupportedTransactionVersion:0});W&&(S=!0,clearInterval(C),re({err:((q=W.meta)==null?void 0:q.err)||null}),console.log("tx status from getTransaction:",w))}catch(W){S=!0,clearInterval(C),console.error("getTransaction timeout:",W,w)}},ct)),V=this.connection.onSignature(w,q=>{if(S){this.connection.removeSignatureListener(V);return}S=!0,re(q)},"confirmed"),this.connection.getSignatureStatus(w)};return await A(),{txIds:p.map(w=>w.txId),signedTxs:F}}else{let v=[];for(let p=0;p<F.length;p+=1){let A=await this.connection.sendRawTransaction(F[p].serialize(),{skipPreflight:P});v.push(A)}return{txIds:v,signedTxs:F}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:r||{}}}async versionMultiBuild({extraPreBuildData:t,txVersion:n,extInfo:r}){return n===0?await this.buildV0MultiTx({extraPreBuildData:t,buildProps:r||{}}):this.buildMultiTx({extraPreBuildData:t,extInfo:r})}async buildV0(t){var P;let M=t||{},{lookupTableCache:n={},lookupTableAddress:r=[],forerunCreate:u,recentBlockhash:d}=M,y=ce(M,["lookupTableCache","lookupTableAddress","forerunCreate","recentBlockhash"]),f=R(R({},this.cluster==="devnet"?await Mt(this.connection):await Nt(this.connection)),n),g=Array.from(new Set([...r,...this.lookupTableAddress])),K=[];for(let T of g)f[T]===void 0&&K.push(new Ce(T));let b=await Ot({connection:this.connection,address:K});for(let[T,I]of Object.entries(b))f[T]=I;let O=u?Ce.default.toBase58():d!=null?d:await xe(this.connection,this.blockhashCommitment),x=new Ye({payerKey:this.feePayer,recentBlockhash:O,instructions:[...this.allInstructions]}).compileToV0Message(Object.values(f));((P=this.owner)==null?void 0:P.signer)&&!this.signers.some(T=>T.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer);let B=new Qe(x);return B.sign(this.signers),{builder:this,transaction:B,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async T=>{var v;let{skipPreflight:I=!0,sendAndConfirm:h,notSendToRpc:F}=T||{};if(Ae([B]),(v=this.owner)!=null&&v.isKeyPair){let p=await this.connection.sendTransaction(B,{skipPreflight:I});return h&&await ut(this.connection,p),{txId:p,signedTx:B}}if(this.signAllTransactions){let p=await this.signAllTransactions([B]);if(this.signers.length)for(let A of p)try{A.sign(this.signers)}catch{}return{txId:F?"":await this.connection.sendTransaction(p[0],{skipPreflight:I}),signedTx:p[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:y||{}}}async buildV0MultiTx(t){var K;let{extraPreBuildData:n=[],buildProps:r}=t,{transaction:u}=await this.buildV0(r),d=n.filter(b=>b.builder.instructions.length>0),y=[u,...d.map(b=>b.transaction)],f=[this.signers,...d.map(b=>b.signers)],g=[...this.instructionTypes,...d.map(b=>b.instructionTypes).flat()];return(K=this.owner)!=null&&K.signer&&f.forEach(b=>{b.some(O=>O.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),y.forEach(async(b,O)=>{b.sign(f[O])}),{builder:this,transactions:y,signers:f,instructionTypes:g,buildProps:r,execute:async b=>{var P;let{sequentially:O,onTxUpdate:x,recentBlockHash:B,skipPreflight:M=!0}=b||{};if(B&&y.forEach(T=>T.message.recentBlockhash=B),Ae(y),(P=this.owner)!=null&&P.isKeyPair){if(O){let T=[];for(let I of y){let h=await this.connection.sendTransaction(I,{skipPreflight:M});await ut(this.connection,h),T.push(h)}return{txIds:T,signedTxs:y}}return{txIds:await Promise.all(y.map(async T=>await this.connection.sendTransaction(T,{skipPreflight:M}))),signedTxs:y}}if(this.signAllTransactions){let T=await this.signAllTransactions(y);if(O){let I=0,h=[],F=async()=>{if(!T[I])return;let v=await this.connection.sendTransaction(T[I],{skipPreflight:M});h.push({txId:v,status:"sent",signedTx:T[I]}),x==null||x([...h]),I++;let p=!1,A=null,w=null,S=C=>{A!==null&&clearInterval(A),w!==null&&this.connection.removeSignatureListener(w);let V=h.findIndex(re=>re.txId===v);if(V>-1){if(h[V].status==="error"||h[V].status==="success")return;h[V].status=C.err?"error":"success"}x==null||x([...h]),C.err||F()};this.loopMultiTxStatus&&(A=setInterval(async()=>{var C;if(p){clearInterval(A);return}try{let V=await this.connection.getTransaction(v,{commitment:"confirmed",maxSupportedTransactionVersion:0});V&&(p=!0,clearInterval(A),S({err:((C=V.meta)==null?void 0:C.err)||null}),console.log("tx status from getTransaction:",v))}catch(V){p=!0,clearInterval(A),console.error("getTransaction timeout:",V,v)}},ct)),w=this.connection.onSignature(v,C=>{if(p){this.connection.removeSignatureListener(w);return}p=!0,S(C)},"confirmed"),this.connection.getSignatureStatus(v)};return F(),{txIds:[],signedTxs:T}}else{let I=[];for(let h=0;h<T.length;h+=1){let F=await this.connection.sendTransaction(T[h],{skipPreflight:M});I.push(F)}return{txIds:I,signedTxs:T}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:r||{}}}async sizeCheckBuild(t){var x;let O=t||{},{splitIns:n=[],computeBudgetConfig:r}=O,u=ce(O,["splitIns","computeBudgetConfig"]),d=r?st(r):{instructions:[],instructionTypes:[]},y=this.signers.reduce((B,M)=>D(R({},B),{[M.publicKey.toBase58()]:M}),{}),f=[],g=[],K=[],b=0;if(this.allInstructions.forEach(B=>{let M=[...K,B],P=r?[...d.instructions,...M]:M,I=[...new Set(M.map(h=>h.keys.filter(F=>F.isSigner).map(F=>F.pubkey.toString())).flat()).values()].map(h=>new Ce(h));if(B!==n[b]&&K.length<12&&(Ge({instructions:P,payer:this.feePayer,signers:I})||Ge({instructions:M,payer:this.feePayer,signers:I})))K.push(B);else{if(K.length===0)throw Error("item ins too big");b+=B===n[b]?1:0,Ge({instructions:r?[...d.instructions,...K]:[...K],payer:this.feePayer,signers:I})?f.push(new Xe().add(...d.instructions,...K)):f.push(new Xe().add(...K)),g.push(Array.from(new Set(K.map(h=>h.keys.filter(F=>F.isSigner).map(F=>F.pubkey.toString())).flat())).map(h=>y[h]).filter(h=>h!==void 0)),K=[B]}}),K.length>0){let M=[...new Set(K.map(P=>P.keys.filter(T=>T.isSigner).map(T=>T.pubkey.toString())).flat()).values()].map(P=>y[P]).filter(P=>P!==void 0);Ge({instructions:r?[...d.instructions,...K]:[...K],payer:this.feePayer,signers:M.map(P=>P.publicKey)})?f.push(new Xe().add(...d.instructions,...K)):f.push(new Xe().add(...K)),g.push(M)}return f.forEach(B=>B.feePayer=this.feePayer),(x=this.owner)!=null&&x.signer&&g.forEach(B=>{B.some(M=>M.publicKey.equals(this.owner.publicKey))||B.push(this.owner.signer)}),{builder:this,transactions:f,signers:g,instructionTypes:this.instructionTypes,execute:async B=>{var v;let{sequentially:M,onTxUpdate:P,skipTxCount:T=0,recentBlockHash:I,skipPreflight:h=!0}=B||{},F=I!=null?I:await xe(this.connection,this.blockhashCommitment);if(f.forEach(async(p,A)=>{p.recentBlockhash=F,g[A].length&&p.sign(...g[A])}),Ae(f),(v=this.owner)!=null&&v.isKeyPair){if(M){let p=0,A=[];for(let w of f){if(++p,p<=T){A.push("tx skipped");continue}let S=await vt(this.connection,w,this.signers.find(C=>C.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:h});A.push(S)}return{txIds:A,signedTxs:f}}return{txIds:await Promise.all(f.map(async p=>await this.connection.sendRawTransaction(p.serialize(),{skipPreflight:h}))),signedTxs:f}}if(this.signAllTransactions){let p=await this.signAllTransactions(f.slice(T,f.length)),A=[...f.slice(0,T),...p];if(M){let w=0,S=[],C=async()=>{if(!A[w])return;w<T&&(S.push({txId:"",status:"success",signedTx:A[w]}),P==null||P([...S]),w++,C());let V=await this.connection.sendRawTransaction(A[w].serialize(),{skipPreflight:h});S.push({txId:V,status:"sent",signedTx:A[w]}),P==null||P([...S]),w++;let re=!1,q=null,W=null,J=G=>{q!==null&&clearInterval(q),W!==null&&this.connection.removeSignatureListener(W);let ne=S.findIndex(de=>de.txId===V);if(ne>-1){if(S[ne].status==="error"||S[ne].status==="success")return;S[ne].status=G.err?"error":"success"}P==null||P([...S]),G.err||C()};this.loopMultiTxStatus&&(q=setInterval(async()=>{var G;if(re){clearInterval(q);return}try{let ne=await this.connection.getTransaction(V,{commitment:"confirmed",maxSupportedTransactionVersion:0});ne&&(re=!0,clearInterval(q),J({err:((G=ne.meta)==null?void 0:G.err)||null}),console.log("tx status from getTransaction:",V))}catch(ne){re=!0,clearInterval(q),console.error("getTransaction timeout:",ne,V)}},ct)),W=this.connection.onSignature(V,G=>{if(re){this.connection.removeSignatureListener(W);return}re=!0,J(G)},"confirmed"),this.connection.getSignatureStatus(V)};return await C(),{txIds:S.map(V=>V.txId),signedTxs:A}}else{let w=[];for(let S=0;S<A.length;S+=1){let C=await this.connection.sendRawTransaction(A[S].serialize(),{skipPreflight:h});w.push(C)}return{txIds:w,signedTxs:A}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:u||{}}}async sizeCheckBuildV0(t){var v;let F=t||{},{computeBudgetConfig:n,splitIns:r=[],lookupTableCache:u={},lookupTableAddress:d=[],insCountLimit:y=12}=F,f=ce(F,["computeBudgetConfig","splitIns","lookupTableCache","lookupTableAddress","insCountLimit"]),g=R(R({},this.cluster==="devnet"?await Mt(this.connection):await Nt(this.connection)),u),K=Array.from(new Set([...this.lookupTableAddress,...d])),b=[];for(let p of K)g[p]===void 0&&b.push(new Ce(p));let O=await Ot({connection:this.connection,address:b});for(let[p,A]of Object.entries(O))g[p]=A;let x=n?st(n):{instructions:[],instructionTypes:[]},B=await xe(this.connection,this.blockhashCommitment),M=this.signers.reduce((p,A)=>D(R({},p),{[A.publicKey.toBase58()]:A}),{}),P=[],T=[],I=[],h=0;if(this.allInstructions.forEach(p=>{let A=[...I,p],w=n?[...x.instructions,...A]:A;if(p!==r[h]&&I.length<y&&(ze({instructions:w,payer:this.feePayer,lookupTableAddressAccount:g})||ze({instructions:A,payer:this.feePayer,lookupTableAddressAccount:g})))I.push(p);else{if(I.length===0)throw Error("item ins too big");h+=p===r[h]?1:0;let S={};for(let C of[...new Set(K)])g[C]!==void 0&&(S[C]=g[C]);if(n&&ze({instructions:[...x.instructions,...I],payer:this.feePayer,lookupTableAddressAccount:g,recentBlockhash:B})){let C=new Ye({payerKey:this.feePayer,recentBlockhash:B,instructions:[...x.instructions,...I]}).compileToV0Message(Object.values(g));P.push(new Qe(C))}else{let C=new Ye({payerKey:this.feePayer,recentBlockhash:B,instructions:[...I]}).compileToV0Message(Object.values(g));P.push(new Qe(C))}T.push(Array.from(new Set(I.map(C=>C.keys.filter(V=>V.isSigner).map(V=>V.pubkey.toString())).flat())).map(C=>M[C]).filter(C=>C!==void 0)),I=[p]}}),I.length>0){let A=[...new Set(I.map(w=>w.keys.filter(S=>S.isSigner).map(S=>S.pubkey.toString())).flat()).values()].map(w=>M[w]).filter(w=>w!==void 0);if(n&&ze({instructions:[...x.instructions,...I],payer:this.feePayer,lookupTableAddressAccount:g,recentBlockhash:B})){let w=new Ye({payerKey:this.feePayer,recentBlockhash:B,instructions:[...x.instructions,...I]}).compileToV0Message(Object.values(g));P.push(new Qe(w))}else{let w=new Ye({payerKey:this.feePayer,recentBlockhash:B,instructions:[...I]}).compileToV0Message(Object.values(g));P.push(new Qe(w))}T.push(A)}return(v=this.owner)!=null&&v.signer&&T.forEach(p=>{p.some(A=>A.publicKey.equals(this.owner.publicKey))||p.push(this.owner.signer)}),P.forEach((p,A)=>{p.sign(T[A])}),{builder:this,transactions:P,buildProps:t,signers:T,instructionTypes:this.instructionTypes,execute:async p=>{var re;let{sequentially:A,onTxUpdate:w,skipTxCount:S=0,recentBlockHash:C,skipPreflight:V=!0}=p||{};if(P.map(async(q,W)=>{T[W].length&&q.sign(T[W]),C&&(q.message.recentBlockhash=C)}),Ae(P),(re=this.owner)!=null&&re.isKeyPair){if(A){let q=0,W=[];for(let J of P){if(++q,q<=S){console.log("skip tx: ",q),W.push("tx skipped");continue}let G=await this.connection.sendTransaction(J,{skipPreflight:V});await ut(this.connection,G),W.push(G)}return{txIds:W,signedTxs:P}}return{txIds:await Promise.all(P.map(async q=>await this.connection.sendTransaction(q,{skipPreflight:V}))),signedTxs:P}}if(this.signAllTransactions){let q=await this.signAllTransactions(P.slice(S,P.length)),W=[...P.slice(0,S),...q];if(A){let J=0,G=[],ne=async()=>{if(!W[J])return;if(J<S){G.push({txId:"",status:"success",signedTx:W[J]}),w==null||w([...G]),J++,ne();return}let de=await this.connection.sendTransaction(W[J],{skipPreflight:V});G.push({txId:de,status:"sent",signedTx:W[J]}),w==null||w([...G]),J++;let _e=!1,he=null,et=null,en=ge=>{he!==null&&clearInterval(he),et!==null&&this.connection.removeSignatureListener(et);let pe=G.findIndex(fo=>fo.txId===de);if(pe>-1){if(G[pe].status==="error"||G[pe].status==="success")return;G[pe].status=ge.err?"error":"success"}w==null||w([...G]),ge.err||ne()};this.loopMultiTxStatus&&(he=setInterval(async()=>{var ge;if(_e){clearInterval(he);return}try{let pe=await this.connection.getTransaction(de,{commitment:"confirmed",maxSupportedTransactionVersion:0});pe&&(_e=!0,clearInterval(he),en({err:((ge=pe.meta)==null?void 0:ge.err)||null}),console.log("tx status from getTransaction:",de))}catch(pe){_e=!0,clearInterval(he),console.error("getTransaction timeout:",pe,de)}},ct)),et=this.connection.onSignature(de,ge=>{if(_e){this.connection.removeSignatureListener(et);return}_e=!0,en(ge)},"confirmed"),this.connection.getSignatureStatus(de)};return ne(),{txIds:[],signedTxs:W}}else{let J=[];for(let G=0;G<W.length;G+=1){let ne=await this.connection.sendTransaction(W[G],{skipPreflight:V});J.push(ne)}return{txIds:J,signedTxs:W}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:f||{}}}};var Vt=(...o)=>o.map(t=>{try{return typeof t=="object"?JSON.stringify(t):t}catch{return t}}).join(", "),ie=class{constructor({scope:t,moduleName:n}){this.disabled=!1;this.scope=t,this.logger=_(n)}createTxBuilder(t){return this.scope.checkOwner(),new lt({connection:this.scope.connection,feePayer:t||this.scope.ownerPubKey,cluster:this.scope.cluster,owner:this.scope.owner,blockhashCommitment:this.scope.blockhashCommitment,loopMultiTxStatus:this.scope.loopMultiTxStatus,api:this.scope.api,signAllTransactions:this.scope.signAllTransactions})}logDebug(...t){this.logger.debug(Vt(t))}logInfo(...t){this.logger.info(Vt(t))}logAndCreateError(...t){let n=Vt(t);throw new Error(n)}checkDisabled(){(this.disabled||!this.scope)&&this.logAndCreateError("module not working")}};import{PublicKey as Kl,SystemProgram as Cl}from"@solana/web3.js";import Ol from"bn.js";import{createCloseAccountInstruction as vl,createInitializeAccountInstruction as Vl,createTransferInstruction as _l,TOKEN_PROGRAM_ID as El}from"@solana/spl-token";import{Keypair as fl,PublicKey as yl}from"@solana/web3.js";import Pl from"bn.js";import{TOKEN_PROGRAM_ID as kl}from"@solana/spl-token";import{PublicKey as ni}from"@solana/web3.js";import hn,{isBN as In}from"bn.js";import{bits as zo,BitStructure as Ac,blob as Xo,Blob as wc,cstr as kc,f32 as Tc,f32be as hc,f64 as Ic,f64be as Bc,greedy as Sc,Layout as Yo,ns64 as Kc,ns64be as xc,nu64 as Cc,nu64be as Rc,offset as Qo,s16 as Lc,s16be as Oc,s24 as Nc,s24be as Mc,s32 as Zo,s32be as Fc,s40 as vc,s40be as Vc,s48 as _c,s48be as Ec,s8 as Dc,seq as Ho,struct as Wc,Structure as jo,u16 as $o,u16be as qc,u24 as Uc,u24be as Gc,u32 as Jo,u32be as zc,u40 as Xc,u40be as Yc,u48 as Qc,u48be as Zc,u8 as ei,UInt as ti,union as Hc,Union as jc,unionLayoutDiscriminator as $c,utf8 as Jc}from"@solana/buffer-layout";var mt=Yo,An=jo;var _t=ti;var wn=ei,Q=$o;var dt=Jo;var se=Zo;var kn=Ho;var N=Xo;var Et=zo,Tn=Qo;var ke=class extends mt{constructor(n,r,u){super(n,u);this.blob=N(n),this.signed=r}decode(n,r=0){let u=new hn(this.blob.decode(n,r),10,"le");return this.signed?u.fromTwos(this.span*8).clone():u}encode(n,r,u=0){return typeof n=="number"&&(n=new hn(n)),this.signed&&(n=n.toTwos(this.span*8)),this.blob.encode(n.toArrayLike(Buffer,"le",this.span),r,u)}},pt=class extends mt{constructor(n){super(8,n);this._lower=Et(dt(),!1),this._upper=Et(dt(),!1)}addBoolean(n){this._lower.fields.length<32?this._lower.addBoolean(n):this._upper.addBoolean(n)}decode(n,r=0){let u=this._lower.decode(n,r),d=this._upper.decode(n,r+this._lower.span);return R(R({},u),d)}encode(n,r,u=0){return this._lower.encode(n,r,u)+this._upper.encode(n,r,u+this._lower.span)}};function c(o){return new _t(1,o)}function Y(o){return new _t(4,o)}function e(o){return new ke(8,!1,o)}function L(o){return new ke(16,!1,o)}function Bn(o){return new ke(1,!0,o)}function Re(o){return new ke(8,!0,o)}function Sn(o){return new ke(16,!0,o)}var Ze=class extends mt{constructor(n,r,u,d){super(n.span,d);this.layout=n,this.decoder=r,this.encoder=u}decode(n,r){return this.decoder(this.layout.decode(n,r))}encode(n,r,u){return this.layout.encode(this.encoder(n),r,u)}getSpan(n,r){return this.layout.getSpan(n,r)}};function i(o){return new Ze(N(32),t=>new ni(t),t=>t.toBuffer(),o)}function ae(o){return new Ze(wn(),oi,ii,o)}function oi(o){if(o===0)return!1;if(o===1)return!0;throw new Error("Invalid bool: "+o)}function ii(o){return o?1:0}function Kn(o,t){let n=dt("length"),r=l([n,m(o,Tn(n,-n.span),"values")]);return new Ze(r,({values:u})=>u,u=>({values:u}),t)}var Dt=class extends An{decode(t,n){return super.decode(t,n)}};function l(o,t,n){return new Dt(o,t,n)}function m(o,t,n){let r,u=typeof t=="number"?t:In(t)?t.toNumber():new Proxy(t,{get(d,y){if(!r){let f=Reflect.get(d,"count");r=In(f)?f.toNumber():f,Reflect.set(d,"count",r)}return Reflect.get(d,y)},set(d,y,f){return y==="count"&&(r=f),Reflect.set(d,y,f)}});return kn(o,u,n)}var ft=l([i("mint"),i("owner"),e("amount"),Y("delegateOption"),i("delegate"),c("state"),Y("isNativeOption"),e("isNative"),e("delegatedAmount"),Y("closeAuthorityOption"),i("closeAuthority")]);import{PublicKey as Jg,SystemProgram as eP}from"@solana/web3.js";import{createAssociatedTokenAccountIdempotentInstruction as nP}from"@solana/spl-token";import{PublicKey as dm}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as fm}from"@solana/spl-token";import{PublicKey as k}from"@solana/web3.js";var Cn=new k("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),Rn=new k("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),Ln=new k("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Wt=new k("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),Pm=new k("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),ai=new k("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),On=new k("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),Nn=new k("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),Am=new k("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),si=new k("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Mn=new k("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),ui=new k("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),ci=new k("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),Fn=new k("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),wm=new k("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),li=new k("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),qt=new k("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),mi=new k("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),km=new k("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),di=new k("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),pi=new k("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),fi=new k("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),Tm=new k("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),hm=new k("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),Im=new k("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),Bm=new k("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),Sm=new k("6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX");var be={OPEN_BOOK_PROGRAM:new k("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),SERUM_PROGRAM_ID_V3:new k("Ray1111111111111111111111111111111111111111"),AMM_V4:new k("DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav"),AMM_STABLE:new k("DRayDdXc1NZQ9C3hRWmoSf8zK4iapgMnjdNZWrfwsP8m"),CLMM_PROGRAM_ID:new k("DRayAUgENGQBKVaX8owNhgzkEDyoHTGVEGHVJT1E9pfH"),CLMM_LOCK_PROGRAM_ID:new k("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),CLMM_LOCK_AUTH_ID:new k("6Aoh8h2Lw2m5UGxYR8AdAL87jTWYeKoxM52mJRzfYwN"),CREATE_CPMM_POOL_PROGRAM:new k("DRaycpLY18LhpbydsBWbVJtxpNv9oXPgjRSfpF2bWpYb"),CREATE_CPMM_POOL_AUTH:new k("CXniRufdq5xL8t8jZAPxsPZDpuudwuJSPWnbcD5Y5Nxq"),CREATE_CPMM_POOL_FEE_ACC:new k("3oE58BKVt8KuYkGxx8zBojugnymWmBiyafWgMrnb6eYy"),LOCK_CPMM_PROGRAM:new k("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),LOCK_CPMM_AUTH:new k("7qWVV8UY2bRJfDLP4s37YzBPKUkVB46DStYJBpYbQzu3"),UTIL1216:k.default,Router:new k("DRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd"),FARM_PROGRAM_ID_V3:new k("DRayWyrLmEW5KEeqs8kdTMMaBabapqagaBC7KWpGtJeZ"),FARM_PROGRAM_ID_V4:new k("Ray1111111111111111111111111111111111111111"),FARM_PROGRAM_ID_V5:new k("DRayiCGSZgku1GTK6rXD6mVDdingXy6APAH1R6R5L2LC"),FARM_PROGRAM_ID_V6:new k("DRayzbYakXs45ELHkzH6vC3fuhQqTAnv5A68gdFuvZyZ"),LAUNCHPAD_PROGRAM:new k("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),LAUNCHPAD_AUTH:new k("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),LAUNCHPAD_PLATFORM:new k("2Jx4KTDrVSdWNazuGpcA8n3ZLTRGGBDxAWhuKe2Xcj2a"),LAUNCHPAD_CONFIG:new k("7ZR4zD7PYfY2XxoG1Gxcy2EgEeGYrpxrwzPuwdUBssEt"),FEE_DESTINATION_ID:new k("9y8ENuuZ3b19quffx9hQvRVygG5ky6snHfRvGpuSfeJy"),MODEL_DATA_PUBKEY:new k("Ray1111111111111111111111111111111111111111")};import dP from"decimal.js";import{createAssociatedTokenAccountIdempotentInstruction as Ry,TOKEN_2022_PROGRAM_ID as Ly,TOKEN_PROGRAM_ID as Oy}from"@solana/spl-token";import{PublicKey as My}from"@solana/web3.js";import vy from"bn.js";import _y from"decimal.js";import{TOKEN_PROGRAM_ID as Dm}from"@solana/spl-token";import{PublicKey as Gm}from"@solana/web3.js";var yi=l([Y("mintAuthorityOption"),i("mintAuthority"),e("supply"),c("decimals"),c("isInitialized"),Y("freezeAuthorityOption"),i("freezeAuthority")]);import{ASSOCIATED_TOKEN_PROGRAM_ID as $f,TOKEN_2022_PROGRAM_ID as Jf,TOKEN_PROGRAM_ID as ey}from"@solana/spl-token";import{Keypair as oy,PublicKey as iy,SystemProgram as ay,TransactionInstruction as sy}from"@solana/web3.js";import cy from"bn.js";import E from"bn.js";var Oe=new E(1).shln(64);var bi=new E(1).shln(128),Ut=new E(1).shln(64).subn(1),gi=new E(1).shln(128).subn(1);var Ne=new E("4295048016"),Me=new E("79226673521066979257578248091"),Pi=new E("59543866431248"),Ai=new E("184467440737095516"),wi=new E("15793534762490258745");var Gt=60,nd=new E("18446743708227953217"),ki=[{bit:0,factor:new E("fffcb933bd6fb800",16)},{bit:1,factor:new E("fff97272373d4000",16)},{bit:2,factor:new E("fff2e50f5f657000",16)},{bit:3,factor:new E("ffe5caca7e10f000",16)},{bit:4,factor:new E("ffcb9843d60f7000",16)},{bit:5,factor:new E("ff973b41fa98e800",16)},{bit:6,factor:new E("ff2ea16466c9b000",16)},{bit:7,factor:new E("fe5dee046a9a3800",16)},{bit:8,factor:new E("fcbe86c7900bb000",16)},{bit:9,factor:new E("f987a7253ac65800",16)},{bit:10,factor:new E("f3392b0822bb6000",16)},{bit:11,factor:new E("e7159475a2caf000",16)},{bit:12,factor:new E("d097f3bdfd2f2000",16)},{bit:13,factor:new E("a9f746462d9f8000",16)},{bit:14,factor:new E("70d869a156f31c00",16)},{bit:15,factor:new E("31be135f97ed3200",16)},{bit:16,factor:new E("9aa508b5b85a500",16)},{bit:17,factor:new E("5d6af8dedc582c",16)},{bit:18,factor:new E("2216e584f5fa",16)}];var He=3,vn=100;var Vn=10,_n=100,bt=14;var j=new E(0),Fe=new E(1),od=new E(-1);var id=new E("18446744073700000000");var Ti=l([N(8),c("bump"),Q("index"),i("owner"),Y("protocolFeeRate"),Y("tradeFeeRate"),Q("tickSpacing"),Y("fundFeeRate"),m(Y(),1),i("fundOwner"),m(e(),3)]),hi=l([Y("blockTimestamp"),Re("tickCumulative"),m(e(),4)]),En=l([N(8),ae("initialized"),e("recentEpoch"),Q("observationIndex"),i("poolId"),m(hi,vn,"observations"),m(e(),4)]),Ii=l([Q("filterPeriod"),Q("decayPeriod"),Q("reductionFactor"),Y("dynamicFeeControl"),Y("maxVolatilityAccumulator"),se("tickSpacingIndexReference"),Y("volatilityReference"),Y("volatilityAccumulator"),e("lastUpdateTimestamp"),m(c(),46)]),Bi=l([c("state"),e("openTime"),e("endTime"),e("lastUpdateTime"),L("emissionsPerSecondX64"),e("totalEmissioned"),e("claimed"),i("mint"),i("vault"),i("creator"),L("growthGlobalX64")]),zt=l([N(8),c("bump"),i("configId"),i("creator"),i("mintA"),i("mintB"),i("vaultA"),i("vaultB"),i("observationId"),c("mintDecimalsA"),c("mintDecimalsB"),Q("tickSpacing"),L("liquidity"),L("sqrtPriceX64"),se("tickCurrent"),Y(),L("feeGrowthGlobalX64A"),L("feeGrowthGlobalX64B"),e("protocolFeesTokenA"),e("protocolFeesTokenB"),m(L(),4),c("status"),c("feeOn"),N(6),m(Bi,He,"rewardInfos"),N(8*16,"tickArrayBitmap"),m(e(),4),e("fundFeesTokenA"),e("fundFeesTokenB"),e("startTime"),e("recentEpoch"),Ii.replicate("dynamicFeeInfo"),m(e(),46)]),Si=l([L("growthInsideLastX64"),e("rewardAmountOwed")]),Ki=l([N(8),c("bump"),i("nftMint"),i("poolId"),se("tickLower"),se("tickUpper"),L("liquidity"),L("feeGrowthInsideLastX64A"),L("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),m(Si,He,"rewardInfos"),e("recentEpoch"),m(e(),7)]),ud=l([N(8),c("bump"),i("poolId"),se("tickLower"),se("tickUpper"),L("liquidity"),L("feeGrowthInsideLastX64A"),L("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),m(L(),He,"rewardGrowthInside"),e("recentEpoch"),m(e(),7)]),xi=l([se("tick"),Sn("liquidityNet"),L("liquidityGross"),L("feeGrowthOutsideX64A"),L("feeGrowthOutsideX64B"),m(L(),He,"rewardGrowthsOutsideX64"),e("orderPhase"),e("ordersAmount"),e("partFilledOrdersRemaining"),L("unfilledRatioX64"),m(Y(),3)]),Dn=l([N(8),i("poolId"),se("startTickIndex"),m(xi,Gt,"ticks"),c("initializedTickCount"),e("recentEpoch"),m(c(),107)]),Ci=l([N(8),c("bump"),m(i(),Vn,"operationOwners"),m(i(),_n,"whitelistMints")]),Ri=l([N(8),i("poolId"),i("owner"),se("tick"),ae("zeroForOne"),e("orderPhase"),e("totalAmount"),e("filledAmount"),e("settleBase"),e("settleOutput"),e("openTime"),L("unfilledRatioX64"),m(e(),4)]),Wn=l([N(8),i("poolId"),N(8*8*bt,"positiveTickArrayBitmap"),N(8*8*bt,"negativeTickArrayBitmap")]),cd=l([N(8),Q("index"),Q("filterPeriod"),Q("decayPeriod"),Q("reductionFactor"),Y("dynamicFeeControl"),Y("maxVolatilityAccumulator"),m(e(),8)]),Li=l([N(8),i("wallet"),c("nonceIndex"),e("orderNonce"),m(e(),4)]),ld=l([e(),c("bump"),i("owner"),i("poolId"),i("positionId"),i("nftAccount"),m(e(),8)]),Oi=l([N(8),c("bump"),i("lockOwner"),i("poolId"),i("positionId"),i("nftAccount"),i("lockNftMint"),e("recentEpoch"),m(e(),8)]);import pd from"bn.js";function Xt(o){let t=Buffer.alloc(2);return t.writeUInt16LE(o),t}var Id=Buffer.from("amm_config","utf8"),qn=Buffer.from("pool","utf8"),Un=Buffer.from("pool_vault","utf8"),Bd=Buffer.from("pool_reward_vault","utf8"),Sd=Buffer.from("position","utf8"),Kd=Buffer.from("tick_array","utf8"),xd=Buffer.from("operation","utf8"),Cd=Buffer.from("pool_tick_array_bitmap_extension","utf8"),Rd=Buffer.from("observation","utf8"),Ld=Buffer.from("support_mint","utf8"),Od=Buffer.from("dynamic_fee_config","utf8"),Nd=Buffer.from("permission","utf8");var Md=Buffer.from("locked_position","utf8");import{sha256 as Yi}from"js-sha256";import Ni from"bn.js";import _d from"decimal.js";var Dd=new Ni(1).shln(256).subn(1);import ip from"bn.js";import Yd from"bn.js";import Zd from"decimal.js";import cp from"bn.js";import mp from"decimal.js";import{PublicKey as jp}from"@solana/web3.js";import Jp from"bn.js";import{TOKEN_2022_PROGRAM_ID as uf,TOKEN_PROGRAM_ID as cf}from"@solana/spl-token";import pf from"decimal.js";import Dp from"bn.js";import Kp from"bn.js";import If from"bn.js";function $(o){let t=`global:${o}`;return Buffer.from(Yi.digest(t)).slice(0,8)}En.span;var gy=_("Raydium_Clmm"),Py={createPool:$("create_pool"),createCustomizablePool:$("create_customizable_pool"),createPermissionedPool:$("create_permissioned_pool"),openPositionV2:$("open_position_v2"),openPositionWithToken22Nft:$("open_position_with_token22_nft"),closePosition:$("close_position"),increaseLiquidityV2:$("increase_liquidity_v2"),decreaseLiquidityV2:$("decrease_liquidity_v2"),initializeReward:$("initialize_reward"),setRewardParams:$("set_reward_params"),updateRewardInfos:$("update_reward_infos"),collectRemainingRewards:$("collect_remaining_rewards"),swapV2:$("swap_v2"),openLimitOrder:$("open_limit_order"),increaseLimitOrder:$("increase_limit_order"),decreaseLimitOrder:$("decrease_limit_order"),settleLimitOrder:$("settle_limit_order"),closeLimitOrder:$("close_limit_order")};import{PublicKey as Ht}from"@solana/web3.js";var ji=l([c("instruction")]),$i=l([c("instruction")]),Ji=l([e("rewardState"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardLastUpdateTime"),e("totalReward"),e("totalRewardEmissioned"),e("rewardClaimed"),e("rewardPerSecond"),L("accRewardPerShare"),i("rewardVault"),i("rewardMint"),i("rewardSender"),e("rewardType"),m(e(),15,"padding")]),er=l([e("state"),e("nonce"),i("lpVault"),i("rewardVault"),i(),i(),e(),e(),e("totalReward"),L("perShareReward"),e("lastSlot"),e("perSlotReward")]),tr=l([e("state"),e("nonce"),i("lpVault"),i("rewardVaultA"),e("totalRewardA"),L("perShareRewardA"),e("perSlotRewardA"),c("option"),i("rewardVaultB"),N(7),e("totalRewardB"),L("perShareRewardB"),e("perSlotRewardB"),e("lastSlot"),i()]),nr=l([e(),e("state"),e("nonce"),e("validRewardTokenNum"),L("rewardMultiplier"),e("rewardPeriodMax"),e("rewardPeriodMin"),e("rewardPeriodExtend"),i("lpMint"),i("lpVault"),m(Ji,5,"rewardInfos"),i("creator"),i(),m(e(),32,"padding")]),or=new Proxy(er,{get(o,t,n){return t==="decode"?(...r)=>{let u=o.decode(...r);return D(R({},u),{version:3,rewardInfos:[{rewardVault:u.rewardVault,totalReward:u.totalReward,perSlotReward:u.perSlotReward,perShareReward:u.perShareReward}]})}:Reflect.get(o,t,n)}}),ir=new Proxy(tr,{get(o,t,n){return t==="decode"?(...r)=>{let u=o.decode(...r);return D(R({},u),{version:5,rewardInfos:[{rewardVault:u.rewardVaultA,totalReward:u.totalRewardA,perSlotReward:u.perSlotRewardA,perShareReward:u.perShareRewardA},{rewardVault:u.rewardVaultB,totalReward:u.totalRewardB,perSlotReward:u.perSlotRewardB,perShareReward:u.perShareRewardB}]})}:Reflect.get(o,t,n)}}),Hn=new Proxy(nr,{get(o,t,n){return t==="decode"?(...r)=>{let u=o.decode(...r);return D(R({},u),{version:6,rewardInfos:u.rewardInfos.map(d=>{var y;return D(R({},d),{rewardType:((y=Object.entries(Je).find(f=>String(f[1])===d.rewardType.toString()))!=null?y:["Standard SPL"])[0]})})})}:Reflect.get(o,t,n)}}),rr=l([e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),ar=l([c("instruction"),e("nonce"),m(rr,5,"rewardTimeInfo")]),sr=l([c("instruction"),e("rewardReopenTime"),e("rewardEndTime"),e("rewardPerSecond")]),ur=l([c("instruction"),e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),gb=l([e("state"),i("id"),i("owner"),e("deposited"),m(e(),1,"rewardDebts")]),jn=l([e("state"),i("id"),i("owner"),e("deposited"),m(L(),1,"rewardDebts"),e(""),e("voteLockedBalance"),m(e(),15)]),Pb=l([e("state"),i("id"),i("owner"),e("deposited"),m(e(),2,"rewardDebts")]),cr=l([e("state"),i("id"),i("owner"),e("deposited"),m(L(),2,"rewardDebts"),m(e(),17)]),lr=l([e(),e("state"),i("id"),i("owner"),e("deposited"),m(L(),5,"rewardDebts"),m(e(),16)]),mr=l([c("instruction"),e("amount")]),dr=l([i("mint"),i("grantAuthority"),e("baselineVoteWeightScaledFactor"),e("maxExtraLockupVoteWeightScaledFactor"),e("lockupSaturationSecs"),Bn("digitShift"),m(c(),7,"reserved1"),m(e(),7,"reserved2")]),pr=l([N(8),i("governanceProgramId"),i("realm"),i("realmGoverningTokenMint"),i("realmAuthority"),m(c(),32,"reserved1"),m(dr,4,"votingMints"),Re("timeOffset"),c("bump"),m(c(),7,"reserved2"),m(e(),11,"reserved3")]),fr=l([Re("startTime"),Re("endTime"),c("kind"),m(c(),15,"reserved")]),yr=l([m(fr,1,"lockup"),e("amountDeposited_native"),e("amountInitiallyLockedNative"),ae("isUsed"),ae("allowClawback"),c("votingMintConfigIdx"),m(c(),29,"reserved")]),br=l([N(8),i("voterAuthority"),i("registrar"),m(yr,32,"deposits"),c("voterBump"),c("voterWweightRecordBump"),m(c(),94,"reserved")]);import{NATIVE_MINT as Kb}from"@solana/spl-token";var xb=_("Raydium_farm_config"),gr=new Ht("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Pr=new Ht("FrspKwj8i3pNmKwXreTveC4fu7KL5ZbGeXdZBe2XViu1");var Cb=new Ht("3TRTX4dXUpp2eqxi3tvQDFYUV7SdDJjcPE3Y4mbtftaX");var Je={"Standard SPL":0,"Option tokens":1},$n={[Cn.toString()]:3,[Rn.toString()]:4,[Ln.toString()]:5,[Wt.toString()]:6,[be.FARM_PROGRAM_ID_V3.toString()]:3,[be.FARM_PROGRAM_ID_V4.toString()]:4,[be.FARM_PROGRAM_ID_V5.toString()]:5,[be.FARM_PROGRAM_ID_V6.toString()]:6};import{PublicKey as fg,SystemProgram as yg,SYSVAR_CLOCK_PUBKEY as bg,SYSVAR_RENT_PUBKEY as gg,TransactionInstruction as Pg}from"@solana/web3.js";import wg from"bn.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as Tg,createAssociatedTokenAccountIdempotentInstruction as hg,TOKEN_PROGRAM_ID as Ig}from"@solana/spl-token";import Gb from"bn.js";import{PublicKey as Fb}from"@solana/web3.js";import Vb from"bn.js";var og=_("Raydium.farm.util");var Fg=_("Raydium_farm_instruction"),vg={voterStakeRegistryCreateVoter:Buffer.from([6,24,245,52,243,255,148,25]),voterStakeRegistryCreateDepositEntry:Buffer.from([185,131,167,186,159,125,19,67]),voterStakeRegistryDeposit:Buffer.from([242,35,198,137,82,225,242,182]),voterStakeRegistryWithdraw:Buffer.from([183,18,70,156,148,109,161,34]),voterStakeRegistryUpdateVoterWeightRecord:Buffer.from([45,185,3,36,109,190,115,169])};import hP from"bn.js";import{PublicKey as Lw}from"@solana/web3.js";import{AccountLayout as Mw,MintLayout as Fw,NATIVE_MINT as vw,TOKEN_PROGRAM_ID as _w}from"@solana/spl-token";import SP from"bn.js";import eo from"bn.js";var Sr=new eo(25),Kr=new eo(1e4);import{ASSOCIATED_TOKEN_PROGRAM_ID as QP,TOKEN_PROGRAM_ID as ZP}from"@solana/spl-token";import{PublicKey as jP,SystemProgram as $P,SYSVAR_RENT_PUBKEY as JP,TransactionInstruction as eA}from"@solana/web3.js";import uA from"bn.js";var xr=l([c("instruction"),e("amountIn"),e("minAmountOut")]),Cr=l([c("instruction"),e("maxAmountIn"),e("amountOut")]),GP=l([c("instruction"),c("nonce")]),Rr=l([c("instruction"),c("nonce"),e("startTime")]),to=l([e("status"),e("nonce"),e("maxOrder"),e("depth"),e("baseDecimal"),e("quoteDecimal"),e("state"),e("resetFlag"),e("minSize"),e("volMaxCutRatio"),e("amountWaveRatio"),e("baseLotSize"),e("quoteLotSize"),e("minPriceMultiplier"),e("maxPriceMultiplier"),e("systemDecimalValue"),e("minSeparateNumerator"),e("minSeparateDenominator"),e("tradeFeeNumerator"),e("tradeFeeDenominator"),e("pnlNumerator"),e("pnlDenominator"),e("swapFeeNumerator"),e("swapFeeDenominator"),e("baseNeedTakePnl"),e("quoteNeedTakePnl"),e("quoteTotalPnl"),e("baseTotalPnl"),e("poolOpenTime"),e("punishPcAmount"),e("punishCoinAmount"),e("orderbookToInitTime"),L("swapBaseInAmount"),L("swapQuoteOutAmount"),e("swapBase2QuoteFee"),L("swapQuoteInAmount"),L("swapBaseOutAmount"),e("swapQuote2BaseFee"),i("baseVault"),i("quoteVault"),i("baseMint"),i("quoteMint"),i("lpMint"),i("openOrders"),i("marketId"),i("marketProgramId"),i("targetOrders"),i("withdrawQueue"),i("lpVault"),i("owner"),e("lpReserve"),m(e(),3,"padding")]),zP=l([e("accountType"),e("status"),e("nonce"),e("maxOrder"),e("depth"),e("baseDecimal"),e("quoteDecimal"),e("state"),e("resetFlag"),e("minSize"),e("volMaxCutRatio"),e("amountWaveRatio"),e("baseLotSize"),e("quoteLotSize"),e("minPriceMultiplier"),e("maxPriceMultiplier"),e("systemDecimalsValue"),e("abortTradeFactor"),e("priceTickMultiplier"),e("priceTick"),e("minSeparateNumerator"),e("minSeparateDenominator"),e("tradeFeeNumerator"),e("tradeFeeDenominator"),e("pnlNumerator"),e("pnlDenominator"),e("swapFeeNumerator"),e("swapFeeDenominator"),e("baseNeedTakePnl"),e("quoteNeedTakePnl"),e("quoteTotalPnl"),e("baseTotalPnl"),e("poolOpenTime"),e("punishPcAmount"),e("punishCoinAmount"),e("orderbookToInitTime"),L("swapBaseInAmount"),L("swapQuoteOutAmount"),L("swapQuoteInAmount"),L("swapBaseOutAmount"),e("swapQuote2BaseFee"),e("swapBase2QuoteFee"),i("baseVault"),i("quoteVault"),i("baseMint"),i("quoteMint"),i("lpMint"),i("modelDataAccount"),i("openOrders"),i("marketId"),i("marketProgramId"),i("targetOrders"),i("owner"),m(e(),64,"padding")]),Lr=l([c("instruction"),e("baseAmountIn"),e("quoteAmountIn"),e("fixedSide"),e("otherAmountMin")]),Or=l([c("instruction"),e("lpAmount"),e("baseAmountMin"),e("quoteAmountMin")]);var Nr=l([e("fee")]);var mA=_("Raydium_liquidity_instruction");var Mr=5e4,Fr=l([e("x"),e("y"),e("price")]),yA=l([e("accountType"),e("status"),e("multiplier"),e("validDataCount"),m(Fr,Mr,"DataElement")]);import{PublicKey as KA}from"@solana/web3.js";import CA from"decimal.js";import{TOKEN_PROGRAM_ID as LA}from"@solana/spl-token";import{PublicKey as AA}from"@solana/web3.js";var TA=_("Raydium_liquidity_serum");import ik from"bn.js";import ak from"decimal.js";import{TOKEN_PROGRAM_ID as iw}from"@solana/spl-token";import{PublicKey as aw}from"@solana/web3.js";import uw from"bn.js";import{SystemProgram as zA,SYSVAR_RENT_PUBKEY as XA,Transaction as YA,TransactionInstruction as QA}from"@solana/web3.js";import{createInitializeAccountInstruction as HA,TOKEN_PROGRAM_ID as jA}from"@solana/spl-token";function vr(o="accountFlags"){let t=new pt(o);return t.addBoolean("initialized"),t.addBoolean("market"),t.addBoolean("openOrders"),t.addBoolean("requestQueue"),t.addBoolean("eventQueue"),t.addBoolean("bids"),t.addBoolean("asks"),t}var Vr=l([N(5),vr("accountFlags"),i("ownAddress"),e("vaultSignerNonce"),i("baseMint"),i("quoteMint"),i("baseVault"),e("baseDepositsTotal"),e("baseFeesAccrued"),i("quoteVault"),e("quoteDepositsTotal"),e("quoteFeesAccrued"),e("quoteDustThreshold"),i("requestQueue"),i("eventQueue"),i("bids"),i("asks"),e("baseLotSize"),e("quoteLotSize"),e("feeRateBps"),e("referrerRebatesAccrued"),N(7)]);import{PublicKey as LT}from"@solana/web3.js";import{AccountLayout as NT,NATIVE_MINT as MT,TOKEN_2022_PROGRAM_ID as FT,TOKEN_PROGRAM_ID as vT,createAssociatedTokenAccountIdempotentInstruction as VT}from"@solana/spl-token";import Rk from"bn.js";import Gr from"bn.js";var bk=new Gr(0);import Tk from"bn.js";import zr from"bn.js";var At=new zr(1e6);import zT from"bn.js";import YT from"decimal.js";import{PublicKey as Qk,TransactionInstruction as Zk,Keypair as jk,SystemProgram as $k}from"@solana/web3.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as eT,TOKEN_2022_PROGRAM_ID as tT,TOKEN_PROGRAM_ID as nT}from"@solana/spl-token";var Fk=Buffer.from("vault_and_lp_mint_auth_seed","utf8"),vk=Buffer.from("amm_config","utf8"),Vk=Buffer.from("pool","utf8"),_k=Buffer.from("pool_lp_mint","utf8"),Ek=Buffer.from("pool_vault","utf8"),Dk=Buffer.from("observation","utf8"),Wk=Buffer.from("permission","utf8"),qk=Buffer.from("support_mint","utf8");var Uk=Buffer.from("locked_liquidity","utf8");var cT=_("Raydium_cpmm"),lT={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 Qr=l([N(8),c("bump"),ae("disableCreatePool"),Q("index"),e("tradeFeeRate"),e("protocolFeeRate"),e("fundFeeRate"),e("createPoolFee"),i("protocolOwner"),i("fundOwner"),e("creatorFeeRate"),m(e(),15)]),no=l([N(8),i("configId"),i("poolCreator"),i("vaultA"),i("vaultB"),i("mintLp"),i("mintA"),i("mintB"),i("mintProgramA"),i("mintProgramB"),i("observationId"),c("bump"),c("status"),c("lpDecimals"),c("mintDecimalA"),c("mintDecimalB"),e("lpAmount"),e("protocolFeesMintA"),e("protocolFeesMintB"),e("fundFeesMintA"),e("fundFeesMintB"),e("openTime"),e("epoch"),c("feeOn"),ae("enableCreatorFee"),m(c(),6),e("creatorFeesMintA"),e("creatorFeesMintB"),m(e(),28)]),pT=l([N(8),i("configId"),m(e(),30)]);import{PublicKey as gK,SystemProgram as PK}from"@solana/web3.js";import{createTransferInstruction as wK,TOKEN_PROGRAM_ID as kK,TOKEN_2022_PROGRAM_ID as TK,createAssociatedTokenAccountIdempotentInstruction as hK,createSyncNativeInstruction as BK,createTransferCheckedInstruction as SK}from"@solana/spl-token";import ga from"bn.js";import CK from"decimal.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as Gh,TOKEN_2022_PROGRAM_ID as zh,TOKEN_PROGRAM_ID as Xh}from"@solana/spl-token";import{SystemProgram as Hh,TransactionInstruction as jh}from"@solana/web3.js";import ta from"bn.js";var jr=l([e(),e("epoch"),c("curveType"),Q("index"),e("migrateFee"),e("tradeFeeRate"),e("maxShareFeeRate"),e("minSupplyA"),e("maxLockRate"),e("minSellRateA"),e("minMigrateRateA"),e("minFundRaisingB"),i("mintB"),i("protocolFeeOwner"),i("migrateFeeOwner"),i("migrateToAmmWallet"),i("migrateToCpmmWallet"),m(e(),16)]),$r=l([e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod"),e("startTime"),e("totalAllocatedShare")]),Jr=l([e(),e("epoch"),c("bump"),c("status"),c("mintDecimalsA"),c("mintDecimalsB"),c("migrateType"),e("supply"),e("totalSellA"),e("virtualA"),e("virtualB"),e("realA"),e("realB"),e("totalFundRaisingB"),e("protocolFee"),e("platformFee"),e("migrateFee"),$r.replicate("vestingSchedule"),i("configId"),i("platformId"),i("mintA"),i("mintB"),i("vaultA"),i("vaultB"),i("creator"),c("mintProgramFlag"),c("cpmmCreatorFeeOn"),e("platformVestingShare"),m(c(),54)]),_h=l([e(),e("epoch"),i("poolId"),i("beneficiary"),e("claimedAmount"),e("tokenShareAmount"),m(e(),8)]),io=l([c("migrateType"),c("migrateCpmmFeeOn"),e("supply"),e("totalSellA"),e("totalFundRaisingB"),e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod")]),ea=l([e("epoch"),c("index"),i("configId"),io.replicate("bondingCurveParam"),m(e(),50)]),ro=l([e(),e("epoch"),i("platformClaimFeeWallet"),i("platformLockNftWallet"),e("platformScale"),e("creatorScale"),e("burnScale"),e("feeRate"),m(c(),64,"name"),m(c(),256,"web"),m(c(),256,"img"),i("cpConfigId"),e("creatorFeeRate"),i("transferFeeExtensionAuth"),i("platformVestingWallet"),e("platformVestingScale"),i("platformCpCreator"),c("restrictGlobalConfig"),m(c(),107),Kn(ea,"platformCurve")]);var tI={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 nI=new ta("18446744073709551615");import{TOKEN_2022_PROGRAM_ID as aI,TOKEN_PROGRAM_ID as sI}from"@solana/spl-token";import mI from"bn.js";import pI from"decimal.js";import zI from"bn.js";import YI from"decimal.js";import AI from"bn.js";import kI from"decimal.js";import LI from"bn.js";import NI from"decimal.js";import uo from"bn.js";import $t from"decimal.js";var Tt=class{static _multipler(t){return new $t(10).pow(t)}static getPrice({priceX64:t,decimalA:n,decimalB:r}){return new $t(t.toString()).div(this._Q64).mul(this._multipler(n)).div(this._multipler(r))}static getPriceX64({price:t,decimalA:n,decimalB:r}){let u=t.mul(this._multipler(r)).div(this._multipler(n));return new uo(u.mul(this._Q64).toFixed(0))}};Tt._Q64=new $t(new uo(1).shln(64).toString());import{NATIVE_MINT as YB,TOKEN_2022_PROGRAM_ID as QB,TOKEN_PROGRAM_ID as ZB,createAssociatedTokenAccountIdempotentInstruction as jB,createSyncNativeInstruction as $B,getTransferFeeConfig as JB,unpackMint as eS}from"@solana/spl-token";import Z from"bn.js";import{PublicKey as aa,SystemProgram as oS}from"@solana/web3.js";import lS from"decimal.js";var mS={initPriceX64:new Z("515752397214619"),supply:new Z(1e15),totalSellA:new Z(7931e11),totalFundRaisingB:new Z(85e9),totalFundRaisingBUSD:new Z(125e8),totalLockedAmount:new Z("0"),cliffPeriod:new Z("0"),unlockPeriod:new Z("0"),decimals:6,virtualA:new Z("1073471847374405"),virtualB:new Z("30050573465"),realA:new Z(0),realB:new Z(0),protocolFee:new Z(0),platformId:new aa("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),vestingSchedule:{totalLockedAmount:new Z(0),cliffPeriod:new Z(0),unlockPeriod:new Z(0),startTime:new Z(0),totalAllocatedShare:new Z(0)}},dS=new Z(1e4);var ya={[On.toBase58()]:3};var ba=l([N(5),N(8),i("ownAddress"),e("vaultSignerNonce"),i("baseMint"),i("quoteMint"),i("baseVault"),e("baseDepositsTotal"),e("baseFeesAccrued"),i("quoteVault"),e("quoteDepositsTotal"),e("quoteFeesAccrued"),e("quoteDustThreshold"),i("requestQueue"),i("eventQueue"),i("bids"),i("asks"),e("baseLotSize"),e("quoteLotSize"),e("feeRateBps"),e("referrerRebatesAccrued"),N(7)]);import{PublicKey as FS}from"@solana/web3.js";var DS=_("Serum");import{ASSOCIATED_TOKEN_PROGRAM_ID as ZS,TOKEN_2022_PROGRAM_ID as HS,TOKEN_PROGRAM_ID as jS}from"@solana/spl-token";import{PublicKey as JS,SystemProgram as eK,TransactionInstruction as tK}from"@solana/web3.js";import oK from"bn.js";var rx=new ga(0);import{PublicKey as Pa,Transaction as Jt,TransactionInstruction as Aa}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as wa}from"@solana/spl-token";import po from"bn.js";var te=class extends ie{static getPdaPoolId(t,n){return X([te.SEED_CONFIG.pool.id,n.toBuffer()],t)}static getPdaOwnerId(t,n,r,u){return X([te.SEED_CONFIG.owner.id,n.toBuffer(),r.toBuffer(),Buffer.from(new po(u).toArray())],t)}static async getAllInfo({connection:t,programId:n,poolIds:r,wallet:u,chainTime:d}){if(r.length===0)return[];let y=r.map(b=>te.getPdaPoolId(n,b).publicKey),f=[];for(let b=0;b<te.VERSION_PROJECT.length;b++)f.push(...y.map(O=>te.getPdaOwnerId(n,O,u,b).publicKey));let g=await fe(t,[...y,...f]),K=[];for(let b=0;b<g.length;b++){let O=Math.floor(b/r.length),x=b%r.length,B=y[x],M=f[b],P=g[x],T=g[r.length+b];if(!(P&&T)||P.data.length!==te.POOL_LAYOUT.span||T.data.length!==te.OWNER_LAYOUT.span)continue;let I=te.POOL_LAYOUT.decode(P.data),h=te.OWNER_LAYOUT.decode(T.data),F=I.openTime.toNumber(),v=I.endTime.toNumber(),p=h.tokenInfo.map(S=>S.debtAmount.gt(new po(0))).filter(S=>!S).length!==3,A=d>F&&d<v&&I.status===1,w=p&&A;K.push({programId:n,poolId:B,ammId:I.ammId,ownerAccountId:M,snapshotLpAmount:h.lpAmount,project:te.VERSION_PROJECT[O],openTime:F,endTime:v,canClaim:w,canClaimErrorType:p?A?void 0:"outOfOperationalTime":"alreadyClaimIt",tokenInfo:I.tokenInfo.map((S,C)=>({mintAddress:S.mintAddress,mintVault:S.mintVault,mintDecimals:S.mintDecimals,perLpLoss:S.perLpLoss,debtAmount:h.tokenInfo[C].debtAmount.add(h.tokenInfo[C].claimedAmount)}))})}return K}async makeClaimTransaction({poolInfo:t,ownerInfo:n,feePayer:r}){n.wallet||this.scope.checkOwner();let u=this.createTxBuilder(r),d=n.wallet||this.scope.ownerPubKey,y=[];for(let K of t.tokenInfo){let{account:b,instructionParams:O}=await this.scope.account.getOrCreateTokenAccount({mint:K.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:K.mintAddress.equals(ee.WSOL.mint),createInfo:{payer:d,amount:0},skipCloseAccount:!K.mintAddress.equals(ee.WSOL.mint),associatedOnly:K.mintAddress.equals(ee.WSOL.mint)?!1:n.associatedOnly});O&&u.addInstruction(O),y.push(b)}u.addInstruction({instructions:[te.makeClaimInstruction({programId:t.programId,poolInfo:t,ownerInfo:{wallet:d,ownerPda:t.ownerAccountId,claimAddress:y}})]});let{transaction:f,signers:g}=u.build();return[{transaction:f,signer:g}]}async makeClaimAllTransaction({poolInfos:t,ownerInfo:n,feePayer:r}){let u=this.createTxBuilder(r),d=n.wallet||this.scope.ownerPubKey,y={};for(let b of t){let O=[];for(let x of b.tokenInfo){let{account:B,instructionParams:M}=await this.scope.account.getOrCreateTokenAccount({mint:x.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:x.mintAddress.equals(ee.WSOL.mint),createInfo:{payer:d,amount:0},skipCloseAccount:!x.mintAddress.equals(ee.WSOL.mint),associatedOnly:x.mintAddress.equals(ee.WSOL.mint)?!1:n.associatedOnly});M&&u.addInstruction(M),B&&(y[x.mintAddress.toString()]=B,O.push(B))}u.addInstruction({instructions:[te.makeClaimInstruction({programId:b.programId,poolInfo:b,ownerInfo:{wallet:d,ownerPda:b.ownerAccountId,claimAddress:O}})]})}let{transaction:f,signers:g}=u.build(),K=u.allInstructions;return Ft(K,[d,...g.map(b=>b.publicKey)])?[{transaction:f,signer:g}]:[{transaction:new Jt().add(...K.slice(0,u.AllTxData.instructions.length-1)),signer:g},{transaction:new Jt().add(...K.slice(u.AllTxData.instructions.length-1)),signer:[]},{transaction:new Jt().add(...u.AllTxData.endInstructions),signer:[]}]}static makeClaimInstruction({programId:t,poolInfo:n,ownerInfo:r}){let u=l([]),d=[{pubkey:r.wallet,isSigner:!0,isWritable:!0},{pubkey:n.poolId,isSigner:!1,isWritable:!0},{pubkey:r.ownerPda,isSigner:!1,isWritable:!0},...r.claimAddress.map(g=>({pubkey:g,isSigner:!1,isWritable:!0})),...n.tokenInfo.map(({mintVault:g})=>({pubkey:g,isSigner:!1,isWritable:!0})),{pubkey:wa,isSigner:!1,isWritable:!1}],y=Buffer.alloc(u.span);u.encode({},y);let f=Buffer.from([10,66,208,184,161,6,191,98,...y]);return new Aa({keys:d,programId:t,data:f})}},ue=te;ue.CLAIMED_NUM=3,ue.POOL_LAYOUT=l([N(8),c("bump"),c("status"),e("openTime"),e("endTime"),i("ammId"),m(l([c("mintDecimals"),i("mintAddress"),i("mintVault"),e("perLpLoss"),e("totalClaimedAmount")]),te.CLAIMED_NUM,"tokenInfo"),m(e(),10,"padding")]),ue.OWNER_LAYOUT=l([N(8),c("bump"),c("version"),i("poolId"),i("owner"),e("lpAmount"),m(l([i("mintAddress"),e("debtAmount"),e("claimedAmount")]),te.CLAIMED_NUM,"tokenInfo"),m(e(),4,"padding")]),ue.DEFAULT_POOL_ID=["58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2","6UmmUiYoBjSrhakAobJw8BvkmJtDVxaeBtbt7rxWo1mg","AVs9TA4nWDzfPJE9gGVNJMVhcQy3V9PGazuz33BfG2RA","DVa7Qmb5ct9RCpaU7UTpSaf3GVMYz17vNVU67XpdCRut","7XawhbbxtsRcQA8KTkHT9f9nc6d69UwqCDh6U5EEbEmX","6a1CsrpeZubDjEJE9s1CMVheB6HWM5d7m1cj2jkhyXhj","EoNrn8iUhwgJySD1pHu8Qxm5gSQqLK3za4m8xzD2RuEb","AceAyRTWt4PyB2pHqf2qhDgNZDtKVNaxgL8Ru3V4aN1P","6tmFJbMk5yVHFcFy7X2K8RwHjKLr6KVFLYXpgpBNeAxB"].map(t=>new Pa(t)),ue.SEED_CONFIG={pool:{id:Buffer.from("pool_seed","utf8")},owner:{id:Buffer.from("user_claim_seed","utf8")}},ue.VERSION_PROJECT=[void 0,"Francium","Tulip","Larix"];import{PublicKey as Tx}from"@solana/web3.js";import{getTransferFeeConfig as Ix,MintLayout as Bx,TOKEN_2022_PROGRAM_ID as Sx,TOKEN_PROGRAM_ID as Kx,unpackMint as xx}from"@solana/spl-token";var nR=new Te(2),oR=new Te(3),iR=new Te(5),Co=new Te(10),rR=new Te(100),aR=new Te(1e3),sR=new Te(1e4);function Bt(o,t=1,n=[]){let r=[...o];if(t<=0)return n;for(;r.length;)n.push(r.splice(0,t));return n}var ka=Buffer.from("vault_auth_seed","utf8"),Ta=Buffer.from("global_config","utf8"),ha=Buffer.from("pool_vesting","utf8"),Ia=Buffer.from("platform_config","utf8"),Ba=Buffer.from("platform_fee_vault_auth_seed","utf8"),Sa=Buffer.from("creator_fee_vault_auth_seed","utf8"),Ka=Buffer.from("platform_global_access","utf8"),xa=Buffer.from("platform_allow_config","utf8");function co(o){return X([ka],o)}function sa(o,t,n,r){return X([Ta,t.toBuffer(),Ca(n),Xt(r)],o)}function ua(o,t,n){return X([qn,t.toBuffer(),n.toBuffer()],o)}function ca(o,t,n){return X([Un,t.toBuffer(),n.toBuffer()],o)}function na(o){return X([Buffer.from("__event_authority","utf8")],o)}function Ca(o){let t=new ArrayBuffer(1);return new DataView(t).setUint8(0,o),new Uint8Array(t)}function la(o,t){return X([Ia,t.toBuffer()],o)}function ma(o,t,n){return X([ha,t.toBuffer(),n.toBuffer()],o)}function lo(o,t,n){return X([t.toBuffer(),n.toBuffer()],o)}function da(o){return X([Ba],o)}function mo(o,t,n){return X([t.toBuffer(),n.toBuffer()],o)}function pa(o){return X([Sa],o)}function OR(o,t,n){return X([Ka,t.toBuffer(),n.toBuffer()],o)}function fa(o,t,n){return X([xa,t.toBuffer(),n.toBuffer()],o)}export{ka as AUTH_SEED,Ta as CONFIG_SEED,Sa as CREATOR_FEE_VAULT_AUTH_SEED,xa as PLATFORM_ALLOW_CONFIG_SEED,Ba as PLATFORM_FEE_VAULT_AUTH_SEED,Ka as PLATFORM_GLOBAL_ACCESS_SEED,Ia as PLATFORM_SEED,ha as POOL_VESTING_SEED,na as getPdaCpiEvent,pa as getPdaCreatorFeeVaultAuth,mo as getPdaCreatorVault,co as getPdaLaunchpadAuth,sa as getPdaLaunchpadConfigId,ua as getPdaLaunchpadPoolId,ca as getPdaLaunchpadVaultId,fa as getPdaPlatformAllowConfig,OR as getPdaPlatformConfigAccess,da as getPdaPlatformFeeVaultAuth,la as getPdaPlatformId,lo as getPdaPlatformVault,ma as getPdaVestId};
//# sourceMappingURL=pda.mjs.map