pub enum ExitError {
Show 18 variants
StackUnderflow,
StackOverflow,
InvalidJump,
InvalidRange,
DesignatedInvalid,
CallTooDeep,
CreateCollision,
CreateContractLimit,
InvalidCode(Opcode),
OutOfOffset,
OutOfGas,
OutOfFund,
PCUnderflow,
CreateEmpty,
Other(Cow<'static, str>),
MaxNonce,
UsizeOverflow,
CreateContractStartingWithEF,
}Expand description
Exit error reason.
Variants§
StackUnderflow
Trying to pop from an empty stack.
StackOverflow
Trying to push into a stack over stack limit.
InvalidJump
Jump destination is invalid.
InvalidRange
An opcode accesses memory region, but the region is invalid.
DesignatedInvalid
Encountered the designated invalid opcode.
CallTooDeep
Call stack is too deep (runtime).
CreateCollision
Create opcode encountered collision (runtime).
CreateContractLimit
Create init code exceeds limit (runtime).
InvalidCode(Opcode)
Invalid opcode during execution or starting byte is 0xef. See EIP-3541.
OutOfOffset
An opcode accesses external information, but the request is off offset limit (runtime).
OutOfGas
Execution runs out of gas (runtime).
OutOfFund
Not enough fund to start the execution (runtime).
PCUnderflow
PC underflowed (unused).
CreateEmpty
Attempt to create an empty account (runtime, unused).
Other(Cow<'static, str>)
Other normal errors.
MaxNonce
Nonce reached maximum value of 2^64-1 https://eips.ethereum.org/EIPS/eip-2681
UsizeOverflow
usize casting overflow
CreateContractStartingWithEF
Trait Implementations§
impl Eq for ExitError
impl StructuralPartialEq for ExitError
Auto Trait Implementations§
impl Freeze for ExitError
impl RefUnwindSafe for ExitError
impl Send for ExitError
impl Sync for ExitError
impl Unpin for ExitError
impl UnwindSafe for ExitError
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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 more