Closed
Description
This is the meta issue for first phase of Tendermint in Rust consensus protocol impementation.
Tasks
- Specs
- English spec: started under this PR. Should move here, open issue and link the PRs.
- closed in spec: add Consensus English spec #89
- Quint spec: existing spec
- all specs are now in https://github.com/informalsystems/malachite/tree/main/Specs/Quint
- English spec: started under this PR. Should move here, open issue and link the PRs.
- Design and Implementation
- ADR 001: High level architecture of the implementation #33
- code: Initial implementation of the state machine, vote keeper, and driver #49
- Abstract over the various data types needed by the consensus engine #8
- Propose checks, id in prevote and precommit #7
- Consensus executor #5
- Add a vote keeper #4
- Add vote counting facility #3
- CI - Add GitHub actions for Rust code #2
-
Instantiation for concrete chains-> Move to phase 2
- [ ] feat(tendermint): InstantiateContext
for Tendermint types #47
- [ ] feat: InstantiateContext
for Starknet types #48 - MBT tests (in a new crate
malachite-mbt
)