pub enum ChainError {
Show 34 variants
CryptoError(CryptoError),
ArithmeticError(ArithmeticError),
ViewError(ViewError),
ExecutionError(Box<ExecutionError>, ChainExecutionContext),
InactiveChain(ChainId),
MissingCrossChainUpdate {
chain_id: ChainId,
origin: ChainId,
height: BlockHeight,
},
UnexpectedMessage {
chain_id: ChainId,
origin: ChainId,
bundle: Box<MessageBundle>,
previous_bundle: Box<MessageBundle>,
},
IncorrectMessageOrder {
chain_id: ChainId,
origin: ChainId,
bundle: Box<MessageBundle>,
next_height: BlockHeight,
next_index: u32,
},
CannotRejectMessage {
chain_id: ChainId,
origin: ChainId,
posted_message: Box<PostedMessage>,
},
CannotSkipMessage {
chain_id: ChainId,
origin: ChainId,
bundle: Box<MessageBundle>,
},
IncorrectBundleTimestamp {
chain_id: ChainId,
bundle_timestamp: Timestamp,
block_timestamp: Timestamp,
},
InvalidSigner,
UnexpectedBlockHeight {
expected_block_height: BlockHeight,
found_block_height: BlockHeight,
},
UnexpectedPreviousBlockHash,
BlockHeightOverflow,
InvalidBlockTimestamp {
parent: Timestamp,
new: Timestamp,
},
InsufficientRound(Round),
InsufficientRoundStrict(Round),
WrongRound(Round),
HasIncompatibleConfirmedVote(BlockHeight, Round),
MustBeNewerThanLockingBlock(BlockHeight, Round),
MissingEarlierBlocks {
current_block_height: BlockHeight,
},
CertificateValidatorReuse,
CertificateRequiresQuorum,
InternalError(String),
BlockProposalTooLarge(usize),
BcsError(Error),
ClosedChain,
EmptyBlock,
AuthorizedApplications(Vec<ApplicationId>),
MissingMandatoryApplications(Vec<ApplicationId>),
MissingOracleResponseList,
RoundDoesNotTimeOut,
NotTimedOutYet(Timestamp),
}Variants§
CryptoError(CryptoError)
ArithmeticError(ArithmeticError)
ViewError(ViewError)
ExecutionError(Box<ExecutionError>, ChainExecutionContext)
InactiveChain(ChainId)
MissingCrossChainUpdate
UnexpectedMessage
IncorrectMessageOrder
CannotRejectMessage
CannotSkipMessage
IncorrectBundleTimestamp
InvalidSigner
UnexpectedBlockHeight
UnexpectedPreviousBlockHash
BlockHeightOverflow
InvalidBlockTimestamp
InsufficientRound(Round)
InsufficientRoundStrict(Round)
WrongRound(Round)
HasIncompatibleConfirmedVote(BlockHeight, Round)
MustBeNewerThanLockingBlock(BlockHeight, Round)
MissingEarlierBlocks
Fields
§
current_block_height: BlockHeightCertificateValidatorReuse
CertificateRequiresQuorum
InternalError(String)
BlockProposalTooLarge(usize)
BcsError(Error)
ClosedChain
EmptyBlock
AuthorizedApplications(Vec<ApplicationId>)
MissingMandatoryApplications(Vec<ApplicationId>)
MissingOracleResponseList
RoundDoesNotTimeOut
NotTimedOutYet(Timestamp)
Implementations§
Trait Implementations§
Source§impl Debug for ChainError
impl Debug for ChainError
Source§impl Display for ChainError
impl Display for ChainError
Source§impl Error for ChainError
impl Error for ChainError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
Source§impl From<ArithmeticError> for ChainError
impl From<ArithmeticError> for ChainError
Source§fn from(source: ArithmeticError) -> Self
fn from(source: ArithmeticError) -> Self
Converts to this type from the input type.
Source§impl From<CryptoError> for ChainError
impl From<CryptoError> for ChainError
Source§fn from(source: CryptoError) -> Self
fn from(source: CryptoError) -> Self
Converts to this type from the input type.
Source§impl From<Error> for ChainError
impl From<Error> for ChainError
Auto Trait Implementations§
impl Freeze for ChainError
impl !RefUnwindSafe for ChainError
impl Send for ChainError
impl Sync for ChainError
impl Unpin for ChainError
impl !UnwindSafe for ChainError
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
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>
Converts
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>
Converts
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<M, I> RuntimeMemory<&mut I> for Mwhere
M: RuntimeMemory<I>,
impl<M, I> RuntimeMemory<&mut I> for Mwhere
M: RuntimeMemory<I>,
Source§fn read<'instance>(
&self,
instance: &'instance &mut I,
location: GuestPointer,
length: u32,
) -> Result<Cow<'instance, [u8]>, RuntimeError>
fn read<'instance>( &self, instance: &'instance &mut I, location: GuestPointer, length: u32, ) -> Result<Cow<'instance, [u8]>, RuntimeError>
Reads length bytes from memory from the provided location.
Source§fn write(
&mut self,
instance: &mut &mut I,
location: GuestPointer,
bytes: &[u8],
) -> Result<(), RuntimeError>
fn write( &mut self, instance: &mut &mut I, location: GuestPointer, bytes: &[u8], ) -> Result<(), RuntimeError>
Writes the bytes to memory at the provided location.