@raydium-io/raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
2 lines • 77.3 kB
JavaScript
var yo=Object.defineProperty,bo=Object.defineProperties;var go=Object.getOwnPropertyDescriptors;var it=Object.getOwnPropertySymbols;var un=Object.prototype.hasOwnProperty,cn=Object.prototype.propertyIsEnumerable;var sn=(r,n,t)=>n in r?yo(r,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[n]=t,R=(r,n)=>{for(var t in n||(n={}))un.call(n,t)&&sn(r,t,n[t]);if(it)for(var t of it(n))cn.call(n,t)&&sn(r,t,n[t]);return r},E=(r,n)=>bo(r,go(n));var ce=(r,n)=>{var t={};for(var o in r)un.call(r,o)&&n.indexOf(o)<0&&(t[o]=r[o]);if(r!=null&&it)for(var o of it(r))n.indexOf(o)<0&&cn.call(r,o)&&(t[o]=r[o]);return t};import ka from"big.js";import we from"bn.js";import Se from"bn.js";import TR from"decimal.js";import{PublicKey as Po}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ln}from"@solana/spl-token";var rt={chainId:101,address:Po.default.toBase58(),programId:ln.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:ln.toBase58(),decimals:9,symbol:"WSOL",name:"Wrapped SOL",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}};import{PublicKey as xt}from"@solana/web3.js";import{PublicKey as z,SystemProgram as mn,SYSVAR_RENT_PUBKEY as Ao}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as wo}from"@solana/spl-token";function xe({pubkey:r,isSigner:n=!1,isWritable:t=!0}){return{pubkey:r,isWritable:t,isSigner:n}}var ko=[xe({pubkey:wo,isWritable:!1}),xe({pubkey:mn.programId,isWritable:!1}),xe({pubkey:Ao,isWritable:!1})];function dn({publicKey:r,transformSol:n}){let t=pn(r.toString());if(t instanceof z)return n&&t.equals(Te)?be:t;if(n&&t.toString()===Te.toBase58())return be;if(typeof t=="string"){if(t===z.default.toBase58())return z.default;try{return new z(t)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function pn(r){try{return new z(r)}catch{return r}}var Kt=new z("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Ue=new z("SysvarRent111111111111111111111111111111111"),Ra=new z("SysvarC1ock11111111111111111111111111111111"),at=new z("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),To=new z("Sysvar1nstructions1111111111111111111111111"),ho=mn.programId,La=new z("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Oa=new z("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Na=new z("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),Ma=new z("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Fa=new z("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),va=new z("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),_a=new z("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),Va=new z("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),Ea=new z("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Da=new z("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Wa=new z("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),be=new z("So11111111111111111111111111111111111111112"),Te=z.default;var Ct=class{constructor({mint:n,decimals:t,symbol:o,name:u,skipMint:d=!1,isToken2022:p=!1}){if(n===Te.toBase58()||n instanceof xt&&Te.equals(n)){this.decimals=le.decimals,this.symbol=le.symbol,this.name=le.name,this.mint=new xt(le.address),this.isToken2022=!1;return}this.decimals=t,this.symbol=o||n.toString().substring(0,6),this.name=u||n.toString().substring(0,6),this.mint=d?xt.default:dn({publicKey:n}),this.isToken2022=p}equals(n){return this===n?!0:this.mint.equals(n.mint)}},H=Ct;H.WSOL=new Ct(E(R({},le),{mint:le.address}));var Rt=class{constructor({decimals:n,symbol:t="UNKNOWN",name:o="UNKNOWN"}){this.decimals=n,this.symbol=t,this.name=o}equals(n){return this===n}},st=Rt;st.SOL=new Rt(rt);function Za(r,n){return r instanceof H&&n instanceof H?r.equals(n):r instanceof H||n instanceof H?!1:r===n}import ct from"big.js";import Co from"bn.js";import Ro from"decimal.js-light";import{get as fn,set as Io}from"lodash";var Lt=class{constructor(n){this.logLevel=n.logLevel!==void 0?n.logLevel:0,this.name=n.name}set level(n){this.logLevel=n}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(n){return n<=this.logLevel}error(...n){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...n),this):this}logWithError(...n){let t=n.map(o=>typeof o=="object"?JSON.stringify(o):o).join(", ");throw new Error(t)}warning(...n){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...n),this):this}info(...n){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...n),this):this}debug(...n){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...n),this):this}},yn={},Bo={};function F(r){let n=fn(yn,r);if(!n){let t=fn(Bo,r);n=new Lt({name:r,logLevel:t}),Io(yn,r,n)}return n}import Ge from"bn.js";var bn=9007199254740991;function Y(r){let n=F("Raydium_parseBigNumberish");if(r instanceof Ge)return r;if(typeof r=="string"){if(r.match(/^-?[0-9]+$/))return new Ge(r);n.logWithError(`invalid BigNumberish string: ${r}`)}return typeof r=="number"?(r%1&&n.logWithError(`BigNumberish number underflow: ${r}`),(r>=bn||r<=-bn)&&n.logWithError(`BigNumberish number overflow: ${r}`),new Ge(String(r))):typeof r=="bigint"?new Ge(r.toString()):(n.error(`invalid BigNumberish value: ${r}`),new Ge(0))}import So from"toformat";var Ko=So,ze=Ko;var ut=F("module/fraction"),Ot=ze(ct),Xe=ze(Ro),Lo={[0]:Xe.ROUND_DOWN,[1]:Xe.ROUND_HALF_UP,[2]:Xe.ROUND_UP},Oo={[0]:ct.roundDown,[1]:ct.roundHalfUp,[2]:ct.roundUp},W=class{constructor(n,t=new Co(1)){this.numerator=Y(n),this.denominator=Y(t)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new W(this.denominator,this.numerator)}add(n){let t=n instanceof W?n:new W(Y(n));return this.denominator.eq(t.denominator)?new W(this.numerator.add(t.numerator),this.denominator):new W(this.numerator.mul(t.denominator).add(t.numerator.mul(this.denominator)),this.denominator.mul(t.denominator))}sub(n){let t=n instanceof W?n:new W(Y(n));return this.denominator.eq(t.denominator)?new W(this.numerator.sub(t.numerator),this.denominator):new W(this.numerator.mul(t.denominator).sub(t.numerator.mul(this.denominator)),this.denominator.mul(t.denominator))}mul(n){let t=n instanceof W?n:new W(Y(n));return new W(this.numerator.mul(t.numerator),this.denominator.mul(t.denominator))}div(n){let t=n instanceof W?n:new W(Y(n));return new W(this.numerator.mul(t.denominator),this.denominator.mul(t.numerator))}toSignificant(n,t={groupSeparator:""},o=1){Number.isInteger(n)||ut.logWithError(`${n} is not an integer.`),n<=0&&ut.logWithError(`${n} is not positive.`),Xe.set({precision:n+1,rounding:Lo[o]});let u=new Xe(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(n);return u.toFormat(u.decimalPlaces(),t)}toFixed(n,t={groupSeparator:""},o=1){return Number.isInteger(n)||ut.logWithError(`${n} is not an integer.`),n<0&&ut.logWithError(`${n} is negative.`),Ot.DP=n,Ot.RM=Oo[o]||1,new Ot(this.numerator.toString()).div(this.denominator.toString()).toFormat(n,t)}isZero(){return this.numerator.isZero()}};import No from"bn.js";var gn=new W(new No(100)),Pe=class extends W{toSignificant(n=5,t,o){return this.mul(gn).toSignificant(n,t,o)}toFixed(n=2,t,o){return this.mul(gn).toFixed(n,t,o)}};var Mo=F("Raydium_price"),me=class extends W{constructor(t){let{baseToken:o,quoteToken:u,numerator:d,denominator:p}=t;super(d,p);this.baseToken=o,this.quoteToken=u,this.scalar=new W(Nt(o.decimals),Nt(u.decimals))}get raw(){return new W(this.numerator,this.denominator)}get adjusted(){return super.mul(this.scalar)}invert(){return new me({baseToken:this.quoteToken,quoteToken:this.baseToken,denominator:this.numerator,numerator:this.denominator})}mul(t){this.quoteToken!==t.baseToken&&Mo.logWithError("mul token not equals");let o=super.mul(t);return new me({baseToken:this.baseToken,quoteToken:t.quoteToken,denominator:o.denominator,numerator:o.numerator})}toSignificant(t=this.quoteToken.decimals,o,u){return this.adjusted.toSignificant(t,o,u)}toFixed(t=this.quoteToken.decimals,o,u){return this.adjusted.toFixed(t,o,u)}};import{merge as BC}from"lodash";import lc from"axios";import{PublicKey as Fo}from"@solana/web3.js";import{MINT_SIZE as xs,TOKEN_PROGRAM_ID as Cs,getTransferFeeConfig as Rs,unpackMint as Ls}from"@solana/spl-token";var Mt=F("Raydium_accountInfo_util");async function ge(r,n,t){let{batchRequest:o,commitment:u="confirmed",chunkCount:d=100}=R({batchRequest:!1},t),p=Ft(n,d),f=new Array(p.length).fill([]);if(o){let g=p.map(K=>{let L=r._buildArgs([K.map(S=>S.toBase58())],u,"base64");return{methodName:"getMultipleAccounts",args:L}}),T=Ft(g,10);f=(await(await Promise.all(T.map(async K=>await r._rpcBatchRequest(K)))).flat()).map(K=>(K.error&&Mt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${K.error.message}`),K.result.value.map(L=>{if(L){let{data:S,executable:M,lamports:P,owner:h,rentEpoch:B}=L;return S.length!==2&&S[1]!=="base64"&&Mt.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(S[0],"base64"),executable:M,lamports:P,owner:new Fo(h),rentEpoch:B}}return null})))}else try{f=await Promise.all(p.map(g=>r.getMultipleAccountsInfo(g,u)))}catch(g){g instanceof Error&&Mt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${g.message}`)}return f.flat()}function Ft(r,n=1,t=[]){let o=[...r];if(n<=0)return t;for(;o.length;)t.push(o.splice(0,n));return t}import{PublicKey as Hs}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Zs}from"@solana/spl-token";import{ComputeBudgetProgram as Pn,Keypair as wn,PublicKey as vo,Transaction as kn,TransactionMessage as _o,VersionedTransaction as Tn}from"@solana/web3.js";var $={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 Vo}from"@solana/spl-token";var An=F("Raydium_txUtil"),hn=1644;function lt(r){let n=[],t=[];return r.microLamports&&(n.push(Pn.setComputeUnitPrice({microLamports:r.microLamports})),t.push($.SetComputeUnitPrice)),r.units&&(n.push(Pn.setComputeUnitLimit({units:r.units})),t.push($.SetComputeUnitLimit)),{instructions:n,instructionTypes:t}}async function Ce(r,n){var o,u;let t=n!=null?n:"confirmed";return(u=await((o=r.getLatestBlockhash)==null?void 0:o.call(r,{commitment:t})))==null?void 0:u.blockhash}async function mt(r,n){return r.getSignatureStatuses([n]),new Promise((t,o)=>{let u=setTimeout(o,6e4);r.onSignature(n,d=>{if(clearTimeout(u),!d.err){t("");return}o(Object.assign(d.err,{txId:n}))},"confirmed")})}function vt(r,n){r.length<1&&An.logWithError(`no instructions provided: ${r.toString()}`),n.length<1&&An.logWithError(`no signers provided:, ${n.toString()}`);let t=new kn;t.recentBlockhash="11111111111111111111111111111111",t.feePayer=n[0],t.add(...r);try{return Buffer.from(t.serialize({verifySignatures:!1})).toString("base64").length<hn}catch{return!1}}function de(r,n){let[t,o]=vo.findProgramAddressSync(r,n);return{publicKey:t,nonce:o}}function He({instructions:r,payer:n,signers:t}){return vt(r,[n,...t])}function Qe({instructions:r,payer:n,lookupTableAddressAccount:t,recentBlockhash:o=wn.generate().publicKey.toString()}){let d=new _o({payerKey:n,recentBlockhash:o,instructions:r}).compileToV0Message(Object.values(t!=null?t:{}));try{return Buffer.from(new Tn(d).serialize()).toString("base64").length<hn}catch{return!1}}var Eo=r=>Buffer.isBuffer(r)?r:r instanceof Uint8Array?Buffer.from(r.buffer,r.byteOffset,r.byteLength):Buffer.from(r),Do=r=>{let n=r.serialize({requireAllSignatures:!1,verifySignatures:!1});r instanceof Tn&&(n=Eo(n));try{return n instanceof Buffer?n.toString("base64"):Buffer.from(n).toString("base64")}catch{return n.toString("base64")}};function he(r){let n=[];return r.forEach(t=>{t instanceof kn&&(t.recentBlockhash||(t.recentBlockhash=Vo.toBase58()),t.feePayer||(t.feePayer=wn.generate().publicKey)),n.push(Do(t))}),console.log("simulate tx string:",n),n}import{PublicKey as k}from"@solana/web3.js";var In=new k("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),Bn=new k("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),Sn=new k("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),_t=new k("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),eu=new k("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Wo=new k("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),Kn=new k("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),xn=new k("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),tu=new k("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),qo=new k("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Cn=new k("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),Uo=new k("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Go=new k("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),Rn=new k("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),nu=new k("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),zo=new k("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Vt=new k("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),Xo=new k("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),ou=new k("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),Yo=new k("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Ho=new k("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),Qo=new k("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),iu=new k("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),ru=new k("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),au=new k("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),su=new k("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),uu=new k("6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX");var Ae={OPEN_BOOK_PROGRAM:new k("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),SERUM_PROGRAM_ID_V3:new k("Ray1111111111111111111111111111111111111111"),AMM_V4:new k("DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav"),AMM_STABLE:new k("DRayDdXc1NZQ9C3hRWmoSf8zK4iapgMnjdNZWrfwsP8m"),CLMM_PROGRAM_ID:new k("DRayAUgENGQBKVaX8owNhgzkEDyoHTGVEGHVJT1E9pfH"),CLMM_LOCK_PROGRAM_ID:new k("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),CLMM_LOCK_AUTH_ID:new k("6Aoh8h2Lw2m5UGxYR8AdAL87jTWYeKoxM52mJRzfYwN"),CREATE_CPMM_POOL_PROGRAM:new k("DRaycpLY18LhpbydsBWbVJtxpNv9oXPgjRSfpF2bWpYb"),CREATE_CPMM_POOL_AUTH:new k("CXniRufdq5xL8t8jZAPxsPZDpuudwuJSPWnbcD5Y5Nxq"),CREATE_CPMM_POOL_FEE_ACC:new k("3oE58BKVt8KuYkGxx8zBojugnymWmBiyafWgMrnb6eYy"),LOCK_CPMM_PROGRAM:new k("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),LOCK_CPMM_AUTH:new k("7qWVV8UY2bRJfDLP4s37YzBPKUkVB46DStYJBpYbQzu3"),UTIL1216:k.default,Router:new k("DRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd"),FARM_PROGRAM_ID_V3:new k("DRayWyrLmEW5KEeqs8kdTMMaBabapqagaBC7KWpGtJeZ"),FARM_PROGRAM_ID_V4:new k("Ray1111111111111111111111111111111111111111"),FARM_PROGRAM_ID_V5:new k("DRayiCGSZgku1GTK6rXD6mVDdingXy6APAH1R6R5L2LC"),FARM_PROGRAM_ID_V6:new k("DRayzbYakXs45ELHkzH6vC3fuhQqTAnv5A68gdFuvZyZ"),LAUNCHPAD_PROGRAM:new k("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),LAUNCHPAD_AUTH:new k("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),LAUNCHPAD_PLATFORM:new k("2Jx4KTDrVSdWNazuGpcA8n3ZLTRGGBDxAWhuKe2Xcj2a"),LAUNCHPAD_CONFIG:new k("7ZR4zD7PYfY2XxoG1Gxcy2EgEeGYrpxrwzPuwdUBssEt"),FEE_DESTINATION_ID:new k("9y8ENuuZ3b19quffx9hQvRVygG5ky6snHfRvGpuSfeJy"),MODEL_DATA_PUBKEY:new k("Ray1111111111111111111111111111111111111111")};import mu from"bn.js";import{PublicKey as Et,AddressLookupTableAccount as Oe}from"@solana/web3.js";async function Dt({connection:r,address:n,cluster:t="mainnet"}){let o=await ge(r,[...new Set(n.map(d=>d.toString()))].map(d=>new Et(d))),u={};for(let d=0;d<n.length;d++){let p=o[d],f=n[d];if(!p)continue;let g=new Oe({key:f,state:Oe.deserialize(p.data)});u[f.toString()]=g,t==="devnet"?Le[f.toString()]=g:Re[f.toString()]=g}return u}var Re={},Wt=async r=>{let n="AcL1Vo8oy1ULiavEcjSUcwfBSForXMudcZvDZy5nzJkU";if(Re[n])return Re;let t=new Et(n),o=await r.getAccountInfo(t);return o&&(Re[n]=new Oe({key:t,state:Oe.deserialize(o.data)})),Re},Le={},qt=async r=>{let n="EFhMuDw1PKEuckuFRW9PavNfTH4LKP5uKHgyXDmWpFCq";if(Le[n])return Le;let t=new Et(n),o=await r.getAccountInfo(t);return o&&(Le[n]=new Oe({key:t,state:Oe.deserialize(o.data)})),Le};import{PublicKey as Ne,sendAndConfirmTransaction as Ut,SystemProgram as Zo,Transaction as Ze,TransactionMessage as $e,VersionedTransaction as je}from"@solana/web3.js";import $o from"axios";var dt=2e3,pt=class{constructor(n){this.instructions=[];this.endInstructions=[];this.lookupTableAddress=[];this.signers=[];this.instructionTypes=[];this.endInstructionTypes=[];this.connection=n.connection,this.feePayer=n.feePayer,this.signAllTransactions=n.signAllTransactions,this.owner=n.owner,this.cluster=n.cluster,this.blockhashCommitment=n.blockhashCommitment,this.loopMultiTxStatus=!!n.loopMultiTxStatus}get AllTxData(){return{instructions:this.instructions,endInstructions:this.endInstructions,signers:this.signers,instructionTypes:this.instructionTypes,endInstructionTypes:this.endInstructionTypes,lookupTableAddress:this.lookupTableAddress}}get allInstructions(){return[...this.instructions,...this.endInstructions]}async getComputeBudgetConfig(){var o;let n=(await $o.get(`https://solanacompass.com/api/fees?cacheFreshTime=${3e5}`)).data,{avg:t}=(o=n==null?void 0:n[15])!=null?o:{};if(!!t)return{units:6e5,microLamports:Math.min(Math.ceil(t*1e6/6e5),25e3)}}addCustomComputeBudget(n){if(n){let{instructions:t,instructionTypes:o}=lt(n);return this.instructions.unshift(...t),this.instructionTypes.unshift(...o),!0}return!1}addTipInstruction(n){var t;return n?(this.endInstructions.push(Zo.transfer({fromPubkey:(t=n.feePayer)!=null?t:this.feePayer,toPubkey:new Ne(n.address),lamports:BigInt(n.amount.toString())})),this.endInstructionTypes.push($.TransferTip),!0):!1}async calComputeBudget({config:n,defaultIns:t}){try{let o=n||await this.getComputeBudgetConfig();if(this.addCustomComputeBudget(o))return;t&&this.instructions.unshift(...t)}catch{t&&this.instructions.unshift(...t)}}addInstruction({instructions:n=[],endInstructions:t=[],signers:o=[],instructionTypes:u=[],endInstructionTypes:d=[],lookupTableAddress:p=[]}){return this.instructions.push(...n),this.endInstructions.push(...t),this.signers.push(...o),this.instructionTypes.push(...u),this.endInstructionTypes.push(...d),this.lookupTableAddress.push(...p.filter(f=>f!==Ne.default.toString())),this}async versionBuild({txVersion:n,extInfo:t,lookupTableAddress:o}){return n===0?await this.buildV0(E(R({},t||{}),{lookupTableAddress:o})):this.build(t)}build(n){var o;let t=new Ze;return this.allInstructions.length&&t.add(...this.allInstructions),t.feePayer=this.feePayer,((o=this.owner)==null?void 0:o.signer)&&!this.signers.some(u=>u.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer),{builder:this,transaction:t,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async u=>{var y;let{recentBlockHash:d,skipPreflight:p=!0,sendAndConfirm:f,notSendToRpc:g}=u||{},T=d!=null?d:await Ce(this.connection,this.blockhashCommitment);if(t.recentBlockhash=T,this.signers.length&&t.sign(...this.signers),he([t]),(y=this.owner)!=null&&y.isKeyPair)return{txId:f?await Ut(this.connection,t,this.signers.find(L=>L.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:p}):await this.connection.sendRawTransaction(t.serialize(),{skipPreflight:p}),signedTx:t};if(this.signAllTransactions){let K=await this.signAllTransactions([t]);if(this.signers.length)for(let 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:n||{}}}buildMultiTx(n){var T;let{extraPreBuildData:t=[],extInfo:o}=n,{transaction:u}=this.build(o),d=t.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 Ce(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 Ut(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]),_));he(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 q=b.findIndex(ee=>ee.txId===w);if(q>-1){if(b[q].status==="error"||b[q].status==="success")return;b[q].status=U.err?"error":"success"}L==null||L([...b]),U.err||A()};this.loopMultiTxStatus&&(O=setInterval(async()=>{var U;if(x){clearInterval(O);return}try{let q=await this.connection.getTransaction(w,{commitment:"confirmed",maxSupportedTransactionVersion:1});q&&(x=!0,clearInterval(O),ie({err:((U=q.meta)==null?void 0:U.err)||null}),console.log("tx status from getTransaction:",w))}catch(q){x=!0,clearInterval(O),console.error("getTransaction timeout:",q,w)}},dt)),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:o||{}}}async versionMultiBuild({extraPreBuildData:n,txVersion:t,extInfo:o}){return t===0?await this.buildV0MultiTx({extraPreBuildData:n,buildProps:o||{}}):this.buildMultiTx({extraPreBuildData:n,extInfo:o})}async buildV0(n){var P;let M=n||{},{lookupTableCache:t={},lookupTableAddress:o=[],forerunCreate:u,recentBlockhash:d}=M,p=ce(M,["lookupTableCache","lookupTableAddress","forerunCreate","recentBlockhash"]),f=R(R({},this.cluster==="devnet"?await qt(this.connection):await Wt(this.connection)),t),g=Array.from(new Set([...o,...this.lookupTableAddress])),T=[];for(let h of g)f[h]===void 0&&T.push(new Ne(h));let y=await Dt({connection:this.connection,address:T});for(let[h,B]of Object.entries(y))f[h]=B;let K=u?Ne.default.toBase58():d!=null?d:await Ce(this.connection,this.blockhashCommitment),L=new $e({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 je(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(he([S]),(_=this.owner)!=null&&_.isKeyPair){let b=await this.connection.sendTransaction(S,{skipPreflight:B});return I&&await mt(this.connection,b),{txId:b,signedTx:S}}if(this.signAllTransactions){let b=await this.signAllTransactions([S]);if(this.signers.length)for(let A of b)try{A.sign(this.signers)}catch{}return{txId:v?"":await this.connection.sendTransaction(b[0],{skipPreflight:B}),signedTx:b[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:p||{}}}async buildV0MultiTx(n){var T;let{extraPreBuildData:t=[],buildProps:o}=n,{transaction:u}=await this.buildV0(o),d=t.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:o,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),he(p),(P=this.owner)!=null&&P.isKeyPair){if(K){let h=[];for(let B of p){let I=await this.connection.sendTransaction(B,{skipPreflight:M});await mt(this.connection,I),h.push(I)}return{txIds:h,signedTxs:p}}return{txIds:await Promise.all(p.map(async h=>await this.connection.sendTransaction(h,{skipPreflight:M}))),signedTxs:p}}if(this.signAllTransactions){let h=await this.signAllTransactions(p);if(K){let B=0,I=[],v=async()=>{if(!h[B])return;let _=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,_)}},dt)),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:o||{}}}async sizeCheckBuild(n){var L;let K=n||{},{splitIns:t=[],computeBudgetConfig:o}=K,u=ce(K,["splitIns","computeBudgetConfig"]),d=o?lt(o):{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=o?[...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 Ne(I));if(S!==t[y]&&T.length<12&&(He({instructions:P,payer:this.feePayer,signers:B})||He({instructions:M,payer:this.feePayer,signers:B})))T.push(S);else{if(T.length===0)throw Error("item ins too big");y+=S===t[y]?1:0,He({instructions:o?[...d.instructions,...T]:[...T],payer:this.feePayer,signers:B})?f.push(new Ze().add(...d.instructions,...T)):f.push(new Ze().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);He({instructions:o?[...d.instructions,...T]:[...T],payer:this.feePayer,signers:M.map(P=>P.publicKey)})?f.push(new Ze().add(...d.instructions,...T)):f.push(new Ze().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 Ce(this.connection,this.blockhashCommitment);if(f.forEach(async(b,A)=>{b.recentBlockhash=v,g[A].length&&b.sign(...g[A])}),he(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 Ut(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,q=null,ee=G=>{U!==null&&clearInterval(U),q!==null&&this.connection.removeSignatureListener(q);let ne=x.findIndex(fe=>fe.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),ee({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)}},dt)),q=this.connection.onSignature(V,G=>{if(ie){this.connection.removeSignatureListener(q);return}ie=!0,ee(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(n){var _;let v=n||{},{computeBudgetConfig:t,splitIns:o=[],lookupTableCache:u={},lookupTableAddress:d=[],insCountLimit:p=12}=v,f=ce(v,["computeBudgetConfig","splitIns","lookupTableCache","lookupTableAddress","insCountLimit"]),g=R(R({},this.cluster==="devnet"?await qt(this.connection):await Wt(this.connection)),u),T=Array.from(new Set([...this.lookupTableAddress,...d])),y=[];for(let b of T)g[b]===void 0&&y.push(new Ne(b));let K=await Dt({connection:this.connection,address:y});for(let[b,A]of Object.entries(K))g[b]=A;let L=t?lt(t):{instructions:[],instructionTypes:[]},S=await Ce(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=t?[...L.instructions,...A]:A;if(b!==o[I]&&B.length<p&&(Qe({instructions:w,payer:this.feePayer,lookupTableAddressAccount:g})||Qe({instructions:A,payer:this.feePayer,lookupTableAddressAccount:g})))B.push(b);else{if(B.length===0)throw Error("item ins too big");I+=b===o[I]?1:0;let x={};for(let O of[...new Set(T)])g[O]!==void 0&&(x[O]=g[O]);if(t&&Qe({instructions:[...L.instructions,...B],payer:this.feePayer,lookupTableAddressAccount:g,recentBlockhash:S})){let O=new $e({payerKey:this.feePayer,recentBlockhash:S,instructions:[...L.instructions,...B]}).compileToV0Message(Object.values(g));P.push(new je(O))}else{let O=new $e({payerKey:this.feePayer,recentBlockhash:S,instructions:[...B]}).compileToV0Message(Object.values(g));P.push(new je(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(t&&Qe({instructions:[...L.instructions,...B],payer:this.feePayer,lookupTableAddressAccount:g,recentBlockhash:S})){let w=new $e({payerKey:this.feePayer,recentBlockhash:S,instructions:[...L.instructions,...B]}).compileToV0Message(Object.values(g));P.push(new je(w))}else{let w=new $e({payerKey:this.feePayer,recentBlockhash:S,instructions:[...B]}).compileToV0Message(Object.values(g));P.push(new je(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:n,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,q)=>{h[q].length&&U.sign(h[q]),O&&(U.message.recentBlockhash=O)}),he(P),(ie=this.owner)!=null&&ie.isKeyPair){if(A){let U=0,q=[];for(let ee of P){if(++U,U<=x){console.log("skip tx: ",U),q.push("tx skipped");continue}let G=await this.connection.sendTransaction(ee,{skipPreflight:V});await mt(this.connection,G),q.push(G)}return{txIds:q,signedTxs:P}}return{txIds:await Promise.all(P.map(async U=>await this.connection.sendTransaction(U,{skipPreflight:V}))),signedTxs:P}}if(this.signAllTransactions){let U=await this.signAllTransactions(P.slice(x,P.length)),q=[...P.slice(0,x),...U];if(A){let ee=0,G=[],ne=async()=>{if(!q[ee])return;if(ee<x){G.push({txId:"",status:"success",signedTx:q[ee]}),w==null||w([...G]),ee++,ne();return}let fe=await this.connection.sendTransaction(q[ee],{skipPreflight:V});G.push({txId:fe,status:"sent",signedTx:q[ee]}),w==null||w([...G]),ee++;let qe=!1,Ke=null,ot=null,an=ke=>{Ke!==null&&clearInterval(Ke),ot!==null&&this.connection.removeSignatureListener(ot);let ye=G.findIndex(fo=>fo.txId===fe);if(ye>-1){if(G[ye].status==="error"||G[ye].status==="success")return;G[ye].status=ke.err?"error":"success"}w==null||w([...G]),ke.err||ne()};this.loopMultiTxStatus&&(Ke=setInterval(async()=>{var ke;if(qe){clearInterval(Ke);return}try{let ye=await this.connection.getTransaction(fe,{commitment:"confirmed",maxSupportedTransactionVersion:1});ye&&(qe=!0,clearInterval(Ke),an({err:((ke=ye.meta)==null?void 0:ke.err)||null}),console.log("tx status from getTransaction:",fe))}catch(ye){qe=!0,clearInterval(Ke),console.error("getTransaction timeout:",ye,fe)}},dt)),ot=this.connection.onSignature(fe,ke=>{if(qe){this.connection.removeSignatureListener(ot);return}qe=!0,an(ke)},"confirmed"),this.connection.getSignatureStatus(fe)};return ne(),{txIds:[],signedTxs:q}}else{let ee=[];for(let G=0;G<q.length;G+=1){let ne=await this.connection.sendTransaction(q[G],{skipPreflight:V});ee.push(ne)}return{txIds:ee,signedTxs:q}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:f||{}}}};import{PublicKey as Ru}from"@solana/web3.js";import Ou from"bn.js";import jo from"bn.js";var ft=new jo(1e6);var Ln={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=E(R({},Ln),{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 Nc=F("Raydium_Api");import{PublicKey as hm,SystemProgram as Im}from"@solana/web3.js";import{AccountLayout as Cm,createAssociatedTokenAccountIdempotentInstruction as Rm,TOKEN_PROGRAM_ID as Lm,TOKEN_2022_PROGRAM_ID as Om}from"@solana/spl-token";var Gt=(...r)=>r.map(n=>{try{return typeof n=="object"?JSON.stringify(n):n}catch{return n}}).join(", "),oe=class{constructor({scope:n,moduleName:t}){this.disabled=!1;this.scope=n,this.logger=F(t)}createTxBuilder(n){return this.scope.checkOwner(),new pt({connection:this.scope.connection,feePayer:n||this.scope.ownerPubKey,cluster:this.scope.cluster,owner:this.scope.owner,blockhashCommitment:this.scope.blockhashCommitment,loopMultiTxStatus:this.scope.loopMultiTxStatus,api:this.scope.api,signAllTransactions:this.scope.signAllTransactions})}logDebug(...n){this.logger.debug(Gt(n))}logInfo(...n){this.logger.info(Gt(n))}logAndCreateError(...n){let t=Gt(n);throw new Error(t)}checkDisabled(){(this.disabled||!this.scope)&&this.logAndCreateError("module not working")}};import{PublicKey as em,SystemProgram as nm}from"@solana/web3.js";import rm from"bn.js";import{createCloseAccountInstruction as cm,createInitializeAccountInstruction as lm,createTransferInstruction as mm,TOKEN_PROGRAM_ID as dm}from"@solana/spl-token";import{Keypair as Wl,PublicKey as ql}from"@solana/web3.js";import zl from"bn.js";import{TOKEN_PROGRAM_ID as Hl}from"@solana/spl-token";import{PublicKey as mi}from"@solana/web3.js";import vn,{isBN as _n}from"bn.js";import{bits as ei,BitStructure as Xc,blob as ti,Blob as Yc,cstr as Hc,f32 as Qc,f32be as Zc,f64 as $c,f64be as jc,greedy as Jc,Layout as ni,ns64 as el,ns64be as tl,nu64 as nl,nu64be as ol,offset as oi,s16 as il,s16be as rl,s24 as al,s24be as sl,s32 as ii,s32be as ul,s40 as cl,s40be as ll,s48 as ml,s48be as dl,s8 as pl,seq as ri,struct as fl,Structure as ai,u16 as si,u16be as yl,u24 as bl,u24be as gl,u32 as ui,u32be as Pl,u40 as Al,u40be as wl,u48 as kl,u48be as Tl,u8 as ci,UInt as li,union as hl,Union as Il,unionLayoutDiscriminator as Bl,utf8 as Sl}from"@solana/buffer-layout";var yt=ni,On=ai;var zt=li;var Nn=ci,Q=si;var bt=ui;var se=ii;var Mn=ri;var N=ti;var Xt=ei,Fn=oi;var Be=class extends yt{constructor(t,o,u){super(t,u);this.blob=N(t),this.signed=o}decode(t,o=0){let u=new vn(this.blob.decode(t,o),10,"le");return this.signed?u.fromTwos(this.span*8).clone():u}encode(t,o,u=0){return typeof t=="number"&&(t=new vn(t)),this.signed&&(t=t.toTwos(this.span*8)),this.blob.encode(t.toArrayLike(Buffer,"le",this.span),o,u)}},gt=class extends yt{constructor(t){super(8,t);this._lower=Xt(bt(),!1),this._upper=Xt(bt(),!1)}addBoolean(t){this._lower.fields.length<32?this._lower.addBoolean(t):this._upper.addBoolean(t)}decode(t,o=0){let u=this._lower.decode(t,o),d=this._upper.decode(t,o+this._lower.span);return R(R({},u),d)}encode(t,o,u=0){return this._lower.encode(t,o,u)+this._upper.encode(t,o,u+this._lower.span)}};function c(r){return new zt(1,r)}function X(r){return new zt(4,r)}function e(r){return new Be(8,!1,r)}function C(r){return new Be(16,!1,r)}function Vn(r){return new Be(1,!0,r)}function Me(r){return new Be(8,!0,r)}function En(r){return new Be(16,!0,r)}var Je=class extends yt{constructor(t,o,u,d){super(t.span,d);this.layout=t,this.decoder=o,this.encoder=u}decode(t,o){return this.decoder(this.layout.decode(t,o))}encode(t,o,u){return this.layout.encode(this.encoder(t),o,u)}getSpan(t,o){return this.layout.getSpan(t,o)}};function i(r){return new Je(N(32),n=>new mi(n),n=>n.toBuffer(),r)}function ae(r){return new Je(Nn(),di,pi,r)}function di(r){if(r===0)return!1;if(r===1)return!0;throw new Error("Invalid bool: "+r)}function pi(r){return r?1:0}function Ht(r,n){let t=bt("length"),o=l([t,m(r,Fn(t,-t.span),"values")]);return new Je(o,({values:u})=>u,u=>({values:u}),n)}var Yt=class extends On{decode(n,t){return super.decode(n,t)}};function l(r,n,t){return new Yt(r,n,t)}function m(r,n,t){let o,u=typeof n=="number"?n:_n(n)?n.toNumber():new Proxy(n,{get(d,p){if(!o){let f=Reflect.get(d,"count");o=_n(f)?f.toNumber():f,Reflect.set(d,"count",o)}return Reflect.get(d,p)},set(d,p,f){return p==="count"&&(o=f),Reflect.set(d,p,f)}});return Mn(r,u,t)}var Pt=l([i("mint"),i("owner"),e("amount"),X("delegateOption"),i("delegate"),c("state"),X("isNativeOption"),e("isNative"),e("delegatedAmount"),X("closeAuthorityOption"),i("closeAuthority")]);import{PublicKey as Gg,SystemProgram as zg}from"@solana/web3.js";import{createAssociatedTokenAccountIdempotentInstruction as Yg}from"@solana/spl-token";import oP from"decimal.js";import{createAssociatedTokenAccountIdempotentInstruction as Ny,TOKEN_2022_PROGRAM_ID as My,TOKEN_PROGRAM_ID as Fy}from"@solana/spl-token";import{PublicKey as _y}from"@solana/web3.js";import Ey from"bn.js";import Wy from"decimal.js";import{TOKEN_PROGRAM_ID as qm}from"@solana/spl-token";import{PublicKey as Xm}from"@solana/web3.js";var yi=l([X("mintAuthorityOption"),i("mintAuthority"),e("supply"),c("decimals"),c("isInitialized"),X("freezeAuthorityOption"),i("freezeAuthority")]);import{ASSOCIATED_TOKEN_PROGRAM_ID as ey,TOKEN_2022_PROGRAM_ID as ty,TOKEN_PROGRAM_ID as ny}from"@solana/spl-token";import{Keypair as ry,PublicKey as ay,SystemProgram as uy,TransactionInstruction as cy}from"@solana/web3.js";import my from"bn.js";import D from"bn.js";var Fe=new D(1).shln(64);var bi=new D(1).shln(128),Qt=new D(1).shln(64).subn(1),gi=new D(1).shln(128).subn(1);var ve=new D("4295048016"),_e=new D("79226673521066979257578248091"),Pi=new D("59543866431248"),Ai=new D("184467440737095516"),wi=new D("15793534762490258745");var Zt=60,id=new D("18446743708227953217"),ki=[{bit:0,factor:new D("fffcb933bd6fb800",16)},{bit:1,factor:new D("fff97272373d4000",16)},{bit:2,factor:new D("fff2e50f5f657000",16)},{bit:3,factor:new D("ffe5caca7e10f000",16)},{bit:4,factor:new D("ffcb9843d60f7000",16)},{bit:5,factor:new D("ff973b41fa98e800",16)},{bit:6,factor:new D("ff2ea16466c9b000",16)},{bit:7,factor:new D("fe5dee046a9a3800",16)},{bit:8,factor:new D("fcbe86c7900bb000",16)},{bit:9,factor:new D("f987a7253ac65800",16)},{bit:10,factor:new D("f3392b0822bb6000",16)},{bit:11,factor:new D("e7159475a2caf000",16)},{bit:12,factor:new D("d097f3bdfd2f2000",16)},{bit:13,factor:new D("a9f746462d9f8000",16)},{bit:14,factor:new D("70d869a156f31c00",16)},{bit:15,factor:new D("31be135f97ed3200",16)},{bit:16,factor:new D("9aa508b5b85a500",16)},{bit:17,factor:new D("5d6af8dedc582c",16)},{bit:18,factor:new D("2216e584f5fa",16)}];var et=3,Wn=100;var qn=10,Un=100,wt=14;var j=new D(0),Ve=new D(1),rd=new D(-1);var ad=new D("18446744073700000000");var Ti=l([N(8),c("bump"),Q("index"),i("owner"),X("protocolFeeRate"),X("tradeFeeRate"),Q("tickSpacing"),X("fundFeeRate"),m(X(),1),i("fundOwner"),m(e(),3)]),hi=l([X("blockTimestamp"),Me("tickCumulative"),m(e(),4)]),Gn=l([N(8),ae("initialized"),e("recentEpoch"),Q("observationIndex"),i("poolId"),m(hi,Wn,"observations"),m(e(),4)]),Ii=l([Q("filterPeriod"),Q("decayPeriod"),Q("reductionFactor"),X("dynamicFeeControl"),X("maxVolatilityAccumulator"),se("tickSpacingIndexReference"),X("volatilityReference"),X("volatilityAccumulator"),e("lastUpdateTimestamp"),m(c(),46)]),Bi=l([c("state"),e("openTime"),e("endTime"),e("lastUpdateTime"),C("emissionsPerSecondX64"),e("totalEmissioned"),e("claimed"),i("mint"),i("vault"),i("creator"),C("growthGlobalX64")]),$t=l([N(8),c("bump"),i("configId"),i("creator"),i("mintA"),i("mintB"),i("vaultA"),i("vaultB"),i("observationId"),c("mintDecimalsA"),c("mintDecimalsB"),Q("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(Bi,et,"rewardInfos"),N(8*16,"tickArrayBitmap"),m(e(),4),e("fundFeesTokenA"),e("fundFeesTokenB"),e("startTime"),e("recentEpoch"),Ii.replicate("dynamicFeeInfo"),m(e(),46)]),Si=l([C("growthInsideLastX64"),e("rewardAmountOwed")]),Ki=l([N(8),c("bump"),i("nftMint"),i("poolId"),se("tickLower"),se("tickUpper"),C("liquidity"),C("feeGrowthInsideLastX64A"),C("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),m(Si,et,"rewardInfos"),e("recentEpoch"),m(e(),7)]),ld=l([N(8),c("bump"),i("poolId"),se("tickLower"),se("tickUpper"),C("liquidity"),C("feeGrowthInsideLastX64A"),C("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),m(C(),et,"rewardGrowthInside"),e("recentEpoch"),m(e(),7)]),xi=l([se("tick"),En("liquidityNet"),C("liquidityGross"),C("feeGrowthOutsideX64A"),C("feeGrowthOutsideX64B"),m(C(),et,"rewardGrowthsOutsideX64"),e("orderPhase"),e("ordersAmount"),e("partFilledOrdersRemaining"),C("unfilledRatioX64"),m(X(),3)]),zn=l([N(8),i("poolId"),se("startTickIndex"),m(xi,Zt,"ticks"),c("initializedTickCount"),e("recentEpoch"),m(c(),107)]),Ci=l([N(8),c("bump"),m(i(),qn,"operationOwners"),m(i(),Un,"whitelistMints")]),Ri=l([N(8),i("poolId"),i("owner"),se("tick"),ae("zeroForOne"),e("orderPhase"),e("totalAmount"),e("filledAmount"),e("settleBase"),e("settleOutput"),e("openTime"),C("unfilledRatioX64"),m(e(),4)]),Xn=l([N(8),i("poolId"),N(8*8*wt,"positiveTickArrayBitmap"),N(8*8*wt,"negativeTickArrayBitmap")]),md=l([N(8),Q("index"),Q("filterPeriod"),Q("decayPeriod"),Q("reductionFactor"),X("dynamicFeeControl"),X("maxVolatilityAccumulator"),m(e(),8)]),Li=l([N(8),i("wallet"),c("nonceIndex"),e("orderNonce"),m(e(),4)]),dd=l([e(),c("bump"),i("owner"),i("poolId"),i("positionId"),i("nftAccount"),m(e(),8)]),Oi=l([N(8),c("bump"),i("lockOwner"),i("poolId"),i("positionId"),i("nftAccount"),i("lockNftMint"),e("recentEpoch"),m(e(),8)]);import yd from"bn.js";var Sd=Buffer.from("amm_config","utf8"),Mi=Buffer.from("pool","utf8"),Fi=Buffer.from("pool_vault","utf8"),Kd=Buffer.from("pool_reward_vault","utf8"),xd=Buffer.from("position","utf8"),Cd=Buffer.from("tick_array","utf8"),Rd=Buffer.from("operation","utf8"),Ld=Buffer.from("pool_tick_array_bitmap_extension","utf8"),Od=Buffer.from("observation","utf8"),Nd=Buffer.from("support_mint","utf8"),Md=Buffer.from("dynamic_fee_config","utf8"),Fd=Buffer.from("permission","utf8");var vd=Buffer.from("locked_position","utf8");import{sha256 as Zi}from"js-sha256";import vi from"bn.js";import Dd from"decimal.js";var qd=new vi(1).shln(256).subn(1);import ap from"bn.js";import Qd from"bn.js";import $d from"decimal.js";import mp from"bn.js";import pp from"decimal.js";import{PublicKey as Jp}from"@solana/web3.js";import tf from"bn.js";import{TOKEN_2022_PROGRAM_ID as lf,TOKEN_PROGRAM_ID as mf}from"@solana/spl-token";import yf from"decimal.js";import qp from"bn.js";import Cp from"bn.js";import Sf from"bn.js";function J(r){let n=`global:${r}`;return Buffer.from(Zi.digest(n)).slice(0,8)}Gn.span;var wy=F("Raydium_Clmm"),ky={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 tn}from"@solana/web3.js";var er=l([c("instruction")]),tr=l([c("instruction")]),nr=l([e("rewardState"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardLastUpdateTime"),e("totalReward"),e("totalRewardEmissioned"),e("rewardClaimed"),e("rewardPerSecond"),C("accRewardPerShare"),i("rewardVault"),i("rewardMint"),i("rewardSender"),e("rewardType"),m(e(),15,"padding")]),or=l([e("state"),e("nonce"),i("lpVault"),i("rewardVault"),i(),i(),e(),e(),e("totalReward"),C("perShareReward"),e("lastSlot"),e("perSlotReward")]),ir=l([e("state"),e("nonce"),i("lpVault"),i("rewardVaultA"),e("totalRewardA"),C("perShareRewardA"),e("perSlotRewardA"),c("option"),i("rewardVaultB"),N(7),e("totalRewardB"),C("perShareRewardB"),e("perSlotRewardB"),e("lastSlot"),i()]),rr=l([e(),e("state"),e("nonce"),e("validRewardTokenNum"),C("rewardMultiplier"),e("rewardPeriodMax"),e("rewardPeriodMin"),e("rewardPeriodExtend"),i("lpMint"),i("lpVault"),m(nr,5,"rewardInfos"),i("creator"),i(),m(e(),32,"padding")]),ar=new Proxy(or,{get(r,n,t){return n==="decode"?(...o)=>{let u=r.decode(...o);return E(R({},u),{version:3,rewardInfos:[{rewardVault:u.rewardVault,totalReward:u.totalReward,perSlotReward:u.perSlotReward,perShareReward:u.perShareReward}]})}:Reflect.get(r,n,t)}}),sr=new Proxy(ir,{get(r,n,t){return n==="decode"?(...o)=>{let u=r.decode(...o);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,n,t)}}),Jn=new Proxy(rr,{get(r,n,t){return n==="decode"?(...o)=>{let u=r.decode(...o);return E(R({},u),{version:6,rewardInfos:u.rewardInfos.map(d=>{var p;return E(R({},d),{rewardType:((p=Object.entries(nt).find(f=>String(f[1])===d.rewardType.toString()))!=null?p:["Standard SPL"])[0]})})})}:Reflect.get(r,n,t)}}),ur=l([e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),cr=l([c("instruction"),e("nonce"),m(ur,5,"rewardTimeInfo")]),lr=l([c("instruction"),e("rewardReopenTime"),e("rewardEndTime"),e("rewardPerSecond")]),mr=l([c("instruction"),e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),bb=l([e("state"),i("id"),i("owner"),e("deposited"),m(e(),1,"rewardDebts")]),eo=l([e("state"),i("id"),i("owner"),e("deposited"),m(C(),1,"rewardDebts"),e(""),e("voteLockedBalance"),m(e(),15)]),gb=l([e("state"),i("id"),i("owner"),e("deposited"),m(e(),2,"rewardDebts")]),dr=l([e("state"),i("id"),i("owner"),e("deposited"),m(C(),2,"rewardDebts"),m(e(),17)]),pr=l([e(),e("state"),i("id"),i("owner"),e("deposited"),m(C(),5,"rewardDebts"),m(e(),16)]),fr=l([c("instruction"),e("amount")]),yr=l([i("mint"),i("grantAuthority"),e("baselineVoteWeightScaledFactor"),e("maxExtraLockupVoteWeightScaledFactor"),e("lockupSaturationSecs"),Vn("digitShift"),m(c(),7,"reserved1"),m(e(),7,"reserved2")]),br=l([N(8),i("governanceProgramId"),i("realm"),i("realmGoverningTokenMint"),i("realmAuthority"),m(c(),32,"reserved1"),m(yr,4,"votingMints"),Me("timeOffset"),c("bump"),m(c(),7,"reserved2"),m(e(),11,"reserved3")]),gr=l([Me("startTime"),Me("endTime"),c("kind"),m(c(),15,"reserved")]),Pr=l([m(gr,1,"lockup"),e("amountDeposited_native"),e("amountInitiallyLockedNative"),ae("isUsed"),ae("allowClawback"),c("votingMintConfigIdx"),m(c(),29,"reserved")]),Ar=l([N(8),i("voterAuthority"),i("registrar"),m(Pr,32,"deposits"),c("voterBump"),c("voterWweightRecordBump"),m(c(),94,"reserved")]);import{NATIVE_MINT as Sb}from"@solana/spl-token";var Kb=F("Raydium_farm_config"),wr=new tn("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),kr=new tn("FrspKwj8i3pNmKwXreTveC4fu7KL5ZbGeXdZBe2XViu1");var xb=new tn("3TRTX4dXUpp2eqxi3tvQDFYUV7SdDJjcPE3Y4mbtftaX");var nt={"Standard SPL":0,"Option tokens":1},to={[In.toString()]:3,[Bn.toString()]:4,[Sn.toString()]:5,[_t.toString()]:6,[Ae.FARM_PROGRAM_ID_V3.toString()]:3,[Ae.FARM_PROGRAM_ID_V4.toString()]:4,[Ae.FARM_PROGRAM_ID_V5.toString()]:5,[Ae.FARM_PROGRAM_ID_V6.toString()]:6};import{PublicKey as rg,SystemProgram as ag,SYSVAR_CLOCK_PUBKEY as sg,SYSVAR_RENT_PUBKEY as ug,TransactionInstruction as cg}from"@solana/web3.js";import mg from"bn.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as pg,createAssociatedTokenAccountIdempotentInstruction as fg,TOKEN_PROGRAM_ID as yg}from"@solana/spl-token";import Fb from"bn.js";var Hb=F("Raydium.farm.util");var Sg=F("Raydium_farm_instruction"),Kg={voterStakeRegistryCreateVoter:Buffer.from([6,24,245,52,243,255,148,25]),voterStakeRegistryCreateDepositEntry:Buffer.from([185,131,167,186,159,125,19,67]),voterStakeRegistryDeposit:Buffer.from([242,35,198,137,82,225,242,182]),voterStakeRegistryWithdraw:Buffer.from([183,18,70,156,148,109,161,34]),voterStakeRegistryUpdateVoterWeightRecord:Buffer.from([45,185,3,36,109,190,115,169])};import fP from"bn.js";import{PublicKey as Aw}from"@solana/web3.js";import{AccountLayout as Tw,MintLayout as hw,NATIVE_MINT as Iw,TOKEN_PROGRAM_ID as Sw}from"@solana/spl-token";import oo from"bn.js";var Cr=new oo(25),Rr=new oo(1e4);import{ASSOCIATED_TOKEN_PROGRAM_ID as vP,TOKEN_PROGRAM_ID as _P}from"@solana/spl-token";import{PublicKey as EP,SystemProgram as DP,SYSVAR_RENT_PUBKEY as WP,TransactionInstruction as qP}from"@solana/web3.js";import ZP from"bn.js";var Lr=l([c("instruction"),e("amountIn"),e("minAmountOut")]),Or=l([c("instruction"),e("maxAmountIn"),e("amountOut")]),OP=l([c("instruction"),c("nonce")]),Nr=l([c("instruction"),c("nonce"),e("startTime")]),io=l([e("status"),e("nonce"),e("maxOrder"),e("depth"),e("baseDecimal"),e("quoteDecimal"),e("state"),e("resetFlag"),e("minSize"),e("volMaxCutRatio"),e("amountWaveRatio"),e("baseLotSize"),e("quoteLotSize"),e("minPriceMultiplier"),e("maxPriceMultiplier"),e("systemDecimalValue"),e("minSeparateNumerator"),e("minSeparateDenominator"),e("tradeFeeNumerator"),e("tradeFeeDenominator"),e("pnlNumerator"),e("pnlDenominator"),e("swapFeeNumerator"),e("swapFeeDenominator"),e("baseNeedTakePnl"),e("quoteNeedTakePnl"),e("quoteTotalPnl"),e("baseTotalPnl"),e("poolOpenTime"),e("punishPcAmount"),e("punishCoinAmount"),e("orderbookToInitTime"),C("swapBaseInAmount"),C("swapQuoteOutAmount"),e("swapBase2QuoteFee"),C("swapQuoteInAmount"),C("swapBaseOutAmount"),e("swapQuote2BaseFee"),i("baseVault"),i("quoteVault"),i("baseMint"),i("quoteMint"),i("lpMint"),i("openOrders"),i("marketId"),i("marketProgramId"),i("targetOrders"),i("withdrawQueue"),i("lpVault"),i("owner"),e("lpReserve"),m(e(),3,"padding")]),NP=l([e("accountType"),e("status"),e("nonce"),e("maxOrder"),e("depth"),e("baseDecimal"),e("quoteDecimal"),e("state"),e("resetFlag"),e("minSize"),e("volMaxCutRatio"),e("amountWaveRatio"),e("baseLotSize"),e("quoteLotSize"),e("minPriceMultiplier"),e("maxPriceMultiplier"),e("systemDecimalsValue"),e("abortTradeFactor"),e("priceTickMultiplier"),e("priceTick"),e("minSeparateNumerator"),e("minSeparateDenominator"),e("tradeFeeNumerator"),e("tradeFeeDenominator"),e("pnlNumerator"),e("pnlDenominator"),e("swapFeeNumerator"),e("swapFeeDenominator"),e("baseNeedTakePnl"),e("quoteNeedTakePnl"),e("quoteTotalPnl"),e("baseTotalPnl"),e("poolOpenTime"),e("punishPcAmount"),e("punishCoinAmount"),e("orderbookToInitTime"),C("swapBaseInAmount"),C("swapQuoteOutAmount"),C("swapQuoteInAmount"),C("swapBaseOutAmount"),e("swapQuote2BaseFee"),e("swapBase2QuoteFee"),i("baseVault"),i("quoteVault"),i("baseMint"),i("quoteMint"),i("lpMint"),i("modelDataAccount"),i("openOrders"),i("marketId"),i("marketProgramId"),i("targetOrders"),i("owner"),m(e(),64,"padding")]),Mr=l([c("instruction"),e("baseAmountIn"),e("quoteAmountIn"),e("fixedSide"),e("otherAmountMin")]),Fr=l([c("instruction"),e("lpAmount"),e("baseAmountMin"),e("quoteAmountMin")]);var vr=l([e("fee")]);var JP=F("Raydium_liquidity_instruction");var _r=5e4,Vr=l([e("x"),e("y"),e("price")]),oA=l([e("accountType"),e("status"),e("multiplier"),e("validDataCount"),m(Vr,_r,"DataElement")]);import{PublicKey as yA}from"@solana/web3.js";import gA from"decimal.js";import{TOKEN_PROGRAM_ID as AA}from"@solana/spl-token";import{PublicKey as sA}from"@solana/web3.js";var lA=F("Raydium_liquidity_serum");import Xw from"bn.js";import Hw from"decimal.js";import{TOKEN_PROGRAM_ID as XA}from"@solana/spl-token";import{PublicKey as HA}from"@solana/web3.js";import ZA from"bn.js";import{SystemProgram as NA,SYSVAR_RENT_PUBKEY as MA,Transaction as FA,TransactionInstruction as vA}from"@solana/web3.js";import{createInitializeAccountInstruction as VA,TOKEN_PROGRAM_ID as EA}from"@solana/spl-token";function Er(r="accountFlags"){let n=new gt(r);return n.addBoolean("initialized"),n.addBoolean("market"),n.addBoolean("openOrders"),n.addBoolean("requestQueue"),n.addBoolean("eventQueue"),n.addBoolean("bids"),n.addBoolean("asks"),n}var Dr=l([N(5),Er("accountFlags"),i("ownAddress"),e("vaultSignerNonce"),i("baseMint"),i("quoteMint"),i("baseVault"),e("baseDepositsTotal"),e("baseFeesAccrued"),i("quoteVault"),e("quoteDepositsTotal"),e("quoteFeesAccrued"),e("quoteDustThreshold"),i("requestQueue"),i("eventQueue"),i("bids"),i("asks"),e("baseLotSize"),e("quoteLotSize"),e("feeRateBps"),e("referrerRebatesAccrued"),N(7)]);import{PublicKey as wT}from"@solana/web3.js";import{AccountLayout as TT,NATIVE_MINT as hT,TOKEN_2022_PROGRAM_ID as IT,TOKEN_PROGRAM_ID as BT,createAssociatedTokenAccountIdempotentInstruction as ST}from"@solana/spl-token";import bk from"bn.js";import Yr from"bn.js";var ik=new Yr(0);import uk from"bn.js";import MT from"bn.js";import vT from"decimal.js";import{PublicKey as vk,TransactionInstruction as _k,Keypair as Ek,SystemProgram as Dk}from"@solana/web3.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as qk,TOKEN_2022_PROGRAM_ID as Uk,TOKEN_PROGRAM_ID as Gk}from"@solana/spl-token";var kk=Buffer.from("vault_and_lp_mint_auth_seed","utf8"),Tk=Buffer.from("amm_config","utf8"),hk=Buffer.from("pool","utf8"),Ik=Buffer.from("pool_lp_mint","utf8"),Bk=Buffer.from("pool_vault","utf8"),Sk=Buffer.from("observation","utf8"),Kk=Buffer.from("permission","utf8"),xk=Buffer.from("support_mint","utf8"),Ck=Buffer.from("creator_fee_share","utf8");var Rk=Buffer.from("locked_liquidity","utf8");var $k=F("Raydium_cpmm"),jk={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 Zr=l([N(8),c("bump"),ae("disableCreatePool"),Q("index"),e("tradeFeeRate"),e("protocolFeeRate"),e("fundFeeRate"),e("createPoolFee"),i("protocolOwner"),i("fundOwner"),e("creatorFeeRate"),e("creatorFeeShareRate"),m(e(),14)]),ro=l([N(8),i("configId"),i("poolCreator"),i("vaultA"),i("vaultB"),i("mintLp"),i("mintA"),i("mintB"),i("mintProgramA"),i("mintProgramB"),i("observationId"),c("bump"),c("status"),c("lpDecimals"),c("mintDecimalA"),c("mintDecimalB"),e("lpAmount"),e("protocolFeesMintA"),e("protocolFeesMintB"),e("fundFeesMintA"),e("fundFeesMintB"),e("openTime"),e("epoch"),c("feeOn"),ae("enableCreatorFee"),m(c(),6),e("creatorFeesMintA"),e("creatorFeesMintB"),m(e(),28)]),tT=l([N(8),i("configId"),m(e(),30)]),nT=l([N(8),c("bump"),i("creator"),i("ammConfig"),e("shareRate"),m(e(),8)]);import{PublicKey as HK,SystemProgram as QK}from"@solana/web3.js";import{createTransferInstruction as $K,TOKEN_PROGRAM_ID as jK,TOKEN_2022_PROGRAM_ID as JK,createAssociatedTokenAccountIdempotentInstruction as ex,createSyncNativeInstruction as nx,createTransferCheckedInstruction as ox}from"@solana/spl-token";import ga from"bn.js";import ax from"decimal.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as Gh,TOKEN_2022_PROGRAM_ID as zh,TOKEN_PROGRAM_ID as Xh}from"@solana/spl-token";import{SystemProgram as Zh,TransactionInstruction as $h}from"@solana/web3.js";import Jr from"bn.js";var Ch=Buffer.from("vault_auth_seed","utf8"),Rh=Buffer.from("global_config","utf8"),Lh=Buffer.from("pool_vesting","utf8"),Oh=Buffer.from("platform_config","utf8"),Nh=Buffer.from("platform_fee_vault_auth_seed","utf8"),Mh=Buffer.from("creator_fee_vault_auth_seed","utf8"),Fh=Buffer.from("platform_global_access","utf8"),vh=Buffer.from("platform_allow_config","utf8"),_h=Buffer.from("platform_curve_rule","utf8");var eI={initialize:Buffer.from([175,175,109,31,13,152,155,237]),initializeV2:Buffer.from([67,153,175,39,218,16,38,32]),buyExactIn:Buffer.from([250,234,13,123,213,156,19,236]),buyExactOut:Buffer.from([24,211,116,40,105,3,153,56]),sellExactIn:Buffer.from([149,39,222,155,211,124,152,26]),sellExactOut:Buffer.from([95,200,71,34,8,9,11,166]),createVestingAccount:Buffer.from([129,178,2,13,217,172,230,218]),claimVestedToken:Buffer.from([49,33,104,30,189,157,79,35]),createPlatformConfig:Buffer.from([176,90,196,175,253,113,220,20]),claimPlatformFee:Buffer.from([156,39,208,135,76,237,61,72]),updatePlaformConfig:Buffer.from([195,60,76,129,146,45,67,143]),initializeWithToken2022:Buffer.from([37,190,126,222,44,154,171,17]),claimPlatformFeeFromVault:Buffer.from([117,241,198,168,248,218,80,29]),claimCreatorFee:Buffer.from([26,97,138,203,132,171,141,252]),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 tI=new Jr("18446744073709551615");var ea=l([e(),e("epoch"),c("curveType"),Q("index"),e("migrateFee"),e("tradeFeeRate"),e("maxShareFeeRate"),e("minSupplyA"),e("maxLockRate"),e("minSellRateA"),e("minMigrateRateA"),e("minFundRaisingB"),i("mintB"),i("protocolFeeOwner"),i("migrateFeeOwner"),i("migrateToAmmWallet"),i("migrateToCpmmWallet"),m(e(),16)]),ta=l([e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod"),e("startTime"),e("totalAllocatedShare")]),na=l([e(),e("epoch"),c("bump"),c("status"),c("mintDecimalsA"),c("mintDecimalsB"),c("migrateType"),e("supply"),e("totalSellA"),e("virtualA"),e("virtualB"),e("realA"),e("realB"),e("totalFundRaisingB"),e("protocolFee"),e("platformFee"),e("migrateFee"),ta.replicate("vestingSchedule"),i("configId"),i("platformId"),i("mintA"),i("mintB"),i("vaultA"),i("vaultB"),i("creator"),c("mintProgramFlag"),c("cpmmCreatorFeeOn"),e("platformVestingShare"),m(c(),54)]),rI=l([e(),e("epoch"),i("poolId"),i("beneficiary"),e("claimedAmount"),e("tokenShareAmount"),m(e(),8)]),oa=l([c("migrateType"),c("migrateCpmmFeeOn"),e("supply"),e("totalSellA"),e("totalFundRaisingB"),e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod")]),aI=l([e("epoch"),c("index"),i("configId"),oa.replicate("bondingCurveParam"),m(e(),50)]),so=l([e(),e("epoch"),i("platformClaimFeeWallet"),i("platformLockNftWallet"),e("platformScale"),e("creatorScale"),e("burnScale"),e("feeRate"),m(c(),64,"name"),m(c(),256,"web"),m(c(),256,"img"),i("cpConfigId"),e("creatorFeeRate"),i("transferFeeExtensionAuth"),i("platformVestingWallet"),e("platformVestingScale"),i("platformCpCreator"),c("restrictGlobalConfig"),c("restrictCurveParam"),i("curveRuleManager"),m(c(),78)]),ia=l([c("field"),c("op"),C("value")]),ra=l([Q("groupId"),e("epoch"),Ht(ia,"constraints")]),aa=l([e(),c("bump"),c("version"),i("platformId"),i("configId"),e("epoch"),m(e(),8),Ht(ra,"groups")]);import{TOKEN_2022_PROGRAM_ID as cI,TOKEN_PROGRAM_ID as lI}from"@solana/spl-token";import sa from"bn.js";var TI=new sa(1e6);import SI from"bn.js";import xI from"decimal.js";import aB from"bn.js";import uB from"decimal.js";import MI from"bn.js";import vI from"decimal.js";import XI from"bn.js";import HI from"decimal.js";import lo from"bn.js";import on from"decimal.js";var It=class{static _multipler(n){return new on(10).pow(n)}static getPrice({priceX64:n,decimalA:t,decimalB:o}){return new on(n.toString()).div(this._Q64).mul(this._multipler(t)).div(this._multipler(o))}static getPriceX64({price:n,decimalA:t,decimalB:o}){let u=n.mul(this._multipler(o)).div(this._multipler(t));return new lo(u.mul(this._Q64).toFixed(0))}};It._Q64=new on(new lo(1).shln(64).toString());import{NATIVE_MINT as hS,TOKEN_2022_PROGRAM_ID as IS,TOKEN_PROGRAM_ID as BS,createAssociatedTokenAccountIdempotentInstruction as KS,createSyncNativeInstruction as xS,getTransferFeeConfig as CS,unpackMint as RS}from"@solana/spl-token";import Z from"bn.js";import{PublicKey as fa,SystemProgram as NS}from"@solana/web3.js";import DS from"decimal.js";var WS={initPriceX64:new Z("515752397214619"),supply:new Z(1e15),totalSellA:new Z(7931e11),totalFundRaisingB:new Z(85e9),totalFundRaisingBUSD:new Z(125e8),totalLockedAmount:new Z("0"),cliffPeriod:new Z("0"),unlockPeriod:new Z("0"),decimals:6,virtualA:new Z("1073471847374405"),virtualB:new Z("30050573465"),realA:new Z(0),realB:new Z(0),protocolFee:new Z(0),platformId:new fa("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),vestingSchedule:{totalLockedAmount:new Z(0),cliffPeriod:new Z(0),unlockPeriod:new Z(0),startTime:new Z(0),totalAllocatedShare:new Z(0)}},qS=new Z(1e4);var ya={[Kn.toBase58()]:3};var ba=l([N(5),N(8),i("ownAddress"),e("vaultSignerNonce"),i("baseMint"),i("quoteMint"),i("baseVault"),e("baseDepositsTotal"),e("baseFeesAccrued"),i("quoteVault"),e("quoteDepositsTotal"),e("quoteFeesAccrued"),e("quoteDustThreshold"),i("requestQueue"),i("eventQueue"),i("bids"),i("asks"),e("baseLotSize"),e("quoteLotSize"),e("feeRateBps"),e("referrerRebatesAccrued"),N(7)]);import{PublicKey as dK}from"@solana/web3.js";var gK=F("Serum");import{ASSOCIATED_TOKEN_PROGRAM_ID as SK,TOKEN_2022_PROGRAM_ID as KK,TOKEN_PROGRAM_ID as xK}from"@solana/spl-token";import{PublicKey as RK,SystemProgram as LK,TransactionInstruction as OK}from"@solana/web3.js";import MK from"bn.js";var vx=new ga(0);import{PublicKey as Pa,Transaction as rn,TransactionInstruction as Aa}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as wa}from"@solana/spl-token";import mo from"bn.js";var te=class extends oe{static getPdaPoolId(n,t){return de([te.SEED_CONFIG.pool.id,t.toBuffer()],n)}static getPdaOwnerId(n,t,o,u){return de([te.SEED_CONFIG.owner.id,t.toBuffer(),o.toBuffer(),Buffer.from(new mo(u).toArray())],n)}static async getAllInfo({connection:n,programId:t,poolIds:o,wallet:u,chainTime:d}){if(o.length===0)return[];let p=o.map(y=>te.getPdaPoolId(t,y).publicKey),f=[];for(let y=0;y<te.VERSION_PROJECT.length;y++)f.push(...p.map(K=>te.getPdaOwnerId(t,K,u,y).publicKey));let g=await ge(n,[...p,...f]),T=[];for(let y=0;y<g.length;y++){let K=Math.floor(y/o.length),L=y%o.length,S=p[L],M=f[y],P=g[L],h=g[o.length+y];if(!(P&&h)||P.data.length!==te.POOL_LAYOUT.span||h.data.length!==te.OWNER_LAYOUT.span)continue;let B=te.POOL_LAYOUT.decode(P.data),I=te.OWNER_LAYOUT.decode(h.data),v=B.openTime.toNumber(),_=B.endTime.toNumber(),b=I.tokenInfo.map(x=>x.debtAmount.gt(new mo(0))).filter(x=>!x).length!==3,A=d>v&&d<_&&B.status===1,w=b&&A;T.push({programId:t,poolId:S,ammId:B.ammId,ownerAccountId:M,snapshotLpAmount:I.lpAmount,project:te.VERSION_PROJECT[K],openTime:v,endTime:_,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:n,ownerInfo:t,feePayer:o}){t.wallet||this.scope.checkOwner();let u=this.createTxBuilder(o),d=t.wallet||this.scope.ownerPubKey,p=[];for(let T of n.tokenInfo){let{account:y,instructionParams:K}=await this.scope.account.getOrCreateTokenAccount({mint:T.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:T.mintAddress.equals(H.WSOL.mint),createInfo:{payer:d,amount:0},skipCloseAccount:!T.mintAddress.equals(H.WSOL.mint),associatedOnly:T.mintAddress.equals(H.WSOL.mint)?!1:t.associatedOnly});K&&u.addInstruction(K),p.push(y)}u.addInstruction({instructions:[te.makeClaimInstruction({programId:n.programId,poolInfo:n,ownerInfo:{wallet:d,ownerPda:n.ownerAccountId,claimAddress:p}})]});let{transaction:f,signers:g}=u.build();return[{transaction:f,signer:g}]}async makeClaimAllTransaction({poolInfos:n,ownerInfo:t,feePayer:o}){let u=this.createTxBuilder(o),d=t.wallet||this.scope.ownerPubKey,p={};for(let y of n){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(H.WSOL.mint),createInfo:{payer:d,amount:0},skipCloseAccount:!L.mintAddress.equals(H.WSOL.mint),associatedOnly:L.mintAddress.equals(H.WSOL.mint)?!1:t.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 vt(T,[d,...g.map(y=>y.publicKey)])?[{transaction:f,signer:g}]:[{transaction:new rn().add(...T.slice(0,u.AllTxData.instructions.length-1)),signer:g},{transaction:new rn().add(...T.slice(u.AllTxData.instructions.length-1)),signer:[]},{transaction:new rn().add(...u.AllTxData.endInstructions),signer:[]}]}static makeClaimInstruction({programId:n,poolInfo:t,ownerInfo:o}){let u=l([]),d=[{pubkey:o.wallet,isSigner:!0,isWritable:!0},{pubkey:t.poolId,isSigner:!1,isWritable:!0},{pubkey:o.ownerPda,isSigner:!1,isWritable:!0},...o.claimAddress.map(g=>({pubkey:g,isSigner:!1,isWritable:!0})),...t.tokenInfo.map(({mintVault:g})=>({pubkey:g,isSigner:!1,isWritable:!0})),{pubkey:wa,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 Aa({keys:d,programId:n,data:f})}},ue=te;ue.CLAIMED_NUM=3,ue.POOL_LAYOUT=l([N(8),c("bump"),c("status"),e("openTime"),e("endTime"),i("ammId"),m(l([c("mintDecimals"),i("mintAddress"),i("mintVault"),e("perLpLoss"),e("totalClaimedAmount")]),te.CLAIMED_NUM,"tokenInfo"),m(e(),10,"padding")]),ue.OWNER_LAYOUT=l([N(8),c("bump"),c("version"),i("poolId"),i("owner"),e("lpAmount"),m(l([i("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(n=>new Pa(n)),ue.SEED_CONFIG={pool:{id:Buffer.from("pool_seed","utf8")},owner:{id:Buffer.from("user_claim_seed","utf8")}},ue.VERSION_PROJECT=[void 0,"Francium","Tulip","Larix"];import{PublicKey as Jx}from"@solana/web3.js";import{getTransferFeeConfig as tC,MintLayout as nC,TOKEN_2022_PROGRAM_ID as oC,TOKEN_PROGRAM_ID as iC,unpackMint as rC}from"@solana/spl-token";var OR=new Se(2),NR=new Se(3),MR=new Se(5),Bt=new Se(10),FR=new Se(100),vR=new Se(1e3),_R=new Se(1e4);function Nt(r){return Bt.pow(Y(r))}var Ta=F("Raydium_amount"),St=ze(ka);function po(r,n){let t="0",o="0";if(r.includes(".")){let u=r.split(".");u.length===2?([t,o]=u,o=o.padEnd(n,"0")):Ta.logWithError(`invalid number string, num: ${r}`)}else t=r;return[t,o.slice(0,n)||o]}var re=class extends W{constructor(t,o,u=!0,d){let p=new we(0),f=Bt.pow(new we(t.decimals));if(u)p=Y(o);else{let g=new we(0),T=new we(0);if(typeof o=="string"||typeof o=="number"||typeof o=="bigint"){let[y,K]=po(o.toString(),t.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=t}get raw(){return this.numerator}isZero(){return this.raw.isZero()}gt(t){return this.token.equals(t.token)||this.logger.logWithError("gt token not equals"),this.raw.gt(t.raw)}lt(t){return this.token.equals(t.token)||this.logger.logWithError("lt token not equals"),this.raw.lt(t.raw)}add(t){return this.token.equals(t.token)||this.logger.logWithError("add token not equals"),new re(this.token,this.raw.add(t.raw))}subtract(t){return this.token.equals(t.token)||this.logger.logWithError("sub token not equals"),new re(this.token,this.raw.sub(t.raw))}toSignificant(t=this.token.decimals,o,u=0){return super.toSignificant(t,o,u)}toFixed(t=this.token.decimals,o,u=0){return t>this.token.decimals&&this.logger.logWithError("decimals overflow"),super.toFixed(t,o,u)}toExact(t={groupSeparator:""}){return St.DP=this.token.decimals,new St(this.numerator.toString()).div(this.denominator.toString()).toFormat(t)}},We=class extends W{constructor(t,o,u=!0,d){let p=new we(0),f=Bt.pow(new we(t.decimals));if(u)p=Y(o);else{let g=new we(0),T=new we(0);if(typeof o=="string"||typeof o=="number"||typeof o=="bigint"){let[y,K]=po(o.toString(),t.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=t}get raw(){return this.numerator}isZero(){return this.raw.isZero()}gt(t){return this.currency.equals(t.currency)||this.logger.logWithError("gt currency not equals"),this.raw.gt(t.raw)}lt(t){return this.currency.equals(t.currency)||this.logger.logWithError("lt currency not equals"),this.raw.lt(t.raw)}add(t){return this.currency.equals(t.currency)||this.logger.logWithError("add currency not equals"),new We(this.currency,this.raw.add(t.raw))}sub(t){return this.currency.equals(t.currency)||this.logger.logWithError("sub currency not equals"),new We(this.currency,this.raw.sub(t.raw))}toSignificant(t=this.currency.decimals,o,u=0){return super.toSignificant(t,o,u)}toFixed(t=this.currency.decimals,o,u=0){return t>this.currency.decimals&&this.logger.logWithError("decimals overflow"),super.toFixed(t,o,u)}toExact(t={groupSeparator:""}){return St.DP=this.currency.decimals,new St(this.numerator.toString()).div(this.denominator.toString()).toFormat(t)}};export{st as Currency,We as CurrencyAmount,W as Fraction,Pe as Percent,me as Price,H as Token,re as TokenAmount,gn as _100_PERCENT,Za as currencyEquals,po as splitNumber};
//# sourceMappingURL=index.mjs.map