[][src]Struct libra_vm::libra_transaction_executor::LibraVM

pub struct LibraVM(_);


impl LibraVM[src]

pub fn new<S: StateView>(state: &S) -> Self[src]

pub fn internals(&self) -> LibraVMInternals<'_>[src]

pub fn failed_transaction_cleanup(
    error_code: VMStatus,
    gas_schedule: &CostTable,
    gas_left: GasUnits<GasCarrier>,
    txn_data: &TransactionMetadata,
    remote_cache: &StateViewCache<'_>,
    account_currency_symbol: &IdentStr,
    log_context: &impl LogContext
) -> TransactionOutput

Generates a transaction output for a transaction that encountered errors during the execution process. This is public for now only for tests.

pub fn execute_block_and_keep_vm_status(
    transactions: Vec<Transaction>,
    state_view: &dyn StateView
) -> Result<Vec<(VMStatus, TransactionOutput)>, VMStatus>

Alternate form of 'execute_block' that keeps the vm_status before it goes into the TransactionOutput

Trait Implementations

impl VMExecutor for LibraVM[src]

fn execute_block(
    transactions: Vec<Transaction>,
    state_view: &dyn StateView
) -> Result<Vec<TransactionOutput>, VMStatus>

Execute a block of transactions. The output vector will have the exact same length as the input vector. The discarded transactions will be marked as TransactionStatus::Discard and have an empty WriteSet. Also state_view is immutable, and does not have interior mutability. Writes to be applied to the data view are encoded in the write set part of a transaction output.

Auto Trait Implementations

impl RefUnwindSafe for LibraVM

impl Send for LibraVM

impl Sync for LibraVM

impl Unpin for LibraVM

impl UnwindSafe for LibraVM

Blanket Implementations

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

impl<T> Borrow<T> for T where
    T: ?Sized

impl<T> BorrowMut<T> for T where
    T: ?Sized

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

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

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

The type returned in the event of a conversion error.

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