pub struct PrecompileSetBuilder<R, P> { /* private fields */ }
Expand description
Wraps a tuple of PrecompileSetFragment
to make a real PrecompileSet
.
Implementations§
source§impl<R: Config, P: PrecompileSetFragment> PrecompileSetBuilder<R, P>
impl<R: Config, P: PrecompileSetFragment> PrecompileSetBuilder<R, P>
sourcepub fn used_addresses() -> impl Iterator<Item = R::AccountId>
pub fn used_addresses() -> impl Iterator<Item = R::AccountId>
Return the list of mapped addresses contained in this PrecompileSet.
sourcepub fn used_addresses_h160() -> impl Iterator<Item = H160>
pub fn used_addresses_h160() -> impl Iterator<Item = H160>
Return the list of H160 addresses contained in this PrecompileSet.
pub fn summarize_checks(&self) -> Vec<PrecompileCheckSummary>
Trait Implementations§
source§impl<R: Config, P: PrecompileSetFragment> Default for PrecompileSetBuilder<R, P>
impl<R: Config, P: PrecompileSetFragment> Default for PrecompileSetBuilder<R, P>
source§impl<R, P: IsActivePrecompile> IsActivePrecompile for PrecompileSetBuilder<R, P>
impl<R, P: IsActivePrecompile> IsActivePrecompile for PrecompileSetBuilder<R, P>
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<R: Config, P: PrecompileSetFragment> PrecompileSet for PrecompileSetBuilder<R, P>
impl<R: Config, P: PrecompileSetFragment> PrecompileSet for PrecompileSetBuilder<R, P>
source§fn execute(
&self,
handle: &mut impl PrecompileHandle
) -> Option<PrecompileResult>
fn execute( &self, handle: &mut impl PrecompileHandle ) -> Option<PrecompileResult>
Tries to execute a precompile in the precompile set.
If the provided address is not a precompile, returns None.
source§fn is_precompile(&self, address: H160, gas: u64) -> IsPrecompileResult
fn is_precompile(&self, address: H160, gas: u64) -> IsPrecompileResult
Check if the given address is a precompile. Should only be called to
perform the check while not executing the precompile afterward, since
execute
already performs a check internally.Auto Trait Implementations§
impl<R, P> RefUnwindSafe for PrecompileSetBuilder<R, P>where
P: RefUnwindSafe,
R: RefUnwindSafe,
impl<R, P> Send for PrecompileSetBuilder<R, P>
impl<R, P> Sync for PrecompileSetBuilder<R, P>
impl<R, P> Unpin for PrecompileSetBuilder<R, P>
impl<R, P> UnwindSafe for PrecompileSetBuilder<R, P>where
P: UnwindSafe,
R: UnwindSafe,
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
source§impl<T> PrecompileTesterExt for Twhere
T: PrecompileSet,
impl<T> PrecompileTesterExt for Twhere
T: PrecompileSet,
fn prepare_test( &self, from: impl Into<H160>, to: impl Into<H160>, data: impl Into<Vec<u8>> ) -> PrecompilesTester<'_, 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
.