evmc_host_interface

Struct evmc_host_interface 

Source
#[repr(C)]
pub struct evmc_host_interface {
Show 14 fields pub account_exists: evmc_account_exists_fn, pub get_storage: evmc_get_storage_fn, pub set_storage: evmc_set_storage_fn, pub get_balance: evmc_get_balance_fn, pub get_code_size: evmc_get_code_size_fn, pub get_code_hash: evmc_get_code_hash_fn, pub copy_code: evmc_copy_code_fn, pub selfdestruct: evmc_selfdestruct_fn, pub call: evmc_call_fn, pub get_tx_context: evmc_get_tx_context_fn, pub get_block_hash: evmc_get_block_hash_fn, pub emit_log: evmc_emit_log_fn, pub access_account: evmc_access_account_fn, pub access_storage: evmc_access_storage_fn,
}
Expand description

The Host interface.

The set of all callback functions expected by VM instances. This is C realisation of vtable for OOP interface (only virtual methods, no data). Host implementations SHOULD create constant singletons of this (similarly to vtables) to lower the maintenance and memory management cost.

Fields§

§account_exists: evmc_account_exists_fn

Check account existence callback function.

§get_storage: evmc_get_storage_fn

Get storage callback function.

§set_storage: evmc_set_storage_fn

Set storage callback function.

§get_balance: evmc_get_balance_fn

Get balance callback function.

§get_code_size: evmc_get_code_size_fn

Get code size callback function.

§get_code_hash: evmc_get_code_hash_fn

Get code hash callback function.

§copy_code: evmc_copy_code_fn

Copy code callback function.

§selfdestruct: evmc_selfdestruct_fn

Selfdestruct callback function.

§call: evmc_call_fn

Call callback function.

§get_tx_context: evmc_get_tx_context_fn

Get transaction context callback function.

§get_block_hash: evmc_get_block_hash_fn

Get block hash callback function.

§emit_log: evmc_emit_log_fn

Emit log callback function.

§access_account: evmc_access_account_fn

Access account callback function.

§access_storage: evmc_access_storage_fn

Access storage callback function.

Trait Implementations§

Source§

impl Clone for evmc_host_interface

Source§

fn clone(&self) -> evmc_host_interface

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for evmc_host_interface

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Hash for evmc_host_interface

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

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

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

impl PartialEq for evmc_host_interface

Source§

fn eq(&self, other: &evmc_host_interface) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for evmc_host_interface

Source§

impl StructuralPartialEq for evmc_host_interface

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

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

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

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

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

Source§

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

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.