@drift-labs/sdk 2.93.0-beta.7 → 2.93.0-beta.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/VERSION CHANGED
@@ -1 +1 @@
1
- 2.93.0-beta.7
1
+ 2.93.0-beta.8
@@ -81,7 +81,7 @@ export declare class DLOB {
81
81
  findJitAuctionNodesToFill(marketIndex: number, slot: number, oraclePriceData: OraclePriceData, marketType: MarketType): NodeToFill[];
82
82
  getTakingBids(marketIndex: number, marketType: MarketType, slot: number, oraclePriceData: OraclePriceData, filterFcn?: DLOBFilterFcn): Generator<DLOBNode>;
83
83
  getTakingAsks(marketIndex: number, marketType: MarketType, slot: number, oraclePriceData: OraclePriceData, filterFcn?: DLOBFilterFcn): Generator<DLOBNode>;
84
- private getBestNode;
84
+ protected getBestNode(generatorList: Array<Generator<DLOBNode>>, oraclePriceData: OraclePriceData, slot: number, compareFcn: (bestDLOBNode: DLOBNode, currentDLOBNode: DLOBNode, slot: number, oraclePriceData: OraclePriceData) => boolean, filterFcn?: DLOBFilterFcn): Generator<DLOBNode>;
85
85
  getRestingLimitAsks(marketIndex: number, slot: number, marketType: MarketType, oraclePriceData: OraclePriceData, filterFcn?: DLOBFilterFcn): Generator<DLOBNode>;
86
86
  getRestingLimitBids(marketIndex: number, slot: number, marketType: MarketType, oraclePriceData: OraclePriceData, filterFcn?: DLOBFilterFcn): Generator<DLOBNode>;
87
87
  getAsks(marketIndex: number, fallbackAsk: BN | undefined, slot: number, marketType: MarketType, oraclePriceData: OraclePriceData, filterFcn?: DLOBFilterFcn): Generator<DLOBNode>;
@@ -28,6 +28,12 @@ export declare class OrderSubscriber {
28
28
  subscribe(): Promise<void>;
29
29
  fetch(): Promise<void>;
30
30
  tryUpdateUserAccount(key: string, dataType: 'raw' | 'decoded' | 'buffer', data: string[] | UserAccount | Buffer, slot: number): void;
31
+ /**
32
+ * Creates a new DLOB for the order subscriber to fill. This will allow a
33
+ * caller to extend the DLOB Subscriber with a custom DLOB type.
34
+ * @returns New, empty DLOB object.
35
+ */
36
+ protected createDLOB(): DLOB;
31
37
  getDLOB(slot: number): Promise<DLOB>;
32
38
  getSlot(): number;
33
39
  unsubscribe(): Promise<void>;
@@ -141,8 +141,16 @@ class OrderSubscriber {
141
141
  }
142
142
  }
143
143
  }
144
+ /**
145
+ * Creates a new DLOB for the order subscriber to fill. This will allow a
146
+ * caller to extend the DLOB Subscriber with a custom DLOB type.
147
+ * @returns New, empty DLOB object.
148
+ */
149
+ createDLOB() {
150
+ return new DLOB_1.DLOB();
151
+ }
144
152
  async getDLOB(slot) {
145
- const dlob = new DLOB_1.DLOB();
153
+ const dlob = this.createDLOB();
146
154
  for (const [key, { userAccount }] of this.usersAccounts.entries()) {
147
155
  for (const order of userAccount.orders) {
148
156
  dlob.insertOrder(order, key, slot);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@drift-labs/sdk",
3
- "version": "2.93.0-beta.7",
3
+ "version": "2.93.0-beta.8",
4
4
  "main": "lib/index.js",
5
5
  "types": "lib/index.d.ts",
6
6
  "author": "crispheaney",
package/src/dlob/DLOB.ts CHANGED
@@ -1104,7 +1104,7 @@ export class DLOB {
1104
1104
  );
1105
1105
  }
1106
1106
 
1107
- private *getBestNode(
1107
+ protected *getBestNode(
1108
1108
  generatorList: Array<Generator<DLOBNode>>,
1109
1109
  oraclePriceData: OraclePriceData,
1110
1110
  slot: number,
@@ -217,8 +217,17 @@ export class OrderSubscriber {
217
217
  }
218
218
  }
219
219
 
220
+ /**
221
+ * Creates a new DLOB for the order subscriber to fill. This will allow a
222
+ * caller to extend the DLOB Subscriber with a custom DLOB type.
223
+ * @returns New, empty DLOB object.
224
+ */
225
+ protected createDLOB(): DLOB {
226
+ return new DLOB();
227
+ }
228
+
220
229
  public async getDLOB(slot: number): Promise<DLOB> {
221
- const dlob = new DLOB();
230
+ const dlob = this.createDLOB();
222
231
  for (const [key, { userAccount }] of this.usersAccounts.entries()) {
223
232
  for (const order of userAccount.orders) {
224
233
  dlob.insertOrder(order, key, slot);