Enum ibc_types::lightclients::tendermint::Error
source · pub enum Error {
Show 40 variants
ChainIdTooLong {
chain_id: ChainId,
len: usize,
max_len: usize,
},
InvalidHeader {
reason: String,
error: Error,
},
InvalidTrustThreshold {
reason: String,
},
FailedTrustThresholdConversion {
numerator: u64,
denominator: u64,
},
InvalidTendermintTrustThreshold(Error),
InvalidMaxClockDrift {
reason: String,
},
InvalidLatestHeight {
reason: String,
},
MissingSignedHeader,
Validation {
reason: String,
},
InvalidRawClientState {
reason: String,
},
MissingValidatorSet,
MissingTrustedValidatorSet,
MissingTrustedHeight,
MissingTrustingPeriod,
MissingUnbondingPeriod,
NegativeMaxClockDrift,
MissingLatestHeight,
InvalidRawHeader(Error),
InvalidRawMisbehaviour {
reason: String,
},
Decode(DecodeError),
WrongTypeUrl {
url: String,
},
HeaderTimestampTooHigh {
actual: String,
max: String,
},
HeaderTimestampTooLow {
actual: String,
min: String,
},
TimestampOverflow(TimestampOverflowError),
NotEnoughTimeElapsed {
current_time: Timestamp,
earliest_time: Timestamp,
},
NotEnoughBlocksElapsed {
current_height: Height,
earliest_height: Height,
},
InvalidHeaderHeight {
height: u64,
},
MismatchedRevisions {
current_revision: u64,
update_revision: u64,
},
NotEnoughTrustedValsSigned {
reason: VotingPowerTally,
},
VerificationError {
detail: VerificationErrorDetail,
},
ProcessedTimeNotFound {
client_id: ClientId,
height: Height,
},
ProcessedHeightNotFound {
client_id: ClientId,
height: Height,
},
InsufficientHeight {
latest_height: Height,
target_height: Height,
},
ClientFrozen {
frozen_height: Height,
target_height: Height,
},
MisbehaviourTrustedValidatorHashMismatch {
trusted_validator_set: Vec<Info>,
next_validators_hash: Hash,
trusted_val_hash: Hash,
},
ConsensusStateTimestampGteTrustingPeriod {
duration_since_consensus_state: Duration,
trusting_period: Duration,
},
MisbehaviourHeadersBlockHashesEqual,
MisbehaviourHeadersNotAtSameHeight,
MisbehaviourHeadersChainIdMismatch {
header_chain_id: String,
chain_id: String,
},
InvalidRawClientId {
client_id: String,
},
}
Variants§
ChainIdTooLong
chain-id is ({chain_id}
) is too long, got: {len}
, max allowed: {max_len}
InvalidHeader
invalid header, failed basic validation: {reason}
, error: {error}
InvalidTrustThreshold
invalid client state trust threshold: {reason}
FailedTrustThresholdConversion
failed to build Tendermint domain type trust threshold from fraction: {numerator}
/{denominator}
InvalidTendermintTrustThreshold(Error)
invalid tendermint client state trust threshold error: {0}
InvalidMaxClockDrift
invalid client state max clock drift: {reason}
InvalidLatestHeight
invalid client state latest height: {reason}
MissingSignedHeader
missing signed header
Validation
invalid header, failed basic validation: {reason}
InvalidRawClientState
invalid raw client state: {reason}
MissingValidatorSet
missing validator set
MissingTrustedValidatorSet
missing trusted validator set
MissingTrustedHeight
missing trusted height
MissingTrustingPeriod
missing trusting period
MissingUnbondingPeriod
missing unbonding period
NegativeMaxClockDrift
negative max clock drift
MissingLatestHeight
missing latest height
InvalidRawHeader(Error)
invalid raw header error: {0}
InvalidRawMisbehaviour
invalid raw misbehaviour: {reason}
Decode(DecodeError)
decode error: {0}
WrongTypeUrl
wrong type url for tendermint light client state: {url}
HeaderTimestampTooHigh
given other previous updates, header timestamp should be at most {max}
, but was {actual}
HeaderTimestampTooLow
given other previous updates, header timestamp should be at least {min}
, but was {actual}
TimestampOverflow(TimestampOverflowError)
timestamp overflowed error: {0}
NotEnoughTimeElapsed
not enough time elapsed, current timestamp {current_time}
is still less than earliest acceptable timestamp {earliest_time}
NotEnoughBlocksElapsed
not enough blocks elapsed, current height {current_height}
is still less than earliest acceptable height {earliest_height}
InvalidHeaderHeight
header revision height = {height}
is invalid
MismatchedRevisions
the header’s current/trusted revision number ({current_revision}
) and the update’s revision number ({update_revision}
) should be the same
NotEnoughTrustedValsSigned
Fields
reason: VotingPowerTally
not enough trust because insufficient validators overlap: {reason}
VerificationError
Fields
detail: VerificationErrorDetail
verification failed: {detail}
ProcessedTimeNotFound
Processed time for the client {client_id}
at height {height}
not found
ProcessedHeightNotFound
Processed height for the client {client_id}
at height {height}
not found
InsufficientHeight
the height is insufficient: latest_height={latest_height}
target_height={target_height}
ClientFrozen
the client is frozen: frozen_height={frozen_height}
target_height={target_height}
MisbehaviourTrustedValidatorHashMismatch
trusted validators {trusted_validator_set:?}
, does not hash to latest trusted validators. Expected: {next_validators_hash}
, got: {trusted_val_hash}
ConsensusStateTimestampGteTrustingPeriod
current timestamp minus the latest consensus state timestamp is greater than or equal to the trusting period ({duration_since_consensus_state:?}
>= {trusting_period:?}
)
MisbehaviourHeadersBlockHashesEqual
headers block hashes are equal
MisbehaviourHeadersNotAtSameHeight
headers are not at same height and are monotonically increasing
MisbehaviourHeadersChainIdMismatch
header chain-id {header_chain_id}
does not match the light client’s chain-id {chain_id}
)
InvalidRawClientId
invalid raw client id: {client_id}