Skip to content

Commit

Permalink
Fix OrderChanged event in IndependentReserve (#1047)
Browse files Browse the repository at this point in the history
* Fix typo

2024-07-23 15:25:49,502 : ERROR : INDEPENDENT_RESERVE.ws.6: encountered an exception, reconnecting in 1.0 seconds
Traceback (most recent call last):
  File "/Users/simon/.pyenv/versions/3.11.6/lib/python3.11/site-packages/cryptofeed/connection_handler.py", line 69, in _create_connection
    await self._handler(connection, self.handler)
  File "/Users/simon/.pyenv/versions/3.11.6/lib/python3.11/site-packages/cryptofeed/connection_handler.py", line 119, in _handler
    await handler(message, connection, self.conn.last_message)
  File "/Users/simon/.pyenv/versions/3.11.6/lib/python3.11/site-packages/cryptofeed/exchanges/independent_reserve.py", line 215, in message_handler
    await self._book(msg, timestamp)
  File "/Users/simon/.pyenv/versions/3.11.6/lib/python3.11/site-packages/cryptofeed/exchanges/independent_reserve.py", line 162, in _book
    elif msg['event'] == 'OrderChanged':
         ~~~^^^^^^^^^
KeyError: 'event'

* Update Changelog

* Fix TypeError

TypeError: 'cryptofeed.types.OrderBook' object is not subscriptable
2024-07-23 15:41:32,001 : ERROR : INDEPENDENT_RESERVE.ws.5: encountered an exception, reconnecting in 1.0 seconds
Traceback (most recent call last):
  File "/Users/simon/.pyenv/versions/3.11.6/lib/python3.11/site-packages/cryptofeed/connection_handler.py", line 69, in _create_connection
    await self._handler(connection, self.handler)
  File "/Users/simon/.pyenv/versions/3.11.6/lib/python3.11/site-packages/cryptofeed/connection_handler.py", line 119, in _handler
    await handler(message, connection, self.conn.last_message)
  File "/Users/simon/.pyenv/versions/3.11.6/lib/python3.11/site-packages/cryptofeed/exchanges/independent_reserve.py", line 215, in message_handler
    await self._book(msg, timestamp)
  File "/Users/simon/.pyenv/versions/3.11.6/lib/python3.11/site-packages/cryptofeed/exchanges/independent_reserve.py", line 174, in _book
    self._l3_book[instrument][side][price][uuid] = size
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
TypeError: 'cryptofeed.types.OrderBook' object is not subscriptable
  • Loading branch information
volemont authored Aug 28, 2024
1 parent c33caf7 commit 408714e
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 5 deletions.
1 change: 1 addition & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
* Feature: Bybit spot support
* Update: Bybit migrate to API V5 for public streams
* Bugfix: Handle None ids for Kraken trades in QuestDB
* Bugfix: Handle OrderChanged event in IndependentReserve

### 2.4.0 (2024-01-07)
* Update: Fix tests
Expand Down
10 changes: 5 additions & 5 deletions cryptofeed/exchanges/independent_reserve.py
Original file line number Diff line number Diff line change
Expand Up @@ -159,19 +159,19 @@ async def _book(self, msg: dict, timestamp: float):
self._l3_book[instrument].book[side][price] = {uuid: size}
delta[side].append((uuid, price, size))

elif msg['event'] == 'OrderChanged':
elif msg['Event'] == 'OrderChanged':
uuid = msg['Data']['OrderGuid']
size = msg['Data']['Volume']
side = BID if msg['Data']['OrderType'].endswith('Bid') else ASK
if uuid in self._order_ids[instrument]:
price, side = self._order_ids[instrument][uuid]

if size == 0:
del self._l3_book[instrument][side][price][uuid]
if len(self._l3_book[instrument][side][price]) == 0:
del self._l3_book[instrument][side][price]
del self._l3_book[instrument].book[side][price][uuid]
if len(self._l3_book[instrument].book[side][price]) == 0:
del self._l3_book[instrument].book[side][price]
else:
self._l3_book[instrument][side][price][uuid] = size
self._l3_book[instrument].book[side][price][uuid] = size

del self._order_ids[instrument][uuid]
delta[side].append((uuid, price, size))
Expand Down

0 comments on commit 408714e

Please sign in to comment.