Enum aptos_types::vm_status::VMStatus
[−]pub enum VMStatus {
Executed,
Error(StatusCode),
MoveAbort(AbortLocation, u64),
ExecutionFailure {
status_code: StatusCode,
location: AbortLocation,
function: u16,
code_offset: u16,
},
}Expand description
A VMStatus is represented as either
Executedindicating successful executionErrorindicating an error from the VM itselfMoveAbortindicating anabortocurred inside of a Move program
Variants
Executed
The VM status corresponding to an EXECUTED status code
Error(StatusCode)
Indicates an error from the VM, e.g. OUT_OF_GAS, INVALID_AUTH_KEY, RET_TYPE_MISMATCH_ERROR etc. The code will neither EXECUTED nor ABORTED
MoveAbort(AbortLocation, u64)
Indicates an abort from inside Move code. Contains the location of the abort and the code
ExecutionFailure
Indicates an failure from inside Move code, where the VM could not continue exection, e.g. dividing by zero or a missing resource
Implementations
impl VMStatus
impl VMStatus
pub fn status_code(&self) -> StatusCode
pub fn status_code(&self) -> StatusCode
Return the status code for the VMStatus
pub fn move_abort_code(&self) -> Option<u64>
pub fn move_abort_code(&self) -> Option<u64>
Returns the Move abort code if the status is MoveAbort, and None otherwise
pub fn status_type(&self) -> StatusType
pub fn status_type(&self) -> StatusType
Return the status type for this VMStatus. This is solely determined by the status_code
pub fn keep_or_discard(self) -> Result<KeptVMStatus, StatusCode>
pub fn keep_or_discard(self) -> Result<KeptVMStatus, StatusCode>
Returns Ok with a recorded status if it should be kept, Err of the error code if it
should be discarded
Trait Implementations
impl<'de> Deserialize<'de> for VMStatus
impl<'de> Deserialize<'de> for VMStatus
fn deserialize<__D>(
__deserializer: __D
) -> Result<VMStatus, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D
) -> Result<VMStatus, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Error for VMStatus
impl Error for VMStatus
1.30.0 · sourcefn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more
sourcefn backtrace(&self) -> Option<&Backtrace>
fn backtrace(&self) -> Option<&Backtrace>
backtrace)Returns a stack backtrace, if available, of where this error occurred. Read more
1.0.0 · sourcefn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
impl From<VMError> for VMStatus
impl From<VMError> for VMStatus
Conversion functions from internal VM statuses into external VM statuses
sourceimpl From<VMStatus> for TransactionStatus
impl From<VMStatus> for TransactionStatus
impl Ord for VMStatus
impl Ord for VMStatus
impl PartialOrd<VMStatus> for VMStatus
impl PartialOrd<VMStatus> for VMStatus
fn partial_cmp(&self, other: &VMStatus) -> Option<Ordering>
fn partial_cmp(&self, other: &VMStatus) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
impl Serialize for VMStatus
impl Serialize for VMStatus
fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl Eq for VMStatus
impl StructuralEq for VMStatus
impl StructuralPartialEq for VMStatus
Auto Trait Implementations
impl RefUnwindSafe for VMStatus
impl Send for VMStatus
impl Sync for VMStatus
impl Unpin for VMStatus
impl UnwindSafe for VMStatus
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key and return true if they are equal.
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<T> Pointable for T
impl<T> Pointable for T
sourceimpl<T> TestOnlyHash for T where
T: Serialize + ?Sized,
impl<T> TestOnlyHash for T where
T: Serialize + ?Sized,
sourcefn test_only_hash(&self) -> HashValue
fn test_only_hash(&self) -> HashValue
Generates a hash used only for tests.
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more