Struct ethcore::executive::Executive [−][src]
pub struct Executive<'a, B: 'a> { /* fields omitted */ }Transaction executor.
Methods
impl<'a, B: 'a + StateBackend> Executive<'a, B>[src]
impl<'a, B: 'a + StateBackend> Executive<'a, B>pub fn new(
state: &'a mut State<B>,
info: &'a EnvInfo,
machine: &'a Machine,
schedule: &'a Schedule
) -> Self[src]
pub fn new(
state: &'a mut State<B>,
info: &'a EnvInfo,
machine: &'a Machine,
schedule: &'a Schedule
) -> SelfBasic constructor.
pub fn from_parent(
state: &'a mut State<B>,
info: &'a EnvInfo,
machine: &'a Machine,
schedule: &'a Schedule,
parent_depth: usize,
static_flag: bool
) -> Self[src]
pub fn from_parent(
state: &'a mut State<B>,
info: &'a EnvInfo,
machine: &'a Machine,
schedule: &'a Schedule,
parent_depth: usize,
static_flag: bool
) -> SelfPopulates executive from parent properties. Increments executive depth.
pub fn as_externalities<'any, T, V>(
&'any mut self,
origin_info: OriginInfo,
substate: &'any mut Substate,
output: OutputPolicy<'any, 'any>,
tracer: &'any mut T,
vm_tracer: &'any mut V,
static_call: bool
) -> Externalities<'any, T, V, B> where
T: Tracer,
V: VMTracer, [src]
pub fn as_externalities<'any, T, V>(
&'any mut self,
origin_info: OriginInfo,
substate: &'any mut Substate,
output: OutputPolicy<'any, 'any>,
tracer: &'any mut T,
vm_tracer: &'any mut V,
static_call: bool
) -> Externalities<'any, T, V, B> where
T: Tracer,
V: VMTracer, Creates Externalities from Executive.
pub fn transact<T, V>(
&'a mut self,
t: &SignedTransaction,
options: TransactOptions<T, V>
) -> Result<Executed<T::Output, V::Output>, ExecutionError> where
T: Tracer,
V: VMTracer, [src]
pub fn transact<T, V>(
&'a mut self,
t: &SignedTransaction,
options: TransactOptions<T, V>
) -> Result<Executed<T::Output, V::Output>, ExecutionError> where
T: Tracer,
V: VMTracer, This function should be used to execute transaction.
pub fn transact_virtual<T, V>(
&'a mut self,
t: &SignedTransaction,
options: TransactOptions<T, V>
) -> Result<Executed<T::Output, V::Output>, ExecutionError> where
T: Tracer,
V: VMTracer, [src]
pub fn transact_virtual<T, V>(
&'a mut self,
t: &SignedTransaction,
options: TransactOptions<T, V>
) -> Result<Executed<T::Output, V::Output>, ExecutionError> where
T: Tracer,
V: VMTracer, Execute a transaction in a "virtual" context. This will ensure the caller has enough balance to execute the desired transaction. Used for extra-block executions for things like consensus contracts and RPCs
pub fn call<T, V>(
&mut self,
params: ActionParams,
substate: &mut Substate,
output: BytesRef,
tracer: &mut T,
vm_tracer: &mut V
) -> Result<FinalizationResult> where
T: Tracer,
V: VMTracer, [src]
pub fn call<T, V>(
&mut self,
params: ActionParams,
substate: &mut Substate,
output: BytesRef,
tracer: &mut T,
vm_tracer: &mut V
) -> Result<FinalizationResult> where
T: Tracer,
V: VMTracer, Calls contract function with given contract params.
NOTE. It does not finalize the transaction (doesn't do refunds, nor suicides).
Modifies the substate and the output.
Returns either gas_left or vm::Error.
pub fn create<T, V>(
&mut self,
params: ActionParams,
substate: &mut Substate,
output: &mut Option<Bytes>,
tracer: &mut T,
vm_tracer: &mut V
) -> Result<FinalizationResult> where
T: Tracer,
V: VMTracer, [src]
pub fn create<T, V>(
&mut self,
params: ActionParams,
substate: &mut Substate,
output: &mut Option<Bytes>,
tracer: &mut T,
vm_tracer: &mut V
) -> Result<FinalizationResult> where
T: Tracer,
V: VMTracer, Creates contract with given contract params. NOTE. It does not finalize the transaction (doesn't do refunds, nor suicides). Modifies the substate.