pub struct EtableResolver<'precompile, 'etable, Pre, ES> { /* private fields */ }Expand description
The standard code resolver where the color is an Etable. This is usually what you need.
Implementations§
Source§impl<'precompile, 'etable, Pre, ES> EtableResolver<'precompile, 'etable, Pre, ES>
impl<'precompile, 'etable, Pre, ES> EtableResolver<'precompile, 'etable, Pre, ES>
Sourcepub const fn new(precompiles: &'precompile Pre, etable: &'etable ES) -> Self
pub const fn new(precompiles: &'precompile Pre, etable: &'etable ES) -> Self
Create a new EtableResolver.
Trait Implementations§
Source§impl<'precompile, 'etable, H, Pre, ES> Resolver<H> for EtableResolver<'precompile, 'etable, Pre, ES>where
ES::State: AsRef<RuntimeState> + AsMut<RuntimeState> + AsRef<Config>,
H: RuntimeBackend,
Pre: PrecompileSet<ES::State, H>,
ES: Etable<H>,
impl<'precompile, 'etable, H, Pre, ES> Resolver<H> for EtableResolver<'precompile, 'etable, Pre, ES>where
ES::State: AsRef<RuntimeState> + AsMut<RuntimeState> + AsRef<Config>,
H: RuntimeBackend,
Pre: PrecompileSet<ES::State, H>,
ES: Etable<H>,
Source§fn resolve_call(
&self,
origin: ResolverOrigin,
_scheme: CallScheme,
code_address: H160,
input: Vec<u8>,
state: ES::State,
handler: &mut H,
) -> Result<InvokerControl<Self::Interpreter, Self::State>, ExitError>
fn resolve_call( &self, origin: ResolverOrigin, _scheme: CallScheme, code_address: H160, input: Vec<u8>, state: ES::State, handler: &mut H, ) -> Result<InvokerControl<Self::Interpreter, Self::State>, ExitError>
Resolve a call (with the target code address).
Source§fn resolve_create(
&self,
origin: ResolverOrigin,
init_code: Vec<u8>,
state: ES::State,
handler: &mut H,
) -> Result<InvokerControl<Self::Interpreter, Self::State>, ExitError>
fn resolve_create( &self, origin: ResolverOrigin, init_code: Vec<u8>, state: ES::State, handler: &mut H, ) -> Result<InvokerControl<Self::Interpreter, Self::State>, ExitError>
Resolve a create (with the init code).
Source§type Interpreter = EtableInterpreter<'etable, <ES as Etable<H>>::State, ES>
type Interpreter = EtableInterpreter<'etable, <ES as Etable<H>>::State, ES>
Interpreter type of the resolver.
Auto Trait Implementations§
impl<'precompile, 'etable, Pre, ES> Freeze for EtableResolver<'precompile, 'etable, Pre, ES>
impl<'precompile, 'etable, Pre, ES> RefUnwindSafe for EtableResolver<'precompile, 'etable, Pre, ES>where
ES: RefUnwindSafe,
Pre: RefUnwindSafe,
impl<'precompile, 'etable, Pre, ES> Send for EtableResolver<'precompile, 'etable, Pre, ES>
impl<'precompile, 'etable, Pre, ES> Sync for EtableResolver<'precompile, 'etable, Pre, ES>
impl<'precompile, 'etable, Pre, ES> Unpin for EtableResolver<'precompile, 'etable, Pre, ES>
impl<'precompile, 'etable, Pre, ES> UnwindSafe for EtableResolver<'precompile, 'etable, Pre, ES>where
ES: RefUnwindSafe,
Pre: RefUnwindSafe,
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> TrapConsume<T> for T
impl<T> TrapConsume<T> for T
Source§type Rest = Infallible
type Rest = Infallible
Rest type.
Source§fn consume(self) -> Result<T, Infallible>
fn consume(self) -> Result<T, Infallible>
Consume
T to get Rest.