@@ -310,7 +310,8 @@ export class WebsocketClient extends BaseWebsocketClient<WsKey> {
310310
311311 const promiseRef = [ eventChannel , requestId ] . join ( '_' ) ;
312312
313- const eventAction = parsed . event || parsed . action || parsed ?. header . data ;
313+ const eventAction =
314+ parsed . event || parsed . action || parsed ?. header ?. data || parsed . channel ;
314315
315316 if ( eventType === 'api' ) {
316317 const isError = eventStatusCode !== '200' ;
@@ -390,7 +391,8 @@ export class WebsocketClient extends BaseWebsocketClient<WsKey> {
390391
391392 // Most events use "event: 'update'" for topic updates
392393 // The legacy "futures.order_book" topic uses "all" for this field
393- if ( [ 'update' , 'all' ] . includes ( eventAction ) ) {
394+ // 'futures.obu' is used for the orderbook v2 event. Oddly in a different structure than the other topics.
395+ if ( [ 'update' , 'all' , 'futures.obu' ] . includes ( eventAction ) ) {
394396 results . push ( {
395397 eventType : 'update' ,
396398 event : parsed ,
@@ -417,13 +419,12 @@ export class WebsocketClient extends BaseWebsocketClient<WsKey> {
417419 }
418420
419421 this . logger . error (
420- `!! Unhandled string event type "${ eventAction } . Defaulting to "update" channel...` ,
422+ `!! Unhandled string event type "${ eventAction } " . Defaulting to "update" channel...` ,
421423 parsed ,
422424 ) ;
423425 } else {
424- // TODO: test meee
425426 this . logger . error (
426- `!! Unhandled non-string event type "${ eventAction } . Defaulting to "update" channel...` ,
427+ `!! Unhandled non-string event type "${ eventAction } " . Defaulting to "update" channel...` ,
427428 parsed ,
428429 ) ;
429430 }
@@ -483,8 +484,6 @@ export class WebsocketClient extends BaseWebsocketClient<WsKey> {
483484 default :
484485 throw neverGuard ( wsKey , `Unhandled WsKey "${ wsKey } "` ) ;
485486 }
486-
487- return false ;
488487 }
489488
490489 /**
0 commit comments