pub struct FrameValidationOutcome {
pub passed: bool,
pub violation: Option<String>,
pub reservation_ceiling: U256,
pub accessed_paymaster: Option<(Address, bool)>,
pub touched_sender_slots: Vec<H256>,
}Expand description
Outcome of an EIP-8141 mempool validation-prefix simulation
(Evm::simulate_frame_validation_prefix). A local peer policy result, not
a consensus value.
Fields§
§passed: boolWhether the validation prefix passed every trace rule and produced a payer without reverting within the verify-gas budget.
violation: Option<String>The first validation-trace violation observed, if any (rendered to a
string for the admission error). None when passed is true.
reservation_ceiling: U256An upper bound on what the payer can be charged in any block that may
include this transaction, used by the paymaster reservation accounting.
Not the consensus max_cost of TXPARAM 0x06: see
Evm::simulate_frame_validation_prefix’s reservation-ceiling helper for
why the blob term is priced at max_fee_per_blob_gas here.
accessed_paymaster: Option<(Address, bool)>The paymaster accessed by the prefix and whether its code matched the
canonical paymaster hash. None when no distinct paymaster was
identified (e.g. self-funded self_verify).
touched_sender_slots: Vec<H256>Sender storage slots touched during the prefix, recorded for the admission-time revalidation affected-set (Phase 3).
Trait Implementations§
Source§impl Clone for FrameValidationOutcome
impl Clone for FrameValidationOutcome
Auto Trait Implementations§
impl Freeze for FrameValidationOutcome
impl RefUnwindSafe for FrameValidationOutcome
impl Send for FrameValidationOutcome
impl Sync for FrameValidationOutcome
impl Unpin for FrameValidationOutcome
impl UnsafeUnpin for FrameValidationOutcome
impl UnwindSafe for FrameValidationOutcome
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.