UNPKG

@raydium-io/raydium-sdk-v2

Version:

An SDK for building applications on top of Raydium.

1 lines 72.4 kB
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 la,Transaction as je,TransactionMessage as $e,VersionedTransaction as Je}from"@solana/web3.js";import ma from"axios";import{PublicKey as Yt,AddressLookupTableAccount as ve}from"@solana/web3.js";import{PublicKey as ca}from"@solana/web3.js";import Te from"bn.js";import JK from"decimal.js";import wo from"big.js";import Ra 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 Ea=_("Raydium_amount"),Da=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"),Qa=new z("SysvarC1ock11111111111111111111111111111111"),rt=new z("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),So=new z("Sysvar1nstructions1111111111111111111111111"),xo=un.programId,Za=new z("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Ha=new z("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),ja=new z("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),$a=new z("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Ja=new z("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),es=new z("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),ts=new z("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),ns=new z("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),os=new z("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),is=new z("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),rs=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 gs=new U(new Ko(100));var hs=_("Raydium_price");import{merge as tK}from"lodash";import Os 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 tu=_("Raydium_Api");import{PublicKey as Gc,SystemProgram as zc}from"@solana/web3.js";import{AccountLayout as Hc,createAssociatedTokenAccountIdempotentInstruction as jc,TOKEN_PROGRAM_ID as $c,TOKEN_2022_PROGRAM_ID as Jc}from"@solana/spl-token";import{PublicKey as kc,SystemProgram as hc}from"@solana/web3.js";import Sc from"bn.js";import{createCloseAccountInstruction as Rc,createInitializeAccountInstruction as Lc,createTransferInstruction as Oc,TOKEN_PROGRAM_ID as Nc}from"@solana/spl-token";var Z={CreateAccount:"CreateAccount",InitAccount:"InitAccount",CreateATA:"CreateATA",CloseAccount:"CloseAccount",TransferAmount:"TransferAmount",InitMint:"InitMint",MintTo:"MintTo",InitMarket:"InitMarket",Util1216OwnerClaim:"Util1216OwnerClaim",SetComputeUnitPrice:"SetComputeUnitPrice",SetComputeUnitLimit:"SetComputeUnitLimit",ClmmCreatePool:"ClmmCreatePool",ClmmOpenPosition:"ClmmOpenPosition",ClmmIncreasePosition:"ClmmIncreasePosition",ClmmDecreasePosition:"ClmmDecreasePosition",ClmmClosePosition:"ClmmClosePosition",ClmmSwapBaseIn:"ClmmSwapBaseIn",ClmmSwapBaseOut:"ClmmSwapBaseOut",ClmmInitReward:"ClmmInitReward",ClmmSetReward:"ClmmSetReward",ClmmCollectReward:"ClmmCollectReward",ClmmLockPosition:"ClmmLockPosition",ClmmHarvestLockPosition:"ClmmHarvestLockPosition",AmmV4Swap:"AmmV4Swap",AmmV4AddLiquidity:"AmmV4AddLiquidity",AmmV4RemoveLiquidity:"AmmV4RemoveLiquidity",AmmV4SimulatePoolInfo:"AmmV4SimulatePoolInfo",AmmV4SwapBaseIn:"AmmV4SwapBaseIn",AmmV4SwapBaseOut:"AmmV4SwapBaseOut",AmmV4CreatePool:"AmmV4CreatePool",AmmV4InitPool:"AmmV4InitPool",AmmV5AddLiquidity:"AmmV5AddLiquidity",AmmV5RemoveLiquidity:"AmmV5RemoveLiquidity",AmmV5SimulatePoolInfo:"AmmV5SimulatePoolInfo",AmmV5SwapBaseIn:"AmmV5SwapBaseIn",AmmV5SwapBaseOut:"AmmV5SwapBaseOut",RouteSwap:"RouteSwap",RouteSwap1:"RouteSwap1",RouteSwap2:"RouteSwap2",FarmV3Deposit:"FarmV3Deposit",FarmV3Withdraw:"FarmV3Withdraw",FarmV3CreateLedger:"FarmV3CreateLedger",FarmV4Withdraw:"FarmV4Withdraw",FarmV5Deposit:"FarmV5Deposit",FarmV5Withdraw:"FarmV5Withdraw",FarmV5CreateLedger:"FarmV5CreateLedger",FarmV6Deposit:"FarmV6Deposit",FarmV6Withdraw:"FarmV6Withdraw",FarmV6Create:"FarmV6Create",FarmV6Restart:"FarmV6Restart",FarmV6CreatorAddReward:"FarmV6CreatorAddReward",FarmV6CreatorWithdraw:"FarmV6CreatorWithdraw",CpmmCreatePool:"CpmmCreatePool",CpmmAddLiquidity:"CpmmAddLiquidity",CpmmWithdrawLiquidity:"CpmmWithdrawLiquidity",CpmmSwapBaseIn:"CpmmSwapBaseIn",CpmmSwapBaseOut:"CpmmSwapBaseOut",CpmmLockLp:"CpmmLockLp",CpmmCollectLockFee:"CpmmCollectLockFee",TransferTip:"TransferTip"};import{Keypair as uc,PublicKey as cc}from"@solana/web3.js";import dc from"bn.js";import{TOKEN_PROGRAM_ID as yc}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 pu,blob as Lo,Blob as fu,cstr as yu,f32 as bu,f32be as gu,f64 as Pu,f64be as Au,greedy as wu,Layout as Oo,ns64 as ku,ns64be as Tu,nu64 as hu,nu64be as Iu,offset as No,s16 as Bu,s16be as Su,s24 as xu,s24be as Ku,s32 as Mo,s32be as Cu,s40 as Ru,s40be as Lu,s48 as Ou,s48be as Nu,s8 as Mu,seq as Fo,struct as Fu,Structure as vo,u16 as Vo,u16be as vu,u24 as Vu,u24be as _u,u32 as _o,u32be as Eu,u40 as Du,u40be as Wu,u48 as qu,u48be as Uu,u8 as Eo,UInt as Do,union as Gu,Union as zu,unionLayoutDiscriminator as Xu,utf8 as Yu}from"@solana/buffer-layout";var st=Oo,dn=vo;var Ct=Do;var pn=Eo,Y=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 og,SystemProgram as ig}from"@solana/web3.js";import{createAssociatedTokenAccountIdempotentInstruction as ag}from"@solana/spl-token";import{PublicKey as bl}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Pl}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(Z.SetComputeUnitPrice)),i.units&&(t.push(Tn.setComputeUnitLimit({units:i.units})),n.push(Z.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"),Tl=new k("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Ho=new k("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),Ln=new k("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),On=new k("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),hl=new k("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),jo=new k("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Nn=new k("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),$o=new k("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Jo=new k("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),Mn=new k("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Il=new k("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),ei=new k("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Mt=new k("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),ti=new k("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),Bl=new k("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),ni=new k("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),oi=new k("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),ii=new k("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),Sl=new k("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),xl=new k("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),Kl=new k("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),Cl=new k("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),Rl=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 bg from"decimal.js";import{createAssociatedTokenAccountIdempotentInstruction as Mf,TOKEN_2022_PROGRAM_ID as Ff,TOKEN_PROGRAM_ID as vf}from"@solana/spl-token";import{PublicKey as _f}from"@solana/web3.js";import Df from"bn.js";import qf from"decimal.js";import{TOKEN_PROGRAM_ID as Gl}from"@solana/spl-token";import{PublicKey as Ql}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 tf,TOKEN_2022_PROGRAM_ID as nf,TOKEN_PROGRAM_ID as of}from"@solana/spl-token";import{Keypair as sf,PublicKey as uf,SystemProgram as lf,TransactionInstruction as mf}from"@solana/web3.js";import pf 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,am=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),sm=new E(-1);var um=new E("18446744073700000000");var di=l([N(8),c("bump"),Y("index"),o("owner"),X("protocolFeeRate"),X("tradeFeeRate"),Y("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"),Y("observationIndex"),o("poolId"),m(pi,Fn,"observations"),m(e(),4)]),fi=l([Y("filterPeriod"),Y("decayPeriod"),Y("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"),Y("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)]),dm=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")]),pm=l([N(8),Y("index"),Y("filterPeriod"),Y("decayPeriod"),Y("reductionFactor"),X("dynamicFeeControl"),X("maxVolatilityAccumulator"),m(e(),8)]),ki=l([N(8),o("wallet"),c("nonceIndex"),e("orderNonce"),m(e(),4)]),fm=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 gm from"bn.js";var Km=Buffer.from("amm_config","utf8"),Ii=Buffer.from("pool","utf8"),Bi=Buffer.from("pool_vault","utf8"),Cm=Buffer.from("pool_reward_vault","utf8"),Rm=Buffer.from("position","utf8"),Lm=Buffer.from("tick_array","utf8"),Om=Buffer.from("operation","utf8"),Nm=Buffer.from("pool_tick_array_bitmap_extension","utf8"),Mm=Buffer.from("observation","utf8"),Fm=Buffer.from("support_mint","utf8"),vm=Buffer.from("dynamic_fee_config","utf8"),Vm=Buffer.from("permission","utf8");var _m=Buffer.from("locked_position","utf8");import{sha256 as Di}from"js-sha256";import Si from"bn.js";import qm from"decimal.js";var Gm=new Si(1).shln(256).subn(1);import ud from"bn.js";import jm from"bn.js";import Jm from"decimal.js";import pd from"bn.js";import yd from"decimal.js";import{PublicKey as tp}from"@solana/web3.js";import op from"bn.js";import{TOKEN_2022_PROGRAM_ID as mp,TOKEN_PROGRAM_ID as dp}from"@solana/spl-token";import bp from"decimal.js";import Gd from"bn.js";import Ld from"bn.js";import xp from"bn.js";function j(i){let t=`global:${i}`;return Buffer.from(Di.digest(t)).slice(0,8)}_n.span;var kf=_("Raydium_Clmm"),Tf={createPool:j("create_pool"),createCustomizablePool:j("create_customizable_pool"),createPermissionedPool:j("create_permissioned_pool"),openPositionV2:j("open_position_v2"),openPositionWithToken22Nft:j("open_position_with_token22_nft"),closePosition:j("close_position"),increaseLiquidityV2:j("increase_liquidity_v2"),decreaseLiquidityV2:j("decrease_liquidity_v2"),initializeReward:j("initialize_reward"),setRewardParams:j("set_reward_params"),updateRewardInfos:j("update_reward_infos"),collectRemainingRewards:j("collect_remaining_rewards"),swapV2:j("swap_v2"),openLimitOrder:j("open_limit_order"),increaseLimitOrder:j("increase_limit_order"),decreaseLimitOrder:j("decrease_limit_order"),settleLimitOrder:j("settle_limit_order"),closeLimitOrder:j("close_limit_order")};import{PublicKey as Wt}from"@solana/web3.js";var zi=l([c("instruction")]),Xi=l([c("instruction")]),Yi=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")]),Qi=l([e("state"),e("nonce"),o("lpVault"),o("rewardVault"),o(),o(),e(),e(),e("totalReward"),L("perShareReward"),e("lastSlot"),e("perSlotReward")]),Zi=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()]),Hi=l([e(),e("state"),e("nonce"),e("validRewardTokenNum"),L("rewardMultiplier"),e("rewardPeriodMax"),e("rewardPeriodMin"),e("rewardPeriodExtend"),o("lpMint"),o("lpVault"),m(Yi,5,"rewardInfos"),o("creator"),o(),m(e(),32,"padding")]),ji=new Proxy(Qi,{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)}}),$i=new Proxy(Zi,{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(Hi,{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)}}),Ji=l([e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),er=l([c("instruction"),e("nonce"),m(Ji,5,"rewardTimeInfo")]),tr=l([c("instruction"),e("rewardReopenTime"),e("rewardEndTime"),e("rewardPerSecond")]),nr=l([c("instruction"),e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),ky=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)]),Ty=l([e("state"),o("id"),o("owner"),e("deposited"),m(e(),2,"rewardDebts")]),or=l([e("state"),o("id"),o("owner"),e("deposited"),m(L(),2,"rewardDebts"),m(e(),17)]),ir=l([e(),e("state"),o("id"),o("owner"),e("deposited"),m(L(),5,"rewardDebts"),m(e(),16)]),rr=l([c("instruction"),e("amount")]),ar=l([o("mint"),o("grantAuthority"),e("baselineVoteWeightScaledFactor"),e("maxExtraLockupVoteWeightScaledFactor"),e("lockupSaturationSecs"),Pn("digitShift"),m(c(),7,"reserved1"),m(e(),7,"reserved2")]),sr=l([N(8),o("governanceProgramId"),o("realm"),o("realmGoverningTokenMint"),o("realmAuthority"),m(c(),32,"reserved1"),m(ar,4,"votingMints"),Be("timeOffset"),c("bump"),m(c(),7,"reserved2"),m(e(),11,"reserved3")]),ur=l([Be("startTime"),Be("endTime"),c("kind"),m(c(),15,"reserved")]),cr=l([m(ur,1,"lockup"),e("amountDeposited_native"),e("amountInitiallyLockedNative"),re("isUsed"),re("allowClawback"),c("votingMintConfigIdx"),m(c(),29,"reserved")]),lr=l([N(8),o("voterAuthority"),o("registrar"),m(cr,32,"deposits"),c("voterBump"),c("voterWweightRecordBump"),m(c(),94,"reserved")]);import{NATIVE_MINT as Ly}from"@solana/spl-token";var Oy=_("Raydium_farm_config"),mr=new Wt("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),dr=new Wt("FrspKwj8i3pNmKwXreTveC4fu7KL5ZbGeXdZBe2XViu1");var Ny=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 Pb,SystemProgram as Ab,SYSVAR_CLOCK_PUBKEY as wb,SYSVAR_RENT_PUBKEY as kb,TransactionInstruction as Tb}from"@solana/web3.js";import Ib from"bn.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as Sb,createAssociatedTokenAccountIdempotentInstruction as xb,TOKEN_PROGRAM_ID as Kb}from"@solana/spl-token";import Qy from"bn.js";import{PublicKey as Ey}from"@solana/web3.js";import Wy from"bn.js";var sb=_("Raydium.farm.util");var Eb=_("Raydium_farm_instruction"),Db={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 xg from"bn.js";import{PublicKey as FA}from"@solana/web3.js";import{AccountLayout as _A,MintLayout as EA,NATIVE_MINT as DA,TOKEN_PROGRAM_ID as qA}from"@solana/spl-token";import Rg from"bn.js";import Hn from"bn.js";var wr=new Hn(25),kr=new Hn(1e4);import{ASSOCIATED_TOKEN_PROGRAM_ID as $g,TOKEN_PROGRAM_ID as Jg}from"@solana/spl-token";import{PublicKey as tP,SystemProgram as nP,SYSVAR_RENT_PUBKEY as oP,TransactionInstruction as iP}from"@solana/web3.js";import dP from"bn.js";var Tr=l([c("instruction"),e("amountIn"),e("minAmountOut")]),hr=l([c("instruction"),e("maxAmountIn"),e("amountOut")]),Qg=l([c("instruction"),c("nonce")]),Ir=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")]),Br=l([c("instruction"),e("baseAmountIn"),e("quoteAmountIn"),e("fixedSide"),e("otherAmountMin")]),Sr=l([c("instruction"),e("lpAmount"),e("baseAmountMin"),e("quoteAmountMin")]);var xr=l([e("fee")]);var yP=_("Raydium_liquidity_instruction");var Kr=5e4,Cr=l([e("x"),e("y"),e("price")]),AP=l([e("accountType"),e("status"),e("multiplier"),e("validDataCount"),m(Cr,Kr,"DataElement")]);import{PublicKey as LP}from"@solana/web3.js";import NP from"decimal.js";import{TOKEN_PROGRAM_ID as FP}from"@solana/spl-token";import{PublicKey as hP}from"@solana/web3.js";var SP=_("Raydium_liquidity_serum");import uw from"bn.js";import lw from"decimal.js";import{TOKEN_PROGRAM_ID as uA}from"@solana/spl-token";import{PublicKey as lA}from"@solana/web3.js";import dA from"bn.js";import{SystemProgram as ZP,SYSVAR_RENT_PUBKEY as HP,Transaction as jP,TransactionInstruction as $P}from"@solana/web3.js";import{createInitializeAccountInstruction as eA,TOKEN_PROGRAM_ID as tA}from"@solana/spl-token";function Rr(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 Lr=l([N(5),Rr("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 Mk}from"@solana/web3.js";import{AccountLayout as vk,NATIVE_MINT as Vk,TOKEN_2022_PROGRAM_ID as _k,TOKEN_PROGRAM_ID as Ek,createAssociatedTokenAccountIdempotentInstruction as Dk}from"@solana/spl-token";import Mw from"bn.js";import _r from"bn.js";var ww=new _r(0);import Sw from"bn.js";import Er from"bn.js";var gt=new Er(1e6);import Qk from"bn.js";import Hk from"decimal.js";import{PublicKey as $w,TransactionInstruction as Jw,Keypair as tk,SystemProgram as nk}from"@solana/web3.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as ik,TOKEN_2022_PROGRAM_ID as rk,TOKEN_PROGRAM_ID as ak}from"@solana/spl-token";var Ew=Buffer.from("vault_and_lp_mint_auth_seed","utf8"),Dw=Buffer.from("amm_config","utf8"),Ww=Buffer.from("pool","utf8"),qw=Buffer.from("pool_lp_mint","utf8"),Uw=Buffer.from("pool_vault","utf8"),Gw=Buffer.from("observation","utf8"),zw=Buffer.from("permission","utf8"),Xw=Buffer.from("support_mint","utf8");var Yw=Buffer.from("locked_liquidity","utf8");var pk=_("Raydium_cpmm"),fk={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 qr=l([N(8),c("bump"),re("disableCreatePool"),Y("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)]),gk=l([N(8),o("configId"),m(e(),30)]);import{PublicKey as xS,SystemProgram as KS}from"@solana/web3.js";import{createTransferInstruction as RS,TOKEN_PROGRAM_ID as LS,TOKEN_2022_PROGRAM_ID as OS,createAssociatedTokenAccountIdempotentInstruction as NS,createSyncNativeInstruction as FS,createTransferCheckedInstruction as vS}from"@solana/spl-token";import ra from"bn.js";import ES from"decimal.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as rh,TOKEN_2022_PROGRAM_ID as ah,TOKEN_PROGRAM_ID as sh}from"@solana/spl-token";import{SystemProgram as mh,TransactionInstruction as dh}from"@solana/web3.js";import Zr from"bn.js";var zr=l([e(),e("epoch"),c("curveType"),Y("index"),e("migrateFee"),e("tradeFeeRate"),e("maxShareFeeRate"),e("minSupplyA"),e("maxLockRate"),e("minSellRateA"),e("minMigrateRateA"),e("minFundRaisingB"),o("mintB"),o("protocolFeeOwner"),o("migrateFeeOwner"),o("migrateToAmmWallet"),o("migrateToCpmmWallet"),m(e(),16)]),Xr=l([e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod"),e("startTime"),e("totalAllocatedShare")]),Yr=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"),Xr.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)]),WT=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")]),Qr=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(Qr,"platformCurve")]);var XT=Buffer.from("vault_auth_seed","utf8"),YT=Buffer.from("global_config","utf8"),QT=Buffer.from("pool_vesting","utf8"),ZT=Buffer.from("platform_config","utf8"),HT=Buffer.from("platform_fee_vault_auth_seed","utf8"),jT=Buffer.from("creator_fee_vault_auth_seed","utf8"),$T=Buffer.from("platform_global_access","utf8");var bh={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 gh=new Zr("18446744073709551615");import Th from"bn.js";import Ih from"decimal.js";import nI from"bn.js";import iI from"decimal.js";import Rh from"bn.js";import Oh from"decimal.js";import qh from"bn.js";import Gh 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 aB,TOKEN_2022_PROGRAM_ID as sB,TOKEN_PROGRAM_ID as uB,createAssociatedTokenAccountIdempotentInstruction as lB,createSyncNativeInstruction as mB,getTransferFeeConfig as dB,unpackMint as pB}from"@solana/spl-token";import Q from"bn.js";import{PublicKey as na,SystemProgram as bB}from"@solana/web3.js";import TB from"decimal.js";var hB={initPriceX64:new Q("515752397214619"),supply:new Q(1e15),totalSellA:new Q(7931e11),totalFundRaisingB:new Q(85e9),totalFundRaisingBUSD:new Q(125e8),totalLockedAmount:new Q("0"),cliffPeriod:new Q("0"),unlockPeriod:new Q("0"),decimals:6,virtualA:new Q("1073471847374405"),virtualB:new Q("30050573465"),realA:new Q(0),realB:new Q(0),protocolFee:new Q(0),platformId:new na("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),vestingSchedule:{totalLockedAmount:new Q(0),cliffPeriod:new Q(0),unlockPeriod:new Q(0),startTime:new Q(0),totalAllocatedShare:new Q(0)}},IB=new Q(1e4);var oa={[Ln.toBase58()]:3};var ia=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 XB}from"@solana/web3.js";var jB=_("Serum");import{ASSOCIATED_TOKEN_PROGRAM_ID as aS,TOKEN_2022_PROGRAM_ID as sS,TOKEN_PROGRAM_ID as uS}from"@solana/spl-token";import{PublicKey as lS,SystemProgram as mS,TransactionInstruction as dS}from"@solana/web3.js";import fS from"bn.js";var yx=new ra(0);import{PublicKey as aa,Transaction as Gt,TransactionInstruction as sa}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ua}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:ua,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 sa({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=["58oQCh