Once #16426 merged, we should keep drying up the interface to make it fully asynchronously, few ideas to brainstorm on:
- all
getHeight,getBlockHeightandfindFirstBlockWithTimeAndHeight-style methods should be removed once rescan logic moved in its own thread behind the interface (I have already a functional branch for this) - all mempool related methods (
mempoolMinFee) could be moved in its own Mempool::interface, client could care only about fee estimation, make it asynchronous too initMessage,initErrorand others could be moved in Node::interfacehandleRpcand others, wallet should have its own RPC server
I think last two issues could be started today, they don't rely on any other PRs.
We may also have a Broadcast interface, tracking the chain state and broadcasting a tx are really 2 different logics.
@ryanofsky pretty sure you have thoughts on it too.