relayer icon indicating copy to clipboard operation
relayer copied to clipboard

Support verifyAdjacent

Open danwt opened this issue 1 year ago • 2 comments

Hi

It seems that the relayer cannot handle val set changes between H and H+1 of more than trustLevel voting power, because it does not properly pass adjacent headers to be routed through verifyAdjacent. As far as I can tell, this is not supported.

This is causing problems for our use case where we have validator sets of size 1 (100% voting power change, 1/1 trust level). I would be keen to hear more about this ASAP and work to get it solved

Thanks

danwt avatar Nov 13 '24 11:11 danwt

In fact, from looking v2.5.2 there doesn't seem to be any support for updating with concern about voting power changes. The relayer just always tries to update the light client with the latest header of the counterparty, using the last trusted height.

danwt avatar Nov 13 '24 12:11 danwt

Side note:

What is this code doing?

https://github.com/cosmos/relayer/blob/3b9ec008999973469aeab4bbdbcb44ff4886b8b8/relayer/processor/path_processor_internal.go#L702-L710

Seems it's wrong, it checks bytes.Equal(dst.clientTrustedState.IBCHeader.NextValidatorsHash(), ibcHeaderCurrent.NextValidatorsHash()) on 704 which doesn't make sense

danwt avatar Nov 13 '24 17:11 danwt