pub trait LazyBalanceComponent<T, Asset, Rational, Time, Context, Addon>:
Delimited
+ VirtualDynFieldWithDelegatedBounds<T::Asset, Context, Asset>
+ VirtualDynFieldWithDelegatedBounds<T::Rational, Context, Rational>
+ VirtualDynFieldWithDelegatedBounds<T::Time, Context, Time>
+ DelegateVirtualDynExtension<Context, Addon>where
T: LazyBalance,
Context: VirtualDynExtensionSchema<Addon> + VirtualDynBound<Asset> + VirtualDynBound<Rational> + VirtualDynBound<Time>,
Addon: DiscriminantTag,
Rational: DiscriminantTag,
Time: DiscriminantTag,
Asset: DiscriminantTag,{ }Expand description
A abstract-container representation of a structured value participating in the lazy balance system (e.g. Balance, SnapShot, Receipt).
Look on to VirtualDynField or virtuals for contextual info.
It does not fix its internal representation directly. Instead, it:
- derives its core types (asset, rational, time) from context
- supports allocation via
VirtualDynField - allows extensibility through
VirtualDynExtension
This keeps components lightweight, composable, and context-driven, rather than self-contained or rigid.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.