Enum Call

Source
pub enum Call<T: Config> {
Show 13 variants enlist { collateral: AuthorAsset<T>, fortitude: FortitudeWrapper, }, back { via: FundingTarget<T>, value: AuthorAsset<T>, fortitude: FortitudeWrapper, precision: PrecisionWrapper, }, refill { collateral: AuthorAsset<T>, fortitude: FortitudeWrapper, }, confirm {}, exit { from: FundingTarget<T>, }, demit {}, create_index { entries: Vec<(Author<T>, Shares<T>)>, }, create_pool { index: IndexDigest<T>, commission: Commission<T>, }, transfer_pool { pool: PoolDigest<T>, to: T::AccountId, }, update_commission { index: IndexDigest<T>, commission: Commission<T>, }, update_entry_shares { index: IndexDigest<T>, entry: IndexDigest<T>, shares: Shares<T>, }, update_slot_shares { pool: PoolDigest<T>, slot: PoolDigest<T>, shares: Shares<T>, }, force_genesis_config { field: ForceGenesisConfig<T>, }, // some variants omitted
}
Expand description

Contains a variant per dispatchable extrinsic that this pallet has.

Variants§

§

enlist

Enlist the caller as an author by locking the required collateral.

Establishes the caller as an author by placing collateral under the author role commitment.

§Requirements
  • Provided collateral must be at least MinCollateral.
  • Fails if the caller is already enrolled as an author.
§Behavior
  • Locks the required collateral and associates it with the author role.
  • Ensures at least the minimum collateral is maintained.
§Execution Controls

Emits: Event::AuthorEnlisted

Fields

§collateral: AuthorAsset<T>
§

back

Provide economic backing support to an author using a supported funding model.

This extrinsic allows the caller to economically support an author by locking assets under the FreezeReason::AuthorFunding commitment domain. Funding directly affects an author’s eligibility, exposure, and election weight.

§Funding Models
  • Direct: Funds are committed explicitly to a single author.
  • Index: Route funds through an index resolving to multiple author digests.
  • Pool: Commit funds to a managed pool of authors with commission-based withdrawals.
§Guarantees
  • Funds are fully locked and cannot be double-used elsewhere.
  • Author collateral is never mixed with external funding.
  • MinFund and MaxExposure are strictly enforced.
  • Local minimum and maximum limits enforced by authors and underlying systems are considered.
  • Funding is rejected if the resolved author or digest is invalid.
§Execution Controls
  • precision defines how strictly the requested amount must be satisfied:
    • [Precision::Exact]: Requires full amount commitment.
    • [Precision::BestEffort]: Allows partial fulfillment where supported.
  • force defines how funds are sourced:
    • [Fortitude::Force]: Uses the caller’s liquid balance, enforcing the commitment directly.
    • [Fortitude::Polite]: Uses funds already deposited in the commitment reserve (if Config::CommitmentAdapter == pallet_commitment).

Emits via internal hook: - Event::AuthorFunded if direct author backing - Event::IndexFunded multiple authors via an index - Event::PoolFunded multiple authors via a managed pool

Fields

§value: AuthorAsset<T>
§

refill

Increase the caller’s collateral by locking additional assets.

Adds to the existing collateral, strengthening the author’s position and ensuring compliance with evolving system requirements such as MinCollateral.

§Behavior
  • Collateral is added on top of existing locked collateral.
§Execution Controls

Emits: Event::AuthorCollateralRaised

Fields

§collateral: AuthorAsset<T>
§

confirm

Confirm the caller as an active author after completing probation.

Transitions the author from probation to active status once all probation conditions are satisfied.

§Requirements
  • Caller must be under probation.
  • Probation conditions must be fulfilled.
§Notes
  • Authors are responsible for completing their probation requirements.
  • Activation enables full participation in author duties.

Emits: Event::AuthorStatus via internal hook

§

exit

Exit an existing backing position towards an author.

Releases the caller’s committed funds (including any applicable rewards or penalties) from a direct, index, or pool-based backing, once the position is eligible for exit.

§Behavior
  • Exits only the caller’s backing position.
  • Author collateral remains unaffected.
  • Other backers’ commitments remain intact.
§Validation
  • Ensures the backing position exists and is withdrawable.
  • Resolves the target author from index or pool digests.

Emits:

Fields

§

demit

Resign from the author role and exit active participation.

Releases the caller’s collateral while retaining any external backing relationships until funders explicitly exit their positions.

§Behavior
  • Removes the caller from active author participation.
  • Releases all locked collateral back to the caller.
  • External funders/backers must withdraw separately via Pallet::exit.
  • The author’s digest is reaped only if no active backing remains.

Emits: Event::AuthorResigned

§

create_index

Create a new funding index over a set of authors.

An index represents a weighted collection of author commitment digests, enabling aggregated funding and proportional exposure.

  • Index entries resolve exclusively to author collateral digests.
  • Share weights are deterministic and auditable.
  • The caller becomes the index owner.

Emits: Event::IndexCreated via deposit event

Fields

§entries: Vec<(Author<T>, Shares<T>)>
§

create_pool

Create a new funding pool backed by an existing index.

Pools enable managed aggregation of funds with an explicit commission applied to rewards earned via the underlying index.

  • Pool configuration is uniquely identified by its digest.
  • Commission is fixed at creation time, changing commission after creates a new pool with same slots and updated commission.
  • The caller becomes the initial pool manager.

Emits: Event::PoolCreated via deposit event

Fields

§index: IndexDigest<T>
§commission: Commission<T>
§

transfer_pool

Transfer management ownership of a funding pool.

Updates the pool manager without affecting custody of funds. The pool remains non-custodial, and all underlying funds, slots, and backing relationships remain unchanged.

§Requirements
  • Callable only by the current pool manager.
§Behavior
  • Transfers only management control.
  • Does not transfer ownership of any pooled funds.

Emits: Event::PoolManager

Fields

§pool: PoolDigest<T>
§to: T::AccountId
§

update_commission

Update the commission for a funding pool by creating a new pool instance.

This operation does not mutate the existing pool. Instead, it creates a new pool derived from the given index with the updated commission, assigning the caller as the new pool manager.

§Behavior
  • A new pool is created with the specified commission.
  • The caller becomes the manager of the new pool.
  • The new pool starts with no funds or backing.
  • The original pool remains unchanged.
§Notes
  • Pools are non-custodial, and funds are not transferred during this operation.
  • This effectively creates a fresh pool configuration with updated parameters.

Emits: Event::PoolCreated

Fields

§index: IndexDigest<T>
§commission: Commission<T>
§

update_entry_shares

Derive a new index with updated share weight for a specific entry.

This operation does not mutate the existing index. Instead, it creates a new index configuration where the specified entry is assigned the given shares, while all other entries remain unchanged.

§Behavior
  • Produces a new index digest reflecting the updated share distribution.
  • The original index remains immutable and unchanged.
§Notes
  • Indexes are immutable once created.
  • Any modification to entry shares results in a new index instance.

Emits: Event::IndexCreated

Fields

§index: IndexDigest<T>
§entry: IndexDigest<T>
§shares: Shares<T>
§

update_slot_shares

Update the share weight of a slot within an existing pool.

Modifies the share allocation of the specified slot in the given pool without altering the pool’s identity or existing commitments.

§Requirements
  • Caller must be the current pool manager.
  • The specified pool and slot must be valid.
§Behavior
  • Updates the slot’s share weight in place.
  • Preserves all existing funds, commitments, and pool configuration.
§Notes
  • Unlike indexes, pools are mutable and support in-place updates.

Emits: Event::PoolSlotShare

Fields

§pool: PoolDigest<T>
§slot: PoolDigest<T>
§shares: Shares<T>
§

force_genesis_config

Force-update a selected genesis configuration parameter.

Origin: Root only.

This extrinsic allows privileged modification of runtime parameters that were originally defined at genesis.

  • ProbationPeriod - Updates the number of blocks authors must remain in probation.
  • ReduceProbationBy - Updates how much probation is reduced on good behavior.
  • IncreaseProbationBy - Updates how much probation is increased on misbehavior.
  • RewardsBuffer - Updates the delay (in blocks) before rewards are finalized.
  • PenaltiesBuffer - Updates the delay (in blocks) before penalties are enforced.
  • MaxElected - Updates the maximum number of authors that can be elected.
  • MinElected - Updates the minimum number of authors required for a valid election.
  • EnforceMaxElected - Toggles strict enforcement of the MaxElected limit.
  • MinFund - Updates the minimum funding required per backing operation.
  • MaxExposure - Updates the maximum allowed exposure per funding operation.
  • MinCollateral - Updates the minimum collateral required for authors.

The call enforces consistency constraints where applicable:

This call directly overwrites storage and emits an event containing the updated configuration variant.

Fields

Implementations§

Source§

impl<T: Config> Call<T>

Source

pub fn new_call_variant_enlist( collateral: AuthorAsset<T>, fortitude: FortitudeWrapper, ) -> Self

Create a call with the variant enlist.

Source

pub fn new_call_variant_back( via: FundingTarget<T>, value: AuthorAsset<T>, fortitude: FortitudeWrapper, precision: PrecisionWrapper, ) -> Self

Create a call with the variant back.

Source

pub fn new_call_variant_refill( collateral: AuthorAsset<T>, fortitude: FortitudeWrapper, ) -> Self

Create a call with the variant refill.

Source

pub fn new_call_variant_confirm() -> Self

Create a call with the variant confirm.

Source

pub fn new_call_variant_exit(from: FundingTarget<T>) -> Self

Create a call with the variant exit.

Source

pub fn new_call_variant_demit() -> Self

Create a call with the variant demit.

Source

pub fn new_call_variant_create_index( entries: Vec<(Author<T>, Shares<T>)>, ) -> Self

Create a call with the variant create_index.

Source

pub fn new_call_variant_create_pool( index: IndexDigest<T>, commission: Commission<T>, ) -> Self

Create a call with the variant create_pool.

Source

pub fn new_call_variant_transfer_pool( pool: PoolDigest<T>, to: T::AccountId, ) -> Self

Create a call with the variant transfer_pool.

Source

pub fn new_call_variant_update_commission( index: IndexDigest<T>, commission: Commission<T>, ) -> Self

Create a call with the variant update_commission.

Source

pub fn new_call_variant_update_entry_shares( index: IndexDigest<T>, entry: IndexDigest<T>, shares: Shares<T>, ) -> Self

Create a call with the variant update_entry_shares.

Source

pub fn new_call_variant_update_slot_shares( pool: PoolDigest<T>, slot: PoolDigest<T>, shares: Shares<T>, ) -> Self

Create a call with the variant update_slot_shares.

Source

pub fn new_call_variant_force_genesis_config( field: ForceGenesisConfig<T>, ) -> Self

Create a call with the variant force_genesis_config.

Trait Implementations§

Source§

impl<T: Config> CheckIfFeeless for Call<T>

Source§

type Origin = <T as Config>::RuntimeOrigin

The Origin type of the runtime.
Source§

fn is_feeless(&self, origin: &Self::Origin) -> bool

Checks if the dispatchable satisfies the feeless condition as defined by #[pallet::feeless_if]
Source§

impl<T: Config> Clone for Call<T>

Source§

fn clone(&self) -> Self

Returns a duplicate 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: Config> Debug for Call<T>

Source§

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

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

impl<T: Config> Decode for Call<T>

Source§

fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy, ) -> Result<Self, Error>

Attempt to deserialise the value from input.
§

fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self>, ) -> Result<DecodeFinished, Error>
where I: Input,

Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
§

fn skip<I>(input: &mut I) -> Result<(), Error>
where I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
Source§

impl<T: Config> Encode for Call<T>

Source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
Source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )

Convert self to a slice and append it to the destination.
§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
Source§

impl<T: Config> GetCallIndex for Call<T>

Source§

fn get_call_index(&self) -> u8

Return the index of this Call.
Source§

fn get_call_indices() -> &'static [u8]

Return all call indices in the same order as [GetCallName].
Source§

impl<T: Config> GetCallName for Call<T>

Source§

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

Return the function name of the Call.
Source§

fn get_call_names() -> &'static [&'static str]

Return all function names in the same order as [GetCallIndex].
Source§

impl<T: Config> GetDispatchInfo for Call<T>

Source§

fn get_dispatch_info(&self) -> DispatchInfo

Return a DispatchInfo, containing relevant information of this dispatch. Read more
Source§

impl<T: Config> PartialEq for Call<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> TypeInfo for Call<T>
where PhantomData<(T,)>: TypeInfo + 'static, AuthorAsset<T>: TypeInfo + 'static, FundingTarget<T>: TypeInfo + 'static, Vec<(Author<T>, Shares<T>)>: TypeInfo + 'static, IndexDigest<T>: TypeInfo + 'static, Commission<T>: TypeInfo + 'static, PoolDigest<T>: TypeInfo + 'static, T::AccountId: TypeInfo + 'static, Shares<T>: TypeInfo + 'static, ForceGenesisConfig<T>: TypeInfo + 'static, T: Config + 'static,

Source§

type Identity = Call<T>

The type identifying for which type info is provided. Read more
Source§

fn type_info() -> Type

Returns the static type identifier for Self.
Source§

impl<T: Config> UnfilteredDispatchable for Call<T>

Source§

type RuntimeOrigin = <T as Config>::RuntimeOrigin

The origin type of the runtime, (i.e. frame_system::Config::RuntimeOrigin).
Source§

fn dispatch_bypass_filter( self, origin: Self::RuntimeOrigin, ) -> DispatchResultWithPostInfo

Dispatch this call but do not check the filter in origin.
Source§

impl<T: Config> DecodeWithMemTracking for Call<T>
where AuthorAsset<T>: DecodeWithMemTracking, FundingTarget<T>: DecodeWithMemTracking, Vec<(Author<T>, Shares<T>)>: DecodeWithMemTracking, IndexDigest<T>: DecodeWithMemTracking, Commission<T>: DecodeWithMemTracking, PoolDigest<T>: DecodeWithMemTracking, T::AccountId: DecodeWithMemTracking, Shares<T>: DecodeWithMemTracking, ForceGenesisConfig<T>: DecodeWithMemTracking,

Source§

impl<T: Config> EncodeLike for Call<T>

Source§

impl<T: Config> Eq for Call<T>

Auto Trait Implementations§

§

impl<T> Freeze for Call<T>
where <<T as Config>::CommitmentAdapter as InspectAsset<<T as Config>::AccountId>>::Asset: Freeze, <<T as Config>::CommitmentAdapter as Commitment<<T as Config>::AccountId>>::Digest: Freeze, <<T as Config>::CommitmentAdapter as CommitPool<<T as Config>::AccountId>>::Commission: Freeze, <T as Config>::AccountId: Freeze, <<T as Config>::CommitmentAdapter as CommitIndex<<T as Config>::AccountId>>::Shares: Freeze, <<<T as Config>::Block as Block>::Header as Header>::Number: Freeze,

§

impl<T> RefUnwindSafe for Call<T>
where <<T as Config>::CommitmentAdapter as InspectAsset<<T as Config>::AccountId>>::Asset: RefUnwindSafe, <<T as Config>::CommitmentAdapter as Commitment<<T as Config>::AccountId>>::Digest: RefUnwindSafe, <<T as Config>::CommitmentAdapter as CommitPool<<T as Config>::AccountId>>::Commission: RefUnwindSafe, <T as Config>::AccountId: RefUnwindSafe, <<T as Config>::CommitmentAdapter as CommitIndex<<T as Config>::AccountId>>::Shares: RefUnwindSafe, <<<T as Config>::Block as Block>::Header as Header>::Number: RefUnwindSafe, T: RefUnwindSafe,

§

impl<T> Send for Call<T>
where <<T as Config>::CommitmentAdapter as Commitment<<T as Config>::AccountId>>::Digest: Send, T: Send,

§

impl<T> Sync for Call<T>
where <<T as Config>::CommitmentAdapter as Commitment<<T as Config>::AccountId>>::Digest: Sync, T: Sync,

§

impl<T> Unpin for Call<T>
where <<T as Config>::CommitmentAdapter as InspectAsset<<T as Config>::AccountId>>::Asset: Unpin, <<T as Config>::CommitmentAdapter as Commitment<<T as Config>::AccountId>>::Digest: Unpin, <<T as Config>::CommitmentAdapter as CommitPool<<T as Config>::AccountId>>::Commission: Unpin, <T as Config>::AccountId: Unpin, <<T as Config>::CommitmentAdapter as CommitIndex<<T as Config>::AccountId>>::Shares: Unpin, <<<T as Config>::Block as Block>::Header as Header>::Number: Unpin, T: Unpin,

§

impl<T> UnwindSafe for Call<T>
where <<T as Config>::CommitmentAdapter as InspectAsset<<T as Config>::AccountId>>::Asset: UnwindSafe, <<T as Config>::CommitmentAdapter as Commitment<<T as Config>::AccountId>>::Digest: UnwindSafe, <<T as Config>::CommitmentAdapter as CommitPool<<T as Config>::AccountId>>::Commission: UnwindSafe, <T as Config>::AccountId: UnwindSafe, <<T as Config>::CommitmentAdapter as CommitIndex<<T as Config>::AccountId>>::Shares: UnwindSafe, <<<T as Config>::Block as Block>::Header as Header>::Number: UnwindSafe, 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, dest: *mut u8)

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

impl<T> DecodeAll for T
where T: Decode,

§

fn decode_all(input: &mut &[u8]) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

impl<T> DecodeLimit for T
where T: Decode,

§

fn decode_all_with_depth_limit( limit: u32, input: &mut &[u8], ) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
where I: Input,

Decode Self with the given maximum recursion depth and advance input by the number of bytes consumed. Read more
§

impl<T> DecodeWithMemLimit for T
where T: DecodeWithMemTracking,

§

fn decode_with_mem_limit<I>(input: &mut I, mem_limit: usize) -> Result<T, Error>
where I: Input,

Decode Self with the given maximum memory limit and advance input by the number of bytes consumed. Read more
Source§

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

§

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

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Hashable for T
where T: Codec,

§

fn blake2_128(&self) -> [u8; 16]

§

fn blake2_256(&self) -> [u8; 32]

§

fn blake2_128_concat(&self) -> Vec<u8>

§

fn twox_128(&self) -> [u8; 16]

§

fn twox_256(&self) -> [u8; 32]

§

fn twox_64_concat(&self) -> Vec<u8>

§

fn identity(&self) -> Vec<u8>

§

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

Source§

impl<T, U, Tag> IntoTag<U, Tag> for T
where U: FromTag<T, Tag>, Tag: DiscriminantTag,

Source§

fn into_tag(self) -> U

§

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

§

fn into_tuple(self) -> Dest

§

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> KeyedVec for T
where T: Codec,

§

fn to_keyed_vec(&self, prepend_key: &[u8]) -> Vec<u8>

Return an encoding of Self prepended by given slice.
Source§

impl<T, Time> Logging<Time> for T
where Time: Time,

Source§

const FALLBACK_TARGET: &'static str = "routine"

Default logging target if none is provided.

Most routines, especially offchain workers or background tasks, use this target for simplicity.

It allows a consistent place to look for routine logs without requiring every call to specify a target.

Note: This target is only a conveninence and may be somewhat vague. To ensure errors can still be traced accurately, the logged messages should include additional metadata (e.g., module name, error index, or contextual info) so that the source of the error can be identified even if the target is generic.

Source§

type Logger = DispatchError

The type taken and returned for logging.

We simply return the same [DispatchError] that was logged, so logging does not change control flow or error propagation.

DispatchError is used because in Substrate it encompasses all runtime errors - including module errors, token errors, arithmetic issues, and transactional boundaries - making it the universal substrate-side error representation.

Source§

type Level = LogLevel

The log level type.

We use the LogLevel enum to standardize severity levels (Info, Warn, Error, Debug) across all routine logs.

Source§

fn log( level: <T as Logging<Time>>::Level, err: &<T as Logging<Time>>::Logger, timestamp: Time, target: Option<&str>, fmt: Option<fn(Time, &<T as Logging<Time>>::Level, &str, &str) -> String>, ) -> <T as Logging<Time>>::Logger

Core logging function that all helpers delegate to. Read more
Source§

fn info( err: &Self::Logger, timestamp: Timestamp, target: Option<&str>, fmt: Option<fn(Timestamp, &Self::Level, &str, &str) -> String>, ) -> Self::Logger
where Self: Sized,

Logs an info-level message. Read more
Source§

fn warn( err: &Self::Logger, timestamp: Timestamp, target: Option<&str>, fmt: Option<fn(Timestamp, &Self::Level, &str, &str) -> String>, ) -> Self::Logger
where Self: Sized,

Logs a warning-level message. Read more
Source§

fn error( err: &Self::Logger, timestamp: Timestamp, target: Option<&str>, fmt: Option<fn(Timestamp, &Self::Level, &str, &str) -> String>, ) -> Self::Logger
where Self: Sized,

Logs an error-level message. Read more
Source§

fn debug( err: &Self::Logger, timestamp: Timestamp, target: Option<&str>, fmt: Option<fn(Timestamp, &Self::Level, &str, &str) -> String>, ) -> Self::Logger
where Self: Sized,

Logs a debug-level message. 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<S> Codec for S
where S: Decode + Encode,

Source§

impl<Provider, Discriminant, T> DelegateVirtualDynBound<Provider, Discriminant> for T
where Provider: VirtualDynBound<Discriminant>, Discriminant: DiscriminantTag,

Source§

impl<Provider, Discriminant, T> DelegateVirtualStaticBound<Provider, Discriminant> for T
where Provider: VirtualStaticBound<Discriminant>, Discriminant: DiscriminantTag,

§

impl<T> EncodeLike<&&T> for T
where T: Encode,

§

impl<T> EncodeLike<&T> for T
where T: Encode,

§

impl<T> EncodeLike<&mut T> for T
where T: Encode,

§

impl<T> EncodeLike<Arc<T>> for T
where T: Encode,

§

impl<T> EncodeLike<Box<T>> for T
where T: Encode,

§

impl<T> EncodeLike<Cow<'_, T>> for T
where T: ToOwned + Encode,

§

impl<T> EncodeLike<Rc<T>> for T
where T: Encode,

§

impl<S> FullCodec for S
where S: Decode + FullEncode,

§

impl<S> FullEncode for S
where S: Encode + EncodeLike,

§

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,

Source§

impl<T> MetaAware for T
where T: TypeInfo + Debug,

§

impl<T> Parameter for T
where T: Codec + DecodeWithMemTracking + EncodeLike + Clone + Eq + Debug + TypeInfo,

Source§

impl<T> Portable for T
where T: Encode + Decode + Clone,

Source§

impl<T> Probe for T
where T: Encode + Debug + ?Sized,

Source§

impl<T> RuntimeEnum for T
where T: FullCodec + TypeInfo + Debug,

Source§

impl<T> RuntimeType for T
where T: Portable + MetaAware + Eq,

§

impl<T> StaticTypeInfo for T
where T: TypeInfo + 'static,

Source§

impl<T> Storable for T
where T: RuntimeType + 'static + EncodeLike,