[ICS07] Header/Misbehaviour verification methods are not quite reusable #1149
Closed
Labels
O: usability
Objective: aims to enhance user experience (UX) and streamline product usability
Milestone
Improvement Summary
Currently, some functions/methods handling ICS07 Header/Misbehaviour verification are closely tied to specific Tendermint's
ClientState
andConsensusState
types. However, these functions could be made more versatile to benefit other structures resembling ICS07 without requiring all their fields. These methods include:check_trusted_next_validator_set
as_trusted_block_state
verify_misbehaviour_header
check_for_misbehaviour_on_misbehavior
check_trusted_next_validator_set
Proposal
Typically, these methods don't need the entire object (all fields) of the
ClientState
andConsensusState
. The idea is to flatten the arguments of these functions by passing only the essential information they require. This approach allows us to work with different types ofClientState
that share similar verification logic. This need became apparent while implementing theverify_client_message
andcheck_misbehavior
methods for the Sovereign light client in thesovereign-ibc
.The text was updated successfully, but these errors were encountered: