Skip to main content

ReviveQueryApi

Struct ReviveQueryApi 

Source
pub struct ReviveQueryApi<'api> { /* private fields */ }

Implementations§

Source§

impl<'api> ReviveQueryApi<'api>

Source

pub async fn pristine_code(&self, key_0: H256) -> Result<Option<Vec<u8>>>

A mapping from a contract’s code hash to its code. The code’s size is bounded by [crate::limits::BLOB_BYTES] for PVM and [revm::primitives::eip170::MAX_CODE_SIZE] for EVM bytecode.

Source

pub async fn code_info_of(&self, key_0: H256) -> Result<Option<CodeInfo>>

A mapping from a contract’s code hash to its code info.

Source

pub async fn account_info_of(&self, key_0: H160) -> Result<Option<AccountInfo>>

The data associated to a contract or externally owned account.

Source

pub async fn immutable_data_of(&self, key_0: H160) -> Result<Option<Vec<u8>>>

The immutable data associated with a given account.

Source

pub async fn deletion_queue(&self, key_0: u32) -> Result<Option<Vec<u8>>>

Evicted contracts that await child trie deletion.

Child trie deletion is a heavy operation depending on the amount of storage items stored in said trie. Therefore this operation is performed lazily in on_idle.

Source

pub async fn deletion_queue_counter(&self) -> Result<DeletionQueueManager>

A pair of monotonic counters used to track the latest contract marked for deletion and the latest deleted contract in queue.

Source

pub async fn original_account(&self, key_0: H160) -> Result<Option<AccountId>>

Map a Ethereum address to its original AccountId32.

When deriving a H160 from an AccountId32 we use a hash function. In order to reconstruct the original account we need to store the reverse mapping here. Register your AccountId32 using [Pallet::map_account] in order to use it with this pallet.

Source

pub async fn ethereum_block(&self) -> Result<Block>

The current Ethereum block that is stored in the on_finalize method.

§Note

This could be further optimized into the future to store only the minimum information needed to reconstruct the Ethereum block at the RPC level.

Since the block is convenient to have around, and the extra details are capped by a few hashes and the vector of transaction hashes, we store the block here.

Source

pub async fn block_hash(&self, key_0: u32) -> Result<H256>

Mapping for block number and hashes.

The maximum number of elements stored is capped by the block hash count BLOCK_HASH_COUNT.

Source

pub async fn receipt_info_data(&self) -> Result<Vec<ReceiptGasInfo>>

The details needed to reconstruct the receipt info offchain.

This contains valuable information about the gas used by the transaction.

NOTE: The item is unbound and should therefore never be read on chain. It could otherwise inflate the PoV size of a block.

Source

pub async fn eth_block_builder_ir(&self) -> Result<EthereumBlockBuilderIR>

Incremental ethereum block builder.

Source

pub async fn eth_block_builder_first_values( &self, ) -> Result<Option<(Vec<u8>, Vec<u8>)>>

The first transaction and receipt of the ethereum block.

These values are moved out of the EthBlockBuilderIR to avoid serializing and deserializing them on every transaction. Instead, they are loaded when needed.

Source

pub async fn debug_settings_of(&self) -> Result<DebugSettings>

Debugging settings that can be configured when DebugEnabled config is true.

Trait Implementations§

Source§

impl<'api> Clone for ReviveQueryApi<'api>

Source§

fn clone(&self) -> ReviveQueryApi<'api>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

§

impl<'api> Freeze for ReviveQueryApi<'api>

§

impl<'api> !RefUnwindSafe for ReviveQueryApi<'api>

§

impl<'api> Send for ReviveQueryApi<'api>

§

impl<'api> Sync for ReviveQueryApi<'api>

§

impl<'api> Unpin for ReviveQueryApi<'api>

§

impl<'api> UnsafeUnpin for ReviveQueryApi<'api>

§

impl<'api> !UnwindSafe for ReviveQueryApi<'api>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CheckedConversion for T

Source§

fn checked_from<T>(t: T) -> Option<Self>
where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
Source§

fn checked_into<T>(self) -> Option<T>
where Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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 more
Source§

impl<Src, Dest> IntoTuple<Dest> for Src
where Dest: FromTuple<Src>,

Source§

fn into_tuple(self) -> Dest

Source§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

Source§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

Source§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> SaturatedConversion for T

Source§

fn saturated_from<T>(t: T) -> Self
where Self: UniqueSaturatedFrom<T>,

Convert from a value of T into an equivalent instance of Self. Read more
Source§

fn saturated_into<T>(self) -> T
where Self: UniqueSaturatedInto<T>,

Consume self to return an equivalent value of T. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

Source§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
Source§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

Source§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> JsonSchemaMaybe for T

Source§

impl<T> MaybeSend for T
where T: Send,