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
fortitudedefines how the collateral is sourced:FortitudeWrapper::Force: Uses the caller’s liquid balance to place the collateral.FortitudeWrapper::Polite: Uses funds already deposited into the commitment reserve (ifConfig::CommitmentAdapter==pallet_commitment).
Emits: Event::AuthorEnlisted
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.
MinFundandMaxExposureare 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
precisiondefines how strictly the requested amount must be satisfied:- [
Precision::Exact]: Requires full amount commitment. - [
Precision::BestEffort]: Allows partial fulfillment where supported.
- [
forcedefines 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 (ifConfig::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
via: FundingTarget<T>value: AuthorAsset<T>fortitude: FortitudeWrapperprecision: PrecisionWrapperrefill
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
fortitudedefines how the collateral is sourced:FortitudeWrapper::Force: Uses the caller’s liquid balance to place the additional collateral.FortitudeWrapper::Polite: Uses funds already deposited into the commitment reserve (ifConfig::CommitmentAdapter==pallet_commitment).
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:
Event::AuthorDrawnfor direct backingEvent::IndexDrawnfor index-based backingEvent::PoolDrawnfor pool-based backing
Fields
from: FundingTarget<T>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
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
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
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
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
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
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 theMaxElectedlimit.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:
- Values that must be non-zero will fail with
Error::NonZeroConfigRequired. - Fails with
Error::MinGreaterThanMaxif:MinElected > MaxElected, orMinFund > MaxExposure, orMaxElected < MinElected, orMaxExposure < MinFund.
This call directly overwrites storage and emits an event containing the updated configuration variant.
Fields
field: ForceGenesisConfig<T>Implementations§
Source§impl<T: Config> Call<T>
impl<T: Config> Call<T>
Sourcepub fn new_call_variant_enlist(
collateral: AuthorAsset<T>,
fortitude: FortitudeWrapper,
) -> Self
pub fn new_call_variant_enlist( collateral: AuthorAsset<T>, fortitude: FortitudeWrapper, ) -> Self
Create a call with the variant enlist.
Sourcepub fn new_call_variant_back(
via: FundingTarget<T>,
value: AuthorAsset<T>,
fortitude: FortitudeWrapper,
precision: PrecisionWrapper,
) -> Self
pub fn new_call_variant_back( via: FundingTarget<T>, value: AuthorAsset<T>, fortitude: FortitudeWrapper, precision: PrecisionWrapper, ) -> Self
Create a call with the variant back.
Sourcepub fn new_call_variant_refill(
collateral: AuthorAsset<T>,
fortitude: FortitudeWrapper,
) -> Self
pub fn new_call_variant_refill( collateral: AuthorAsset<T>, fortitude: FortitudeWrapper, ) -> Self
Create a call with the variant refill.
Sourcepub fn new_call_variant_confirm() -> Self
pub fn new_call_variant_confirm() -> Self
Create a call with the variant confirm.
Sourcepub fn new_call_variant_exit(from: FundingTarget<T>) -> Self
pub fn new_call_variant_exit(from: FundingTarget<T>) -> Self
Create a call with the variant exit.
Sourcepub fn new_call_variant_demit() -> Self
pub fn new_call_variant_demit() -> Self
Create a call with the variant demit.
Sourcepub fn new_call_variant_create_index(
entries: Vec<(Author<T>, Shares<T>)>,
) -> Self
pub fn new_call_variant_create_index( entries: Vec<(Author<T>, Shares<T>)>, ) -> Self
Create a call with the variant create_index.
Sourcepub fn new_call_variant_create_pool(
index: IndexDigest<T>,
commission: Commission<T>,
) -> Self
pub fn new_call_variant_create_pool( index: IndexDigest<T>, commission: Commission<T>, ) -> Self
Create a call with the variant create_pool.
Sourcepub fn new_call_variant_transfer_pool(
pool: PoolDigest<T>,
to: T::AccountId,
) -> Self
pub fn new_call_variant_transfer_pool( pool: PoolDigest<T>, to: T::AccountId, ) -> Self
Create a call with the variant transfer_pool.
Sourcepub fn new_call_variant_update_commission(
index: IndexDigest<T>,
commission: Commission<T>,
) -> Self
pub fn new_call_variant_update_commission( index: IndexDigest<T>, commission: Commission<T>, ) -> Self
Create a call with the variant update_commission.
Create a call with the variant update_entry_shares.
Create a call with the variant update_slot_shares.
Sourcepub fn new_call_variant_force_genesis_config(
field: ForceGenesisConfig<T>,
) -> Self
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>
impl<T: Config> CheckIfFeeless for Call<T>
Source§fn is_feeless(&self, origin: &Self::Origin) -> bool
fn is_feeless(&self, origin: &Self::Origin) -> bool
#[pallet::feeless_if]Source§impl<T: Config> Decode for Call<T>
impl<T: Config> Decode for Call<T>
Source§fn decode<__CodecInputEdqy: Input>(
__codec_input_edqy: &mut __CodecInputEdqy,
) -> Result<Self, Error>
fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy, ) -> Result<Self, Error>
§fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
I: Input,
fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
I: Input,
§fn skip<I>(input: &mut I) -> Result<(), Error>where
I: Input,
fn skip<I>(input: &mut I) -> Result<(), Error>where
I: Input,
§fn encoded_fixed_size() -> Option<usize>
fn encoded_fixed_size() -> Option<usize>
Source§impl<T: Config> Encode for Call<T>
impl<T: Config> Encode for Call<T>
Source§fn size_hint(&self) -> usize
fn size_hint(&self) -> usize
Source§fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy,
)
fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
§fn using_encoded<R, F>(&self, f: F) -> R
fn using_encoded<R, F>(&self, f: F) -> R
§fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Source§impl<T: Config> GetCallIndex for Call<T>
impl<T: Config> GetCallIndex for Call<T>
Source§fn get_call_index(&self) -> u8
fn get_call_index(&self) -> u8
Source§fn get_call_indices() -> &'static [u8] ⓘ
fn get_call_indices() -> &'static [u8] ⓘ
GetCallName].Source§impl<T: Config> GetCallName for Call<T>
impl<T: Config> GetCallName for Call<T>
Source§fn get_call_name(&self) -> &'static str
fn get_call_name(&self) -> &'static str
Source§fn get_call_names() -> &'static [&'static str]
fn get_call_names() -> &'static [&'static str]
GetCallIndex].Source§impl<T: Config> GetDispatchInfo for Call<T>
impl<T: Config> GetDispatchInfo for Call<T>
Source§fn get_dispatch_info(&self) -> DispatchInfo
fn get_dispatch_info(&self) -> DispatchInfo
DispatchInfo, containing relevant information of this dispatch. Read moreSource§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,
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§impl<T: Config> UnfilteredDispatchable for Call<T>
impl<T: Config> UnfilteredDispatchable for Call<T>
Source§type RuntimeOrigin = <T as Config>::RuntimeOrigin
type RuntimeOrigin = <T as Config>::RuntimeOrigin
frame_system::Config::RuntimeOrigin).Source§fn dispatch_bypass_filter(
self,
origin: Self::RuntimeOrigin,
) -> DispatchResultWithPostInfo
fn dispatch_bypass_filter( self, origin: Self::RuntimeOrigin, ) -> DispatchResultWithPostInfo
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,
impl<T: Config> EncodeLike for Call<T>
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> 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
§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
§fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
§fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> DecodeAll for Twhere
T: Decode,
impl<T> DecodeAll for Twhere
T: Decode,
§fn decode_all(input: &mut &[u8]) -> Result<T, Error>
fn decode_all(input: &mut &[u8]) -> Result<T, Error>
Self and consume all of the given input data. Read more§impl<T> DecodeLimit for Twhere
T: Decode,
impl<T> DecodeLimit for Twhere
T: Decode,
§impl<T> DecodeWithMemLimit for Twhere
T: DecodeWithMemTracking,
impl<T> DecodeWithMemLimit for Twhere
T: DecodeWithMemTracking,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> Hashable for Twhere
T: Codec,
impl<T> Hashable for Twhere
T: Codec,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
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>
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, U, Tag> IntoTag<U, Tag> for Twhere
U: FromTag<T, Tag>,
Tag: DiscriminantTag,
impl<T, U, Tag> IntoTag<U, Tag> for Twhere
U: FromTag<T, Tag>,
Tag: DiscriminantTag,
§impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
fn into_tuple(self) -> Dest
§impl<T> IsType<T> for T
impl<T> IsType<T> for T
§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
§impl<T> KeyedVec for Twhere
T: Codec,
impl<T> KeyedVec for Twhere
T: Codec,
Source§impl<T, Time> Logging<Time> for Twhere
Time: Time,
impl<T, Time> Logging<Time> for Twhere
Time: Time,
Source§const FALLBACK_TARGET: &'static str = "routine"
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
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
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
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
Source§fn info(
err: &Self::Logger,
timestamp: Timestamp,
target: Option<&str>,
fmt: Option<fn(Timestamp, &Self::Level, &str, &str) -> String>,
) -> Self::Loggerwhere
Self: Sized,
fn info(
err: &Self::Logger,
timestamp: Timestamp,
target: Option<&str>,
fmt: Option<fn(Timestamp, &Self::Level, &str, &str) -> String>,
) -> Self::Loggerwhere
Self: Sized,
Source§fn warn(
err: &Self::Logger,
timestamp: Timestamp,
target: Option<&str>,
fmt: Option<fn(Timestamp, &Self::Level, &str, &str) -> String>,
) -> Self::Loggerwhere
Self: Sized,
fn warn(
err: &Self::Logger,
timestamp: Timestamp,
target: Option<&str>,
fmt: Option<fn(Timestamp, &Self::Level, &str, &str) -> String>,
) -> Self::Loggerwhere
Self: Sized,
§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
T. Read more§impl<T, U> TryIntoKey<U> for Twhere
U: TryFromKey<T>,
impl<T, U> TryIntoKey<U> for Twhere
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 Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from.§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T.