UNPKG

@raydium-io/raydium-sdk-v2

Version:

An SDK for building applications on top of Raydium.

1 lines 75.5 kB
var fo=Object.defineProperty,yo=Object.defineProperties;var bo=Object.getOwnPropertyDescriptors;var ot=Object.getOwnPropertySymbols;var an=Object.prototype.hasOwnProperty,sn=Object.prototype.propertyIsEnumerable;var rn=(r,t,n)=>t in r?fo(r,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):r[t]=n,x=(r,t)=>{for(var n in t||(t={}))an.call(t,n)&&rn(r,n,t[n]);if(ot)for(var n of ot(t))sn.call(t,n)&&rn(r,n,t[n]);return r},F=(r,t)=>yo(r,bo(t));var ue=(r,t)=>{var n={};for(var i in r)an.call(r,i)&&t.indexOf(i)<0&&(n[i]=r[i]);if(r!=null&&ot)for(var i of ot(r))t.indexOf(i)<0&&sn.call(r,i)&&(n[i]=r[i]);return n};import{PublicKey as Sa}from"@solana/web3.js";import{MintLayout as xa,TOKEN_2022_PROGRAM_ID as tn,TOKEN_PROGRAM_ID as nn}from"@solana/spl-token";import{get as un,set as go}from"lodash";var Bt=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}},cn={},Po={};function E(r){let t=un(cn,r);if(!t){let n=un(Po,r);t=new Bt({name:r,logLevel:n}),go(cn,r,t)}return t}import{PublicKey as Ee,sendAndConfirmTransaction as Jt,SystemProgram as Ia,Transaction as Je,TransactionMessage as et,VersionedTransaction as tt}from"@solana/web3.js";import Ba from"axios";import{PublicKey as Zt,AddressLookupTableAccount as _e}from"@solana/web3.js";import{PublicKey as ha}from"@solana/web3.js";import Ie from"bn.js";import TC from"decimal.js";import So from"big.js";import Xa from"bn.js";import Ao from"toformat";var wo=Ao,We=wo;import rt from"big.js";import To from"bn.js";import ho from"decimal.js-light";import qe from"bn.js";var ln=9007199254740991;function oe(r){let t=E("Raydium_parseBigNumberish");if(r instanceof qe)return r;if(typeof r=="string"){if(r.match(/^-?[0-9]+$/))return new qe(r);t.logWithError(`invalid BigNumberish string: ${r}`)}return typeof r=="number"?(r%1&&t.logWithError(`BigNumberish number underflow: ${r}`),(r>=ln||r<=-ln)&&t.logWithError(`BigNumberish number overflow: ${r}`),new qe(String(r))):typeof r=="bigint"?new qe(r.toString()):(t.error(`invalid BigNumberish value: ${r}`),new qe(0))}var it=E("module/fraction"),St=We(rt),Ue=We(ho),Io={[0]:Ue.ROUND_DOWN,[1]:Ue.ROUND_HALF_UP,[2]:Ue.ROUND_UP},Bo={[0]:rt.roundDown,[1]:rt.roundHalfUp,[2]:rt.roundUp},U=class{constructor(t,n=new To(1)){this.numerator=oe(t),this.denominator=oe(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(oe(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(oe(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(oe(t));return new U(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(t){let n=t instanceof U?t:new U(oe(t));return new U(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(t,n={groupSeparator:""},i=1){Number.isInteger(t)||it.logWithError(`${t} is not an integer.`),t<=0&&it.logWithError(`${t} is not positive.`),Ue.set({precision:t+1,rounding:Io[i]});let u=new Ue(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)||it.logWithError(`${t} is not an integer.`),t<0&&it.logWithError(`${t} is negative.`),St.DP=t,St.RM=Bo[i]||1,new St(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,n)}isZero(){return this.numerator.isZero()}};var ns=E("Raydium_amount"),os=We(So);import{PublicKey as Ko}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as mn}from"@solana/spl-token";var be={chainId:101,address:Ko.default.toBase58(),programId:mn.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:mn.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 Kt}from"@solana/web3.js";import{PublicKey as z,SystemProgram as dn,SYSVAR_RENT_PUBKEY as Co}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Ro}from"@solana/spl-token";function Se({pubkey:r,isSigner:t=!1,isWritable:n=!0}){return{pubkey:r,isWritable:n,isSigner:t}}var Lo=[Se({pubkey:Ro,isWritable:!1}),Se({pubkey:dn.programId,isWritable:!1}),Se({pubkey:Co,isWritable:!1})];function pn({publicKey:r,transformSol:t}){let n=fn(r.toString());if(n instanceof z)return t&&n.equals(Ae)?le:n;if(t&&n.toString()===Ae.toBase58())return le;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 fn(r){try{return new z(r)}catch{return r}}var xt=new z("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),xe=new z("SysvarRent111111111111111111111111111111111"),Oo=new z("SysvarC1ock11111111111111111111111111111111"),at=new z("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),No=new z("Sysvar1nstructions1111111111111111111111111"),yn=dn.programId,ms=new z("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),ds=new z("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),ps=new z("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),fs=new z("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),ys=new z("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),bs=new z("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),gs=new z("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),Ps=new z("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),As=new z("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),ws=new z("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),ks=new z("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),le=new z("So11111111111111111111111111111111111111112"),Ae=z.default;var Ct=class{constructor({mint:t,decimals:n,symbol:i,name:u,skipMint:m=!1,isToken2022:f=!1}){if(t===Ae.toBase58()||t instanceof Kt&&Ae.equals(t)){this.decimals=ce.decimals,this.symbol=ce.symbol,this.name=ce.name,this.mint=new Kt(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?Kt.default:pn({publicKey:t}),this.isToken2022=f}equals(t){return this===t?!0:this.mint.equals(t.mint)}},J=Ct;J.WSOL=new Ct(F(x({},ce),{mint:ce.address}));var Rt=class{constructor({decimals:t,symbol:n="UNKNOWN",name:i="UNKNOWN"}){this.decimals=t,this.symbol=n,this.name=i}equals(t){return this===t}},st=Rt;st.SOL=new Rt(be);import Mo from"bn.js";var Ns=new U(new Mo(100));var Es=E("Raydium_price");import{merge as TK}from"lodash";import Xs from"axios";var bn={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_IDO:"/main/ido/{owner}",OWNER_STAKE_FARMS:"/position/stake/{owner}",OWNER_LOCK_POSITION:"/position/clmm-lock/{owner}",IDO_KEYS:"/ido/key/ids",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"},Fo=F(x({},bn),{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 bu=E("Raydium_Api");import{PublicKey as il,SystemProgram as rl}from"@solana/web3.js";import{AccountLayout as ll,createAssociatedTokenAccountIdempotentInstruction as ml,TOKEN_PROGRAM_ID as dl,TOKEN_2022_PROGRAM_ID as pl}from"@solana/spl-token";import{PublicKey as Fc,SystemProgram as Vc}from"@solana/web3.js";import Dc from"bn.js";import{createCloseAccountInstruction as Gc,createInitializeAccountInstruction as zc,createTransferInstruction as Yc,TOKEN_PROGRAM_ID as Xc}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 Tc,PublicKey as hc}from"@solana/web3.js";import Sc from"bn.js";import{TOKEN_PROGRAM_ID as Cc}from"@solana/spl-token";import{PublicKey as Qo}from"@solana/web3.js";import Tn,{isBN as hn}from"bn.js";import{bits as vo,BitStructure as Ku,blob as Vo,Blob as Cu,cstr as Ru,f32 as Lu,f32be as Ou,f64 as Nu,f64be as Mu,greedy as Fu,Layout as _o,ns64 as vu,ns64be as Vu,nu64 as Eo,nu64be as _u,offset as Do,s16 as Eu,s16be as Du,s24 as Wu,s24be as qu,s32 as Wo,s32be as Uu,s40 as Gu,s40be as zu,s48 as Yu,s48be as Xu,s8 as Qu,seq as qo,struct as Zu,Structure as Uo,u16 as Go,u16be as Hu,u24 as ju,u24be as $u,u32 as zo,u32be as Ju,u40 as ec,u40be as tc,u48 as nc,u48be as oc,u8 as Yo,UInt as Xo,union as ic,Union as rc,unionLayoutDiscriminator as ac,utf8 as sc}from"@solana/buffer-layout";var ut=_o,gn=Uo;var Lt=Xo;var Pn=Yo,Z=Go;var ct=zo;var An=Eo;var ae=Wo;var wn=qo;var N=Vo;var Ot=vo,kn=Do;var we=class extends ut{constructor(n,i,u){super(n,u);this.blob=N(n),this.signed=i}decode(n,i=0){let u=new Tn(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 Tn(n)),this.signed&&(n=n.toTwos(this.span*8)),this.blob.encode(n.toArrayLike(Buffer,"le",this.span),i,u)}},lt=class extends ut{constructor(n){super(8,n);this._lower=Ot(ct(),!1),this._upper=Ot(ct(),!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 Lt(1,r)}function Y(r){return new Lt(4,r)}function e(r){return new we(8,!1,r)}function L(r){return new we(16,!1,r)}function In(r){return new we(1,!0,r)}function Ke(r){return new we(8,!0,r)}function Bn(r){return new we(16,!0,r)}var ze=class extends ut{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 Qo(t),t=>t.toBuffer(),r)}function re(r){return new ze(Pn(),Zo,Ho,r)}function Zo(r){if(r===0)return!1;if(r===1)return!0;throw new Error("Invalid bool: "+r)}function Ho(r){return r?1:0}function Sn(r,t){let n=ct("length"),i=l([n,d(r,kn(n,-n.span),"values")]);return new ze(i,({values:u})=>u,u=>({values:u}),t)}var Nt=class extends gn{decode(t,n){return super.decode(t,n)}};function l(r,t,n){return new Nt(r,t,n)}function d(r,t,n){let i,u=typeof t=="number"?t:hn(t)?t.toNumber():new Proxy(t,{get(m,f){if(!i){let y=Reflect.get(m,"count");i=hn(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 wn(r,u,n)}var mt=l([o("mint"),o("owner"),e("amount"),Y("delegateOption"),o("delegate"),c("state"),Y("isNativeOption"),e("isNative"),e("delegatedAmount"),Y("closeAuthorityOption"),o("closeAuthority")]);import{PublicKey as lg,SystemProgram as mg}from"@solana/web3.js";import{createAssociatedTokenAccountIdempotentInstruction as pg}from"@solana/spl-token";import{PublicKey as Rl}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Ol}from"@solana/spl-token";import{ComputeBudgetProgram as Kn,Keypair as Rn,PublicKey as $o,Transaction as Ln,TransactionMessage as Jo,VersionedTransaction as On}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ei}from"@solana/spl-token";var Cn=E("Raydium_txUtil"),Nn=1644;function pt(r){let t=[],n=[];return r.microLamports&&(t.push(Kn.setComputeUnitPrice({microLamports:r.microLamports})),n.push(Q.SetComputeUnitPrice)),r.units&&(t.push(Kn.setComputeUnitLimit({units:r.units})),n.push(Q.SetComputeUnitLimit)),{instructions:t,instructionTypes:n}}async function Ce(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 ft(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 Mt(r,t){r.length<1&&Cn.logWithError(`no instructions provided: ${r.toString()}`),t.length<1&&Cn.logWithError(`no signers provided:, ${t.toString()}`);let n=new Ln;n.recentBlockhash="11111111111111111111111111111111",n.feePayer=t[0],n.add(...r);try{return Buffer.from(n.serialize({verifySignatures:!1})).toString("base64").length<Nn}catch{return!1}}function de(r,t){let[n,i]=$o.findProgramAddressSync(r,t);return{publicKey:n,nonce:i}}function Ye({instructions:r,payer:t,signers:n}){return Mt(r,[t,...n])}function Xe({instructions:r,payer:t,lookupTableAddressAccount:n,recentBlockhash:i=Rn.generate().publicKey.toString()}){let m=new Jo({payerKey:t,recentBlockhash:i,instructions:r}).compileToV0Message(Object.values(n!=null?n:{}));try{return Buffer.from(new On(m).serialize()).toString("base64").length<Nn}catch{return!1}}var ti=r=>Buffer.isBuffer(r)?r:r instanceof Uint8Array?Buffer.from(r.buffer,r.byteOffset,r.byteLength):Buffer.from(r),ni=r=>{let t=r.serialize({requireAllSignatures:!1,verifySignatures:!1});r instanceof On&&(t=ti(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 Ln&&(n.recentBlockhash||(n.recentBlockhash=ei.toBase58()),n.feePayer||(n.feePayer=Rn.generate().publicKey)),t.push(ni(n))}),console.log("simulate tx string:",t),t}import{PublicKey as A}from"@solana/web3.js";var Mn=new A("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),Fn=new A("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),vn=new A("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Ft=new A("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),vl=new A("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),oi=new A("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),Vn=new A("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),_n=new A("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),Vl=new A("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),ii=new A("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),En=new A("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),ri=new A("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),ai=new A("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),Dn=new A("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),_l=new A("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),si=new A("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),ui=new A("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),ci=new A("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),li=new A("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),mi=new A("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi"),vt=new A("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),di=new A("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),El=new A("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),pi=new A("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),fi=new A("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),yi=new A("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),Dl=new A("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),Wl=new A("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),ql=new A("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),Ul=new A("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),Gl=new A("6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX"),Qe={IDO_PROGRAM_ID_V1:ui,IDO_PROGRAM_ID_V2:ci,IDO_PROGRAM_ID_V3:li,IDO_PROGRAM_ID_V4:mi};var ge={OPEN_BOOK_PROGRAM:new A("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),SERUM_PROGRAM_ID_V3:new A("Ray1111111111111111111111111111111111111111"),AMM_V4:new A("DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav"),AMM_STABLE:new A("DRayDdXc1NZQ9C3hRWmoSf8zK4iapgMnjdNZWrfwsP8m"),CLMM_PROGRAM_ID:new A("DRayAUgENGQBKVaX8owNhgzkEDyoHTGVEGHVJT1E9pfH"),CLMM_LOCK_PROGRAM_ID:new A("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),CLMM_LOCK_AUTH_ID:new A("6Aoh8h2Lw2m5UGxYR8AdAL87jTWYeKoxM52mJRzfYwN"),CREATE_CPMM_POOL_PROGRAM:new A("DRaycpLY18LhpbydsBWbVJtxpNv9oXPgjRSfpF2bWpYb"),CREATE_CPMM_POOL_AUTH:new A("CXniRufdq5xL8t8jZAPxsPZDpuudwuJSPWnbcD5Y5Nxq"),CREATE_CPMM_POOL_FEE_ACC:new A("3oE58BKVt8KuYkGxx8zBojugnymWmBiyafWgMrnb6eYy"),LOCK_CPMM_PROGRAM:new A("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),LOCK_CPMM_AUTH:new A("7qWVV8UY2bRJfDLP4s37YzBPKUkVB46DStYJBpYbQzu3"),UTIL1216:A.default,Router:new A("DRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd"),FARM_PROGRAM_ID_V3:new A("DRayWyrLmEW5KEeqs8kdTMMaBabapqagaBC7KWpGtJeZ"),FARM_PROGRAM_ID_V4:new A("Ray1111111111111111111111111111111111111111"),FARM_PROGRAM_ID_V5:new A("DRayiCGSZgku1GTK6rXD6mVDdingXy6APAH1R6R5L2LC"),FARM_PROGRAM_ID_V6:new A("DRayzbYakXs45ELHkzH6vC3fuhQqTAnv5A68gdFuvZyZ"),LAUNCHPAD_PROGRAM:new A("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),LAUNCHPAD_AUTH:new A("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),LAUNCHPAD_PLATFORM:new A("2Jx4KTDrVSdWNazuGpcA8n3ZLTRGGBDxAWhuKe2Xcj2a"),LAUNCHPAD_CONFIG:new A("7ZR4zD7PYfY2XxoG1Gxcy2EgEeGYrpxrwzPuwdUBssEt"),FEE_DESTINATION_ID:new A("9y8ENuuZ3b19quffx9hQvRVygG5ky6snHfRvGpuSfeJy"),MODEL_DATA_PUBKEY:new A("Ray1111111111111111111111111111111111111111")};import hg from"decimal.js";import{createAssociatedTokenAccountIdempotentInstruction as Wf,TOKEN_2022_PROGRAM_ID as qf,TOKEN_PROGRAM_ID as Uf}from"@solana/spl-token";import{PublicKey as zf}from"@solana/web3.js";import Xf from"bn.js";import Zf from"decimal.js";import{TOKEN_PROGRAM_ID as im}from"@solana/spl-token";import{PublicKey as um}from"@solana/web3.js";var bi=l([Y("mintAuthorityOption"),o("mintAuthority"),e("supply"),c("decimals"),c("isInitialized"),Y("freezeAuthorityOption"),o("freezeAuthority")]);import{ASSOCIATED_TOKEN_PROGRAM_ID as cf,TOKEN_2022_PROGRAM_ID as lf,TOKEN_PROGRAM_ID as mf}from"@solana/spl-token";import{Keypair as ff,PublicKey as yf,SystemProgram as gf,TransactionInstruction as Pf}from"@solana/web3.js";import wf from"bn.js";import D from"bn.js";var Te=new D(1).shln(64);var gi=new D(1).shln(128),Vt=new D(1).shln(64).subn(1),Pi=new D(1).shln(128).subn(1);var Le=new D("4295048016"),Oe=new D("79226673521066979257578248091"),Ai=new D("59543866431248"),wi=new D("184467440737095516"),ki=new D("15793534762490258745");var _t=60,wm=new D("18446743708227953217"),Ti=[{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 Ze=3,Wn=100;var qn=10,Un=100,yt=14;var H=new D(0),Ne=new D(1),km=new D(-1);var Tm=new D("18446744073700000000");var hi=l([N(8),c("bump"),Z("index"),o("owner"),Y("protocolFeeRate"),Y("tradeFeeRate"),Z("tickSpacing"),Y("fundFeeRate"),d(Y(),1),o("fundOwner"),d(e(),3)]),Ii=l([Y("blockTimestamp"),Ke("tickCumulative"),d(e(),4)]),Gn=l([N(8),re("initialized"),e("recentEpoch"),Z("observationIndex"),o("poolId"),d(Ii,Wn,"observations"),d(e(),4)]),Bi=l([Z("filterPeriod"),Z("decayPeriod"),Z("reductionFactor"),Y("dynamicFeeControl"),Y("maxVolatilityAccumulator"),ae("tickSpacingIndexReference"),Y("volatilityReference"),Y("volatilityAccumulator"),e("lastUpdateTimestamp"),d(c(),46)]),Si=l([c("state"),e("openTime"),e("endTime"),e("lastUpdateTime"),L("emissionsPerSecondX64"),e("totalEmissioned"),e("claimed"),o("mint"),o("vault"),o("creator"),L("growthGlobalX64")]),Et=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"),Y(),L("feeGrowthGlobalX64A"),L("feeGrowthGlobalX64B"),e("protocolFeesTokenA"),e("protocolFeesTokenB"),d(L(),4),c("status"),c("feeOn"),N(6),d(Si,Ze,"rewardInfos"),N(8*16,"tickArrayBitmap"),d(e(),4),e("fundFeesTokenA"),e("fundFeesTokenB"),e("startTime"),e("recentEpoch"),Bi.replicate("dynamicFeeInfo"),d(e(),46)]),xi=l([L("growthInsideLastX64"),e("rewardAmountOwed")]),Ki=l([N(8),c("bump"),o("nftMint"),o("poolId"),ae("tickLower"),ae("tickUpper"),L("liquidity"),L("feeGrowthInsideLastX64A"),L("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),d(xi,Ze,"rewardInfos"),e("recentEpoch"),d(e(),7)]),Sm=l([N(8),c("bump"),o("poolId"),ae("tickLower"),ae("tickUpper"),L("liquidity"),L("feeGrowthInsideLastX64A"),L("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),d(L(),Ze,"rewardGrowthInside"),e("recentEpoch"),d(e(),7)]),Ci=l([ae("tick"),Bn("liquidityNet"),L("liquidityGross"),L("feeGrowthOutsideX64A"),L("feeGrowthOutsideX64B"),d(L(),Ze,"rewardGrowthsOutsideX64"),e("orderPhase"),e("ordersAmount"),e("partFilledOrdersRemaining"),L("unfilledRatioX64"),d(Y(),3)]),zn=l([N(8),o("poolId"),ae("startTickIndex"),d(Ci,_t,"ticks"),c("initializedTickCount"),e("recentEpoch"),d(c(),107)]),Ri=l([N(8),c("bump"),d(o(),qn,"operationOwners"),d(o(),Un,"whitelistMints")]),Li=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)]),Yn=l([N(8),o("poolId"),N(8*8*yt,"positiveTickArrayBitmap"),N(8*8*yt,"negativeTickArrayBitmap")]),xm=l([N(8),Z("index"),Z("filterPeriod"),Z("decayPeriod"),Z("reductionFactor"),Y("dynamicFeeControl"),Y("maxVolatilityAccumulator"),d(e(),8)]),Oi=l([N(8),o("wallet"),c("nonceIndex"),e("orderNonce"),d(e(),4)]),Km=l([e(),c("bump"),o("owner"),o("poolId"),o("positionId"),o("nftAccount"),d(e(),8)]),Ni=l([N(8),c("bump"),o("lockOwner"),o("poolId"),o("positionId"),o("nftAccount"),o("lockNftMint"),e("recentEpoch"),d(e(),8)]);import Lm from"bn.js";var qm=Buffer.from("amm_config","utf8"),Mi=Buffer.from("pool","utf8"),Fi=Buffer.from("pool_vault","utf8"),Um=Buffer.from("pool_reward_vault","utf8"),Gm=Buffer.from("position","utf8"),zm=Buffer.from("tick_array","utf8"),Ym=Buffer.from("operation","utf8"),Xm=Buffer.from("pool_tick_array_bitmap_extension","utf8"),Qm=Buffer.from("observation","utf8"),Zm=Buffer.from("support_mint","utf8"),Hm=Buffer.from("dynamic_fee_config","utf8");var jm=Buffer.from("locked_position","utf8");import{sha256 as ji}from"js-sha256";import vi from"bn.js";import td from"decimal.js";var od=new vi(1).shln(256).subn(1);import kd from"bn.js";import ld from"bn.js";import dd from"decimal.js";import Cd from"bn.js";import Ld from"decimal.js";import{PublicKey as pp}from"@solana/web3.js";import yp from"bn.js";import{TOKEN_2022_PROGRAM_ID as hp}from"@solana/spl-token";import xp from"decimal.js";import np from"bn.js";import Ud from"bn.js";import vp from"bn.js";function $(r){let t=`global:${r}`;return Buffer.from(ji.digest(t)).slice(0,8)}Gn.span;var Kf=E("Raydium_Clmm"),Cf={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 Gt}from"@solana/web3.js";var nr=l([c("instruction")]),or=l([c("instruction")]),ir=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")]),rr=l([e("state"),e("nonce"),o("lpVault"),o("rewardVault"),o(),o(),e(),e(),e("totalReward"),L("perShareReward"),e("lastSlot"),e("perSlotReward")]),ar=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()]),sr=l([e(),e("state"),e("nonce"),e("validRewardTokenNum"),L("rewardMultiplier"),e("rewardPeriodMax"),e("rewardPeriodMin"),e("rewardPeriodExtend"),o("lpMint"),o("lpVault"),d(ir,5,"rewardInfos"),o("creator"),o(),d(e(),32,"padding")]),ur=new Proxy(rr,{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)}}),cr=new Proxy(ar,{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)}}),$n=new Proxy(sr,{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($e).find(y=>String(y[1])===m.rewardType.toString()))!=null?f:["Standard SPL"])[0]})})})}:Reflect.get(r,t,n)}}),lr=l([e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),mr=l([c("instruction"),e("nonce"),d(lr,5,"rewardTimeInfo")]),dr=l([c("instruction"),e("rewardReopenTime"),e("rewardEndTime"),e("rewardPerSecond")]),pr=l([c("instruction"),e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),Ky=l([e("state"),o("id"),o("owner"),e("deposited"),d(e(),1,"rewardDebts")]),Jn=l([e("state"),o("id"),o("owner"),e("deposited"),d(L(),1,"rewardDebts"),e(""),e("voteLockedBalance"),d(e(),15)]),Cy=l([e("state"),o("id"),o("owner"),e("deposited"),d(e(),2,"rewardDebts")]),fr=l([e("state"),o("id"),o("owner"),e("deposited"),d(L(),2,"rewardDebts"),d(e(),17)]),yr=l([e(),e("state"),o("id"),o("owner"),e("deposited"),d(L(),5,"rewardDebts"),d(e(),16)]),br=l([c("instruction"),e("amount")]),gr=l([o("mint"),o("grantAuthority"),e("baselineVoteWeightScaledFactor"),e("maxExtraLockupVoteWeightScaledFactor"),e("lockupSaturationSecs"),In("digitShift"),d(c(),7,"reserved1"),d(e(),7,"reserved2")]),Pr=l([N(8),o("governanceProgramId"),o("realm"),o("realmGoverningTokenMint"),o("realmAuthority"),d(c(),32,"reserved1"),d(gr,4,"votingMints"),Ke("timeOffset"),c("bump"),d(c(),7,"reserved2"),d(e(),11,"reserved3")]),Ar=l([Ke("startTime"),Ke("endTime"),c("kind"),d(c(),15,"reserved")]),wr=l([d(Ar,1,"lockup"),e("amountDeposited_native"),e("amountInitiallyLockedNative"),re("isUsed"),re("allowClawback"),c("votingMintConfigIdx"),d(c(),29,"reserved")]),kr=l([N(8),o("voterAuthority"),o("registrar"),d(wr,32,"deposits"),c("voterBump"),c("voterWweightRecordBump"),d(c(),94,"reserved")]);import{NATIVE_MINT as _y}from"@solana/spl-token";var Ey=E("Raydium_farm_config"),Tr=new Gt("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),hr=new Gt("FrspKwj8i3pNmKwXreTveC4fu7KL5ZbGeXdZBe2XViu1");var Dy=new Gt("3TRTX4dXUpp2eqxi3tvQDFYUV7SdDJjcPE3Y4mbtftaX");var $e={"Standard SPL":0,"Option tokens":1},eo={[Mn.toString()]:3,[Fn.toString()]:4,[vn.toString()]:5,[Ft.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 Bb,SystemProgram as Sb,SYSVAR_CLOCK_PUBKEY as xb,SYSVAR_RENT_PUBKEY as Kb,TransactionInstruction as Cb}from"@solana/web3.js";import Lb from"bn.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as Nb,createAssociatedTokenAccountIdempotentInstruction as Mb,TOKEN_PROGRAM_ID as Fb}from"@solana/spl-token";import tb from"bn.js";import{PublicKey as Yy}from"@solana/web3.js";import Qy from"bn.js";var fb=E("Raydium.farm.util");var Yb=E("Raydium_farm_instruction"),Xb={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 Mg from"bn.js";import{PublicKey as qA}from"@solana/web3.js";import{AccountLayout as zA,MintLayout as YA,NATIVE_MINT as XA,TOKEN_PROGRAM_ID as ZA}from"@solana/spl-token";import Vg from"bn.js";import no from"bn.js";var Lr=new no(25),Or=new no(1e4);import{ASSOCIATED_TOKEN_PROGRAM_ID as rP,TOKEN_PROGRAM_ID as aP}from"@solana/spl-token";import{PublicKey as uP,SystemProgram as cP,SYSVAR_RENT_PUBKEY as lP,TransactionInstruction as mP}from"@solana/web3.js";import AP from"bn.js";var Nr=l([c("instruction"),e("amountIn"),e("minAmountOut")]),Mr=l([c("instruction"),e("maxAmountIn"),e("amountOut")]),tP=l([c("instruction"),c("nonce")]),Fr=l([c("instruction"),c("nonce"),e("startTime")]),oo=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")]),nP=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")]),vr=l([c("instruction"),e("baseAmountIn"),e("quoteAmountIn"),e("fixedSide"),e("otherAmountMin")]),Vr=l([c("instruction"),e("lpAmount"),e("baseAmountMin"),e("quoteAmountMin")]);var _r=l([e("fee")]);var TP=E("Raydium_liquidity_instruction");var Er=5e4,Dr=l([e("x"),e("y"),e("price")]),SP=l([e("accountType"),e("status"),e("multiplier"),e("validDataCount"),d(Dr,Er,"DataElement")]);import{PublicKey as _P}from"@solana/web3.js";import DP from"decimal.js";import{TOKEN_PROGRAM_ID as qP}from"@solana/spl-token";import{PublicKey as RP}from"@solana/web3.js";var NP=E("Raydium_liquidity_serum");import yw from"bn.js";import gw from"decimal.js";import{TOKEN_PROGRAM_ID as yA}from"@solana/spl-token";import{PublicKey as gA}from"@solana/web3.js";import AA from"bn.js";import{SystemProgram as nA,SYSVAR_RENT_PUBKEY as oA,Transaction as iA,TransactionInstruction as rA}from"@solana/web3.js";import{createInitializeAccountInstruction as sA,TOKEN_PROGRAM_ID as uA}from"@solana/spl-token";function Wr(r="accountFlags"){let t=new lt(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 qr=l([N(5),Wr("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_PROGRAM_ID as Uk,createAssociatedTokenAccountIdempotentInstruction as Gk}from"@solana/spl-token";import Ww from"bn.js";import Zr from"bn.js";var xw=new Zr(0);import Nw from"bn.js";import Hr from"bn.js";var Pt=new Hr(1e6);import $k from"bn.js";import eT from"decimal.js";import{PublicKey as ik,TransactionInstruction as rk,Keypair as sk,SystemProgram as uk}from"@solana/web3.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as lk,TOKEN_2022_PROGRAM_ID as mk,TOKEN_PROGRAM_ID as dk}from"@solana/spl-token";var Yw=Buffer.from("vault_and_lp_mint_auth_seed","utf8"),Xw=Buffer.from("amm_config","utf8"),Qw=Buffer.from("pool","utf8"),Zw=Buffer.from("pool_lp_mint","utf8"),Hw=Buffer.from("pool_vault","utf8"),jw=Buffer.from("observation","utf8"),$w=Buffer.from("permission","utf8");var Jw=Buffer.from("locked_liquidity","utf8");var Ak=E("Raydium_cpmm"),wk={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 Jr=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)]),io=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)]),hk=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 ba 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 aa from"bn.js";var na=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)]),oa=l([e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod"),e("startTime"),e("totalAllocatedShare")]),ia=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"),oa.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)]),zT=l([e(),e("epoch"),o("poolId"),o("beneficiary"),e("claimedAmount"),e("tokenShareAmount"),d(e(),8)]),ao=l([c("migrateType"),c("migrateCpmmFeeOn"),e("supply"),e("totalSellA"),e("totalFundRaisingB"),e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod")]),ra=l([e("epoch"),c("index"),o("configId"),ao.replicate("bondingCurveParam"),d(e(),50)]),so=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),Sn(ra,"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 aa("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 Xh from"bn.js";import Zh from"decimal.js";import lo from"bn.js";import zt from"decimal.js";var kt=class{static _multipler(t){return new zt(10).pow(t)}static getPrice({priceX64:t,decimalA:n,decimalB:i}){return new zt(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 lo(u.mul(this._Q64).toFixed(0))}};kt._Q64=new zt(new lo(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 X from"bn.js";import{PublicKey as pa,SystemProgram as kB}from"@solana/web3.js";import xB from"decimal.js";var KB={initPriceX64:new X("515752397214619"),supply:new X(1e15),totalSellA:new X(7931e11),totalFundRaisingB:new X(85e9),totalFundRaisingBUSD:new X(125e8),totalLockedAmount:new X("0"),cliffPeriod:new X("0"),unlockPeriod:new X("0"),decimals:6,virtualA:new X("1073471847374405"),virtualB:new X("30050573465"),realA:new X(0),realB:new X(0),protocolFee:new X(0),platformId:new pa("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),vestingSchedule:{totalLockedAmount:new X(0),cliffPeriod:new X(0),unlockPeriod:new X(0),startTime:new X(0),totalAllocatedShare:new X(0)}},CB=new X(1e4);var fa={[Vn.toBase58()]:3};var ya=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 ba(0);import{PublicKey as ga,Transaction as Yt,TransactionInstruction as Pa}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Aa}from"@solana/spl-token";import mo from"bn.js";var te=class extends ee{static getPdaPoolId(t,n){return de([te.SEED_CONFIG.pool.id,n.toBuffer()],t)}static getPdaOwnerId(t,n,i,u){return de([te.SEED_CONFIG.owner.id,n.toBuffer(),i.toBuffer(),Buffer.from(new mo(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=>te.getPdaPoolId(n,b).publicKey),y=[];for(let b=0;b<te.VERSION_PROJECT.length;b++)y.push(...f.map(O=>te.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],w=P[C],h=P[i.length+b];if(!(w&&h)||w.data.length!==te.POOL_LAYOUT.span||h.data.length!==te.OWNER_LAYOUT.span)continue;let B=te.POOL_LAYOUT.decode(w.data),I=te.OWNER_LAYOUT.decode(h.data),v=B.openTime.toNumber(),V=B.endTime.toNumber(),g=I.tokenInfo.map(K=>K.debtAmount.gt(new mo(0))).filter(K=>!K).length!==3,k=m>v&&m<V&&B.status===1,T=g&&k;p.push({programId:n,poolId:S,ammId:B.ammId,ownerAccountId:M,snapshotLpAmount:I.lpAmount,project:te.VERSION_PROJECT[O],openTime:v,endTime:V,canClaim:T,canClaimErrorType:g?k?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:[te.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:[te.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 Mt(p,[m,...P.map(b=>b.publicKey)])?[{transaction:y,signer:P}]:[{transaction:new Yt().add(...p.slice(0,u.AllTxData.instructions.length-1)),signer:P},{transaction:new Yt().add(...p.slice(u.AllTxData.instructions.length-1)),signer:[]},{transaction:new Yt().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:Aa,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 Pa({keys:m,programId:t,data:y})}},se=te;se.CLAIMED_NUM=3,se.POOL_LAYOUT=l([N(8),c("bump"),c("status"),e("openTime"),e("endTime"),o("ammId"),d(l([c("mintDecima