triangular_arbitrage_bot/executor
nicolas 7c9b7f7ae6 perf: jsmn zero-alloc parser, coalesce evaluations, fix fill race
Engine (ws_client.c/h):
- Replace cJSON with jsmn (stack tokens, zero malloc) for book updates
- Quick-route message frames ("type":"message") to jsmn, bypass cJSON
- Coalesce same-symbol updates within one SSL_read burst: evaluate once
- ws_client_process_frame returns symbol_idx for batch tracking
- Restore book->sequence field update from sequence/sequenceNum

Executor (ws_client.py):
- Fix race: fill event arriving before await_fill registers future
  is now detected via FillAccumulator._done flag, resolved immediately
2026-05-24 18:17:14 -03:00
..
__init__.py Add initial triangular arbitrage bot 2026-05-24 16:12:04 -03:00
__main__.py Add initial triangular arbitrage bot 2026-05-24 16:12:04 -03:00
config.py Add initial triangular arbitrage bot 2026-05-24 16:12:04 -03:00
executor.py refactor: move order sizing to engine, simplify executor 2026-05-24 17:49:09 -03:00
kucoin_api.py Add initial triangular arbitrage bot 2026-05-24 16:12:04 -03:00
rest_api.py Add initial triangular arbitrage bot 2026-05-24 16:12:04 -03:00
socket_server.py Add initial triangular arbitrage bot 2026-05-24 16:12:04 -03:00
ws_client.py perf: jsmn zero-alloc parser, coalesce evaluations, fix fill race 2026-05-24 18:17:14 -03:00