UNPKG

@raydium-io/raydium-sdk-v2

Version:

An SDK for building applications on top of Raydium.

2 lines 76.1 kB
var po=Object.defineProperty,fo=Object.defineProperties;var yo=Object.getOwnPropertyDescriptors;var ot=Object.getOwnPropertySymbols;var sn=Object.prototype.hasOwnProperty,un=Object.prototype.propertyIsEnumerable;var an=(r,t,n)=>t in r?po(r,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):r[t]=n,R=(r,t)=>{for(var n in t||(t={}))sn.call(t,n)&&an(r,n,t[n]);if(ot)for(var n of ot(t))un.call(t,n)&&an(r,n,t[n]);return r},E=(r,t)=>fo(r,yo(t));var ce=(r,t)=>{var n={};for(var i in r)sn.call(r,i)&&t.indexOf(i)<0&&(n[i]=r[i]);if(r!=null&&ot)for(var i of ot(r))t.indexOf(i)<0&&un.call(r,i)&&(n[i]=r[i]);return n};import Pa from"big.js";import Pe from"bn.js";import Ie from"bn.js";import CR from"decimal.js";import{PublicKey as bo}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as cn}from"@solana/spl-token";var it={chainId:101,address:bo.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 Kt}from"@solana/web3.js";import{PublicKey as z,SystemProgram as ln,SYSVAR_RENT_PUBKEY as go}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Po}from"@solana/spl-token";function Se({pubkey:r,isSigner:t=!1,isWritable:n=!0}){return{pubkey:r,isWritable:n,isSigner:t}}var Ao=[Se({pubkey:Po,isWritable:!1}),Se({pubkey:ln.programId,isWritable:!1}),Se({pubkey:go,isWritable:!1})];function mn({publicKey:r,transformSol:t}){let n=dn(r.toString());if(n instanceof z)return t&&n.equals(we)?ye:n;if(t&&n.toString()===we.toBase58())return ye;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 dn(r){try{return new z(r)}catch{return r}}var St=new z("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),We=new z("SysvarRent111111111111111111111111111111111"),Ka=new z("SysvarC1ock11111111111111111111111111111111"),rt=new z("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),wo=new z("Sysvar1nstructions1111111111111111111111111"),ko=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"),_a=new z("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Va=new z("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),ye=new z("So11111111111111111111111111111111111111112"),we=z.default;var xt=class{constructor({mint:t,decimals:n,symbol:i,name:u,skipMint:d=!1,isToken2022:p=!1}){if(t===we.toBase58()||t instanceof Kt&&we.equals(t)){this.decimals=le.decimals,this.symbol=le.symbol,this.name=le.name,this.mint=new Kt(le.address),this.isToken2022=!1;return}this.decimals=n,this.symbol=i||t.toString().substring(0,6),this.name=u||t.toString().substring(0,6),this.mint=d?Kt.default:mn({publicKey:t}),this.isToken2022=p}equals(t){return this===t?!0:this.mint.equals(t.mint)}},ee=xt;ee.WSOL=new xt(E(R({},le),{mint:le.address}));var Ct=class{constructor({decimals:t,symbol:n="UNKNOWN",name:i="UNKNOWN"}){this.decimals=t,this.symbol=n,this.name=i}equals(t){return this===t}},at=Ct;at.SOL=new Ct(it);import ut from"big.js";import Ko from"bn.js";import xo from"decimal.js-light";import{get as pn,set as To}from"lodash";var Rt=class{constructor(t){this.logLevel=t.logLevel!==void 0?t.logLevel:0,this.name=t.name}set level(t){this.logLevel=t}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(t){return t<=this.logLevel}error(...t){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...t),this):this}logWithError(...t){let n=t.map(i=>typeof i=="object"?JSON.stringify(i):i).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}},fn={},ho={};function F(r){let t=pn(fn,r);if(!t){let n=pn(ho,r);t=new Rt({name:r,logLevel:n}),To(fn,r,t)}return t}import qe from"bn.js";var yn=9007199254740991;function Y(r){let t=F("Raydium_parseBigNumberish");if(r instanceof qe)return r;if(typeof r=="string"){if(r.match(/^-?[0-9]+$/))return new qe(r);t.logWithError(`invalid BigNumberish string: ${r}`)}return typeof r=="number"?(r%1&&t.logWithError(`BigNumberish number underflow: ${r}`),(r>=yn||r<=-yn)&&t.logWithError(`BigNumberish number overflow: ${r}`),new qe(String(r))):typeof r=="bigint"?new qe(r.toString()):(t.error(`invalid BigNumberish value: ${r}`),new qe(0))}import Io from"toformat";var Bo=Io,Ue=Bo;var st=F("module/fraction"),Lt=Ue(ut),Ge=Ue(xo),Co={[0]:Ge.ROUND_DOWN,[1]:Ge.ROUND_HALF_UP,[2]:Ge.ROUND_UP},Ro={[0]:ut.roundDown,[1]:ut.roundHalfUp,[2]:ut.roundUp},q=class{constructor(t,n=new Ko(1)){this.numerator=Y(t),this.denominator=Y(n)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new q(this.denominator,this.numerator)}add(t){let n=t instanceof q?t:new q(Y(t));return this.denominator.eq(n.denominator)?new q(this.numerator.add(n.numerator),this.denominator):new q(this.numerator.mul(n.denominator).add(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}sub(t){let n=t instanceof q?t:new q(Y(t));return this.denominator.eq(n.denominator)?new q(this.numerator.sub(n.numerator),this.denominator):new q(this.numerator.mul(n.denominator).sub(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}mul(t){let n=t instanceof q?t:new q(Y(t));return new q(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(t){let n=t instanceof q?t:new q(Y(t));return new q(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(t,n={groupSeparator:""},i=1){Number.isInteger(t)||st.logWithError(`${t} is not an integer.`),t<=0&&st.logWithError(`${t} is not positive.`),Ge.set({precision:t+1,rounding:Co[i]});let u=new Ge(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(t);return u.toFormat(u.decimalPlaces(),n)}toFixed(t,n={groupSeparator:""},i=1){return Number.isInteger(t)||st.logWithError(`${t} is not an integer.`),t<0&&st.logWithError(`${t} is negative.`),Lt.DP=t,Lt.RM=Ro[i]||1,new Lt(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,n)}isZero(){return this.numerator.isZero()}};import Lo from"bn.js";var ms=new q(new Lo(100));var gs=F("Raydium_price");import{merge as OC}from"lodash";import gc from"axios";import{PublicKey as Oo}from"@solana/web3.js";import{MINT_SIZE as Ks,TOKEN_PROGRAM_ID as xs,getTransferFeeConfig as Cs,unpackMint as Rs}from"@solana/spl-token";var Ot=F("Raydium_accountInfo_util");async function be(r,t,n){let{batchRequest:i,commitment:u="confirmed",chunkCount:d=100}=R({batchRequest:!1},n),p=Nt(t,d),f=new Array(p.length).fill([]);if(i){let g=p.map(K=>{let L=r._buildArgs([K.map(S=>S.toBase58())],u,"base64");return{methodName:"getMultipleAccounts",args:L}}),T=Nt(g,10);f=(await(await Promise.all(T.map(async K=>await r._rpcBatchRequest(K)))).flat()).map(K=>(K.error&&Ot.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${K.error.message}`),K.result.value.map(L=>{if(L){let{data:S,executable:M,lamports:P,owner:h,rentEpoch:B}=L;return S.length!==2&&S[1]!=="base64"&&Ot.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(S[0],"base64"),executable:M,lamports:P,owner:new Oo(h),rentEpoch:B}}return null})))}else try{f=await Promise.all(p.map(g=>r.getMultipleAccountsInfo(g,u)))}catch(g){g instanceof Error&&Ot.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${g.message}`)}return f.flat()}function Nt(r,t=1,n=[]){let i=[...r];if(t<=0)return n;for(;i.length;)n.push(i.splice(0,t));return n}import{PublicKey as Ys}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Qs}from"@solana/spl-token";import{ComputeBudgetProgram as bn,Keypair as Pn,PublicKey as No,Transaction as An,TransactionMessage as Mo,VersionedTransaction as wn}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 Fo}from"@solana/spl-token";var gn=F("Raydium_txUtil"),kn=1644;function ct(r){let t=[],n=[];return r.microLamports&&(t.push(bn.setComputeUnitPrice({microLamports:r.microLamports})),n.push(Z.SetComputeUnitPrice)),r.units&&(t.push(bn.setComputeUnitLimit({units:r.units})),n.push(Z.SetComputeUnitLimit)),{instructions:t,instructionTypes:n}}async function Ke(r,t){var i,u;let n=t!=null?t:"confirmed";return(u=await((i=r.getLatestBlockhash)==null?void 0:i.call(r,{commitment:n})))==null?void 0:u.blockhash}async function lt(r,t){return r.getSignatureStatuses([t]),new Promise((n,i)=>{let u=setTimeout(i,6e4);r.onSignature(t,d=>{if(clearTimeout(u),!d.err){n("");return}i(Object.assign(d.err,{txId:t}))},"confirmed")})}function Mt(r,t){r.length<1&&gn.logWithError(`no instructions provided: ${r.toString()}`),t.length<1&&gn.logWithError(`no signers provided:, ${t.toString()}`);let n=new An;n.recentBlockhash="11111111111111111111111111111111",n.feePayer=t[0],n.add(...r);try{return Buffer.from(n.serialize({verifySignatures:!1})).toString("base64").length<kn}catch{return!1}}function me(r,t){let[n,i]=No.findProgramAddressSync(r,t);return{publicKey:n,nonce:i}}function Xe({instructions:r,payer:t,signers:n}){return Mt(r,[t,...n])}function Ye({instructions:r,payer:t,lookupTableAddressAccount:n,recentBlockhash:i=Pn.generate().publicKey.toString()}){let d=new Mo({payerKey:t,recentBlockhash:i,instructions:r}).compileToV0Message(Object.values(n!=null?n:{}));try{return Buffer.from(new wn(d).serialize()).toString("base64").length<kn}catch{return!1}}var vo=r=>Buffer.isBuffer(r)?r:r instanceof Uint8Array?Buffer.from(r.buffer,r.byteOffset,r.byteLength):Buffer.from(r),_o=r=>{let t=r.serialize({requireAllSignatures:!1,verifySignatures:!1});r instanceof wn&&(t=vo(t));try{return t instanceof Buffer?t.toString("base64"):Buffer.from(t).toString("base64")}catch{return t.toString("base64")}};function ke(r){let t=[];return r.forEach(n=>{n instanceof An&&(n.recentBlockhash||(n.recentBlockhash=Fo.toBase58()),n.feePayer||(n.feePayer=Pn.generate().publicKey)),t.push(_o(n))}),console.log("simulate tx string:",t),t}import{PublicKey as k}from"@solana/web3.js";var Tn=new k("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),hn=new k("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),In=new k("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Ft=new k("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),Js=new k("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Vo=new k("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),Bn=new k("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),Sn=new k("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),eu=new k("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),Eo=new k("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Kn=new k("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),Do=new k("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Wo=new k("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),xn=new k("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),tu=new k("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),qo=new k("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),vt=new k("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),Uo=new k("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),nu=new k("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),Go=new k("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),zo=new k("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),Xo=new k("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),ou=new k("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),iu=new k("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),ru=new k("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),au=new k("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),su=new k("6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX");var ge={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 lu from"bn.js";import{PublicKey as _t,AddressLookupTableAccount as Re}from"@solana/web3.js";async function Vt({connection:r,address:t,cluster:n="mainnet"}){let i=await be(r,[...new Set(t.map(d=>d.toString()))].map(d=>new _t(d))),u={};for(let d=0;d<t.length;d++){let p=i[d],f=t[d];if(!p)continue;let g=new Re({key:f,state:Re.deserialize(p.data)});u[f.toString()]=g,n==="devnet"?Ce[f.toString()]=g:xe[f.toString()]=g}return u}var xe={},Et=async r=>{let t="AcL1Vo8oy1ULiavEcjSUcwfBSForXMudcZvDZy5nzJkU";if(xe[t])return xe;let n=new _t(t),i=await r.getAccountInfo(n);return i&&(xe[t]=new Re({key:n,state:Re.deserialize(i.data)})),xe},Ce={},Dt=async r=>{let t="EFhMuDw1PKEuckuFRW9PavNfTH4LKP5uKHgyXDmWpFCq";if(Ce[t])return Ce;let n=new _t(t),i=await r.getAccountInfo(n);return i&&(Ce[t]=new Re({key:n,state:Re.deserialize(i.data)})),Ce};import{PublicKey as Le,sendAndConfirmTransaction as Wt,SystemProgram as Yo,Transaction as He,TransactionMessage as Qe,VersionedTransaction as Ze}from"@solana/web3.js";import Ho from"axios";var mt=2e3,dt=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 i;let t=(await Ho.get(`https://solanacompass.com/api/fees?cacheFreshTime=${3e5}`)).data,{avg:n}=(i=t==null?void 0:t[15])!=null?i:{};if(!!n)return{units:6e5,microLamports:Math.min(Math.ceil(n*1e6/6e5),25e3)}}addCustomComputeBudget(t){if(t){let{instructions:n,instructionTypes:i}=ct(t);return this.instructions.unshift(...n),this.instructionTypes.unshift(...i),!0}return!1}addTipInstruction(t){var n;return t?(this.endInstructions.push(Yo.transfer({fromPubkey:(n=t.feePayer)!=null?n:this.feePayer,toPubkey:new Le(t.address),lamports:BigInt(t.amount.toString())})),this.endInstructionTypes.push(Z.TransferTip),!0):!1}async calComputeBudget({config:t,defaultIns:n}){try{let i=t||await this.getComputeBudgetConfig();if(this.addCustomComputeBudget(i))return;n&&this.instructions.unshift(...n)}catch{n&&this.instructions.unshift(...n)}}addInstruction({instructions:t=[],endInstructions:n=[],signers:i=[],instructionTypes:u=[],endInstructionTypes:d=[],lookupTableAddress:p=[]}){return this.instructions.push(...t),this.endInstructions.push(...n),this.signers.push(...i),this.instructionTypes.push(...u),this.endInstructionTypes.push(...d),this.lookupTableAddress.push(...p.filter(f=>f!==Le.default.toString())),this}async versionBuild({txVersion:t,extInfo:n,lookupTableAddress:i}){return t===0?await this.buildV0(E(R({},n||{}),{lookupTableAddress:i})):this.build(n)}build(t){var i;let n=new He;return this.allInstructions.length&&n.add(...this.allInstructions),n.feePayer=this.feePayer,((i=this.owner)==null?void 0:i.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 y;let{recentBlockHash:d,skipPreflight:p=!0,sendAndConfirm:f,notSendToRpc:g}=u||{},T=d!=null?d:await Ke(this.connection,this.blockhashCommitment);if(n.recentBlockhash=T,this.signers.length&&n.sign(...this.signers),ke([n]),(y=this.owner)!=null&&y.isKeyPair)return{txId:f?await Wt(this.connection,n,this.signers.find(L=>L.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:p}):await this.connection.sendRawTransaction(n.serialize(),{skipPreflight:p}),signedTx:n};if(this.signAllTransactions){let K=await this.signAllTransactions([n]);if(this.signers.length)for(let L of K)try{L.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:t||{}}}buildMultiTx(t){var T;let{extraPreBuildData:n=[],extInfo:i}=t,{transaction:u}=this.build(i),d=n.filter(y=>y.transaction.instructions.length>0),p=[u,...d.map(y=>y.transaction)],f=[this.signers,...d.map(y=>y.signers)],g=[...this.instructionTypes,...d.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:L,skipTxCount:S=0,recentBlockHash:M,skipPreflight:P=!0}=y||{},h=M!=null?M:await Ke(this.connection,this.blockhashCommitment);if((B=this.owner)!=null&&B.isKeyPair){if(K){let I=[],v=0;for(let _ of p){if(++v,v<=S)continue;let b=await Wt(this.connection,_,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((_,b)=>(_.recentBlockhash=h,f[b].length&&_.sign(...f[b]),_));ke(I);let v=await this.signAllTransactions(I);if(K){let _=0,b=[],A=async()=>{if(!v[_])return;let w=await this.connection.sendRawTransaction(v[_].serialize(),{skipPreflight:P});b.push({txId:w,status:"sent",signedTx:v[_]}),L==null||L([...b]),_++;let x=!1,O=null,V=null,ie=U=>{O!==null&&clearInterval(O),V!==null&&this.connection.removeSignatureListener(V);let W=b.findIndex(J=>J.txId===w);if(W>-1){if(b[W].status==="error"||b[W].status==="success")return;b[W].status=U.err?"error":"success"}L==null||L([...b]),U.err||A()};this.loopMultiTxStatus&&(O=setInterval(async()=>{var U;if(x){clearInterval(O);return}try{let W=await this.connection.getTransaction(w,{commitment:"confirmed",maxSupportedTransactionVersion:1});W&&(x=!0,clearInterval(O),ie({err:((U=W.meta)==null?void 0:U.err)||null}),console.log("tx status from getTransaction:",w))}catch(W){x=!0,clearInterval(O),console.error("getTransaction timeout:",W,w)}},mt)),V=this.connection.onSignature(w,U=>{if(x){this.connection.removeSignatureListener(V);return}x=!0,ie(U)},"confirmed"),this.connection.getSignatureStatus(w)};return await A(),{txIds:b.map(w=>w.txId),signedTxs:v}}else{let _=[];for(let b=0;b<v.length;b+=1){let A=await this.connection.sendRawTransaction(v[b].serialize(),{skipPreflight:P});_.push(A)}return{txIds:_,signedTxs:v}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:i||{}}}async versionMultiBuild({extraPreBuildData:t,txVersion:n,extInfo:i}){return n===0?await this.buildV0MultiTx({extraPreBuildData:t,buildProps:i||{}}):this.buildMultiTx({extraPreBuildData:t,extInfo:i})}async buildV0(t){var P;let M=t||{},{lookupTableCache:n={},lookupTableAddress:i=[],forerunCreate:u,recentBlockhash:d}=M,p=ce(M,["lookupTableCache","lookupTableAddress","forerunCreate","recentBlockhash"]),f=R(R({},this.cluster==="devnet"?await Dt(this.connection):await Et(this.connection)),n),g=Array.from(new Set([...i,...this.lookupTableAddress])),T=[];for(let h of g)f[h]===void 0&&T.push(new Le(h));let y=await Vt({connection:this.connection,address:T});for(let[h,B]of Object.entries(y))f[h]=B;let K=u?Le.default.toBase58():d!=null?d:await Ke(this.connection,this.blockhashCommitment),L=new Qe({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 Ze(L);return S.sign(this.signers),{builder:this,transaction:S,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async h=>{var _;let{skipPreflight:B=!0,sendAndConfirm:I,notSendToRpc:v}=h||{};if(ke([S]),(_=this.owner)!=null&&_.isKeyPair){let b=await this.connection.sendTransaction(S,{skipPreflight:B});return I&&await lt(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(t){var T;let{extraPreBuildData:n=[],buildProps:i}=t,{transaction:u}=await this.buildV0(i),d=n.filter(y=>y.builder.instructions.length>0),p=[u,...d.map(y=>y.transaction)],f=[this.signers,...d.map(y=>y.signers)],g=[...this.instructionTypes,...d.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:i,execute:async y=>{var P;let{sequentially:K,onTxUpdate:L,recentBlockHash:S,skipPreflight:M=!0}=y||{};if(S&&p.forEach(h=>h.message.recentBlockhash=S),ke(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 lt(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 _=await this.connection.sendTransaction(h[B],{skipPreflight:M});I.push({txId:_,status:"sent",signedTx:h[B]}),L==null||L([...I]),B++;let b=!1,A=null,w=null,x=O=>{A!==null&&clearInterval(A),w!==null&&this.connection.removeSignatureListener(w);let V=I.findIndex(ie=>ie.txId===_);if(V>-1){if(I[V].status==="error"||I[V].status==="success")return;I[V].status=O.err?"error":"success"}L==null||L([...I]),O.err||v()};this.loopMultiTxStatus&&(A=setInterval(async()=>{var O;if(b){clearInterval(A);return}try{let V=await this.connection.getTransaction(_,{commitment:"confirmed",maxSupportedTransactionVersion:1});V&&(b=!0,clearInterval(A),x({err:((O=V.meta)==null?void 0:O.err)||null}),console.log("tx status from getTransaction:",_))}catch(V){b=!0,clearInterval(A),console.error("getTransaction timeout:",V,_)}},mt)),w=this.connection.onSignature(_,O=>{if(b){this.connection.removeSignatureListener(w);return}b=!0,x(O)},"confirmed"),this.connection.getSignatureStatus(_)};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:i||{}}}async sizeCheckBuild(t){var L;let K=t||{},{splitIns:n=[],computeBudgetConfig:i}=K,u=ce(K,["splitIns","computeBudgetConfig"]),d=i?ct(i):{instructions:[],instructionTypes:[]},p=this.signers.reduce((S,M)=>E(R({},S),{[M.publicKey.toBase58()]:M}),{}),f=[],g=[],T=[],y=0;if(this.allInstructions.forEach(S=>{let M=[...T,S],P=i?[...d.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 Le(I));if(S!==n[y]&&T.length<12&&(Xe({instructions:P,payer:this.feePayer,signers:B})||Xe({instructions:M,payer:this.feePayer,signers:B})))T.push(S);else{if(T.length===0)throw Error("item ins too big");y+=S===n[y]?1:0,Xe({instructions:i?[...d.instructions,...T]:[...T],payer:this.feePayer,signers:B})?f.push(new He().add(...d.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);Xe({instructions:i?[...d.instructions,...T]:[...T],payer:this.feePayer,signers:M.map(P=>P.publicKey)})?f.push(new He().add(...d.instructions,...T)):f.push(new He().add(...T)),g.push(M)}return f.forEach(S=>S.feePayer=this.feePayer),(L=this.owner)!=null&&L.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 _;let{sequentially:M,onTxUpdate:P,skipTxCount:h=0,recentBlockHash:B,skipPreflight:I=!0}=S||{},v=B!=null?B:await Ke(this.connection,this.blockhashCommitment);if(f.forEach(async(b,A)=>{b.recentBlockhash=v,g[A].length&&b.sign(...g[A])}),ke(f),(_=this.owner)!=null&&_.isKeyPair){if(M){let b=0,A=[];for(let w of f){if(++b,b<=h){A.push("tx skipped");continue}let x=await Wt(this.connection,w,this.signers.find(O=>O.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=[],O=async()=>{if(!A[w])return;w<h&&(x.push({txId:"",status:"success",signedTx:A[w]}),P==null||P([...x]),w++,O());let V=await this.connection.sendRawTransaction(A[w].serialize(),{skipPreflight:I});x.push({txId:V,status:"sent",signedTx:A[w]}),P==null||P([...x]),w++;let ie=!1,U=null,W=null,J=G=>{U!==null&&clearInterval(U),W!==null&&this.connection.removeSignatureListener(W);let ne=x.findIndex(pe=>pe.txId===V);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||O()};this.loopMultiTxStatus&&(U=setInterval(async()=>{var G;if(ie){clearInterval(U);return}try{let ne=await this.connection.getTransaction(V,{commitment:"confirmed",maxSupportedTransactionVersion:1});ne&&(ie=!0,clearInterval(U),J({err:((G=ne.meta)==null?void 0:G.err)||null}),console.log("tx status from getTransaction:",V))}catch(ne){ie=!0,clearInterval(U),console.error("getTransaction timeout:",ne,V)}},mt)),W=this.connection.onSignature(V,G=>{if(ie){this.connection.removeSignatureListener(W);return}ie=!0,J(G)},"confirmed"),this.connection.getSignatureStatus(V)};return await O(),{txIds:x.map(V=>V.txId),signedTxs:A}}else{let w=[];for(let x=0;x<A.length;x+=1){let O=await this.connection.sendRawTransaction(A[x].serialize(),{skipPreflight:I});w.push(O)}return{txIds:w,signedTxs:A}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:u||{}}}async sizeCheckBuildV0(t){var _;let v=t||{},{computeBudgetConfig:n,splitIns:i=[],lookupTableCache:u={},lookupTableAddress:d=[],insCountLimit:p=12}=v,f=ce(v,["computeBudgetConfig","splitIns","lookupTableCache","lookupTableAddress","insCountLimit"]),g=R(R({},this.cluster==="devnet"?await Dt(this.connection):await Et(this.connection)),u),T=Array.from(new Set([...this.lookupTableAddress,...d])),y=[];for(let b of T)g[b]===void 0&&y.push(new Le(b));let K=await Vt({connection:this.connection,address:y});for(let[b,A]of Object.entries(K))g[b]=A;let L=n?ct(n):{instructions:[],instructionTypes:[]},S=await Ke(this.connection,this.blockhashCommitment),M=this.signers.reduce((b,A)=>E(R({},b),{[A.publicKey.toBase58()]:A}),{}),P=[],h=[],B=[],I=0;if(this.allInstructions.forEach(b=>{let A=[...B,b],w=n?[...L.instructions,...A]:A;if(b!==i[I]&&B.length<p&&(Ye({instructions:w,payer:this.feePayer,lookupTableAddressAccount:g})||Ye({instructions:A,payer:this.feePayer,lookupTableAddressAccount:g})))B.push(b);else{if(B.length===0)throw Error("item ins too big");I+=b===i[I]?1:0;let x={};for(let O of[...new Set(T)])g[O]!==void 0&&(x[O]=g[O]);if(n&&Ye({instructions:[...L.instructions,...B],payer:this.feePayer,lookupTableAddressAccount:g,recentBlockhash:S})){let O=new Qe({payerKey:this.feePayer,recentBlockhash:S,instructions:[...L.instructions,...B]}).compileToV0Message(Object.values(g));P.push(new Ze(O))}else{let O=new Qe({payerKey:this.feePayer,recentBlockhash:S,instructions:[...B]}).compileToV0Message(Object.values(g));P.push(new Ze(O))}h.push(Array.from(new Set(B.map(O=>O.keys.filter(V=>V.isSigner).map(V=>V.pubkey.toString())).flat())).map(O=>M[O]).filter(O=>O!==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(n&&Ye({instructions:[...L.instructions,...B],payer:this.feePayer,lookupTableAddressAccount:g,recentBlockhash:S})){let w=new Qe({payerKey:this.feePayer,recentBlockhash:S,instructions:[...L.instructions,...B]}).compileToV0Message(Object.values(g));P.push(new Ze(w))}else{let w=new Qe({payerKey:this.feePayer,recentBlockhash:S,instructions:[...B]}).compileToV0Message(Object.values(g));P.push(new Ze(w))}h.push(A)}return(_=this.owner)!=null&&_.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:t,signers:h,instructionTypes:this.instructionTypes,execute:async b=>{var ie;let{sequentially:A,onTxUpdate:w,skipTxCount:x=0,recentBlockHash:O,skipPreflight:V=!0}=b||{};if(P.map(async(U,W)=>{h[W].length&&U.sign(h[W]),O&&(U.message.recentBlockhash=O)}),ke(P),(ie=this.owner)!=null&&ie.isKeyPair){if(A){let U=0,W=[];for(let J of P){if(++U,U<=x){console.log("skip tx: ",U),W.push("tx skipped");continue}let G=await this.connection.sendTransaction(J,{skipPreflight:V});await lt(this.connection,G),W.push(G)}return{txIds:W,signedTxs:P}}return{txIds:await Promise.all(P.map(async U=>await this.connection.sendTransaction(U,{skipPreflight:V}))),signedTxs:P}}if(this.signAllTransactions){let U=await this.signAllTransactions(P.slice(x,P.length)),W=[...P.slice(0,x),...U];if(A){let J=0,G=[],ne=async()=>{if(!W[J])return;if(J<x){G.push({txId:"",status:"success",signedTx:W[J]}),w==null||w([...G]),J++,ne();return}let pe=await this.connection.sendTransaction(W[J],{skipPreflight:V});G.push({txId:pe,status:"sent",signedTx:W[J]}),w==null||w([...G]),J++;let De=!1,Be=null,nt=null,rn=Ae=>{Be!==null&&clearInterval(Be),nt!==null&&this.connection.removeSignatureListener(nt);let fe=G.findIndex(mo=>mo.txId===pe);if(fe>-1){if(G[fe].status==="error"||G[fe].status==="success")return;G[fe].status=Ae.err?"error":"success"}w==null||w([...G]),Ae.err||ne()};this.loopMultiTxStatus&&(Be=setInterval(async()=>{var Ae;if(De){clearInterval(Be);return}try{let fe=await this.connection.getTransaction(pe,{commitment:"confirmed",maxSupportedTransactionVersion:1});fe&&(De=!0,clearInterval(Be),rn({err:((Ae=fe.meta)==null?void 0:Ae.err)||null}),console.log("tx status from getTransaction:",pe))}catch(fe){De=!0,clearInterval(Be),console.error("getTransaction timeout:",fe,pe)}},mt)),nt=this.connection.onSignature(pe,Ae=>{if(De){this.connection.removeSignatureListener(nt);return}De=!0,rn(Ae)},"confirmed"),this.connection.getSignatureStatus(pe)};return ne(),{txIds:[],signedTxs:W}}else{let J=[];for(let G=0;G<W.length;G+=1){let ne=await this.connection.sendTransaction(W[G],{skipPreflight:V});J.push(ne)}return{txIds:J,signedTxs:W}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:f||{}}}};import{PublicKey as _u}from"@solana/web3.js";import Eu from"bn.js";import Qo from"bn.js";var ft=new Qo(1e6);var Cn={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"},Zo=E(R({},Cn),{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 Dc=F("Raydium_Api");import{PublicKey as Rm,SystemProgram as Lm}from"@solana/web3.js";import{AccountLayout as vm,createAssociatedTokenAccountIdempotentInstruction as _m,TOKEN_PROGRAM_ID as Vm,TOKEN_2022_PROGRAM_ID as Em}from"@solana/spl-token";var qt=(...r)=>r.map(t=>{try{return typeof t=="object"?JSON.stringify(t):t}catch{return t}}).join(", "),oe=class{constructor({scope:t,moduleName:n}){this.disabled=!1;this.scope=t,this.logger=F(n)}createTxBuilder(t){return this.scope.checkOwner(),new dt({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(qt(t))}logInfo(...t){this.logger.info(qt(t))}logAndCreateError(...t){let n=qt(t);throw new Error(n)}checkDisabled(){(this.disabled||!this.scope)&&this.logAndCreateError("module not working")}};import{PublicKey as sm,SystemProgram as cm}from"@solana/web3.js";import dm from"bn.js";import{createCloseAccountInstruction as bm,createInitializeAccountInstruction as gm,createTransferInstruction as Pm,TOKEN_PROGRAM_ID as Am}from"@solana/spl-token";import{Keypair as Hl,PublicKey as Ql}from"@solana/web3.js";import jl from"bn.js";import{TOKEN_PROGRAM_ID as tm}from"@solana/spl-token";import{PublicKey as ui}from"@solana/web3.js";import Mn,{isBN as Fn}from"bn.js";import{bits as $o,BitStructure as Jc,blob as jo,Blob as el,cstr as tl,f32 as nl,f32be as ol,f64 as il,f64be as rl,greedy as al,Layout as Jo,ns64 as sl,ns64be as ul,nu64 as cl,nu64be as ll,offset as ei,s16 as ml,s16be as dl,s24 as pl,s24be as fl,s32 as ti,s32be as yl,s40 as bl,s40be as gl,s48 as Pl,s48be as Al,s8 as wl,seq as ni,struct as kl,Structure as oi,u16 as ii,u16be as Tl,u24 as hl,u24be as Il,u32 as ri,u32be as Bl,u40 as Sl,u40be as Kl,u48 as xl,u48be as Cl,u8 as ai,UInt as si,union as Rl,Union as Ll,unionLayoutDiscriminator as Ol,utf8 as Nl}from"@solana/buffer-layout";var yt=Jo,Rn=oi;var Ut=si;var Ln=ai,H=ii;var bt=ri;var se=ti;var On=ni;var N=jo;var Gt=$o,Nn=ei;var he=class extends yt{constructor(n,i,u){super(n,u);this.blob=N(n),this.signed=i}decode(n,i=0){let u=new Mn(this.blob.decode(n,i),10,"le");return this.signed?u.fromTwos(this.span*8).clone():u}encode(n,i,u=0){return typeof n=="number"&&(n=new Mn(n)),this.signed&&(n=n.toTwos(this.span*8)),this.blob.encode(n.toArrayLike(Buffer,"le",this.span),i,u)}},gt=class extends yt{constructor(n){super(8,n);this._lower=Gt(bt(),!1),this._upper=Gt(bt(),!1)}addBoolean(n){this._lower.fields.length<32?this._lower.addBoolean(n):this._upper.addBoolean(n)}decode(n,i=0){let u=this._lower.decode(n,i),d=this._upper.decode(n,i+this._lower.span);return R(R({},u),d)}encode(n,i,u=0){return this._lower.encode(n,i,u)+this._upper.encode(n,i,u+this._lower.span)}};function c(r){return new Ut(1,r)}function X(r){return new Ut(4,r)}function e(r){return new he(8,!1,r)}function C(r){return new he(16,!1,r)}function vn(r){return new he(1,!0,r)}function Oe(r){return new he(8,!0,r)}function _n(r){return new he(16,!0,r)}var je=class extends yt{constructor(n,i,u,d){super(n.span,d);this.layout=n,this.decoder=i,this.encoder=u}decode(n,i){return this.decoder(this.layout.decode(n,i))}encode(n,i,u){return this.layout.encode(this.encoder(n),i,u)}getSpan(n,i){return this.layout.getSpan(n,i)}};function o(r){return new je(N(32),t=>new ui(t),t=>t.toBuffer(),r)}function ae(r){return new je(Ln(),ci,li,r)}function ci(r){if(r===0)return!1;if(r===1)return!0;throw new Error("Invalid bool: "+r)}function li(r){return r?1:0}function Xt(r,t){let n=bt("length"),i=l([n,m(r,Nn(n,-n.span),"values")]);return new je(i,({values:u})=>u,u=>({values:u}),t)}var zt=class extends Rn{decode(t,n){return super.decode(t,n)}};function l(r,t,n){return new zt(r,t,n)}function m(r,t,n){let i,u=typeof t=="number"?t:Fn(t)?t.toNumber():new Proxy(t,{get(d,p){if(!i){let f=Reflect.get(d,"count");i=Fn(f)?f.toNumber():f,Reflect.set(d,"count",i)}return Reflect.get(d,p)},set(d,p,f){return p==="count"&&(i=f),Reflect.set(d,p,f)}});return On(r,u,n)}var Pt=l([o("mint"),o("owner"),e("amount"),X("delegateOption"),o("delegate"),c("state"),X("isNativeOption"),e("isNative"),e("delegatedAmount"),X("closeAuthorityOption"),o("closeAuthority")]);import{PublicKey as $g,SystemProgram as jg}from"@solana/web3.js";import{createAssociatedTokenAccountIdempotentInstruction as eP}from"@solana/spl-token";import lP from"decimal.js";import{createAssociatedTokenAccountIdempotentInstruction as Dy,TOKEN_2022_PROGRAM_ID as Wy,TOKEN_PROGRAM_ID as qy}from"@solana/spl-token";import{PublicKey as Gy}from"@solana/web3.js";import Xy from"bn.js";import Hy from"decimal.js";import{TOKEN_PROGRAM_ID as Qm}from"@solana/spl-token";import{PublicKey as Jm}from"@solana/web3.js";var di=l([X("mintAuthorityOption"),o("mintAuthority"),e("supply"),c("decimals"),c("isInitialized"),X("freezeAuthorityOption"),o("freezeAuthority")]);import{ASSOCIATED_TOKEN_PROGRAM_ID as sy,TOKEN_2022_PROGRAM_ID as uy,TOKEN_PROGRAM_ID as cy}from"@solana/spl-token";import{Keypair as dy,PublicKey as py,SystemProgram as yy,TransactionInstruction as by}from"@solana/web3.js";import Py from"bn.js";import D from"bn.js";var Ne=new D(1).shln(64);var pi=new D(1).shln(128),Yt=new D(1).shln(64).subn(1),fi=new D(1).shln(128).subn(1);var Me=new D("4295048016"),Fe=new D("79226673521066979257578248091"),yi=new D("59543866431248"),bi=new D("184467440737095516"),gi=new D("15793534762490258745");var Ht=60,md=new D("18446743708227953217"),Pi=[{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 Je=3,En=100;var Dn=10,Wn=100,wt=14;var $=new D(0),ve=new D(1),dd=new D(-1);var pd=new D("18446744073700000000");var Ai=l([N(8),c("bump"),H("index"),o("owner"),X("protocolFeeRate"),X("tradeFeeRate"),H("tickSpacing"),X("fundFeeRate"),m(X(),1),o("fundOwner"),m(e(),3)]),wi=l([X("blockTimestamp"),Oe("tickCumulative"),m(e(),4)]),qn=l([N(8),ae("initialized"),e("recentEpoch"),H("observationIndex"),o("poolId"),m(wi,En,"observations"),m(e(),4)]),ki=l([H("filterPeriod"),H("decayPeriod"),H("reductionFactor"),X("dynamicFeeControl"),X("maxVolatilityAccumulator"),se("tickSpacingIndexReference"),X("volatilityReference"),X("volatilityAccumulator"),e("lastUpdateTimestamp"),m(c(),46)]),Ti=l([c("state"),e("openTime"),e("endTime"),e("lastUpdateTime"),C("emissionsPerSecondX64"),e("totalEmissioned"),e("claimed"),o("mint"),o("vault"),o("creator"),C("growthGlobalX64")]),Qt=l([N(8),c("bump"),o("configId"),o("creator"),o("mintA"),o("mintB"),o("vaultA"),o("vaultB"),o("observationId"),c("mintDecimalsA"),c("mintDecimalsB"),H("tickSpacing"),C("liquidity"),C("sqrtPriceX64"),se("tickCurrent"),X(),C("feeGrowthGlobalX64A"),C("feeGrowthGlobalX64B"),e("protocolFeesTokenA"),e("protocolFeesTokenB"),m(C(),4),c("status"),c("feeOn"),N(6),m(Ti,Je,"rewardInfos"),N(8*16,"tickArrayBitmap"),m(e(),4),e("fundFeesTokenA"),e("fundFeesTokenB"),e("startTime"),e("recentEpoch"),ki.replicate("dynamicFeeInfo"),m(e(),46)]),hi=l([C("growthInsideLastX64"),e("rewardAmountOwed")]),Ii=l([N(8),c("bump"),o("nftMint"),o("poolId"),se("tickLower"),se("tickUpper"),C("liquidity"),C("feeGrowthInsideLastX64A"),C("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),m(hi,Je,"rewardInfos"),e("recentEpoch"),m(e(),7)]),gd=l([N(8),c("bump"),o("poolId"),se("tickLower"),se("tickUpper"),C("liquidity"),C("feeGrowthInsideLastX64A"),C("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),m(C(),Je,"rewardGrowthInside"),e("recentEpoch"),m(e(),7)]),Bi=l([se("tick"),_n("liquidityNet"),C("liquidityGross"),C("feeGrowthOutsideX64A"),C("feeGrowthOutsideX64B"),m(C(),Je,"rewardGrowthsOutsideX64"),e("orderPhase"),e("ordersAmount"),e("partFilledOrdersRemaining"),C("unfilledRatioX64"),m(X(),3)]),Un=l([N(8),o("poolId"),se("startTickIndex"),m(Bi,Ht,"ticks"),c("initializedTickCount"),e("recentEpoch"),m(c(),107)]),Si=l([N(8),c("bump"),m(o(),Dn,"operationOwners"),m(o(),Wn,"whitelistMints")]),Ki=l([N(8),o("poolId"),o("owner"),se("tick"),ae("zeroForOne"),e("orderPhase"),e("totalAmount"),e("filledAmount"),e("settleBase"),e("settleOutput"),e("openTime"),C("unfilledRatioX64"),m(e(),4)]),Gn=l([N(8),o("poolId"),N(8*8*wt,"positiveTickArrayBitmap"),N(8*8*wt,"negativeTickArrayBitmap")]),Pd=l([N(8),H("index"),H("filterPeriod"),H("decayPeriod"),H("reductionFactor"),X("dynamicFeeControl"),X("maxVolatilityAccumulator"),m(e(),8)]),xi=l([N(8),o("wallet"),c("nonceIndex"),e("orderNonce"),m(e(),4)]),Ad=l([e(),c("bump"),o("owner"),o("poolId"),o("positionId"),o("nftAccount"),m(e(),8)]),Ci=l([N(8),c("bump"),o("lockOwner"),o("poolId"),o("positionId"),o("nftAccount"),o("lockNftMint"),e("recentEpoch"),m(e(),8)]);import Td from"bn.js";var Nd=Buffer.from("amm_config","utf8"),Li=Buffer.from("pool","utf8"),Oi=Buffer.from("pool_vault","utf8"),Md=Buffer.from("pool_reward_vault","utf8"),Fd=Buffer.from("position","utf8"),vd=Buffer.from("tick_array","utf8"),_d=Buffer.from("operation","utf8"),Vd=Buffer.from("pool_tick_array_bitmap_extension","utf8"),Ed=Buffer.from("observation","utf8"),Dd=Buffer.from("support_mint","utf8"),Wd=Buffer.from("dynamic_fee_config","utf8"),qd=Buffer.from("permission","utf8");var Ud=Buffer.from("locked_position","utf8");import{sha256 as Yi}from"js-sha256";import Ni from"bn.js";import Yd from"decimal.js";var Qd=new Ni(1).shln(256).subn(1);import pp from"bn.js";import np from"bn.js";import ip from"decimal.js";import Pp from"bn.js";import wp from"decimal.js";import{PublicKey as sf}from"@solana/web3.js";import cf from"bn.js";import{TOKEN_2022_PROGRAM_ID as gf,TOKEN_PROGRAM_ID as Pf}from"@solana/spl-token";import Tf from"decimal.js";import Qp from"bn.js";import vp from"bn.js";import Nf from"bn.js";function j(r){let t=`global:${r}`;return Buffer.from(Yi.digest(t)).slice(0,8)}qn.span;var Ky=F("Raydium_Clmm"),xy={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 Jt}from"@solana/web3.js";var $i=l([c("instruction")]),ji=l([c("instruction")]),Ji=l([e("rewardState"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardLastUpdateTime"),e("totalReward"),e("totalRewardEmissioned"),e("rewardClaimed"),e("rewardPerSecond"),C("accRewardPerShare"),o("rewardVault"),o("rewardMint"),o("rewardSender"),e("rewardType"),m(e(),15,"padding")]),er=l([e("state"),e("nonce"),o("lpVault"),o("rewardVault"),o(),o(),e(),e(),e("totalReward"),C("perShareReward"),e("lastSlot"),e("perSlotReward")]),tr=l([e("state"),e("nonce"),o("lpVault"),o("rewardVaultA"),e("totalRewardA"),C("perShareRewardA"),e("perSlotRewardA"),c("option"),o("rewardVaultB"),N(7),e("totalRewardB"),C("perShareRewardB"),e("perSlotRewardB"),e("lastSlot"),o()]),nr=l([e(),e("state"),e("nonce"),e("validRewardTokenNum"),C("rewardMultiplier"),e("rewardPeriodMax"),e("rewardPeriodMin"),e("rewardPeriodExtend"),o("lpMint"),o("lpVault"),m(Ji,5,"rewardInfos"),o("creator"),o(),m(e(),32,"padding")]),or=new Proxy(er,{get(r,t,n){return t==="decode"?(...i)=>{let u=r.decode(...i);return E(R({},u),{version:3,rewardInfos:[{rewardVault:u.rewardVault,totalReward:u.totalReward,perSlotReward:u.perSlotReward,perShareReward:u.perShareReward}]})}:Reflect.get(r,t,n)}}),ir=new Proxy(tr,{get(r,t,n){return t==="decode"?(...i)=>{let u=r.decode(...i);return E(R({},u),{version:5,rewardInfos:[{rewardVault:u.rewardVaultA,totalReward:u.totalRewardA,perSlotReward:u.perSlotRewardA,perShareReward:u.perShareRewardA},{rewardVault:u.rewardVaultB,totalReward:u.totalRewardB,perSlotReward:u.perSlotRewardB,perShareReward:u.perShareRewardB}]})}:Reflect.get(r,t,n)}}),$n=new Proxy(nr,{get(r,t,n){return t==="decode"?(...i)=>{let u=r.decode(...i);return E(R({},u),{version:6,rewardInfos:u.rewardInfos.map(d=>{var p;return E(R({},d),{rewardType:((p=Object.entries(tt).find(f=>String(f[1])===d.rewardType.toString()))!=null?p:["Standard SPL"])[0]})})})}:Reflect.get(r,t,n)}}),rr=l([e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),ar=l([c("instruction"),e("nonce"),m(rr,5,"rewardTimeInfo")]),sr=l([c("instruction"),e("rewardReopenTime"),e("rewardEndTime"),e("rewardPerSecond")]),ur=l([c("instruction"),e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),hb=l([e("state"),o("id"),o("owner"),e("deposited"),m(e(),1,"rewardDebts")]),jn=l([e("state"),o("id"),o("owner"),e("deposited"),m(C(),1,"rewardDebts"),e(""),e("voteLockedBalance"),m(e(),15)]),Ib=l([e("state"),o("id"),o("owner"),e("deposited"),m(e(),2,"rewardDebts")]),cr=l([e("state"),o("id"),o("owner"),e("deposited"),m(C(),2,"rewardDebts"),m(e(),17)]),lr=l([e(),e("state"),o("id"),o("owner"),e("deposited"),m(C(),5,"rewardDebts"),m(e(),16)]),mr=l([c("instruction"),e("amount")]),dr=l([o("mint"),o("grantAuthority"),e("baselineVoteWeightScaledFactor"),e("maxExtraLockupVoteWeightScaledFactor"),e("lockupSaturationSecs"),vn("digitShift"),m(c(),7,"reserved1"),m(e(),7,"reserved2")]),pr=l([N(8),o("governanceProgramId"),o("realm"),o("realmGoverningTokenMint"),o("realmAuthority"),m(c(),32,"reserved1"),m(dr,4,"votingMints"),Oe("timeOffset"),c("bump"),m(c(),7,"reserved2"),m(e(),11,"reserved3")]),fr=l([Oe("startTime"),Oe("endTime"),c("kind"),m(c(),15,"reserved")]),yr=l([m(fr,1,"lockup"),e("amountDeposited_native"),e("amountInitiallyLockedNative"),ae("isUsed"),ae("allowClawback"),c("votingMintConfigIdx"),m(c(),29,"reserved")]),br=l([N(8),o("voterAuthority"),o("registrar"),m(yr,32,"deposits"),c("voterBump"),c("voterWweightRecordBump"),m(c(),94,"reserved")]);import{NATIVE_MINT as Nb}from"@solana/spl-token";var Mb=F("Raydium_farm_config"),gr=new Jt("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Pr=new Jt("FrspKwj8i3pNmKwXreTveC4fu7KL5ZbGeXdZBe2XViu1");var Fb=new Jt("3TRTX4dXUpp2eqxi3tvQDFYUV7SdDJjcPE3Y4mbtftaX");var tt={"Standard SPL":0,"Option tokens":1},Jn={[Tn.toString()]:3,[hn.toString()]:4,[In.toString()]:5,[Ft.toString()]:6,[ge.FARM_PROGRAM_ID_V3.toString()]:3,[ge.FARM_PROGRAM_ID_V4.toString()]:4,[ge.FARM_PROGRAM_ID_V5.toString()]:5,[ge.FARM_PROGRAM_ID_V6.toString()]:6};import{PublicKey as dg,SystemProgram as pg,SYSVAR_CLOCK_PUBKEY as fg,SYSVAR_RENT_PUBKEY as yg,TransactionInstruction as bg}from"@solana/web3.js";import Pg from"bn.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as wg,createAssociatedTokenAccountIdempotentInstruction as kg,TOKEN_PROGRAM_ID as Tg}from"@solana/spl-token";import qb from"bn.js";var tg=F("Raydium.farm.util");var Ng=F("Raydium_farm_instruction"),Mg={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 kP from"bn.js";import{PublicKey as Sw}from"@solana/web3.js";import{AccountLayout as Cw,MintLayout as Rw,NATIVE_MINT as Lw,TOKEN_PROGRAM_ID as Nw}from"@solana/spl-token";import to from"bn.js";var Sr=new to(25),Kr=new to(1e4);import{ASSOCIATED_TOKEN_PROGRAM_ID as UP,TOKEN_PROGRAM_ID as GP}from"@solana/spl-token";import{PublicKey as XP,SystemProgram as YP,SYSVAR_RENT_PUBKEY as HP,TransactionInstruction as QP}from"@solana/web3.js";import oA from"bn.js";var xr=l([c("instruction"),e("amountIn"),e("minAmountOut")]),Cr=l([c("instruction"),e("maxAmountIn"),e("amountOut")]),EP=l([c("instruction"),c("nonce")]),Rr=l([c("instruction"),c("nonce"),e("startTime")]),no=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"),C("swapBaseInAmount"),C("swapQuoteOutAmount"),e("swapBase2QuoteFee"),C("swapQuoteInAmount"),C("swapBaseOutAmount"),e("swapQuote2BaseFee"),o("baseVault"),o("quoteVault"),o("baseMint"),o("quoteMint"),o("lpMint"),o("openOrders"),o("marketId"),o("marketProgramId"),o("targetOrders"),o("withdrawQueue"),o("lpVault"),o("owner"),e("lpReserve"),m(e(),3,"padding")]),DP=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"),C("swapBaseInAmount"),C("swapQuoteOutAmount"),C("swapQuoteInAmount"),C("swapBaseOutAmount"),e("swapQuote2BaseFee"),e("swapBase2QuoteFee"),o("baseVault"),o("quoteVault"),o("baseMint"),o("quoteMint"),o("lpMint"),o("modelDataAccount"),o("openOrders"),o("marketId"),o("marketProgramId"),o("targetOrders"),o("owner"),m(e(),64,"padding")]),Lr=l([c("instruction"),e("baseAmountIn"),e("quoteAmountIn"),e("fixedSide"),e("otherAmountMin")]),Or=l([c("instruction"),e("lpAmount"),e("baseAmountMin"),e("quoteAmountMin")]);var Nr=l([e("fee")]);var aA=F("Raydium_liquidity_instruction");var Mr=5e4,Fr=l([e("x"),e("y"),e("price")]),lA=l([e("accountType"),e("status"),e("multiplier"),e("validDataCount"),m(Fr,Mr,"DataElement")]);import{PublicKey as TA}from"@solana/web3.js";import IA from"decimal.js";import{TOKEN_PROGRAM_ID as SA}from"@solana/spl-token";import{PublicKey as fA}from"@solana/web3.js";var gA=F("Raydium_liquidity_serum");import Jw from"bn.js";import tk from"decimal.js";import{TOKEN_PROGRAM_ID as JA}from"@solana/spl-token";import{PublicKey as tw}from"@solana/web3.js";import ow from"bn.js";import{SystemProgram as DA,SYSVAR_RENT_PUBKEY as WA,Transaction as qA,TransactionInstruction as UA}from"@solana/web3.js";import{createInitializeAccountInstruction as zA,TOKEN_PROGRAM_ID as XA}from"@solana/spl-token";function vr(r="accountFlags"){let t=new gt(r);return t.addBoolean("initialized"),t.addBoolean("market"),t.addBoolean("openOrders"),t.addBoolean("requestQueue"),t.addBoolean("eventQueue"),t.addBoolean("bids"),t.addBoolean("asks"),t}var _r=l([N(5),vr("accountFlags"),o("ownAddress"),e("vaultSignerNonce"),o("baseMint"),o("quoteMint"),o("baseVault"),e("baseDepositsTotal"),e("baseFeesAccrued"),o("quoteVault"),e("quoteDepositsTotal"),e("quoteFeesAccrued"),e("quoteDustThreshold"),o("requestQueue"),o("eventQueue"),o("bids"),o("asks"),e("baseLotSize"),e("quoteLotSize"),e("feeRateBps"),e("referrerRebatesAccrued"),N(7)]);import{PublicKey as KT}from"@solana/web3.js";import{AccountLayout as CT,NATIVE_MINT as RT,TOKEN_2022_PROGRAM_ID as LT,TOKEN_PROGRAM_ID as OT,createAssociatedTokenAccountIdempotentInstruction as NT}from"@solana/spl-token";import hk from"bn.js";import Gr from"bn.js";var mk=new Gr(0);import yk from"bn.js";import WT from"bn.js";import UT from"decimal.js";import{PublicKey as Uk,TransactionInstruction as Gk,Keypair as Xk,SystemProgram as Yk}from"@solana/web3.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as Qk,TOKEN_2022_PROGRAM_ID as Zk,TOKEN_PROGRAM_ID as $k}from"@solana/spl-token";var xk=Buffer.from("vault_and_lp_mint_auth_seed","utf8"),Ck=Buffer.from("amm_config","utf8"),Rk=Buffer.from("pool","utf8"),Lk=Buffer.from("pool_lp_mint","utf8"),Ok=Buffer.from("pool_vault","utf8"),Nk=Buffer.from("observation","utf8"),Mk=Buffer.from("permission","utf8"),Fk=Buffer.from("support_mint","utf8"),vk=Buffer.from("creator_fee_share","utf8");var _k=Buffer.from("locked_liquidity","utf8");var iT=F("Raydium_cpmm"),rT={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 Yr=l([N(8),c("bump"),ae("disableCreatePool"),H("index"),e("tradeFeeRate"),e("protocolFeeRate"),e("fundFeeRate"),e("createPoolFee"),o("protocolOwner"),o("fundOwner"),e("creatorFeeRate"),e("creatorFeeShareRate"),m(e(),14)]),oo=l([N(8),o("configId"),o("poolCreator"),o("vaultA"),o("vaultB"),o("mintLp"),o("mintA"),o("mintB"),o("mintProgramA"),o("mintProgramB"),o("observationId"),c("bump"),c("status"),c("lpDecimals"),c("mintDecimalA"),c("mintDecimalB"),e("lpAmount"),e("protocolFeesMintA"),e("protocolFeesMintB"),e("fundFeesMintA"),e("fundFeesMintB"),e("openTime"),e("epoch"),c("feeOn"),ae("enableCreatorFee"),m(c(),6),e("creatorFeesMintA"),e("creatorFeesMintB"),m(e(),28)]),uT=l([N(8),o("configId"),m(e(),30)]),cT=l([N(8),c("bump"),o("creator"),o("ammConfig"),e("shareRate"),m(e(),8)]);import{PublicKey as tx,SystemProgram as nx}from"@solana/web3.js";import{createTransferInstruction as ix,TOKEN_PROGRAM_ID as rx,TOKEN_2022_PROGRAM_ID as ax,createAssociatedTokenAccountIdempotentInstruction as sx,createSyncNativeInstruction as cx,createTransferCheckedInstruction as lx}from"@solana/spl-token";import fa from"bn.js";import px from"decimal.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as $h,TOKEN_2022_PROGRAM_ID as jh,TOKEN_PROGRAM_ID as Jh}from"@solana/spl-token";import{SystemProgram as oI,TransactionInstruction as iI}from"@solana/web3.js";import Zr from"bn.js";var vh=Buffer.from("vault_auth_seed","utf8"),_h=Buffer.from("global_config","utf8"),Vh=Buffer.from("pool_vesting","utf8"),Eh=Buffer.from("platform_config","utf8"),Dh=Buffer.from("platform_fee_vault_auth_seed","utf8"),Wh=Buffer.from("creator_fee_vault_auth_seed","utf8"),qh=Buffer.from("platform_global_access","utf8"),Uh=Buffer.from("platform_allow_config","utf8"),Gh=Buffer.from("platform_curve_rule","utf8");var sI={initialize:Buffer.from([175,175,109,31,13,152,155,237]),initializeV2:Buffer.from([67,153,175,39,218,16,38,32]),buyExactIn:Buffer.from([250,234,13,123,213,156,19,236]),buyExactOut:Buffer.from([24,211,116,40,105,3,153,56]),sellExactIn:Buffer.from([149,39,222,155,211,124,152,26]),sellExactOut:Buffer.from([95,200,71,34,8,9,11,166]),createVestingAccount:Buffer.from([129,178,2,13,217,172,230,218]),claimVestedToken:Buffer.from([49,33,104,30,189,157,79,35]),createPlatformConfig:Buffer.from([176,90,196,175,253,113,220,20]),claimPlatformFee:Buffer.from([156,39,208,135,76,237,61,72]),updatePlaformConfig:Buffer.from([195,60,76,129,146,45,67,143]),initializeWithToken2022:Buffer.from([37,190,126,222,44,154,171,17]),claimPlatformFeeFromVault:Buffer.from([117,241,198,168,248,218,80,29]),claimCreatorFee:Buffer.from([26,97,138,203,132,171,141,252]),createPlatformVestingAccount:Buffer.from([146,71,173,69,98,19,15,106]),createPlatformAllowConfig:Buffer.from([69,71,168,7,214,250,107,102]),closePlatformAllowConfig:Buffer.from([82,205,36,216,16,6,240,215]),createPlatformCurveRule:Buffer.from([148,71,180,136,122,144,59,21]),updatePlatformCurveRule:Buffer.from([90,100,206,196,54,117,120,139]),removePlatformCurveRule:Buffer.from([236,77,154,138,32,145,127,219]),closePlatformCurveRule:Buffer.from([194,114,82,45,136,88,169,159])};var uI=new Zr("18446744073709551615");var $r=l([e(),e("epoch"),c("curveType"),H("index"),e("migrateFee"),e("tradeFeeRate"),e("maxShareFeeRate"),e("minSupplyA"),e("maxLockRate"),e("minSellRateA"),e("minMigrateRateA"),e("minFundRaisingB"),o("mintB"),o("protocolFeeOwner"),o("migrateFeeOwner"),o("migrateToAmmWallet"),o("migrateToCpmmWallet"),m(e(),16)]),jr=l([e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod"),e("startTime"),e("totalAllocatedShare")]),Jr=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"),jr.replicate("vestingSchedule"),o("configId"),o("platformId"),o("mintA"),o("mintB"),o("vaultA"),o("vaultB"),o("creator"),c("mintProgramFlag"),c("cpmmCreatorFeeOn"),e("platformVestingShare"),m(c(),54)]),dI=l([e(),e("epoch"),o("poolId"),o("beneficiary"),e("claimedAmount"),e("tokenShareAmount"),m(e(),8)]),ea=l([c("migrateType"),c("migrateCpmmFeeOn"),e("supply"),e("totalSellA"),e("totalFundRaisingB"),e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod")]),pI=l([e("epoch"),c("index"),o("configId"),ea.replicate("bondingCurveParam"),m(e(),50)]),ro=l([e(),e("epoch"),o("platformClaimFeeWallet"),o("platformLockNftWallet"),e("platformScale"),e("creatorScale"),e("burnScale"),e("feeRate"),m(c(),64,"name"),m(c(),256,"web"),m(c(),256,"img"),o("cpConfigId"),e("creatorFeeRate"),o("transferFeeExtensionAuth"),o("platformVestingWallet"),e("platformVestingScale"),o("platformCpCreator"),c("restrictGlobalConfig"),c("restrictCurveParam"),o("curveRuleManager"),m(c(),78)]),ta=l([c("field"),c("op"),C("value")]),na=l([H("groupId"),e("epoch"),Xt(ta,"constraints")]),oa=l([e(),c("bump"),c("version"),o("platformId"),o("configId"),e("epoch"),m(e(),8),Xt(na,"groups")]);import{TOKEN_2022_PROGRAM_ID as bI,TOKEN_PROGRAM_ID as gI}from"@solana/spl-token";import ia from"bn.js";var CI=new ia(1e6);import NI from"bn.js";import FI from"decimal.js";import pB from"bn.js";import yB from"decimal.js";import WI from"bn.js";import UI from"decimal.js";import JI from"bn.js";import tB from"decimal.js";import uo from"bn.js";import tn from"decimal.js";var It=class{static _multipler(t){return new tn(10).pow(t)}static getPrice({priceX64:t,decimalA:n,decimalB:i}){return new tn(t.toString()).div(this._Q64).mul(this._multipler(n)).div(this._multipler(i))}static getPriceX64({price:t,decimalA:n,decimalB:i}){let u=t.mul(this._multipler(i)).div(this._multipler(n));return new uo(u.mul(this._Q64).toFixed(0))}};It._Q64=new tn(new uo(1).shln(64).toString());import{NATIVE_MINT as RS,TOKEN_2022_PROGRAM_ID as LS,TOKEN_PROGRAM_ID as OS,createAssociatedTokenAccountIdempotentInstruction as MS,createSyncNativeInstruction as FS,getTransferFeeConfig as vS,unpackMint as _S}from"@solana/spl-token";import Q from"bn.js";import{PublicKey as ma,SystemProgram as DS}from"@solana/web3.js";import YS from"decimal.js";var HS={initPriceX64:new Q("515752397214619"),supply:new Q(1e15),totalSellA:new Q(7931e11),totalFundRaisingB:new Q(85e9),totalFundRaisingBUSD:new Q(125e8),totalLockedAmount:new Q("0"),cliffPeriod:new Q("0"),unlockPeriod:new Q("0"),decimals:6,virtualA:new Q("1073471847374405"),virtualB:new Q("30050573465"),realA:new Q(0),realB:new Q(0),protocolFee:new Q(0),platformId:new ma("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),vestingSchedule:{totalLockedAmount:new Q(0),cliffPeriod:new Q(0),unlockPeriod:new Q(0),startTime:new Q(0),totalAllocatedShare:new Q(0)}},QS=new Q(1e4);var da={[Bn.toBase58()]:3};var pa=l([N(5),N(8),o("ownAddress"),e("vaultSignerNonce"),o("baseMint"),o("quoteMint"),o("baseVault"),e("baseDepositsTotal"),e("baseFeesAccrued"),o("quoteVault"),e("quoteDepositsTotal"),e("quoteFeesAccrued"),e("quoteDustThreshold"),o("requestQueue"),o("eventQueue"),o("bids"),o("asks"),e("baseLotSize"),e("quoteLotSize"),e("feeRateBps"),e("referrerRebatesAccrued"),N(7)]);import{PublicKey as AK}from"@solana/web3.js";var IK=F("Serum");import{ASSOCIATED_TOKEN_PROGRAM_ID as NK,TOKEN_2022_PROGRAM_ID as MK,TOKEN_PROGRAM_ID as FK}from"@solana/spl-token";import{PublicKey as _K,SystemProgram as VK,TransactionInstruction as EK}from"@solana/web3.js";import WK from"bn.js";var Ux=new fa(0);import{PublicKey as ya,Transaction as nn,TransactionInstruction as ba}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ga}from"@solana/spl-token";import co from"bn.js";var te=class extends oe{static getPdaPoolId(t,n){return me([te.SEED_CONFIG.pool.id,n.toBuffer()],t)}static getPdaOwnerId(t,n,i,u){return me([te.SEED_CONFIG.owner.id,n.toBuffer(),i.toBuffer(),Buffer.from(new co(u).toArray())],t)}static async getAllInfo({connection:t,programId:n,poolIds:i,wallet:u,chainTime:d}){if(i.length===0)return[];let p=i.map(y=>te.getPdaPoolId(n,y).publicKey),f=[];for(let y=0;y<te.VERSION_PROJECT.length;y++)f.push(...p.map(K=>te.getPdaOwnerId(n,K,u,y).publicKey));let g=await be(t,[...p,...f]),T=[];for(let y=0;y<g.length;y++){let K=Math.floor(y/i.length),L=y%i.length,S=p[L],M=f[y],P=g[L],h=g[i.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(),_=B.endTime.toNumber(),b=I.tokenInfo.map(x=>x.debtAmount.gt(new co(0))).filter(x=>!x).length!==3,A=d>v&&d<_&&B.status===1,w=b&&A;T.push({programId:n,poolId:S,ammId:B.ammId,ownerAccountId:M,snapshotLpAmount:I.lpAmount,project:te.VERSION_PROJECT[K],openTime:v,endTime:_,canClaim:w,canClaimErrorType:b?A?void 0:"outOfOperationalTime":"alreadyClaimIt",tokenInfo:B.tokenInfo.map((x,O)=>({mintAddress:x.mintAddress,mintVault:x.mintVault,mintDecimals:x.mintDecimals,perLpLoss:x.perLpLoss,debtAmount:I.tokenInfo[O].debtAmount.add(I.tokenInfo[O].claimedAmount)}))})}return T}async makeClaimTransaction({poolInfo:t,ownerInfo:n,feePayer:i}){n.wallet||this.scope.checkOwner();let u=this.createTxBuilder(i),d=n.wallet||this.scope.ownerPubKey,p=[];for(let T of t.tokenInfo){let{account:y,instructionParams:K}=await this.scope.account.getOrCreateTokenAccount({mint:T.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:T.mintAddress.equals(ee.WSOL.mint),createInfo:{payer:d,amount:0},skipCloseAccount:!T.mintAddress.equals(ee.WSOL.mint),associatedOnly:T.mintAddress.equals(ee.WSOL.mint)?!1:n.associatedOnly});K&&u.addInstruction(K),p.push(y)}u.addInstruction({instructions:[te.makeClaimInstruction({programId:t.programId,poolInfo:t,ownerInfo:{wallet:d,ownerPda:t.ownerAccountId,claimAddress:p}})]});let{transaction:f,signers:g}=u.build();return[{transaction:f,signer:g}]}async makeClaimAllTransaction({poolInfos:t,ownerInfo:n,feePayer:i}){let u=this.createTxBuilder(i),d=n.wallet||this.scope.ownerPubKey,p={};for(let y of t){let K=[];for(let L of y.tokenInfo){let{account:S,instructionParams:M}=await this.scope.account.getOrCreateTokenAccount({mint:L.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:L.mintAddress.equals(ee.WSOL.mint),createInfo:{payer:d,amount:0},skipCloseAccount:!L.mintAddress.equals(ee.WSOL.mint),associatedOnly:L.mintAddress.equals(ee.WSOL.mint)?!1:n.associatedOnly});M&&u.addInstruction(M),S&&(p[L.mintAddress.toString()]=S,K.push(S))}u.addInstruction({instructions:[te.makeClaimInstruction({programId:y.programId,poolInfo:y,ownerInfo:{wallet:d,ownerPda:y.ownerAccountId,claimAddress:K}})]})}let{transaction:f,signers:g}=u.build(),T=u.allInstructions;return Mt(T,[d,...g.map(y=>y.publicKey)])?[{transaction:f,signer:g}]:[{transaction:new nn().add(...T.slice(0,u.AllTxData.instructions.length-1)),signer:g},{transaction:new nn().add(...T.slice(u.AllTxData.instructions.length-1)),signer:[]},{transaction:new nn().add(...u.AllTxData.endInstructions),signer:[]}]}static makeClaimInstruction({programId:t,poolInfo:n,ownerInfo:i}){let u=l([]),d=[{pubkey:i.wallet,isSigner:!0,isWritable:!0},{pubkey:n.poolId,isSigner:!1,isWritable:!0},{pubkey:i.ownerPda,isSigner:!1,isWritable:!0},...i.claimAddress.map(g=>({pubkey:g,isSigner:!1,isWritable:!0})),...n.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:d,programId:t,data:f})}},ue=te;ue.CLAIMED_NUM=3,ue.POOL_LAYOUT=l([N(8),c("bump"),c("status"),e("openTime"),e("endTime"),o("ammId"),m(l([c("mintDecimals"),o("mintAddress"),o("mintVault"),e("perLpLoss"),e("totalClaimedAmount")]),te.CLAIMED_NUM,"tokenInfo"),m(e(),10,"padding")]),ue.OWNER_LAYOUT=l([N(8),c("bump"),c("version"),o("poolId"),o("owner"),e("lpAmount"),m(l([o("mintAddress"),e("debtAmount"),e("claimedAmount")]),te.CLAIMED_NUM,"tokenInfo"),m(e(),4,"padding")]),ue.DEFAULT_POOL_ID=["58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2","6UmmUiYoBjSrhakAobJw8BvkmJtDVxaeBtbt7rxWo1mg","AVs9TA4nWDzfPJE9gGVNJMVhcQy3V9PGazuz33BfG2RA","DVa7Qmb5ct9RCpaU7UTpSaf3GVMYz17vNVU67XpdCRut","7XawhbbxtsRcQA8KTkHT9f9nc6d69UwqCDh6U5EEbEmX","6a1CsrpeZubDjEJE9s1CMVheB6HWM5d7m1cj2jkhyXhj","EoNrn8iUhwgJySD1pHu8Qxm5gSQqLK3za4m8xzD2RuEb","AceAyRTWt4PyB2pHqf2qhDgNZDtKVNaxgL8Ru3V4aN1P","6tmFJbMk5yVHFcFy7X2K8RwHjKLr6KVFLYXpgpBNeAxB"].map(t=>new ya(t)),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 aC}from"@solana/web3.js";import{getTransferFeeConfig as uC,MintLayout as cC,TOKEN_2022_PROGRAM_ID as lC,TOKEN_PROGRAM_ID as mC,unpackMint as dC}from"@solana/spl-token";var ER=new Ie(2),DR=new Ie(3),WR=new Ie(5),on=new Ie(10),qR=new Ie(100),UR=new Ie(1e3),GR=new Ie(1e4);var Aa=F("Raydium_amount"),Bt=Ue(Pa);function lo(r,t){let n="0",i="0";if(r.includes(".")){let u=r.split(".");u.length===2?([n,i]=u,i=i.padEnd(t,"0")):Aa.logWithError(`invalid number string, num: ${r}`)}else n=r;return[n,i.slice(0,t)||i]}var re=class extends q{constructor(n,i,u=!0,d){let p=new Pe(0),f=on.pow(new Pe(n.decimals));if(u)p=Y(i);else{let g=new Pe(0),T=new Pe(0);if(typeof i=="string"||typeof i=="number"||typeof i=="bigint"){let[y,K]=lo(i.toString(),n.decimals);g=Y(y),T=Y(K)}g=g.mul(f),p=g.add(T)}super(p,f);this.logger=F(d||"TokenAmount"),this.token=n}get raw(){return this.numerator}isZero(){return this.raw.isZero()}gt(n){return this.token.equals(n.token)||this.logger.logWithError("gt token not equals"),this.raw.gt(n.raw)}lt(n){return this.token.equals(n.token)||this.logger.logWithError("lt token not equals"),this.raw.lt(n.raw)}add(n){return this.token.equals(n.token)||this.logger.logWithError("add token not equals"),new re(this.token,this.raw.add(n.raw))}subtract(n){return this.token.equals(n.token)||this.logger.logWithError("sub token not equals"),new re(this.token,this.raw.sub(n.raw))}toSignificant(n=this.token.decimals,i,u=0){return super.toSignificant(n,i,u)}toFixed(n=this.token.decimals,i,u=0){return n>this.token.decimals&&this.logger.logWithError("decimals overflow"),super.toFixed(n,i,u)}toExact(n={groupSeparator:""}){return Bt.DP=this.token.decimals,new Bt(this.numerator.toString()).div(this.denominator.toString()).toFormat(n)}},Ee=class extends q{constructor(n,i,u=!0,d){let p=new Pe(0),f=on.pow(new Pe(n.decimals));if(u)p=Y(i);else{let g=new Pe(0),T=new Pe(0);if(typeof i=="string"||typeof i=="number"||typeof i=="bigint"){let[y,K]=lo(i.toString(),n.decimals);g=Y(y),T=Y(K)}g=g.mul(f),p=g.add(T)}super(p,f);this.logger=F(d||"TokenAmount"),this.currency=n}get raw(){return this.numerator}isZero(){return this.raw.isZero()}gt(n){return this.currency.equals(n.currency)||this.logger.logWithError("gt currency not equals"),this.raw.gt(n.raw)}lt(n){return this.currency.equals(n.currency)||this.logger.logWithError("lt currency not equals"),this.raw.lt(n.raw)}add(n){return this.currency.equals(n.currency)||this.logger.logWithError("add currency not equals"),new Ee(this.currency,this.raw.add(n.raw))}sub(n){return this.currency.equals(n.currency)||this.logger.logWithError("sub currency not equals"),new Ee(this.currency,this.raw.sub(n.raw))}toSignificant(n=this.currency.decimals,i,u=0){return super.toSignificant(n,i,u)}toFixed(n=this.currency.decimals,i,u=0){return n>this.currency.decimals&&this.logger.logWithError("decimals overflow"),super.toFixed(n,i,u)}toExact(n={groupSeparator:""}){return Bt.DP=this.currency.decimals,new Bt(this.numerator.toString()).div(this.denominator.toString()).toFormat(n)}};export{Ee as CurrencyAmount,re as TokenAmount,lo as splitNumber};
//# sourceMappingURL=amount.mjs.map