@raydium-io/raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
2 lines • 76.7 kB
JavaScript
var bo=Object.defineProperty,go=Object.defineProperties;var Po=Object.getOwnPropertyDescriptors;var it=Object.getOwnPropertySymbols;var sn=Object.prototype.hasOwnProperty,un=Object.prototype.propertyIsEnumerable;var an=(r,n,t)=>n in r?bo(r,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[n]=t,L=(r,n)=>{for(var t in n||(n={}))sn.call(n,t)&&an(r,t,n[t]);if(it)for(var t of it(n))un.call(n,t)&&an(r,t,n[t]);return r},D=(r,n)=>go(r,Po(n));var ce=(r,n)=>{var t={};for(var o in r)sn.call(r,o)&&n.indexOf(o)<0&&(t[o]=r[o]);if(r!=null&&it)for(var o of it(r))n.indexOf(o)<0&&un.call(r,o)&&(t[o]=r[o]);return t};import Pa from"big.js";import we from"bn.js";import Se from"bn.js";import $C from"decimal.js";import{PublicKey as Ao}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as cn}from"@solana/spl-token";var rt={chainId:101,address:Ao.default.toBase58(),programId:cn.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},le={chainId:101,address:"So11111111111111111111111111111111111111112",programId:cn.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 xt}from"@solana/web3.js";import{PublicKey as z,SystemProgram as ln,SYSVAR_RENT_PUBKEY as wo}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ko}from"@solana/spl-token";function xe({pubkey:r,isSigner:n=!1,isWritable:t=!0}){return{pubkey:r,isWritable:t,isSigner:n}}var To=[xe({pubkey:ko,isWritable:!1}),xe({pubkey:ln.programId,isWritable:!1}),xe({pubkey:wo,isWritable:!1})];function mn({publicKey:r,transformSol:n}){let t=dn(r.toString());if(t instanceof z)return n&&t.equals(Te)?be:t;if(n&&t.toString()===Te.toBase58())return be;if(typeof t=="string"){if(t===z.default.toBase58())return z.default;try{return new z(t)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function dn(r){try{return new z(r)}catch{return r}}var Kt=new z("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Ue=new z("SysvarRent111111111111111111111111111111111"),Ka=new z("SysvarC1ock11111111111111111111111111111111"),at=new z("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),ho=new z("Sysvar1nstructions1111111111111111111111111"),Io=ln.programId,xa=new z("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Ca=new z("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Ra=new z("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),La=new z("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Oa=new z("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Na=new z("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),Ma=new z("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),Fa=new z("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),va=new z("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Va=new z("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),_a=new z("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),be=new z("So11111111111111111111111111111111111111112"),Te=z.default;var Ct=class{constructor({mint:n,decimals:t,symbol:o,name:u,skipMint:m=!1,isToken2022:p=!1}){if(n===Te.toBase58()||n instanceof xt&&Te.equals(n)){this.decimals=le.decimals,this.symbol=le.symbol,this.name=le.name,this.mint=new xt(le.address),this.isToken2022=!1;return}this.decimals=t,this.symbol=o||n.toString().substring(0,6),this.name=u||n.toString().substring(0,6),this.mint=m?xt.default:mn({publicKey:n}),this.isToken2022=p}equals(n){return this===n?!0:this.mint.equals(n.mint)}},Q=Ct;Q.WSOL=new Ct(D(L({},le),{mint:le.address}));var Rt=class{constructor({decimals:n,symbol:t="UNKNOWN",name:o="UNKNOWN"}){this.decimals=n,this.symbol=t,this.name=o}equals(n){return this===n}},st=Rt;st.SOL=new Rt(rt);function Ya(r,n){return r instanceof Q&&n instanceof Q?r.equals(n):r instanceof Q||n instanceof Q?!1:r===n}import ct from"big.js";import Ro from"bn.js";import Lo from"decimal.js-light";import{get as pn,set as Bo}from"lodash";var Lt=class{constructor(n){this.logLevel=n.logLevel!==void 0?n.logLevel:0,this.name=n.name}set level(n){this.logLevel=n}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(n){return n<=this.logLevel}error(...n){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...n),this):this}logWithError(...n){let t=n.map(o=>typeof o=="object"?JSON.stringify(o):o).join(", ");throw new Error(t)}warning(...n){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...n),this):this}info(...n){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...n),this):this}debug(...n){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...n),this):this}},fn={},So={};function F(r){let n=pn(fn,r);if(!n){let t=pn(So,r);n=new Lt({name:r,logLevel:t}),Bo(fn,r,n)}return n}import Ge from"bn.js";var yn=9007199254740991;function Y(r){let n=F("Raydium_parseBigNumberish");if(r instanceof Ge)return r;if(typeof r=="string"){if(r.match(/^-?[0-9]+$/))return new Ge(r);n.logWithError(`invalid BigNumberish string: ${r}`)}return typeof r=="number"?(r%1&&n.logWithError(`BigNumberish number underflow: ${r}`),(r>=yn||r<=-yn)&&n.logWithError(`BigNumberish number overflow: ${r}`),new Ge(String(r))):typeof r=="bigint"?new Ge(r.toString()):(n.error(`invalid BigNumberish value: ${r}`),new Ge(0))}import Ko from"toformat";var xo=Ko,ze=xo;var ut=F("module/fraction"),Ot=ze(ct),Xe=ze(Lo),Oo={[0]:Xe.ROUND_DOWN,[1]:Xe.ROUND_HALF_UP,[2]:Xe.ROUND_UP},No={[0]:ct.roundDown,[1]:ct.roundHalfUp,[2]:ct.roundUp},W=class{constructor(n,t=new Ro(1)){this.numerator=Y(n),this.denominator=Y(t)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new W(this.denominator,this.numerator)}add(n){let t=n instanceof W?n:new W(Y(n));return this.denominator.eq(t.denominator)?new W(this.numerator.add(t.numerator),this.denominator):new W(this.numerator.mul(t.denominator).add(t.numerator.mul(this.denominator)),this.denominator.mul(t.denominator))}sub(n){let t=n instanceof W?n:new W(Y(n));return this.denominator.eq(t.denominator)?new W(this.numerator.sub(t.numerator),this.denominator):new W(this.numerator.mul(t.denominator).sub(t.numerator.mul(this.denominator)),this.denominator.mul(t.denominator))}mul(n){let t=n instanceof W?n:new W(Y(n));return new W(this.numerator.mul(t.numerator),this.denominator.mul(t.denominator))}div(n){let t=n instanceof W?n:new W(Y(n));return new W(this.numerator.mul(t.denominator),this.denominator.mul(t.numerator))}toSignificant(n,t={groupSeparator:""},o=1){Number.isInteger(n)||ut.logWithError(`${n} is not an integer.`),n<=0&&ut.logWithError(`${n} is not positive.`),Xe.set({precision:n+1,rounding:Oo[o]});let u=new Xe(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(n);return u.toFormat(u.decimalPlaces(),t)}toFixed(n,t={groupSeparator:""},o=1){return Number.isInteger(n)||ut.logWithError(`${n} is not an integer.`),n<0&&ut.logWithError(`${n} is negative.`),Ot.DP=n,Ot.RM=No[o]||1,new Ot(this.numerator.toString()).div(this.denominator.toString()).toFormat(n,t)}isZero(){return this.numerator.isZero()}};import Mo from"bn.js";var bn=new W(new Mo(100)),Pe=class extends W{toSignificant(n=5,t,o){return this.mul(bn).toSignificant(n,t,o)}toFixed(n=2,t,o){return this.mul(bn).toFixed(n,t,o)}};var Fo=F("Raydium_price"),me=class extends W{constructor(t){let{baseToken:o,quoteToken:u,numerator:m,denominator:p}=t;super(m,p);this.baseToken=o,this.quoteToken=u,this.scalar=new W(Nt(o.decimals),Nt(u.decimals))}get raw(){return new W(this.numerator,this.denominator)}get adjusted(){return super.mul(this.scalar)}invert(){return new me({baseToken:this.quoteToken,quoteToken:this.baseToken,denominator:this.numerator,numerator:this.denominator})}mul(t){this.quoteToken!==t.baseToken&&Fo.logWithError("mul token not equals");let o=super.mul(t);return new me({baseToken:this.baseToken,quoteToken:t.quoteToken,denominator:o.denominator,numerator:o.numerator})}toSignificant(t=this.quoteToken.decimals,o,u){return this.adjusted.toSignificant(t,o,u)}toFixed(t=this.quoteToken.decimals,o,u){return this.adjusted.toFixed(t,o,u)}};import{merge as tC}from"lodash";import sc from"axios";import{PublicKey as vo}from"@solana/web3.js";import{MINT_SIZE as Bs,TOKEN_PROGRAM_ID as Ss,getTransferFeeConfig as Ks,unpackMint as xs}from"@solana/spl-token";var Mt=F("Raydium_accountInfo_util");async function ge(r,n,t){let{batchRequest:o,commitment:u="confirmed",chunkCount:m=100}=L({batchRequest:!1},t),p=Ft(n,m),f=new Array(p.length).fill([]);if(o){let g=p.map(K=>{let C=r._buildArgs([K.map(S=>S.toBase58())],u,"base64");return{methodName:"getMultipleAccounts",args:C}}),T=Ft(g,10);f=(await(await Promise.all(T.map(async K=>await r._rpcBatchRequest(K)))).flat()).map(K=>(K.error&&Mt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${K.error.message}`),K.result.value.map(C=>{if(C){let{data:S,executable:M,lamports:P,owner:h,rentEpoch:B}=C;return S.length!==2&&S[1]!=="base64"&&Mt.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(S[0],"base64"),executable:M,lamports:P,owner:new vo(h),rentEpoch:B}}return null})))}else try{f=await Promise.all(p.map(g=>r.getMultipleAccountsInfo(g,u)))}catch(g){g instanceof Error&&Mt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${g.message}`)}return f.flat()}function Ft(r,n=1,t=[]){let o=[...r];if(n<=0)return t;for(;o.length;)t.push(o.splice(0,n));return t}import{PublicKey as zs}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Ys}from"@solana/spl-token";import{ComputeBudgetProgram as gn,Keypair as An,PublicKey as Vo,Transaction as wn,TransactionMessage as _o,VersionedTransaction as kn}from"@solana/web3.js";var j={CreateAccount:"CreateAccount",InitAccount:"InitAccount",CreateATA:"CreateATA",CloseAccount:"CloseAccount",TransferAmount:"TransferAmount",InitMint:"InitMint",MintTo:"MintTo",InitMarket:"InitMarket",Util1216OwnerClaim:"Util1216OwnerClaim",SetComputeUnitPrice:"SetComputeUnitPrice",SetComputeUnitLimit:"SetComputeUnitLimit",ClmmCreatePool:"ClmmCreatePool",ClmmOpenPosition:"ClmmOpenPosition",ClmmIncreasePosition:"ClmmIncreasePosition",ClmmDecreasePosition:"ClmmDecreasePosition",ClmmClosePosition:"ClmmClosePosition",ClmmSwapBaseIn:"ClmmSwapBaseIn",ClmmSwapBaseOut:"ClmmSwapBaseOut",ClmmInitReward:"ClmmInitReward",ClmmSetReward:"ClmmSetReward",ClmmCollectReward:"ClmmCollectReward",ClmmLockPosition:"ClmmLockPosition",ClmmHarvestLockPosition:"ClmmHarvestLockPosition",AmmV4Swap:"AmmV4Swap",AmmV4AddLiquidity:"AmmV4AddLiquidity",AmmV4RemoveLiquidity:"AmmV4RemoveLiquidity",AmmV4SimulatePoolInfo:"AmmV4SimulatePoolInfo",AmmV4SwapBaseIn:"AmmV4SwapBaseIn",AmmV4SwapBaseOut:"AmmV4SwapBaseOut",AmmV4CreatePool:"AmmV4CreatePool",AmmV4InitPool:"AmmV4InitPool",AmmV5AddLiquidity:"AmmV5AddLiquidity",AmmV5RemoveLiquidity:"AmmV5RemoveLiquidity",AmmV5SimulatePoolInfo:"AmmV5SimulatePoolInfo",AmmV5SwapBaseIn:"AmmV5SwapBaseIn",AmmV5SwapBaseOut:"AmmV5SwapBaseOut",RouteSwap:"RouteSwap",RouteSwap1:"RouteSwap1",RouteSwap2:"RouteSwap2",FarmV3Deposit:"FarmV3Deposit",FarmV3Withdraw:"FarmV3Withdraw",FarmV3CreateLedger:"FarmV3CreateLedger",FarmV4Withdraw:"FarmV4Withdraw",FarmV5Deposit:"FarmV5Deposit",FarmV5Withdraw:"FarmV5Withdraw",FarmV5CreateLedger:"FarmV5CreateLedger",FarmV6Deposit:"FarmV6Deposit",FarmV6Withdraw:"FarmV6Withdraw",FarmV6Create:"FarmV6Create",FarmV6Restart:"FarmV6Restart",FarmV6CreatorAddReward:"FarmV6CreatorAddReward",FarmV6CreatorWithdraw:"FarmV6CreatorWithdraw",CpmmCreatePool:"CpmmCreatePool",CpmmAddLiquidity:"CpmmAddLiquidity",CpmmWithdrawLiquidity:"CpmmWithdrawLiquidity",CpmmSwapBaseIn:"CpmmSwapBaseIn",CpmmSwapBaseOut:"CpmmSwapBaseOut",CpmmLockLp:"CpmmLockLp",CpmmCollectLockFee:"CpmmCollectLockFee",TransferTip:"TransferTip"};import{TOKEN_PROGRAM_ID as Eo}from"@solana/spl-token";var Pn=F("Raydium_txUtil"),Tn=1644;function lt(r){let n=[],t=[];return r.microLamports&&(n.push(gn.setComputeUnitPrice({microLamports:r.microLamports})),t.push(j.SetComputeUnitPrice)),r.units&&(n.push(gn.setComputeUnitLimit({units:r.units})),t.push(j.SetComputeUnitLimit)),{instructions:n,instructionTypes:t}}async function Ce(r,n){var o,u;let t=n!=null?n:"confirmed";return(u=await((o=r.getLatestBlockhash)==null?void 0:o.call(r,{commitment:t})))==null?void 0:u.blockhash}async function mt(r,n){return r.getSignatureStatuses([n]),new Promise((t,o)=>{let u=setTimeout(o,6e4);r.onSignature(n,m=>{if(clearTimeout(u),!m.err){t("");return}o(Object.assign(m.err,{txId:n}))},"confirmed")})}function vt(r,n){r.length<1&&Pn.logWithError(`no instructions provided: ${r.toString()}`),n.length<1&&Pn.logWithError(`no signers provided:, ${n.toString()}`);let t=new wn;t.recentBlockhash="11111111111111111111111111111111",t.feePayer=n[0],t.add(...r);try{return Buffer.from(t.serialize({verifySignatures:!1})).toString("base64").length<Tn}catch{return!1}}function de(r,n){let[t,o]=Vo.findProgramAddressSync(r,n);return{publicKey:t,nonce:o}}function Qe({instructions:r,payer:n,signers:t}){return vt(r,[n,...t])}function Ze({instructions:r,payer:n,lookupTableAddressAccount:t,recentBlockhash:o=An.generate().publicKey.toString()}){let m=new _o({payerKey:n,recentBlockhash:o,instructions:r}).compileToV0Message(Object.values(t!=null?t:{}));try{return Buffer.from(new kn(m).serialize()).toString("base64").length<Tn}catch{return!1}}var Do=r=>Buffer.isBuffer(r)?r:r instanceof Uint8Array?Buffer.from(r.buffer,r.byteOffset,r.byteLength):Buffer.from(r),Wo=r=>{let n=r.serialize({requireAllSignatures:!1,verifySignatures:!1});r instanceof kn&&(n=Do(n));try{return n instanceof Buffer?n.toString("base64"):Buffer.from(n).toString("base64")}catch{return n.toString("base64")}};function he(r){let n=[];return r.forEach(t=>{t instanceof wn&&(t.recentBlockhash||(t.recentBlockhash=Eo.toBase58()),t.feePayer||(t.feePayer=An.generate().publicKey)),n.push(Wo(t))}),console.log("simulate tx string:",n),n}import{PublicKey as k}from"@solana/web3.js";var hn=new k("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),In=new k("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),Bn=new k("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Vt=new k("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),js=new k("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),qo=new k("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),Sn=new k("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),Kn=new k("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),$s=new k("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),Uo=new k("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),xn=new k("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),Go=new k("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),zo=new k("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),Cn=new k("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Js=new k("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Xo=new k("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),_t=new k("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),Yo=new k("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),eu=new k("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),Qo=new k("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Zo=new k("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),Ho=new k("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),tu=new k("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),nu=new k("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),ou=new k("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),iu=new k("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),ru=new k("6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX");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 uu from"bn.js";import{PublicKey as Et,AddressLookupTableAccount as Oe}from"@solana/web3.js";async function Dt({connection:r,address:n,cluster:t="mainnet"}){let o=await ge(r,[...new Set(n.map(m=>m.toString()))].map(m=>new Et(m))),u={};for(let m=0;m<n.length;m++){let p=o[m],f=n[m];if(!p)continue;let g=new Oe({key:f,state:Oe.deserialize(p.data)});u[f.toString()]=g,t==="devnet"?Le[f.toString()]=g:Re[f.toString()]=g}return u}var Re={},Wt=async r=>{let n="AcL1Vo8oy1ULiavEcjSUcwfBSForXMudcZvDZy5nzJkU";if(Re[n])return Re;let t=new Et(n),o=await r.getAccountInfo(t);return o&&(Re[n]=new Oe({key:t,state:Oe.deserialize(o.data)})),Re},Le={},qt=async r=>{let n="EFhMuDw1PKEuckuFRW9PavNfTH4LKP5uKHgyXDmWpFCq";if(Le[n])return Le;let t=new Et(n),o=await r.getAccountInfo(t);return o&&(Le[n]=new Oe({key:t,state:Oe.deserialize(o.data)})),Le};import{PublicKey as Ne,sendAndConfirmTransaction as Ut,SystemProgram as jo,Transaction as He,TransactionMessage as je,VersionedTransaction as $e}from"@solana/web3.js";import $o from"axios";var dt=2e3,pt=class{constructor(n){this.instructions=[];this.endInstructions=[];this.lookupTableAddress=[];this.signers=[];this.instructionTypes=[];this.endInstructionTypes=[];this.connection=n.connection,this.feePayer=n.feePayer,this.signAllTransactions=n.signAllTransactions,this.owner=n.owner,this.cluster=n.cluster,this.blockhashCommitment=n.blockhashCommitment,this.loopMultiTxStatus=!!n.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 n=(await $o.get(`https://solanacompass.com/api/fees?cacheFreshTime=${3e5}`)).data,{avg:t}=(o=n==null?void 0:n[15])!=null?o:{};if(!!t)return{units:6e5,microLamports:Math.min(Math.ceil(t*1e6/6e5),25e3)}}addCustomComputeBudget(n){if(n){let{instructions:t,instructionTypes:o}=lt(n);return this.instructions.unshift(...t),this.instructionTypes.unshift(...o),!0}return!1}addTipInstruction(n){var t;return n?(this.endInstructions.push(jo.transfer({fromPubkey:(t=n.feePayer)!=null?t:this.feePayer,toPubkey:new Ne(n.address),lamports:BigInt(n.amount.toString())})),this.endInstructionTypes.push(j.TransferTip),!0):!1}async calComputeBudget({config:n,defaultIns:t}){try{let o=n||await this.getComputeBudgetConfig();if(this.addCustomComputeBudget(o))return;t&&this.instructions.unshift(...t)}catch{t&&this.instructions.unshift(...t)}}addInstruction({instructions:n=[],endInstructions:t=[],signers:o=[],instructionTypes:u=[],endInstructionTypes:m=[],lookupTableAddress:p=[]}){return this.instructions.push(...n),this.endInstructions.push(...t),this.signers.push(...o),this.instructionTypes.push(...u),this.endInstructionTypes.push(...m),this.lookupTableAddress.push(...p.filter(f=>f!==Ne.default.toString())),this}async versionBuild({txVersion:n,extInfo:t,lookupTableAddress:o}){return n===0?await this.buildV0(D(L({},t||{}),{lookupTableAddress:o})):this.build(t)}build(n){var o;let t=new He;return this.allInstructions.length&&t.add(...this.allInstructions),t.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:t,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async u=>{var y;let{recentBlockHash:m,skipPreflight:p=!0,sendAndConfirm:f,notSendToRpc:g}=u||{},T=m!=null?m:await Ce(this.connection,this.blockhashCommitment);if(t.recentBlockhash=T,this.signers.length&&t.sign(...this.signers),he([t]),(y=this.owner)!=null&&y.isKeyPair)return{txId:f?await Ut(this.connection,t,this.signers.find(C=>C.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:p}):await this.connection.sendRawTransaction(t.serialize(),{skipPreflight:p}),signedTx:t};if(this.signAllTransactions){let K=await this.signAllTransactions([t]);if(this.signers.length)for(let C of K)try{C.sign(...this.signers)}catch{}return{txId:g?"":await this.connection.sendRawTransaction(K[0].serialize(),{skipPreflight:p}),signedTx:K[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:n||{}}}buildMultiTx(n){var T;let{extraPreBuildData:t=[],extInfo:o}=n,{transaction:u}=this.build(o),m=t.filter(y=>y.transaction.instructions.length>0),p=[u,...m.map(y=>y.transaction)],f=[this.signers,...m.map(y=>y.signers)],g=[...this.instructionTypes,...m.map(y=>y.instructionTypes).flat()];return(T=this.owner)!=null&&T.signer&&f.forEach(y=>{y.some(K=>K.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),{builder:this,transactions:p,signers:f,instructionTypes:g,execute:async y=>{var B;let{sequentially:K,onTxUpdate:C,skipTxCount:S=0,recentBlockHash:M,skipPreflight:P=!0}=y||{},h=M!=null?M:await Ce(this.connection,this.blockhashCommitment);if((B=this.owner)!=null&&B.isKeyPair){if(K){let I=[],v=0;for(let V of p){if(++v,v<=S)continue;let b=await Ut(this.connection,V,this.signers.find(A=>A.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:P});I.push(b)}return{txIds:I,signedTxs:p}}return{txIds:await await Promise.all(p.map(async I=>(I.recentBlockhash=h,await this.connection.sendRawTransaction(I.serialize(),{skipPreflight:P})))),signedTxs:p}}if(this.signAllTransactions){let I=p.map((V,b)=>(V.recentBlockhash=h,f[b].length&&V.sign(...f[b]),V));he(I);let v=await this.signAllTransactions(I);if(K){let V=0,b=[],A=async()=>{if(!v[V])return;let w=await this.connection.sendRawTransaction(v[V].serialize(),{skipPreflight:P});b.push({txId:w,status:"sent",signedTx:v[V]}),C==null||C([...b]),V++;let x=!1,R=null,_=null,ie=U=>{R!==null&&clearInterval(R),_!==null&&this.connection.removeSignatureListener(_);let q=b.findIndex(ee=>ee.txId===w);if(q>-1){if(b[q].status==="error"||b[q].status==="success")return;b[q].status=U.err?"error":"success"}C==null||C([...b]),U.err||A()};this.loopMultiTxStatus&&(R=setInterval(async()=>{var U;if(x){clearInterval(R);return}try{let q=await this.connection.getTransaction(w,{commitment:"confirmed",maxSupportedTransactionVersion:0});q&&(x=!0,clearInterval(R),ie({err:((U=q.meta)==null?void 0:U.err)||null}),console.log("tx status from getTransaction:",w))}catch(q){x=!0,clearInterval(R),console.error("getTransaction timeout:",q,w)}},dt)),_=this.connection.onSignature(w,U=>{if(x){this.connection.removeSignatureListener(_);return}x=!0,ie(U)},"confirmed"),this.connection.getSignatureStatus(w)};return await A(),{txIds:b.map(w=>w.txId),signedTxs:v}}else{let V=[];for(let b=0;b<v.length;b+=1){let A=await this.connection.sendRawTransaction(v[b].serialize(),{skipPreflight:P});V.push(A)}return{txIds:V,signedTxs:v}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:o||{}}}async versionMultiBuild({extraPreBuildData:n,txVersion:t,extInfo:o}){return t===0?await this.buildV0MultiTx({extraPreBuildData:n,buildProps:o||{}}):this.buildMultiTx({extraPreBuildData:n,extInfo:o})}async buildV0(n){var P;let M=n||{},{lookupTableCache:t={},lookupTableAddress:o=[],forerunCreate:u,recentBlockhash:m}=M,p=ce(M,["lookupTableCache","lookupTableAddress","forerunCreate","recentBlockhash"]),f=L(L({},this.cluster==="devnet"?await qt(this.connection):await Wt(this.connection)),t),g=Array.from(new Set([...o,...this.lookupTableAddress])),T=[];for(let h of g)f[h]===void 0&&T.push(new Ne(h));let y=await Dt({connection:this.connection,address:T});for(let[h,B]of Object.entries(y))f[h]=B;let K=u?Ne.default.toBase58():m!=null?m:await Ce(this.connection,this.blockhashCommitment),C=new je({payerKey:this.feePayer,recentBlockhash:K,instructions:[...this.allInstructions]}).compileToV0Message(Object.values(f));((P=this.owner)==null?void 0:P.signer)&&!this.signers.some(h=>h.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer);let S=new $e(C);return S.sign(this.signers),{builder:this,transaction:S,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async h=>{var V;let{skipPreflight:B=!0,sendAndConfirm:I,notSendToRpc:v}=h||{};if(he([S]),(V=this.owner)!=null&&V.isKeyPair){let b=await this.connection.sendTransaction(S,{skipPreflight:B});return I&&await mt(this.connection,b),{txId:b,signedTx:S}}if(this.signAllTransactions){let b=await this.signAllTransactions([S]);if(this.signers.length)for(let A of b)try{A.sign(this.signers)}catch{}return{txId:v?"":await this.connection.sendTransaction(b[0],{skipPreflight:B}),signedTx:b[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:p||{}}}async buildV0MultiTx(n){var T;let{extraPreBuildData:t=[],buildProps:o}=n,{transaction:u}=await this.buildV0(o),m=t.filter(y=>y.builder.instructions.length>0),p=[u,...m.map(y=>y.transaction)],f=[this.signers,...m.map(y=>y.signers)],g=[...this.instructionTypes,...m.map(y=>y.instructionTypes).flat()];return(T=this.owner)!=null&&T.signer&&f.forEach(y=>{y.some(K=>K.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),p.forEach(async(y,K)=>{y.sign(f[K])}),{builder:this,transactions:p,signers:f,instructionTypes:g,buildProps:o,execute:async y=>{var P;let{sequentially:K,onTxUpdate:C,recentBlockHash:S,skipPreflight:M=!0}=y||{};if(S&&p.forEach(h=>h.message.recentBlockhash=S),he(p),(P=this.owner)!=null&&P.isKeyPair){if(K){let h=[];for(let B of p){let I=await this.connection.sendTransaction(B,{skipPreflight:M});await mt(this.connection,I),h.push(I)}return{txIds:h,signedTxs:p}}return{txIds:await Promise.all(p.map(async h=>await this.connection.sendTransaction(h,{skipPreflight:M}))),signedTxs:p}}if(this.signAllTransactions){let h=await this.signAllTransactions(p);if(K){let B=0,I=[],v=async()=>{if(!h[B])return;let V=await this.connection.sendTransaction(h[B],{skipPreflight:M});I.push({txId:V,status:"sent",signedTx:h[B]}),C==null||C([...I]),B++;let b=!1,A=null,w=null,x=R=>{A!==null&&clearInterval(A),w!==null&&this.connection.removeSignatureListener(w);let _=I.findIndex(ie=>ie.txId===V);if(_>-1){if(I[_].status==="error"||I[_].status==="success")return;I[_].status=R.err?"error":"success"}C==null||C([...I]),R.err||v()};this.loopMultiTxStatus&&(A=setInterval(async()=>{var R;if(b){clearInterval(A);return}try{let _=await this.connection.getTransaction(V,{commitment:"confirmed",maxSupportedTransactionVersion:0});_&&(b=!0,clearInterval(A),x({err:((R=_.meta)==null?void 0:R.err)||null}),console.log("tx status from getTransaction:",V))}catch(_){b=!0,clearInterval(A),console.error("getTransaction timeout:",_,V)}},dt)),w=this.connection.onSignature(V,R=>{if(b){this.connection.removeSignatureListener(w);return}b=!0,x(R)},"confirmed"),this.connection.getSignatureStatus(V)};return v(),{txIds:[],signedTxs:h}}else{let B=[];for(let I=0;I<h.length;I+=1){let v=await this.connection.sendTransaction(h[I],{skipPreflight:M});B.push(v)}return{txIds:B,signedTxs:h}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:o||{}}}async sizeCheckBuild(n){var C;let K=n||{},{splitIns:t=[],computeBudgetConfig:o}=K,u=ce(K,["splitIns","computeBudgetConfig"]),m=o?lt(o):{instructions:[],instructionTypes:[]},p=this.signers.reduce((S,M)=>D(L({},S),{[M.publicKey.toBase58()]:M}),{}),f=[],g=[],T=[],y=0;if(this.allInstructions.forEach(S=>{let M=[...T,S],P=o?[...m.instructions,...M]:M,B=[...new Set(M.map(I=>I.keys.filter(v=>v.isSigner).map(v=>v.pubkey.toString())).flat()).values()].map(I=>new Ne(I));if(S!==t[y]&&T.length<12&&(Qe({instructions:P,payer:this.feePayer,signers:B})||Qe({instructions:M,payer:this.feePayer,signers:B})))T.push(S);else{if(T.length===0)throw Error("item ins too big");y+=S===t[y]?1:0,Qe({instructions:o?[...m.instructions,...T]:[...T],payer:this.feePayer,signers:B})?f.push(new He().add(...m.instructions,...T)):f.push(new He().add(...T)),g.push(Array.from(new Set(T.map(I=>I.keys.filter(v=>v.isSigner).map(v=>v.pubkey.toString())).flat())).map(I=>p[I]).filter(I=>I!==void 0)),T=[S]}}),T.length>0){let M=[...new Set(T.map(P=>P.keys.filter(h=>h.isSigner).map(h=>h.pubkey.toString())).flat()).values()].map(P=>p[P]).filter(P=>P!==void 0);Qe({instructions:o?[...m.instructions,...T]:[...T],payer:this.feePayer,signers:M.map(P=>P.publicKey)})?f.push(new He().add(...m.instructions,...T)):f.push(new He().add(...T)),g.push(M)}return f.forEach(S=>S.feePayer=this.feePayer),(C=this.owner)!=null&&C.signer&&g.forEach(S=>{S.some(M=>M.publicKey.equals(this.owner.publicKey))||S.push(this.owner.signer)}),{builder:this,transactions:f,signers:g,instructionTypes:this.instructionTypes,execute:async S=>{var V;let{sequentially:M,onTxUpdate:P,skipTxCount:h=0,recentBlockHash:B,skipPreflight:I=!0}=S||{},v=B!=null?B:await Ce(this.connection,this.blockhashCommitment);if(f.forEach(async(b,A)=>{b.recentBlockhash=v,g[A].length&&b.sign(...g[A])}),he(f),(V=this.owner)!=null&&V.isKeyPair){if(M){let b=0,A=[];for(let w of f){if(++b,b<=h){A.push("tx skipped");continue}let x=await Ut(this.connection,w,this.signers.find(R=>R.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:I});A.push(x)}return{txIds:A,signedTxs:f}}return{txIds:await Promise.all(f.map(async b=>await this.connection.sendRawTransaction(b.serialize(),{skipPreflight:I}))),signedTxs:f}}if(this.signAllTransactions){let b=await this.signAllTransactions(f.slice(h,f.length)),A=[...f.slice(0,h),...b];if(M){let w=0,x=[],R=async()=>{if(!A[w])return;w<h&&(x.push({txId:"",status:"success",signedTx:A[w]}),P==null||P([...x]),w++,R());let _=await this.connection.sendRawTransaction(A[w].serialize(),{skipPreflight:I});x.push({txId:_,status:"sent",signedTx:A[w]}),P==null||P([...x]),w++;let ie=!1,U=null,q=null,ee=G=>{U!==null&&clearInterval(U),q!==null&&this.connection.removeSignatureListener(q);let ne=x.findIndex(fe=>fe.txId===_);if(ne>-1){if(x[ne].status==="error"||x[ne].status==="success")return;x[ne].status=G.err?"error":"success"}P==null||P([...x]),G.err||R()};this.loopMultiTxStatus&&(U=setInterval(async()=>{var G;if(ie){clearInterval(U);return}try{let ne=await this.connection.getTransaction(_,{commitment:"confirmed",maxSupportedTransactionVersion:0});ne&&(ie=!0,clearInterval(U),ee({err:((G=ne.meta)==null?void 0:G.err)||null}),console.log("tx status from getTransaction:",_))}catch(ne){ie=!0,clearInterval(U),console.error("getTransaction timeout:",ne,_)}},dt)),q=this.connection.onSignature(_,G=>{if(ie){this.connection.removeSignatureListener(q);return}ie=!0,ee(G)},"confirmed"),this.connection.getSignatureStatus(_)};return await R(),{txIds:x.map(_=>_.txId),signedTxs:A}}else{let w=[];for(let x=0;x<A.length;x+=1){let R=await this.connection.sendRawTransaction(A[x].serialize(),{skipPreflight:I});w.push(R)}return{txIds:w,signedTxs:A}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:u||{}}}async sizeCheckBuildV0(n){var V;let v=n||{},{computeBudgetConfig:t,splitIns:o=[],lookupTableCache:u={},lookupTableAddress:m=[],insCountLimit:p=12}=v,f=ce(v,["computeBudgetConfig","splitIns","lookupTableCache","lookupTableAddress","insCountLimit"]),g=L(L({},this.cluster==="devnet"?await qt(this.connection):await Wt(this.connection)),u),T=Array.from(new Set([...this.lookupTableAddress,...m])),y=[];for(let b of T)g[b]===void 0&&y.push(new Ne(b));let K=await Dt({connection:this.connection,address:y});for(let[b,A]of Object.entries(K))g[b]=A;let C=t?lt(t):{instructions:[],instructionTypes:[]},S=await Ce(this.connection,this.blockhashCommitment),M=this.signers.reduce((b,A)=>D(L({},b),{[A.publicKey.toBase58()]:A}),{}),P=[],h=[],B=[],I=0;if(this.allInstructions.forEach(b=>{let A=[...B,b],w=t?[...C.instructions,...A]:A;if(b!==o[I]&&B.length<p&&(Ze({instructions:w,payer:this.feePayer,lookupTableAddressAccount:g})||Ze({instructions:A,payer:this.feePayer,lookupTableAddressAccount:g})))B.push(b);else{if(B.length===0)throw Error("item ins too big");I+=b===o[I]?1:0;let x={};for(let R of[...new Set(T)])g[R]!==void 0&&(x[R]=g[R]);if(t&&Ze({instructions:[...C.instructions,...B],payer:this.feePayer,lookupTableAddressAccount:g,recentBlockhash:S})){let R=new je({payerKey:this.feePayer,recentBlockhash:S,instructions:[...C.instructions,...B]}).compileToV0Message(Object.values(g));P.push(new $e(R))}else{let R=new je({payerKey:this.feePayer,recentBlockhash:S,instructions:[...B]}).compileToV0Message(Object.values(g));P.push(new $e(R))}h.push(Array.from(new Set(B.map(R=>R.keys.filter(_=>_.isSigner).map(_=>_.pubkey.toString())).flat())).map(R=>M[R]).filter(R=>R!==void 0)),B=[b]}}),B.length>0){let A=[...new Set(B.map(w=>w.keys.filter(x=>x.isSigner).map(x=>x.pubkey.toString())).flat()).values()].map(w=>M[w]).filter(w=>w!==void 0);if(t&&Ze({instructions:[...C.instructions,...B],payer:this.feePayer,lookupTableAddressAccount:g,recentBlockhash:S})){let w=new je({payerKey:this.feePayer,recentBlockhash:S,instructions:[...C.instructions,...B]}).compileToV0Message(Object.values(g));P.push(new $e(w))}else{let w=new je({payerKey:this.feePayer,recentBlockhash:S,instructions:[...B]}).compileToV0Message(Object.values(g));P.push(new $e(w))}h.push(A)}return(V=this.owner)!=null&&V.signer&&h.forEach(b=>{b.some(A=>A.publicKey.equals(this.owner.publicKey))||b.push(this.owner.signer)}),P.forEach((b,A)=>{b.sign(h[A])}),{builder:this,transactions:P,buildProps:n,signers:h,instructionTypes:this.instructionTypes,execute:async b=>{var ie;let{sequentially:A,onTxUpdate:w,skipTxCount:x=0,recentBlockHash:R,skipPreflight:_=!0}=b||{};if(P.map(async(U,q)=>{h[q].length&&U.sign(h[q]),R&&(U.message.recentBlockhash=R)}),he(P),(ie=this.owner)!=null&&ie.isKeyPair){if(A){let U=0,q=[];for(let ee of P){if(++U,U<=x){console.log("skip tx: ",U),q.push("tx skipped");continue}let G=await this.connection.sendTransaction(ee,{skipPreflight:_});await mt(this.connection,G),q.push(G)}return{txIds:q,signedTxs:P}}return{txIds:await Promise.all(P.map(async U=>await this.connection.sendTransaction(U,{skipPreflight:_}))),signedTxs:P}}if(this.signAllTransactions){let U=await this.signAllTransactions(P.slice(x,P.length)),q=[...P.slice(0,x),...U];if(A){let ee=0,G=[],ne=async()=>{if(!q[ee])return;if(ee<x){G.push({txId:"",status:"success",signedTx:q[ee]}),w==null||w([...G]),ee++,ne();return}let fe=await this.connection.sendTransaction(q[ee],{skipPreflight:_});G.push({txId:fe,status:"sent",signedTx:q[ee]}),w==null||w([...G]),ee++;let qe=!1,Ke=null,ot=null,rn=ke=>{Ke!==null&&clearInterval(Ke),ot!==null&&this.connection.removeSignatureListener(ot);let ye=G.findIndex(yo=>yo.txId===fe);if(ye>-1){if(G[ye].status==="error"||G[ye].status==="success")return;G[ye].status=ke.err?"error":"success"}w==null||w([...G]),ke.err||ne()};this.loopMultiTxStatus&&(Ke=setInterval(async()=>{var ke;if(qe){clearInterval(Ke);return}try{let ye=await this.connection.getTransaction(fe,{commitment:"confirmed",maxSupportedTransactionVersion:0});ye&&(qe=!0,clearInterval(Ke),rn({err:((ke=ye.meta)==null?void 0:ke.err)||null}),console.log("tx status from getTransaction:",fe))}catch(ye){qe=!0,clearInterval(Ke),console.error("getTransaction timeout:",ye,fe)}},dt)),ot=this.connection.onSignature(fe,ke=>{if(qe){this.connection.removeSignatureListener(ot);return}qe=!0,rn(ke)},"confirmed"),this.connection.getSignatureStatus(fe)};return ne(),{txIds:[],signedTxs:q}}else{let ee=[];for(let G=0;G<q.length;G+=1){let ne=await this.connection.sendTransaction(q[G],{skipPreflight:_});ee.push(ne)}return{txIds:ee,signedTxs:q}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:f||{}}}};import{PublicKey as Ku}from"@solana/web3.js";import Cu from"bn.js";import Jo from"bn.js";var ft=new Jo(1e6);var Rn={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"},ei=D(L({},Rn),{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 Rc=F("Raydium_Api");import{PublicKey as wm,SystemProgram as km}from"@solana/web3.js";import{AccountLayout as Sm,createAssociatedTokenAccountIdempotentInstruction as Km,TOKEN_PROGRAM_ID as xm,TOKEN_2022_PROGRAM_ID as Cm}from"@solana/spl-token";var Gt=(...r)=>r.map(n=>{try{return typeof n=="object"?JSON.stringify(n):n}catch{return n}}).join(", "),oe=class{constructor({scope:n,moduleName:t}){this.disabled=!1;this.scope=n,this.logger=F(t)}createTxBuilder(n){return this.scope.checkOwner(),new pt({connection:this.scope.connection,feePayer:n||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(...n){this.logger.debug(Gt(n))}logInfo(...n){this.logger.info(Gt(n))}logAndCreateError(...n){let t=Gt(n);throw new Error(t)}checkDisabled(){(this.disabled||!this.scope)&&this.logAndCreateError("module not working")}};import{PublicKey as jl,SystemProgram as Jl}from"@solana/web3.js";import nm from"bn.js";import{createCloseAccountInstruction as am,createInitializeAccountInstruction as sm,createTransferInstruction as um,TOKEN_PROGRAM_ID as cm}from"@solana/spl-token";import{Keypair as _l,PublicKey as El}from"@solana/web3.js";import ql from"bn.js";import{TOKEN_PROGRAM_ID as zl}from"@solana/spl-token";import{PublicKey as di}from"@solana/web3.js";import Fn,{isBN as vn}from"bn.js";import{bits as ti,BitStructure as Uc,blob as ni,Blob as Gc,cstr as zc,f32 as Xc,f32be as Yc,f64 as Qc,f64be as Zc,greedy as Hc,Layout as oi,ns64 as jc,ns64be as $c,nu64 as Jc,nu64be as el,offset as ii,s16 as tl,s16be as nl,s24 as ol,s24be as il,s32 as ri,s32be as rl,s40 as al,s40be as sl,s48 as ul,s48be as cl,s8 as ll,seq as ai,struct as ml,Structure as si,u16 as ui,u16be as dl,u24 as pl,u24be as fl,u32 as ci,u32be as yl,u40 as bl,u40be as gl,u48 as Pl,u48be as Al,u8 as li,UInt as mi,union as wl,Union as kl,unionLayoutDiscriminator as Tl,utf8 as hl}from"@solana/buffer-layout";var yt=oi,Ln=si;var zt=mi;var On=li,Z=ui;var bt=ci;var se=ri;var Nn=ai;var N=ni;var Xt=ti,Mn=ii;var Be=class extends yt{constructor(t,o,u){super(t,u);this.blob=N(t),this.signed=o}decode(t,o=0){let u=new Fn(this.blob.decode(t,o),10,"le");return this.signed?u.fromTwos(this.span*8).clone():u}encode(t,o,u=0){return typeof t=="number"&&(t=new Fn(t)),this.signed&&(t=t.toTwos(this.span*8)),this.blob.encode(t.toArrayLike(Buffer,"le",this.span),o,u)}},gt=class extends yt{constructor(t){super(8,t);this._lower=Xt(bt(),!1),this._upper=Xt(bt(),!1)}addBoolean(t){this._lower.fields.length<32?this._lower.addBoolean(t):this._upper.addBoolean(t)}decode(t,o=0){let u=this._lower.decode(t,o),m=this._upper.decode(t,o+this._lower.span);return L(L({},u),m)}encode(t,o,u=0){return this._lower.encode(t,o,u)+this._upper.encode(t,o,u+this._lower.span)}};function c(r){return new zt(1,r)}function X(r){return new zt(4,r)}function e(r){return new Be(8,!1,r)}function O(r){return new Be(16,!1,r)}function Vn(r){return new Be(1,!0,r)}function Me(r){return new Be(8,!0,r)}function _n(r){return new Be(16,!0,r)}var Je=class extends yt{constructor(t,o,u,m){super(t.span,m);this.layout=t,this.decoder=o,this.encoder=u}decode(t,o){return this.decoder(this.layout.decode(t,o))}encode(t,o,u){return this.layout.encode(this.encoder(t),o,u)}getSpan(t,o){return this.layout.getSpan(t,o)}};function i(r){return new Je(N(32),n=>new di(n),n=>n.toBuffer(),r)}function ae(r){return new Je(On(),pi,fi,r)}function pi(r){if(r===0)return!1;if(r===1)return!0;throw new Error("Invalid bool: "+r)}function fi(r){return r?1:0}function En(r,n){let t=bt("length"),o=l([t,d(r,Mn(t,-t.span),"values")]);return new Je(o,({values:u})=>u,u=>({values:u}),n)}var Yt=class extends Ln{decode(n,t){return super.decode(n,t)}};function l(r,n,t){return new Yt(r,n,t)}function d(r,n,t){let o,u=typeof n=="number"?n:vn(n)?n.toNumber():new Proxy(n,{get(m,p){if(!o){let f=Reflect.get(m,"count");o=vn(f)?f.toNumber():f,Reflect.set(m,"count",o)}return Reflect.get(m,p)},set(m,p,f){return p==="count"&&(o=f),Reflect.set(m,p,f)}});return Nn(r,u,t)}var Pt=l([i("mint"),i("owner"),e("amount"),X("delegateOption"),i("delegate"),c("state"),X("isNativeOption"),e("isNative"),e("delegatedAmount"),X("closeAuthorityOption"),i("closeAuthority")]);import{PublicKey as Gg,SystemProgram as zg}from"@solana/web3.js";import{createAssociatedTokenAccountIdempotentInstruction as Yg}from"@solana/spl-token";import oP from"decimal.js";import{createAssociatedTokenAccountIdempotentInstruction as Cy,TOKEN_2022_PROGRAM_ID as Ry,TOKEN_PROGRAM_ID as Ly}from"@solana/spl-token";import{PublicKey as Ny}from"@solana/web3.js";import Fy from"bn.js";import Vy from"decimal.js";import{TOKEN_PROGRAM_ID as Em}from"@solana/spl-token";import{PublicKey as Um}from"@solana/web3.js";var bi=l([X("mintAuthorityOption"),i("mintAuthority"),e("supply"),c("decimals"),c("isInitialized"),X("freezeAuthorityOption"),i("freezeAuthority")]);import{ASSOCIATED_TOKEN_PROGRAM_ID as jf,TOKEN_2022_PROGRAM_ID as $f,TOKEN_PROGRAM_ID as Jf}from"@solana/spl-token";import{Keypair as ny,PublicKey as oy,SystemProgram as ry,TransactionInstruction as ay}from"@solana/web3.js";import uy from"bn.js";import E from"bn.js";var Fe=new E(1).shln(64);var gi=new E(1).shln(128),Qt=new E(1).shln(64).subn(1),Pi=new E(1).shln(128).subn(1);var ve=new E("4295048016"),Ve=new E("79226673521066979257578248091"),Ai=new E("59543866431248"),wi=new E("184467440737095516"),ki=new E("15793534762490258745");var Zt=60,td=new E("18446743708227953217"),Ti=[{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 et=3,Wn=100;var qn=10,Un=100,wt=14;var $=new E(0),_e=new E(1),nd=new E(-1);var od=new E("18446744073700000000");var hi=l([N(8),c("bump"),Z("index"),i("owner"),X("protocolFeeRate"),X("tradeFeeRate"),Z("tickSpacing"),X("fundFeeRate"),d(X(),1),i("fundOwner"),d(e(),3)]),Ii=l([X("blockTimestamp"),Me("tickCumulative"),d(e(),4)]),Gn=l([N(8),ae("initialized"),e("recentEpoch"),Z("observationIndex"),i("poolId"),d(Ii,Wn,"observations"),d(e(),4)]),Bi=l([Z("filterPeriod"),Z("decayPeriod"),Z("reductionFactor"),X("dynamicFeeControl"),X("maxVolatilityAccumulator"),se("tickSpacingIndexReference"),X("volatilityReference"),X("volatilityAccumulator"),e("lastUpdateTimestamp"),d(c(),46)]),Si=l([c("state"),e("openTime"),e("endTime"),e("lastUpdateTime"),O("emissionsPerSecondX64"),e("totalEmissioned"),e("claimed"),i("mint"),i("vault"),i("creator"),O("growthGlobalX64")]),Ht=l([N(8),c("bump"),i("configId"),i("creator"),i("mintA"),i("mintB"),i("vaultA"),i("vaultB"),i("observationId"),c("mintDecimalsA"),c("mintDecimalsB"),Z("tickSpacing"),O("liquidity"),O("sqrtPriceX64"),se("tickCurrent"),X(),O("feeGrowthGlobalX64A"),O("feeGrowthGlobalX64B"),e("protocolFeesTokenA"),e("protocolFeesTokenB"),d(O(),4),c("status"),c("feeOn"),N(6),d(Si,et,"rewardInfos"),N(8*16,"tickArrayBitmap"),d(e(),4),e("fundFeesTokenA"),e("fundFeesTokenB"),e("startTime"),e("recentEpoch"),Bi.replicate("dynamicFeeInfo"),d(e(),46)]),Ki=l([O("growthInsideLastX64"),e("rewardAmountOwed")]),xi=l([N(8),c("bump"),i("nftMint"),i("poolId"),se("tickLower"),se("tickUpper"),O("liquidity"),O("feeGrowthInsideLastX64A"),O("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),d(Ki,et,"rewardInfos"),e("recentEpoch"),d(e(),7)]),sd=l([N(8),c("bump"),i("poolId"),se("tickLower"),se("tickUpper"),O("liquidity"),O("feeGrowthInsideLastX64A"),O("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),d(O(),et,"rewardGrowthInside"),e("recentEpoch"),d(e(),7)]),Ci=l([se("tick"),_n("liquidityNet"),O("liquidityGross"),O("feeGrowthOutsideX64A"),O("feeGrowthOutsideX64B"),d(O(),et,"rewardGrowthsOutsideX64"),e("orderPhase"),e("ordersAmount"),e("partFilledOrdersRemaining"),O("unfilledRatioX64"),d(X(),3)]),zn=l([N(8),i("poolId"),se("startTickIndex"),d(Ci,Zt,"ticks"),c("initializedTickCount"),e("recentEpoch"),d(c(),107)]),Ri=l([N(8),c("bump"),d(i(),qn,"operationOwners"),d(i(),Un,"whitelistMints")]),Li=l([N(8),i("poolId"),i("owner"),se("tick"),ae("zeroForOne"),e("orderPhase"),e("totalAmount"),e("filledAmount"),e("settleBase"),e("settleOutput"),e("openTime"),O("unfilledRatioX64"),d(e(),4)]),Xn=l([N(8),i("poolId"),N(8*8*wt,"positiveTickArrayBitmap"),N(8*8*wt,"negativeTickArrayBitmap")]),ud=l([N(8),Z("index"),Z("filterPeriod"),Z("decayPeriod"),Z("reductionFactor"),X("dynamicFeeControl"),X("maxVolatilityAccumulator"),d(e(),8)]),Oi=l([N(8),i("wallet"),c("nonceIndex"),e("orderNonce"),d(e(),4)]),cd=l([e(),c("bump"),i("owner"),i("poolId"),i("positionId"),i("nftAccount"),d(e(),8)]),Ni=l([N(8),c("bump"),i("lockOwner"),i("poolId"),i("positionId"),i("nftAccount"),i("lockNftMint"),e("recentEpoch"),d(e(),8)]);import dd from"bn.js";var hd=Buffer.from("amm_config","utf8"),Fi=Buffer.from("pool","utf8"),vi=Buffer.from("pool_vault","utf8"),Id=Buffer.from("pool_reward_vault","utf8"),Bd=Buffer.from("position","utf8"),Sd=Buffer.from("tick_array","utf8"),Kd=Buffer.from("operation","utf8"),xd=Buffer.from("pool_tick_array_bitmap_extension","utf8"),Cd=Buffer.from("observation","utf8"),Rd=Buffer.from("support_mint","utf8"),Ld=Buffer.from("dynamic_fee_config","utf8"),Od=Buffer.from("permission","utf8");var Nd=Buffer.from("locked_position","utf8");import{sha256 as ji}from"js-sha256";import Vi from"bn.js";import Vd from"decimal.js";var Ed=new Vi(1).shln(256).subn(1);import op from"bn.js";import Xd from"bn.js";import Qd from"decimal.js";import up from"bn.js";import lp from"decimal.js";import{PublicKey as Hp}from"@solana/web3.js";import $p from"bn.js";import{TOKEN_2022_PROGRAM_ID as sf,TOKEN_PROGRAM_ID as uf}from"@solana/spl-token";import df from"decimal.js";import Ep from"bn.js";import Sp from"bn.js";import hf from"bn.js";function J(r){let n=`global:${r}`;return Buffer.from(ji.digest(n)).slice(0,8)}Gn.span;var by=F("Raydium_Clmm"),gy={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 en}from"@solana/web3.js";var tr=l([c("instruction")]),nr=l([c("instruction")]),or=l([e("rewardState"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardLastUpdateTime"),e("totalReward"),e("totalRewardEmissioned"),e("rewardClaimed"),e("rewardPerSecond"),O("accRewardPerShare"),i("rewardVault"),i("rewardMint"),i("rewardSender"),e("rewardType"),d(e(),15,"padding")]),ir=l([e("state"),e("nonce"),i("lpVault"),i("rewardVault"),i(),i(),e(),e(),e("totalReward"),O("perShareReward"),e("lastSlot"),e("perSlotReward")]),rr=l([e("state"),e("nonce"),i("lpVault"),i("rewardVaultA"),e("totalRewardA"),O("perShareRewardA"),e("perSlotRewardA"),c("option"),i("rewardVaultB"),N(7),e("totalRewardB"),O("perShareRewardB"),e("perSlotRewardB"),e("lastSlot"),i()]),ar=l([e(),e("state"),e("nonce"),e("validRewardTokenNum"),O("rewardMultiplier"),e("rewardPeriodMax"),e("rewardPeriodMin"),e("rewardPeriodExtend"),i("lpMint"),i("lpVault"),d(or,5,"rewardInfos"),i("creator"),i(),d(e(),32,"padding")]),sr=new Proxy(ir,{get(r,n,t){return n==="decode"?(...o)=>{let u=r.decode(...o);return D(L({},u),{version:3,rewardInfos:[{rewardVault:u.rewardVault,totalReward:u.totalReward,perSlotReward:u.perSlotReward,perShareReward:u.perShareReward}]})}:Reflect.get(r,n,t)}}),ur=new Proxy(rr,{get(r,n,t){return n==="decode"?(...o)=>{let u=r.decode(...o);return D(L({},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(r,n,t)}}),Jn=new Proxy(ar,{get(r,n,t){return n==="decode"?(...o)=>{let u=r.decode(...o);return D(L({},u),{version:6,rewardInfos:u.rewardInfos.map(m=>{var p;return D(L({},m),{rewardType:((p=Object.entries(nt).find(f=>String(f[1])===m.rewardType.toString()))!=null?p:["Standard SPL"])[0]})})})}:Reflect.get(r,n,t)}}),cr=l([e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),lr=l([c("instruction"),e("nonce"),d(cr,5,"rewardTimeInfo")]),mr=l([c("instruction"),e("rewardReopenTime"),e("rewardEndTime"),e("rewardPerSecond")]),dr=l([c("instruction"),e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),bb=l([e("state"),i("id"),i("owner"),e("deposited"),d(e(),1,"rewardDebts")]),eo=l([e("state"),i("id"),i("owner"),e("deposited"),d(O(),1,"rewardDebts"),e(""),e("voteLockedBalance"),d(e(),15)]),gb=l([e("state"),i("id"),i("owner"),e("deposited"),d(e(),2,"rewardDebts")]),pr=l([e("state"),i("id"),i("owner"),e("deposited"),d(O(),2,"rewardDebts"),d(e(),17)]),fr=l([e(),e("state"),i("id"),i("owner"),e("deposited"),d(O(),5,"rewardDebts"),d(e(),16)]),yr=l([c("instruction"),e("amount")]),br=l([i("mint"),i("grantAuthority"),e("baselineVoteWeightScaledFactor"),e("maxExtraLockupVoteWeightScaledFactor"),e("lockupSaturationSecs"),Vn("digitShift"),d(c(),7,"reserved1"),d(e(),7,"reserved2")]),gr=l([N(8),i("governanceProgramId"),i("realm"),i("realmGoverningTokenMint"),i("realmAuthority"),d(c(),32,"reserved1"),d(br,4,"votingMints"),Me("timeOffset"),c("bump"),d(c(),7,"reserved2"),d(e(),11,"reserved3")]),Pr=l([Me("startTime"),Me("endTime"),c("kind"),d(c(),15,"reserved")]),Ar=l([d(Pr,1,"lockup"),e("amountDeposited_native"),e("amountInitiallyLockedNative"),ae("isUsed"),ae("allowClawback"),c("votingMintConfigIdx"),d(c(),29,"reserved")]),wr=l([N(8),i("voterAuthority"),i("registrar"),d(Ar,32,"deposits"),c("voterBump"),c("voterWweightRecordBump"),d(c(),94,"reserved")]);import{NATIVE_MINT as Sb}from"@solana/spl-token";var Kb=F("Raydium_farm_config"),kr=new en("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Tr=new en("FrspKwj8i3pNmKwXreTveC4fu7KL5ZbGeXdZBe2XViu1");var xb=new en("3TRTX4dXUpp2eqxi3tvQDFYUV7SdDJjcPE3Y4mbtftaX");var nt={"Standard SPL":0,"Option tokens":1},to={[hn.toString()]:3,[In.toString()]:4,[Bn.toString()]:5,[Vt.toString()]:6,[Ae.FARM_PROGRAM_ID_V3.toString()]:3,[Ae.FARM_PROGRAM_ID_V4.toString()]:4,[Ae.FARM_PROGRAM_ID_V5.toString()]:5,[Ae.FARM_PROGRAM_ID_V6.toString()]:6};import{PublicKey as rg,SystemProgram as ag,SYSVAR_CLOCK_PUBKEY as sg,SYSVAR_RENT_PUBKEY as ug,TransactionInstruction as cg}from"@solana/web3.js";import mg from"bn.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as pg,createAssociatedTokenAccountIdempotentInstruction as fg,TOKEN_PROGRAM_ID as yg}from"@solana/spl-token";import Fb from"bn.js";var Qb=F("Raydium.farm.util");var Sg=F("Raydium_farm_instruction"),Kg={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 fP from"bn.js";import{PublicKey as Aw}from"@solana/web3.js";import{AccountLayout as Tw,MintLayout as hw,NATIVE_MINT as Iw,TOKEN_PROGRAM_ID as Sw}from"@solana/spl-token";import oo from"bn.js";var Rr=new oo(25),Lr=new oo(1e4);import{ASSOCIATED_TOKEN_PROGRAM_ID as vP,TOKEN_PROGRAM_ID as VP}from"@solana/spl-token";import{PublicKey as EP,SystemProgram as DP,SYSVAR_RENT_PUBKEY as WP,TransactionInstruction as qP}from"@solana/web3.js";import HP from"bn.js";var Or=l([c("instruction"),e("amountIn"),e("minAmountOut")]),Nr=l([c("instruction"),e("maxAmountIn"),e("amountOut")]),OP=l([c("instruction"),c("nonce")]),Mr=l([c("instruction"),c("nonce"),e("startTime")]),io=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"),O("swapBaseInAmount"),O("swapQuoteOutAmount"),e("swapBase2QuoteFee"),O("swapQuoteInAmount"),O("swapBaseOutAmount"),e("swapQuote2BaseFee"),i("baseVault"),i("quoteVault"),i("baseMint"),i("quoteMint"),i("lpMint"),i("openOrders"),i("marketId"),i("marketProgramId"),i("targetOrders"),i("withdrawQueue"),i("lpVault"),i("owner"),e("lpReserve"),d(e(),3,"padding")]),NP=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"),O("swapBaseInAmount"),O("swapQuoteOutAmount"),O("swapQuoteInAmount"),O("swapBaseOutAmount"),e("swapQuote2BaseFee"),e("swapBase2QuoteFee"),i("baseVault"),i("quoteVault"),i("baseMint"),i("quoteMint"),i("lpMint"),i("modelDataAccount"),i("openOrders"),i("marketId"),i("marketProgramId"),i("targetOrders"),i("owner"),d(e(),64,"padding")]),Fr=l([c("instruction"),e("baseAmountIn"),e("quoteAmountIn"),e("fixedSide"),e("otherAmountMin")]),vr=l([c("instruction"),e("lpAmount"),e("baseAmountMin"),e("quoteAmountMin")]);var Vr=l([e("fee")]);var JP=F("Raydium_liquidity_instruction");var _r=5e4,Er=l([e("x"),e("y"),e("price")]),oA=l([e("accountType"),e("status"),e("multiplier"),e("validDataCount"),d(Er,_r,"DataElement")]);import{PublicKey as yA}from"@solana/web3.js";import gA from"decimal.js";import{TOKEN_PROGRAM_ID as AA}from"@solana/spl-token";import{PublicKey as sA}from"@solana/web3.js";var lA=F("Raydium_liquidity_serum");import Xw from"bn.js";import Qw from"decimal.js";import{TOKEN_PROGRAM_ID as XA}from"@solana/spl-token";import{PublicKey as QA}from"@solana/web3.js";import HA from"bn.js";import{SystemProgram as NA,SYSVAR_RENT_PUBKEY as MA,Transaction as FA,TransactionInstruction as vA}from"@solana/web3.js";import{createInitializeAccountInstruction as _A,TOKEN_PROGRAM_ID as EA}from"@solana/spl-token";function Dr(r="accountFlags"){let n=new gt(r);return n.addBoolean("initialized"),n.addBoolean("market"),n.addBoolean("openOrders"),n.addBoolean("requestQueue"),n.addBoolean("eventQueue"),n.addBoolean("bids"),n.addBoolean("asks"),n}var Wr=l([N(5),Dr("accountFlags"),i("ownAddress"),e("vaultSignerNonce"),i("baseMint"),i("quoteMint"),i("baseVault"),e("baseDepositsTotal"),e("baseFeesAccrued"),i("quoteVault"),e("quoteDepositsTotal"),e("quoteFeesAccrued"),e("quoteDustThreshold"),i("requestQueue"),i("eventQueue"),i("bids"),i("asks"),e("baseLotSize"),e("quoteLotSize"),e("feeRateBps"),e("referrerRebatesAccrued"),N(7)]);import{PublicKey as gT}from"@solana/web3.js";import{AccountLayout as AT,NATIVE_MINT as wT,TOKEN_2022_PROGRAM_ID as kT,TOKEN_PROGRAM_ID as TT,createAssociatedTokenAccountIdempotentInstruction as hT}from"@solana/spl-token";import bk from"bn.js";import Qr from"bn.js";var ik=new Qr(0);import uk from"bn.js";import LT from"bn.js";import NT from"decimal.js";import{PublicKey as Mk,TransactionInstruction as Fk,Keypair as Vk,SystemProgram as _k}from"@solana/web3.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as Dk,TOKEN_2022_PROGRAM_ID as Wk,TOKEN_PROGRAM_ID as qk}from"@solana/spl-token";var kk=Buffer.from("vault_and_lp_mint_auth_seed","utf8"),Tk=Buffer.from("amm_config","utf8"),hk=Buffer.from("pool","utf8"),Ik=Buffer.from("pool_lp_mint","utf8"),Bk=Buffer.from("pool_vault","utf8"),Sk=Buffer.from("observation","utf8"),Kk=Buffer.from("permission","utf8"),xk=Buffer.from("support_mint","utf8");var Ck=Buffer.from("locked_liquidity","utf8");var Zk=F("Raydium_cpmm"),Hk={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 jr=l([N(8),c("bump"),ae("disableCreatePool"),Z("index"),e("tradeFeeRate"),e("protocolFeeRate"),e("fundFeeRate"),e("createPoolFee"),i("protocolOwner"),i("fundOwner"),e("creatorFeeRate"),d(e(),15)]),ro=l([N(8),i("configId"),i("poolCreator"),i("vaultA"),i("vaultB"),i("mintLp"),i("mintA"),i("mintB"),i("mintProgramA"),i("mintProgramB"),i("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"),ae("enableCreatorFee"),d(c(),6),e("creatorFeesMintA"),e("creatorFeesMintB"),d(e(),28)]),Jk=l([N(8),i("configId"),d(e(),30)]);import{PublicKey as IK,SystemProgram as BK}from"@solana/web3.js";import{createTransferInstruction as KK,TOKEN_PROGRAM_ID as xK,TOKEN_2022_PROGRAM_ID as CK,createAssociatedTokenAccountIdempotentInstruction as RK,createSyncNativeInstruction as OK,createTransferCheckedInstruction as NK}from"@solana/spl-token";import fa from"bn.js";import vK from"decimal.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as Uh,TOKEN_2022_PROGRAM_ID as Gh,TOKEN_PROGRAM_ID as zh}from"@solana/spl-token";import{SystemProgram as Zh,TransactionInstruction as Hh}from"@solana/web3.js";import ia from"bn.js";var ea=l([e(),e("epoch"),c("curveType"),Z("index"),e("migrateFee"),e("tradeFeeRate"),e("maxShareFeeRate"),e("minSupplyA"),e("maxLockRate"),e("minSellRateA"),e("minMigrateRateA"),e("minFundRaisingB"),i("mintB"),i("protocolFeeOwner"),i("migrateFeeOwner"),i("migrateToAmmWallet"),i("migrateToCpmmWallet"),d(e(),16)]),ta=l([e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod"),e("startTime"),e("totalAllocatedShare")]),na=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"),ta.replicate("vestingSchedule"),i("configId"),i("platformId"),i("mintA"),i("mintB"),i("vaultA"),i("vaultB"),i("creator"),c("mintProgramFlag"),c("cpmmCreatorFeeOn"),e("platformVestingShare"),d(c(),54)]),Ih=l([e(),e("epoch"),i("poolId"),i("beneficiary"),e("claimedAmount"),e("tokenShareAmount"),d(e(),8)]),so=l([c("migrateType"),c("migrateCpmmFeeOn"),e("supply"),e("totalSellA"),e("totalFundRaisingB"),e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod")]),oa=l([e("epoch"),c("index"),i("configId"),so.replicate("bondingCurveParam"),d(e(),50)]),uo=l([e(),e("epoch"),i("platformClaimFeeWallet"),i("platformLockNftWallet"),e("platformScale"),e("creatorScale"),e("burnScale"),e("feeRate"),d(c(),64,"name"),d(c(),256,"web"),d(c(),256,"img"),i("cpConfigId"),e("creatorFeeRate"),i("transferFeeExtensionAuth"),i("platformVestingWallet"),e("platformVestingScale"),i("platformCpCreator"),c("restrictGlobalConfig"),d(c(),107),En(oa,"platformCurve")]);var Ch=Buffer.from("vault_auth_seed","utf8"),Rh=Buffer.from("global_config","utf8"),Lh=Buffer.from("pool_vesting","utf8"),Oh=Buffer.from("platform_config","utf8"),Nh=Buffer.from("platform_fee_vault_auth_seed","utf8"),Mh=Buffer.from("creator_fee_vault_auth_seed","utf8"),Fh=Buffer.from("platform_global_access","utf8"),vh=Buffer.from("platform_allow_config","utf8");var eI={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 tI=new ia("18446744073709551615");import{TOKEN_2022_PROGRAM_ID as rI,TOKEN_PROGRAM_ID as aI}from"@solana/spl-token";import lI from"bn.js";import dI from"decimal.js";import GI from"bn.js";import XI from"decimal.js";import PI from"bn.js";import wI from"decimal.js";import RI from"bn.js";import OI from"decimal.js";import mo from"bn.js";import nn from"decimal.js";var It=class{static _multipler(n){return new nn(10).pow(n)}static getPrice({priceX64:n,decimalA:t,decimalB:o}){return new nn(n.toString()).div(this._Q64).mul(this._multipler(t)).div(this._multipler(o))}static getPriceX64({price:n,decimalA:t,decimalB:o}){let u=n.mul(this._multipler(o)).div(this._multipler(t));return new mo(u.mul(this._Q64).toFixed(0))}};It._Q64=new nn(new mo(1).shln(64).toString());import{NATIVE_MINT as eS,TOKEN_2022_PROGRAM_ID as tS,TOKEN_PROGRAM_ID as nS,createAssociatedTokenAccountIdempotentInstruction as iS,createSyncNativeInstruction as rS,getTransferFeeConfig as aS,unpackMint as sS}from"@solana/spl-token";import H from"bn.js";import{PublicKey as ma,SystemProgram as lS}from"@solana/web3.js";import gS from"decimal.js";var PS={initPriceX64:new H("515752397214619"),supply:new H(1e15),totalSellA:new H(7931e11),totalFundRaisingB:new H(85e9),totalFundRaisingBUSD:new H(125e8),totalLockedAmount:new H("0"),cliffPeriod:new H("0"),unlockPeriod:new H("0"),decimals:6,virtualA:new H("1073471847374405"),virtualB:new H("30050573465"),realA:new H(0),realB:new H(0),protocolFee:new H(0),platformId:new ma("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),vestingSchedule:{totalLockedAmount:new H(0),cliffPeriod:new H(0),unlockPeriod:new H(0),startTime:new H(0),totalAllocatedShare:new H(0)}},AS=new H(1e4);var da={[Sn.toBase58()]:3};var pa=l([N(5),N(8),i("ownAddress"),e("vaultSignerNonce"),i("baseMint"),i("quoteMint"),i("baseVault"),e("baseDepositsTotal"),e("baseFeesAccrued"),i("quoteVault"),e("quoteDepositsTotal"),e("quoteFeesAccrued"),e("quoteDustThreshold"),i("requestQueue"),i("eventQueue"),i("bids"),i("asks"),e("baseLotSize"),e("quoteLotSize"),e("feeRateBps"),e("referrerRebatesAccrued"),N(7)]);import{PublicKey as qS}from"@solana/web3.js";var YS=F("Serum");import{ASSOCIATED_TOKEN_PROGRAM_ID as nK,TOKEN_2022_PROGRAM_ID as oK,TOKEN_PROGRAM_ID as iK}from"@solana/spl-token";import{PublicKey as aK,SystemProgram as sK,TransactionInstruction as uK}from"@solana/web3.js";import lK from"bn.js";var dx=new fa(0);import{PublicKey as ya,Transaction as on,TransactionInstruction as ba}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ga}from"@solana/spl-token";import po from"bn.js";var te=class extends oe{static getPdaPoolId(n,t){return de([te.SEED_CONFIG.pool.id,t.toBuffer()],n)}static getPdaOwnerId(n,t,o,u){return de([te.SEED_CONFIG.owner.id,t.toBuffer(),o.toBuffer(),Buffer.from(new po(u).toArray())],n)}static async getAllInfo({connection:n,programId:t,poolIds:o,wallet:u,chainTime:m}){if(o.length===0)return[];let p=o.map(y=>te.getPdaPoolId(t,y).publicKey),f=[];for(let y=0;y<te.VERSION_PROJECT.length;y++)f.push(...p.map(K=>te.getPdaOwnerId(t,K,u,y).publicKey));let g=await ge(n,[...p,...f]),T=[];for(let y=0;y<g.length;y++){let K=Math.floor(y/o.length),C=y%o.length,S=p[C],M=f[y],P=g[C],h=g[o.length+y];if(!(P&&h)||P.data.length!==te.POOL_LAYOUT.span||h.data.length!==te.OWNER_LAYOUT.span)continue;let B=te.POOL_LAYOUT.decode(P.data),I=te.OWNER_LAYOUT.decode(h.data),v=B.openTime.toNumber(),V=B.endTime.toNumber(),b=I.tokenInfo.map(x=>x.debtAmount.gt(new po(0))).filter(x=>!x).length!==3,A=m>v&&m<V&&B.status===1,w=b&&A;T.push({programId:t,poolId:S,ammId:B.ammId,ownerAccountId:M,snapshotLpAmount:I.lpAmount,project:te.VERSION_PROJECT[K],openTime:v,endTime:V,canClaim:w,canClaimErrorType:b?A?void 0:"outOfOperationalTime":"alreadyClaimIt",tokenInfo:B.tokenInfo.map((x,R)=>({mintAddress:x.mintAddress,mintVault:x.mintVault,mintDecimals:x.mintDecimals,perLpLoss:x.perLpLoss,debtAmount:I.tokenInfo[R].debtAmount.add(I.tokenInfo[R].claimedAmount)}))})}return T}async makeClaimTransaction({poolInfo:n,ownerInfo:t,feePayer:o}){t.wallet||this.scope.checkOwner();let u=this.createTxBuilder(o),m=t.wallet||this.scope.ownerPubKey,p=[];for(let T of n.tokenInfo){let{account:y,instructionParams:K}=await this.scope.account.getOrCreateTokenAccount({mint:T.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:T.mintAddress.equals(Q.WSOL.mint),createInfo:{payer:m,amount:0},skipCloseAccount:!T.mintAddress.equals(Q.WSOL.mint),associatedOnly:T.mintAddress.equals(Q.WSOL.mint)?!1:t.associatedOnly});K&&u.addInstruction(K),p.push(y)}u.addInstruction({instructions:[te.makeClaimInstruction({programId:n.programId,poolInfo:n,ownerInfo:{wallet:m,ownerPda:n.ownerAccountId,claimAddress:p}})]});let{transaction:f,signers:g}=u.build();return[{transaction:f,signer:g}]}async makeClaimAllTransaction({poolInfos:n,ownerInfo:t,feePayer:o}){let u=this.createTxBuilder(o),m=t.wallet||this.scope.ownerPubKey,p={};for(let y of n){let K=[];for(let C of y.tokenInfo){let{account:S,instructionParams:M}=await this.scope.account.getOrCreateTokenAccount({mint:C.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:C.mintAddress.equals(Q.WSOL.mint),createInfo:{payer:m,amount:0},skipCloseAccount:!C.mintAddress.equals(Q.WSOL.mint),associatedOnly:C.mintAddress.equals(Q.WSOL.mint)?!1:t.associatedOnly});M&&u.addInstruction(M),S&&(p[C.mintAddress.toString()]=S,K.push(S))}u.addInstruction({instructions:[te.makeClaimInstruction({programId:y.programId,poolInfo:y,ownerInfo:{wallet:m,ownerPda:y.ownerAccountId,claimAddress:K}})]})}let{transaction:f,signers:g}=u.build(),T=u.allInstructions;return vt(T,[m,...g.map(y=>y.publicKey)])?[{transaction:f,signer:g}]:[{transaction:new on().add(...T.slice(0,u.AllTxData.instructions.length-1)),signer:g},{transaction:new on().add(...T.slice(u.AllTxData.instructions.length-1)),signer:[]},{transaction:new on().add(...u.AllTxData.endInstructions),signer:[]}]}static makeClaimInstruction({programId:n,poolInfo:t,ownerInfo:o}){let u=l([]),m=[{pubkey:o.wallet,isSigner:!0,isWritable:!0},{pubkey:t.poolId,isSigner:!1,isWritable:!0},{pubkey:o.ownerPda,isSigner:!1,isWritable:!0},...o.claimAddress.map(g=>({pubkey:g,isSigner:!1,isWritable:!0})),...t.tokenInfo.map(({mintVault:g})=>({pubkey:g,isSigner:!1,isWritable:!0})),{pubkey:ga,isSigner:!1,isWritable:!1}],p=Buffer.alloc(u.span);u.encode({},p);let f=Buffer.from([10,66,208,184,161,6,191,98,...p]);return new ba({keys:m,programId:n,data:f})}},ue=te;ue.CLAIMED_NUM=3,ue.POOL_LAYOUT=l([N(8),c("bump"),c("status"),e("openTime"),e("endTime"),i("ammId"),d(l([c("mintDecimals"),i("mintAddress"),i("mintVault"),e("perLpLoss"),e("totalClaimedAmount")]),te.CLAIMED_NUM,"tokenInfo"),d(e(),10,"padding")]),ue.OWNER_LAYOUT=l([N(8),c("bump"),c("version"),i("poolId"),i("owner"),e("lpAmount"),d(l([i("mintAddress"),e("debtAmount"),e("claimedAmount")]),te.CLAIMED_NUM,"tokenInfo"),d(e(),4,"padding")]),ue.DEFAULT_POOL_ID=["58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2","6UmmUiYoBjSrhakAobJw8BvkmJtDVxaeBtbt7rxWo1mg","AVs9TA4nWDzfPJE9gGVNJMVhcQy3V9PGazuz33BfG2RA","DVa7Qmb5ct9RCpaU7UTpSaf3GVMYz17vNVU67XpdCRut","7XawhbbxtsRcQA8KTkHT9f9nc6d69UwqCDh6U5EEbEmX","6a1CsrpeZubDjEJE9s1CMVheB6HWM5d7m1cj2jkhyXhj","EoNrn8iUhwgJySD1pHu8Qxm5gSQqLK3za4m8xzD2RuEb","AceAyRTWt4PyB2pHqf2qhDgNZDtKVNaxgL8Ru3V4aN1P","6tmFJbMk5yVHFcFy7X2K8RwHjKLr6KVFLYXpgpBNeAxB"].map(n=>new ya(n)),ue.SEED_CONFIG={pool:{id:Buffer.from("pool_seed","utf8")},owner:{id:Buffer.from("user_claim_seed","utf8")}},ue.VERSION_PROJECT=[void 0,"Francium","Tulip","Larix"];import{PublicKey as Cx}from"@solana/web3.js";import{getTransferFeeConfig as Lx,MintLayout as Ox,TOKEN_2022_PROGRAM_ID as Nx,TOKEN_PROGRAM_ID as Mx,unpackMint as Fx}from"@solana/spl-token";var uR=new Se(2),cR=new Se(3),lR=new Se(5),Bt=new Se(10),mR=new Se(100),dR=new Se(1e3),pR=new Se(1e4);function Nt(r){return Bt.pow(Y(r))}var Aa=F("Raydium_amount"),St=ze(Pa);function fo(r,n){let t="0",o="0";if(r.includes(".")){let u=r.split(".");u.length===2?([t,o]=u,o=o.padEnd(n,"0")):Aa.logWithError(`invalid number string, num: ${r}`)}else t=r;return[t,o.slice(0,n)||o]}var re=class extends W{constructor(t,o,u=!0,m){let p=new we(0),f=Bt.pow(new we(t.decimals));if(u)p=Y(o);else{let g=new we(0),T=new we(0);if(typeof o=="string"||typeof o=="number"||typeof o=="bigint"){let[y,K]=fo(o.toString(),t.decimals);g=Y(y),T=Y(K)}g=g.mul(f),p=g.add(T)}super(p,f);this.logger=F(m||"TokenAmount"),this.token=t}get raw(){return this.numerator}isZero(){return this.raw.isZero()}gt(t){return this.token.equals(t.token)||this.logger.logWithError("gt token not equals"),this.raw.gt(t.raw)}lt(t){return this.token.equals(t.token)||this.logger.logWithError("lt token not equals"),this.raw.lt(t.raw)}add(t){return this.token.equals(t.token)||this.logger.logWithError("add token not equals"),new re(this.token,this.raw.add(t.raw))}subtract(t){return this.token.equals(t.token)||this.logger.logWithError("sub token not equals"),new re(this.token,this.raw.sub(t.raw))}toSignificant(t=this.token.decimals,o,u=0){return super.toSignificant(t,o,u)}toFixed(t=this.token.decimals,o,u=0){return t>this.token.decimals&&this.logger.logWithError("decimals overflow"),super.toFixed(t,o,u)}toExact(t={groupSeparator:""}){return St.DP=this.token.decimals,new St(this.numerator.toString()).div(this.denominator.toString()).toFormat(t)}},We=class extends W{constructor(t,o,u=!0,m){let p=new we(0),f=Bt.pow(new we(t.decimals));if(u)p=Y(o);else{let g=new we(0),T=new we(0);if(typeof o=="string"||typeof o=="number"||typeof o=="bigint"){let[y,K]=fo(o.toString(),t.decimals);g=Y(y),T=Y(K)}g=g.mul(f),p=g.add(T)}super(p,f);this.logger=F(m||"TokenAmount"),this.currency=t}get raw(){return this.numerator}isZero(){return this.raw.isZero()}gt(t){return this.currency.equals(t.currency)||this.logger.logWithError("gt currency not equals"),this.raw.gt(t.raw)}lt(t){return this.currency.equals(t.currency)||this.logger.logWithError("lt currency not equals"),this.raw.lt(t.raw)}add(t){return this.currency.equals(t.currency)||this.logger.logWithError("add currency not equals"),new We(this.currency,this.raw.add(t.raw))}sub(t){return this.currency.equals(t.currency)||this.logger.logWithError("sub currency not equals"),new We(this.currency,this.raw.sub(t.raw))}toSignificant(t=this.currency.decimals,o,u=0){return super.toSignificant(t,o,u)}toFixed(t=this.currency.decimals,o,u=0){return t>this.currency.decimals&&this.logger.logWithError("decimals overflow"),super.toFixed(t,o,u)}toExact(t={groupSeparator:""}){return St.DP=this.currency.decimals,new St(this.numerator.toString()).div(this.denominator.toString()).toFormat(t)}};export{st as Currency,We as CurrencyAmount,W as Fraction,Pe as Percent,me as Price,Q as Token,re as TokenAmount,bn as _100_PERCENT,Ya as currencyEquals,fo as splitNumber};
//# sourceMappingURL=index.mjs.map