pub trait LazyBalanceInput<'a, Balance, Variant, Id, Asset, Receipt, T: LazyBalance>:
VirtualCollector<(MutHandle<'a, Balance>, Cow<'a, Variant>, Cow<'a, Id>, Cow<'a, Asset>, Cow<'a, T::Subject>), Deposit>
+ VirtualCollector<(MutHandle<'a, Balance>, Cow<'a, Variant>, Cow<'a, Id>, Cow<'a, Asset>, Cow<'a, T::Subject>), Mint>
+ VirtualCollector<(MutHandle<'a, Balance>, Cow<'a, Variant>, Cow<'a, Id>, Cow<'a, Asset>, Cow<'a, T::Subject>), Reap>
+ VirtualCollector<(MutHandle<'a, Balance>, Cow<'a, Variant>, Cow<'a, Id>, Cow<'a, Receipt>), Withdraw>
+ VirtualCollector<(MutHandle<'a, Balance>, Cow<'a, Variant>, Cow<'a, Id>), Drain>
+ VirtualCollector<(Cow<'a, Balance>, Cow<'a, Variant>, Cow<'a, Id>, Cow<'a, Asset>, Cow<'a, T::Subject>), CanDeposit>
+ VirtualCollector<(Cow<'a, Balance>, Cow<'a, Variant>, Cow<'a, Id>, Cow<'a, Asset>, Cow<'a, T::Subject>), CanMint>
+ VirtualCollector<(Cow<'a, Balance>, Cow<'a, Variant>, Cow<'a, Id>, Cow<'a, Asset>, Cow<'a, T::Subject>), CanReap>
+ VirtualCollector<(Cow<'a, Balance>, Cow<'a, Variant>, Cow<'a, Id>, Cow<'a, Receipt>), CanWithdraw>
+ VirtualCollector<(Cow<'a, Balance>, Cow<'a, Variant>, Cow<'a, Id>), TotalValue>
+ VirtualCollector<(Cow<'a, Balance>, Cow<'a, Variant>, Cow<'a, Id>, Cow<'a, Receipt>), ReceiptActiveValue>
+ VirtualCollector<(Cow<'a, Balance>, Cow<'a, Variant>, Cow<'a, Id>), HasDeposits>
+ VirtualCollector<Cow<'a, Receipt>, ReceiptDepositValue>
+ VirtualCollector<(Cow<'a, Balance>, Cow<'a, Variant>, Cow<'a, Id>, Cow<'a, T::Subject>), DepositLimits>
+ VirtualCollector<(Cow<'a, Balance>, Cow<'a, Variant>, Cow<'a, Id>, Cow<'a, T::Subject>), MintLimits>
+ VirtualCollector<(Cow<'a, Balance>, Cow<'a, Variant>, Cow<'a, Id>, Cow<'a, T::Subject>), ReapLimits>{ }Expand description
Input contract for all LazyBalance operations.
This trait defines how operation-specific arguments are supplied through a unified input type.
Each operation (e.g. Deposit, Withdraw) declares the exact
shape of input it requires via VirtualCollector.
Key semantics:
- Mutating operations receive
MutHandle<Balance> - Read-only operations receive
Cow<Balance> - Additional parameters (e.g.
Asset,Receipt) are selectively required - Operations may include a
Subjectto influence execution behavior (e.g. precision and fortitude)
This enables a single input type to serve all operations while preserving strict typing per operation.
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.