Enum casper_execution_engine::core::execution::Error [−][src]
pub enum Error {
Show 45 variants
Interpreter(String),
Storage(Error),
BytesRepr(Error),
NamedKeyNotFound(String),
KeyNotFound(Key),
AccountNotFound(Key),
TypeMismatch(StoredValueTypeMismatch),
InvalidAccess {
required: AccessRights,
},
ForgedReference(URef),
URefNotFound(URef),
FunctionNotFound(String),
ParityWasm(Error),
WasmOptimizer,
GasLimit,
Ret(Vec<URef>),
Resolver(ResolverError),
Revert(ApiError),
AddKeyFailure(AddKeyFailure),
RemoveKeyFailure(RemoveKeyFailure),
UpdateKeyFailure(UpdateKeyFailure),
SetThresholdFailure(SetThresholdFailure),
SystemContract(Error),
DeploymentAuthorizationFailure,
ExpectedReturnValue,
UnexpectedReturnValue,
InvalidContext,
IncompatibleProtocolMajorVersion {
expected: u32,
actual: u32,
},
CLValue(CLValueError),
HostBufferEmpty,
UnsupportedWasmStart,
NoActiveContractVersions(ContractPackageHash),
InvalidContractVersion(ContractVersionKey),
NoSuchMethod(String),
WasmPreprocessing(PreprocessingError),
KeyIsNotAURef(Key),
UnexpectedStoredValueVariant,
LockedContract(ContractPackageHash),
InvalidContractPackage(ContractPackageHash),
InvalidContract(ContractHash),
InvalidContractWasm(ContractWasmHash),
MissingArgument {
name: String,
},
DictionaryItemKeyExceedsLength,
MissingSystemContractRegistry,
MissingSystemContractHash(String),
RuntimeStackOverflow,
}Expand description
Possible execution errors.
Variants
Interpreter(String)
Tuple Fields
0: StringWASM interpreter error.
Storage(Error)
Tuple Fields
0: ErrorStorage error.
BytesRepr(Error)
Tuple Fields
0: ErrorFailed to (de)serialize bytes.
NamedKeyNotFound(String)
Tuple Fields
0: StringUnable to find named key.
KeyNotFound(Key)
Tuple Fields
0: KeyUnable to find a key.
AccountNotFound(Key)
Tuple Fields
0: KeyUnable to find an account.
TypeMismatch(StoredValueTypeMismatch)
Tuple Fields
Type mismatch error.
InvalidAccess
Fields
required: AccessRightsRequired access rights of the operation.
Invalid access.
ForgedReference(URef)
Tuple Fields
0: URefForged reference error.
URefNotFound(URef)
Tuple Fields
0: URefUnable to find a URef.
FunctionNotFound(String)
Tuple Fields
0: StringUnable to find a function.
ParityWasm(Error)
Tuple Fields
0: ErrorParity WASM error.
WasmOptimizer
Error optimizing WASM.
GasLimit
Execution exceeded the gas limit.
Ret(Vec<URef>)
A stored smart contract incorrectly called a ret function.
Resolver(ResolverError)
Tuple Fields
Error using WASM host function resolver.
Revert(ApiError)
Tuple Fields
0: ApiErrorReverts execution with a provided status
AddKeyFailure(AddKeyFailure)
Tuple Fields
Error adding an associated key.
RemoveKeyFailure(RemoveKeyFailure)
Tuple Fields
Error removing an associated key.
UpdateKeyFailure(UpdateKeyFailure)
Tuple Fields
Error updating an associated key.
SetThresholdFailure(SetThresholdFailure)
Tuple Fields
Error setting threshold on associated key.
SystemContract(Error)
Tuple Fields
0: ErrorError executing system contract.
DeploymentAuthorizationFailure
Weight of all used associated keys does not meet account’s deploy threshold.
ExpectedReturnValue
Host buffer expected a value to be present.
UnexpectedReturnValue
Host buffer was not expected to contain a value.
InvalidContext
Error calling a host function in a wrong context.
IncompatibleProtocolMajorVersion
Unable to execute a deploy with invalid major protocol version.
CLValue(CLValueError)
Tuple Fields
0: CLValueErrorError converting a CLValue.
HostBufferEmpty
Unable to access host buffer.
UnsupportedWasmStart
WASM bytes contains an unsupported “start” section.
NoActiveContractVersions(ContractPackageHash)
Tuple Fields
Contract package has no active contract versions.
InvalidContractVersion(ContractVersionKey)
Tuple Fields
Invalid contract version supplied.
NoSuchMethod(String)
Tuple Fields
0: StringContract does not have specified entry point.
WasmPreprocessing(PreprocessingError)
Tuple Fields
Error processing WASM bytes.
KeyIsNotAURef(Key)
Tuple Fields
0: KeyUnexpectedStoredValueVariant
Unexpected variant of a stored value.
LockedContract(ContractPackageHash)
Tuple Fields
Error upgrading a locked contract package.
InvalidContractPackage(ContractPackageHash)
Tuple Fields
Unable to find a contract package by a specified hash address.
InvalidContract(ContractHash)
Tuple Fields
0: ContractHashUnable to find a contract by a specified hash address.
InvalidContractWasm(ContractWasmHash)
Tuple Fields
Unable to find the WASM bytes specified by a hash address.
MissingArgument
Fields
name: StringName of the required argument.
Error calling a smart contract with a missing argument.
DictionaryItemKeyExceedsLength
Error writing a dictionary item key which exceeded maximum allowed length.
MissingSystemContractRegistry
Missing system contract registry.
MissingSystemContractHash(String)
Tuple Fields
0: StringMissing system contract hash.
RuntimeStackOverflow
An attempt to push to the runtime stack which is already at the maximum height.
Implementations
Returns new type mismatch error.
Trait Implementations
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
Auto Trait Implementations
impl RefUnwindSafe for Error
impl UnwindSafe for Error
Blanket Implementations
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s. Read more
fn fmt_binary(self) -> FmtBinary<Self> where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self> where
Self: Binary,
Causes self to use its Binary implementation when Debug-formatted.
fn fmt_display(self) -> FmtDisplay<Self> where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self> where
Self: Display,
Causes self to use its Display implementation when
Debug-formatted. Read more
fn fmt_lower_exp(self) -> FmtLowerExp<Self> where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self> where
Self: LowerExp,
Causes self to use its LowerExp implementation when
Debug-formatted. Read more
fn fmt_lower_hex(self) -> FmtLowerHex<Self> where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self> where
Self: LowerHex,
Causes self to use its LowerHex implementation when
Debug-formatted. Read more
Causes self to use its Octal implementation when Debug-formatted.
fn fmt_pointer(self) -> FmtPointer<Self> where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self> where
Self: Pointer,
Causes self to use its Pointer implementation when
Debug-formatted. Read more
fn fmt_upper_exp(self) -> FmtUpperExp<Self> where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self> where
Self: UpperExp,
Causes self to use its UpperExp implementation when
Debug-formatted. Read more
fn fmt_upper_hex(self) -> FmtUpperHex<Self> where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self> where
Self: UpperHex,
Causes self to use its UpperHex implementation when
Debug-formatted. Read more
fn pipe_as_ref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: AsRef<T>,
T: 'a,
R: 'a,
fn pipe_as_ref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: AsRef<T>,
T: 'a,
R: 'a,
Pipes a trait borrow into a function that cannot normally be called in suffix position. Read more
fn pipe_as_mut<'a, T, R>(&'a mut self, func: impl FnOnce(&'a mut T) -> R) -> R where
Self: AsMut<T>,
T: 'a,
R: 'a,
fn pipe_as_mut<'a, T, R>(&'a mut self, func: impl FnOnce(&'a mut T) -> R) -> R where
Self: AsMut<T>,
T: 'a,
R: 'a,
Pipes a trait mutable borrow into a function that cannot normally be called in suffix position. Read more
fn pipe_borrow<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: Borrow<T>,
T: 'a,
R: 'a,
fn pipe_borrow<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: Borrow<T>,
T: 'a,
R: 'a,
Pipes a trait borrow into a function that cannot normally be called in suffix position. Read more
fn pipe_borrow_mut<'a, T, R>(
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: BorrowMut<T>,
T: 'a,
R: 'a,
fn pipe_borrow_mut<'a, T, R>(
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: BorrowMut<T>,
T: 'a,
R: 'a,
Pipes a trait mutable borrow into a function that cannot normally be called in suffix position. Read more
fn pipe_deref<'a, R>(&'a self, func: impl FnOnce(&'a Self::Target) -> R) -> R where
Self: Deref,
R: 'a,
fn pipe_deref<'a, R>(&'a self, func: impl FnOnce(&'a Self::Target) -> R) -> R where
Self: Deref,
R: 'a,
Pipes a dereference into a function that cannot normally be called in suffix position. Read more
fn pipe_deref_mut<'a, R>(
&'a mut self,
func: impl FnOnce(&'a mut Self::Target) -> R
) -> R where
Self: DerefMut,
R: 'a,
fn pipe_deref_mut<'a, R>(
&'a mut self,
func: impl FnOnce(&'a mut Self::Target) -> R
) -> R where
Self: DerefMut,
R: 'a,
Pipes a mutable dereference into a function that cannot normally be called in suffix position. Read more
Pipes a reference into a function that cannot ordinarily be called in suffix position. Read more
Provides immutable access for inspection. Read more
Calls tap in debug builds, and does nothing in release builds.
Provides mutable access for modification. Read more
fn tap_mut_dbg<F, R>(self, func: F) -> Self where
F: FnOnce(&mut Self) -> R,
fn tap_mut_dbg<F, R>(self, func: F) -> Self where
F: FnOnce(&mut Self) -> R,
Calls tap_mut in debug builds, and does nothing in release builds.
impl<T, U> TapAsRef<U> for T where
U: ?Sized,
impl<T, U> TapAsRef<U> for T where
U: ?Sized,
Provides immutable access to the reference for inspection.
fn tap_ref_dbg<F, R>(self, func: F) -> Self where
Self: AsRef<T>,
F: FnOnce(&T) -> R,
fn tap_ref_dbg<F, R>(self, func: F) -> Self where
Self: AsRef<T>,
F: FnOnce(&T) -> R,
Calls tap_ref in debug builds, and does nothing in release builds.
fn tap_ref_mut<F, R>(self, func: F) -> Self where
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
fn tap_ref_mut<F, R>(self, func: F) -> Self where
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
Provides mutable access to the reference for modification.
fn tap_ref_mut_dbg<F, R>(self, func: F) -> Self where
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
fn tap_ref_mut_dbg<F, R>(self, func: F) -> Self where
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
Calls tap_ref_mut in debug builds, and does nothing in release builds.
impl<T, U> TapBorrow<U> for T where
U: ?Sized,
impl<T, U> TapBorrow<U> for T where
U: ?Sized,
fn tap_borrow<F, R>(self, func: F) -> Self where
Self: Borrow<T>,
F: FnOnce(&T) -> R,
fn tap_borrow<F, R>(self, func: F) -> Self where
Self: Borrow<T>,
F: FnOnce(&T) -> R,
Provides immutable access to the borrow for inspection. Read more
fn tap_borrow_dbg<F, R>(self, func: F) -> Self where
Self: Borrow<T>,
F: FnOnce(&T) -> R,
fn tap_borrow_dbg<F, R>(self, func: F) -> Self where
Self: Borrow<T>,
F: FnOnce(&T) -> R,
Calls tap_borrow in debug builds, and does nothing in release builds.
fn tap_borrow_mut<F, R>(self, func: F) -> Self where
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
fn tap_borrow_mut<F, R>(self, func: F) -> Self where
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
Provides mutable access to the borrow for modification.
fn tap_borrow_mut_dbg<F, R>(self, func: F) -> Self where
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
fn tap_borrow_mut_dbg<F, R>(self, func: F) -> Self where
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
Calls tap_borrow_mut in debug builds, and does nothing in release
builds. Read more
Immutably dereferences self for inspection.
fn tap_deref_dbg<F, R>(self, func: F) -> Self where
Self: Deref,
F: FnOnce(&Self::Target) -> R,
fn tap_deref_dbg<F, R>(self, func: F) -> Self where
Self: Deref,
F: FnOnce(&Self::Target) -> R,
Calls tap_deref in debug builds, and does nothing in release builds.
fn tap_deref_mut<F, R>(self, func: F) -> Self where
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
fn tap_deref_mut<F, R>(self, func: F) -> Self where
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
Mutably dereferences self for modification.
fn tap_deref_mut_dbg<F, R>(self, func: F) -> Self where
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
fn tap_deref_mut_dbg<F, R>(self, func: F) -> Self where
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
Calls tap_deref_mut in debug builds, and does nothing in release
builds. Read more
pub fn vzip(self) -> V
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more
