UNPKG

@raydium-io/raydium-sdk-v2

Version:

An SDK for building applications on top of Raydium.

2 lines 89.7 kB
var ko=Object.defineProperty,To=Object.defineProperties;var ho=Object.getOwnPropertyDescriptors;var ct=Object.getOwnPropertySymbols;var pn=Object.prototype.hasOwnProperty,fn=Object.prototype.propertyIsEnumerable;var dn=(i,t,n)=>t in i?ko(i,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):i[t]=n,L=(i,t)=>{for(var n in t||(t={}))pn.call(t,n)&&dn(i,n,t[n]);if(ct)for(var n of ct(t))fn.call(t,n)&&dn(i,n,t[n]);return i},V=(i,t)=>To(i,ho(t));var pe=(i,t)=>{var n={};for(var o in i)pn.call(i,o)&&t.indexOf(o)<0&&(n[o]=i[o]);if(i!=null&&ct)for(var o of ct(i))t.indexOf(o)<0&&fn.call(i,o)&&(n[o]=i[o]);return n};import{PublicKey as So}from"@solana/web3.js";import{get as yn,set as Io}from"lodash";var Rt=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(o=>typeof o=="object"?JSON.stringify(o):o).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}},bn={},Bo={};function D(i){let t=yn(bn,i);if(!t){let n=yn(Bo,i);t=new Rt({name:i,logLevel:n}),Io(bn,i,t)}return t}import{MINT_SIZE as Ya,TOKEN_PROGRAM_ID as Qa,getTransferFeeConfig as Za,unpackMint as Ha}from"@solana/spl-token";var Lt=D("Raydium_accountInfo_util");async function Pe(i,t,n){let{batchRequest:o,commitment:s="confirmed",chunkCount:a=100}=L({batchRequest:!1},n),u=Ot(t,a),f=new Array(u.length).fill([]);if(o){let b=u.map(B=>{let S=i._buildArgs([B.map(h=>h.toBase58())],s,"base64");return{methodName:"getMultipleAccounts",args:S}}),I=Ot(b,10);f=(await(await Promise.all(I.map(async B=>await i._rpcBatchRequest(B)))).flat()).map(B=>(B.error&&Lt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${B.error.message}`),B.result.value.map(S=>{if(S){let{data:h,executable:x,lamports:k,owner:y,rentEpoch:A}=S;return h.length!==2&&h[1]!=="base64"&&Lt.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(h[0],"base64"),executable:x,lamports:k,owner:new So(y),rentEpoch:A}}return null})))}else try{f=await Promise.all(u.map(b=>i.getMultipleAccountsInfo(b,s)))}catch(b){b instanceof Error&&Lt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${b.message}`)}return f.flat()}import Re from"bn.js";import WC from"decimal.js";import Mo from"big.js";import ps from"bn.js";import Ko from"toformat";var xo=Ko,Ze=xo;import mt from"big.js";import Ro from"bn.js";import Lo from"decimal.js-light";import He from"bn.js";var gn=9007199254740991;function se(i){let t=D("Raydium_parseBigNumberish");if(i instanceof He)return i;if(typeof i=="string"){if(i.match(/^-?[0-9]+$/))return new He(i);t.logWithError(`invalid BigNumberish string: ${i}`)}return typeof i=="number"?(i%1&&t.logWithError(`BigNumberish number underflow: ${i}`),(i>=gn||i<=-gn)&&t.logWithError(`BigNumberish number overflow: ${i}`),new He(String(i))):typeof i=="bigint"?new He(i.toString()):(t.error(`invalid BigNumberish value: ${i}`),new He(0))}var lt=D("module/fraction"),Nt=Ze(mt),je=Ze(Lo),Oo={[0]:je.ROUND_DOWN,[1]:je.ROUND_HALF_UP,[2]:je.ROUND_UP},No={[0]:mt.roundDown,[1]:mt.roundHalfUp,[2]:mt.roundUp},G=class{constructor(t,n=new Ro(1)){this.numerator=se(t),this.denominator=se(n)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new G(this.denominator,this.numerator)}add(t){let n=t instanceof G?t:new G(se(t));return this.denominator.eq(n.denominator)?new G(this.numerator.add(n.numerator),this.denominator):new G(this.numerator.mul(n.denominator).add(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}sub(t){let n=t instanceof G?t:new G(se(t));return this.denominator.eq(n.denominator)?new G(this.numerator.sub(n.numerator),this.denominator):new G(this.numerator.mul(n.denominator).sub(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}mul(t){let n=t instanceof G?t:new G(se(t));return new G(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(t){let n=t instanceof G?t:new G(se(t));return new G(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(t,n={groupSeparator:""},o=1){Number.isInteger(t)||lt.logWithError(`${t} is not an integer.`),t<=0&&lt.logWithError(`${t} is not positive.`),je.set({precision:t+1,rounding:Oo[o]});let s=new je(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(t);return s.toFormat(s.decimalPlaces(),n)}toFixed(t,n={groupSeparator:""},o=1){return Number.isInteger(t)||lt.logWithError(`${t} is not an integer.`),t<0&&lt.logWithError(`${t} is negative.`),Nt.DP=t,Nt.RM=No[o]||1,new Nt(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,n)}isZero(){return this.numerator.isZero()}};var Ts=D("Raydium_amount"),hs=Ze(Mo);import{PublicKey as vo}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Pn}from"@solana/spl-token";var dt={chainId:101,address:vo.default.toBase58(),programId:Pn.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},fe={chainId:101,address:"So11111111111111111111111111111111111111112",programId:Pn.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 Ft}from"@solana/web3.js";import{PublicKey as Y,SystemProgram as An,SYSVAR_RENT_PUBKEY as Vo}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as _o}from"@solana/spl-token";function Oe({pubkey:i,isSigner:t=!1,isWritable:n=!0}){return{pubkey:i,isWritable:n,isSigner:t}}var Eo=[Oe({pubkey:_o,isWritable:!1}),Oe({pubkey:An.programId,isWritable:!1}),Oe({pubkey:Vo,isWritable:!1})];function wn({publicKey:i,transformSol:t}){let n=kn(i.toString());if(n instanceof Y)return t&&n.equals(Ie)?Ae:n;if(t&&n.toString()===Ie.toBase58())return Ae;if(typeof n=="string"){if(n===Y.default.toBase58())return Y.default;try{return new Y(n)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function kn(i){try{return new Y(i)}catch{return i}}var Mt=new Y("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Be=new Y("SysvarRent111111111111111111111111111111111"),Ls=new Y("SysvarC1ock11111111111111111111111111111111"),Ne=new Y("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),Do=new Y("Sysvar1nstructions1111111111111111111111111"),Wo=An.programId,Os=new Y("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Ns=new Y("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Ms=new Y("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),Fs=new Y("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),vs=new Y("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Vs=new Y("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),_s=new Y("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),Es=new Y("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),Ds=new Y("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Ws=new Y("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),qs=new Y("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),Ae=new Y("So11111111111111111111111111111111111111112"),Ie=Y.default;var vt=class{constructor({mint:t,decimals:n,symbol:o,name:s,skipMint:a=!1,isToken2022:u=!1}){if(t===Ie.toBase58()||t instanceof Ft&&Ie.equals(t)){this.decimals=fe.decimals,this.symbol=fe.symbol,this.name=fe.name,this.mint=new Ft(fe.address),this.isToken2022=!1;return}this.decimals=n,this.symbol=o||t.toString().substring(0,6),this.name=s||t.toString().substring(0,6),this.mint=a?Ft.default:wn({publicKey:t}),this.isToken2022=u}equals(t){return this===t?!0:this.mint.equals(t.mint)}},oe=vt;oe.WSOL=new vt(V(L({},fe),{mint:fe.address}));var Vt=class{constructor({decimals:t,symbol:n="UNKNOWN",name:o="UNKNOWN"}){this.decimals=t,this.symbol=n,this.name=o}equals(t){return this===t}},pt=Vt;pt.SOL=new Vt(dt);import qo from"bn.js";var eu=new G(new qo(100));var au=D("Raydium_price");import{merge as Ux}from"lodash";import yu from"axios";var Tn={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"},Uo=V(L({},Tn),{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 _u=D("Raydium_Api");import{PublicKey as om,SystemProgram as im}from"@solana/web3.js";import{AccountLayout as cm,createAssociatedTokenAccountIdempotentInstruction as lm,TOKEN_PROGRAM_ID as mm,TOKEN_2022_PROGRAM_ID as dm}from"@solana/spl-token";import{PublicKey as _e,sendAndConfirmTransaction as Ut,SystemProgram as Zo,Transaction as et,TransactionMessage as tt,VersionedTransaction as nt}from"@solana/web3.js";import Ho from"axios";import{PublicKey as _t,AddressLookupTableAccount as ve}from"@solana/web3.js";async function Et({connection:i,address:t,cluster:n="mainnet"}){let o=await Pe(i,[...new Set(t.map(a=>a.toString()))].map(a=>new _t(a))),s={};for(let a=0;a<t.length;a++){let u=o[a],f=t[a];if(!u)continue;let b=new ve({key:f,state:ve.deserialize(u.data)});s[f.toString()]=b,n==="devnet"?Fe[f.toString()]=b:Me[f.toString()]=b}return s}var Me={},Dt=async i=>{let t="AcL1Vo8oy1ULiavEcjSUcwfBSForXMudcZvDZy5nzJkU";if(Me[t])return Me;let n=new _t(t),o=await i.getAccountInfo(n);return o&&(Me[t]=new ve({key:n,state:ve.deserialize(o.data)})),Me},Fe={},Wt=async i=>{let t="EFhMuDw1PKEuckuFRW9PavNfTH4LKP5uKHgyXDmWpFCq";if(Fe[t])return Fe;let n=new _t(t),o=await i.getAccountInfo(n);return o&&(Fe[t]=new ve({key:n,state:ve.deserialize(o.data)})),Fe};var J={CreateAccount:"CreateAccount",InitAccount:"InitAccount",CreateATA:"CreateATA",CloseAccount:"CloseAccount",TransferAmount:"TransferAmount",InitMint:"InitMint",MintTo:"MintTo",InitMarket:"InitMarket",Util1216OwnerClaim:"Util1216OwnerClaim",SetComputeUnitPrice:"SetComputeUnitPrice",SetComputeUnitLimit:"SetComputeUnitLimit",ClmmCreatePool:"ClmmCreatePool",ClmmOpenPosition:"ClmmOpenPosition",ClmmIncreasePosition:"ClmmIncreasePosition",ClmmDecreasePosition:"ClmmDecreasePosition",ClmmClosePosition:"ClmmClosePosition",ClmmSwapBaseIn:"ClmmSwapBaseIn",ClmmSwapBaseOut:"ClmmSwapBaseOut",ClmmInitReward:"ClmmInitReward",ClmmSetReward:"ClmmSetReward",ClmmCollectReward:"ClmmCollectReward",ClmmLockPosition:"ClmmLockPosition",ClmmHarvestLockPosition:"ClmmHarvestLockPosition",AmmV4Swap:"AmmV4Swap",AmmV4AddLiquidity:"AmmV4AddLiquidity",AmmV4RemoveLiquidity:"AmmV4RemoveLiquidity",AmmV4SimulatePoolInfo:"AmmV4SimulatePoolInfo",AmmV4SwapBaseIn:"AmmV4SwapBaseIn",AmmV4SwapBaseOut:"AmmV4SwapBaseOut",AmmV4CreatePool:"AmmV4CreatePool",AmmV4InitPool:"AmmV4InitPool",AmmV5AddLiquidity:"AmmV5AddLiquidity",AmmV5RemoveLiquidity:"AmmV5RemoveLiquidity",AmmV5SimulatePoolInfo:"AmmV5SimulatePoolInfo",AmmV5SwapBaseIn:"AmmV5SwapBaseIn",AmmV5SwapBaseOut:"AmmV5SwapBaseOut",RouteSwap:"RouteSwap",RouteSwap1:"RouteSwap1",RouteSwap2:"RouteSwap2",FarmV3Deposit:"FarmV3Deposit",FarmV3Withdraw:"FarmV3Withdraw",FarmV3CreateLedger:"FarmV3CreateLedger",FarmV4Withdraw:"FarmV4Withdraw",FarmV5Deposit:"FarmV5Deposit",FarmV5Withdraw:"FarmV5Withdraw",FarmV5CreateLedger:"FarmV5CreateLedger",FarmV6Deposit:"FarmV6Deposit",FarmV6Withdraw:"FarmV6Withdraw",FarmV6Create:"FarmV6Create",FarmV6Restart:"FarmV6Restart",FarmV6CreatorAddReward:"FarmV6CreatorAddReward",FarmV6CreatorWithdraw:"FarmV6CreatorWithdraw",CpmmCreatePool:"CpmmCreatePool",CpmmAddLiquidity:"CpmmAddLiquidity",CpmmWithdrawLiquidity:"CpmmWithdrawLiquidity",CpmmSwapBaseIn:"CpmmSwapBaseIn",CpmmSwapBaseOut:"CpmmSwapBaseOut",CpmmLockLp:"CpmmLockLp",CpmmCollectLockFee:"CpmmCollectLockFee",TransferTip:"TransferTip"};import{ComputeBudgetProgram as hn,Keypair as Bn,PublicKey as Go,Transaction as Sn,TransactionMessage as zo,VersionedTransaction as Kn}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Xo}from"@solana/spl-token";var In=D("Raydium_txUtil"),xn=1644;function ft(i){let t=[],n=[];return i.microLamports&&(t.push(hn.setComputeUnitPrice({microLamports:i.microLamports})),n.push(J.SetComputeUnitPrice)),i.units&&(t.push(hn.setComputeUnitLimit({units:i.units})),n.push(J.SetComputeUnitLimit)),{instructions:t,instructionTypes:n}}async function Ve(i,t){var o,s;let n=t!=null?t:"confirmed";return(s=await((o=i.getLatestBlockhash)==null?void 0:o.call(i,{commitment:n})))==null?void 0:s.blockhash}async function yt(i,t){return i.getSignatureStatuses([t]),new Promise((n,o)=>{let s=setTimeout(o,6e4);i.onSignature(t,a=>{if(clearTimeout(s),!a.err){n("");return}o(Object.assign(a.err,{txId:t}))},"confirmed")})}function qt(i,t){i.length<1&&In.logWithError(`no instructions provided: ${i.toString()}`),t.length<1&&In.logWithError(`no signers provided:, ${t.toString()}`);let n=new Sn;n.recentBlockhash="11111111111111111111111111111111",n.feePayer=t[0],n.add(...i);try{return Buffer.from(n.serialize({verifySignatures:!1})).toString("base64").length<xn}catch{return!1}}function le(i,t){let[n,o]=Go.findProgramAddressSync(i,t);return{publicKey:n,nonce:o}}function $e({instructions:i,payer:t,signers:n}){return qt(i,[t,...n])}function Je({instructions:i,payer:t,lookupTableAddressAccount:n,recentBlockhash:o=Bn.generate().publicKey.toString()}){let a=new zo({payerKey:t,recentBlockhash:o,instructions:i}).compileToV0Message(Object.values(n!=null?n:{}));try{return Buffer.from(new Kn(a).serialize()).toString("base64").length<xn}catch{return!1}}var Yo=i=>Buffer.isBuffer(i)?i:i instanceof Uint8Array?Buffer.from(i.buffer,i.byteOffset,i.byteLength):Buffer.from(i),Qo=i=>{let t=i.serialize({requireAllSignatures:!1,verifySignatures:!1});i instanceof Kn&&(t=Yo(t));try{return t instanceof Buffer?t.toString("base64"):Buffer.from(t).toString("base64")}catch{return t.toString("base64")}};function Se(i){let t=[];return i.forEach(n=>{n instanceof Sn&&(n.recentBlockhash||(n.recentBlockhash=Xo.toBase58()),n.feePayer||(n.feePayer=Bn.generate().publicKey)),t.push(Qo(n))}),console.log("simulate tx string:",t),t}var bt=2e3,gt=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 o;let t=(await Ho.get(`https://solanacompass.com/api/fees?cacheFreshTime=${3e5}`)).data,{avg:n}=(o=t==null?void 0:t[15])!=null?o:{};if(!!n)return{units:6e5,microLamports:Math.min(Math.ceil(n*1e6/6e5),25e3)}}addCustomComputeBudget(t){if(t){let{instructions:n,instructionTypes:o}=ft(t);return this.instructions.unshift(...n),this.instructionTypes.unshift(...o),!0}return!1}addTipInstruction(t){var n;return t?(this.endInstructions.push(Zo.transfer({fromPubkey:(n=t.feePayer)!=null?n:this.feePayer,toPubkey:new _e(t.address),lamports:BigInt(t.amount.toString())})),this.endInstructionTypes.push(J.TransferTip),!0):!1}async calComputeBudget({config:t,defaultIns:n}){try{let o=t||await this.getComputeBudgetConfig();if(this.addCustomComputeBudget(o))return;n&&this.instructions.unshift(...n)}catch{n&&this.instructions.unshift(...n)}}addInstruction({instructions:t=[],endInstructions:n=[],signers:o=[],instructionTypes:s=[],endInstructionTypes:a=[],lookupTableAddress:u=[]}){return this.instructions.push(...t),this.endInstructions.push(...n),this.signers.push(...o),this.instructionTypes.push(...s),this.endInstructionTypes.push(...a),this.lookupTableAddress.push(...u.filter(f=>f!==_e.default.toString())),this}async versionBuild({txVersion:t,extInfo:n,lookupTableAddress:o}){return t===0?await this.buildV0(V(L({},n||{}),{lookupTableAddress:o})):this.build(n)}build(t){var o;let n=new et;return this.allInstructions.length&&n.add(...this.allInstructions),n.feePayer=this.feePayer,((o=this.owner)==null?void 0:o.signer)&&!this.signers.some(s=>s.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 s=>{var g;let{recentBlockHash:a,skipPreflight:u=!0,sendAndConfirm:f,notSendToRpc:b}=s||{},I=a!=null?a:await Ve(this.connection,this.blockhashCommitment);if(n.recentBlockhash=I,this.signers.length&&n.sign(...this.signers),Se([n]),(g=this.owner)!=null&&g.isKeyPair)return{txId:f?await Ut(this.connection,n,this.signers.find(S=>S.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:u}):await this.connection.sendRawTransaction(n.serialize(),{skipPreflight:u}),signedTx:n};if(this.signAllTransactions){let B=await this.signAllTransactions([n]);if(this.signers.length)for(let S of B)try{S.sign(...this.signers)}catch{}return{txId:b?"":await this.connection.sendRawTransaction(B[0].serialize(),{skipPreflight:u}),signedTx:B[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:t||{}}}buildMultiTx(t){var I;let{extraPreBuildData:n=[],extInfo:o}=t,{transaction:s}=this.build(o),a=n.filter(g=>g.transaction.instructions.length>0),u=[s,...a.map(g=>g.transaction)],f=[this.signers,...a.map(g=>g.signers)],b=[...this.instructionTypes,...a.map(g=>g.instructionTypes).flat()];return(I=this.owner)!=null&&I.signer&&f.forEach(g=>{g.some(B=>B.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),{builder:this,transactions:u,signers:f,instructionTypes:b,execute:async g=>{var A;let{sequentially:B,onTxUpdate:S,skipTxCount:h=0,recentBlockHash:x,skipPreflight:k=!0}=g||{},y=x!=null?x:await Ve(this.connection,this.blockhashCommitment);if((A=this.owner)!=null&&A.isKeyPair){if(B){let T=[],O=0;for(let N of u){if(++O,O<=h)continue;let p=await Ut(this.connection,N,this.signers.find(w=>w.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:k});T.push(p)}return{txIds:T,signedTxs:u}}return{txIds:await await Promise.all(u.map(async T=>(T.recentBlockhash=y,await this.connection.sendRawTransaction(T.serialize(),{skipPreflight:k})))),signedTxs:u}}if(this.signAllTransactions){let T=u.map((N,p)=>(N.recentBlockhash=y,f[p].length&&N.sign(...f[p]),N));Se(T);let O=await this.signAllTransactions(T);if(B){let N=0,p=[],w=async()=>{if(!O[N])return;let K=await this.connection.sendRawTransaction(O[N].serialize(),{skipPreflight:k});p.push({txId:K,status:"sent",signedTx:O[N]}),S==null||S([...p]),N++;let C=!1,R=null,F=null,z=q=>{R!==null&&clearInterval(R),F!==null&&this.connection.removeSignatureListener(F);let E=p.findIndex(U=>U.txId===K);if(E>-1){if(p[E].status==="error"||p[E].status==="success")return;p[E].status=q.err?"error":"success"}S==null||S([...p]),q.err||w()};this.loopMultiTxStatus&&(R=setInterval(async()=>{var q;if(C){clearInterval(R);return}try{let E=await this.connection.getTransaction(K,{commitment:"confirmed",maxSupportedTransactionVersion:0});E&&(C=!0,clearInterval(R),z({err:((q=E.meta)==null?void 0:q.err)||null}),console.log("tx status from getTransaction:",K))}catch(E){C=!0,clearInterval(R),console.error("getTransaction timeout:",E,K)}},bt)),F=this.connection.onSignature(K,q=>{if(C){this.connection.removeSignatureListener(F);return}C=!0,z(q)},"confirmed"),this.connection.getSignatureStatus(K)};return await w(),{txIds:p.map(K=>K.txId),signedTxs:O}}else{let N=[];for(let p=0;p<O.length;p+=1){let w=await this.connection.sendRawTransaction(O[p].serialize(),{skipPreflight:k});N.push(w)}return{txIds:N,signedTxs:O}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:o||{}}}async versionMultiBuild({extraPreBuildData:t,txVersion:n,extInfo:o}){return n===0?await this.buildV0MultiTx({extraPreBuildData:t,buildProps:o||{}}):this.buildMultiTx({extraPreBuildData:t,extInfo:o})}async buildV0(t){var k;let x=t||{},{lookupTableCache:n={},lookupTableAddress:o=[],forerunCreate:s,recentBlockhash:a}=x,u=pe(x,["lookupTableCache","lookupTableAddress","forerunCreate","recentBlockhash"]),f=L(L({},this.cluster==="devnet"?await Wt(this.connection):await Dt(this.connection)),n),b=Array.from(new Set([...o,...this.lookupTableAddress])),I=[];for(let y of b)f[y]===void 0&&I.push(new _e(y));let g=await Et({connection:this.connection,address:I});for(let[y,A]of Object.entries(g))f[y]=A;let B=s?_e.default.toBase58():a!=null?a:await Ve(this.connection,this.blockhashCommitment),S=new tt({payerKey:this.feePayer,recentBlockhash:B,instructions:[...this.allInstructions]}).compileToV0Message(Object.values(f));((k=this.owner)==null?void 0:k.signer)&&!this.signers.some(y=>y.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer);let h=new nt(S);return h.sign(this.signers),{builder:this,transaction:h,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async y=>{var N;let{skipPreflight:A=!0,sendAndConfirm:T,notSendToRpc:O}=y||{};if(Se([h]),(N=this.owner)!=null&&N.isKeyPair){let p=await this.connection.sendTransaction(h,{skipPreflight:A});return T&&await yt(this.connection,p),{txId:p,signedTx:h}}if(this.signAllTransactions){let p=await this.signAllTransactions([h]);if(this.signers.length)for(let w of p)try{w.sign(this.signers)}catch{}return{txId:O?"":await this.connection.sendTransaction(p[0],{skipPreflight:A}),signedTx:p[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:u||{}}}async buildV0MultiTx(t){var I;let{extraPreBuildData:n=[],buildProps:o}=t,{transaction:s}=await this.buildV0(o),a=n.filter(g=>g.builder.instructions.length>0),u=[s,...a.map(g=>g.transaction)],f=[this.signers,...a.map(g=>g.signers)],b=[...this.instructionTypes,...a.map(g=>g.instructionTypes).flat()];return(I=this.owner)!=null&&I.signer&&f.forEach(g=>{g.some(B=>B.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),u.forEach(async(g,B)=>{g.sign(f[B])}),{builder:this,transactions:u,signers:f,instructionTypes:b,buildProps:o,execute:async g=>{var k;let{sequentially:B,onTxUpdate:S,recentBlockHash:h,skipPreflight:x=!0}=g||{};if(h&&u.forEach(y=>y.message.recentBlockhash=h),Se(u),(k=this.owner)!=null&&k.isKeyPair){if(B){let y=[];for(let A of u){let T=await this.connection.sendTransaction(A,{skipPreflight:x});await yt(this.connection,T),y.push(T)}return{txIds:y,signedTxs:u}}return{txIds:await Promise.all(u.map(async y=>await this.connection.sendTransaction(y,{skipPreflight:x}))),signedTxs:u}}if(this.signAllTransactions){let y=await this.signAllTransactions(u);if(B){let A=0,T=[],O=async()=>{if(!y[A])return;let N=await this.connection.sendTransaction(y[A],{skipPreflight:x});T.push({txId:N,status:"sent",signedTx:y[A]}),S==null||S([...T]),A++;let p=!1,w=null,K=null,C=R=>{w!==null&&clearInterval(w),K!==null&&this.connection.removeSignatureListener(K);let F=T.findIndex(z=>z.txId===N);if(F>-1){if(T[F].status==="error"||T[F].status==="success")return;T[F].status=R.err?"error":"success"}S==null||S([...T]),R.err||O()};this.loopMultiTxStatus&&(w=setInterval(async()=>{var R;if(p){clearInterval(w);return}try{let F=await this.connection.getTransaction(N,{commitment:"confirmed",maxSupportedTransactionVersion:0});F&&(p=!0,clearInterval(w),C({err:((R=F.meta)==null?void 0:R.err)||null}),console.log("tx status from getTransaction:",N))}catch(F){p=!0,clearInterval(w),console.error("getTransaction timeout:",F,N)}},bt)),K=this.connection.onSignature(N,R=>{if(p){this.connection.removeSignatureListener(K);return}p=!0,C(R)},"confirmed"),this.connection.getSignatureStatus(N)};return O(),{txIds:[],signedTxs:y}}else{let A=[];for(let T=0;T<y.length;T+=1){let O=await this.connection.sendTransaction(y[T],{skipPreflight:x});A.push(O)}return{txIds:A,signedTxs:y}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:o||{}}}async sizeCheckBuild(t){var S;let B=t||{},{splitIns:n=[],computeBudgetConfig:o}=B,s=pe(B,["splitIns","computeBudgetConfig"]),a=o?ft(o):{instructions:[],instructionTypes:[]},u=this.signers.reduce((h,x)=>V(L({},h),{[x.publicKey.toBase58()]:x}),{}),f=[],b=[],I=[],g=0;if(this.allInstructions.forEach(h=>{let x=[...I,h],k=o?[...a.instructions,...x]:x,A=[...new Set(x.map(T=>T.keys.filter(O=>O.isSigner).map(O=>O.pubkey.toString())).flat()).values()].map(T=>new _e(T));if(h!==n[g]&&I.length<12&&($e({instructions:k,payer:this.feePayer,signers:A})||$e({instructions:x,payer:this.feePayer,signers:A})))I.push(h);else{if(I.length===0)throw Error("item ins too big");g+=h===n[g]?1:0,$e({instructions:o?[...a.instructions,...I]:[...I],payer:this.feePayer,signers:A})?f.push(new et().add(...a.instructions,...I)):f.push(new et().add(...I)),b.push(Array.from(new Set(I.map(T=>T.keys.filter(O=>O.isSigner).map(O=>O.pubkey.toString())).flat())).map(T=>u[T]).filter(T=>T!==void 0)),I=[h]}}),I.length>0){let x=[...new Set(I.map(k=>k.keys.filter(y=>y.isSigner).map(y=>y.pubkey.toString())).flat()).values()].map(k=>u[k]).filter(k=>k!==void 0);$e({instructions:o?[...a.instructions,...I]:[...I],payer:this.feePayer,signers:x.map(k=>k.publicKey)})?f.push(new et().add(...a.instructions,...I)):f.push(new et().add(...I)),b.push(x)}return f.forEach(h=>h.feePayer=this.feePayer),(S=this.owner)!=null&&S.signer&&b.forEach(h=>{h.some(x=>x.publicKey.equals(this.owner.publicKey))||h.push(this.owner.signer)}),{builder:this,transactions:f,signers:b,instructionTypes:this.instructionTypes,execute:async h=>{var N;let{sequentially:x,onTxUpdate:k,skipTxCount:y=0,recentBlockHash:A,skipPreflight:T=!0}=h||{},O=A!=null?A:await Ve(this.connection,this.blockhashCommitment);if(f.forEach(async(p,w)=>{p.recentBlockhash=O,b[w].length&&p.sign(...b[w])}),Se(f),(N=this.owner)!=null&&N.isKeyPair){if(x){let p=0,w=[];for(let K of f){if(++p,p<=y){w.push("tx skipped");continue}let C=await Ut(this.connection,K,this.signers.find(R=>R.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:T});w.push(C)}return{txIds:w,signedTxs:f}}return{txIds:await Promise.all(f.map(async p=>await this.connection.sendRawTransaction(p.serialize(),{skipPreflight:T}))),signedTxs:f}}if(this.signAllTransactions){let p=await this.signAllTransactions(f.slice(y,f.length)),w=[...f.slice(0,y),...p];if(x){let K=0,C=[],R=async()=>{if(!w[K])return;K<y&&(C.push({txId:"",status:"success",signedTx:w[K]}),k==null||k([...C]),K++,R());let F=await this.connection.sendRawTransaction(w[K].serialize(),{skipPreflight:T});C.push({txId:F,status:"sent",signedTx:w[K]}),k==null||k([...C]),K++;let z=!1,q=null,E=null,U=X=>{q!==null&&clearInterval(q),E!==null&&this.connection.removeSignatureListener(E);let ae=C.findIndex(be=>be.txId===F);if(ae>-1){if(C[ae].status==="error"||C[ae].status==="success")return;C[ae].status=X.err?"error":"success"}k==null||k([...C]),X.err||R()};this.loopMultiTxStatus&&(q=setInterval(async()=>{var X;if(z){clearInterval(q);return}try{let ae=await this.connection.getTransaction(F,{commitment:"confirmed",maxSupportedTransactionVersion:0});ae&&(z=!0,clearInterval(q),U({err:((X=ae.meta)==null?void 0:X.err)||null}),console.log("tx status from getTransaction:",F))}catch(ae){z=!0,clearInterval(q),console.error("getTransaction timeout:",ae,F)}},bt)),E=this.connection.onSignature(F,X=>{if(z){this.connection.removeSignatureListener(E);return}z=!0,U(X)},"confirmed"),this.connection.getSignatureStatus(F)};return await R(),{txIds:C.map(F=>F.txId),signedTxs:w}}else{let K=[];for(let C=0;C<w.length;C+=1){let R=await this.connection.sendRawTransaction(w[C].serialize(),{skipPreflight:T});K.push(R)}return{txIds:K,signedTxs:w}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:s||{}}}async sizeCheckBuildV0(t){var N;let O=t||{},{computeBudgetConfig:n,splitIns:o=[],lookupTableCache:s={},lookupTableAddress:a=[],insCountLimit:u=12}=O,f=pe(O,["computeBudgetConfig","splitIns","lookupTableCache","lookupTableAddress","insCountLimit"]),b=L(L({},this.cluster==="devnet"?await Wt(this.connection):await Dt(this.connection)),s),I=Array.from(new Set([...this.lookupTableAddress,...a])),g=[];for(let p of I)b[p]===void 0&&g.push(new _e(p));let B=await Et({connection:this.connection,address:g});for(let[p,w]of Object.entries(B))b[p]=w;let S=n?ft(n):{instructions:[],instructionTypes:[]},h=await Ve(this.connection,this.blockhashCommitment),x=this.signers.reduce((p,w)=>V(L({},p),{[w.publicKey.toBase58()]:w}),{}),k=[],y=[],A=[],T=0;if(this.allInstructions.forEach(p=>{let w=[...A,p],K=n?[...S.instructions,...w]:w;if(p!==o[T]&&A.length<u&&(Je({instructions:K,payer:this.feePayer,lookupTableAddressAccount:b})||Je({instructions:w,payer:this.feePayer,lookupTableAddressAccount:b})))A.push(p);else{if(A.length===0)throw Error("item ins too big");T+=p===o[T]?1:0;let C={};for(let R of[...new Set(I)])b[R]!==void 0&&(C[R]=b[R]);if(n&&Je({instructions:[...S.instructions,...A],payer:this.feePayer,lookupTableAddressAccount:b,recentBlockhash:h})){let R=new tt({payerKey:this.feePayer,recentBlockhash:h,instructions:[...S.instructions,...A]}).compileToV0Message(Object.values(b));k.push(new nt(R))}else{let R=new tt({payerKey:this.feePayer,recentBlockhash:h,instructions:[...A]}).compileToV0Message(Object.values(b));k.push(new nt(R))}y.push(Array.from(new Set(A.map(R=>R.keys.filter(F=>F.isSigner).map(F=>F.pubkey.toString())).flat())).map(R=>x[R]).filter(R=>R!==void 0)),A=[p]}}),A.length>0){let w=[...new Set(A.map(K=>K.keys.filter(C=>C.isSigner).map(C=>C.pubkey.toString())).flat()).values()].map(K=>x[K]).filter(K=>K!==void 0);if(n&&Je({instructions:[...S.instructions,...A],payer:this.feePayer,lookupTableAddressAccount:b,recentBlockhash:h})){let K=new tt({payerKey:this.feePayer,recentBlockhash:h,instructions:[...S.instructions,...A]}).compileToV0Message(Object.values(b));k.push(new nt(K))}else{let K=new tt({payerKey:this.feePayer,recentBlockhash:h,instructions:[...A]}).compileToV0Message(Object.values(b));k.push(new nt(K))}y.push(w)}return(N=this.owner)!=null&&N.signer&&y.forEach(p=>{p.some(w=>w.publicKey.equals(this.owner.publicKey))||p.push(this.owner.signer)}),k.forEach((p,w)=>{p.sign(y[w])}),{builder:this,transactions:k,buildProps:t,signers:y,instructionTypes:this.instructionTypes,execute:async p=>{var z;let{sequentially:w,onTxUpdate:K,skipTxCount:C=0,recentBlockHash:R,skipPreflight:F=!0}=p||{};if(k.map(async(q,E)=>{y[E].length&&q.sign(y[E]),R&&(q.message.recentBlockhash=R)}),Se(k),(z=this.owner)!=null&&z.isKeyPair){if(w){let q=0,E=[];for(let U of k){if(++q,q<=C){console.log("skip tx: ",q),E.push("tx skipped");continue}let X=await this.connection.sendTransaction(U,{skipPreflight:F});await yt(this.connection,X),E.push(X)}return{txIds:E,signedTxs:k}}return{txIds:await Promise.all(k.map(async q=>await this.connection.sendTransaction(q,{skipPreflight:F}))),signedTxs:k}}if(this.signAllTransactions){let q=await this.signAllTransactions(k.slice(C,k.length)),E=[...k.slice(0,C),...q];if(w){let U=0,X=[],ae=async()=>{if(!E[U])return;if(U<C){X.push({txId:"",status:"success",signedTx:E[U]}),K==null||K([...X]),U++,ae();return}let be=await this.connection.sendTransaction(E[U],{skipPreflight:F});X.push({txId:be,status:"sent",signedTx:E[U]}),K==null||K([...X]),U++;let Ye=!1,Le=null,ut=null,mn=he=>{Le!==null&&clearInterval(Le),ut!==null&&this.connection.removeSignatureListener(ut);let ge=X.findIndex(wo=>wo.txId===be);if(ge>-1){if(X[ge].status==="error"||X[ge].status==="success")return;X[ge].status=he.err?"error":"success"}K==null||K([...X]),he.err||ae()};this.loopMultiTxStatus&&(Le=setInterval(async()=>{var he;if(Ye){clearInterval(Le);return}try{let ge=await this.connection.getTransaction(be,{commitment:"confirmed",maxSupportedTransactionVersion:0});ge&&(Ye=!0,clearInterval(Le),mn({err:((he=ge.meta)==null?void 0:he.err)||null}),console.log("tx status from getTransaction:",be))}catch(ge){Ye=!0,clearInterval(Le),console.error("getTransaction timeout:",ge,be)}},bt)),ut=this.connection.onSignature(be,he=>{if(Ye){this.connection.removeSignatureListener(ut);return}Ye=!0,mn(he)},"confirmed"),this.connection.getSignatureStatus(be)};return ae(),{txIds:[],signedTxs:E}}else{let U=[];for(let X=0;X<E.length;X+=1){let ae=await this.connection.sendTransaction(E[X],{skipPreflight:F});U.push(ae)}return{txIds:U,signedTxs:E}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:f||{}}}};var Gt=(...i)=>i.map(t=>{try{return typeof t=="object"?JSON.stringify(t):t}catch{return t}}).join(", "),ue=class{constructor({scope:t,moduleName:n}){this.disabled=!1;this.scope=t,this.logger=D(n)}createTxBuilder(t){return this.scope.checkOwner(),new gt({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(Gt(t))}logInfo(...t){this.logger.info(Gt(t))}logAndCreateError(...t){let n=Gt(t);throw new Error(n)}checkDisabled(){(this.disabled||!this.scope)&&this.logAndCreateError("module not working")}};import{PublicKey as Ml,SystemProgram as vl}from"@solana/web3.js";import El from"bn.js";import{createCloseAccountInstruction as Ul,createInitializeAccountInstruction as Gl,createTransferInstruction as zl,TOKEN_PROGRAM_ID as Xl}from"@solana/spl-token";import{Keypair as kl,PublicKey as Tl}from"@solana/web3.js";import Bl from"bn.js";import{TOKEN_PROGRAM_ID as xl}from"@solana/spl-token";import{PublicKey as ui}from"@solana/web3.js";import On,{isBN as Nn}from"bn.js";import{bits as jo,BitStructure as Sc,blob as $o,Blob as Kc,cstr as xc,f32 as Cc,f32be as Rc,f64 as Lc,f64be as Oc,greedy as Nc,Layout as Jo,ns64 as Mc,ns64be as Fc,nu64 as vc,nu64be as Vc,offset as ei,s16 as _c,s16be as Ec,s24 as Dc,s24be as Wc,s32 as ti,s32be as qc,s40 as Uc,s40be as Gc,s48 as zc,s48be as Xc,s8 as Yc,seq as ni,struct as Qc,Structure as oi,u16 as ii,u16be as Zc,u24 as Hc,u24be as jc,u32 as ri,u32be as $c,u40 as Jc,u40be as el,u48 as tl,u48be as nl,u8 as ai,UInt as si,union as ol,Union as il,unionLayoutDiscriminator as rl,utf8 as al}from"@solana/buffer-layout";var Pt=Jo,Cn=oi;var zt=si;var Rn=ai,Z=ii;var ot=ri;var me=ti;var Ln=ni;var _=$o;var Xt=jo,Yt=ei;var xe=class extends Pt{constructor(n,o,s){super(n,s);this.blob=_(n),this.signed=o}decode(n,o=0){let s=new On(this.blob.decode(n,o),10,"le");return this.signed?s.fromTwos(this.span*8).clone():s}encode(n,o,s=0){return typeof n=="number"&&(n=new On(n)),this.signed&&(n=n.toTwos(this.span*8)),this.blob.encode(n.toArrayLike(Buffer,"le",this.span),o,s)}},At=class extends Pt{constructor(n){super(8,n);this._lower=Xt(ot(),!1),this._upper=Xt(ot(),!1)}addBoolean(n){this._lower.fields.length<32?this._lower.addBoolean(n):this._upper.addBoolean(n)}decode(n,o=0){let s=this._lower.decode(n,o),a=this._upper.decode(n,o+this._lower.span);return L(L({},s),a)}encode(n,o,s=0){return this._lower.encode(n,o,s)+this._upper.encode(n,o,s+this._lower.span)}};function m(i){return new zt(1,i)}function Q(i){return new zt(4,i)}function e(i){return new xe(8,!1,i)}function v(i){return new xe(16,!1,i)}function Mn(i){return new xe(1,!0,i)}function Ee(i){return new xe(8,!0,i)}function Fn(i){return new xe(16,!0,i)}var Ce=class extends Pt{constructor(n,o,s,a){super(n.span,a);this.layout=n,this.decoder=o,this.encoder=s}decode(n,o){return this.decoder(this.layout.decode(n,o))}encode(n,o,s){return this.layout.encode(this.encoder(n),o,s)}getSpan(n,o){return this.layout.getSpan(n,o)}};function r(i){return new Ce(_(32),t=>new ui(t),t=>t.toBuffer(),i)}function ce(i){return new Ce(Rn(),ci,li,i)}function ci(i){if(i===0)return!1;if(i===1)return!0;throw new Error("Invalid bool: "+i)}function li(i){return i?1:0}function vn(i,t){let n=ot("length"),o=d([n,P(i,Yt(n,-n.span),"values")]);return new Ce(o,({values:s})=>s,s=>({values:s}),t)}function mi(i){let t=ot("length"),n=d([t,_(Yt(t,-t.span),"data")]);return new Ce(n,({data:o})=>o,o=>({data:o}),i)}function ne(i){return new Ce(mi(),t=>t.toString("utf-8"),t=>Buffer.from(t,"utf-8"),i)}var Qt=class extends Cn{decode(t,n){return super.decode(t,n)}};function d(i,t,n){return new Qt(i,t,n)}function P(i,t,n){let o,s=typeof t=="number"?t:Nn(t)?t.toNumber():new Proxy(t,{get(a,u){if(!o){let f=Reflect.get(a,"count");o=Nn(f)?f.toNumber():f,Reflect.set(a,"count",o)}return Reflect.get(a,u)},set(a,u,f){return u==="count"&&(o=f),Reflect.set(a,u,f)}});return Ln(i,s,n)}var wt=d([r("mint"),r("owner"),e("amount"),Q("delegateOption"),r("delegate"),m("state"),Q("isNativeOption"),e("isNative"),e("delegatedAmount"),Q("closeAuthorityOption"),r("closeAuthority")]);import{PublicKey as aP,SystemProgram as sP}from"@solana/web3.js";import{createAssociatedTokenAccountIdempotentInstruction as cP}from"@solana/spl-token";import{PublicKey as Am}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as km}from"@solana/spl-token";import{PublicKey as M}from"@solana/web3.js";var _n=new M("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),En=new M("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),Dn=new M("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Zt=new M("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),Bm=new M("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),pi=new M("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),Wn=new M("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),qn=new M("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),Sm=new M("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),fi=new M("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Un=new M("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),yi=new M("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),bi=new M("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),Gn=new M("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Km=new M("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),gi=new M("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Ht=new M("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),Pi=new M("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),xm=new M("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),Ai=new M("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),wi=new M("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),ki=new M("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),Cm=new M("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),Rm=new M("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),Lm=new M("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),Om=new M("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),Nm=new M("6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX");var ke={OPEN_BOOK_PROGRAM:new M("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),SERUM_PROGRAM_ID_V3:new M("Ray1111111111111111111111111111111111111111"),AMM_V4:new M("DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav"),AMM_STABLE:new M("DRayDdXc1NZQ9C3hRWmoSf8zK4iapgMnjdNZWrfwsP8m"),CLMM_PROGRAM_ID:new M("DRayAUgENGQBKVaX8owNhgzkEDyoHTGVEGHVJT1E9pfH"),CLMM_LOCK_PROGRAM_ID:new M("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),CLMM_LOCK_AUTH_ID:new M("6Aoh8h2Lw2m5UGxYR8AdAL87jTWYeKoxM52mJRzfYwN"),CREATE_CPMM_POOL_PROGRAM:new M("DRaycpLY18LhpbydsBWbVJtxpNv9oXPgjRSfpF2bWpYb"),CREATE_CPMM_POOL_AUTH:new M("CXniRufdq5xL8t8jZAPxsPZDpuudwuJSPWnbcD5Y5Nxq"),CREATE_CPMM_POOL_FEE_ACC:new M("3oE58BKVt8KuYkGxx8zBojugnymWmBiyafWgMrnb6eYy"),LOCK_CPMM_PROGRAM:new M("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),LOCK_CPMM_AUTH:new M("7qWVV8UY2bRJfDLP4s37YzBPKUkVB46DStYJBpYbQzu3"),UTIL1216:M.default,Router:new M("DRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd"),FARM_PROGRAM_ID_V3:new M("DRayWyrLmEW5KEeqs8kdTMMaBabapqagaBC7KWpGtJeZ"),FARM_PROGRAM_ID_V4:new M("Ray1111111111111111111111111111111111111111"),FARM_PROGRAM_ID_V5:new M("DRayiCGSZgku1GTK6rXD6mVDdingXy6APAH1R6R5L2LC"),FARM_PROGRAM_ID_V6:new M("DRayzbYakXs45ELHkzH6vC3fuhQqTAnv5A68gdFuvZyZ"),LAUNCHPAD_PROGRAM:new M("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),LAUNCHPAD_AUTH:new M("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),LAUNCHPAD_PLATFORM:new M("2Jx4KTDrVSdWNazuGpcA8n3ZLTRGGBDxAWhuKe2Xcj2a"),LAUNCHPAD_CONFIG:new M("7ZR4zD7PYfY2XxoG1Gxcy2EgEeGYrpxrwzPuwdUBssEt"),FEE_DESTINATION_ID:new M("9y8ENuuZ3b19quffx9hQvRVygG5ky6snHfRvGpuSfeJy"),MODEL_DATA_PUBKEY:new M("Ray1111111111111111111111111111111111111111")};import AP from"decimal.js";import{createAssociatedTokenAccountIdempotentInstruction as Vy,TOKEN_2022_PROGRAM_ID as _y,TOKEN_PROGRAM_ID as Ey}from"@solana/spl-token";import{PublicKey as Wy}from"@solana/web3.js";import Uy from"bn.js";import zy from"decimal.js";import{TOKEN_PROGRAM_ID as Ym}from"@solana/spl-token";import{PublicKey as jm}from"@solana/web3.js";var Ti=d([Q("mintAuthorityOption"),r("mintAuthority"),e("supply"),m("decimals"),m("isInitialized"),Q("freezeAuthorityOption"),r("freezeAuthority")]);import{ASSOCIATED_TOKEN_PROGRAM_ID as ry,TOKEN_2022_PROGRAM_ID as ay,TOKEN_PROGRAM_ID as sy}from"@solana/spl-token";import{Keypair as ly,PublicKey as my,SystemProgram as py,TransactionInstruction as fy}from"@solana/web3.js";import by from"bn.js";import W from"bn.js";var We=new W(1).shln(64);var hi=new W(1).shln(128),jt=new W(1).shln(64).subn(1),Ii=new W(1).shln(128).subn(1);var qe=new W("4295048016"),Ue=new W("79226673521066979257578248091"),Bi=new W("59543866431248"),Si=new W("184467440737095516"),Ki=new W("15793534762490258745");var $t=60,cd=new W("18446743708227953217"),xi=[{bit:0,factor:new W("fffcb933bd6fb800",16)},{bit:1,factor:new W("fff97272373d4000",16)},{bit:2,factor:new W("fff2e50f5f657000",16)},{bit:3,factor:new W("ffe5caca7e10f000",16)},{bit:4,factor:new W("ffcb9843d60f7000",16)},{bit:5,factor:new W("ff973b41fa98e800",16)},{bit:6,factor:new W("ff2ea16466c9b000",16)},{bit:7,factor:new W("fe5dee046a9a3800",16)},{bit:8,factor:new W("fcbe86c7900bb000",16)},{bit:9,factor:new W("f987a7253ac65800",16)},{bit:10,factor:new W("f3392b0822bb6000",16)},{bit:11,factor:new W("e7159475a2caf000",16)},{bit:12,factor:new W("d097f3bdfd2f2000",16)},{bit:13,factor:new W("a9f746462d9f8000",16)},{bit:14,factor:new W("70d869a156f31c00",16)},{bit:15,factor:new W("31be135f97ed3200",16)},{bit:16,factor:new W("9aa508b5b85a500",16)},{bit:17,factor:new W("5d6af8dedc582c",16)},{bit:18,factor:new W("2216e584f5fa",16)}];var it=3,zn=100;var Xn=10,Yn=100,Tt=14;var ee=new W(0),Ge=new W(1),ld=new W(-1);var md=new W("18446744073700000000");var Ci=d([_(8),m("bump"),Z("index"),r("owner"),Q("protocolFeeRate"),Q("tradeFeeRate"),Z("tickSpacing"),Q("fundFeeRate"),P(Q(),1),r("fundOwner"),P(e(),3)]),Ri=d([Q("blockTimestamp"),Ee("tickCumulative"),P(e(),4)]),Qn=d([_(8),ce("initialized"),e("recentEpoch"),Z("observationIndex"),r("poolId"),P(Ri,zn,"observations"),P(e(),4)]),Li=d([Z("filterPeriod"),Z("decayPeriod"),Z("reductionFactor"),Q("dynamicFeeControl"),Q("maxVolatilityAccumulator"),me("tickSpacingIndexReference"),Q("volatilityReference"),Q("volatilityAccumulator"),e("lastUpdateTimestamp"),P(m(),46)]),Oi=d([m("state"),e("openTime"),e("endTime"),e("lastUpdateTime"),v("emissionsPerSecondX64"),e("totalEmissioned"),e("claimed"),r("mint"),r("vault"),r("creator"),v("growthGlobalX64")]),Jt=d([_(8),m("bump"),r("configId"),r("creator"),r("mintA"),r("mintB"),r("vaultA"),r("vaultB"),r("observationId"),m("mintDecimalsA"),m("mintDecimalsB"),Z("tickSpacing"),v("liquidity"),v("sqrtPriceX64"),me("tickCurrent"),Q(),v("feeGrowthGlobalX64A"),v("feeGrowthGlobalX64B"),e("protocolFeesTokenA"),e("protocolFeesTokenB"),P(v(),4),m("status"),m("feeOn"),_(6),P(Oi,it,"rewardInfos"),_(8*16,"tickArrayBitmap"),P(e(),4),e("fundFeesTokenA"),e("fundFeesTokenB"),e("startTime"),e("recentEpoch"),Li.replicate("dynamicFeeInfo"),P(e(),46)]),Ni=d([v("growthInsideLastX64"),e("rewardAmountOwed")]),Mi=d([_(8),m("bump"),r("nftMint"),r("poolId"),me("tickLower"),me("tickUpper"),v("liquidity"),v("feeGrowthInsideLastX64A"),v("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),P(Ni,it,"rewardInfos"),e("recentEpoch"),P(e(),7)]),yd=d([_(8),m("bump"),r("poolId"),me("tickLower"),me("tickUpper"),v("liquidity"),v("feeGrowthInsideLastX64A"),v("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),P(v(),it,"rewardGrowthInside"),e("recentEpoch"),P(e(),7)]),Fi=d([me("tick"),Fn("liquidityNet"),v("liquidityGross"),v("feeGrowthOutsideX64A"),v("feeGrowthOutsideX64B"),P(v(),it,"rewardGrowthsOutsideX64"),e("orderPhase"),e("ordersAmount"),e("partFilledOrdersRemaining"),v("unfilledRatioX64"),P(Q(),3)]),Zn=d([_(8),r("poolId"),me("startTickIndex"),P(Fi,$t,"ticks"),m("initializedTickCount"),e("recentEpoch"),P(m(),107)]),vi=d([_(8),m("bump"),P(r(),Xn,"operationOwners"),P(r(),Yn,"whitelistMints")]),Vi=d([_(8),r("poolId"),r("owner"),me("tick"),ce("zeroForOne"),e("orderPhase"),e("totalAmount"),e("filledAmount"),e("settleBase"),e("settleOutput"),e("openTime"),v("unfilledRatioX64"),P(e(),4)]),Hn=d([_(8),r("poolId"),_(8*8*Tt,"positiveTickArrayBitmap"),_(8*8*Tt,"negativeTickArrayBitmap")]),bd=d([_(8),Z("index"),Z("filterPeriod"),Z("decayPeriod"),Z("reductionFactor"),Q("dynamicFeeControl"),Q("maxVolatilityAccumulator"),P(e(),8)]),_i=d([_(8),r("wallet"),m("nonceIndex"),e("orderNonce"),P(e(),4)]),gd=d([e(),m("bump"),r("owner"),r("poolId"),r("positionId"),r("nftAccount"),P(e(),8)]),Ei=d([_(8),m("bump"),r("lockOwner"),r("poolId"),r("positionId"),r("nftAccount"),r("lockNftMint"),e("recentEpoch"),P(e(),8)]);import wd from"bn.js";var Ld=Buffer.from("amm_config","utf8"),Wi=Buffer.from("pool","utf8"),qi=Buffer.from("pool_vault","utf8"),Od=Buffer.from("pool_reward_vault","utf8"),Nd=Buffer.from("position","utf8"),Md=Buffer.from("tick_array","utf8"),Fd=Buffer.from("operation","utf8"),vd=Buffer.from("pool_tick_array_bitmap_extension","utf8"),Vd=Buffer.from("observation","utf8"),_d=Buffer.from("support_mint","utf8"),Ed=Buffer.from("dynamic_fee_config","utf8"),Dd=Buffer.from("permission","utf8");var Wd=Buffer.from("locked_position","utf8");import{sha256 as or}from"js-sha256";import Ui from"bn.js";import zd from"decimal.js";var Yd=new Ui(1).shln(256).subn(1);import mp from"bn.js";import ep from"bn.js";import np from"decimal.js";import bp from"bn.js";import Pp from"decimal.js";import{PublicKey as rf}from"@solana/web3.js";import sf from"bn.js";import{TOKEN_2022_PROGRAM_ID as yf,TOKEN_PROGRAM_ID as bf}from"@solana/spl-token";import wf from"decimal.js";import Yp from"bn.js";import Mp from"bn.js";import Lf from"bn.js";function te(i){let t=`global:${i}`;return Buffer.from(or.digest(t)).slice(0,8)}Qn.span;var Iy=D("Raydium_Clmm"),By={createPool:te("create_pool"),createCustomizablePool:te("create_customizable_pool"),createPermissionedPool:te("create_permissioned_pool"),openPositionV2:te("open_position_v2"),openPositionWithToken22Nft:te("open_position_with_token22_nft"),closePosition:te("close_position"),increaseLiquidityV2:te("increase_liquidity_v2"),decreaseLiquidityV2:te("decrease_liquidity_v2"),initializeReward:te("initialize_reward"),setRewardParams:te("set_reward_params"),updateRewardInfos:te("update_reward_infos"),collectRemainingRewards:te("collect_remaining_rewards"),swapV2:te("swap_v2"),openLimitOrder:te("open_limit_order"),increaseLimitOrder:te("increase_limit_order"),decreaseLimitOrder:te("decrease_limit_order"),settleLimitOrder:te("settle_limit_order"),closeLimitOrder:te("close_limit_order")};import{PublicKey as on}from"@solana/web3.js";var sr=d([m("instruction")]),ur=d([m("instruction")]),cr=d([e("rewardState"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardLastUpdateTime"),e("totalReward"),e("totalRewardEmissioned"),e("rewardClaimed"),e("rewardPerSecond"),v("accRewardPerShare"),r("rewardVault"),r("rewardMint"),r("rewardSender"),e("rewardType"),P(e(),15,"padding")]),lr=d([e("state"),e("nonce"),r("lpVault"),r("rewardVault"),r(),r(),e(),e(),e("totalReward"),v("perShareReward"),e("lastSlot"),e("perSlotReward")]),mr=d([e("state"),e("nonce"),r("lpVault"),r("rewardVaultA"),e("totalRewardA"),v("perShareRewardA"),e("perSlotRewardA"),m("option"),r("rewardVaultB"),_(7),e("totalRewardB"),v("perShareRewardB"),e("perSlotRewardB"),e("lastSlot"),r()]),dr=d([e(),e("state"),e("nonce"),e("validRewardTokenNum"),v("rewardMultiplier"),e("rewardPeriodMax"),e("rewardPeriodMin"),e("rewardPeriodExtend"),r("lpMint"),r("lpVault"),P(cr,5,"rewardInfos"),r("creator"),r(),P(e(),32,"padding")]),pr=new Proxy(lr,{get(i,t,n){return t==="decode"?(...o)=>{let s=i.decode(...o);return V(L({},s),{version:3,rewardInfos:[{rewardVault:s.rewardVault,totalReward:s.totalReward,perSlotReward:s.perSlotReward,perShareReward:s.perShareReward}]})}:Reflect.get(i,t,n)}}),fr=new Proxy(mr,{get(i,t,n){return t==="decode"?(...o)=>{let s=i.decode(...o);return V(L({},s),{version:5,rewardInfos:[{rewardVault:s.rewardVaultA,totalReward:s.totalRewardA,perSlotReward:s.perSlotRewardA,perShareReward:s.perShareRewardA},{rewardVault:s.rewardVaultB,totalReward:s.totalRewardB,perSlotReward:s.perSlotRewardB,perShareReward:s.perShareRewardB}]})}:Reflect.get(i,t,n)}}),oo=new Proxy(dr,{get(i,t,n){return t==="decode"?(...o)=>{let s=i.decode(...o);return V(L({},s),{version:6,rewardInfos:s.rewardInfos.map(a=>{var u;return V(L({},a),{rewardType:((u=Object.entries(st).find(f=>String(f[1])===a.rewardType.toString()))!=null?u:["Standard SPL"])[0]})})})}:Reflect.get(i,t,n)}}),yr=d([e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),br=d([m("instruction"),e("nonce"),P(yr,5,"rewardTimeInfo")]),gr=d([m("instruction"),e("rewardReopenTime"),e("rewardEndTime"),e("rewardPerSecond")]),Pr=d([m("instruction"),e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),Ib=d([e("state"),r("id"),r("owner"),e("deposited"),P(e(),1,"rewardDebts")]),io=d([e("state"),r("id"),r("owner"),e("deposited"),P(v(),1,"rewardDebts"),e(""),e("voteLockedBalance"),P(e(),15)]),Bb=d([e("state"),r("id"),r("owner"),e("deposited"),P(e(),2,"rewardDebts")]),Ar=d([e("state"),r("id"),r("owner"),e("deposited"),P(v(),2,"rewardDebts"),P(e(),17)]),wr=d([e(),e("state"),r("id"),r("owner"),e("deposited"),P(v(),5,"rewardDebts"),P(e(),16)]),kr=d([m("instruction"),e("amount")]),Tr=d([r("mint"),r("grantAuthority"),e("baselineVoteWeightScaledFactor"),e("maxExtraLockupVoteWeightScaledFactor"),e("lockupSaturationSecs"),Mn("digitShift"),P(m(),7,"reserved1"),P(e(),7,"reserved2")]),hr=d([_(8),r("governanceProgramId"),r("realm"),r("realmGoverningTokenMint"),r("realmAuthority"),P(m(),32,"reserved1"),P(Tr,4,"votingMints"),Ee("timeOffset"),m("bump"),P(m(),7,"reserved2"),P(e(),11,"reserved3")]),Ir=d([Ee("startTime"),Ee("endTime"),m("kind"),P(m(),15,"reserved")]),Br=d([P(Ir,1,"lockup"),e("amountDeposited_native"),e("amountInitiallyLockedNative"),ce("isUsed"),ce("allowClawback"),m("votingMintConfigIdx"),P(m(),29,"reserved")]),Sr=d([_(8),r("voterAuthority"),r("registrar"),P(Br,32,"deposits"),m("voterBump"),m("voterWweightRecordBump"),P(m(),94,"reserved")]);import{NATIVE_MINT as Mb}from"@solana/spl-token";var Fb=D("Raydium_farm_config"),Kr=new on("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),xr=new on("FrspKwj8i3pNmKwXreTveC4fu7KL5ZbGeXdZBe2XViu1");var vb=new on("3TRTX4dXUpp2eqxi3tvQDFYUV7SdDJjcPE3Y4mbtftaX");var st={"Standard SPL":0,"Option tokens":1},ro={[_n.toString()]:3,[En.toString()]:4,[Dn.toString()]:5,[Zt.toString()]:6,[ke.FARM_PROGRAM_ID_V3.toString()]:3,[ke.FARM_PROGRAM_ID_V4.toString()]:4,[ke.FARM_PROGRAM_ID_V5.toString()]:5,[ke.FARM_PROGRAM_ID_V6.toString()]:6};import{PublicKey as kg,SystemProgram as Tg,SYSVAR_CLOCK_PUBKEY as hg,SYSVAR_RENT_PUBKEY as Ig,TransactionInstruction as Bg}from"@solana/web3.js";import Kg from"bn.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as Cg,createAssociatedTokenAccountIdempotentInstruction as Rg,TOKEN_PROGRAM_ID as Lg}from"@solana/spl-token";import jb from"bn.js";import{PublicKey as qb}from"@solana/web3.js";import Gb from"bn.js";var lg=D("Raydium.farm.util");var qg=D("Raydium_farm_instruction"),Ug={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 RP from"bn.js";import{PublicKey as _w}from"@solana/web3.js";import{AccountLayout as Ww,MintLayout as qw,NATIVE_MINT as Uw,TOKEN_PROGRAM_ID as zw}from"@solana/spl-token";import NP from"bn.js";import so from"bn.js";var vr=new so(25),Vr=new so(1e4);import{ASSOCIATED_TOKEN_PROGRAM_ID as tA,TOKEN_PROGRAM_ID as nA}from"@solana/spl-token";import{PublicKey as iA,SystemProgram as rA,SYSVAR_RENT_PUBKEY as aA,TransactionInstruction as sA}from"@solana/web3.js";import yA from"bn.js";var _r=d([m("instruction"),e("amountIn"),e("minAmountOut")]),Er=d([m("instruction"),e("maxAmountIn"),e("amountOut")]),jP=d([m("instruction"),m("nonce")]),Dr=d([m("instruction"),m("nonce"),e("startTime")]),uo=d([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"),v("swapBaseInAmount"),v("swapQuoteOutAmount"),e("swapBase2QuoteFee"),v("swapQuoteInAmount"),v("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"),P(e(),3,"padding")]),$P=d([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"),v("swapBaseInAmount"),v("swapQuoteOutAmount"),v("swapQuoteInAmount"),v("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"),P(e(),64,"padding")]),Wr=d([m("instruction"),e("baseAmountIn"),e("quoteAmountIn"),e("fixedSide"),e("otherAmountMin")]),qr=d([m("instruction"),e("lpAmount"),e("baseAmountMin"),e("quoteAmountMin")]);var Ur=d([e("fee")]);var PA=D("Raydium_liquidity_instruction");var Gr=5e4,zr=d([e("x"),e("y"),e("price")]),TA=d([e("accountType"),e("status"),e("multiplier"),e("validDataCount"),P(zr,Gr,"DataElement")]);import{PublicKey as MA}from"@solana/web3.js";import vA from"decimal.js";import{TOKEN_PROGRAM_ID as _A}from"@solana/spl-token";import{PublicKey as SA}from"@solana/web3.js";var CA=D("Raydium_liquidity_serum");import mk from"bn.js";import pk from"decimal.js";import{TOKEN_PROGRAM_ID as mw}from"@solana/spl-token";import{PublicKey as pw}from"@solana/web3.js";import yw from"bn.js";import{SystemProgram as $A,SYSVAR_RENT_PUBKEY as JA,Transaction as ew,TransactionInstruction as tw}from"@solana/web3.js";import{createInitializeAccountInstruction as ow,TOKEN_PROGRAM_ID as iw}from"@solana/spl-token";function Xr(i="accountFlags"){let t=new At(i);return t.addBoolean("initialized"),t.addBoolean("market"),t.addBoolean("openOrders"),t.addBoolean("requestQueue"),t.addBoolean("eventQueue"),t.addBoolean("bids"),t.addBoolean("asks"),t}var Yr=d([_(5),Xr("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"),_(7)]);import{PublicKey as _T}from"@solana/web3.js";import{AccountLayout as DT,NATIVE_MINT as WT,TOKEN_2022_PROGRAM_ID as qT,TOKEN_PROGRAM_ID as UT,createAssociatedTokenAccountIdempotentInstruction as GT}from"@solana/spl-token";import Vk from"bn.js";import ea from"bn.js";var hk=new ea(0);import Ck from"bn.js";import ta from"bn.js";var Bt=new ta(1e6);import $T from"bn.js";import eh from"decimal.js";import{PublicKey as tT,TransactionInstruction as nT,Keypair as iT,SystemProgram as rT}from"@solana/web3.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as sT,TOKEN_2022_PROGRAM_ID as uT,TOKEN_PROGRAM_ID as cT}from"@solana/spl-token";var qk=Buffer.from("vault_and_lp_mint_auth_seed","utf8"),Uk=Buffer.from("amm_config","utf8"),Gk=Buffer.from("pool","utf8"),zk=Buffer.from("pool_lp_mint","utf8"),Xk=Buffer.from("pool_vault","utf8"),Yk=Buffer.from("observation","utf8"),Qk=Buffer.from("permission","utf8"),Zk=Buffer.from("support_mint","utf8");var Hk=Buffer.from("locked_liquidity","utf8");var bT=D("Raydium_cpmm"),gT={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 ia=d([_(8),m("bump"),ce("disableCreatePool"),Z("index"),e("tradeFeeRate"),e("protocolFeeRate"),e("fundFeeRate"),e("createPoolFee"),r("protocolOwner"),r("fundOwner"),e("creatorFeeRate"),P(e(),15)]),co=d([_(8),r("configId"),r("poolCreator"),r("vaultA"),r("vaultB"),r("mintLp"),r("mintA"),r("mintB"),r("mintProgramA"),r("mintProgramB"),r("observationId"),m("bump"),m("status"),m("lpDecimals"),m("mintDecimalA"),m("mintDecimalB"),e("lpAmount"),e("protocolFeesMintA"),e("protocolFeesMintB"),e("fundFeesMintA"),e("fundFeesMintB"),e("openTime"),e("epoch"),m("feeOn"),ce("enableCreatorFee"),P(m(),6),e("creatorFeesMintA"),e("creatorFeesMintB"),P(e(),28)]),wT=d([_(8),r("configId"),P(e(),30)]);import{PublicKey as dK,SystemProgram as pK}from"@solana/web3.js";import{createTransferInstruction as yK,TOKEN_PROGRAM_ID as bK,TOKEN_2022_PROGRAM_ID as gK,createAssociatedTokenAccountIdempotentInstruction as PK,createSyncNativeInstruction as wK,createTransferCheckedInstruction as kK}from"@solana/spl-token";import Oa from"bn.js";import IK from"decimal.js";var Yh=Buffer.from("vault_auth_seed","utf8"),Qh=Buffer.from("global_config","utf8"),Zh=Buffer.from("pool_vesting","utf8"),Hh=Buffer.from("platform_config","utf8"),jh=Buffer.from("platform_fee_vault_auth_seed","utf8"),$h=Buffer.from("creator_fee_vault_auth_seed","utf8"),Jh=Buffer.from("platform_global_access","utf8"),eI=Buffer.from("platform_allow_config","utf8");function Te(i){return le([Buffer.from("__event_authority","utf8")],i)}var sa=d([e(),e("epoch"),m("curveType"),Z("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"),P(e(),16)]),ua=d([e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod"),e("startTime"),e("totalAllocatedShare")]),ca=d([e(),e("epoch"),m("bump"),m("status"),m("mintDecimalsA"),m("mintDecimalsB"),m("migrateType"),e("supply"),e("totalSellA"),e("virtualA"),e("virtualB"),e("realA"),e("realB"),e("totalFundRaisingB"),e("protocolFee"),e("platformFee"),e("migrateFee"),ua.replicate("vestingSchedule"),r("configId"),r("platformId"),r("mintA"),r("mintB"),r("vaultA"),r("vaultB"),r("creator"),m("mintProgramFlag"),m("cpmmCreatorFeeOn"),e("platformVestingShare"),P(m(),54)]),iI=d([e(),e("epoch"),r("poolId"),r("beneficiary"),e("claimedAmount"),e("tokenShareAmount"),P(e(),8)]),an=d([m("migrateType"),m("migrateCpmmFeeOn"),e("supply"),e("totalSellA"),e("totalFundRaisingB"),e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod")]),la=d([e("epoch"),m("index"),r("configId"),an.replicate("bondingCurveParam"),P(e(),50)]),mo=d([e(),e("epoch"),r("platformClaimFeeWallet"),r("platformLockNftWallet"),e("platformScale"),e("creatorScale"),e("burnScale"),e("feeRate"),P(m(),64,"name"),P(m(),256,"web"),P(m(),256,"img"),r("cpConfigId"),e("creatorFeeRate"),r("transferFeeExtensionAuth"),r("platformVestingWallet"),e("platformVestingScale"),r("platformCpCreator"),m("restrictGlobalConfig"),P(m(),107),vn(la,"platformCurve")]);import{TOKEN_2022_PROGRAM_ID as sI,TOKEN_PROGRAM_ID as uI}from"@solana/spl-token";import dI from"bn.js";import fI from"decimal.js";import XI from"bn.js";import QI from"decimal.js";import wI from"bn.js";import TI from"decimal.js";import OI from"bn.js";import MI from"decimal.js";import yo from"bn.js";import sn from"decimal.js";var xt=class{static _multipler(t){return new sn(10).pow(t)}static getPrice({priceX64:t,decimalA:n,decimalB:o}){return new sn(t.toString()).div(this._Q64).mul(this._multipler(n)).div(this._multipler(o))}static getPriceX64({price:t,decimalA:n,decimalB:o}){let s=t.mul(this._multipler(o)).div(this._multipler(n));return new yo(s.mul(this._Q64).toFixed(0))}};xt._Q64=new sn(new yo(1).shln(64).toString());import{NATIVE_MINT as qB,TOKEN_2022_PROGRAM_ID as UB,TOKEN_PROGRAM_ID as GB,createAssociatedTokenAccountIdempotentInstruction as XB,createSyncNativeInstruction as YB,getTransferFeeConfig as QB,unpackMint as ZB}from"@solana/spl-token";import H from"bn.js";import{PublicKey as ya,SystemProgram as $B}from"@solana/web3.js";import rS from"decimal.js";var aS={initPriceX64:new H("515752397214619"),supply:new H(1e15),totalSellA:new H(7931e11),totalFundRaisingB:new H(85e9),totalFundRaisingBUSD:new H(125e8),totalLockedAmount:new H("0"),cliffPeriod:new H("0"),unlockPeriod:new H("0"),decimals:6,virtualA:new H("1073471847374405"),virtualB:new H("30050573465"),realA:new H(0),realB:new H(0),protocolFee:new H(0),platformId:new ya("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),vestingSchedule:{totalLockedAmount:new H(0),cliffPeriod:new H(0),unlockPeriod:new H(0),startTime:new H(0),totalAllocatedShare:new H(0)}},sS=new H(1e4);var Ra={[Wn.toBase58()]:3};var La=d([_(5),_(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"),_(7)]);import{PublicKey as RS}from"@solana/web3.js";var FS=D("Serum");import{ASSOCIATED_TOKEN_PROGRAM_ID as GS,TOKEN_2022_PROGRAM_ID as zS,TOKEN_PROGRAM_ID as XS}from"@solana/spl-token";import{PublicKey as QS,SystemProgram as ZS,TransactionInstruction as HS}from"@solana/web3.js";import $S from"bn.js";var ex=new Oa(0);import{PublicKey as Na,Transaction as un,TransactionInstruction as Ma}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Fa}from"@solana/spl-token";import Po from"bn.js";var ie=class extends ue{static getPdaPoolId(t,n){return le([ie.SEED_CONFIG.pool.id,n.toBuffer()],t)}static getPdaOwnerId(t,n,o,s){return le([ie.SEED_CONFIG.owner.id,n.toBuffer(),o.toBuffer(),Buffer.from(new Po(s).toArray())],t)}static async getAllInfo({connection:t,programId:n,poolIds:o,wallet:s,chainTime:a}){if(o.length===0)return[];let u=o.map(g=>ie.getPdaPoolId(n,g).publicKey),f=[];for(let g=0;g<ie.VERSION_PROJECT.length;g++)f.push(...u.map(B=>ie.getPdaOwnerId(n,B,s,g).publicKey));let b=await Pe(t,[...u,...f]),I=[];for(let g=0;g<b.length;g++){let B=Math.floor(g/o.length),S=g%o.length,h=u[S],x=f[g],k=b[S],y=b[o.length+g];if(!(k&&y)||k.data.length!==ie.POOL_LAYOUT.span||y.data.length!==ie.OWNER_LAYOUT.span)continue;let A=ie.POOL_LAYOUT.decode(k.data),T=ie.OWNER_LAYOUT.decode(y.data),O=A.openTime.toNumber(),N=A.endTime.toNumber(),p=T.tokenInfo.map(C=>C.debtAmount.gt(new Po(0))).filter(C=>!C).length!==3,w=a>O&&a<N&&A.status===1,K=p&&w;I.push({programId:n,poolId:h,ammId:A.ammId,ownerAccountId:x,snapshotLpAmount:T.lpAmount,project:ie.VERSION_PROJECT[B],openTime:O,endTime:N,canClaim:K,canClaimErrorType:p?w?void 0:"outOfOperationalTime":"alreadyClaimIt",tokenInfo:A.tokenInfo.map((C,R)=>({mintAddress:C.mintAddress,mintVault:C.mintVault,mintDecimals:C.mintDecimals,perLpLoss:C.perLpLoss,debtAmount:T.tokenInfo[R].debtAmount.add(T.tokenInfo[R].claimedAmount)}))})}return I}async makeClaimTransaction({poolInfo:t,ownerInfo:n,feePayer:o}){n.wallet||this.scope.checkOwner();let s=this.createTxBuilder(o),a=n.wallet||this.scope.ownerPubKey,u=[];for(let I of t.tokenInfo){let{account:g,instructionParams:B}=await this.scope.account.getOrCreateTokenAccount({mint:I.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:I.mintAddress.equals(oe.WSOL.mint),createInfo:{payer:a,amount:0},skipCloseAccount:!I.mintAddress.equals(oe.WSOL.mint),associatedOnly:I.mintAddress.equals(oe.WSOL.mint)?!1:n.associatedOnly});B&&s.addInstruction(B),u.push(g)}s.addInstruction({instructions:[ie.makeClaimInstruction({programId:t.programId,poolInfo:t,ownerInfo:{wallet:a,ownerPda:t.ownerAccountId,claimAddress:u}})]});let{transaction:f,signers:b}=s.build();return[{transaction:f,signer:b}]}async makeClaimAllTransaction({poolInfos:t,ownerInfo:n,feePayer:o}){let s=this.createTxBuilder(o),a=n.wallet||this.scope.ownerPubKey,u={};for(let g of t){let B=[];for(let S of g.tokenInfo){let{account:h,instructionParams:x}=await this.scope.account.getOrCreateTokenAccount({mint:S.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:S.mintAddress.equals(oe.WSOL.mint),createInfo:{payer:a,amount:0},skipCloseAccount:!S.mintAddress.equals(oe.WSOL.mint),associatedOnly:S.mintAddress.equals(oe.WSOL.mint)?!1:n.associatedOnly});x&&s.addInstruction(x),h&&(u[S.mintAddress.toString()]=h,B.push(h))}s.addInstruction({instructions:[ie.makeClaimInstruction({programId:g.programId,poolInfo:g,ownerInfo:{wallet:a,ownerPda:g.ownerAccountId,claimAddress:B}})]})}let{transaction:f,signers:b}=s.build(),I=s.allInstructions;return qt(I,[a,...b.map(g=>g.publicKey)])?[{transaction:f,signer:b}]:[{transaction:new un().add(...I.slice(0,s.AllTxData.instructions.length-1)),signer:b},{transaction:new un().add(...I.slice(s.AllTxData.instructions.length-1)),signer:[]},{transaction:new un().add(...s.AllTxData.endInstructions),signer:[]}]}static makeClaimInstruction({programId:t,poolInfo:n,ownerInfo:o}){let s=d([]),a=[{pubkey:o.wallet,isSigner:!0,isWritable:!0},{pubkey:n.poolId,isSigner:!1,isWritable:!0},{pubkey:o.ownerPda,isSigner:!1,isWritable:!0},...o.claimAddress.map(b=>({pubkey:b,isSigner:!1,isWritable:!0})),...n.tokenInfo.map(({mintVault:b})=>({pubkey:b,isSigner:!1,isWritable:!0})),{pubkey:Fa,isSigner:!1,isWritable:!1}],u=Buffer.alloc(s.span);s.encode({},u);let f=Buffer.from([10,66,208,184,161,6,191,98,...u]);return new Ma({keys:a,programId:t,data:f})}},de=ie;de.CLAIMED_NUM=3,de.POOL_LAYOUT=d([_(8),m("bump"),m("status"),e("openTime"),e("endTime"),r("ammId"),P(d([m("mintDecimals"),r("mintAddress"),r("mintVault"),e("perLpLoss"),e("totalClaimedAmount")]),ie.CLAIMED_NUM,"tokenInfo"),P(e(),10,"padding")]),de.OWNER_LAYOUT=d([_(8),m("bump"),m("version"),r("poolId"),r("owner"),e("lpAmount"),P(d([r("mintAddress"),e("debtAmount"),e("claimedAmount")]),ie.CLAIMED_NUM,"tokenInfo"),P(e(),4,"padding")]),de.DEFAULT_POOL_ID=["58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2","6UmmUiYoBjSrhakAobJw8BvkmJtDVxaeBtbt7rxWo1mg","AVs9TA4nWDzfPJE9gGVNJMVhcQy3V9PGazuz33BfG2RA","DVa7Qmb5ct9RCpaU7UTpSaf3GVMYz17vNVU67XpdCRut","7XawhbbxtsRcQA8KTkHT9f9nc6d69UwqCDh6U5EEbEmX","6a1CsrpeZubDjEJE9s1CMVheB6HWM5d7m1cj2jkhyXhj","EoNrn8iUhwgJySD1pHu8Qxm5gSQqLK3za4m8xzD2RuEb","AceAyRTWt4PyB2pHqf2qhDgNZDtKVNaxgL8Ru3V4aN1P","6tmFJbMk5yVHFcFy7X2K8RwHjKLr6KVFLYXpgpBNeAxB"].map(t=>new Na(t)),de.SEED_CONFIG={pool:{id:Buffer.from("pool_seed","utf8")},owner:{id:Buffer.from("user_claim_seed","utf8")}},de.VERSION_PROJECT=[void 0,"Francium","Tulip","Larix"];import{PublicKey as gx}from"@solana/web3.js";import{getTransferFeeConfig as Ax,MintLayout as wx,TOKEN_2022_PROGRAM_ID as kx,TOKEN_PROGRAM_ID as Tx,unpackMint as hx}from"@solana/spl-token";var jC=new Re(2),$C=new Re(3),JC=new Re(5),Fo=new Re(10),eR=new Re(100),tR=new Re(1e3),nR=new Re(1e4);function Ot(i,t=1,n=[]){let o=[...i];if(t<=0)return n;for(;o.length;)n.push(o.splice(0,t));return n}import{ASSOCIATED_TOKEN_PROGRAM_ID as Ct,TOKEN_2022_PROGRAM_ID as va,TOKEN_PROGRAM_ID as ln}from"@solana/spl-token";import{SystemProgram as re,TransactionInstruction as j}from"@solana/web3.js";import we from"bn.js";var $={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])};function NR(i,t,n,o,s,a,u,f,b,I,g,B,S,h,x,k,y,A,T,O){throw new Error("*** launchlab initialize has been deprecated, please use initializeV2 instead! ***")}function ba(i,t,n,o,s,a,u,f,b,I,g,B,S,h,x,k,y,A,T,O,N,p,w){let K=d([m("decimals"),ne("name"),ne("symbol"),ne("uri")]),C=d([e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod"),m("cpmmCreatorFeeOn")]),R=d([m("index"),e("supply"),e("totalFundRaisingB"),m("migrateType")]),F=d([m("index"),e("supply"),e("totalSellA"),e("totalFundRaisingB"),m("migrateType")]),z=[{pubkey:t,isSigner:!0,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!1,isWritable:!1},{pubkey:s,isSigner:!1,isWritable:!1},{pubkey:a,isSigner:!1,isWritable:!1},{pubkey:u,isSigner:!1,isWritable:!0},{pubkey:f,isSigner:!0,isWritable:!0},{pubkey:b,isSigner:!1,isWritable:!1},{pubkey:I,isSigner:!1,isWritable:!0},{pubkey:g,isSigner:!1,isWritable:!0},{pubkey:B,isSigner:!1,isWritable:!0},{pubkey:ln,isSigner:!1,isWritable:!1},{pubkey:S,isSigner:!1,isWritable:!1},{pubkey:Ne,isSigner:!1,isWritable:!1},{pubkey:re.programId,isSigner:!1,isWritable:!1},{pubkey:Be,isSigner:!1,isWritable:!1},{pubkey:Te(i).publicKey,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1}];w&&z.push({pubkey:w,isSigner:!1,isWritable:!1});let q=Buffer.alloc(Buffer.from(x,"utf-8").length+Buffer.from(k,"utf-8").length+Buffer.from(y,"utf-8").length+4*3+1),E=Buffer.alloc(C.span),U=Buffer.alloc(A.type==="ConstantCurve"?F.span:R.span);return K.encode({decimals:h,name:x,symbol:k,uri:y},q),A.type==="ConstantCurve"?F.encode(V(L({index:0},A),{migrateType:A.migrateType==="amm"?0:1}),U):A.type==="FixedCurve"?R.encode(V(L({index:1},A),{migrateType:A.migrateType==="amm"?0:1}),U):A.type==="LinearCurve"&&R.encode(V(L({index:2},A),{migrateType:A.migrateType==="amm"?0:1}),U),C.encode({totalLockedAmount:T,cliffPeriod:O,unlockPeriod:N,cpmmCreatorFeeOn:p},E),new j({keys:z,programId:i,data:Buffer.from([...$.initializeV2,...q,...U,...E])})}function ga(i,t,n,o,s,a,u,f,b,I,g,B,S,h,x,k,y,A,T,O,N,p,w){let K=d([m("decimals"),ne("name"),ne("symbol"),ne("uri")]),C=d([e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod"),m("cpmmCreatorFeeOn"),m("transferFeeExtensionParamsOption"),d([Z("transferFeeBasePoints"),e("maxinumFee")]).replicate("transferFeeExtensionParams")]),R=d([m("index"),e("supply"),e("totalFundRaisingB"),m("migrateType")]),F=d([m("index"),e("supply"),e("totalSellA"),e("totalFundRaisingB"),m("migrateType")]),z=[{pubkey:t,isSigner:!0,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!1,isWritable:!1},{pubkey:s,isSigner:!1,isWritable:!1},{pubkey:a,isSigner:!1,isWritable:!1},{pubkey:u,isSigner:!1,isWritable:!0},{pubkey:f,isSigner:!0,isWritable:!0},{pubkey:b,isSigner:!1,isWritable:!1},{pubkey:I,isSigner:!1,isWritable:!0},{pubkey:g,isSigner:!1,isWritable:!0},{pubkey:va,isSigner:!1,isWritable:!1},{pubkey:B,isSigner:!1,isWritable:!1},{pubkey:re.programId,isSigner:!1,isWritable:!1},{pubkey:Te(i).publicKey,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1}];w&&z.push({pubkey:w,isSigner:!1,isWritable:!1});let q=Buffer.alloc(Buffer.from(h,"utf-8").length+Buffer.from(x,"utf-8").length+Buffer.from(k,"utf-8").length+4*3+1),E=Buffer.alloc(C.span),U=Buffer.alloc(y.type==="ConstantCurve"?F.span:R.span);return K.encode({decimals:S,name:h,symbol:x,uri:k},q),y.type==="ConstantCurve"?F.encode(V(L({index:0},y),{migrateType:y.migrateType==="amm"?0:1}),U):y.type==="FixedCurve"?R.encode(V(L({index:1},y),{migrateType:y.migrateType==="amm"?0:1}),U):y.type==="LinearCurve"&&R.encode(V(L({index:2},y),{migrateType:y.migrateType==="amm"?0:1}),U),C.encode({totalLockedAmount:A,cliffPeriod:T,unlockPeriod:O,cpmmCreatorFeeOn:N,transferFeeExtensionParamsOption:p?1:0,transferFeeExtensionParams:p!=null?p:{transferFeeBasePoints:0,maxinumFee:new we(0)}},E),new j({keys:z,programId:i,data:Buffer.from([...$.initializeWithToken2022,...q,...U,...E])})}function bo(i,t,n,o,s,a,u,f,b,I,g,B,S,h,x,k,y,A,T,O){let N=d([e("amountB"),e("minAmountA"),e("shareFeeRate")]),p=[{pubkey:t,isSigner:!0,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!1,isWritable:!1},{pubkey:s,isSigner:!1,isWritable:!1},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:u,isSigner:!1,isWritable:!0},{pubkey:f,isSigner:!1,isWritable:!0},{pubkey:b,isSigner:!1,isWritable:!0},{pubkey:I,isSigner:!1,isWritable:!0},{pubkey:g,isSigner:!1,isWritable:!1},{pubkey:B,isSigner:!1,isWritable:!1},{pubkey:S,isSigner:!1,isWritable:!1},{pubkey:h,isSigner:!1,isWritable:!1},{pubkey:Te(i).publicKey,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1}];O&&p.push({pubkey:O,isSigner:!1,isWritable:!0}),p.push({pubkey:re.programId,isSigner:!1,isWritable:!1}),p.push({pubkey:x,isSigner:!1,isWritable:!0}),p.push({pubkey:k,isSigner:!1,isWritable:!0});let w=Buffer.alloc(N.span);return N.encode({amountB:y,minAmountA:A,shareFeeRate:T!=null?T:new we(0)},w),new j({keys:p,programId:i,data:Buffer.from([...$.buyExactIn,...w])})}function Pa(i,t,n,o,s,a,u,f,b,I,g,B,S,h,x,k,y,A,T,O){let N=d([e("amountA"),e("maxAmountB"),e("shareFeeRate")]),p=[{pubkey:t,isSigner:!0,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!1,isWritable:!1},{pubkey:s,isSigner:!1,isWritable:!1},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:u,isSigner:!1,isWritable:!0},{pubkey:f,isSigner:!1,isWritable:!0},{pubkey:b,isSigner:!1,isWritable:!0},{pubkey:I,isSigner:!1,isWritable:!0},{pubkey:g,isSigner:!1,isWritable:!1},{pubkey:B,isSigner:!1,isWritable:!1},{pubkey:S,isSigner:!1,isWritable:!1},{pubkey:h,isSigner:!1,isWritable:!1},{pubkey:Te(i).publicKey,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1}];O&&p.push({pubkey:O,isSigner:!1,isWritable:!0}),p.push({pubkey:re.programId,isSigner:!1,isWritable:!1}),p.push({pubkey:x,isSigner:!1,isWritable:!0}),p.push({pubkey:k,isSigner:!1,isWritable:!0});let w=Buffer.alloc(N.span);return N.encode({amountA:y,maxAmountB:A,shareFeeRate:T!=null?T:new we(0)},w),new j({keys:p,programId:i,data:Buffer.from([...$.buyExactOut,...w])})}function go(i,t,n,o,s,a,u,f,b,I,g,B,S,h,x,k,y,A,T,O){let N=d([e("amountA"),e("minAmountB"),e("shareFeeRate")]),p=[{pubkey:t,isSigner:!0,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!1,isWritable:!1},{pubkey:s,isSigner:!1,isWritable:!1},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:u,isSigner:!1,isWritable:!0},{pubkey:f,isSigner:!1,isWritable:!0},{pubkey:b,isSigner:!1,isWritable:!0},{pubkey:I,isSigner:!1,isWritable:!0},{pubkey:g,isSigner:!1,isWritable:!1},{pubkey:B,isSigner:!1,isWritable:!1},{pubkey:S,isSigner:!1,isWritable:!1},{pubkey:h,isSigner:!1,isWritable:!1},{pubkey:Te(i).publicKey,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1}];O&&p.push({pubkey:O,isSigner:!1,isWritable:!0}),p.push({pubkey:re.programId,isSigner:!1,isWritable:!1}),p.push({pubkey:x,isSigner:!1,isWritable:!0}),p.push({pubkey:k,isSigner:!1,isWritable:!0});let w=Buffer.alloc(N.span);return N.encode({amountA:y,minAmountB:A,shareFeeRate:T!=null?T:new we(0)},w),new j({keys:p,programId:i,data:Buffer.from([...$.sellExactIn,...w])})}function Aa(i,t,n,o,s,a,u,f,b,I,g,B,S,h,x,k,y,A,T,O){let N=d([e("amountB"),e("maxAmountA"),e("shareFeeRate")]),p=[{pubkey:t,isSigner:!0,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!1,isWritable:!1},{pubkey:s,isSigner:!1,isWritable:!1},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:u,isSigner:!1,isWritable:!0},{pubkey:f,isSigner:!1,isWritable:!0},{pubkey:b,isSigner:!1,isWritable:!0},{pubkey:I,isSigner:!1,isWritable:!0},{pubkey:g,isSigner:!1,isWritable:!1},{pubkey:B,isSigner:!1,isWritable:!1},{pubkey:S,isSigner:!1,isWritable:!1},{pubkey:h,isSigner:!1,isWritable:!1},{pubkey:Te(i).publicKey,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1}];O&&p.push({pubkey:O,isSigner:!1,isWritable:!0}),p.push({pubkey:re.programId,isSigner:!1,isWritable:!1}),p.push({pubkey:x,isSigner:!1,isWritable:!0}),p.push({pubkey:k,isSigner:!1,isWritable:!0});let w=Buffer.alloc(N.span);return N.encode({amountB:y,maxAmountA:A,shareFeeRate:T!=null?T:new we(0)},w),new j({keys:p,programId:i,data:Buffer.from([...$.sellExactOut,...w])})}function wa(i,t,n,o,s,a,u,f,b){let I=d([]),g=[{pubkey:t,isSigner:!0,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:u,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:f,isSigner:!1,isWritable:!1},{pubkey:b,isSigner:!1,isWritable:!1},{pubkey:re.programId,isSigner:!1,isWritable:!1},{pubkey:Ct,isSigner:!1,isWritable:!1}],B=Buffer.alloc(I.span);return I.encode({},B),new j({keys:g,programId:i,data:Buffer.from([...$.claimVestedToken,...B])})}function ka(i,t,n,o,s,a){let u=d([e("shareAmount")]),f=[{pubkey:t,isSigner:!0,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!0},{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:re.programId,isSigner:!1,isWritable:!1}],b=Buffer.alloc(u.span);return u.encode({shareAmount:a},b),new j({keys:f,programId:i,data:Buffer.from([...$.createVestingAccount,...b])})}function Ta(i,t,n,o,s,a,u,f,b){let I=[{pubkey:t,isSigner:!0,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:u,isSigner:!1,isWritable:!0},{pubkey:f,isSigner:!1,isWritable:!0},{pubkey:b,isSigner:!1,isWritable:!0},{pubkey:re.programId,isSigner:!1,isWritable:!0},{pubkey:Ct,isSigner:!1,isWritable:!0}];return new j({keys:I,programId:i,data:$.claimPlatformFee})}function ha(i,t,n,o,s,a,u,f,b,I,g,B,S,h,x){let k=d([e("platformScale"),e("creatorScale"),e("burnScale"),e("feeRate"),ne("name"),ne("web"),ne("img"),e("creatorFeeRate"),e("platformVestingScale")]),y=[{pubkey:t,isSigner:!0,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!1,isWritable:!1},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:u,isSigner:!1,isWritable:!0},{pubkey:re.programId,isSigner:!1,isWritable:!1},{pubkey:f,isSigner:!1,isWritable:!1},{pubkey:s,isSigner:!1,isWritable:!1}],A=Buffer.alloc(8*6+Buffer.from(B,"utf-8").length+Buffer.from(S,"utf-8").length+Buffer.from(h,"utf-8").length+4*3);return k.encode({platformScale:b.platformScale,creatorScale:b.creatorScale,burnScale:b.burnScale,feeRate:I,name:B,web:S,img:h,creatorFeeRate:g,platformVestingScale:x},A),new j({keys:y,programId:i,data:Buffer.from([...$.createPlatformConfig,...A])})}function Ia(i,t,n,o){let s=[{pubkey:t,isSigner:!0,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!0}],a;if(o.type==="updateClaimFeeWallet"){let u=d([m("index"),r("value")]);a=Buffer.alloc(u.span),u.encode({index:0,value:o.value},a)}else if(o.type==="updateLockNftWallet"){let u=d([m("index"),r("value")]);a=Buffer.alloc(u.span),u.encode({index:1,value:o.value},a)}else if(o.type==="migrateCpLockNftScale"){let u=d([m("index"),e("platformScale"),e("creatorScale"),e("burnScale")]);a=Buffer.alloc(u.span),u.encode(L({index:2},o.value),a)}else if(o.type==="updateFeeRate"){let u=d([m("index"),e("value")]);a=Buffer.alloc(u.span),u.encode({index:3,value:o.value},a)}else if(o.type==="updateImg"||o.type==="updateName"||o.type==="updateWeb"){let u=d([m("index"),ne("value")]);a=Buffer.alloc(Buffer.from(o.value,"utf-8").length+4+1*1),o.type==="updateName"?u.encode({index:4,value:o.value},a):o.type==="updateWeb"?u.encode({index:5,value:o.value},a):o.type==="updateImg"&&u.encode({index:6,value:o.value},a)}else if(o.type==="updateCpConfigId"){s.push({pubkey:o.value,isSigner:!1,isWritable:!1});let u=d([m("index")]);a=Buffer.alloc(u.span),u.encode({index:7},a)}else if(o.type==="updateAll"){s.push({pubkey:o.value.cpConfigId,isSigner:!1,isWritable:!1});let u=d([m("index"),r("platformClaimFeeWallet"),r("platformLockNftWallet"),e("platformScale"),e("creatorScale"),e("burnScale"),e("feeRate"),ne("name"),ne("web"),ne("img"),r("transferFeeExtensionAuth"),e("creatorFeeRate"),e("platformVestingScale"),r("platformVestingWallet")]);a=Buffer.alloc(1+32+32+32+8*5+4*3+Buffer.from(o.value.name,"utf-8").length+Buffer.from(o.value.web,"utf-8").length+Buffer.from(o.value.img,"utf-8").length+32+8),u.encode({index:8,platformClaimFeeWallet:o.value.platformClaimFeeWallet,platformLockNftWallet:o.value.platformLockNftWallet,platformVestingWallet:o.value.platformVestingWallet,platformScale:o.value.migrateCpLockNftScale.platformScale,creatorScale:o.value.migrateCpLockNftScale.creatorScale,burnScale:o.value.migrateCpLockNftScale.burnScale,feeRate:o.value.feeRate,name:o.value.name,web:o.value.web,img:o.value.img,transferFeeExtensionAuth:o.value.transferFeeExtensionAuth,creatorFeeRate:o.value.creatorFeeRate,platformVestingScale:o.value.platformVestingScale},a)}else if(o.type==="updateVestingWallet"){let u=d([m("index"),r("value")]);a=Buffer.alloc(u.span),u.encode({index:9,value:o.value},a)}else if(o.type==="updatePlatformVestingScale"){let u=d([m("index"),e("value")]);a=Buffer.alloc(u.span),u.encode({index:10,value:o.value},a)}else if(o.type==="updatePlatformCpCreator"){let u=d([m("index"),r("value")]);a=Buffer.alloc(u.span),u.encode({index:11,value:o.value},a)}else if(o.type==="updateRestrictGlobalConfig"){let u=d([m("index"),e("value")]);a=Buffer.alloc(u.span),u.encode({index:12,value:o.value},a)}else throw Error("updateInfo params type error");return new j({keys:s,programId:i,data:Buffer.from([...$.updatePlaformConfig,...a])})}function Ba(i,t,n,o,s,a,u,f){let b=[{pubkey:n,isSigner:!0,isWritable:!0},{pubkey:o,isSigner:!1,isWritable:!1},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:u,isSigner:!1,isWritable:!1},{pubkey:f,isSigner:!1,isWritable:!1},{pubkey:re.programId,isSigner:!1,isWritable:!1},{pubkey:Ct,isSigner:!1,isWritable:!1}];return new j({keys:b,programId:i,data:$.claimPlatformFeeFromVault})}function Sa(i,t,n,o,s,a,u){let f=[{pubkey:t,isSigner:!0,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!1},{pubkey:u,isSigner:!1,isWritable:!1},{pubkey:re.programId,isSigner:!1,isWritable:!1},{pubkey:Ct,isSigner:!1,isWritable:!1}];return new j({keys:f,programId:i,data:$.claimCreatorFee})}var Ao=255,cn=new we("18446744073709551615");function MR(i,t,n,o,s,a){let u=[{pubkey:t,isSigner:!0,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!0},{pubkey:o,isSigner:!1,isWritable:!1},{pubkey:re.programId,isSigner:!1,isWritable:!1}],f=Buffer.alloc(1*2+8*6+m().span);return m().encode(s,f),an.encode({migrateType:a.migrateType?a.migrateType:Ao,migrateCpmmFeeOn:a.migrateCpmmFeeOn?a.migrateCpmmFeeOn:Ao,supply:a.supply?a.supply:new we(0),totalSellA:a.totalSellA?a.totalSellA:new we(0),totalFundRaisingB:a.totalFundRaisingB?a.totalFundRaisingB:new we(0),totalLockedAmount:a.totalLockedAmount?a.totalLockedAmount:cn,cliffPeriod:a.cliffPeriod?a.cliffPeriod:cn,unlockPeriod:a.unlockPeriod?a.unlockPeriod:cn},f,1),new j({keys:u,programId:i,data:Buffer.from([...$.updatePlatformCurveParam,...f])})}function FR(i,t,n,o){let s=[{pubkey:t,isSigner:!0,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!0}],a=Buffer.alloc(m().span);return m().encode(o,a),new j({keys:s,programId:i,data:Buffer.from([...$.removePlatformCurveParam,...a,1,2])})}function Ka(i,t,n,o,s,a){let u=[{pubkey:t,isSigner:!0,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!0},{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:re.programId,isSigner:!1,isWritable:!1}];return new j({keys:u,programId:i,data:$.createPlatformVestingAccount})}function xa(i,t,n,o,s){let a=[{pubkey:t,isSigner:!0,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!1,isWritable:!1},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:re.programId,isSigner:!1,isWritable:!1}];return new j({keys:a,programId:i,data:$.createPlatformAllowConfig})}function Ca(i,t,n,o,s){let a=[{pubkey:t,isSigner:!0,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!1,isWritable:!1},{pubkey:s,isSigner:!1,isWritable:!0}];return new j({keys:a,programId:i,data:$.closePlatformAllowConfig})}export{$ as anchorDataBuf,bo as buyExactInInstruction,Pa as buyExactOutInstruction,Sa as claimCreatorFee,Ta as claimPlatformFee,Ba as claimPlatformFeeFromVault,wa as claimVestedToken,Ca as closePlatformAllowConfigIns,xa as createPlatformAllowConfigIns,ha as createPlatformConfig,Ka as createPlatformVestingAccountIns,ka as createVestingAccount,NR as initialize,ba as initializeV2,ga as initializeWithToken2022,FR as removePlatformCurveParamInstruction,go as sellExactInInstruction,Aa as sellExactOut,Ia as updatePlatformConfig,MR as updatePlatformCurveParamInstruction};
//# sourceMappingURL=instrument.mjs.map