[][src]Struct libra_vm::libra_transaction_validator::LibraVMValidator

pub struct LibraVMValidator(_);


impl LibraVMValidator[src]

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

pub fn init_with_config(
    version: LibraVersion,
    on_chain_config: VMConfig,
    publishing_option: VMPublishingOption
) -> Self

Trait Implementations

impl Clone for LibraVMValidator[src]

impl VMValidator for LibraVMValidator[src]

fn validate_transaction(
    transaction: SignedTransaction,
    state_view: &dyn StateView
) -> VMValidatorResult

Determine if a transaction is valid. Will return None if the transaction is accepted, Some(Err) if the VM rejects it, with Err as an error code. Verification performs the following steps:

  1. The signature on the SignedTransaction matches the public key included in the transaction
  2. The script to be executed is under given specific configuration.
  3. Invokes LibraAccount.prologue, which checks properties such as the transaction has the right sequence number and the sender has enough balance to pay for the gas. TBD:
  4. Transaction arguments matches the main function's type signature. We don't check this item for now and would execute the check at execution time.

Auto Trait Implementations

impl RefUnwindSafe for LibraVMValidator

impl Send for LibraVMValidator

impl Sync for LibraVMValidator

impl Unpin for LibraVMValidator

impl UnwindSafe for LibraVMValidator

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> ToOwned for T where
    T: Clone

type Owned = T

The resulting type after obtaining ownership.

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>,