UNPKG

@raydium-io/raydium-sdk-v2

Version:

An SDK for building applications on top of Raydium.

2 lines 77.2 kB
var yo=Object.defineProperty,bo=Object.defineProperties;var go=Object.getOwnPropertyDescriptors;var ot=Object.getOwnPropertySymbols;var un=Object.prototype.hasOwnProperty,cn=Object.prototype.propertyIsEnumerable;var sn=(i,t,n)=>t in i?yo(i,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):i[t]=n,R=(i,t)=>{for(var n in t||(t={}))un.call(t,n)&&sn(i,n,t[n]);if(ot)for(var n of ot(t))cn.call(t,n)&&sn(i,n,t[n]);return i},V=(i,t)=>bo(i,go(t));var se=(i,t)=>{var n={};for(var r in i)un.call(i,r)&&t.indexOf(r)<0&&(n[r]=i[r]);if(i!=null&&ot)for(var r of ot(i))t.indexOf(r)<0&&cn.call(i,r)&&(n[r]=i[r]);return n};import{PublicKey as Ia}from"@solana/web3.js";import It from"decimal.js";import{TOKEN_PROGRAM_ID as Ba}from"@solana/spl-token";import{ComputeBudgetProgram as dn,Keypair as fn,PublicKey as wo,Transaction as yn,TransactionMessage as ko,VersionedTransaction as bn}from"@solana/web3.js";import{get as ln,set as Po}from"lodash";var Bt=class{constructor(t){this.logLevel=t.logLevel!==void 0?t.logLevel:0,this.name=t.name}set level(t){this.logLevel=t}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(t){return t<=this.logLevel}error(...t){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...t),this):this}logWithError(...t){let n=t.map(r=>typeof r=="object"?JSON.stringify(r):r).join(", ");throw new Error(n)}warning(...t){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...t),this):this}info(...t){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...t),this):this}debug(...t){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...t),this):this}},mn={},Ao={};function E(i){let t=ln(mn,i);if(!t){let n=ln(Ao,i);t=new Bt({name:i,logLevel:n}),Po(mn,i,t)}return t}var Q={CreateAccount:"CreateAccount",InitAccount:"InitAccount",CreateATA:"CreateATA",CloseAccount:"CloseAccount",TransferAmount:"TransferAmount",InitMint:"InitMint",MintTo:"MintTo",InitMarket:"InitMarket",Util1216OwnerClaim:"Util1216OwnerClaim",SetComputeUnitPrice:"SetComputeUnitPrice",SetComputeUnitLimit:"SetComputeUnitLimit",ClmmCreatePool:"ClmmCreatePool",ClmmOpenPosition:"ClmmOpenPosition",ClmmIncreasePosition:"ClmmIncreasePosition",ClmmDecreasePosition:"ClmmDecreasePosition",ClmmClosePosition:"ClmmClosePosition",ClmmSwapBaseIn:"ClmmSwapBaseIn",ClmmSwapBaseOut:"ClmmSwapBaseOut",ClmmInitReward:"ClmmInitReward",ClmmSetReward:"ClmmSetReward",ClmmCollectReward:"ClmmCollectReward",ClmmLockPosition:"ClmmLockPosition",ClmmHarvestLockPosition:"ClmmHarvestLockPosition",AmmV4Swap:"AmmV4Swap",AmmV4AddLiquidity:"AmmV4AddLiquidity",AmmV4RemoveLiquidity:"AmmV4RemoveLiquidity",AmmV4SimulatePoolInfo:"AmmV4SimulatePoolInfo",AmmV4SwapBaseIn:"AmmV4SwapBaseIn",AmmV4SwapBaseOut:"AmmV4SwapBaseOut",AmmV4CreatePool:"AmmV4CreatePool",AmmV4InitPool:"AmmV4InitPool",AmmV5AddLiquidity:"AmmV5AddLiquidity",AmmV5RemoveLiquidity:"AmmV5RemoveLiquidity",AmmV5SimulatePoolInfo:"AmmV5SimulatePoolInfo",AmmV5SwapBaseIn:"AmmV5SwapBaseIn",AmmV5SwapBaseOut:"AmmV5SwapBaseOut",RouteSwap:"RouteSwap",RouteSwap1:"RouteSwap1",RouteSwap2:"RouteSwap2",FarmV3Deposit:"FarmV3Deposit",FarmV3Withdraw:"FarmV3Withdraw",FarmV3CreateLedger:"FarmV3CreateLedger",FarmV4Withdraw:"FarmV4Withdraw",FarmV5Deposit:"FarmV5Deposit",FarmV5Withdraw:"FarmV5Withdraw",FarmV5CreateLedger:"FarmV5CreateLedger",FarmV6Deposit:"FarmV6Deposit",FarmV6Withdraw:"FarmV6Withdraw",FarmV6Create:"FarmV6Create",FarmV6Restart:"FarmV6Restart",FarmV6CreatorAddReward:"FarmV6CreatorAddReward",FarmV6CreatorWithdraw:"FarmV6CreatorWithdraw",CpmmCreatePool:"CpmmCreatePool",CpmmAddLiquidity:"CpmmAddLiquidity",CpmmWithdrawLiquidity:"CpmmWithdrawLiquidity",CpmmSwapBaseIn:"CpmmSwapBaseIn",CpmmSwapBaseOut:"CpmmSwapBaseOut",CpmmLockLp:"CpmmLockLp",CpmmCollectLockFee:"CpmmCollectLockFee",TransferTip:"TransferTip"};import{TOKEN_PROGRAM_ID as To}from"@solana/spl-token";var pn=E("Raydium_txUtil"),gn=1644;function it(i){let t=[],n=[];return i.microLamports&&(t.push(dn.setComputeUnitPrice({microLamports:i.microLamports})),n.push(Q.SetComputeUnitPrice)),i.units&&(t.push(dn.setComputeUnitLimit({units:i.units})),n.push(Q.SetComputeUnitLimit)),{instructions:t,instructionTypes:n}}async function Ke(i,t){var r,a;let n=t!=null?t:"confirmed";return(a=await((r=i.getLatestBlockhash)==null?void 0:r.call(i,{commitment:n})))==null?void 0:a.blockhash}async function rt(i,t){return i.getSignatureStatuses([t]),new Promise((n,r)=>{let a=setTimeout(r,6e4);i.onSignature(t,m=>{if(clearTimeout(a),!m.err){n("");return}r(Object.assign(m.err,{txId:t}))},"confirmed")})}function St(i,t){i.length<1&&pn.logWithError(`no instructions provided: ${i.toString()}`),t.length<1&&pn.logWithError(`no signers provided:, ${t.toString()}`);let n=new yn;n.recentBlockhash="11111111111111111111111111111111",n.feePayer=t[0],n.add(...i);try{return Buffer.from(n.serialize({verifySignatures:!1})).toString("base64").length<gn}catch{return!1}}function oe(i,t){let[n,r]=wo.findProgramAddressSync(i,t);return{publicKey:n,nonce:r}}function qe({instructions:i,payer:t,signers:n}){return St(i,[t,...n])}function Ue({instructions:i,payer:t,lookupTableAddressAccount:n,recentBlockhash:r=fn.generate().publicKey.toString()}){let m=new ko({payerKey:t,recentBlockhash:r,instructions:i}).compileToV0Message(Object.values(n!=null?n:{}));try{return Buffer.from(new bn(m).serialize()).toString("base64").length<gn}catch{return!1}}var ho=i=>Buffer.isBuffer(i)?i:i instanceof Uint8Array?Buffer.from(i.buffer,i.byteOffset,i.byteLength):Buffer.from(i),Io=i=>{let t=i.serialize({requireAllSignatures:!1,verifySignatures:!1});i instanceof bn&&(t=ho(t));try{return t instanceof Buffer?t.toString("base64"):Buffer.from(t).toString("base64")}catch{return t.toString("base64")}};function Ae(i){let t=[];return i.forEach(n=>{n instanceof yn&&(n.recentBlockhash||(n.recentBlockhash=To.toBase58()),n.feePayer||(n.feePayer=fn.generate().publicKey)),t.push(Io(n))}),console.log("simulate tx string:",t),t}import{TOKEN_PROGRAM_ID as NR}from"@solana/spl-token";import{PublicKey as _R}from"@solana/web3.js";import ka from"big.js";import mR from"bn.js";import Ie from"bn.js";import zC from"decimal.js";import{PublicKey as Bo}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Pn}from"@solana/spl-token";var at={chainId:101,address:Bo.default.toBase58(),programId:Pn.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:Pn.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 Ct}from"@solana/web3.js";import{PublicKey as z,SystemProgram as An,SYSVAR_RENT_PUBKEY as So}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Ko}from"@solana/spl-token";function xe({pubkey:i,isSigner:t=!1,isWritable:n=!0}){return{pubkey:i,isWritable:n,isSigner:t}}var xo=[xe({pubkey:Ko,isWritable:!1}),xe({pubkey:An.programId,isWritable:!1}),xe({pubkey:So,isWritable:!1})];function Kt({publicKey:i,transformSol:t}){let n=wn(i.toString());if(n instanceof z)return t&&n.equals(we)?fe:n;if(t&&n.toString()===we.toBase58())return fe;if(typeof n=="string"){if(n===z.default.toBase58())return z.default;try{return new z(n)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function wn(i){try{return new z(i)}catch{return i}}var xt=new z("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Ge=new z("SysvarRent111111111111111111111111111111111"),Ya=new z("SysvarC1ock11111111111111111111111111111111"),st=new z("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),Co=new z("Sysvar1nstructions1111111111111111111111111"),Ro=An.programId,Ha=new z("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Qa=new z("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Za=new z("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),$a=new z("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),ja=new z("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Ja=new z("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),es=new z("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),ts=new z("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),ns=new z("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),os=new z("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),is=new z("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),fe=new z("So11111111111111111111111111111111111111112"),we=z.default;function ke(i){return Kt({publicKey:i,transformSol:!0})}var Rt=class{constructor({mint:t,decimals:n,symbol:r,name:a,skipMint:m=!1,isToken2022:f=!1}){if(t===we.toBase58()||t instanceof Ct&&we.equals(t)){this.decimals=le.decimals,this.symbol=le.symbol,this.name=le.name,this.mint=new Ct(le.address),this.isToken2022=!1;return}this.decimals=n,this.symbol=r||t.toString().substring(0,6),this.name=a||t.toString().substring(0,6),this.mint=m?Ct.default:Kt({publicKey:t}),this.isToken2022=f}equals(t){return this===t?!0:this.mint.equals(t.mint)}},J=Rt;J.WSOL=new Rt(V(R({},le),{mint:le.address}));var Lt=class{constructor({decimals:t,symbol:n="UNKNOWN",name:r="UNKNOWN"}){this.decimals=t,this.symbol=n,this.name=r}equals(t){return this===t}},ut=Lt;ut.SOL=new Lt(at);import lt from"big.js";import Mo from"bn.js";import Fo from"decimal.js-light";import ze from"bn.js";var kn=9007199254740991;function ne(i){let t=E("Raydium_parseBigNumberish");if(i instanceof ze)return i;if(typeof i=="string"){if(i.match(/^-?[0-9]+$/))return new ze(i);t.logWithError(`invalid BigNumberish string: ${i}`)}return typeof i=="number"?(i%1&&t.logWithError(`BigNumberish number underflow: ${i}`),(i>=kn||i<=-kn)&&t.logWithError(`BigNumberish number overflow: ${i}`),new ze(String(i))):typeof i=="bigint"?new ze(i.toString()):(t.error(`invalid BigNumberish value: ${i}`),new ze(0))}import Lo from"toformat";var Oo=Lo,Xe=Oo;var ct=E("module/fraction"),Ot=Xe(lt),Ye=Xe(Fo),vo={[0]:Ye.ROUND_DOWN,[1]:Ye.ROUND_HALF_UP,[2]:Ye.ROUND_UP},_o={[0]:lt.roundDown,[1]:lt.roundHalfUp,[2]:lt.roundUp},U=class{constructor(t,n=new Mo(1)){this.numerator=ne(t),this.denominator=ne(n)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new U(this.denominator,this.numerator)}add(t){let n=t instanceof U?t:new U(ne(t));return this.denominator.eq(n.denominator)?new U(this.numerator.add(n.numerator),this.denominator):new U(this.numerator.mul(n.denominator).add(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}sub(t){let n=t instanceof U?t:new U(ne(t));return this.denominator.eq(n.denominator)?new U(this.numerator.sub(n.numerator),this.denominator):new U(this.numerator.mul(n.denominator).sub(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}mul(t){let n=t instanceof U?t:new U(ne(t));return new U(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(t){let n=t instanceof U?t:new U(ne(t));return new U(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(t,n={groupSeparator:""},r=1){Number.isInteger(t)||ct.logWithError(`${t} is not an integer.`),t<=0&&ct.logWithError(`${t} is not positive.`),Ye.set({precision:t+1,rounding:vo[r]});let a=new Ye(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(t);return a.toFormat(a.decimalPlaces(),n)}toFixed(t,n={groupSeparator:""},r=1){return Number.isInteger(t)||ct.logWithError(`${t} is not an integer.`),t<0&&ct.logWithError(`${t} is negative.`),Ot.DP=t,Ot.RM=_o[r]||1,new Ot(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,n)}isZero(){return this.numerator.isZero()}};import Vo from"bn.js";var Cs=new U(new Vo(100));var Fs=E("Raydium_price");import{merge as Hx}from"lodash";import bc from"axios";import{PublicKey as Eo}from"@solana/web3.js";import{MINT_SIZE as zs,TOKEN_PROGRAM_ID as Xs,getTransferFeeConfig as Ys,unpackMint as Hs}from"@solana/spl-token";var Nt=E("Raydium_accountInfo_util");async function ye(i,t,n){let{batchRequest:r,commitment:a="confirmed",chunkCount:m=100}=R({batchRequest:!1},n),f=Mt(t,m),p=new Array(f.length).fill([]);if(r){let g=f.map(L=>{let C=i._buildArgs([L.map(B=>B.toBase58())],a,"base64");return{methodName:"getMultipleAccounts",args:C}}),S=Mt(g,10);p=(await(await Promise.all(S.map(async L=>await i._rpcBatchRequest(L)))).flat()).map(L=>(L.error&&Nt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${L.error.message}`),L.result.value.map(C=>{if(C){let{data:B,executable:N,lamports:P,owner:A,rentEpoch:I}=C;return B.length!==2&&B[1]!=="base64"&&Nt.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(B[0],"base64"),executable:N,lamports:P,owner:new Eo(A),rentEpoch:I}}return null})))}else try{p=await Promise.all(f.map(g=>i.getMultipleAccountsInfo(g,a)))}catch(g){g instanceof Error&&Nt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${g.message}`)}return p.flat()}function Mt(i,t=1,n=[]){let r=[...i];if(t<=0)return n;for(;r.length;)n.push(r.splice(0,t));return n}import{PublicKey as eu}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as nu}from"@solana/spl-token";import{PublicKey as h}from"@solana/web3.js";var Tn=new h("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),hn=new h("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),In=new h("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Ft=new h("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),au=new h("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Do=new h("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),Bn=new h("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),Sn=new h("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),su=new h("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),Wo=new h("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Kn=new h("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),qo=new h("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Uo=new h("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),xn=new h("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),uu=new h("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Go=new h("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),vt=new h("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),zo=new h("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),cu=new h("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),Xo=new h("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Yo=new h("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),Ho=new h("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),lu=new h("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),mu=new h("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),du=new h("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),pu=new h("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),fu=new h("6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX");var be={OPEN_BOOK_PROGRAM:new h("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),SERUM_PROGRAM_ID_V3:new h("Ray1111111111111111111111111111111111111111"),AMM_V4:new h("DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav"),AMM_STABLE:new h("DRayDdXc1NZQ9C3hRWmoSf8zK4iapgMnjdNZWrfwsP8m"),CLMM_PROGRAM_ID:new h("DRayAUgENGQBKVaX8owNhgzkEDyoHTGVEGHVJT1E9pfH"),CLMM_LOCK_PROGRAM_ID:new h("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),CLMM_LOCK_AUTH_ID:new h("6Aoh8h2Lw2m5UGxYR8AdAL87jTWYeKoxM52mJRzfYwN"),CREATE_CPMM_POOL_PROGRAM:new h("DRaycpLY18LhpbydsBWbVJtxpNv9oXPgjRSfpF2bWpYb"),CREATE_CPMM_POOL_AUTH:new h("CXniRufdq5xL8t8jZAPxsPZDpuudwuJSPWnbcD5Y5Nxq"),CREATE_CPMM_POOL_FEE_ACC:new h("3oE58BKVt8KuYkGxx8zBojugnymWmBiyafWgMrnb6eYy"),LOCK_CPMM_PROGRAM:new h("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),LOCK_CPMM_AUTH:new h("7qWVV8UY2bRJfDLP4s37YzBPKUkVB46DStYJBpYbQzu3"),UTIL1216:h.default,Router:new h("DRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd"),FARM_PROGRAM_ID_V3:new h("DRayWyrLmEW5KEeqs8kdTMMaBabapqagaBC7KWpGtJeZ"),FARM_PROGRAM_ID_V4:new h("Ray1111111111111111111111111111111111111111"),FARM_PROGRAM_ID_V5:new h("DRayiCGSZgku1GTK6rXD6mVDdingXy6APAH1R6R5L2LC"),FARM_PROGRAM_ID_V6:new h("DRayzbYakXs45ELHkzH6vC3fuhQqTAnv5A68gdFuvZyZ"),LAUNCHPAD_PROGRAM:new h("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),LAUNCHPAD_AUTH:new h("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),LAUNCHPAD_PLATFORM:new h("2Jx4KTDrVSdWNazuGpcA8n3ZLTRGGBDxAWhuKe2Xcj2a"),LAUNCHPAD_CONFIG:new h("7ZR4zD7PYfY2XxoG1Gxcy2EgEeGYrpxrwzPuwdUBssEt"),FEE_DESTINATION_ID:new h("9y8ENuuZ3b19quffx9hQvRVygG5ky6snHfRvGpuSfeJy"),MODEL_DATA_PUBKEY:new h("Ray1111111111111111111111111111111111111111")};import gu from"bn.js";import{PublicKey as _t,AddressLookupTableAccount as Le}from"@solana/web3.js";async function Vt({connection:i,address:t,cluster:n="mainnet"}){let r=await ye(i,[...new Set(t.map(m=>m.toString()))].map(m=>new _t(m))),a={};for(let m=0;m<t.length;m++){let f=r[m],p=t[m];if(!f)continue;let g=new Le({key:p,state:Le.deserialize(f.data)});a[p.toString()]=g,n==="devnet"?Re[p.toString()]=g:Ce[p.toString()]=g}return a}var Ce={},Et=async i=>{let t="AcL1Vo8oy1ULiavEcjSUcwfBSForXMudcZvDZy5nzJkU";if(Ce[t])return Ce;let n=new _t(t),r=await i.getAccountInfo(n);return r&&(Ce[t]=new Le({key:n,state:Le.deserialize(r.data)})),Ce},Re={},Dt=async i=>{let t="EFhMuDw1PKEuckuFRW9PavNfTH4LKP5uKHgyXDmWpFCq";if(Re[t])return Re;let n=new _t(t),r=await i.getAccountInfo(n);return r&&(Re[t]=new Le({key:n,state:Le.deserialize(r.data)})),Re};import{PublicKey as Oe,sendAndConfirmTransaction as Wt,SystemProgram as Qo,Transaction as He,TransactionMessage as Qe,VersionedTransaction as Ze}from"@solana/web3.js";import Zo 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 r;let t=(await Zo.get(`https://solanacompass.com/api/fees?cacheFreshTime=${3e5}`)).data,{avg:n}=(r=t==null?void 0:t[15])!=null?r:{};if(!!n)return{units:6e5,microLamports:Math.min(Math.ceil(n*1e6/6e5),25e3)}}addCustomComputeBudget(t){if(t){let{instructions:n,instructionTypes:r}=it(t);return this.instructions.unshift(...n),this.instructionTypes.unshift(...r),!0}return!1}addTipInstruction(t){var n;return t?(this.endInstructions.push(Qo.transfer({fromPubkey:(n=t.feePayer)!=null?n:this.feePayer,toPubkey:new Oe(t.address),lamports:BigInt(t.amount.toString())})),this.endInstructionTypes.push(Q.TransferTip),!0):!1}async calComputeBudget({config:t,defaultIns:n}){try{let r=t||await this.getComputeBudgetConfig();if(this.addCustomComputeBudget(r))return;n&&this.instructions.unshift(...n)}catch{n&&this.instructions.unshift(...n)}}addInstruction({instructions:t=[],endInstructions:n=[],signers:r=[],instructionTypes:a=[],endInstructionTypes:m=[],lookupTableAddress:f=[]}){return this.instructions.push(...t),this.endInstructions.push(...n),this.signers.push(...r),this.instructionTypes.push(...a),this.endInstructionTypes.push(...m),this.lookupTableAddress.push(...f.filter(p=>p!==Oe.default.toString())),this}async versionBuild({txVersion:t,extInfo:n,lookupTableAddress:r}){return t===0?await this.buildV0(V(R({},n||{}),{lookupTableAddress:r})):this.build(n)}build(t){var r;let n=new He;return this.allInstructions.length&&n.add(...this.allInstructions),n.feePayer=this.feePayer,((r=this.owner)==null?void 0:r.signer)&&!this.signers.some(a=>a.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 a=>{var b;let{recentBlockHash:m,skipPreflight:f=!0,sendAndConfirm:p,notSendToRpc:g}=a||{},S=m!=null?m:await Ke(this.connection,this.blockhashCommitment);if(n.recentBlockhash=S,this.signers.length&&n.sign(...this.signers),Ae([n]),(b=this.owner)!=null&&b.isKeyPair)return{txId:p?await Wt(this.connection,n,this.signers.find(C=>C.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:f}):await this.connection.sendRawTransaction(n.serialize(),{skipPreflight:f}),signedTx:n};if(this.signAllTransactions){let L=await this.signAllTransactions([n]);if(this.signers.length)for(let C of L)try{C.sign(...this.signers)}catch{}return{txId:g?"":await this.connection.sendRawTransaction(L[0].serialize(),{skipPreflight:f}),signedTx:L[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:t||{}}}buildMultiTx(t){var S;let{extraPreBuildData:n=[],extInfo:r}=t,{transaction:a}=this.build(r),m=n.filter(b=>b.transaction.instructions.length>0),f=[a,...m.map(b=>b.transaction)],p=[this.signers,...m.map(b=>b.signers)],g=[...this.instructionTypes,...m.map(b=>b.instructionTypes).flat()];return(S=this.owner)!=null&&S.signer&&p.forEach(b=>{b.some(L=>L.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),{builder:this,transactions:f,signers:p,instructionTypes:g,execute:async b=>{var I;let{sequentially:L,onTxUpdate:C,skipTxCount:B=0,recentBlockHash:N,skipPreflight:P=!0}=b||{},A=N!=null?N:await Ke(this.connection,this.blockhashCommitment);if((I=this.owner)!=null&&I.isKeyPair){if(L){let T=[],F=0;for(let v of f){if(++F,F<=B)continue;let y=await Wt(this.connection,v,this.signers.find(w=>w.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:P});T.push(y)}return{txIds:T,signedTxs:f}}return{txIds:await await Promise.all(f.map(async T=>(T.recentBlockhash=A,await this.connection.sendRawTransaction(T.serialize(),{skipPreflight:P})))),signedTxs:f}}if(this.signAllTransactions){let T=f.map((v,y)=>(v.recentBlockhash=A,p[y].length&&v.sign(...p[y]),v));Ae(T);let F=await this.signAllTransactions(T);if(L){let v=0,y=[],w=async()=>{if(!F[v])return;let k=await this.connection.sendRawTransaction(F[v].serialize(),{skipPreflight:P});y.push({txId:k,status:"sent",signedTx:F[v]}),C==null||C([...y]),v++;let K=!1,O=null,_=null,re=q=>{O!==null&&clearInterval(O),_!==null&&this.connection.removeSignatureListener(_);let W=y.findIndex(j=>j.txId===k);if(W>-1){if(y[W].status==="error"||y[W].status==="success")return;y[W].status=q.err?"error":"success"}C==null||C([...y]),q.err||w()};this.loopMultiTxStatus&&(O=setInterval(async()=>{var q;if(K){clearInterval(O);return}try{let W=await this.connection.getTransaction(k,{commitment:"confirmed",maxSupportedTransactionVersion:1});W&&(K=!0,clearInterval(O),re({err:((q=W.meta)==null?void 0:q.err)||null}),console.log("tx status from getTransaction:",k))}catch(W){K=!0,clearInterval(O),console.error("getTransaction timeout:",W,k)}},mt)),_=this.connection.onSignature(k,q=>{if(K){this.connection.removeSignatureListener(_);return}K=!0,re(q)},"confirmed"),this.connection.getSignatureStatus(k)};return await w(),{txIds:y.map(k=>k.txId),signedTxs:F}}else{let v=[];for(let y=0;y<F.length;y+=1){let w=await this.connection.sendRawTransaction(F[y].serialize(),{skipPreflight:P});v.push(w)}return{txIds:v,signedTxs:F}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:r||{}}}async versionMultiBuild({extraPreBuildData:t,txVersion:n,extInfo:r}){return n===0?await this.buildV0MultiTx({extraPreBuildData:t,buildProps:r||{}}):this.buildMultiTx({extraPreBuildData:t,extInfo:r})}async buildV0(t){var P;let N=t||{},{lookupTableCache:n={},lookupTableAddress:r=[],forerunCreate:a,recentBlockhash:m}=N,f=se(N,["lookupTableCache","lookupTableAddress","forerunCreate","recentBlockhash"]),p=R(R({},this.cluster==="devnet"?await Dt(this.connection):await Et(this.connection)),n),g=Array.from(new Set([...r,...this.lookupTableAddress])),S=[];for(let A of g)p[A]===void 0&&S.push(new Oe(A));let b=await Vt({connection:this.connection,address:S});for(let[A,I]of Object.entries(b))p[A]=I;let L=a?Oe.default.toBase58():m!=null?m:await Ke(this.connection,this.blockhashCommitment),C=new Qe({payerKey:this.feePayer,recentBlockhash:L,instructions:[...this.allInstructions]}).compileToV0Message(Object.values(p));((P=this.owner)==null?void 0:P.signer)&&!this.signers.some(A=>A.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer);let B=new Ze(C);return B.sign(this.signers),{builder:this,transaction:B,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async A=>{var v;let{skipPreflight:I=!0,sendAndConfirm:T,notSendToRpc:F}=A||{};if(Ae([B]),(v=this.owner)!=null&&v.isKeyPair){let y=await this.connection.sendTransaction(B,{skipPreflight:I});return T&&await rt(this.connection,y),{txId:y,signedTx:B}}if(this.signAllTransactions){let y=await this.signAllTransactions([B]);if(this.signers.length)for(let w of y)try{w.sign(this.signers)}catch{}return{txId:F?"":await this.connection.sendTransaction(y[0],{skipPreflight:I}),signedTx:y[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:f||{}}}async buildV0MultiTx(t){var S;let{extraPreBuildData:n=[],buildProps:r}=t,{transaction:a}=await this.buildV0(r),m=n.filter(b=>b.builder.instructions.length>0),f=[a,...m.map(b=>b.transaction)],p=[this.signers,...m.map(b=>b.signers)],g=[...this.instructionTypes,...m.map(b=>b.instructionTypes).flat()];return(S=this.owner)!=null&&S.signer&&p.forEach(b=>{b.some(L=>L.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),f.forEach(async(b,L)=>{b.sign(p[L])}),{builder:this,transactions:f,signers:p,instructionTypes:g,buildProps:r,execute:async b=>{var P;let{sequentially:L,onTxUpdate:C,recentBlockHash:B,skipPreflight:N=!0}=b||{};if(B&&f.forEach(A=>A.message.recentBlockhash=B),Ae(f),(P=this.owner)!=null&&P.isKeyPair){if(L){let A=[];for(let I of f){let T=await this.connection.sendTransaction(I,{skipPreflight:N});await rt(this.connection,T),A.push(T)}return{txIds:A,signedTxs:f}}return{txIds:await Promise.all(f.map(async A=>await this.connection.sendTransaction(A,{skipPreflight:N}))),signedTxs:f}}if(this.signAllTransactions){let A=await this.signAllTransactions(f);if(L){let I=0,T=[],F=async()=>{if(!A[I])return;let v=await this.connection.sendTransaction(A[I],{skipPreflight:N});T.push({txId:v,status:"sent",signedTx:A[I]}),C==null||C([...T]),I++;let y=!1,w=null,k=null,K=O=>{w!==null&&clearInterval(w),k!==null&&this.connection.removeSignatureListener(k);let _=T.findIndex(re=>re.txId===v);if(_>-1){if(T[_].status==="error"||T[_].status==="success")return;T[_].status=O.err?"error":"success"}C==null||C([...T]),O.err||F()};this.loopMultiTxStatus&&(w=setInterval(async()=>{var O;if(y){clearInterval(w);return}try{let _=await this.connection.getTransaction(v,{commitment:"confirmed",maxSupportedTransactionVersion:1});_&&(y=!0,clearInterval(w),K({err:((O=_.meta)==null?void 0:O.err)||null}),console.log("tx status from getTransaction:",v))}catch(_){y=!0,clearInterval(w),console.error("getTransaction timeout:",_,v)}},mt)),k=this.connection.onSignature(v,O=>{if(y){this.connection.removeSignatureListener(k);return}y=!0,K(O)},"confirmed"),this.connection.getSignatureStatus(v)};return F(),{txIds:[],signedTxs:A}}else{let I=[];for(let T=0;T<A.length;T+=1){let F=await this.connection.sendTransaction(A[T],{skipPreflight:N});I.push(F)}return{txIds:I,signedTxs:A}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:r||{}}}async sizeCheckBuild(t){var C;let L=t||{},{splitIns:n=[],computeBudgetConfig:r}=L,a=se(L,["splitIns","computeBudgetConfig"]),m=r?it(r):{instructions:[],instructionTypes:[]},f=this.signers.reduce((B,N)=>V(R({},B),{[N.publicKey.toBase58()]:N}),{}),p=[],g=[],S=[],b=0;if(this.allInstructions.forEach(B=>{let N=[...S,B],P=r?[...m.instructions,...N]:N,I=[...new Set(N.map(T=>T.keys.filter(F=>F.isSigner).map(F=>F.pubkey.toString())).flat()).values()].map(T=>new Oe(T));if(B!==n[b]&&S.length<12&&(qe({instructions:P,payer:this.feePayer,signers:I})||qe({instructions:N,payer:this.feePayer,signers:I})))S.push(B);else{if(S.length===0)throw Error("item ins too big");b+=B===n[b]?1:0,qe({instructions:r?[...m.instructions,...S]:[...S],payer:this.feePayer,signers:I})?p.push(new He().add(...m.instructions,...S)):p.push(new He().add(...S)),g.push(Array.from(new Set(S.map(T=>T.keys.filter(F=>F.isSigner).map(F=>F.pubkey.toString())).flat())).map(T=>f[T]).filter(T=>T!==void 0)),S=[B]}}),S.length>0){let N=[...new Set(S.map(P=>P.keys.filter(A=>A.isSigner).map(A=>A.pubkey.toString())).flat()).values()].map(P=>f[P]).filter(P=>P!==void 0);qe({instructions:r?[...m.instructions,...S]:[...S],payer:this.feePayer,signers:N.map(P=>P.publicKey)})?p.push(new He().add(...m.instructions,...S)):p.push(new He().add(...S)),g.push(N)}return p.forEach(B=>B.feePayer=this.feePayer),(C=this.owner)!=null&&C.signer&&g.forEach(B=>{B.some(N=>N.publicKey.equals(this.owner.publicKey))||B.push(this.owner.signer)}),{builder:this,transactions:p,signers:g,instructionTypes:this.instructionTypes,execute:async B=>{var v;let{sequentially:N,onTxUpdate:P,skipTxCount:A=0,recentBlockHash:I,skipPreflight:T=!0}=B||{},F=I!=null?I:await Ke(this.connection,this.blockhashCommitment);if(p.forEach(async(y,w)=>{y.recentBlockhash=F,g[w].length&&y.sign(...g[w])}),Ae(p),(v=this.owner)!=null&&v.isKeyPair){if(N){let y=0,w=[];for(let k of p){if(++y,y<=A){w.push("tx skipped");continue}let K=await Wt(this.connection,k,this.signers.find(O=>O.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:T});w.push(K)}return{txIds:w,signedTxs:p}}return{txIds:await Promise.all(p.map(async y=>await this.connection.sendRawTransaction(y.serialize(),{skipPreflight:T}))),signedTxs:p}}if(this.signAllTransactions){let y=await this.signAllTransactions(p.slice(A,p.length)),w=[...p.slice(0,A),...y];if(N){let k=0,K=[],O=async()=>{if(!w[k])return;k<A&&(K.push({txId:"",status:"success",signedTx:w[k]}),P==null||P([...K]),k++,O());let _=await this.connection.sendRawTransaction(w[k].serialize(),{skipPreflight:T});K.push({txId:_,status:"sent",signedTx:w[k]}),P==null||P([...K]),k++;let re=!1,q=null,W=null,j=G=>{q!==null&&clearInterval(q),W!==null&&this.connection.removeSignatureListener(W);let te=K.findIndex(de=>de.txId===_);if(te>-1){if(K[te].status==="error"||K[te].status==="success")return;K[te].status=G.err?"error":"success"}P==null||P([...K]),G.err||O()};this.loopMultiTxStatus&&(q=setInterval(async()=>{var G;if(re){clearInterval(q);return}try{let te=await this.connection.getTransaction(_,{commitment:"confirmed",maxSupportedTransactionVersion:1});te&&(re=!0,clearInterval(q),j({err:((G=te.meta)==null?void 0:G.err)||null}),console.log("tx status from getTransaction:",_))}catch(te){re=!0,clearInterval(q),console.error("getTransaction timeout:",te,_)}},mt)),W=this.connection.onSignature(_,G=>{if(re){this.connection.removeSignatureListener(W);return}re=!0,j(G)},"confirmed"),this.connection.getSignatureStatus(_)};return await O(),{txIds:K.map(_=>_.txId),signedTxs:w}}else{let k=[];for(let K=0;K<w.length;K+=1){let O=await this.connection.sendRawTransaction(w[K].serialize(),{skipPreflight:T});k.push(O)}return{txIds:k,signedTxs:w}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:a||{}}}async sizeCheckBuildV0(t){var v;let F=t||{},{computeBudgetConfig:n,splitIns:r=[],lookupTableCache:a={},lookupTableAddress:m=[],insCountLimit:f=12}=F,p=se(F,["computeBudgetConfig","splitIns","lookupTableCache","lookupTableAddress","insCountLimit"]),g=R(R({},this.cluster==="devnet"?await Dt(this.connection):await Et(this.connection)),a),S=Array.from(new Set([...this.lookupTableAddress,...m])),b=[];for(let y of S)g[y]===void 0&&b.push(new Oe(y));let L=await Vt({connection:this.connection,address:b});for(let[y,w]of Object.entries(L))g[y]=w;let C=n?it(n):{instructions:[],instructionTypes:[]},B=await Ke(this.connection,this.blockhashCommitment),N=this.signers.reduce((y,w)=>V(R({},y),{[w.publicKey.toBase58()]:w}),{}),P=[],A=[],I=[],T=0;if(this.allInstructions.forEach(y=>{let w=[...I,y],k=n?[...C.instructions,...w]:w;if(y!==r[T]&&I.length<f&&(Ue({instructions:k,payer:this.feePayer,lookupTableAddressAccount:g})||Ue({instructions:w,payer:this.feePayer,lookupTableAddressAccount:g})))I.push(y);else{if(I.length===0)throw Error("item ins too big");T+=y===r[T]?1:0;let K={};for(let O of[...new Set(S)])g[O]!==void 0&&(K[O]=g[O]);if(n&&Ue({instructions:[...C.instructions,...I],payer:this.feePayer,lookupTableAddressAccount:g,recentBlockhash:B})){let O=new Qe({payerKey:this.feePayer,recentBlockhash:B,instructions:[...C.instructions,...I]}).compileToV0Message(Object.values(g));P.push(new Ze(O))}else{let O=new Qe({payerKey:this.feePayer,recentBlockhash:B,instructions:[...I]}).compileToV0Message(Object.values(g));P.push(new Ze(O))}A.push(Array.from(new Set(I.map(O=>O.keys.filter(_=>_.isSigner).map(_=>_.pubkey.toString())).flat())).map(O=>N[O]).filter(O=>O!==void 0)),I=[y]}}),I.length>0){let w=[...new Set(I.map(k=>k.keys.filter(K=>K.isSigner).map(K=>K.pubkey.toString())).flat()).values()].map(k=>N[k]).filter(k=>k!==void 0);if(n&&Ue({instructions:[...C.instructions,...I],payer:this.feePayer,lookupTableAddressAccount:g,recentBlockhash:B})){let k=new Qe({payerKey:this.feePayer,recentBlockhash:B,instructions:[...C.instructions,...I]}).compileToV0Message(Object.values(g));P.push(new Ze(k))}else{let k=new Qe({payerKey:this.feePayer,recentBlockhash:B,instructions:[...I]}).compileToV0Message(Object.values(g));P.push(new Ze(k))}A.push(w)}return(v=this.owner)!=null&&v.signer&&A.forEach(y=>{y.some(w=>w.publicKey.equals(this.owner.publicKey))||y.push(this.owner.signer)}),P.forEach((y,w)=>{y.sign(A[w])}),{builder:this,transactions:P,buildProps:t,signers:A,instructionTypes:this.instructionTypes,execute:async y=>{var re;let{sequentially:w,onTxUpdate:k,skipTxCount:K=0,recentBlockHash:O,skipPreflight:_=!0}=y||{};if(P.map(async(q,W)=>{A[W].length&&q.sign(A[W]),O&&(q.message.recentBlockhash=O)}),Ae(P),(re=this.owner)!=null&&re.isKeyPair){if(w){let q=0,W=[];for(let j of P){if(++q,q<=K){console.log("skip tx: ",q),W.push("tx skipped");continue}let G=await this.connection.sendTransaction(j,{skipPreflight:_});await rt(this.connection,G),W.push(G)}return{txIds:W,signedTxs:P}}return{txIds:await Promise.all(P.map(async q=>await this.connection.sendTransaction(q,{skipPreflight:_}))),signedTxs:P}}if(this.signAllTransactions){let q=await this.signAllTransactions(P.slice(K,P.length)),W=[...P.slice(0,K),...q];if(w){let j=0,G=[],te=async()=>{if(!W[j])return;if(j<K){G.push({txId:"",status:"success",signedTx:W[j]}),k==null||k([...G]),j++,te();return}let de=await this.connection.sendTransaction(W[j],{skipPreflight:_});G.push({txId:de,status:"sent",signedTx:W[j]}),k==null||k([...G]),j++;let We=!1,Se=null,nt=null,an=Pe=>{Se!==null&&clearInterval(Se),nt!==null&&this.connection.removeSignatureListener(nt);let pe=G.findIndex(fo=>fo.txId===de);if(pe>-1){if(G[pe].status==="error"||G[pe].status==="success")return;G[pe].status=Pe.err?"error":"success"}k==null||k([...G]),Pe.err||te()};this.loopMultiTxStatus&&(Se=setInterval(async()=>{var Pe;if(We){clearInterval(Se);return}try{let pe=await this.connection.getTransaction(de,{commitment:"confirmed",maxSupportedTransactionVersion:1});pe&&(We=!0,clearInterval(Se),an({err:((Pe=pe.meta)==null?void 0:Pe.err)||null}),console.log("tx status from getTransaction:",de))}catch(pe){We=!0,clearInterval(Se),console.error("getTransaction timeout:",pe,de)}},mt)),nt=this.connection.onSignature(de,Pe=>{if(We){this.connection.removeSignatureListener(nt);return}We=!0,an(Pe)},"confirmed"),this.connection.getSignatureStatus(de)};return te(),{txIds:[],signedTxs:W}}else{let j=[];for(let G=0;G<W.length;G+=1){let te=await this.connection.sendTransaction(W[G],{skipPreflight:_});j.push(te)}return{txIds:j,signedTxs:W}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:p||{}}}};import{PublicKey as vu}from"@solana/web3.js";import Vu from"bn.js";import $o from"bn.js";var ft=new $o(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"},jo=V(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 Ec=E("Raydium_Api");import{PublicKey as Cm,SystemProgram as Rm}from"@solana/web3.js";import{AccountLayout as Fm,createAssociatedTokenAccountIdempotentInstruction as vm,TOKEN_PROGRAM_ID as _m,TOKEN_2022_PROGRAM_ID as Vm}from"@solana/spl-token";var qt=(...i)=>i.map(t=>{try{return typeof t=="object"?JSON.stringify(t):t}catch{return t}}).join(", "),ie=class{constructor({scope:t,moduleName:n}){this.disabled=!1;this.scope=t,this.logger=E(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 am,SystemProgram as um}from"@solana/web3.js";import mm from"bn.js";import{createCloseAccountInstruction as ym,createInitializeAccountInstruction as bm,createTransferInstruction as gm,TOKEN_PROGRAM_ID as Pm}from"@solana/spl-token";import{Keypair as Yl,PublicKey as Hl}from"@solana/web3.js";import $l from"bn.js";import{TOKEN_PROGRAM_ID as em}from"@solana/spl-token";import{PublicKey as li}from"@solana/web3.js";import Mn,{isBN as Fn}from"bn.js";import{bits as Jo,BitStructure as jc,blob as ei,Blob as Jc,cstr as el,f32 as tl,f32be as nl,f64 as ol,f64be as il,greedy as rl,Layout as ti,ns64 as al,ns64be as sl,nu64 as ul,nu64be as cl,offset as ni,s16 as ll,s16be as ml,s24 as dl,s24be as pl,s32 as oi,s32be as fl,s40 as yl,s40be as bl,s48 as gl,s48be as Pl,s8 as Al,seq as ii,struct as wl,Structure as ri,u16 as ai,u16be as kl,u24 as Tl,u24be as hl,u32 as si,u32be as Il,u40 as Bl,u40be as Sl,u48 as Kl,u48be as xl,u8 as ui,UInt as ci,union as Cl,Union as Rl,unionLayoutDiscriminator as Ll,utf8 as Ol}from"@solana/buffer-layout";var yt=ti,Rn=ri;var Ut=ci;var Ln=ui,Y=ai;var bt=si;var ue=oi;var On=ii;var M=ei;var Gt=Jo,Nn=ni;var he=class extends yt{constructor(n,r,a){super(n,a);this.blob=M(n),this.signed=r}decode(n,r=0){let a=new Mn(this.blob.decode(n,r),10,"le");return this.signed?a.fromTwos(this.span*8).clone():a}encode(n,r,a=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),r,a)}},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,r=0){let a=this._lower.decode(n,r),m=this._upper.decode(n,r+this._lower.span);return R(R({},a),m)}encode(n,r,a=0){return this._lower.encode(n,r,a)+this._upper.encode(n,r,a+this._lower.span)}};function c(i){return new Ut(1,i)}function X(i){return new Ut(4,i)}function e(i){return new he(8,!1,i)}function x(i){return new he(16,!1,i)}function vn(i){return new he(1,!0,i)}function Me(i){return new he(8,!0,i)}function _n(i){return new he(16,!0,i)}var je=class extends yt{constructor(n,r,a,m){super(n.span,m);this.layout=n,this.decoder=r,this.encoder=a}decode(n,r){return this.decoder(this.layout.decode(n,r))}encode(n,r,a){return this.layout.encode(this.encoder(n),r,a)}getSpan(n,r){return this.layout.getSpan(n,r)}};function o(i){return new je(M(32),t=>new li(t),t=>t.toBuffer(),i)}function ae(i){return new je(Ln(),mi,di,i)}function mi(i){if(i===0)return!1;if(i===1)return!0;throw new Error("Invalid bool: "+i)}function di(i){return i?1:0}function Xt(i,t){let n=bt("length"),r=l([n,d(i,Nn(n,-n.span),"values")]);return new je(r,({values:a})=>a,a=>({values:a}),t)}var zt=class extends Rn{decode(t,n){return super.decode(t,n)}};function l(i,t,n){return new zt(i,t,n)}function d(i,t,n){let r,a=typeof t=="number"?t:Fn(t)?t.toNumber():new Proxy(t,{get(m,f){if(!r){let p=Reflect.get(m,"count");r=Fn(p)?p.toNumber():p,Reflect.set(m,"count",r)}return Reflect.get(m,f)},set(m,f,p){return f==="count"&&(r=p),Reflect.set(m,f,p)}});return On(i,a,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 vg,SystemProgram as _g}from"@solana/web3.js";import{createAssociatedTokenAccountIdempotentInstruction as Eg}from"@solana/spl-token";import Qg from"decimal.js";import{createAssociatedTokenAccountIdempotentInstruction as By,TOKEN_2022_PROGRAM_ID as Sy,TOKEN_PROGRAM_ID as Ky}from"@solana/spl-token";import{PublicKey as Cy}from"@solana/web3.js";import Ly from"bn.js";import Ny from"decimal.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as Xf,TOKEN_2022_PROGRAM_ID as Yf,TOKEN_PROGRAM_ID as Hf}from"@solana/spl-token";import{Keypair as $f,PublicKey as jf,SystemProgram as ey,TransactionInstruction as ty}from"@solana/web3.js";import oy from"bn.js";import D from"bn.js";var Fe=new D(1).shln(64);var fi=new D(1).shln(128),Yt=new D(1).shln(64).subn(1),yi=new D(1).shln(128).subn(1);var ve=new D("4295048016"),_e=new D("79226673521066979257578248091"),bi=new D("59543866431248"),gi=new D("184467440737095516"),Pi=new D("15793534762490258745");var Ht=60,Zm=new D("18446743708227953217"),Ai=[{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 Z=new D(0),Ve=new D(1),$m=new D(-1);var jm=new D("18446744073700000000");var wi=l([M(8),c("bump"),Y("index"),o("owner"),X("protocolFeeRate"),X("tradeFeeRate"),Y("tickSpacing"),X("fundFeeRate"),d(X(),1),o("fundOwner"),d(e(),3)]),ki=l([X("blockTimestamp"),Me("tickCumulative"),d(e(),4)]),qn=l([M(8),ae("initialized"),e("recentEpoch"),Y("observationIndex"),o("poolId"),d(ki,En,"observations"),d(e(),4)]),Ti=l([Y("filterPeriod"),Y("decayPeriod"),Y("reductionFactor"),X("dynamicFeeControl"),X("maxVolatilityAccumulator"),ue("tickSpacingIndexReference"),X("volatilityReference"),X("volatilityAccumulator"),e("lastUpdateTimestamp"),d(c(),46)]),hi=l([c("state"),e("openTime"),e("endTime"),e("lastUpdateTime"),x("emissionsPerSecondX64"),e("totalEmissioned"),e("claimed"),o("mint"),o("vault"),o("creator"),x("growthGlobalX64")]),Qt=l([M(8),c("bump"),o("configId"),o("creator"),o("mintA"),o("mintB"),o("vaultA"),o("vaultB"),o("observationId"),c("mintDecimalsA"),c("mintDecimalsB"),Y("tickSpacing"),x("liquidity"),x("sqrtPriceX64"),ue("tickCurrent"),X(),x("feeGrowthGlobalX64A"),x("feeGrowthGlobalX64B"),e("protocolFeesTokenA"),e("protocolFeesTokenB"),d(x(),4),c("status"),c("feeOn"),M(6),d(hi,Je,"rewardInfos"),M(8*16,"tickArrayBitmap"),d(e(),4),e("fundFeesTokenA"),e("fundFeesTokenB"),e("startTime"),e("recentEpoch"),Ti.replicate("dynamicFeeInfo"),d(e(),46)]),Ii=l([x("growthInsideLastX64"),e("rewardAmountOwed")]),Bi=l([M(8),c("bump"),o("nftMint"),o("poolId"),ue("tickLower"),ue("tickUpper"),x("liquidity"),x("feeGrowthInsideLastX64A"),x("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),d(Ii,Je,"rewardInfos"),e("recentEpoch"),d(e(),7)]),nd=l([M(8),c("bump"),o("poolId"),ue("tickLower"),ue("tickUpper"),x("liquidity"),x("feeGrowthInsideLastX64A"),x("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),d(x(),Je,"rewardGrowthInside"),e("recentEpoch"),d(e(),7)]),Si=l([ue("tick"),_n("liquidityNet"),x("liquidityGross"),x("feeGrowthOutsideX64A"),x("feeGrowthOutsideX64B"),d(x(),Je,"rewardGrowthsOutsideX64"),e("orderPhase"),e("ordersAmount"),e("partFilledOrdersRemaining"),x("unfilledRatioX64"),d(X(),3)]),Un=l([M(8),o("poolId"),ue("startTickIndex"),d(Si,Ht,"ticks"),c("initializedTickCount"),e("recentEpoch"),d(c(),107)]),Ki=l([M(8),c("bump"),d(o(),Dn,"operationOwners"),d(o(),Wn,"whitelistMints")]),xi=l([M(8),o("poolId"),o("owner"),ue("tick"),ae("zeroForOne"),e("orderPhase"),e("totalAmount"),e("filledAmount"),e("settleBase"),e("settleOutput"),e("openTime"),x("unfilledRatioX64"),d(e(),4)]),Gn=l([M(8),o("poolId"),M(8*8*wt,"positiveTickArrayBitmap"),M(8*8*wt,"negativeTickArrayBitmap")]),od=l([M(8),Y("index"),Y("filterPeriod"),Y("decayPeriod"),Y("reductionFactor"),X("dynamicFeeControl"),X("maxVolatilityAccumulator"),d(e(),8)]),Ci=l([M(8),o("wallet"),c("nonceIndex"),e("orderNonce"),d(e(),4)]),id=l([e(),c("bump"),o("owner"),o("poolId"),o("positionId"),o("nftAccount"),d(e(),8)]),Ri=l([M(8),c("bump"),o("lockOwner"),o("poolId"),o("positionId"),o("nftAccount"),o("lockNftMint"),e("recentEpoch"),d(e(),8)]);import sd from"bn.js";var Pd=Buffer.from("amm_config","utf8"),Oi=Buffer.from("pool","utf8"),Ni=Buffer.from("pool_vault","utf8"),Ad=Buffer.from("pool_reward_vault","utf8"),wd=Buffer.from("position","utf8"),kd=Buffer.from("tick_array","utf8"),Td=Buffer.from("operation","utf8"),hd=Buffer.from("pool_tick_array_bitmap_extension","utf8"),Id=Buffer.from("observation","utf8"),Bd=Buffer.from("support_mint","utf8"),Sd=Buffer.from("dynamic_fee_config","utf8"),Kd=Buffer.from("permission","utf8");var xd=Buffer.from("locked_position","utf8");import{sha256 as Hi}from"js-sha256";import Mi from"bn.js";import Od from"decimal.js";var Md=new Mi(1).shln(256).subn(1);import jd from"bn.js";import Wd from"bn.js";import Ud from"decimal.js";import op from"bn.js";import rp from"decimal.js";import{PublicKey as zp}from"@solana/web3.js";import Yp from"bn.js";import{TOKEN_2022_PROGRAM_ID as tf,TOKEN_PROGRAM_ID as nf}from"@solana/spl-token";import sf from"decimal.js";import Mp from"bn.js";import kp from"bn.js";import Pf from"bn.js";function $(i){let t=`global:${i}`;return Buffer.from(Hi.digest(t)).slice(0,8)}qn.span;var dy=E("Raydium_Clmm"),py={createPool:$("create_pool"),createCustomizablePool:$("create_customizable_pool"),createPermissionedPool:$("create_permissioned_pool"),openPositionV2:$("open_position_v2"),openPositionWithToken22Nft:$("open_position_with_token22_nft"),closePosition:$("close_position"),increaseLiquidityV2:$("increase_liquidity_v2"),decreaseLiquidityV2:$("decrease_liquidity_v2"),initializeReward:$("initialize_reward"),setRewardParams:$("set_reward_params"),updateRewardInfos:$("update_reward_infos"),collectRemainingRewards:$("collect_remaining_rewards"),swapV2:$("swap_v2"),openLimitOrder:$("open_limit_order"),increaseLimitOrder:$("increase_limit_order"),decreaseLimitOrder:$("decrease_limit_order"),settleLimitOrder:$("settle_limit_order"),closeLimitOrder:$("close_limit_order")};import{PublicKey as Jt}from"@solana/web3.js";var ji=l([c("instruction")]),Ji=l([c("instruction")]),er=l([e("rewardState"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardLastUpdateTime"),e("totalReward"),e("totalRewardEmissioned"),e("rewardClaimed"),e("rewardPerSecond"),x("accRewardPerShare"),o("rewardVault"),o("rewardMint"),o("rewardSender"),e("rewardType"),d(e(),15,"padding")]),tr=l([e("state"),e("nonce"),o("lpVault"),o("rewardVault"),o(),o(),e(),e(),e("totalReward"),x("perShareReward"),e("lastSlot"),e("perSlotReward")]),nr=l([e("state"),e("nonce"),o("lpVault"),o("rewardVaultA"),e("totalRewardA"),x("perShareRewardA"),e("perSlotRewardA"),c("option"),o("rewardVaultB"),M(7),e("totalRewardB"),x("perShareRewardB"),e("perSlotRewardB"),e("lastSlot"),o()]),or=l([e(),e("state"),e("nonce"),e("validRewardTokenNum"),x("rewardMultiplier"),e("rewardPeriodMax"),e("rewardPeriodMin"),e("rewardPeriodExtend"),o("lpMint"),o("lpVault"),d(er,5,"rewardInfos"),o("creator"),o(),d(e(),32,"padding")]),ir=new Proxy(tr,{get(i,t,n){return t==="decode"?(...r)=>{let a=i.decode(...r);return V(R({},a),{version:3,rewardInfos:[{rewardVault:a.rewardVault,totalReward:a.totalReward,perSlotReward:a.perSlotReward,perShareReward:a.perShareReward}]})}:Reflect.get(i,t,n)}}),rr=new Proxy(nr,{get(i,t,n){return t==="decode"?(...r)=>{let a=i.decode(...r);return V(R({},a),{version:5,rewardInfos:[{rewardVault:a.rewardVaultA,totalReward:a.totalRewardA,perSlotReward:a.perSlotRewardA,perShareReward:a.perShareRewardA},{rewardVault:a.rewardVaultB,totalReward:a.totalRewardB,perSlotReward:a.perSlotRewardB,perShareReward:a.perShareRewardB}]})}:Reflect.get(i,t,n)}}),$n=new Proxy(or,{get(i,t,n){return t==="decode"?(...r)=>{let a=i.decode(...r);return V(R({},a),{version:6,rewardInfos:a.rewardInfos.map(m=>{var f;return V(R({},m),{rewardType:((f=Object.entries(tt).find(p=>String(p[1])===m.rewardType.toString()))!=null?f:["Standard SPL"])[0]})})})}:Reflect.get(i,t,n)}}),ar=l([e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),sr=l([c("instruction"),e("nonce"),d(ar,5,"rewardTimeInfo")]),ur=l([c("instruction"),e("rewardReopenTime"),e("rewardEndTime"),e("rewardPerSecond")]),cr=l([c("instruction"),e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),ub=l([e("state"),o("id"),o("owner"),e("deposited"),d(e(),1,"rewardDebts")]),jn=l([e("state"),o("id"),o("owner"),e("deposited"),d(x(),1,"rewardDebts"),e(""),e("voteLockedBalance"),d(e(),15)]),cb=l([e("state"),o("id"),o("owner"),e("deposited"),d(e(),2,"rewardDebts")]),lr=l([e("state"),o("id"),o("owner"),e("deposited"),d(x(),2,"rewardDebts"),d(e(),17)]),mr=l([e(),e("state"),o("id"),o("owner"),e("deposited"),d(x(),5,"rewardDebts"),d(e(),16)]),dr=l([c("instruction"),e("amount")]),pr=l([o("mint"),o("grantAuthority"),e("baselineVoteWeightScaledFactor"),e("maxExtraLockupVoteWeightScaledFactor"),e("lockupSaturationSecs"),vn("digitShift"),d(c(),7,"reserved1"),d(e(),7,"reserved2")]),fr=l([M(8),o("governanceProgramId"),o("realm"),o("realmGoverningTokenMint"),o("realmAuthority"),d(c(),32,"reserved1"),d(pr,4,"votingMints"),Me("timeOffset"),c("bump"),d(c(),7,"reserved2"),d(e(),11,"reserved3")]),yr=l([Me("startTime"),Me("endTime"),c("kind"),d(c(),15,"reserved")]),br=l([d(yr,1,"lockup"),e("amountDeposited_native"),e("amountInitiallyLockedNative"),ae("isUsed"),ae("allowClawback"),c("votingMintConfigIdx"),d(c(),29,"reserved")]),gr=l([M(8),o("voterAuthority"),o("registrar"),d(br,32,"deposits"),c("voterBump"),c("voterWweightRecordBump"),d(c(),94,"reserved")]);import{NATIVE_MINT as Pb}from"@solana/spl-token";var Ab=E("Raydium_farm_config"),Pr=new Jt("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Ar=new Jt("FrspKwj8i3pNmKwXreTveC4fu7KL5ZbGeXdZBe2XViu1");var wb=new Jt("3TRTX4dXUpp2eqxi3tvQDFYUV7SdDJjcPE3Y4mbtftaX");var tt={"Standard SPL":0,"Option tokens":1},Jn={[Tn.toString()]:3,[hn.toString()]:4,[In.toString()]:5,[Ft.toString()]:6,[be.FARM_PROGRAM_ID_V3.toString()]:3,[be.FARM_PROGRAM_ID_V4.toString()]:4,[be.FARM_PROGRAM_ID_V5.toString()]:5,[be.FARM_PROGRAM_ID_V6.toString()]:6};import{PublicKey as $b,SystemProgram as jb,SYSVAR_CLOCK_PUBKEY as Jb,SYSVAR_RENT_PUBKEY as eg,TransactionInstruction as tg}from"@solana/web3.js";import og from"bn.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as rg,createAssociatedTokenAccountIdempotentInstruction as ag,TOKEN_PROGRAM_ID as sg}from"@solana/spl-token";import Kb from"bn.js";var Db=E("Raydium.farm.util");var Pg=E("Raydium_farm_instruction"),Ag={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 aP from"bn.js";import{PublicKey as UA}from"@solana/web3.js";import{AccountLayout as XA,MintLayout as YA,NATIVE_MINT as HA,TOKEN_PROGRAM_ID as ZA}from"@solana/spl-token";var Kr=l([X("mintAuthorityOption"),o("mintAuthority"),e("supply"),c("decimals"),c("isInitialized"),X("freezeAuthorityOption"),o("freezeAuthority")]);import to from"bn.js";var xr=new to(25),Cr=new to(1e4);import{ASSOCIATED_TOKEN_PROGRAM_ID as RP,TOKEN_PROGRAM_ID as LP}from"@solana/spl-token";import{PublicKey as NP,SystemProgram as MP,SYSVAR_RENT_PUBKEY as FP,TransactionInstruction as vP}from"@solana/web3.js";import GP from"bn.js";var Rr=l([c("instruction"),e("amountIn"),e("minAmountOut")]),Lr=l([c("instruction"),e("maxAmountIn"),e("amountOut")]),SP=l([c("instruction"),c("nonce")]),Or=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"),x("swapBaseInAmount"),x("swapQuoteOutAmount"),e("swapBase2QuoteFee"),x("swapQuoteInAmount"),x("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"),d(e(),3,"padding")]),KP=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"),x("swapBaseInAmount"),x("swapQuoteOutAmount"),x("swapQuoteInAmount"),x("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"),d(e(),64,"padding")]),Nr=l([c("instruction"),e("baseAmountIn"),e("quoteAmountIn"),e("fixedSide"),e("otherAmountMin")]),Mr=l([c("instruction"),e("lpAmount"),e("baseAmountMin"),e("quoteAmountMin")]);var Fr=l([e("fee")]);var YP=E("Raydium_liquidity_instruction");var vr=5e4,_r=l([e("x"),e("y"),e("price")]),$P=l([e("accountType"),e("status"),e("multiplier"),e("validDataCount"),d(_r,vr,"DataElement")]);import bw from"bn.js";import Pw from"decimal.js";import{TOKEN_PROGRAM_ID as PA}from"@solana/spl-token";import{PublicKey as wA}from"@solana/web3.js";import TA from"bn.js";import{SystemProgram as rA,SYSVAR_RENT_PUBKEY as aA,Transaction as sA,TransactionInstruction as uA}from"@solana/web3.js";import{createInitializeAccountInstruction as lA,TOKEN_PROGRAM_ID as mA}from"@solana/spl-token";function Vr(i="accountFlags"){let t=new gt(i);return t.addBoolean("initialized"),t.addBoolean("market"),t.addBoolean("openOrders"),t.addBoolean("requestQueue"),t.addBoolean("eventQueue"),t.addBoolean("bids"),t.addBoolean("asks"),t}var Er=l([M(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"),M(7)]);import{PublicKey as Gk}from"@solana/web3.js";import{AccountLayout as Xk,NATIVE_MINT as Yk,TOKEN_2022_PROGRAM_ID as Hk,TOKEN_PROGRAM_ID as Qk,createAssociatedTokenAccountIdempotentInstruction as Zk}from"@solana/spl-token";import Dw from"bn.js";import Xr from"bn.js";var xw=new Xr(0);import Ow from"bn.js";import iT from"bn.js";import aT from"decimal.js";import{PublicKey as ak,TransactionInstruction as sk,Keypair as ck,SystemProgram as lk}from"@solana/web3.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as dk,TOKEN_2022_PROGRAM_ID as pk,TOKEN_PROGRAM_ID as fk}from"@solana/spl-token";var zw=Buffer.from("vault_and_lp_mint_auth_seed","utf8"),Xw=Buffer.from("amm_config","utf8"),Yw=Buffer.from("pool","utf8"),Hw=Buffer.from("pool_lp_mint","utf8"),Qw=Buffer.from("pool_vault","utf8"),Zw=Buffer.from("observation","utf8"),$w=Buffer.from("permission","utf8"),jw=Buffer.from("support_mint","utf8"),Jw=Buffer.from("creator_fee_share","utf8");var ek=Buffer.from("locked_liquidity","utf8");var kk=E("Raydium_cpmm"),Tk={initialize:[175,175,109,31,13,152,155,237],deposit:[242,35,198,137,82,225,242,182],withdraw:[183,18,70,156,148,109,161,34],swapBaseInput:[143,190,90,218,196,30,51,222],swapBaseOutput:[55,217,98,86,163,74,180,173],lockCpLiquidity:[216,157,29,78,38,51,31,26],collectCpFee:[8,30,51,199,209,184,247,133],createPermissionPda:Buffer.from([135,136,2,216,137,169,181,202]),closePermissionPda:Buffer.from([156,84,32,118,69,135,70,123]),initializeWithPermission:Buffer.from([63,55,254,65,49,178,89,121]),collectCreatorFee:Buffer.from([20,22,86,123,198,28,219,132]),collectCreatorFeePermissionless:Buffer.from([202,202,34,83,226,122,145,229])};var Qr=l([M(8),c("bump"),ae("disableCreatePool"),Y("index"),e("tradeFeeRate"),e("protocolFeeRate"),e("fundFeeRate"),e("createPoolFee"),o("protocolOwner"),o("fundOwner"),e("creatorFeeRate"),e("creatorFeeShareRate"),d(e(),14)]),io=l([M(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"),d(c(),6),e("creatorFeesMintA"),e("creatorFeesMintB"),d(e(),28)]),Bk=l([M(8),o("configId"),d(e(),30)]),Sk=l([M(8),c("bump"),o("creator"),o("ammConfig"),e("shareRate"),d(e(),8)]);import{PublicKey as bK,SystemProgram as gK}from"@solana/web3.js";import{createTransferInstruction as AK,TOKEN_PROGRAM_ID as wK,TOKEN_2022_PROGRAM_ID as kK,createAssociatedTokenAccountIdempotentInstruction as TK,createSyncNativeInstruction as IK,createTransferCheckedInstruction as BK}from"@solana/spl-token";import ba from"bn.js";import xK from"decimal.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as fh,TOKEN_2022_PROGRAM_ID as yh,TOKEN_PROGRAM_ID as bh}from"@solana/spl-token";import{SystemProgram as wh,TransactionInstruction as kh}from"@solana/web3.js";import jr from"bn.js";var JT=Buffer.from("vault_auth_seed","utf8"),eh=Buffer.from("global_config","utf8"),th=Buffer.from("pool_vesting","utf8"),nh=Buffer.from("platform_config","utf8"),oh=Buffer.from("platform_fee_vault_auth_seed","utf8"),ih=Buffer.from("creator_fee_vault_auth_seed","utf8"),rh=Buffer.from("platform_global_access","utf8"),ah=Buffer.from("platform_allow_config","utf8"),sh=Buffer.from("platform_curve_rule","utf8");var Ih={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 Bh=new jr("18446744073709551615");var Jr=l([e(),e("epoch"),c("curveType"),Y("index"),e("migrateFee"),e("tradeFeeRate"),e("maxShareFeeRate"),e("minSupplyA"),e("maxLockRate"),e("minSellRateA"),e("minMigrateRateA"),e("minFundRaisingB"),o("mintB"),o("protocolFeeOwner"),o("migrateFeeOwner"),o("migrateToAmmWallet"),o("migrateToCpmmWallet"),d(e(),16)]),ea=l([e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod"),e("startTime"),e("totalAllocatedShare")]),ta=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"),ea.replicate("vestingSchedule"),o("configId"),o("platformId"),o("mintA"),o("mintB"),o("vaultA"),o("vaultB"),o("creator"),c("mintProgramFlag"),c("cpmmCreatorFeeOn"),e("platformVestingShare"),d(c(),54)]),Ch=l([e(),e("epoch"),o("poolId"),o("beneficiary"),e("claimedAmount"),e("tokenShareAmount"),d(e(),8)]),na=l([c("migrateType"),c("migrateCpmmFeeOn"),e("supply"),e("totalSellA"),e("totalFundRaisingB"),e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod")]),Rh=l([e("epoch"),c("index"),o("configId"),na.replicate("bondingCurveParam"),d(e(),50)]),ao=l([e(),e("epoch"),o("platformClaimFeeWallet"),o("platformLockNftWallet"),e("platformScale"),e("creatorScale"),e("burnScale"),e("feeRate"),d(c(),64,"name"),d(c(),256,"web"),d(c(),256,"img"),o("cpConfigId"),e("creatorFeeRate"),o("transferFeeExtensionAuth"),o("platformVestingWallet"),e("platformVestingScale"),o("platformCpCreator"),c("restrictGlobalConfig"),c("restrictCurveParam"),o("curveRuleManager"),d(c(),78)]),oa=l([c("field"),c("op"),x("value")]),ia=l([Y("groupId"),e("epoch"),Xt(oa,"constraints")]),ra=l([e(),c("bump"),c("version"),o("platformId"),o("configId"),e("epoch"),d(e(),8),Xt(ia,"groups")]);import{TOKEN_2022_PROGRAM_ID as Nh,TOKEN_PROGRAM_ID as Mh}from"@solana/spl-token";import aa from"bn.js";var Xh=new aa(1e6);import Zh from"bn.js";import jh from"decimal.js";import RI from"bn.js";import OI from"decimal.js";import iI from"bn.js";import aI from"decimal.js";import bI from"bn.js";import PI from"decimal.js";import co from"bn.js";import nn from"decimal.js";var ht=class{static _multipler(t){return new nn(10).pow(t)}static getPrice({priceX64:t,decimalA:n,decimalB:r}){return new nn(t.toString()).div(this._Q64).mul(this._multipler(n)).div(this._multipler(r))}static getPriceX64({price:t,decimalA:n,decimalB:r}){let a=t.mul(this._multipler(r)).div(this._multipler(n));return new co(a.mul(this._Q64).toFixed(0))}};ht._Q64=new nn(new co(1).shln(64).toString());import{NATIVE_MINT as YB,TOKEN_2022_PROGRAM_ID as HB,TOKEN_PROGRAM_ID as QB,createAssociatedTokenAccountIdempotentInstruction as $B,createSyncNativeInstruction as jB,getTransferFeeConfig as JB,unpackMint as eS}from"@solana/spl-token";import H from"bn.js";import{PublicKey as pa,SystemProgram as oS}from"@solana/web3.js";import lS from"decimal.js";var mS={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 pa("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),vestingSchedule:{totalLockedAmount:new H(0),cliffPeriod:new H(0),unlockPeriod:new H(0),startTime:new H(0),totalAllocatedShare:new H(0)}},dS=new H(1e4);var fa={[Bn.toBase58()]:3};var ya=l([M(5),M(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"),M(7)]);import{PublicKey as vS}from"@solana/web3.js";var WS=E("Serum");import{ASSOCIATED_TOKEN_PROGRAM_ID as ZS,TOKEN_2022_PROGRAM_ID as $S,TOKEN_PROGRAM_ID as jS}from"@solana/spl-token";import{PublicKey as eK,SystemProgram as tK,TransactionInstruction as nK}from"@solana/web3.js";import iK from"bn.js";var ix=new ba(0);import{PublicKey as ga,Transaction as on,TransactionInstruction as Pa}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Aa}from"@solana/spl-token";import mo from"bn.js";var ee=class extends ie{static getPdaPoolId(t,n){return oe([ee.SEED_CONFIG.pool.id,n.toBuffer()],t)}static getPdaOwnerId(t,n,r,a){return oe([ee.SEED_CONFIG.owner.id,n.toBuffer(),r.toBuffer(),Buffer.from(new mo(a).toArray())],t)}static async getAllInfo({connection:t,programId:n,poolIds:r,wallet:a,chainTime:m}){if(r.length===0)return[];let f=r.map(b=>ee.getPdaPoolId(n,b).publicKey),p=[];for(let b=0;b<ee.VERSION_PROJECT.length;b++)p.push(...f.map(L=>ee.getPdaOwnerId(n,L,a,b).publicKey));let g=await ye(t,[...f,...p]),S=[];for(let b=0;b<g.length;b++){let L=Math.floor(b/r.length),C=b%r.length,B=f[C],N=p[b],P=g[C],A=g[r.length+b];if(!(P&&A)||P.data.length!==ee.POOL_LAYOUT.span||A.data.length!==ee.OWNER_LAYOUT.span)continue;let I=ee.POOL_LAYOUT.decode(P.data),T=ee.OWNER_LAYOUT.decode(A.data),F=I.openTime.toNumber(),v=I.endTime.toNumber(),y=T.tokenInfo.map(K=>K.debtAmount.gt(new mo(0))).filter(K=>!K).length!==3,w=m>F&&m<v&&I.status===1,k=y&&w;S.push({programId:n,poolId:B,ammId:I.ammId,ownerAccountId:N,snapshotLpAmount:T.lpAmount,project:ee.VERSION_PROJECT[L],openTime:F,endTime:v,canClaim:k,canClaimErrorType:y?w?void 0:"outOfOperationalTime":"alreadyClaimIt",tokenInfo:I.tokenInfo.map((K,O)=>({mintAddress:K.mintAddress,mintVault:K.mintVault,mintDecimals:K.mintDecimals,perLpLoss:K.perLpLoss,debtAmount:T.tokenInfo[O].debtAmount.add(T.tokenInfo[O].claimedAmount)}))})}return S}async makeClaimTransaction({poolInfo:t,ownerInfo:n,feePayer:r}){n.wallet||this.scope.checkOwner();let a=this.createTxBuilder(r),m=n.wallet||this.scope.ownerPubKey,f=[];for(let S of t.tokenInfo){let{account:b,instructionParams:L}=await this.scope.account.getOrCreateTokenAccount({mint:S.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:S.mintAddress.equals(J.WSOL.mint),createInfo:{payer:m,amount:0},skipCloseAccount:!S.mintAddress.equals(J.WSOL.mint),associatedOnly:S.mintAddress.equals(J.WSOL.mint)?!1:n.associatedOnly});L&&a.addInstruction(L),f.push(b)}a.addInstruction({instructions:[ee.makeClaimInstruction({programId:t.programId,poolInfo:t,ownerInfo:{wallet:m,ownerPda:t.ownerAccountId,claimAddress:f}})]});let{transaction:p,signers:g}=a.build();return[{transaction:p,signer:g}]}async makeClaimAllTransaction({poolInfos:t,ownerInfo:n,feePayer:r}){let a=this.createTxBuilder(r),m=n.wallet||this.scope.ownerPubKey,f={};for(let b of t){let L=[];for(let C of b.tokenInfo){let{account:B,instructionParams:N}=await this.scope.account.getOrCreateTokenAccount({mint:C.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:C.mintAddress.equals(J.WSOL.mint),createInfo:{payer:m,amount:0},skipCloseAccount:!C.mintAddress.equals(J.WSOL.mint),associatedOnly:C.mintAddress.equals(J.WSOL.mint)?!1:n.associatedOnly});N&&a.addInstruction(N),B&&(f[C.mintAddress.toString()]=B,L.push(B))}a.addInstruction({instructions:[ee.makeClaimInstruction({programId:b.programId,poolInfo:b,ownerInfo:{wallet:m,ownerPda:b.ownerAccountId,claimAddress:L}})]})}let{transaction:p,signers:g}=a.build(),S=a.allInstructions;return St(S,[m,...g.map(b=>b.publicKey)])?[{transaction:p,signer:g}]:[{transaction:new on().add(...S.slice(0,a.AllTxData.instructions.length-1)),signer:g},{transaction:new on().add(...S.slice(a.AllTxData.instructions.length-1)),signer:[]},{transaction:new on().add(...a.AllTxData.endInstructions),signer:[]}]}static makeClaimInstruction({programId:t,poolInfo:n,ownerInfo:r}){let a=l([]),m=[{pubkey:r.wallet,isSigner:!0,isWritable:!0},{pubkey:n.poolId,isSigner:!1,isWritable:!0},{pubkey:r.ownerPda,isSigner:!1,isWritable:!0},...r.claimAddress.map(g=>({pubkey:g,isSigner:!1,isWritable:!0})),...n.tokenInfo.map(({mintVault:g})=>({pubkey:g,isSigner:!1,isWritable:!0})),{pubkey:Aa,isSigner:!1,isWritable:!1}],f=Buffer.alloc(a.span);a.encode({},f);let p=Buffer.from([10,66,208,184,161,6,191,98,...f]);return new Pa({keys:m,programId:t,data:p})}},ce=ee;ce.CLAIMED_NUM=3,ce.POOL_LAYOUT=l([M(8),c("bump"),c("status"),e("openTime"),e("endTime"),o("ammId"),d(l([c("mintDecimals"),o("mintAddress"),o("mintVault"),e("perLpLoss"),e("totalClaimedAmount")]),ee.CLAIMED_NUM,"tokenInfo"),d(e(),10,"padding")]),ce.OWNER_LAYOUT=l([M(8),c("bump"),c("version"),o("poolId"),o("owner"),e("lpAmount"),d(l([o("mintAddress"),e("debtAmount"),e("claimedAmount")]),ee.CLAIMED_NUM,"tokenInfo"),d(e(),4,"padding")]),ce.DEFAULT_POOL_ID=["58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2","6UmmUiYoBjSrhakAobJw8BvkmJtDVxaeBtbt7rxWo1mg","AVs9TA4nWDzfPJE9gGVNJMVhcQy3V9PGazuz33BfG2RA","DVa7Qmb5ct9RCpaU7UTpSaf3GVMYz17vNVU67XpdCRut","7XawhbbxtsRcQA8KTkHT9f9nc6d69UwqCDh6U5EEbEmX","6a1CsrpeZubDjEJE9s1CMVheB6HWM5d7m1cj2jkhyXhj","EoNrn8iUhwgJySD1pHu8Qxm5gSQqLK3za4m8xzD2RuEb","AceAyRTWt4PyB2pHqf2qhDgNZDtKVNaxgL8Ru3V4aN1P","6tmFJbMk5yVHFcFy7X2K8RwHjKLr6KVFLYXpgpBNeAxB"].map(t=>new ga(t)),ce.SEED_CONFIG={pool:{id:Buffer.from("pool_seed","utf8")},owner:{id:Buffer.from("user_claim_seed","utf8")}},ce.VERSION_PROJECT=[void 0,"Francium","Tulip","Larix"];import{PublicKey as Tx}from"@solana/web3.js";import{getTransferFeeConfig as Ix,MintLayout as Bx,TOKEN_2022_PROGRAM_ID as Sx,TOKEN_PROGRAM_ID as Kx,unpackMint as xx}from"@solana/spl-token";var tR=new Ie(2),nR=new Ie(3),oR=new Ie(5),wa=new Ie(10),iR=new Ie(100),rR=new Ie(1e3),aR=new Ie(1e4);var wR=E("Raydium_amount"),kR=Xe(ka);var ge=a=>{var m=a,{address:i,programId:t,decimals:n}=m,r=se(m,["address","programId","decimals"]);return R({chainId:101,address:ke(i).toBase58(),programId:t,logoURI:"",symbol:"",name:"",decimals:n,tags:[],extensions:r.extensions||{}},r)};import{PublicKey as Ta}from"@solana/web3.js";var ha=E("Raydium_liquidity_serum");function po({programId:i,marketId:t}){let n=[t.toBuffer()],r=0,a;for(;r<100;){try{let m=n.concat(Buffer.from([r]),Buffer.alloc(7));a=Ta.createProgramAddressSync(m,i)}catch(m){if(m instanceof TypeError)throw m;r++;continue}return{publicKey:a,nonce:r}}throw ha.logWithError("unable to find a viable program address nonce","params",{programId:i,marketId:t}),new Error("unable to find a viable program address nonce")}function tn({programId:i}){let{publicKey:t}=oe([Buffer.from("amm_config_account_seed","utf-8")],i);return t}function Be({name:i,programId:t,marketId:n}){let{publicKey:r}=oe([t.toBuffer(),n.toBuffer(),Buffer.from(i,"utf-8")],t);return r}function Sa({programId:i,marketId:t}){let{publicKey:n}=oe([i.toBuffer(),t.toBuffer(),Buffer.from("open_order_associated_seed","utf-8")],i);return n}function lo({programId:i}){return oe([Buffer.from([97,109,109,32,97,117,116,104,111,114,105,116,121])],i)}function zr({version:i,marketVersion:t,marketId:n,baseMint:r,quoteMint:a,baseDecimals:m,quoteDecimals:f,programId:p,marketProgramId:g}){let S=Be({name:"amm_associated_seed",programId:p,marketId:n}),b=Be({name:"lp_mint_associated_seed",programId:p,marketId:n}),{publicKey:L,nonce:C}=lo({programId:p}),B=Be({name:"coin_vault_associated_seed",programId:p,marketId:n}),N=Be({name:"pc_vault_associated_seed",programId:p,marketId:n}),P=Be({name:"temp_lp_token_associated_seed",programId:p,marketId:n}),A=Sa({programId:p,marketId:n}),I=Be({name:"target_associated_seed",programId:p,marketId:n}),T=Be({name:"withdraw_associated_seed",programId:p,marketId:n}),{publicKey:F}=po({programId:g,marketId:n});return{id:S,baseMint:r,quoteMint:a,lpMint:b,baseDecimals:m,quoteDecimals:f,lpDecimals:m,version:i,programId:p,authority:L,nonce:C,baseVault:B,quoteVault:N,lpVault:P,openOrders:A,targetOrders:I,withdrawQueue:T,marketVersion:t,marketProgramId:g,marketId:n,marketAuthority:F,lookupTableAccount:Ia.default,configId:tn({programId:p})}}var rn={volume:0,volumeQuote:0,volumeFee:0,apr:0,feeApr:0,priceMin:0,priceMax:0,rewardApr:[]},oo=i=>{let t={},n=Ba.toBase58();return Object.keys(i).map(r=>{let a=i[r],[m,f]=[a.baseMint.toBase58(),a.quoteMint.toBase58()];t[r]={id:r,version:4,status:a.status.toNumber(),programId:a.programId.toBase58(),mintA:ge({address:m,programId:n,decimals:a.baseDecimal.toNumber()}),mintB:ge({address:f,programId:n,decimals:a.quoteDecimal.toNumber()}),rewardDefaultInfos:[],rewardDefaultPoolInfos:"Ecosystem",price:a.poolPrice.toNumber(),mintAmountA:new It(a.mintAAmount.toString()).div(10**a.baseDecimal.toNumber()).toNumber(),mintAmountB:new It(a.mintBAmount.toString()).div(10**a.quoteDecimal.toNumber()).toNumber(),baseReserve:a.baseReserve,quoteReserve:a.quoteReserve,feeRate:new It(a.tradeFeeNumerator.toString()).div(a.tradeFeeDenominator.toString()).toNumber(),openTime:a.poolOpenTime.toString(),tvl:0,day:rn,week:rn,month:rn,pooltype:[],farmUpcomingCount:0,farmOngoingCount:0,farmFinishedCount:0,type:"Standard",marketId:a.marketId.toBase58(),configId:tn({programId:a.programId}).toBase58(),lpPrice:0,lpAmount:new It(a.lpReserve.toString()).div(10**Math.min(a.baseDecimal.toNumber(),a.quoteDecimal.toNumber())).toNumber(),lpMint:ge({address:a.lpMint.toBase58(),programId:n,decimals:Math.min(a.baseDecimal.toNumber(),a.quoteDecimal.toNumber())}),burnPercent:0,feeOn:"Both",hasDynamicFee:!1,tips:[],launchMigratePool:!1}}),t};export{tn as getAssociatedConfigId,Sa as getAssociatedOpenOrders,zr as getAssociatedPoolKeys,lo as getLiquidityAssociatedAuthority,Be as getLiquidityAssociatedId,oo as toAmmComputePoolInfo};
//# sourceMappingURL=utils.mjs.map