informalsystems / tendermint-rs

Client libraries for Tendermint/CometBFT in Rust!
Apache License 2.0
588 stars 215 forks source link

Introduce `app_hash` field in testgen `Header` #1343

Closed Farhad-Shabani closed 9 months ago

Farhad-Shabani commented 10 months ago

Description

Currently, when generating a new Tendermint header from a testgen Header, the app_hash field is set to an empty string value. This leads to a nil root when using this header to obtain consensus states (e.g. like here in basecoin-rs), which is not an acceptable value for ibc-rs implementation, resulting in the rejection of submitted consensus states to an IBC module.

Definition of "done"

To address this, it is recommended to add an app_hash field to the testget Header. While the default value can remain empty, this would allow users the flexibility to introduce their desired app_hash when necessary, as used here for implementing a mock cosmos chain.