@raydium-io/raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
2 lines • 8.75 kB
JavaScript
var O=Object.defineProperty;var U=Object.getOwnPropertySymbols;var z=Object.prototype.hasOwnProperty,k=Object.prototype.propertyIsEnumerable;var R=(n,t,e)=>t in n?O(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e,l=(n,t)=>{for(var e in t||(t={}))z.call(t,e)&&R(n,e,t[e]);if(U)for(var e of U(t))k.call(t,e)&&R(n,e,t[e]);return n};import{TransactionInstruction as ee,SYSVAR_RENT_PUBKEY as te}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as E}from"@solana/spl-token";import{createInitializeAccountInstruction as Q}from"@solana/spl-token";import{SystemProgram as i,Transaction as W}from"@solana/web3.js";import{PublicKey as Z}from"@solana/web3.js";import N,{isBN as $e}from"bn.js";import{bits as G,BitStructure as ue,blob as Y,Blob as se,cstr as ae,f32 as ie,f32be as ce,f64 as pe,f64be as ye,greedy as de,Layout as I,ns64 as be,ns64be as Pe,nu64 as me,nu64be as le,offset as xe,s16 as ge,s16be as Se,s24 as fe,s24be as Le,s32 as he,s32be as Te,s40 as we,s40be as Be,s48 as Ae,s48be as Ce,s8 as Ve,seq as _e,struct as qe,Structure as j,u16 as H,u16be as Ke,u24 as Ue,u24be as Re,u32 as J,u32be as Fe,u40 as ve,u40be as Ne,u48 as De,u48be as Me,u8 as Ee,UInt as X,union as Qe,Union as We,unionLayoutDiscriminator as Oe,utf8 as ze}from"@solana/buffer-layout";var b=I,F=j;var x=X;var v=H;var g=J;var p=Y;var S=G;var f=class extends b{constructor(e,r,o){super(e,o);this.blob=p(e),this.signed=r}decode(e,r=0){let o=new N(this.blob.decode(e,r),10,"le");return this.signed?o.fromTwos(this.span*8).clone():o}encode(e,r,o=0){return typeof e=="number"&&(e=new N(e)),this.signed&&(e=e.toTwos(this.span*8)),this.blob.encode(e.toArrayLike(Buffer,"le",this.span),r,o)}},P=class extends b{constructor(e){super(8,e);this._lower=S(g(),!1),this._upper=S(g(),!1)}addBoolean(e){this._lower.fields.length<32?this._lower.addBoolean(e):this._upper.addBoolean(e)}decode(e,r=0){let o=this._lower.decode(e,r),c=this._upper.decode(e,r+this._lower.span);return l(l({},o),c)}encode(e,r,o=0){return this._lower.encode(e,r,o)+this._upper.encode(e,r,o+this._lower.span)}};function D(n){return new x(1,n)}function M(n){return new x(4,n)}function u(n){return new f(8,!1,n)}var L=class extends b{constructor(e,r,o,c){super(e.span,c);this.layout=e,this.decoder=r,this.encoder=o}decode(e,r){return this.decoder(this.layout.decode(e,r))}encode(e,r,o){return this.layout.encode(this.encoder(e),r,o)}getSpan(e,r){return this.layout.getSpan(e,r)}};function a(n){return new L(p(32),t=>new Z(t),t=>t.toBuffer(),n)}var h=class extends F{decode(t,e){return super.decode(t,e)}};function m(n,t,e){return new h(n,t,e)}function $(n="accountFlags"){let t=new P(n);return t.addBoolean("initialized"),t.addBoolean("market"),t.addBoolean("openOrders"),t.addBoolean("requestQueue"),t.addBoolean("eventQueue"),t.addBoolean("bids"),t.addBoolean("asks"),t}var T=m([p(5),$("accountFlags"),a("ownAddress"),u("vaultSignerNonce"),a("baseMint"),a("quoteMint"),a("baseVault"),u("baseDepositsTotal"),u("baseFeesAccrued"),a("quoteVault"),u("quoteDepositsTotal"),u("quoteFeesAccrued"),u("quoteDustThreshold"),a("requestQueue"),a("eventQueue"),a("bids"),a("asks"),u("baseLotSize"),u("quoteLotSize"),u("feeRateBps"),u("referrerRebatesAccrued"),p(7)]);var s={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",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",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"};function ne({programId:n,marketInfo:t}){let e=m([D("version"),M("instruction"),u("baseLotSize"),u("quoteLotSize"),v("feeRateBps"),u("vaultSignerNonce"),u("quoteDustThreshold")]),r=[{pubkey:t.id,isSigner:!1,isWritable:!0},{pubkey:t.requestQueue,isSigner:!1,isWritable:!0},{pubkey:t.eventQueue,isSigner:!1,isWritable:!0},{pubkey:t.bids,isSigner:!1,isWritable:!0},{pubkey:t.asks,isSigner:!1,isWritable:!0},{pubkey:t.baseVault,isSigner:!1,isWritable:!0},{pubkey:t.quoteVault,isSigner:!1,isWritable:!0},{pubkey:t.baseMint,isSigner:!1,isWritable:!1},{pubkey:t.quoteMint,isSigner:!1,isWritable:!1},{pubkey:t.authority?t.quoteMint:te,isSigner:!1,isWritable:!1}].concat(t.authority?{pubkey:t.authority,isSigner:!1,isWritable:!1}:[]).concat(t.authority&&t.pruneAuthority?{pubkey:t.pruneAuthority,isSigner:!1,isWritable:!1}:[]),o=Buffer.alloc(e.span);return e.encode({version:0,instruction:0,baseLotSize:t.baseLotSize,quoteLotSize:t.quoteLotSize,feeRateBps:t.feeRateBps,vaultSignerNonce:t.vaultSignerNonce,quoteDustThreshold:t.quoteDustThreshold},o),new ee({keys:r,programId:n,data:o})}async function lt({connection:n,wallet:t,marketInfo:e}){var w,B,A,C,V,_,q,K;let r=new W,o=await n.getMinimumBalanceForRentExemption(165);r.add(i.createAccountWithSeed({fromPubkey:t,basePubkey:t,seed:e.baseVault.seed,newAccountPubkey:e.baseVault.publicKey,lamports:o,space:165,programId:E}),i.createAccountWithSeed({fromPubkey:t,basePubkey:t,seed:e.quoteVault.seed,newAccountPubkey:e.quoteVault.publicKey,lamports:o,space:165,programId:E}),Q(e.baseVault.publicKey,e.baseMint,e.vaultOwner),Q(e.quoteVault.publicKey,e.quoteMint,e.vaultOwner));let c=new W;return c.add(i.createAccountWithSeed({fromPubkey:t,basePubkey:t,seed:e.id.seed,newAccountPubkey:e.id.publicKey,lamports:await n.getMinimumBalanceForRentExemption(T.span),space:T.span,programId:e.programId}),i.createAccountWithSeed({fromPubkey:t,basePubkey:t,seed:e.requestQueue.seed,newAccountPubkey:e.requestQueue.publicKey,lamports:await n.getMinimumBalanceForRentExemption((w=e.requestQueueSpace)!=null?w:5120+12),space:(B=e.requestQueueSpace)!=null?B:5120+12,programId:e.programId}),i.createAccountWithSeed({fromPubkey:t,basePubkey:t,seed:e.eventQueue.seed,newAccountPubkey:e.eventQueue.publicKey,lamports:await n.getMinimumBalanceForRentExemption((A=e.eventQueueSpace)!=null?A:262144+12),space:(C=e.eventQueueSpace)!=null?C:262144+12,programId:e.programId}),i.createAccountWithSeed({fromPubkey:t,basePubkey:t,seed:e.bids.seed,newAccountPubkey:e.bids.publicKey,lamports:await n.getMinimumBalanceForRentExemption((V=e.orderbookQueueSpace)!=null?V:65536+12),space:(_=e.orderbookQueueSpace)!=null?_:65536+12,programId:e.programId}),i.createAccountWithSeed({fromPubkey:t,basePubkey:t,seed:e.asks.seed,newAccountPubkey:e.asks.publicKey,lamports:await n.getMinimumBalanceForRentExemption((q=e.orderbookQueueSpace)!=null?q:65536+12),space:(K=e.orderbookQueueSpace)!=null?K:65536+12,programId:e.programId}),ne({programId:e.programId,marketInfo:{id:e.id.publicKey,requestQueue:e.requestQueue.publicKey,eventQueue:e.eventQueue.publicKey,bids:e.bids.publicKey,asks:e.asks.publicKey,baseVault:e.baseVault.publicKey,quoteVault:e.quoteVault.publicKey,baseMint:e.baseMint,quoteMint:e.quoteMint,baseLotSize:e.baseLotSize,quoteLotSize:e.quoteLotSize,feeRateBps:e.feeRateBps,vaultSignerNonce:e.vaultSignerNonce,quoteDustThreshold:e.quoteDustThreshold}})),[{transaction:r,signer:[],instructionTypes:[s.CreateAccount,s.CreateAccount,s.InitAccount,s.InitAccount]},{transaction:c,signer:[],instructionTypes:[s.CreateAccount,s.CreateAccount,s.CreateAccount,s.CreateAccount,s.CreateAccount,s.InitMarket]}]}export{ne as initializeMarket,lt as makeCreateMarketInstruction};
//# sourceMappingURL=instrument.mjs.map