Trait frame_support::traits::OnUnbalanced [−][src]
pub trait OnUnbalanced<Imbalance: TryDrop> { fn on_unbalanceds<B>(amounts: impl Iterator<Item = Imbalance>)
where
Imbalance: Imbalance<B>, { ... } fn on_unbalanced(amount: Imbalance) { ... } fn on_nonzero_unbalanced(amount: Imbalance) { ... } }
Expand description
Handler for when some currency “account” decreased in balance for some reason.
The only reason at present for an increase would be for validator rewards, but there may be other reasons in the future or for other chains.
Reasons for decreases include:
- Someone got slashed.
- Someone paid for a transaction to be included.
Provided methods
fn on_unbalanceds<B>(amounts: impl Iterator<Item = Imbalance>) where
Imbalance: Imbalance<B>,
fn on_unbalanceds<B>(amounts: impl Iterator<Item = Imbalance>) where
Imbalance: Imbalance<B>,
Handler for some imbalances. The different imbalances might have different origins or meanings, dependent on the context. Will default to simply calling on_unbalanced for all of them. Infallible.
fn on_unbalanced(amount: Imbalance)
fn on_unbalanced(amount: Imbalance)
Handler for some imbalance. Infallible.
fn on_nonzero_unbalanced(amount: Imbalance)
fn on_nonzero_unbalanced(amount: Imbalance)
Actually handle a non-zero imbalance. You probably want to implement this rather than
on_unbalanced
.
Implementations on Foreign Types
Implementors
impl<Balance: From<u32> + Saturating + Div<Output = Balance>, I: Imbalance<Balance>, Part1: U32, Target1: OnUnbalanced<I>, Part2: U32, Target2: OnUnbalanced<I>> OnUnbalanced<I> for SplitTwoWays<Balance, I, Part1, Target1, Part2, Target2>