@raydium-io/raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
1 lines • 129 kB
JavaScript
var Zi=Object.defineProperty,Hi=Object.defineProperties;var ji=Object.getOwnPropertyDescriptors;var Yt=Object.getOwnPropertySymbols;var vo=Object.prototype.hasOwnProperty,Vo=Object.prototype.propertyIsEnumerable;var Fo=(a,e,t)=>e in a?Zi(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,M=(a,e)=>{for(var t in e||(e={}))vo.call(e,t)&&Fo(a,t,e[t]);if(Yt)for(var t of Yt(e))Vo.call(e,t)&&Fo(a,t,e[t]);return a},D=(a,e)=>Hi(a,ji(e));var Oe=(a,e)=>{var t={};for(var n in a)vo.call(a,n)&&e.indexOf(n)<0&&(t[n]=a[n]);if(a!=null&&Yt)for(var n of Yt(a))e.indexOf(n)<0&&Vo.call(a,n)&&(t[n]=a[n]);return t};import{get as _o,set as $i}from"lodash";var Cn=class{constructor(e){this.logLevel=e.logLevel!==void 0?e.logLevel:0,this.name=e.name}set level(e){this.logLevel=e}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(e){return e<=this.logLevel}error(...e){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...e),this):this}logWithError(...e){let t=e.map(n=>typeof n=="object"?JSON.stringify(n):n).join(", ");throw new Error(t)}warning(...e){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...e),this):this}info(...e){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...e),this):this}debug(...e){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...e),this):this}},Eo={},Ji={};function Q(a){let e=_o(Eo,a);if(!e){let t=_o(Ji,a);e=new Cn({name:a,logLevel:t}),$i(Eo,a,e)}return e}import{PublicKey as St,sendAndConfirmTransaction as wo,SystemProgram as Xs,Transaction as qt,TransactionMessage as Ut,VersionedTransaction as Gt}from"@solana/web3.js";import Ys from"axios";import{PublicKey as bo,AddressLookupTableAccount as Bt}from"@solana/web3.js";import{PublicKey as zs}from"@solana/web3.js";import $e from"bn.js";import UK from"decimal.js";import sr from"big.js";import yu from"bn.js";import er from"toformat";var tr=er,xt=tr;import Zt from"big.js";import or from"bn.js";import ir from"decimal.js-light";import Kt from"bn.js";var Do=9007199254740991;function Pe(a){let e=Q("Raydium_parseBigNumberish");if(a instanceof Kt)return a;if(typeof a=="string"){if(a.match(/^-?[0-9]+$/))return new Kt(a);e.logWithError(`invalid BigNumberish string: ${a}`)}return typeof a=="number"?(a%1&&e.logWithError(`BigNumberish number underflow: ${a}`),(a>=Do||a<=-Do)&&e.logWithError(`BigNumberish number overflow: ${a}`),new Kt(String(a))):typeof a=="bigint"?new Kt(a.toString()):(e.error(`invalid BigNumberish value: ${a}`),new Kt(0))}var Qt=Q("module/fraction"),Rn=xt(Zt),Ct=xt(ir),rr={[0]:Ct.ROUND_DOWN,[1]:Ct.ROUND_HALF_UP,[2]:Ct.ROUND_UP},ar={[0]:Zt.roundDown,[1]:Zt.roundHalfUp,[2]:Zt.roundUp},te=class{constructor(e,t=new or(1)){this.numerator=Pe(e),this.denominator=Pe(t)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new te(this.denominator,this.numerator)}add(e){let t=e instanceof te?e:new te(Pe(e));return this.denominator.eq(t.denominator)?new te(this.numerator.add(t.numerator),this.denominator):new te(this.numerator.mul(t.denominator).add(t.numerator.mul(this.denominator)),this.denominator.mul(t.denominator))}sub(e){let t=e instanceof te?e:new te(Pe(e));return this.denominator.eq(t.denominator)?new te(this.numerator.sub(t.numerator),this.denominator):new te(this.numerator.mul(t.denominator).sub(t.numerator.mul(this.denominator)),this.denominator.mul(t.denominator))}mul(e){let t=e instanceof te?e:new te(Pe(e));return new te(this.numerator.mul(t.numerator),this.denominator.mul(t.denominator))}div(e){let t=e instanceof te?e:new te(Pe(e));return new te(this.numerator.mul(t.denominator),this.denominator.mul(t.numerator))}toSignificant(e,t={groupSeparator:""},n=1){Number.isInteger(e)||Qt.logWithError(`${e} is not an integer.`),e<=0&&Qt.logWithError(`${e} is not positive.`),Ct.set({precision:e+1,rounding:rr[n]});let i=new Ct(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(e);return i.toFormat(i.decimalPlaces(),t)}toFixed(e,t={groupSeparator:""},n=1){return Number.isInteger(e)||Qt.logWithError(`${e} is not an integer.`),e<0&&Qt.logWithError(`${e} is negative.`),Rn.DP=e,Rn.RM=ar[n]||1,new Rn(this.numerator.toString()).div(this.denominator.toString()).toFormat(e,t)}isZero(){return this.numerator.isZero()}};var Iu=Q("Raydium_amount"),Bu=xt(sr);import{PublicKey as cr}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Wo}from"@solana/spl-token";var Ht={chainId:101,address:cr.default.toBase58(),programId:Wo.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},_e={chainId:101,address:"So11111111111111111111111111111111111111112",programId:Wo.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 On}from"@solana/web3.js";import{PublicKey as oe,SystemProgram as qo,SYSVAR_RENT_PUBKEY as lr}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as mr}from"@solana/spl-token";function mt({pubkey:a,isSigner:e=!1,isWritable:t=!0}){return{pubkey:a,isWritable:t,isSigner:e}}var dr=[mt({pubkey:mr,isWritable:!1}),mt({pubkey:qo.programId,isWritable:!1}),mt({pubkey:lr,isWritable:!1})];function Uo({publicKey:a,transformSol:e}){let t=Go(a.toString());if(t instanceof oe)return e&&t.equals(et)?Ge:t;if(e&&t.toString()===et.toBase58())return Ge;if(typeof t=="string"){if(t===oe.default.toBase58())return oe.default;try{return new oe(t)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function Go(a){try{return new oe(a)}catch{return a}}var Ln=new oe("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),dt=new oe("SysvarRent111111111111111111111111111111111"),Nu=new oe("SysvarC1ock11111111111111111111111111111111"),tt=new oe("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),pr=new oe("Sysvar1nstructions1111111111111111111111111"),fr=qo.programId,Mu=new oe("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Fu=new oe("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),vu=new oe("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),Vu=new oe("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),_u=new oe("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Eu=new oe("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),Du=new oe("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),Wu=new oe("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),qu=new oe("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Uu=new oe("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Gu=new oe("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),Ge=new oe("So11111111111111111111111111111111111111112"),et=oe.default;var Nn=class{constructor({mint:e,decimals:t,symbol:n,name:i,skipMint:r=!1,isToken2022:s=!1}){if(e===et.toBase58()||e instanceof On&&et.equals(e)){this.decimals=_e.decimals,this.symbol=_e.symbol,this.name=_e.name,this.mint=new On(_e.address),this.isToken2022=!1;return}this.decimals=t,this.symbol=n||e.toString().substring(0,6),this.name=i||e.toString().substring(0,6),this.mint=r?On.default:Uo({publicKey:e}),this.isToken2022=s}equals(e){return this===e?!0:this.mint.equals(e.mint)}},fe=Nn;fe.WSOL=new Nn(D(M({},_e),{mint:_e.address}));var Mn=class{constructor({decimals:e,symbol:t="UNKNOWN",name:n="UNKNOWN"}){this.decimals=e,this.symbol=t,this.name=n}equals(e){return this===e}},jt=Mn;jt.SOL=new Mn(Ht);import yr from"bn.js";var nc=new te(new yr(100));var uc=Q("Raydium_price");import{merge as zx}from"lodash";import gc from"axios";var zo={BASE_HOST:"https://api-v3.raydium.io",OWNER_BASE_HOST:"https://owner-v1.raydium.io",SERVICE_BASE_HOST:"https://service.raydium.io",MONITOR_BASE_HOST:"https://monitor.raydium.io",SERVICE_1_BASE_HOST:"https://service-v1.raydium.io",TEMP_HOST:"https://temp-api-v1.raydium.io",SEND_TRANSACTION:"/send-transaction",FARM_ARP:"/main/farm/info",FARM_ARP_LINE:"/main/farm-apr-tv",CLMM_CONFIG:"/main/clmm-config",CPMM_CONFIG:"/main/cpmm-config",CLMM_DYNAMIC_CONFIG:"/main/clmm-dynamic-config",VERSION:"/main/version",CHECK_AVAILABILITY:"/v3/main/AvailabilityCheckAPI",RPCS:"/main/rpcs",INFO:"/main/info",STAKE_POOLS:"/main/stake-pools",CHAIN_TIME:"/main/chain-time",TOKEN_LIST:"/mint/list",MINT_INFO_ID:"/mint/ids",JUP_TOKEN_LIST:"https://lite-api.jup.ag/tokens/v2/tag?query=verified",POOL_LIST:"/pools/info/list-v2",POOL_SEARCH_BY_ID:"/pools/info/ids",POOL_SEARCH_MINT:"/pools/info/list-v2",POOL_SEARCH_LP:"/pools/info/lps",POOL_KEY_BY_ID:"/pools/key/ids",POOL_LIQUIDITY_LINE:"/pools/line/liquidity",POOL_POSITION_LINE:"/pools/line/position",FARM_INFO:"/farms/info/ids",FARM_LP_INFO:"/farms/info/lp",FARM_KEYS:"/farms/key/ids",OWNER_CREATED_FARM:"/create-pool/{owner}",OWNER_STAKE_FARMS:"/position/stake/{owner}",OWNER_LOCK_POSITION:"/position/clmm-lock/{owner}",SWAP_HOST:"https://transaction-v1.raydium.io",SWAP_COMPUTE:"/compute/",SWAP_TX:"/transaction/",MINT_PRICE:"/mint/price",MIGRATE_CONFIG:"/main/migrate-lp",PRIORITY_FEE:"/main/auto-fee",CPMM_LOCK:"https://dynamic-ipfs.raydium.io/lock/cpmm/position",LAUNCH_AUTH_HOST:"https://launch-auth-v1.raydium.io",LAUNCH_COMMENT_HOST:"hhttps://launch-forum-v1.raydium.io",LAUNCH_HISTORY_HOST:"https://launch-history-v1.raydium.io",LAUNCH_MINT_HOST:"https://launch-mint-v1.raydium.io"},br=D(M({},zo),{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 Dc=Q("Raydium_Api");import{PublicKey as Cm,SystemProgram as Rm}from"@solana/web3.js";import{AccountLayout as Fm,createAssociatedTokenAccountIdempotentInstruction as vm,TOKEN_PROGRAM_ID as Vm,TOKEN_2022_PROGRAM_ID as _m}from"@solana/spl-token";import{PublicKey as am,SystemProgram as um}from"@solana/web3.js";import mm from"bn.js";import{createCloseAccountInstruction as ym,createInitializeAccountInstruction as bm,createTransferInstruction as gm,TOKEN_PROGRAM_ID as Pm}from"@solana/spl-token";var le={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 Yl,PublicKey as Ql}from"@solana/web3.js";import jl from"bn.js";import{TOKEN_PROGRAM_ID as em}from"@solana/spl-token";import{PublicKey as Kr}from"@solana/web3.js";import Zo,{isBN as Ho}from"bn.js";import{bits as gr,BitStructure as $c,blob as Pr,Blob as Jc,cstr as el,f32 as tl,f32be as nl,f64 as ol,f64be as il,greedy as rl,Layout as Ar,ns64 as al,ns64be as sl,nu64 as ul,nu64be as cl,offset as wr,s16 as ll,s16be as ml,s24 as dl,s24be as pl,s32 as kr,s32be as fl,s40 as yl,s40be as bl,s48 as gl,s48be as Pl,s8 as Al,seq as Tr,struct as wl,Structure as hr,u16 as Ir,u16be as kl,u24 as Tl,u24be as hl,u32 as Br,u32be as Il,u40 as Bl,u40be as Sl,u48 as xl,u48be as Kl,u8 as Sr,UInt as xr,union as Cl,Union as Rl,unionLayoutDiscriminator as Ll,utf8 as Ol}from"@solana/buffer-layout";var $t=Ar,Xo=hr;var Fn=xr;var Yo=Sr,se=Ir;var Lt=Br;var Ne=kr;var Qo=Tr;var z=Pr;var vn=gr,Vn=wr;var nt=class extends $t{constructor(t,n,i){super(t,i);this.blob=z(t),this.signed=n}decode(t,n=0){let i=new Zo(this.blob.decode(t,n),10,"le");return this.signed?i.fromTwos(this.span*8).clone():i}encode(t,n,i=0){return typeof t=="number"&&(t=new Zo(t)),this.signed&&(t=t.toTwos(this.span*8)),this.blob.encode(t.toArrayLike(Buffer,"le",this.span),n,i)}},Jt=class extends $t{constructor(t){super(8,t);this._lower=vn(Lt(),!1),this._upper=vn(Lt(),!1)}addBoolean(t){this._lower.fields.length<32?this._lower.addBoolean(t):this._upper.addBoolean(t)}decode(t,n=0){let i=this._lower.decode(t,n),r=this._upper.decode(t,n+this._lower.span);return M(M({},i),r)}encode(t,n,i=0){return this._lower.encode(t,n,i)+this._upper.encode(t,n,i+this._lower.span)}};function h(a){return new Fn(1,a)}function ie(a){return new Fn(4,a)}function o(a){return new nt(8,!1,a)}function G(a){return new nt(16,!1,a)}function jo(a){return new nt(1,!0,a)}function pt(a){return new nt(8,!0,a)}function $o(a){return new nt(16,!0,a)}var ot=class extends $t{constructor(t,n,i,r){super(t.span,r);this.layout=t,this.decoder=n,this.encoder=i}decode(t,n){return this.decoder(this.layout.decode(t,n))}encode(t,n,i){return this.layout.encode(this.encoder(t),n,i)}getSpan(t,n){return this.layout.getSpan(t,n)}};function l(a){return new ot(z(32),e=>new Kr(e),e=>e.toBuffer(),a)}function Re(a){return new ot(Yo(),Cr,Rr,a)}function Cr(a){if(a===0)return!1;if(a===1)return!0;throw new Error("Invalid bool: "+a)}function Rr(a){return a?1:0}function Jo(a,e){let t=Lt("length"),n=k([t,L(a,Vn(t,-t.span),"values")]);return new ot(n,({values:i})=>i,i=>({values:i}),e)}function Lr(a){let e=Lt("length"),t=k([e,z(Vn(e,-e.span),"data")]);return new ot(t,({data:n})=>n,n=>({data:n}),a)}function ke(a){return new ot(Lr(),e=>e.toString("utf-8"),e=>Buffer.from(e,"utf-8"),a)}var _n=class extends Xo{decode(e,t){return super.decode(e,t)}};function k(a,e,t){return new _n(a,e,t)}function L(a,e,t){let n,i=typeof e=="number"?e:Ho(e)?e.toNumber():new Proxy(e,{get(r,s){if(!n){let c=Reflect.get(r,"count");n=Ho(c)?c.toNumber():c,Reflect.set(r,"count",n)}return Reflect.get(r,s)},set(r,s,c){return s==="count"&&(n=c),Reflect.set(r,s,c)}});return Qo(a,i,t)}var en=k([l("mint"),l("owner"),o("amount"),ie("delegateOption"),l("delegate"),h("state"),ie("isNativeOption"),o("isNative"),o("delegatedAmount"),ie("closeAuthorityOption"),l("closeAuthority")]);import{PublicKey as VP,SystemProgram as _P}from"@solana/web3.js";import{createAssociatedTokenAccountIdempotentInstruction as DP}from"@solana/spl-token";import{PublicKey as _r}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Er}from"@solana/spl-token";import{ComputeBudgetProgram as ti,Keypair as oi,PublicKey as Nr,Transaction as ii,TransactionMessage as Mr,VersionedTransaction as ri}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Fr}from"@solana/spl-token";var ni=Q("Raydium_txUtil"),ai=1644;function nn(a){let e=[],t=[];return a.microLamports&&(e.push(ti.setComputeUnitPrice({microLamports:a.microLamports})),t.push(le.SetComputeUnitPrice)),a.units&&(e.push(ti.setComputeUnitLimit({units:a.units})),t.push(le.SetComputeUnitLimit)),{instructions:e,instructionTypes:t}}async function ft(a,e){var n,i;let t=e!=null?e:"confirmed";return(i=await((n=a.getLatestBlockhash)==null?void 0:n.call(a,{commitment:t})))==null?void 0:i.blockhash}async function on(a,e){return a.getSignatureStatuses([e]),new Promise((t,n)=>{let i=setTimeout(n,6e4);a.onSignature(e,r=>{if(clearTimeout(i),!r.err){t("");return}n(Object.assign(r.err,{txId:e}))},"confirmed")})}function En(a,e){a.length<1&&ni.logWithError(`no instructions provided: ${a.toString()}`),e.length<1&&ni.logWithError(`no signers provided:, ${e.toString()}`);let t=new ii;t.recentBlockhash="11111111111111111111111111111111",t.feePayer=e[0],t.add(...a);try{return Buffer.from(t.serialize({verifySignatures:!1})).toString("base64").length<ai}catch{return!1}}function re(a,e){let[t,n]=Nr.findProgramAddressSync(a,e);return{publicKey:t,nonce:n}}function Ot({instructions:a,payer:e,signers:t}){return En(a,[e,...t])}function Nt({instructions:a,payer:e,lookupTableAddressAccount:t,recentBlockhash:n=oi.generate().publicKey.toString()}){let r=new Mr({payerKey:e,recentBlockhash:n,instructions:a}).compileToV0Message(Object.values(t!=null?t:{}));try{return Buffer.from(new ri(r).serialize()).toString("base64").length<ai}catch{return!1}}var vr=a=>Buffer.isBuffer(a)?a:a instanceof Uint8Array?Buffer.from(a.buffer,a.byteOffset,a.byteLength):Buffer.from(a),Vr=a=>{let e=a.serialize({requireAllSignatures:!1,verifySignatures:!1});a instanceof ri&&(e=vr(e));try{return e instanceof Buffer?e.toString("base64"):Buffer.from(e).toString("base64")}catch{return e.toString("base64")}};function it(a){let e=[];return a.forEach(t=>{t instanceof ii&&(t.recentBlockhash||(t.recentBlockhash=Fr.toBase58()),t.feePayer||(t.feePayer=oi.generate().publicKey)),e.push(Vr(t))}),console.log("simulate tx string:",e),e}function ue(a,e,t){return re([a.toBuffer(),(t!=null?t:Er).toBuffer(),e.toBuffer()],new _r("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"))}import{PublicKey as E}from"@solana/web3.js";var si=new E("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),ui=new E("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),ci=new E("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Dn=new E("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),rd=new E("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Dr=new E("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),li=new E("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),mi=new E("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),ad=new E("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),Wr=new E("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),di=new E("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),qr=new E("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Ur=new E("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),pi=new E("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),sd=new E("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Gr=new E("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Wn=new E("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),zr=new E("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),ud=new E("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),Xr=new E("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Yr=new E("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),ce=new E("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),cd=new E("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),ld=new E("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),md=new E("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),dd=new E("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),pd=new E("6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX");var Ye={OPEN_BOOK_PROGRAM:new E("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),SERUM_PROGRAM_ID_V3:new E("Ray1111111111111111111111111111111111111111"),AMM_V4:new E("DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav"),AMM_STABLE:new E("DRayDdXc1NZQ9C3hRWmoSf8zK4iapgMnjdNZWrfwsP8m"),CLMM_PROGRAM_ID:new E("DRayAUgENGQBKVaX8owNhgzkEDyoHTGVEGHVJT1E9pfH"),CLMM_LOCK_PROGRAM_ID:new E("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),CLMM_LOCK_AUTH_ID:new E("6Aoh8h2Lw2m5UGxYR8AdAL87jTWYeKoxM52mJRzfYwN"),CREATE_CPMM_POOL_PROGRAM:new E("DRaycpLY18LhpbydsBWbVJtxpNv9oXPgjRSfpF2bWpYb"),CREATE_CPMM_POOL_AUTH:new E("CXniRufdq5xL8t8jZAPxsPZDpuudwuJSPWnbcD5Y5Nxq"),CREATE_CPMM_POOL_FEE_ACC:new E("3oE58BKVt8KuYkGxx8zBojugnymWmBiyafWgMrnb6eYy"),LOCK_CPMM_PROGRAM:new E("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),LOCK_CPMM_AUTH:new E("7qWVV8UY2bRJfDLP4s37YzBPKUkVB46DStYJBpYbQzu3"),UTIL1216:E.default,Router:new E("DRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd"),FARM_PROGRAM_ID_V3:new E("DRayWyrLmEW5KEeqs8kdTMMaBabapqagaBC7KWpGtJeZ"),FARM_PROGRAM_ID_V4:new E("Ray1111111111111111111111111111111111111111"),FARM_PROGRAM_ID_V5:new E("DRayiCGSZgku1GTK6rXD6mVDdingXy6APAH1R6R5L2LC"),FARM_PROGRAM_ID_V6:new E("DRayzbYakXs45ELHkzH6vC3fuhQqTAnv5A68gdFuvZyZ"),LAUNCHPAD_PROGRAM:new E("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),LAUNCHPAD_AUTH:new E("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),LAUNCHPAD_PLATFORM:new E("2Jx4KTDrVSdWNazuGpcA8n3ZLTRGGBDxAWhuKe2Xcj2a"),LAUNCHPAD_CONFIG:new E("7ZR4zD7PYfY2XxoG1Gxcy2EgEeGYrpxrwzPuwdUBssEt"),FEE_DESTINATION_ID:new E("9y8ENuuZ3b19quffx9hQvRVygG5ky6snHfRvGpuSfeJy"),MODEL_DATA_PUBKEY:new E("Ray1111111111111111111111111111111111111111")};import HP from"decimal.js";import{createAssociatedTokenAccountIdempotentInstruction as fb,TOKEN_2022_PROGRAM_ID as yb,TOKEN_PROGRAM_ID as bb}from"@solana/spl-token";import{PublicKey as Pb}from"@solana/web3.js";import wb from"bn.js";import Tb from"decimal.js";import{TOKEN_PROGRAM_ID as xd}from"@solana/spl-token";import{PublicKey as Ld}from"@solana/web3.js";var Qr=k([ie("mintAuthorityOption"),l("mintAuthority"),o("supply"),h("decimals"),h("isInitialized"),ie("freezeAuthorityOption"),l("freezeAuthority")]);import{ASSOCIATED_TOKEN_PROGRAM_ID as vy,TOKEN_2022_PROGRAM_ID as Vy,TOKEN_PROGRAM_ID as _y}from"@solana/spl-token";import{Keypair as Wy,PublicKey as qy,SystemProgram as Gy,TransactionInstruction as zy}from"@solana/web3.js";import Yy from"bn.js";import Z from"bn.js";var Me=new Z(1).shln(64);var Zr=new Z(1).shln(128),rn=new Z(1).shln(64).subn(1),Hr=new Z(1).shln(128).subn(1);var bt=new Z("4295048016"),gt=new Z("79226673521066979257578248091"),jr=new Z("59543866431248"),$r=new Z("184467440737095516"),Jr=new Z("15793534762490258745");var qn=60,Ud=new Z("18446743708227953217"),ea=[{bit:0,factor:new Z("fffcb933bd6fb800",16)},{bit:1,factor:new Z("fff97272373d4000",16)},{bit:2,factor:new Z("fff2e50f5f657000",16)},{bit:3,factor:new Z("ffe5caca7e10f000",16)},{bit:4,factor:new Z("ffcb9843d60f7000",16)},{bit:5,factor:new Z("ff973b41fa98e800",16)},{bit:6,factor:new Z("ff2ea16466c9b000",16)},{bit:7,factor:new Z("fe5dee046a9a3800",16)},{bit:8,factor:new Z("fcbe86c7900bb000",16)},{bit:9,factor:new Z("f987a7253ac65800",16)},{bit:10,factor:new Z("f3392b0822bb6000",16)},{bit:11,factor:new Z("e7159475a2caf000",16)},{bit:12,factor:new Z("d097f3bdfd2f2000",16)},{bit:13,factor:new Z("a9f746462d9f8000",16)},{bit:14,factor:new Z("70d869a156f31c00",16)},{bit:15,factor:new Z("31be135f97ed3200",16)},{bit:16,factor:new Z("9aa508b5b85a500",16)},{bit:17,factor:new Z("5d6af8dedc582c",16)},{bit:18,factor:new Z("2216e584f5fa",16)}];var Mt=3,fi=100;var yi=10,bi=100,an=14;var me=new Z(0),Pt=new Z(1),Gd=new Z(-1);var zd=new Z("18446744073700000000");var ta=k([z(8),h("bump"),se("index"),l("owner"),ie("protocolFeeRate"),ie("tradeFeeRate"),se("tickSpacing"),ie("fundFeeRate"),L(ie(),1),l("fundOwner"),L(o(),3)]),na=k([ie("blockTimestamp"),pt("tickCumulative"),L(o(),4)]),gi=k([z(8),Re("initialized"),o("recentEpoch"),se("observationIndex"),l("poolId"),L(na,fi,"observations"),L(o(),4)]),oa=k([se("filterPeriod"),se("decayPeriod"),se("reductionFactor"),ie("dynamicFeeControl"),ie("maxVolatilityAccumulator"),Ne("tickSpacingIndexReference"),ie("volatilityReference"),ie("volatilityAccumulator"),o("lastUpdateTimestamp"),L(h(),46)]),ia=k([h("state"),o("openTime"),o("endTime"),o("lastUpdateTime"),G("emissionsPerSecondX64"),o("totalEmissioned"),o("claimed"),l("mint"),l("vault"),l("creator"),G("growthGlobalX64")]),Un=k([z(8),h("bump"),l("configId"),l("creator"),l("mintA"),l("mintB"),l("vaultA"),l("vaultB"),l("observationId"),h("mintDecimalsA"),h("mintDecimalsB"),se("tickSpacing"),G("liquidity"),G("sqrtPriceX64"),Ne("tickCurrent"),ie(),G("feeGrowthGlobalX64A"),G("feeGrowthGlobalX64B"),o("protocolFeesTokenA"),o("protocolFeesTokenB"),L(G(),4),h("status"),h("feeOn"),z(6),L(ia,Mt,"rewardInfos"),z(8*16,"tickArrayBitmap"),L(o(),4),o("fundFeesTokenA"),o("fundFeesTokenB"),o("startTime"),o("recentEpoch"),oa.replicate("dynamicFeeInfo"),L(o(),46)]),ra=k([G("growthInsideLastX64"),o("rewardAmountOwed")]),aa=k([z(8),h("bump"),l("nftMint"),l("poolId"),Ne("tickLower"),Ne("tickUpper"),G("liquidity"),G("feeGrowthInsideLastX64A"),G("feeGrowthInsideLastX64B"),o("tokenFeesOwedA"),o("tokenFeesOwedB"),L(ra,Mt,"rewardInfos"),o("recentEpoch"),L(o(),7)]),Zd=k([z(8),h("bump"),l("poolId"),Ne("tickLower"),Ne("tickUpper"),G("liquidity"),G("feeGrowthInsideLastX64A"),G("feeGrowthInsideLastX64B"),o("tokenFeesOwedA"),o("tokenFeesOwedB"),L(G(),Mt,"rewardGrowthInside"),o("recentEpoch"),L(o(),7)]),sa=k([Ne("tick"),$o("liquidityNet"),G("liquidityGross"),G("feeGrowthOutsideX64A"),G("feeGrowthOutsideX64B"),L(G(),Mt,"rewardGrowthsOutsideX64"),o("orderPhase"),o("ordersAmount"),o("partFilledOrdersRemaining"),G("unfilledRatioX64"),L(ie(),3)]),Pi=k([z(8),l("poolId"),Ne("startTickIndex"),L(sa,qn,"ticks"),h("initializedTickCount"),o("recentEpoch"),L(h(),107)]),ua=k([z(8),h("bump"),L(l(),yi,"operationOwners"),L(l(),bi,"whitelistMints")]),ca=k([z(8),l("poolId"),l("owner"),Ne("tick"),Re("zeroForOne"),o("orderPhase"),o("totalAmount"),o("filledAmount"),o("settleBase"),o("settleOutput"),o("openTime"),G("unfilledRatioX64"),L(o(),4)]),Ai=k([z(8),l("poolId"),z(8*8*an,"positiveTickArrayBitmap"),z(8*8*an,"negativeTickArrayBitmap")]),Hd=k([z(8),se("index"),se("filterPeriod"),se("decayPeriod"),se("reductionFactor"),ie("dynamicFeeControl"),ie("maxVolatilityAccumulator"),L(o(),8)]),la=k([z(8),l("wallet"),h("nonceIndex"),o("orderNonce"),L(o(),4)]),jd=k([o(),h("bump"),l("owner"),l("poolId"),l("positionId"),l("nftAccount"),L(o(),8)]),ma=k([z(8),h("bump"),l("lockOwner"),l("poolId"),l("positionId"),l("nftAccount"),l("lockNftMint"),o("recentEpoch"),L(o(),8)]);import ep from"bn.js";var mp=Buffer.from("amm_config","utf8"),wi=Buffer.from("pool","utf8"),ki=Buffer.from("pool_vault","utf8"),dp=Buffer.from("pool_reward_vault","utf8"),pp=Buffer.from("position","utf8"),fp=Buffer.from("tick_array","utf8"),yp=Buffer.from("operation","utf8"),bp=Buffer.from("pool_tick_array_bitmap_extension","utf8"),gp=Buffer.from("observation","utf8"),Pp=Buffer.from("support_mint","utf8"),Ap=Buffer.from("dynamic_fee_config","utf8");function sn(a){return re([Buffer.from("metadata","utf8"),tt.toBuffer(),a.toBuffer()],tt)}var wp=Buffer.from("locked_position","utf8");import{sha256 as Sa}from"js-sha256";import da from"bn.js";import Ip from"decimal.js";var Sp=new da(1).shln(256).subn(1);import Gp from"bn.js";import Np from"bn.js";import Fp from"decimal.js";import Zp from"bn.js";import jp from"decimal.js";import{PublicKey as _f}from"@solana/web3.js";import Df from"bn.js";import{TOKEN_2022_PROGRAM_ID as Qf,TOKEN_PROGRAM_ID as Zf}from"@solana/spl-token";import Jf from"decimal.js";import xf from"bn.js";import ff from"bn.js";import ly from"bn.js";function de(a){let e=`global:${a}`;return Buffer.from(Sa.digest(e)).slice(0,8)}gi.span;var tb=Q("Raydium_Clmm"),nb={createPool:de("create_pool"),createCustomizablePool:de("create_customizable_pool"),openPositionV2:de("open_position_v2"),openPositionWithToken22Nft:de("open_position_with_token22_nft"),closePosition:de("close_position"),increaseLiquidityV2:de("increase_liquidity_v2"),decreaseLiquidityV2:de("decrease_liquidity_v2"),initializeReward:de("initialize_reward"),setRewardParams:de("set_reward_params"),updateRewardInfos:de("update_reward_infos"),collectRemainingRewards:de("collect_remaining_rewards"),swapV2:de("swap_v2"),openLimitOrder:de("open_limit_order"),increaseLimitOrder:de("increase_limit_order"),decreaseLimitOrder:de("decrease_limit_order"),settleLimitOrder:de("settle_limit_order"),closeLimitOrder:de("close_limit_order")};import{PublicKey as Yn}from"@solana/web3.js";var La=k([h("instruction")]),Oa=k([h("instruction")]),Na=k([o("rewardState"),o("rewardOpenTime"),o("rewardEndTime"),o("rewardLastUpdateTime"),o("totalReward"),o("totalRewardEmissioned"),o("rewardClaimed"),o("rewardPerSecond"),G("accRewardPerShare"),l("rewardVault"),l("rewardMint"),l("rewardSender"),o("rewardType"),L(o(),15,"padding")]),Ma=k([o("state"),o("nonce"),l("lpVault"),l("rewardVault"),l(),l(),o(),o(),o("totalReward"),G("perShareReward"),o("lastSlot"),o("perSlotReward")]),Fa=k([o("state"),o("nonce"),l("lpVault"),l("rewardVaultA"),o("totalRewardA"),G("perShareRewardA"),o("perSlotRewardA"),h("option"),l("rewardVaultB"),z(7),o("totalRewardB"),G("perShareRewardB"),o("perSlotRewardB"),o("lastSlot"),l()]),va=k([o(),o("state"),o("nonce"),o("validRewardTokenNum"),G("rewardMultiplier"),o("rewardPeriodMax"),o("rewardPeriodMin"),o("rewardPeriodExtend"),l("lpMint"),l("lpVault"),L(Na,5,"rewardInfos"),l("creator"),l(),L(o(),32,"padding")]),Va=new Proxy(Ma,{get(a,e,t){return e==="decode"?(...n)=>{let i=a.decode(...n);return D(M({},i),{version:3,rewardInfos:[{rewardVault:i.rewardVault,totalReward:i.totalReward,perSlotReward:i.perSlotReward,perShareReward:i.perShareReward}]})}:Reflect.get(a,e,t)}}),_a=new Proxy(Fa,{get(a,e,t){return e==="decode"?(...n)=>{let i=a.decode(...n);return D(M({},i),{version:5,rewardInfos:[{rewardVault:i.rewardVaultA,totalReward:i.totalRewardA,perSlotReward:i.perSlotRewardA,perShareReward:i.perShareRewardA},{rewardVault:i.rewardVaultB,totalReward:i.totalRewardB,perSlotReward:i.perSlotRewardB,perShareReward:i.perShareRewardB}]})}:Reflect.get(a,e,t)}}),Si=new Proxy(va,{get(a,e,t){return e==="decode"?(...n)=>{let i=a.decode(...n);return D(M({},i),{version:6,rewardInfos:i.rewardInfos.map(r=>{var s;return D(M({},r),{rewardType:((s=Object.entries(Vt).find(c=>String(c[1])===r.rewardType.toString()))!=null?s:["Standard SPL"])[0]})})})}:Reflect.get(a,e,t)}}),Ea=k([o("isSet"),o("rewardPerSecond"),o("rewardOpenTime"),o("rewardEndTime"),o("rewardType")]),Da=k([h("instruction"),o("nonce"),L(Ea,5,"rewardTimeInfo")]),Wa=k([h("instruction"),o("rewardReopenTime"),o("rewardEndTime"),o("rewardPerSecond")]),qa=k([h("instruction"),o("isSet"),o("rewardPerSecond"),o("rewardOpenTime"),o("rewardEndTime"),o("rewardType")]),tg=k([o("state"),l("id"),l("owner"),o("deposited"),L(o(),1,"rewardDebts")]),xi=k([o("state"),l("id"),l("owner"),o("deposited"),L(G(),1,"rewardDebts"),o(""),o("voteLockedBalance"),L(o(),15)]),ng=k([o("state"),l("id"),l("owner"),o("deposited"),L(o(),2,"rewardDebts")]),Ua=k([o("state"),l("id"),l("owner"),o("deposited"),L(G(),2,"rewardDebts"),L(o(),17)]),Ga=k([o(),o("state"),l("id"),l("owner"),o("deposited"),L(G(),5,"rewardDebts"),L(o(),16)]),za=k([h("instruction"),o("amount")]),Xa=k([l("mint"),l("grantAuthority"),o("baselineVoteWeightScaledFactor"),o("maxExtraLockupVoteWeightScaledFactor"),o("lockupSaturationSecs"),jo("digitShift"),L(h(),7,"reserved1"),L(o(),7,"reserved2")]),Ya=k([z(8),l("governanceProgramId"),l("realm"),l("realmGoverningTokenMint"),l("realmAuthority"),L(h(),32,"reserved1"),L(Xa,4,"votingMints"),pt("timeOffset"),h("bump"),L(h(),7,"reserved2"),L(o(),11,"reserved3")]),Qa=k([pt("startTime"),pt("endTime"),h("kind"),L(h(),15,"reserved")]),Za=k([L(Qa,1,"lockup"),o("amountDeposited_native"),o("amountInitiallyLockedNative"),Re("isUsed"),Re("allowClawback"),h("votingMintConfigIdx"),L(h(),29,"reserved")]),Ha=k([z(8),l("voterAuthority"),l("registrar"),L(Za,32,"deposits"),h("voterBump"),h("voterWweightRecordBump"),L(h(),94,"reserved")]);import{NATIVE_MINT as mg}from"@solana/spl-token";var dg=Q("Raydium_farm_config"),ja=new Yn("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),$a=new Yn("FrspKwj8i3pNmKwXreTveC4fu7KL5ZbGeXdZBe2XViu1");var pg=new Yn("3TRTX4dXUpp2eqxi3tvQDFYUV7SdDJjcPE3Y4mbtftaX");var Vt={"Standard SPL":0,"Option tokens":1},Ki={[si.toString()]:3,[ui.toString()]:4,[ci.toString()]:5,[Dn.toString()]:6,[Ye.FARM_PROGRAM_ID_V3.toString()]:3,[Ye.FARM_PROGRAM_ID_V4.toString()]:4,[Ye.FARM_PROGRAM_ID_V5.toString()]:5,[Ye.FARM_PROGRAM_ID_V6.toString()]:6};import{PublicKey as $g,SystemProgram as Jg,SYSVAR_CLOCK_PUBKEY as eP,SYSVAR_RENT_PUBKEY as tP,TransactionInstruction as nP}from"@solana/web3.js";import iP from"bn.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as aP,createAssociatedTokenAccountIdempotentInstruction as sP,TOKEN_PROGRAM_ID as uP}from"@solana/spl-token";import Kg from"bn.js";import{PublicKey as Ag}from"@solana/web3.js";import kg from"bn.js";var Wg=Q("Raydium.farm.util");var AP=Q("Raydium_farm_instruction"),wP={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 sA from"bn.js";import{PublicKey as pk}from"@solana/web3.js";import{AccountLayout as bk,MintLayout as gk,NATIVE_MINT as Pk,TOKEN_PROGRAM_ID as wk}from"@solana/spl-token";import ye from"bn.js";var _t=1e4;function dn(a,e){let{div:t,mod:n}=a.divmod(e);return n.gt(new ye(0))?t.add(new ye(1)):t}function at(a,e){if(a.isZero())return new ye(0);let t=a.div(e);return t.isZero()?new ye(1):a.mod(e).gt(new ye(0))?t.add(new ye(1)):t}function Zn(a,e,t){if(e===void 0)return{amount:a,fee:void 0,expirationTime:void 0};let n=Math.floor(t/432e3),i=n<e.newerTransferFee.epoch?e.olderTransferFee:e.newerTransferFee,r=new ye(i.maximumFee.toString()),s=n<e.newerTransferFee.epoch?(Number(e.newerTransferFee.epoch)*432e3-t)*400/1e3:void 0,c=dn(a.mul(new ye(i.transferFeeBasisPoints)),new ye(_t)),u=c.gt(r)?r:c;return{amount:a,fee:u,expirationTime:s}}function Hn(a,e,t){if(e===void 0)return{amount:a,fee:void 0,expirationTime:void 0};let n=Math.floor(t/432e3),i=n<e.newerTransferFee.epoch?e.olderTransferFee:e.newerTransferFee,r=new ye(i.maximumFee.toString()),s=n<e.newerTransferFee.epoch?(Number(e.newerTransferFee.epoch)*432e3-t)*400/1e3:void 0;if(i.transferFeeBasisPoints===_t){let c=new ye(i.maximumFee.toString());return{amount:a.add(c),fee:c,expirationTime:s}}else{let c=dn(a.mul(new ye(_t)),new ye(_t-i.transferFeeBasisPoints)),u=new ye(i.maximumFee.toString()),m=c.sub(a).gt(u)?a.add(u):c,d=dn(m.mul(new ye(i.transferFeeBasisPoints)),new ye(_t)),p=d.gt(r)?r:d;return{amount:m,fee:p,expirationTime:s}}}import Ri from"bn.js";var as=new Ri(25),ss=new Ri(1e4);import{ASSOCIATED_TOKEN_PROGRAM_ID as LA,TOKEN_PROGRAM_ID as OA}from"@solana/spl-token";import{PublicKey as MA,SystemProgram as FA,SYSVAR_RENT_PUBKEY as vA,TransactionInstruction as VA}from"@solana/web3.js";import zA from"bn.js";var us=k([h("instruction"),o("amountIn"),o("minAmountOut")]),cs=k([h("instruction"),o("maxAmountIn"),o("amountOut")]),xA=k([h("instruction"),h("nonce")]),ls=k([h("instruction"),h("nonce"),o("startTime")]),Li=k([o("status"),o("nonce"),o("maxOrder"),o("depth"),o("baseDecimal"),o("quoteDecimal"),o("state"),o("resetFlag"),o("minSize"),o("volMaxCutRatio"),o("amountWaveRatio"),o("baseLotSize"),o("quoteLotSize"),o("minPriceMultiplier"),o("maxPriceMultiplier"),o("systemDecimalValue"),o("minSeparateNumerator"),o("minSeparateDenominator"),o("tradeFeeNumerator"),o("tradeFeeDenominator"),o("pnlNumerator"),o("pnlDenominator"),o("swapFeeNumerator"),o("swapFeeDenominator"),o("baseNeedTakePnl"),o("quoteNeedTakePnl"),o("quoteTotalPnl"),o("baseTotalPnl"),o("poolOpenTime"),o("punishPcAmount"),o("punishCoinAmount"),o("orderbookToInitTime"),G("swapBaseInAmount"),G("swapQuoteOutAmount"),o("swapBase2QuoteFee"),G("swapQuoteInAmount"),G("swapBaseOutAmount"),o("swapQuote2BaseFee"),l("baseVault"),l("quoteVault"),l("baseMint"),l("quoteMint"),l("lpMint"),l("openOrders"),l("marketId"),l("marketProgramId"),l("targetOrders"),l("withdrawQueue"),l("lpVault"),l("owner"),o("lpReserve"),L(o(),3,"padding")]),KA=k([o("accountType"),o("status"),o("nonce"),o("maxOrder"),o("depth"),o("baseDecimal"),o("quoteDecimal"),o("state"),o("resetFlag"),o("minSize"),o("volMaxCutRatio"),o("amountWaveRatio"),o("baseLotSize"),o("quoteLotSize"),o("minPriceMultiplier"),o("maxPriceMultiplier"),o("systemDecimalsValue"),o("abortTradeFactor"),o("priceTickMultiplier"),o("priceTick"),o("minSeparateNumerator"),o("minSeparateDenominator"),o("tradeFeeNumerator"),o("tradeFeeDenominator"),o("pnlNumerator"),o("pnlDenominator"),o("swapFeeNumerator"),o("swapFeeDenominator"),o("baseNeedTakePnl"),o("quoteNeedTakePnl"),o("quoteTotalPnl"),o("baseTotalPnl"),o("poolOpenTime"),o("punishPcAmount"),o("punishCoinAmount"),o("orderbookToInitTime"),G("swapBaseInAmount"),G("swapQuoteOutAmount"),G("swapQuoteInAmount"),G("swapBaseOutAmount"),o("swapQuote2BaseFee"),o("swapBase2QuoteFee"),l("baseVault"),l("quoteVault"),l("baseMint"),l("quoteMint"),l("lpMint"),l("modelDataAccount"),l("openOrders"),l("marketId"),l("marketProgramId"),l("targetOrders"),l("owner"),L(o(),64,"padding")]),ms=k([h("instruction"),o("baseAmountIn"),o("quoteAmountIn"),o("fixedSide"),o("otherAmountMin")]),ds=k([h("instruction"),o("lpAmount"),o("baseAmountMin"),o("quoteAmountMin")]);var ps=k([o("fee")]);var QA=Q("Raydium_liquidity_instruction");var fs=5e4,ys=k([o("x"),o("y"),o("price")]),$A=k([o("accountType"),o("status"),o("multiplier"),o("validDataCount"),L(ys,fs,"DataElement")]);import{PublicKey as lw}from"@solana/web3.js";import dw from"decimal.js";import{TOKEN_PROGRAM_ID as fw}from"@solana/spl-token";import{PublicKey as nw}from"@solana/web3.js";var rw=Q("Raydium_liquidity_serum");import Dk from"bn.js";import qk from"decimal.js";import{TOKEN_PROGRAM_ID as Ww}from"@solana/spl-token";import{PublicKey as Uw}from"@solana/web3.js";import zw from"bn.js";import{SystemProgram as Kw,SYSVAR_RENT_PUBKEY as Cw,Transaction as Rw,TransactionInstruction as Lw}from"@solana/web3.js";import{createInitializeAccountInstruction as Nw,TOKEN_PROGRAM_ID as Mw}from"@solana/spl-token";function bs(a="accountFlags"){let e=new Jt(a);return e.addBoolean("initialized"),e.addBoolean("market"),e.addBoolean("openOrders"),e.addBoolean("requestQueue"),e.addBoolean("eventQueue"),e.addBoolean("bids"),e.addBoolean("asks"),e}var gs=k([z(5),bs("accountFlags"),l("ownAddress"),o("vaultSignerNonce"),l("baseMint"),l("quoteMint"),l("baseVault"),o("baseDepositsTotal"),o("baseFeesAccrued"),l("quoteVault"),o("quoteDepositsTotal"),o("quoteFeesAccrued"),o("quoteDustThreshold"),l("requestQueue"),l("eventQueue"),l("bids"),l("asks"),o("baseLotSize"),o("quoteLotSize"),o("feeRateBps"),o("referrerRebatesAccrued"),z(7)]);import{PublicKey as dh}from"@solana/web3.js";import{AccountLayout as fh,NATIVE_MINT as yh,TOKEN_2022_PROGRAM_ID as bh,TOKEN_PROGRAM_ID as gh,createAssociatedTokenAccountIdempotentInstruction as Ph}from"@solana/spl-token";import dT from"bn.js";import Is from"bn.js";var $k=new Is(0);import iT from"bn.js";import Bs from"bn.js";var Ee=new Bs(1e6);import Sh from"bn.js";import Kh from"decimal.js";import{PublicKey as RT,TransactionInstruction as LT,Keypair as NT,SystemProgram as MT}from"@solana/web3.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as vT,TOKEN_2022_PROGRAM_ID as VT,TOKEN_PROGRAM_ID as _T}from"@solana/spl-token";var gT=Buffer.from("vault_and_lp_mint_auth_seed","utf8"),PT=Buffer.from("amm_config","utf8"),AT=Buffer.from("pool","utf8"),wT=Buffer.from("pool_lp_mint","utf8"),kT=Buffer.from("pool_vault","utf8"),TT=Buffer.from("observation","utf8"),hT=Buffer.from("permission","utf8"),IT=Buffer.from("support_mint","utf8");var BT=Buffer.from("locked_liquidity","utf8");var zT=Q("Raydium_cpmm"),XT={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 xs=k([z(8),h("bump"),Re("disableCreatePool"),se("index"),o("tradeFeeRate"),o("protocolFeeRate"),o("fundFeeRate"),o("createPoolFee"),l("protocolOwner"),l("fundOwner"),o("creatorFeeRate"),L(o(),15)]),Oi=k([z(8),l("configId"),l("poolCreator"),l("vaultA"),l("vaultB"),l("mintLp"),l("mintA"),l("mintB"),l("mintProgramA"),l("mintProgramB"),l("observationId"),h("bump"),h("status"),h("lpDecimals"),h("mintDecimalA"),h("mintDecimalB"),o("lpAmount"),o("protocolFeesMintA"),o("protocolFeesMintB"),o("fundFeesMintA"),o("fundFeesMintB"),o("openTime"),o("epoch"),h("feeOn"),Re("enableCreatorFee"),L(h(),6),o("creatorFeesMintA"),o("creatorFeesMintB"),L(o(),28)]),ZT=k([z(8),l("configId"),L(o(),30)]);import{PublicKey as PS,SystemProgram as AS}from"@solana/web3.js";import{createTransferInstruction as kS,TOKEN_PROGRAM_ID as TS,TOKEN_2022_PROGRAM_ID as hS,createAssociatedTokenAccountIdempotentInstruction as IS,createSyncNativeInstruction as SS,createTransferCheckedInstruction as xS}from"@solana/spl-token";import Ws from"bn.js";import RS from"decimal.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as pn,TOKEN_2022_PROGRAM_ID as _s,TOKEN_PROGRAM_ID as oo}from"@solana/spl-token";import{SystemProgram as xe,TransactionInstruction as Te}from"@solana/web3.js";import Tt from"bn.js";var Qe=k([o(),o("epoch"),h("curveType"),se("index"),o("migrateFee"),o("tradeFeeRate"),o("maxShareFeeRate"),o("minSupplyA"),o("maxLockRate"),o("minSellRateA"),o("minMigrateRateA"),o("minFundRaisingB"),l("mintB"),l("protocolFeeOwner"),l("migrateFeeOwner"),l("migrateToAmmWallet"),l("migrateToCpmmWallet"),L(o(),16)]),Rs=k([o("totalLockedAmount"),o("cliffPeriod"),o("unlockPeriod"),o("startTime"),o("totalAllocatedShare")]),Fe=k([o(),o("epoch"),h("bump"),h("status"),h("mintDecimalsA"),h("mintDecimalsB"),h("migrateType"),o("supply"),o("totalSellA"),o("virtualA"),o("virtualB"),o("realA"),o("realB"),o("totalFundRaisingB"),o("protocolFee"),o("platformFee"),o("migrateFee"),Rs.replicate("vestingSchedule"),l("configId"),l("platformId"),l("mintA"),l("mintB"),l("vaultA"),l("vaultB"),l("creator"),h("mintProgramFlag"),h("cpmmCreatorFeeOn"),o("platformVestingShare"),L(h(),54)]),AI=k([o(),o("epoch"),l("poolId"),l("beneficiary"),o("claimedAmount"),o("tokenShareAmount"),L(o(),8)]),Mi=k([h("migrateType"),h("migrateCpmmFeeOn"),o("supply"),o("totalSellA"),o("totalFundRaisingB"),o("totalLockedAmount"),o("cliffPeriod"),o("unlockPeriod")]),Ls=k([o("epoch"),h("index"),l("configId"),Mi.replicate("bondingCurveParam"),L(o(),50)]),st=k([o(),o("epoch"),l("platformClaimFeeWallet"),l("platformLockNftWallet"),o("platformScale"),o("creatorScale"),o("burnScale"),o("feeRate"),L(h(),64,"name"),L(h(),256,"web"),L(h(),256,"img"),l("cpConfigId"),o("creatorFeeRate"),l("transferFeeExtensionAuth"),l("platformVestingWallet"),o("platformVestingScale"),l("platformCpCreator"),L(h(),108),Jo(Ls,"platformCurve")]);var Os=Buffer.from("vault_auth_seed","utf8"),BI=Buffer.from("global_config","utf8"),Ns=Buffer.from("pool_vesting","utf8"),Ms=Buffer.from("platform_config","utf8"),Fs=Buffer.from("platform_fee_vault_auth_seed","utf8"),vs=Buffer.from("creator_fee_vault_auth_seed","utf8"),Vs=Buffer.from("platform_global_access","utf8");function ve(a){return re([Os],a)}function wt(a,e,t){return re([wi,e.toBuffer(),t.toBuffer()],a)}function $n(a,e,t){return re([ki,e.toBuffer(),t.toBuffer()],a)}function ut(a){return re([Buffer.from("__event_authority","utf8")],a)}function Jn(a,e){return re([Ms,e.toBuffer()],a)}function kt(a,e,t){return re([Ns,e.toBuffer(),t.toBuffer()],a)}function Ze(a,e,t){return re([e.toBuffer(),t.toBuffer()],a)}function eo(a){return re([Fs],a)}function He(a,e,t){return re([e.toBuffer(),t.toBuffer()],a)}function to(a){return re([vs],a)}function no(a,e,t){return re([Vs,e.toBuffer(),t.toBuffer()],a)}var he={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])};function Fi(a,e,t,n,i,r,s,c,u,m,d,p,T,y,b,f,w,B,I,R,O,A){let S=k([h("decimals"),ke("name"),ke("symbol"),ke("uri")]),C=k([o("totalLockedAmount"),o("cliffPeriod"),o("unlockPeriod"),h("cpmmCreatorFeeOn")]),x=k([h("index"),o("supply"),o("totalFundRaisingB"),h("migrateType")]),N=k([h("index"),o("supply"),o("totalSellA"),o("totalFundRaisingB"),h("migrateType")]),V=[{pubkey:e,isSigner:!0,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!1},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:c,isSigner:!0,isWritable:!0},{pubkey:u,isSigner:!1,isWritable:!1},{pubkey:m,isSigner:!1,isWritable:!0},{pubkey:d,isSigner:!1,isWritable:!0},{pubkey:p,isSigner:!1,isWritable:!0},{pubkey:oo,isSigner:!1,isWritable:!1},{pubkey:oo,isSigner:!1,isWritable:!1},{pubkey:tt,isSigner:!1,isWritable:!1},{pubkey:xe.programId,isSigner:!1,isWritable:!1},{pubkey:dt,isSigner:!1,isWritable:!1},{pubkey:ut(a).publicKey,isSigner:!1,isWritable:!1},{pubkey:a,isSigner:!1,isWritable:!1}];A&&V.push({pubkey:A,isSigner:!1,isWritable:!1});let F=Buffer.alloc(Buffer.from(y,"utf-8").length+Buffer.from(b,"utf-8").length+Buffer.from(f,"utf-8").length+4*3+1),q=Buffer.alloc(C.span),v=Buffer.alloc(w.type==="ConstantCurve"?N.span:x.span);return S.encode({decimals:T,name:y,symbol:b,uri:f},F),w.type==="ConstantCurve"?N.encode(D(M({index:0},w),{migrateType:w.migrateType==="amm"?0:1}),v):w.type==="FixedCurve"?x.encode(D(M({index:1},w),{migrateType:w.migrateType==="amm"?0:1}),v):w.type==="LinearCurve"&&x.encode(D(M({index:2},w),{migrateType:w.migrateType==="amm"?0:1}),v),C.encode({totalLockedAmount:B,cliffPeriod:I,unlockPeriod:R,cpmmCreatorFeeOn:O},q),new Te({keys:V,programId:a,data:Buffer.from([...he.initializeV2,...F,...v,...q])})}function vi(a,e,t,n,i,r,s,c,u,m,d,p,T,y,b,f,w,B,I,R,O,A){let S=k([h("decimals"),ke("name"),ke("symbol"),ke("uri")]),C=k([o("totalLockedAmount"),o("cliffPeriod"),o("unlockPeriod"),h("cpmmCreatorFeeOn"),h("transferFeeExtensionParamsOption"),k([se("transferFeeBasePoints"),o("maxinumFee")]).replicate("transferFeeExtensionParams")]),x=k([h("index"),o("supply"),o("totalFundRaisingB"),h("migrateType")]),N=k([h("index"),o("supply"),o("totalSellA"),o("totalFundRaisingB"),h("migrateType")]),V=[{pubkey:e,isSigner:!0,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!1},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:c,isSigner:!0,isWritable:!0},{pubkey:u,isSigner:!1,isWritable:!1},{pubkey:m,isSigner:!1,isWritable:!0},{pubkey:d,isSigner:!1,isWritable:!0},{pubkey:_s,isSigner:!1,isWritable:!1},{pubkey:oo,isSigner:!1,isWritable:!1},{pubkey:xe.programId,isSigner:!1,isWritable:!1},{pubkey:ut(a).publicKey,isSigner:!1,isWritable:!1},{pubkey:a,isSigner:!1,isWritable:!1}];A&&V.push({pubkey:A,isSigner:!1,isWritable:!1});let F=Buffer.alloc(Buffer.from(T,"utf-8").length+Buffer.from(y,"utf-8").length+Buffer.from(b,"utf-8").length+4*3+1),q=Buffer.alloc(C.span),v=Buffer.alloc(f.type==="ConstantCurve"?N.span:x.span);return S.encode({decimals:p,name:T,symbol:y,uri:b},F),f.type==="ConstantCurve"?N.encode(D(M({index:0},f),{migrateType:f.migrateType==="amm"?0:1}),v):f.type==="FixedCurve"?x.encode(D(M({index:1},f),{migrateType:f.migrateType==="amm"?0:1}),v):f.type==="LinearCurve"&&x.encode(D(M({index:2},f),{migrateType:f.migrateType==="amm"?0:1}),v),C.encode({totalLockedAmount:w,cliffPeriod:B,unlockPeriod:I,cpmmCreatorFeeOn:R,transferFeeExtensionParamsOption:O?1:0,transferFeeExtensionParams:O!=null?O:{transferFeeBasePoints:0,maxinumFee:new Tt(0)}},q),new Te({keys:V,programId:a,data:Buffer.from([...he.initializeWithToken2022,...F,...v,...q])})}function io(a,e,t,n,i,r,s,c,u,m,d,p,T,y,b,f,w,B,I,R){let O=k([o("amountB"),o("minAmountA"),o("shareFeeRate")]),A=[{pubkey:e,isSigner:!0,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:c,isSigner:!1,isWritable:!0},{pubkey:u,isSigner:!1,isWritable:!0},{pubkey:m,isSigner:!1,isWritable:!0},{pubkey:d,isSigner:!1,isWritable:!1},{pubkey:p,isSigner:!1,isWritable:!1},{pubkey:T,isSigner:!1,isWritable:!1},{pubkey:y,isSigner:!1,isWritable:!1},{pubkey:ut(a).publicKey,isSigner:!1,isWritable:!1},{pubkey:a,isSigner:!1,isWritable:!1}];R&&A.push({pubkey:R,isSigner:!1