UNPKG

@raydium-io/raydium-sdk-v2

Version:

An SDK for building applications on top of Raydium.

1 lines 74.8 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 fa}from"@solana/web3.js";import{MintLayout as ya,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 da,Transaction as $e,TransactionMessage as Je,VersionedTransaction as et}from"@solana/web3.js";import pa from"axios";import{PublicKey as Qt,AddressLookupTableAccount as Ve}from"@solana/web3.js";import{PublicKey as ma}from"@solana/web3.js";import he from"bn.js";import WK from"decimal.js";import ho from"big.js";import Fa 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 Ga=E("Raydium_amount"),za=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"),Ja=new z("SysvarC1ock11111111111111111111111111111111"),rt=new z("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),Co=new z("Sysvar1nstructions1111111111111111111111111"),Ro=mn.programId,es=new z("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),ts=new z("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),ns=new z("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),os=new z("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),is=new z("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),rs=new z("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),as=new z("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),ss=new z("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),us=new z("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),cs=new z("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),ls=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 Ts=new U(new Lo(100));var Ks=E("Raydium_price");import{merge as Ux}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 ru=E("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";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 Q={CreateAccount:"CreateAccount",InitAccount:"InitAccount",CreateATA:"CreateATA",CloseAccount:"CloseAccount",TransferAmount:"TransferAmount",InitMint:"InitMint",MintTo:"MintTo",InitMarket:"InitMarket",Util1216OwnerClaim:"Util1216OwnerClaim",SetComputeUnitPrice:"SetComputeUnitPrice",SetComputeUnitLimit:"SetComputeUnitLimit",ClmmCreatePool:"ClmmCreatePool",ClmmOpenPosition:"ClmmOpenPosition",ClmmIncreasePosition:"ClmmIncreasePosition",ClmmDecreasePosition:"ClmmDecreasePosition",ClmmClosePosition:"ClmmClosePosition",ClmmSwapBaseIn:"ClmmSwapBaseIn",ClmmSwapBaseOut:"ClmmSwapBaseOut",ClmmInitReward:"ClmmInitReward",ClmmSetReward:"ClmmSetReward",ClmmCollectReward:"ClmmCollectReward",ClmmLockPosition:"ClmmLockPosition",ClmmHarvestLockPosition:"ClmmHarvestLockPosition",AmmV4Swap:"AmmV4Swap",AmmV4AddLiquidity:"AmmV4AddLiquidity",AmmV4RemoveLiquidity:"AmmV4RemoveLiquidity",AmmV4SimulatePoolInfo:"AmmV4SimulatePoolInfo",AmmV4SwapBaseIn:"AmmV4SwapBaseIn",AmmV4SwapBaseOut:"AmmV4SwapBaseOut",AmmV4CreatePool:"AmmV4CreatePool",AmmV4InitPool:"AmmV4InitPool",AmmV5AddLiquidity:"AmmV5AddLiquidity",AmmV5RemoveLiquidity:"AmmV5RemoveLiquidity",AmmV5SimulatePoolInfo:"AmmV5SimulatePoolInfo",AmmV5SwapBaseIn:"AmmV5SwapBaseIn",AmmV5SwapBaseOut:"AmmV5SwapBaseOut",RouteSwap:"RouteSwap",RouteSwap1:"RouteSwap1",RouteSwap2:"RouteSwap2",FarmV3Deposit:"FarmV3Deposit",FarmV3Withdraw:"FarmV3Withdraw",FarmV3CreateLedger:"FarmV3CreateLedger",FarmV4Withdraw:"FarmV4Withdraw",FarmV5Deposit:"FarmV5Deposit",FarmV5Withdraw:"FarmV5Withdraw",FarmV5CreateLedger:"FarmV5CreateLedger",FarmV6Deposit:"FarmV6Deposit",FarmV6Withdraw:"FarmV6Withdraw",FarmV6Create:"FarmV6Create",FarmV6Restart:"FarmV6Restart",FarmV6CreatorAddReward:"FarmV6CreatorAddReward",FarmV6CreatorWithdraw:"FarmV6CreatorWithdraw",CpmmCreatePool:"CpmmCreatePool",CpmmAddLiquidity:"CpmmAddLiquidity",CpmmWithdrawLiquidity:"CpmmWithdrawLiquidity",CpmmSwapBaseIn:"CpmmSwapBaseIn",CpmmSwapBaseOut:"CpmmSwapBaseOut",CpmmLockLp:"CpmmLockLp",CpmmCollectLockFee:"CpmmCollectLockFee",TransferTip:"TransferTip"};import{Keypair as 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 Go}from"@solana/web3.js";import An,{isBN as wn}from"bn.js";import{bits as No,BitStructure as gu,blob as Mo,Blob as Pu,cstr as Au,f32 as wu,f32be as ku,f64 as Tu,f64be as hu,greedy as Iu,Layout as Fo,ns64 as Bu,ns64be as Su,nu64 as xu,nu64be as Ku,offset as vo,s16 as Cu,s16be as Ru,s24 as Lu,s24be as Ou,s32 as Vo,s32be as Nu,s40 as Mu,s40be as Fu,s48 as vu,s48be as Vu,s8 as _u,seq as _o,struct as Eu,Structure as Eo,u16 as Do,u16be as Du,u24 as Wu,u24be as qu,u32 as Wo,u32be as Uu,u40 as Gu,u40be as zu,u48 as Xu,u48be as Yu,u8 as qo,UInt as Uo,union as Qu,Union as Zu,unionLayoutDiscriminator as Hu,utf8 as ju}from"@solana/buffer-layout";var st=Fo,yn=Eo;var Rt=Uo;var bn=qo,Z=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 ig,SystemProgram as rg}from"@solana/web3.js";import{createAssociatedTokenAccountIdempotentInstruction as sg}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 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(Q.SetComputeUnitPrice)),r.units&&(t.push(Bn.setComputeUnitLimit({units:r.units})),n.push(Q.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"),Sl=new T("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Jo=new T("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),Mn=new T("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),Fn=new T("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),xl=new T("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),ei=new T("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),vn=new T("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),ti=new T("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),ni=new T("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),Vn=new T("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Kl=new T("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),oi=new T("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Ft=new T("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),ii=new T("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),Cl=new T("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),ri=new T("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),ai=new T("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),si=new T("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),Rl=new T("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),Ll=new T("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),Ol=new T("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),Nl=new T("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),Ml=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 gg from"decimal.js";import{createAssociatedTokenAccountIdempotentInstruction as Ff,TOKEN_2022_PROGRAM_ID as vf,TOKEN_PROGRAM_ID as Vf}from"@solana/spl-token";import{PublicKey as Ef}from"@solana/web3.js";import Wf from"bn.js";import Uf from"decimal.js";import{TOKEN_PROGRAM_ID as Ql}from"@solana/spl-token";import{PublicKey as $l}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 nf,TOKEN_2022_PROGRAM_ID as of,TOKEN_PROGRAM_ID as rf}from"@solana/spl-token";import{Keypair as uf,PublicKey as cf,SystemProgram as mf,TransactionInstruction as df}from"@solana/web3.js";import ff 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,lm=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),mm=new D(-1);var dm=new D("18446744073700000000");var yi=l([N(8),c("bump"),Z("index"),o("owner"),X("protocolFeeRate"),X("tradeFeeRate"),Z("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"),Z("observationIndex"),o("poolId"),d(bi,_n,"observations"),d(e(),4)]),gi=l([Z("filterPeriod"),Z("decayPeriod"),Z("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"),Z("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)]),bm=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")]),gm=l([N(8),Z("index"),Z("filterPeriod"),Z("decayPeriod"),Z("reductionFactor"),X("dynamicFeeControl"),X("maxVolatilityAccumulator"),d(e(),8)]),Ii=l([N(8),o("wallet"),c("nonceIndex"),e("orderNonce"),d(e(),4)]),Pm=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 km from"bn.js";var Om=Buffer.from("amm_config","utf8"),Si=Buffer.from("pool","utf8"),xi=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");var Wm=Buffer.from("locked_position","utf8");import{sha256 as qi}from"js-sha256";import Ki from"bn.js";import zm from"decimal.js";var Ym=new Ki(1).shln(256).subn(1);import md from"bn.js";import ed from"bn.js";import nd from"decimal.js";import bd from"bn.js";import Pd from"decimal.js";import{PublicKey as ip}from"@solana/web3.js";import ap from"bn.js";import{TOKEN_2022_PROGRAM_ID as fp,TOKEN_PROGRAM_ID as yp}from"@solana/spl-token";import Ap from"decimal.js";import Yd from"bn.js";import Md from"bn.js";import Rp from"bn.js";function $(r){let t=`global:${r}`;return Buffer.from(qi.digest(t)).slice(0,8)}Wn.span;var Tf=E("Raydium_Clmm"),hf={createPool:$("create_pool"),createCustomizablePool:$("create_customizable_pool"),openPositionV2:$("open_position_v2"),openPositionWithToken22Nft:$("open_position_with_token22_nft"),closePosition:$("close_position"),increaseLiquidityV2:$("increase_liquidity_v2"),decreaseLiquidityV2:$("decrease_liquidity_v2"),initializeReward:$("initialize_reward"),setRewardParams:$("set_reward_params"),updateRewardInfos:$("update_reward_infos"),collectRemainingRewards:$("collect_remaining_rewards"),swapV2:$("swap_v2"),openLimitOrder:$("open_limit_order"),increaseLimitOrder:$("increase_limit_order"),decreaseLimitOrder:$("decrease_limit_order"),settleLimitOrder:$("settle_limit_order"),closeLimitOrder:$("close_limit_order")};import{PublicKey as qt}from"@solana/web3.js";var Yi=l([c("instruction")]),Qi=l([c("instruction")]),Zi=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")]),Hi=l([e("state"),e("nonce"),o("lpVault"),o("rewardVault"),o(),o(),e(),e(),e("totalReward"),L("perShareReward"),e("lastSlot"),e("perSlotReward")]),ji=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()]),$i=l([e(),e("state"),e("nonce"),e("validRewardTokenNum"),L("rewardMultiplier"),e("rewardPeriodMax"),e("rewardPeriodMin"),e("rewardPeriodExtend"),o("lpMint"),o("lpVault"),d(Zi,5,"rewardInfos"),o("creator"),o(),d(e(),32,"padding")]),Ji=new Proxy(Hi,{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)}}),er=new Proxy(ji,{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($i,{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)}}),tr=l([e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),nr=l([c("instruction"),e("nonce"),d(tr,5,"rewardTimeInfo")]),or=l([c("instruction"),e("rewardReopenTime"),e("rewardEndTime"),e("rewardPerSecond")]),ir=l([c("instruction"),e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),Ty=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)]),hy=l([e("state"),o("id"),o("owner"),e("deposited"),d(e(),2,"rewardDebts")]),rr=l([e("state"),o("id"),o("owner"),e("deposited"),d(L(),2,"rewardDebts"),d(e(),17)]),ar=l([e(),e("state"),o("id"),o("owner"),e("deposited"),d(L(),5,"rewardDebts"),d(e(),16)]),sr=l([c("instruction"),e("amount")]),ur=l([o("mint"),o("grantAuthority"),e("baselineVoteWeightScaledFactor"),e("maxExtraLockupVoteWeightScaledFactor"),e("lockupSaturationSecs"),kn("digitShift"),d(c(),7,"reserved1"),d(e(),7,"reserved2")]),cr=l([N(8),o("governanceProgramId"),o("realm"),o("realmGoverningTokenMint"),o("realmAuthority"),d(c(),32,"reserved1"),d(ur,4,"votingMints"),Se("timeOffset"),c("bump"),d(c(),7,"reserved2"),d(e(),11,"reserved3")]),lr=l([Se("startTime"),Se("endTime"),c("kind"),d(c(),15,"reserved")]),mr=l([d(lr,1,"lockup"),e("amountDeposited_native"),e("amountInitiallyLockedNative"),re("isUsed"),re("allowClawback"),c("votingMintConfigIdx"),d(c(),29,"reserved")]),dr=l([N(8),o("voterAuthority"),o("registrar"),d(mr,32,"deposits"),c("voterBump"),c("voterWweightRecordBump"),d(c(),94,"reserved")]);import{NATIVE_MINT as Oy}from"@solana/spl-token";var Ny=E("Raydium_farm_config"),pr=new qt("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),fr=new qt("FrspKwj8i3pNmKwXreTveC4fu7KL5ZbGeXdZBe2XViu1");var My=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 Ab,SystemProgram as wb,SYSVAR_CLOCK_PUBKEY as kb,SYSVAR_RENT_PUBKEY as Tb,TransactionInstruction as hb}from"@solana/web3.js";import Bb from"bn.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as xb,createAssociatedTokenAccountIdempotentInstruction as Kb,TOKEN_PROGRAM_ID as Cb}from"@solana/spl-token";import Zy from"bn.js";import{PublicKey as Dy}from"@solana/web3.js";import qy from"bn.js";var ub=E("Raydium.farm.util");var Db=E("Raydium_farm_instruction"),Wb={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 Kg from"bn.js";import{PublicKey as vA}from"@solana/web3.js";import{AccountLayout as EA,MintLayout as DA,NATIVE_MINT as WA,TOKEN_PROGRAM_ID as UA}from"@solana/spl-token";import Lg from"bn.js";import Jn from"bn.js";var Tr=new Jn(25),hr=new Jn(1e4);import{ASSOCIATED_TOKEN_PROGRAM_ID as Jg,TOKEN_PROGRAM_ID as eP}from"@solana/spl-token";import{PublicKey as nP,SystemProgram as oP,SYSVAR_RENT_PUBKEY as iP,TransactionInstruction as rP}from"@solana/web3.js";import pP from"bn.js";var Ir=l([c("instruction"),e("amountIn"),e("minAmountOut")]),Br=l([c("instruction"),e("maxAmountIn"),e("amountOut")]),Zg=l([c("instruction"),c("nonce")]),Sr=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")]),Hg=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")]),xr=l([c("instruction"),e("baseAmountIn"),e("quoteAmountIn"),e("fixedSide"),e("otherAmountMin")]),Kr=l([c("instruction"),e("lpAmount"),e("baseAmountMin"),e("quoteAmountMin")]);var Cr=l([e("fee")]);var bP=E("Raydium_liquidity_instruction");var Rr=5e4,Lr=l([e("x"),e("y"),e("price")]),wP=l([e("accountType"),e("status"),e("multiplier"),e("validDataCount"),d(Lr,Rr,"DataElement")]);import{PublicKey as OP}from"@solana/web3.js";import MP from"decimal.js";import{TOKEN_PROGRAM_ID as vP}from"@solana/spl-token";import{PublicKey as IP}from"@solana/web3.js";var xP=E("Raydium_liquidity_serum");import cw from"bn.js";import mw from"decimal.js";import{TOKEN_PROGRAM_ID as cA}from"@solana/spl-token";import{PublicKey as mA}from"@solana/web3.js";import pA from"bn.js";import{SystemProgram as HP,SYSVAR_RENT_PUBKEY as jP,Transaction as $P,TransactionInstruction as JP}from"@solana/web3.js";import{createInitializeAccountInstruction as tA,TOKEN_PROGRAM_ID as nA}from"@solana/spl-token";function Or(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 Nr=l([N(5),Or("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 Fk}from"@solana/web3.js";import{AccountLayout as Vk,NATIVE_MINT as _k,TOKEN_2022_PROGRAM_ID as Ek,TOKEN_PROGRAM_ID as Dk,createAssociatedTokenAccountIdempotentInstruction as Wk}from"@solana/spl-token";import Fw from"bn.js";import Dr from"bn.js";var kw=new Dr(0);import xw from"bn.js";import Wr from"bn.js";var gt=new Wr(1e6);import Zk from"bn.js";import jk from"decimal.js";import{PublicKey as Jw,TransactionInstruction as ek,Keypair as nk,SystemProgram as ok}from"@solana/web3.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as rk,TOKEN_2022_PROGRAM_ID as ak,TOKEN_PROGRAM_ID as sk}from"@solana/spl-token";var Dw=Buffer.from("vault_and_lp_mint_auth_seed","utf8"),Ww=Buffer.from("amm_config","utf8"),qw=Buffer.from("pool","utf8"),Uw=Buffer.from("pool_lp_mint","utf8"),Gw=Buffer.from("pool_vault","utf8"),zw=Buffer.from("observation","utf8"),Xw=Buffer.from("permission","utf8"),Yw=Buffer.from("support_mint","utf8");var Qw=Buffer.from("locked_liquidity","utf8");var fk=E("Raydium_cpmm"),yk={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 Gr=l([N(8),c("bump"),re("disableCreatePool"),Z("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)]),Pk=l([N(8),o("configId"),d(e(),30)]);import{PublicKey as CS,SystemProgram as RS}from"@solana/web3.js";import{createTransferInstruction as OS,TOKEN_PROGRAM_ID as NS,TOKEN_2022_PROGRAM_ID as MS,createAssociatedTokenAccountIdempotentInstruction as FS,createSyncNativeInstruction as VS,createTransferCheckedInstruction as _S}from"@solana/spl-token";import sa from"bn.js";import WS from"decimal.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as sh,TOKEN_2022_PROGRAM_ID as uh,TOKEN_PROGRAM_ID as ch}from"@solana/spl-token";import{SystemProgram as ph,TransactionInstruction as fh}from"@solana/web3.js";import jr from"bn.js";var Yr=l([e(),e("epoch"),c("curveType"),Z("index"),e("migrateFee"),e("tradeFeeRate"),e("maxShareFeeRate"),e("minSupplyA"),e("maxLockRate"),e("minSellRateA"),e("minMigrateRateA"),e("minFundRaisingB"),o("mintB"),o("protocolFeeOwner"),o("migrateFeeOwner"),o("migrateToAmmWallet"),o("migrateToCpmmWallet"),d(e(),16)]),Qr=l([e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod"),e("startTime"),e("totalAllocatedShare")]),Zr=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"),Qr.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)]),qT=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")]),Hr=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(Hr,"platformCurve")]);var QT=Buffer.from("vault_auth_seed","utf8"),ZT=Buffer.from("global_config","utf8"),HT=Buffer.from("pool_vesting","utf8"),jT=Buffer.from("platform_config","utf8"),$T=Buffer.from("platform_fee_vault_auth_seed","utf8"),JT=Buffer.from("creator_fee_vault_auth_seed","utf8"),eh=Buffer.from("platform_global_access","utf8");var Ph={initialize:Buffer.from([175,175,109,31,13,152,155,237]),initializeV2:Buffer.from([67,153,175,39,218,16,38,32]),buyExactIn:Buffer.from([250,234,13,123,213,156,19,236]),buyExactOut:Buffer.from([24,211,116,40,105,3,153,56]),sellExactIn:Buffer.from([149,39,222,155,211,124,152,26]),sellExactOut:Buffer.from([95,200,71,34,8,9,11,166]),createVestingAccount:Buffer.from([129,178,2,13,217,172,230,218]),claimVestedToken:Buffer.from([49,33,104,30,189,157,79,35]),createPlatformConfig:Buffer.from([176,90,196,175,253,113,220,20]),claimPlatformFee:Buffer.from([156,39,208,135,76,237,61,72]),updatePlaformConfig:Buffer.from([195,60,76,129,146,45,67,143]),initializeWithToken2022:Buffer.from([37,190,126,222,44,154,171,17]),claimPlatformFeeFromVault:Buffer.from([117,241,198,168,248,218,80,29]),claimCreatorFee:Buffer.from([26,97,138,203,132,171,141,252]),updatePlatformCurveParam:Buffer.from([138,144,138,250,220,128,4,57]),removePlatformCurveParam:Buffer.from([27,30,62,169,93,224,24,145]),createPlatformVestingAccount:Buffer.from([146,71,173,69,98,19,15,106])};var Ah=new jr("18446744073709551615");import Ih from"bn.js";import Sh from"decimal.js";import iI from"bn.js";import aI from"decimal.js";import Oh from"bn.js";import Mh from"decimal.js";import Gh from"bn.js";import Xh 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 uB,TOKEN_2022_PROGRAM_ID as cB,TOKEN_PROGRAM_ID as lB,createAssociatedTokenAccountIdempotentInstruction as dB,createSyncNativeInstruction as pB,getTransferFeeConfig as fB,unpackMint as yB}from"@solana/spl-token";import Y from"bn.js";import{PublicKey as ia,SystemProgram as PB}from"@solana/web3.js";import IB from"decimal.js";var BB={initPriceX64:new Y("515752397214619"),supply:new Y(1e15),totalSellA:new Y(7931e11),totalFundRaisingB:new Y(85e9),totalFundRaisingBUSD:new Y(125e8),totalLockedAmount:new Y("0"),cliffPeriod:new Y("0"),unlockPeriod:new Y("0"),decimals:6,virtualA:new Y("1073471847374405"),virtualB:new Y("30050573465"),realA:new Y(0),realB:new Y(0),protocolFee:new Y(0),platformId:new ia("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),vestingSchedule:{totalLockedAmount:new Y(0),cliffPeriod:new Y(0),unlockPeriod:new Y(0),startTime:new Y(0),totalAllocatedShare:new Y(0)}},SB=new Y(1e4);var ra={[Mn.toBase58()]:3};var aa=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 QB}from"@solana/web3.js";var JB=E("Serum");import{ASSOCIATED_TOKEN_PROGRAM_ID as uS,TOKEN_2022_PROGRAM_ID as cS,TOKEN_PROGRAM_ID as lS}from"@solana/spl-token";import{PublicKey as dS,SystemProgram as pS,TransactionInstruction as fS}from"@solana/web3.js";import bS from"bn.js";var gx=new sa(0);import{PublicKey as ua,Transaction as zt,TransactionInstruction as ca}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as la}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:la,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 ca({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("lpAmount"),d(l([o("mintAddress"),e("debtAmount"),e("claimedAmount")]),ee.CLAIMED_NUM,"token