[][src]Struct solana_libra_bytecode_verifier::verifier::VerifiedModule

pub struct VerifiedModule(_);

A module that has been verified for internal consistency.

This does not include cross-module checking -- that needs to be done separately.

Methods

impl VerifiedModule[src]

pub fn new(
    module: CompiledModule
) -> Result<Self, (CompiledModule, Vec<VMStatus>)>
[src]

Verifies this CompiledModule, returning a VerifiedModule on success.

On failure, returns the original CompiledModule and a list of verification errors.

There is a partial order on the checks. For example, the duplication check must precede the structural recursion check. In general, later checks are more expensive.

pub fn serialize(&self, buf: &mut Vec<u8>) -> Result<(), Error>[src]

Serializes this module into the provided buffer.

This is merely a convenience wrapper around module.as_inner().serialize(buf).

VerifiedModule instances cannot be deserialized directly, since the input is potentially untrusted. Instead, one must go through CompiledModule.

pub fn deserialize(binary: &[u8]) -> BinaryLoaderResult<Self>[src]

Deserializes a &u8 slice into a VerifiedModule instance.

pub fn as_inner(&self) -> &CompiledModule[src]

Returns a reference to the CompiledModule within.

pub fn into_inner(self) -> CompiledModule[src]

Returns the CompiledModule within. Conversion back to VerifiedModule will require going through the verifier again.

Trait Implementations

impl Clone for VerifiedModule[src]

impl Debug for VerifiedModule[src]

impl Display for VerifiedModule[src]

impl Eq for VerifiedModule[src]

impl ModuleAccess for VerifiedModule[src]

impl PartialEq<VerifiedModule> for VerifiedModule[src]

impl StructuralEq for VerifiedModule[src]

impl StructuralPartialEq for VerifiedModule[src]

Auto Trait Implementations

Blanket Implementations

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

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

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

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

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

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

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> SendSyncUnwindSafe for T where
    T: Send + Sync + UnwindSafe + ?Sized

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

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

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.

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.

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