UNPKG

@cobaltx/sdk-v2

Version:

An SDK for building applications on top of CobaltX.

2 lines 9.02 kB
"use strict";var Q=Object.create;var l=Object.defineProperty;var k=Object.getOwnPropertyDescriptor;var O=Object.getOwnPropertyNames;var z=Object.getPrototypeOf,G=Object.prototype.hasOwnProperty;var Y=(r,t)=>{for(var e in t)l(r,e,{get:t[e],enumerable:!0})},R=(r,t,e,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of O(t))!G.call(r,s)&&s!==e&&l(r,s,{get:()=>t[s],enumerable:!(o=k(t,s))||o.enumerable});return r};var j=(r,t,e)=>(e=r!=null?Q(z(r)):{},R(t||!r||!r.__esModule?l(e,"default",{value:r,enumerable:!0}):e,r)),H=r=>R(l({},"__esModule",{value:!0}),r);var Z={};Y(Z,{initializeMarket:()=>E,makeCreateMarketInstruction:()=>X});module.exports=H(Z);var a=require("@solana/web3.js"),d=require("@solana/spl-token");var i={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"};var N=require("@solana/web3.js"),P=j(require("bn.js"));var n=require("@solana/buffer-layout"),m=n.Layout,M=n.Structure;var L=n.UInt;var v=n.u16;var S=n.u32;var y=n.blob;var f=n.bits;var h=class extends m{constructor(e,o,s){super(e,s);this.blob=y(e),this.signed=o}decode(e,o=0){let s=new P.default(this.blob.decode(e,o),10,"le");return this.signed?s.fromTwos(this.span*8).clone():s}encode(e,o,s=0){return typeof e=="number"&&(e=new P.default(e)),this.signed&&(e=e.toTwos(this.span*8)),this.blob.encode(e.toArrayLike(Buffer,"le",this.span),o,s)}},x=class extends m{constructor(e){super(8,e);this._lower=f(S(),!1),this._upper=f(S(),!1)}addBoolean(e){this._lower.fields.length<32?this._lower.addBoolean(e):this._upper.addBoolean(e)}decode(e,o=0){let s=this._lower.decode(e,o),p=this._upper.decode(e,o+this._lower.span);return{...s,...p}}encode(e,o,s=0){return this._lower.encode(e,o,s)+this._upper.encode(e,o,s+this._lower.span)}};function D(r){return new L(1,r)}function W(r){return new L(4,r)}function u(r){return new h(8,!1,r)}var w=class extends m{constructor(e,o,s,p){super(e.span,p);this.layout=e,this.decoder=o,this.encoder=s}decode(e,o){return this.decoder(this.layout.decode(e,o))}encode(e,o,s){return this.layout.encode(this.encoder(e),o,s)}getSpan(e,o){return this.layout.getSpan(e,o)}};function c(r){return new w(y(32),t=>new N.PublicKey(t),t=>t.toBuffer(),r)}var T=class extends M{decode(t,e){return super.decode(t,e)}};function g(r,t,e){return new T(r,t,e)}function J(r="accountFlags"){let t=new x(r);return t.addBoolean("initialized"),t.addBoolean("market"),t.addBoolean("openOrders"),t.addBoolean("requestQueue"),t.addBoolean("eventQueue"),t.addBoolean("bids"),t.addBoolean("asks"),t}var B=g([y(5),J("accountFlags"),c("ownAddress"),u("vaultSignerNonce"),c("baseMint"),c("quoteMint"),c("baseVault"),u("baseDepositsTotal"),u("baseFeesAccrued"),c("quoteVault"),u("quoteDepositsTotal"),u("quoteFeesAccrued"),u("quoteDustThreshold"),c("requestQueue"),c("eventQueue"),c("bids"),c("asks"),u("baseLotSize"),u("quoteLotSize"),u("feeRateBps"),u("referrerRebatesAccrued"),y(7)]);function E({programId:r,marketInfo:t}){let e=g([D("version"),W("instruction"),u("baseLotSize"),u("quoteLotSize"),v("feeRateBps"),u("vaultSignerNonce"),u("quoteDustThreshold")]),o=[{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:a.SYSVAR_RENT_PUBKEY,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}:[]),s=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},s),new a.TransactionInstruction({keys:o,programId:r,data:s})}async function X({connection:r,wallet:t,marketInfo:e}){var A,C,V,_,q,K,U,F;let o=new a.Transaction,s=await r.getMinimumBalanceForRentExemption(165);o.add(a.SystemProgram.createAccountWithSeed({fromPubkey:t,basePubkey:t,seed:e.baseVault.seed,newAccountPubkey:e.baseVault.publicKey,lamports:s,space:165,programId:d.TOKEN_PROGRAM_ID}),a.SystemProgram.createAccountWithSeed({fromPubkey:t,basePubkey:t,seed:e.quoteVault.seed,newAccountPubkey:e.quoteVault.publicKey,lamports:s,space:165,programId:d.TOKEN_PROGRAM_ID}),(0,d.createInitializeAccountInstruction)(e.baseVault.publicKey,e.baseMint,e.vaultOwner),(0,d.createInitializeAccountInstruction)(e.quoteVault.publicKey,e.quoteMint,e.vaultOwner),a.SystemProgram.createAccountWithSeed({fromPubkey:t,basePubkey:t,seed:e.id.seed,newAccountPubkey:e.id.publicKey,lamports:await r.getMinimumBalanceForRentExemption(B.span),space:B.span,programId:e.programId}));let p=new a.Transaction;return p.add(a.SystemProgram.createAccountWithSeed({fromPubkey:t,basePubkey:t,seed:e.requestQueue.seed,newAccountPubkey:e.requestQueue.publicKey,lamports:e.lowestFeeMarket?6208320:await r.getMinimumBalanceForRentExemption((A=e.requestQueueSpace)!=null?A:5120+12),space:e.lowestFeeMarket?764:(C=e.requestQueueSpace)!=null?C:5120+12,programId:e.programId}),a.SystemProgram.createAccountWithSeed({fromPubkey:t,basePubkey:t,seed:e.eventQueue.seed,newAccountPubkey:e.eventQueue.publicKey,lamports:e.lowestFeeMarket?79594560:await r.getMinimumBalanceForRentExemption((V=e.eventQueueSpace)!=null?V:262144+12),space:e.lowestFeeMarket?11308:(_=e.eventQueueSpace)!=null?_:262144+12,programId:e.programId}),a.SystemProgram.createAccountWithSeed({fromPubkey:t,basePubkey:t,seed:e.bids.seed,newAccountPubkey:e.bids.publicKey,lamports:e.lowestFeeMarket?101977920:await r.getMinimumBalanceForRentExemption((q=e.orderbookQueueSpace)!=null?q:65536+12),space:e.lowestFeeMarket?14524:(K=e.orderbookQueueSpace)!=null?K:65536+12,programId:e.programId}),a.SystemProgram.createAccountWithSeed({fromPubkey:t,basePubkey:t,seed:e.asks.seed,newAccountPubkey:e.asks.publicKey,lamports:e.lowestFeeMarket?101977920:await r.getMinimumBalanceForRentExemption((U=e.orderbookQueueSpace)!=null?U:65536+12),space:e.lowestFeeMarket?14524:(F=e.orderbookQueueSpace)!=null?F:65536+12,programId:e.programId}),E({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:o,signer:[],instructionTypes:[i.CreateAccount,i.CreateAccount,i.InitAccount,i.InitAccount]},{transaction:p,signer:[],instructionTypes:[i.CreateAccount,i.CreateAccount,i.CreateAccount,i.CreateAccount,i.CreateAccount,i.InitMarket]}]}0&&(module.exports={initializeMarket,makeCreateMarketInstruction}); //# sourceMappingURL=instrument.js.map