@raydium-io/raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
1 lines • 72.4 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{PublicKey as Ve,sendAndConfirmTransaction as $t,SystemProgram as la,Transaction as je,TransactionMessage as $e,VersionedTransaction as Je}from"@solana/web3.js";import ma from"axios";import{PublicKey as Qt,AddressLookupTableAccount as ve}from"@solana/web3.js";import{PublicKey as ca}from"@solana/web3.js";import Te from"bn.js";import oC from"decimal.js";import wo from"big.js";import Ra from"bn.js";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 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 rK}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 Qc,SystemProgram as Zc}from"@solana/web3.js";import{AccountLayout as el,createAssociatedTokenAccountIdempotentInstruction as tl,TOKEN_PROGRAM_ID as nl,TOKEN_2022_PROGRAM_ID as ol}from"@solana/spl-token";var Ct=(...i)=>i.map(t=>{try{return typeof t=="object"?JSON.stringify(t):t}catch{return t}}).join(", "),oe=class{constructor({scope:t,moduleName:n}){this.disabled=!1;this.scope=t,this.logger=_(n)}createTxBuilder(t){return this.scope.checkOwner(),new st({connection:this.scope.connection,feePayer:t||this.scope.ownerPubKey,cluster:this.scope.cluster,owner:this.scope.owner,blockhashCommitment:this.scope.blockhashCommitment,loopMultiTxStatus:this.scope.loopMultiTxStatus,api:this.scope.api,signAllTransactions:this.scope.signAllTransactions})}logDebug(...t){this.logger.debug(Ct(t))}logInfo(...t){this.logger.info(Ct(t))}logAndCreateError(...t){let n=Ct(t);throw new Error(n)}checkDisabled(){(this.disabled||!this.scope)&&this.logAndCreateError("module not working")}};import{PublicKey as Bc,SystemProgram as xc}from"@solana/web3.js";import Rc from"bn.js";import{createCloseAccountInstruction as Mc,createInitializeAccountInstruction as Fc,createTransferInstruction as vc,TOKEN_PROGRAM_ID as Vc}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 dc,PublicKey as pc}from"@solana/web3.js";import bc from"bn.js";import{TOKEN_PROGRAM_ID as Ac}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 gu,blob as Lo,Blob as Pu,cstr as Au,f32 as wu,f32be as ku,f64 as Tu,f64be as hu,greedy as Iu,Layout as Oo,ns64 as Bu,ns64be as Su,nu64 as xu,nu64be as Ku,offset as No,s16 as Cu,s16be as Ru,s24 as Lu,s24be as Ou,s32 as Mo,s32be as Nu,s40 as Mu,s40be as Fu,s48 as vu,s48be as Vu,s8 as _u,seq as Fo,struct as Eu,Structure as vo,u16 as Vo,u16be as Du,u24 as Wu,u24be as qu,u32 as _o,u32be as Uu,u40 as Gu,u40be as zu,u48 as Xu,u48be as Yu,u8 as Eo,UInt as Do,union as Qu,Union as Zu,unionLayoutDiscriminator as Hu,utf8 as ju}from"@solana/buffer-layout";var ut=Oo,dn=vo;var Rt=Do;var pn=Eo,Y=Vo;var ct=_o;var ae=Mo;var fn=Fo;var N=Lo;var Lt=Ro,yn=No;var Ae=class extends ut{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)}},lt=class extends ut{constructor(n){super(8,n);this._lower=Lt(ct(),!1),this._upper=Lt(ct(),!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 Rt(1,i)}function X(i){return new Rt(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 ut{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=ct("length"),r=l([n,m(i,yn(n,-n.span),"values")]);return new Ge(r,({values:u})=>u,u=>({values:u}),t)}var Ot=class extends dn{decode(t,n){return super.decode(t,n)}};function l(i,t,n){return new Ot(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 mt=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 sg,SystemProgram as ug}from"@solana/web3.js";import{createAssociatedTokenAccountIdempotentInstruction as lg}from"@solana/spl-token";import{PublicKey as wl}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Tl}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 pt(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 ft(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 Nt(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 Nt(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"),Mt=new k("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),Sl=new k("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Ho=new k("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),Ln=new k("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),On=new k("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),xl=new k("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),jo=new k("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Nn=new k("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),$o=new k("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Jo=new k("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),Mn=new k("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Kl=new k("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),ei=new k("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Ft=new k("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),ti=new k("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),Cl=new k("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),ni=new k("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),oi=new k("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),ii=new k("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),Rl=new k("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),Ll=new k("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),Ol=new k("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),Nl=new k("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),Ml=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 wg from"decimal.js";import{createAssociatedTokenAccountIdempotentInstruction as _f,TOKEN_2022_PROGRAM_ID as Ef,TOKEN_PROGRAM_ID as Df}from"@solana/spl-token";import{PublicKey as qf}from"@solana/web3.js";import Gf from"bn.js";import Xf from"decimal.js";import{TOKEN_PROGRAM_ID as Ql}from"@solana/spl-token";import{PublicKey as $l}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 af,TOKEN_2022_PROGRAM_ID as sf,TOKEN_PROGRAM_ID as uf}from"@solana/spl-token";import{Keypair as mf,PublicKey as df,SystemProgram as ff,TransactionInstruction as yf}from"@solana/web3.js";import gf from"bn.js";import E from"bn.js";var Ke=new E(1).shln(64);var ai=new E(1).shln(128),vt=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,lm=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,yt=14;var H=new E(0),Le=new E(1),mm=new E(-1);var dm=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")]),_t=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)]),bm=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*yt,"positiveTickArrayBitmap"),N(8*8*yt,"negativeTickArrayBitmap")]),gm=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)]),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 km from"bn.js";var Om=Buffer.from("amm_config","utf8"),Ii=Buffer.from("pool","utf8"),Bi=Buffer.from("pool_vault","utf8"),Nm=Buffer.from("pool_reward_vault","utf8"),Mm=Buffer.from("position","utf8"),Fm=Buffer.from("tick_array","utf8"),vm=Buffer.from("operation","utf8"),Vm=Buffer.from("pool_tick_array_bitmap_extension","utf8"),_m=Buffer.from("observation","utf8"),Em=Buffer.from("support_mint","utf8"),Dm=Buffer.from("dynamic_fee_config","utf8"),Wm=Buffer.from("permission","utf8");var qm=Buffer.from("locked_position","utf8");import{sha256 as Di}from"js-sha256";import Si from"bn.js";import Xm from"decimal.js";var Qm=new Si(1).shln(256).subn(1);import dd from"bn.js";import td from"bn.js";import od from"decimal.js";import gd from"bn.js";import Ad from"decimal.js";import{PublicKey as rp}from"@solana/web3.js";import sp from"bn.js";import{TOKEN_2022_PROGRAM_ID as yp,TOKEN_PROGRAM_ID as bp}from"@solana/spl-token";import wp from"decimal.js";import Qd from"bn.js";import Fd from"bn.js";import Lp from"bn.js";function j(i){let t=`global:${i}`;return Buffer.from(Di.digest(t)).slice(0,8)}_n.span;var Bf=_("Raydium_Clmm"),Sf={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 qt}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")]),By=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)]),Sy=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 Fy}from"@solana/spl-token";var vy=_("Raydium_farm_config"),mr=new qt("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),dr=new qt("FrspKwj8i3pNmKwXreTveC4fu7KL5ZbGeXdZBe2XViu1");var Vy=new qt("3TRTX4dXUpp2eqxi3tvQDFYUV7SdDJjcPE3Y4mbtftaX");var He={"Standard SPL":0,"Option tokens":1},Qn={[Kn.toString()]:3,[Cn.toString()]:4,[Rn.toString()]:5,[Mt.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 Tb,SystemProgram as hb,SYSVAR_CLOCK_PUBKEY as Ib,SYSVAR_RENT_PUBKEY as Bb,TransactionInstruction as Sb}from"@solana/web3.js";import Kb from"bn.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as Rb,createAssociatedTokenAccountIdempotentInstruction as Lb,TOKEN_PROGRAM_ID as Ob}from"@solana/spl-token";import $y from"bn.js";import{PublicKey as Uy}from"@solana/web3.js";import zy from"bn.js";var mb=_("Raydium.farm.util");var Ub=_("Raydium_farm_instruction"),Gb={voterStakeRegistryCreateVoter:Buffer.from([6,24,245,52,243,255,148,25]),voterStakeRegistryCreateDepositEntry:Buffer.from([185,131,167,186,159,125,19,67]),voterStakeRegistryDeposit:Buffer.from([242,35,198,137,82,225,242,182]),voterStakeRegistryWithdraw:Buffer.from([183,18,70,156,148,109,161,34]),voterStakeRegistryUpdateVoterWeightRecord:Buffer.from([45,185,3,36,109,190,115,169])};import Lg from"bn.js";import{PublicKey as EA}from"@solana/web3.js";import{AccountLayout as qA,MintLayout as UA,NATIVE_MINT as GA,TOKEN_PROGRAM_ID as XA}from"@solana/spl-token";import Mg from"bn.js";import Hn from"bn.js";var wr=new Hn(25),kr=new Hn(1e4);import{ASSOCIATED_TOKEN_PROGRAM_ID as nP,TOKEN_PROGRAM_ID as oP}from"@solana/spl-token";import{PublicKey as rP,SystemProgram as aP,SYSVAR_RENT_PUBKEY as sP,TransactionInstruction as uP}from"@solana/web3.js";import bP from"bn.js";var Tr=l([c("instruction"),e("amountIn"),e("minAmountOut")]),hr=l([c("instruction"),e("maxAmountIn"),e("amountOut")]),$g=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")]),Jg=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 AP=_("Raydium_liquidity_instruction");var Kr=5e4,Cr=l([e("x"),e("y"),e("price")]),hP=l([e("accountType"),e("status"),e("multiplier"),e("validDataCount"),m(Cr,Kr,"DataElement")]);import{PublicKey as FP}from"@solana/web3.js";import VP from"decimal.js";import{TOKEN_PROGRAM_ID as EP}from"@solana/spl-token";import{PublicKey as xP}from"@solana/web3.js";var RP=_("Raydium_liquidity_serum");import dw from"bn.js";import fw from"decimal.js";import{TOKEN_PROGRAM_ID as dA}from"@solana/spl-token";import{PublicKey as fA}from"@solana/web3.js";import bA from"bn.js";import{SystemProgram as JP,SYSVAR_RENT_PUBKEY as eA,Transaction as tA,TransactionInstruction as nA}from"@solana/web3.js";import{createInitializeAccountInstruction as iA,TOKEN_PROGRAM_ID as rA}from"@solana/spl-token";function Rr(i="accountFlags"){let t=new lt(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 _k}from"@solana/web3.js";import{AccountLayout as Dk,NATIVE_MINT as Wk,TOKEN_2022_PROGRAM_ID as qk,TOKEN_PROGRAM_ID as Uk,createAssociatedTokenAccountIdempotentInstruction as Gk}from"@solana/spl-token";import _w from"bn.js";import _r from"bn.js";var Iw=new _r(0);import Rw from"bn.js";import Er from"bn.js";var Pt=new Er(1e6);import $k from"bn.js";import eT from"decimal.js";import{PublicKey as nk,TransactionInstruction as ok,Keypair as rk,SystemProgram as ak}from"@solana/web3.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as uk,TOKEN_2022_PROGRAM_ID as ck,TOKEN_PROGRAM_ID as lk}from"@solana/spl-token";var Uw=Buffer.from("vault_and_lp_mint_auth_seed","utf8"),Gw=Buffer.from("amm_config","utf8"),zw=Buffer.from("pool","utf8"),Xw=Buffer.from("pool_lp_mint","utf8"),Yw=Buffer.from("pool_vault","utf8"),Qw=Buffer.from("observation","utf8"),Zw=Buffer.from("permission","utf8"),Hw=Buffer.from("support_mint","utf8");var jw=Buffer.from("locked_liquidity","utf8");var gk=_("Raydium_cpmm"),Pk={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)]),kk=l([N(8),o("configId"),m(e(),30)]);import{PublicKey as LS,SystemProgram as OS}from"@solana/web3.js";import{createTransferInstruction as MS,TOKEN_PROGRAM_ID as FS,TOKEN_2022_PROGRAM_ID as vS,createAssociatedTokenAccountIdempotentInstruction as VS,createSyncNativeInstruction as ES,createTransferCheckedInstruction as DS}from"@solana/spl-token";import ra from"bn.js";import US from"decimal.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as ch,TOKEN_2022_PROGRAM_ID as lh,TOKEN_PROGRAM_ID as mh}from"@solana/spl-token";import{SystemProgram as yh,TransactionInstruction as bh}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)]),zT=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 HT=Buffer.from("vault_auth_seed","utf8"),jT=Buffer.from("global_config","utf8"),$T=Buffer.from("pool_vesting","utf8"),JT=Buffer.from("platform_config","utf8"),eh=Buffer.from("platform_fee_vault_auth_seed","utf8"),th=Buffer.from("creator_fee_vault_auth_seed","utf8"),nh=Buffer.from("platform_global_access","utf8");var wh={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 kh=new Zr("18446744073709551615");import Sh from"bn.js";import Kh from"decimal.js";import aI from"bn.js";import uI from"decimal.js";import Mh from"bn.js";import vh from"decimal.js";import Xh from"bn.js";import Qh from"decimal.js";import io from"bn.js";import Gt from"decimal.js";var kt=class{static _multipler(t){return new Gt(10).pow(t)}static getPrice({priceX64:t,decimalA:n,decimalB:r}){return new Gt(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))}};kt._Q64=new Gt(new io(1).shln(64).toString());import{NATIVE_MINT as lB,TOKEN_2022_PROGRAM_ID as mB,TOKEN_PROGRAM_ID as dB,createAssociatedTokenAccountIdempotentInstruction as fB,createSyncNativeInstruction as yB,getTransferFeeConfig as bB,unpackMint as gB}from"@solana/spl-token";import Q from"bn.js";import{PublicKey as na,SystemProgram as wB}from"@solana/web3.js";import SB from"decimal.js";var xB={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)}},KB=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 HB}from"@solana/web3.js";var tS=_("Serum");import{ASSOCIATED_TOKEN_PROGRAM_ID as lS,TOKEN_2022_PROGRAM_ID as mS,TOKEN_PROGRAM_ID as dS}from"@solana/spl-token";import{PublicKey as fS,SystemProgram as yS,TransactionInstruction as bS}from"@solana/web3.js";import PS from"bn.js";var Ax=new ra(0);import{PublicKey as aa,Transaction as zt,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 Nt(x,[d,...g.map(b=>b.publicKey)])?[{transaction:f,signer:g}]:[{transaction:new zt().add(...x.slice(0,u.AllTxData.instructions.length-1)),signer:g},{transaction:new zt().add(...x.slice(u.AllTxData.instructions.length-1)),signer:[]},{transaction:new zt().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.m