UNPKG

@raydium-io/raydium-sdk-v2

Version:

An SDK for building applications on top of Raydium.

1 lines 74.9 kB
var lo=Object.defineProperty,mo=Object.defineProperties;var po=Object.getOwnPropertyDescriptors;var nt=Object.getOwnPropertySymbols;var rn=Object.prototype.hasOwnProperty,an=Object.prototype.propertyIsEnumerable;var on=(r,t,n)=>t in r?lo(r,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):r[t]=n,x=(r,t)=>{for(var n in t||(t={}))rn.call(t,n)&&on(r,n,t[n]);if(nt)for(var n of nt(t))an.call(t,n)&&on(r,n,t[n]);return r},F=(r,t)=>mo(r,po(t));var ue=(r,t)=>{var n={};for(var i in r)rn.call(r,i)&&t.indexOf(i)<0&&(n[i]=r[i]);if(r!=null&&nt)for(var i of nt(r))t.indexOf(i)<0&&an.call(r,i)&&(n[i]=r[i]);return n};import{PublicKey as ya}from"@solana/web3.js";import{MintLayout as ba,TOKEN_2022_PROGRAM_ID as en,TOKEN_PROGRAM_ID as tn}from"@solana/spl-token";import{get as sn,set as fo}from"lodash";var It=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(i=>typeof i=="object"?JSON.stringify(i):i).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}},un={},yo={};function E(r){let t=sn(un,r);if(!t){let n=sn(yo,r);t=new It({name:r,logLevel:n}),fo(un,r,t)}return t}import{PublicKey as _e,sendAndConfirmTransaction as $t,SystemProgram as pa,Transaction as $e,TransactionMessage as Je,VersionedTransaction as et}from"@solana/web3.js";import fa from"axios";import{PublicKey as Qt,AddressLookupTableAccount as Ve}from"@solana/web3.js";import{PublicKey as da}from"@solana/web3.js";import he from"bn.js";import GK from"decimal.js";import ho from"big.js";import va from"bn.js";import bo from"toformat";var go=bo,De=go;import it from"big.js";import Ao from"bn.js";import wo from"decimal.js-light";import We from"bn.js";var cn=9007199254740991;function ne(r){let t=E("Raydium_parseBigNumberish");if(r instanceof We)return r;if(typeof r=="string"){if(r.match(/^-?[0-9]+$/))return new We(r);t.logWithError(`invalid BigNumberish string: ${r}`)}return typeof r=="number"?(r%1&&t.logWithError(`BigNumberish number underflow: ${r}`),(r>=cn||r<=-cn)&&t.logWithError(`BigNumberish number overflow: ${r}`),new We(String(r))):typeof r=="bigint"?new We(r.toString()):(t.error(`invalid BigNumberish value: ${r}`),new We(0))}var ot=E("module/fraction"),Bt=De(it),qe=De(wo),ko={[0]:qe.ROUND_DOWN,[1]:qe.ROUND_HALF_UP,[2]:qe.ROUND_UP},To={[0]:it.roundDown,[1]:it.roundHalfUp,[2]:it.roundUp},U=class{constructor(t,n=new Ao(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:""},i=1){Number.isInteger(t)||ot.logWithError(`${t} is not an integer.`),t<=0&&ot.logWithError(`${t} is not positive.`),qe.set({precision:t+1,rounding:ko[i]});let u=new qe(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(t);return u.toFormat(u.decimalPlaces(),n)}toFixed(t,n={groupSeparator:""},i=1){return Number.isInteger(t)||ot.logWithError(`${t} is not an integer.`),t<0&&ot.logWithError(`${t} is negative.`),Bt.DP=t,Bt.RM=To[i]||1,new Bt(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,n)}isZero(){return this.numerator.isZero()}};var za=E("Raydium_amount"),Xa=De(ho);import{PublicKey as Bo}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ln}from"@solana/spl-token";var be={chainId:101,address:Bo.default.toBase58(),programId:ln.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},ce={chainId:101,address:"So11111111111111111111111111111111111111112",programId:ln.toBase58(),decimals:9,symbol:"WSOL",name:"Wrapped SOL",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}};import{PublicKey as xt}from"@solana/web3.js";import{PublicKey as z,SystemProgram as mn,SYSVAR_RENT_PUBKEY as So}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as xo}from"@solana/spl-token";function Be({pubkey:r,isSigner:t=!1,isWritable:n=!0}){return{pubkey:r,isWritable:n,isSigner:t}}var Ko=[Be({pubkey:xo,isWritable:!1}),Be({pubkey:mn.programId,isWritable:!1}),Be({pubkey:So,isWritable:!1})];function dn({publicKey:r,transformSol:t}){let n=pn(r.toString());if(n instanceof z)return t&&n.equals(Ae)?fe:n;if(t&&n.toString()===Ae.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 pn(r){try{return new z(r)}catch{return r}}var St=new z("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Ue=new z("SysvarRent111111111111111111111111111111111"),es=new z("SysvarC1ock11111111111111111111111111111111"),rt=new z("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),Co=new z("Sysvar1nstructions1111111111111111111111111"),Ro=mn.programId,ts=new z("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),ns=new z("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),os=new z("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),is=new z("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),rs=new z("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),as=new z("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),ss=new z("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),us=new z("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),cs=new z("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),ls=new z("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),ms=new z("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),fe=new z("So11111111111111111111111111111111111111112"),Ae=z.default;var Kt=class{constructor({mint:t,decimals:n,symbol:i,name:u,skipMint:m=!1,isToken2022:f=!1}){if(t===Ae.toBase58()||t instanceof xt&&Ae.equals(t)){this.decimals=ce.decimals,this.symbol=ce.symbol,this.name=ce.name,this.mint=new xt(ce.address),this.isToken2022=!1;return}this.decimals=n,this.symbol=i||t.toString().substring(0,6),this.name=u||t.toString().substring(0,6),this.mint=m?xt.default:dn({publicKey:t}),this.isToken2022=f}equals(t){return this===t?!0:this.mint.equals(t.mint)}},J=Kt;J.WSOL=new Kt(F(x({},ce),{mint:ce.address}));var Ct=class{constructor({decimals:t,symbol:n="UNKNOWN",name:i="UNKNOWN"}){this.decimals=t,this.symbol=n,this.name=i}equals(t){return this===t}},at=Ct;at.SOL=new Ct(be);import Lo from"bn.js";var hs=new U(new Lo(100));var Cs=E("Raydium_price");import{merge as Xx}from"lodash";import Vs from"axios";var fn={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"},Oo=F(x({},fn),{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 au=E("Raydium_Api");import{PublicKey as Zc,SystemProgram as Hc}from"@solana/web3.js";import{AccountLayout as tl,createAssociatedTokenAccountIdempotentInstruction as nl,TOKEN_PROGRAM_ID as ol,TOKEN_2022_PROGRAM_ID as il}from"@solana/spl-token";import{PublicKey as Sc,SystemProgram as Kc}from"@solana/web3.js";import Lc from"bn.js";import{createCloseAccountInstruction as Fc,createInitializeAccountInstruction as vc,createTransferInstruction as Vc,TOKEN_PROGRAM_ID as _c}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 pc,PublicKey as fc}from"@solana/web3.js";import gc from"bn.js";import{TOKEN_PROGRAM_ID as wc}from"@solana/spl-token";import{PublicKey as Go}from"@solana/web3.js";import An,{isBN as wn}from"bn.js";import{bits as No,BitStructure as Pu,blob as Mo,Blob as Au,cstr as wu,f32 as ku,f32be as Tu,f64 as hu,f64be as Iu,greedy as Bu,Layout as Fo,ns64 as Su,ns64be as xu,nu64 as Ku,nu64be as Cu,offset as vo,s16 as Ru,s16be as Lu,s24 as Ou,s24be as Nu,s32 as Vo,s32be as Mu,s40 as Fu,s40be as vu,s48 as Vu,s48be as _u,s8 as Eu,seq as _o,struct as Du,Structure as Eo,u16 as Do,u16be as Wu,u24 as qu,u24be as Uu,u32 as Wo,u32be as Gu,u40 as zu,u40be as Xu,u48 as Yu,u48be as Qu,u8 as qo,UInt as Uo,union as Zu,Union as Hu,unionLayoutDiscriminator as ju,utf8 as $u}from"@solana/buffer-layout";var st=Fo,yn=Eo;var Rt=Uo;var bn=qo,Y=Do;var ut=Wo;var ae=Vo;var gn=_o;var N=Mo;var Lt=No,Pn=vo;var we=class extends st{constructor(n,i,u){super(n,u);this.blob=N(n),this.signed=i}decode(n,i=0){let u=new An(this.blob.decode(n,i),10,"le");return this.signed?u.fromTwos(this.span*8).clone():u}encode(n,i,u=0){return typeof n=="number"&&(n=new An(n)),this.signed&&(n=n.toTwos(this.span*8)),this.blob.encode(n.toArrayLike(Buffer,"le",this.span),i,u)}},ct=class extends st{constructor(n){super(8,n);this._lower=Lt(ut(),!1),this._upper=Lt(ut(),!1)}addBoolean(n){this._lower.fields.length<32?this._lower.addBoolean(n):this._upper.addBoolean(n)}decode(n,i=0){let u=this._lower.decode(n,i),m=this._upper.decode(n,i+this._lower.span);return x(x({},u),m)}encode(n,i,u=0){return this._lower.encode(n,i,u)+this._upper.encode(n,i,u+this._lower.span)}};function c(r){return new Rt(1,r)}function X(r){return new Rt(4,r)}function e(r){return new we(8,!1,r)}function L(r){return new we(16,!1,r)}function kn(r){return new we(1,!0,r)}function Se(r){return new we(8,!0,r)}function Tn(r){return new we(16,!0,r)}var ze=class extends st{constructor(n,i,u,m){super(n.span,m);this.layout=n,this.decoder=i,this.encoder=u}decode(n,i){return this.decoder(this.layout.decode(n,i))}encode(n,i,u){return this.layout.encode(this.encoder(n),i,u)}getSpan(n,i){return this.layout.getSpan(n,i)}};function o(r){return new ze(N(32),t=>new Go(t),t=>t.toBuffer(),r)}function re(r){return new ze(bn(),zo,Xo,r)}function zo(r){if(r===0)return!1;if(r===1)return!0;throw new Error("Invalid bool: "+r)}function Xo(r){return r?1:0}function hn(r,t){let n=ut("length"),i=l([n,d(r,Pn(n,-n.span),"values")]);return new ze(i,({values:u})=>u,u=>({values:u}),t)}var Ot=class extends yn{decode(t,n){return super.decode(t,n)}};function l(r,t,n){return new Ot(r,t,n)}function d(r,t,n){let i,u=typeof t=="number"?t:wn(t)?t.toNumber():new Proxy(t,{get(m,f){if(!i){let y=Reflect.get(m,"count");i=wn(y)?y.toNumber():y,Reflect.set(m,"count",i)}return Reflect.get(m,f)},set(m,f,y){return f==="count"&&(i=y),Reflect.set(m,f,y)}});return gn(r,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 ug,SystemProgram as cg}from"@solana/web3.js";import{createAssociatedTokenAccountIdempotentInstruction as mg}from"@solana/spl-token";import{PublicKey as kl}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as hl}from"@solana/spl-token";import{ComputeBudgetProgram as Bn,Keypair as xn,PublicKey as Qo,Transaction as Kn,TransactionMessage as Zo,VersionedTransaction as Cn}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Ho}from"@solana/spl-token";var Sn=E("Raydium_txUtil"),Rn=1644;function dt(r){let t=[],n=[];return r.microLamports&&(t.push(Bn.setComputeUnitPrice({microLamports:r.microLamports})),n.push(Z.SetComputeUnitPrice)),r.units&&(t.push(Bn.setComputeUnitLimit({units:r.units})),n.push(Z.SetComputeUnitLimit)),{instructions:t,instructionTypes:n}}async function xe(r,t){var i,u;let n=t!=null?t:"confirmed";return(u=await((i=r.getLatestBlockhash)==null?void 0:i.call(r,{commitment:n})))==null?void 0:u.blockhash}async function pt(r,t){return r.getSignatureStatuses([t]),new Promise((n,i)=>{let u=setTimeout(i,6e4);r.onSignature(t,m=>{if(clearTimeout(u),!m.err){n("");return}i(Object.assign(m.err,{txId:t}))},"confirmed")})}function Nt(r,t){r.length<1&&Sn.logWithError(`no instructions provided: ${r.toString()}`),t.length<1&&Sn.logWithError(`no signers provided:, ${t.toString()}`);let n=new Kn;n.recentBlockhash="11111111111111111111111111111111",n.feePayer=t[0],n.add(...r);try{return Buffer.from(n.serialize({verifySignatures:!1})).toString("base64").length<Rn}catch{return!1}}function me(r,t){let[n,i]=Qo.findProgramAddressSync(r,t);return{publicKey:n,nonce:i}}function Xe({instructions:r,payer:t,signers:n}){return Nt(r,[t,...n])}function Ye({instructions:r,payer:t,lookupTableAddressAccount:n,recentBlockhash:i=xn.generate().publicKey.toString()}){let m=new Zo({payerKey:t,recentBlockhash:i,instructions:r}).compileToV0Message(Object.values(n!=null?n:{}));try{return Buffer.from(new Cn(m).serialize()).toString("base64").length<Rn}catch{return!1}}var jo=r=>Buffer.isBuffer(r)?r:r instanceof Uint8Array?Buffer.from(r.buffer,r.byteOffset,r.byteLength):Buffer.from(r),$o=r=>{let t=r.serialize({requireAllSignatures:!1,verifySignatures:!1});r instanceof Cn&&(t=jo(t));try{return t instanceof Buffer?t.toString("base64"):Buffer.from(t).toString("base64")}catch{return t.toString("base64")}};function ke(r){let t=[];return r.forEach(n=>{n instanceof Kn&&(n.recentBlockhash||(n.recentBlockhash=Ho.toBase58()),n.feePayer||(n.feePayer=xn.generate().publicKey)),t.push($o(n))}),console.log("simulate tx string:",t),t}import{PublicKey as T}from"@solana/web3.js";var Ln=new T("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),On=new T("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),Nn=new T("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Mt=new T("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),xl=new T("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Jo=new T("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),Mn=new T("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),Fn=new T("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),Kl=new T("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),ei=new T("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),vn=new T("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),ti=new T("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),ni=new T("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),Vn=new T("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Cl=new T("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),oi=new T("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Ft=new T("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),ii=new T("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),Rl=new T("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),ri=new T("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),ai=new T("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),si=new T("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),Ll=new T("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),Ol=new T("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),Nl=new T("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),Ml=new T("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),Fl=new T("6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX");var ge={OPEN_BOOK_PROGRAM:new T("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),SERUM_PROGRAM_ID_V3:new T("Ray1111111111111111111111111111111111111111"),AMM_V4:new T("DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav"),AMM_STABLE:new T("DRayDdXc1NZQ9C3hRWmoSf8zK4iapgMnjdNZWrfwsP8m"),CLMM_PROGRAM_ID:new T("DRayAUgENGQBKVaX8owNhgzkEDyoHTGVEGHVJT1E9pfH"),CLMM_LOCK_PROGRAM_ID:new T("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),CLMM_LOCK_AUTH_ID:new T("6Aoh8h2Lw2m5UGxYR8AdAL87jTWYeKoxM52mJRzfYwN"),CREATE_CPMM_POOL_PROGRAM:new T("DRaycpLY18LhpbydsBWbVJtxpNv9oXPgjRSfpF2bWpYb"),CREATE_CPMM_POOL_AUTH:new T("CXniRufdq5xL8t8jZAPxsPZDpuudwuJSPWnbcD5Y5Nxq"),CREATE_CPMM_POOL_FEE_ACC:new T("3oE58BKVt8KuYkGxx8zBojugnymWmBiyafWgMrnb6eYy"),LOCK_CPMM_PROGRAM:new T("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),LOCK_CPMM_AUTH:new T("7qWVV8UY2bRJfDLP4s37YzBPKUkVB46DStYJBpYbQzu3"),UTIL1216:T.default,Router:new T("DRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd"),FARM_PROGRAM_ID_V3:new T("DRayWyrLmEW5KEeqs8kdTMMaBabapqagaBC7KWpGtJeZ"),FARM_PROGRAM_ID_V4:new T("Ray1111111111111111111111111111111111111111"),FARM_PROGRAM_ID_V5:new T("DRayiCGSZgku1GTK6rXD6mVDdingXy6APAH1R6R5L2LC"),FARM_PROGRAM_ID_V6:new T("DRayzbYakXs45ELHkzH6vC3fuhQqTAnv5A68gdFuvZyZ"),LAUNCHPAD_PROGRAM:new T("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),LAUNCHPAD_AUTH:new T("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),LAUNCHPAD_PLATFORM:new T("2Jx4KTDrVSdWNazuGpcA8n3ZLTRGGBDxAWhuKe2Xcj2a"),LAUNCHPAD_CONFIG:new T("7ZR4zD7PYfY2XxoG1Gxcy2EgEeGYrpxrwzPuwdUBssEt"),FEE_DESTINATION_ID:new T("9y8ENuuZ3b19quffx9hQvRVygG5ky6snHfRvGpuSfeJy"),MODEL_DATA_PUBKEY:new T("Ray1111111111111111111111111111111111111111")};import kg from"decimal.js";import{createAssociatedTokenAccountIdempotentInstruction as Ef,TOKEN_2022_PROGRAM_ID as Df,TOKEN_PROGRAM_ID as Wf}from"@solana/spl-token";import{PublicKey as Uf}from"@solana/web3.js";import zf from"bn.js";import Yf from"decimal.js";import{TOKEN_PROGRAM_ID as Zl}from"@solana/spl-token";import{PublicKey as Jl}from"@solana/web3.js";var ui=l([X("mintAuthorityOption"),o("mintAuthority"),e("supply"),c("decimals"),c("isInitialized"),X("freezeAuthorityOption"),o("freezeAuthority")]);import{ASSOCIATED_TOKEN_PROGRAM_ID as sf,TOKEN_2022_PROGRAM_ID as uf,TOKEN_PROGRAM_ID as cf}from"@solana/spl-token";import{Keypair as df,PublicKey as pf,SystemProgram as yf,TransactionInstruction as bf}from"@solana/web3.js";import Pf from"bn.js";import D from"bn.js";var Ce=new D(1).shln(64);var ci=new D(1).shln(128),vt=new D(1).shln(64).subn(1),li=new D(1).shln(128).subn(1);var Re=new D("4295048016"),Le=new D("79226673521066979257578248091"),mi=new D("59543866431248"),di=new D("184467440737095516"),pi=new D("15793534762490258745");var Vt=60,mm=new D("18446743708227953217"),fi=[{bit:0,factor:new D("fffcb933bd6fb800",16)},{bit:1,factor:new D("fff97272373d4000",16)},{bit:2,factor:new D("fff2e50f5f657000",16)},{bit:3,factor:new D("ffe5caca7e10f000",16)},{bit:4,factor:new D("ffcb9843d60f7000",16)},{bit:5,factor:new D("ff973b41fa98e800",16)},{bit:6,factor:new D("ff2ea16466c9b000",16)},{bit:7,factor:new D("fe5dee046a9a3800",16)},{bit:8,factor:new D("fcbe86c7900bb000",16)},{bit:9,factor:new D("f987a7253ac65800",16)},{bit:10,factor:new D("f3392b0822bb6000",16)},{bit:11,factor:new D("e7159475a2caf000",16)},{bit:12,factor:new D("d097f3bdfd2f2000",16)},{bit:13,factor:new D("a9f746462d9f8000",16)},{bit:14,factor:new D("70d869a156f31c00",16)},{bit:15,factor:new D("31be135f97ed3200",16)},{bit:16,factor:new D("9aa508b5b85a500",16)},{bit:17,factor:new D("5d6af8dedc582c",16)},{bit:18,factor:new D("2216e584f5fa",16)}];var Qe=3,_n=100;var En=10,Dn=100,ft=14;var H=new D(0),Oe=new D(1),dm=new D(-1);var pm=new D("18446744073700000000");var yi=l([N(8),c("bump"),Y("index"),o("owner"),X("protocolFeeRate"),X("tradeFeeRate"),Y("tickSpacing"),X("fundFeeRate"),d(X(),1),o("fundOwner"),d(e(),3)]),bi=l([X("blockTimestamp"),Se("tickCumulative"),d(e(),4)]),Wn=l([N(8),re("initialized"),e("recentEpoch"),Y("observationIndex"),o("poolId"),d(bi,_n,"observations"),d(e(),4)]),gi=l([Y("filterPeriod"),Y("decayPeriod"),Y("reductionFactor"),X("dynamicFeeControl"),X("maxVolatilityAccumulator"),ae("tickSpacingIndexReference"),X("volatilityReference"),X("volatilityAccumulator"),e("lastUpdateTimestamp"),d(c(),46)]),Pi=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"),d(L(),4),c("status"),c("feeOn"),N(6),d(Pi,Qe,"rewardInfos"),N(8*16,"tickArrayBitmap"),d(e(),4),e("fundFeesTokenA"),e("fundFeesTokenB"),e("startTime"),e("recentEpoch"),gi.replicate("dynamicFeeInfo"),d(e(),46)]),Ai=l([L("growthInsideLastX64"),e("rewardAmountOwed")]),wi=l([N(8),c("bump"),o("nftMint"),o("poolId"),ae("tickLower"),ae("tickUpper"),L("liquidity"),L("feeGrowthInsideLastX64A"),L("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),d(Ai,Qe,"rewardInfos"),e("recentEpoch"),d(e(),7)]),gm=l([N(8),c("bump"),o("poolId"),ae("tickLower"),ae("tickUpper"),L("liquidity"),L("feeGrowthInsideLastX64A"),L("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),d(L(),Qe,"rewardGrowthInside"),e("recentEpoch"),d(e(),7)]),ki=l([ae("tick"),Tn("liquidityNet"),L("liquidityGross"),L("feeGrowthOutsideX64A"),L("feeGrowthOutsideX64B"),d(L(),Qe,"rewardGrowthsOutsideX64"),e("orderPhase"),e("ordersAmount"),e("partFilledOrdersRemaining"),L("unfilledRatioX64"),d(X(),3)]),qn=l([N(8),o("poolId"),ae("startTickIndex"),d(ki,Vt,"ticks"),c("initializedTickCount"),e("recentEpoch"),d(c(),107)]),Ti=l([N(8),c("bump"),d(o(),En,"operationOwners"),d(o(),Dn,"whitelistMints")]),hi=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"),d(e(),4)]),Un=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"),d(e(),8)]),Ii=l([N(8),o("wallet"),c("nonceIndex"),e("orderNonce"),d(e(),4)]),Am=l([e(),c("bump"),o("owner"),o("poolId"),o("positionId"),o("nftAccount"),d(e(),8)]),Bi=l([N(8),c("bump"),o("lockOwner"),o("poolId"),o("positionId"),o("nftAccount"),o("lockNftMint"),e("recentEpoch"),d(e(),8)]);import Tm from"bn.js";var Nm=Buffer.from("amm_config","utf8"),xi=Buffer.from("pool","utf8"),Ki=Buffer.from("pool_vault","utf8"),Mm=Buffer.from("pool_reward_vault","utf8"),Fm=Buffer.from("position","utf8"),vm=Buffer.from("tick_array","utf8"),Vm=Buffer.from("operation","utf8"),_m=Buffer.from("pool_tick_array_bitmap_extension","utf8"),Em=Buffer.from("observation","utf8"),Dm=Buffer.from("support_mint","utf8"),Wm=Buffer.from("dynamic_fee_config","utf8"),qm=Buffer.from("permission","utf8");var Um=Buffer.from("locked_position","utf8");import{sha256 as Ui}from"js-sha256";import Ci from"bn.js";import Ym from"decimal.js";var Zm=new Ci(1).shln(256).subn(1);import pd from"bn.js";import nd from"bn.js";import id from"decimal.js";import Pd from"bn.js";import wd from"decimal.js";import{PublicKey as ap}from"@solana/web3.js";import up from"bn.js";import{TOKEN_2022_PROGRAM_ID as bp,TOKEN_PROGRAM_ID as gp}from"@solana/spl-token";import kp from"decimal.js";import Zd from"bn.js";import vd from"bn.js";import Op from"bn.js";function j(r){let t=`global:${r}`;return Buffer.from(Ui.digest(t)).slice(0,8)}Wn.span;var Sf=E("Raydium_Clmm"),xf={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 Qi=l([c("instruction")]),Zi=l([c("instruction")]),Hi=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"),d(e(),15,"padding")]),ji=l([e("state"),e("nonce"),o("lpVault"),o("rewardVault"),o(),o(),e(),e(),e("totalReward"),L("perShareReward"),e("lastSlot"),e("perSlotReward")]),$i=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()]),Ji=l([e(),e("state"),e("nonce"),e("validRewardTokenNum"),L("rewardMultiplier"),e("rewardPeriodMax"),e("rewardPeriodMin"),e("rewardPeriodExtend"),o("lpMint"),o("lpVault"),d(Hi,5,"rewardInfos"),o("creator"),o(),d(e(),32,"padding")]),er=new Proxy(ji,{get(r,t,n){return t==="decode"?(...i)=>{let u=r.decode(...i);return F(x({},u),{version:3,rewardInfos:[{rewardVault:u.rewardVault,totalReward:u.totalReward,perSlotReward:u.perSlotReward,perShareReward:u.perShareReward}]})}:Reflect.get(r,t,n)}}),tr=new Proxy($i,{get(r,t,n){return t==="decode"?(...i)=>{let u=r.decode(...i);return F(x({},u),{version:5,rewardInfos:[{rewardVault:u.rewardVaultA,totalReward:u.totalRewardA,perSlotReward:u.perSlotRewardA,perShareReward:u.perShareRewardA},{rewardVault:u.rewardVaultB,totalReward:u.totalRewardB,perSlotReward:u.perSlotRewardB,perShareReward:u.perShareRewardB}]})}:Reflect.get(r,t,n)}}),Zn=new Proxy(Ji,{get(r,t,n){return t==="decode"?(...i)=>{let u=r.decode(...i);return F(x({},u),{version:6,rewardInfos:u.rewardInfos.map(m=>{var f;return F(x({},m),{rewardType:((f=Object.entries(je).find(y=>String(y[1])===m.rewardType.toString()))!=null?f:["Standard SPL"])[0]})})})}:Reflect.get(r,t,n)}}),nr=l([e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),or=l([c("instruction"),e("nonce"),d(nr,5,"rewardTimeInfo")]),ir=l([c("instruction"),e("rewardReopenTime"),e("rewardEndTime"),e("rewardPerSecond")]),rr=l([c("instruction"),e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),Sy=l([e("state"),o("id"),o("owner"),e("deposited"),d(e(),1,"rewardDebts")]),Hn=l([e("state"),o("id"),o("owner"),e("deposited"),d(L(),1,"rewardDebts"),e(""),e("voteLockedBalance"),d(e(),15)]),xy=l([e("state"),o("id"),o("owner"),e("deposited"),d(e(),2,"rewardDebts")]),ar=l([e("state"),o("id"),o("owner"),e("deposited"),d(L(),2,"rewardDebts"),d(e(),17)]),sr=l([e(),e("state"),o("id"),o("owner"),e("deposited"),d(L(),5,"rewardDebts"),d(e(),16)]),ur=l([c("instruction"),e("amount")]),cr=l([o("mint"),o("grantAuthority"),e("baselineVoteWeightScaledFactor"),e("maxExtraLockupVoteWeightScaledFactor"),e("lockupSaturationSecs"),kn("digitShift"),d(c(),7,"reserved1"),d(e(),7,"reserved2")]),lr=l([N(8),o("governanceProgramId"),o("realm"),o("realmGoverningTokenMint"),o("realmAuthority"),d(c(),32,"reserved1"),d(cr,4,"votingMints"),Se("timeOffset"),c("bump"),d(c(),7,"reserved2"),d(e(),11,"reserved3")]),mr=l([Se("startTime"),Se("endTime"),c("kind"),d(c(),15,"reserved")]),dr=l([d(mr,1,"lockup"),e("amountDeposited_native"),e("amountInitiallyLockedNative"),re("isUsed"),re("allowClawback"),c("votingMintConfigIdx"),d(c(),29,"reserved")]),pr=l([N(8),o("voterAuthority"),o("registrar"),d(dr,32,"deposits"),c("voterBump"),c("voterWweightRecordBump"),d(c(),94,"reserved")]);import{NATIVE_MINT as vy}from"@solana/spl-token";var Vy=E("Raydium_farm_config"),fr=new qt("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),yr=new qt("FrspKwj8i3pNmKwXreTveC4fu7KL5ZbGeXdZBe2XViu1");var _y=new qt("3TRTX4dXUpp2eqxi3tvQDFYUV7SdDJjcPE3Y4mbtftaX");var je={"Standard SPL":0,"Option tokens":1},jn={[Ln.toString()]:3,[On.toString()]:4,[Nn.toString()]:5,[Mt.toString()]:6,[ge.FARM_PROGRAM_ID_V3.toString()]:3,[ge.FARM_PROGRAM_ID_V4.toString()]:4,[ge.FARM_PROGRAM_ID_V5.toString()]:5,[ge.FARM_PROGRAM_ID_V6.toString()]:6};import{PublicKey as hb,SystemProgram as Ib,SYSVAR_CLOCK_PUBKEY as Bb,SYSVAR_RENT_PUBKEY as Sb,TransactionInstruction as xb}from"@solana/web3.js";import Cb from"bn.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as Lb,createAssociatedTokenAccountIdempotentInstruction as Ob,TOKEN_PROGRAM_ID as Nb}from"@solana/spl-token";import Jy from"bn.js";import{PublicKey as Gy}from"@solana/web3.js";import Xy from"bn.js";var db=E("Raydium.farm.util");var Gb=E("Raydium_farm_instruction"),zb={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 Og from"bn.js";import{PublicKey as DA}from"@solana/web3.js";import{AccountLayout as UA,MintLayout as GA,NATIVE_MINT as zA,TOKEN_PROGRAM_ID as YA}from"@solana/spl-token";import Fg from"bn.js";import Jn from"bn.js";var hr=new Jn(25),Ir=new Jn(1e4);import{ASSOCIATED_TOKEN_PROGRAM_ID as oP,TOKEN_PROGRAM_ID as iP}from"@solana/spl-token";import{PublicKey as aP,SystemProgram as sP,SYSVAR_RENT_PUBKEY as uP,TransactionInstruction as cP}from"@solana/web3.js";import gP from"bn.js";var Br=l([c("instruction"),e("amountIn"),e("minAmountOut")]),Sr=l([c("instruction"),e("maxAmountIn"),e("amountOut")]),Jg=l([c("instruction"),c("nonce")]),xr=l([c("instruction"),c("nonce"),e("startTime")]),eo=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"),d(e(),3,"padding")]),eP=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"),d(e(),64,"padding")]),Kr=l([c("instruction"),e("baseAmountIn"),e("quoteAmountIn"),e("fixedSide"),e("otherAmountMin")]),Cr=l([c("instruction"),e("lpAmount"),e("baseAmountMin"),e("quoteAmountMin")]);var Rr=l([e("fee")]);var wP=E("Raydium_liquidity_instruction");var Lr=5e4,Or=l([e("x"),e("y"),e("price")]),IP=l([e("accountType"),e("status"),e("multiplier"),e("validDataCount"),d(Or,Lr,"DataElement")]);import{PublicKey as vP}from"@solana/web3.js";import _P from"decimal.js";import{TOKEN_PROGRAM_ID as DP}from"@solana/spl-token";import{PublicKey as KP}from"@solana/web3.js";var LP=E("Raydium_liquidity_serum");import pw from"bn.js";import yw from"decimal.js";import{TOKEN_PROGRAM_ID as pA}from"@solana/spl-token";import{PublicKey as yA}from"@solana/web3.js";import gA from"bn.js";import{SystemProgram as eA,SYSVAR_RENT_PUBKEY as tA,Transaction as nA,TransactionInstruction as oA}from"@solana/web3.js";import{createInitializeAccountInstruction as rA,TOKEN_PROGRAM_ID as aA}from"@solana/spl-token";function Nr(r="accountFlags"){let t=new ct(r);return t.addBoolean("initialized"),t.addBoolean("market"),t.addBoolean("openOrders"),t.addBoolean("requestQueue"),t.addBoolean("eventQueue"),t.addBoolean("bids"),t.addBoolean("asks"),t}var Mr=l([N(5),Nr("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 Ek}from"@solana/web3.js";import{AccountLayout as Wk,NATIVE_MINT as qk,TOKEN_2022_PROGRAM_ID as Uk,TOKEN_PROGRAM_ID as Gk,createAssociatedTokenAccountIdempotentInstruction as zk}from"@solana/spl-token";import Ew from"bn.js";import Wr from"bn.js";var Bw=new Wr(0);import Lw from"bn.js";import qr from"bn.js";var gt=new qr(1e6);import Jk from"bn.js";import tT from"decimal.js";import{PublicKey as ok,TransactionInstruction as ik,Keypair as ak,SystemProgram as sk}from"@solana/web3.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as ck,TOKEN_2022_PROGRAM_ID as lk,TOKEN_PROGRAM_ID as mk}from"@solana/spl-token";var Gw=Buffer.from("vault_and_lp_mint_auth_seed","utf8"),zw=Buffer.from("amm_config","utf8"),Xw=Buffer.from("pool","utf8"),Yw=Buffer.from("pool_lp_mint","utf8"),Qw=Buffer.from("pool_vault","utf8"),Zw=Buffer.from("observation","utf8"),Hw=Buffer.from("permission","utf8"),jw=Buffer.from("support_mint","utf8");var $w=Buffer.from("locked_liquidity","utf8");var Pk=E("Raydium_cpmm"),Ak={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 zr=l([N(8),c("bump"),re("disableCreatePool"),Y("index"),e("tradeFeeRate"),e("protocolFeeRate"),e("fundFeeRate"),e("createPoolFee"),o("protocolOwner"),o("fundOwner"),e("creatorFeeRate"),d(e(),15)]),to=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"),d(c(),6),e("creatorFeesMintA"),e("creatorFeesMintB"),d(e(),28)]),Tk=l([N(8),o("configId"),d(e(),30)]);import{PublicKey as OS,SystemProgram as NS}from"@solana/web3.js";import{createTransferInstruction as FS,TOKEN_PROGRAM_ID as vS,TOKEN_2022_PROGRAM_ID as VS,createAssociatedTokenAccountIdempotentInstruction as _S,createSyncNativeInstruction as DS,createTransferCheckedInstruction as WS}from"@solana/spl-token";import ua from"bn.js";import GS from"decimal.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as lh,TOKEN_2022_PROGRAM_ID as mh,TOKEN_PROGRAM_ID as dh}from"@solana/spl-token";import{SystemProgram as bh,TransactionInstruction as gh}from"@solana/web3.js";import $r from"bn.js";var Qr=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"),d(e(),16)]),Zr=l([e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod"),e("startTime"),e("totalAllocatedShare")]),Hr=l([e(),e("epoch"),c("bump"),c("status"),c("mintDecimalsA"),c("mintDecimalsB"),c("migrateType"),e("supply"),e("totalSellA"),e("virtualA"),e("virtualB"),e("realA"),e("realB"),e("totalFundRaisingB"),e("protocolFee"),e("platformFee"),e("migrateFee"),Zr.replicate("vestingSchedule"),o("configId"),o("platformId"),o("mintA"),o("mintB"),o("vaultA"),o("vaultB"),o("creator"),c("mintProgramFlag"),c("cpmmCreatorFeeOn"),e("platformVestingShare"),d(c(),54)]),XT=l([e(),e("epoch"),o("poolId"),o("beneficiary"),e("claimedAmount"),e("tokenShareAmount"),d(e(),8)]),oo=l([c("migrateType"),c("migrateCpmmFeeOn"),e("supply"),e("totalSellA"),e("totalFundRaisingB"),e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod")]),jr=l([e("epoch"),c("index"),o("configId"),oo.replicate("bondingCurveParam"),d(e(),50)]),io=l([e(),e("epoch"),o("platformClaimFeeWallet"),o("platformLockNftWallet"),e("platformScale"),e("creatorScale"),e("burnScale"),e("feeRate"),d(c(),64,"name"),d(c(),256,"web"),d(c(),256,"img"),o("cpConfigId"),e("creatorFeeRate"),o("transferFeeExtensionAuth"),o("platformVestingWallet"),e("platformVestingScale"),o("platformCpCreator"),d(c(),108),hn(jr,"platformCurve")]);var jT=Buffer.from("vault_auth_seed","utf8"),$T=Buffer.from("global_config","utf8"),JT=Buffer.from("pool_vesting","utf8"),eh=Buffer.from("platform_config","utf8"),th=Buffer.from("platform_fee_vault_auth_seed","utf8"),nh=Buffer.from("creator_fee_vault_auth_seed","utf8"),oh=Buffer.from("platform_global_access","utf8");var kh={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 Th=new $r("18446744073709551615");import xh from"bn.js";import Ch from"decimal.js";import sI from"bn.js";import cI from"decimal.js";import Fh from"bn.js";import Vh from"decimal.js";import Yh from"bn.js";import Zh from"decimal.js";import so from"bn.js";import Gt from"decimal.js";var wt=class{static _multipler(t){return new Gt(10).pow(t)}static getPrice({priceX64:t,decimalA:n,decimalB:i}){return new Gt(t.toString()).div(this._Q64).mul(this._multipler(n)).div(this._multipler(i))}static getPriceX64({price:t,decimalA:n,decimalB:i}){let u=t.mul(this._multipler(i)).div(this._multipler(n));return new so(u.mul(this._Q64).toFixed(0))}};wt._Q64=new Gt(new so(1).shln(64).toString());import{NATIVE_MINT as mB,TOKEN_2022_PROGRAM_ID as dB,TOKEN_PROGRAM_ID as pB,createAssociatedTokenAccountIdempotentInstruction as yB,createSyncNativeInstruction as bB,getTransferFeeConfig as gB,unpackMint as PB}from"@solana/spl-token";import Q from"bn.js";import{PublicKey as ra,SystemProgram as kB}from"@solana/web3.js";import xB from"decimal.js";var KB={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 ra("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),vestingSchedule:{totalLockedAmount:new Q(0),cliffPeriod:new Q(0),unlockPeriod:new Q(0),startTime:new Q(0),totalAllocatedShare:new Q(0)}},CB=new Q(1e4);var aa={[Mn.toBase58()]:3};var sa=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 jB}from"@solana/web3.js";var nS=E("Serum");import{ASSOCIATED_TOKEN_PROGRAM_ID as mS,TOKEN_2022_PROGRAM_ID as dS,TOKEN_PROGRAM_ID as pS}from"@solana/spl-token";import{PublicKey as yS,SystemProgram as bS,TransactionInstruction as gS}from"@solana/web3.js";import AS from"bn.js";var wx=new ua(0);import{PublicKey as ca,Transaction as zt,TransactionInstruction as la}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ma}from"@solana/spl-token";import uo 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,i,u){return me([ee.SEED_CONFIG.owner.id,n.toBuffer(),i.toBuffer(),Buffer.from(new uo(u).toArray())],t)}static async getAllInfo({connection:t,programId:n,poolIds:i,wallet:u,chainTime:m}){if(i.length===0)return[];let f=i.map(b=>ee.getPdaPoolId(n,b).publicKey),y=[];for(let b=0;b<ee.VERSION_PROJECT.length;b++)y.push(...f.map(O=>ee.getPdaOwnerId(n,O,u,b).publicKey));let P=await ye(t,[...f,...y]),p=[];for(let b=0;b<P.length;b++){let O=Math.floor(b/i.length),C=b%i.length,S=f[C],M=y[b],A=P[C],h=P[i.length+b];if(!(A&&h)||A.data.length!==ee.POOL_LAYOUT.span||h.data.length!==ee.OWNER_LAYOUT.span)continue;let B=ee.POOL_LAYOUT.decode(A.data),I=ee.OWNER_LAYOUT.decode(h.data),v=B.openTime.toNumber(),V=B.endTime.toNumber(),g=I.tokenInfo.map(K=>K.debtAmount.gt(new uo(0))).filter(K=>!K).length!==3,w=m>v&&m<V&&B.status===1,k=g&&w;p.push({programId:n,poolId:S,ammId:B.ammId,ownerAccountId:M,snapshotLpAmount:I.lpAmount,project:ee.VERSION_PROJECT[O],openTime:v,endTime:V,canClaim:k,canClaimErrorType:g?w?void 0:"outOfOperationalTime":"alreadyClaimIt",tokenInfo:B.tokenInfo.map((K,R)=>({mintAddress:K.mintAddress,mintVault:K.mintVault,mintDecimals:K.mintDecimals,perLpLoss:K.perLpLoss,debtAmount:I.tokenInfo[R].debtAmount.add(I.tokenInfo[R].claimedAmount)}))})}return p}async makeClaimTransaction({poolInfo:t,ownerInfo:n,feePayer:i}){n.wallet||this.scope.checkOwner();let u=this.createTxBuilder(i),m=n.wallet||this.scope.ownerPubKey,f=[];for(let p of t.tokenInfo){let{account:b,instructionParams:O}=await this.scope.account.getOrCreateTokenAccount({mint:p.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:p.mintAddress.equals(J.WSOL.mint),createInfo:{payer:m,amount:0},skipCloseAccount:!p.mintAddress.equals(J.WSOL.mint),associatedOnly:p.mintAddress.equals(J.WSOL.mint)?!1:n.associatedOnly});O&&u.addInstruction(O),f.push(b)}u.addInstruction({instructions:[ee.makeClaimInstruction({programId:t.programId,poolInfo:t,ownerInfo:{wallet:m,ownerPda:t.ownerAccountId,claimAddress:f}})]});let{transaction:y,signers:P}=u.build();return[{transaction:y,signer:P}]}async makeClaimAllTransaction({poolInfos:t,ownerInfo:n,feePayer:i}){let u=this.createTxBuilder(i),m=n.wallet||this.scope.ownerPubKey,f={};for(let b of t){let O=[];for(let C of b.tokenInfo){let{account:S,instructionParams:M}=await this.scope.account.getOrCreateTokenAccount({mint:C.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:C.mintAddress.equals(J.WSOL.mint),createInfo:{payer:m,amount:0},skipCloseAccount:!C.mintAddress.equals(J.WSOL.mint),associatedOnly:C.mintAddress.equals(J.WSOL.mint)?!1:n.associatedOnly});M&&u.addInstruction(M),S&&(f[C.mintAddress.toString()]=S,O.push(S))}u.addInstruction({instructions:[ee.makeClaimInstruction({programId:b.programId,poolInfo:b,ownerInfo:{wallet:m,ownerPda:b.ownerAccountId,claimAddress:O}})]})}let{transaction:y,signers:P}=u.build(),p=u.allInstructions;return Nt(p,[m,...P.map(b=>b.publicKey)])?[{transaction:y,signer:P}]:[{transaction:new zt().add(...p.slice(0,u.AllTxData.instructions.length-1)),signer:P},{transaction:new zt().add(...p.slice(u.AllTxData.instructions.length-1)),signer:[]},{transaction:new zt().add(...u.AllTxData.endInstructions),signer:[]}]}static makeClaimInstruction({programId:t,poolInfo:n,ownerInfo:i}){let u=l([]),m=[{pubkey:i.wallet,isSigner:!0,isWritable:!0},{pubkey:n.poolId,isSigner:!1,isWritable:!0},{pubkey:i.ownerPda,isSigner:!1,isWritable:!0},...i.claimAddress.map(P=>({pubkey:P,isSigner:!1,isWritable:!0})),...n.tokenInfo.map(({mintVault:P})=>({pubkey:P,isSigner:!1,isWritable:!0})),{pubkey:ma,isSigner:!1,isWritable:!1}],f=Buffer.alloc(u.span);u.encode({},f);let y=Buffer.from([10,66,208,184,161,6,191,98,...f]);return new la({keys:m,programId:t,data:y})}},se=ee;se.CLAIMED_NUM=3,se.POOL_LAYOUT=l([N(8),c("bump"),c("status"),e("openTime"),e("endTime"),o("ammId"),d(l([c("mintDecimals"),o("mintAddress"),o("mintVault"),e("perLpLoss"),e("totalClaimedAmount")]),ee.CLAIMED_NUM,"tokenInfo"),d(e(),10,"padding")]),se.OWNER_LAYOUT=l([N(8),c("bump"),c("version"),o("poolId"),o("owner"),e("lp