Trait LazyBalanceRoot

Source
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§

Source

type CanDeposit: PurePluginModel<Input, Context, Output>

Discriminant for deposit validation.

Determines whether a deposit operation is permitted.

Source

type CanWithdraw: PurePluginModel<Input, Context, Output>

Discriminant for withdrawal validation.

Determines whether a receipt can be redeemed.

Source

type CanReap: PurePluginModel<Input, Context, Output>

Discriminant for reap validation.

Determines whether value can be removed or adjusted.

Source

type CanMint: PurePluginModel<Input, Context, Output>

Discriminant for mint validation.

Determines whether new value can be introduced.

Source

type Deposit: PurePluginModel<Input, Context, Output>

Discriminant for deposit execution.

Deposits value and issues a receipt.

Source

type Withdraw: PurePluginModel<Input, Context, Output>

Discriminant for withdrawal execution.

Redeems a receipt, resolving value lazily at withdrawal time.

Source

type Reap: PurePluginModel<Input, Context, Output>

Discriminant for reap execution.

Removes or adjusts balance value without mutating existing receipts.

Source

type Drain: PurePluginModel<Input, Context, Output>

Discriminant for drain execution.

Clears or resets the entire balance state.

Source

type Mint: PurePluginModel<Input, Context, Output>

Discriminant for mint execution.

Introduces new value affecting future receipt redemption.

Source

type TotalValue: PurePluginModel<Input, Context, Output>

Discriminant for total balance query.

Returns the total value held in the balance.

Source

type ReceiptActiveValue: PurePluginModel<Input, Context, Output>

Discriminant for active receipt value query.

Returns the current redeemable value, reflecting lazy adjustments.

Source

type ReceiptDepositValue: PurePluginModel<Input, Context, Output>

Discriminant for receipt deposit value query.

Returns the original deposited value, ignoring later adjustments.

Source

type HasDeposits: PurePluginModel<Input, Context, Output>

Discriminant for deposit presence query.

Indicates whether any deposits exist in the balance.

Source

type DepositLimits: PurePluginModel<Input, Context, Output>

Discriminant for deposit limits query.

Provides limits such as the minimum and maximum deposit allowed under given conditions.

Source

type MintLimits: PurePluginModel<Input, Context, Output>

Discriminant for mint limits query.

Provides limits such as the minimum and maximum mint allowed under given conditions.

Source

type ReapLimits: PurePluginModel<Input, Context, Output>

Discriminant for reap limits query.

Provides limits such as the minimum and maximum reap allowed under given conditions.

Implementors§