@cobaltx/sdk-v2
Version:
An SDK for building applications on top of CobaltX.
2 lines • 6.27 kB
JavaScript
import{PublicKey as E}from"@solana/web3.js";import{get as l,set as U}from"lodash";var x=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 r=e.map(n=>typeof n=="object"?JSON.stringify(n):n).join(", ");throw new Error(r)}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}},_={},C={};function T(s){let e=l(_,s);if(!e){let r=l(C,s);e=new x({name:s,logLevel:r}),U(_,s,e)}return e}import{PublicKey as t}from"@solana/web3.js";var Q=new t("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),W=new t("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),z=new t("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),J=new t("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),Y=new t("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),X=new t("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),f=new t("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),Z=new t("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),$=new t("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),ee=new t("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),te=new t("2TnjBuwqyBB9to5jURagDT7jLmBPefGRiKL2yh1zPZ4V"),re=new t("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),ne=new t("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),oe=new t("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),se=new t("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),ue=new t("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),ae=new t("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),ie=new t("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),ce=new t("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi"),pe=new t("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),ye=new t("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),Pe=new t("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),O=new t("CPMDWBwJDtYax9qW7AyRuVC19Cc4L4Vcy4n2BHAbHkCW"),D=new t("7rQ1QFNosMkUCuh7Z7fPbTHvh73b68sQYdirycEzJVuw"),V=new t("G11FKBRaAkHAKuLCgLM6K6NUc9rTjPAznRCjZifrTQe2"),de=new t("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),v=new t("DLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC"),xe=new t("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),k=new t("7AFUeLVRjBfzqK3tTGw8hN48KLQWSk6DTE8xprWdPqix");var fe={SERUM_MARKET:t.default,OPENBOOK_MARKET:new t("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),UTIL1216:t.default,FarmV3:new t("85BFyr98MbCUU9MVTEgzx1nbhWACbJqLzho6zd6DZcWL"),FarmV5:new t("EcLzTrNg9V7qhcdyXDe2qjtPkiGzDM2UbdRaeaadU5r2"),FarmV6:new t("Farm2hJLcqPtPg8M4rR6DMrsRNc5TPm5Cs4bVQrMe2T7"),AmmV4:new t("HWy1jotHpo6UqeQxx49dpYYdQB8wj9Qk9MdxwjLvDHB8"),AmmStable:new t("DDg4VmQaJV9ogWce7LpcjBA9bv22wRp5uaTPa5pGjijF"),CLMM:new t("devi51mZmdwUJGU9hjN27vEz64Gps7uUefqxg27EAtH"),CLMM_LOCK_PROGRAM_ID:new t("DLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC"),CLMM_LOCK_AUTH_ID:new t("8qmHNvu2Kr2C7U8mJL4Vz1vTDxMhVuXKREwU7TNoaVEo"),Router:new t("BVChZ3XFEwTMUk1o9i3HAf91H6mFxSwa5X2wFAWhYPhU"),CREATE_CPMM_POOL_PROGRAM:O,CREATE_CPMM_POOL_AUTH:D,CREATE_CPMM_POOL_FEE_ACC:V,FEE_DESTINATION_ID:new t("3XMrhbv989VxAMi3DErLV9eJht1pHppW5LbKxe9fkEFR"),LOCK_CPMM_PROGRAM:v,LCOK_CPMM_AUTH:k};var h={[f.toBase58()]:3},M={3:f};import{PublicKey as N}from"@solana/web3.js";import S,{isBN as _t}from"bn.js";import{bits as le,BitStructure as _e,blob as I,Blob as Te,cstr as he,f32 as Me,f32be as we,f64 as Se,f64be as Re,greedy as Ae,Layout as K,ns64 as Ee,ns64be as Be,nu64 as Ue,nu64be as Ce,offset as Oe,s16 as De,s16be as Ve,s24 as ve,s24be as ke,s32 as Ie,s32be as Ke,s40 as Ge,s40be as Ne,s48 as qe,s48be as Fe,s8 as He,seq as je,struct as Qe,Structure as G,u16 as We,u16be as ze,u24 as Je,u24be as Ye,u32 as Xe,u32be as Ze,u40 as $e,u40be as et,u48 as tt,u48be as rt,u8 as nt,UInt as ot,union as st,Union as ut,unionLayoutDiscriminator as at,utf8 as it}from"@solana/buffer-layout";var L=K,w=G;var i=I;var b=class extends L{constructor(r,n,o){super(r,o);this.blob=i(r),this.signed=n}decode(r,n=0){let o=new S(this.blob.decode(r,n),10,"le");return this.signed?o.fromTwos(this.span*8).clone():o}encode(r,n,o=0){return typeof r=="number"&&(r=new S(r)),this.signed&&(r=r.toTwos(this.span*8)),this.blob.encode(r.toArrayLike(Buffer,"le",this.span),n,o)}};function u(s){return new b(8,!1,s)}var g=class extends L{constructor(r,n,o,y){super(r.span,y);this.layout=r,this.decoder=n,this.encoder=o}decode(r,n){return this.decoder(this.layout.decode(r,n))}encode(r,n,o){return this.layout.encode(this.encoder(r),n,o)}getSpan(r,n){return this.layout.getSpan(r,n)}};function a(s){return new g(i(32),e=>new N(e),e=>e.toBuffer(),s)}var m=class extends w{decode(e,r){return super.decode(e,r)}};function R(s,e,r){return new m(s,e,r)}var q=R([i(5),i(8),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"),i(7)]),A={3:q};var d=T("Serum"),B=class{static getProgramId(e){let r=M[e];return r||d.logWithError("invalid version","version",e),r}static getVersion(e){let r=e.toBase58(),n=h[r];return n||d.logWithError("invalid program id","programId",r),n}static getStateLayout(e){let r=A[e];return r||d.logWithError(!!r,"invalid version","version",e),r}static getLayouts(e){return{state:this.getStateLayout(e)}}static getAssociatedAuthority({programId:e,marketId:r}){let n=[r.toBuffer()],o=0,y;for(;o<100;){try{let P=n.concat(Buffer.from([o]),Buffer.alloc(7));y=E.createProgramAddressSync(P,e)}catch(P){if(P instanceof TypeError)throw P;o++;continue}return{publicKey:y,nonce:o}}return d.logWithError("unable to find a viable program address nonce","params",{programId:e,marketId:r}),{publicKey:E.default,nonce:o}}};export{B as Market};
//# sourceMappingURL=serum.mjs.map