UNPKG

@raydium-io/raydium-sdk-v2

Version:

An SDK for building applications on top of Raydium.

1 lines 73 kB
var lo=Object.defineProperty,mo=Object.defineProperties;var po=Object.getOwnPropertyDescriptors;var nt=Object.getOwnPropertySymbols;var nn=Object.prototype.hasOwnProperty,on=Object.prototype.propertyIsEnumerable;var tn=(i,t,n)=>t in i?lo(i,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):i[t]=n,K=(i,t)=>{for(var n in t||(t={}))nn.call(t,n)&&tn(i,n,t[n]);if(nt)for(var n of nt(t))on.call(t,n)&&tn(i,n,t[n]);return i},_=(i,t)=>mo(i,po(t));var ue=(i,t)=>{var n={};for(var r in i)nn.call(i,r)&&t.indexOf(r)<0&&(n[r]=i[r]);if(i!=null&&nt)for(var r of nt(i))t.indexOf(r)<0&&on.call(i,r)&&(n[r]=i[r]);return n};import{PublicKey as _e,sendAndConfirmTransaction as Jt,SystemProgram as ka,Transaction as $e,TransactionMessage as Je,VersionedTransaction as et}from"@solana/web3.js";import Ta from"axios";import{PublicKey as Zt,AddressLookupTableAccount as Ve}from"@solana/web3.js";import{PublicKey as wa}from"@solana/web3.js";import he from"bn.js";import FC from"decimal.js";import ho from"big.js";import Wa from"bn.js";import{get as rn,set as fo}from"lodash";var It=class{constructor(t){this.logLevel=t.logLevel!==void 0?t.logLevel:0,this.name=t.name}set level(t){this.logLevel=t}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(t){return t<=this.logLevel}error(...t){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...t),this):this}logWithError(...t){let n=t.map(r=>typeof r=="object"?JSON.stringify(r):r).join(", ");throw new Error(n)}warning(...t){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...t),this):this}info(...t){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...t),this):this}debug(...t){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...t),this):this}},an={},yo={};function E(i){let t=rn(an,i);if(!t){let n=rn(yo,i);t=new It({name:i,logLevel:n}),fo(an,i,t)}return t}import bo from"toformat";var go=bo,De=go;import it from"big.js";import Ao from"bn.js";import wo from"decimal.js-light";import We from"bn.js";var sn=9007199254740991;function ne(i){let t=E("Raydium_parseBigNumberish");if(i instanceof We)return i;if(typeof i=="string"){if(i.match(/^-?[0-9]+$/))return new We(i);t.logWithError(`invalid BigNumberish string: ${i}`)}return typeof i=="number"?(i%1&&t.logWithError(`BigNumberish number underflow: ${i}`),(i>=sn||i<=-sn)&&t.logWithError(`BigNumberish number overflow: ${i}`),new We(String(i))):typeof i=="bigint"?new We(i.toString()):(t.error(`invalid BigNumberish value: ${i}`),new We(0))}var ot=E("module/fraction"),Bt=De(it),qe=De(wo),ko={[0]:qe.ROUND_DOWN,[1]:qe.ROUND_HALF_UP,[2]:qe.ROUND_UP},To={[0]:it.roundDown,[1]:it.roundHalfUp,[2]:it.roundUp},U=class{constructor(t,n=new Ao(1)){this.numerator=ne(t),this.denominator=ne(n)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new U(this.denominator,this.numerator)}add(t){let n=t instanceof U?t:new U(ne(t));return this.denominator.eq(n.denominator)?new U(this.numerator.add(n.numerator),this.denominator):new U(this.numerator.mul(n.denominator).add(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}sub(t){let n=t instanceof U?t:new U(ne(t));return this.denominator.eq(n.denominator)?new U(this.numerator.sub(n.numerator),this.denominator):new U(this.numerator.mul(n.denominator).sub(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}mul(t){let n=t instanceof U?t:new U(ne(t));return new U(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(t){let n=t instanceof U?t:new U(ne(t));return new U(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(t,n={groupSeparator:""},r=1){Number.isInteger(t)||ot.logWithError(`${t} is not an integer.`),t<=0&&ot.logWithError(`${t} is not positive.`),qe.set({precision:t+1,rounding:ko[r]});let u=new qe(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(t);return u.toFormat(u.decimalPlaces(),n)}toFixed(t,n={groupSeparator:""},r=1){return Number.isInteger(t)||ot.logWithError(`${t} is not an integer.`),t<0&&ot.logWithError(`${t} is negative.`),Bt.DP=t,Bt.RM=To[r]||1,new Bt(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,n)}isZero(){return this.numerator.isZero()}};var Ha=E("Raydium_amount"),ja=De(ho);import{PublicKey as Bo}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as un}from"@solana/spl-token";var rt={chainId:101,address:Bo.default.toBase58(),programId:un.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:un.toBase58(),decimals:9,symbol:"WSOL",name:"Wrapped SOL",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}};import{PublicKey as xt}from"@solana/web3.js";import{PublicKey as z,SystemProgram as cn,SYSVAR_RENT_PUBKEY as So}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as xo}from"@solana/spl-token";function Be({pubkey:i,isSigner:t=!1,isWritable:n=!0}){return{pubkey:i,isWritable:n,isSigner:t}}var Ko=[Be({pubkey:xo,isWritable:!1}),Be({pubkey:cn.programId,isWritable:!1}),Be({pubkey:So,isWritable:!1})];function ln({publicKey:i,transformSol:t}){let n=mn(i.toString());if(n instanceof z)return t&&n.equals(Pe)?le:n;if(t&&n.toString()===Pe.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 mn(i){try{return new z(i)}catch{return i}}var St=new z("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Se=new z("SysvarRent111111111111111111111111111111111"),Co=new z("SysvarC1ock11111111111111111111111111111111"),at=new z("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),Ro=new z("Sysvar1nstructions1111111111111111111111111"),dn=cn.programId,rs=new z("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),as=new z("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),ss=new z("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),us=new z("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),cs=new z("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),ls=new z("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),ms=new z("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),ds=new z("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),ps=new z("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),fs=new z("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),ys=new z("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),le=new z("So11111111111111111111111111111111111111112"),Pe=z.default;var Kt=class{constructor({mint:t,decimals:n,symbol:r,name:u,skipMint:d=!1,isToken2022:y=!1}){if(t===Pe.toBase58()||t instanceof xt&&Pe.equals(t)){this.decimals=ce.decimals,this.symbol=ce.symbol,this.name=ce.name,this.mint=new xt(ce.address),this.isToken2022=!1;return}this.decimals=n,this.symbol=r||t.toString().substring(0,6),this.name=u||t.toString().substring(0,6),this.mint=d?xt.default:ln({publicKey:t}),this.isToken2022=y}equals(t){return this===t?!0:this.mint.equals(t.mint)}},J=Kt;J.WSOL=new Kt(_(K({},ce),{mint:ce.address}));var Ct=class{constructor({decimals:t,symbol:n="UNKNOWN",name:r="UNKNOWN"}){this.decimals=t,this.symbol=n,this.name=r}equals(t){return this===t}},st=Ct;st.SOL=new Ct(rt);import Lo from"bn.js";var xs=new U(new Lo(100));var Ns=E("Raydium_price");import{merge as FK}from"lodash";import qs from"axios";var pn={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"},Oo=_(K({},pn),{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 mu=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";var Rt=(...i)=>i.map(t=>{try{return typeof t=="object"?JSON.stringify(t):t}catch{return t}}).join(", "),oe=class{constructor({scope:t,moduleName:n}){this.disabled=!1;this.scope=t,this.logger=E(n)}createTxBuilder(t){return this.scope.checkOwner(),new ut({connection:this.scope.connection,feePayer:t||this.scope.ownerPubKey,cluster:this.scope.cluster,owner:this.scope.owner,blockhashCommitment:this.scope.blockhashCommitment,loopMultiTxStatus:this.scope.loopMultiTxStatus,api:this.scope.api,signAllTransactions:this.scope.signAllTransactions})}logDebug(...t){this.logger.debug(Rt(t))}logInfo(...t){this.logger.info(Rt(t))}logAndCreateError(...t){let n=Rt(t);throw new Error(n)}checkDisabled(){(this.disabled||!this.scope)&&this.logAndCreateError("module not working")}};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 Yc}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 zo}from"@solana/web3.js";import An,{isBN as wn}from"bn.js";import{bits as No,BitStructure as xu,blob as Mo,Blob as Ku,cstr as Cu,f32 as Ru,f32be as Lu,f64 as Ou,f64be as Nu,greedy as Mu,Layout as Fo,ns64 as Fu,ns64be as vu,nu64 as vo,nu64be as Vu,offset as Vo,s16 as _u,s16be as Eu,s24 as Du,s24be as Wu,s32 as _o,s32be as qu,s40 as Uu,s40be as Gu,s48 as zu,s48be as Yu,s8 as Xu,seq as Eo,struct as Qu,Structure as Do,u16 as Wo,u16be as Zu,u24 as Hu,u24be as ju,u32 as qo,u32be as $u,u40 as Ju,u40be as ec,u48 as tc,u48be as nc,u8 as Uo,UInt as Go,union as oc,Union as ic,unionLayoutDiscriminator as rc,utf8 as ac}from"@solana/buffer-layout";var ct=Fo,fn=Do;var Lt=Go;var yn=Uo,Z=Wo;var lt=qo;var bn=vo;var ae=_o;var gn=Eo;var N=Mo;var Ot=No,Pn=Vo;var Ae=class extends ct{constructor(n,r,u){super(n,u);this.blob=N(n),this.signed=r}decode(n,r=0){let u=new An(this.blob.decode(n,r),10,"le");return this.signed?u.fromTwos(this.span*8).clone():u}encode(n,r,u=0){return typeof n=="number"&&(n=new An(n)),this.signed&&(n=n.toTwos(this.span*8)),this.blob.encode(n.toArrayLike(Buffer,"le",this.span),r,u)}},mt=class extends ct{constructor(n){super(8,n);this._lower=Ot(lt(),!1),this._upper=Ot(lt(),!1)}addBoolean(n){this._lower.fields.length<32?this._lower.addBoolean(n):this._upper.addBoolean(n)}decode(n,r=0){let u=this._lower.decode(n,r),d=this._upper.decode(n,r+this._lower.span);return K(K({},u),d)}encode(n,r,u=0){return this._lower.encode(n,r,u)+this._upper.encode(n,r,u+this._lower.span)}};function c(i){return new Lt(1,i)}function Y(i){return new Lt(4,i)}function e(i){return new Ae(8,!1,i)}function L(i){return new Ae(16,!1,i)}function kn(i){return new Ae(1,!0,i)}function xe(i){return new Ae(8,!0,i)}function Tn(i){return new Ae(16,!0,i)}var Ge=class extends ct{constructor(n,r,u,d){super(n.span,d);this.layout=n,this.decoder=r,this.encoder=u}decode(n,r){return this.decoder(this.layout.decode(n,r))}encode(n,r,u){return this.layout.encode(this.encoder(n),r,u)}getSpan(n,r){return this.layout.getSpan(n,r)}};function o(i){return new Ge(N(32),t=>new zo(t),t=>t.toBuffer(),i)}function re(i){return new Ge(yn(),Yo,Xo,i)}function Yo(i){if(i===0)return!1;if(i===1)return!0;throw new Error("Invalid bool: "+i)}function Xo(i){return i?1:0}function hn(i,t){let n=lt("length"),r=l([n,m(i,Pn(n,-n.span),"values")]);return new Ge(r,({values:u})=>u,u=>({values:u}),t)}var Nt=class extends fn{decode(t,n){return super.decode(t,n)}};function l(i,t,n){return new Nt(i,t,n)}function m(i,t,n){let r,u=typeof t=="number"?t:wn(t)?t.toNumber():new Proxy(t,{get(d,y){if(!r){let f=Reflect.get(d,"count");r=wn(f)?f.toNumber():f,Reflect.set(d,"count",r)}return Reflect.get(d,y)},set(d,y,f){return y==="count"&&(r=f),Reflect.set(d,y,f)}});return gn(i,u,n)}var dt=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 cg,SystemProgram as lg}from"@solana/web3.js";import{createAssociatedTokenAccountIdempotentInstruction as dg}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 Bn,Keypair as xn,PublicKey as Zo,Transaction as Kn,TransactionMessage as Ho,VersionedTransaction as Cn}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as jo}from"@solana/spl-token";var Sn=E("Raydium_txUtil"),Rn=1644;function ft(i){let t=[],n=[];return i.microLamports&&(t.push(Bn.setComputeUnitPrice({microLamports:i.microLamports})),n.push(Q.SetComputeUnitPrice)),i.units&&(t.push(Bn.setComputeUnitLimit({units:i.units})),n.push(Q.SetComputeUnitLimit)),{instructions:t,instructionTypes:n}}async function Ke(i,t){var r,u;let n=t!=null?t:"confirmed";return(u=await((r=i.getLatestBlockhash)==null?void 0:r.call(i,{commitment:n})))==null?void 0:u.blockhash}async function yt(i,t){return i.getSignatureStatuses([t]),new Promise((n,r)=>{let u=setTimeout(r,6e4);i.onSignature(t,d=>{if(clearTimeout(u),!d.err){n("");return}r(Object.assign(d.err,{txId:t}))},"confirmed")})}function Mt(i,t){i.length<1&&Sn.logWithError(`no instructions provided: ${i.toString()}`),t.length<1&&Sn.logWithError(`no signers provided:, ${t.toString()}`);let n=new Kn;n.recentBlockhash="11111111111111111111111111111111",n.feePayer=t[0],n.add(...i);try{return Buffer.from(n.serialize({verifySignatures:!1})).toString("base64").length<Rn}catch{return!1}}function de(i,t){let[n,r]=Zo.findProgramAddressSync(i,t);return{publicKey:n,nonce:r}}function ze({instructions:i,payer:t,signers:n}){return Mt(i,[t,...n])}function Ye({instructions:i,payer:t,lookupTableAddressAccount:n,recentBlockhash:r=xn.generate().publicKey.toString()}){let d=new Ho({payerKey:t,recentBlockhash:r,instructions:i}).compileToV0Message(Object.values(n!=null?n:{}));try{return Buffer.from(new Cn(d).serialize()).toString("base64").length<Rn}catch{return!1}}var $o=i=>Buffer.isBuffer(i)?i:i instanceof Uint8Array?Buffer.from(i.buffer,i.byteOffset,i.byteLength):Buffer.from(i),Jo=i=>{let t=i.serialize({requireAllSignatures:!1,verifySignatures:!1});i instanceof Cn&&(t=$o(t));try{return t instanceof Buffer?t.toString("base64"):Buffer.from(t).toString("base64")}catch{return t.toString("base64")}};function we(i){let t=[];return i.forEach(n=>{n instanceof Kn&&(n.recentBlockhash||(n.recentBlockhash=jo.toBase58()),n.feePayer||(n.feePayer=xn.generate().publicKey)),t.push(Jo(n))}),console.log("simulate tx string:",t),t}import{PublicKey as g}from"@solana/web3.js";var Ln=new g("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),On=new g("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),Nn=new g("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Ft=new g("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),Fl=new g("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),ei=new g("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),Mn=new g("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),Fn=new g("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),vl=new g("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),ti=new g("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),vn=new g("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),ni=new g("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),oi=new g("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),Vn=new g("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Vl=new g("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),ii=new g("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),ri=new g("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),ai=new g("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),si=new g("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),ui=new g("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi"),vt=new g("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),ci=new g("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),_l=new g("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),li=new g("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),mi=new g("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),di=new g("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),El=new g("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),Dl=new g("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),Wl=new g("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),ql=new g("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),Ul=new g("6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX"),Xe={IDO_PROGRAM_ID_V1:ri,IDO_PROGRAM_ID_V2:ai,IDO_PROGRAM_ID_V3:si,IDO_PROGRAM_ID_V4:ui};var be={OPEN_BOOK_PROGRAM:new g("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),SERUM_PROGRAM_ID_V3:new g("Ray1111111111111111111111111111111111111111"),AMM_V4:new g("DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav"),AMM_STABLE:new g("DRayDdXc1NZQ9C3hRWmoSf8zK4iapgMnjdNZWrfwsP8m"),CLMM_PROGRAM_ID:new g("DRayAUgENGQBKVaX8owNhgzkEDyoHTGVEGHVJT1E9pfH"),CLMM_LOCK_PROGRAM_ID:new g("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),CLMM_LOCK_AUTH_ID:new g("6Aoh8h2Lw2m5UGxYR8AdAL87jTWYeKoxM52mJRzfYwN"),CREATE_CPMM_POOL_PROGRAM:new g("DRaycpLY18LhpbydsBWbVJtxpNv9oXPgjRSfpF2bWpYb"),CREATE_CPMM_POOL_AUTH:new g("CXniRufdq5xL8t8jZAPxsPZDpuudwuJSPWnbcD5Y5Nxq"),CREATE_CPMM_POOL_FEE_ACC:new g("3oE58BKVt8KuYkGxx8zBojugnymWmBiyafWgMrnb6eYy"),LOCK_CPMM_PROGRAM:new g("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),LOCK_CPMM_AUTH:new g("7qWVV8UY2bRJfDLP4s37YzBPKUkVB46DStYJBpYbQzu3"),UTIL1216:g.default,Router:new g("DRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd"),FARM_PROGRAM_ID_V3:new g("DRayWyrLmEW5KEeqs8kdTMMaBabapqagaBC7KWpGtJeZ"),FARM_PROGRAM_ID_V4:new g("Ray1111111111111111111111111111111111111111"),FARM_PROGRAM_ID_V5:new g("DRayiCGSZgku1GTK6rXD6mVDdingXy6APAH1R6R5L2LC"),FARM_PROGRAM_ID_V6:new g("DRayzbYakXs45ELHkzH6vC3fuhQqTAnv5A68gdFuvZyZ"),LAUNCHPAD_PROGRAM:new g("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),LAUNCHPAD_AUTH:new g("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),LAUNCHPAD_PLATFORM:new g("2Jx4KTDrVSdWNazuGpcA8n3ZLTRGGBDxAWhuKe2Xcj2a"),LAUNCHPAD_CONFIG:new g("7ZR4zD7PYfY2XxoG1Gxcy2EgEeGYrpxrwzPuwdUBssEt"),FEE_DESTINATION_ID:new g("9y8ENuuZ3b19quffx9hQvRVygG5ky6snHfRvGpuSfeJy"),MODEL_DATA_PUBKEY:new g("Ray1111111111111111111111111111111111111111")};import Tg from"decimal.js";import{createAssociatedTokenAccountIdempotentInstruction as Df,TOKEN_2022_PROGRAM_ID as Wf,TOKEN_PROGRAM_ID as qf}from"@solana/spl-token";import{PublicKey as Gf}from"@solana/web3.js";import Yf from"bn.js";import Qf from"decimal.js";import{TOKEN_PROGRAM_ID as om}from"@solana/spl-token";import{PublicKey as sm}from"@solana/web3.js";var pi=l([Y("mintAuthorityOption"),o("mintAuthority"),e("supply"),c("decimals"),c("isInitialized"),Y("freezeAuthorityOption"),o("freezeAuthority")]);import{ASSOCIATED_TOKEN_PROGRAM_ID as uf,TOKEN_2022_PROGRAM_ID as cf,TOKEN_PROGRAM_ID as lf}from"@solana/spl-token";import{Keypair as pf,PublicKey as ff,SystemProgram as bf,TransactionInstruction as gf}from"@solana/web3.js";import Af from"bn.js";import D from"bn.js";var ke=new D(1).shln(64);var fi=new D(1).shln(128),Vt=new D(1).shln(64).subn(1),yi=new D(1).shln(128).subn(1);var Re=new D("4295048016"),Le=new D("79226673521066979257578248091"),bi=new D("59543866431248"),gi=new D("184467440737095516"),Pi=new D("15793534762490258745");var _t=60,Am=new D("18446743708227953217"),Ai=[{bit:0,factor:new D("fffcb933bd6fb800",16)},{bit:1,factor:new D("fff97272373d4000",16)},{bit:2,factor:new D("fff2e50f5f657000",16)},{bit:3,factor:new D("ffe5caca7e10f000",16)},{bit:4,factor:new D("ffcb9843d60f7000",16)},{bit:5,factor:new D("ff973b41fa98e800",16)},{bit:6,factor:new D("ff2ea16466c9b000",16)},{bit:7,factor:new D("fe5dee046a9a3800",16)},{bit:8,factor:new D("fcbe86c7900bb000",16)},{bit:9,factor:new D("f987a7253ac65800",16)},{bit:10,factor:new D("f3392b0822bb6000",16)},{bit:11,factor:new D("e7159475a2caf000",16)},{bit:12,factor:new D("d097f3bdfd2f2000",16)},{bit:13,factor:new D("a9f746462d9f8000",16)},{bit:14,factor:new D("70d869a156f31c00",16)},{bit:15,factor:new D("31be135f97ed3200",16)},{bit:16,factor:new D("9aa508b5b85a500",16)},{bit:17,factor:new D("5d6af8dedc582c",16)},{bit:18,factor:new D("2216e584f5fa",16)}];var Qe=3,_n=100;var En=10,Dn=100,bt=14;var H=new D(0),Oe=new D(1),wm=new D(-1);var km=new D("18446744073700000000");var wi=l([N(8),c("bump"),Z("index"),o("owner"),Y("protocolFeeRate"),Y("tradeFeeRate"),Z("tickSpacing"),Y("fundFeeRate"),m(Y(),1),o("fundOwner"),m(e(),3)]),ki=l([Y("blockTimestamp"),xe("tickCumulative"),m(e(),4)]),Wn=l([N(8),re("initialized"),e("recentEpoch"),Z("observationIndex"),o("poolId"),m(ki,_n,"observations"),m(e(),4)]),Ti=l([Z("filterPeriod"),Z("decayPeriod"),Z("reductionFactor"),Y("dynamicFeeControl"),Y("maxVolatilityAccumulator"),ae("tickSpacingIndexReference"),Y("volatilityReference"),Y("volatilityAccumulator"),e("lastUpdateTimestamp"),m(c(),46)]),hi=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"),m(L(),4),c("status"),c("feeOn"),N(6),m(hi,Qe,"rewardInfos"),N(8*16,"tickArrayBitmap"),m(e(),4),e("fundFeesTokenA"),e("fundFeesTokenB"),e("startTime"),e("recentEpoch"),Ti.replicate("dynamicFeeInfo"),m(e(),46)]),Ii=l([L("growthInsideLastX64"),e("rewardAmountOwed")]),Bi=l([N(8),c("bump"),o("nftMint"),o("poolId"),ae("tickLower"),ae("tickUpper"),L("liquidity"),L("feeGrowthInsideLastX64A"),L("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),m(Ii,Qe,"rewardInfos"),e("recentEpoch"),m(e(),7)]),Bm=l([N(8),c("bump"),o("poolId"),ae("tickLower"),ae("tickUpper"),L("liquidity"),L("feeGrowthInsideLastX64A"),L("feeGrowthInsideLastX64B"),e("tokenFeesOwedA"),e("tokenFeesOwedB"),m(L(),Qe,"rewardGrowthInside"),e("recentEpoch"),m(e(),7)]),Si=l([ae("tick"),Tn("liquidityNet"),L("liquidityGross"),L("feeGrowthOutsideX64A"),L("feeGrowthOutsideX64B"),m(L(),Qe,"rewardGrowthsOutsideX64"),e("orderPhase"),e("ordersAmount"),e("partFilledOrdersRemaining"),L("unfilledRatioX64"),m(Y(),3)]),qn=l([N(8),o("poolId"),ae("startTickIndex"),m(Si,_t,"ticks"),c("initializedTickCount"),e("recentEpoch"),m(c(),107)]),xi=l([N(8),c("bump"),m(o(),En,"operationOwners"),m(o(),Dn,"whitelistMints")]),Ki=l([N(8),o("poolId"),o("owner"),ae("tick"),re("zeroForOne"),e("orderPhase"),e("totalAmount"),e("filledAmount"),e("settleBase"),e("settleOutput"),e("openTime"),L("unfilledRatioX64"),m(e(),4)]),Un=l([N(8),o("poolId"),N(8*8*bt,"positiveTickArrayBitmap"),N(8*8*bt,"negativeTickArrayBitmap")]),Sm=l([N(8),Z("index"),Z("filterPeriod"),Z("decayPeriod"),Z("reductionFactor"),Y("dynamicFeeControl"),Y("maxVolatilityAccumulator"),m(e(),8)]),Ci=l([N(8),o("wallet"),c("nonceIndex"),e("orderNonce"),m(e(),4)]),xm=l([e(),c("bump"),o("owner"),o("poolId"),o("positionId"),o("nftAccount"),m(e(),8)]),Ri=l([N(8),c("bump"),o("lockOwner"),o("poolId"),o("positionId"),o("nftAccount"),o("lockNftMint"),e("recentEpoch"),m(e(),8)]);import Rm from"bn.js";var Wm=Buffer.from("amm_config","utf8"),Li=Buffer.from("pool","utf8"),Oi=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"),Ym=Buffer.from("pool_tick_array_bitmap_extension","utf8"),Xm=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 Qi}from"js-sha256";import Ni from"bn.js";import ed from"decimal.js";var nd=new Ni(1).shln(256).subn(1);import wd from"bn.js";import cd from"bn.js";import md from"decimal.js";import Kd from"bn.js";import Rd from"decimal.js";import{PublicKey as dp}from"@solana/web3.js";import fp from"bn.js";import{TOKEN_2022_PROGRAM_ID as Tp}from"@solana/spl-token";import Sp from"decimal.js";import tp from"bn.js";import qd from"bn.js";import Fp from"bn.js";function $(i){let t=`global:${i}`;return Buffer.from(Qi.digest(t)).slice(0,8)}Wn.span;var xf=E("Raydium_Clmm"),Kf={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 Ji=l([c("instruction")]),er=l([c("instruction")]),tr=l([e("rewardState"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardLastUpdateTime"),e("totalReward"),e("totalRewardEmissioned"),e("rewardClaimed"),e("rewardPerSecond"),L("accRewardPerShare"),o("rewardVault"),o("rewardMint"),o("rewardSender"),e("rewardType"),m(e(),15,"padding")]),nr=l([e("state"),e("nonce"),o("lpVault"),o("rewardVault"),o(),o(),e(),e(),e("totalReward"),L("perShareReward"),e("lastSlot"),e("perSlotReward")]),or=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()]),ir=l([e(),e("state"),e("nonce"),e("validRewardTokenNum"),L("rewardMultiplier"),e("rewardPeriodMax"),e("rewardPeriodMin"),e("rewardPeriodExtend"),o("lpMint"),o("lpVault"),m(tr,5,"rewardInfos"),o("creator"),o(),m(e(),32,"padding")]),rr=new Proxy(nr,{get(i,t,n){return t==="decode"?(...r)=>{let u=i.decode(...r);return _(K({},u),{version:3,rewardInfos:[{rewardVault:u.rewardVault,totalReward:u.totalReward,perSlotReward:u.perSlotReward,perShareReward:u.perShareReward}]})}:Reflect.get(i,t,n)}}),ar=new Proxy(or,{get(i,t,n){return t==="decode"?(...r)=>{let u=i.decode(...r);return _(K({},u),{version:5,rewardInfos:[{rewardVault:u.rewardVaultA,totalReward:u.totalRewardA,perSlotReward:u.perSlotRewardA,perShareReward:u.perShareRewardA},{rewardVault:u.rewardVaultB,totalReward:u.totalRewardB,perSlotReward:u.perSlotRewardB,perShareReward:u.perShareRewardB}]})}:Reflect.get(i,t,n)}}),Zn=new Proxy(ir,{get(i,t,n){return t==="decode"?(...r)=>{let u=i.decode(...r);return _(K({},u),{version:6,rewardInfos:u.rewardInfos.map(d=>{var y;return _(K({},d),{rewardType:((y=Object.entries(je).find(f=>String(f[1])===d.rewardType.toString()))!=null?y:["Standard SPL"])[0]})})})}:Reflect.get(i,t,n)}}),sr=l([e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),ur=l([c("instruction"),e("nonce"),m(sr,5,"rewardTimeInfo")]),cr=l([c("instruction"),e("rewardReopenTime"),e("rewardEndTime"),e("rewardPerSecond")]),lr=l([c("instruction"),e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),xy=l([e("state"),o("id"),o("owner"),e("deposited"),m(e(),1,"rewardDebts")]),Hn=l([e("state"),o("id"),o("owner"),e("deposited"),m(L(),1,"rewardDebts"),e(""),e("voteLockedBalance"),m(e(),15)]),Ky=l([e("state"),o("id"),o("owner"),e("deposited"),m(e(),2,"rewardDebts")]),mr=l([e("state"),o("id"),o("owner"),e("deposited"),m(L(),2,"rewardDebts"),m(e(),17)]),dr=l([e(),e("state"),o("id"),o("owner"),e("deposited"),m(L(),5,"rewardDebts"),m(e(),16)]),pr=l([c("instruction"),e("amount")]),fr=l([o("mint"),o("grantAuthority"),e("baselineVoteWeightScaledFactor"),e("maxExtraLockupVoteWeightScaledFactor"),e("lockupSaturationSecs"),kn("digitShift"),m(c(),7,"reserved1"),m(e(),7,"reserved2")]),yr=l([N(8),o("governanceProgramId"),o("realm"),o("realmGoverningTokenMint"),o("realmAuthority"),m(c(),32,"reserved1"),m(fr,4,"votingMints"),xe("timeOffset"),c("bump"),m(c(),7,"reserved2"),m(e(),11,"reserved3")]),br=l([xe("startTime"),xe("endTime"),c("kind"),m(c(),15,"reserved")]),gr=l([m(br,1,"lockup"),e("amountDeposited_native"),e("amountInitiallyLockedNative"),re("isUsed"),re("allowClawback"),c("votingMintConfigIdx"),m(c(),29,"reserved")]),Pr=l([N(8),o("voterAuthority"),o("registrar"),m(gr,32,"deposits"),c("voterBump"),c("voterWweightRecordBump"),m(c(),94,"reserved")]);import{NATIVE_MINT as Vy}from"@solana/spl-token";var _y=E("Raydium_farm_config"),Ar=new Gt("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),wr=new Gt("FrspKwj8i3pNmKwXreTveC4fu7KL5ZbGeXdZBe2XViu1");var Ey=new Gt("3TRTX4dXUpp2eqxi3tvQDFYUV7SdDJjcPE3Y4mbtftaX");var je={"Standard SPL":0,"Option tokens":1},jn={[Ln.toString()]:3,[On.toString()]:4,[Nn.toString()]:5,[Ft.toString()]:6,[be.FARM_PROGRAM_ID_V3.toString()]:3,[be.FARM_PROGRAM_ID_V4.toString()]:4,[be.FARM_PROGRAM_ID_V5.toString()]:5,[be.FARM_PROGRAM_ID_V6.toString()]:6};import{PublicKey as Ib,SystemProgram as Bb,SYSVAR_CLOCK_PUBKEY as Sb,SYSVAR_RENT_PUBKEY as xb,TransactionInstruction as Kb}from"@solana/web3.js";import Rb from"bn.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as Ob,createAssociatedTokenAccountIdempotentInstruction as Nb,TOKEN_PROGRAM_ID as Mb}from"@solana/spl-token";import eb from"bn.js";import{PublicKey as zy}from"@solana/web3.js";import Xy from"bn.js";var pb=E("Raydium.farm.util");var zb=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 Ng from"bn.js";import{PublicKey as WA}from"@solana/web3.js";import{AccountLayout as GA,MintLayout as zA,NATIVE_MINT as YA,TOKEN_PROGRAM_ID as QA}from"@solana/spl-token";import vg from"bn.js";import Jn from"bn.js";var Kr=new Jn(25),Cr=new Jn(1e4);import{ASSOCIATED_TOKEN_PROGRAM_ID as iP,TOKEN_PROGRAM_ID as rP}from"@solana/spl-token";import{PublicKey as sP,SystemProgram as uP,SYSVAR_RENT_PUBKEY as cP,TransactionInstruction as lP}from"@solana/web3.js";import PP from"bn.js";var Rr=l([c("instruction"),e("amountIn"),e("minAmountOut")]),Lr=l([c("instruction"),e("maxAmountIn"),e("amountOut")]),eP=l([c("instruction"),c("nonce")]),Or=l([c("instruction"),c("nonce"),e("startTime")]),eo=l([e("status"),e("nonce"),e("maxOrder"),e("depth"),e("baseDecimal"),e("quoteDecimal"),e("state"),e("resetFlag"),e("minSize"),e("volMaxCutRatio"),e("amountWaveRatio"),e("baseLotSize"),e("quoteLotSize"),e("minPriceMultiplier"),e("maxPriceMultiplier"),e("systemDecimalValue"),e("minSeparateNumerator"),e("minSeparateDenominator"),e("tradeFeeNumerator"),e("tradeFeeDenominator"),e("pnlNumerator"),e("pnlDenominator"),e("swapFeeNumerator"),e("swapFeeDenominator"),e("baseNeedTakePnl"),e("quoteNeedTakePnl"),e("quoteTotalPnl"),e("baseTotalPnl"),e("poolOpenTime"),e("punishPcAmount"),e("punishCoinAmount"),e("orderbookToInitTime"),L("swapBaseInAmount"),L("swapQuoteOutAmount"),e("swapBase2QuoteFee"),L("swapQuoteInAmount"),L("swapBaseOutAmount"),e("swapQuote2BaseFee"),o("baseVault"),o("quoteVault"),o("baseMint"),o("quoteMint"),o("lpMint"),o("openOrders"),o("marketId"),o("marketProgramId"),o("targetOrders"),o("withdrawQueue"),o("lpVault"),o("owner"),e("lpReserve"),m(e(),3,"padding")]),tP=l([e("accountType"),e("status"),e("nonce"),e("maxOrder"),e("depth"),e("baseDecimal"),e("quoteDecimal"),e("state"),e("resetFlag"),e("minSize"),e("volMaxCutRatio"),e("amountWaveRatio"),e("baseLotSize"),e("quoteLotSize"),e("minPriceMultiplier"),e("maxPriceMultiplier"),e("systemDecimalsValue"),e("abortTradeFactor"),e("priceTickMultiplier"),e("priceTick"),e("minSeparateNumerator"),e("minSeparateDenominator"),e("tradeFeeNumerator"),e("tradeFeeDenominator"),e("pnlNumerator"),e("pnlDenominator"),e("swapFeeNumerator"),e("swapFeeDenominator"),e("baseNeedTakePnl"),e("quoteNeedTakePnl"),e("quoteTotalPnl"),e("baseTotalPnl"),e("poolOpenTime"),e("punishPcAmount"),e("punishCoinAmount"),e("orderbookToInitTime"),L("swapBaseInAmount"),L("swapQuoteOutAmount"),L("swapQuoteInAmount"),L("swapBaseOutAmount"),e("swapQuote2BaseFee"),e("swapBase2QuoteFee"),o("baseVault"),o("quoteVault"),o("baseMint"),o("quoteMint"),o("lpMint"),o("modelDataAccount"),o("openOrders"),o("marketId"),o("marketProgramId"),o("targetOrders"),o("owner"),m(e(),64,"padding")]),Nr=l([c("instruction"),e("baseAmountIn"),e("quoteAmountIn"),e("fixedSide"),e("otherAmountMin")]),Mr=l([c("instruction"),e("lpAmount"),e("baseAmountMin"),e("quoteAmountMin")]);var Fr=l([e("fee")]);var kP=E("Raydium_liquidity_instruction");var vr=5e4,Vr=l([e("x"),e("y"),e("price")]),BP=l([e("accountType"),e("status"),e("multiplier"),e("validDataCount"),m(Vr,vr,"DataElement")]);import{PublicKey as VP}from"@solana/web3.js";import EP from"decimal.js";import{TOKEN_PROGRAM_ID as WP}from"@solana/spl-token";import{PublicKey as CP}from"@solana/web3.js";var OP=E("Raydium_liquidity_serum");import fw from"bn.js";import bw from"decimal.js";import{TOKEN_PROGRAM_ID as fA}from"@solana/spl-token";import{PublicKey as bA}from"@solana/web3.js";import PA from"bn.js";import{SystemProgram as tA,SYSVAR_RENT_PUBKEY as nA,Transaction as oA,TransactionInstruction as iA}from"@solana/web3.js";import{createInitializeAccountInstruction as aA,TOKEN_PROGRAM_ID as sA}from"@solana/spl-token";function _r(i="accountFlags"){let t=new mt(i);return t.addBoolean("initialized"),t.addBoolean("market"),t.addBoolean("openOrders"),t.addBoolean("requestQueue"),t.addBoolean("eventQueue"),t.addBoolean("bids"),t.addBoolean("asks"),t}var Er=l([N(5),_r("accountFlags"),o("ownAddress"),e("vaultSignerNonce"),o("baseMint"),o("quoteMint"),o("baseVault"),e("baseDepositsTotal"),e("baseFeesAccrued"),o("quoteVault"),e("quoteDepositsTotal"),e("quoteFeesAccrued"),e("quoteDustThreshold"),o("requestQueue"),o("eventQueue"),o("bids"),o("asks"),e("baseLotSize"),e("quoteLotSize"),e("feeRateBps"),e("referrerRebatesAccrued"),N(7)]);import{PublicKey as _k}from"@solana/web3.js";import{AccountLayout as Dk,NATIVE_MINT as Wk,TOKEN_PROGRAM_ID as qk,createAssociatedTokenAccountIdempotentInstruction as Uk}from"@solana/spl-token";import Dw from"bn.js";import Yr from"bn.js";var Sw=new Yr(0);import Ow from"bn.js";import Xr from"bn.js";var At=new Xr(1e6);import jk from"bn.js";import Jk from"decimal.js";import{PublicKey as ok,TransactionInstruction as ik,Keypair as ak,SystemProgram as sk}from"@solana/web3.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as ck,TOKEN_2022_PROGRAM_ID as lk,TOKEN_PROGRAM_ID as mk}from"@solana/spl-token";var zw=Buffer.from("vault_and_lp_mint_auth_seed","utf8"),Yw=Buffer.from("amm_config","utf8"),Xw=Buffer.from("pool","utf8"),Qw=Buffer.from("pool_lp_mint","utf8"),Zw=Buffer.from("pool_vault","utf8"),Hw=Buffer.from("observation","utf8"),jw=Buffer.from("permission","utf8");var $w=Buffer.from("locked_liquidity","utf8");var Pk=E("Raydium_cpmm"),Ak={initialize:[175,175,109,31,13,152,155,237],deposit:[242,35,198,137,82,225,242,182],withdraw:[183,18,70,156,148,109,161,34],swapBaseInput:[143,190,90,218,196,30,51,222],swapBaseOutput:[55,217,98,86,163,74,180,173],lockCpLiquidity:[216,157,29,78,38,51,31,26],collectCpFee:[8,30,51,199,209,184,247,133],createPermissionPda:Buffer.from([135,136,2,216,137,169,181,202]),closePermissionPda:Buffer.from([156,84,32,118,69,135,70,123]),initializeWithPermission:Buffer.from([63,55,254,65,49,178,89,121]),collectCreatorFee:Buffer.from([20,22,86,123,198,28,219,132])};var Hr=l([N(8),c("bump"),re("disableCreatePool"),Z("index"),e("tradeFeeRate"),e("protocolFeeRate"),e("fundFeeRate"),e("createPoolFee"),o("protocolOwner"),o("fundOwner"),e("creatorFeeRate"),m(e(),15)]),to=l([N(8),o("configId"),o("poolCreator"),o("vaultA"),o("vaultB"),o("mintLp"),o("mintA"),o("mintB"),o("mintProgramA"),o("mintProgramB"),o("observationId"),c("bump"),c("status"),c("lpDecimals"),c("mintDecimalA"),c("mintDecimalB"),e("lpAmount"),e("protocolFeesMintA"),e("protocolFeesMintB"),e("fundFeesMintA"),e("fundFeesMintB"),e("openTime"),e("epoch"),c("feeOn"),re("enableCreatorFee"),m(c(),6),e("creatorFeesMintA"),e("creatorFeesMintB"),m(e(),28)]),Tk=l([N(8),o("configId"),m(e(),30)]);import{PublicKey as LS,SystemProgram as OS}from"@solana/web3.js";import{createTransferInstruction as MS,TOKEN_PROGRAM_ID as FS,TOKEN_2022_PROGRAM_ID as vS,createAssociatedTokenAccountIdempotentInstruction as VS,createSyncNativeInstruction as ES,createTransferCheckedInstruction as DS}from"@solana/spl-token";import pa from"bn.js";import US from"decimal.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as ch,TOKEN_2022_PROGRAM_ID as lh,TOKEN_PROGRAM_ID as mh}from"@solana/spl-token";import{SystemProgram as yh,TransactionInstruction as bh}from"@solana/web3.js";import oa from"bn.js";var Jr=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"),m(e(),16)]),ea=l([e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod"),e("startTime"),e("totalAllocatedShare")]),ta=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"),ea.replicate("vestingSchedule"),o("configId"),o("platformId"),o("mintA"),o("mintB"),o("vaultA"),o("vaultB"),o("creator"),c("mintProgramFlag"),c("cpmmCreatorFeeOn"),e("platformVestingShare"),m(c(),54)]),GT=l([e(),e("epoch"),o("poolId"),o("beneficiary"),e("claimedAmount"),e("tokenShareAmount"),m(e(),8)]),oo=l([c("migrateType"),c("migrateCpmmFeeOn"),e("supply"),e("totalSellA"),e("totalFundRaisingB"),e("totalLockedAmount"),e("cliffPeriod"),e("unlockPeriod")]),na=l([e("epoch"),c("index"),o("configId"),oo.replicate("bondingCurveParam"),m(e(),50)]),io=l([e(),e("epoch"),o("platformClaimFeeWallet"),o("platformLockNftWallet"),e("platformScale"),e("creatorScale"),e("burnScale"),e("feeRate"),m(c(),64,"name"),m(c(),256,"web"),m(c(),256,"img"),o("cpConfigId"),e("creatorFeeRate"),o("transferFeeExtensionAuth"),o("platformVestingWallet"),e("platformVestingScale"),o("platformCpCreator"),m(c(),108),hn(na,"platformCurve")]);var HT=Buffer.from("vault_auth_seed","utf8"),jT=Buffer.from("global_config","utf8"),$T=Buffer.from("pool_vesting","utf8"),JT=Buffer.from("platform_config","utf8"),eh=Buffer.from("platform_fee_vault_auth_seed","utf8"),th=Buffer.from("creator_fee_vault_auth_seed","utf8"),nh=Buffer.from("platform_global_access","utf8");var wh={initialize:Buffer.from([175,175,109,31,13,152,155,237]),initializeV2:Buffer.from([67,153,175,39,218,16,38,32]),buyExactIn:Buffer.from([250,234,13,123,213,156,19,236]),buyExactOut:Buffer.from([24,211,116,40,105,3,153,56]),sellExactIn:Buffer.from([149,39,222,155,211,124,152,26]),sellExactOut:Buffer.from([95,200,71,34,8,9,11,166]),createVestingAccount:Buffer.from([129,178,2,13,217,172,230,218]),claimVestedToken:Buffer.from([49,33,104,30,189,157,79,35]),createPlatformConfig:Buffer.from([176,90,196,175,253,113,220,20]),claimPlatformFee:Buffer.from([156,39,208,135,76,237,61,72]),updatePlaformConfig:Buffer.from([195,60,76,129,146,45,67,143]),initializeWithToken2022:Buffer.from([37,190,126,222,44,154,171,17]),claimPlatformFeeFromVault:Buffer.from([117,241,198,168,248,218,80,29]),claimCreatorFee:Buffer.from([26,97,138,203,132,171,141,252]),updatePlatformCurveParam:Buffer.from([138,144,138,250,220,128,4,57]),removePlatformCurveParam:Buffer.from([27,30,62,169,93,224,24,145]),createPlatformVestingAccount:Buffer.from([146,71,173,69,98,19,15,106])};var kh=new oa("18446744073709551615");import Sh from"bn.js";import Kh from"decimal.js";import aI from"bn.js";import uI from"decimal.js";import Mh from"bn.js";import vh from"decimal.js";import Yh from"bn.js";import Qh from"decimal.js";import so from"bn.js";import zt from"decimal.js";var Tt=class{static _multipler(t){return new zt(10).pow(t)}static getPrice({priceX64:t,decimalA:n,decimalB:r}){return new zt(t.toString()).div(this._Q64).mul(this._multipler(n)).div(this._multipler(r))}static getPriceX64({price:t,decimalA:n,decimalB:r}){let u=t.mul(this._multipler(r)).div(this._multipler(n));return new so(u.mul(this._Q64).toFixed(0))}};Tt._Q64=new zt(new so(1).shln(64).toString());import{NATIVE_MINT as lB,TOKEN_2022_PROGRAM_ID as mB,TOKEN_PROGRAM_ID as dB,createAssociatedTokenAccountIdempotentInstruction as fB,createSyncNativeInstruction as yB,getTransferFeeConfig as bB,unpackMint as gB}from"@solana/spl-token";import X from"bn.js";import{PublicKey as la,SystemProgram as wB}from"@solana/web3.js";import SB from"decimal.js";var xB={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 la("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),vestingSchedule:{totalLockedAmount:new X(0),cliffPeriod:new X(0),unlockPeriod:new X(0),startTime:new X(0),totalAllocatedShare:new X(0)}},KB=new X(1e4);var ma={[Mn.toBase58()]:3};var da=l([N(5),N(8),o("ownAddress"),e("vaultSignerNonce"),o("baseMint"),o("quoteMint"),o("baseVault"),e("baseDepositsTotal"),e("baseFeesAccrued"),o("quoteVault"),e("quoteDepositsTotal"),e("quoteFeesAccrued"),e("quoteDustThreshold"),o("requestQueue"),o("eventQueue"),o("bids"),o("asks"),e("baseLotSize"),e("quoteLotSize"),e("feeRateBps"),e("referrerRebatesAccrued"),N(7)]);import{PublicKey as HB}from"@solana/web3.js";var tS=E("Serum");import{ASSOCIATED_TOKEN_PROGRAM_ID as lS,TOKEN_2022_PROGRAM_ID as mS,TOKEN_PROGRAM_ID as dS}from"@solana/spl-token";import{PublicKey as fS,SystemProgram as yS,TransactionInstruction as bS}from"@solana/web3.js";import PS from"bn.js";var Ax=new pa(0);import{PublicKey as fa,Transaction as Yt,TransactionInstruction as ya}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ba}from"@solana/spl-token";import uo from"bn.js";var ee=class extends oe{static getPdaPoolId(t,n){return de([ee.SEED_CONFIG.pool.id,n.toBuffer()],t)}static getPdaOwnerId(t,n,r,u){return de([ee.SEED_CONFIG.owner.id,n.toBuffer(),r.toBuffer(),Buffer.from(new uo(u).toArray())],t)}static async getAllInfo({connection:t,programId:n,poolIds:r,wallet:u,chainTime:d}){if(r.length===0)return[];let y=r.map(b=>ee.getPdaPoolId(n,b).publicKey),f=[];for(let b=0;b<ee.VERSION_PROJECT.length;b++)f.push(...y.map(O=>ee.getPdaOwnerId(n,O,u,b).publicKey));let P=await ye(t,[...y,...f]),x=[];for(let b=0;b<P.length;b++){let O=Math.floor(b/r.length),C=b%r.length,B=y[C],M=f[b],A=P[C],T=P[r.length+b];if(!(A&&T)||A.data.length!==ee.POOL_LAYOUT.span||T.data.length!==ee.OWNER_LAYOUT.span)continue;let I=ee.POOL_LAYOUT.decode(A.data),h=ee.OWNER_LAYOUT.decode(T.data),F=I.openTime.toNumber(),v=I.endTime.toNumber(),p=h.tokenInfo.map(S=>S.debtAmount.gt(new uo(0))).filter(S=>!S).length!==3,w=d>F&&d<v&&I.status===1,k=p&&w;x.push({programId:n,poolId:B,ammId:I.ammId,ownerAccountId:M,snapshotLpAmount:h.lpAmount,project:ee.VERSION_PROJECT[O],openTime:F,endTime:v,canClaim:k,canClaimErrorType:p?w?void 0:"outOfOperationalTime":"alreadyClaimIt",tokenInfo:I.tokenInfo.map((S,R)=>({mintAddress:S.mintAddress,mintVault:S.mintVault,mintDecimals:S.mintDecimals,perLpLoss:S.perLpLoss,debtAmount:h.tokenInfo[R].debtAmount.add(h.tokenInfo[R].claimedAmount)}))})}return x}async makeClaimTransaction({poolInfo:t,ownerInfo:n,feePayer:r}){n.wallet||this.scope.checkOwner();let u=this.createTxBuilder(r),d=n.wallet||this.scope.ownerPubKey,y=[];for(let x of t.tokenInfo){let{account:b,instructionParams:O}=await this.scope.account.getOrCreateTokenAccount({mint:x.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:x.mintAddress.equals(J.WSOL.mint),createInfo:{payer:d,amount:0},skipCloseAccount:!x.mintAddress.equals(J.WSOL.mint),associatedOnly:x.mintAddress.equals(J.WSOL.mint)?!1:n.associatedOnly});O&&u.addInstruction(O),y.push(b)}u.addInstruction({instructions:[ee.makeClaimInstruction({programId:t.programId,poolInfo:t,ownerInfo:{wallet:d,ownerPda:t.ownerAccountId,claimAddress:y}})]});let{transaction:f,signers:P}=u.build();return[{transaction:f,signer:P}]}async makeClaimAllTransaction({poolInfos:t,ownerInfo:n,feePayer:r}){let u=this.createTxBuilder(r),d=n.wallet||this.scope.ownerPubKey,y={};for(let b of t){let O=[];for(let C of b.tokenInfo){let{account:B,instructionParams:M}=await this.scope.account.getOrCreateTokenAccount({mint:C.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:C.mintAddress.equals(J.WSOL.mint),createInfo:{payer:d,amount:0},skipCloseAccount:!C.mintAddress.equals(J.WSOL.mint),associatedOnly:C.mintAddress.equals(J.WSOL.mint)?!1:n.associatedOnly});M&&u.addInstruction(M),B&&(y[C.mintAddress.toString()]=B,O.push(B))}u.addInstruction({instructions:[ee.makeClaimInstruction({programId:b.programId,poolInfo:b,ownerInfo:{wallet:d,ownerPda:b.ownerAccountId,claimAddress:O}})]})}let{transaction:f,signers:P}=u.build(),x=u.allInstructions;return Mt(x,[d,...P.map(b=>b.publicKey)])?[{transaction:f,signer:P}]:[{transaction:new Yt().add(...x.slice(0,u.AllTxData.instructions.length-1)),signer:P},{transaction:new Yt().add(...x.slice(u.AllTxData.instructions.length-1)),signer:[]},{transaction:new Yt().add(...u.AllTxData.endInstructions),signer:[]}]}static makeClaimInstruction({pr