anoma / namada

Rust implementation of Namada, a Proof-of-Stake L1 for interchain asset-agnostic privacy
https://namada.net
GNU General Public License v3.0
2.39k stars 945 forks source link

Switch the Ethereum bridge design to use Tendermint v0.38 + ABCI++ #198

Open james-chf opened 2 years ago

james-chf commented 2 years ago

For initial launch of the Ethereum bridge, we will be using ABCI 0.18 from Tendermint v0.37, which only gives us PrepareProposal/ProcessProposal ABCI methods. We eventually want to switch to Tendermint v0.38 and ABCI 0.19 which will let us properly use vote extensions. We have some code in the codebase to do with this Tendermint v0.38 design, guarded behind the abcipp feature flag.

We probably shouldn't attempt this until there is a stable prerelease of Tendermint v0.38 available for us to develop against.

Issues related to doing this are labelled https://github.com/anoma/namada/labels/ABCI%2B%2B

james-chf commented 2 years ago

We will be using ABCI v0.18.0 (i.e. parts of the former ABCI++) for initial Namada release but would eventually like to switch to ABCI v0.19.0 (full ABCI++) later on to support things like Ferveo and a better Ethereum bridge implementation