@raydium-io/raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
2 lines • 93.7 kB
JavaScript
var Hi=Object.create;var it=Object.defineProperty,ji=Object.defineProperties,$i=Object.getOwnPropertyDescriptor,Ji=Object.getOwnPropertyDescriptors,er=Object.getOwnPropertyNames,Tt=Object.getOwnPropertySymbols,tr=Object.getPrototypeOf,sn=Object.prototype.hasOwnProperty,to=Object.prototype.propertyIsEnumerable;var eo=(o,e,t)=>e in o?it(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t,M=(o,e)=>{for(var t in e||(e={}))sn.call(e,t)&&eo(o,t,e[t]);if(Tt)for(var t of Tt(e))to.call(e,t)&&eo(o,t,e[t]);return o},W=(o,e)=>ji(o,Ji(e));var pe=(o,e)=>{var t={};for(var i in o)sn.call(o,i)&&e.indexOf(i)<0&&(t[i]=o[i]);if(o!=null&&Tt)for(var i of Tt(o))e.indexOf(i)<0&&to.call(o,i)&&(t[i]=o[i]);return t};var nr=(o,e)=>{for(var t in e)it(o,t,{get:e[t],enumerable:!0})},no=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of er(e))!sn.call(o,r)&&r!==t&&it(o,r,{get:()=>e[r],enumerable:!(i=$i(e,r))||i.enumerable});return o};var w=(o,e,t)=>(t=o!=null?Hi(tr(o)):{},no(e||!o||!o.__esModule?it(t,"default",{value:o,enumerable:!0}):t,o)),or=o=>no(it({},"__esModule",{value:!0}),o);var xu={};nr(xu,{DataElement:()=>Ai,LIQUIDITY_FEES_DENOMINATOR:()=>io,LIQUIDITY_FEES_NUMERATOR:()=>oo,LIQUIDITY_VERSION_TO_SERUM_VERSION:()=>ro,LIQUIDITY_VERSION_TO_STATE_LAYOUT:()=>sr,StableLayout:()=>Jt,addLiquidityLayout:()=>Rt,createPoolFeeLayout:()=>go,createPoolV4InstructionV2:()=>fi,createPoolV4Layout:()=>ar,fixedSwapInLayout:()=>St,fixedSwapOutLayout:()=>Kt,formatLayout:()=>Bi,getAssociatedConfigId:()=>nn,getAssociatedOpenOrders:()=>Qi,getAssociatedPoolKeys:()=>xi,getDxByDyBaseIn:()=>Ii,getDyByDxBaseIn:()=>hi,getLiquidityAssociatedAuthority:()=>Zn,getLiquidityAssociatedId:()=>Le,getStablePrice:()=>Si,initPoolLayout:()=>xt,liquidityStateV4Layout:()=>Ct,liquidityStateV5Layout:()=>bo,makeAMMSwapInstruction:()=>Dn,makeAMMSwapV2Instruction:()=>En,makeAddLiquidityInstruction:()=>di,makeInitPoolInstructionV4:()=>ws,makeSwapFixedInInstruction:()=>yi,makeSwapFixedOutInstruction:()=>bi,modelDataInfoLayout:()=>wi,poolLpAuthority:()=>ao,removeLiquidityInstruction:()=>pi,removeLiquidityLayout:()=>Lt,simulatePoolInfoInstruction:()=>As,swapBaseInV2Instruction:()=>gi,swapBaseOutV2Instruction:()=>Pi,toAmmComputePoolInfo:()=>qn});module.exports=or(xu);var un=w(require("bn.js")),oo=new un.default(25),io=new un.default(1e4),ro={4:3,5:3},ao=new Set(["5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1","3uaZBfHPfmpAHW7dsimC1SnyR61X4bJqQZKWmRSCXJxv","GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"]);var mo=require("@solana/web3.js"),Ge=w(require("bn.js"));var I=require("@solana/buffer-layout"),ht=I.Layout,so=I.Structure;var cn=I.UInt;var uo=I.u8,J=I.u16;var It=I.u32;var fe=I.s32;var co=I.seq;var V=I.blob;var ln=I.bits,lo=I.offset;var Ne=class extends ht{constructor(t,i,r){super(t,r);this.blob=V(t),this.signed=i}decode(t,i=0){let r=new Ge.default(this.blob.decode(t,i),10,"le");return this.signed?r.fromTwos(this.span*8).clone():r}encode(t,i,r=0){return typeof t=="number"&&(t=new Ge.default(t)),this.signed&&(t=t.toTwos(this.span*8)),this.blob.encode(t.toArrayLike(Buffer,"le",this.span),i,r)}},Bt=class extends ht{constructor(t){super(8,t);this._lower=ln(It(),!1),this._upper=ln(It(),!1)}addBoolean(t){this._lower.fields.length<32?this._lower.addBoolean(t):this._upper.addBoolean(t)}decode(t,i=0){let r=this._lower.decode(t,i),c=this._upper.decode(t,i+this._lower.span);return M(M({},r),c)}encode(t,i,r=0){return this._lower.encode(t,i,r)+this._upper.encode(t,i,r+this._lower.span)}};function f(o){return new cn(1,o)}function j(o){return new cn(4,o)}function n(o){return new Ne(8,!1,o)}function v(o){return new Ne(16,!1,o)}function po(o){return new Ne(1,!0,o)}function ze(o){return new Ne(8,!0,o)}function fo(o){return new Ne(16,!0,o)}var rt=class extends ht{constructor(t,i,r,c){super(t.span,c);this.layout=t,this.decoder=i,this.encoder=r}decode(t,i){return this.decoder(this.layout.decode(t,i))}encode(t,i,r){return this.layout.encode(this.encoder(t),i,r)}getSpan(t,i){return this.layout.getSpan(t,i)}};function s(o){return new rt(V(32),e=>new mo.PublicKey(e),e=>e.toBuffer(),o)}function de(o){return new rt(uo(),ir,rr,o)}function ir(o){if(o===0)return!1;if(o===1)return!0;throw new Error("Invalid bool: "+o)}function rr(o){return o?1:0}function yo(o,e){let t=It("length"),i=y([t,P(o,lo(t,-t.span),"values")]);return new rt(i,({values:r})=>r,r=>({values:r}),e)}var mn=class extends so{decode(e,t){return super.decode(e,t)}};function y(o,e,t){return new mn(o,e,t)}function P(o,e,t){let i,r=typeof e=="number"?e:(0,Ge.isBN)(e)?e.toNumber():new Proxy(e,{get(c,a){if(!i){let u=Reflect.get(c,"count");i=(0,Ge.isBN)(u)?u.toNumber():u,Reflect.set(c,"count",i)}return Reflect.get(c,a)},set(c,a,u){return a==="count"&&(i=u),Reflect.set(c,a,u)}});return co(o,r,t)}var St=y([f("instruction"),n("amountIn"),n("minAmountOut")]),Kt=y([f("instruction"),n("maxAmountIn"),n("amountOut")]),ar=y([f("instruction"),f("nonce")]),xt=y([f("instruction"),f("nonce"),n("startTime")]),Ct=y([n("status"),n("nonce"),n("maxOrder"),n("depth"),n("baseDecimal"),n("quoteDecimal"),n("state"),n("resetFlag"),n("minSize"),n("volMaxCutRatio"),n("amountWaveRatio"),n("baseLotSize"),n("quoteLotSize"),n("minPriceMultiplier"),n("maxPriceMultiplier"),n("systemDecimalValue"),n("minSeparateNumerator"),n("minSeparateDenominator"),n("tradeFeeNumerator"),n("tradeFeeDenominator"),n("pnlNumerator"),n("pnlDenominator"),n("swapFeeNumerator"),n("swapFeeDenominator"),n("baseNeedTakePnl"),n("quoteNeedTakePnl"),n("quoteTotalPnl"),n("baseTotalPnl"),n("poolOpenTime"),n("punishPcAmount"),n("punishCoinAmount"),n("orderbookToInitTime"),v("swapBaseInAmount"),v("swapQuoteOutAmount"),n("swapBase2QuoteFee"),v("swapQuoteInAmount"),v("swapBaseOutAmount"),n("swapQuote2BaseFee"),s("baseVault"),s("quoteVault"),s("baseMint"),s("quoteMint"),s("lpMint"),s("openOrders"),s("marketId"),s("marketProgramId"),s("targetOrders"),s("withdrawQueue"),s("lpVault"),s("owner"),n("lpReserve"),P(n(),3,"padding")]),bo=y([n("accountType"),n("status"),n("nonce"),n("maxOrder"),n("depth"),n("baseDecimal"),n("quoteDecimal"),n("state"),n("resetFlag"),n("minSize"),n("volMaxCutRatio"),n("amountWaveRatio"),n("baseLotSize"),n("quoteLotSize"),n("minPriceMultiplier"),n("maxPriceMultiplier"),n("systemDecimalsValue"),n("abortTradeFactor"),n("priceTickMultiplier"),n("priceTick"),n("minSeparateNumerator"),n("minSeparateDenominator"),n("tradeFeeNumerator"),n("tradeFeeDenominator"),n("pnlNumerator"),n("pnlDenominator"),n("swapFeeNumerator"),n("swapFeeDenominator"),n("baseNeedTakePnl"),n("quoteNeedTakePnl"),n("quoteTotalPnl"),n("baseTotalPnl"),n("poolOpenTime"),n("punishPcAmount"),n("punishCoinAmount"),n("orderbookToInitTime"),v("swapBaseInAmount"),v("swapQuoteOutAmount"),v("swapQuoteInAmount"),v("swapBaseOutAmount"),n("swapQuote2BaseFee"),n("swapBase2QuoteFee"),s("baseVault"),s("quoteVault"),s("baseMint"),s("quoteMint"),s("lpMint"),s("modelDataAccount"),s("openOrders"),s("marketId"),s("marketProgramId"),s("targetOrders"),s("owner"),P(n(),64,"padding")]),Rt=y([f("instruction"),n("baseAmountIn"),n("quoteAmountIn"),n("fixedSide"),n("otherAmountMin")]),Lt=y([f("instruction"),n("lpAmount"),n("baseAmountMin"),n("quoteAmountMin")]),sr={4:Ct,5:bo},go=y([n("fee")]);var Xi=require("@solana/web3.js"),wt=w(require("decimal.js")),Yi=require("@solana/spl-token");var re=require("@solana/web3.js");var at=require("lodash");var dn=class{constructor(e){this.logLevel=e.logLevel!==void 0?e.logLevel:0,this.name=e.name}set level(e){this.logLevel=e}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(e){return e<=this.logLevel}error(...e){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...e),this):this}logWithError(...e){let t=e.map(i=>typeof i=="object"?JSON.stringify(i):i).join(", ");throw new Error(t)}warning(...e){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...e),this):this}info(...e){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...e),this):this}debug(...e){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...e),this):this}},Po={},ur={};function q(o){let e=(0,at.get)(Po,o);if(!e){let t=(0,at.get)(ur,o);e=new dn({name:o,logLevel:t}),(0,at.set)(Po,o,e)}return e}var ee={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"};var wo=require("@solana/spl-token"),Ao=q("Raydium_txUtil"),ko=1644;function Ot(o){let e=[],t=[];return o.microLamports&&(e.push(re.ComputeBudgetProgram.setComputeUnitPrice({microLamports:o.microLamports})),t.push(ee.SetComputeUnitPrice)),o.units&&(e.push(re.ComputeBudgetProgram.setComputeUnitLimit({units:o.units})),t.push(ee.SetComputeUnitLimit)),{instructions:e,instructionTypes:t}}async function Xe(o,e){var i,r;let t=e!=null?e:"confirmed";return(r=await((i=o.getLatestBlockhash)==null?void 0:i.call(o,{commitment:t})))==null?void 0:r.blockhash}async function Nt(o,e){return o.getSignatureStatuses([e]),new Promise((t,i)=>{let r=setTimeout(i,6e4);o.onSignature(e,c=>{if(clearTimeout(r),!c.err){t("");return}i(Object.assign(c.err,{txId:e}))},"confirmed")})}function pn(o,e){o.length<1&&Ao.logWithError(`no instructions provided: ${o.toString()}`),e.length<1&&Ao.logWithError(`no signers provided:, ${e.toString()}`);let t=new re.Transaction;t.recentBlockhash="11111111111111111111111111111111",t.feePayer=e[0],t.add(...o);try{return Buffer.from(t.serialize({verifySignatures:!1})).toString("base64").length<ko}catch{return!1}}function ue(o,e){let[t,i]=re.PublicKey.findProgramAddressSync(o,e);return{publicKey:t,nonce:i}}function st({instructions:o,payer:e,signers:t}){return pn(o,[e,...t])}function ut({instructions:o,payer:e,lookupTableAddressAccount:t,recentBlockhash:i=re.Keypair.generate().publicKey.toString()}){let c=new re.TransactionMessage({payerKey:e,recentBlockhash:i,instructions:o}).compileToV0Message(Object.values(t!=null?t:{}));try{return Buffer.from(new re.VersionedTransaction(c).serialize()).toString("base64").length<ko}catch{return!1}}var cr=o=>Buffer.isBuffer(o)?o:o instanceof Uint8Array?Buffer.from(o.buffer,o.byteOffset,o.byteLength):Buffer.from(o),lr=o=>{let e=o.serialize({requireAllSignatures:!1,verifySignatures:!1});o instanceof re.VersionedTransaction&&(e=cr(e));try{return e instanceof Buffer?e.toString("base64"):Buffer.from(e).toString("base64")}catch{return e.toString("base64")}};function Me(o){let e=[];return o.forEach(t=>{t instanceof re.Transaction&&(t.recentBlockhash||(t.recentBlockhash=wo.TOKEN_PROGRAM_ID.toBase58()),t.feePayer||(t.feePayer=re.Keypair.generate().publicKey)),e.push(lr(t))}),console.log("simulate tx string:",e),e}var Bu=require("@solana/spl-token"),Su=require("@solana/web3.js");var Ui=w(require("big.js")),At=w(require("bn.js"));var Re=w(require("bn.js")),Tu=w(require("decimal.js"));var To=require("@solana/web3.js"),fn=require("@solana/spl-token"),Mt={chainId:101,address:To.PublicKey.default.toBase58(),programId:fn.TOKEN_PROGRAM_ID.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},Ae={chainId:101,address:"So11111111111111111111111111111111111111112",programId:fn.TOKEN_PROGRAM_ID.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"}};var vt=require("@solana/web3.js");var Q=require("@solana/web3.js"),ho=require("@solana/spl-token");function p({pubkey:o,isSigner:e=!1,isWritable:t=!0}){return{pubkey:o,isWritable:t,isSigner:e}}var mr=[p({pubkey:ho.TOKEN_PROGRAM_ID,isWritable:!1}),p({pubkey:Q.SystemProgram.programId,isWritable:!1}),p({pubkey:Q.SYSVAR_RENT_PUBKEY,isWritable:!1})];function yn({publicKey:o,transformSol:e}){let t=bn(o.toString());if(t instanceof Q.PublicKey)return e&&t.equals(Fe)?Ie:t;if(e&&t.toString()===Fe.toBase58())return Ie;if(typeof t=="string"){if(t===Q.PublicKey.default.toBase58())return Q.PublicKey.default;try{return new Q.PublicKey(t)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function bn(o){try{return new Q.PublicKey(o)}catch{return o}}var gn=new Q.PublicKey("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Ye=new Q.PublicKey("SysvarRent111111111111111111111111111111111"),Ju=new Q.PublicKey("SysvarC1ock11111111111111111111111111111111"),Ft=new Q.PublicKey("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),dr=new Q.PublicKey("Sysvar1nstructions1111111111111111111111111"),pr=Q.SystemProgram.programId,ec=new Q.PublicKey("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),tc=new Q.PublicKey("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),nc=new Q.PublicKey("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),oc=new Q.PublicKey("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),ic=new Q.PublicKey("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),rc=new Q.PublicKey("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),ac=new Q.PublicKey("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),sc=new Q.PublicKey("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),uc=new Q.PublicKey("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),cc=new Q.PublicKey("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),lc=new Q.PublicKey("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),Ie=new Q.PublicKey("So11111111111111111111111111111111111111112"),Fe=Q.PublicKey.default;function ve(o){return yn({publicKey:o,transformSol:!0})}var Pn=class{constructor({mint:e,decimals:t,symbol:i,name:r,skipMint:c=!1,isToken2022:a=!1}){if(e===Fe.toBase58()||e instanceof vt.PublicKey&&Fe.equals(e)){this.decimals=Ae.decimals,this.symbol=Ae.symbol,this.name=Ae.name,this.mint=new vt.PublicKey(Ae.address),this.isToken2022=!1;return}this.decimals=t,this.symbol=i||e.toString().substring(0,6),this.name=r||e.toString().substring(0,6),this.mint=c?vt.PublicKey.default:yn({publicKey:e}),this.isToken2022=a}equals(e){return this===e?!0:this.mint.equals(e.mint)}},ie=Pn;ie.WSOL=new Pn(W(M({},Ae),{mint:Ae.address}));var An=class{constructor({decimals:e,symbol:t="UNKNOWN",name:i="UNKNOWN"}){this.decimals=e,this.symbol=t,this.name=i}equals(e){return this===e}},Vt=An;Vt.SOL=new An(Mt);var lt=w(require("big.js")),So=w(require("bn.js")),Ko=w(require("decimal.js-light"));var Qe=w(require("bn.js"));var Io=9007199254740991;function Y(o){let e=q("Raydium_parseBigNumberish");if(o instanceof Qe.default)return o;if(typeof o=="string"){if(o.match(/^-?[0-9]+$/))return new Qe.default(o);e.logWithError(`invalid BigNumberish string: ${o}`)}return typeof o=="number"?(o%1&&e.logWithError(`BigNumberish number underflow: ${o}`),(o>=Io||o<=-Io)&&e.logWithError(`BigNumberish number overflow: ${o}`),new Qe.default(String(o))):typeof o=="bigint"?new Qe.default(o.toString()):(e.error(`invalid BigNumberish value: ${o}`),new Qe.default(0))}var Bo=w(require("toformat")),fr=Bo.default,ct=fr;var _t=q("module/fraction"),wn=ct(lt.default),mt=ct(Ko.default),br={[0]:mt.ROUND_DOWN,[1]:mt.ROUND_HALF_UP,[2]:mt.ROUND_UP},gr={[0]:lt.default.roundDown,[1]:lt.default.roundHalfUp,[2]:lt.default.roundUp},G=class{constructor(e,t=new So.default(1)){this.numerator=Y(e),this.denominator=Y(t)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new G(this.denominator,this.numerator)}add(e){let t=e instanceof G?e:new G(Y(e));return this.denominator.eq(t.denominator)?new G(this.numerator.add(t.numerator),this.denominator):new G(this.numerator.mul(t.denominator).add(t.numerator.mul(this.denominator)),this.denominator.mul(t.denominator))}sub(e){let t=e instanceof G?e:new G(Y(e));return this.denominator.eq(t.denominator)?new G(this.numerator.sub(t.numerator),this.denominator):new G(this.numerator.mul(t.denominator).sub(t.numerator.mul(this.denominator)),this.denominator.mul(t.denominator))}mul(e){let t=e instanceof G?e:new G(Y(e));return new G(this.numerator.mul(t.numerator),this.denominator.mul(t.denominator))}div(e){let t=e instanceof G?e:new G(Y(e));return new G(this.numerator.mul(t.denominator),this.denominator.mul(t.numerator))}toSignificant(e,t={groupSeparator:""},i=1){Number.isInteger(e)||_t.logWithError(`${e} is not an integer.`),e<=0&&_t.logWithError(`${e} is not positive.`),mt.set({precision:e+1,rounding:br[i]});let r=new mt(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(e);return r.toFormat(r.decimalPlaces(),t)}toFixed(e,t={groupSeparator:""},i=1){return Number.isInteger(e)||_t.logWithError(`${e} is not an integer.`),e<0&&_t.logWithError(`${e} is negative.`),wn.DP=e,wn.RM=gr[i]||1,new wn(this.numerator.toString()).div(this.denominator.toString()).toFormat(e,t)}isZero(){return this.numerator.isZero()}};var Co=w(require("bn.js"));var xo=new G(new Co.default(100)),Be=class extends G{toSignificant(e=5,t,i){return this.mul(xo).toSignificant(e,t,i)}toFixed(e=2,t,i){return this.mul(xo).toFixed(e,t,i)}};var Pr=q("Raydium_price"),ye=class extends G{constructor(t){let{baseToken:i,quoteToken:r,numerator:c,denominator:a}=t;super(c,a);this.baseToken=i,this.quoteToken=r,this.scalar=new G(kn(i.decimals),kn(r.decimals))}get raw(){return new G(this.numerator,this.denominator)}get adjusted(){return super.mul(this.scalar)}invert(){return new ye({baseToken:this.quoteToken,quoteToken:this.baseToken,denominator:this.numerator,numerator:this.denominator})}mul(t){this.quoteToken!==t.baseToken&&Pr.logWithError("mul token not equals");let i=super.mul(t);return new ye({baseToken:this.baseToken,quoteToken:t.quoteToken,denominator:i.denominator,numerator:i.numerator})}toSignificant(t=this.quoteToken.decimals,i,r){return this.adjusted.toSignificant(t,i,r)}toFixed(t=this.quoteToken.decimals,i,r){return this.adjusted.toFixed(t,i,r)}};var ku=require("lodash");var Nr=w(require("axios"));var Ro=require("@solana/web3.js");var Et=require("@solana/spl-token"),Tn=q("Raydium_accountInfo_util");async function Se(o,e,t){let{batchRequest:i,commitment:r="confirmed",chunkCount:c=100}=M({batchRequest:!1},t),a=hn(e,c),u=new Array(a.length).fill([]);if(i){let l=a.map(g=>{let k=o._buildArgs([g.map(A=>A.toBase58())],r,"base64");return{methodName:"getMultipleAccounts",args:k}}),b=hn(l,10);u=(await(await Promise.all(b.map(async g=>await o._rpcBatchRequest(g)))).flat()).map(g=>(g.error&&Tn.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${g.error.message}`),g.result.value.map(k=>{if(k){let{data:A,executable:C,lamports:h,owner:B,rentEpoch:R}=k;return A.length!==2&&A[1]!=="base64"&&Tn.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(A[0],"base64"),executable:C,lamports:h,owner:new Ro.PublicKey(B),rentEpoch:R}}return null})))}else try{u=await Promise.all(a.map(l=>o.getMultipleAccountsInfo(l,r)))}catch(l){l instanceof Error&&Tn.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${l.message}`)}return u.flat()}function hn(o,e=1,t=[]){let i=[...o];if(e<=0)return t;for(;i.length;)t.push(i.splice(0,e));return t}var Ar=require("@solana/web3.js"),wr=require("@solana/spl-token");var L=require("@solana/web3.js"),Lo=new L.PublicKey("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),Oo=new L.PublicKey("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),No=new L.PublicKey("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),In=new L.PublicKey("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),zc=new L.PublicKey("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),kr=new L.PublicKey("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),Mo=new L.PublicKey("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),Fo=new L.PublicKey("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),Xc=new L.PublicKey("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),Tr=new L.PublicKey("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),vo=new L.PublicKey("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),hr=new L.PublicKey("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Ir=new L.PublicKey("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),Ve=new L.PublicKey("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Yc=new L.PublicKey("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Br=new L.PublicKey("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Bn=new L.PublicKey("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),Sr=new L.PublicKey("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),Qc=new L.PublicKey("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),Kr=new L.PublicKey("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),xr=new L.PublicKey("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),Cr=new L.PublicKey("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),Zc=new L.PublicKey("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),Hc=new L.PublicKey("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),jc=new L.PublicKey("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),$c=new L.PublicKey("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),Jc=new L.PublicKey("6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX");var Ke={OPEN_BOOK_PROGRAM:new L.PublicKey("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),SERUM_PROGRAM_ID_V3:new L.PublicKey("Ray1111111111111111111111111111111111111111"),AMM_V4:new L.PublicKey("DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav"),AMM_STABLE:new L.PublicKey("DRayDdXc1NZQ9C3hRWmoSf8zK4iapgMnjdNZWrfwsP8m"),CLMM_PROGRAM_ID:new L.PublicKey("DRayAUgENGQBKVaX8owNhgzkEDyoHTGVEGHVJT1E9pfH"),CLMM_LOCK_PROGRAM_ID:new L.PublicKey("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),CLMM_LOCK_AUTH_ID:new L.PublicKey("6Aoh8h2Lw2m5UGxYR8AdAL87jTWYeKoxM52mJRzfYwN"),CREATE_CPMM_POOL_PROGRAM:new L.PublicKey("DRaycpLY18LhpbydsBWbVJtxpNv9oXPgjRSfpF2bWpYb"),CREATE_CPMM_POOL_AUTH:new L.PublicKey("CXniRufdq5xL8t8jZAPxsPZDpuudwuJSPWnbcD5Y5Nxq"),CREATE_CPMM_POOL_FEE_ACC:new L.PublicKey("3oE58BKVt8KuYkGxx8zBojugnymWmBiyafWgMrnb6eYy"),LOCK_CPMM_PROGRAM:new L.PublicKey("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),LOCK_CPMM_AUTH:new L.PublicKey("7qWVV8UY2bRJfDLP4s37YzBPKUkVB46DStYJBpYbQzu3"),UTIL1216:L.PublicKey.default,Router:new L.PublicKey("DRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd"),FARM_PROGRAM_ID_V3:new L.PublicKey("DRayWyrLmEW5KEeqs8kdTMMaBabapqagaBC7KWpGtJeZ"),FARM_PROGRAM_ID_V4:new L.PublicKey("Ray1111111111111111111111111111111111111111"),FARM_PROGRAM_ID_V5:new L.PublicKey("DRayiCGSZgku1GTK6rXD6mVDdingXy6APAH1R6R5L2LC"),FARM_PROGRAM_ID_V6:new L.PublicKey("DRayzbYakXs45ELHkzH6vC3fuhQqTAnv5A68gdFuvZyZ"),LAUNCHPAD_PROGRAM:new L.PublicKey("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),LAUNCHPAD_AUTH:new L.PublicKey("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),LAUNCHPAD_PLATFORM:new L.PublicKey("2Jx4KTDrVSdWNazuGpcA8n3ZLTRGGBDxAWhuKe2Xcj2a"),LAUNCHPAD_CONFIG:new L.PublicKey("7ZR4zD7PYfY2XxoG1Gxcy2EgEeGYrpxrwzPuwdUBssEt"),FEE_DESTINATION_ID:new L.PublicKey("9y8ENuuZ3b19quffx9hQvRVygG5ky6snHfRvGpuSfeJy"),MODEL_DATA_PUBKEY:new L.PublicKey("Ray1111111111111111111111111111111111111111")};var Rr=w(require("bn.js"));var be=require("@solana/web3.js");async function Sn({connection:o,address:e,cluster:t="mainnet"}){let i=await Se(o,[...new Set(e.map(c=>c.toString()))].map(c=>new be.PublicKey(c))),r={};for(let c=0;c<e.length;c++){let a=i[c],u=e[c];if(!a)continue;let l=new be.AddressLookupTableAccount({key:u,state:be.AddressLookupTableAccount.deserialize(a.data)});r[u.toString()]=l,t==="devnet"?He[u.toString()]=l:Ze[u.toString()]=l}return r}var Ze={},Kn=async o=>{let e="AcL1Vo8oy1ULiavEcjSUcwfBSForXMudcZvDZy5nzJkU";if(Ze[e])return Ze;let t=new be.PublicKey(e),i=await o.getAccountInfo(t);return i&&(Ze[e]=new be.AddressLookupTableAccount({key:t,state:be.AddressLookupTableAccount.deserialize(i.data)})),Ze},He={},xn=async o=>{let e="EFhMuDw1PKEuckuFRW9PavNfTH4LKP5uKHgyXDmWpFCq";if(He[e])return He;let t=new be.PublicKey(e),i=await o.getAccountInfo(t);return i&&(He[e]=new be.AddressLookupTableAccount({key:t,state:be.AddressLookupTableAccount.deserialize(i.data)})),He};var z=require("@solana/web3.js"),Vo=w(require("axios"));var Dt=2e3,Wt=class{constructor(e){this.instructions=[];this.endInstructions=[];this.lookupTableAddress=[];this.signers=[];this.instructionTypes=[];this.endInstructionTypes=[];this.connection=e.connection,this.feePayer=e.feePayer,this.signAllTransactions=e.signAllTransactions,this.owner=e.owner,this.cluster=e.cluster,this.blockhashCommitment=e.blockhashCommitment,this.loopMultiTxStatus=!!e.loopMultiTxStatus}get AllTxData(){return{instructions:this.instructions,endInstructions:this.endInstructions,signers:this.signers,instructionTypes:this.instructionTypes,endInstructionTypes:this.endInstructionTypes,lookupTableAddress:this.lookupTableAddress}}get allInstructions(){return[...this.instructions,...this.endInstructions]}async getComputeBudgetConfig(){var i;let e=(await Vo.default.get(`https://solanacompass.com/api/fees?cacheFreshTime=${3e5}`)).data,{avg:t}=(i=e==null?void 0:e[15])!=null?i:{};if(!!t)return{units:6e5,microLamports:Math.min(Math.ceil(t*1e6/6e5),25e3)}}addCustomComputeBudget(e){if(e){let{instructions:t,instructionTypes:i}=Ot(e);return this.instructions.unshift(...t),this.instructionTypes.unshift(...i),!0}return!1}addTipInstruction(e){var t;return e?(this.endInstructions.push(z.SystemProgram.transfer({fromPubkey:(t=e.feePayer)!=null?t:this.feePayer,toPubkey:new z.PublicKey(e.address),lamports:BigInt(e.amount.toString())})),this.endInstructionTypes.push(ee.TransferTip),!0):!1}async calComputeBudget({config:e,defaultIns:t}){try{let i=e||await this.getComputeBudgetConfig();if(this.addCustomComputeBudget(i))return;t&&this.instructions.unshift(...t)}catch{t&&this.instructions.unshift(...t)}}addInstruction({instructions:e=[],endInstructions:t=[],signers:i=[],instructionTypes:r=[],endInstructionTypes:c=[],lookupTableAddress:a=[]}){return this.instructions.push(...e),this.endInstructions.push(...t),this.signers.push(...i),this.instructionTypes.push(...r),this.endInstructionTypes.push(...c),this.lookupTableAddress.push(...a.filter(u=>u!==z.PublicKey.default.toString())),this}async versionBuild({txVersion:e,extInfo:t,lookupTableAddress:i}){return e===0?await this.buildV0(W(M({},t||{}),{lookupTableAddress:i})):this.build(t)}build(e){var i;let t=new z.Transaction;return this.allInstructions.length&&t.add(...this.allInstructions),t.feePayer=this.feePayer,((i=this.owner)==null?void 0:i.signer)&&!this.signers.some(r=>r.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 r=>{var d;let{recentBlockHash:c,skipPreflight:a=!0,sendAndConfirm:u,notSendToRpc:l}=r||{},b=c!=null?c:await Xe(this.connection,this.blockhashCommitment);if(t.recentBlockhash=b,this.signers.length&&t.sign(...this.signers),Me([t]),(d=this.owner)!=null&&d.isKeyPair)return{txId:u?await(0,z.sendAndConfirmTransaction)(this.connection,t,this.signers.find(k=>k.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:a}):await this.connection.sendRawTransaction(t.serialize(),{skipPreflight:a}),signedTx:t};if(this.signAllTransactions){let g=await this.signAllTransactions([t]);if(this.signers.length)for(let k of g)try{k.sign(...this.signers)}catch{}return{txId:l?"":await this.connection.sendRawTransaction(g[0].serialize(),{skipPreflight:a}),signedTx:g[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:e||{}}}buildMultiTx(e){var b;let{extraPreBuildData:t=[],extInfo:i}=e,{transaction:r}=this.build(i),c=t.filter(d=>d.transaction.instructions.length>0),a=[r,...c.map(d=>d.transaction)],u=[this.signers,...c.map(d=>d.signers)],l=[...this.instructionTypes,...c.map(d=>d.instructionTypes).flat()];return(b=this.owner)!=null&&b.signer&&u.forEach(d=>{d.some(g=>g.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),{builder:this,transactions:a,signers:u,instructionTypes:l,execute:async d=>{var R;let{sequentially:g,onTxUpdate:k,skipTxCount:A=0,recentBlockHash:C,skipPreflight:h=!0}=d||{},B=C!=null?C:await Xe(this.connection,this.blockhashCommitment);if((R=this.owner)!=null&&R.isKeyPair){if(g){let x=[],_=0;for(let D of a){if(++_,_<=A)continue;let T=await(0,z.sendAndConfirmTransaction)(this.connection,D,this.signers.find(S=>S.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:h});x.push(T)}return{txIds:x,signedTxs:a}}return{txIds:await await Promise.all(a.map(async x=>(x.recentBlockhash=B,await this.connection.sendRawTransaction(x.serialize(),{skipPreflight:h})))),signedTxs:a}}if(this.signAllTransactions){let x=a.map((D,T)=>(D.recentBlockhash=B,u[T].length&&D.sign(...u[T]),D));Me(x);let _=await this.signAllTransactions(x);if(g){let D=0,T=[],S=async()=>{if(!_[D])return;let K=await this.connection.sendRawTransaction(_[D].serialize(),{skipPreflight:h});T.push({txId:K,status:"sent",signedTx:_[D]}),k==null||k([...T]),D++;let O=!1,F=null,E=null,le=Z=>{F!==null&&clearInterval(F),E!==null&&this.connection.removeSignatureListener(E);let X=T.findIndex(oe=>oe.txId===K);if(X>-1){if(T[X].status==="error"||T[X].status==="success")return;T[X].status=Z.err?"error":"success"}k==null||k([...T]),Z.err||S()};this.loopMultiTxStatus&&(F=setInterval(async()=>{var Z;if(O){clearInterval(F);return}try{let X=await this.connection.getTransaction(K,{commitment:"confirmed",maxSupportedTransactionVersion:0});X&&(O=!0,clearInterval(F),le({err:((Z=X.meta)==null?void 0:Z.err)||null}),console.log("tx status from getTransaction:",K))}catch(X){O=!0,clearInterval(F),console.error("getTransaction timeout:",X,K)}},Dt)),E=this.connection.onSignature(K,Z=>{if(O){this.connection.removeSignatureListener(E);return}O=!0,le(Z)},"confirmed"),this.connection.getSignatureStatus(K)};return await S(),{txIds:T.map(K=>K.txId),signedTxs:_}}else{let D=[];for(let T=0;T<_.length;T+=1){let S=await this.connection.sendRawTransaction(_[T].serialize(),{skipPreflight:h});D.push(S)}return{txIds:D,signedTxs:_}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:i||{}}}async versionMultiBuild({extraPreBuildData:e,txVersion:t,extInfo:i}){return t===0?await this.buildV0MultiTx({extraPreBuildData:e,buildProps:i||{}}):this.buildMultiTx({extraPreBuildData:e,extInfo:i})}async buildV0(e){var h;let C=e||{},{lookupTableCache:t={},lookupTableAddress:i=[],forerunCreate:r,recentBlockhash:c}=C,a=pe(C,["lookupTableCache","lookupTableAddress","forerunCreate","recentBlockhash"]),u=M(M({},this.cluster==="devnet"?await xn(this.connection):await Kn(this.connection)),t),l=Array.from(new Set([...i,...this.lookupTableAddress])),b=[];for(let B of l)u[B]===void 0&&b.push(new z.PublicKey(B));let d=await Sn({connection:this.connection,address:b});for(let[B,R]of Object.entries(d))u[B]=R;let g=r?z.PublicKey.default.toBase58():c!=null?c:await Xe(this.connection,this.blockhashCommitment),k=new z.TransactionMessage({payerKey:this.feePayer,recentBlockhash:g,instructions:[...this.allInstructions]}).compileToV0Message(Object.values(u));((h=this.owner)==null?void 0:h.signer)&&!this.signers.some(B=>B.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer);let A=new z.VersionedTransaction(k);return A.sign(this.signers),{builder:this,transaction:A,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async B=>{var D;let{skipPreflight:R=!0,sendAndConfirm:x,notSendToRpc:_}=B||{};if(Me([A]),(D=this.owner)!=null&&D.isKeyPair){let T=await this.connection.sendTransaction(A,{skipPreflight:R});return x&&await Nt(this.connection,T),{txId:T,signedTx:A}}if(this.signAllTransactions){let T=await this.signAllTransactions([A]);if(this.signers.length)for(let S of T)try{S.sign(this.signers)}catch{}return{txId:_?"":await this.connection.sendTransaction(T[0],{skipPreflight:R}),signedTx:T[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:a||{}}}async buildV0MultiTx(e){var b;let{extraPreBuildData:t=[],buildProps:i}=e,{transaction:r}=await this.buildV0(i),c=t.filter(d=>d.builder.instructions.length>0),a=[r,...c.map(d=>d.transaction)],u=[this.signers,...c.map(d=>d.signers)],l=[...this.instructionTypes,...c.map(d=>d.instructionTypes).flat()];return(b=this.owner)!=null&&b.signer&&u.forEach(d=>{d.some(g=>g.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),a.forEach(async(d,g)=>{d.sign(u[g])}),{builder:this,transactions:a,signers:u,instructionTypes:l,buildProps:i,execute:async d=>{var h;let{sequentially:g,onTxUpdate:k,recentBlockHash:A,skipPreflight:C=!0}=d||{};if(A&&a.forEach(B=>B.message.recentBlockhash=A),Me(a),(h=this.owner)!=null&&h.isKeyPair){if(g){let B=[];for(let R of a){let x=await this.connection.sendTransaction(R,{skipPreflight:C});await Nt(this.connection,x),B.push(x)}return{txIds:B,signedTxs:a}}return{txIds:await Promise.all(a.map(async B=>await this.connection.sendTransaction(B,{skipPreflight:C}))),signedTxs:a}}if(this.signAllTransactions){let B=await this.signAllTransactions(a);if(g){let R=0,x=[],_=async()=>{if(!B[R])return;let D=await this.connection.sendTransaction(B[R],{skipPreflight:C});x.push({txId:D,status:"sent",signedTx:B[R]}),k==null||k([...x]),R++;let T=!1,S=null,K=null,O=F=>{S!==null&&clearInterval(S),K!==null&&this.connection.removeSignatureListener(K);let E=x.findIndex(le=>le.txId===D);if(E>-1){if(x[E].status==="error"||x[E].status==="success")return;x[E].status=F.err?"error":"success"}k==null||k([...x]),F.err||_()};this.loopMultiTxStatus&&(S=setInterval(async()=>{var F;if(T){clearInterval(S);return}try{let E=await this.connection.getTransaction(D,{commitment:"confirmed",maxSupportedTransactionVersion:0});E&&(T=!0,clearInterval(S),O({err:((F=E.meta)==null?void 0:F.err)||null}),console.log("tx status from getTransaction:",D))}catch(E){T=!0,clearInterval(S),console.error("getTransaction timeout:",E,D)}},Dt)),K=this.connection.onSignature(D,F=>{if(T){this.connection.removeSignatureListener(K);return}T=!0,O(F)},"confirmed"),this.connection.getSignatureStatus(D)};return _(),{txIds:[],signedTxs:B}}else{let R=[];for(let x=0;x<B.length;x+=1){let _=await this.connection.sendTransaction(B[x],{skipPreflight:C});R.push(_)}return{txIds:R,signedTxs:B}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:i||{}}}async sizeCheckBuild(e){var k;let g=e||{},{splitIns:t=[],computeBudgetConfig:i}=g,r=pe(g,["splitIns","computeBudgetConfig"]),c=i?Ot(i):{instructions:[],instructionTypes:[]},a=this.signers.reduce((A,C)=>W(M({},A),{[C.publicKey.toBase58()]:C}),{}),u=[],l=[],b=[],d=0;if(this.allInstructions.forEach(A=>{let C=[...b,A],h=i?[...c.instructions,...C]:C,R=[...new Set(C.map(x=>x.keys.filter(_=>_.isSigner).map(_=>_.pubkey.toString())).flat()).values()].map(x=>new z.PublicKey(x));if(A!==t[d]&&b.length<12&&(st({instructions:h,payer:this.feePayer,signers:R})||st({instructions:C,payer:this.feePayer,signers:R})))b.push(A);else{if(b.length===0)throw Error("item ins too big");d+=A===t[d]?1:0,st({instructions:i?[...c.instructions,...b]:[...b],payer:this.feePayer,signers:R})?u.push(new z.Transaction().add(...c.instructions,...b)):u.push(new z.Transaction().add(...b)),l.push(Array.from(new Set(b.map(x=>x.keys.filter(_=>_.isSigner).map(_=>_.pubkey.toString())).flat())).map(x=>a[x]).filter(x=>x!==void 0)),b=[A]}}),b.length>0){let C=[...new Set(b.map(h=>h.keys.filter(B=>B.isSigner).map(B=>B.pubkey.toString())).flat()).values()].map(h=>a[h]).filter(h=>h!==void 0);st({instructions:i?[...c.instructions,...b]:[...b],payer:this.feePayer,signers:C.map(h=>h.publicKey)})?u.push(new z.Transaction().add(...c.instructions,...b)):u.push(new z.Transaction().add(...b)),l.push(C)}return u.forEach(A=>A.feePayer=this.feePayer),(k=this.owner)!=null&&k.signer&&l.forEach(A=>{A.some(C=>C.publicKey.equals(this.owner.publicKey))||A.push(this.owner.signer)}),{builder:this,transactions:u,signers:l,instructionTypes:this.instructionTypes,execute:async A=>{var D;let{sequentially:C,onTxUpdate:h,skipTxCount:B=0,recentBlockHash:R,skipPreflight:x=!0}=A||{},_=R!=null?R:await Xe(this.connection,this.blockhashCommitment);if(u.forEach(async(T,S)=>{T.recentBlockhash=_,l[S].length&&T.sign(...l[S])}),Me(u),(D=this.owner)!=null&&D.isKeyPair){if(C){let T=0,S=[];for(let K of u){if(++T,T<=B){S.push("tx skipped");continue}let O=await(0,z.sendAndConfirmTransaction)(this.connection,K,this.signers.find(F=>F.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:x});S.push(O)}return{txIds:S,signedTxs:u}}return{txIds:await Promise.all(u.map(async T=>await this.connection.sendRawTransaction(T.serialize(),{skipPreflight:x}))),signedTxs:u}}if(this.signAllTransactions){let T=await this.signAllTransactions(u.slice(B,u.length)),S=[...u.slice(0,B),...T];if(C){let K=0,O=[],F=async()=>{if(!S[K])return;K<B&&(O.push({txId:"",status:"success",signedTx:S[K]}),h==null||h([...O]),K++,F());let E=await this.connection.sendRawTransaction(S[K].serialize(),{skipPreflight:x});O.push({txId:E,status:"sent",signedTx:S[K]}),h==null||h([...O]),K++;let le=!1,Z=null,X=null,oe=H=>{Z!==null&&clearInterval(Z),X!==null&&this.connection.removeSignatureListener(X);let se=O.findIndex(Te=>Te.txId===E);if(se>-1){if(O[se].status==="error"||O[se].status==="success")return;O[se].status=H.err?"error":"success"}h==null||h([...O]),H.err||F()};this.loopMultiTxStatus&&(Z=setInterval(async()=>{var H;if(le){clearInterval(Z);return}try{let se=await this.connection.getTransaction(E,{commitment:"confirmed",maxSupportedTransactionVersion:0});se&&(le=!0,clearInterval(Z),oe({err:((H=se.meta)==null?void 0:H.err)||null}),console.log("tx status from getTransaction:",E))}catch(se){le=!0,clearInterval(Z),console.error("getTransaction timeout:",se,E)}},Dt)),X=this.connection.onSignature(E,H=>{if(le){this.connection.removeSignatureListener(X);return}le=!0,oe(H)},"confirmed"),this.connection.getSignatureStatus(E)};return await F(),{txIds:O.map(E=>E.txId),signedTxs:S}}else{let K=[];for(let O=0;O<S.length;O+=1){let F=await this.connection.sendRawTransaction(S[O].serialize(),{skipPreflight:x});K.push(F)}return{txIds:K,signedTxs:S}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:r||{}}}async sizeCheckBuildV0(e){var D;let _=e||{},{computeBudgetConfig:t,splitIns:i=[],lookupTableCache:r={},lookupTableAddress:c=[],insCountLimit:a=12}=_,u=pe(_,["computeBudgetConfig","splitIns","lookupTableCache","lookupTableAddress","insCountLimit"]),l=M(M({},this.cluster==="devnet"?await xn(this.connection):await Kn(this.connection)),r),b=Array.from(new Set([...this.lookupTableAddress,...c])),d=[];for(let T of b)l[T]===void 0&&d.push(new z.PublicKey(T));let g=await Sn({connection:this.connection,address:d});for(let[T,S]of Object.entries(g))l[T]=S;let k=t?Ot(t):{instructions:[],instructionTypes:[]},A=await Xe(this.connection,this.blockhashCommitment),C=this.signers.reduce((T,S)=>W(M({},T),{[S.publicKey.toBase58()]:S}),{}),h=[],B=[],R=[],x=0;if(this.allInstructions.forEach(T=>{let S=[...R,T],K=t?[...k.instructions,...S]:S;if(T!==i[x]&&R.length<a&&(ut({instructions:K,payer:this.feePayer,lookupTableAddressAccount:l})||ut({instructions:S,payer:this.feePayer,lookupTableAddressAccount:l})))R.push(T);else{if(R.length===0)throw Error("item ins too big");x+=T===i[x]?1:0;let O={};for(let F of[...new Set(b)])l[F]!==void 0&&(O[F]=l[F]);if(t&&ut({instructions:[...k.instructions,...R],payer:this.feePayer,lookupTableAddressAccount:l,recentBlockhash:A})){let F=new z.TransactionMessage({payerKey:this.feePayer,recentBlockhash:A,instructions:[...k.instructions,...R]}).compileToV0Message(Object.values(l));h.push(new z.VersionedTransaction(F))}else{let F=new z.TransactionMessage({payerKey:this.feePayer,recentBlockhash:A,instructions:[...R]}).compileToV0Message(Object.values(l));h.push(new z.VersionedTransaction(F))}B.push(Array.from(new Set(R.map(F=>F.keys.filter(E=>E.isSigner).map(E=>E.pubkey.toString())).flat())).map(F=>C[F]).filter(F=>F!==void 0)),R=[T]}}),R.length>0){let S=[...new Set(R.map(K=>K.keys.filter(O=>O.isSigner).map(O=>O.pubkey.toString())).flat()).values()].map(K=>C[K]).filter(K=>K!==void 0);if(t&&ut({instructions:[...k.instructions,...R],payer:this.feePayer,lookupTableAddressAccount:l,recentBlockhash:A})){let K=new z.TransactionMessage({payerKey:this.feePayer,recentBlockhash:A,instructions:[...k.instructions,...R]}).compileToV0Message(Object.values(l));h.push(new z.VersionedTransaction(K))}else{let K=new z.TransactionMessage({payerKey:this.feePayer,recentBlockhash:A,instructions:[...R]}).compileToV0Message(Object.values(l));h.push(new z.VersionedTransaction(K))}B.push(S)}return(D=this.owner)!=null&&D.signer&&B.forEach(T=>{T.some(S=>S.publicKey.equals(this.owner.publicKey))||T.push(this.owner.signer)}),h.forEach((T,S)=>{T.sign(B[S])}),{builder:this,transactions:h,buildProps:e,signers:B,instructionTypes:this.instructionTypes,execute:async T=>{var le;let{sequentially:S,onTxUpdate:K,skipTxCount:O=0,recentBlockHash:F,skipPreflight:E=!0}=T||{};if(h.map(async(Z,X)=>{B[X].length&&Z.sign(B[X]),F&&(Z.message.recentBlockhash=F)}),Me(h),(le=this.owner)!=null&&le.isKeyPair){if(S){let Z=0,X=[];for(let oe of h){if(++Z,Z<=O){console.log("skip tx: ",Z),X.push("tx skipped");continue}let H=await this.connection.sendTransaction(oe,{skipPreflight:E});await Nt(this.connection,H),X.push(H)}return{txIds:X,signedTxs:h}}return{txIds:await Promise.all(h.map(async Z=>await this.connection.sendTransaction(Z,{skipPreflight:E}))),signedTxs:h}}if(this.signAllTransactions){let Z=await this.signAllTransactions(h.slice(O,h.length)),X=[...h.slice(0,O),...Z];if(S){let oe=0,H=[],se=async()=>{if(!X[oe])return;if(oe<O){H.push({txId:"",status:"success",signedTx:X[oe]}),K==null||K([...H]),oe++,se();return}let Te=await this.connection.sendTransaction(X[oe],{skipPreflight:E});H.push({txId:Te,status:"sent",signedTx:X[oe]}),K==null||K([...H]),oe++;let ot=!1,Ue=null,kt=null,Jn=Oe=>{Ue!==null&&clearInterval(Ue),kt!==null&&this.connection.removeSignatureListener(kt);let he=H.findIndex(Zi=>Zi.txId===Te);if(he>-1){if(H[he].status==="error"||H[he].status==="success")return;H[he].status=Oe.err?"error":"success"}K==null||K([...H]),Oe.err||se()};this.loopMultiTxStatus&&(Ue=setInterval(async()=>{var Oe;if(ot){clearInterval(Ue);return}try{let he=await this.connection.getTransaction(Te,{commitment:"confirmed",maxSupportedTransactionVersion:0});he&&(ot=!0,clearInterval(Ue),Jn({err:((Oe=he.meta)==null?void 0:Oe.err)||null}),console.log("tx status from getTransaction:",Te))}catch(he){ot=!0,clearInterval(Ue),console.error("getTransaction timeout:",he,Te)}},Dt)),kt=this.connection.onSignature(Te,Oe=>{if(ot){this.connection.removeSignatureListener(kt);return}ot=!0,Jn(Oe)},"confirmed"),this.connection.getSignatureStatus(Te)};return se(),{txIds:[],signedTxs:X}}else{let oe=[];for(let H=0;H<X.length;H+=1){let se=await this.connection.sendTransaction(X[H],{skipPreflight:E});oe.push(se)}return{txIds:oe,signedTxs:X}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:u||{}}}};var _o=require("@solana/web3.js"),Eo=w(require("bn.js"));function Lr(o){return typeof o=="object"&&o!==null&&![ie,me,_o.PublicKey,G,Eo.default,ye,Be].some(e=>typeof e=="object"&&o instanceof e)}function we(o){return typeof o=="string"?bn(o):Array.isArray(o)?o.map(e=>we(e)):Lr(o)?Object.fromEntries(Object.entries(o).map(([e,t])=>[e,we(t)])):o}var Do=w(require("bn.js")),qt=new Do.default(1e6);var Wo={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"},Or=W(M({},Wo),{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 dm=q("Raydium_Api");var zo=require("@solana/web3.js");var Xt=require("@solana/spl-token");var Cn=(...o)=>o.map(e=>{try{return typeof e=="object"?JSON.stringify(e):e}catch{return e}}).join(", "),ce=class{constructor({scope:e,moduleName:t}){this.disabled=!1;this.scope=e,this.logger=q(t)}createTxBuilder(e){return this.scope.checkOwner(),new Wt({connection:this.scope.connection,feePayer:e||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(...e){this.logger.debug(Cn(e))}logInfo(...e){this.logger.info(Cn(e))}logAndCreateError(...e){let t=Cn(e);throw new Error(t)}checkDisabled(){(this.disabled||!this.scope)&&this.logAndCreateError("module not working")}};var Uo=require("@solana/web3.js"),vr=w(require("bn.js"));var zt=require("@solana/spl-token");var qo=require("@solana/web3.js"),Mr=w(require("bn.js"));var Fr=require("@solana/spl-token");var Ut=y([s("mint"),s("owner"),n("amount"),j("delegateOption"),s("delegate"),f("state"),j("isNativeOption"),n("isNative"),n("delegatedAmount"),j("closeAuthorityOption"),s("closeAuthority")]);var mi=require("@solana/web3.js"),ys=require("@solana/spl-token");var bs=w(require("decimal.js"));var Vn=require("@solana/spl-token"),Na=require("@solana/web3.js"),Ma=w(require("bn.js")),Fa=w(require("decimal.js"));var Fn=require("@solana/spl-token"),Ht=require("@solana/web3.js"),Ra=w(require("bn.js"));var U=w(require("bn.js")),je=new U.default(1).shln(64);var _r=new U.default(1).shln(128),Rn=new U.default(1).shln(64).subn(1),Er=new U.default(1).shln(128).subn(1);var $e=new U.default("4295048016"),Je=new U.default("79226673521066979257578248091"),Dr=new U.default("59543866431248"),Wr=new U.default("184467440737095516"),qr=new U.default("15793534762490258745");var Ln=60,ad=new U.default("18446743708227953217"),Ur=[{bit:0,factor:new U.default("fffcb933bd6fb800",16)},{bit:1,factor:new U.default("fff97272373d4000",16)},{bit:2,factor:new U.default("fff2e50f5f657000",16)},{bit:3,factor:new U.default("ffe5caca7e10f000",16)},{bit:4,factor:new U.default("ffcb9843d60f7000",16)},{bit:5,factor:new U.default("ff973b41fa98e800",16)},{bit:6,factor:new U.default("ff2ea16466c9b000",16)},{bit:7,factor:new U.default("fe5dee046a9a3800",16)},{bit:8,factor:new U.default("fcbe86c7900bb000",16)},{bit:9,factor:new U.default("f987a7253ac65800",16)},{bit:10,factor:new U.default("f3392b0822bb6000",16)},{bit:11,factor:new U.default("e7159475a2caf000",16)},{bit:12,factor:new U.default("d097f3bdfd2f2000",16)},{bit:13,factor:new U.default("a9f746462d9f8000",16)},{bit:14,factor:new U.default("70d869a156f31c00",16)},{bit:15,factor:new U.default("31be135f97ed3200",16)},{bit:16,factor:new U.default("9aa508b5b85a500",16)},{bit:17,factor:new U.default("5d6af8dedc582c",16)},{bit:18,factor:new U.default("2216e584f5fa",16)}];var dt=3,Xo=100;var Yo=10,Qo=100,Yt=14;var te=new U.default(0),Ee=new U.default(1),sd=new U.default(-1);var ud=new U.default("18446744073700000000");var Gr=y([V(8),f("bump"),J("index"),s("owner"),j("protocolFeeRate"),j("tradeFeeRate"),J("tickSpacing"),j("fundFeeRate"),P(j(),1),s("fundOwner"),P(n(),3)]),zr=y([j("blockTimestamp"),ze("tickCumulative"),P(n(),4)]),Zo=y([V(8),de("initialized"),n("recentEpoch"),J("observationIndex"),s("poolId"),P(zr,Xo,"observations"),P(n(),4)]),Xr=y([J("filterPeriod"),J("decayPeriod"),J("reductionFactor"),j("dynamicFeeControl"),j("maxVolatilityAccumulator"),fe("tickSpacingIndexReference"),j("volatilityReference"),j("volatilityAccumulator"),n("lastUpdateTimestamp"),P(f(),46)]),Yr=y([f("state"),n("openTime"),n("endTime"),n("lastUpdateTime"),v("emissionsPerSecondX64"),n("totalEmissioned"),n("claimed"),s("mint"),s("vault"),s("creator"),v("growthGlobalX64")]),On=y([V(8),f("bump"),s("configId"),s("creator"),s("mintA"),s("mintB"),s("vaultA"),s("vaultB"),s("observationId"),f("mintDecimalsA"),f("mintDecimalsB"),J("tickSpacing"),v("liquidity"),v("sqrtPriceX64"),fe("tickCurrent"),j(),v("feeGrowthGlobalX64A"),v("feeGrowthGlobalX64B"),n("protocolFeesTokenA"),n("protocolFeesTokenB"),P(v(),4),f("status"),f("feeOn"),V(6),P(Yr,dt,"rewardInfos"),V(8*16,"tickArrayBitmap"),P(n(),4),n("fundFeesTokenA"),n("fundFeesTokenB"),n("startTime"),n("recentEpoch"),Xr.replicate("dynamicFeeInfo"),P(n(),46)]),Qr=y([v("growthInsideLastX64"),n("rewardAmountOwed")]),Zr=y([V(8),f("bump"),s("nftMint"),s("poolId"),fe("tickLower"),fe("tickUpper"),v("liquidity"),v("feeGrowthInsideLastX64A"),v("feeGrowthInsideLastX64B"),n("tokenFeesOwedA"),n("tokenFeesOwedB"),P(Qr,dt,"rewardInfos"),n("recentEpoch"),P(n(),7)]),dd=y([V(8),f("bump"),s("poolId"),fe("tickLower"),fe("tickUpper"),v("liquidity"),v("feeGrowthInsideLastX64A"),v("feeGrowthInsideLastX64B"),n("tokenFeesOwedA"),n("tokenFeesOwedB"),P(v(),dt,"rewardGrowthInside"),n("recentEpoch"),P(n(),7)]),Hr=y([fe("tick"),fo("liquidityNet"),v("liquidityGross"),v("feeGrowthOutsideX64A"),v("feeGrowthOutsideX64B"),P(v(),dt,"rewardGrowthsOutsideX64"),n("orderPhase"),n("ordersAmount"),n("partFilledOrdersRemaining"),v("unfilledRatioX64"),P(j(),3)]),Ho=y([V(8),s("poolId"),fe("startTickIndex"),P(Hr,Ln,"ticks"),f("initializedTickCount"),n("recentEpoch"),P(f(),107)]),jr=y([V(8),f("bump"),P(s(),Yo,"operationOwners"),P(s(),Qo,"whitelistMints")]),$r=y([V(8),s("poolId"),s("owner"),fe("tick"),de("zeroForOne"),n("orderPhase"),n("totalAmount"),n("filledAmount"),n("settleBase"),n("settleOutput"),n("openTime"),v("unfilledRatioX64"),P(n(),4)]),jo=y([V(8),s("poolId"),V(8*8*Yt,"positiveTickArrayBitmap"),V(8*8*Yt,"negativeTickArrayBitmap")]),pd=y([V(8),J("index"),J("filterPeriod"),J("decayPeriod"),J("reductionFactor"),j("dynamicFeeControl"),j("maxVolatilityAccumulator"),P(n(),8)]),Jr=y([V(8),s("wallet"),f("nonceIndex"),n("orderNonce"),P(n(),4)]),fd=y([n(),f("bump"),s("owner"),s("poolId"),s("positionId"),s("nftAccount"),P(n(),8)]),ea=y([V(8),f("bump"),s("lockOwner"),s("poolId"),s("positionId"),s("nftAccount"),s("lockNftMint"),n("recentEpoch"),P(n(),8)]);var ta=w(require("bn.js"));var Sd=Buffer.from("amm_config","utf8"),oa=Buffer.from("pool","utf8"),ia=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");var ii=require("js-sha256");var $o=w(require("bn.js")),ra=w(require("decimal.js"));var Ed=new $o.default(1).shln(256).subn(1);var ua=w(require("bn.js"));var aa=w(require("bn.js")),sa=w(require("decimal.js"));var ma=w(require("bn.js")),da=w(require("decimal.js"));var ka=require("@solana/web3.js"),Ta=w(require("bn.js"));var ni=require("@solana/spl-token");var ha=w(require("decimal.js"));var ba=w(require("bn.js"));var fa=w(require("bn.js"));var Ia=w(require("bn.js"));function ne(o){let e=`global:${o}`;return Buffer.from(ii.sha256.digest(e)).slice(0,8)}Zo.span;var Nf=q("Raydium_Clmm"),Mf={createPool:ne("create_pool"),createCustomizablePool:ne("create_customizable_pool"),createPermissionedPool:ne("create_permissioned_pool"),openPositionV2:ne("open_position_v2"),openPositionWithToken22Nft:ne("open_position_with_token22_nft"),closePosition:ne("close_position"),increaseLiquidityV2:ne("increase_liquidity_v2"),decreaseLiquidityV2:ne("decrease_liquidity_v2"),initializeReward:ne("initialize_reward"),setRewardParams:ne("set_reward_params"),updateRewardInfos:ne("update_reward_infos"),collectRemainingRewards:ne("collect_remaining_rewards"),swapV2:ne("swap_v2"),openLimitOrder:ne("open_limit_order"),increaseLimitOrder:ne("increase_limit_order"),decreaseLimitOrder:ne("decrease_limit_order"),settleLimitOrder:ne("settle_limit_order"),closeLimitOrder:ne("close_limit_order")};var jt=require("@solana/web3.js");var Va=y([f("instruction")]),_a=y([f("instruction")]),Ea=y([n("rewardState"),n("rewardOpenTime"),n("rewardEndTime"),n("rewardLastUpdateTime"),n("totalReward"),n("totalRewardEmissioned"),n("rewardClaimed"),n("rewardPerSecond"),v("accRewardPerShare"),s("rewardVault"),s("rewardMint"),s("rewardSender"),n("rewardType"),P(n(),15,"padding")]),Da=y([n("state"),n("nonce"),s("lpVault"),s("rewardVault"),s(),s(),n(),n(),n("totalReward"),v("perShareReward"),n("lastSlot"),n("perSlotReward")]),Wa=y([n("state"),n("nonce"),s("lpVault"),s("rewardVaultA"),n("totalRewardA"),v("perShareRewardA"),n("perSlotRewardA"),f("option"),s("rewardVaultB"),V(7),n("totalRewardB"),v("perShareRewardB"),n("perSlotRewardB"),n("lastSlot"),s()]),qa=y([n(),n("state"),n("nonce"),n("validRewardTokenNum"),v("rewardMultiplier"),n("rewardPeriodMax"),n("rewardPeriodMin"),n("rewardPeriodExtend"),s("lpMint"),s("lpVault"),P(Ea,5,"rewardInfos"),s("creator"),s(),P(n(),32,"padding")]),Ua=new Proxy(Da,{get(o,e,t){return e==="decode"?(...i)=>{let r=o.decode(...i);return W(M({},r),{version:3,rewardInfos:[{rewardVault:r.rewardVault,totalReward:r.totalReward,perSlotReward:r.perSlotReward,perShareReward:r.perShareReward}]})}:Reflect.get(o,e,t)}}),Ga=new Proxy(Wa,{get(o,e,t){return e==="decode"?(...i)=>{let r=o.decode(...i);return W(M({},r),{version:5,rewardInfos:[{rewardVault:r.rewardVaultA,totalReward:r.totalRewardA,perSlotReward:r.perSlotRewardA,perShareReward:r.perShareRewardA},{rewardVault:r.rewardVaultB,totalReward:r.totalRewardB,perSlotReward:r.perSlotRewardB,perShareReward:r.perShareRewardB}]})}:Reflect.get(o,e,t)}}),si=new Proxy(qa,{get(o,e,t){return e==="decode"?(...i)=>{let r=o.decode(...i);return W(M({},r),{version:6,rewardInfos:r.rewardInfos.map(c=>{var a;return W(M({},c),{rewardType:((a=Object.entries(ft).find(u=>String(u[1])===c.rewardType.toString()))!=null?a:["Standard SPL"])[0]})})})}:Reflect.get(o,e,t)}}),za=y([n("isSet"),n("rewardPerSecond"),n("rewardOpenTime"),n("rewardEndTime"),n("rewardType")]),Xa=y([f("instruction"),n("nonce"),P(za,5,"rewardTimeInfo")]),Ya=y([f("instruction"),n("rewardReopenTime"),n("rewardEndTime"),n("rewardPerSecond")]),Qa=y([f("instruction"),n("isSet"),n("rewardPerSecond"),n("rewardOpenTime"),n("rewardEndTime"),n("rewardType")]),hy=y([n("state"),s("id"),s("owner"),n("deposited"),P(n(),1,"rewardDebts")]),ui=y([n("state"),s("id"),s("owner"),n("deposited"),P(v(),1,"rewardDebts"),n(""),n("voteLockedBalance"),P(n(),15)]),Iy=y([n("state"),s("id"),s("owner"),n("deposited"),P(n(),2,"rewardDebts")]),Za=y([n("state"),s("id"),s("owner"),n("deposited"),P(v(),2,"rewardDebts"),P(n(),17)]),Ha=y([n(),n("state"),s("id"),s("owner"),n("deposited"),P(v(),5,"rewardDebts"),P(n(),16)]),ja=y([f("instruction"),n("amount")]),$a=y([s("mint"),s("grantAuthority"),n("baselineVoteWeightScaledFactor"),n("maxExtraLockupVoteWeightScaledFactor"),n("lockupSaturationSecs"),po("digitShift"),P(f(),7,"reserved1"),P(n(),7,"reserved2")]),Ja=y([V(8),s("governanceProgramId"),s("realm"),s("realmGoverningTokenMint"),s("realmAuthority"),P(f(),32,"reserved1"),P($a,4,"votingMints"),ze("timeOffset"),f("bump"),P(f(),7,"reserved2"),P(n(),11,"reserved3")]),es=y([ze("startTime"),ze("endTime"),f("kind"),P(f(),15,"reserved")]),ts=y([P(es,1,"lockup"),n("amountDeposited_native"),n("amountInitiallyLockedNative"),de("isUsed"),de("allowClawback"),f("votingMintConfigIdx"),P(f(),29,"reserved")]),ns=y([V(8),s("voterAuthority"),s("registrar"),P(ts,32,"deposits"),f("voterBump"),f("voterWweightRecordBump"),P(f(),94,"reserved")]);var os=require("@solana/spl-token"),Ly=q("Raydium_farm_config"),is=new jt.PublicKey("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),rs=new jt.PublicKey("FrspKwj8i3pNmKwXreTveC4fu7KL5ZbGeXdZBe2XViu1");var Oy=new jt.PublicKey("3TRTX4dXUpp2eqxi3tvQDFYUV7SdDJjcPE3Y4mbtftaX");var ft={"Standard SPL":0,"Option tokens":1},ci={[Lo.toString()]:3,[Oo.toString()]:4,[No.toString()]:5,[In.toString()]:6,[Ke.FARM_PROGRAM_ID_V3.toString()]:3,[Ke.FARM_PROGRAM_ID_V4.toString()]:4,[Ke.FARM_PROGRAM_ID_V5.toString()]:5,[Ke.FARM_PROGRAM_ID_V6.toString()]:6};var yt=require("@solana/web3.js"),cs=w(require("bn.js")),_n=require("@solana/spl-token");var us=w(require("bn.js"));var Hy=q("Raydium.farm.util");var bb=q("Raydium_farm_instruction"),gb={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])};var gs=w(require("bn.js"));var vs=require("@solana/web3.js"),tn=require("@solana/spl-token");var Ps=y([j("mintAuthorityOption"),s("mintAuthority"),n("supply"),f("decimals"),f("isInitialized"),j("freezeAuthorityOption"),s("freezeAuthority")]);var ge=require("@solana/spl-token"),N=require("@solana/web3.js");var bt=w(require("bn.js"));var $t=q("Raydium_liquidity_instruction");function di(o){let{poolInfo:e,poolKeys:t,userKeys:i,baseAmountIn:r,quoteAmountIn:c,fixedSide:a,otherAmountMin:u,modelDataPubKey:l=Ve}=o,b=Buffer.alloc(Rt.span);Rt.encode({instruction:3,baseAmountIn:Y(r),quoteAmountIn:Y(c),otherAmountMin:Y(u),fixedSide:a==="base"?te:Ee},b);let d=[p({pubkey:ge.TOKEN_PROGRAM_ID,isWritable:!1}),p({pubkey:new N.PublicKey(e.id)}),p({pubkey:new N.PublicKey(t.authority),isWritable:!1}),p({pubkey:new N.PublicKey(t.openOrders),isWritable:!1}),p({pubkey:new N.PublicKey(t.targetOrders)}),p({pubkey:new N.PublicKey(e.lpMint.address)}),p({pubkey:new N.PublicKey(t.vault.A)}),p({pubkey:new N.PublicKey(t.vault.B)})];return e.pooltype.includes("StablePool")&&d.push(p({pubkey:l})),d.push(p({pubkey:new N.PublicKey(e.marketId),isWritable:!1}),p({pubkey:i.baseTokenAccount}),p({pubkey:i.quoteTokenAccount}),p({pubkey:i.lpTokenAccount}),p({pubkey:i.owner,isWritable:!1,isSigner:!0}),p({pubkey:new N.PublicKey(t.marketEventQueue),isWritable:!1})),new N.TransactionInstruction({programId:new N.PublicKey(e.programId),keys:d,data:b})}function pi(o){let{poolInfo:e,poolKeys:t,userKeys:i,lpAmount:r,baseAmountMin:c,quoteAmountMin:a,modelDataPubKey:u=Ve}=o,l=we(t),b=4;if(e.pooltype.includes("StablePool")&&(b=5),b===4||b===5){let d=Buffer.alloc(Lt.span);Lt.encode({instruction:4,lpAmount:Y(r),baseAmountMin:Y(c),quoteAmountMin:Y(a)},d);let g=[p({pubkey:ge.TOKEN_PROGRAM_ID,isWritable:!1}),p({pubkey:l.id}),p({pubkey:l.authority,isWritable:!1}),p({pubkey:l.openOrders}),p({pubkey:l.targetOrders}),p({pubkey:l.mintLp.address}),p({pubkey:l.vault.A}),p({pubkey:l.vault.B})];return b===5?g.push(p({pubkey:u})):(g.push(p({pubkey:l.id})),g.push(p({pubkey:l.id}))),g.push(p({pubkey:l.marketProgramId,isWritable:!1}),p({pubkey:l.marketId}),p({pubkey:l.marketBaseVault}),p({pubkey:l.marketQuoteVault}),p({pubkey:l.marketAuthority,isWritable:!1}),p({pubkey:i.lpTokenAccount}),p({pubkey:i.baseTokenAccount}),p({pubkey:i.quoteTokenAccount}),p({pubkey:i.owner,isWritable:!1,isSigner:!0}),p({pubkey:l.marketEventQueue}),p({pubkey:l.marketBids}),p({pubkey:l.marketAsks})),new N.TransactionInstruction({programId:l.programId,keys:g,data:d})}return new N.TransactionInstruction({programId:l.programId,keys:[]})}function fi({programId:o,ammId:e,ammAuthority:t,ammOpenOrders:i,lpMint:r,coinMint:c,pcMint:a,coinVault:u,pcVault:l,withdrawQueue:b,ammTargetOrders:d,poolTempLp:g,marketProgramId:k,marketId:A,userWallet:C,userCoinVault:h,userPcVault:B,userLpVault:R,nonce:x,openTime:_,coinAmount:D,pcAmount:T,ammConfigId:S,feeDestinationId:K}){let O=y([f("instruction"),f("nonce"),n("openTime"),n("pcAmount"),n("coinAmount")]),F=[{pubkey:ge.TOKEN_PROGRAM_ID,isSigner:!1,isWritable:!1},{pubkey:ge.ASSOCIATED_TOKEN_PROGRAM_ID,isSigner:!1,isWritable:!1},{pubkey:N.SystemProgram.programId,isSigner:!1,isWritable:!1},{pubkey:Ye,isSigner:!1,isWritable:!1},{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:c,isSigner:!1,isWritable:!1},{pubkey:a,isSigner:!1,isWritable:!1},{pubkey:u,isSigner:!1,isWritable:!0},{pubkey:l,isSigner:!1,isWritable:!0},{pubkey:d,isSigner:!1,isWritable:!0},{pubkey:S,isSigner:!1,isWritable:!1},{pubkey:K,isSigner:!1,isWritable:!0},{pubkey:k,isSigner:!1,isWritable:!1},{pubkey:A,isSigner:!1,isWritable:!1},{pubkey:C,isSigner:!0,isWritable:!0},{pubkey:h,isSigner:!1,isWritable:!0},{pubkey:B,isSigner:!1,isWritable:!0},{pubkey:R,isSigner:!1,isWritable:!0}],E=Buffer.alloc(O.span);return O.encode({instruction:1,nonce:x,openTime:_,coinAmount:D,pcAmount:T},E),{instruction:new N.TransactionInstruction({keys:F,programId:o,data:E}),instructionType:ee.AmmV4CreatePool}}function As(o){let e=y([f("instruction"),f("simulateType")]),t=Buffer.alloc(e.span);e.encode({instruction:12,simulateType:0},t);let i=[p({pubkey:new N.PublicKey(o.id),isWritable:!1}),p({pubkey:new N.PublicKey(o.authority),isWritable:!1}),p({pubkey:new N.PublicKey(o.openOrders),isWritable:!1}),p({pubkey:new N.PublicKey(o.vault.A),isWritable:!1}),p({pubkey:new N.PublicKey(o.vault.B),isWritable:!1}),p({pubkey:new N.PublicKey(o.mintLp.address),isWritable:!1}),p({pubkey:new N.PublicKey(o.marketId),isWritable:!1}),p({pubkey:new N.PublicKey(o.marketEventQueue),isWritable:!1})];return new N.TransactionInstruction({programId:new N.PublicKey(o.programId),keys:i,data:t})}function yi({poolKeys:o,userKeys:e,amountIn:t,minAmountOut:i,modelDataPubKey:r=Ve},c){let a=we(o),u=Buffer.alloc(St.span);St.encode({instruction:9,amountIn:Y(t),minAmountOut:Y(i)},u);let l=[p({pubkey:ge.TOKEN_PROGRAM_ID,isWritable:!1}),p({pubkey:a.id}),p({pubkey:a.authority,isWritable:!1}),p({pubkey:a.openOrders})];return c===4&&l.push(p({pubkey:a.targetOrders})),l.push(p({pubkey:a.vault.A}),p({pubkey:a.vault.B})),c===5&&l.push(p({pubkey:r})),l.push(p({pubkey:a.marketProgramId,isWritable:!1}),p({pubkey:a.marketId}),p({pubkey:a.marketBids}),p({pubkey:a.marketAsks}),p({pubkey:a.marketEventQueue}),p({pubkey:a.marketBaseVault}),p({pubkey:a.marketQuoteVault}),p({pubkey:a.marketAuthority,isWritable:!1}),p({pubkey:e.tokenAccountIn}),p({pubkey:e.tokenAccountOut}),p({pubkey:e.owner,isWritable:!1,isSigner:!0})),new N.TransactionInstruction({programId:a.programId,keys:l,data:u})}function bi({poolKeys:o,userKeys:e,maxAmountIn:t,amountOut:i,modelDataPubKey:r=Ve},c){let a=we(o),u=Buffer.alloc(Kt.span);Kt.encode({instruction:11,maxAmountIn:Y(t),amountOut:Y(i)},u);let l=[p({pubkey:ge.TOKEN_PROGRAM_ID,isWritable:!1}),p({pubkey:a.id}),p({pubkey:a.authority,isWritable:!1}),p({pubkey:a.openOrders}),p({pubkey:a.targetOrders}),p({pubkey:a.vault.A}),p({pubkey:a.vault.B})];return c===5&&l.push(p({pubkey:r})),l.push(p({pubkey:a.marketProgramId,isWritable:!1}),p({pubkey:a.marketId}),p({pubkey:a.marketBids}),p({pubkey:a.marketAsks}),p({pubkey:a.marketEventQueue}),p({pubkey:a.marketBaseVault}),p({pubkey:a.marketQuoteVault}),p({pubkey:a.marketAuthority,isWritable:!1}),p({pubkey:e.tokenAccountIn}),p({pubkey:e.tokenAccountOut}),p({pubkey:e.owner,isWritable:!1,isSigner:!0})),new N.TransactionInstruction({programId:a.programId,keys:l,data:u})}function gi(o,e,t,i,r,c,a,u,l,b){let d=y([f("instructionId"),n("amountIn"),n("minAmountOut")]),g=Buffer.alloc(d.span);d.encode({instructionId:16,amountIn:l,minAmountOut:b},g);let k=[{pubkey:ge.TOKEN_PROGRAM_ID,isWritable:!1,isSigner:!1},{pubkey:e,isWritable:!0,isSigner:!1},{pubkey:t,isWritable:!1,isSigner:!1},{pubkey:i,isWritable:!0,isSigner:!1},{pubkey:r,isWritable:!0,isSigner:!1},{pubkey:c,isWritable:!0,isSigner:!1},{pubkey:a,isWritable:!0,isSigner:!1},{pubkey:u,isWritable:!1,isSigner:!0}];return new N.TransactionInstruction({programId:o,keys:k,data:g})}function Pi(o,e,t,i,r,c,a,u,l,b){let d=y([f("instructionId"),n("maxAmountIn"),n("amountOut")]),g=Buffer.alloc(d.span);d.encode({instructionId:17,maxAmountIn:l,amountOut:b},g);let k=[{pubkey:ge.TOKEN_PROGRAM_ID,isWritable:!1,isSigner:!1},{pubkey:e,isWritable:!0,isSigner:!1},{pubkey:t,isWritable:!1,isSigner:!1},{pubkey:i,isWritable:!0,isSigner:!1},{pubkey:r,isWritable:!0,isSigner:!1},{pubkey:c,isWritable:!0,isSigner:!1},{pubkey:a,isWritable:!0,isSigner:!1},{pubkey:u,isWritable:!1,isSigner:!0}];return new N.TransactionInstruction({programId:o,keys:k,data:g})}function En(o){let{poolKeys:e,version:t,userKeys:i,amountIn:r,amountOut:c,fixedSide:a}=o;if(t===4){if(a==="in")return gi(new N.PublicKey(e.programId),new N.PublicKey(e.id),new N.PublicKey(e.authority),new N.PublicKey(e.vault.A),new N.PublicKey(e.vault.B),i.tokenAccountIn,i.tokenAccountOut,i.owner,new bt.default(r.toString()),new bt.default(c.toString()));if(a==="out")return Pi(new N.PublicKey(e.programId),new N.PublicKey(e.id),new N.PublicKey(e.authority),new N.PublicKey(e.vault.A),new N.PublicKey(e.vault.B),i.tokenAccountIn,i.tokenAccountOut,i.owner,new bt.default(r.toString()),new bt.default(c.toString()));$t.logWithError("invalid params","params",o)}throw $t.logWithError("invalid version, only support pool v4","poolKeys.version",t),new Error("invalid version")}function Dn(o){let{poolKeys:e,version:t,userKeys:i,amountIn:r,amountOut:c,fixedSide:a}=o;if(t===4||t===5){let u={poolKeys:e,userKeys:i};if(a==="in")return yi(W(M({},u),{amountIn:r,minAmountOut:c}),t);if(a==="out")return bi(W(M({},u),{maxAmountIn:r,amountOut:c}),t);$t.logWithError("invalid params","params",o)}throw $t.logWithError("invalid version","poolKeys.version",t),new Error("invalid version")}function ws({poolKeys:o,userKeys:e,startTime:t}){let i=Buffer.alloc(xt.span);xt.encode({instruction:0,nonce:5,startTime:Y(t)},i);let r=we(o),c=[p({pubkey:ge.TOKEN_PROGRAM_ID,isWritable:!1}),p({pubkey:N.SystemProgram.programId,isWritable:!1}),p({pubkey:N.SYSVAR_RENT_PUBKEY,isWritable:!1}),p({pubkey:r.id}),p({pubkey:r.authority,isWritable:!1}),p({pubkey:r.openOrders}),p({pubkey:r.mintLp.address}),p({pubkey:r.mintA.address,isWritable:!1}),p({pubkey:r.mintB.address,isWritable:!1}),p({pubkey:r.vault.A,isWritable:!1}),p({pubkey:r.vault.B,isWritable:!1}),p({pubkey:r.id}),p({pubkey:r.targetOrders}),p({pubkey:e.lpTokenAccount}),p({pubkey:r.id,isWritable:!1}),p({pubkey:r.marketProgramId,isWritable:!1}),p({pubkey:r.marketId,isWritable:!1}),p({pubkey:e.payer,isSigner:!0})];return new N.TransactionInstruction({programId:r.programId,keys:c,data:i})}var We=5e4,Ai=y([n("x"),n("y"),n("price")]),wi=y([n("accountType"),n("status"),n("multiplier"),n("validDataCount"),P(Ai,We,"DataElement")]);function ks(o,e){return[0,We-2]}function Ts(o){return[0,We-2]}function hs(o){return[0,We-2]}function Is(o,e,t){let[i,r]=ks(e,t),c=i,a=r,u=0,l=e*o.multiplier/t;for(;c<=a;){if(u=Math.floor((a+c)/2),u===0||u>=We-2)return[u,u,!1];let b=o.DataElement[u].x*o.multiplier/o.DataElement[u].y,d=o.DataElement[u-1].x*o.multiplier/o.DataElement[u-1].y,g=o.DataElement[u+1].x*o.multiplier/o.DataElement[u+1].y;if(l===b)return[u,u,!0];if(l===d)return[u-1,u-1,!0];if(l===g)return[u+1,u+1,!0];if(l<d)a=u-1;else{if(l>d&&l<b)return[u-1,u,!0];if(l>b&&l<g)return[u,u+1,!0];c=u+1}}return[u,u,!1]}function Wn(o,e,t){let[i,r,c]=Is(o,e,t);if(!c)return 0;if(i===r){let a=o.DataElement[i].x;return e*o.multiplier/a}else{let a=o.DataElement[i].x,u=o.DataElement[i].y,l=o.DataElement[r].x,b=o.DataElement[r].y,d=t*(l*u-a*b),g=a*d,k=(l-a)*(e*u-a*t)*b,A=g+k;return e*o.multiplier*d/A}}function De(o,e,t){return e*o.multiplier/t}function ki(o,e,t){return e*t/o.multiplier}function Bs(o,e){let[t,i]=Ts(e),r=t,c=i,a=0,u=e;for(;r<c;){if(a=Math.floor((c+r)/2),a<=0||a>We-2)return[a,a,!1];let l=o.DataElement[a].x,b=o.DataElement[a-1].x,d=o.DataElement[a+1].x;if(u===l)return[a,a,!0];if(u===b)return[a-1,a-1,!0];if(u===d)return[a+1,a+1,!0];if(u<b)c=a-1;else{if(u>b&&u<l)return[a-1,a,!0];if(u>l&&u<d)return[a,a+1,!0];r=a+1}}return[a,a,!1]}function Ss(o,e){let[t,i]=hs(e),r=t,c=i,a=0,u=e;for(;r<=c;){if(a=Math.floor((c+r)/2),a<=0||a>=We-2)return[a,a,!1];let l=o.DataElement[a].y,b=o.DataElement[a-1].y,d=o.DataElement[a+1].y;if(u===l)return[a,a,!0];if(u===b)return[a-1,a-1,!0];if(u===d)return[a+1,a+1,!0];if(u<d)r=a+1;else{if(u<b&&u>l)return[a-1,a,!0];if(u<l&&u>d)return[a,a+1,!0];c=a-1}}return[a,a,!1]}function Ti(o,e,t,i){let r=i?e+t:e-t,[c,a,u]=Bs(o,r);if(!u)return[0,0,!1,u];if(c===a)return[o.DataElement[a].price,o.DataElement[a].y,!1,u];{let l=o.DataElement[c].x,b=o.DataElement[a].x,d=o.DataElement[c].price,g=o.DataElement[a].price,k=o.DataElement[c].y,A=o.DataElement[a].y;if(e>=l&&e<=b)return i?[g,A,!0,u]:[d,k,!0,u];{let C,h;return i?(C=d+(g-d)*(e-l)/(b-l),h=k-(r-l)*o.multiplier/g):(C=d+(g-d)*(e-l)/(b-l),h=A+(b-r)*o.multiplier/d),[C,h,!1,u]}}}function Ks(o,e,t,i){let r=i?e-t:e+t,[c,a,u]=Ss(o,r);if(!u)return[0,0,!1,u];if(c===a)return[o.DataElement[a].price,o.DataElement[a].x,!1,u];{let l=o.DataElement[c].x,b=o.DataElement[a].x,d=o.DataElement[c].price,g=o.DataElement[a].price,k=o.DataElement[c].y,A=o.DataElement[a].y;if(e>=A&&e<=k)return i?[g,b,!0,u]:[d,l,!0,u];{let C,h;return i?(C=d+(g-d)*(k-e)/(k-A),h=l+g*(k-r)/o.multiplier):(C=d+(g-d)*(k-e)/(k-A),h=b-d*(r-A)/o.multiplier),[C,h,!1,u]}}}function xs(o,e){let t=Ti(o,e,0,!1);return t[3]?t[0]:0}function hi(o,e,t,i){let r=Wn(o,e,t),c=De(o,e,r),a=De(o,t,r),u=De(o,i,r),l=!0,[b,d,g,k]=Ti(o,c,u,l);if(!k)return 0;if(g)return i*o.multiplier/b;{let A=a-d;return ki(o,A,r)}}function Ii(o,e,t,i){let r=Wn(o,e,t),c=De(o,e,r),a=De(o,t,r),u=De(o,i,r),l=!1,[b,d,g,k]=Ks(o,a,u,l);if(!k)return 0;if(g)return i*b/o.multiplier;{let A=c-d;return ki(o,A,r)}}function Bi(o){let e=wi.decode(o);return{accountType:e.accountType.toNumber(),status:e.status.toNumber(),multiplier:e.multiplier.toNumber(),validDataCount:e.validDataCount.toNumber(),DataElement:e.DataElement.map(t=>({x:t.x.toNumber(),y:t.y.toNumber(),price:t.price.toNumber()}))}}function Si(o,e,t,i){let r=xs(o,De(o,e,Wn(o,e,t)))/o.multiplier;return i?r:1/r}var Jt=class{constructor({connection:e,modelDataPubKey:t=Ve}){this._layoutData={accountType:0,status:0,multiplier:0,validDataCount:0,DataElement:[]};this.connection=e,this.modelDataPubKey=t}get stableModelData(){return this._layoutData}async initStableModelLayout(){if(this._layoutData.validDataCount===0&&this.connection){let e=await this.connection.getAccountInfo(this.modelDataPubKey);e&&(this._layoutData=Bi(e==null?void 0:e.data))}}};var Vs=w(require("bn.js")),_s=w(require("decimal.js"));var Os=require("@solana/spl-token"),Ns=require("@solana/web3.js"),Ms=w(require("bn.js"));var en=require("@solana/web3.js"),Ki=require("@solana/spl-token");function Cs(o="accountFlags"){let e=new Bt(o);return e.addBoolean("initialized"),e.addBoolean("market"),e.addBoolean("openOrders"),e.addBoolean("requestQueue"),e.addBoolean("eventQueue"),e.addBoolean("bids"),e.addBoolean("asks"),e}var Rs=y([V(5),Cs("accountFlags"),s("ownAddress"),n("vaultSignerNonce"),s("baseMint"),s("quoteMint"),s("baseVault"),n("baseDepositsTotal"),n("baseFeesAccrued"),s("quoteVault"),n("quoteDepositsTotal"),n("quoteFeesAccrued"),n("quoteDustThreshold"),s("requestQueue"),s("eventQueue"),s("bids"),s("asks"),n("baseLotSize"),n("quoteLotSize"),n("feeRateBps"),n("referrerRebatesAccrued"),V(7)]);var Ys=require("@solana/web3.js"),gt=require("@solana/spl-token");var qs=w(require("bn.js"));var Ci=w(require("bn.js"));var PP=new Ci.default(0);var Ds=w(require("bn.js"));var Qs=w(require("bn.js")),Zs=w(require("decimal.js"));var on=require("@solana/web3.js"),Un=require("@solana/spl-token");var LP=Buffer.from("vault_and_lp_mint_auth_seed","utf8"),OP=Buffer.from("amm_config","utf8"),NP=Buffer.from("pool","utf8"),MP=Buffer.from("pool_lp_mint","utf8"),FP=Buffer.from("pool_vault","utf8"),vP=Buffer.from("observation","utf8"),VP=Buffer.from("permission","utf8"),_P=Buffer.from("support_mint","utf8");var EP=Buffer.from("locked_liquidity","utf8");var HP=q("Raydium_cpmm"),jP={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 Gs=y([V(8),f("bump"),de("disableCreatePool"),J("index"),n("tradeFeeRate"),n("protocolFeeRate"),n("fundFeeRate"),n("createPoolFee"),s("protocolOwner"),s("fundOwner"),n("creatorFeeRate"),P(n(),15)]),Ri=y([V(8),s("configId"),s("poolCreator"),s("vaultA"),s("vaultB"),s("mintLp"),s("mintA"),s("mintB"),s("mintProgramA"),s("mintProgramB"),s("observationId"),f("bump"),f("status"),f("lpDecimals"),f("mintDecimalA"),f("mintDecimalB"),n("lpAmount"),n("protocolFeesMintA"),n("protocolFeesMintB"),n("fundFeesMintA"),n("fundFeesMintB"),n("openTime"),n("epoch"),f("feeOn"),de("enableCreatorFee"),P(f(),6),n("creatorFeesMintA"),n("creatorFeesMintB"),P(n(),28)]),eA=y([V(8),s("configId"),P(n(),30)]);var Ei=require("@solana/web3.js"),nt=require("@solana/spl-token"),Di=w(require("bn.js")),Au=w(require("decimal.js"));var Gn=require("@solana/spl-token"),Mi=require("@solana/web3.js"),Fi=w(require("bn.js"));var Hs=y([n(),n("epoch"),f("curveType"),J("index"),n("migrateFee"),n("tradeFeeRate"),n("maxShareFeeRate"),n("minSupplyA"),n("maxLockRate"),n("minSellRateA"),n("minMigrateRateA"),n("minFundRaisingB"),s("mintB"),s("protocolFeeOwner"),s("migrateFeeOwner"),s("migrateToAmmWallet"),s("migrateToCpmmWallet"),P(n(),16)]),js=y([n("totalLockedAmount"),n("cliffPeriod"),n("unlockPeriod"),n("startTime"),n("totalAllocatedShare")]),$s=y([n(),n("epoch"),f("bump"),f("status"),f("mintDecimalsA"),f("mintDecimalsB"),f("migrateType"),n("supply"),n("totalSellA"),n("virtualA"),n("virtualB"),n("realA"),n("realB"),n("totalFundRaisingB"),n("protocolFee"),n("platformFee"),n("migrateFee"),js.replicate("vestingSchedule"),s("configId"),s("platformId"),s("mintA"),s("mintB"),s("vaultA"),s("vaultB"),s("creator"),f("mintProgramFlag"),f("cpmmCreatorFeeOn"),n("platformVestingShare"),P(f(),54)]),aw=y([n(),n("epoch"),s("poolId"),s("beneficiary"),n("claimedAmount"),n("tokenShareAmount"),P(n(),8)]),Oi=y([f("migrateType"),f("migrateCpmmFeeOn"),n("supply"),n("totalSellA"),n("totalFundRaisingB"),n("totalLockedAmount"),n("cliffPeriod"),n("unlockPeriod")]),Js=y([n("epoch"),f("index"),s("configId"),Oi.replicate("bondingCurveParam"),P(n(),50)]),Ni=y([n(),n("epoch"),s("platformClaimFeeWallet"),s("platformLockNftWallet"),n("platformScale"),n("creatorScale"),n("burnScale"),n("feeRate"),P(f(),64,"name"),P(f(),256,"web"),P(f(),256,"img"),s("cpConfigId"),n("creatorFeeRate"),s("transferFeeExtensionAuth"),s("platformVestingWallet"),n("platformVestingScale"),s("platformCpCreator"),f("restrictGlobalConfig"),P(f(),107),yo(Js,"platformCurve")]);var mw=Buffer.from("vault_auth_seed","utf8"),dw=Buffer.from("global_config","utf8"),pw=Buffer.from("pool_vesting","utf8"),fw=Buffer.from("platform_config","utf8"),yw=Buffer.from("platform_fee_vault_auth_seed","utf8"),bw=Buffer.from("creator_fee_vault_auth_seed","utf8"),gw=Buffer.from("platform_global_access","utf8"),Pw=Buffer.from("platform_allow_config","utf8");var xw={initialize:Buffer.from([175,175,109,31,13,152,155,237]),initializeV2:Buffer.from([67,153,175,39,218,16,38,32]),buyExactIn:Buffer.from([250,234,13,123,213,156,19,236]),buyExactOut:Buffer.from([24,211,116,40,105,3,153,56]),sellExactIn:Buffer.from([149,39,222,155,211,124,152,26]),sellExactOut:Buffer.from([95,200,71,34,8,9,11,166]),createVestingAccount:Buffer.from([129,178,2,13,217,172,230,218]),claimVestedToken:Buffer.from([49,33,104,30,189,157,79,35]),createPlatformConfig:Buffer.from([176,90,196,175,253,113,220,20]),claimPlatformFee:Buffer.from([156,39,208,135,76,237,61,72]),updatePlaformConfig:Buffer.from([195,60,76,129,146,45,67,143]),initializeWithToken2022:Buffer.from([37,190,126,222,44,154,171,17]),claimPlatformFeeFromVault:Buffer.from([117,241,198,168,248,218,80,29]),claimCreatorFee:Buffer.from([26,97,138,203,132,171,141,252]),updatePlatformCurveParam:Buffer.from([138,144,138,250,220,128,4,57]),removePlatformCurveParam:Buffer.from([27,30,62,169,93,224,24,145]),createPlatformVestingAccount:Buffer.from([146,71,173,69,98,19,15,106]),createPlatformAllowConfig:Buffer.from([69,71,168,7,214,250,107,102]),closePlatformAllowConfig:Buffer.from([82,205,36,216,16,6,240,215])};var Cw=new Fi.default("18446744073709551615");var vi=require("@solana/spl-token");var eu=w(require("bn.js")),tu=w(require("decimal.js"));var au=w(require("bn.js")),su=w(require("decimal.js"));var nu=w(require("bn.js")),ou=w(require("decimal.js"));var iu=w(require("bn.js")),ru=w(require("decimal.js"));var zn=w(require("bn.js")),rn=w(require("decimal.js")),an=class{static _multipler(e){return new rn.default(10).pow(e)}static getPrice({priceX64:e,decimalA:t,decimalB:i}){return new rn.default(e.toString()).div(this._Q64).mul(this._multipler(t)).div(this._multipler(i))}static getPriceX64({price:e,decimalA:t,decimalB:i}){let r=e.mul(this._multipler(i)).div(this._multipler(t));return new zn.default(r.mul(this._Q64).toFixed(0))}};an._Q64=new rn.default(new zn.default(1).shln(64).toString());var qe=require("@solana/spl-token"),$=w(require("bn.js")),Xn=require("@solana/web3.js");var fu=w(require("decimal.js")),dT={initPriceX64:new $.default("515752397214619"),supply:new $.default(1e15),totalSellA:new $.default(7931e11),totalFundRaisingB:new $.default(85e9),totalFundRaisingBUSD:new $.default(125e8),totalLockedAmount:new $.default("0"),cliffPeriod:new $.default("0"),unlockPeriod:new $.default("0"),decimals:6,virtualA:new $.default("1073471847374405"),virtualB:new $.default("30050573465"),realA:new $.default(0),realB:new $.default(0),protocolFee:new $.default(0),platformId:new Xn.PublicKey("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),vestingSchedule:{totalLockedAmount:new $.default(0),cliffPeriod:new $.default(0),unlockPeriod:new $.default(0),startTime:new $.default(0),totalAllocatedShare:new $.default(0)}},pT=new $.default(1e4);var yu={[Mo.toBase58()]:3};var bu=y([V(5),V(8),s("ownAddress"),n("vaultSignerNonce"),s("baseMint"),s("quoteMint"),s("baseVault"),n("baseDepositsTotal"),n("baseFeesAccrued"),s("quoteVault"),n("quoteDepositsTotal"),n("quoteFeesAccrued"),n("quoteDustThreshold"),s("requestQueue"),s("eventQueue"),s("bids"),s("asks"),n("baseLotSize"),n("quoteLotSize"),n("feeRateBps"),n("referrerRebatesAccrued"),V(7)]);var gu=require("@solana/web3.js");var ET=q("Serum");var Yn=require("@solana/spl-token"),Qn=require("@solana/web3.js"),Pu=w(require("bn.js"));var Nh=new Di.default(0);var Ce=require("@solana/web3.js"),Wi=require("@solana/spl-token"),Hn=w(require("bn.js"));var ae=class extends ce{static getPdaPoolId(e,t){return ue([ae.SEED_CONFIG.pool.id,t.toBuffer()],e)}static getPdaOwnerId(e,t,i,r){return ue([ae.SEED_CONFIG.owner.id,t.toBuffer(),i.toBuffer(),Buffer.from(new Hn.default(r).toArray())],e)}static async getAllInfo({connection:e,programId:t,poolIds:i,wallet:r,chainTime:c}){if(i.length===0)return[];let a=i.map(d=>ae.getPdaPoolId(t,d).publicKey),u=[];for(let d=0;d<ae.VERSION_PROJECT.length;d++)u.push(...a.map(g=>ae.getPdaOwnerId(t,g,r,d).publicKey));let l=await Se(e,[...a,...u]),b=[];for(let d=0;d<l.length;d++){let g=Math.floor(d/i.length),k=d%i.length,A=a[k],C=u[d],h=l[k],B=l[i.length+d];if(!(h&&B)||h.data.length!==ae.POOL_LAYOUT.span||B.data.length!==ae.OWNER_LAYOUT.span)continue;let R=ae.POOL_LAYOUT.decode(h.data),x=ae.OWNER_LAYOUT.decode(B.data),_=R.openTime.toNumber(),D=R.endTime.toNumber(),T=x.tokenInfo.map(O=>O.debtAmount.gt(new Hn.default(0))).filter(O=>!O).length!==3,S=c>_&&c<D&&R.status===1,K=T&&S;b.push({programId:t,poolId:A,ammId:R.ammId,ownerAccountId:C,snapshotLpAmount:x.lpAmount,project:ae.VERSION_PROJECT[g],openTime:_,endTime:D,canClaim:K,canClaimErrorType:T?S?void 0:"outOfOperationalTime":"alreadyClaimIt",tokenInfo:R.tokenInfo.map((O,F)=>({mintAddress:O.mintAddress,mintVault:O.mintVault,mintDecimals:O.mintDecimals,perLpLoss:O.perLpLoss,debtAmount:x.tokenInfo[F].debtAmount.add(x.tokenInfo[F].claimedAmount)}))})}return b}async makeClaimTransaction({poolInfo:e,ownerInfo:t,feePayer:i}){t.wallet||this.scope.checkOwner();let r=this.createTxBuilder(i),c=t.wallet||this.scope.ownerPubKey,a=[];for(let b of e.tokenInfo){let{account:d,instructionParams:g}=await this.scope.account.getOrCreateTokenAccount({mint:b.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:b.mintAddress.equals(ie.WSOL.mint),createInfo:{payer:c,amount:0},skipCloseAccount:!b.mintAddress.equals(ie.WSOL.mint),associatedOnly:b.mintAddress.equals(ie.WSOL.mint)?!1:t.associatedOnly});g&&r.addInstruction(g),a.push(d)}r.addInstruction({instructions:[ae.makeClaimInstruction({programId:e.programId,poolInfo:e,ownerInfo:{wallet:c,ownerPda:e.ownerAccountId,claimAddress:a}})]});let{transaction:u,signers:l}=r.build();return[{transaction:u,signer:l}]}async makeClaimAllTransaction({poolInfos:e,ownerInfo:t,feePayer:i}){let r=this.createTxBuilder(i),c=t.wallet||this.scope.ownerPubKey,a={};for(let d of e){let g=[];for(let k of d.tokenInfo){let{account:A,instructionParams:C}=await this.scope.account.getOrCreateTokenAccount({mint:k.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:k.mintAddress.equals(ie.WSOL.mint),createInfo:{payer:c,amount:0},skipCloseAccount:!k.mintAddress.equals(ie.WSOL.mint),associatedOnly:k.mintAddress.equals(ie.WSOL.mint)?!1:t.associatedOnly});C&&r.addInstruction(C),A&&(a[k.mintAddress.toString()]=A,g.push(A))}r.addInstruction({instructions:[ae.makeClaimInstruction({programId:d.programId,poolInfo:d,ownerInfo:{wallet:c,ownerPda:d.ownerAccountId,claimAddress:g}})]})}let{transaction:u,signers:l}=r.build(),b=r.allInstructions;return pn(b,[c,...l.map(d=>d.publicKey)])?[{transaction:u,signer:l}]:[{transaction:new Ce.Transaction().add(...b.slice(0,r.AllTxData.instructions.length-1)),signer:l},{transaction:new Ce.Transaction().add(...b.slice(r.AllTxData.instructions.length-1)),signer:[]},{transaction:new Ce.Transaction().add(...r.AllTxData.endInstructions),signer:[]}]}static makeClaimInstruction({programId:e,poolInfo:t,ownerInfo:i}){let r=y([]),c=[{pubkey:i.wallet,isSigner:!0,isWritable:!0},{pubkey:t.poolId,isSigner:!1,isWritable:!0},{pubkey:i.ownerPda,isSigner:!1,isWritable:!0},...i.claimAddress.map(l=>({pubkey:l,isSigner:!1,isWritable:!0})),...t.tokenInfo.map(({mintVault:l})=>({pubkey:l,isSigner:!1,isWritable:!0})),{pubkey:Wi.TOKEN_PROGRAM_ID,isSigner:!1,isWritable:!1}],a=Buffer.alloc(r.span);r.encode({},a);let u=Buffer.from([10,66,208,184,161,6,191,98,...a]);return new Ce.TransactionInstruction({keys:c,programId:e,data:u})}},Pe=ae;Pe.CLAIMED_NUM=3,Pe.POOL_LAYOUT=y([V(8),f("bump"),f("status"),n("openTime"),n("endTime"),s("ammId"),P(y([f("mintDecimals"),s("mintAddress"),s("mintVault"),n("perLpLoss"),n("totalClaimedAmount")]),ae.CLAIMED_NUM,"tokenInfo"),P(n(),10,"padding")]),Pe.OWNER_LAYOUT=y([V(8),f("bump"),f("version"),s("poolId"),s("owner"),n("lpAmount"),P(y([s("mintAddress"),n("debtAmount"),n("claimedAmount")]),ae.CLAIMED_NUM,"tokenInfo"),P(n(),4,"padding")]),Pe.DEFAULT_POOL_ID=["58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2","6UmmUiYoBjSrhakAobJw8BvkmJtDVxaeBtbt7rxWo1mg","AVs9TA4nWDzfPJE9gGVNJMVhcQy3V9PGazuz33BfG2RA","DVa7Qmb5ct9RCpaU7UTpSaf3GVMYz17vNVU67XpdCRut","7XawhbbxtsRcQA8KTkHT9f9nc6d69UwqCDh6U5EEbEmX","6a1CsrpeZubDjEJE9s1CMVheB6HWM5d7m1cj2jkhyXhj","EoNrn8iUhwgJySD1pHu8Qxm5gSQqLK3za4m8xzD2RuEb","AceAyRTWt4PyB2pHqf2qhDgNZDtKVNaxgL8Ru3V4aN1P","6tmFJbMk5yVHFcFy7X2K8RwHjKLr6KVFLYXpgpBNeAxB"].map(e=>new Ce.PublicKey(e)),Pe.SEED_CONFIG={pool:{id:Buffer.from("pool_seed","utf8")},owner:{id:Buffer.from("user_claim_seed","utf8")}},Pe.VERSION_PROJECT=[void 0,"Francium","Tulip","Larix"];var wu=require("@solana/web3.js"),Pt=require("@solana/spl-token");var fB=new Re.default(2),yB=new Re.default(3),bB=new Re.default(5),jn=new Re.default(10),gB=new Re.default(100),PB=new Re.default(1e3),AB=new Re.default(1e4);function kn(o){return jn.pow(Y(o))}var hu=q("Raydium_amount"),qi=ct(Ui.default);function Iu(o,e){let t="0",i="0";if(o.includes(".")){let r=o.split(".");r.length===2?([t,i]=r,i=i.padEnd(e,"0")):hu.logWithError(`invalid number string, num: ${o}`)}else t=o;return[t,i.slice(0,e)||i]}var me=class extends G{constructor(t,i,r=!0,c){let a=new At.default(0),u=jn.pow(new At.default(t.decimals));if(r)a=Y(i);else{let l=new At.default(0),b=new At.default(0);if(typeof i=="string"||typeof i=="number"||typeof i=="bigint"){let[d,g]=Iu(i.toString(),t.decimals);l=Y(d),b=Y(g)}l=l.mul(u),a=l.add(b)}super(a,u);this.logger=q(c||"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 me(this.token,this.raw.add(t.raw))}subtract(t){return this.token.equals(t.token)||this.logger.logWithError("sub token not equals"),new me(this.token,this.raw.sub(t.raw))}toSignificant(t=this.token.decimals,i,r=0){return super.toSignificant(t,i,r)}toFixed(t=this.token.decimals,i,r=0){return t>this.token.decimals&&this.logger.logWithError("decimals overflow"),super.toFixed(t,i,r)}toExact(t={groupSeparator:""}){return qi.DP=this.token.decimals,new qi(this.numerator.toString()).div(this.denominator.toString()).toFormat(t)}};var xe=r=>{var c=r,{address:o,programId:e,decimals:t}=c,i=pe(c,["address","programId","decimals"]);return M({chainId:101,address:ve(o).toBase58(),programId:e,logoURI:"",symbol:"",name:"",decimals:t,tags:[],extensions:i.extensions||{}},i)};var Gi=require("@solana/web3.js");var Ku=q("Raydium_liquidity_serum");function zi({programId:o,marketId:e}){let t=[e.toBuffer()],i=0,r;for(;i<100;){try{let c=t.concat(Buffer.from([i]),Buffer.alloc(7));r=Gi.PublicKey.createProgramAddressSync(c,o)}catch(c){if(c instanceof TypeError)throw c;i++;continue}return{publicKey:r,nonce:i}}throw Ku.logWithError("unable to find a viable program address nonce","params",{programId:o,marketId:e}),new Error("unable to find a viable program address nonce")}function nn({programId:o}){let{publicKey:e}=ue([Buffer.from("amm_config_account_seed","utf-8")],o);return e}function Le({name:o,programId:e,marketId:t}){let{publicKey:i}=ue([e.toBuffer(),t.toBuffer(),Buffer.from(o,"utf-8")],e);return i}function Qi({programId:o,marketId:e}){let{publicKey:t}=ue([o.toBuffer(),e.toBuffer(),Buffer.from("open_order_associated_seed","utf-8")],o);return t}function Zn({programId:o}){return ue([Buffer.from([97,109,109,32,97,117,116,104,111,114,105,116,121])],o)}function xi({version:o,marketVersion:e,marketId:t,baseMint:i,quoteMint:r,baseDecimals:c,quoteDecimals:a,programId:u,marketProgramId:l}){let b=Le({name:"amm_associated_seed",programId:u,marketId:t}),d=Le({name:"lp_mint_associated_seed",programId:u,marketId:t}),{publicKey:g,nonce:k}=Zn({programId:u}),A=Le({name:"coin_vault_associated_seed",programId:u,marketId:t}),C=Le({name:"pc_vault_associated_seed",programId:u,marketId:t}),h=Le({name:"temp_lp_token_associated_seed",programId:u,marketId:t}),B=Qi({programId:u,marketId:t}),R=Le({name:"target_associated_seed",programId:u,marketId:t}),x=Le({name:"withdraw_associated_seed",programId:u,marketId:t}),{publicKey:_}=zi({programId:l,marketId:t});return{id:b,baseMint:i,quoteMint:r,lpMint:d,baseDecimals:c,quoteDecimals:a,lpDecimals:c,version:o,programId:u,authority:g,nonce:k,baseVault:A,quoteVault:C,lpVault:h,openOrders:B,targetOrders:R,withdrawQueue:x,marketVersion:e,marketProgramId:l,marketId:t,marketAuthority:_,lookupTableAccount:Xi.PublicKey.default,configId:nn({programId:u})}}var $n={volume:0,volumeQuote:0,volumeFee:0,apr:0,feeApr:0,priceMin:0,priceMax:0,rewardApr:[]},qn=o=>{let e={},t=Yi.TOKEN_PROGRAM_ID.toBase58();return Object.keys(o).map(i=>{let r=o[i],[c,a]=[r.baseMint.toBase58(),r.quoteMint.toBase58()];e[i]={id:i,version:4,status:r.status.toNumber(),programId:r.programId.toBase58(),mintA:xe({address:c,programId:t,decimals:r.baseDecimal.toNumber()}),mintB:xe({address:a,programId:t,decimals:r.quoteDecimal.toNumber()}),rewardDefaultInfos:[],rewardDefaultPoolInfos:"Ecosystem",price:r.poolPrice.toNumber(),mintAmountA:new wt.default(r.mintAAmount.toString()).div(10**r.baseDecimal.toNumber()).toNumber(),mintAmountB:new wt.default(r.mintBAmount.toString()).div(10**r.quoteDecimal.toNumber()).toNumber(),baseReserve:r.baseReserve,quoteReserve:r.quoteReserve,feeRate:new wt.default(r.tradeFeeNumerator.toString()).div(r.tradeFeeDenominator.toString()).toNumber(),openTime:r.poolOpenTime.toString(),tvl:0,day:$n,week:$n,month:$n,pooltype:[],farmUpcomingCount:0,farmOngoingCount:0,farmFinishedCount:0,type:"Standard",marketId:r.marketId.toBase58(),configId:nn({programId:r.programId}).toBase58(),lpPrice:0,lpAmount:new wt.default(r.lpReserve.toString()).div(10**Math.min(r.baseDecimal.toNumber(),r.quoteDecimal.toNumber())).toNumber(),lpMint:xe({address:r.lpMint.toBase58(),programId:t,decimals:Math.min(r.baseDecimal.toNumber(),r.quoteDecimal.toNumber())}),burnPercent:0,feeOn:"Both",hasDynamicFee:!1,tips:[],launchMigratePool:!1}}),e};0&&(module.exports={DataElement,LIQUIDITY_FEES_DENOMINATOR,LIQUIDITY_FEES_NUMERATOR,LIQUIDITY_VERSION_TO_SERUM_VERSION,LIQUIDITY_VERSION_TO_STATE_LAYOUT,StableLayout,addLiquidityLayout,createPoolFeeLayout,createPoolV4InstructionV2,createPoolV4Layout,fixedSwapInLayout,fixedSwapOutLayout,formatLayout,getAssociatedConfigId,getAssociatedOpenOrders,getAssociatedPoolKeys,getDxByDyBaseIn,getDyByDxBaseIn,getLiquidityAssociatedAuthority,getLiquidityAssociatedId,getStablePrice,initPoolLayout,liquidityStateV4Layout,liquidityStateV5Layout,makeAMMSwapInstruction,makeAMMSwapV2Instruction,makeAddLiquidityInstruction,makeInitPoolInstructionV4,makeSwapFixedInInstruction,makeSwapFixedOutInstruction,modelDataInfoLayout,poolLpAuthority,removeLiquidityInstruction,removeLiquidityLayout,simulatePoolInfoInstruction,swapBaseInV2Instruction,swapBaseOutV2Instruction,toAmmComputePoolInfo});
//# sourceMappingURL=index.js.map