StackState

Trait StackState 

Source
pub trait StackState: Backend {
Show 19 methods // Required methods fn metadata(&self) -> &StackSubstateMetadata; fn metadata_mut(&mut self) -> &mut StackSubstateMetadata; fn enter(&mut self, is_static: bool); fn exit_commit(&mut self) -> Result<(), ExitError>; fn exit_revert(&mut self) -> Result<(), ExitError>; fn exit_discard(&mut self) -> Result<(), ExitError>; fn is_empty(&self, address: H160) -> bool; fn deleted(&self, address: H160) -> bool; fn is_cold(&self, address: H160) -> bool; fn is_storage_cold(&self, address: H160, key: H256) -> bool; fn inc_nonce(&mut self, address: H160); fn set_storage(&mut self, address: H160, key: H256, value: H256); fn reset_storage(&mut self, address: H160); fn log(&mut self, address: H160, topics: Vec<H256>, data: Vec<u8>); fn set_deleted(&mut self, address: H160); fn set_code(&mut self, address: H160, code: Vec<u8>); fn transfer(&mut self, transfer: Transfer) -> Result<(), ExitError>; fn reset_balance(&mut self, address: H160); fn touch(&mut self, address: H160);
}

Required Methods§

Source

fn metadata(&self) -> &StackSubstateMetadata

Source

fn metadata_mut(&mut self) -> &mut StackSubstateMetadata

Source

fn enter(&mut self, is_static: bool)

Source

fn exit_commit(&mut self) -> Result<(), ExitError>

Source

fn exit_revert(&mut self) -> Result<(), ExitError>

Source

fn exit_discard(&mut self) -> Result<(), ExitError>

Source

fn is_empty(&self, address: H160) -> bool

Source

fn deleted(&self, address: H160) -> bool

Source

fn is_cold(&self, address: H160) -> bool

Source

fn is_storage_cold(&self, address: H160, key: H256) -> bool

Source

fn inc_nonce(&mut self, address: H160)

Source

fn set_storage(&mut self, address: H160, key: H256, value: H256)

Source

fn reset_storage(&mut self, address: H160)

Source

fn log(&mut self, address: H160, topics: Vec<H256>, data: Vec<u8>)

Source

fn set_deleted(&mut self, address: H160)

Source

fn set_code(&mut self, address: H160, code: Vec<u8>)

Source

fn transfer(&mut self, transfer: Transfer) -> Result<(), ExitError>

Source

fn reset_balance(&mut self, address: H160)

Source

fn touch(&mut self, address: H160)

Implementations on Foreign Types§

Source§

impl<'a, T: 'a + StackState + ?Sized> StackState for &'a mut T

Source§

fn metadata(&self) -> &StackSubstateMetadata

Source§

fn metadata_mut(&mut self) -> &mut StackSubstateMetadata

Source§

fn enter(&mut self, is_static: bool)

Source§

fn exit_commit(&mut self) -> Result<(), ExitError>

Source§

fn exit_revert(&mut self) -> Result<(), ExitError>

Source§

fn exit_discard(&mut self) -> Result<(), ExitError>

Source§

fn is_empty(&self, address: H160) -> bool

Source§

fn deleted(&self, address: H160) -> bool

Source§

fn is_cold(&self, address: H160) -> bool

Source§

fn is_storage_cold(&self, address: H160, key: H256) -> bool

Source§

fn inc_nonce(&mut self, address: H160)

Source§

fn set_storage(&mut self, address: H160, key: H256, value: H256)

Source§

fn reset_storage(&mut self, address: H160)

Source§

fn log(&mut self, address: H160, topics: Vec<H256>, data: Vec<u8>)

Source§

fn set_deleted(&mut self, address: H160)

Source§

fn set_code(&mut self, address: H160, code: Vec<u8>)

Source§

fn transfer(&mut self, transfer: Transfer) -> Result<(), ExitError>

Source§

fn reset_balance(&mut self, address: H160)

Source§

fn touch(&mut self, address: H160)

Source§

impl<T: StackState + ?Sized> StackState for Box<T>
where Box<T>: Backend,

Source§

fn metadata(&self) -> &StackSubstateMetadata

Source§

fn metadata_mut(&mut self) -> &mut StackSubstateMetadata

Source§

fn enter(&mut self, is_static: bool)

Source§

fn exit_commit(&mut self) -> Result<(), ExitError>

Source§

fn exit_revert(&mut self) -> Result<(), ExitError>

Source§

fn exit_discard(&mut self) -> Result<(), ExitError>

Source§

fn is_empty(&self, address: H160) -> bool

Source§

fn deleted(&self, address: H160) -> bool

Source§

fn is_cold(&self, address: H160) -> bool

Source§

fn is_storage_cold(&self, address: H160, key: H256) -> bool

Source§

fn inc_nonce(&mut self, address: H160)

Source§

fn set_storage(&mut self, address: H160, key: H256, value: H256)

Source§

fn reset_storage(&mut self, address: H160)

Source§

fn log(&mut self, address: H160, topics: Vec<H256>, data: Vec<u8>)

Source§

fn set_deleted(&mut self, address: H160)

Source§

fn set_code(&mut self, address: H160, code: Vec<u8>)

Source§

fn transfer(&mut self, transfer: Transfer) -> Result<(), ExitError>

Source§

fn reset_balance(&mut self, address: H160)

Source§

fn touch(&mut self, address: H160)

Implementors§

Source§

impl<'backend, B: Backend> StackState for MemoryStackState<'backend, B>