Enum odra_core::ExecutionError
source · #[repr(u16)]pub enum ExecutionError {
Show 27 variants
UnwrapError = 1,
AdditionOverflow = 100,
SubtractionOverflow = 101,
NonPayable = 102,
TransferToContract = 103,
ReentrantCall = 104,
ContractAlreadyInstalled = 105,
UnknownConstructor = 106,
NativeTransferError = 107,
IndexOutOfBounds = 108,
ZeroAddress = 109,
AddressCreationFailed = 110,
EarlyEndOfStream = 111,
Formatting = 112,
LeftOverBytes = 113,
OutOfMemory = 114,
NotRepresentable = 115,
ExceededRecursionDepth = 116,
KeyNotFound = 117,
CouldNotDeserializeSignature = 118,
TypeMismatch = 119,
CouldNotSignMessage = 120,
EmptyDictionaryName = 121,
MissingArg = 122,
MaxUserError = 32_767,
UserErrorTooHigh = 32_768,
User(u16),
}Expand description
An error that can occur during smart contract execution
It is represented by an error code and a human-readable message.
Errors codes 0..32767 are available for the user to define custom error in smart contracts. 32768 code is a special code representing a violation of the custom error code space.
The rest of codes 32769..u16::MAX, are used internally by the framework.
Variants§
UnwrapError = 1
Unwrap error
AdditionOverflow = 100
Addition overflow
SubtractionOverflow = 101
Subtraction overflow
NonPayable = 102
Method does not accept deposit
TransferToContract = 103
Can’t transfer tokens to contract.
ReentrantCall = 104
Reentrant call detected
ContractAlreadyInstalled = 105
Contract already installed
UnknownConstructor = 106
Unknown constructor
NativeTransferError = 107
Native transfer error
IndexOutOfBounds = 108
Index out of bounds
ZeroAddress = 109
Tried to construct a zero address.
AddressCreationFailed = 110
Address creation failed
EarlyEndOfStream = 111
Early end of stream - deserialization error
Formatting = 112
Formatting error - deserialization error
LeftOverBytes = 113
Left over bytes - deserialization error
OutOfMemory = 114
Out of memory
NotRepresentable = 115
Not representable
ExceededRecursionDepth = 116
Exceeded recursion depth
KeyNotFound = 117
Key not found
CouldNotDeserializeSignature = 118
Could not deserialize signature
TypeMismatch = 119
Type mismatch
CouldNotSignMessage = 120
Could not sign message
EmptyDictionaryName = 121
Empty dictionary name
MissingArg = 122
Calling a contract with missing entrypoint arguments.
MaxUserError = 32_767
Maximum code for user errors
UserErrorTooHigh = 32_768
User error too high. The code should be in range 0..32767.
User(u16)
User error
Implementations§
Trait Implementations§
source§impl Clone for ExecutionError
impl Clone for ExecutionError
source§fn clone(&self) -> ExecutionError
fn clone(&self) -> ExecutionError
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for ExecutionError
impl Debug for ExecutionError
source§impl From<AddressError> for ExecutionError
impl From<AddressError> for ExecutionError
source§fn from(error: AddressError) -> Self
fn from(error: AddressError) -> Self
source§impl From<ArithmeticsError> for ExecutionError
impl From<ArithmeticsError> for ExecutionError
source§fn from(error: ArithmeticsError) -> Self
fn from(error: ArithmeticsError) -> Self
source§impl From<CollectionError> for ExecutionError
impl From<CollectionError> for ExecutionError
source§fn from(error: CollectionError) -> Self
fn from(error: CollectionError) -> Self
source§impl From<Error> for ExecutionError
impl From<Error> for ExecutionError
source§impl From<ExecutionError> for OdraError
impl From<ExecutionError> for OdraError
source§fn from(error: ExecutionError) -> Self
fn from(error: ExecutionError) -> Self
source§impl PartialEq for ExecutionError
impl PartialEq for ExecutionError
source§fn eq(&self, other: &ExecutionError) -> bool
fn eq(&self, other: &ExecutionError) -> bool
self and other values to be equal, and is used
by ==.