Enum diem_types::vm_status::StatusCode[][src]

#[repr(u64)]
pub enum StatusCode {
Show variants UNKNOWN_VALIDATION_STATUS, INVALID_SIGNATURE, INVALID_AUTH_KEY, SEQUENCE_NUMBER_TOO_OLD, SEQUENCE_NUMBER_TOO_NEW, INSUFFICIENT_BALANCE_FOR_TRANSACTION_FEE, TRANSACTION_EXPIRED, SENDING_ACCOUNT_DOES_NOT_EXIST, REJECTED_WRITE_SET, INVALID_WRITE_SET, EXCEEDED_MAX_TRANSACTION_SIZE, UNKNOWN_SCRIPT, UNKNOWN_MODULE, MAX_GAS_UNITS_EXCEEDS_MAX_GAS_UNITS_BOUND, MAX_GAS_UNITS_BELOW_MIN_TRANSACTION_GAS_UNITS, GAS_UNIT_PRICE_BELOW_MIN_BOUND, GAS_UNIT_PRICE_ABOVE_MAX_BOUND, INVALID_GAS_SPECIFIER, SENDING_ACCOUNT_FROZEN, UNABLE_TO_DESERIALIZE_ACCOUNT, CURRENCY_INFO_DOES_NOT_EXIST, INVALID_MODULE_PUBLISHER, NO_ACCOUNT_ROLE, BAD_CHAIN_ID, SEQUENCE_NUMBER_TOO_BIG, BAD_TRANSACTION_FEE_CURRENCY, FEATURE_UNDER_GATING, UNKNOWN_VERIFICATION_ERROR, INDEX_OUT_OF_BOUNDS, INVALID_SIGNATURE_TOKEN, RECURSIVE_STRUCT_DEFINITION, FIELD_MISSING_TYPE_ABILITY, INVALID_FALL_THROUGH, NEGATIVE_STACK_SIZE_WITHIN_BLOCK, INVALID_MAIN_FUNCTION_SIGNATURE, DUPLICATE_ELEMENT, INVALID_MODULE_HANDLE, UNIMPLEMENTED_HANDLE, LOOKUP_FAILED, TYPE_MISMATCH, MISSING_DEPENDENCY, POP_WITHOUT_DROP_ABILITY, BR_TYPE_MISMATCH_ERROR, ABORT_TYPE_MISMATCH_ERROR, STLOC_TYPE_MISMATCH_ERROR, STLOC_UNSAFE_TO_DESTROY_ERROR, UNSAFE_RET_LOCAL_OR_RESOURCE_STILL_BORROWED, RET_TYPE_MISMATCH_ERROR, RET_BORROWED_MUTABLE_REFERENCE_ERROR, FREEZEREF_TYPE_MISMATCH_ERROR, FREEZEREF_EXISTS_MUTABLE_BORROW_ERROR, BORROWFIELD_TYPE_MISMATCH_ERROR, BORROWFIELD_BAD_FIELD_ERROR, BORROWFIELD_EXISTS_MUTABLE_BORROW_ERROR, COPYLOC_UNAVAILABLE_ERROR, COPYLOC_WITHOUT_COPY_ABILITY, COPYLOC_EXISTS_BORROW_ERROR, MOVELOC_UNAVAILABLE_ERROR, MOVELOC_EXISTS_BORROW_ERROR, BORROWLOC_REFERENCE_ERROR, BORROWLOC_UNAVAILABLE_ERROR, BORROWLOC_EXISTS_BORROW_ERROR, CALL_TYPE_MISMATCH_ERROR, CALL_BORROWED_MUTABLE_REFERENCE_ERROR, PACK_TYPE_MISMATCH_ERROR, UNPACK_TYPE_MISMATCH_ERROR, READREF_TYPE_MISMATCH_ERROR, READREF_WITHOUT_COPY_ABILITY, READREF_EXISTS_MUTABLE_BORROW_ERROR, WRITEREF_TYPE_MISMATCH_ERROR, WRITEREF_WITHOUT_DROP_ABILITY, WRITEREF_EXISTS_BORROW_ERROR, WRITEREF_NO_MUTABLE_REFERENCE_ERROR, INTEGER_OP_TYPE_MISMATCH_ERROR, BOOLEAN_OP_TYPE_MISMATCH_ERROR, EQUALITY_OP_TYPE_MISMATCH_ERROR, EXISTS_WITHOUT_KEY_ABILITY_OR_BAD_ARGUMENT, BORROWGLOBAL_TYPE_MISMATCH_ERROR, BORROWGLOBAL_WITHOUT_KEY_ABILITY, MOVEFROM_TYPE_MISMATCH_ERROR, MOVEFROM_WITHOUT_KEY_ABILITY, MOVETO_TYPE_MISMATCH_ERROR, MOVETO_WITHOUT_KEY_ABILITY, MODULE_ADDRESS_DOES_NOT_MATCH_SENDER, NO_MODULE_HANDLES, POSITIVE_STACK_SIZE_AT_BLOCK_END, MISSING_ACQUIRES_ANNOTATION, EXTRANEOUS_ACQUIRES_ANNOTATION, DUPLICATE_ACQUIRES_ANNOTATION, INVALID_ACQUIRES_ANNOTATION, GLOBAL_REFERENCE_ERROR, CONSTRAINT_NOT_SATISFIED, NUMBER_OF_TYPE_ARGUMENTS_MISMATCH, LOOP_IN_INSTANTIATION_GRAPH, ZERO_SIZED_STRUCT, LINKER_ERROR, INVALID_CONSTANT_TYPE, MALFORMED_CONSTANT_DATA, EMPTY_CODE_UNIT, INVALID_LOOP_SPLIT, INVALID_LOOP_BREAK, INVALID_LOOP_CONTINUE, UNSAFE_RET_UNUSED_VALUES_WITHOUT_DROP, TOO_MANY_LOCALS, GENERIC_MEMBER_OPCODE_MISMATCH, FUNCTION_RESOLUTION_FAILURE, INVALID_OPERATION_IN_SCRIPT, DUPLICATE_MODULE_NAME, BACKWARD_INCOMPATIBLE_MODULE_UPDATE, CYCLIC_MODULE_DEPENDENCY, NUMBER_OF_ARGUMENTS_MISMATCH, INVALID_PARAM_TYPE_FOR_DESERIALIZATION, FAILED_TO_DESERIALIZE_ARGUMENT, NUMBER_OF_SIGNER_ARGUMENTS_MISMATCH, CALLED_SCRIPT_VISIBLE_FROM_NON_SCRIPT_VISIBLE, EXECUTE_SCRIPT_FUNCTION_CALLED_ON_NON_SCRIPT_VISIBLE, INVALID_FRIEND_DECL_WITH_SELF, INVALID_FRIEND_DECL_WITH_MODULES_OUTSIDE_ACCOUNT_ADDRESS, INVALID_FRIEND_DECL_WITH_MODULES_IN_DEPENDENCIES, CYCLIC_MODULE_FRIENDSHIP, UNKNOWN_INVARIANT_VIOLATION_ERROR, EMPTY_VALUE_STACK, PC_OVERFLOW, VERIFICATION_ERROR, STORAGE_ERROR, INTERNAL_TYPE_ERROR, EVENT_KEY_MISMATCH, UNREACHABLE, VM_STARTUP_FAILURE, UNEXPECTED_ERROR_FROM_KNOWN_MOVE_FUNCTION, VERIFIER_INVARIANT_VIOLATION, UNEXPECTED_VERIFIER_ERROR, UNEXPECTED_DESERIALIZATION_ERROR, FAILED_TO_SERIALIZE_WRITE_SET_CHANGES, FAILED_TO_DESERIALIZE_RESOURCE, TYPE_RESOLUTION_FAILURE, UNKNOWN_BINARY_ERROR, MALFORMED, BAD_MAGIC, UNKNOWN_VERSION, UNKNOWN_TABLE_TYPE, UNKNOWN_SIGNATURE_TYPE, UNKNOWN_SERIALIZED_TYPE, UNKNOWN_OPCODE, BAD_HEADER_TABLE, UNEXPECTED_SIGNATURE_TYPE, DUPLICATE_TABLE, UNKNOWN_ABILITY, UNKNOWN_NATIVE_STRUCT_FLAG, BAD_U64, BAD_U128, VALUE_SERIALIZATION_ERROR, VALUE_DESERIALIZATION_ERROR, CODE_DESERIALIZATION_ERROR, INVALID_FLAG_BITS, UNKNOWN_RUNTIME_STATUS, EXECUTED, OUT_OF_GAS, RESOURCE_DOES_NOT_EXIST, RESOURCE_ALREADY_EXISTS, MISSING_DATA, DATA_FORMAT_ERROR, ABORTED, ARITHMETIC_ERROR, EXECUTION_STACK_OVERFLOW, CALL_STACK_OVERFLOW, VM_MAX_TYPE_DEPTH_REACHED, VM_MAX_VALUE_DEPTH_REACHED, UNKNOWN_STATUS,
}
Expand description

We don’t derive Arbitrary on this enum because it is too large and breaks proptest. It is written for a subset of these in proptest_types. We test conversion between this and protobuf with a hand-written test.

Variants

UNKNOWN_VALIDATION_STATUS
INVALID_SIGNATURE
INVALID_AUTH_KEY
SEQUENCE_NUMBER_TOO_OLD
SEQUENCE_NUMBER_TOO_NEW
INSUFFICIENT_BALANCE_FOR_TRANSACTION_FEE
TRANSACTION_EXPIRED
SENDING_ACCOUNT_DOES_NOT_EXIST
REJECTED_WRITE_SET
INVALID_WRITE_SET
EXCEEDED_MAX_TRANSACTION_SIZE
UNKNOWN_SCRIPT
UNKNOWN_MODULE
MAX_GAS_UNITS_EXCEEDS_MAX_GAS_UNITS_BOUND
MAX_GAS_UNITS_BELOW_MIN_TRANSACTION_GAS_UNITS
GAS_UNIT_PRICE_BELOW_MIN_BOUND
GAS_UNIT_PRICE_ABOVE_MAX_BOUND
INVALID_GAS_SPECIFIER
SENDING_ACCOUNT_FROZEN
UNABLE_TO_DESERIALIZE_ACCOUNT
CURRENCY_INFO_DOES_NOT_EXIST
INVALID_MODULE_PUBLISHER
NO_ACCOUNT_ROLE
BAD_CHAIN_ID
SEQUENCE_NUMBER_TOO_BIG
BAD_TRANSACTION_FEE_CURRENCY
FEATURE_UNDER_GATING
UNKNOWN_VERIFICATION_ERROR
INDEX_OUT_OF_BOUNDS
INVALID_SIGNATURE_TOKEN
RECURSIVE_STRUCT_DEFINITION
FIELD_MISSING_TYPE_ABILITY
INVALID_FALL_THROUGH
NEGATIVE_STACK_SIZE_WITHIN_BLOCK
INVALID_MAIN_FUNCTION_SIGNATURE
DUPLICATE_ELEMENT
INVALID_MODULE_HANDLE
UNIMPLEMENTED_HANDLE
LOOKUP_FAILED
TYPE_MISMATCH
MISSING_DEPENDENCY
POP_WITHOUT_DROP_ABILITY
BR_TYPE_MISMATCH_ERROR
ABORT_TYPE_MISMATCH_ERROR
STLOC_TYPE_MISMATCH_ERROR
STLOC_UNSAFE_TO_DESTROY_ERROR
UNSAFE_RET_LOCAL_OR_RESOURCE_STILL_BORROWED
RET_TYPE_MISMATCH_ERROR
RET_BORROWED_MUTABLE_REFERENCE_ERROR
FREEZEREF_TYPE_MISMATCH_ERROR
FREEZEREF_EXISTS_MUTABLE_BORROW_ERROR
BORROWFIELD_TYPE_MISMATCH_ERROR
BORROWFIELD_BAD_FIELD_ERROR
BORROWFIELD_EXISTS_MUTABLE_BORROW_ERROR
COPYLOC_UNAVAILABLE_ERROR
COPYLOC_WITHOUT_COPY_ABILITY
COPYLOC_EXISTS_BORROW_ERROR
MOVELOC_UNAVAILABLE_ERROR
MOVELOC_EXISTS_BORROW_ERROR
BORROWLOC_REFERENCE_ERROR
BORROWLOC_UNAVAILABLE_ERROR
BORROWLOC_EXISTS_BORROW_ERROR
CALL_TYPE_MISMATCH_ERROR
CALL_BORROWED_MUTABLE_REFERENCE_ERROR
PACK_TYPE_MISMATCH_ERROR
UNPACK_TYPE_MISMATCH_ERROR
READREF_TYPE_MISMATCH_ERROR
READREF_WITHOUT_COPY_ABILITY
READREF_EXISTS_MUTABLE_BORROW_ERROR
WRITEREF_TYPE_MISMATCH_ERROR
WRITEREF_WITHOUT_DROP_ABILITY
WRITEREF_EXISTS_BORROW_ERROR
WRITEREF_NO_MUTABLE_REFERENCE_ERROR
INTEGER_OP_TYPE_MISMATCH_ERROR
BOOLEAN_OP_TYPE_MISMATCH_ERROR
EQUALITY_OP_TYPE_MISMATCH_ERROR
EXISTS_WITHOUT_KEY_ABILITY_OR_BAD_ARGUMENT
BORROWGLOBAL_TYPE_MISMATCH_ERROR
BORROWGLOBAL_WITHOUT_KEY_ABILITY
MOVEFROM_TYPE_MISMATCH_ERROR
MOVEFROM_WITHOUT_KEY_ABILITY
MOVETO_TYPE_MISMATCH_ERROR
MOVETO_WITHOUT_KEY_ABILITY
MODULE_ADDRESS_DOES_NOT_MATCH_SENDER
NO_MODULE_HANDLES
POSITIVE_STACK_SIZE_AT_BLOCK_END
MISSING_ACQUIRES_ANNOTATION
EXTRANEOUS_ACQUIRES_ANNOTATION
DUPLICATE_ACQUIRES_ANNOTATION
INVALID_ACQUIRES_ANNOTATION
GLOBAL_REFERENCE_ERROR
CONSTRAINT_NOT_SATISFIED
NUMBER_OF_TYPE_ARGUMENTS_MISMATCH
LOOP_IN_INSTANTIATION_GRAPH
ZERO_SIZED_STRUCT
LINKER_ERROR
INVALID_CONSTANT_TYPE
MALFORMED_CONSTANT_DATA
EMPTY_CODE_UNIT
INVALID_LOOP_SPLIT
INVALID_LOOP_BREAK
INVALID_LOOP_CONTINUE
UNSAFE_RET_UNUSED_VALUES_WITHOUT_DROP
TOO_MANY_LOCALS
GENERIC_MEMBER_OPCODE_MISMATCH
FUNCTION_RESOLUTION_FAILURE
INVALID_OPERATION_IN_SCRIPT
DUPLICATE_MODULE_NAME
BACKWARD_INCOMPATIBLE_MODULE_UPDATE
CYCLIC_MODULE_DEPENDENCY
NUMBER_OF_ARGUMENTS_MISMATCH
INVALID_PARAM_TYPE_FOR_DESERIALIZATION
FAILED_TO_DESERIALIZE_ARGUMENT
NUMBER_OF_SIGNER_ARGUMENTS_MISMATCH
CALLED_SCRIPT_VISIBLE_FROM_NON_SCRIPT_VISIBLE
EXECUTE_SCRIPT_FUNCTION_CALLED_ON_NON_SCRIPT_VISIBLE
INVALID_FRIEND_DECL_WITH_SELF
INVALID_FRIEND_DECL_WITH_MODULES_OUTSIDE_ACCOUNT_ADDRESS
INVALID_FRIEND_DECL_WITH_MODULES_IN_DEPENDENCIES
CYCLIC_MODULE_FRIENDSHIP
UNKNOWN_INVARIANT_VIOLATION_ERROR
EMPTY_VALUE_STACK
PC_OVERFLOW
VERIFICATION_ERROR
STORAGE_ERROR
INTERNAL_TYPE_ERROR
EVENT_KEY_MISMATCH
UNREACHABLE
VM_STARTUP_FAILURE
UNEXPECTED_ERROR_FROM_KNOWN_MOVE_FUNCTION
VERIFIER_INVARIANT_VIOLATION
UNEXPECTED_VERIFIER_ERROR
UNEXPECTED_DESERIALIZATION_ERROR
FAILED_TO_SERIALIZE_WRITE_SET_CHANGES
FAILED_TO_DESERIALIZE_RESOURCE
TYPE_RESOLUTION_FAILURE
UNKNOWN_BINARY_ERROR
MALFORMED
BAD_MAGIC
UNKNOWN_VERSION
UNKNOWN_TABLE_TYPE
UNKNOWN_SIGNATURE_TYPE
UNKNOWN_SERIALIZED_TYPE
UNKNOWN_OPCODE
BAD_HEADER_TABLE
UNEXPECTED_SIGNATURE_TYPE
DUPLICATE_TABLE
UNKNOWN_ABILITY
UNKNOWN_NATIVE_STRUCT_FLAG
BAD_U64
BAD_U128
VALUE_SERIALIZATION_ERROR
VALUE_DESERIALIZATION_ERROR
CODE_DESERIALIZATION_ERROR
INVALID_FLAG_BITS
UNKNOWN_RUNTIME_STATUS
EXECUTED
OUT_OF_GAS
RESOURCE_DOES_NOT_EXIST
RESOURCE_ALREADY_EXISTS
MISSING_DATA
DATA_FORMAT_ERROR
ABORTED
ARITHMETIC_ERROR
EXECUTION_STACK_OVERFLOW
CALL_STACK_OVERFLOW
VM_MAX_TYPE_DEPTH_REACHED
VM_MAX_VALUE_DEPTH_REACHED
UNKNOWN_STATUS

Implementations

impl StatusCode[src]

pub fn status_type(self) -> StatusType[src]

Return the status type for this status code

Trait Implementations

impl Clone for StatusCode[src]

pub fn clone(&self) -> StatusCode[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for StatusCode[src]

pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>[src]

Formats the value using the given formatter. Read more

impl<'de> Deserialize<'de> for StatusCode[src]

pub fn deserialize<D>(
    deserializer: D
) -> Result<StatusCode, <D as Deserializer<'de>>::Error> where
    D: Deserializer<'de>, 
[src]

Deserialize this value from the given Serde deserializer. Read more

impl Hash for StatusCode[src]

pub fn hash<__H>(&self, state: &mut __H) where
    __H: Hasher
[src]

Feeds this value into the given Hasher. Read more

fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher
1.3.0[src]

Feeds a slice of this type into the given Hasher. Read more

impl Ord for StatusCode[src]

pub fn cmp(&self, other: &StatusCode) -> Ordering[src]

This method returns an Ordering between self and other. Read more

#[must_use]
fn max(self, other: Self) -> Self
1.21.0[src]

Compares and returns the maximum of two values. Read more

#[must_use]
fn min(self, other: Self) -> Self
1.21.0[src]

Compares and returns the minimum of two values. Read more

#[must_use]
fn clamp(self, min: Self, max: Self) -> Self
1.50.0[src]

Restrict a value to a certain interval. Read more

impl PartialEq<StatusCode> for StatusCode[src]

pub fn eq(&self, other: &StatusCode) -> bool[src]

This method tests for self and other values to be equal, and is used by ==. Read more

#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests for !=.

impl PartialOrd<StatusCode> for StatusCode[src]

pub fn partial_cmp(&self, other: &StatusCode) -> Option<Ordering>[src]

This method returns an ordering between self and other values if one exists. Read more

#[must_use]
fn lt(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests less than (for self and other) and is used by the < operator. Read more

#[must_use]
fn le(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

#[must_use]
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests greater than (for self and other) and is used by the > operator. Read more

#[must_use]
fn ge(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl Serialize for StatusCode[src]

pub fn serialize<S>(
    &self,
    serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
    S: Serializer
[src]

Serialize this value into the given Serde serializer. Read more

impl TryFrom<u64> for StatusCode[src]

type Error = &'static str

The type returned in the event of a conversion error.

pub fn try_from(
    value: u64
) -> Result<StatusCode, <StatusCode as TryFrom<u64>>::Error>
[src]

Performs the conversion.

impl Copy for StatusCode[src]

impl Eq for StatusCode[src]

impl StructuralEq for StatusCode[src]

impl StructuralPartialEq for StatusCode[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> TestOnlyHash for T where
    T: Serialize + ?Sized
[src]

pub fn test_only_hash(&self) -> HashValue[src]

Generates a hash used only for tests.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

pub fn vzip(self) -> V

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]