Skip to content

Commit

Permalink
feat: merge beta to alpha
Browse files Browse the repository at this point in the history
  • Loading branch information
bradennapier committed May 28, 2024
2 parents ebee6bc + 767fabb commit ba78b5f
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 11 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@
"eslint-config-airbnb-base": "^15.0.0",
"eslint-config-prettier": "^9.1.0",
"eslint-import-resolver-typescript": "^3.6.1",
"eslint-plugin-import": "npm:eslint-plugin-i@2.29.1",
"eslint-plugin-import": "npm:eslint-plugin-i@latest",
"eslint-plugin-promise": "^6.1.1",
"globals": "^15.2.0",
"lint-staged": "^15.2.2",
Expand Down
20 changes: 12 additions & 8 deletions src/client/orderBook/realTime.ts
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ export class OrderBookRealTimeClient extends EventEmitter<{
this.unsubscribe();
this.webSocketClient.disconnect();
}
this.resetInternalState();
this.resetInternalState(true);
}

public async getMaximumTickSizeUnderSpread(market: string) {
Expand Down Expand Up @@ -287,9 +287,10 @@ export class OrderBookRealTimeClient extends EventEmitter<{
}

const beforeL1 = L2toL1OrderBook(book);

for (const update of updates) {
// outdated sequence, ignore
if (book.sequence > update.sequence) {
if (book.sequence >= update.sequence) {
// eslint-disable-next-line no-continue
continue;
}
Expand All @@ -302,12 +303,12 @@ export class OrderBookRealTimeClient extends EventEmitter<{
this.emit(
OrderBookRealTimeClientEvent.error,
new Error(
`Missing l2 update sequence, current book is ${book.sequence} message was ${update.sequence}`,
`Missing l2 update sequence, current book is ${book.sequence} message was ${update.sequence}, awaiting ${update.sequence - book.sequence} updates from REST API...`,
),
);
this.unsubscribe();
// this.unsubscribe();
this.resetInternalState();
this.subscribe();
// this.subscribe();

// eslint-disable-next-line no-await-in-loop
await this.synchronizeFromRestApi();
Expand Down Expand Up @@ -409,10 +410,13 @@ export class OrderBookRealTimeClient extends EventEmitter<{
}
}

private resetInternalState() {
private resetInternalState(includeUpdates = false) {
this.l1OrderBooks.clear();
this.l2OrderBooks.clear();
this.l2OrderBookUpdates.clear();
if (includeUpdates) {
this.l2OrderBookUpdates.clear();
}
//
}

/* Connection management */
Expand Down Expand Up @@ -456,7 +460,7 @@ export class OrderBookRealTimeClient extends EventEmitter<{

private webSocketHandleDisconnect() {
// Assume messages will be lost during disconnection and clear state. State will be re-synchronized again on reconnect
this.resetInternalState();
this.resetInternalState(true);

this.emit(OrderBookRealTimeClientEvent.disconnected);
}
Expand Down
4 changes: 2 additions & 2 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -610,7 +610,7 @@ __metadata:
eslint-config-airbnb-base: "npm:^15.0.0"
eslint-config-prettier: "npm:^9.1.0"
eslint-import-resolver-typescript: "npm:^3.6.1"
eslint-plugin-import: "npm:eslint-plugin-i@2.29.1"
eslint-plugin-import: "npm:eslint-plugin-i@latest"
eslint-plugin-promise: "npm:^6.1.1"
ethers: "npm:6.9.0"
globals: "npm:^15.2.0"
Expand Down Expand Up @@ -4004,7 +4004,7 @@ __metadata:
languageName: node
linkType: hard

"eslint-plugin-import@npm:eslint-plugin-i@2.29.1":
"eslint-plugin-import@npm:eslint-plugin-i@latest":
version: 2.29.1
resolution: "eslint-plugin-i@npm:2.29.1"
dependencies:
Expand Down

0 comments on commit ba78b5f

Please sign in to comment.