@raydium-io/raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
2 lines • 91.1 kB
JavaScript
var Po=Object.defineProperty,Ao=Object.defineProperties;var wo=Object.getOwnPropertyDescriptors;var ct=Object.getOwnPropertySymbols;var dn=Object.prototype.hasOwnProperty,pn=Object.prototype.propertyIsEnumerable;var mn=(i,t,n)=>t in i?Po(i,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):i[t]=n,C=(i,t)=>{for(var n in t||(t={}))dn.call(t,n)&&mn(i,n,t[n]);if(ct)for(var n of ct(t))pn.call(t,n)&&mn(i,n,t[n]);return i},_=(i,t)=>Ao(i,wo(t));var pe=(i,t)=>{var n={};for(var o in i)dn.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&&pn.call(i,o)&&(n[o]=i[o]);return n};import{PublicKey as ho}from"@solana/web3.js";import{get as fn,set as ko}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}},yn={},To={};function q(i){let t=fn(yn,i);if(!t){let n=fn(To,i);t=new Rt({name:i,logLevel:n}),ko(yn,i,t)}return t}import{MINT_SIZE as Ja,TOKEN_PROGRAM_ID as es,getTransferFeeConfig as ts,unpackMint as ns}from"@solana/spl-token";var Lt=q("Raydium_accountInfo_util");async function Pe(i,t,n){let{batchRequest:o,commitment:a="confirmed",chunkCount:s=100}=C({batchRequest:!1},n),u=Ot(t,s),f=new Array(u.length).fill([]);if(o){let b=u.map(B=>{let K=i._buildArgs([B.map(h=>h.toBase58())],a,"base64");return{methodName:"getMultipleAccounts",args:K}}),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(K=>{if(K){let{data:h,executable:x,lamports:k,owner:y,rentEpoch:A}=K;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 ho(y),rentEpoch:A}}return null})))}else try{f=await Promise.all(u.map(b=>i.getMultipleAccountsInfo(b,a)))}catch(b){b instanceof Error&&Lt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${b.message}`)}return f.flat()}import Ce from"bn.js";import mR from"decimal.js";import Lo from"big.js";import As from"bn.js";import Io from"toformat";var Bo=Io,Qe=Bo;import mt from"big.js";import Ko from"bn.js";import xo from"decimal.js-light";import Ze from"bn.js";var bn=9007199254740991;function se(i){let t=q("Raydium_parseBigNumberish");if(i instanceof Ze)return i;if(typeof i=="string"){if(i.match(/^-?[0-9]+$/))return new Ze(i);t.logWithError(`invalid BigNumberish string: ${i}`)}return typeof i=="number"?(i%1&&t.logWithError(`BigNumberish number underflow: ${i}`),(i>=bn||i<=-bn)&&t.logWithError(`BigNumberish number overflow: ${i}`),new Ze(String(i))):typeof i=="bigint"?new Ze(i.toString()):(t.error(`invalid BigNumberish value: ${i}`),new Ze(0))}var lt=q("module/fraction"),Nt=Qe(mt),$e=Qe(xo),Co={[0]:$e.ROUND_DOWN,[1]:$e.ROUND_HALF_UP,[2]:$e.ROUND_UP},Ro={[0]:mt.roundDown,[1]:mt.roundHalfUp,[2]:mt.roundUp},G=class{constructor(t,n=new Ko(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&<.logWithError(`${t} is not positive.`),$e.set({precision:t+1,rounding:Co[o]});let a=new $e(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(t);return a.toFormat(a.decimalPlaces(),n)}toFixed(t,n={groupSeparator:""},o=1){return Number.isInteger(t)||lt.logWithError(`${t} is not an integer.`),t<0&<.logWithError(`${t} is negative.`),Nt.DP=t,Nt.RM=Ro[o]||1,new Nt(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,n)}isZero(){return this.numerator.isZero()}};var xs=q("Raydium_amount"),Cs=Qe(Lo);import{PublicKey as No}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as gn}from"@solana/spl-token";var dt={chainId:101,address:No.default.toBase58(),programId:gn.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:gn.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 H,SystemProgram as Pn,SYSVAR_RENT_PUBKEY as Mo}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Fo}from"@solana/spl-token";function Le({pubkey:i,isSigner:t=!1,isWritable:n=!0}){return{pubkey:i,isWritable:n,isSigner:t}}var vo=[Le({pubkey:Fo,isWritable:!1}),Le({pubkey:Pn.programId,isWritable:!1}),Le({pubkey:Mo,isWritable:!1})];function An({publicKey:i,transformSol:t}){let n=wn(i.toString());if(n instanceof H)return t&&n.equals(he)?Ae:n;if(t&&n.toString()===he.toBase58())return Ae;if(typeof n=="string"){if(n===H.default.toBase58())return H.default;try{return new H(n)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function wn(i){try{return new H(i)}catch{return i}}var Mt=new H("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Ie=new H("SysvarRent111111111111111111111111111111111"),_s=new H("SysvarC1ock11111111111111111111111111111111"),Oe=new H("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),_o=new H("Sysvar1nstructions1111111111111111111111111"),Vo=Pn.programId,Vs=new H("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Es=new H("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Ds=new H("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),Ws=new H("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),qs=new H("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Us=new H("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),Gs=new H("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),zs=new H("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),Xs=new H("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Ys=new H("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Hs=new H("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),Ae=new H("So11111111111111111111111111111111111111112"),he=H.default;var vt=class{constructor({mint:t,decimals:n,symbol:o,name:a,skipMint:s=!1,isToken2022:u=!1}){if(t===he.toBase58()||t instanceof Ft&&he.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=a||t.toString().substring(0,6),this.mint=s?Ft.default:An({publicKey:t}),this.isToken2022=u}equals(t){return this===t?!0:this.mint.equals(t.mint)}},ie=vt;ie.WSOL=new vt(_(C({},fe),{mint:fe.address}));var _t=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=_t;pt.SOL=new _t(dt);import Eo from"bn.js";var au=new G(new Eo(100));var du=q("Raydium_price");import{merge as pC}from"lodash";import ku from"axios";var kn={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"},Do=_(C({},kn),{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 Gu=q("Raydium_Api");import{PublicKey as cm,SystemProgram as lm}from"@solana/web3.js";import{AccountLayout as ym,createAssociatedTokenAccountIdempotentInstruction as bm,TOKEN_PROGRAM_ID as gm,TOKEN_2022_PROGRAM_ID as Pm}from"@solana/spl-token";import{PublicKey as _e,sendAndConfirmTransaction as Ut,SystemProgram as Xo,Transaction as et,TransactionMessage as tt,VersionedTransaction as nt}from"@solana/web3.js";import Yo from"axios";import{PublicKey as Vt,AddressLookupTableAccount as Fe}from"@solana/web3.js";async function Et({connection:i,address:t,cluster:n="mainnet"}){let o=await Pe(i,[...new Set(t.map(s=>s.toString()))].map(s=>new Vt(s))),a={};for(let s=0;s<t.length;s++){let u=o[s],f=t[s];if(!u)continue;let b=new Fe({key:f,state:Fe.deserialize(u.data)});a[f.toString()]=b,n==="devnet"?Me[f.toString()]=b:Ne[f.toString()]=b}return a}var Ne={},Dt=async i=>{let t="AcL1Vo8oy1ULiavEcjSUcwfBSForXMudcZvDZy5nzJkU";if(Ne[t])return Ne;let n=new Vt(t),o=await i.getAccountInfo(n);return o&&(Ne[t]=new Fe({key:n,state:Fe.deserialize(o.data)})),Ne},Me={},Wt=async i=>{let t="EFhMuDw1PKEuckuFRW9PavNfTH4LKP5uKHgyXDmWpFCq";if(Me[t])return Me;let n=new Vt(t),o=await i.getAccountInfo(n);return o&&(Me[t]=new Fe({key:n,state:Fe.deserialize(o.data)})),Me};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 Tn,Keypair as In,PublicKey as Wo,Transaction as Bn,TransactionMessage as qo,VersionedTransaction as Sn}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Uo}from"@solana/spl-token";var hn=q("Raydium_txUtil"),Kn=1644;function ft(i){let t=[],n=[];return i.microLamports&&(t.push(Tn.setComputeUnitPrice({microLamports:i.microLamports})),n.push(J.SetComputeUnitPrice)),i.units&&(t.push(Tn.setComputeUnitLimit({units:i.units})),n.push(J.SetComputeUnitLimit)),{instructions:t,instructionTypes:n}}async function ve(i,t){var o,a;let n=t!=null?t:"confirmed";return(a=await((o=i.getLatestBlockhash)==null?void 0:o.call(i,{commitment:n})))==null?void 0:a.blockhash}async function yt(i,t){return i.getSignatureStatuses([t]),new Promise((n,o)=>{let a=setTimeout(o,6e4);i.onSignature(t,s=>{if(clearTimeout(a),!s.err){n("");return}o(Object.assign(s.err,{txId:t}))},"confirmed")})}function qt(i,t){i.length<1&&hn.logWithError(`no instructions provided: ${i.toString()}`),t.length<1&&hn.logWithError(`no signers provided:, ${t.toString()}`);let n=new Bn;n.recentBlockhash="11111111111111111111111111111111",n.feePayer=t[0],n.add(...i);try{return Buffer.from(n.serialize({verifySignatures:!1})).toString("base64").length<Kn}catch{return!1}}function le(i,t){let[n,o]=Wo.findProgramAddressSync(i,t);return{publicKey:n,nonce:o}}function je({instructions:i,payer:t,signers:n}){return qt(i,[t,...n])}function Je({instructions:i,payer:t,lookupTableAddressAccount:n,recentBlockhash:o=In.generate().publicKey.toString()}){let s=new qo({payerKey:t,recentBlockhash:o,instructions:i}).compileToV0Message(Object.values(n!=null?n:{}));try{return Buffer.from(new Sn(s).serialize()).toString("base64").length<Kn}catch{return!1}}var Go=i=>Buffer.isBuffer(i)?i:i instanceof Uint8Array?Buffer.from(i.buffer,i.byteOffset,i.byteLength):Buffer.from(i),zo=i=>{let t=i.serialize({requireAllSignatures:!1,verifySignatures:!1});i instanceof Sn&&(t=Go(t));try{return t instanceof Buffer?t.toString("base64"):Buffer.from(t).toString("base64")}catch{return t.toString("base64")}};function Be(i){let t=[];return i.forEach(n=>{n instanceof Bn&&(n.recentBlockhash||(n.recentBlockhash=Uo.toBase58()),n.feePayer||(n.feePayer=In.generate().publicKey)),t.push(zo(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 Yo.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(Xo.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:a=[],endInstructionTypes:s=[],lookupTableAddress:u=[]}){return this.instructions.push(...t),this.endInstructions.push(...n),this.signers.push(...o),this.instructionTypes.push(...a),this.endInstructionTypes.push(...s),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(_(C({},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(a=>a.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 a=>{var g;let{recentBlockHash:s,skipPreflight:u=!0,sendAndConfirm:f,notSendToRpc:b}=a||{},I=s!=null?s:await ve(this.connection,this.blockhashCommitment);if(n.recentBlockhash=I,this.signers.length&&n.sign(...this.signers),Be([n]),(g=this.owner)!=null&&g.isKeyPair)return{txId:f?await Ut(this.connection,n,this.signers.find(K=>K.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 K of B)try{K.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:a}=this.build(o),s=n.filter(g=>g.transaction.instructions.length>0),u=[a,...s.map(g=>g.transaction)],f=[this.signers,...s.map(g=>g.signers)],b=[...this.instructionTypes,...s.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:K,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=[],R=0;for(let L of u){if(++R,R<=h)continue;let p=await Ut(this.connection,L,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((L,p)=>(L.recentBlockhash=y,f[p].length&&L.sign(...f[p]),L));Be(T);let R=await this.signAllTransactions(T);if(B){let L=0,p=[],w=async()=>{if(!R[L])return;let S=await this.connection.sendRawTransaction(R[L].serialize(),{skipPreflight:k});p.push({txId:S,status:"sent",signedTx:R[L]}),K==null||K([...p]),L++;let O=!1,N=null,v=null,X=W=>{N!==null&&clearInterval(N),v!==null&&this.connection.removeSignatureListener(v);let E=p.findIndex(Y=>Y.txId===S);if(E>-1){if(p[E].status==="error"||p[E].status==="success")return;p[E].status=W.err?"error":"success"}K==null||K([...p]),W.err||w()};this.loopMultiTxStatus&&(N=setInterval(async()=>{var W;if(O){clearInterval(N);return}try{let E=await this.connection.getTransaction(S,{commitment:"confirmed",maxSupportedTransactionVersion:1});E&&(O=!0,clearInterval(N),X({err:((W=E.meta)==null?void 0:W.err)||null}),console.log("tx status from getTransaction:",S))}catch(E){O=!0,clearInterval(N),console.error("getTransaction timeout:",E,S)}},bt)),v=this.connection.onSignature(S,W=>{if(O){this.connection.removeSignatureListener(v);return}O=!0,X(W)},"confirmed"),this.connection.getSignatureStatus(S)};return await w(),{txIds:p.map(S=>S.txId),signedTxs:R}}else{let L=[];for(let p=0;p<R.length;p+=1){let w=await this.connection.sendRawTransaction(R[p].serialize(),{skipPreflight:k});L.push(w)}return{txIds:L,signedTxs:R}}}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:a,recentBlockhash:s}=x,u=pe(x,["lookupTableCache","lookupTableAddress","forerunCreate","recentBlockhash"]),f=C(C({},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=a?_e.default.toBase58():s!=null?s:await ve(this.connection,this.blockhashCommitment),K=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(K);return h.sign(this.signers),{builder:this,transaction:h,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async y=>{var L;let{skipPreflight:A=!0,sendAndConfirm:T,notSendToRpc:R}=y||{};if(Be([h]),(L=this.owner)!=null&&L.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:R?"":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:a}=await this.buildV0(o),s=n.filter(g=>g.builder.instructions.length>0),u=[a,...s.map(g=>g.transaction)],f=[this.signers,...s.map(g=>g.signers)],b=[...this.instructionTypes,...s.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:K,recentBlockHash:h,skipPreflight:x=!0}=g||{};if(h&&u.forEach(y=>y.message.recentBlockhash=h),Be(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=[],R=async()=>{if(!y[A])return;let L=await this.connection.sendTransaction(y[A],{skipPreflight:x});T.push({txId:L,status:"sent",signedTx:y[A]}),K==null||K([...T]),A++;let p=!1,w=null,S=null,O=N=>{w!==null&&clearInterval(w),S!==null&&this.connection.removeSignatureListener(S);let v=T.findIndex(X=>X.txId===L);if(v>-1){if(T[v].status==="error"||T[v].status==="success")return;T[v].status=N.err?"error":"success"}K==null||K([...T]),N.err||R()};this.loopMultiTxStatus&&(w=setInterval(async()=>{var N;if(p){clearInterval(w);return}try{let v=await this.connection.getTransaction(L,{commitment:"confirmed",maxSupportedTransactionVersion:1});v&&(p=!0,clearInterval(w),O({err:((N=v.meta)==null?void 0:N.err)||null}),console.log("tx status from getTransaction:",L))}catch(v){p=!0,clearInterval(w),console.error("getTransaction timeout:",v,L)}},bt)),S=this.connection.onSignature(L,N=>{if(p){this.connection.removeSignatureListener(S);return}p=!0,O(N)},"confirmed"),this.connection.getSignatureStatus(L)};return R(),{txIds:[],signedTxs:y}}else{let A=[];for(let T=0;T<y.length;T+=1){let R=await this.connection.sendTransaction(y[T],{skipPreflight:x});A.push(R)}return{txIds:A,signedTxs:y}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:o||{}}}async sizeCheckBuild(t){var K;let B=t||{},{splitIns:n=[],computeBudgetConfig:o}=B,a=pe(B,["splitIns","computeBudgetConfig"]),s=o?ft(o):{instructions:[],instructionTypes:[]},u=this.signers.reduce((h,x)=>_(C({},h),{[x.publicKey.toBase58()]:x}),{}),f=[],b=[],I=[],g=0;if(this.allInstructions.forEach(h=>{let x=[...I,h],k=o?[...s.instructions,...x]:x,A=[...new Set(x.map(T=>T.keys.filter(R=>R.isSigner).map(R=>R.pubkey.toString())).flat()).values()].map(T=>new _e(T));if(h!==n[g]&&I.length<12&&(je({instructions:k,payer:this.feePayer,signers:A})||je({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,je({instructions:o?[...s.instructions,...I]:[...I],payer:this.feePayer,signers:A})?f.push(new et().add(...s.instructions,...I)):f.push(new et().add(...I)),b.push(Array.from(new Set(I.map(T=>T.keys.filter(R=>R.isSigner).map(R=>R.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);je({instructions:o?[...s.instructions,...I]:[...I],payer:this.feePayer,signers:x.map(k=>k.publicKey)})?f.push(new et().add(...s.instructions,...I)):f.push(new et().add(...I)),b.push(x)}return f.forEach(h=>h.feePayer=this.feePayer),(K=this.owner)!=null&&K.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 L;let{sequentially:x,onTxUpdate:k,skipTxCount:y=0,recentBlockHash:A,skipPreflight:T=!0}=h||{},R=A!=null?A:await ve(this.connection,this.blockhashCommitment);if(f.forEach(async(p,w)=>{p.recentBlockhash=R,b[w].length&&p.sign(...b[w])}),Be(f),(L=this.owner)!=null&&L.isKeyPair){if(x){let p=0,w=[];for(let S of f){if(++p,p<=y){w.push("tx skipped");continue}let O=await Ut(this.connection,S,this.signers.find(N=>N.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:T});w.push(O)}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 S=0,O=[],N=async()=>{if(!w[S])return;S<y&&(O.push({txId:"",status:"success",signedTx:w[S]}),k==null||k([...O]),S++,N());let v=await this.connection.sendRawTransaction(w[S].serialize(),{skipPreflight:T});O.push({txId:v,status:"sent",signedTx:w[S]}),k==null||k([...O]),S++;let X=!1,W=null,E=null,Y=D=>{W!==null&&clearInterval(W),E!==null&&this.connection.removeSignatureListener(E);let ae=O.findIndex(be=>be.txId===v);if(ae>-1){if(O[ae].status==="error"||O[ae].status==="success")return;O[ae].status=D.err?"error":"success"}k==null||k([...O]),D.err||N()};this.loopMultiTxStatus&&(W=setInterval(async()=>{var D;if(X){clearInterval(W);return}try{let ae=await this.connection.getTransaction(v,{commitment:"confirmed",maxSupportedTransactionVersion:1});ae&&(X=!0,clearInterval(W),Y({err:((D=ae.meta)==null?void 0:D.err)||null}),console.log("tx status from getTransaction:",v))}catch(ae){X=!0,clearInterval(W),console.error("getTransaction timeout:",ae,v)}},bt)),E=this.connection.onSignature(v,D=>{if(X){this.connection.removeSignatureListener(E);return}X=!0,Y(D)},"confirmed"),this.connection.getSignatureStatus(v)};return await N(),{txIds:O.map(v=>v.txId),signedTxs:w}}else{let S=[];for(let O=0;O<w.length;O+=1){let N=await this.connection.sendRawTransaction(w[O].serialize(),{skipPreflight:T});S.push(N)}return{txIds:S,signedTxs:w}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:a||{}}}async sizeCheckBuildV0(t){var L;let R=t||{},{computeBudgetConfig:n,splitIns:o=[],lookupTableCache:a={},lookupTableAddress:s=[],insCountLimit:u=12}=R,f=pe(R,["computeBudgetConfig","splitIns","lookupTableCache","lookupTableAddress","insCountLimit"]),b=C(C({},this.cluster==="devnet"?await Wt(this.connection):await Dt(this.connection)),a),I=Array.from(new Set([...this.lookupTableAddress,...s])),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 K=n?ft(n):{instructions:[],instructionTypes:[]},h=await ve(this.connection,this.blockhashCommitment),x=this.signers.reduce((p,w)=>_(C({},p),{[w.publicKey.toBase58()]:w}),{}),k=[],y=[],A=[],T=0;if(this.allInstructions.forEach(p=>{let w=[...A,p],S=n?[...K.instructions,...w]:w;if(p!==o[T]&&A.length<u&&(Je({instructions:S,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 O={};for(let N of[...new Set(I)])b[N]!==void 0&&(O[N]=b[N]);if(n&&Je({instructions:[...K.instructions,...A],payer:this.feePayer,lookupTableAddressAccount:b,recentBlockhash:h})){let N=new tt({payerKey:this.feePayer,recentBlockhash:h,instructions:[...K.instructions,...A]}).compileToV0Message(Object.values(b));k.push(new nt(N))}else{let N=new tt({payerKey:this.feePayer,recentBlockhash:h,instructions:[...A]}).compileToV0Message(Object.values(b));k.push(new nt(N))}y.push(Array.from(new Set(A.map(N=>N.keys.filter(v=>v.isSigner).map(v=>v.pubkey.toString())).flat())).map(N=>x[N]).filter(N=>N!==void 0)),A=[p]}}),A.length>0){let w=[...new Set(A.map(S=>S.keys.filter(O=>O.isSigner).map(O=>O.pubkey.toString())).flat()).values()].map(S=>x[S]).filter(S=>S!==void 0);if(n&&Je({instructions:[...K.instructions,...A],payer:this.feePayer,lookupTableAddressAccount:b,recentBlockhash:h})){let S=new tt({payerKey:this.feePayer,recentBlockhash:h,instructions:[...K.instructions,...A]}).compileToV0Message(Object.values(b));k.push(new nt(S))}else{let S=new tt({payerKey:this.feePayer,recentBlockhash:h,instructions:[...A]}).compileToV0Message(Object.values(b));k.push(new nt(S))}y.push(w)}return(L=this.owner)!=null&&L.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 X;let{sequentially:w,onTxUpdate:S,skipTxCount:O=0,recentBlockHash:N,skipPreflight:v=!0}=p||{};if(k.map(async(W,E)=>{y[E].length&&W.sign(y[E]),N&&(W.message.recentBlockhash=N)}),Be(k),(X=this.owner)!=null&&X.isKeyPair){if(w){let W=0,E=[];for(let Y of k){if(++W,W<=O){console.log("skip tx: ",W),E.push("tx skipped");continue}let D=await this.connection.sendTransaction(Y,{skipPreflight:v});await yt(this.connection,D),E.push(D)}return{txIds:E,signedTxs:k}}return{txIds:await Promise.all(k.map(async W=>await this.connection.sendTransaction(W,{skipPreflight:v}))),signedTxs:k}}if(this.signAllTransactions){let W=await this.signAllTransactions(k.slice(O,k.length)),E=[...k.slice(0,O),...W];if(w){let Y=0,D=[],ae=async()=>{if(!E[Y])return;if(Y<O){D.push({txId:"",status:"success",signedTx:E[Y]}),S==null||S([...D]),Y++,ae();return}let be=await this.connection.sendTransaction(E[Y],{skipPreflight:v});D.push({txId:be,status:"sent",signedTx:E[Y]}),S==null||S([...D]),Y++;let Ye=!1,Re=null,ut=null,ln=Te=>{Re!==null&&clearInterval(Re),ut!==null&&this.connection.removeSignatureListener(ut);let ge=D.findIndex(go=>go.txId===be);if(ge>-1){if(D[ge].status==="error"||D[ge].status==="success")return;D[ge].status=Te.err?"error":"success"}S==null||S([...D]),Te.err||ae()};this.loopMultiTxStatus&&(Re=setInterval(async()=>{var Te;if(Ye){clearInterval(Re);return}try{let ge=await this.connection.getTransaction(be,{commitment:"confirmed",maxSupportedTransactionVersion:1});ge&&(Ye=!0,clearInterval(Re),ln({err:((Te=ge.meta)==null?void 0:Te.err)||null}),console.log("tx status from getTransaction:",be))}catch(ge){Ye=!0,clearInterval(Re),console.error("getTransaction timeout:",ge,be)}},bt)),ut=this.connection.onSignature(be,Te=>{if(Ye){this.connection.removeSignatureListener(ut);return}Ye=!0,ln(Te)},"confirmed"),this.connection.getSignatureStatus(be)};return ae(),{txIds:[],signedTxs:E}}else{let Y=[];for(let D=0;D<E.length;D+=1){let ae=await this.connection.sendTransaction(E[D],{skipPreflight:v});Y.push(ae)}return{txIds:Y,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=q(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 Dl,SystemProgram as ql}from"@solana/web3.js";import zl from"bn.js";import{createCloseAccountInstruction as Ql,createInitializeAccountInstruction as Zl,createTransferInstruction as $l,TOKEN_PROGRAM_ID as jl}from"@solana/spl-token";import{Keypair as Kl,PublicKey as xl}from"@solana/web3.js";import Ll from"bn.js";import{TOKEN_PROGRAM_ID as Ml}from"@solana/spl-token";import{PublicKey as ri}from"@solana/web3.js";import Ln,{isBN as On}from"bn.js";import{bits as Ho,BitStructure as Oc,blob as Qo,Blob as Nc,cstr as Mc,f32 as Fc,f32be as vc,f64 as _c,f64be as Vc,greedy as Ec,Layout as Zo,ns64 as Dc,ns64be as Wc,nu64 as qc,nu64be as Uc,offset as $o,s16 as Gc,s16be as zc,s24 as Xc,s24be as Yc,s32 as jo,s32be as Hc,s40 as Qc,s40be as Zc,s48 as $c,s48be as jc,s8 as Jc,seq as Jo,struct as el,Structure as ei,u16 as ti,u16be as tl,u24 as nl,u24be as ol,u32 as ni,u32be as il,u40 as rl,u40be as al,u48 as sl,u48be as ul,u8 as oi,UInt as ii,union as cl,Union as ll,unionLayoutDiscriminator as ml,utf8 as dl}from"@solana/buffer-layout";var Pt=Zo,xn=ei;var zt=ii;var Cn=oi,z=ti;var ot=ni;var me=jo;var Rn=Jo;var V=Qo;var Xt=Ho,Yt=$o;var Ke=class extends Pt{constructor(n,o,a){super(n,a);this.blob=V(n),this.signed=o}decode(n,o=0){let a=new Ln(this.blob.decode(n,o),10,"le");return this.signed?a.fromTwos(this.span*8).clone():a}encode(n,o,a=0){return typeof n=="number"&&(n=new Ln(n)),this.signed&&(n=n.toTwos(this.span*8)),this.blob.encode(n.toArrayLike(Buffer,"le",this.span),o,a)}},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 a=this._lower.decode(n,o),s=this._upper.decode(n,o+this._lower.span);return C(C({},a),s)}encode(n,o,a=0){return this._lower.encode(n,o,a)+this._upper.encode(n,o,a+this._lower.span)}};function c(i){return new zt(1,i)}function Q(i){return new zt(4,i)}function e(i){return new Ke(8,!1,i)}function F(i){return new Ke(16,!1,i)}function Nn(i){return new Ke(1,!0,i)}function Ve(i){return new Ke(8,!0,i)}function Mn(i){return new Ke(16,!0,i)}var xe=class extends Pt{constructor(n,o,a,s){super(n.span,s);this.layout=n,this.decoder=o,this.encoder=a}decode(n,o){return this.decoder(this.layout.decode(n,o))}encode(n,o,a){return this.layout.encode(this.encoder(n),o,a)}getSpan(n,o){return this.layout.getSpan(n,o)}};function r(i){return new xe(V(32),t=>new ri(t),t=>t.toBuffer(),i)}function ce(i){return new xe(Cn(),ai,si,i)}function ai(i){if(i===0)return!1;if(i===1)return!0;throw new Error("Invalid bool: "+i)}function si(i){return i?1:0}function Qt(i,t){let n=ot("length"),o=l([n,P(i,Yt(n,-n.span),"values")]);return new xe(o,({values:a})=>a,a=>({values:a}),t)}function ui(i){let t=ot("length"),n=l([t,V(Yt(t,-t.span),"data")]);return new xe(n,({data:o})=>o,o=>({data:o}),i)}function oe(i){return new xe(ui(),t=>t.toString("utf-8"),t=>Buffer.from(t,"utf-8"),i)}var Ht=class extends xn{decode(t,n){return super.decode(t,n)}};function l(i,t,n){return new Ht(i,t,n)}function P(i,t,n){let o,a=typeof t=="number"?t:On(t)?t.toNumber():new Proxy(t,{get(s,u){if(!o){let f=Reflect.get(s,"count");o=On(f)?f.toNumber():f,Reflect.set(s,"count",o)}return Reflect.get(s,u)},set(s,u,f){return u==="count"&&(o=f),Reflect.set(s,u,f)}});return Rn(i,a,n)}var wt=l([r("mint"),r("owner"),e("amount"),Q("delegateOption"),r("delegate"),c("state"),Q("isNativeOption"),e("isNative"),e("delegatedAmount"),Q("closeAuthorityOption"),r("closeAuthority")]);import{PublicKey as cP,SystemProgram as lP}from"@solana/web3.js";import{createAssociatedTokenAccountIdempotentInstruction as dP}from"@solana/spl-token";import{PublicKey as Bm}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Km}from"@solana/spl-token";import{PublicKey as M}from"@solana/web3.js";var vn=new M("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),_n=new M("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),Vn=new M("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Zt=new M("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),Lm=new M("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),li=new M("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),En=new M("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),Dn=new M("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),Om=new M("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),mi=new M("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Wn=new M("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),di=new M("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),pi=new M("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),qn=new M("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Nm=new M("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),fi=new M("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),$t=new M("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),yi=new M("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),Mm=new M("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),bi=new M("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),gi=new M("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),Pi=new M("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),Fm=new M("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),vm=new M("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),_m=new M("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),Vm=new M("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),Em=new M("6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX");var we={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 TP from"decimal.js";import{createAssociatedTokenAccountIdempotentInstruction as Gy,TOKEN_2022_PROGRAM_ID as zy,TOKEN_PROGRAM_ID as Xy}from"@solana/spl-token";import{PublicKey as Hy}from"@solana/web3.js";import Zy from"bn.js";import jy from"decimal.js";import{TOKEN_PROGRAM_ID as Jm}from"@solana/spl-token";import{PublicKey as od}from"@solana/web3.js";var Ai=l([Q("mintAuthorityOption"),r("mintAuthority"),e("supply"),c("decimals"),c("isInitialized"),Q("freezeAuthorityOption"),r("freezeAuthority")]);import{ASSOCIATED_TOKEN_PROGRAM_ID as my,TOKEN_2022_PROGRAM_ID as dy,TOKEN_PROGRAM_ID as py}from"@solana/spl-token";import{Keypair as by,PublicKey as gy,SystemProgram as Ay,TransactionInstruction as wy}from"@solana/web3.js";import Ty from"bn.js";import U from"bn.js";var De=new U(1).shln(64);var wi=new U(1).shln(128),jt=new U(1).shln(64).subn(1),ki=new U(1).shln(128).subn(1);var We=new U("4295048016"),qe=new U("79226673521066979257578248091"),Ti=new U("59543866431248"),hi=new U("184467440737095516"),Ii=new U("15793534762490258745");var Jt=60,yd=new U("18446743708227953217"),Bi=[{bit:0,factor:new U("fffcb933bd6fb800",16)},{bit:1,factor:new U("fff97272373d4000",16)},{bit:2,factor:new U("fff2e50f5f657000",16)},{bit:3,factor:new U("ffe5caca7e10f000",16)},{bit:4,factor:new U("ffcb9843d60f7000",16)},{bit:5,factor:new U("ff973b41fa98e800",16)},{bit:6,factor:new U("ff2ea16466c9b000",16)},{bit:7,factor:new U("fe5dee046a9a3800",16)},{bit:8,factor:new U("fcbe86c7900bb000",16)},{bit:9,factor:new U("f987a7253ac65800",16)},{bit:10,factor:new U("f3392b0822bb6000",16)},{bit:11,factor:new U("e7159475a2caf000",16)},{bit:12,factor:new U("d097f3bdfd2f2000",16)},{bit:13,factor:new U("a9f746462d9f8000",16)},{bit:14,factor:new U("70d869a156f31c00",16)},{bit:15,factor:new U("31be135f97ed3200",16)},{bit:16,factor:new U("9aa508b5b85a500",16)},{bit:17,factor:new U("5d6af8dedc582c",16)},{bit:18,factor:new U("2216e584f5fa",16)}];var it=3,Un=100;var Gn=10,zn=100,Tt=14;var ee=new U(0),Ue=new U(1),bd=new U(-1);var gd=new U("18446744073700000000");var Si=l([V(8),c("bump"),z("index"),r("owner"),Q("protocolFeeRate"),Q("tradeFeeRate"),z("tickSpacing"),Q("fundFeeRate"),P(Q(),1),r("fundOwner"),P(e(),3)]),Ki=l([Q("blockTimestamp"),Ve("tickCumulative"),P(e(),4)]),Xn=l([V(8),ce("initialized"),e("recentEpoch"),z("observationIndex"),r("poolId"),P(Ki,Un,"observations"),P(e(),4)]),xi=l([z("filterPeriod"),z("decayPeriod"),z("reductionFactor"),Q("dynamicFeeControl"),Q("maxVolatilityAccumulator"),me("tickSpacingIndexReference"),Q("volatilityReference"),Q("volatilityAccumulator"),e("lastUpdateTimestamp"),P(c(),46)]),Ci=l([c("state"),e("openTime"),e("endTime"),e("lastUpdateTime"),F("emissionsPerSecondX64"),e("totalEmissioned"),e("claimed"),r("mint"),r("vault"),r("creator"),F("growthGlobalX64")]),en=l([V(8),c("bump"),r("configId"),r("creator"),r("mintA"),r("mintB"),r("vaultA"),r("vaultB"),r("observationId"),c("mintDecimalsA"),c("mintDecimalsB"),z("tickSpacing"),F("liquidity"),F("sqrtPriceX64"),me("tickCurrent"),Q(),F("feeGrowthGlobalX64A"),F("feeGrowthGlobalX64B"),e("protocolFeesTokenA"),e("protocolFeesTokenB"),P(F(),4),c("status"),c("feeOn"),V(6),P(Ci,it,"rewardInfos"),V(8*16,"tickArrayBitmap"),P(e(),4),e("fundFeesTokenA"),e("fundFeesTokenB"),e("startTime"),e("recentEpoch"),xi.replicate("dynamicFeeInfo"),P(e(),46)]),Ri=l([F("growthInsideLastX64"),e("rewardAmountOwed")]),Li=l([V(8),c("bump"),r("nftMint"),r("poolId"),me("tickLower"),me("tickUpper"),F("liquidity"),F("feeGrowthInsideLastX64A"),F("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),P(Ri,it,"rewardInfos"),e("recentEpoch"),P(e(),7)]),kd=l([V(8),c("bump"),r("poolId"),me("tickLower"),me("tickUpper"),F("liquidity"),F("feeGrowthInsideLastX64A"),F("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),P(F(),it,"rewardGrowthInside"),e("recentEpoch"),P(e(),7)]),Oi=l([me("tick"),Mn("liquidityNet"),F("liquidityGross"),F("feeGrowthOutsideX64A"),F("feeGrowthOutsideX64B"),P(F(),it,"rewardGrowthsOutsideX64"),e("orderPhase"),e("ordersAmount"),e("partFilledOrdersRemaining"),F("unfilledRatioX64"),P(Q(),3)]),Yn=l([V(8),r("poolId"),me("startTickIndex"),P(Oi,Jt,"ticks"),c("initializedTickCount"),e("recentEpoch"),P(c(),107)]),Ni=l([V(8),c("bump"),P(r(),Gn,"operationOwners"),P(r(),zn,"whitelistMints")]),Mi=l([V(8),r("poolId"),r("owner"),me("tick"),ce("zeroForOne"),e("orderPhase"),e("totalAmount"),e("filledAmount"),e("settleBase"),e("settleOutput"),e("openTime"),F("unfilledRatioX64"),P(e(),4)]),Hn=l([V(8),r("poolId"),V(8*8*Tt,"positiveTickArrayBitmap"),V(8*8*Tt,"negativeTickArrayBitmap")]),Td=l([V(8),z("index"),z("filterPeriod"),z("decayPeriod"),z("reductionFactor"),Q("dynamicFeeControl"),Q("maxVolatilityAccumulator"),P(e(),8)]),Fi=l([V(8),r("wallet"),c("nonceIndex"),e("orderNonce"),P(e(),4)]),hd=l([e(),c("bump"),r("owner"),r("poolId"),r("positionId"),r("nftAccount"),P(e(),8)]),vi=l([V(8),c("bump"),r("lockOwner"),r("poolId"),r("positionId"),r("nftAccount"),r("lockNftMint"),e("recentEpoch"),P(e(),8)]);import Sd from"bn.js";var _d=Buffer.from("amm_config","utf8"),Vi=Buffer.from("pool","utf8"),Ei=Buffer.from("pool_vault","utf8"),Vd=Buffer.from("pool_reward_vault","utf8"),Ed=Buffer.from("position","utf8"),Dd=Buffer.from("tick_array","utf8"),Wd=Buffer.from("operation","utf8"),qd=Buffer.from("pool_tick_array_bitmap_extension","utf8"),Ud=Buffer.from("observation","utf8"),Gd=Buffer.from("support_mint","utf8"),zd=Buffer.from("dynamic_fee_config","utf8"),Xd=Buffer.from("permission","utf8");var Yd=Buffer.from("locked_position","utf8");import{sha256 as er}from"js-sha256";import Di from"bn.js";import $d from"decimal.js";var Jd=new Di(1).shln(256).subn(1);import gp from"bn.js";import ap from"bn.js";import up from"decimal.js";import Tp from"bn.js";import Ip from"decimal.js";import{PublicKey as mf}from"@solana/web3.js";import pf from"bn.js";import{TOKEN_2022_PROGRAM_ID as kf,TOKEN_PROGRAM_ID as Tf}from"@solana/spl-token";import Sf from"decimal.js";import Jp from"bn.js";import Dp from"bn.js";import _f from"bn.js";function te(i){let t=`global:${i}`;return Buffer.from(er.digest(t)).slice(0,8)}Xn.span;var Ly=q("Raydium_Clmm"),Oy={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 rn}from"@solana/web3.js";var ir=l([c("instruction")]),rr=l([c("instruction")]),ar=l([e("rewardState"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardLastUpdateTime"),e("totalReward"),e("totalRewardEmissioned"),e("rewardClaimed"),e("rewardPerSecond"),F("accRewardPerShare"),r("rewardVault"),r("rewardMint"),r("rewardSender"),e("rewardType"),P(e(),15,"padding")]),sr=l([e("state"),e("nonce"),r("lpVault"),r("rewardVault"),r(),r(),e(),e(),e("totalReward"),F("perShareReward"),e("lastSlot"),e("perSlotReward")]),ur=l([e("state"),e("nonce"),r("lpVault"),r("rewardVaultA"),e("totalRewardA"),F("perShareRewardA"),e("perSlotRewardA"),c("option"),r("rewardVaultB"),V(7),e("totalRewardB"),F("perShareRewardB"),e("perSlotRewardB"),e("lastSlot"),r()]),cr=l([e(),e("state"),e("nonce"),e("validRewardTokenNum"),F("rewardMultiplier"),e("rewardPeriodMax"),e("rewardPeriodMin"),e("rewardPeriodExtend"),r("lpMint"),r("lpVault"),P(ar,5,"rewardInfos"),r("creator"),r(),P(e(),32,"padding")]),lr=new Proxy(sr,{get(i,t,n){return t==="decode"?(...o)=>{let a=i.decode(...o);return _(C({},a),{version:3,rewardInfos:[{rewardVault:a.rewardVault,totalReward:a.totalReward,perSlotReward:a.perSlotReward,perShareReward:a.perShareReward}]})}:Reflect.get(i,t,n)}}),mr=new Proxy(ur,{get(i,t,n){return t==="decode"?(...o)=>{let a=i.decode(...o);return _(C({},a),{version:5,rewardInfos:[{rewardVault:a.rewardVaultA,totalReward:a.totalRewardA,perSlotReward:a.perSlotRewardA,perShareReward:a.perShareRewardA},{rewardVault:a.rewardVaultB,totalReward:a.totalRewardB,perSlotReward:a.perSlotRewardB,perShareReward:a.perShareRewardB}]})}:Reflect.get(i,t,n)}}),to=new Proxy(cr,{get(i,t,n){return t==="decode"?(...o)=>{let a=i.decode(...o);return _(C({},a),{version:6,rewardInfos:a.rewardInfos.map(s=>{var u;return _(C({},s),{rewardType:((u=Object.entries(st).find(f=>String(f[1])===s.rewardType.toString()))!=null?u:["Standard SPL"])[0]})})})}:Reflect.get(i,t,n)}}),dr=l([e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),pr=l([c("instruction"),e("nonce"),P(dr,5,"rewardTimeInfo")]),fr=l([c("instruction"),e("rewardReopenTime"),e("rewardEndTime"),e("rewardPerSecond")]),yr=l([c("instruction"),e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),Kb=l([e("state"),r("id"),r("owner"),e("deposited"),P(e(),1,"rewardDebts")]),no=l([e("state"),r("id"),r("owner"),e("deposited"),P(F(),1,"rewardDebts"),e(""),e("voteLockedBalance"),P(e(),15)]),xb=l([e("state"),r("id"),r("owner"),e("deposited"),P(e(),2,"rewardDebts")]),br=l([e("state"),r("id"),r("owner"),e("deposited"),P(F(),2,"rewardDebts"),P(e(),17)]),gr=l([e(),e("state"),r("id"),r("owner"),e("deposited"),P(F(),5,"rewardDebts"),P(e(),16)]),Pr=l([c("instruction"),e("amount")]),Ar=l([r("mint"),r("grantAuthority"),e("baselineVoteWeightScaledFactor"),e("maxExtraLockupVoteWeightScaledFactor"),e("lockupSaturationSecs"),Nn("digitShift"),P(c(),7,"reserved1"),P(e(),7,"reserved2")]),wr=l([V(8),r("governanceProgramId"),r("realm"),r("realmGoverningTokenMint"),r("realmAuthority"),P(c(),32,"reserved1"),P(Ar,4,"votingMints"),Ve("timeOffset"),c("bump"),P(c(),7,"reserved2"),P(e(),11,"reserved3")]),kr=l([Ve("startTime"),Ve("endTime"),c("kind"),P(c(),15,"reserved")]),Tr=l([P(kr,1,"lockup"),e("amountDeposited_native"),e("amountInitiallyLockedNative"),ce("isUsed"),ce("allowClawback"),c("votingMintConfigIdx"),P(c(),29,"reserved")]),hr=l([V(8),r("voterAuthority"),r("registrar"),P(Tr,32,"deposits"),c("voterBump"),c("voterWweightRecordBump"),P(c(),94,"reserved")]);import{NATIVE_MINT as _b}from"@solana/spl-token";var Vb=q("Raydium_farm_config"),Ir=new rn("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Br=new rn("FrspKwj8i3pNmKwXreTveC4fu7KL5ZbGeXdZBe2XViu1");var Eb=new rn("3TRTX4dXUpp2eqxi3tvQDFYUV7SdDJjcPE3Y4mbtftaX");var st={"Standard SPL":0,"Option tokens":1},oo={[vn.toString()]:3,[_n.toString()]:4,[Vn.toString()]:5,[Zt.toString()]:6,[we.FARM_PROGRAM_ID_V3.toString()]:3,[we.FARM_PROGRAM_ID_V4.toString()]:4,[we.FARM_PROGRAM_ID_V5.toString()]:5,[we.FARM_PROGRAM_ID_V6.toString()]:6};import{PublicKey as Ig,SystemProgram as Bg,SYSVAR_CLOCK_PUBKEY as Sg,SYSVAR_RENT_PUBKEY as Kg,TransactionInstruction as xg}from"@solana/web3.js";import Rg from"bn.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as Og,createAssociatedTokenAccountIdempotentInstruction as Ng,TOKEN_PROGRAM_ID as Mg}from"@solana/spl-token";import eg from"bn.js";import{PublicKey as zb}from"@solana/web3.js";import Yb from"bn.js";var pg=q("Raydium.farm.util");var zg=q("Raydium_farm_instruction"),Xg={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 NP from"bn.js";import{PublicKey as Ww}from"@solana/web3.js";import{AccountLayout as Gw,MintLayout as zw,NATIVE_MINT as Xw,TOKEN_PROGRAM_ID as Hw}from"@solana/spl-token";import vP from"bn.js";import ro from"bn.js";var Nr=new ro(25),Mr=new ro(1e4);import{ASSOCIATED_TOKEN_PROGRAM_ID as iA,TOKEN_PROGRAM_ID as rA}from"@solana/spl-token";import{PublicKey as sA,SystemProgram as uA,SYSVAR_RENT_PUBKEY as cA,TransactionInstruction as lA}from"@solana/web3.js";import PA from"bn.js";var Fr=l([c("instruction"),e("amountIn"),e("minAmountOut")]),vr=l([c("instruction"),e("maxAmountIn"),e("amountOut")]),eA=l([c("instruction"),c("nonce")]),_r=l([c("instruction"),c("nonce"),e("startTime")]),ao=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"),F("swapBaseInAmount"),F("swapQuoteOutAmount"),e("swapBase2QuoteFee"),F("swapQuoteInAmount"),F("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")]),tA=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"),F("swapBaseInAmount"),F("swapQuoteOutAmount"),F("swapQuoteInAmount"),F("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")]),Vr=l([c("instruction"),e("baseAmountIn"),e("quoteAmountIn"),e("fixedSide"),e("otherAmountMin")]),Er=l([c("instruction"),e("lpAmount"),e("baseAmountMin"),e("quoteAmountMin")]);var Dr=l([e("fee")]);var kA=q("Raydium_liquidity_instruction");var Wr=5e4,qr=l([e("x"),e("y"),e("price")]),BA=l([e("accountType"),e("status"),e("multiplier"),e("validDataCount"),P(qr,Wr,"DataElement")]);import{PublicKey as _A}from"@solana/web3.js";import EA from"decimal.js";import{TOKEN_PROGRAM_ID as WA}from"@solana/spl-token";import{PublicKey as CA}from"@solana/web3.js";var OA=q("Raydium_liquidity_serum");import fk from"bn.js";import bk from"decimal.js";import{TOKEN_PROGRAM_ID as fw}from"@solana/spl-token";import{PublicKey as bw}from"@solana/web3.js";import Pw from"bn.js";import{SystemProgram as tw,SYSVAR_RENT_PUBKEY as nw,Transaction as ow,TransactionInstruction as iw}from"@solana/web3.js";import{createInitializeAccountInstruction as aw,TOKEN_PROGRAM_ID as sw}from"@solana/spl-token";function Ur(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 Gr=l([V(5),Ur("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"),V(7)]);import{PublicKey as GT}from"@solana/web3.js";import{AccountLayout as XT,NATIVE_MINT as YT,TOKEN_2022_PROGRAM_ID as HT,TOKEN_PROGRAM_ID as QT,createAssociatedTokenAccountIdempotentInstruction as ZT}from"@solana/spl-token";import Dk from"bn.js";import $r from"bn.js";var Sk=new $r(0);import Ok from"bn.js";import jr from"bn.js";var Bt=new jr(1e6);import ih from"bn.js";import ah from"decimal.js";import{PublicKey as aT,TransactionInstruction as sT,Keypair as cT,SystemProgram as lT}from"@solana/web3.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as dT,TOKEN_2022_PROGRAM_ID as pT,TOKEN_PROGRAM_ID as fT}from"@solana/spl-token";var zk=Buffer.from("vault_and_lp_mint_auth_seed","utf8"),Xk=Buffer.from("amm_config","utf8"),Yk=Buffer.from("pool","utf8"),Hk=Buffer.from("pool_lp_mint","utf8"),Qk=Buffer.from("pool_vault","utf8"),Zk=Buffer.from("observation","utf8"),$k=Buffer.from("permission","utf8"),jk=Buffer.from("support_mint","utf8"),Jk=Buffer.from("creator_fee_share","utf8");var eT=Buffer.from("locked_liquidity","utf8");var kT=q("Raydium_cpmm"),TT={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 ta=l([V(8),c("bump"),ce("disableCreatePool"),z("index"),e("tradeFeeRate"),e("protocolFeeRate"),e("fundFeeRate"),e("createPoolFee"),r("protocolOwner"),r("fundOwner"),e("creatorFeeRate"),e("creatorFeeShareRate"),P(e(),14)]),so=l([V(8),r("configId"),r("poolCreator"),r("vaultA"),r("vaultB"),r("mintLp"),r("mintA"),r("mintB"),r("mintProgramA"),r("mintProgramB"),r("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"),ce("enableCreatorFee"),P(c(),6),e("creatorFeesMintA"),e("creatorFeesMintB"),P(e(),28)]),BT=l([V(8),r("configId"),P(e(),30)]),ST=l([V(8),c("bump"),r("creator"),r("ammConfig"),e("shareRate"),P(e(),8)]);import{PublicKey as vK,SystemProgram as _K}from"@solana/web3.js";import{createTransferInstruction as EK,TOKEN_PROGRAM_ID as DK,TOKEN_2022_PROGRAM_ID as WK,createAssociatedTokenAccountIdempotentInstruction as qK,createSyncNativeInstruction as GK,createTransferCheckedInstruction as zK}from"@solana/spl-token";import _a from"bn.js";import HK from"decimal.js";var Jh=Buffer.from("vault_auth_seed","utf8"),eI=Buffer.from("global_config","utf8"),tI=Buffer.from("pool_vesting","utf8"),nI=Buffer.from("platform_config","utf8"),oI=Buffer.from("platform_fee_vault_auth_seed","utf8"),iI=Buffer.from("creator_fee_vault_auth_seed","utf8"),rI=Buffer.from("platform_global_access","utf8"),aI=Buffer.from("platform_allow_config","utf8"),sI=Buffer.from("platform_curve_rule","utf8");function ke(i){return le([Buffer.from("__event_authority","utf8")],i)}var ia=l([e(),e("epoch"),c("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)]),ra=l([e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod"),e("startTime"),e("totalAllocatedShare")]),aa=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"),ra.replicate("vestingSchedule"),r("configId"),r("platformId"),r("mintA"),r("mintB"),r("vaultA"),r("vaultB"),r("creator"),c("mintProgramFlag"),c("cpmmCreatorFeeOn"),e("platformVestingShare"),P(c(),54)]),mI=l([e(),e("epoch"),r("poolId"),r("beneficiary"),e("claimedAmount"),e("tokenShareAmount"),P(e(),8)]),sa=l([c("migrateType"),c("migrateCpmmFeeOn"),e("supply"),e("totalSellA"),e("totalFundRaisingB"),e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod")]),dI=l([e("epoch"),c("index"),r("configId"),sa.replicate("bondingCurveParam"),P(e(),50)]),co=l([e(),e("epoch"),r("platformClaimFeeWallet"),r("platformLockNftWallet"),e("platformScale"),e("creatorScale"),e("burnScale"),e("feeRate"),P(c(),64,"name"),P(c(),256,"web"),P(c(),256,"img"),r("cpConfigId"),e("creatorFeeRate"),r("transferFeeExtensionAuth"),r("platformVestingWallet"),e("platformVestingScale"),r("platformCpCreator"),c("restrictGlobalConfig"),c("restrictCurveParam"),r("curveRuleManager"),P(c(),78)]),ua=l([c("field"),c("op"),F("value")]),ca=l([z("groupId"),e("epoch"),Qt(ua,"constraints")]),la=l([e(),c("bump"),c("version"),r("platformId"),r("configId"),e("epoch"),P(e(),8),Qt(ca,"groups")]);import{TOKEN_2022_PROGRAM_ID as yI,TOKEN_PROGRAM_ID as bI}from"@solana/spl-token";import ma from"bn.js";var xI=new ma(1e6);import OI from"bn.js";import MI from"decimal.js";import dB from"bn.js";import fB from"decimal.js";import DI from"bn.js";import qI from"decimal.js";import jI from"bn.js";import eB from"decimal.js";import po 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 a=t.mul(this._multipler(o)).div(this._multipler(n));return new po(a.mul(this._Q64).toFixed(0))}};xt._Q64=new sn(new po(1).shln(64).toString());import{NATIVE_MINT as mS,TOKEN_2022_PROGRAM_ID as dS,TOKEN_PROGRAM_ID as pS,createAssociatedTokenAccountIdempotentInstruction as yS,createSyncNativeInstruction as bS,getTransferFeeConfig as gS,unpackMint as PS}from"@solana/spl-token";import j from"bn.js";import{PublicKey as ba,SystemProgram as kS}from"@solana/web3.js";import xS from"decimal.js";var CS={initPriceX64:new j("515752397214619"),supply:new j(1e15),totalSellA:new j(7931e11),totalFundRaisingB:new j(85e9),totalFundRaisingBUSD:new j(125e8),totalLockedAmount:new j("0"),cliffPeriod:new j("0"),unlockPeriod:new j("0"),decimals:6,virtualA:new j("1073471847374405"),virtualB:new j("30050573465"),realA:new j(0),realB:new j(0),protocolFee:new j(0),platformId:new ba("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),vestingSchedule:{totalLockedAmount:new j(0),cliffPeriod:new j(0),unlockPeriod:new j(0),startTime:new j(0),totalAllocatedShare:new j(0)}},RS=new j(1e4);var Fa={[En.toBase58()]:3};var va=l([V(5),V(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"),V(7)]);import{PublicKey as eK}from"@solana/web3.js";var rK=q("Serum");import{ASSOCIATED_TOKEN_PROGRAM_ID as fK,TOKEN_2022_PROGRAM_ID as yK,TOKEN_PROGRAM_ID as bK}from"@solana/spl-token";import{PublicKey as PK,SystemProgram as AK,TransactionInstruction as wK}from"@solana/web3.js";import TK from"bn.js";var Ix=new _a(0);import{PublicKey as Va,Transaction as un,TransactionInstruction as Ea}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Da}from"@solana/spl-token";import bo from"bn.js";var re=class extends ue{static getPdaPoolId(t,n){return le([re.SEED_CONFIG.pool.id,n.toBuffer()],t)}static getPdaOwnerId(t,n,o,a){return le([re.SEED_CONFIG.owner.id,n.toBuffer(),o.toBuffer(),Buffer.from(new bo(a).toArray())],t)}static async getAllInfo({connection:t,programId:n,poolIds:o,wallet:a,chainTime:s}){if(o.length===0)return[];let u=o.map(g=>re.getPdaPoolId(n,g).publicKey),f=[];for(let g=0;g<re.VERSION_PROJECT.length;g++)f.push(...u.map(B=>re.getPdaOwnerId(n,B,a,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),K=g%o.length,h=u[K],x=f[g],k=b[K],y=b[o.length+g];if(!(k&&y)||k.data.length!==re.POOL_LAYOUT.span||y.data.length!==re.OWNER_LAYOUT.span)continue;let A=re.POOL_LAYOUT.decode(k.data),T=re.OWNER_LAYOUT.decode(y.data),R=A.openTime.toNumber(),L=A.endTime.toNumber(),p=T.tokenInfo.map(O=>O.debtAmount.gt(new bo(0))).filter(O=>!O).length!==3,w=s>R&&s<L&&A.status===1,S=p&&w;I.push({programId:n,poolId:h,ammId:A.ammId,ownerAccountId:x,snapshotLpAmount:T.lpAmount,project:re.VERSION_PROJECT[B],openTime:R,endTime:L,canClaim:S,canClaimErrorType:p?w?void 0:"outOfOperationalTime":"alreadyClaimIt",tokenInfo:A.tokenInfo.map((O,N)=>({mintAddress:O.mintAddress,mintVault:O.mintVault,mintDecimals:O.mintDecimals,perLpLoss:O.perLpLoss,debtAmount:T.tokenInfo[N].debtAmount.add(T.tokenInfo[N].claimedAmount)}))})}return I}async makeClaimTransaction({poolInfo:t,ownerInfo:n,feePayer:o}){n.wallet||this.scope.checkOwner();let a=this.createTxBuilder(o),s=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(ie.WSOL.mint),createInfo:{payer:s,amount:0},skipCloseAccount:!I.mintAddress.equals(ie.WSOL.mint),associatedOnly:I.mintAddress.equals(ie.WSOL.mint)?!1:n.associatedOnly});B&&a.addInstruction(B),u.push(g)}a.addInstruction({instructions:[re.makeClaimInstruction({programId:t.programId,poolInfo:t,ownerInfo:{wallet:s,ownerPda:t.ownerAccountId,claimAddress:u}})]});let{transaction:f,signers:b}=a.build();return[{transaction:f,signer:b}]}async makeClaimAllTransaction({poolInfos:t,ownerInfo:n,feePayer:o}){let a=this.createTxBuilder(o),s=n.wallet||this.scope.ownerPubKey,u={};for(let g of t){let B=[];for(let K of g.tokenInfo){let{account:h,instructionParams:x}=await this.scope.account.getOrCreateTokenAccount({mint:K.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:K.mintAddress.equals(ie.WSOL.mint),createInfo:{payer:s,amount:0},skipCloseAccount:!K.mintAddress.equals(ie.WSOL.mint),associatedOnly:K.mintAddress.equals(ie.WSOL.mint)?!1:n.associatedOnly});x&&a.addInstruction(x),h&&(u[K.mintAddress.toString()]=h,B.push(h))}a.addInstruction({instructions:[re.makeClaimInstruction({programId:g.programId,poolInfo:g,ownerInfo:{wallet:s,ownerPda:g.ownerAccountId,claimAddress:B}})]})}let{transaction:f,signers:b}=a.build(),I=a.allInstructions;return qt(I,[s,...b.map(g=>g.publicKey)])?[{transaction:f,signer:b}]:[{transaction:new un().add(...I.slice(0,a.AllTxData.instructions.length-1)),signer:b},{transaction:new un().add(...I.slice(a.AllTxData.instructions.length-1)),signer:[]},{transaction:new un().add(...a.AllTxData.endInstructions),signer:[]}]}static makeClaimInstruction({programId:t,poolInfo:n,ownerInfo:o}){let a=l([]),s=[{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:Da,isSigner:!1,isWritable:!1}],u=Buffer.alloc(a.span);a.encode({},u);let f=Buffer.from([10,66,208,184,161,6,191,98,...u]);return new Ea({keys:s,programId:t,data:f})}},de=re;de.CLAIMED_NUM=3,de.POOL_LAYOUT=l([V(8),c("bump"),c("status"),e("openTime"),e("endTime"),r("ammId"),P(l([c("mintDecimals"),r("mintAddress"),r("mintVault"),e("perLpLoss"),e("totalClaimedAmount")]),re.CLAIMED_NUM,"tokenInfo"),P(e(),10,"padding")]),de.OWNER_LAYOUT=l([V(8),c("bump"),c("version"),r("poolId"),r("owner"),e("lpAmount"),P(l([r("mintAddress"),e("debtAmount"),e("claimedAmount")]),re.CLAIMED_NUM,"tokenInfo"),P(e(),4,"padding")]),de.DEFAULT_POOL_ID=["58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2","6UmmUiYoBjSrhakAobJw8BvkmJtDVxaeBtbt7rxWo1mg","AVs9TA4nWDzfPJE9gGVNJMVhcQy3V9PGazuz33BfG2RA","DVa7Qmb5ct9RCpaU7UTpSaf3GVMYz17vNVU67XpdCRut","7XawhbbxtsRcQA8KTkHT9f9nc6d69UwqCDh6U5EEbEmX","6a1CsrpeZubDjEJE9s1CMVheB6HWM5d7m1cj2jkhyXhj","EoNrn8iUhwgJySD1pHu8Qxm5gSQqLK3za4m8xzD2RuEb","AceAyRTWt4PyB2pHqf2qhDgNZDtKVNaxgL8Ru3V4aN1P","6tmFJbMk5yVHFcFy7X2K8RwHjKLr6KVFLYXpgpBNeAxB"].map(t=>new Va(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 Wx}from"@solana/web3.js";import{getTransferFeeConfig as Ux,MintLayout as Gx,TOKEN_2022_PROGRAM_ID as zx,TOKEN_PROGRAM_ID as Xx,unpackMint as Yx}from"@solana/spl-token";var kR=new Ce(2),TR=new Ce(3),hR=new Ce(5),Oo=new Ce(10),IR=new Ce(100),BR=new Ce(1e3),SR=new Ce(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 Wa,TOKEN_PROGRAM_ID as cn}from"@solana/spl-token";import{SystemProgram as ne,TransactionInstruction as Z}from"@solana/web3.js";import Xe 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]),createPlatformVestingAccount:Buffer.from([146,71,173,69,98,19,15,106]),createPlatformAllowConfig:Buffer.from([69,71,168,7,214,250,107,102]),closePlatformAllowConfig:Buffer.from([82,205,36,216,16,6,240,215]),createPlatformCurveRule:Buffer.from([148,71,180,136,122,144,59,21]),updatePlatformCurveRule:Buffer.from([90,100,206,196,54,117,120,139]),removePlatformCurveRule:Buffer.from([236,77,154,138,32,145,127,219]),closePlatformCurveRule:Buffer.from([194,114,82,45,136,88,169,159])};function nL(i,t,n,o,a,s,u,f,b,I,g,B,K,h,x,k,y,A,T,R){throw new Error("*** launchlab initialize has been deprecated, please use initializeV2 instead! ***")}function ga(i,t,n,o,a,s,u,f,b,I,g,B,K,h,x,k,y,A,T,R,L,p,w,S){let O=l([c("decimals"),oe("name"),oe("symbol"),oe("uri")]),N=l([e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod"),c("cpmmCreatorFeeOn")]),v=l([c("index"),e("supply"),e("totalFundRaisingB"),c("migrateType")]),X=l([c("index"),e("supply"),e("totalSellA"),e("totalFundRaisingB"),c("migrateType")]),W=[{pubkey:t,isSigner:!0,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!1,isWritable:!1},{pubkey:a,isSigner:!1,isWritable:!1},{pubkey:s,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:cn,isSigner:!1,isWritable:!1},{pubkey:K,isSigner:!1,isWritable:!1},{pubkey:Oe,isSigner:!1,isWritable:!1},{pubkey:ne.programId,isSigner:!1,isWritable:!1},{pubkey:Ie,isSigner:!1,isWritable:!1},{pubkey:ke(i).publicKey,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1}];w&&W.push({pubkey:w,isSigner:!1,isWritable:!1}),S&&W.push({pubkey:S,isSigner:!1,isWritable:!1});let E=Buffer.alloc(Buffer.from(x,"utf-8").length+Buffer.from(k,"utf-8").length+Buffer.from(y,"utf-8").length+4*3+1),Y=Buffer.alloc(N.span),D=Buffer.alloc(A.type==="ConstantCurve"?X.span:v.span);return O.encode({decimals:h,name:x,symbol:k,uri:y},E),A.type==="ConstantCurve"?X.encode(_(C({index:0},A),{migrateType:A.migrateType==="amm"?0:1}),D):A.type==="FixedCurve"?v.encode(_(C({index:1},A),{migrateType:A.migrateType==="amm"?0:1}),D):A.type==="LinearCurve"&&v.encode(_(C({index:2},A),{migrateType:A.migrateType==="amm"?0:1}),D),N.encode({totalLockedAmount:T,cliffPeriod:R,unlockPeriod:L,cpmmCreatorFeeOn:p},Y),new Z({keys:W,programId:i,data:Buffer.from([...$.initializeV2,...E,...D,...Y])})}function Pa(i,t,n,o,a,s,u,f,b,I,g,B,K,h,x,k,y,A,T,R,L,p,w,S){let O=l([c("decimals"),oe("name"),oe("symbol"),oe("uri")]),N=l([e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod"),c("cpmmCreatorFeeOn"),c("transferFeeExtensionParamsOption"),l([z("transferFeeBasePoints"),e("maxinumFee")]).replicate("transferFeeExtensionParams")]),v=l([c("index"),e("supply"),e("totalFundRaisingB"),c("migrateType")]),X=l([c("index"),e("supply"),e("totalSellA"),e("totalFundRaisingB"),c("migrateType")]),W=[{pubkey:t,isSigner:!0,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!1,isWritable:!1},{pubkey:a,isSigner:!1,isWritable:!1},{pubkey:s,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:Wa,isSigner:!1,isWritable:!1},{pubkey:B,isSigner:!1,isWritable:!1},{pubkey:ne.programId,isSigner:!1,isWritable:!1},{pubkey:ke(i).publicKey,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1}];w&&W.push({pubkey:w,isSigner:!1,isWritable:!1}),S&&W.push({pubkey:S,isSigner:!1,isWritable:!1});let E=Buffer.alloc(Buffer.from(h,"utf-8").length+Buffer.from(x,"utf-8").length+Buffer.from(k,"utf-8").length+4*3+1),Y=Buffer.alloc(N.span),D=Buffer.alloc(y.type==="ConstantCurve"?X.span:v.span);return O.encode({decimals:K,name:h,symbol:x,uri:k},E),y.type==="ConstantCurve"?X.encode(_(C({index:0},y),{migrateType:y.migrateType==="amm"?0:1}),D):y.type==="FixedCurve"?v.encode(_(C({index:1},y),{migrateType:y.migrateType==="amm"?0:1}),D):y.type==="LinearCurve"&&v.encode(_(C({index:2},y),{migrateType:y.migrateType==="amm"?0:1}),D),N.encode({totalLockedAmount:A,cliffPeriod:T,unlockPeriod:R,cpmmCreatorFeeOn:L,transferFeeExtensionParamsOption:p?1:0,transferFeeExtensionParams:p!=null?p:{transferFeeBasePoints:0,maxinumFee:new Xe(0)}},Y),new Z({keys:W,programId:i,data:Buffer.from([...$.initializeWithToken2022,...E,...D,...Y])})}function fo(i,t,n,o,a,s,u,f,b,I,g,B,K,h,x,k,y,A,T,R){let L=l([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:a,isSigner:!1,isWritable:!1},{pubkey:s,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:K,isSigner:!1,isWritable:!1},{pubkey:h,isSigner:!1,isWritable:!1},{pubkey:ke(i).publicKey,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1}];R&&p.push({pubkey:R,isSigner:!1,isWritable:!0}),p.push({pubkey:ne.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(L.span);return L.encode({amountB:y,minAmountA:A,shareFeeRate:T!=null?T:new Xe(0)},w),new Z({keys:p,programId:i,data:Buffer.from([...$.buyExactIn,...w])})}function Aa(i,t,n,o,a,s,u,f,b,I,g,B,K,h,x,k,y,A,T,R){let L=l([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:a,isSigner:!1,isWritable:!1},{pubkey:s,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:K,isSigner:!1,isWritable:!1},{pubkey:h,isSigner:!1,isWritable:!1},{pubkey:ke(i).publicKey,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1}];R&&p.push({pubkey:R,isSigner:!1,isWritable:!0}),p.push({pubkey:ne.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(L.span);return L.encode({amountA:y,maxAmountB:A,shareFeeRate:T!=null?T:new Xe(0)},w),new Z({keys:p,programId:i,data:Buffer.from([...$.buyExactOut,...w])})}function yo(i,t,n,o,a,s,u,f,b,I,g,B,K,h,x,k,y,A,T,R){let L=l([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:a,isSigner:!1,isWritable:!1},{pubkey:s,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:K,isSigner:!1,isWritable:!1},{pubkey:h,isSigner:!1,isWritable:!1},{pubkey:ke(i).publicKey,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1}];R&&p.push({pubkey:R,isSigner:!1,isWritable:!0}),p.push({pubkey:ne.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(L.span);return L.encode({amountA:y,minAmountB:A,shareFeeRate:T!=null?T:new Xe(0)},w),new Z({keys:p,programId:i,data:Buffer.from([...$.sellExactIn,...w])})}function wa(i,t,n,o,a,s,u,f,b,I,g,B,K,h,x,k,y,A,T,R){let L=l([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:a,isSigner:!1,isWritable:!1},{pubkey:s,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:K,isSigner:!1,isWritable:!1},{pubkey:h,isSigner:!1,isWritable:!1},{pubkey:ke(i).publicKey,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1}];R&&p.push({pubkey:R,isSigner:!1,isWritable:!0}),p.push({pubkey:ne.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(L.span);return L.encode({amountB:y,maxAmountA:A,shareFeeRate:T!=null?T:new Xe(0)},w),new Z({keys:p,programId:i,data:Buffer.from([...$.sellExactOut,...w])})}function ka(i,t,n,o,a,s,u,f,b){let I=l([]),g=[{pubkey:t,isSigner:!0,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:u,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:f,isSigner:!1,isWritable:!1},{pubkey:b,isSigner:!1,isWritable:!1},{pubkey:ne.programId,isSigner:!1,isWritable:!1},{pubkey:Ct,isSigner:!1,isWritable:!1}],B=Buffer.alloc(I.span);return I.encode({},B),new Z({keys:g,programId:i,data:Buffer.from([...$.claimVestedToken,...B])})}function Ta(i,t,n,o,a,s){let u=l([e("shareAmount")]),f=[{pubkey:t,isSigner:!0,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!0},{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:ne.programId,isSigner:!1,isWritable:!1}],b=Buffer.alloc(u.span);return u.encode({shareAmount:s},b),new Z({keys:f,programId:i,data:Buffer.from([...$.createVestingAccount,...b])})}function ha(i,t,n,o,a,s,u,f,b){let I=[{pubkey:t,isSigner:!0,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:u,isSigner:!1,isWritable:!0},{pubkey:f,isSigner:!1,isWritable:!0},{pubkey:b,isSigner:!1,isWritable:!0},{pubkey:ne.programId,isSigner:!1,isWritable:!0},{pubkey:Ct,isSigner:!1,isWritable:!0}];return new Z({keys:I,programId:i,data:$.claimPlatformFee})}function Ia(i,t,n,o,a,s,u,f,b,I,g,B,K,h,x){let k=l([e("platformScale"),e("creatorScale"),e("burnScale"),e("feeRate"),oe("name"),oe("web"),oe("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:s,isSigner:!1,isWritable:!0},{pubkey:u,isSigner:!1,isWritable:!0},{pubkey:ne.programId,isSigner:!1,isWritable:!1},{pubkey:f,isSigner:!1,isWritable:!1},{pubkey:a,isSigner:!1,isWritable:!1}],A=Buffer.alloc(8*6+Buffer.from(B,"utf-8").length+Buffer.from(K,"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:K,img:h,creatorFeeRate:g,platformVestingScale:x},A),new Z({keys:y,programId:i,data:Buffer.from([...$.createPlatformConfig,...A])})}function Ba(i,t,n,o){let a=[{pubkey:t,isSigner:!0,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!0}],s;if(o.type==="updateClaimFeeWallet"){let u=l([c("index"),r("value")]);s=Buffer.alloc(u.span),u.encode({index:0,value:o.value},s)}else if(o.type==="updateLockNftWallet"){let u=l([c("index"),r("value")]);s=Buffer.alloc(u.span),u.encode({index:1,value:o.value},s)}else if(o.type==="migrateCpLockNftScale"){let u=l([c("index"),e("platformScale"),e("creatorScale"),e("burnScale")]);s=Buffer.alloc(u.span),u.encode(C({index:2},o.value),s)}else if(o.type==="updateFeeRate"){let u=l([c("index"),e("value")]);s=Buffer.alloc(u.span),u.encode({index:3,value:o.value},s)}else if(o.type==="updateImg"||o.type==="updateName"||o.type==="updateWeb"){let u=l([c("index"),oe("value")]);s=Buffer.alloc(Buffer.from(o.value,"utf-8").length+4+1*1),o.type==="updateName"?u.encode({index:4,value:o.value},s):o.type==="updateWeb"?u.encode({index:5,value:o.value},s):o.type==="updateImg"&&u.encode({index:6,value:o.value},s)}else if(o.type==="updateCpConfigId"){a.push({pubkey:o.value,isSigner:!1,isWritable:!1});let u=l([c("index")]);s=Buffer.alloc(u.span),u.encode({index:7},s)}else if(o.type==="updateAll"){a.push({pubkey:o.value.cpConfigId,isSigner:!1,isWritable:!1});let u=l([c("index"),r("platformClaimFeeWallet"),r("platformLockNftWallet"),e("platformScale"),e("creatorScale"),e("burnScale"),e("feeRate"),oe("name"),oe("web"),oe("img"),r("transferFeeExtensionAuth"),e("creatorFeeRate"),e("platformVestingScale"),r("platformVestingWallet")]);s=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},s)}else if(o.type==="updateVestingWallet"){let u=l([c("index"),r("value")]);s=Buffer.alloc(u.span),u.encode({index:9,value:o.value},s)}else if(o.type==="updatePlatformVestingScale"){let u=l([c("index"),e("value")]);s=Buffer.alloc(u.span),u.encode({index:10,value:o.value},s)}else if(o.type==="updatePlatformCpCreator"){let u=l([c("index"),r("value")]);s=Buffer.alloc(u.span),u.encode({index:11,value:o.value},s)}else if(o.type==="updateRestrictGlobalConfig"){let u=l([c("index"),e("value")]);s=Buffer.alloc(u.span),u.encode({index:12,value:o.value},s)}else if(o.type==="updateRestrictCurveParam"){let u=l([c("index"),e("value")]);s=Buffer.alloc(u.span),u.encode({index:13,value:o.value},s)}else if(o.type==="updateCurveRuleManager"){let u=l([c("index"),r("value")]);s=Buffer.alloc(u.span),u.encode({index:14,value:o.value},s)}else throw Error("updateInfo params type error");return new Z({keys:a,programId:i,data:Buffer.from([...$.updatePlaformConfig,...s])})}function Sa(i,t,n,o,a,s,u,f){let b=[{pubkey:n,isSigner:!0,isWritable:!0},{pubkey:o,isSigner:!1,isWritable:!1},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:u,isSigner:!1,isWritable:!1},{pubkey:f,isSigner:!1,isWritable:!1},{pubkey:ne.programId,isSigner:!1,isWritable:!1},{pubkey:Ct,isSigner:!1,isWritable:!1}];return new Z({keys:b,programId:i,data:$.claimPlatformFeeFromVault})}function Ka(i,t,n,o,a,s,u){let f=[{pubkey:t,isSigner:!0,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!1},{pubkey:u,isSigner:!1,isWritable:!1},{pubkey:ne.programId,isSigner:!1,isWritable:!1},{pubkey:Ct,isSigner:!1,isWritable:!1}];return new Z({keys:f,programId:i,data:$.claimCreatorFee})}var oL=new Xe("18446744073709551615");function xa(i,t,n,o,a,s){let u=[{pubkey:t,isSigner:!0,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!0},{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:ne.programId,isSigner:!1,isWritable:!1}];return new Z({keys:u,programId:i,data:$.createPlatformVestingAccount})}function Ca(i,t,n,o,a){let s=[{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:ne.programId,isSigner:!1,isWritable:!1}];return new Z({keys:s,programId:i,data:$.createPlatformAllowConfig})}function Ra(i,t,n,o,a){let s=[{pubkey:t,isSigner:!0,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!1,isWritable:!1},{pubkey:a,isSigner:!1,isWritable:!0}];return new Z({keys:s,programId:i,data:$.closePlatformAllowConfig})}function qa(i){let t=l([c("field"),c("op"),F("value")]),n=Buffer.alloc(4+i.length*t.span);return n.writeUInt32LE(i.length,0),i.forEach((o,a)=>{t.encode(o,n,4+a*t.span)}),n}function La(i,t,n,o,a){let s=[{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:ne.programId,isSigner:!1,isWritable:!1}];return new Z({keys:s,programId:i,data:$.createPlatformCurveRule})}function Oa(i,t,n,o,a,s,u){let f=[{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:ne.programId,isSigner:!1,isWritable:!1}],b=Buffer.alloc(z().span);return z().encode(s,b),new Z({keys:f,programId:i,data:Buffer.from([...$.updatePlatformCurveRule,...b,...qa(u)])})}function Na(i,t,n,o,a,s){let u=[{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:ne.programId,isSigner:!1,isWritable:!1}],f=Buffer.alloc(z().span);return z().encode(s,f),new Z({keys:u,programId:i,data:Buffer.from([...$.removePlatformCurveRule,...f])})}function Ma(i,t,n,o,a){let s=[{pubkey:t,isSigner:!0,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!1,isWritable:!1},{pubkey:a,isSigner:!1,isWritable:!0}];return new Z({keys:s,programId:i,data:$.closePlatformCurveRule})}export{$ as anchorDataBuf,fo as buyExactInInstruction,Aa as buyExactOutInstruction,Ka as claimCreatorFee,ha as claimPlatformFee,Sa as claimPlatformFeeFromVault,ka as claimVestedToken,Ra as closePlatformAllowConfigIns,Ma as closePlatformCurveRuleIns,Ca as createPlatformAllowConfigIns,Ia as createPlatformConfig,La as createPlatformCurveRuleIns,xa as createPlatformVestingAccountIns,Ta as createVestingAccount,nL as initialize,ga as initializeV2,Pa as initializeWithToken2022,Na as removePlatformCurveRuleIns,yo as sellExactInInstruction,wa as sellExactOut,Ba as updatePlatformConfig,Oa as updatePlatformCurveRuleIns};
//# sourceMappingURL=instrument.mjs.map