@raydium-io/raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
2 lines • 72.8 kB
JavaScript
var uo=Object.defineProperty,co=Object.defineProperties;var lo=Object.getOwnPropertyDescriptors;var tt=Object.getOwnPropertySymbols;var tn=Object.prototype.hasOwnProperty,nn=Object.prototype.propertyIsEnumerable;var en=(i,t,n)=>t in i?uo(i,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):i[t]=n,R=(i,t)=>{for(var n in t||(t={}))tn.call(t,n)&&en(i,n,t[n]);if(tt)for(var n of tt(t))nn.call(t,n)&&en(i,n,t[n]);return i},D=(i,t)=>co(i,lo(t));var ue=(i,t)=>{var n={};for(var r in i)tn.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&&nn.call(i,r)&&(n[r]=i[r]);return n};import{PublicKey as Ve,sendAndConfirmTransaction as $t,SystemProgram as la,Transaction as je,TransactionMessage as $e,VersionedTransaction as Je}from"@solana/web3.js";import ma from"axios";import{PublicKey as Qt,AddressLookupTableAccount as ve}from"@solana/web3.js";import{PublicKey as ca}from"@solana/web3.js";import Te from"bn.js";import kC from"decimal.js";import ko from"big.js";import Ra from"bn.js";import{get as on,set as mo}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}},rn={},po={};function _(i){let t=on(rn,i);if(!t){let n=on(po,i);t=new ht({name:i,logLevel:n}),mo(rn,i,t)}return t}import fo from"toformat";var yo=fo,Ee=yo;import ot from"big.js";import go from"bn.js";import Po from"decimal.js-light";import De from"bn.js";var an=9007199254740991;function ne(i){let t=_("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>=an||i<=-an)&&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=_("module/fraction"),It=Ee(ot),We=Ee(Po),Ao={[0]:We.ROUND_DOWN,[1]:We.ROUND_HALF_UP,[2]:We.ROUND_UP},wo={[0]:ot.roundDown,[1]:ot.roundHalfUp,[2]:ot.roundUp},U=class{constructor(t,n=new go(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:Ao[r]});let u=new We(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(t);return u.toFormat(u.decimalPlaces(),n)}toFixed(t,n={groupSeparator:""},r=1){return Number.isInteger(t)||nt.logWithError(`${t} is not an integer.`),t<0&&nt.logWithError(`${t} is negative.`),It.DP=t,It.RM=wo[r]||1,new It(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,n)}isZero(){return this.numerator.isZero()}};var Ea=_("Raydium_amount"),Da=Ee(ko);import{PublicKey as ho}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as sn}from"@solana/spl-token";var it={chainId:101,address:ho.default.toBase58(),programId:sn.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:sn.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 un,SYSVAR_RENT_PUBKEY as Io}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Bo}from"@solana/spl-token";function Ie({pubkey:i,isSigner:t=!1,isWritable:n=!0}){return{pubkey:i,isWritable:n,isSigner:t}}var So=[Ie({pubkey:Bo,isWritable:!1}),Ie({pubkey:un.programId,isWritable:!1}),Ie({pubkey:Io,isWritable:!1})];function cn({publicKey:i,transformSol:t}){let n=ln(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 ln(i){try{return new z(i)}catch{return i}}var Bt=new z("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),qe=new z("SysvarRent111111111111111111111111111111111"),Qa=new z("SysvarC1ock11111111111111111111111111111111"),rt=new z("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),Ko=new z("Sysvar1nstructions1111111111111111111111111"),xo=un.programId,Za=new z("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Ha=new z("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),ja=new z("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),$a=new z("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Ja=new z("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),es=new z("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),ts=new z("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),ns=new z("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),os=new z("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),is=new z("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),rs=new z("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),fe=new z("So11111111111111111111111111111111111111112"),Pe=z.default;var Kt=class{constructor({mint:t,decimals:n,symbol:r,name:u,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=u||t.toString().substring(0,6),this.mint=d?St.default:cn({publicKey:t}),this.isToken2022=y}equals(t){return this===t?!0:this.mint.equals(t.mint)}},J=Kt;J.WSOL=new Kt(D(R({},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 Co from"bn.js";var gs=new U(new Co(100));var hs=_("Raydium_price");import{merge as hx}from"lodash";import Os from"axios";var mn={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"},Ro=D(R({},mn),{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 tu=_("Raydium_Api");import{PublicKey as Qc,SystemProgram as Zc}from"@solana/web3.js";import{AccountLayout as el,createAssociatedTokenAccountIdempotentInstruction as tl,TOKEN_PROGRAM_ID as nl,TOKEN_2022_PROGRAM_ID as ol}from"@solana/spl-token";var Ct=(...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=_(n)}createTxBuilder(t){return this.scope.checkOwner(),new st({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(Ct(t))}logInfo(...t){this.logger.info(Ct(t))}logAndCreateError(...t){let n=Ct(t);throw new Error(n)}checkDisabled(){(this.disabled||!this.scope)&&this.logAndCreateError("module not working")}};import{PublicKey as Bc,SystemProgram as Kc}from"@solana/web3.js";import Rc from"bn.js";import{createCloseAccountInstruction as Mc,createInitializeAccountInstruction as Fc,createTransferInstruction as vc,TOKEN_PROGRAM_ID as Vc}from"@solana/spl-token";var Z={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 dc,PublicKey as pc}from"@solana/web3.js";import bc from"bn.js";import{TOKEN_PROGRAM_ID as Ac}from"@solana/spl-token";import{PublicKey as qo}from"@solana/web3.js";import bn,{isBN as gn}from"bn.js";import{bits as Lo,BitStructure as gu,blob as Oo,Blob as Pu,cstr as Au,f32 as wu,f32be as ku,f64 as Tu,f64be as hu,greedy as Iu,Layout as No,ns64 as Bu,ns64be as Su,nu64 as Ku,nu64be as xu,offset as Mo,s16 as Cu,s16be as Ru,s24 as Lu,s24be as Ou,s32 as Fo,s32be as Nu,s40 as Mu,s40be as Fu,s48 as vu,s48be as Vu,s8 as _u,seq as vo,struct as Eu,Structure as Vo,u16 as _o,u16be as Du,u24 as Wu,u24be as qu,u32 as Eo,u32be as Uu,u40 as Gu,u40be as zu,u48 as Xu,u48be as Yu,u8 as Do,UInt as Wo,union as Qu,Union as Zu,unionLayoutDiscriminator as Hu,utf8 as ju}from"@solana/buffer-layout";var ut=No,dn=Vo;var Rt=Wo;var pn=Do,Y=_o;var ct=Eo;var ae=Fo;var fn=vo;var N=Oo;var Lt=Lo,yn=Mo;var Ae=class extends ut{constructor(n,r,u){super(n,u);this.blob=N(n),this.signed=r}decode(n,r=0){let u=new bn(this.blob.decode(n,r),10,"le");return this.signed?u.fromTwos(this.span*8).clone():u}encode(n,r,u=0){return typeof n=="number"&&(n=new bn(n)),this.signed&&(n=n.toTwos(this.span*8)),this.blob.encode(n.toArrayLike(Buffer,"le",this.span),r,u)}},lt=class extends ut{constructor(n){super(8,n);this._lower=Lt(ct(),!1),this._upper=Lt(ct(),!1)}addBoolean(n){this._lower.fields.length<32?this._lower.addBoolean(n):this._upper.addBoolean(n)}decode(n,r=0){let u=this._lower.decode(n,r),d=this._upper.decode(n,r+this._lower.span);return R(R({},u),d)}encode(n,r,u=0){return this._lower.encode(n,r,u)+this._upper.encode(n,r,u+this._lower.span)}};function c(i){return new Rt(1,i)}function X(i){return new Rt(4,i)}function e(i){return new Ae(8,!1,i)}function L(i){return new Ae(16,!1,i)}function Pn(i){return new Ae(1,!0,i)}function Be(i){return new Ae(8,!0,i)}function An(i){return new Ae(16,!0,i)}var Ge=class extends ut{constructor(n,r,u,d){super(n.span,d);this.layout=n,this.decoder=r,this.encoder=u}decode(n,r){return this.decoder(this.layout.decode(n,r))}encode(n,r,u){return this.layout.encode(this.encoder(n),r,u)}getSpan(n,r){return this.layout.getSpan(n,r)}};function o(i){return new Ge(N(32),t=>new qo(t),t=>t.toBuffer(),i)}function re(i){return new Ge(pn(),Uo,Go,i)}function Uo(i){if(i===0)return!1;if(i===1)return!0;throw new Error("Invalid bool: "+i)}function Go(i){return i?1:0}function wn(i,t){let n=ct("length"),r=l([n,m(i,yn(n,-n.span),"values")]);return new Ge(r,({values:u})=>u,u=>({values:u}),t)}var Ot=class extends dn{decode(t,n){return super.decode(t,n)}};function l(i,t,n){return new Ot(i,t,n)}function m(i,t,n){let r,u=typeof t=="number"?t:gn(t)?t.toNumber():new Proxy(t,{get(d,y){if(!r){let f=Reflect.get(d,"count");r=gn(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 fn(i,u,n)}var mt=l([o("mint"),o("owner"),e("amount"),X("delegateOption"),o("delegate"),c("state"),X("isNativeOption"),e("isNative"),e("delegatedAmount"),X("closeAuthorityOption"),o("closeAuthority")]);import{PublicKey as sg,SystemProgram as ug}from"@solana/web3.js";import{createAssociatedTokenAccountIdempotentInstruction as lg}from"@solana/spl-token";import{PublicKey as wl}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Tl}from"@solana/spl-token";import{ComputeBudgetProgram as Tn,Keypair as In,PublicKey as Xo,Transaction as Bn,TransactionMessage as Yo,VersionedTransaction as Sn}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Qo}from"@solana/spl-token";var hn=_("Raydium_txUtil"),Kn=1644;function pt(i){let t=[],n=[];return i.microLamports&&(t.push(Tn.setComputeUnitPrice({microLamports:i.microLamports})),n.push(Z.SetComputeUnitPrice)),i.units&&(t.push(Tn.setComputeUnitLimit({units:i.units})),n.push(Z.SetComputeUnitLimit)),{instructions:t,instructionTypes:n}}async function Se(i,t){var r,u;let n=t!=null?t:"confirmed";return(u=await((r=i.getLatestBlockhash)==null?void 0:r.call(i,{commitment:n})))==null?void 0:u.blockhash}async function ft(i,t){return i.getSignatureStatuses([t]),new Promise((n,r)=>{let u=setTimeout(r,6e4);i.onSignature(t,d=>{if(clearTimeout(u),!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]=Xo.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 Yo({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 Zo=i=>Buffer.isBuffer(i)?i:i instanceof Uint8Array?Buffer.from(i.buffer,i.byteOffset,i.byteLength):Buffer.from(i),Ho=i=>{let t=i.serialize({requireAllSignatures:!1,verifySignatures:!1});i instanceof Sn&&(t=Zo(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=Qo.toBase58()),n.feePayer||(n.feePayer=In.generate().publicKey)),t.push(Ho(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"),Sl=new k("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),jo=new k("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),Ln=new k("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),On=new k("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),Kl=new k("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),$o=new k("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Nn=new k("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),Jo=new k("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),ei=new k("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),Mn=new k("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),xl=new k("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),ti=new k("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Ft=new k("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),ni=new k("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),Cl=new k("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),oi=new k("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),ii=new k("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),ri=new k("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),Rl=new k("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),Ll=new k("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),Ol=new k("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),Nl=new k("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),Ml=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 wg from"decimal.js";import{createAssociatedTokenAccountIdempotentInstruction as _f,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 Ql}from"@solana/spl-token";import{PublicKey as $l}from"@solana/web3.js";var ai=l([X("mintAuthorityOption"),o("mintAuthority"),e("supply"),c("decimals"),c("isInitialized"),X("freezeAuthorityOption"),o("freezeAuthority")]);import{ASSOCIATED_TOKEN_PROGRAM_ID as af,TOKEN_2022_PROGRAM_ID as sf,TOKEN_PROGRAM_ID as uf}from"@solana/spl-token";import{Keypair as mf,PublicKey as df,SystemProgram as ff,TransactionInstruction as yf}from"@solana/web3.js";import gf from"bn.js";import E from"bn.js";var xe=new E(1).shln(64);var si=new E(1).shln(128),vt=new E(1).shln(64).subn(1),ui=new E(1).shln(128).subn(1);var Ce=new E("4295048016"),Re=new E("79226673521066979257578248091"),ci=new E("59543866431248"),li=new E("184467440737095516"),mi=new E("15793534762490258745");var Vt=60,lm=new E("18446743708227953217"),di=[{bit:0,factor:new E("fffcb933bd6fb800",16)},{bit:1,factor:new E("fff97272373d4000",16)},{bit:2,factor:new E("fff2e50f5f657000",16)},{bit:3,factor:new E("ffe5caca7e10f000",16)},{bit:4,factor:new E("ffcb9843d60f7000",16)},{bit:5,factor:new E("ff973b41fa98e800",16)},{bit:6,factor:new E("ff2ea16466c9b000",16)},{bit:7,factor:new E("fe5dee046a9a3800",16)},{bit:8,factor:new E("fcbe86c7900bb000",16)},{bit:9,factor:new E("f987a7253ac65800",16)},{bit:10,factor:new E("f3392b0822bb6000",16)},{bit:11,factor:new E("e7159475a2caf000",16)},{bit:12,factor:new E("d097f3bdfd2f2000",16)},{bit:13,factor:new E("a9f746462d9f8000",16)},{bit:14,factor:new E("70d869a156f31c00",16)},{bit:15,factor:new E("31be135f97ed3200",16)},{bit:16,factor:new E("9aa508b5b85a500",16)},{bit:17,factor:new E("5d6af8dedc582c",16)},{bit:18,factor:new E("2216e584f5fa",16)}];var Ye=3,Fn=100;var vn=10,Vn=100,yt=14;var H=new E(0),Le=new E(1),mm=new E(-1);var dm=new E("18446744073700000000");var pi=l([N(8),c("bump"),Y("index"),o("owner"),X("protocolFeeRate"),X("tradeFeeRate"),Y("tickSpacing"),X("fundFeeRate"),m(X(),1),o("fundOwner"),m(e(),3)]),fi=l([X("blockTimestamp"),Be("tickCumulative"),m(e(),4)]),_n=l([N(8),re("initialized"),e("recentEpoch"),Y("observationIndex"),o("poolId"),m(fi,Fn,"observations"),m(e(),4)]),yi=l([Y("filterPeriod"),Y("decayPeriod"),Y("reductionFactor"),X("dynamicFeeControl"),X("maxVolatilityAccumulator"),ae("tickSpacingIndexReference"),X("volatilityReference"),X("volatilityAccumulator"),e("lastUpdateTimestamp"),m(c(),46)]),bi=l([c("state"),e("openTime"),e("endTime"),e("lastUpdateTime"),L("emissionsPerSecondX64"),e("totalEmissioned"),e("claimed"),o("mint"),o("vault"),o("creator"),L("growthGlobalX64")]),_t=l([N(8),c("bump"),o("configId"),o("creator"),o("mintA"),o("mintB"),o("vaultA"),o("vaultB"),o("observationId"),c("mintDecimalsA"),c("mintDecimalsB"),Y("tickSpacing"),L("liquidity"),L("sqrtPriceX64"),ae("tickCurrent"),X(),L("feeGrowthGlobalX64A"),L("feeGrowthGlobalX64B"),e("protocolFeesTokenA"),e("protocolFeesTokenB"),m(L(),4),c("status"),c("feeOn"),N(6),m(bi,Ye,"rewardInfos"),N(8*16,"tickArrayBitmap"),m(e(),4),e("fundFeesTokenA"),e("fundFeesTokenB"),e("startTime"),e("recentEpoch"),yi.replicate("dynamicFeeInfo"),m(e(),46)]),gi=l([L("growthInsideLastX64"),e("rewardAmountOwed")]),Pi=l([N(8),c("bump"),o("nftMint"),o("poolId"),ae("tickLower"),ae("tickUpper"),L("liquidity"),L("feeGrowthInsideLastX64A"),L("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),m(gi,Ye,"rewardInfos"),e("recentEpoch"),m(e(),7)]),bm=l([N(8),c("bump"),o("poolId"),ae("tickLower"),ae("tickUpper"),L("liquidity"),L("feeGrowthInsideLastX64A"),L("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),m(L(),Ye,"rewardGrowthInside"),e("recentEpoch"),m(e(),7)]),Ai=l([ae("tick"),An("liquidityNet"),L("liquidityGross"),L("feeGrowthOutsideX64A"),L("feeGrowthOutsideX64B"),m(L(),Ye,"rewardGrowthsOutsideX64"),e("orderPhase"),e("ordersAmount"),e("partFilledOrdersRemaining"),L("unfilledRatioX64"),m(X(),3)]),En=l([N(8),o("poolId"),ae("startTickIndex"),m(Ai,Vt,"ticks"),c("initializedTickCount"),e("recentEpoch"),m(c(),107)]),wi=l([N(8),c("bump"),m(o(),vn,"operationOwners"),m(o(),Vn,"whitelistMints")]),ki=l([N(8),o("poolId"),o("owner"),ae("tick"),re("zeroForOne"),e("orderPhase"),e("totalAmount"),e("filledAmount"),e("settleBase"),e("settleOutput"),e("openTime"),L("unfilledRatioX64"),m(e(),4)]),Dn=l([N(8),o("poolId"),N(8*8*yt,"positiveTickArrayBitmap"),N(8*8*yt,"negativeTickArrayBitmap")]),gm=l([N(8),Y("index"),Y("filterPeriod"),Y("decayPeriod"),Y("reductionFactor"),X("dynamicFeeControl"),X("maxVolatilityAccumulator"),m(e(),8)]),Ti=l([N(8),o("wallet"),c("nonceIndex"),e("orderNonce"),m(e(),4)]),Pm=l([e(),c("bump"),o("owner"),o("poolId"),o("positionId"),o("nftAccount"),m(e(),8)]),hi=l([N(8),c("bump"),o("lockOwner"),o("poolId"),o("positionId"),o("nftAccount"),o("lockNftMint"),e("recentEpoch"),m(e(),8)]);import km from"bn.js";var Om=Buffer.from("amm_config","utf8"),Bi=Buffer.from("pool","utf8"),Si=Buffer.from("pool_vault","utf8"),Nm=Buffer.from("pool_reward_vault","utf8"),Mm=Buffer.from("position","utf8"),Fm=Buffer.from("tick_array","utf8"),vm=Buffer.from("operation","utf8"),Vm=Buffer.from("pool_tick_array_bitmap_extension","utf8"),_m=Buffer.from("observation","utf8"),Em=Buffer.from("support_mint","utf8"),Dm=Buffer.from("dynamic_fee_config","utf8"),Wm=Buffer.from("permission","utf8");var qm=Buffer.from("locked_position","utf8");import{sha256 as Wi}from"js-sha256";import Ki from"bn.js";import Xm from"decimal.js";var Qm=new Ki(1).shln(256).subn(1);import dd from"bn.js";import td from"bn.js";import od from"decimal.js";import gd from"bn.js";import Ad from"decimal.js";import{PublicKey as rp}from"@solana/web3.js";import sp from"bn.js";import{TOKEN_2022_PROGRAM_ID as yp,TOKEN_PROGRAM_ID as bp}from"@solana/spl-token";import wp from"decimal.js";import Qd from"bn.js";import Fd from"bn.js";import Lp from"bn.js";function j(i){let t=`global:${i}`;return Buffer.from(Wi.digest(t)).slice(0,8)}_n.span;var Bf=_("Raydium_Clmm"),Sf={createPool:j("create_pool"),createCustomizablePool:j("create_customizable_pool"),createPermissionedPool:j("create_permissioned_pool"),openPositionV2:j("open_position_v2"),openPositionWithToken22Nft:j("open_position_with_token22_nft"),closePosition:j("close_position"),increaseLiquidityV2:j("increase_liquidity_v2"),decreaseLiquidityV2:j("decrease_liquidity_v2"),initializeReward:j("initialize_reward"),setRewardParams:j("set_reward_params"),updateRewardInfos:j("update_reward_infos"),collectRemainingRewards:j("collect_remaining_rewards"),swapV2:j("swap_v2"),openLimitOrder:j("open_limit_order"),increaseLimitOrder:j("increase_limit_order"),decreaseLimitOrder:j("decrease_limit_order"),settleLimitOrder:j("settle_limit_order"),closeLimitOrder:j("close_limit_order")};import{PublicKey as qt}from"@solana/web3.js";var zi=l([c("instruction")]),Xi=l([c("instruction")]),Yi=l([e("rewardState"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardLastUpdateTime"),e("totalReward"),e("totalRewardEmissioned"),e("rewardClaimed"),e("rewardPerSecond"),L("accRewardPerShare"),o("rewardVault"),o("rewardMint"),o("rewardSender"),e("rewardType"),m(e(),15,"padding")]),Qi=l([e("state"),e("nonce"),o("lpVault"),o("rewardVault"),o(),o(),e(),e(),e("totalReward"),L("perShareReward"),e("lastSlot"),e("perSlotReward")]),Zi=l([e("state"),e("nonce"),o("lpVault"),o("rewardVaultA"),e("totalRewardA"),L("perShareRewardA"),e("perSlotRewardA"),c("option"),o("rewardVaultB"),N(7),e("totalRewardB"),L("perShareRewardB"),e("perSlotRewardB"),e("lastSlot"),o()]),Hi=l([e(),e("state"),e("nonce"),e("validRewardTokenNum"),L("rewardMultiplier"),e("rewardPeriodMax"),e("rewardPeriodMin"),e("rewardPeriodExtend"),o("lpMint"),o("lpVault"),m(Yi,5,"rewardInfos"),o("creator"),o(),m(e(),32,"padding")]),ji=new Proxy(Qi,{get(i,t,n){return t==="decode"?(...r)=>{let u=i.decode(...r);return D(R({},u),{version:3,rewardInfos:[{rewardVault:u.rewardVault,totalReward:u.totalReward,perSlotReward:u.perSlotReward,perShareReward:u.perShareReward}]})}:Reflect.get(i,t,n)}}),$i=new Proxy(Zi,{get(i,t,n){return t==="decode"?(...r)=>{let u=i.decode(...r);return D(R({},u),{version:5,rewardInfos:[{rewardVault:u.rewardVaultA,totalReward:u.totalRewardA,perSlotReward:u.perSlotRewardA,perShareReward:u.perShareRewardA},{rewardVault:u.rewardVaultB,totalReward:u.totalRewardB,perSlotReward:u.perSlotRewardB,perShareReward:u.perShareRewardB}]})}:Reflect.get(i,t,n)}}),Yn=new Proxy(Hi,{get(i,t,n){return t==="decode"?(...r)=>{let u=i.decode(...r);return D(R({},u),{version:6,rewardInfos:u.rewardInfos.map(d=>{var y;return D(R({},d),{rewardType:((y=Object.entries(He).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")]),er=l([c("instruction"),e("nonce"),m(Ji,5,"rewardTimeInfo")]),tr=l([c("instruction"),e("rewardReopenTime"),e("rewardEndTime"),e("rewardPerSecond")]),nr=l([c("instruction"),e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),By=l([e("state"),o("id"),o("owner"),e("deposited"),m(e(),1,"rewardDebts")]),Qn=l([e("state"),o("id"),o("owner"),e("deposited"),m(L(),1,"rewardDebts"),e(""),e("voteLockedBalance"),m(e(),15)]),Sy=l([e("state"),o("id"),o("owner"),e("deposited"),m(e(),2,"rewardDebts")]),or=l([e("state"),o("id"),o("owner"),e("deposited"),m(L(),2,"rewardDebts"),m(e(),17)]),ir=l([e(),e("state"),o("id"),o("owner"),e("deposited"),m(L(),5,"rewardDebts"),m(e(),16)]),rr=l([c("instruction"),e("amount")]),ar=l([o("mint"),o("grantAuthority"),e("baselineVoteWeightScaledFactor"),e("maxExtraLockupVoteWeightScaledFactor"),e("lockupSaturationSecs"),Pn("digitShift"),m(c(),7,"reserved1"),m(e(),7,"reserved2")]),sr=l([N(8),o("governanceProgramId"),o("realm"),o("realmGoverningTokenMint"),o("realmAuthority"),m(c(),32,"reserved1"),m(ar,4,"votingMints"),Be("timeOffset"),c("bump"),m(c(),7,"reserved2"),m(e(),11,"reserved3")]),ur=l([Be("startTime"),Be("endTime"),c("kind"),m(c(),15,"reserved")]),cr=l([m(ur,1,"lockup"),e("amountDeposited_native"),e("amountInitiallyLockedNative"),re("isUsed"),re("allowClawback"),c("votingMintConfigIdx"),m(c(),29,"reserved")]),lr=l([N(8),o("voterAuthority"),o("registrar"),m(cr,32,"deposits"),c("voterBump"),c("voterWweightRecordBump"),m(c(),94,"reserved")]);import{NATIVE_MINT as Fy}from"@solana/spl-token";var vy=_("Raydium_farm_config"),mr=new qt("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),dr=new qt("FrspKwj8i3pNmKwXreTveC4fu7KL5ZbGeXdZBe2XViu1");var Vy=new qt("3TRTX4dXUpp2eqxi3tvQDFYUV7SdDJjcPE3Y4mbtftaX");var He={"Standard SPL":0,"Option tokens":1},Zn={[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 Tb,SystemProgram as hb,SYSVAR_CLOCK_PUBKEY as Ib,SYSVAR_RENT_PUBKEY as Bb,TransactionInstruction as Sb}from"@solana/web3.js";import xb from"bn.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as Rb,createAssociatedTokenAccountIdempotentInstruction as Lb,TOKEN_PROGRAM_ID as Ob}from"@solana/spl-token";import $y from"bn.js";import{PublicKey as Uy}from"@solana/web3.js";import zy from"bn.js";var mb=_("Raydium.farm.util");var Ub=_("Raydium_farm_instruction"),Gb={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 Lg from"bn.js";import{PublicKey as EA}from"@solana/web3.js";import{AccountLayout as qA,MintLayout as UA,NATIVE_MINT as GA,TOKEN_PROGRAM_ID as XA}from"@solana/spl-token";import Mg from"bn.js";import jn from"bn.js";var wr=new jn(25),kr=new jn(1e4);import{ASSOCIATED_TOKEN_PROGRAM_ID as nP,TOKEN_PROGRAM_ID as oP}from"@solana/spl-token";import{PublicKey as rP,SystemProgram as aP,SYSVAR_RENT_PUBKEY as sP,TransactionInstruction as uP}from"@solana/web3.js";import bP from"bn.js";var Tr=l([c("instruction"),e("amountIn"),e("minAmountOut")]),hr=l([c("instruction"),e("maxAmountIn"),e("amountOut")]),$g=l([c("instruction"),c("nonce")]),Ir=l([c("instruction"),c("nonce"),e("startTime")]),$n=l([e("status"),e("nonce"),e("maxOrder"),e("depth"),e("baseDecimal"),e("quoteDecimal"),e("state"),e("resetFlag"),e("minSize"),e("volMaxCutRatio"),e("amountWaveRatio"),e("baseLotSize"),e("quoteLotSize"),e("minPriceMultiplier"),e("maxPriceMultiplier"),e("systemDecimalValue"),e("minSeparateNumerator"),e("minSeparateDenominator"),e("tradeFeeNumerator"),e("tradeFeeDenominator"),e("pnlNumerator"),e("pnlDenominator"),e("swapFeeNumerator"),e("swapFeeDenominator"),e("baseNeedTakePnl"),e("quoteNeedTakePnl"),e("quoteTotalPnl"),e("baseTotalPnl"),e("poolOpenTime"),e("punishPcAmount"),e("punishCoinAmount"),e("orderbookToInitTime"),L("swapBaseInAmount"),L("swapQuoteOutAmount"),e("swapBase2QuoteFee"),L("swapQuoteInAmount"),L("swapBaseOutAmount"),e("swapQuote2BaseFee"),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")]),Jg=l([e("accountType"),e("status"),e("nonce"),e("maxOrder"),e("depth"),e("baseDecimal"),e("quoteDecimal"),e("state"),e("resetFlag"),e("minSize"),e("volMaxCutRatio"),e("amountWaveRatio"),e("baseLotSize"),e("quoteLotSize"),e("minPriceMultiplier"),e("maxPriceMultiplier"),e("systemDecimalsValue"),e("abortTradeFactor"),e("priceTickMultiplier"),e("priceTick"),e("minSeparateNumerator"),e("minSeparateDenominator"),e("tradeFeeNumerator"),e("tradeFeeDenominator"),e("pnlNumerator"),e("pnlDenominator"),e("swapFeeNumerator"),e("swapFeeDenominator"),e("baseNeedTakePnl"),e("quoteNeedTakePnl"),e("quoteTotalPnl"),e("baseTotalPnl"),e("poolOpenTime"),e("punishPcAmount"),e("punishCoinAmount"),e("orderbookToInitTime"),L("swapBaseInAmount"),L("swapQuoteOutAmount"),L("swapQuoteInAmount"),L("swapBaseOutAmount"),e("swapQuote2BaseFee"),e("swapBase2QuoteFee"),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")]),Br=l([c("instruction"),e("baseAmountIn"),e("quoteAmountIn"),e("fixedSide"),e("otherAmountMin")]),Sr=l([c("instruction"),e("lpAmount"),e("baseAmountMin"),e("quoteAmountMin")]);var Kr=l([e("fee")]);var AP=_("Raydium_liquidity_instruction");var xr=5e4,Cr=l([e("x"),e("y"),e("price")]),hP=l([e("accountType"),e("status"),e("multiplier"),e("validDataCount"),m(Cr,xr,"DataElement")]);import{PublicKey as FP}from"@solana/web3.js";import VP from"decimal.js";import{TOKEN_PROGRAM_ID as EP}from"@solana/spl-token";import{PublicKey as KP}from"@solana/web3.js";var RP=_("Raydium_liquidity_serum");import dw from"bn.js";import fw from"decimal.js";import{TOKEN_PROGRAM_ID as dA}from"@solana/spl-token";import{PublicKey as fA}from"@solana/web3.js";import bA from"bn.js";import{SystemProgram as JP,SYSVAR_RENT_PUBKEY as eA,Transaction as tA,TransactionInstruction as nA}from"@solana/web3.js";import{createInitializeAccountInstruction as iA,TOKEN_PROGRAM_ID as rA}from"@solana/spl-token";function Rr(i="accountFlags"){let t=new lt(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 Lr=l([N(5),Rr("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 Ek}from"@solana/web3.js";import{AccountLayout as Wk,NATIVE_MINT as qk,TOKEN_2022_PROGRAM_ID as Uk,TOKEN_PROGRAM_ID as Gk,createAssociatedTokenAccountIdempotentInstruction as zk}from"@solana/spl-token";import _w from"bn.js";import _r from"bn.js";var Iw=new _r(0);import Rw from"bn.js";import Er from"bn.js";var Pt=new Er(1e6);import Jk from"bn.js";import tT from"decimal.js";import{PublicKey as nk,TransactionInstruction as ok,Keypair as rk,SystemProgram as ak}from"@solana/web3.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as uk,TOKEN_2022_PROGRAM_ID as ck,TOKEN_PROGRAM_ID as lk}from"@solana/spl-token";var Uw=Buffer.from("vault_and_lp_mint_auth_seed","utf8"),Gw=Buffer.from("amm_config","utf8"),zw=Buffer.from("pool","utf8"),Xw=Buffer.from("pool_lp_mint","utf8"),Yw=Buffer.from("pool_vault","utf8"),Qw=Buffer.from("observation","utf8"),Zw=Buffer.from("permission","utf8"),Hw=Buffer.from("support_mint","utf8");var jw=Buffer.from("locked_liquidity","utf8");var gk=_("Raydium_cpmm"),Pk={initialize:[175,175,109,31,13,152,155,237],deposit:[242,35,198,137,82,225,242,182],withdraw:[183,18,70,156,148,109,161,34],swapBaseInput:[143,190,90,218,196,30,51,222],swapBaseOutput:[55,217,98,86,163,74,180,173],lockCpLiquidity:[216,157,29,78,38,51,31,26],collectCpFee:[8,30,51,199,209,184,247,133],createPermissionPda:Buffer.from([135,136,2,216,137,169,181,202]),closePermissionPda:Buffer.from([156,84,32,118,69,135,70,123]),initializeWithPermission:Buffer.from([63,55,254,65,49,178,89,121]),collectCreatorFee:Buffer.from([20,22,86,123,198,28,219,132]),collectCreatorFeePermissionless:Buffer.from([202,202,34,83,226,122,145,229])};var qr=l([N(8),c("bump"),re("disableCreatePool"),Y("index"),e("tradeFeeRate"),e("protocolFeeRate"),e("fundFeeRate"),e("createPoolFee"),o("protocolOwner"),o("fundOwner"),e("creatorFeeRate"),m(e(),15)]),Jn=l([N(8),o("configId"),o("poolCreator"),o("vaultA"),o("vaultB"),o("mintLp"),o("mintA"),o("mintB"),o("mintProgramA"),o("mintProgramB"),o("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"),re("enableCreatorFee"),m(c(),6),e("creatorFeesMintA"),e("creatorFeesMintB"),m(e(),28)]),kk=l([N(8),o("configId"),m(e(),30)]);import{PublicKey as XS,SystemProgram as YS}from"@solana/web3.js";import{createTransferInstruction as ZS,TOKEN_PROGRAM_ID as HS,TOKEN_2022_PROGRAM_ID as jS,createAssociatedTokenAccountIdempotentInstruction as $S,createSyncNativeInstruction as eK,createTransferCheckedInstruction as tK}from"@solana/spl-token";import ra from"bn.js";import iK from"decimal.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as mh,TOKEN_2022_PROGRAM_ID as dh,TOKEN_PROGRAM_ID as ph}from"@solana/spl-token";import{SystemProgram as gh,TransactionInstruction as Ph}from"@solana/web3.js";import Zr from"bn.js";var zr=l([e(),e("epoch"),c("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"),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"),Xr.replicate("vestingSchedule"),o("configId"),o("platformId"),o("mintA"),o("mintB"),o("vaultA"),o("vaultB"),o("creator"),c("mintProgramFlag"),c("cpmmCreatorFeeOn"),e("platformVestingShare"),m(c(),54)]),XT=l([e(),e("epoch"),o("poolId"),o("beneficiary"),e("claimedAmount"),e("tokenShareAmount"),m(e(),8)]),to=l([c("migrateType"),c("migrateCpmmFeeOn"),e("supply"),e("totalSellA"),e("totalFundRaisingB"),e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod")]),Qr=l([e("epoch"),c("index"),o("configId"),to.replicate("bondingCurveParam"),m(e(),50)]),no=l([e(),e("epoch"),o("platformClaimFeeWallet"),o("platformLockNftWallet"),e("platformScale"),e("creatorScale"),e("burnScale"),e("feeRate"),m(c(),64,"name"),m(c(),256,"web"),m(c(),256,"img"),o("cpConfigId"),e("creatorFeeRate"),o("transferFeeExtensionAuth"),o("platformVestingWallet"),e("platformVestingScale"),o("platformCpCreator"),c("restrictGlobalConfig"),m(c(),107),wn(Qr,"platformCurve")]);var jT=Buffer.from("vault_auth_seed","utf8"),$T=Buffer.from("global_config","utf8"),JT=Buffer.from("pool_vesting","utf8"),eh=Buffer.from("platform_config","utf8"),th=Buffer.from("platform_fee_vault_auth_seed","utf8"),nh=Buffer.from("creator_fee_vault_auth_seed","utf8"),oh=Buffer.from("platform_global_access","utf8"),ih=Buffer.from("platform_allow_config","utf8");var Th={initialize:Buffer.from([175,175,109,31,13,152,155,237]),initializeV2:Buffer.from([67,153,175,39,218,16,38,32]),buyExactIn:Buffer.from([250,234,13,123,213,156,19,236]),buyExactOut:Buffer.from([24,211,116,40,105,3,153,56]),sellExactIn:Buffer.from([149,39,222,155,211,124,152,26]),sellExactOut:Buffer.from([95,200,71,34,8,9,11,166]),createVestingAccount:Buffer.from([129,178,2,13,217,172,230,218]),claimVestedToken:Buffer.from([49,33,104,30,189,157,79,35]),createPlatformConfig:Buffer.from([176,90,196,175,253,113,220,20]),claimPlatformFee:Buffer.from([156,39,208,135,76,237,61,72]),updatePlaformConfig:Buffer.from([195,60,76,129,146,45,67,143]),initializeWithToken2022:Buffer.from([37,190,126,222,44,154,171,17]),claimPlatformFeeFromVault:Buffer.from([117,241,198,168,248,218,80,29]),claimCreatorFee:Buffer.from([26,97,138,203,132,171,141,252]),updatePlatformCurveParam:Buffer.from([138,144,138,250,220,128,4,57]),removePlatformCurveParam:Buffer.from([27,30,62,169,93,224,24,145]),createPlatformVestingAccount:Buffer.from([146,71,173,69,98,19,15,106]),createPlatformAllowConfig:Buffer.from([69,71,168,7,214,250,107,102]),closePlatformAllowConfig:Buffer.from([82,205,36,216,16,6,240,215])};var hh=new Zr("18446744073709551615");import{TOKEN_2022_PROGRAM_ID as Kh,TOKEN_PROGRAM_ID as xh}from"@solana/spl-token";import Oh from"bn.js";import Mh from"decimal.js";import dI from"bn.js";import fI from"decimal.js";import Dh from"bn.js";import qh from"decimal.js";import $h from"bn.js";import eI from"decimal.js";import ro from"bn.js";import Gt from"decimal.js";var kt=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 u=t.mul(this._multipler(r)).div(this._multipler(n));return new ro(u.mul(this._Q64).toFixed(0))}};kt._Q64=new Gt(new ro(1).shln(64).toString());import{NATIVE_MINT as TB,TOKEN_2022_PROGRAM_ID as hB,TOKEN_PROGRAM_ID as IB,createAssociatedTokenAccountIdempotentInstruction as SB,createSyncNativeInstruction as KB,getTransferFeeConfig as xB,unpackMint as CB}from"@solana/spl-token";import Q from"bn.js";import{PublicKey as na,SystemProgram as OB}from"@solana/web3.js";import EB from"decimal.js";var DB={initPriceX64:new Q("515752397214619"),supply:new Q(1e15),totalSellA:new Q(7931e11),totalFundRaisingB:new Q(85e9),totalFundRaisingBUSD:new Q(125e8),totalLockedAmount:new Q("0"),cliffPeriod:new Q("0"),unlockPeriod:new Q("0"),decimals:6,virtualA:new Q("1073471847374405"),virtualB:new Q("30050573465"),realA:new Q(0),realB:new Q(0),protocolFee:new Q(0),platformId:new na("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),vestingSchedule:{totalLockedAmount:new Q(0),cliffPeriod:new Q(0),unlockPeriod:new Q(0),startTime:new Q(0),totalAllocatedShare:new Q(0)}},WB=new Q(1e4);var oa={[Ln.toBase58()]:3};var ia=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 lS}from"@solana/web3.js";var yS=_("Serum");import{ASSOCIATED_TOKEN_PROGRAM_ID as IS,TOKEN_2022_PROGRAM_ID as BS,TOKEN_PROGRAM_ID as SS}from"@solana/spl-token";import{PublicKey as xS,SystemProgram as CS,TransactionInstruction as RS}from"@solana/web3.js";import OS from"bn.js";var MK=new ra(0);import{PublicKey as aa,Transaction as zt,TransactionInstruction as sa}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ua}from"@solana/spl-token";import ao 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,u){return me([ee.SEED_CONFIG.owner.id,n.toBuffer(),r.toBuffer(),Buffer.from(new ao(u).toArray())],t)}static async getAllInfo({connection:t,programId:n,poolIds:r,wallet:u,chainTime:d}){if(r.length===0)return[];let y=r.map(b=>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,u,b).publicKey));let g=await ye(t,[...y,...f]),K=[];for(let b=0;b<g.length;b++){let O=Math.floor(b/r.length),x=b%r.length,B=y[x],M=f[b],P=g[x],T=g[r.length+b];if(!(P&&T)||P.data.length!==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 ao(0))).filter(S=>!S).length!==3,A=d>F&&d<v&&I.status===1,w=p&&A;K.push({programId:n,poolId:B,ammId:I.ammId,ownerAccountId:M,snapshotLpAmount:h.lpAmount,project:ee.VERSION_PROJECT[O],openTime:F,endTime:v,canClaim:w,canClaimErrorType:p?A?void 0:"outOfOperationalTime":"alreadyClaimIt",tokenInfo:I.tokenInfo.map((S,C)=>({mintAddress:S.mintAddress,mintVault:S.mintVault,mintDecimals:S.mintDecimals,perLpLoss:S.perLpLoss,debtAmount:h.tokenInfo[C].debtAmount.add(h.tokenInfo[C].claimedAmount)}))})}return K}async makeClaimTransaction({poolInfo:t,ownerInfo:n,feePayer:r}){n.wallet||this.scope.checkOwner();let u=this.createTxBuilder(r),d=n.wallet||this.scope.ownerPubKey,y=[];for(let K of t.tokenInfo){let{account:b,instructionParams:O}=await this.scope.account.getOrCreateTokenAccount({mint:K.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:K.mintAddress.equals(J.WSOL.mint),createInfo:{payer:d,amount:0},skipCloseAccount:!K.mintAddress.equals(J.WSOL.mint),associatedOnly:K.mintAddress.equals(J.WSOL.mint)?!1:n.associatedOnly});O&&u.addInstruction(O),y.push(b)}u.addInstruction({instructions:[ee.makeClaimInstruction({programId:t.programId,poolInfo:t,ownerInfo:{wallet:d,ownerPda:t.ownerAccountId,claimAddress:y}})]});let{transaction:f,signers:g}=u.build();return[{transaction:f,signer:g}]}async makeClaimAllTransaction({poolInfos:t,ownerInfo:n,feePayer:r}){let u=this.createTxBuilder(r),d=n.wallet||this.scope.ownerPubKey,y={};for(let b of t){let O=[];for(let x of b.tokenInfo){let{account:B,instructionParams:M}=await this.scope.account.getOrCreateTokenAccount({mint:x.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:x.mintAddress.equals(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});M&&u.addInstruction(M),B&&(y[x.mintAddress.toString()]=B,O.push(B))}u.addInstruction({instructions:[ee.makeClaimInstruction({programId:b.programId,poolInfo:b,ownerInfo:{wallet:d,ownerPda:b.ownerAccountId,claimAddress:O}})]})}let{transaction:f,signers:g}=u.build(),K=u.allInstructions;return Nt(K,[d,...g.map(b=>b.publicKey)])?[{transaction:f,signer:g}]:[{transaction:new zt().add(...K.slice(0,u.AllTxData.instructions.length-1)),signer:g},{transaction:new zt().add(...K.slice(u.AllTxData.instructions.length-1)),signer:[]},{transaction:new zt().add(...u.AllTxData.endInstructions),signer:[]}]}static makeClaimInstruction({programId:t,poolInfo:n,ownerInfo:r}){let u=l([]),d=[{pubkey:r.wallet,isSigner:!0,isWritable:!0},{pubkey:n.poolId,isSigner:!1,isWritable:!0},{pubkey:r.ownerPda,isSigner:!1,isWritable:!0},...r.claimAddress.map(g=>({pubkey:g,isSigner:!1,isWritable:!0})),...n.tokenInfo.map(({mintVault:g})=>({pubkey:g,isSigner:!1,isWritable:!0})),{pubkey:ua,isSigner:!1,isWritable:!1}],y=Buffer.alloc(u.span);u.encode({},y);let f=Buffer.from([10,66,208,184,161,6,191,98,...y]);return new sa({keys:d,programId:t,data:f})}},se=ee;se.CLAIMED_NUM=3,se.POOL_LAYOUT=l([N(8),c("bump"),c("status"),e("openTime"),e("endTime"),o("ammId"),m(l([c("mintDecimals"),o("mintAddress"),o("mintVault"),e("perLpLoss"),e("totalClaimedAmount")]),ee.CLAIMED_NUM,"tokenInfo"),m(e(),10,"padding")]),se.OWNER_LAYOUT=l([N(8),c("bump"),c("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 aa(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 jK}from"@solana/web3.js";import{getTransferFeeConfig as JK,MintLayout as ex,TOKEN_2022_PROGRAM_ID as tx,TOKEN_PROGRAM_ID as nx,unpackMint as ox}from"@solana/spl-token";var LC=new Te(2),OC=new Te(3),NC=new Te(5),To=new Te(10),MC=new Te(100),FC=new Te(1e3),vC=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 mR,TOKEN_PROGRAM_ID as dR,getTransferFeeConfig as pR,unpackMint as fR}from"@solana/spl-token";var Yt=_("Raydium_accountInfo_util");async function ye(i,t,n){let{batchRequest:r,commitment:u="confirmed",chunkCount:d=100}=R({batchRequest:!1},n),y=Xt(t,d),f=new Array(y.length).fill([]);if(r){let g=y.map(O=>{let x=i._buildArgs([O.map(B=>B.toBase58())],u,"base64");return{methodName:"getMultipleAccounts",args:x}}),K=Xt(g,10);f=(await(await Promise.all(K.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(x=>{if(x){let{data:B,executable:M,lamports:P,owner:T,rentEpoch:I}=x;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 ca(T),rentEpoch:I}}return null})))}else try{f=await Promise.all(y.map(g=>i.getMultipleAccountsInfo(g,u)))}catch(g){g instanceof Error&&Yt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${g.message}`)}return f.flat()}async function Zt({connection:i,address:t,cluster:n="mainnet"}){let r=await ye(i,[...new Set(t.map(d=>d.toString()))].map(d=>new Qt(d))),u={};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)});u[f.toString()]=g,n==="devnet"?Fe[f.toString()]=g:Me[f.toString()]=g}return u}var Me={},Ht=async i=>{let t="AcL1Vo8oy1ULiavEcjSUcwfBSForXMudcZvDZy5nzJkU";if(Me[t])return Me;let n=new Qt(t),r=await i.getAccountInfo(n);return r&&(Me[t]=new ve({key:n,state:ve.deserialize(r.data)})),Me},Fe={},jt=async i=>{let t="EFhMuDw1PKEuckuFRW9PavNfTH4LKP5uKHgyXDmWpFCq";if(Fe[t])return Fe;let n=new Qt(t),r=await i.getAccountInfo(n);return r&&(Fe[t]=new ve({key:n,state:ve.deserialize(r.data)})),Fe};var Tt=2e3,st=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 ma.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}=pt(t);return this.instructions.unshift(...n),this.instructionTypes.unshift(...r),!0}return!1}addTipInstruction(t){var n;return t?(this.endInstructions.push(la.transfer({fromPubkey:(n=t.feePayer)!=null?n:this.feePayer,toPubkey:new Ve(t.address),lamports:BigInt(t.amount.toString())})),this.endInstructionTypes.push(Z.TransferTip),!0):!1}async calComputeBudget({config:t,defaultIns:n}){try{let r=t||await this.getComputeBudgetConfig();if(this.addCustomComputeBudget(r))return;n&&this.instructions.unshift(...n)}catch{n&&this.instructions.unshift(...n)}}addInstruction({instructions:t=[],endInstructions:n=[],signers:r=[],instructionTypes:u=[],endInstructionTypes:d=[],lookupTableAddress:y=[]}){return this.instructions.push(...t),this.endInstructions.push(...n),this.signers.push(...r),this.instructionTypes.push(...u),this.endInstructionTypes.push(...d),this.lookupTableAddress.push(...y.filter(f=>f!==Ve.default.toString())),this}async versionBuild({txVersion:t,extInfo:n,lookupTableAddress:r}){return t===0?await this.buildV0(D(R({},n||{}),{lookupTableAddress:r})):this.build(n)}build(t){var r;let n=new je;return this.allInstructions.length&&n.add(...this.allInstructions),n.feePayer=this.feePayer,((r=this.owner)==null?void 0:r.signer)&&!this.signers.some(u=>u.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer),{builder:this,transaction:n,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async u=>{var b;let{recentBlockHash:d,skipPreflight:y=!0,sendAndConfirm:f,notSendToRpc:g}=u||{},K=d!=null?d:await Se(this.connection,this.blockhashCommitment);if(n.recentBlockhash=K,this.signers.length&&n.sign(...this.signers),we([n]),(b=this.owner)!=null&&b.isKeyPair)return{txId:f?await $t(this.connection,n,this.signers.find(x=>x.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:y}):await this.connection.sendRawTransaction(n.serialize(),{skipPreflight:y}),signedTx:n};if(this.signAllTransactions){let O=await this.signAllTransactions([n]);if(this.signers.length)for(let x of O)try{x.sign(...this.signers)}catch{}return{txId:g?"":await this.connection.sendRawTransaction(O[0].serialize(),{skipPreflight:y}),signedTx:O[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:t||{}}}buildMultiTx(t){var K;let{extraPreBuildData:n=[],extInfo:r}=t,{transaction:u}=this.build(r),d=n.filter(b=>b.transaction.instructions.length>0),y=[u,...d.map(b=>b.transaction)],f=[this.signers,...d.map(b=>b.signers)],g=[...this.instructionTypes,...d.map(b=>b.instructionTypes).flat()];return(K=this.owner)!=null&&K.signer&&f.forEach(b=>{b.some(O=>O.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),{builder:this,transactions:y,signers:f,instructionTypes:g,execute:async b=>{var I;let{sequentially:O,onTxUpdate:x,skipTxCount:B=0,recentBlockHash:M,skipPreflight:P=!0}=b||{},T=M!=null?M:await 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 $t(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]}),x==null||x([...p]),v++;let S=!1,C=null,V=null,ie=q=>{C!==null&&clearInterval(C),V!==null&&this.connection.removeSignatureListener(V);let W=p.findIndex($=>$.txId===w);if(W>-1){if(p[W].status==="error"||p[W].status==="success")return;p[W].status=q.err?"error":"success"}x==null||x([...p]),q.err||A()};this.loopMultiTxStatus&&(C=setInterval(async()=>{var q;if(S){clearInterval(C);return}try{let W=await this.connection.getTransaction(w,{commitment:"confirmed",maxSupportedTransactionVersion:0});W&&(S=!0,clearInterval(C),ie({err:((q=W.meta)==null?void 0:q.err)||null}),console.log("tx status from getTransaction:",w))}catch(W){S=!0,clearInterval(C),console.error("getTransaction timeout:",W,w)}},Tt)),V=this.connection.onSignature(w,q=>{if(S){this.connection.removeSignatureListener(V);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:u,recentBlockhash:d}=M,y=ue(M,["lookupTableCache","lookupTableAddress","forerunCreate","recentBlockhash"]),f=R(R({},this.cluster==="devnet"?await jt(this.connection):await Ht(this.connection)),n),g=Array.from(new Set([...r,...this.lookupTableAddress])),K=[];for(let T of g)f[T]===void 0&&K.push(new Ve(T));let b=await Zt({connection:this.connection,address:K});for(let[T,I]of Object.entries(b))f[T]=I;let O=u?Ve.default.toBase58():d!=null?d:await Se(this.connection,this.blockhashCommitment),x=new $e({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(x);return B.sign(this.signers),{builder:this,transaction:B,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async T=>{var v;let{skipPreflight:I=!0,sendAndConfirm:h,notSendToRpc:F}=T||{};if(we([B]),(v=this.owner)!=null&&v.isKeyPair){let p=await this.connection.sendTransaction(B,{skipPreflight:I});return h&&await ft(this.connection,p),{txId:p,signedTx:B}}if(this.signAllTransactions){let p=await this.signAllTransactions([B]);if(this.signers.length)for(let A of p)try{A.sign(this.signers)}catch{}return{txId:F?"":await this.connection.sendTransaction(p[0],{skipPreflight:I}),signedTx:p[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:y||{}}}async buildV0MultiTx(t){var K;let{extraPreBuildData:n=[],buildProps:r}=t,{transaction:u}=await this.buildV0(r),d=n.filter(b=>b.builder.instructions.length>0),y=[u,...d.map(b=>b.transaction)],f=[this.signers,...d.map(b=>b.signers)],g=[...this.instructionTypes,...d.map(b=>b.instructionTypes).flat()];return(K=this.owner)!=null&&K.signer&&f.forEach(b=>{b.some(O=>O.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),y.forEach(async(b,O)=>{b.sign(f[O])}),{builder:this,transactions:y,signers:f,instructionTypes:g,buildProps:r,execute:async b=>{var P;let{sequentially:O,onTxUpdate:x,recentBlockHash:B,skipPreflight:M=!0}=b||{};if(B&&y.forEach(T=>T.message.recentBlockhash=B),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 ft(this.connection,h),T.push(h)}return{txIds:T,signedTxs:y}}return{txIds:await Promise.all(y.map(async T=>await this.connection.sendTransaction(T,{skipPreflight:M}))),signedTxs:y}}if(this.signAllTransactions){let T=await this.signAllTransactions(y);if(O){let I=0,h=[],F=async()=>{if(!T[I])return;let v=await this.connection.sendTransaction(T[I],{skipPreflight:M});h.push({txId:v,status:"sent",signedTx:T[I]}),x==null||x([...h]),I++;let p=!1,A=null,w=null,S=C=>{A!==null&&clearInterval(A),w!==null&&this.connection.removeSignatureListener(w);let V=h.findIndex(ie=>ie.txId===v);if(V>-1){if(h[V].status==="error"||h[V].status==="success")return;h[V].status=C.err?"error":"success"}x==null||x([...h]),C.err||F()};this.loopMultiTxStatus&&(A=setInterval(async()=>{var C;if(p){clearInterval(A);return}try{let V=await this.connection.getTransaction(v,{commitment:"confirmed",maxSupportedTransactionVersion:0});V&&(p=!0,clearInterval(A),S({err:((C=V.meta)==null?void 0:C.err)||null}),console.log("tx status from getTransaction:",v))}catch(V){p=!0,clearInterval(A),console.error("getTransaction timeout:",V,v)}},Tt)),w=this.connection.onSignature(v,C=>{if(p){this.connection.removeSignatureListener(w);return}p=!0,S(C)},"confirmed"),this.connection.getSignatureStatus(v)};return F(),{txIds:[],signedTxs:T}}else{let I=[];for(let h=0;h<T.length;h+=1){let F=await this.connection.sendTransaction(T[h],{skipPreflight:M});I.push(F)}return{txIds:I,signedTxs:T}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:r||{}}}async sizeCheckBuild(t){var x;let O=t||{},{splitIns:n=[],computeBudgetConfig:r}=O,u=ue(O,["splitIns","computeBudgetConfig"]),d=r?pt(r):{instructions:[],instructionTypes:[]},y=this.signers.reduce((B,M)=>D(R({},B),{[M.publicKey.toBase58()]:M}),{}),f=[],g=[],K=[],b=0;if(this.allInstructions.forEach(B=>{let M=[...K,B],P=r?[...d.instructions,...M]:M,I=[...new Set(M.map(h=>h.keys.filter(F=>F.isSigner).map(F=>F.pubkey.toString())).flat()).values()].map(h=>new Ve(h));if(B!==n[b]&&K.length<12&&(ze({instructions:P,payer:this.feePayer,signers:I})||ze({instructions:M,payer:this.feePayer,signers:I})))K.push(B);else{if(K.length===0)throw Error("item ins too big");b+=B===n[b]?1:0,ze({instructions:r?[...d.instructions,...K]:[...K],payer:this.feePayer,signers:I})?f.push(new je().add(...d.instructions,...K)):f.push(new je().add(...K)),g.push(Array.from(new Set(K.map(h=>h.keys.filter(F=>F.isSigner).map(F=>F.pubkey.toString())).flat())).map(h=>y[h]).filter(h=>h!==void 0)),K=[B]}}),K.length>0){let M=[...new Set(K.map(P=>P.keys.filter(T=>T.isSigner).map(T=>T.pubkey.toString())).flat()).values()].map(P=>y[P]).filter(P=>P!==void 0);ze({instructions:r?[...d.instructions,...K]:[...K],payer:this.feePayer,signers:M.map(P=>P.publicKey)})?f.push(new je().add(...d.instructions,...K)):f.push(new je().add(...K)),g.push(M)}return f.forEach(B=>B.feePayer=this.feePayer),(x=this.owner)!=null&&x.signer&&g.forEach(B=>{B.some(M=>M.publicKey.equals(this.owner.publicKey))||B.push(this.owner.signer)}),{builder:this,transactions:f,signers:g,instructionTypes:this.instructionTypes,execute:async B=>{var v;let{sequentially:M,onTxUpdate:P,skipTxCount:T=0,recentBlockHash:I,skipPreflight:h=!0}=B||{},F=I!=null?I:await 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 $t(this.connection,w,this.signers.find(C=>C.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:h});A.push(S)}return{txIds:A,signedTxs:f}}return{txIds:await Promise.all(f.map(async p=>await this.connection.sendRawTransaction(p.serialize(),{skipPreflight:h}))),signedTxs:f}}if(this.signAllTransactions){let p=await this.signAllTransactions(f.slice(T,f.length)),A=[...f.slice(0,T),...p];if(M){let w=0,S=[],C=async()=>{if(!A[w])return;w<T&&(S.push({txId:"",status:"success",signedTx:A[w]}),P==null||P([...S]),w++,C());let V=await this.connection.sendRawTransaction(A[w].serialize(),{skipPreflight:h});S.push({txId:V,status:"sent",signedTx:A[w]}),P==null||P([...S]),w++;let ie=!1,q=null,W=null,$=G=>{q!==null&&clearInterval(q),W!==null&&this.connection.removeSignatureListener(W);let te=S.findIndex(de=>de.txId===V);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||C()};this.loopMultiTxStatus&&(q=setInterval(async()=>{var G;if(ie){clearInterval(q);return}try{let te=await this.connection.getTransaction(V,{commitment:"confirmed",maxSupportedTransactionVersion:0});te&&(ie=!0,clearInterval(q),$({err:((G=te.meta)==null?void 0:G.err)||null}),console.log("tx status from getTransaction:",V))}catch(te){ie=!0,clearInterval(q),console.error("getTransaction timeout:",te,V)}},Tt)),W=this.connection.onSignature(V,G=>{if(ie){this.connection.removeSignatureListener(W);return}ie=!0,$(G)},"confirmed"),this.connection.getSignatureStatus(V)};return await C(),{txIds:S.map(V=>V.txId),signedTxs:A}}else{let w=[];for(let S=0;S<A.length;S+=1){let C=await this.connection.sendRawTransaction(A[S].serialize(),{skipPreflight:h});w.push(C)}return{txIds:w,signedTxs:A}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:u||{}}}async sizeCheckBuildV0(t){var v;let F=t||{},{computeBudgetConfig:n,splitIns:r=[],lookupTableCache:u={},lookupTableAddress:d=[],insCountLimit:y=12}=F,f=ue(F,["computeBudgetConfig","splitIns","lookupTableCache","lookupTableAddress","insCountLimit"]),g=R(R({},this.cluster==="devnet"?await jt(this.connection):await Ht(this.connection)),u),K=Array.from(new Set([...this.lookupTableAddress,...d])),b=[];for(let p of K)g[p]===void 0&&b.push(new Ve(p));let O=await Zt({connection:this.connection,address:b});for(let[p,A]of Object.entries(O))g[p]=A;let x=n?pt(n):{instructions:[],instructionTypes:[]},B=await Se(this.connection,this.blockhashCommitment),M=this.signers.reduce((p,A)=>D(R({},p),{[A.publicKey.toBase58()]:A}),{}),P=[],T=[],I=[],h=0;if(this.allInstructions.forEach(p=>{let A=[...I,p],w=n?[...x.instructions,...A]:A;if(p!==r[h]&&I.length<y&&(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 C of[...new Set(K)])g[C]!==void 0&&(S[C]=g[C]);if(n&&Xe({instructions:[...x.instructions,...I],payer:this.feePayer,lookupTableAddressAccount:g,recentBlockhash:B})){let C=new $e({payerKey:this.feePayer,recentBlockhash:B,instructions:[...x.instructions,...I]}).compileToV0Message(Object.values(g));P.push(new Je(C))}else{let C=new $e({payerKey:this.feePayer,recentBlockhash:B,instructions:[...I]}).compileToV0Message(Object.values(g));P.push(new Je(C))}T.push(Array.from(new Set(I.map(C=>C.keys.filter(V=>V.isSigner).map(V=>V.pubkey.toString())).flat())).map(C=>M[C]).filter(C=>C!==void 0)),I=[p]}}),I.length>0){let A=[...new Set(I.map(w=>w.keys.filter(S=>S.isSigner).map(S=>S.pubkey.toString())).flat()).values()].map(w=>M[w]).filter(w=>w!==void 0);if(n&&Xe({instructions:[...x.instructions,...I],payer:this.feePayer,lookupTableAddressAccount:g,recentBlockhash:B})){let w=new $e({payerKey:this.feePayer,recentBlockhash:B,instructions:[...x.instructions,...I]}).compileToV0Message(Object.values(g));P.push(new Je(w))}else{let w=new $e({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:C,skipPreflight:V=!0}=p||{};if(P.map(async(q,W)=>{T[W].length&&q.sign(T[W]),C&&(q.message.recentBlockhash=C)}),we(P),(ie=this.owner)!=null&&ie.isKeyPair){if(A){let q=0,W=[];for(let $ of P){if(++q,q<=S){console.log("skip tx: ",q),W.push("tx skipped");continue}let G=await this.connection.sendTransaction($,{skipPreflight:V});await ft(this.connection,G),W.push(G)}return{txIds:W,signedTxs:P}}return{txIds:await Promise.all(P.map(async q=>await this.connection.sendTransaction(q,{skipPreflight:V}))),signedTxs:P}}if(this.signAllTransactions){let q=await this.signAllTransactions(P.slice(S,P.length)),W=[...P.slice(0,S),...q];if(A){let $=0,G=[],te=async()=>{if(!W[$])return;if($<S){G.push({txId:"",status:"success",signedTx:W[$]}),w==null||w([...G]),$++,te();return}let de=await this.connection.sendTransaction(W[$],{skipPreflight:V});G.push({txId:de,status:"sent",signedTx:W[$]}),w==null||w([...G]),$++;let _e=!1,he=null,et=null,Jt=ge=>{he!==null&&clearInterval(he),et!==null&&this.connection.removeSignatureListener(et);let pe=G.findIndex(so=>so.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(_e){clearInterval(he);return}try{let pe=await this.connection.getTransaction(de,{commitment:"confirmed",maxSupportedTransactionVersion:0});pe&&(_e=!0,clearInterval(he),Jt({err:((ge=pe.meta)==null?void 0:ge.err)||null}),console.log("tx status from getTransaction:",de))}catch(pe){_e=!0,clearInterval(he),console.error("getTransaction timeout:",pe,de)}},Tt)),et=this.connection.onSignature(de,ge=>{if(_e){this.connection.removeSignatureListener(et);return}_e=!0,Jt(ge)},"confirmed"),this.connection.getSignatureStatus(de)};return te(),{txIds:[],signedTxs:W}}else{let $=[];for(let G=0;G<W.length;G+=1){let te=await this.connection.sendTransaction(W[G],{skipPreflight:V});$.push(te)}return{txIds:$,signedTxs:W}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:f||{}}}};export{st as TxBuilder};
//# sourceMappingURL=txTool.mjs.map