pallet_domains

Struct Pallet

source
pub struct Pallet<T>(/* private fields */);
Expand description

The Pallet struct, the main type that implements traits and standalone functions within the pallet.

Implementations§

source§

impl<T: Config> Pallet<T>

source

pub fn submit_bundle( origin: OriginFor<T>, opaque_bundle: OpaqueBundleOf<T>, ) -> DispatchResultWithPostInfo

source

pub fn submit_fraud_proof( origin: OriginFor<T>, fraud_proof: Box<FraudProofFor<T>>, ) -> DispatchResultWithPostInfo

source

pub fn register_domain_runtime( origin: OriginFor<T>, runtime_name: String, runtime_type: RuntimeType, raw_genesis_storage: Vec<u8>, ) -> DispatchResult

source

pub fn upgrade_domain_runtime( origin: OriginFor<T>, runtime_id: RuntimeId, raw_genesis_storage: Vec<u8>, ) -> DispatchResult

source

pub fn register_operator( origin: OriginFor<T>, domain_id: DomainId, amount: <T as Config>::Balance, config: OperatorConfig<<T as Config>::Balance>, signing_key_proof_of_ownership: OperatorSignature, ) -> DispatchResult

source

pub fn nominate_operator( origin: OriginFor<T>, operator_id: OperatorId, amount: <T as Config>::Balance, ) -> DispatchResult

source

pub fn instantiate_domain( origin: OriginFor<T>, domain_config_params: DomainConfigParams<T::AccountId, <T as Config>::Balance>, ) -> DispatchResult

source

pub fn deregister_operator( origin: OriginFor<T>, operator_id: OperatorId, ) -> DispatchResult

source

pub fn withdraw_stake( origin: OriginFor<T>, operator_id: OperatorId, to_withdraw: WithdrawStake<<T as Config>::Balance, T::Share>, ) -> DispatchResult

source

pub fn unlock_funds( origin: OriginFor<T>, operator_id: OperatorId, ) -> DispatchResult

Unlocks the first withdrawal given the unlocking period is complete. Even if rest of the withdrawals are out of unlocking period, nominator should call this extrinsic to unlock each withdrawal

source

pub fn unlock_nominator( origin: OriginFor<T>, operator_id: OperatorId, ) -> DispatchResult

Unlocks the nominator under given operator given the unlocking period is complete. A nominator can initiate their unlock given operator is already deregistered.

source

pub fn update_domain_operator_allow_list( origin: OriginFor<T>, domain_id: DomainId, operator_allow_list: OperatorAllowList<T::AccountId>, ) -> DispatchResult

Extrinsic to update domain’s operator allow list. Note:

  • If the previous allowed list is set to specific operators and new allow list is set to Anyone, then domain will become permissioned to open for all operators.
  • If the previous allowed list is set to Anyone or specific operators and the new allow list is set to specific operators, then all the registered not allowed operators will continue to operate until they de-register themselves.
source

pub fn force_staking_epoch_transition( origin: OriginFor<T>, domain_id: DomainId, ) -> DispatchResultWithPostInfo

Force staking epoch transition for a given domain

source

pub fn set_permissioned_action_allowed_by( origin: OriginFor<T>, permissioned_action_allowed_by: PermissionedActionAllowedBy<T::AccountId>, ) -> DispatchResult

Update permissioned action allowed by storage by Sudo.

source

pub fn send_domain_sudo_call( origin: OriginFor<T>, domain_id: DomainId, call: Vec<u8>, ) -> DispatchResult

Submit a domain sudo call.

source

pub fn freeze_domain( origin: OriginFor<T>, domain_id: DomainId, ) -> DispatchResult

Freezes a given domain. A frozen domain does not accept new bundles but accepts fraud proofs.

source

pub fn unfreeze_domain( origin: OriginFor<T>, domain_id: DomainId, ) -> DispatchResult

Unfreezes a frozen domain.

source

pub fn prune_domain_execution_receipt( origin: OriginFor<T>, domain_id: DomainId, bad_receipt_hash: ReceiptHashFor<T>, ) -> DispatchResultWithPostInfo

Prunes a given execution receipt for given frozen domain. This call assumes the execution receipt to be bad and implicitly trusts Sudo to do necessary validation of the ER before dispatching this call.

source

pub fn transfer_treasury_funds( origin: OriginFor<T>, account_id: T::AccountId, balance: <T as Config>::Balance, ) -> DispatchResult

Transfer funds from treasury to given account

source

pub fn submit_receipt( origin: OriginFor<T>, singleton_receipt: SingletonReceiptOf<T>, ) -> DispatchResultWithPostInfo

source§

impl<T: Config> Pallet<T>

source

pub fn operator_signing_key<KArg>(k: KArg) -> Option<OperatorId>
where KArg: EncodeLike<OperatorPublicKey>,

An auto-generated getter for OperatorSigningKey.

source§

impl<T: Config> Pallet<T>

source

pub fn domain_staking_summary<KArg>( k: KArg, ) -> Option<StakingSummary<OperatorId, <T as Config>::Balance>>
where KArg: EncodeLike<DomainId>,

An auto-generated getter for DomainStakingSummary.

source§

impl<T: Config> Pallet<T>

source

pub fn next_domain_id() -> DomainId

An auto-generated getter for NextDomainId.

source§

impl<T: Config> Pallet<T>

source

pub fn consensus_block_info<KArg1, KArg2>( k1: KArg1, k2: KArg2, ) -> Option<T::Hash>
where KArg1: EncodeLike<DomainId>, KArg2: EncodeLike<BlockNumberFor<T>>,

An auto-generated getter for ConsensusBlockHash.

source§

impl<T: Config> Pallet<T>

source

pub fn latest_confirmed_domain_execution_receipt<KArg>( k: KArg, ) -> Option<ExecutionReceiptOf<T>>
where KArg: EncodeLike<DomainId>,

An auto-generated getter for LatestConfirmedDomainExecutionReceipt.

source§

impl<T: Config> Pallet<T>

source

pub fn latest_submitted_er<KArg>(k: KArg) -> DomainBlockNumberFor<T>
where KArg: EncodeLike<(DomainId, OperatorId)>,

An auto-generated getter for LatestSubmittedER.

source§

impl<T: Config> Pallet<T>

source

pub fn successful_bundles(domain_id: DomainId) -> Vec<H256>

source

pub fn domain_runtime_code(domain_id: DomainId) -> Option<Vec<u8>>

source

pub fn domain_best_number( domain_id: DomainId, ) -> Result<DomainBlockNumberFor<T>, BundleError>

source

pub fn runtime_id(domain_id: DomainId) -> Option<RuntimeId>

source

pub fn domain_instance_data( domain_id: DomainId, ) -> Option<(DomainInstanceData, BlockNumberFor<T>)>

source

pub fn genesis_state_root(domain_id: DomainId) -> Option<H256>

source

pub fn domain_tx_range(domain_id: DomainId) -> U256

Returns the tx range for the domain.

source

pub fn bundle_producer_election_params( domain_id: DomainId, ) -> Option<BundleProducerElectionParams<<T as Config>::Balance>>

source

pub fn operator( operator_id: OperatorId, ) -> Option<(OperatorPublicKey, <T as Config>::Balance)>

source

pub fn head_receipt_number(domain_id: DomainId) -> DomainBlockNumberFor<T>

Returns the best execution chain number.

source

pub fn oldest_unconfirmed_receipt_number( domain_id: DomainId, ) -> Option<DomainBlockNumberFor<T>>

Returns the block number of the oldest existing unconfirmed execution receipt, return None means there is no unconfirmed ER exist or submitted yet.

source

pub fn latest_confirmed_domain_block_number( domain_id: DomainId, ) -> DomainBlockNumberFor<T>

Returns the latest confirmed domain block number for a given domain Zero block is always a default confirmed block.

source

pub fn latest_confirmed_domain_block( domain_id: DomainId, ) -> Option<(DomainBlockNumberFor<T>, T::DomainHash)>

source

pub fn domain_bundle_limit( domain_id: DomainId, ) -> Result<Option<DomainBundleLimit>, DomainRegistryError>

Returns the domain bundle limit of the given domain

source

pub fn non_empty_er_exists(domain_id: DomainId) -> bool

Returns if there are any ERs in the challenge period that have non empty extrinsics. Note that Genesis ER is also considered special and hence non empty

source

pub fn extrinsics_shuffling_seed() -> T::Hash

source

pub fn execution_receipt( receipt_hash: ReceiptHashFor<T>, ) -> Option<ExecutionReceiptOf<T>>

source

pub fn receipt_hash( domain_id: DomainId, domain_number: DomainBlockNumberFor<T>, ) -> Option<ReceiptHashFor<T>>

source

pub fn confirmed_domain_block_storage_key(domain_id: DomainId) -> Vec<u8>

source

pub fn is_bad_er_pending_to_prune( domain_id: DomainId, receipt_number: DomainBlockNumberFor<T>, ) -> bool

source

pub fn is_operator_pending_to_slash( domain_id: DomainId, operator_id: OperatorId, ) -> bool

source

pub fn max_submit_bundle_weight() -> Weight

source

pub fn max_submit_receipt_weight() -> Weight

source

pub fn max_staking_epoch_transition() -> Weight

source

pub fn max_prune_domain_execution_receipt() -> Weight

source

pub fn reward_domain_operators( domain_id: DomainId, source: OperatorRewardSource<BlockNumberFor<T>>, rewards: <T as Config>::Balance, )

Reward the active operators of this domain epoch.

source

pub fn storage_fund_account_balance( operator_id: OperatorId, ) -> <T as Config>::Balance

source

pub fn operator_highest_slot_from_previous_block( operator_id: OperatorId, pre_dispatch: bool, ) -> u64

source

pub fn get_domain_runtime_code_for_receipt( domain_id: DomainId, receipt: &ExecutionReceiptOf<T>, maybe_domain_runtime_code_at: Option<DomainRuntimeCodeAt<BlockNumberFor<T>, T::Hash, T::MmrHash>>, ) -> Result<Vec<u8>, FraudProofError>

source

pub fn is_domain_runtime_upgraded_since( domain_id: DomainId, at: BlockNumberFor<T>, ) -> Option<bool>

source

pub fn verify_mmr_proof_and_extract_state_root( mmr_leaf_proof: ConsensusChainMmrLeafProof<BlockNumberFor<T>, T::Hash, T::MmrHash>, expected_block_number: BlockNumberFor<T>, ) -> Result<T::Hash, FraudProofError>

source

pub fn is_domain_registered(domain_id: DomainId) -> bool

Returns true if the Domain is registered.

source

pub fn domain_sudo_call(domain_id: DomainId) -> Option<Vec<u8>>

Returns domain’s sudo call if any.

source

pub fn receipt_gap( domain_id: DomainId, ) -> Result<DomainBlockNumberFor<T>, BundleError>

source§

impl<T> Pallet<T>
where T: Config + SendTransactionTypes<Call<T>>,

source

pub fn submit_bundle_unsigned(opaque_bundle: OpaqueBundleOf<T>)

Submits an unsigned extrinsic Call::submit_bundle.

source

pub fn submit_receipt_unsigned(singleton_receipt: SingletonReceiptOf<T>)

Submits an unsigned extrinsic Call::submit_receipt.

source

pub fn submit_fraud_proof_unsigned(fraud_proof: FraudProofFor<T>)

Submits an unsigned extrinsic Call::submit_fraud_proof.

Trait Implementations§

source§

impl<T: Config> BeforeAllRuntimeMigrations for Pallet<T>

source§

fn before_all_runtime_migrations() -> Weight

Something that should happen before runtime migrations are executed.
source§

impl<T: Config> Callable<T> for Pallet<T>

source§

impl<T> Clone for Pallet<T>

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl<T> Debug for Pallet<T>

source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<T: Config> DomainOwner<<T as Config>::AccountId> for Pallet<T>

source§

fn is_domain_owner(domain_id: DomainId, acc: T::AccountId) -> bool

Returns true if the account is the domain owner.
source§

impl<T: Config> GetStorageVersion for Pallet<T>

source§

type InCodeStorageVersion = StorageVersion

This type is generated by the pallet macro. Read more
source§

fn in_code_storage_version() -> Self::InCodeStorageVersion

Returns the in-code storage version as specified in the storage_version attribute, or [NoStorageVersionSet] if the attribute is missing.
source§

fn on_chain_storage_version() -> StorageVersion

Returns the storage version of the pallet as last set in the actual on-chain storage.
§

fn current_storage_version() -> Self::InCodeStorageVersion

👎Deprecated: This method has been renamed to in_code_storage_version and will be removed after March 2024.
DEPRECATED: Use [Self::current_storage_version] instead. Read more
source§

impl<T: Config> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

source§

fn on_initialize(block_number: BlockNumberFor<T>) -> Weight

Block initialization hook. This is called at the very beginning of block execution. Read more
source§

fn on_finalize(_: BlockNumberFor<T>)

Block finalization hook. This is called at the very end of block execution. Read more
§

fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight

Hook to consume a block’s idle time. This will run when the block is being finalized (before [Hooks::on_finalize]). Read more
§

fn on_poll(_n: BlockNumber, _weight: &mut WeightMeter)

A hook to run logic after inherent application. Read more
§

fn on_runtime_upgrade() -> Weight

Hook executed when a code change (aka. a “runtime upgrade”) is detected by the FRAME Executive pallet. Read more
§

fn offchain_worker(_n: BlockNumber)

Implementing this function on a pallet allows you to perform long-running tasks that are dispatched as separate threads, and entirely independent of the main blockchain execution. Read more
§

fn integrity_test()

Check the integrity of this pallet’s configuration. Read more
source§

impl<T: Config> IntegrityTest for Pallet<T>

source§

fn integrity_test()

See [Hooks::integrity_test].
source§

impl<T: Config> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

source§

fn offchain_worker(n: BlockNumberFor<T>)

This function is being called after every block import (when fully synced). Read more
source§

impl<T: Config> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

source§

fn on_finalize(n: BlockNumberFor<T>)

See [Hooks::on_finalize].
source§

impl<T: Config> OnGenesis for Pallet<T>

source§

fn on_genesis()

Something that should happen at genesis.
source§

impl<T: Config> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

source§

fn on_idle(n: BlockNumberFor<T>, remaining_weight: Weight) -> Weight

See [Hooks::on_idle].
source§

impl<T: Config> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

source§

fn on_initialize(n: BlockNumberFor<T>) -> Weight

See [Hooks::on_initialize].
source§

impl<T: Config> OnPoll<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>

source§

fn on_poll(n: BlockNumberFor<T>, weight: &mut WeightMeter)

Code to execute every now and then at the beginning of the block after inherent application. Read more
source§

impl<T: Config> OnRuntimeUpgrade for Pallet<T>

source§

fn on_runtime_upgrade() -> Weight

See [Hooks::on_runtime_upgrade].
source§

impl<T: Config> PalletInfoAccess for Pallet<T>

source§

fn index() -> usize

Index of the pallet as configured in the runtime.
source§

fn name() -> &'static str

Name of the pallet as configured in the runtime.
source§

fn name_hash() -> [u8; 16]

Two128 hash of name.
source§

fn module_name() -> &'static str

Name of the Rust module containing the pallet.
source§

fn crate_version() -> CrateVersion

Version of the crate containing the pallet.
source§

impl<T: Config> PalletsInfoAccess for Pallet<T>

source§

fn count() -> usize

The number of pallets’ information that this type represents. Read more
source§

fn infos() -> Vec<PalletInfoData>

All of the pallets’ information that this type represents.
source§

impl<T> PartialEq for Pallet<T>

source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<T: Config> StorageInfoTrait for Pallet<T>

source§

fn storage_info() -> Vec<StorageInfo>

source§

impl<T: Config> ValidateUnsigned for Pallet<T>

source§

type Call = Call<T>

The call to validate
source§

fn pre_dispatch(call: &Self::Call) -> Result<(), TransactionValidityError>

Validate the call right before dispatch. Read more
source§

fn validate_unsigned( _source: TransactionSource, call: &Self::Call, ) -> TransactionValidity

Return the validity of the call Read more
source§

impl<T: Config> WhitelistedStorageKeys for Pallet<T>

source§

fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>

Returns a Vec<TrackedStorageKey> indicating the storage keys that should be whitelisted during benchmarking. This means that those keys will be excluded from the benchmarking performance calculation.
source§

impl<T> Eq for Pallet<T>

Auto Trait Implementations§

§

impl<T> Freeze for Pallet<T>

§

impl<T> RefUnwindSafe for Pallet<T>
where T: RefUnwindSafe,

§

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

§

impl<T> Sync for Pallet<T>
where T: Sync,

§

impl<T> Unpin for Pallet<T>
where T: Unpin,

§

impl<T> UnwindSafe for Pallet<T>
where T: UnwindSafe,

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
§

impl<T> CheckedConversion for T

§

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
§

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, dst: *mut T)

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

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

source§

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

source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

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

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

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
§

impl<T, U> IntoKey<U> for T
where U: FromKey<T>,

§

fn into_key(self) -> U

§

impl<T> IsType<T> for T

§

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

Cast reference.
§

fn into_ref(&self) -> &T

Cast reference.
§

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

Cast mutable reference.
§

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

Cast mutable reference.
§

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

§

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

Get a reference to the inner from the outer.

§

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

Get a mutable reference to the inner from the outer.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

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

Initializes a with the given initializer. Read more
§

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

Dereferences the given pointer. Read more
§

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

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

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

impl<T> Same for T

source§

type Output = T

Should always be Self
§

impl<T> SaturatedConversion for T

§

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
§

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.
§

impl<T, U> TryIntoKey<U> for T
where 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 S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

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

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> JsonSchemaMaybe for T

§

impl<T> MaybeDebug for T
where T: Debug,

§

impl<T> MaybeRefUnwindSafe for T
where T: RefUnwindSafe,

§

impl<T> Member for T
where T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,