You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When this is later used as trusted consensus state agains a new Header the following is checked:
tmTrustedValidators, err := tmtypes.ValidatorSetFromProto(header.TrustedValidators)
if err != nil {
return sdkerrors.Wrap(err, "trusted validator set in not tendermint validator set type")
}
// assert that trustedVals is NextValidators of last trusted header
// to do this, we check that trustedVals.Hash() == consState.NextValidatorsHash
tvalHash := tmTrustedValidators.Hash()
if !bytes.Equal(consState.NextValidatorsHash, tvalHash) {
return sdkerrors.Wrapf(
ErrInvalidValidatorSet,
"trusted validators %s, does not hash to latest trusted validators. Expected: %X, got: %X",
header.TrustedValidators, consState.NextValidatorsHash, tvalHash,
)
}
So header.trusted_validator_set must come from the trusted_header.next_validators
For Admin Use
Not duplicate issue
Appropriate labels applied
Appropriate milestone (priority) applied
Appropriate contributors tagged
Contributor assigned/self-assigned
The text was updated successfully, but these errors were encountered:
Crate
relayer
Summary of Bug
see
informalsystems/tendermint-rs#831 (comment)
Version
Steps to Reproduce
This was seen sporadically on
akashnet-2
when trying to update clients.Fix
This is because the consensus state created on-chain stores the
next_validator
hash:When this is later used as trusted consensus state agains a new Header the following is checked:
So
header.trusted_validator_set
must come from thetrusted_header.next_validators
For Admin Use
The text was updated successfully, but these errors were encountered: