@raydium-io/raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
2 lines • 73.4 kB
JavaScript
var so=Object.defineProperty,uo=Object.defineProperties;var co=Object.getOwnPropertyDescriptors;var tt=Object.getOwnPropertySymbols;var nn=Object.prototype.hasOwnProperty,on=Object.prototype.propertyIsEnumerable;var tn=(i,t,n)=>t in i?so(i,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):i[t]=n,C=(i,t)=>{for(var n in t||(t={}))nn.call(t,n)&&tn(i,n,t[n]);if(tt)for(var n of tt(t))on.call(t,n)&&tn(i,n,t[n]);return i},V=(i,t)=>uo(i,co(t));var ue=(i,t)=>{var n={};for(var r in i)nn.call(i,r)&&t.indexOf(r)<0&&(n[r]=i[r]);if(i!=null&&tt)for(var r of tt(i))t.indexOf(r)<0&&on.call(i,r)&&(n[r]=i[r]);return n};import{get as rn,set as lo}from"lodash";var ht=class{constructor(t){this.logLevel=t.logLevel!==void 0?t.logLevel:0,this.name=t.name}set level(t){this.logLevel=t}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(t){return t<=this.logLevel}error(...t){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...t),this):this}logWithError(...t){let n=t.map(r=>typeof r=="object"?JSON.stringify(r):r).join(", ");throw new Error(n)}warning(...t){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...t),this):this}info(...t){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...t),this):this}debug(...t){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...t),this):this}},an={},mo={};function E(i){let t=rn(an,i);if(!t){let n=rn(mo,i);t=new ht({name:i,logLevel:n}),lo(an,i,t)}return t}import{PublicKey as _e,sendAndConfirmTransaction as jt,SystemProgram as pa,Transaction as $e,TransactionMessage as je,VersionedTransaction as Je}from"@solana/web3.js";import fa from"axios";import{PublicKey as Ht,AddressLookupTableAccount as ve}from"@solana/web3.js";import{PublicKey as da}from"@solana/web3.js";import Te from"bn.js";import WC from"decimal.js";import wo from"big.js";import Na from"bn.js";import po from"toformat";var fo=po,Ee=fo;import ot from"big.js";import bo from"bn.js";import go from"decimal.js-light";import De from"bn.js";var sn=9007199254740991;function ne(i){let t=E("Raydium_parseBigNumberish");if(i instanceof De)return i;if(typeof i=="string"){if(i.match(/^-?[0-9]+$/))return new De(i);t.logWithError(`invalid BigNumberish string: ${i}`)}return typeof i=="number"?(i%1&&t.logWithError(`BigNumberish number underflow: ${i}`),(i>=sn||i<=-sn)&&t.logWithError(`BigNumberish number overflow: ${i}`),new De(String(i))):typeof i=="bigint"?new De(i.toString()):(t.error(`invalid BigNumberish value: ${i}`),new De(0))}var nt=E("module/fraction"),It=Ee(ot),We=Ee(go),Po={[0]:We.ROUND_DOWN,[1]:We.ROUND_HALF_UP,[2]:We.ROUND_UP},Ao={[0]:ot.roundDown,[1]:ot.roundHalfUp,[2]:ot.roundUp},U=class{constructor(t,n=new bo(1)){this.numerator=ne(t),this.denominator=ne(n)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new U(this.denominator,this.numerator)}add(t){let n=t instanceof U?t:new U(ne(t));return this.denominator.eq(n.denominator)?new U(this.numerator.add(n.numerator),this.denominator):new U(this.numerator.mul(n.denominator).add(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}sub(t){let n=t instanceof U?t:new U(ne(t));return this.denominator.eq(n.denominator)?new U(this.numerator.sub(n.numerator),this.denominator):new U(this.numerator.mul(n.denominator).sub(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}mul(t){let n=t instanceof U?t:new U(ne(t));return new U(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(t){let n=t instanceof U?t:new U(ne(t));return new U(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(t,n={groupSeparator:""},r=1){Number.isInteger(t)||nt.logWithError(`${t} is not an integer.`),t<=0&&nt.logWithError(`${t} is not positive.`),We.set({precision:t+1,rounding:Po[r]});let c=new We(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(t);return c.toFormat(c.decimalPlaces(),n)}toFixed(t,n={groupSeparator:""},r=1){return Number.isInteger(t)||nt.logWithError(`${t} is not an integer.`),t<0&&nt.logWithError(`${t} is negative.`),It.DP=t,It.RM=Ao[r]||1,new It(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,n)}isZero(){return this.numerator.isZero()}};var qa=E("Raydium_amount"),Ua=Ee(wo);import{PublicKey as To}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as un}from"@solana/spl-token";var it={chainId:101,address:To.default.toBase58(),programId:un.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},ce={chainId:101,address:"So11111111111111111111111111111111111111112",programId:un.toBase58(),decimals:9,symbol:"WSOL",name:"Wrapped SOL",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}};import{PublicKey as St}from"@solana/web3.js";import{PublicKey as z,SystemProgram as cn,SYSVAR_RENT_PUBKEY as ho}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Io}from"@solana/spl-token";function Ie({pubkey:i,isSigner:t=!1,isWritable:n=!0}){return{pubkey:i,isWritable:n,isSigner:t}}var Bo=[Ie({pubkey:Io,isWritable:!1}),Ie({pubkey:cn.programId,isWritable:!1}),Ie({pubkey:ho,isWritable:!1})];function ln({publicKey:i,transformSol:t}){let n=mn(i.toString());if(n instanceof z)return t&&n.equals(Pe)?fe:n;if(t&&n.toString()===Pe.toBase58())return fe;if(typeof n=="string"){if(n===z.default.toBase58())return z.default;try{return new z(n)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function mn(i){try{return new z(i)}catch{return i}}var Bt=new z("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),qe=new z("SysvarRent111111111111111111111111111111111"),$a=new z("SysvarC1ock11111111111111111111111111111111"),rt=new z("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),So=new z("Sysvar1nstructions1111111111111111111111111"),Ko=cn.programId,ja=new z("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Ja=new z("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),es=new z("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),ts=new z("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),ns=new z("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),os=new z("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),is=new z("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),rs=new z("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),as=new z("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),ss=new z("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),us=new z("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),fe=new z("So11111111111111111111111111111111111111112"),Pe=z.default;var Kt=class{constructor({mint:t,decimals:n,symbol:r,name:c,skipMint:d=!1,isToken2022:y=!1}){if(t===Pe.toBase58()||t instanceof St&&Pe.equals(t)){this.decimals=ce.decimals,this.symbol=ce.symbol,this.name=ce.name,this.mint=new St(ce.address),this.isToken2022=!1;return}this.decimals=n,this.symbol=r||t.toString().substring(0,6),this.name=c||t.toString().substring(0,6),this.mint=d?St.default:ln({publicKey:t}),this.isToken2022=y}equals(t){return this===t?!0:this.mint.equals(t.mint)}},J=Kt;J.WSOL=new Kt(V(C({},ce),{mint:ce.address}));var xt=class{constructor({decimals:t,symbol:n="UNKNOWN",name:r="UNKNOWN"}){this.decimals=t,this.symbol=n,this.name=r}equals(t){return this===t}},at=xt;at.SOL=new xt(it);import xo from"bn.js";var ws=new U(new xo(100));var Ss=E("Raydium_price");import{merge as Ux}from"lodash";import Fs from"axios";var dn={BASE_HOST:"https://api-v3.raydium.io",OWNER_BASE_HOST:"https://owner-v1.raydium.io",SERVICE_BASE_HOST:"https://service.raydium.io",MONITOR_BASE_HOST:"https://monitor.raydium.io",SERVICE_1_BASE_HOST:"https://service-v1.raydium.io",TEMP_HOST:"https://temp-api-v1.raydium.io",SEND_TRANSACTION:"/send-transaction",FARM_ARP:"/main/farm/info",FARM_ARP_LINE:"/main/farm-apr-tv",CLMM_CONFIG:"/main/clmm-config",CPMM_CONFIG:"/main/cpmm-config",CLMM_DYNAMIC_CONFIG:"/main/clmm-dynamic-config",VERSION:"/main/version",CHECK_AVAILABILITY:"/v3/main/AvailabilityCheckAPI",RPCS:"/main/rpcs",INFO:"/main/info",STAKE_POOLS:"/main/stake-pools",CHAIN_TIME:"/main/chain-time",TOKEN_LIST:"/mint/list",MINT_INFO_ID:"/mint/ids",JUP_TOKEN_LIST:"https://lite-api.jup.ag/tokens/v2/tag?query=verified",POOL_LIST:"/pools/info/list-v2",POOL_SEARCH_BY_ID:"/pools/info/ids",POOL_SEARCH_MINT:"/pools/info/list-v2",POOL_SEARCH_LP:"/pools/info/lps",POOL_KEY_BY_ID:"/pools/key/ids",POOL_LIQUIDITY_LINE:"/pools/line/liquidity",POOL_POSITION_LINE:"/pools/line/position",FARM_INFO:"/farms/info/ids",FARM_LP_INFO:"/farms/info/lp",FARM_KEYS:"/farms/key/ids",OWNER_CREATED_FARM:"/create-pool/{owner}",OWNER_STAKE_FARMS:"/position/stake/{owner}",OWNER_LOCK_POSITION:"/position/clmm-lock/{owner}",SWAP_HOST:"https://transaction-v1.raydium.io",SWAP_COMPUTE:"/compute/",SWAP_TX:"/transaction/",MINT_PRICE:"/mint/price",MIGRATE_CONFIG:"/main/migrate-lp",PRIORITY_FEE:"/main/auto-fee",CPMM_LOCK:"https://dynamic-ipfs.raydium.io/lock/cpmm/position",LAUNCH_AUTH_HOST:"https://launch-auth-v1.raydium.io",LAUNCH_COMMENT_HOST:"hhttps://launch-forum-v1.raydium.io",LAUNCH_HISTORY_HOST:"https://launch-history-v1.raydium.io",LAUNCH_MINT_HOST:"https://launch-mint-v1.raydium.io"},Co=V(C({},dn),{BASE_HOST:"https://api-v3-devnet.raydium.io",OWNER_BASE_HOST:"https://owner-v1-devnet.raydium.io",SWAP_HOST:"https://transaction-v1-devnet.raydium.io",CPMM_LOCK:"https://dynamic-ipfs-devnet.raydium.io/lock/cpmm/position",TEMP_HOST:"https://temp-api-v1-devnet.raydium.io",LAUNCH_AUTH_HOST:"https://launch-auth-v1-devnet.raydium.io",LAUNCH_COMMENT_HOST:"https://launch-forum-v1-devnet.raydium.io",LAUNCH_HISTORY_HOST:"https://launch-history-v1-devnet.raydium.io",LAUNCH_MINT_HOST:"https://launch-mint-v1-devnet.raydium.io"});var iu=E("Raydium_Api");import{PublicKey as Yc,SystemProgram as Hc}from"@solana/web3.js";import{AccountLayout as Jc,createAssociatedTokenAccountIdempotentInstruction as el,TOKEN_PROGRAM_ID as tl,TOKEN_2022_PROGRAM_ID as nl}from"@solana/spl-token";import{PublicKey as Ic,SystemProgram as Sc}from"@solana/web3.js";import Cc from"bn.js";import{createCloseAccountInstruction as Nc,createInitializeAccountInstruction as Mc,createTransferInstruction as Fc,TOKEN_PROGRAM_ID as vc}from"@solana/spl-token";var Q={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{Keypair as mc,PublicKey as dc}from"@solana/web3.js";import yc from"bn.js";import{TOKEN_PROGRAM_ID as Pc}from"@solana/spl-token";import{PublicKey as Wo}from"@solana/web3.js";import gn,{isBN as Pn}from"bn.js";import{bits as Ro,BitStructure as bu,blob as Lo,Blob as gu,cstr as Pu,f32 as Au,f32be as wu,f64 as ku,f64be as Tu,greedy as hu,Layout as Oo,ns64 as Iu,ns64be as Bu,nu64 as Su,nu64be as Ku,offset as No,s16 as xu,s16be as Cu,s24 as Ru,s24be as Lu,s32 as Mo,s32be as Ou,s40 as Nu,s40be as Mu,s48 as Fu,s48be as vu,s8 as _u,seq as Fo,struct as Vu,Structure as vo,u16 as _o,u16be as Eu,u24 as Du,u24be as Wu,u32 as Vo,u32be as qu,u40 as Uu,u40be as Gu,u48 as zu,u48be as Xu,u8 as Eo,UInt as Do,union as Yu,Union as Hu,unionLayoutDiscriminator as Qu,utf8 as Zu}from"@solana/buffer-layout";var st=Oo,pn=vo;var Ct=Do;var fn=Eo,Y=_o;var ut=Vo;var ae=Mo;var yn=Fo;var N=Lo;var Rt=Ro,bn=No;var Ae=class extends st{constructor(n,r,c){super(n,c);this.blob=N(n),this.signed=r}decode(n,r=0){let c=new gn(this.blob.decode(n,r),10,"le");return this.signed?c.fromTwos(this.span*8).clone():c}encode(n,r,c=0){return typeof n=="number"&&(n=new gn(n)),this.signed&&(n=n.toTwos(this.span*8)),this.blob.encode(n.toArrayLike(Buffer,"le",this.span),r,c)}},ct=class extends st{constructor(n){super(8,n);this._lower=Rt(ut(),!1),this._upper=Rt(ut(),!1)}addBoolean(n){this._lower.fields.length<32?this._lower.addBoolean(n):this._upper.addBoolean(n)}decode(n,r=0){let c=this._lower.decode(n,r),d=this._upper.decode(n,r+this._lower.span);return C(C({},c),d)}encode(n,r,c=0){return this._lower.encode(n,r,c)+this._upper.encode(n,r,c+this._lower.span)}};function u(i){return new Ct(1,i)}function X(i){return new Ct(4,i)}function e(i){return new Ae(8,!1,i)}function K(i){return new Ae(16,!1,i)}function An(i){return new Ae(1,!0,i)}function Be(i){return new Ae(8,!0,i)}function wn(i){return new Ae(16,!0,i)}var Ge=class extends st{constructor(n,r,c,d){super(n.span,d);this.layout=n,this.decoder=r,this.encoder=c}decode(n,r){return this.decoder(this.layout.decode(n,r))}encode(n,r,c){return this.layout.encode(this.encoder(n),r,c)}getSpan(n,r){return this.layout.getSpan(n,r)}};function o(i){return new Ge(N(32),t=>new Wo(t),t=>t.toBuffer(),i)}function re(i){return new Ge(fn(),qo,Uo,i)}function qo(i){if(i===0)return!1;if(i===1)return!0;throw new Error("Invalid bool: "+i)}function Uo(i){return i?1:0}function Ot(i,t){let n=ut("length"),r=l([n,m(i,bn(n,-n.span),"values")]);return new Ge(r,({values:c})=>c,c=>({values:c}),t)}var Lt=class extends pn{decode(t,n){return super.decode(t,n)}};function l(i,t,n){return new Lt(i,t,n)}function m(i,t,n){let r,c=typeof t=="number"?t:Pn(t)?t.toNumber():new Proxy(t,{get(d,y){if(!r){let f=Reflect.get(d,"count");r=Pn(f)?f.toNumber():f,Reflect.set(d,"count",r)}return Reflect.get(d,y)},set(d,y,f){return y==="count"&&(r=f),Reflect.set(d,y,f)}});return yn(i,c,n)}var lt=l([o("mint"),o("owner"),e("amount"),X("delegateOption"),o("delegate"),u("state"),X("isNativeOption"),e("isNative"),e("delegatedAmount"),X("closeAuthorityOption"),o("closeAuthority")]);import{PublicKey as og,SystemProgram as ig}from"@solana/web3.js";import{createAssociatedTokenAccountIdempotentInstruction as ag}from"@solana/spl-token";import{PublicKey as Al}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as kl}from"@solana/spl-token";import{ComputeBudgetProgram as Tn,Keypair as In,PublicKey as zo,Transaction as Bn,TransactionMessage as Xo,VersionedTransaction as Sn}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Yo}from"@solana/spl-token";var hn=E("Raydium_txUtil"),Kn=1644;function dt(i){let t=[],n=[];return i.microLamports&&(t.push(Tn.setComputeUnitPrice({microLamports:i.microLamports})),n.push(Q.SetComputeUnitPrice)),i.units&&(t.push(Tn.setComputeUnitLimit({units:i.units})),n.push(Q.SetComputeUnitLimit)),{instructions:t,instructionTypes:n}}async function Se(i,t){var r,c;let n=t!=null?t:"confirmed";return(c=await((r=i.getLatestBlockhash)==null?void 0:r.call(i,{commitment:n})))==null?void 0:c.blockhash}async function pt(i,t){return i.getSignatureStatuses([t]),new Promise((n,r)=>{let c=setTimeout(r,6e4);i.onSignature(t,d=>{if(clearTimeout(c),!d.err){n("");return}r(Object.assign(d.err,{txId:t}))},"confirmed")})}function Nt(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 me(i,t){let[n,r]=zo.findProgramAddressSync(i,t);return{publicKey:n,nonce:r}}function ze({instructions:i,payer:t,signers:n}){return Nt(i,[t,...n])}function Xe({instructions:i,payer:t,lookupTableAddressAccount:n,recentBlockhash:r=In.generate().publicKey.toString()}){let d=new Xo({payerKey:t,recentBlockhash:r,instructions:i}).compileToV0Message(Object.values(n!=null?n:{}));try{return Buffer.from(new Sn(d).serialize()).toString("base64").length<Kn}catch{return!1}}var Ho=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 Sn&&(t=Ho(t));try{return t instanceof Buffer?t.toString("base64"):Buffer.from(t).toString("base64")}catch{return t.toString("base64")}};function we(i){let t=[];return i.forEach(n=>{n instanceof Bn&&(n.recentBlockhash||(n.recentBlockhash=Yo.toBase58()),n.feePayer||(n.feePayer=In.generate().publicKey)),t.push(Qo(n))}),console.log("simulate tx string:",t),t}import{PublicKey as k}from"@solana/web3.js";var xn=new k("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),Cn=new k("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),Rn=new k("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Mt=new k("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),Bl=new k("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Zo=new k("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),Ln=new k("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),On=new k("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),Sl=new k("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),$o=new k("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Nn=new k("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),jo=new k("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Jo=new k("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),Mn=new k("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Kl=new k("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),ei=new k("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Ft=new k("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),ti=new k("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),xl=new k("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),ni=new k("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),oi=new k("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),ii=new k("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),Cl=new k("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),Rl=new k("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),Ll=new k("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),Ol=new k("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),Nl=new k("6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX");var be={OPEN_BOOK_PROGRAM:new k("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),SERUM_PROGRAM_ID_V3:new k("Ray1111111111111111111111111111111111111111"),AMM_V4:new k("DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav"),AMM_STABLE:new k("DRayDdXc1NZQ9C3hRWmoSf8zK4iapgMnjdNZWrfwsP8m"),CLMM_PROGRAM_ID:new k("DRayAUgENGQBKVaX8owNhgzkEDyoHTGVEGHVJT1E9pfH"),CLMM_LOCK_PROGRAM_ID:new k("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),CLMM_LOCK_AUTH_ID:new k("6Aoh8h2Lw2m5UGxYR8AdAL87jTWYeKoxM52mJRzfYwN"),CREATE_CPMM_POOL_PROGRAM:new k("DRaycpLY18LhpbydsBWbVJtxpNv9oXPgjRSfpF2bWpYb"),CREATE_CPMM_POOL_AUTH:new k("CXniRufdq5xL8t8jZAPxsPZDpuudwuJSPWnbcD5Y5Nxq"),CREATE_CPMM_POOL_FEE_ACC:new k("3oE58BKVt8KuYkGxx8zBojugnymWmBiyafWgMrnb6eYy"),LOCK_CPMM_PROGRAM:new k("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),LOCK_CPMM_AUTH:new k("7qWVV8UY2bRJfDLP4s37YzBPKUkVB46DStYJBpYbQzu3"),UTIL1216:k.default,Router:new k("DRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd"),FARM_PROGRAM_ID_V3:new k("DRayWyrLmEW5KEeqs8kdTMMaBabapqagaBC7KWpGtJeZ"),FARM_PROGRAM_ID_V4:new k("Ray1111111111111111111111111111111111111111"),FARM_PROGRAM_ID_V5:new k("DRayiCGSZgku1GTK6rXD6mVDdingXy6APAH1R6R5L2LC"),FARM_PROGRAM_ID_V6:new k("DRayzbYakXs45ELHkzH6vC3fuhQqTAnv5A68gdFuvZyZ"),LAUNCHPAD_PROGRAM:new k("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),LAUNCHPAD_AUTH:new k("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),LAUNCHPAD_PLATFORM:new k("2Jx4KTDrVSdWNazuGpcA8n3ZLTRGGBDxAWhuKe2Xcj2a"),LAUNCHPAD_CONFIG:new k("7ZR4zD7PYfY2XxoG1Gxcy2EgEeGYrpxrwzPuwdUBssEt"),FEE_DESTINATION_ID:new k("9y8ENuuZ3b19quffx9hQvRVygG5ky6snHfRvGpuSfeJy"),MODEL_DATA_PUBKEY:new k("Ray1111111111111111111111111111111111111111")};import bg from"decimal.js";import{createAssociatedTokenAccountIdempotentInstruction as Vf,TOKEN_2022_PROGRAM_ID as Ef,TOKEN_PROGRAM_ID as Df}from"@solana/spl-token";import{PublicKey as qf}from"@solana/web3.js";import Gf from"bn.js";import Xf from"decimal.js";import{TOKEN_PROGRAM_ID as Yl}from"@solana/spl-token";import{PublicKey as $l}from"@solana/web3.js";var ri=l([X("mintAuthorityOption"),o("mintAuthority"),e("supply"),u("decimals"),u("isInitialized"),X("freezeAuthorityOption"),o("freezeAuthority")]);import{ASSOCIATED_TOKEN_PROGRAM_ID as rf,TOKEN_2022_PROGRAM_ID as af,TOKEN_PROGRAM_ID as sf}from"@solana/spl-token";import{Keypair as lf,PublicKey as mf,SystemProgram as pf,TransactionInstruction as ff}from"@solana/web3.js";import bf from"bn.js";import D from"bn.js";var xe=new D(1).shln(64);var ai=new D(1).shln(128),vt=new D(1).shln(64).subn(1),si=new D(1).shln(128).subn(1);var Ce=new D("4295048016"),Re=new D("79226673521066979257578248091"),ui=new D("59543866431248"),ci=new D("184467440737095516"),li=new D("15793534762490258745");var _t=60,cm=new D("18446743708227953217"),mi=[{bit:0,factor:new D("fffcb933bd6fb800",16)},{bit:1,factor:new D("fff97272373d4000",16)},{bit:2,factor:new D("fff2e50f5f657000",16)},{bit:3,factor:new D("ffe5caca7e10f000",16)},{bit:4,factor:new D("ffcb9843d60f7000",16)},{bit:5,factor:new D("ff973b41fa98e800",16)},{bit:6,factor:new D("ff2ea16466c9b000",16)},{bit:7,factor:new D("fe5dee046a9a3800",16)},{bit:8,factor:new D("fcbe86c7900bb000",16)},{bit:9,factor:new D("f987a7253ac65800",16)},{bit:10,factor:new D("f3392b0822bb6000",16)},{bit:11,factor:new D("e7159475a2caf000",16)},{bit:12,factor:new D("d097f3bdfd2f2000",16)},{bit:13,factor:new D("a9f746462d9f8000",16)},{bit:14,factor:new D("70d869a156f31c00",16)},{bit:15,factor:new D("31be135f97ed3200",16)},{bit:16,factor:new D("9aa508b5b85a500",16)},{bit:17,factor:new D("5d6af8dedc582c",16)},{bit:18,factor:new D("2216e584f5fa",16)}];var Ye=3,Fn=100;var vn=10,_n=100,ft=14;var Z=new D(0),Le=new D(1),lm=new D(-1);var mm=new D("18446744073700000000");var di=l([N(8),u("bump"),Y("index"),o("owner"),X("protocolFeeRate"),X("tradeFeeRate"),Y("tickSpacing"),X("fundFeeRate"),m(X(),1),o("fundOwner"),m(e(),3)]),pi=l([X("blockTimestamp"),Be("tickCumulative"),m(e(),4)]),Vn=l([N(8),re("initialized"),e("recentEpoch"),Y("observationIndex"),o("poolId"),m(pi,Fn,"observations"),m(e(),4)]),fi=l([Y("filterPeriod"),Y("decayPeriod"),Y("reductionFactor"),X("dynamicFeeControl"),X("maxVolatilityAccumulator"),ae("tickSpacingIndexReference"),X("volatilityReference"),X("volatilityAccumulator"),e("lastUpdateTimestamp"),m(u(),46)]),yi=l([u("state"),e("openTime"),e("endTime"),e("lastUpdateTime"),K("emissionsPerSecondX64"),e("totalEmissioned"),e("claimed"),o("mint"),o("vault"),o("creator"),K("growthGlobalX64")]),Vt=l([N(8),u("bump"),o("configId"),o("creator"),o("mintA"),o("mintB"),o("vaultA"),o("vaultB"),o("observationId"),u("mintDecimalsA"),u("mintDecimalsB"),Y("tickSpacing"),K("liquidity"),K("sqrtPriceX64"),ae("tickCurrent"),X(),K("feeGrowthGlobalX64A"),K("feeGrowthGlobalX64B"),e("protocolFeesTokenA"),e("protocolFeesTokenB"),m(K(),4),u("status"),u("feeOn"),N(6),m(yi,Ye,"rewardInfos"),N(8*16,"tickArrayBitmap"),m(e(),4),e("fundFeesTokenA"),e("fundFeesTokenB"),e("startTime"),e("recentEpoch"),fi.replicate("dynamicFeeInfo"),m(e(),46)]),bi=l([K("growthInsideLastX64"),e("rewardAmountOwed")]),gi=l([N(8),u("bump"),o("nftMint"),o("poolId"),ae("tickLower"),ae("tickUpper"),K("liquidity"),K("feeGrowthInsideLastX64A"),K("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),m(bi,Ye,"rewardInfos"),e("recentEpoch"),m(e(),7)]),ym=l([N(8),u("bump"),o("poolId"),ae("tickLower"),ae("tickUpper"),K("liquidity"),K("feeGrowthInsideLastX64A"),K("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),m(K(),Ye,"rewardGrowthInside"),e("recentEpoch"),m(e(),7)]),Pi=l([ae("tick"),wn("liquidityNet"),K("liquidityGross"),K("feeGrowthOutsideX64A"),K("feeGrowthOutsideX64B"),m(K(),Ye,"rewardGrowthsOutsideX64"),e("orderPhase"),e("ordersAmount"),e("partFilledOrdersRemaining"),K("unfilledRatioX64"),m(X(),3)]),En=l([N(8),o("poolId"),ae("startTickIndex"),m(Pi,_t,"ticks"),u("initializedTickCount"),e("recentEpoch"),m(u(),107)]),Ai=l([N(8),u("bump"),m(o(),vn,"operationOwners"),m(o(),_n,"whitelistMints")]),wi=l([N(8),o("poolId"),o("owner"),ae("tick"),re("zeroForOne"),e("orderPhase"),e("totalAmount"),e("filledAmount"),e("settleBase"),e("settleOutput"),e("openTime"),K("unfilledRatioX64"),m(e(),4)]),Dn=l([N(8),o("poolId"),N(8*8*ft,"positiveTickArrayBitmap"),N(8*8*ft,"negativeTickArrayBitmap")]),bm=l([N(8),Y("index"),Y("filterPeriod"),Y("decayPeriod"),Y("reductionFactor"),X("dynamicFeeControl"),X("maxVolatilityAccumulator"),m(e(),8)]),ki=l([N(8),o("wallet"),u("nonceIndex"),e("orderNonce"),m(e(),4)]),gm=l([e(),u("bump"),o("owner"),o("poolId"),o("positionId"),o("nftAccount"),m(e(),8)]),Ti=l([N(8),u("bump"),o("lockOwner"),o("poolId"),o("positionId"),o("nftAccount"),o("lockNftMint"),e("recentEpoch"),m(e(),8)]);import wm from"bn.js";var Lm=Buffer.from("amm_config","utf8"),Ii=Buffer.from("pool","utf8"),Bi=Buffer.from("pool_vault","utf8"),Om=Buffer.from("pool_reward_vault","utf8"),Nm=Buffer.from("position","utf8"),Mm=Buffer.from("tick_array","utf8"),Fm=Buffer.from("operation","utf8"),vm=Buffer.from("pool_tick_array_bitmap_extension","utf8"),_m=Buffer.from("observation","utf8"),Vm=Buffer.from("support_mint","utf8"),Em=Buffer.from("dynamic_fee_config","utf8"),Dm=Buffer.from("permission","utf8");var Wm=Buffer.from("locked_position","utf8");import{sha256 as Di}from"js-sha256";import Si from"bn.js";import zm from"decimal.js";var Ym=new Si(1).shln(256).subn(1);import md from"bn.js";import ed from"bn.js";import nd from"decimal.js";import bd from"bn.js";import Pd from"decimal.js";import{PublicKey as ip}from"@solana/web3.js";import ap from"bn.js";import{TOKEN_2022_PROGRAM_ID as fp,TOKEN_PROGRAM_ID as yp}from"@solana/spl-token";import Ap from"decimal.js";import Yd from"bn.js";import Md from"bn.js";import Rp from"bn.js";function $(i){let t=`global:${i}`;return Buffer.from(Di.digest(t)).slice(0,8)}Vn.span;var Bf=E("Raydium_Clmm"),Sf={createPool:$("create_pool"),createCustomizablePool:$("create_customizable_pool"),createPermissionedPool:$("create_permissioned_pool"),openPositionV2:$("open_position_v2"),openPositionWithToken22Nft:$("open_position_with_token22_nft"),closePosition:$("close_position"),increaseLiquidityV2:$("increase_liquidity_v2"),decreaseLiquidityV2:$("decrease_liquidity_v2"),initializeReward:$("initialize_reward"),setRewardParams:$("set_reward_params"),updateRewardInfos:$("update_reward_infos"),collectRemainingRewards:$("collect_remaining_rewards"),swapV2:$("swap_v2"),openLimitOrder:$("open_limit_order"),increaseLimitOrder:$("increase_limit_order"),decreaseLimitOrder:$("decrease_limit_order"),settleLimitOrder:$("settle_limit_order"),closeLimitOrder:$("close_limit_order")};import{PublicKey as qt}from"@solana/web3.js";var Gi=l([u("instruction")]),zi=l([u("instruction")]),Xi=l([e("rewardState"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardLastUpdateTime"),e("totalReward"),e("totalRewardEmissioned"),e("rewardClaimed"),e("rewardPerSecond"),K("accRewardPerShare"),o("rewardVault"),o("rewardMint"),o("rewardSender"),e("rewardType"),m(e(),15,"padding")]),Yi=l([e("state"),e("nonce"),o("lpVault"),o("rewardVault"),o(),o(),e(),e(),e("totalReward"),K("perShareReward"),e("lastSlot"),e("perSlotReward")]),Hi=l([e("state"),e("nonce"),o("lpVault"),o("rewardVaultA"),e("totalRewardA"),K("perShareRewardA"),e("perSlotRewardA"),u("option"),o("rewardVaultB"),N(7),e("totalRewardB"),K("perShareRewardB"),e("perSlotRewardB"),e("lastSlot"),o()]),Qi=l([e(),e("state"),e("nonce"),e("validRewardTokenNum"),K("rewardMultiplier"),e("rewardPeriodMax"),e("rewardPeriodMin"),e("rewardPeriodExtend"),o("lpMint"),o("lpVault"),m(Xi,5,"rewardInfos"),o("creator"),o(),m(e(),32,"padding")]),Zi=new Proxy(Yi,{get(i,t,n){return t==="decode"?(...r)=>{let c=i.decode(...r);return V(C({},c),{version:3,rewardInfos:[{rewardVault:c.rewardVault,totalReward:c.totalReward,perSlotReward:c.perSlotReward,perShareReward:c.perShareReward}]})}:Reflect.get(i,t,n)}}),$i=new Proxy(Hi,{get(i,t,n){return t==="decode"?(...r)=>{let c=i.decode(...r);return V(C({},c),{version:5,rewardInfos:[{rewardVault:c.rewardVaultA,totalReward:c.totalRewardA,perSlotReward:c.perSlotRewardA,perShareReward:c.perShareRewardA},{rewardVault:c.rewardVaultB,totalReward:c.totalRewardB,perSlotReward:c.perSlotRewardB,perShareReward:c.perShareRewardB}]})}:Reflect.get(i,t,n)}}),Yn=new Proxy(Qi,{get(i,t,n){return t==="decode"?(...r)=>{let c=i.decode(...r);return V(C({},c),{version:6,rewardInfos:c.rewardInfos.map(d=>{var y;return V(C({},d),{rewardType:((y=Object.entries(Ze).find(f=>String(f[1])===d.rewardType.toString()))!=null?y:["Standard SPL"])[0]})})})}:Reflect.get(i,t,n)}}),ji=l([e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),Ji=l([u("instruction"),e("nonce"),m(ji,5,"rewardTimeInfo")]),er=l([u("instruction"),e("rewardReopenTime"),e("rewardEndTime"),e("rewardPerSecond")]),tr=l([u("instruction"),e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),ky=l([e("state"),o("id"),o("owner"),e("deposited"),m(e(),1,"rewardDebts")]),Hn=l([e("state"),o("id"),o("owner"),e("deposited"),m(K(),1,"rewardDebts"),e(""),e("voteLockedBalance"),m(e(),15)]),Ty=l([e("state"),o("id"),o("owner"),e("deposited"),m(e(),2,"rewardDebts")]),nr=l([e("state"),o("id"),o("owner"),e("deposited"),m(K(),2,"rewardDebts"),m(e(),17)]),or=l([e(),e("state"),o("id"),o("owner"),e("deposited"),m(K(),5,"rewardDebts"),m(e(),16)]),ir=l([u("instruction"),e("amount")]),rr=l([o("mint"),o("grantAuthority"),e("baselineVoteWeightScaledFactor"),e("maxExtraLockupVoteWeightScaledFactor"),e("lockupSaturationSecs"),An("digitShift"),m(u(),7,"reserved1"),m(e(),7,"reserved2")]),ar=l([N(8),o("governanceProgramId"),o("realm"),o("realmGoverningTokenMint"),o("realmAuthority"),m(u(),32,"reserved1"),m(rr,4,"votingMints"),Be("timeOffset"),u("bump"),m(u(),7,"reserved2"),m(e(),11,"reserved3")]),sr=l([Be("startTime"),Be("endTime"),u("kind"),m(u(),15,"reserved")]),ur=l([m(sr,1,"lockup"),e("amountDeposited_native"),e("amountInitiallyLockedNative"),re("isUsed"),re("allowClawback"),u("votingMintConfigIdx"),m(u(),29,"reserved")]),cr=l([N(8),o("voterAuthority"),o("registrar"),m(ur,32,"deposits"),u("voterBump"),u("voterWweightRecordBump"),m(u(),94,"reserved")]);import{NATIVE_MINT as Ly}from"@solana/spl-token";var Oy=E("Raydium_farm_config"),lr=new qt("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),mr=new qt("FrspKwj8i3pNmKwXreTveC4fu7KL5ZbGeXdZBe2XViu1");var Ny=new qt("3TRTX4dXUpp2eqxi3tvQDFYUV7SdDJjcPE3Y4mbtftaX");var Ze={"Standard SPL":0,"Option tokens":1},Qn={[xn.toString()]:3,[Cn.toString()]:4,[Rn.toString()]:5,[Mt.toString()]:6,[be.FARM_PROGRAM_ID_V3.toString()]:3,[be.FARM_PROGRAM_ID_V4.toString()]:4,[be.FARM_PROGRAM_ID_V5.toString()]:5,[be.FARM_PROGRAM_ID_V6.toString()]:6};import{PublicKey as Pb,SystemProgram as Ab,SYSVAR_CLOCK_PUBKEY as wb,SYSVAR_RENT_PUBKEY as kb,TransactionInstruction as Tb}from"@solana/web3.js";import Ib from"bn.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as Sb,createAssociatedTokenAccountIdempotentInstruction as Kb,TOKEN_PROGRAM_ID as xb}from"@solana/spl-token";import Hy from"bn.js";import{PublicKey as Ey}from"@solana/web3.js";import Wy from"bn.js";var sb=E("Raydium.farm.util");var Eb=E("Raydium_farm_instruction"),Db={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 Kg from"bn.js";import{PublicKey as FA}from"@solana/web3.js";import{AccountLayout as VA,MintLayout as EA,NATIVE_MINT as DA,TOKEN_PROGRAM_ID as qA}from"@solana/spl-token";import Rg from"bn.js";import $n from"bn.js";var Ar=new $n(25),wr=new $n(1e4);import{ASSOCIATED_TOKEN_PROGRAM_ID as jg,TOKEN_PROGRAM_ID as Jg}from"@solana/spl-token";import{PublicKey as tP,SystemProgram as nP,SYSVAR_RENT_PUBKEY as oP,TransactionInstruction as iP}from"@solana/web3.js";import dP from"bn.js";var kr=l([u("instruction"),e("amountIn"),e("minAmountOut")]),Tr=l([u("instruction"),e("maxAmountIn"),e("amountOut")]),Hg=l([u("instruction"),u("nonce")]),hr=l([u("instruction"),u("nonce"),e("startTime")]),jn=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"),K("swapBaseInAmount"),K("swapQuoteOutAmount"),e("swapBase2QuoteFee"),K("swapQuoteInAmount"),K("swapBaseOutAmount"),e("swapQuote2BaseFee"),o("baseVault"),o("quoteVault"),o("baseMint"),o("quoteMint"),o("lpMint"),o("openOrders"),o("marketId"),o("marketProgramId"),o("targetOrders"),o("withdrawQueue"),o("lpVault"),o("owner"),e("lpReserve"),m(e(),3,"padding")]),Qg=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"),K("swapBaseInAmount"),K("swapQuoteOutAmount"),K("swapQuoteInAmount"),K("swapBaseOutAmount"),e("swapQuote2BaseFee"),e("swapBase2QuoteFee"),o("baseVault"),o("quoteVault"),o("baseMint"),o("quoteMint"),o("lpMint"),o("modelDataAccount"),o("openOrders"),o("marketId"),o("marketProgramId"),o("targetOrders"),o("owner"),m(e(),64,"padding")]),Ir=l([u("instruction"),e("baseAmountIn"),e("quoteAmountIn"),e("fixedSide"),e("otherAmountMin")]),Br=l([u("instruction"),e("lpAmount"),e("baseAmountMin"),e("quoteAmountMin")]);var Sr=l([e("fee")]);var yP=E("Raydium_liquidity_instruction");var Kr=5e4,xr=l([e("x"),e("y"),e("price")]),AP=l([e("accountType"),e("status"),e("multiplier"),e("validDataCount"),m(xr,Kr,"DataElement")]);import{PublicKey as LP}from"@solana/web3.js";import NP from"decimal.js";import{TOKEN_PROGRAM_ID as FP}from"@solana/spl-token";import{PublicKey as hP}from"@solana/web3.js";var SP=E("Raydium_liquidity_serum");import uw from"bn.js";import lw from"decimal.js";import{TOKEN_PROGRAM_ID as uA}from"@solana/spl-token";import{PublicKey as lA}from"@solana/web3.js";import dA from"bn.js";import{SystemProgram as QP,SYSVAR_RENT_PUBKEY as ZP,Transaction as $P,TransactionInstruction as jP}from"@solana/web3.js";import{createInitializeAccountInstruction as eA,TOKEN_PROGRAM_ID as tA}from"@solana/spl-token";function Cr(i="accountFlags"){let t=new ct(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 Rr=l([N(5),Cr("accountFlags"),o("ownAddress"),e("vaultSignerNonce"),o("baseMint"),o("quoteMint"),o("baseVault"),e("baseDepositsTotal"),e("baseFeesAccrued"),o("quoteVault"),e("quoteDepositsTotal"),e("quoteFeesAccrued"),e("quoteDustThreshold"),o("requestQueue"),o("eventQueue"),o("bids"),o("asks"),e("baseLotSize"),e("quoteLotSize"),e("feeRateBps"),e("referrerRebatesAccrued"),N(7)]);import{PublicKey as Vk}from"@solana/web3.js";import{AccountLayout as Dk,NATIVE_MINT as Wk,TOKEN_2022_PROGRAM_ID as qk,TOKEN_PROGRAM_ID as Uk,createAssociatedTokenAccountIdempotentInstruction as Gk}from"@solana/spl-token";import Mw from"bn.js";import _r from"bn.js";var ww=new _r(0);import Sw from"bn.js";import Vr from"bn.js";var gt=new Vr(1e6);import jk from"bn.js";import eT from"decimal.js";import{PublicKey as ek,TransactionInstruction as tk,Keypair as ok,SystemProgram as ik}from"@solana/web3.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as ak,TOKEN_2022_PROGRAM_ID as sk,TOKEN_PROGRAM_ID as uk}from"@solana/spl-token";var Ew=Buffer.from("vault_and_lp_mint_auth_seed","utf8"),Dw=Buffer.from("amm_config","utf8"),Ww=Buffer.from("pool","utf8"),qw=Buffer.from("pool_lp_mint","utf8"),Uw=Buffer.from("pool_vault","utf8"),Gw=Buffer.from("observation","utf8"),zw=Buffer.from("permission","utf8"),Xw=Buffer.from("support_mint","utf8"),Yw=Buffer.from("creator_fee_share","utf8");var Hw=Buffer.from("locked_liquidity","utf8");var yk=E("Raydium_cpmm"),bk={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 Wr=l([N(8),u("bump"),re("disableCreatePool"),Y("index"),e("tradeFeeRate"),e("protocolFeeRate"),e("fundFeeRate"),e("createPoolFee"),o("protocolOwner"),o("fundOwner"),e("creatorFeeRate"),e("creatorFeeShareRate"),m(e(),14)]),Jn=l([N(8),o("configId"),o("poolCreator"),o("vaultA"),o("vaultB"),o("mintLp"),o("mintA"),o("mintB"),o("mintProgramA"),o("mintProgramB"),o("observationId"),u("bump"),u("status"),u("lpDecimals"),u("mintDecimalA"),u("mintDecimalB"),e("lpAmount"),e("protocolFeesMintA"),e("protocolFeesMintB"),e("fundFeesMintA"),e("fundFeesMintB"),e("openTime"),e("epoch"),u("feeOn"),re("enableCreatorFee"),m(u(),6),e("creatorFeesMintA"),e("creatorFeesMintB"),m(e(),28)]),Ak=l([N(8),o("configId"),m(e(),30)]),wk=l([N(8),u("bump"),o("creator"),o("ammConfig"),e("shareRate"),m(e(),8)]);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 ua from"bn.js";import IK from"decimal.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as uh,TOKEN_2022_PROGRAM_ID as ch,TOKEN_PROGRAM_ID as lh}from"@solana/spl-token";import{SystemProgram as fh,TransactionInstruction as yh}from"@solana/web3.js";import Gr from"bn.js";var YT=Buffer.from("vault_auth_seed","utf8"),HT=Buffer.from("global_config","utf8"),QT=Buffer.from("pool_vesting","utf8"),ZT=Buffer.from("platform_config","utf8"),$T=Buffer.from("platform_fee_vault_auth_seed","utf8"),jT=Buffer.from("creator_fee_vault_auth_seed","utf8"),JT=Buffer.from("platform_global_access","utf8"),eh=Buffer.from("platform_allow_config","utf8"),th=Buffer.from("platform_curve_rule","utf8");var Ph={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])};var Ah=new Gr("18446744073709551615");var zr=l([e(),e("epoch"),u("curveType"),Y("index"),e("migrateFee"),e("tradeFeeRate"),e("maxShareFeeRate"),e("minSupplyA"),e("maxLockRate"),e("minSellRateA"),e("minMigrateRateA"),e("minFundRaisingB"),o("mintB"),o("protocolFeeOwner"),o("migrateFeeOwner"),o("migrateToAmmWallet"),o("migrateToCpmmWallet"),m(e(),16)]),Xr=l([e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod"),e("startTime"),e("totalAllocatedShare")]),Yr=l([e(),e("epoch"),u("bump"),u("status"),u("mintDecimalsA"),u("mintDecimalsB"),u("migrateType"),e("supply"),e("totalSellA"),e("virtualA"),e("virtualB"),e("realA"),e("realB"),e("totalFundRaisingB"),e("protocolFee"),e("platformFee"),e("migrateFee"),Xr.replicate("vestingSchedule"),o("configId"),o("platformId"),o("mintA"),o("mintB"),o("vaultA"),o("vaultB"),o("creator"),u("mintProgramFlag"),u("cpmmCreatorFeeOn"),e("platformVestingShare"),m(u(),54)]),hh=l([e(),e("epoch"),o("poolId"),o("beneficiary"),e("claimedAmount"),e("tokenShareAmount"),m(e(),8)]),Hr=l([u("migrateType"),u("migrateCpmmFeeOn"),e("supply"),e("totalSellA"),e("totalFundRaisingB"),e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod")]),Ih=l([e("epoch"),u("index"),o("configId"),Hr.replicate("bondingCurveParam"),m(e(),50)]),to=l([e(),e("epoch"),o("platformClaimFeeWallet"),o("platformLockNftWallet"),e("platformScale"),e("creatorScale"),e("burnScale"),e("feeRate"),m(u(),64,"name"),m(u(),256,"web"),m(u(),256,"img"),o("cpConfigId"),e("creatorFeeRate"),o("transferFeeExtensionAuth"),o("platformVestingWallet"),e("platformVestingScale"),o("platformCpCreator"),u("restrictGlobalConfig"),u("restrictCurveParam"),o("curveRuleManager"),m(u(),78)]),Qr=l([u("field"),u("op"),K("value")]),Zr=l([Y("groupId"),e("epoch"),Ot(Qr,"constraints")]),$r=l([e(),u("bump"),u("version"),o("platformId"),o("configId"),e("epoch"),m(e(),8),Ot(Zr,"groups")]);import{TOKEN_2022_PROGRAM_ID as Kh,TOKEN_PROGRAM_ID as xh}from"@solana/spl-token";import jr from"bn.js";var Dh=new jr(1e6);import Gh from"bn.js";import Xh from"decimal.js";import II from"bn.js";import SI from"decimal.js";import jh from"bn.js";import eI from"decimal.js";import lI from"bn.js";import dI from"decimal.js";import io from"bn.js";import Gt from"decimal.js";var wt=class{static _multipler(t){return new Gt(10).pow(t)}static getPrice({priceX64:t,decimalA:n,decimalB:r}){return new Gt(t.toString()).div(this._Q64).mul(this._multipler(n)).div(this._multipler(r))}static getPriceX64({price:t,decimalA:n,decimalB:r}){let c=t.mul(this._multipler(r)).div(this._multipler(n));return new io(c.mul(this._Q64).toFixed(0))}};wt._Q64=new Gt(new io(1).shln(64).toString());import{NATIVE_MINT as WB,TOKEN_2022_PROGRAM_ID as qB,TOKEN_PROGRAM_ID as UB,createAssociatedTokenAccountIdempotentInstruction as zB,createSyncNativeInstruction as XB,getTransferFeeConfig as YB,unpackMint as HB}from"@solana/spl-token";import H from"bn.js";import{PublicKey as ra,SystemProgram as $B}from"@solana/web3.js";import iS from"decimal.js";var rS={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 ra("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),vestingSchedule:{totalLockedAmount:new H(0),cliffPeriod:new H(0),unlockPeriod:new H(0),startTime:new H(0),totalAllocatedShare:new H(0)}},aS=new H(1e4);var aa={[Ln.toBase58()]:3};var sa=l([N(5),N(8),o("ownAddress"),e("vaultSignerNonce"),o("baseMint"),o("quoteMint"),o("baseVault"),e("baseDepositsTotal"),e("baseFeesAccrued"),o("quoteVault"),e("quoteDepositsTotal"),e("quoteFeesAccrued"),e("quoteDustThreshold"),o("requestQueue"),o("eventQueue"),o("bids"),o("asks"),e("baseLotSize"),e("quoteLotSize"),e("feeRateBps"),e("referrerRebatesAccrued"),N(7)]);import{PublicKey as RS}from"@solana/web3.js";var FS=E("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 HS,SystemProgram as QS,TransactionInstruction as ZS}from"@solana/web3.js";import jS from"bn.js";var ex=new ua(0);import{PublicKey as ca,Transaction as zt,TransactionInstruction as la}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ma}from"@solana/spl-token";import ro from"bn.js";var ee=class extends oe{static getPdaPoolId(t,n){return me([ee.SEED_CONFIG.pool.id,n.toBuffer()],t)}static getPdaOwnerId(t,n,r,c){return me([ee.SEED_CONFIG.owner.id,n.toBuffer(),r.toBuffer(),Buffer.from(new ro(c).toArray())],t)}static async getAllInfo({connection:t,programId:n,poolIds:r,wallet:c,chainTime:d}){if(r.length===0)return[];let y=r.map(b=>ee.getPdaPoolId(n,b).publicKey),f=[];for(let b=0;b<ee.VERSION_PROJECT.length;b++)f.push(...y.map(O=>ee.getPdaOwnerId(n,O,c,b).publicKey));let g=await ye(t,[...y,...f]),x=[];for(let b=0;b<g.length;b++){let O=Math.floor(b/r.length),R=b%r.length,B=y[R],M=f[b],P=g[R],T=g[r.length+b];if(!(P&&T)||P.data.length!==ee.POOL_LAYOUT.span||T.data.length!==ee.OWNER_LAYOUT.span)continue;let I=ee.POOL_LAYOUT.decode(P.data),h=ee.OWNER_LAYOUT.decode(T.data),F=I.openTime.toNumber(),v=I.endTime.toNumber(),p=h.tokenInfo.map(S=>S.debtAmount.gt(new ro(0))).filter(S=>!S).length!==3,A=d>F&&d<v&&I.status===1,w=p&&A;x.push({programId:n,poolId:B,ammId:I.ammId,ownerAccountId:M,snapshotLpAmount:h.lpAmount,project:ee.VERSION_PROJECT[O],openTime:F,endTime:v,canClaim:w,canClaimErrorType:p?A?void 0:"outOfOperationalTime":"alreadyClaimIt",tokenInfo:I.tokenInfo.map((S,L)=>({mintAddress:S.mintAddress,mintVault:S.mintVault,mintDecimals:S.mintDecimals,perLpLoss:S.perLpLoss,debtAmount:h.tokenInfo[L].debtAmount.add(h.tokenInfo[L].claimedAmount)}))})}return x}async makeClaimTransaction({poolInfo:t,ownerInfo:n,feePayer:r}){n.wallet||this.scope.checkOwner();let c=this.createTxBuilder(r),d=n.wallet||this.scope.ownerPubKey,y=[];for(let x of t.tokenInfo){let{account:b,instructionParams:O}=await this.scope.account.getOrCreateTokenAccount({mint:x.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:x.mintAddress.equals(J.WSOL.mint),createInfo:{payer:d,amount:0},skipCloseAccount:!x.mintAddress.equals(J.WSOL.mint),associatedOnly:x.mintAddress.equals(J.WSOL.mint)?!1:n.associatedOnly});O&&c.addInstruction(O),y.push(b)}c.addInstruction({instructions:[ee.makeClaimInstruction({programId:t.programId,poolInfo:t,ownerInfo:{wallet:d,ownerPda:t.ownerAccountId,claimAddress:y}})]});let{transaction:f,signers:g}=c.build();return[{transaction:f,signer:g}]}async makeClaimAllTransaction({poolInfos:t,ownerInfo:n,feePayer:r}){let c=this.createTxBuilder(r),d=n.wallet||this.scope.ownerPubKey,y={};for(let b of t){let O=[];for(let R of b.tokenInfo){let{account:B,instructionParams:M}=await this.scope.account.getOrCreateTokenAccount({mint:R.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:R.mintAddress.equals(J.WSOL.mint),createInfo:{payer:d,amount:0},skipCloseAccount:!R.mintAddress.equals(J.WSOL.mint),associatedOnly:R.mintAddress.equals(J.WSOL.mint)?!1:n.associatedOnly});M&&c.addInstruction(M),B&&(y[R.mintAddress.toString()]=B,O.push(B))}c.addInstruction({instructions:[ee.makeClaimInstruction({programId:b.programId,poolInfo:b,ownerInfo:{wallet:d,ownerPda:b.ownerAccountId,claimAddress:O}})]})}let{transaction:f,signers:g}=c.build(),x=c.allInstructions;return Nt(x,[d,...g.map(b=>b.publicKey)])?[{transaction:f,signer:g}]:[{transaction:new zt().add(...x.slice(0,c.AllTxData.instructions.length-1)),signer:g},{transaction:new zt().add(...x.slice(c.AllTxData.instructions.length-1)),signer:[]},{transaction:new zt().add(...c.AllTxData.endInstructions),signer:[]}]}static makeClaimInstruction({programId:t,poolInfo:n,ownerInfo:r}){let c=l([]),d=[{pubkey:r.wallet,isSigner:!0,isWritable:!0},{pubkey:n.poolId,isSigner:!1,isWritable:!0},{pubkey:r.ownerPda,isSigner:!1,isWritable:!0},...r.claimAddress.map(g=>({pubkey:g,isSigner:!1,isWritable:!0})),...n.tokenInfo.map(({mintVault:g})=>({pubkey:g,isSigner:!1,isWritable:!0})),{pubkey:ma,isSigner:!1,isWritable:!1}],y=Buffer.alloc(c.span);c.encode({},y);let f=Buffer.from([10,66,208,184,161,6,191,98,...y]);return new la({keys:d,programId:t,data:f})}},se=ee;se.CLAIMED_NUM=3,se.POOL_LAYOUT=l([N(8),u("bump"),u("status"),e("openTime"),e("endTime"),o("ammId"),m(l([u("mintDecimals"),o("mintAddress"),o("mintVault"),e("perLpLoss"),e("totalClaimedAmount")]),ee.CLAIMED_NUM,"tokenInfo"),m(e(),10,"padding")]),se.OWNER_LAYOUT=l([N(8),u("bump"),u("version"),o("poolId"),o("owner"),e("lpAmount"),m(l([o("mintAddress"),e("debtAmount"),e("claimedAmount")]),ee.CLAIMED_NUM,"tokenInfo"),m(e(),4,"padding")]),se.DEFAULT_POOL_ID=["58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2","6UmmUiYoBjSrhakAobJw8BvkmJtDVxaeBtbt7rxWo1mg","AVs9TA4nWDzfPJE9gGVNJMVhcQy3V9PGazuz33BfG2RA","DVa7Qmb5ct9RCpaU7UTpSaf3GVMYz17vNVU67XpdCRut","7XawhbbxtsRcQA8KTkHT9f9nc6d69UwqCDh6U5EEbEmX","6a1CsrpeZubDjEJE9s1CMVheB6HWM5d7m1cj2jkhyXhj","EoNrn8iUhwgJySD1pHu8Qxm5gSQqLK3za4m8xzD2RuEb","AceAyRTWt4PyB2pHqf2qhDgNZDtKVNaxgL8Ru3V4aN1P","6tmFJbMk5yVHFcFy7X2K8RwHjKLr6KVFLYXpgpBNeAxB"].map(t=>new ca(t)),se.SEED_CONFIG={pool:{id:Buffer.from("pool_seed","utf8")},owner:{id:Buffer.from("user_claim_seed","utf8")}},se.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 $C=new Te(2),jC=new Te(3),JC=new Te(5),ko=new Te(10),eR=new Te(100),tR=new Te(1e3),nR=new Te(1e4);function Xt(i,t=1,n=[]){let r=[...i];if(t<=0)return n;for(;r.length;)n.push(r.splice(0,t));return n}import{MINT_SIZE as LR,TOKEN_PROGRAM_ID as OR,getTransferFeeConfig as NR,unpackMint as MR}from"@solana/spl-token";var Yt=E("Raydium_accountInfo_util");async function ye(i,t,n){let{batchRequest:r,commitment:c="confirmed",chunkCount:d=100}=C({batchRequest:!1},n),y=Xt(t,d),f=new Array(y.length).fill([]);if(r){let g=y.map(O=>{let R=i._buildArgs([O.map(B=>B.toBase58())],c,"base64");return{methodName:"getMultipleAccounts",args:R}}),x=Xt(g,10);f=(await(await Promise.all(x.map(async O=>await i._rpcBatchRequest(O)))).flat()).map(O=>(O.error&&Yt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${O.error.message}`),O.result.value.map(R=>{if(R){let{data:B,executable:M,lamports:P,owner:T,rentEpoch:I}=R;return B.length!==2&&B[1]!=="base64"&&Yt.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(B[0],"base64"),executable:M,lamports:P,owner:new da(T),rentEpoch:I}}return null})))}else try{f=await Promise.all(y.map(g=>i.getMultipleAccountsInfo(g,c)))}catch(g){g instanceof Error&&Yt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${g.message}`)}return f.flat()}async function Qt({connection:i,address:t,cluster:n="mainnet"}){let r=await ye(i,[...new Set(t.map(d=>d.toString()))].map(d=>new Ht(d))),c={};for(let d=0;d<t.length;d++){let y=r[d],f=t[d];if(!y)continue;let g=new ve({key:f,state:ve.deserialize(y.data)});c[f.toString()]=g,n==="devnet"?Fe[f.toString()]=g:Me[f.toString()]=g}return c}var Me={},Zt=async i=>{let t="AcL1Vo8oy1ULiavEcjSUcwfBSForXMudcZvDZy5nzJkU";if(Me[t])return Me;let n=new Ht(t),r=await i.getAccountInfo(n);return r&&(Me[t]=new ve({key:n,state:ve.deserialize(r.data)})),Me},Fe={},$t=async i=>{let t="EFhMuDw1PKEuckuFRW9PavNfTH4LKP5uKHgyXDmWpFCq";if(Fe[t])return Fe;let n=new Ht(t),r=await i.getAccountInfo(n);return r&&(Fe[t]=new ve({key:n,state:ve.deserialize(r.data)})),Fe};var kt=2e3,Tt=class{constructor(t){this.instructions=[];this.endInstructions=[];this.lookupTableAddress=[];this.signers=[];this.instructionTypes=[];this.endInstructionTypes=[];this.connection=t.connection,this.feePayer=t.feePayer,this.signAllTransactions=t.signAllTransactions,this.owner=t.owner,this.cluster=t.cluster,this.blockhashCommitment=t.blockhashCommitment,this.loopMultiTxStatus=!!t.loopMultiTxStatus}get AllTxData(){return{instructions:this.instructions,endInstructions:this.endInstructions,signers:this.signers,instructionTypes:this.instructionTypes,endInstructionTypes:this.endInstructionTypes,lookupTableAddress:this.lookupTableAddress}}get allInstructions(){return[...this.instructions,...this.endInstructions]}async getComputeBudgetConfig(){var r;let t=(await fa.get(`https://solanacompass.com/api/fees?cacheFreshTime=${3e5}`)).data,{avg:n}=(r=t==null?void 0:t[15])!=null?r:{};if(!!n)return{units:6e5,microLamports:Math.min(Math.ceil(n*1e6/6e5),25e3)}}addCustomComputeBudget(t){if(t){let{instructions:n,instructionTypes:r}=dt(t);return this.instructions.unshift(...n),this.instructionTypes.unshift(...r),!0}return!1}addTipInstruction(t){var n;return t?(this.endInstructions.push(pa.transfer({fromPubkey:(n=t.feePayer)!=null?n:this.feePayer,toPubkey:new _e(t.address),lamports:BigInt(t.amount.toString())})),this.endInstructionTypes.push(Q.TransferTip),!0):!1}async calComputeBudget({config:t,defaultIns:n}){try{let r=t||await this.getComputeBudgetConfig();if(this.addCustomComputeBudget(r))return;n&&this.instructions.unshift(...n)}catch{n&&this.instructions.unshift(...n)}}addInstruction({instructions:t=[],endInstructions:n=[],signers:r=[],instructionTypes:c=[],endInstructionTypes:d=[],lookupTableAddress:y=[]}){return this.instructions.push(...t),this.endInstructions.push(...n),this.signers.push(...r),this.instructionTypes.push(...c),this.endInstructionTypes.push(...d),this.lookupTableAddress.push(...y.filter(f=>f!==_e.default.toString())),this}async versionBuild({txVersion:t,extInfo:n,lookupTableAddress:r}){return t===0?await this.buildV0(V(C({},n||{}),{lookupTableAddress:r})):this.build(n)}build(t){var r;let n=new $e;return this.allInstructions.length&&n.add(...this.allInstructions),n.feePayer=this.feePayer,((r=this.owner)==null?void 0:r.signer)&&!this.signers.some(c=>c.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 c=>{var b;let{recentBlockHash:d,skipPreflight:y=!0,sendAndConfirm:f,notSendToRpc:g}=c||{},x=d!=null?d:await Se(this.connection,this.blockhashCommitment);if(n.recentBlockhash=x,this.signers.length&&n.sign(...this.signers),we([n]),(b=this.owner)!=null&&b.isKeyPair)return{txId:f?await jt(this.connection,n,this.signers.find(R=>R.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:y}):await this.connection.sendRawTransaction(n.serialize(),{skipPreflight:y}),signedTx:n};if(this.signAllTransactions){let O=await this.signAllTransactions([n]);if(this.signers.length)for(let R of O)try{R.sign(...this.signers)}catch{}return{txId:g?"":await this.connection.sendRawTransaction(O[0].serialize(),{skipPreflight:y}),signedTx:O[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:t||{}}}buildMultiTx(t){var x;let{extraPreBuildData:n=[],extInfo:r}=t,{transaction:c}=this.build(r),d=n.filter(b=>b.transaction.instructions.length>0),y=[c,...d.map(b=>b.transaction)],f=[this.signers,...d.map(b=>b.signers)],g=[...this.instructionTypes,...d.map(b=>b.instructionTypes).flat()];return(x=this.owner)!=null&&x.signer&&f.forEach(b=>{b.some(O=>O.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),{builder:this,transactions:y,signers:f,instructionTypes:g,execute:async b=>{var I;let{sequentially:O,onTxUpdate:R,skipTxCount:B=0,recentBlockHash:M,skipPreflight:P=!0}=b||{},T=M!=null?M:await Se(this.connection,this.blockhashCommitment);if((I=this.owner)!=null&&I.isKeyPair){if(O){let h=[],F=0;for(let v of y){if(++F,F<=B)continue;let p=await jt(this.connection,v,this.signers.find(A=>A.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:P});h.push(p)}return{txIds:h,signedTxs:y}}return{txIds:await await Promise.all(y.map(async h=>(h.recentBlockhash=T,await this.connection.sendRawTransaction(h.serialize(),{skipPreflight:P})))),signedTxs:y}}if(this.signAllTransactions){let h=y.map((v,p)=>(v.recentBlockhash=T,f[p].length&&v.sign(...f[p]),v));we(h);let F=await this.signAllTransactions(h);if(O){let v=0,p=[],A=async()=>{if(!F[v])return;let w=await this.connection.sendRawTransaction(F[v].serialize(),{skipPreflight:P});p.push({txId:w,status:"sent",signedTx:F[v]}),R==null||R([...p]),v++;let S=!1,L=null,_=null,ie=q=>{L!==null&&clearInterval(L),_!==null&&this.connection.removeSignatureListener(_);let W=p.findIndex(j=>j.txId===w);if(W>-1){if(p[W].status==="error"||p[W].status==="success")return;p[W].status=q.err?"error":"success"}R==null||R([...p]),q.err||A()};this.loopMultiTxStatus&&(L=setInterval(async()=>{var q;if(S){clearInterval(L);return}try{let W=await this.connection.getTransaction(w,{commitment:"confirmed",maxSupportedTransactionVersion:1});W&&(S=!0,clearInterval(L),ie({err:((q=W.meta)==null?void 0:q.err)||null}),console.log("tx status from getTransaction:",w))}catch(W){S=!0,clearInterval(L),console.error("getTransaction timeout:",W,w)}},kt)),_=this.connection.onSignature(w,q=>{if(S){this.connection.removeSignatureListener(_);return}S=!0,ie(q)},"confirmed"),this.connection.getSignatureStatus(w)};return await A(),{txIds:p.map(w=>w.txId),signedTxs:F}}else{let v=[];for(let p=0;p<F.length;p+=1){let A=await this.connection.sendRawTransaction(F[p].serialize(),{skipPreflight:P});v.push(A)}return{txIds:v,signedTxs:F}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:r||{}}}async versionMultiBuild({extraPreBuildData:t,txVersion:n,extInfo:r}){return n===0?await this.buildV0MultiTx({extraPreBuildData:t,buildProps:r||{}}):this.buildMultiTx({extraPreBuildData:t,extInfo:r})}async buildV0(t){var P;let M=t||{},{lookupTableCache:n={},lookupTableAddress:r=[],forerunCreate:c,recentBlockhash:d}=M,y=ue(M,["lookupTableCache","lookupTableAddress","forerunCreate","recentBlockhash"]),f=C(C({},this.cluster==="devnet"?await $t(this.connection):await Zt(this.connection)),n),g=Array.from(new Set([...r,...this.lookupTableAddress])),x=[];for(let T of g)f[T]===void 0&&x.push(new _e(T));let b=await Qt({connection:this.connection,address:x});for(let[T,I]of Object.entries(b))f[T]=I;let O=c?_e.default.toBase58():d!=null?d:await Se(this.connection,this.blockhashCommitment),R=new je({payerKey:this.feePayer,recentBlockhash:O,instructions:[...this.allInstructions]}).compileToV0Message(Object.values(f));((P=this.owner)==null?void 0:P.signer)&&!this.signers.some(T=>T.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer);let B=new Je(R);return B.sign(this.signers),{builder:this,transaction:B,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async T=>{var v;let{skipPreflight:I=!0,sendAndConfirm:h,notSendToRpc:F}=T||{};if(we([B]),(v=this.owner)!=null&&v.isKeyPair){let p=await this.connection.sendTransaction(B,{skipPreflight:I});return h&&await pt(this.connection,p),{txId:p,signedTx:B}}if(this.signAllTransactions){let p=await this.signAllTransactions([B]);if(this.signers.length)for(let A of p)try{A.sign(this.signers)}catch{}return{txId:F?"":await this.connection.sendTransaction(p[0],{skipPreflight:I}),signedTx:p[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:y||{}}}async buildV0MultiTx(t){var x;let{extraPreBuildData:n=[],buildProps:r}=t,{transaction:c}=await this.buildV0(r),d=n.filter(b=>b.builder.instructions.length>0),y=[c,...d.map(b=>b.transaction)],f=[this.signers,...d.map(b=>b.signers)],g=[...this.instructionTypes,...d.map(b=>b.instructionTypes).flat()];return(x=this.owner)!=null&&x.signer&&f.forEach(b=>{b.some(O=>O.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),y.forEach(async(b,O)=>{b.sign(f[O])}),{builder:this,transactions:y,signers:f,instructionTypes:g,buildProps:r,execute:async b=>{var P;let{sequentially:O,onTxUpdate:R,recentBlockHash:B,skipPreflight:M=!0}=b||{};if(B&&y.forEach(T=>T.message.recentBlockhash=B),we(y),(P=this.owner)!=null&&P.isKeyPair){if(O){let T=[];for(let I of y){let h=await this.connection.sendTransaction(I,{skipPreflight:M});await pt(this.connection,h),T.push(h)}return{txIds:T,signedTxs:y}}return{txIds:await Promise.all(y.map(async T=>await this.connection.sendTransaction(T,{skipPreflight:M}))),signedTxs:y}}if(this.signAllTransactions){let T=await this.signAllTransactions(y);if(O){let I=0,h=[],F=async()=>{if(!T[I])return;let v=await this.connection.sendTransaction(T[I],{skipPreflight:M});h.push({txId:v,status:"sent",signedTx:T[I]}),R==null||R([...h]),I++;let p=!1,A=null,w=null,S=L=>{A!==null&&clearInterval(A),w!==null&&this.connection.removeSignatureListener(w);let _=h.findIndex(ie=>ie.txId===v);if(_>-1){if(h[_].status==="error"||h[_].status==="success")return;h[_].status=L.err?"error":"success"}R==null||R([...h]),L.err||F()};this.loopMultiTxStatus&&(A=setInterval(async()=>{var L;if(p){clearInterval(A);return}try{let _=await this.connection.getTransaction(v,{commitment:"confirmed",maxSupportedTransactionVersion:1});_&&(p=!0,clearInterval(A),S({err:((L=_.meta)==null?void 0:L.err)||null}),console.log("tx status from getTransaction:",v))}catch(_){p=!0,clearInterval(A),console.error("getTransaction timeout:",_,v)}},kt)),w=this.connection.onSignature(v,L=>{if(p){this.connection.removeSignatureListener(w);return}p=!0,S(L)},"confirmed"),this.connection.getSignatureStatus(v)};return F(),{txIds:[],signedTxs:T}}else{let I=[];for(let h=0;h<T.length;h+=1){let F=await this.connection.sendTransaction(T[h],{skipPreflight:M});I.push(F)}return{txIds:I,signedTxs:T}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:r||{}}}async sizeCheckBuild(t){var R;let O=t||{},{splitIns:n=[],computeBudgetConfig:r}=O,c=ue(O,["splitIns","computeBudgetConfig"]),d=r?dt(r):{instructions:[],instructionTypes:[]},y=this.signers.reduce((B,M)=>V(C({},B),{[M.publicKey.toBase58()]:M}),{}),f=[],g=[],x=[],b=0;if(this.allInstructions.forEach(B=>{let M=[...x,B],P=r?[...d.instructions,...M]:M,I=[...new Set(M.map(h=>h.keys.filter(F=>F.isSigner).map(F=>F.pubkey.toString())).flat()).values()].map(h=>new _e(h));if(B!==n[b]&&x.length<12&&(ze({instructions:P,payer:this.feePayer,signers:I})||ze({instructions:M,payer:this.feePayer,signers:I})))x.push(B);else{if(x.length===0)throw Error("item ins too big");b+=B===n[b]?1:0,ze({instructions:r?[...d.instructions,...x]:[...x],payer:this.feePayer,signers:I})?f.push(new $e().add(...d.instructions,...x)):f.push(new $e().add(...x)),g.push(Array.from(new Set(x.map(h=>h.keys.filter(F=>F.isSigner).map(F=>F.pubkey.toString())).flat())).map(h=>y[h]).filter(h=>h!==void 0)),x=[B]}}),x.length>0){let M=[...new Set(x.map(P=>P.keys.filter(T=>T.isSigner).map(T=>T.pubkey.toString())).flat()).values()].map(P=>y[P]).filter(P=>P!==void 0);ze({instructions:r?[...d.instructions,...x]:[...x],payer:this.feePayer,signers:M.map(P=>P.publicKey)})?f.push(new $e().add(...d.instructions,...x)):f.push(new $e().add(...x)),g.push(M)}return f.forEach(B=>B.feePayer=this.feePayer),(R=this.owner)!=null&&R.signer&&g.forEach(B=>{B.some(M=>M.publicKey.equals(this.owner.publicKey))||B.push(this.owner.signer)}),{builder:this,transactions:f,signers:g,instructionTypes:this.instructionTypes,execute:async B=>{var v;let{sequentially:M,onTxUpdate:P,skipTxCount:T=0,recentBlockHash:I,skipPreflight:h=!0}=B||{},F=I!=null?I:await Se(this.connection,this.blockhashCommitment);if(f.forEach(async(p,A)=>{p.recentBlockhash=F,g[A].length&&p.sign(...g[A])}),we(f),(v=this.owner)!=null&&v.isKeyPair){if(M){let p=0,A=[];for(let w of f){if(++p,p<=T){A.push("tx skipped");continue}let S=await jt(this.connection,w,this.signers.find(L=>L.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:h});A.push(S)}return{txIds:A,signedTxs:f}}return{txIds:await Promise.all(f.map(async p=>await this.connection.sendRawTransaction(p.serialize(),{skipPreflight:h}))),signedTxs:f}}if(this.signAllTransactions){let p=await this.signAllTransactions(f.slice(T,f.length)),A=[...f.slice(0,T),...p];if(M){let w=0,S=[],L=async()=>{if(!A[w])return;w<T&&(S.push({txId:"",status:"success",signedTx:A[w]}),P==null||P([...S]),w++,L());let _=await this.connection.sendRawTransaction(A[w].serialize(),{skipPreflight:h});S.push({txId:_,status:"sent",signedTx:A[w]}),P==null||P([...S]),w++;let ie=!1,q=null,W=null,j=G=>{q!==null&&clearInterval(q),W!==null&&this.connection.removeSignatureListener(W);let te=S.findIndex(de=>de.txId===_);if(te>-1){if(S[te].status==="error"||S[te].status==="success")return;S[te].status=G.err?"error":"success"}P==null||P([...S]),G.err||L()};this.loopMultiTxStatus&&(q=setInterval(async()=>{var G;if(ie){clearInterval(q);return}try{let te=await this.connection.getTransaction(_,{commitment:"confirmed",maxSupportedTransactionVersion:1});te&&(ie=!0,clearInterval(q),j({err:((G=te.meta)==null?void 0:G.err)||null}),console.log("tx status from getTransaction:",_))}catch(te){ie=!0,clearInterval(q),console.error("getTransaction timeout:",te,_)}},kt)),W=this.connection.onSignature(_,G=>{if(ie){this.connection.removeSignatureListener(W);return}ie=!0,j(G)},"confirmed"),this.connection.getSignatureStatus(_)};return await L(),{txIds:S.map(_=>_.txId),signedTxs:A}}else{let w=[];for(let S=0;S<A.length;S+=1){let L=await this.connection.sendRawTransaction(A[S].serialize(),{skipPreflight:h});w.push(L)}return{txIds:w,signedTxs:A}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:c||{}}}async sizeCheckBuildV0(t){var v;let F=t||{},{computeBudgetConfig:n,splitIns:r=[],lookupTableCache:c={},lookupTableAddress:d=[],insCountLimit:y=12}=F,f=ue(F,["computeBudgetConfig","splitIns","lookupTableCache","lookupTableAddress","insCountLimit"]),g=C(C({},this.cluster==="devnet"?await $t(this.connection):await Zt(this.connection)),c),x=Array.from(new Set([...this.lookupTableAddress,...d])),b=[];for(let p of x)g[p]===void 0&&b.push(new _e(p));let O=await Qt({connection:this.connection,address:b});for(let[p,A]of Object.entries(O))g[p]=A;let R=n?dt(n):{instructions:[],instructionTypes:[]},B=await Se(this.connection,this.blockhashCommitment),M=this.signers.reduce((p,A)=>V(C({},p),{[A.publicKey.toBase58()]:A}),{}),P=[],T=[],I=[],h=0;if(this.allInstructions.forEach(p=>{let A=[...I,p],w=n?[...R.instructions,...A]:A;if(p!==r[h]&&I.length<y&&(Xe({instructions:w,payer:this.feePayer,lookupTableAddressAccount:g})||Xe({instructions:A,payer:this.feePayer,lookupTableAddressAccount:g})))I.push(p);else{if(I.length===0)throw Error("item ins too big");h+=p===r[h]?1:0;let S={};for(let L of[...new Set(x)])g[L]!==void 0&&(S[L]=g[L]);if(n&&Xe({instructions:[...R.instructions,...I],payer:this.feePayer,lookupTableAddressAccount:g,recentBlockhash:B})){let L=new je({payerKey:this.feePayer,recentBlockhash:B,instructions:[...R.instructions,...I]}).compileToV0Message(Object.values(g));P.push(new Je(L))}else{let L=new je({payerKey:this.feePayer,recentBlockhash:B,instructions:[...I]}).compileToV0Message(Object.values(g));P.push(new Je(L))}T.push(Array.from(new Set(I.map(L=>L.keys.filter(_=>_.isSigner).map(_=>_.pubkey.toString())).flat())).map(L=>M[L]).filter(L=>L!==void 0)),I=[p]}}),I.length>0){let A=[...new Set(I.map(w=>w.keys.filter(S=>S.isSigner).map(S=>S.pubkey.toString())).flat()).values()].map(w=>M[w]).filter(w=>w!==void 0);if(n&&Xe({instructions:[...R.instructions,...I],payer:this.feePayer,lookupTableAddressAccount:g,recentBlockhash:B})){let w=new je({payerKey:this.feePayer,recentBlockhash:B,instructions:[...R.instructions,...I]}).compileToV0Message(Object.values(g));P.push(new Je(w))}else{let w=new je({payerKey:this.feePayer,recentBlockhash:B,instructions:[...I]}).compileToV0Message(Object.values(g));P.push(new Je(w))}T.push(A)}return(v=this.owner)!=null&&v.signer&&T.forEach(p=>{p.some(A=>A.publicKey.equals(this.owner.publicKey))||p.push(this.owner.signer)}),P.forEach((p,A)=>{p.sign(T[A])}),{builder:this,transactions:P,buildProps:t,signers:T,instructionTypes:this.instructionTypes,execute:async p=>{var ie;let{sequentially:A,onTxUpdate:w,skipTxCount:S=0,recentBlockHash:L,skipPreflight:_=!0}=p||{};if(P.map(async(q,W)=>{T[W].length&&q.sign(T[W]),L&&(q.message.recentBlockhash=L)}),we(P),(ie=this.owner)!=null&&ie.isKeyPair){if(A){let q=0,W=[];for(let j of P){if(++q,q<=S){console.log("skip tx: ",q),W.push("tx skipped");continue}let G=await this.connection.sendTransaction(j,{skipPreflight:_});await pt(this.connection,G),W.push(G)}return{txIds:W,signedTxs:P}}return{txIds:await Promise.all(P.map(async q=>await this.connection.sendTransaction(q,{skipPreflight:_}))),signedTxs:P}}if(this.signAllTransactions){let q=await this.signAllTransactions(P.slice(S,P.length)),W=[...P.slice(0,S),...q];if(A){let j=0,G=[],te=async()=>{if(!W[j])return;if(j<S){G.push({txId:"",status:"success",signedTx:W[j]}),w==null||w([...G]),j++,te();return}let de=await this.connection.sendTransaction(W[j],{skipPreflight:_});G.push({txId:de,status:"sent",signedTx:W[j]}),w==null||w([...G]),j++;let Ve=!1,he=null,et=null,en=ge=>{he!==null&&clearInterval(he),et!==null&&this.connection.removeSignatureListener(et);let pe=G.findIndex(ao=>ao.txId===de);if(pe>-1){if(G[pe].status==="error"||G[pe].status==="success")return;G[pe].status=ge.err?"error":"success"}w==null||w([...G]),ge.err||te()};this.loopMultiTxStatus&&(he=setInterval(async()=>{var ge;if(Ve){clearInterval(he);return}try{let pe=await this.connection.getTransaction(de,{commitment:"confirmed",maxSupportedTransactionVersion:1});pe&&(Ve=!0,clearInterval(he),en({err:((ge=pe.meta)==null?void 0:ge.err)||null}),console.log("tx status from getTransaction:",de))}catch(pe){Ve=!0,clearInterval(he),console.error("getTransaction timeout:",pe,de)}},kt)),et=this.connection.onSignature(de,ge=>{if(Ve){this.connection.removeSignatureListener(et);return}Ve=!0,en(ge)},"confirmed"),this.connection.getSignatureStatus(de)};return te(),{txIds:[],signedTxs:W}}else{let j=[];for(let G=0;G<W.length;G+=1){let te=await this.connection.sendTransaction(W[G],{skipPreflight:_});j.push(te)}return{txIds:j,signedTxs:W}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:f||{}}}};var Jt=(...i)=>i.map(t=>{try{return typeof t=="object"?JSON.stringify(t):t}catch{return t}}).join(", "),oe=class{constructor({scope:t,moduleName:n}){this.disabled=!1;this.scope=t,this.logger=E(n)}createTxBuilder(t){return this.scope.checkOwner(),new Tt({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(Jt(t))}logInfo(...t){this.logger.info(Jt(t))}logAndCreateError(...t){let n=Jt(t);throw new Error(n)}checkDisabled(){(this.disabled||!this.scope)&&this.logAndCreateError("module not working")}};export{oe as default};
//# sourceMappingURL=moduleBase.mjs.map