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 Ba}from"@solana/web3.js";import{MintLayout as Sa,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 ha,Transaction as Je,TransactionMessage as et,VersionedTransaction as tt}from"@solana/web3.js";import Ia from"axios";import{PublicKey as Zt,AddressLookupTableAccount as _e}from"@solana/web3.js";import{PublicKey as Ta}from"@solana/web3.js";import he from"bn.js";import BC 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 ts=E("Raydium_amount"),ns=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 Be({pubkey:r,isSigner:t=!1,isWritable:n=!0}){return{pubkey:r,isWritable:n,isSigner:t}}var Lo=[Be({pubkey:Ro,isWritable:!1}),Be({pubkey:dn.programId,isWritable:!1}),Be({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"),Se=new z("SysvarRent111111111111111111111111111111111"),Oo=new z("SysvarC1ock11111111111111111111111111111111"),at=new z("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),No=new z("Sysvar1nstructions1111111111111111111111111"),yn=dn.programId,ls=new z("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),ms=new z("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),ds=new z("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),ps=new z("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),fs=new z("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),ys=new z("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),bs=new z("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),gs=new z("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),Ps=new z("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),As=new z("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),ws=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 Os=new U(new Mo(100));var _s=E("Raydium_price");import{merge as BK}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 yu=E("Raydium_Api");import{PublicKey as ol,SystemProgram as il}from"@solana/web3.js";import{AccountLayout as cl,createAssociatedTokenAccountIdempotentInstruction as ll,TOKEN_PROGRAM_ID as ml,TOKEN_2022_PROGRAM_ID as dl}from"@solana/spl-token";import{PublicKey as Mc,SystemProgram as vc}from"@solana/web3.js";import Ec from"bn.js";import{createCloseAccountInstruction as Uc,createInitializeAccountInstruction as Gc,createTransferInstruction as zc,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 kc,PublicKey as Tc}from"@solana/web3.js";import Bc from"bn.js";import{TOKEN_PROGRAM_ID as Kc}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 xu,blob as Vo,Blob as Ku,cstr as Cu,f32 as Ru,f32be as Lu,f64 as Ou,f64be as Nu,greedy as Mu,Layout as _o,ns64 as Fu,ns64be as vu,nu64 as Eo,nu64be as Vu,offset as Do,s16 as _u,s16be as Eu,s24 as Du,s24be as Wu,s32 as Wo,s32be as qu,s40 as Uu,s40be as Gu,s48 as zu,s48be as Xu,s8 as Yu,seq as qo,struct as Qu,Structure as Uo,u16 as Go,u16be as Zu,u24 as Hu,u24be as ju,u32 as zo,u32be as $u,u40 as Ju,u40be as ec,u48 as tc,u48be as nc,u8 as Xo,UInt as Yo,union as oc,Union as ic,unionLayoutDiscriminator as rc,utf8 as ac}from"@solana/buffer-layout";var ut=_o,gn=Uo;var Lt=Yo;var Pn=Xo,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 X(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 xe(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"),X("delegateOption"),o("delegate"),c("state"),X("isNativeOption"),e("isNative"),e("delegatedAmount"),X("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 Cl}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Ll}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 Ke(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 Xe({instructions:r,payer:t,signers:n}){return Mt(r,[t,...n])}function Ye({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"),Fl=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"),Vl=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"),_l=new A("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),pi=new A("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),fi=new A("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),yi=new A("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),El=new A("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),Dl=new A("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),Wl=new A("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),ql=new A("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),Ul=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 Yf from"bn.js";import Zf from"decimal.js";import{TOKEN_PROGRAM_ID as om}from"@solana/spl-token";import{PublicKey as sm}from"@solana/web3.js";var bi=l([X("mintAuthorityOption"),o("mintAuthority"),e("supply"),c("decimals"),c("isInitialized"),X("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 Re=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,Am=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),wm=new D(-1);var km=new D("18446744073700000000");var hi=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)]),Ii=l([X("blockTimestamp"),xe("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"),X("dynamicFeeControl"),X("maxVolatilityAccumulator"),ae("tickSpacingIndexReference"),X("volatilityReference"),X("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"),X(),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)]),Bm=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(X(),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)]),Xn=l([N(8),o("poolId"),N(8*8*yt,"positiveTickArrayBitmap"),N(8*8*yt,"negativeTickArrayBitmap")]),Sm=l([N(8),Z("index"),Z("filterPeriod"),Z("decayPeriod"),Z("reductionFactor"),X("dynamicFeeControl"),X("maxVolatilityAccumulator"),d(e(),8)]),Oi=l([N(8),o("wallet"),c("nonceIndex"),e("orderNonce"),d(e(),4)]),xm=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 Rm from"bn.js";var Wm=Buffer.from("amm_config","utf8"),Mi=Buffer.from("pool","utf8"),Fi=Buffer.from("pool_vault","utf8"),qm=Buffer.from("pool_reward_vault","utf8"),Um=Buffer.from("position","utf8"),Gm=Buffer.from("tick_array","utf8"),zm=Buffer.from("operation","utf8"),Xm=Buffer.from("pool_tick_array_bitmap_extension","utf8"),Ym=Buffer.from("observation","utf8"),Qm=Buffer.from("support_mint","utf8"),Zm=Buffer.from("dynamic_fee_config","utf8");var Hm=Buffer.from("locked_position","utf8");import{sha256 as Hi}from"js-sha256";import vi from"bn.js";import ed from"decimal.js";var nd=new vi(1).shln(256).subn(1);import wd from"bn.js";import cd from"bn.js";import md from"decimal.js";import Bd from"bn.js";import xd 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(Hi.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 tr=l([c("instruction")]),nr=l([c("instruction")]),or=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")]),ir=l([e("state"),e("nonce"),o("lpVault"),o("rewardVault"),o(),o(),e(),e(),e("totalReward"),L("perShareReward"),e("lastSlot"),e("perSlotReward")]),rr=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()]),ar=l([e(),e("state"),e("nonce"),e("validRewardTokenNum"),L("rewardMultiplier"),e("rewardPeriodMax"),e("rewardPeriodMin"),e("rewardPeriodExtend"),o("lpMint"),o("lpVault"),d(or,5,"rewardInfos"),o("creator"),o(),d(e(),32,"padding")]),sr=new Proxy(ir,{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)}}),ur=new Proxy(rr,{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(ar,{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)}}),cr=l([e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),lr=l([c("instruction"),e("nonce"),d(cr,5,"rewardTimeInfo")]),mr=l([c("instruction"),e("rewardReopenTime"),e("rewardEndTime"),e("rewardPerSecond")]),dr=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")]),pr=l([e("state"),o("id"),o("owner"),e("deposited"),d(L(),2,"rewardDebts"),d(e(),17)]),fr=l([e(),e("state"),o("id"),o("owner"),e("deposited"),d(L(),5,"rewardDebts"),d(e(),16)]),yr=l([c("instruction"),e("amount")]),br=l([o("mint"),o("grantAuthority"),e("baselineVoteWeightScaledFactor"),e("maxExtraLockupVoteWeightScaledFactor"),e("lockupSaturationSecs"),In("digitShift"),d(c(),7,"reserved1"),d(e(),7,"reserved2")]),gr=l([N(8),o("governanceProgramId"),o("realm"),o("realmGoverningTokenMint"),o("realmAuthority"),d(c(),32,"reserved1"),d(br,4,"votingMints"),xe("timeOffset"),c("bump"),d(c(),7,"reserved2"),d(e(),11,"reserved3")]),Pr=l([xe("startTime"),xe("endTime"),c("kind"),d(c(),15,"reserved")]),Ar=l([d(Pr,1,"lockup"),e("amountDeposited_native"),e("amountInitiallyLockedNative"),re("isUsed"),re("allowClawback"),c("votingMintConfigIdx"),d(c(),29,"reserved")]),wr=l([N(8),o("voterAuthority"),o("registrar"),d(Ar,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"),kr=new Gt("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Tr=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 Xy}from"@solana/web3.js";import Qy from"bn.js";var fb=E("Raydium.farm.util");var Xb=E("Raydium_farm_instruction"),Yb={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 XA,NATIVE_MINT as YA,TOKEN_PROGRAM_ID as ZA}from"@solana/spl-token";import Vg from"bn.js";import no from"bn.js";var Rr=new no(25),Lr=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 Or=l([c("instruction"),e("amountIn"),e("minAmountOut")]),Nr=l([c("instruction"),e("maxAmountIn"),e("amountOut")]),tP=l([c("instruction"),c("nonce")]),Mr=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")]),Fr=l([c("instruction"),e("baseAmountIn"),e("quoteAmountIn"),e("fixedSide"),e("otherAmountMin")]),vr=l([c("instruction"),e("lpAmount"),e("baseAmountMin"),e("quoteAmountMin")]);var Vr=l([e("fee")]);var TP=E("Raydium_liquidity_instruction");var _r=5e4,Er=l([e("x"),e("y"),e("price")]),SP=l([e("accountType"),e("status"),e("multiplier"),e("validDataCount"),d(Er,_r,"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 Dr(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 Wr=l([N(5),Dr("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 Wk}from"@solana/web3.js";import{AccountLayout as Uk,NATIVE_MINT as Gk,TOKEN_2022_PROGRAM_ID as zk,TOKEN_PROGRAM_ID as Xk,createAssociatedTokenAccountIdempotentInstruction as Yk}from"@solana/spl-token";import Ww from"bn.js";import Qr from"bn.js";var xw=new Qr(0);import Nw from"bn.js";import Zr from"bn.js";var Pt=new Zr(1e6);import tT from"bn.js";import oT from"decimal.js";import{PublicKey as rk,TransactionInstruction as ak,Keypair as uk,SystemProgram as ck}from"@solana/web3.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as mk,TOKEN_2022_PROGRAM_ID as dk,TOKEN_PROGRAM_ID as pk}from"@solana/spl-token";var Xw=Buffer.from("vault_and_lp_mint_auth_seed","utf8"),Yw=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"),Jw=Buffer.from("support_mint","utf8");var ek=Buffer.from("locked_liquidity","utf8");var wk=E("Raydium_cpmm"),kk={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 $r=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)]),Ik=l([N(8),o("configId"),d(e(),30)]);import{PublicKey as FS,SystemProgram as vS}from"@solana/web3.js";import{createTransferInstruction as _S,TOKEN_PROGRAM_ID as ES,TOKEN_2022_PROGRAM_ID as DS,createAssociatedTokenAccountIdempotentInstruction as WS,createSyncNativeInstruction as US,createTransferCheckedInstruction as GS}from"@solana/spl-token";import ya from"bn.js";import YS from"decimal.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as ph,TOKEN_2022_PROGRAM_ID as fh,TOKEN_PROGRAM_ID as yh}from"@solana/spl-token";import{SystemProgram as Ah,TransactionInstruction as wh}from"@solana/web3.js";import ra from"bn.js";var ta=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)]),na=l([e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod"),e("startTime"),e("totalAllocatedShare")]),oa=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"),na.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)]),ao=l([c("migrateType"),c("migrateCpmmFeeOn"),e("supply"),e("totalSellA"),e("totalFundRaisingB"),e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod")]),ia=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(ia,"platformCurve")]);var eh=Buffer.from("vault_auth_seed","utf8"),th=Buffer.from("global_config","utf8"),nh=Buffer.from("pool_vesting","utf8"),oh=Buffer.from("platform_config","utf8"),ih=Buffer.from("platform_fee_vault_auth_seed","utf8"),rh=Buffer.from("creator_fee_vault_auth_seed","utf8"),ah=Buffer.from("platform_global_access","utf8");var Ih={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 Bh=new ra("18446744073709551615");import Rh from"bn.js";import Oh from"decimal.js";import lI from"bn.js";import dI from"decimal.js";import _h from"bn.js";import Dh from"decimal.js";import Hh from"bn.js";import $h 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 fB,TOKEN_2022_PROGRAM_ID as yB,TOKEN_PROGRAM_ID as bB,createAssociatedTokenAccountIdempotentInstruction as PB,createSyncNativeInstruction as AB,getTransferFeeConfig as wB,unpackMint as kB}from"@solana/spl-token";import Y from"bn.js";import{PublicKey as da,SystemProgram as IB}from"@solana/web3.js";import RB from"decimal.js";var LB={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 da("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),vestingSchedule:{totalLockedAmount:new Y(0),cliffPeriod:new Y(0),unlockPeriod:new Y(0),startTime:new Y(0),totalAllocatedShare:new Y(0)}},OB=new Y(1e4);var pa={[Vn.toBase58()]:3};var fa=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 eS}from"@solana/web3.js";var rS=E("Serum");import{ASSOCIATED_TOKEN_PROGRAM_ID as fS,TOKEN_2022_PROGRAM_ID as yS,TOKEN_PROGRAM_ID as bS}from"@solana/spl-token";import{PublicKey as PS,SystemProgram as AS,TransactionInstruction as wS}from"@solana/web3.js";import TS from"bn.js";var hx=new ya(0);import{PublicKey as ba,Transaction as Xt,TransactionInstruction as ga}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Pa}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 Xt().add(...p.slice(0,u.AllTxData.instructions.length-1)),signer:P},{transaction:new Xt().add(...p.slice(u.AllTxData.instructions.length-1)),signer:[]},{transaction:new Xt().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:Pa,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 ga({keys:m,programId:t,data:y})}},se=te;se.CLAIMED_NUM=3,se.POOL_LAYOUT=l([N(8),c("bump"),c(