Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 0 additions & 10 deletions crates/relayer/src/foreign_client.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1657,16 +1657,6 @@ impl<DstChain: ChainHandle, SrcChain: ChainHandle> ForeignClient<DstChain, SrcCh
break;
}

// No header in events, cannot run misbehavior.
// May happen on chains running older SDKs (e.g., Akash)
if update_event.header.is_none() {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removing the check alone won’t fix the problem, since the header is still required by detect_misbehaviour to compare it with the client state header.

cosmos/ibc-go#5110

Following the comment, we should call the /header endpoint to retrieve the header instead of relying on the event data.

return Err(ForeignClientError::misbehaviour_exit(format!(
"could not extract header from update client event {:?} emitted by chain {}",
update_event,
self.dst_chain.id()
)));
}

// Check for misbehaviour according to the specific source chain type.
// In case of Tendermint client, this will also check the BFT time violation if
// a header for the event height cannot be retrieved from the witness.
Expand Down