Make `on_unbalanceds` work with `fungibles` `imbalances` (#4564)
Make `on_unbalanceds` work with `fungibles` `imbalances`. The `fungibles` `imbalances` cannot be handled by the default implementation of `on_unbalanceds` from the `OnUnbalanced` trait. This is because the `fungibles` `imbalances` types do not implement the `Imbalance` trait (and cannot with its current semantics). The `on_unbalanceds` function requires only the `merge` function for the imbalance type. In this PR, we provide the `TryMerge` trait, which can be implemented by all imbalance types and make `OnUnbalanced` require it instead `Imbalance`. ### Migration for `OnUnbalanced` trait implementations: In case if you have a custom implementation of `on_unbalanceds` trait function, remove it's `<B>` type argument. ### Migration for custom imbalance types: If you have your own imbalance types implementations, implement the `TryMerge` trait for it introduced with this update. The applicability of the `on_unbalanceds` function to fu...
parent
2bd187f8
Showing
- cumulus/parachains/common/src/impls.rs 1 addition, 1 deletioncumulus/parachains/common/src/impls.rs
- polkadot/runtime/common/src/impls.rs 1 addition, 1 deletionpolkadot/runtime/common/src/impls.rs
- prdoc/pr_4564.prdoc 32 additions, 0 deletionsprdoc/pr_4564.prdoc
- substrate/bin/node/runtime/src/lib.rs 1 addition, 1 deletionsubstrate/bin/node/runtime/src/lib.rs
- substrate/frame/balances/src/impl_currency.rs 13 additions, 1 deletionsubstrate/frame/balances/src/impl_currency.rs
- substrate/frame/support/src/traits/tokens/fungible/imbalance.rs 9 additions, 1 deletion...ate/frame/support/src/traits/tokens/fungible/imbalance.rs
- substrate/frame/support/src/traits/tokens/fungibles/imbalance.rs 16 additions, 1 deletion...te/frame/support/src/traits/tokens/fungibles/imbalance.rs
- substrate/frame/support/src/traits/tokens/imbalance.rs 15 additions, 1 deletionsubstrate/frame/support/src/traits/tokens/imbalance.rs
- substrate/frame/support/src/traits/tokens/imbalance/on_unbalanced.rs 18 additions, 3 deletions...rame/support/src/traits/tokens/imbalance/on_unbalanced.rs
- substrate/frame/transaction-payment/asset-conversion-tx-payment/src/mock.rs 1 addition, 1 deletion...ansaction-payment/asset-conversion-tx-payment/src/mock.rs
- substrate/frame/transaction-payment/src/mock.rs 1 addition, 1 deletionsubstrate/frame/transaction-payment/src/mock.rs
Please register or sign in to comment