Struct precompile_utils::precompile_set::PrecompileAt
source · pub struct PrecompileAt<A, P, C = ()> { /* private fields */ }
Expand description
Wraps a stateless precompile: a type implementing the Precompile
trait.
Type parameters allow to define:
- A: The address of the precompile
- R: The recursion limit (defaults to 1)
- D: If DELEGATECALL is supported (default to no)
Trait Implementations§
source§impl<A, P, C> IsActivePrecompile for PrecompileAt<A, P, C>where
A: Get<H160>,
impl<A, P, C> IsActivePrecompile for PrecompileAt<A, P, C>where
A: Get<H160>,
source§fn is_active_precompile(&self, address: H160, _gas: u64) -> IsPrecompileResult
fn is_active_precompile(&self, address: H160, _gas: u64) -> IsPrecompileResult
Is the provided address an active precompile, a precompile that has
not be deactivated. Note that a deactivated precompile is still considered a precompile
for the EVM, but it will always revert when called.
source§impl<A, P, C> PrecompileSetFragment for PrecompileAt<A, P, C>where
A: Get<H160>,
P: Precompile,
C: PrecompileChecks,
impl<A, P, C> PrecompileSetFragment for PrecompileAt<A, P, C>where
A: Get<H160>,
P: Precompile,
C: PrecompileChecks,
source§fn execute<R: Config>(
&self,
handle: &mut impl PrecompileHandle
) -> Option<PrecompileResult>
fn execute<R: Config>( &self, handle: &mut impl PrecompileHandle ) -> Option<PrecompileResult>
Execute the fragment.
source§fn is_precompile(&self, address: H160, _gas: u64) -> IsPrecompileResult
fn is_precompile(&self, address: H160, _gas: u64) -> IsPrecompileResult
Is the provided address a precompile in this fragment?
source§fn used_addresses(&self) -> Vec<H160>
fn used_addresses(&self) -> Vec<H160>
Return the list of addresses covered by this fragment.
source§fn summarize_checks(&self) -> Vec<PrecompileCheckSummary>
fn summarize_checks(&self) -> Vec<PrecompileCheckSummary>
Summarize
Auto Trait Implementations§
impl<A, P, C = ()> !RefUnwindSafe for PrecompileAt<A, P, C>
impl<A, P, C> Send for PrecompileAt<A, P, C>
impl<A, P, C = ()> !Sync for PrecompileAt<A, P, C>
impl<A, P, C> Unpin for PrecompileAt<A, P, C>
impl<A, P, C> UnwindSafe for PrecompileAt<A, P, C>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
§fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
§fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IsType<T> for T
impl<T> IsType<T> for T
§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of
T
. Read more§impl<T, U> TryIntoKey<U> for Twhere
U: TryFromKey<T>,
impl<T, U> TryIntoKey<U> for Twhere
U: TryFromKey<T>,
type Error = <U as TryFromKey<T>>::Error
fn try_into_key(self) -> Result<U, <U as TryFromKey<T>>::Error>
§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from
.§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T
.