Skip to content

Commit 2724be0

Browse files
authored
Misbehaviour handling implementation (#215)
* Add ClientState::check_misbehaviour_and_update_state() * Implement misbehaviour handler * impl Protobuf<Any> for Misbehaviour * Remove redundant definition of decode_header() * Implement ChainId::with_version() * Getters for Tm Misbehaviour * Add missing checks for conversion from RawMisbehaviour * Make TmClientState::with_frozen_height() infallible * Implement TmClientState::check_misbehaviour_and_update_state() * Cleanup inner functions * Cleanup errors * Clippy fix * Ctor for TmMisbehaviour * Use git dependencies for tendermint crates * Add VerifyCommitLightTrusting check * Add VerifyCommit check * Clippy fix * Patch tendermint deps for no-std-check * Convert Tendermint VerificationError * Add helpers `Header::as_{un}trusted_block_state()` * Reorder untrusted verification logic * Reorder trusted verification logic * Misbehavior -> misbehaviour * Check for matching chain-ids * cargo update ci/no-std-check * Fix build failure after merge with main * Update for API changes in tm PR * Delete ci/no-std-check/Cargo.lock * Add changelog entry * Cleanup (naming & comments) * Rename check_trusted_header() -> check_header_validator_set() * Rename check_misbehaviour_header() -> check_header_and_validator_set() * Rename MisbehaviourConsensusStateTimestampGteTrustingPeriod -> ConsensusStateTimestampGteTrustingPeriod * Rename verify_misbehaviour_header_commit() -> verify_header_commit_against_trusted() * Remove redundant client state expired check * Impl Protobuf conversions for mock Misbehaviour * Impl check_misbehaviour_and_update_state() for mock Misbehaviour * Remove cargo patches * Fixes after tendermint-rs bump * Fix typo * Add tests * MockClientState::with_frozen_height() * Provide MockContext helper to set client chain-id * Conversions from HostBlock -> TmLightBlock -> TmHeader * Fix tests * Clippy fix * Cleanup tests * Add comments for tests * Clippy fix * Rustfmt
1 parent a5f3a35 commit 2724be0

File tree

20 files changed

+892
-2737
lines changed

20 files changed

+892
-2737
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
- Implement the IBC misbehaviour handler and misbehaviour handling logic for the Tendermint light client.
2+
([#12](https://github.com/cosmos/ibc-rs/issues/12))

0 commit comments

Comments
 (0)