pub struct CommitInfo<T: Config<I>, I: 'static = ()> { /* private fields */ }Expand description
Represents a commitment associated with a specific digest and reason.
This structure tracks commitments at the lowest level. The referenced
digest is intentionally unclassified and may correspond to a direct,
index, or pool digest, as those are higher-level abstractions built over
the same commitment model.
Each CommitInfo aggregates multiple CommitInstance values produced
over time for the same (digest, reason) pair, representing successive
commitments raised by the proprietor.
Implementations§
Source§impl<T: Config<I>, I: 'static> CommitInfo<T, I>
impl<T: Config<I>, I: 'static> CommitInfo<T, I>
Sourcepub fn commits(&self) -> WeakBoundedVec<CommitInstance<T, I>, T::MaxCommits>
pub fn commits(&self) -> WeakBoundedVec<CommitInstance<T, I>, T::MaxCommits>
Returns the individual commit instances of the proprietor.
Trait Implementations§
Source§impl<T: Clone + Config<I>, I: Clone + 'static> Clone for CommitInfo<T, I>
impl<T: Clone + Config<I>, I: Clone + 'static> Clone for CommitInfo<T, I>
Source§fn clone(&self) -> CommitInfo<T, I>
fn clone(&self) -> CommitInfo<T, I>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<T, I> Debug for CommitInfo<T, I>
impl<T, I> Debug for CommitInfo<T, I>
Source§impl<T: Config<I>, I: 'static> Decode for CommitInfo<T, I>
impl<T: Config<I>, I: 'static> Decode for CommitInfo<T, I>
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>
Source§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,
impl<T: Config<I>, I: 'static> DecodeWithMemTracking for CommitInfo<T, I>where
Digest<T>: DecodeWithMemTracking,
Commits<T, I>: DecodeWithMemTracking,
T::Position: DecodeWithMemTracking,
Source§impl<T: Config<I>, I: 'static> Encode for CommitInfo<T, I>
impl<T: Config<I>, I: 'static> Encode for CommitInfo<T, I>
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, )
Source§fn using_encoded<R, F>(&self, f: F) -> R
fn using_encoded<R, F>(&self, f: F) -> R
Source§fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
impl<T: Config<I>, I: 'static> EncodeLike for CommitInfo<T, I>
impl<T: Eq + Config<I>, I: Eq + 'static> Eq for CommitInfo<T, I>
Source§impl<T: Config<I>, I: 'static> MaxEncodedLen for CommitInfo<T, I>
impl<T: Config<I>, I: 'static> MaxEncodedLen for CommitInfo<T, I>
Source§fn max_encoded_len() -> usize
fn max_encoded_len() -> usize
impl<T: PartialEq + Config<I>, I: PartialEq + 'static> StructuralPartialEq for CommitInfo<T, I>
Source§impl<T, I> TypeInfo for CommitInfo<T, I>
impl<T, I> TypeInfo for CommitInfo<T, I>
Auto Trait Implementations§
impl<T, I> Freeze for CommitInfo<T, I>
impl<T, I> RefUnwindSafe for CommitInfo<T, I>where
<T as Config>::AccountId: RefUnwindSafe,
<T as Config<I>>::Position: RefUnwindSafe,
<T as Config<I>>::MaxCommits: RefUnwindSafe,
<<<T as Config<I>>::BalanceContext as ModelContext>::Context as VirtualDynExtensionSchema<ReceiptAddon>>::Repr: RefUnwindSafe,
<<T as Config<I>>::Asset as Inspect<<T as Config>::AccountId>>::Balance: RefUnwindSafe,
<T as Config<I>>::Bias: RefUnwindSafe,
<T as Config<I>>::Time: RefUnwindSafe,
<<<T as Config<I>>::BalanceContext as ModelContext>::Context as VirtualDynBound<ReceiptAsset>>::Bound: RefUnwindSafe,
<<<T as Config<I>>::BalanceContext as ModelContext>::Context as VirtualDynBound<ReceiptRational>>::Bound: RefUnwindSafe,
<<<T as Config<I>>::BalanceContext as ModelContext>::Context as VirtualDynBound<ReceiptTime>>::Bound: RefUnwindSafe,
impl<T, I> Send for CommitInfo<T, I>where
<T as Config<I>>::Position: Send,
<T as Config<I>>::MaxCommits: Send,
<<<T as Config<I>>::BalanceContext as ModelContext>::Context as VirtualDynExtensionSchema<ReceiptAddon>>::Repr: Send,
<<<T as Config<I>>::BalanceContext as ModelContext>::Context as VirtualDynBound<ReceiptAsset>>::Bound: Send,
<<<T as Config<I>>::BalanceContext as ModelContext>::Context as VirtualDynBound<ReceiptRational>>::Bound: Send,
<<<T as Config<I>>::BalanceContext as ModelContext>::Context as VirtualDynBound<ReceiptTime>>::Bound: Send,
impl<T, I> Sync for CommitInfo<T, I>where
<T as Config<I>>::Position: Sync,
<T as Config<I>>::MaxCommits: Sync,
<<<T as Config<I>>::BalanceContext as ModelContext>::Context as VirtualDynExtensionSchema<ReceiptAddon>>::Repr: Sync,
<<<T as Config<I>>::BalanceContext as ModelContext>::Context as VirtualDynBound<ReceiptAsset>>::Bound: Sync,
<<<T as Config<I>>::BalanceContext as ModelContext>::Context as VirtualDynBound<ReceiptRational>>::Bound: Sync,
<<<T as Config<I>>::BalanceContext as ModelContext>::Context as VirtualDynBound<ReceiptTime>>::Bound: Sync,
impl<T, I> Unpin for CommitInfo<T, I>where
<T as Config>::AccountId: Unpin,
<T as Config<I>>::Position: Unpin,
<T as Config<I>>::MaxCommits: Unpin,
<<<T as Config<I>>::BalanceContext as ModelContext>::Context as VirtualDynExtensionSchema<ReceiptAddon>>::Repr: Unpin,
<<T as Config<I>>::Asset as Inspect<<T as Config>::AccountId>>::Balance: Unpin,
<T as Config<I>>::Bias: Unpin,
<T as Config<I>>::Time: Unpin,
<<<T as Config<I>>::BalanceContext as ModelContext>::Context as VirtualDynBound<ReceiptAsset>>::Bound: Unpin,
<<<T as Config<I>>::BalanceContext as ModelContext>::Context as VirtualDynBound<ReceiptRational>>::Bound: Unpin,
<<<T as Config<I>>::BalanceContext as ModelContext>::Context as VirtualDynBound<ReceiptTime>>::Bound: Unpin,
impl<T, I> UnsafeUnpin for CommitInfo<T, I>
impl<T, I> UnwindSafe for CommitInfo<T, I>where
<T as Config>::AccountId: UnwindSafe,
<T as Config<I>>::Position: UnwindSafe,
<T as Config<I>>::MaxCommits: UnwindSafe,
<<<T as Config<I>>::BalanceContext as ModelContext>::Context as VirtualDynExtensionSchema<ReceiptAddon>>::Repr: UnwindSafe,
<<T as Config<I>>::Asset as Inspect<<T as Config>::AccountId>>::Balance: UnwindSafe,
<T as Config<I>>::Bias: UnwindSafe,
<T as Config<I>>::Time: UnwindSafe,
<<<T as Config<I>>::BalanceContext as ModelContext>::Context as VirtualDynBound<ReceiptAsset>>::Bound: UnwindSafe,
<<<T as Config<I>>::BalanceContext as ModelContext>::Context as VirtualDynBound<ReceiptRational>>::Bound: UnwindSafe,
<<<T as Config<I>>::BalanceContext as ModelContext>::Context as VirtualDynBound<ReceiptTime>>::Bound: UnwindSafe,
Blanket Implementations§
impl<T> AssetId for Twhere
T: FullCodec + DecodeWithMemTracking + Clone + Eq + PartialEq + Debug + TypeInfo + MaxEncodedLen,
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
Source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<S> Codec for S
Source§impl<T> DecodeLimit for Twhere
T: Decode,
impl<T> DecodeLimit for Twhere
T: Decode,
Source§impl<T> DecodeWithMemLimit for Twhere
T: DecodeWithMemTracking,
impl<T> DecodeWithMemLimit for Twhere
T: DecodeWithMemTracking,
impl<Provider, Discriminant, T> DelegateVirtualDynBound<Provider, Discriminant> for Twhere
Provider: VirtualDynBound<Discriminant>,
Discriminant: DiscriminantTag,
impl<Provider, Discriminant, T> DelegateVirtualStaticBound<Provider, Discriminant> for Twhere
Provider: VirtualStaticBound<Discriminant>,
Discriminant: DiscriminantTag,
impl<T> Delimited for T
impl<T> Elastic for Twhere
T: RuntimeType + MaxEncodedLen,
impl<T> EncodeLike<&&T> for Twhere
T: Encode,
impl<T> EncodeLike<&T> for Twhere
T: Encode,
impl<T> EncodeLike<&mut T> for Twhere
T: Encode,
impl<T> EncodeLike<Arc<T>> for Twhere
T: Encode,
impl<T> EncodeLike<Box<T>> for Twhere
T: Encode,
impl<T> EncodeLike<Cow<'_, T>> for T
impl<T> EncodeLike<Rc<T>> for Twhere
T: Encode,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
impl<S> FullCodec for Swhere
S: Decode + FullEncode,
impl<S> FullEncode for Swhere
S: Encode + EncodeLike,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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,
Source§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
Source§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
impl<T> JsonSchemaMaybe for T
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> MaybeDebug for Twhere
T: Debug,
impl<T> MaybeRefUnwindSafe for Twhere
T: RefUnwindSafe,
impl<T> Member for T
impl<T> MetaAware for T
impl<T> Parameter for T
impl<T> Portable for T
impl<T> Probe for T
impl<T> RuntimeEnum for T
impl<T> RuntimeType for T
Source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
Source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
Source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
T. Read moreimpl<T> StaticTypeInfo for Twhere
T: TypeInfo + 'static,
impl<T> Storable for Twhere
T: RuntimeType + 'static + EncodeLike,
Source§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>
Source§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
Source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from.Source§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
Source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T.