pub struct State<Block, Client> { /* private fields */ }
Expand description
State API with subscriptions support.
Trait Implementations§
source§impl<Block, Client> StateApiServer<<Block as Block>::Hash> for State<Block, Client>
impl<Block, Client> StateApiServer<<Block as Block>::Hash> for State<Block, Client>
source§fn trace_block(
&self,
ext: &Extensions,
block: Block::Hash,
targets: Option<String>,
storage_keys: Option<String>,
methods: Option<String>,
) -> Result<TraceBlockResponse, Error>
fn trace_block( &self, ext: &Extensions, block: Block::Hash, targets: Option<String>, storage_keys: Option<String>, methods: Option<String>, ) -> Result<TraceBlockResponse, Error>
Re-execute the given block with the tracing targets given in targets
and capture all state changes.
Note: requires the node to run with --rpc-methods=Unsafe
.
Note: requires runtimes compiled with wasm tracing support, --features with-tracing
.
source§fn call(
&self,
method: String,
data: Bytes,
block: Option<Block::Hash>,
) -> Result<Bytes, Error>
fn call( &self, method: String, data: Bytes, block: Option<Block::Hash>, ) -> Result<Bytes, Error>
Call a method from the runtime API at a block’s state.
source§fn storage_keys(
&self,
key_prefix: StorageKey,
block: Option<Block::Hash>,
) -> Result<Vec<StorageKey>, Error>
fn storage_keys( &self, key_prefix: StorageKey, block: Option<Block::Hash>, ) -> Result<Vec<StorageKey>, Error>
Returns the keys with prefix, leave empty to get all the keys.
source§fn storage_pairs(
&self,
ext: &Extensions,
key_prefix: StorageKey,
block: Option<Block::Hash>,
) -> Result<Vec<(StorageKey, StorageData)>, Error>
fn storage_pairs( &self, ext: &Extensions, key_prefix: StorageKey, block: Option<Block::Hash>, ) -> Result<Vec<(StorageKey, StorageData)>, Error>
Returns the keys with prefix, leave empty to get all the keys
source§fn storage_keys_paged(
&self,
prefix: Option<StorageKey>,
count: u32,
start_key: Option<StorageKey>,
block: Option<Block::Hash>,
) -> Result<Vec<StorageKey>, Error>
fn storage_keys_paged( &self, prefix: Option<StorageKey>, count: u32, start_key: Option<StorageKey>, block: Option<Block::Hash>, ) -> Result<Vec<StorageKey>, Error>
Returns the keys with prefix with pagination support.
Up to
count
keys will be returned.
If start_key
is passed, return next keys in storage in lexicographic order.source§fn storage(
&self,
key: StorageKey,
block: Option<Block::Hash>,
) -> Result<Option<StorageData>, Error>
fn storage( &self, key: StorageKey, block: Option<Block::Hash>, ) -> Result<Option<StorageData>, Error>
Returns a storage entry at a specific block’s state.
source§fn storage_hash(
&self,
key: StorageKey,
block: Option<Block::Hash>,
) -> Result<Option<Block::Hash>, Error>
fn storage_hash( &self, key: StorageKey, block: Option<Block::Hash>, ) -> Result<Option<Block::Hash>, Error>
Returns the hash of a storage entry at a block’s state.
source§fn storage_size<'life0, 'life1, 'async_trait>(
&'life0 self,
ext: &'life1 Extensions,
key: StorageKey,
block: Option<Block::Hash>,
) -> Pin<Box<dyn Future<Output = Result<Option<u64>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn storage_size<'life0, 'life1, 'async_trait>(
&'life0 self,
ext: &'life1 Extensions,
key: StorageKey,
block: Option<Block::Hash>,
) -> Pin<Box<dyn Future<Output = Result<Option<u64>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Returns the size of a storage entry at a block’s state.
source§fn metadata(&self, block: Option<Block::Hash>) -> Result<Bytes, Error>
fn metadata(&self, block: Option<Block::Hash>) -> Result<Bytes, Error>
Returns the runtime metadata as an opaque blob.
source§fn runtime_version(
&self,
at: Option<Block::Hash>,
) -> Result<RuntimeVersion, Error>
fn runtime_version( &self, at: Option<Block::Hash>, ) -> Result<RuntimeVersion, Error>
Get the runtime version.
source§fn query_storage(
&self,
ext: &Extensions,
keys: Vec<StorageKey>,
from: Block::Hash,
to: Option<Block::Hash>,
) -> Result<Vec<StorageChangeSet<Block::Hash>>, Error>
fn query_storage( &self, ext: &Extensions, keys: Vec<StorageKey>, from: Block::Hash, to: Option<Block::Hash>, ) -> Result<Vec<StorageChangeSet<Block::Hash>>, Error>
Query historical storage entries (by key) starting from a block given as the second
parameter. Read more
source§fn query_storage_at(
&self,
keys: Vec<StorageKey>,
at: Option<Block::Hash>,
) -> Result<Vec<StorageChangeSet<Block::Hash>>, Error>
fn query_storage_at( &self, keys: Vec<StorageKey>, at: Option<Block::Hash>, ) -> Result<Vec<StorageChangeSet<Block::Hash>>, Error>
Query storage entries (by key) at a block hash given as the second parameter.
NOTE: Each StorageChangeSet in the result corresponds to exactly one element –
the storage value under an input key at the input block hash.
source§fn read_proof(
&self,
keys: Vec<StorageKey>,
block: Option<Block::Hash>,
) -> Result<ReadProof<Block::Hash>, Error>
fn read_proof( &self, keys: Vec<StorageKey>, block: Option<Block::Hash>, ) -> Result<ReadProof<Block::Hash>, Error>
Returns proof of storage entries at a specific block’s state.
source§fn subscribe_runtime_version(&self, pending: PendingSubscriptionSink)
fn subscribe_runtime_version(&self, pending: PendingSubscriptionSink)
New runtime version subscription
source§fn subscribe_storage(
&self,
pending: PendingSubscriptionSink,
ext: &Extensions,
keys: Option<Vec<StorageKey>>,
)
fn subscribe_storage( &self, pending: PendingSubscriptionSink, ext: &Extensions, keys: Option<Vec<StorageKey>>, )
New storage subscription
Auto Trait Implementations§
impl<Block, Client> Freeze for State<Block, Client>
impl<Block, Client> !RefUnwindSafe for State<Block, Client>
impl<Block, Client> Send for State<Block, Client>
impl<Block, Client> Sync for State<Block, Client>
impl<Block, Client> Unpin for State<Block, Client>
impl<Block, Client> !UnwindSafe for State<Block, Client>
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
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
source§impl<T> FmtForward for T
impl<T> FmtForward for T
source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
Causes
self
to use its Binary
implementation when Debug
-formatted.source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
Causes
self
to use its Display
implementation when
Debug
-formatted.source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
Causes
self
to use its LowerExp
implementation when
Debug
-formatted.source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
Causes
self
to use its LowerHex
implementation when
Debug
-formatted.source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
Causes
self
to use its Octal
implementation when Debug
-formatted.source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
Causes
self
to use its Pointer
implementation when
Debug
-formatted.source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
Causes
self
to use its UpperExp
implementation when
Debug
-formatted.source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
Causes
self
to use its UpperHex
implementation when
Debug
-formatted.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>
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 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>
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 moresource§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
Borrows
self
and passes that borrow into the pipe function. Read moresource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
Mutably borrows
self
and passes that borrow into the pipe function. Read moresource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
Borrows
self
, then passes self.as_ref()
into the pipe function.source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
Mutably borrows
self
, then passes self.as_mut()
into the pipe
function.source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
Borrows
self
, then passes self.deref()
into the pipe function.source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
source§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 moresource§impl<T> Tap for T
impl<T> Tap for T
source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Immutable access to the
Borrow<B>
of a value. Read moresource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
Mutable access to the
BorrowMut<B>
of a value. Read moresource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
Immutable access to the
AsRef<R>
view of a value. Read moresource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
Mutable access to the
AsMut<R>
view of a value. Read moresource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Immutable access to the
Deref::Target
of a value. Read moresource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Mutable access to the
Deref::Target
of a value. Read moresource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap()
only in debug builds, and is erased in release builds.source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
Calls
.tap_borrow()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
Calls
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
Calls
.tap_ref()
only in debug builds, and is erased in release
builds.source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
Calls
.tap_ref_mut()
only in debug builds, and is erased in release
builds.source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
Calls
.tap_deref()
only in debug builds, and is erased in release
builds.source§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from
.source§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T
.