pub trait LazyBalanceRoot<Input, Context, Output> {
Show 16 associated items
type CanDeposit: PurePluginModel<Input, Context, Output>;
type CanWithdraw: PurePluginModel<Input, Context, Output>;
type CanReap: PurePluginModel<Input, Context, Output>;
type CanMint: PurePluginModel<Input, Context, Output>;
type Deposit: PurePluginModel<Input, Context, Output>;
type Withdraw: PurePluginModel<Input, Context, Output>;
type Reap: PurePluginModel<Input, Context, Output>;
type Drain: PurePluginModel<Input, Context, Output>;
type Mint: PurePluginModel<Input, Context, Output>;
type TotalValue: PurePluginModel<Input, Context, Output>;
type ReceiptActiveValue: PurePluginModel<Input, Context, Output>;
type ReceiptDepositValue: PurePluginModel<Input, Context, Output>;
type HasDeposits: PurePluginModel<Input, Context, Output>;
type DepositLimits: PurePluginModel<Input, Context, Output>;
type MintLimits: PurePluginModel<Input, Context, Output>;
type ReapLimits: PurePluginModel<Input, Context, Output>;
}Expand description
Plugin Family Root trait for LazyBalance
Each child (associated-type) acts as a discriminant selecting a specific operation within the lazy balance model.
Required Associated Types§
Sourcetype CanDeposit: PurePluginModel<Input, Context, Output>
type CanDeposit: PurePluginModel<Input, Context, Output>
Discriminant for deposit validation.
Determines whether a deposit operation is permitted.
Sourcetype CanWithdraw: PurePluginModel<Input, Context, Output>
type CanWithdraw: PurePluginModel<Input, Context, Output>
Discriminant for withdrawal validation.
Determines whether a receipt can be redeemed.
Sourcetype CanReap: PurePluginModel<Input, Context, Output>
type CanReap: PurePluginModel<Input, Context, Output>
Discriminant for reap validation.
Determines whether value can be removed or adjusted.
Sourcetype CanMint: PurePluginModel<Input, Context, Output>
type CanMint: PurePluginModel<Input, Context, Output>
Discriminant for mint validation.
Determines whether new value can be introduced.
Sourcetype Deposit: PurePluginModel<Input, Context, Output>
type Deposit: PurePluginModel<Input, Context, Output>
Discriminant for deposit execution.
Deposits value and issues a receipt.
Sourcetype Withdraw: PurePluginModel<Input, Context, Output>
type Withdraw: PurePluginModel<Input, Context, Output>
Discriminant for withdrawal execution.
Redeems a receipt, resolving value lazily at withdrawal time.
Sourcetype Reap: PurePluginModel<Input, Context, Output>
type Reap: PurePluginModel<Input, Context, Output>
Discriminant for reap execution.
Removes or adjusts balance value without mutating existing receipts.
Sourcetype Drain: PurePluginModel<Input, Context, Output>
type Drain: PurePluginModel<Input, Context, Output>
Discriminant for drain execution.
Clears or resets the entire balance state.
Sourcetype Mint: PurePluginModel<Input, Context, Output>
type Mint: PurePluginModel<Input, Context, Output>
Discriminant for mint execution.
Introduces new value affecting future receipt redemption.
Sourcetype TotalValue: PurePluginModel<Input, Context, Output>
type TotalValue: PurePluginModel<Input, Context, Output>
Discriminant for total balance query.
Returns the total value held in the balance.
Sourcetype ReceiptActiveValue: PurePluginModel<Input, Context, Output>
type ReceiptActiveValue: PurePluginModel<Input, Context, Output>
Discriminant for active receipt value query.
Returns the current redeemable value, reflecting lazy adjustments.
Sourcetype ReceiptDepositValue: PurePluginModel<Input, Context, Output>
type ReceiptDepositValue: PurePluginModel<Input, Context, Output>
Discriminant for receipt deposit value query.
Returns the original deposited value, ignoring later adjustments.
Sourcetype HasDeposits: PurePluginModel<Input, Context, Output>
type HasDeposits: PurePluginModel<Input, Context, Output>
Discriminant for deposit presence query.
Indicates whether any deposits exist in the balance.
Sourcetype DepositLimits: PurePluginModel<Input, Context, Output>
type DepositLimits: PurePluginModel<Input, Context, Output>
Discriminant for deposit limits query.
Provides limits such as the minimum and maximum deposit allowed under given conditions.
Sourcetype MintLimits: PurePluginModel<Input, Context, Output>
type MintLimits: PurePluginModel<Input, Context, Output>
Discriminant for mint limits query.
Provides limits such as the minimum and maximum mint allowed under given conditions.
Sourcetype ReapLimits: PurePluginModel<Input, Context, Output>
type ReapLimits: PurePluginModel<Input, Context, Output>
Discriminant for reap limits query.
Provides limits such as the minimum and maximum reap allowed under given conditions.