pub enum Error {
Show 38 variants
UnbondingPeriodElapsed {
consensus_state_id: ConsensusStateId,
},
ChallengePeriodNotElapsed {
state_machine_id: StateMachineId,
update_time: Duration,
current_time: Duration,
},
ConsensusStateNotFound {
consensus_state_id: ConsensusStateId,
},
StateCommitmentNotFound {
height: StateMachineHeight,
},
FrozenConsensusClient {
consensus_state_id: ConsensusStateId,
},
RequestCommitmentNotFound {
meta: Meta,
},
RequestVerificationFailed {
meta: Meta,
},
RequestTimeoutNotElapsed {
meta: Meta,
timeout_timestamp: Duration,
state_machine_time: Duration,
},
RequestTimeoutVerificationFailed {
meta: Meta,
},
ResponseVerificationFailed {
meta: Meta,
},
ConsensusProofVerificationFailed {
id: ConsensusClientId,
},
ExpiredConsensusClient {
id: ConsensusClientId,
},
CannotHandleMessage,
MembershipProofVerificationFailed(String),
NonMembershipProofVerificationFailed(String),
Custom(String),
CannotCreateAlreadyExistingConsensusClient {
id: ConsensusClientId,
},
InsufficientProofHeight,
ModuleNotFound(Vec<u8>),
ConsensusStateIdNotRecognized {
consensus_state_id: ConsensusStateId,
},
ChallengePeriodNotConfigured {
state_machine: StateMachineId,
},
DuplicateConsensusStateId {
consensus_state_id: ConsensusStateId,
},
UnnbondingPeriodNotConfigured {
consensus_state_id: ConsensusStateId,
},
ModuleDispatchError {
msg: String,
meta: Meta,
},
UnknownRequest {
meta: Meta,
},
UnknownResponse {
meta: Meta,
},
UnsolicitedResponse {
meta: Meta,
},
RequestTimeout {
meta: Meta,
},
ResponseTimeout {
response: Meta,
},
DuplicateRequest {
meta: Meta,
},
DuplicateResponse {
meta: Meta,
},
RequestProofMetadataNotValid {
meta: Meta,
},
RequestProxyProhibited {
meta: Meta,
},
ResponseProxyProhibited {
meta: Meta,
},
InvalidRequestDestination {
meta: Meta,
},
InvalidResponseDestination {
meta: Meta,
},
InvalidResponseType {
meta: Meta,
},
SignatureDecodingFailed,
}Expand description
Errors that may be encountered by the ISMP module
Variants§
UnbondingPeriodElapsed
The unbonding period for the given consensus client has elapsed and can no longer process consensus updates.
Fields
consensus_state_id: ConsensusStateIdThe consensus client identifier
ChallengePeriodNotElapsed
The challange period for the given consensus client has not yet elapsed and cannot process new consensus updates in the mean time.
Fields
state_machine_id: StateMachineIdThe consensus client identifier
ConsensusStateNotFound
A consensus state was not found for the given consensus client.
Fields
consensus_state_id: ConsensusStateIdThe consensus client identifier
StateCommitmentNotFound
A state commitment was not found for the given consensus client.
Fields
height: StateMachineHeightThe given state machine height
FrozenConsensusClient
The given consensus client has been frozen
Fields
consensus_state_id: ConsensusStateIdThe consensus client identifier
RequestCommitmentNotFound
The given request was not found
RequestVerificationFailed
The given request has failed state proof verification
RequestTimeoutNotElapsed
The given request has not yet timed-out
Fields
RequestTimeoutVerificationFailed
The given request has failed non-membership state proof verification
ResponseVerificationFailed
The given response has failed membership state proof verification
ConsensusProofVerificationFailed
Failed to verify the consensus proof for the given consensus client
Fields
id: ConsensusClientIdThe consensus client identifier
ExpiredConsensusClient
The given consensus client has expired
Fields
id: ConsensusClientIdThe consensus client identifier
CannotHandleMessage
Cannot handle the given message
MembershipProofVerificationFailed(String)
Membership proof verification failed: {0}
NonMembershipProofVerificationFailed(String)
Non-membership proof verification failed: {0}
Custom(String)
Custom error: {0}
CannotCreateAlreadyExistingConsensusClient
A consensus client with the given identifier already exists
Fields
id: ConsensusClientIdThe consensus client identifier
InsufficientProofHeight
Supplied proof height is invalid
ModuleNotFound(Vec<u8>)
An Ismp Module was not found for the given raw id
ConsensusStateIdNotRecognized
Unknown consensus state id
Fields
consensus_state_id: ConsensusStateIdConsensus state Id
ChallengePeriodNotConfigured
Challenge period has not been configured for this consensus state
Fields
state_machine: StateMachineIdState Machine Id
DuplicateConsensusStateId
Consensus state id already exists
Fields
consensus_state_id: ConsensusStateIdConsensus state Id
UnnbondingPeriodNotConfigured
Unbonding period has not been configured for this consensus state
Fields
consensus_state_id: ConsensusStateIdConsensus state Id
ModuleDispatchError
Error from dispatching a request to a module
UnknownRequest
Attempted to respond to/timeout an unknown request
UnknownResponse
Attempted to time-out an unknown response
UnsolicitedResponse
Request commitment for a response does not exist
RequestTimeout
Timed out request found in batch
ResponseTimeout
Timed out response found in batch
DuplicateRequest
Duplicate request
DuplicateResponse
Duplicate response
RequestProofMetadataNotValid
Request source does not match proof metadata
RequestProxyProhibited
Proxy cannot be used when a direct connection exists
ResponseProxyProhibited
Proxy cannot be used when a direct connection exists
InvalidRequestDestination
Host is not a proxy and destination chain does is not the host
InvalidResponseDestination
The response destination does not match
InvalidResponseType
Expected get request found post
SignatureDecodingFailed
Error decoding signature
Trait Implementations§
Source§impl Decode for Error
impl Decode for Error
Source§fn decode<__CodecInputEdqy: Input>(
__codec_input_edqy: &mut __CodecInputEdqy,
) -> Result<Self, Error>
fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy, ) -> Result<Self, Error>
Source§fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
I: Input,
fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
I: Input,
Source§impl Encode for Error
impl Encode for Error
Source§fn size_hint(&self) -> usize
fn size_hint(&self) -> usize
Source§fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy,
)
fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
Source§fn using_encoded<R, F>(&self, f: F) -> R
fn using_encoded<R, F>(&self, f: F) -> R
Source§fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Source§impl Error for Error
impl Error for Error
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
impl EncodeLike for Error
impl Eq for Error
impl StructuralPartialEq for Error
Auto Trait Implementations§
impl Freeze for Error
impl RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl UnwindSafe for Error
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> DecodeLimit for Twhere
T: Decode,
impl<T> DecodeLimit for Twhere
T: Decode,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
Source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
Source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
Source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
T. Read moreSource§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
Source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from.Source§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
Source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T.