solana-py icon indicating copy to clipboard operation
solana-py copied to clipboard

WebSocket error when data is larger than RPC limit

Open mfrager opened this issue 1 year ago • 2 comments

Websocket Error:

error: data too large for bs58 encoding

Raw Websocket Message:

{"jsonrpc":"2.0","method":"programNotification","params":{"result":{"context":{"slot":216302856},"value":{"pubkey":"CyLqCick4VJYTG5id9EbU1RMxCXt9q5C51ZAnBJWWc5p","account":{"lamports":2679600,"data":"error: data too large for bs58 encoding","owner":"CTLGp9JpcXCJZPqdn2W73c74DTsCTS8EFEedd7enU8Mv","executable":false,"rentEpoch":0}}},"subscription":8491861}}

Python Error Generated:

future: <Task finished name='Task-5' coro=<websocket_listener() done, defined at /zzz/solana_tracker.py:153> exception=SerdeJSONError('a list or single element')> Traceback (most recent call last): File "/zzz/solana_tracker.py", line 160, in websocket_listener async for idx, msg in enumerate(websocket): File "/usr/local/lib/python3.10/site-packages/asyncstdlib/builtins.py", line 620, in enumerate async for item in item_iter: File "/usr/local/lib/python3.10/site-packages/websockets/legacy/protocol.py", line 497, in aiter yield await self.recv() File "/usr/local/lib/python3.10/site-packages/solana/rpc/websocket_api.py", line 108, in recv return self._process_rpc_response(cast(str, data)) File "/usr/local/lib/python3.10/site-packages/solana/rpc/websocket_api.py", line 346, in _process_rpc_response parsed = parse_websocket_message(raw) solders.SerdeJSONError: a list or single element

mfrager avatar May 16 '23 22:05 mfrager