@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 Ys,Transaction as qt,TransactionMessage as Ut,VersionedTransaction as Gt}from"@solana/web3.js";import Qs from"axios";import{PublicKey as bo,AddressLookupTableAccount as Bt}from"@solana/web3.js";import{PublicKey as Xs}from"@solana/web3.js";import $e from"bn.js";import XK from"decimal.js";import sr from"big.js";import bu 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 Bu=Q("Raydium_amount"),Su=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"),Mu=new oe("SysvarC1ock11111111111111111111111111111111"),tt=new oe("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),pr=new oe("Sysvar1nstructions1111111111111111111111111"),fr=qo.programId,Fu=new oe("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),vu=new oe("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Vu=new oe("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),_u=new oe("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Eu=new oe("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Du=new oe("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),Wu=new oe("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),qu=new oe("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),Uu=new oe("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Gu=new oe("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),zu=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 oc=new te(new yr(100));var cc=Q("Raydium_price");import{merge as Qx}from"lodash";import Pc 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 Wc=Q("Raydium_Api");import{PublicKey as Rm,SystemProgram as Lm}from"@solana/web3.js";import{AccountLayout as vm,createAssociatedTokenAccountIdempotentInstruction as Vm,TOKEN_PROGRAM_ID as _m,TOKEN_2022_PROGRAM_ID as Em}from"@solana/spl-token";import{PublicKey as sm,SystemProgram as cm}from"@solana/web3.js";import dm from"bn.js";import{createCloseAccountInstruction as bm,createInitializeAccountInstruction as gm,createTransferInstruction as Pm,TOKEN_PROGRAM_ID as Am}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 Ql,PublicKey as Zl}from"@solana/web3.js";import $l from"bn.js";import{TOKEN_PROGRAM_ID as tm}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 Jc,blob as Pr,Blob as el,cstr as tl,f32 as nl,f32be as ol,f64 as il,f64be as rl,greedy as al,Layout as Ar,ns64 as sl,ns64be as ul,nu64 as cl,nu64be as ll,offset as wr,s16 as ml,s16be as dl,s24 as pl,s24be as fl,s32 as kr,s32be as yl,s40 as bl,s40be as gl,s48 as Pl,s48be as Al,s8 as wl,seq as Tr,struct as kl,Structure as hr,u16 as Ir,u16be as Tl,u24 as hl,u24be as Il,u32 as Br,u32be as Bl,u40 as Sl,u40be as xl,u48 as Kl,u48be as Cl,u8 as Sr,UInt as xr,union as Rl,Union as Ll,unionLayoutDiscriminator as Ol,utf8 as Nl}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 WP,SystemProgram as qP}from"@solana/web3.js";import{createAssociatedTokenAccountIdempotentInstruction as GP}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"),ad=new E("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Dr=new E("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),li=new E("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),mi=new E("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),sd=new E("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),Wr=new E("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),di=new E("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),qr=new E("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Ur=new E("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),pi=new E("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),ud=new E("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Gr=new E("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Wn=new E("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),zr=new E("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),cd=new E("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),Xr=new E("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Yr=new E("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),ce=new E("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),ld=new E("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),md=new E("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),dd=new E("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),pd=new E("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),fd=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 eA from"decimal.js";import{createAssociatedTokenAccountIdempotentInstruction as Pb,TOKEN_2022_PROGRAM_ID as Ab,TOKEN_PROGRAM_ID as wb}from"@solana/spl-token";import{PublicKey as Tb}from"@solana/web3.js";import Ib from"bn.js";import Sb from"decimal.js";import{TOKEN_PROGRAM_ID as Kd}from"@solana/spl-token";import{PublicKey as Od}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 Dy,TOKEN_2022_PROGRAM_ID as Wy,TOKEN_PROGRAM_ID as qy}from"@solana/spl-token";import{Keypair as zy,PublicKey as Xy,SystemProgram as Qy,TransactionInstruction as Zy}from"@solana/web3.js";import jy 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,Gd=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),zd=new Z(-1);var Xd=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)]),Hd=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")]),jd=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)]),$d=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 tp from"bn.js";var dp=Buffer.from("amm_config","utf8"),wi=Buffer.from("pool","utf8"),ki=Buffer.from("pool_vault","utf8"),pp=Buffer.from("pool_reward_vault","utf8"),fp=Buffer.from("position","utf8"),yp=Buffer.from("tick_array","utf8"),bp=Buffer.from("operation","utf8"),gp=Buffer.from("pool_tick_array_bitmap_extension","utf8"),Pp=Buffer.from("observation","utf8"),Ap=Buffer.from("support_mint","utf8"),wp=Buffer.from("dynamic_fee_config","utf8"),kp=Buffer.from("permission","utf8");function sn(a){return re([Buffer.from("metadata","utf8"),tt.toBuffer(),a.toBuffer()],tt)}var Tp=Buffer.from("locked_position","utf8");import{sha256 as xa}from"js-sha256";import pa from"bn.js";import Sp from"decimal.js";var Kp=new pa(1).shln(256).subn(1);import Xp from"bn.js";import Fp from"bn.js";import Vp from"decimal.js";import jp from"bn.js";import Jp from"decimal.js";import{PublicKey as Df}from"@solana/web3.js";import qf from"bn.js";import{TOKEN_2022_PROGRAM_ID as Hf,TOKEN_PROGRAM_ID as jf}from"@solana/spl-token";import ty from"decimal.js";import Cf from"bn.js";import bf from"bn.js";import dy from"bn.js";function de(a){let e=`global:${a}`;return Buffer.from(xa.digest(e)).slice(0,8)}gi.span;var rb=Q("Raydium_Clmm"),ab={createPool:de("create_pool"),createCustomizablePool:de("create_customizable_pool"),createPermissionedPool:de("create_permissioned_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 Oa=k([h("instruction")]),Na=k([h("instruction")]),Ma=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")]),Fa=k([o("state"),o("nonce"),l("lpVault"),l("rewardVault"),l(),l(),o(),o(),o("totalReward"),G("perShareReward"),o("lastSlot"),o("perSlotReward")]),va=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(Ma,5,"rewardInfos"),l("creator"),l(),L(o(),32,"padding")]),_a=new Proxy(Fa,{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)}}),Ea=new Proxy(va,{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)}}),Da=k([o("isSet"),o("rewardPerSecond"),o("rewardOpenTime"),o("rewardEndTime"),o("rewardType")]),Wa=k([h("instruction"),o("nonce"),L(Da,5,"rewardTimeInfo")]),qa=k([h("instruction"),o("rewardReopenTime"),o("rewardEndTime"),o("rewardPerSecond")]),Ua=k([h("instruction"),o("isSet"),o("rewardPerSecond"),o("rewardOpenTime"),o("rewardEndTime"),o("rewardType")]),rg=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)]),ag=k([o("state"),l("id"),l("owner"),o("deposited"),L(o(),2,"rewardDebts")]),Ga=k([o("state"),l("id"),l("owner"),o("deposited"),L(G(),2,"rewardDebts"),L(o(),17)]),za=k([o(),o("state"),l("id"),l("owner"),o("deposited"),L(G(),5,"rewardDebts"),L(o(),16)]),Xa=k([h("instruction"),o("amount")]),Ya=k([l("mint"),l("grantAuthority"),o("baselineVoteWeightScaledFactor"),o("maxExtraLockupVoteWeightScaledFactor"),o("lockupSaturationSecs"),jo("digitShift"),L(h(),7,"reserved1"),L(o(),7,"reserved2")]),Qa=k([z(8),l("governanceProgramId"),l("realm"),l("realmGoverningTokenMint"),l("realmAuthority"),L(h(),32,"reserved1"),L(Ya,4,"votingMints"),pt("timeOffset"),h("bump"),L(h(),7,"reserved2"),L(o(),11,"reserved3")]),Za=k([pt("startTime"),pt("endTime"),h("kind"),L(h(),15,"reserved")]),Ha=k([L(Za,1,"lockup"),o("amountDeposited_native"),o("amountInitiallyLockedNative"),Re("isUsed"),Re("allowClawback"),h("votingMintConfigIdx"),L(h(),29,"reserved")]),ja=k([z(8),l("voterAuthority"),l("registrar"),L(Ha,32,"deposits"),h("voterBump"),h("voterWweightRecordBump"),L(h(),94,"reserved")]);import{NATIVE_MINT as yg}from"@solana/spl-token";var bg=Q("Raydium_farm_config"),$a=new Yn("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Ja=new Yn("FrspKwj8i3pNmKwXreTveC4fu7KL5ZbGeXdZBe2XViu1");var gg=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 nP,SystemProgram as oP,SYSVAR_CLOCK_PUBKEY as iP,SYSVAR_RENT_PUBKEY as rP,TransactionInstruction as aP}from"@solana/web3.js";import uP from"bn.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as lP,createAssociatedTokenAccountIdempotentInstruction as mP,TOKEN_PROGRAM_ID as dP}from"@solana/spl-token";import Og from"bn.js";import{PublicKey as hg}from"@solana/web3.js";import Bg from"bn.js";var zg=Q("Raydium.farm.util");var hP=Q("Raydium_farm_instruction"),IP={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 mA from"bn.js";import{PublicKey as gk}from"@solana/web3.js";import{AccountLayout as wk,MintLayout as kk,NATIVE_MINT as Tk,TOKEN_PROGRAM_ID as Ik}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 ss=new Ri(25),us=new Ri(1e4);import{ASSOCIATED_TOKEN_PROGRAM_ID as FA,TOKEN_PROGRAM_ID as vA}from"@solana/spl-token";import{PublicKey as _A,SystemProgram as EA,SYSVAR_RENT_PUBKEY as DA,TransactionInstruction as WA}from"@solana/web3.js";import ZA from"bn.js";var cs=k([h("instruction"),o("amountIn"),o("minAmountOut")]),ls=k([h("instruction"),o("maxAmountIn"),o("amountOut")]),LA=k([h("instruction"),h("nonce")]),ms=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")]),OA=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")]),ds=k([h("instruction"),o("baseAmountIn"),o("quoteAmountIn"),o("fixedSide"),o("otherAmountMin")]),ps=k([h("instruction"),o("lpAmount"),o("baseAmountMin"),o("quoteAmountMin")]);var fs=k([o("fee")]);var $A=Q("Raydium_liquidity_instruction");var ys=5e4,bs=k([o("x"),o("y"),o("price")]),nw=k([o("accountType"),o("status"),o("multiplier"),o("validDataCount"),L(bs,ys,"DataElement")]);import{PublicKey as fw}from"@solana/web3.js";import bw from"decimal.js";import{TOKEN_PROGRAM_ID as Pw}from"@solana/spl-token";import{PublicKey as aw}from"@solana/web3.js";var cw=Q("Raydium_liquidity_serum");import Gk from"bn.js";import Xk from"decimal.js";import{TOKEN_PROGRAM_ID as zw}from"@solana/spl-token";import{PublicKey as Yw}from"@solana/web3.js";import Zw from"bn.js";import{SystemProgram as Ow,SYSVAR_RENT_PUBKEY as Nw,Transaction as Mw,TransactionInstruction as Fw}from"@solana/web3.js";import{createInitializeAccountInstruction as Vw,TOKEN_PROGRAM_ID as _w}from"@solana/spl-token";function gs(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 Ps=k([z(5),gs("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 bh}from"@solana/web3.js";import{AccountLayout as Ph,NATIVE_MINT as Ah,TOKEN_2022_PROGRAM_ID as wh,TOKEN_PROGRAM_ID as kh,createAssociatedTokenAccountIdempotentInstruction as Th}from"@solana/spl-token";import bT from"bn.js";import Bs from"bn.js";var nT=new Bs(0);import uT from"bn.js";import Ss from"bn.js";var Ee=new Ss(1e6);import Rh from"bn.js";import Oh from"decimal.js";import{PublicKey as MT,TransactionInstruction as FT,Keypair as VT,SystemProgram as _T}from"@solana/web3.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as DT,TOKEN_2022_PROGRAM_ID as WT,TOKEN_PROGRAM_ID as qT}from"@solana/spl-token";var kT=Buffer.from("vault_and_lp_mint_auth_seed","utf8"),TT=Buffer.from("amm_config","utf8"),hT=Buffer.from("pool","utf8"),IT=Buffer.from("pool_lp_mint","utf8"),BT=Buffer.from("pool_vault","utf8"),ST=Buffer.from("observation","utf8"),xT=Buffer.from("permission","utf8"),KT=Buffer.from("support_mint","utf8");var CT=Buffer.from("locked_liquidity","utf8");var ZT=Q("Raydium_cpmm"),HT={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 Ks=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)]),JT=k([z(8),l("configId"),L(o(),30)]);import{PublicKey as kS,SystemProgram as TS}from"@solana/web3.js";import{createTransferInstruction as IS,TOKEN_PROGRAM_ID as BS,TOKEN_2022_PROGRAM_ID as SS,createAssociatedTokenAccountIdempotentInstruction as xS,createSyncNativeInstruction as CS,createTransferCheckedInstruction as RS}from"@solana/spl-token";import qs from"bn.js";import NS from"decimal.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as pn,TOKEN_2022_PROGRAM_ID as Es,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)]),Ls=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"),Ls.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)]),hI=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")]),Os=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(Os,"platformCurve")]);var Ns=Buffer.from("vault_auth_seed","utf8"),KI=Buffer.from("global_config","utf8"),Ms=Buffer.from("pool_vesting","utf8"),Fs=Buffer.from("platform_config","utf8"),vs=Buffer.from("platform_fee_vault_auth_seed","utf8"),Vs=Buffer.from("creator_fee_vault_auth_seed","utf8"),_s=Buffer.from("platform_global_access","utf8");function ve(a){return re([Ns],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([Fs,e.toBuffer()],a)}function kt(a,e,t){return re([Ms,e.toBuffer(),t.toBuffer()],a)}function Ze(a,e,t){return re([e.toBuffer(),t.toBuffer()],a)}function eo(a){return re([vs],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([_s,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:Es,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,isSign