Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support verifyAdjacent #1513

Open
danwt opened this issue Nov 13, 2024 · 2 comments
Open

Support verifyAdjacent #1513

danwt opened this issue Nov 13, 2024 · 2 comments

Comments

@danwt
Copy link

danwt commented Nov 13, 2024

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
Copy link
Author

danwt commented Nov 13, 2024

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
Copy link
Author

danwt commented Nov 13, 2024

Side note:

What is this code doing?

if ibcHeaderCurrent, ok := dst.ibcHeaderCache[src.clientState.ConsensusHeight.RevisionHeight]; ok &&
dst.clientTrustedState.IBCHeader != nil &&
bytes.Equal(dst.clientTrustedState.IBCHeader.NextValidatorsHash(), ibcHeaderCurrent.NextValidatorsHash()) {
src.clientTrustedState = provider.ClientTrustedState{
ClientState: src.clientState,
IBCHeader: ibcHeaderCurrent,
}
return
}

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant