What do the ideal Go API boundaries look like (i.e. functions, interfaces, types exposed) for Tendermint to better support consensus engine developers' use cases?
Definition of Done
When we have an ADR (or set of ADRs) that outlines these APIs. Ideally this work would include some recommendations as to a plan for doing the implementation in a piecemeal way, preferably informed by the specifications.