@raydium-io/raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
1 lines • 79.3 kB
JavaScript
var Bo=Object.defineProperty,So=Object.defineProperties;var xo=Object.getOwnPropertyDescriptors;var st=Object.getOwnPropertySymbols;var dn=Object.prototype.hasOwnProperty,pn=Object.prototype.propertyIsEnumerable;var mn=(i,t,n)=>t in i?Bo(i,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):i[t]=n,R=(i,t)=>{for(var n in t||(t={}))dn.call(t,n)&&mn(i,n,t[n]);if(st)for(var n of st(t))pn.call(t,n)&&mn(i,n,t[n]);return i},F=(i,t)=>So(i,xo(t));var me=(i,t)=>{var n={};for(var o in i)dn.call(i,o)&&t.indexOf(o)<0&&(n[o]=i[o]);if(i!=null&&st)for(var o of st(i))t.indexOf(o)<0&&pn.call(i,o)&&(n[o]=i[o]);return n};import{PublicKey as rt}from"@solana/web3.js";import ho from"bn.js";import{PublicKey as k}from"@solana/web3.js";var fn=new k("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),yn=new k("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),bn=new k("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Ct=new k("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),Ua=new k("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Ko=new k("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),gn=new k("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),Pn=new k("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),Ga=new k("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),Co=new k("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),An=new k("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),Ro=new k("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Lo=new k("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),wn=new k("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),za=new k("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Oo=new k("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),No=new k("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),Mo=new k("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),Fo=new k("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),vo=new k("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi"),Rt=new k("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),Vo=new k("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),Ya=new k("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),_o=new k("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Eo=new k("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),Do=new k("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),Xa=new k("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),Qa=new k("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),Za=new k("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),Ha=new k("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),ja=new k("6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX"),Ue={IDO_PROGRAM_ID_V1:No,IDO_PROGRAM_ID_V2:Mo,IDO_PROGRAM_ID_V3:Fo,IDO_PROGRAM_ID_V4:vo};var Ae={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{PublicKey as z,SystemProgram as kn,SYSVAR_RENT_PUBKEY as Wo}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as qo}from"@solana/spl-token";function Ce({pubkey:i,isSigner:t=!1,isWritable:n=!0}){return{pubkey:i,isWritable:n,isSigner:t}}var Uo=[Ce({pubkey:qo,isWritable:!1}),Ce({pubkey:kn.programId,isWritable:!1}),Ce({pubkey:Wo,isWritable:!1})];function Tn({publicKey:i,transformSol:t}){let n=Lt(i.toString());if(n instanceof z)return t&&n.equals(Te)?ae:n;if(t&&n.toString()===Te.toBase58())return ae;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 Lt(i){try{return new z(i)}catch{return i}}var Ot=new z("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Re=new z("SysvarRent111111111111111111111111111111111"),hn=new z("SysvarC1ock11111111111111111111111111111111"),ut=new z("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),Go=new z("Sysvar1nstructions1111111111111111111111111"),In=kn.programId,ns=new z("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),os=new z("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),is=new z("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),rs=new z("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),as=new z("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),ss=new z("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),us=new z("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),cs=new z("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),ls=new z("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),ms=new z("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),ds=new z("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),ae=new z("So11111111111111111111111111111111111111112"),Te=z.default;import{PublicKey as Va}from"@solana/web3.js";import _a from"bn.js";import Ma from"big.js";import Kt from"bn.js";import xe from"bn.js";import $C from"decimal.js";import{PublicKey as zo}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Bn}from"@solana/spl-token";var ct={chainId:101,address:zo.default.toBase58(),programId:Bn.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},de={chainId:101,address:"So11111111111111111111111111111111111111112",programId:Bn.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 Nt}from"@solana/web3.js";var Mt=class{constructor({mint:t,decimals:n,symbol:o,name:u,skipMint:m=!1,isToken2022:f=!1}){if(t===Te.toBase58()||t instanceof Nt&&Te.equals(t)){this.decimals=de.decimals,this.symbol=de.symbol,this.name=de.name,this.mint=new Nt(de.address),this.isToken2022=!1;return}this.decimals=n,this.symbol=o||t.toString().substring(0,6),this.name=u||t.toString().substring(0,6),this.mint=m?Nt.default:Tn({publicKey:t}),this.isToken2022=f}equals(t){return this===t?!0:this.mint.equals(t.mint)}},J=Mt;J.WSOL=new Mt(F(R({},de),{mint:de.address}));var Ft=class{constructor({decimals:t,symbol:n="UNKNOWN",name:o="UNKNOWN"}){this.decimals=t,this.symbol=n,this.name=o}equals(t){return this===t}},lt=Ft;lt.SOL=new Ft(ct);import dt from"big.js";import jo from"bn.js";import $o from"decimal.js-light";import{get as Sn,set as Yo}from"lodash";var vt=class{constructor(t){this.logLevel=t.logLevel!==void 0?t.logLevel:0,this.name=t.name}set level(t){this.logLevel=t}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(t){return t<=this.logLevel}error(...t){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...t),this):this}logWithError(...t){let n=t.map(o=>typeof o=="object"?JSON.stringify(o):o).join(", ");throw new Error(n)}warning(...t){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...t),this):this}info(...t){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...t),this):this}debug(...t){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...t),this):this}},xn={},Xo={};function v(i){let t=Sn(xn,i);if(!t){let n=Sn(Xo,i);t=new vt({name:i,logLevel:n}),Yo(xn,i,t)}return t}import Ge from"bn.js";var Kn=9007199254740991;function X(i){let t=v("Raydium_parseBigNumberish");if(i instanceof Ge)return i;if(typeof i=="string"){if(i.match(/^-?[0-9]+$/))return new Ge(i);t.logWithError(`invalid BigNumberish string: ${i}`)}return typeof i=="number"?(i%1&&t.logWithError(`BigNumberish number underflow: ${i}`),(i>=Kn||i<=-Kn)&&t.logWithError(`BigNumberish number overflow: ${i}`),new Ge(String(i))):typeof i=="bigint"?new Ge(i.toString()):(t.error(`invalid BigNumberish value: ${i}`),new Ge(0))}import Qo from"toformat";var Zo=Qo,ze=Zo;var mt=v("module/fraction"),Vt=ze(dt),Ye=ze($o),Jo={[0]:Ye.ROUND_DOWN,[1]:Ye.ROUND_HALF_UP,[2]:Ye.ROUND_UP},ei={[0]:dt.roundDown,[1]:dt.roundHalfUp,[2]:dt.roundUp},W=class{constructor(t,n=new jo(1)){this.numerator=X(t),this.denominator=X(n)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new W(this.denominator,this.numerator)}add(t){let n=t instanceof W?t:new W(X(t));return this.denominator.eq(n.denominator)?new W(this.numerator.add(n.numerator),this.denominator):new W(this.numerator.mul(n.denominator).add(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}sub(t){let n=t instanceof W?t:new W(X(t));return this.denominator.eq(n.denominator)?new W(this.numerator.sub(n.numerator),this.denominator):new W(this.numerator.mul(n.denominator).sub(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}mul(t){let n=t instanceof W?t:new W(X(t));return new W(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(t){let n=t instanceof W?t:new W(X(t));return new W(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(t,n={groupSeparator:""},o=1){Number.isInteger(t)||mt.logWithError(`${t} is not an integer.`),t<=0&&mt.logWithError(`${t} is not positive.`),Ye.set({precision:t+1,rounding:Jo[o]});let u=new Ye(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(t);return u.toFormat(u.decimalPlaces(),n)}toFixed(t,n={groupSeparator:""},o=1){return Number.isInteger(t)||mt.logWithError(`${t} is not an integer.`),t<0&&mt.logWithError(`${t} is negative.`),Vt.DP=t,Vt.RM=ei[o]||1,new Vt(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,n)}isZero(){return this.numerator.isZero()}};import ti from"bn.js";var Cn=new W(new ti(100)),ge=class extends W{toSignificant(t=5,n,o){return this.mul(Cn).toSignificant(t,n,o)}toFixed(t=2,n,o){return this.mul(Cn).toFixed(t,n,o)}};var ni=v("Raydium_price"),ue=class extends W{constructor(n){let{baseToken:o,quoteToken:u,numerator:m,denominator:f}=n;super(m,f);this.baseToken=o,this.quoteToken=u,this.scalar=new W(_t(o.decimals),_t(u.decimals))}get raw(){return new W(this.numerator,this.denominator)}get adjusted(){return super.mul(this.scalar)}invert(){return new ue({baseToken:this.quoteToken,quoteToken:this.baseToken,denominator:this.numerator,numerator:this.denominator})}mul(n){this.quoteToken!==n.baseToken&&ni.logWithError("mul token not equals");let o=super.mul(n);return new ue({baseToken:this.baseToken,quoteToken:n.quoteToken,denominator:o.denominator,numerator:o.numerator})}toSignificant(n=this.quoteToken.decimals,o,u){return this.adjusted.toSignificant(n,o,u)}toFixed(n=this.quoteToken.decimals,o,u){return this.adjusted.toFixed(n,o,u)}};import{merge as JK}from"lodash";import Pc from"axios";import{PublicKey as oi}from"@solana/web3.js";import{MINT_SIZE as tu,TOKEN_PROGRAM_ID as nu,getTransferFeeConfig as ou,unpackMint as iu}from"@solana/spl-token";var Et=v("Raydium_accountInfo_util");async function Pe(i,t,n){let{batchRequest:o,commitment:u="confirmed",chunkCount:m=100}=R({batchRequest:!1},n),f=Dt(t,m),p=new Array(f.length).fill([]);if(o){let P=f.map(x=>{let K=i._buildArgs([x.map(T=>T.toBase58())],u,"base64");return{methodName:"getMultipleAccounts",args:K}}),y=Dt(P,10);p=(await(await Promise.all(y.map(async x=>await i._rpcBatchRequest(x)))).flat()).map(x=>(x.error&&Et.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${x.error.message}`),x.result.value.map(K=>{if(K){let{data:T,executable:N,lamports:A,owner:w,rentEpoch:S}=K;return T.length!==2&&T[1]!=="base64"&&Et.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(T[0],"base64"),executable:N,lamports:A,owner:new oi(w),rentEpoch:S}}return null})))}else try{p=await Promise.all(f.map(P=>i.getMultipleAccountsInfo(P,u)))}catch(P){P instanceof Error&&Et.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${P.message}`)}return p.flat()}function Dt(i,t=1,n=[]){let o=[...i];if(t<=0)return n;for(;o.length;)n.push(o.splice(0,t));return n}import{PublicKey as ku}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as hu}from"@solana/spl-token";import{ComputeBudgetProgram as Rn,Keypair as On,PublicKey as ii,Transaction as Nn,TransactionMessage as ri,VersionedTransaction as Mn}from"@solana/web3.js";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{TOKEN_PROGRAM_ID as ai}from"@solana/spl-token";var Ln=v("Raydium_txUtil"),Fn=1644;function pt(i){let t=[],n=[];return i.microLamports&&(t.push(Rn.setComputeUnitPrice({microLamports:i.microLamports})),n.push(Z.SetComputeUnitPrice)),i.units&&(t.push(Rn.setComputeUnitLimit({units:i.units})),n.push(Z.SetComputeUnitLimit)),{instructions:t,instructionTypes:n}}async function Le(i,t){var o,u;let n=t!=null?t:"confirmed";return(u=await((o=i.getLatestBlockhash)==null?void 0:o.call(i,{commitment:n})))==null?void 0:u.blockhash}async function ft(i,t){return i.getSignatureStatuses([t]),new Promise((n,o)=>{let u=setTimeout(o,6e4);i.onSignature(t,m=>{if(clearTimeout(u),!m.err){n("");return}o(Object.assign(m.err,{txId:t}))},"confirmed")})}function Wt(i,t){i.length<1&&Ln.logWithError(`no instructions provided: ${i.toString()}`),t.length<1&&Ln.logWithError(`no signers provided:, ${t.toString()}`);let n=new Nn;n.recentBlockhash="11111111111111111111111111111111",n.feePayer=t[0],n.add(...i);try{return Buffer.from(n.serialize({verifySignatures:!1})).toString("base64").length<Fn}catch{return!1}}function pe(i,t){let[n,o]=ii.findProgramAddressSync(i,t);return{publicKey:n,nonce:o}}function Qe({instructions:i,payer:t,signers:n}){return Wt(i,[t,...n])}function Ze({instructions:i,payer:t,lookupTableAddressAccount:n,recentBlockhash:o=On.generate().publicKey.toString()}){let m=new ri({payerKey:t,recentBlockhash:o,instructions:i}).compileToV0Message(Object.values(n!=null?n:{}));try{return Buffer.from(new Mn(m).serialize()).toString("base64").length<Fn}catch{return!1}}var si=i=>Buffer.isBuffer(i)?i:i instanceof Uint8Array?Buffer.from(i.buffer,i.byteOffset,i.byteLength):Buffer.from(i),ui=i=>{let t=i.serialize({requireAllSignatures:!1,verifySignatures:!1});i instanceof Mn&&(t=si(t));try{return t instanceof Buffer?t.toString("base64"):Buffer.from(t).toString("base64")}catch{return t.toString("base64")}};function he(i){let t=[];return i.forEach(n=>{n instanceof Nn&&(n.recentBlockhash||(n.recentBlockhash=ai.toBase58()),n.feePayer||(n.feePayer=On.generate().publicKey)),t.push(ui(n))}),console.log("simulate tx string:",t),t}import xu from"bn.js";import{PublicKey as qt,AddressLookupTableAccount as Me}from"@solana/web3.js";async function Ut({connection:i,address:t,cluster:n="mainnet"}){let o=await Pe(i,[...new Set(t.map(m=>m.toString()))].map(m=>new qt(m))),u={};for(let m=0;m<t.length;m++){let f=o[m],p=t[m];if(!f)continue;let P=new Me({key:p,state:Me.deserialize(f.data)});u[p.toString()]=P,n==="devnet"?Ne[p.toString()]=P:Oe[p.toString()]=P}return u}var Oe={},Gt=async i=>{let t="AcL1Vo8oy1ULiavEcjSUcwfBSForXMudcZvDZy5nzJkU";if(Oe[t])return Oe;let n=new qt(t),o=await i.getAccountInfo(n);return o&&(Oe[t]=new Me({key:n,state:Me.deserialize(o.data)})),Oe},Ne={},zt=async i=>{let t="EFhMuDw1PKEuckuFRW9PavNfTH4LKP5uKHgyXDmWpFCq";if(Ne[t])return Ne;let n=new qt(t),o=await i.getAccountInfo(n);return o&&(Ne[t]=new Me({key:n,state:Me.deserialize(o.data)})),Ne};import{PublicKey as Fe,sendAndConfirmTransaction as Yt,SystemProgram as ci,Transaction as He,TransactionMessage as je,VersionedTransaction as $e}from"@solana/web3.js";import li from"axios";var yt=2e3,bt=class{constructor(t){this.instructions=[];this.endInstructions=[];this.lookupTableAddress=[];this.signers=[];this.instructionTypes=[];this.endInstructionTypes=[];this.connection=t.connection,this.feePayer=t.feePayer,this.signAllTransactions=t.signAllTransactions,this.owner=t.owner,this.cluster=t.cluster,this.blockhashCommitment=t.blockhashCommitment,this.loopMultiTxStatus=!!t.loopMultiTxStatus}get AllTxData(){return{instructions:this.instructions,endInstructions:this.endInstructions,signers:this.signers,instructionTypes:this.instructionTypes,endInstructionTypes:this.endInstructionTypes,lookupTableAddress:this.lookupTableAddress}}get allInstructions(){return[...this.instructions,...this.endInstructions]}async getComputeBudgetConfig(){var o;let t=(await li.get(`https://solanacompass.com/api/fees?cacheFreshTime=${3e5}`)).data,{avg:n}=(o=t==null?void 0:t[15])!=null?o:{};if(!!n)return{units:6e5,microLamports:Math.min(Math.ceil(n*1e6/6e5),25e3)}}addCustomComputeBudget(t){if(t){let{instructions:n,instructionTypes:o}=pt(t);return this.instructions.unshift(...n),this.instructionTypes.unshift(...o),!0}return!1}addTipInstruction(t){var n;return t?(this.endInstructions.push(ci.transfer({fromPubkey:(n=t.feePayer)!=null?n:this.feePayer,toPubkey:new Fe(t.address),lamports:BigInt(t.amount.toString())})),this.endInstructionTypes.push(Z.TransferTip),!0):!1}async calComputeBudget({config:t,defaultIns:n}){try{let o=t||await this.getComputeBudgetConfig();if(this.addCustomComputeBudget(o))return;n&&this.instructions.unshift(...n)}catch{n&&this.instructions.unshift(...n)}}addInstruction({instructions:t=[],endInstructions:n=[],signers:o=[],instructionTypes:u=[],endInstructionTypes:m=[],lookupTableAddress:f=[]}){return this.instructions.push(...t),this.endInstructions.push(...n),this.signers.push(...o),this.instructionTypes.push(...u),this.endInstructionTypes.push(...m),this.lookupTableAddress.push(...f.filter(p=>p!==Fe.default.toString())),this}async versionBuild({txVersion:t,extInfo:n,lookupTableAddress:o}){return t===0?await this.buildV0(F(R({},n||{}),{lookupTableAddress:o})):this.build(n)}build(t){var o;let n=new He;return this.allInstructions.length&&n.add(...this.allInstructions),n.feePayer=this.feePayer,((o=this.owner)==null?void 0:o.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:m,skipPreflight:f=!0,sendAndConfirm:p,notSendToRpc:P}=u||{},y=m!=null?m:await Le(this.connection,this.blockhashCommitment);if(n.recentBlockhash=y,this.signers.length&&n.sign(...this.signers),he([n]),(b=this.owner)!=null&&b.isKeyPair)return{txId:p?await Yt(this.connection,n,this.signers.find(K=>K.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:f}):await this.connection.sendRawTransaction(n.serialize(),{skipPreflight:f}),signedTx:n};if(this.signAllTransactions){let x=await this.signAllTransactions([n]);if(this.signers.length)for(let K of x)try{K.sign(...this.signers)}catch{}return{txId:P?"":await this.connection.sendRawTransaction(x[0].serialize(),{skipPreflight:f}),signedTx:x[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:t||{}}}buildMultiTx(t){var y;let{extraPreBuildData:n=[],extInfo:o}=t,{transaction:u}=this.build(o),m=n.filter(b=>b.transaction.instructions.length>0),f=[u,...m.map(b=>b.transaction)],p=[this.signers,...m.map(b=>b.signers)],P=[...this.instructionTypes,...m.map(b=>b.instructionTypes).flat()];return(y=this.owner)!=null&&y.signer&&p.forEach(b=>{b.some(x=>x.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),{builder:this,transactions:f,signers:p,instructionTypes:P,execute:async b=>{var S;let{sequentially:x,onTxUpdate:K,skipTxCount:T=0,recentBlockHash:N,skipPreflight:A=!0}=b||{},w=N!=null?N:await Le(this.connection,this.blockhashCommitment);if((S=this.owner)!=null&&S.isKeyPair){if(x){let h=[],V=0;for(let _ of f){if(++V,V<=T)continue;let g=await Yt(this.connection,_,this.signers.find(I=>I.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:A});h.push(g)}return{txIds:h,signedTxs:f}}return{txIds:await await Promise.all(f.map(async h=>(h.recentBlockhash=w,await this.connection.sendRawTransaction(h.serialize(),{skipPreflight:A})))),signedTxs:f}}if(this.signAllTransactions){let h=f.map((_,g)=>(_.recentBlockhash=w,p[g].length&&_.sign(...p[g]),_));he(h);let V=await this.signAllTransactions(h);if(x){let _=0,g=[],I=async()=>{if(!V[_])return;let B=await this.connection.sendRawTransaction(V[_].serialize(),{skipPreflight:A});g.push({txId:B,status:"sent",signedTx:V[_]}),K==null||K([...g]),_++;let C=!1,L=null,E=null,ie=U=>{L!==null&&clearInterval(L),E!==null&&this.connection.removeSignatureListener(E);let q=g.findIndex($=>$.txId===B);if(q>-1){if(g[q].status==="error"||g[q].status==="success")return;g[q].status=U.err?"error":"success"}K==null||K([...g]),U.err||I()};this.loopMultiTxStatus&&(L=setInterval(async()=>{var U;if(C){clearInterval(L);return}try{let q=await this.connection.getTransaction(B,{commitment:"confirmed",maxSupportedTransactionVersion:0});q&&(C=!0,clearInterval(L),ie({err:((U=q.meta)==null?void 0:U.err)||null}),console.log("tx status from getTransaction:",B))}catch(q){C=!0,clearInterval(L),console.error("getTransaction timeout:",q,B)}},yt)),E=this.connection.onSignature(B,U=>{if(C){this.connection.removeSignatureListener(E);return}C=!0,ie(U)},"confirmed"),this.connection.getSignatureStatus(B)};return await I(),{txIds:g.map(B=>B.txId),signedTxs:V}}else{let _=[];for(let g=0;g<V.length;g+=1){let I=await this.connection.sendRawTransaction(V[g].serialize(),{skipPreflight:A});_.push(I)}return{txIds:_,signedTxs:V}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:o||{}}}async versionMultiBuild({extraPreBuildData:t,txVersion:n,extInfo:o}){return n===0?await this.buildV0MultiTx({extraPreBuildData:t,buildProps:o||{}}):this.buildMultiTx({extraPreBuildData:t,extInfo:o})}async buildV0(t){var A;let N=t||{},{lookupTableCache:n={},lookupTableAddress:o=[],forerunCreate:u,recentBlockhash:m}=N,f=me(N,["lookupTableCache","lookupTableAddress","forerunCreate","recentBlockhash"]),p=R(R({},this.cluster==="devnet"?await zt(this.connection):await Gt(this.connection)),n),P=Array.from(new Set([...o,...this.lookupTableAddress])),y=[];for(let w of P)p[w]===void 0&&y.push(new Fe(w));let b=await Ut({connection:this.connection,address:y});for(let[w,S]of Object.entries(b))p[w]=S;let x=u?Fe.default.toBase58():m!=null?m:await Le(this.connection,this.blockhashCommitment),K=new je({payerKey:this.feePayer,recentBlockhash:x,instructions:[...this.allInstructions]}).compileToV0Message(Object.values(p));((A=this.owner)==null?void 0:A.signer)&&!this.signers.some(w=>w.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer);let T=new $e(K);return T.sign(this.signers),{builder:this,transaction:T,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async w=>{var _;let{skipPreflight:S=!0,sendAndConfirm:h,notSendToRpc:V}=w||{};if(he([T]),(_=this.owner)!=null&&_.isKeyPair){let g=await this.connection.sendTransaction(T,{skipPreflight:S});return h&&await ft(this.connection,g),{txId:g,signedTx:T}}if(this.signAllTransactions){let g=await this.signAllTransactions([T]);if(this.signers.length)for(let I of g)try{I.sign(this.signers)}catch{}return{txId:V?"":await this.connection.sendTransaction(g[0],{skipPreflight:S}),signedTx:g[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:f||{}}}async buildV0MultiTx(t){var y;let{extraPreBuildData:n=[],buildProps:o}=t,{transaction:u}=await this.buildV0(o),m=n.filter(b=>b.builder.instructions.length>0),f=[u,...m.map(b=>b.transaction)],p=[this.signers,...m.map(b=>b.signers)],P=[...this.instructionTypes,...m.map(b=>b.instructionTypes).flat()];return(y=this.owner)!=null&&y.signer&&p.forEach(b=>{b.some(x=>x.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),f.forEach(async(b,x)=>{b.sign(p[x])}),{builder:this,transactions:f,signers:p,instructionTypes:P,buildProps:o,execute:async b=>{var A;let{sequentially:x,onTxUpdate:K,recentBlockHash:T,skipPreflight:N=!0}=b||{};if(T&&f.forEach(w=>w.message.recentBlockhash=T),he(f),(A=this.owner)!=null&&A.isKeyPair){if(x){let w=[];for(let S of f){let h=await this.connection.sendTransaction(S,{skipPreflight:N});await ft(this.connection,h),w.push(h)}return{txIds:w,signedTxs:f}}return{txIds:await Promise.all(f.map(async w=>await this.connection.sendTransaction(w,{skipPreflight:N}))),signedTxs:f}}if(this.signAllTransactions){let w=await this.signAllTransactions(f);if(x){let S=0,h=[],V=async()=>{if(!w[S])return;let _=await this.connection.sendTransaction(w[S],{skipPreflight:N});h.push({txId:_,status:"sent",signedTx:w[S]}),K==null||K([...h]),S++;let g=!1,I=null,B=null,C=L=>{I!==null&&clearInterval(I),B!==null&&this.connection.removeSignatureListener(B);let E=h.findIndex(ie=>ie.txId===_);if(E>-1){if(h[E].status==="error"||h[E].status==="success")return;h[E].status=L.err?"error":"success"}K==null||K([...h]),L.err||V()};this.loopMultiTxStatus&&(I=setInterval(async()=>{var L;if(g){clearInterval(I);return}try{let E=await this.connection.getTransaction(_,{commitment:"confirmed",maxSupportedTransactionVersion:0});E&&(g=!0,clearInterval(I),C({err:((L=E.meta)==null?void 0:L.err)||null}),console.log("tx status from getTransaction:",_))}catch(E){g=!0,clearInterval(I),console.error("getTransaction timeout:",E,_)}},yt)),B=this.connection.onSignature(_,L=>{if(g){this.connection.removeSignatureListener(B);return}g=!0,C(L)},"confirmed"),this.connection.getSignatureStatus(_)};return V(),{txIds:[],signedTxs:w}}else{let S=[];for(let h=0;h<w.length;h+=1){let V=await this.connection.sendTransaction(w[h],{skipPreflight:N});S.push(V)}return{txIds:S,signedTxs:w}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:o||{}}}async sizeCheckBuild(t){var K;let x=t||{},{splitIns:n=[],computeBudgetConfig:o}=x,u=me(x,["splitIns","computeBudgetConfig"]),m=o?pt(o):{instructions:[],instructionTypes:[]},f=this.signers.reduce((T,N)=>F(R({},T),{[N.publicKey.toBase58()]:N}),{}),p=[],P=[],y=[],b=0;if(this.allInstructions.forEach(T=>{let N=[...y,T],A=o?[...m.instructions,...N]:N,S=[...new Set(N.map(h=>h.keys.filter(V=>V.isSigner).map(V=>V.pubkey.toString())).flat()).values()].map(h=>new Fe(h));if(T!==n[b]&&y.length<12&&(Qe({instructions:A,payer:this.feePayer,signers:S})||Qe({instructions:N,payer:this.feePayer,signers:S})))y.push(T);else{if(y.length===0)throw Error("item ins too big");b+=T===n[b]?1:0,Qe({instructions:o?[...m.instructions,...y]:[...y],payer:this.feePayer,signers:S})?p.push(new He().add(...m.instructions,...y)):p.push(new He().add(...y)),P.push(Array.from(new Set(y.map(h=>h.keys.filter(V=>V.isSigner).map(V=>V.pubkey.toString())).flat())).map(h=>f[h]).filter(h=>h!==void 0)),y=[T]}}),y.length>0){let N=[...new Set(y.map(A=>A.keys.filter(w=>w.isSigner).map(w=>w.pubkey.toString())).flat()).values()].map(A=>f[A]).filter(A=>A!==void 0);Qe({instructions:o?[...m.instructions,...y]:[...y],payer:this.feePayer,signers:N.map(A=>A.publicKey)})?p.push(new He().add(...m.instructions,...y)):p.push(new He().add(...y)),P.push(N)}return p.forEach(T=>T.feePayer=this.feePayer),(K=this.owner)!=null&&K.signer&&P.forEach(T=>{T.some(N=>N.publicKey.equals(this.owner.publicKey))||T.push(this.owner.signer)}),{builder:this,transactions:p,signers:P,instructionTypes:this.instructionTypes,execute:async T=>{var _;let{sequentially:N,onTxUpdate:A,skipTxCount:w=0,recentBlockHash:S,skipPreflight:h=!0}=T||{},V=S!=null?S:await Le(this.connection,this.blockhashCommitment);if(p.forEach(async(g,I)=>{g.recentBlockhash=V,P[I].length&&g.sign(...P[I])}),he(p),(_=this.owner)!=null&&_.isKeyPair){if(N){let g=0,I=[];for(let B of p){if(++g,g<=w){I.push("tx skipped");continue}let C=await Yt(this.connection,B,this.signers.find(L=>L.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:h});I.push(C)}return{txIds:I,signedTxs:p}}return{txIds:await Promise.all(p.map(async g=>await this.connection.sendRawTransaction(g.serialize(),{skipPreflight:h}))),signedTxs:p}}if(this.signAllTransactions){let g=await this.signAllTransactions(p.slice(w,p.length)),I=[...p.slice(0,w),...g];if(N){let B=0,C=[],L=async()=>{if(!I[B])return;B<w&&(C.push({txId:"",status:"success",signedTx:I[B]}),A==null||A([...C]),B++,L());let E=await this.connection.sendRawTransaction(I[B].serialize(),{skipPreflight:h});C.push({txId:E,status:"sent",signedTx:I[B]}),A==null||A([...C]),B++;let ie=!1,U=null,q=null,$=G=>{U!==null&&clearInterval(U),q!==null&&this.connection.removeSignatureListener(q);let oe=C.findIndex(ye=>ye.txId===E);if(oe>-1){if(C[oe].status==="error"||C[oe].status==="success")return;C[oe].status=G.err?"error":"success"}A==null||A([...C]),G.err||L()};this.loopMultiTxStatus&&(U=setInterval(async()=>{var G;if(ie){clearInterval(U);return}try{let oe=await this.connection.getTransaction(E,{commitment:"confirmed",maxSupportedTransactionVersion:0});oe&&(ie=!0,clearInterval(U),$({err:((G=oe.meta)==null?void 0:G.err)||null}),console.log("tx status from getTransaction:",E))}catch(oe){ie=!0,clearInterval(U),console.error("getTransaction timeout:",oe,E)}},yt)),q=this.connection.onSignature(E,G=>{if(ie){this.connection.removeSignatureListener(q);return}ie=!0,$(G)},"confirmed"),this.connection.getSignatureStatus(E)};return await L(),{txIds:C.map(E=>E.txId),signedTxs:I}}else{let B=[];for(let C=0;C<I.length;C+=1){let L=await this.connection.sendRawTransaction(I[C].serialize(),{skipPreflight:h});B.push(L)}return{txIds:B,signedTxs:I}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:u||{}}}async sizeCheckBuildV0(t){var _;let V=t||{},{computeBudgetConfig:n,splitIns:o=[],lookupTableCache:u={},lookupTableAddress:m=[],insCountLimit:f=12}=V,p=me(V,["computeBudgetConfig","splitIns","lookupTableCache","lookupTableAddress","insCountLimit"]),P=R(R({},this.cluster==="devnet"?await zt(this.connection):await Gt(this.connection)),u),y=Array.from(new Set([...this.lookupTableAddress,...m])),b=[];for(let g of y)P[g]===void 0&&b.push(new Fe(g));let x=await Ut({connection:this.connection,address:b});for(let[g,I]of Object.entries(x))P[g]=I;let K=n?pt(n):{instructions:[],instructionTypes:[]},T=await Le(this.connection,this.blockhashCommitment),N=this.signers.reduce((g,I)=>F(R({},g),{[I.publicKey.toBase58()]:I}),{}),A=[],w=[],S=[],h=0;if(this.allInstructions.forEach(g=>{let I=[...S,g],B=n?[...K.instructions,...I]:I;if(g!==o[h]&&S.length<f&&(Ze({instructions:B,payer:this.feePayer,lookupTableAddressAccount:P})||Ze({instructions:I,payer:this.feePayer,lookupTableAddressAccount:P})))S.push(g);else{if(S.length===0)throw Error("item ins too big");h+=g===o[h]?1:0;let C={};for(let L of[...new Set(y)])P[L]!==void 0&&(C[L]=P[L]);if(n&&Ze({instructions:[...K.instructions,...S],payer:this.feePayer,lookupTableAddressAccount:P,recentBlockhash:T})){let L=new je({payerKey:this.feePayer,recentBlockhash:T,instructions:[...K.instructions,...S]}).compileToV0Message(Object.values(P));A.push(new $e(L))}else{let L=new je({payerKey:this.feePayer,recentBlockhash:T,instructions:[...S]}).compileToV0Message(Object.values(P));A.push(new $e(L))}w.push(Array.from(new Set(S.map(L=>L.keys.filter(E=>E.isSigner).map(E=>E.pubkey.toString())).flat())).map(L=>N[L]).filter(L=>L!==void 0)),S=[g]}}),S.length>0){let I=[...new Set(S.map(B=>B.keys.filter(C=>C.isSigner).map(C=>C.pubkey.toString())).flat()).values()].map(B=>N[B]).filter(B=>B!==void 0);if(n&&Ze({instructions:[...K.instructions,...S],payer:this.feePayer,lookupTableAddressAccount:P,recentBlockhash:T})){let B=new je({payerKey:this.feePayer,recentBlockhash:T,instructions:[...K.instructions,...S]}).compileToV0Message(Object.values(P));A.push(new $e(B))}else{let B=new je({payerKey:this.feePayer,recentBlockhash:T,instructions:[...S]}).compileToV0Message(Object.values(P));A.push(new $e(B))}w.push(I)}return(_=this.owner)!=null&&_.signer&&w.forEach(g=>{g.some(I=>I.publicKey.equals(this.owner.publicKey))||g.push(this.owner.signer)}),A.forEach((g,I)=>{g.sign(w[I])}),{builder:this,transactions:A,buildProps:t,signers:w,instructionTypes:this.instructionTypes,execute:async g=>{var ie;let{sequentially:I,onTxUpdate:B,skipTxCount:C=0,recentBlockHash:L,skipPreflight:E=!0}=g||{};if(A.map(async(U,q)=>{w[q].length&&U.sign(w[q]),L&&(U.message.recentBlockhash=L)}),he(A),(ie=this.owner)!=null&&ie.isKeyPair){if(I){let U=0,q=[];for(let $ of A){if(++U,U<=C){console.log("skip tx: ",U),q.push("tx skipped");continue}let G=await this.connection.sendTransaction($,{skipPreflight:E});await ft(this.connection,G),q.push(G)}return{txIds:q,signedTxs:A}}return{txIds:await Promise.all(A.map(async U=>await this.connection.sendTransaction(U,{skipPreflight:E}))),signedTxs:A}}if(this.signAllTransactions){let U=await this.signAllTransactions(A.slice(C,A.length)),q=[...A.slice(0,C),...U];if(I){let $=0,G=[],oe=async()=>{if(!q[$])return;if($<C){G.push({txId:"",status:"success",signedTx:q[$]}),B==null||B([...G]),$++,oe();return}let ye=await this.connection.sendTransaction(q[$],{skipPreflight:E});G.push({txId:ye,status:"sent",signedTx:q[$]}),B==null||B([...G]),$++;let qe=!1,Ke=null,at=null,ln=ke=>{Ke!==null&&clearInterval(Ke),at!==null&&this.connection.removeSignatureListener(at);let be=G.findIndex(Io=>Io.txId===ye);if(be>-1){if(G[be].status==="error"||G[be].status==="success")return;G[be].status=ke.err?"error":"success"}B==null||B([...G]),ke.err||oe()};this.loopMultiTxStatus&&(Ke=setInterval(async()=>{var ke;if(qe){clearInterval(Ke);return}try{let be=await this.connection.getTransaction(ye,{commitment:"confirmed",maxSupportedTransactionVersion:0});be&&(qe=!0,clearInterval(Ke),ln({err:((ke=be.meta)==null?void 0:ke.err)||null}),console.log("tx status from getTransaction:",ye))}catch(be){qe=!0,clearInterval(Ke),console.error("getTransaction timeout:",be,ye)}},yt)),at=this.connection.onSignature(ye,ke=>{if(qe){this.connection.removeSignatureListener(at);return}qe=!0,ln(ke)},"confirmed"),this.connection.getSignatureStatus(ye)};return oe(),{txIds:[],signedTxs:q}}else{let $=[];for(let G=0;G<q.length;G+=1){let oe=await this.connection.sendTransaction(q[G],{skipPreflight:E});$.push(oe)}return{txIds:$,signedTxs:q}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:p||{}}}};import mi from"bn.js";var gt=new mi(1e6);var vn={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_IDO:"/main/ido/{owner}",OWNER_STAKE_FARMS:"/position/stake/{owner}",OWNER_LOCK_POSITION:"/position/clmm-lock/{owner}",IDO_KEYS:"/ido/key/ids",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"},di=F(R({},vn),{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 Wc=v("Raydium_Api");import{PublicKey as Lm,SystemProgram as Om}from"@solana/web3.js";import{AccountLayout as Vm,createAssociatedTokenAccountIdempotentInstruction as _m,TOKEN_PROGRAM_ID as Em,TOKEN_2022_PROGRAM_ID as Dm}from"@solana/spl-token";var Xt=(...i)=>i.map(t=>{try{return typeof t=="object"?JSON.stringify(t):t}catch{return t}}).join(", "),te=class{constructor({scope:t,moduleName:n}){this.disabled=!1;this.scope=t,this.logger=v(n)}createTxBuilder(t){return this.scope.checkOwner(),new bt({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(Xt(t))}logInfo(...t){this.logger.info(Xt(t))}logAndCreateError(...t){let n=Xt(t);throw new Error(n)}checkDisabled(){(this.disabled||!this.scope)&&this.logAndCreateError("module not working")}};import{PublicKey as um,SystemProgram as lm}from"@solana/web3.js";import pm from"bn.js";import{createCloseAccountInstruction as gm,createInitializeAccountInstruction as Pm,createTransferInstruction as Am,TOKEN_PROGRAM_ID as wm}from"@solana/spl-token";import{Keypair as Zl,PublicKey as Hl}from"@solana/web3.js";import Jl from"bn.js";import{TOKEN_PROGRAM_ID as nm}from"@solana/spl-token";import{PublicKey as Bi}from"@solana/web3.js";import qn,{isBN as Un}from"bn.js";import{bits as pi,BitStructure as tl,blob as fi,Blob as nl,cstr as ol,f32 as il,f32be as rl,f64 as al,f64be as sl,greedy as ul,Layout as yi,ns64 as cl,ns64be as ll,nu64 as bi,nu64be as ml,offset as gi,s16 as dl,s16be as pl,s24 as fl,s24be as yl,s32 as Pi,s32be as bl,s40 as gl,s40be as Pl,s48 as Al,s48be as wl,s8 as kl,seq as Ai,struct as Tl,Structure as wi,u16 as ki,u16be as hl,u24 as Il,u24be as Bl,u32 as Ti,u32be as Sl,u40 as xl,u40be as Kl,u48 as Cl,u48be as Rl,u8 as hi,UInt as Ii,union as Ll,Union as Ol,unionLayoutDiscriminator as Nl,utf8 as Ml}from"@solana/buffer-layout";var Pt=yi,Vn=wi;var Qt=Ii;var _n=hi,H=ki;var At=Ti;var En=bi;var ce=Pi;var Dn=Ai;var M=fi;var Zt=pi,Wn=gi;var Be=class extends Pt{constructor(n,o,u){super(n,u);this.blob=M(n),this.signed=o}decode(n,o=0){let u=new qn(this.blob.decode(n,o),10,"le");return this.signed?u.fromTwos(this.span*8).clone():u}encode(n,o,u=0){return typeof n=="number"&&(n=new qn(n)),this.signed&&(n=n.toTwos(this.span*8)),this.blob.encode(n.toArrayLike(Buffer,"le",this.span),o,u)}},wt=class extends Pt{constructor(n){super(8,n);this._lower=Zt(At(),!1),this._upper=Zt(At(),!1)}addBoolean(n){this._lower.fields.length<32?this._lower.addBoolean(n):this._upper.addBoolean(n)}decode(n,o=0){let u=this._lower.decode(n,o),m=this._upper.decode(n,o+this._lower.span);return R(R({},u),m)}encode(n,o,u=0){return this._lower.encode(n,o,u)+this._upper.encode(n,o,u+this._lower.span)}};function c(i){return new Qt(1,i)}function Y(i){return new Qt(4,i)}function e(i){return new Be(8,!1,i)}function O(i){return new Be(16,!1,i)}function Gn(i){return new Be(1,!0,i)}function ve(i){return new Be(8,!0,i)}function zn(i){return new Be(16,!0,i)}var Je=class extends Pt{constructor(n,o,u,m){super(n.span,m);this.layout=n,this.decoder=o,this.encoder=u}decode(n,o){return this.decoder(this.layout.decode(n,o))}encode(n,o,u){return this.layout.encode(this.encoder(n),o,u)}getSpan(n,o){return this.layout.getSpan(n,o)}};function r(i){return new Je(M(32),t=>new Bi(t),t=>t.toBuffer(),i)}function se(i){return new Je(_n(),Si,xi,i)}function Si(i){if(i===0)return!1;if(i===1)return!0;throw new Error("Invalid bool: "+i)}function xi(i){return i?1:0}function Yn(i,t){let n=At("length"),o=l([n,d(i,Wn(n,-n.span),"values")]);return new Je(o,({values:u})=>u,u=>({values:u}),t)}var Ht=class extends Vn{decode(t,n){return super.decode(t,n)}};function l(i,t,n){return new Ht(i,t,n)}function d(i,t,n){let o,u=typeof t=="number"?t:Un(t)?t.toNumber():new Proxy(t,{get(m,f){if(!o){let p=Reflect.get(m,"count");o=Un(p)?p.toNumber():p,Reflect.set(m,"count",o)}return Reflect.get(m,f)},set(m,f,p){return f==="count"&&(o=p),Reflect.set(m,f,p)}});return Dn(i,u,n)}var kt=l([r("mint"),r("owner"),e("amount"),Y("delegateOption"),r("delegate"),c("state"),Y("isNativeOption"),e("isNative"),e("delegatedAmount"),Y("closeAuthorityOption"),r("closeAuthority")]);import{PublicKey as Qg,SystemProgram as Zg}from"@solana/web3.js";import{createAssociatedTokenAccountIdempotentInstruction as jg}from"@solana/spl-token";import sP from"decimal.js";import{createAssociatedTokenAccountIdempotentInstruction as Ny,TOKEN_2022_PROGRAM_ID as My,TOKEN_PROGRAM_ID as Fy}from"@solana/spl-token";import{PublicKey as Vy}from"@solana/web3.js";import Ey from"bn.js";import Wy from"decimal.js";import{TOKEN_PROGRAM_ID as Hm}from"@solana/spl-token";import{PublicKey as ed}from"@solana/web3.js";var Ci=l([Y("mintAuthorityOption"),r("mintAuthority"),e("supply"),c("decimals"),c("isInitialized"),Y("freezeAuthorityOption"),r("freezeAuthority")]);import{ASSOCIATED_TOKEN_PROGRAM_ID as ty,TOKEN_2022_PROGRAM_ID as ny,TOKEN_PROGRAM_ID as oy}from"@solana/spl-token";import{Keypair as ay,PublicKey as sy,SystemProgram as cy,TransactionInstruction as ly}from"@solana/web3.js";import dy from"bn.js";import D from"bn.js";var Se=new D(1).shln(64);var Ri=new D(1).shln(128),jt=new D(1).shln(64).subn(1),Li=new D(1).shln(128).subn(1);var Ve=new D("4295048016"),_e=new D("79226673521066979257578248091"),Oi=new D("59543866431248"),Ni=new D("184467440737095516"),Mi=new D("15793534762490258745");var $t=60,dd=new D("18446743708227953217"),Fi=[{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 et=3,Qn=100;var Zn=10,Hn=100,ht=14;var j=new D(0),Ee=new D(1),pd=new D(-1);var fd=new D("18446744073700000000");var vi=l([M(8),c("bump"),H("index"),r("owner"),Y("protocolFeeRate"),Y("tradeFeeRate"),H("tickSpacing"),Y("fundFeeRate"),d(Y(),1),r("fundOwner"),d(e(),3)]),Vi=l([Y("blockTimestamp"),ve("tickCumulative"),d(e(),4)]),jn=l([M(8),se("initialized"),e("recentEpoch"),H("observationIndex"),r("poolId"),d(Vi,Qn,"observations"),d(e(),4)]),_i=l([H("filterPeriod"),H("decayPeriod"),H("reductionFactor"),Y("dynamicFeeControl"),Y("maxVolatilityAccumulator"),ce("tickSpacingIndexReference"),Y("volatilityReference"),Y("volatilityAccumulator"),e("lastUpdateTimestamp"),d(c(),46)]),Ei=l([c("state"),e("openTime"),e("endTime"),e("lastUpdateTime"),O("emissionsPerSecondX64"),e("totalEmissioned"),e("claimed"),r("mint"),r("vault"),r("creator"),O("growthGlobalX64")]),Jt=l([M(8),c("bump"),r("configId"),r("creator"),r("mintA"),r("mintB"),r("vaultA"),r("vaultB"),r("observationId"),c("mintDecimalsA"),c("mintDecimalsB"),H("tickSpacing"),O("liquidity"),O("sqrtPriceX64"),ce("tickCurrent"),Y(),O("feeGrowthGlobalX64A"),O("feeGrowthGlobalX64B"),e("protocolFeesTokenA"),e("protocolFeesTokenB"),d(O(),4),c("status"),c("feeOn"),M(6),d(Ei,et,"rewardInfos"),M(8*16,"tickArrayBitmap"),d(e(),4),e("fundFeesTokenA"),e("fundFeesTokenB"),e("startTime"),e("recentEpoch"),_i.replicate("dynamicFeeInfo"),d(e(),46)]),Di=l([O("growthInsideLastX64"),e("rewardAmountOwed")]),Wi=l([M(8),c("bump"),r("nftMint"),r("poolId"),ce("tickLower"),ce("tickUpper"),O("liquidity"),O("feeGrowthInsideLastX64A"),O("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),d(Di,et,"rewardInfos"),e("recentEpoch"),d(e(),7)]),Pd=l([M(8),c("bump"),r("poolId"),ce("tickLower"),ce("tickUpper"),O("liquidity"),O("feeGrowthInsideLastX64A"),O("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),d(O(),et,"rewardGrowthInside"),e("recentEpoch"),d(e(),7)]),qi=l([ce("tick"),zn("liquidityNet"),O("liquidityGross"),O("feeGrowthOutsideX64A"),O("feeGrowthOutsideX64B"),d(O(),et,"rewardGrowthsOutsideX64"),e("orderPhase"),e("ordersAmount"),e("partFilledOrdersRemaining"),O("unfilledRatioX64"),d(Y(),3)]),$n=l([M(8),r("poolId"),ce("startTickIndex"),d(qi,$t,"ticks"),c("initializedTickCount"),e("recentEpoch"),d(c(),107)]),Ui=l([M(8),c("bump"),d(r(),Zn,"operationOwners"),d(r(),Hn,"whitelistMints")]),Gi=l([M(8),r("poolId"),r("owner"),ce("tick"),se("zeroForOne"),e("orderPhase"),e("totalAmount"),e("filledAmount"),e("settleBase"),e("settleOutput"),e("openTime"),O("unfilledRatioX64"),d(e(),4)]),Jn=l([M(8),r("poolId"),M(8*8*ht,"positiveTickArrayBitmap"),M(8*8*ht,"negativeTickArrayBitmap")]),Ad=l([M(8),H("index"),H("filterPeriod"),H("decayPeriod"),H("reductionFactor"),Y("dynamicFeeControl"),Y("maxVolatilityAccumulator"),d(e(),8)]),zi=l([M(8),r("wallet"),c("nonceIndex"),e("orderNonce"),d(e(),4)]),wd=l([e(),c("bump"),r("owner"),r("poolId"),r("positionId"),r("nftAccount"),d(e(),8)]),Yi=l([M(8),c("bump"),r("lockOwner"),r("poolId"),r("positionId"),r("nftAccount"),r("lockNftMint"),e("recentEpoch"),d(e(),8)]);import hd from"bn.js";var Md=Buffer.from("amm_config","utf8"),Xi=Buffer.from("pool","utf8"),Qi=Buffer.from("pool_vault","utf8"),Fd=Buffer.from("pool_reward_vault","utf8"),vd=Buffer.from("position","utf8"),Vd=Buffer.from("tick_array","utf8"),_d=Buffer.from("operation","utf8"),Ed=Buffer.from("pool_tick_array_bitmap_extension","utf8"),Dd=Buffer.from("observation","utf8"),Wd=Buffer.from("support_mint","utf8"),qd=Buffer.from("dynamic_fee_config","utf8");var Ud=Buffer.from("locked_position","utf8");import{sha256 as lr}from"js-sha256";import Zi from"bn.js";import Xd from"decimal.js";var Zd=new Zi(1).shln(256).subn(1);import pp from"bn.js";import np from"bn.js";import ip from"decimal.js";import kp from"bn.js";import hp from"decimal.js";import{PublicKey as af}from"@solana/web3.j