API:
- Better RPC handling (cache credentials)
- Process transaction prevouts in dedicated Tasks
- Consume ZMQ sequence msgs
- Track mempool count precisely
- Cache prevouts for mempool transactions
- Send mempool count with every client msg, instead of reconstructing client-side
- Only send block ids over websocket, let clients fetch the full block data via http
Client:
- Simplify transaction queue to avoid setTimeouts
- improves experience in background tabs
- no longer need to hold back txs, as duplicates are now handled API-side
- Use API-supplied mempool count, instead of tracking it client-side
- Make mempoolCount a Svelte spring store, so updates transition smoothly