@raydium-io/raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
1 lines • 72.3 kB
JavaScript
var so=Object.defineProperty,uo=Object.defineProperties;var co=Object.getOwnPropertyDescriptors;var tt=Object.getOwnPropertySymbols;var tn=Object.prototype.hasOwnProperty,nn=Object.prototype.propertyIsEnumerable;var en=(i,t,n)=>t in i?so(i,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):i[t]=n,R=(i,t)=>{for(var n in t||(t={}))tn.call(t,n)&&en(i,n,t[n]);if(tt)for(var n of tt(t))nn.call(t,n)&&en(i,n,t[n]);return i},D=(i,t)=>uo(i,co(t));var ue=(i,t)=>{var n={};for(var r in i)tn.call(i,r)&&t.indexOf(r)<0&&(n[r]=i[r]);if(i!=null&&tt)for(var r of tt(i))t.indexOf(r)<0&&nn.call(i,r)&&(n[r]=i[r]);return n};import{get as on,set as lo}from"lodash";var ht=class{constructor(t){this.logLevel=t.logLevel!==void 0?t.logLevel:0,this.name=t.name}set level(t){this.logLevel=t}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(t){return t<=this.logLevel}error(...t){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...t),this):this}logWithError(...t){let n=t.map(r=>typeof r=="object"?JSON.stringify(r):r).join(", ");throw new Error(n)}warning(...t){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...t),this):this}info(...t){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...t),this):this}debug(...t){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...t),this):this}},rn={},mo={};function _(i){let t=on(rn,i);if(!t){let n=on(mo,i);t=new ht({name:i,logLevel:n}),lo(rn,i,t)}return t}import{PublicKey as Ve,sendAndConfirmTransaction as jt,SystemProgram as ca,Transaction as je,TransactionMessage as $e,VersionedTransaction as Je}from"@solana/web3.js";import la from"axios";import{PublicKey as Yt,AddressLookupTableAccount as ve}from"@solana/web3.js";import{PublicKey as ua}from"@solana/web3.js";import Te from"bn.js";import HK from"decimal.js";import wo from"big.js";import Ca from"bn.js";import po from"toformat";var fo=po,Ee=fo;import ot from"big.js";import bo from"bn.js";import go from"decimal.js-light";import De from"bn.js";var an=9007199254740991;function ne(i){let t=_("Raydium_parseBigNumberish");if(i instanceof De)return i;if(typeof i=="string"){if(i.match(/^-?[0-9]+$/))return new De(i);t.logWithError(`invalid BigNumberish string: ${i}`)}return typeof i=="number"?(i%1&&t.logWithError(`BigNumberish number underflow: ${i}`),(i>=an||i<=-an)&&t.logWithError(`BigNumberish number overflow: ${i}`),new De(String(i))):typeof i=="bigint"?new De(i.toString()):(t.error(`invalid BigNumberish value: ${i}`),new De(0))}var nt=_("module/fraction"),It=Ee(ot),We=Ee(go),Po={[0]:We.ROUND_DOWN,[1]:We.ROUND_HALF_UP,[2]:We.ROUND_UP},Ao={[0]:ot.roundDown,[1]:ot.roundHalfUp,[2]:ot.roundUp},U=class{constructor(t,n=new bo(1)){this.numerator=ne(t),this.denominator=ne(n)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new U(this.denominator,this.numerator)}add(t){let n=t instanceof U?t:new U(ne(t));return this.denominator.eq(n.denominator)?new U(this.numerator.add(n.numerator),this.denominator):new U(this.numerator.mul(n.denominator).add(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}sub(t){let n=t instanceof U?t:new U(ne(t));return this.denominator.eq(n.denominator)?new U(this.numerator.sub(n.numerator),this.denominator):new U(this.numerator.mul(n.denominator).sub(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}mul(t){let n=t instanceof U?t:new U(ne(t));return new U(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(t){let n=t instanceof U?t:new U(ne(t));return new U(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(t,n={groupSeparator:""},r=1){Number.isInteger(t)||nt.logWithError(`${t} is not an integer.`),t<=0&&nt.logWithError(`${t} is not positive.`),We.set({precision:t+1,rounding:Po[r]});let u=new We(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(t);return u.toFormat(u.decimalPlaces(),n)}toFixed(t,n={groupSeparator:""},r=1){return Number.isInteger(t)||nt.logWithError(`${t} is not an integer.`),t<0&&nt.logWithError(`${t} is negative.`),It.DP=t,It.RM=Ao[r]||1,new It(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,n)}isZero(){return this.numerator.isZero()}};var _a=_("Raydium_amount"),Ea=Ee(wo);import{PublicKey as To}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as sn}from"@solana/spl-token";var it={chainId:101,address:To.default.toBase58(),programId:sn.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},ce={chainId:101,address:"So11111111111111111111111111111111111111112",programId:sn.toBase58(),decimals:9,symbol:"WSOL",name:"Wrapped SOL",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}};import{PublicKey as St}from"@solana/web3.js";import{PublicKey as z,SystemProgram as un,SYSVAR_RENT_PUBKEY as ho}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Io}from"@solana/spl-token";function Ie({pubkey:i,isSigner:t=!1,isWritable:n=!0}){return{pubkey:i,isWritable:n,isSigner:t}}var Bo=[Ie({pubkey:Io,isWritable:!1}),Ie({pubkey:un.programId,isWritable:!1}),Ie({pubkey:ho,isWritable:!1})];function cn({publicKey:i,transformSol:t}){let n=ln(i.toString());if(n instanceof z)return t&&n.equals(Pe)?fe:n;if(t&&n.toString()===Pe.toBase58())return fe;if(typeof n=="string"){if(n===z.default.toBase58())return z.default;try{return new z(n)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function ln(i){try{return new z(i)}catch{return i}}var Bt=new z("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),qe=new z("SysvarRent111111111111111111111111111111111"),Ya=new z("SysvarC1ock11111111111111111111111111111111"),rt=new z("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),So=new z("Sysvar1nstructions1111111111111111111111111"),xo=un.programId,Qa=new z("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Za=new z("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Ha=new z("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),ja=new z("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),$a=new z("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Ja=new z("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),es=new z("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),ts=new z("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),ns=new z("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),os=new z("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),is=new z("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),fe=new z("So11111111111111111111111111111111111111112"),Pe=z.default;var xt=class{constructor({mint:t,decimals:n,symbol:r,name:u,skipMint:d=!1,isToken2022:y=!1}){if(t===Pe.toBase58()||t instanceof St&&Pe.equals(t)){this.decimals=ce.decimals,this.symbol=ce.symbol,this.name=ce.name,this.mint=new St(ce.address),this.isToken2022=!1;return}this.decimals=n,this.symbol=r||t.toString().substring(0,6),this.name=u||t.toString().substring(0,6),this.mint=d?St.default:cn({publicKey:t}),this.isToken2022=y}equals(t){return this===t?!0:this.mint.equals(t.mint)}},J=xt;J.WSOL=new xt(D(R({},ce),{mint:ce.address}));var Kt=class{constructor({decimals:t,symbol:n="UNKNOWN",name:r="UNKNOWN"}){this.decimals=t,this.symbol=n,this.name=r}equals(t){return this===t}},at=Kt;at.SOL=new Kt(it);import Ko from"bn.js";var bs=new U(new Ko(100));var Ts=_("Raydium_price");import{merge as $x}from"lodash";import Ls from"axios";var mn={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"},Co=D(R({},mn),{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 eu=_("Raydium_Api");import{PublicKey as Uc,SystemProgram as Gc}from"@solana/web3.js";import{AccountLayout as Zc,createAssociatedTokenAccountIdempotentInstruction as Hc,TOKEN_PROGRAM_ID as jc,TOKEN_2022_PROGRAM_ID as $c}from"@solana/spl-token";import{PublicKey as wc,SystemProgram as Tc}from"@solana/web3.js";import Bc from"bn.js";import{createCloseAccountInstruction as Cc,createInitializeAccountInstruction as Rc,createTransferInstruction as Lc,TOKEN_PROGRAM_ID as Oc}from"@solana/spl-token";var Q={CreateAccount:"CreateAccount",InitAccount:"InitAccount",CreateATA:"CreateATA",CloseAccount:"CloseAccount",TransferAmount:"TransferAmount",InitMint:"InitMint",MintTo:"MintTo",InitMarket:"InitMarket",Util1216OwnerClaim:"Util1216OwnerClaim",SetComputeUnitPrice:"SetComputeUnitPrice",SetComputeUnitLimit:"SetComputeUnitLimit",ClmmCreatePool:"ClmmCreatePool",ClmmOpenPosition:"ClmmOpenPosition",ClmmIncreasePosition:"ClmmIncreasePosition",ClmmDecreasePosition:"ClmmDecreasePosition",ClmmClosePosition:"ClmmClosePosition",ClmmSwapBaseIn:"ClmmSwapBaseIn",ClmmSwapBaseOut:"ClmmSwapBaseOut",ClmmInitReward:"ClmmInitReward",ClmmSetReward:"ClmmSetReward",ClmmCollectReward:"ClmmCollectReward",ClmmLockPosition:"ClmmLockPosition",ClmmHarvestLockPosition:"ClmmHarvestLockPosition",AmmV4Swap:"AmmV4Swap",AmmV4AddLiquidity:"AmmV4AddLiquidity",AmmV4RemoveLiquidity:"AmmV4RemoveLiquidity",AmmV4SimulatePoolInfo:"AmmV4SimulatePoolInfo",AmmV4SwapBaseIn:"AmmV4SwapBaseIn",AmmV4SwapBaseOut:"AmmV4SwapBaseOut",AmmV4CreatePool:"AmmV4CreatePool",AmmV4InitPool:"AmmV4InitPool",AmmV5AddLiquidity:"AmmV5AddLiquidity",AmmV5RemoveLiquidity:"AmmV5RemoveLiquidity",AmmV5SimulatePoolInfo:"AmmV5SimulatePoolInfo",AmmV5SwapBaseIn:"AmmV5SwapBaseIn",AmmV5SwapBaseOut:"AmmV5SwapBaseOut",RouteSwap:"RouteSwap",RouteSwap1:"RouteSwap1",RouteSwap2:"RouteSwap2",FarmV3Deposit:"FarmV3Deposit",FarmV3Withdraw:"FarmV3Withdraw",FarmV3CreateLedger:"FarmV3CreateLedger",FarmV4Withdraw:"FarmV4Withdraw",FarmV5Deposit:"FarmV5Deposit",FarmV5Withdraw:"FarmV5Withdraw",FarmV5CreateLedger:"FarmV5CreateLedger",FarmV6Deposit:"FarmV6Deposit",FarmV6Withdraw:"FarmV6Withdraw",FarmV6Create:"FarmV6Create",FarmV6Restart:"FarmV6Restart",FarmV6CreatorAddReward:"FarmV6CreatorAddReward",FarmV6CreatorWithdraw:"FarmV6CreatorWithdraw",CpmmCreatePool:"CpmmCreatePool",CpmmAddLiquidity:"CpmmAddLiquidity",CpmmWithdrawLiquidity:"CpmmWithdrawLiquidity",CpmmSwapBaseIn:"CpmmSwapBaseIn",CpmmSwapBaseOut:"CpmmSwapBaseOut",CpmmLockLp:"CpmmLockLp",CpmmCollectLockFee:"CpmmCollectLockFee",TransferTip:"TransferTip"};import{Keypair as sc,PublicKey as uc}from"@solana/web3.js";import mc from"bn.js";import{TOKEN_PROGRAM_ID as fc}from"@solana/spl-token";import{PublicKey as Wo}from"@solana/web3.js";import bn,{isBN as gn}from"bn.js";import{bits as Ro,BitStructure as du,blob as Lo,Blob as pu,cstr as fu,f32 as yu,f32be as bu,f64 as gu,f64be as Pu,greedy as Au,Layout as Oo,ns64 as wu,ns64be as ku,nu64 as Tu,nu64be as hu,offset as No,s16 as Iu,s16be as Bu,s24 as Su,s24be as xu,s32 as Mo,s32be as Ku,s40 as Cu,s40be as Ru,s48 as Lu,s48be as Ou,s8 as Nu,seq as Fo,struct as Mu,Structure as vo,u16 as Vo,u16be as Fu,u24 as vu,u24be as Vu,u32 as _o,u32be as _u,u40 as Eu,u40be as Du,u48 as Wu,u48be as qu,u8 as Eo,UInt as Do,union as Uu,Union as Gu,unionLayoutDiscriminator as zu,utf8 as Xu}from"@solana/buffer-layout";var st=Oo,dn=vo;var Ct=Do;var pn=Eo,Z=Vo;var ut=_o;var ae=Mo;var fn=Fo;var N=Lo;var Rt=Ro,yn=No;var Ae=class extends st{constructor(n,r,u){super(n,u);this.blob=N(n),this.signed=r}decode(n,r=0){let u=new bn(this.blob.decode(n,r),10,"le");return this.signed?u.fromTwos(this.span*8).clone():u}encode(n,r,u=0){return typeof n=="number"&&(n=new bn(n)),this.signed&&(n=n.toTwos(this.span*8)),this.blob.encode(n.toArrayLike(Buffer,"le",this.span),r,u)}},ct=class extends st{constructor(n){super(8,n);this._lower=Rt(ut(),!1),this._upper=Rt(ut(),!1)}addBoolean(n){this._lower.fields.length<32?this._lower.addBoolean(n):this._upper.addBoolean(n)}decode(n,r=0){let u=this._lower.decode(n,r),d=this._upper.decode(n,r+this._lower.span);return R(R({},u),d)}encode(n,r,u=0){return this._lower.encode(n,r,u)+this._upper.encode(n,r,u+this._lower.span)}};function c(i){return new Ct(1,i)}function X(i){return new Ct(4,i)}function e(i){return new Ae(8,!1,i)}function L(i){return new Ae(16,!1,i)}function Pn(i){return new Ae(1,!0,i)}function Be(i){return new Ae(8,!0,i)}function An(i){return new Ae(16,!0,i)}var Ge=class extends st{constructor(n,r,u,d){super(n.span,d);this.layout=n,this.decoder=r,this.encoder=u}decode(n,r){return this.decoder(this.layout.decode(n,r))}encode(n,r,u){return this.layout.encode(this.encoder(n),r,u)}getSpan(n,r){return this.layout.getSpan(n,r)}};function o(i){return new Ge(N(32),t=>new Wo(t),t=>t.toBuffer(),i)}function re(i){return new Ge(pn(),qo,Uo,i)}function qo(i){if(i===0)return!1;if(i===1)return!0;throw new Error("Invalid bool: "+i)}function Uo(i){return i?1:0}function wn(i,t){let n=ut("length"),r=l([n,m(i,yn(n,-n.span),"values")]);return new Ge(r,({values:u})=>u,u=>({values:u}),t)}var Lt=class extends dn{decode(t,n){return super.decode(t,n)}};function l(i,t,n){return new Lt(i,t,n)}function m(i,t,n){let r,u=typeof t=="number"?t:gn(t)?t.toNumber():new Proxy(t,{get(d,y){if(!r){let f=Reflect.get(d,"count");r=gn(f)?f.toNumber():f,Reflect.set(d,"count",r)}return Reflect.get(d,y)},set(d,y,f){return y==="count"&&(r=f),Reflect.set(d,y,f)}});return fn(i,u,n)}var lt=l([o("mint"),o("owner"),e("amount"),X("delegateOption"),o("delegate"),c("state"),X("isNativeOption"),e("isNative"),e("delegatedAmount"),X("closeAuthorityOption"),o("closeAuthority")]);import{PublicKey as Jb,SystemProgram as eg}from"@solana/web3.js";import{createAssociatedTokenAccountIdempotentInstruction as ng}from"@solana/spl-token";import{PublicKey as yl}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as gl}from"@solana/spl-token";import{ComputeBudgetProgram as Tn,Keypair as In,PublicKey as zo,Transaction as Bn,TransactionMessage as Xo,VersionedTransaction as Sn}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Yo}from"@solana/spl-token";var hn=_("Raydium_txUtil"),xn=1644;function dt(i){let t=[],n=[];return i.microLamports&&(t.push(Tn.setComputeUnitPrice({microLamports:i.microLamports})),n.push(Q.SetComputeUnitPrice)),i.units&&(t.push(Tn.setComputeUnitLimit({units:i.units})),n.push(Q.SetComputeUnitLimit)),{instructions:t,instructionTypes:n}}async function Se(i,t){var r,u;let n=t!=null?t:"confirmed";return(u=await((r=i.getLatestBlockhash)==null?void 0:r.call(i,{commitment:n})))==null?void 0:u.blockhash}async function pt(i,t){return i.getSignatureStatuses([t]),new Promise((n,r)=>{let u=setTimeout(r,6e4);i.onSignature(t,d=>{if(clearTimeout(u),!d.err){n("");return}r(Object.assign(d.err,{txId:t}))},"confirmed")})}function Ot(i,t){i.length<1&&hn.logWithError(`no instructions provided: ${i.toString()}`),t.length<1&&hn.logWithError(`no signers provided:, ${t.toString()}`);let n=new Bn;n.recentBlockhash="11111111111111111111111111111111",n.feePayer=t[0],n.add(...i);try{return Buffer.from(n.serialize({verifySignatures:!1})).toString("base64").length<xn}catch{return!1}}function me(i,t){let[n,r]=zo.findProgramAddressSync(i,t);return{publicKey:n,nonce:r}}function ze({instructions:i,payer:t,signers:n}){return Ot(i,[t,...n])}function Xe({instructions:i,payer:t,lookupTableAddressAccount:n,recentBlockhash:r=In.generate().publicKey.toString()}){let d=new Xo({payerKey:t,recentBlockhash:r,instructions:i}).compileToV0Message(Object.values(n!=null?n:{}));try{return Buffer.from(new Sn(d).serialize()).toString("base64").length<xn}catch{return!1}}var Qo=i=>Buffer.isBuffer(i)?i:i instanceof Uint8Array?Buffer.from(i.buffer,i.byteOffset,i.byteLength):Buffer.from(i),Zo=i=>{let t=i.serialize({requireAllSignatures:!1,verifySignatures:!1});i instanceof Sn&&(t=Qo(t));try{return t instanceof Buffer?t.toString("base64"):Buffer.from(t).toString("base64")}catch{return t.toString("base64")}};function we(i){let t=[];return i.forEach(n=>{n instanceof Bn&&(n.recentBlockhash||(n.recentBlockhash=Yo.toBase58()),n.feePayer||(n.feePayer=In.generate().publicKey)),t.push(Zo(n))}),console.log("simulate tx string:",t),t}import{PublicKey as k}from"@solana/web3.js";var Kn=new k("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),Cn=new k("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),Rn=new k("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Nt=new k("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),kl=new k("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Ho=new k("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),Ln=new k("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),On=new k("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),Tl=new k("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),jo=new k("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Nn=new k("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),$o=new k("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Jo=new k("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),Mn=new k("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),hl=new k("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),ei=new k("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Mt=new k("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),ti=new k("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),Il=new k("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),ni=new k("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),oi=new k("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),ii=new k("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),Bl=new k("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),Sl=new k("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),xl=new k("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),Kl=new k("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),Cl=new k("6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX");var be={OPEN_BOOK_PROGRAM:new k("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),SERUM_PROGRAM_ID_V3:new k("Ray1111111111111111111111111111111111111111"),AMM_V4:new k("DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav"),AMM_STABLE:new k("DRayDdXc1NZQ9C3hRWmoSf8zK4iapgMnjdNZWrfwsP8m"),CLMM_PROGRAM_ID:new k("DRayAUgENGQBKVaX8owNhgzkEDyoHTGVEGHVJT1E9pfH"),CLMM_LOCK_PROGRAM_ID:new k("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),CLMM_LOCK_AUTH_ID:new k("6Aoh8h2Lw2m5UGxYR8AdAL87jTWYeKoxM52mJRzfYwN"),CREATE_CPMM_POOL_PROGRAM:new k("DRaycpLY18LhpbydsBWbVJtxpNv9oXPgjRSfpF2bWpYb"),CREATE_CPMM_POOL_AUTH:new k("CXniRufdq5xL8t8jZAPxsPZDpuudwuJSPWnbcD5Y5Nxq"),CREATE_CPMM_POOL_FEE_ACC:new k("3oE58BKVt8KuYkGxx8zBojugnymWmBiyafWgMrnb6eYy"),LOCK_CPMM_PROGRAM:new k("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),LOCK_CPMM_AUTH:new k("7qWVV8UY2bRJfDLP4s37YzBPKUkVB46DStYJBpYbQzu3"),UTIL1216:k.default,Router:new k("DRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd"),FARM_PROGRAM_ID_V3:new k("DRayWyrLmEW5KEeqs8kdTMMaBabapqagaBC7KWpGtJeZ"),FARM_PROGRAM_ID_V4:new k("Ray1111111111111111111111111111111111111111"),FARM_PROGRAM_ID_V5:new k("DRayiCGSZgku1GTK6rXD6mVDdingXy6APAH1R6R5L2LC"),FARM_PROGRAM_ID_V6:new k("DRayzbYakXs45ELHkzH6vC3fuhQqTAnv5A68gdFuvZyZ"),LAUNCHPAD_PROGRAM:new k("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),LAUNCHPAD_AUTH:new k("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),LAUNCHPAD_PLATFORM:new k("2Jx4KTDrVSdWNazuGpcA8n3ZLTRGGBDxAWhuKe2Xcj2a"),LAUNCHPAD_CONFIG:new k("7ZR4zD7PYfY2XxoG1Gxcy2EgEeGYrpxrwzPuwdUBssEt"),FEE_DESTINATION_ID:new k("9y8ENuuZ3b19quffx9hQvRVygG5ky6snHfRvGpuSfeJy"),MODEL_DATA_PUBKEY:new k("Ray1111111111111111111111111111111111111111")};import dg from"decimal.js";import{createAssociatedTokenAccountIdempotentInstruction as Rf,TOKEN_2022_PROGRAM_ID as Lf,TOKEN_PROGRAM_ID as Of}from"@solana/spl-token";import{PublicKey as Mf}from"@solana/web3.js";import vf from"bn.js";import _f from"decimal.js";import{TOKEN_PROGRAM_ID as Ul}from"@solana/spl-token";import{PublicKey as Yl}from"@solana/web3.js";var ri=l([X("mintAuthorityOption"),o("mintAuthority"),e("supply"),c("decimals"),c("isInitialized"),X("freezeAuthorityOption"),o("freezeAuthority")]);import{ASSOCIATED_TOKEN_PROGRAM_ID as jp,TOKEN_2022_PROGRAM_ID as $p,TOKEN_PROGRAM_ID as Jp}from"@solana/spl-token";import{Keypair as nf,PublicKey as of,SystemProgram as af,TransactionInstruction as sf}from"@solana/web3.js";import cf from"bn.js";import E from"bn.js";var Ke=new E(1).shln(64);var ai=new E(1).shln(128),Ft=new E(1).shln(64).subn(1),si=new E(1).shln(128).subn(1);var Ce=new E("4295048016"),Re=new E("79226673521066979257578248091"),ui=new E("59543866431248"),ci=new E("184467440737095516"),li=new E("15793534762490258745");var vt=60,rm=new E("18446743708227953217"),mi=[{bit:0,factor:new E("fffcb933bd6fb800",16)},{bit:1,factor:new E("fff97272373d4000",16)},{bit:2,factor:new E("fff2e50f5f657000",16)},{bit:3,factor:new E("ffe5caca7e10f000",16)},{bit:4,factor:new E("ffcb9843d60f7000",16)},{bit:5,factor:new E("ff973b41fa98e800",16)},{bit:6,factor:new E("ff2ea16466c9b000",16)},{bit:7,factor:new E("fe5dee046a9a3800",16)},{bit:8,factor:new E("fcbe86c7900bb000",16)},{bit:9,factor:new E("f987a7253ac65800",16)},{bit:10,factor:new E("f3392b0822bb6000",16)},{bit:11,factor:new E("e7159475a2caf000",16)},{bit:12,factor:new E("d097f3bdfd2f2000",16)},{bit:13,factor:new E("a9f746462d9f8000",16)},{bit:14,factor:new E("70d869a156f31c00",16)},{bit:15,factor:new E("31be135f97ed3200",16)},{bit:16,factor:new E("9aa508b5b85a500",16)},{bit:17,factor:new E("5d6af8dedc582c",16)},{bit:18,factor:new E("2216e584f5fa",16)}];var Ye=3,Fn=100;var vn=10,Vn=100,ft=14;var H=new E(0),Le=new E(1),am=new E(-1);var sm=new E("18446744073700000000");var di=l([N(8),c("bump"),Z("index"),o("owner"),X("protocolFeeRate"),X("tradeFeeRate"),Z("tickSpacing"),X("fundFeeRate"),m(X(),1),o("fundOwner"),m(e(),3)]),pi=l([X("blockTimestamp"),Be("tickCumulative"),m(e(),4)]),_n=l([N(8),re("initialized"),e("recentEpoch"),Z("observationIndex"),o("poolId"),m(pi,Fn,"observations"),m(e(),4)]),fi=l([Z("filterPeriod"),Z("decayPeriod"),Z("reductionFactor"),X("dynamicFeeControl"),X("maxVolatilityAccumulator"),ae("tickSpacingIndexReference"),X("volatilityReference"),X("volatilityAccumulator"),e("lastUpdateTimestamp"),m(c(),46)]),yi=l([c("state"),e("openTime"),e("endTime"),e("lastUpdateTime"),L("emissionsPerSecondX64"),e("totalEmissioned"),e("claimed"),o("mint"),o("vault"),o("creator"),L("growthGlobalX64")]),Vt=l([N(8),c("bump"),o("configId"),o("creator"),o("mintA"),o("mintB"),o("vaultA"),o("vaultB"),o("observationId"),c("mintDecimalsA"),c("mintDecimalsB"),Z("tickSpacing"),L("liquidity"),L("sqrtPriceX64"),ae("tickCurrent"),X(),L("feeGrowthGlobalX64A"),L("feeGrowthGlobalX64B"),e("protocolFeesTokenA"),e("protocolFeesTokenB"),m(L(),4),c("status"),c("feeOn"),N(6),m(yi,Ye,"rewardInfos"),N(8*16,"tickArrayBitmap"),m(e(),4),e("fundFeesTokenA"),e("fundFeesTokenB"),e("startTime"),e("recentEpoch"),fi.replicate("dynamicFeeInfo"),m(e(),46)]),bi=l([L("growthInsideLastX64"),e("rewardAmountOwed")]),gi=l([N(8),c("bump"),o("nftMint"),o("poolId"),ae("tickLower"),ae("tickUpper"),L("liquidity"),L("feeGrowthInsideLastX64A"),L("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),m(bi,Ye,"rewardInfos"),e("recentEpoch"),m(e(),7)]),mm=l([N(8),c("bump"),o("poolId"),ae("tickLower"),ae("tickUpper"),L("liquidity"),L("feeGrowthInsideLastX64A"),L("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),m(L(),Ye,"rewardGrowthInside"),e("recentEpoch"),m(e(),7)]),Pi=l([ae("tick"),An("liquidityNet"),L("liquidityGross"),L("feeGrowthOutsideX64A"),L("feeGrowthOutsideX64B"),m(L(),Ye,"rewardGrowthsOutsideX64"),e("orderPhase"),e("ordersAmount"),e("partFilledOrdersRemaining"),L("unfilledRatioX64"),m(X(),3)]),En=l([N(8),o("poolId"),ae("startTickIndex"),m(Pi,vt,"ticks"),c("initializedTickCount"),e("recentEpoch"),m(c(),107)]),Ai=l([N(8),c("bump"),m(o(),vn,"operationOwners"),m(o(),Vn,"whitelistMints")]),wi=l([N(8),o("poolId"),o("owner"),ae("tick"),re("zeroForOne"),e("orderPhase"),e("totalAmount"),e("filledAmount"),e("settleBase"),e("settleOutput"),e("openTime"),L("unfilledRatioX64"),m(e(),4)]),Dn=l([N(8),o("poolId"),N(8*8*ft,"positiveTickArrayBitmap"),N(8*8*ft,"negativeTickArrayBitmap")]),dm=l([N(8),Z("index"),Z("filterPeriod"),Z("decayPeriod"),Z("reductionFactor"),X("dynamicFeeControl"),X("maxVolatilityAccumulator"),m(e(),8)]),ki=l([N(8),o("wallet"),c("nonceIndex"),e("orderNonce"),m(e(),4)]),pm=l([e(),c("bump"),o("owner"),o("poolId"),o("positionId"),o("nftAccount"),m(e(),8)]),Ti=l([N(8),c("bump"),o("lockOwner"),o("poolId"),o("positionId"),o("nftAccount"),o("lockNftMint"),e("recentEpoch"),m(e(),8)]);import bm from"bn.js";var xm=Buffer.from("amm_config","utf8"),hi=Buffer.from("pool","utf8"),Ii=Buffer.from("pool_vault","utf8"),Km=Buffer.from("pool_reward_vault","utf8"),Cm=Buffer.from("position","utf8"),Rm=Buffer.from("tick_array","utf8"),Lm=Buffer.from("operation","utf8"),Om=Buffer.from("pool_tick_array_bitmap_extension","utf8"),Nm=Buffer.from("observation","utf8"),Mm=Buffer.from("support_mint","utf8"),Fm=Buffer.from("dynamic_fee_config","utf8");var vm=Buffer.from("locked_position","utf8");import{sha256 as Ei}from"js-sha256";import Bi from"bn.js";import Dm from"decimal.js";var qm=new Bi(1).shln(256).subn(1);import ad from"bn.js";import Zm from"bn.js";import jm from"decimal.js";import md from"bn.js";import pd from"decimal.js";import{PublicKey as Jd}from"@solana/web3.js";import tp from"bn.js";import{TOKEN_2022_PROGRAM_ID as cp,TOKEN_PROGRAM_ID as lp}from"@solana/spl-token";import fp from"decimal.js";import qd from"bn.js";import Cd from"bn.js";import Bp from"bn.js";function $(i){let t=`global:${i}`;return Buffer.from(Ei.digest(t)).slice(0,8)}_n.span;var gf=_("Raydium_Clmm"),Pf={createPool:$("create_pool"),createCustomizablePool:$("create_customizable_pool"),openPositionV2:$("open_position_v2"),openPositionWithToken22Nft:$("open_position_with_token22_nft"),closePosition:$("close_position"),increaseLiquidityV2:$("increase_liquidity_v2"),decreaseLiquidityV2:$("decrease_liquidity_v2"),initializeReward:$("initialize_reward"),setRewardParams:$("set_reward_params"),updateRewardInfos:$("update_reward_infos"),collectRemainingRewards:$("collect_remaining_rewards"),swapV2:$("swap_v2"),openLimitOrder:$("open_limit_order"),increaseLimitOrder:$("increase_limit_order"),decreaseLimitOrder:$("decrease_limit_order"),settleLimitOrder:$("settle_limit_order"),closeLimitOrder:$("close_limit_order")};import{PublicKey as Wt}from"@solana/web3.js";var Gi=l([c("instruction")]),zi=l([c("instruction")]),Xi=l([e("rewardState"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardLastUpdateTime"),e("totalReward"),e("totalRewardEmissioned"),e("rewardClaimed"),e("rewardPerSecond"),L("accRewardPerShare"),o("rewardVault"),o("rewardMint"),o("rewardSender"),e("rewardType"),m(e(),15,"padding")]),Yi=l([e("state"),e("nonce"),o("lpVault"),o("rewardVault"),o(),o(),e(),e(),e("totalReward"),L("perShareReward"),e("lastSlot"),e("perSlotReward")]),Qi=l([e("state"),e("nonce"),o("lpVault"),o("rewardVaultA"),e("totalRewardA"),L("perShareRewardA"),e("perSlotRewardA"),c("option"),o("rewardVaultB"),N(7),e("totalRewardB"),L("perShareRewardB"),e("perSlotRewardB"),e("lastSlot"),o()]),Zi=l([e(),e("state"),e("nonce"),e("validRewardTokenNum"),L("rewardMultiplier"),e("rewardPeriodMax"),e("rewardPeriodMin"),e("rewardPeriodExtend"),o("lpMint"),o("lpVault"),m(Xi,5,"rewardInfos"),o("creator"),o(),m(e(),32,"padding")]),Hi=new Proxy(Yi,{get(i,t,n){return t==="decode"?(...r)=>{let u=i.decode(...r);return D(R({},u),{version:3,rewardInfos:[{rewardVault:u.rewardVault,totalReward:u.totalReward,perSlotReward:u.perSlotReward,perShareReward:u.perShareReward}]})}:Reflect.get(i,t,n)}}),ji=new Proxy(Qi,{get(i,t,n){return t==="decode"?(...r)=>{let u=i.decode(...r);return D(R({},u),{version:5,rewardInfos:[{rewardVault:u.rewardVaultA,totalReward:u.totalRewardA,perSlotReward:u.perSlotRewardA,perShareReward:u.perShareRewardA},{rewardVault:u.rewardVaultB,totalReward:u.totalRewardB,perSlotReward:u.perSlotRewardB,perShareReward:u.perShareRewardB}]})}:Reflect.get(i,t,n)}}),Xn=new Proxy(Zi,{get(i,t,n){return t==="decode"?(...r)=>{let u=i.decode(...r);return D(R({},u),{version:6,rewardInfos:u.rewardInfos.map(d=>{var y;return D(R({},d),{rewardType:((y=Object.entries(He).find(f=>String(f[1])===d.rewardType.toString()))!=null?y:["Standard SPL"])[0]})})})}:Reflect.get(i,t,n)}}),$i=l([e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),Ji=l([c("instruction"),e("nonce"),m($i,5,"rewardTimeInfo")]),er=l([c("instruction"),e("rewardReopenTime"),e("rewardEndTime"),e("rewardPerSecond")]),tr=l([c("instruction"),e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),gy=l([e("state"),o("id"),o("owner"),e("deposited"),m(e(),1,"rewardDebts")]),Yn=l([e("state"),o("id"),o("owner"),e("deposited"),m(L(),1,"rewardDebts"),e(""),e("voteLockedBalance"),m(e(),15)]),Py=l([e("state"),o("id"),o("owner"),e("deposited"),m(e(),2,"rewardDebts")]),nr=l([e("state"),o("id"),o("owner"),e("deposited"),m(L(),2,"rewardDebts"),m(e(),17)]),or=l([e(),e("state"),o("id"),o("owner"),e("deposited"),m(L(),5,"rewardDebts"),m(e(),16)]),ir=l([c("instruction"),e("amount")]),rr=l([o("mint"),o("grantAuthority"),e("baselineVoteWeightScaledFactor"),e("maxExtraLockupVoteWeightScaledFactor"),e("lockupSaturationSecs"),Pn("digitShift"),m(c(),7,"reserved1"),m(e(),7,"reserved2")]),ar=l([N(8),o("governanceProgramId"),o("realm"),o("realmGoverningTokenMint"),o("realmAuthority"),m(c(),32,"reserved1"),m(rr,4,"votingMints"),Be("timeOffset"),c("bump"),m(c(),7,"reserved2"),m(e(),11,"reserved3")]),sr=l([Be("startTime"),Be("endTime"),c("kind"),m(c(),15,"reserved")]),ur=l([m(sr,1,"lockup"),e("amountDeposited_native"),e("amountInitiallyLockedNative"),re("isUsed"),re("allowClawback"),c("votingMintConfigIdx"),m(c(),29,"reserved")]),cr=l([N(8),o("voterAuthority"),o("registrar"),m(ur,32,"deposits"),c("voterBump"),c("voterWweightRecordBump"),m(c(),94,"reserved")]);import{NATIVE_MINT as xy}from"@solana/spl-token";var Ky=_("Raydium_farm_config"),lr=new Wt("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),mr=new Wt("FrspKwj8i3pNmKwXreTveC4fu7KL5ZbGeXdZBe2XViu1");var Cy=new Wt("3TRTX4dXUpp2eqxi3tvQDFYUV7SdDJjcPE3Y4mbtftaX");var He={"Standard SPL":0,"Option tokens":1},Qn={[Kn.toString()]:3,[Cn.toString()]:4,[Rn.toString()]:5,[Nt.toString()]:6,[be.FARM_PROGRAM_ID_V3.toString()]:3,[be.FARM_PROGRAM_ID_V4.toString()]:4,[be.FARM_PROGRAM_ID_V5.toString()]:5,[be.FARM_PROGRAM_ID_V6.toString()]:6};import{PublicKey as fb,SystemProgram as yb,SYSVAR_CLOCK_PUBKEY as bb,SYSVAR_RENT_PUBKEY as gb,TransactionInstruction as Pb}from"@solana/web3.js";import wb from"bn.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as Tb,createAssociatedTokenAccountIdempotentInstruction as hb,TOKEN_PROGRAM_ID as Ib}from"@solana/spl-token";import Gy from"bn.js";import{PublicKey as Fy}from"@solana/web3.js";import Vy from"bn.js";var ob=_("Raydium.farm.util");var Fb=_("Raydium_farm_instruction"),vb={voterStakeRegistryCreateVoter:Buffer.from([6,24,245,52,243,255,148,25]),voterStakeRegistryCreateDepositEntry:Buffer.from([185,131,167,186,159,125,19,67]),voterStakeRegistryDeposit:Buffer.from([242,35,198,137,82,225,242,182]),voterStakeRegistryWithdraw:Buffer.from([183,18,70,156,148,109,161,34]),voterStakeRegistryUpdateVoterWeightRecord:Buffer.from([45,185,3,36,109,190,115,169])};import hg from"bn.js";import{PublicKey as LA}from"@solana/web3.js";import{AccountLayout as MA,MintLayout as FA,NATIVE_MINT as vA,TOKEN_PROGRAM_ID as _A}from"@solana/spl-token";import Sg from"bn.js";import Hn from"bn.js";var Ar=new Hn(25),wr=new Hn(1e4);import{ASSOCIATED_TOKEN_PROGRAM_ID as Qg,TOKEN_PROGRAM_ID as Zg}from"@solana/spl-token";import{PublicKey as jg,SystemProgram as $g,SYSVAR_RENT_PUBKEY as Jg,TransactionInstruction as eP}from"@solana/web3.js";import uP from"bn.js";var kr=l([c("instruction"),e("amountIn"),e("minAmountOut")]),Tr=l([c("instruction"),e("maxAmountIn"),e("amountOut")]),Gg=l([c("instruction"),c("nonce")]),hr=l([c("instruction"),c("nonce"),e("startTime")]),jn=l([e("status"),e("nonce"),e("maxOrder"),e("depth"),e("baseDecimal"),e("quoteDecimal"),e("state"),e("resetFlag"),e("minSize"),e("volMaxCutRatio"),e("amountWaveRatio"),e("baseLotSize"),e("quoteLotSize"),e("minPriceMultiplier"),e("maxPriceMultiplier"),e("systemDecimalValue"),e("minSeparateNumerator"),e("minSeparateDenominator"),e("tradeFeeNumerator"),e("tradeFeeDenominator"),e("pnlNumerator"),e("pnlDenominator"),e("swapFeeNumerator"),e("swapFeeDenominator"),e("baseNeedTakePnl"),e("quoteNeedTakePnl"),e("quoteTotalPnl"),e("baseTotalPnl"),e("poolOpenTime"),e("punishPcAmount"),e("punishCoinAmount"),e("orderbookToInitTime"),L("swapBaseInAmount"),L("swapQuoteOutAmount"),e("swapBase2QuoteFee"),L("swapQuoteInAmount"),L("swapBaseOutAmount"),e("swapQuote2BaseFee"),o("baseVault"),o("quoteVault"),o("baseMint"),o("quoteMint"),o("lpMint"),o("openOrders"),o("marketId"),o("marketProgramId"),o("targetOrders"),o("withdrawQueue"),o("lpVault"),o("owner"),e("lpReserve"),m(e(),3,"padding")]),zg=l([e("accountType"),e("status"),e("nonce"),e("maxOrder"),e("depth"),e("baseDecimal"),e("quoteDecimal"),e("state"),e("resetFlag"),e("minSize"),e("volMaxCutRatio"),e("amountWaveRatio"),e("baseLotSize"),e("quoteLotSize"),e("minPriceMultiplier"),e("maxPriceMultiplier"),e("systemDecimalsValue"),e("abortTradeFactor"),e("priceTickMultiplier"),e("priceTick"),e("minSeparateNumerator"),e("minSeparateDenominator"),e("tradeFeeNumerator"),e("tradeFeeDenominator"),e("pnlNumerator"),e("pnlDenominator"),e("swapFeeNumerator"),e("swapFeeDenominator"),e("baseNeedTakePnl"),e("quoteNeedTakePnl"),e("quoteTotalPnl"),e("baseTotalPnl"),e("poolOpenTime"),e("punishPcAmount"),e("punishCoinAmount"),e("orderbookToInitTime"),L("swapBaseInAmount"),L("swapQuoteOutAmount"),L("swapQuoteInAmount"),L("swapBaseOutAmount"),e("swapQuote2BaseFee"),e("swapBase2QuoteFee"),o("baseVault"),o("quoteVault"),o("baseMint"),o("quoteMint"),o("lpMint"),o("modelDataAccount"),o("openOrders"),o("marketId"),o("marketProgramId"),o("targetOrders"),o("owner"),m(e(),64,"padding")]),Ir=l([c("instruction"),e("baseAmountIn"),e("quoteAmountIn"),e("fixedSide"),e("otherAmountMin")]),Br=l([c("instruction"),e("lpAmount"),e("baseAmountMin"),e("quoteAmountMin")]);var Sr=l([e("fee")]);var mP=_("Raydium_liquidity_instruction");var xr=5e4,Kr=l([e("x"),e("y"),e("price")]),yP=l([e("accountType"),e("status"),e("multiplier"),e("validDataCount"),m(Kr,xr,"DataElement")]);import{PublicKey as xP}from"@solana/web3.js";import CP from"decimal.js";import{TOKEN_PROGRAM_ID as LP}from"@solana/spl-token";import{PublicKey as AP}from"@solana/web3.js";var TP=_("Raydium_liquidity_serum");import iw from"bn.js";import aw from"decimal.js";import{TOKEN_PROGRAM_ID as iA}from"@solana/spl-token";import{PublicKey as aA}from"@solana/web3.js";import uA from"bn.js";import{SystemProgram as zP,SYSVAR_RENT_PUBKEY as XP,Transaction as YP,TransactionInstruction as QP}from"@solana/web3.js";import{createInitializeAccountInstruction as HP,TOKEN_PROGRAM_ID as jP}from"@solana/spl-token";function Cr(i="accountFlags"){let t=new ct(i);return t.addBoolean("initialized"),t.addBoolean("market"),t.addBoolean("openOrders"),t.addBoolean("requestQueue"),t.addBoolean("eventQueue"),t.addBoolean("bids"),t.addBoolean("asks"),t}var Rr=l([N(5),Cr("accountFlags"),o("ownAddress"),e("vaultSignerNonce"),o("baseMint"),o("quoteMint"),o("baseVault"),e("baseDepositsTotal"),e("baseFeesAccrued"),o("quoteVault"),e("quoteDepositsTotal"),e("quoteFeesAccrued"),e("quoteDustThreshold"),o("requestQueue"),o("eventQueue"),o("bids"),o("asks"),e("baseLotSize"),e("quoteLotSize"),e("feeRateBps"),e("referrerRebatesAccrued"),N(7)]);import{PublicKey as Rk}from"@solana/web3.js";import{AccountLayout as Ok,NATIVE_MINT as Nk,TOKEN_2022_PROGRAM_ID as Mk,TOKEN_PROGRAM_ID as Fk,createAssociatedTokenAccountIdempotentInstruction as vk}from"@solana/spl-token";import Rw from"bn.js";import Vr from"bn.js";var bw=new Vr(0);import Tw from"bn.js";import _r from"bn.js";var gt=new _r(1e6);import Gk from"bn.js";import Xk from"decimal.js";import{PublicKey as Qw,TransactionInstruction as Zw,Keypair as jw,SystemProgram as $w}from"@solana/web3.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as ek,TOKEN_2022_PROGRAM_ID as tk,TOKEN_PROGRAM_ID as nk}from"@solana/spl-token";var Fw=Buffer.from("vault_and_lp_mint_auth_seed","utf8"),vw=Buffer.from("amm_config","utf8"),Vw=Buffer.from("pool","utf8"),_w=Buffer.from("pool_lp_mint","utf8"),Ew=Buffer.from("pool_vault","utf8"),Dw=Buffer.from("observation","utf8"),Ww=Buffer.from("permission","utf8"),qw=Buffer.from("support_mint","utf8");var Uw=Buffer.from("locked_liquidity","utf8");var ck=_("Raydium_cpmm"),lk={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])};var Wr=l([N(8),c("bump"),re("disableCreatePool"),Z("index"),e("tradeFeeRate"),e("protocolFeeRate"),e("fundFeeRate"),e("createPoolFee"),o("protocolOwner"),o("fundOwner"),e("creatorFeeRate"),m(e(),15)]),$n=l([N(8),o("configId"),o("poolCreator"),o("vaultA"),o("vaultB"),o("mintLp"),o("mintA"),o("mintB"),o("mintProgramA"),o("mintProgramB"),o("observationId"),c("bump"),c("status"),c("lpDecimals"),c("mintDecimalA"),c("mintDecimalB"),e("lpAmount"),e("protocolFeesMintA"),e("protocolFeesMintB"),e("fundFeesMintA"),e("fundFeesMintB"),e("openTime"),e("epoch"),c("feeOn"),re("enableCreatorFee"),m(c(),6),e("creatorFeesMintA"),e("creatorFeesMintB"),m(e(),28)]),pk=l([N(8),o("configId"),m(e(),30)]);import{PublicKey as IS,SystemProgram as BS}from"@solana/web3.js";import{createTransferInstruction as xS,TOKEN_PROGRAM_ID as KS,TOKEN_2022_PROGRAM_ID as CS,createAssociatedTokenAccountIdempotentInstruction as RS,createSyncNativeInstruction as OS,createTransferCheckedInstruction as NS}from"@solana/spl-token";import ia from"bn.js";import vS from"decimal.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as nh,TOKEN_2022_PROGRAM_ID as oh,TOKEN_PROGRAM_ID as ih}from"@solana/spl-token";import{SystemProgram as uh,TransactionInstruction as ch}from"@solana/web3.js";import Qr from"bn.js";var Gr=l([e(),e("epoch"),c("curveType"),Z("index"),e("migrateFee"),e("tradeFeeRate"),e("maxShareFeeRate"),e("minSupplyA"),e("maxLockRate"),e("minSellRateA"),e("minMigrateRateA"),e("minFundRaisingB"),o("mintB"),o("protocolFeeOwner"),o("migrateFeeOwner"),o("migrateToAmmWallet"),o("migrateToCpmmWallet"),m(e(),16)]),zr=l([e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod"),e("startTime"),e("totalAllocatedShare")]),Xr=l([e(),e("epoch"),c("bump"),c("status"),c("mintDecimalsA"),c("mintDecimalsB"),c("migrateType"),e("supply"),e("totalSellA"),e("virtualA"),e("virtualB"),e("realA"),e("realB"),e("totalFundRaisingB"),e("protocolFee"),e("platformFee"),e("migrateFee"),zr.replicate("vestingSchedule"),o("configId"),o("platformId"),o("mintA"),o("mintB"),o("vaultA"),o("vaultB"),o("creator"),c("mintProgramFlag"),c("cpmmCreatorFeeOn"),e("platformVestingShare"),m(c(),54)]),VT=l([e(),e("epoch"),o("poolId"),o("beneficiary"),e("claimedAmount"),e("tokenShareAmount"),m(e(),8)]),eo=l([c("migrateType"),c("migrateCpmmFeeOn"),e("supply"),e("totalSellA"),e("totalFundRaisingB"),e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod")]),Yr=l([e("epoch"),c("index"),o("configId"),eo.replicate("bondingCurveParam"),m(e(),50)]),to=l([e(),e("epoch"),o("platformClaimFeeWallet"),o("platformLockNftWallet"),e("platformScale"),e("creatorScale"),e("burnScale"),e("feeRate"),m(c(),64,"name"),m(c(),256,"web"),m(c(),256,"img"),o("cpConfigId"),e("creatorFeeRate"),o("transferFeeExtensionAuth"),o("platformVestingWallet"),e("platformVestingScale"),o("platformCpCreator"),m(c(),108),wn(Yr,"platformCurve")]);var UT=Buffer.from("vault_auth_seed","utf8"),GT=Buffer.from("global_config","utf8"),zT=Buffer.from("pool_vesting","utf8"),XT=Buffer.from("platform_config","utf8"),YT=Buffer.from("platform_fee_vault_auth_seed","utf8"),QT=Buffer.from("creator_fee_vault_auth_seed","utf8"),ZT=Buffer.from("platform_global_access","utf8");var ph={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])};var fh=new Qr("18446744073709551615");import Ah from"bn.js";import kh from"decimal.js";import Jh from"bn.js";import tI from"decimal.js";import xh from"bn.js";import Ch from"decimal.js";import Eh from"bn.js";import Wh from"decimal.js";import io from"bn.js";import Ut from"decimal.js";var wt=class{static _multipler(t){return new Ut(10).pow(t)}static getPrice({priceX64:t,decimalA:n,decimalB:r}){return new Ut(t.toString()).div(this._Q64).mul(this._multipler(n)).div(this._multipler(r))}static getPriceX64({price:t,decimalA:n,decimalB:r}){let u=t.mul(this._multipler(r)).div(this._multipler(n));return new io(u.mul(this._Q64).toFixed(0))}};wt._Q64=new Ut(new io(1).shln(64).toString());import{NATIVE_MINT as oB,TOKEN_2022_PROGRAM_ID as iB,TOKEN_PROGRAM_ID as rB,createAssociatedTokenAccountIdempotentInstruction as sB,createSyncNativeInstruction as uB,getTransferFeeConfig as cB,unpackMint as lB}from"@solana/spl-token";import Y from"bn.js";import{PublicKey as ta,SystemProgram as pB}from"@solana/web3.js";import AB from"decimal.js";var wB={initPriceX64:new Y("515752397214619"),supply:new Y(1e15),totalSellA:new Y(7931e11),totalFundRaisingB:new Y(85e9),totalFundRaisingBUSD:new Y(125e8),totalLockedAmount:new Y("0"),cliffPeriod:new Y("0"),unlockPeriod:new Y("0"),decimals:6,virtualA:new Y("1073471847374405"),virtualB:new Y("30050573465"),realA:new Y(0),realB:new Y(0),protocolFee:new Y(0),platformId:new ta("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),vestingSchedule:{totalLockedAmount:new Y(0),cliffPeriod:new Y(0),unlockPeriod:new Y(0),startTime:new Y(0),totalAllocatedShare:new Y(0)}},kB=new Y(1e4);var na={[Ln.toBase58()]:3};var oa=l([N(5),N(8),o("ownAddress"),e("vaultSignerNonce"),o("baseMint"),o("quoteMint"),o("baseVault"),e("baseDepositsTotal"),e("baseFeesAccrued"),o("quoteVault"),e("quoteDepositsTotal"),e("quoteFeesAccrued"),e("quoteDustThreshold"),o("requestQueue"),o("eventQueue"),o("bids"),o("asks"),e("baseLotSize"),e("quoteLotSize"),e("feeRateBps"),e("referrerRebatesAccrued"),N(7)]);import{PublicKey as UB}from"@solana/web3.js";var QB=_("Serum");import{ASSOCIATED_TOKEN_PROGRAM_ID as oS,TOKEN_2022_PROGRAM_ID as iS,TOKEN_PROGRAM_ID as rS}from"@solana/spl-token";import{PublicKey as sS,SystemProgram as uS,TransactionInstruction as cS}from"@solana/web3.js";import mS from"bn.js";var dx=new ia(0);import{PublicKey as ra,Transaction as Gt,TransactionInstruction as aa}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as sa}from"@solana/spl-token";import ro from"bn.js";var ee=class extends oe{static getPdaPoolId(t,n){return me([ee.SEED_CONFIG.pool.id,n.toBuffer()],t)}static getPdaOwnerId(t,n,r,u){return me([ee.SEED_CONFIG.owner.id,n.toBuffer(),r.toBuffer(),Buffer.from(new ro(u).toArray())],t)}static async getAllInfo({connection:t,programId:n,poolIds:r,wallet:u,chainTime:d}){if(r.length===0)return[];let y=r.map(b=>ee.getPdaPoolId(n,b).publicKey),f=[];for(let b=0;b<ee.VERSION_PROJECT.length;b++)f.push(...y.map(O=>ee.getPdaOwnerId(n,O,u,b).publicKey));let g=await ye(t,[...y,...f]),x=[];for(let b=0;b<g.length;b++){let O=Math.floor(b/r.length),K=b%r.length,B=y[K],M=f[b],P=g[K],T=g[r.length+b];if(!(P&&T)||P.data.length!==ee.POOL_LAYOUT.span||T.data.length!==ee.OWNER_LAYOUT.span)continue;let I=ee.POOL_LAYOUT.decode(P.data),h=ee.OWNER_LAYOUT.decode(T.data),F=I.openTime.toNumber(),v=I.endTime.toNumber(),p=h.tokenInfo.map(S=>S.debtAmount.gt(new ro(0))).filter(S=>!S).length!==3,A=d>F&&d<v&&I.status===1,w=p&&A;x.push({programId:n,poolId:B,ammId:I.ammId,ownerAccountId:M,snapshotLpAmount:h.lpAmount,project:ee.VERSION_PROJECT[O],openTime:F,endTime:v,canClaim:w,canClaimErrorType:p?A?void 0:"outOfOperationalTime":"alreadyClaimIt",tokenInfo:I.tokenInfo.map((S,C)=>({mintAddress:S.mintAddress,mintVault:S.mintVault,mintDecimals:S.mintDecimals,perLpLoss:S.perLpLoss,debtAmount:h.tokenInfo[C].debtAmount.add(h.tokenInfo[C].claimedAmount)}))})}return x}async makeClaimTransaction({poolInfo:t,ownerInfo:n,feePayer:r}){n.wallet||this.scope.checkOwner();let u=this.createTxBuilder(r),d=n.wallet||this.scope.ownerPubKey,y=[];for(let x of t.tokenInfo){let{account:b,instructionParams:O}=await this.scope.account.getOrCreateTokenAccount({mint:x.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:x.mintAddress.equals(J.WSOL.mint),createInfo:{payer:d,amount:0},skipCloseAccount:!x.mintAddress.equals(J.WSOL.mint),associatedOnly:x.mintAddress.equals(J.WSOL.mint)?!1:n.associatedOnly});O&&u.addInstruction(O),y.push(b)}u.addInstruction({instructions:[ee.makeClaimInstruction({programId:t.programId,poolInfo:t,ownerInfo:{wallet:d,ownerPda:t.ownerAccountId,claimAddress:y}})]});let{transaction:f,signers:g}=u.build();return[{transaction:f,signer:g}]}async makeClaimAllTransaction({poolInfos:t,ownerInfo:n,feePayer:r}){let u=this.createTxBuilder(r),d=n.wallet||this.scope.ownerPubKey,y={};for(let b of t){let O=[];for(let K of b.tokenInfo){let{account:B,instructionParams:M}=await this.scope.account.getOrCreateTokenAccount({mint:K.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:K.mintAddress.equals(J.WSOL.mint),createInfo:{payer:d,amount:0},skipCloseAccount:!K.mintAddress.equals(J.WSOL.mint),associatedOnly:K.mintAddress.equals(J.WSOL.mint)?!1:n.associatedOnly});M&&u.addInstruction(M),B&&(y[K.mintAddress.toString()]=B,O.push(B))}u.addInstruction({instructions:[ee.makeClaimInstruction({programId:b.programId,poolInfo:b,ownerInfo:{wallet:d,ownerPda:b.ownerAccountId,claimAddress:O}})]})}let{transaction:f,signers:g}=u.build(),x=u.allInstructions;return Ot(x,[d,...g.map(b=>b.publicKey)])?[{transaction:f,signer:g}]:[{transaction:new Gt().add(...x.slice(0,u.AllTxData.instructions.length-1)),signer:g},{transaction:new Gt().add(...x.slice(u.AllTxData.instructions.length-1)),signer:[]},{transaction:new Gt().add(...u.AllTxData.endInstructions),signer:[]}]}static makeClaimInstruction({programId:t,poolInfo:n,ownerInfo:r}){let u=l([]),d=[{pubkey:r.wallet,isSigner:!0,isWritable:!0},{pubkey:n.poolId,isSigner:!1,isWritable:!0},{pubkey:r.ownerPda,isSigner:!1,isWritable:!0},...r.claimAddress.map(g=>({pubkey:g,isSigner:!1,isWritable:!0})),...n.tokenInfo.map(({mintVault:g})=>({pubkey:g,isSigner:!1,isWritable:!0})),{pubkey:sa,isSigner:!1,isWritable:!1}],y=Buffer.alloc(u.span);u.encode({},y);let f=Buffer.from([10,66,208,184,161,6,191,98,...y]);return new aa({keys:d,programId:t,data:f})}},se=ee;se.CLAIMED_NUM=3,se.POOL_LAYOUT=l([N(8),c("bump"),c("status"),e("openTime"),e("endTime"),o("ammId"),m(l([c("mintDecimals"),o("mintAddress"),o("mintVault"),e("perLpLoss"),e("totalClaimedAmount")]),ee.CLAIMED_NUM,"tokenInfo"),m(e(),10,"padding")]),se.OWNER_LAYOUT=l([N(8),c("bump"),c("version"),o("poolId"),o("owner"),e("lpAmount"),m(l([o("mintAddress"),e("debtAmount"),e("claimedAmount")]),ee.CLAIMED_NUM,"tokenInfo"),m(e(),4,"padding")]),se.DEFAULT_POOL_ID=["58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2","6UmmUiYoBjSrhakAobJw8BvkmJtDVxaeBtbt7rxWo1mg","A