pub struct DefaultSubsystemClient<Client> { /* private fields */ }
Expand description

Default implementation of RuntimeApiSubsystemClient using the client.

Implementations§

source§

impl<Client> DefaultSubsystemClient<Client>

source

pub fn new( client: Arc<Client>, offchain_transaction_pool_factory: OffchainTransactionPoolFactory<Block> ) -> Self

Create new instance.

Trait Implementations§

source§

impl<Client> RuntimeApiSubsystemClient for DefaultSubsystemClient<Client>where Client: ProvideRuntimeApi<Block> + Send + Sync, Client::Api: ParachainHost<Block> + BabeApi<Block> + AuthorityDiscoveryApi<Block>,

source§

fn staging_async_backing_params<'life0, 'async_trait>( &'life0 self, at: Hash ) -> Pin<Box<dyn Future<Output = Result<AsyncBackingParams, ApiError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Returns candidate’s acceptance limitations for asynchronous backing for a relay parent.

source§

fn validators<'life0, 'async_trait>( &'life0 self, at: Hash ) -> Pin<Box<dyn Future<Output = Result<Vec<ValidatorId>, ApiError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Get the current validators.
source§

fn validator_groups<'life0, 'async_trait>( &'life0 self, at: Hash ) -> Pin<Box<dyn Future<Output = Result<(Vec<Vec<ValidatorIndex>>, GroupRotationInfo<BlockNumber>), ApiError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Returns the validator groups and rotation info localized based on the hypothetical child of a block whose state this is invoked on. Note that now in the GroupRotationInfo should be the successor of the number of the block.
source§

fn availability_cores<'life0, 'async_trait>( &'life0 self, at: Hash ) -> Pin<Box<dyn Future<Output = Result<Vec<CoreState<Hash, BlockNumber>>, ApiError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Yields information on all availability cores as relevant to the child block. Cores are either free or occupied. Free cores can have paras assigned to them.
source§

fn persisted_validation_data<'life0, 'async_trait>( &'life0 self, at: Hash, para_id: Id, assumption: OccupiedCoreAssumption ) -> Pin<Box<dyn Future<Output = Result<Option<PersistedValidationData<Hash, BlockNumber>>, ApiError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Yields the persisted validation data for the given ParaId along with an assumption that should be used if the para currently occupies a core. Read more
source§

fn assumed_validation_data<'life0, 'async_trait>( &'life0 self, at: Hash, para_id: Id, expected_persisted_validation_data_hash: Hash ) -> Pin<Box<dyn Future<Output = Result<Option<(PersistedValidationData<Hash, BlockNumber>, ValidationCodeHash)>, ApiError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Returns the persisted validation data for the given ParaId along with the corresponding validation code hash. Instead of accepting assumption about the para, matches the validation data hash against an expected one and yields None if they’re not equal.
source§

fn check_validation_outputs<'life0, 'async_trait>( &'life0 self, at: Hash, para_id: Id, outputs: CandidateCommitments ) -> Pin<Box<dyn Future<Output = Result<bool, ApiError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Checks if the given validation outputs pass the acceptance criteria.
source§

fn session_index_for_child<'life0, 'async_trait>( &'life0 self, at: Hash ) -> Pin<Box<dyn Future<Output = Result<SessionIndex, ApiError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Returns the session index expected at a child of the block. Read more
source§

fn validation_code<'life0, 'async_trait>( &'life0 self, at: Hash, para_id: Id, assumption: OccupiedCoreAssumption ) -> Pin<Box<dyn Future<Output = Result<Option<ValidationCode>, ApiError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Fetch the validation code used by a para, making the given OccupiedCoreAssumption. Read more
source§

fn candidate_pending_availability<'life0, 'async_trait>( &'life0 self, at: Hash, para_id: Id ) -> Pin<Box<dyn Future<Output = Result<Option<CommittedCandidateReceipt<Hash>>, ApiError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Get the receipt of a candidate pending availability. This returns Some for any paras assigned to occupied cores in availability_cores and None otherwise.
source§

fn candidate_events<'life0, 'async_trait>( &'life0 self, at: Hash ) -> Pin<Box<dyn Future<Output = Result<Vec<CandidateEvent<Hash>>, ApiError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Get a vector of events concerning candidates that occurred within a block.
source§

fn dmq_contents<'life0, 'async_trait>( &'life0 self, at: Hash, recipient: Id ) -> Pin<Box<dyn Future<Output = Result<Vec<InboundDownwardMessage<BlockNumber>>, ApiError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Get all the pending inbound messages in the downward message queue for a para.
source§

fn inbound_hrmp_channels_contents<'life0, 'async_trait>( &'life0 self, at: Hash, recipient: Id ) -> Pin<Box<dyn Future<Output = Result<BTreeMap<Id, Vec<InboundHrmpMessage<BlockNumber>>>, ApiError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Get the contents of all channels addressed to the given recipient. Channels that have no messages in them are also included.
source§

fn validation_code_by_hash<'life0, 'async_trait>( &'life0 self, at: Hash, hash: ValidationCodeHash ) -> Pin<Box<dyn Future<Output = Result<Option<ValidationCode>, ApiError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Get the validation code from its hash.
source§

fn on_chain_votes<'life0, 'async_trait>( &'life0 self, at: Hash ) -> Pin<Box<dyn Future<Output = Result<Option<ScrapedOnChainVotes<Hash>>, ApiError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Scrape dispute relevant from on-chain, backing votes and resolved disputes.
source§

fn session_executor_params<'life0, 'async_trait>( &'life0 self, at: Hash, session_index: SessionIndex ) -> Pin<Box<dyn Future<Output = Result<Option<ExecutorParams>, ApiError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Get the execution environment parameter set by parent hash, if stored
source§

fn session_info<'life0, 'async_trait>( &'life0 self, at: Hash, index: SessionIndex ) -> Pin<Box<dyn Future<Output = Result<Option<SessionInfo>, ApiError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Get the session info for the given session, if stored. Read more
source§

fn submit_pvf_check_statement<'life0, 'async_trait>( &'life0 self, at: Hash, stmt: PvfCheckStatement, signature: ValidatorSignature ) -> Pin<Box<dyn Future<Output = Result<(), ApiError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Submits a PVF pre-checking statement into the transaction pool. Read more
source§

fn pvfs_require_precheck<'life0, 'async_trait>( &'life0 self, at: Hash ) -> Pin<Box<dyn Future<Output = Result<Vec<ValidationCodeHash>, ApiError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Returns code hashes of PVFs that require pre-checking by validators in the active set. Read more
source§

fn validation_code_hash<'life0, 'async_trait>( &'life0 self, at: Hash, para_id: Id, assumption: OccupiedCoreAssumption ) -> Pin<Box<dyn Future<Output = Result<Option<ValidationCodeHash>, ApiError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Fetch the hash of the validation code used by a para, making the given OccupiedCoreAssumption. Read more
source§

fn current_epoch<'life0, 'async_trait>( &'life0 self, at: Hash ) -> Pin<Box<dyn Future<Output = Result<Epoch, ApiError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Returns information regarding the current epoch.
source§

fn authorities<'life0, 'async_trait>( &'life0 self, at: Hash ) -> Pin<Box<dyn Future<Output = Result<Vec<AuthorityId>, ApiError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Retrieve authority identifiers of the current and next authority set.
source§

fn api_version_parachain_host<'life0, 'async_trait>( &'life0 self, at: Hash ) -> Pin<Box<dyn Future<Output = Result<Option<u32>, ApiError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Parachain host API version
source§

fn disputes<'life0, 'async_trait>( &'life0 self, at: Hash ) -> Pin<Box<dyn Future<Output = Result<Vec<(SessionIndex, CandidateHash, DisputeState<BlockNumber>)>, ApiError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Returns all onchain disputes. This is a staging method! Do not use on production runtimes!
source§

fn unapplied_slashes<'life0, 'async_trait>( &'life0 self, at: Hash ) -> Pin<Box<dyn Future<Output = Result<Vec<(SessionIndex, CandidateHash, PendingSlashes)>, ApiError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Returns a list of validators that lost a past session dispute and need to be slashed. Read more
source§

fn key_ownership_proof<'life0, 'async_trait>( &'life0 self, at: Hash, validator_id: ValidatorId ) -> Pin<Box<dyn Future<Output = Result<Option<OpaqueKeyOwnershipProof>, ApiError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Returns a merkle proof of a validator session key in a past session. Read more
source§

fn submit_report_dispute_lost<'life0, 'async_trait>( &'life0 self, at: Hash, dispute_proof: DisputeProof, key_ownership_proof: OpaqueKeyOwnershipProof ) -> Pin<Box<dyn Future<Output = Result<Option<()>, ApiError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Submits an unsigned extrinsic to slash validators who lost a dispute about a candidate of a past session. Read more
source§

fn minimum_backing_votes<'life0, 'async_trait>( &'life0 self, at: Hash, _session_index: SessionIndex ) -> Pin<Box<dyn Future<Output = Result<u32, ApiError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Get the minimum number of backing votes.
source§

fn staging_para_backing_state<'life0, 'async_trait>( &'life0 self, at: Hash, para_id: Id ) -> Pin<Box<dyn Future<Output = Result<Option<BackingState>, ApiError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Returns the state of parachain backing for a given para. This is a staging method! Do not use on production runtimes!

Auto Trait Implementations§

§

impl<Client> !RefUnwindSafe for DefaultSubsystemClient<Client>

§

impl<Client> Send for DefaultSubsystemClient<Client>where Client: Send + Sync,

§

impl<Client> Sync for DefaultSubsystemClient<Client>where Client: Send + Sync,

§

impl<Client> Unpin for DefaultSubsystemClient<Client>

§

impl<Client> !UnwindSafe for DefaultSubsystemClient<Client>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Any for Twhere T: Any,

source§

fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>

source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>

source§

fn type_name(&self) -> &'static str

source§

impl<T> AnySync for Twhere T: Any + Send + Sync,

source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send + 'static>

source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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> Conv for T

source§

fn conv<T>(self) -> Twhere Self: Into<T>,

Converts self into T using Into<T>. Read more
source§

impl<T> FmtForward for T

source§

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,

Causes self to use its Display implementation when Debug-formatted.
source§

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,

Causes self to use its LowerHex implementation when Debug-formatted.
source§

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,

Causes self to use its Pointer implementation when Debug-formatted.
source§

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,

Causes self to use its UpperHex implementation when Debug-formatted.
source§

fn fmt_list(self) -> FmtList<Self>where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
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 Twhere 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> IsType<T> for T

source§

fn from_ref(t: &T) -> &T

Cast reference.
source§

fn into_ref(&self) -> &T

Cast reference.
source§

fn from_mut(t: &mut T) -> &mut T

Cast mutable reference.
source§

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

Cast mutable reference.
source§

impl<T, Outer> IsWrappedBy<Outer> for Twhere 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> Pipe for Twhere T: ?Sized,

source§

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,

Borrows self and passes that borrow into the pipe function. Read more
source§

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 more
source§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
source§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> Rwhere Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
source§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

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) -> Rwhere Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

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) -> Rwhere Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
source§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R ) -> Rwhere Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
source§

impl<T> Pointable for T

source§

const ALIGN: usize = mem::align_of::<T>()

The alignment of pointer.
§

type Init = T

The type for initializers.
source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> SaturatedConversion for T

source§

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

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

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

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

impl<T> Tap for T

source§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
source§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
source§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
source§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
source§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
source§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
source§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
source§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
source§

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

Calls .tap_mut() only in debug builds, and is erased in release builds.
source§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,

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)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,

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)) -> Selfwhere Self: AsRef<R>, R: ?Sized,

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)) -> Selfwhere Self: AsMut<R>, R: ?Sized,

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)) -> Selfwhere Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
source§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> TryConv for T

source§

fn try_conv<T>(self) -> Result<T, Self::Error>where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

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

§

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 Twhere U: TryFrom<T>,

§

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 Swhere T: UncheckedFrom<S>,

source§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
source§

impl<T, S> UniqueSaturatedInto<T> for Swhere 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 Twhere 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