balance_manager.rs 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. #![cfg(test)]
  2. pub use sr_primitives::traits::Zero;
  3. use srml_support::traits::{Currency, Imbalance};
  4. use super::*;
  5. /// StakingEventsHandler implementation for the stake::Trait. Restores balances after the unstaking
  6. /// and slashes balances if necessary.
  7. pub struct BalanceManagerStakingEventsHandler;
  8. impl stake::StakingEventsHandler<Test> for BalanceManagerStakingEventsHandler {
  9. fn unstaked(
  10. _id: &u64,
  11. _unstaked_amount: stake::BalanceOf<Test>,
  12. imbalance: stake::NegativeImbalance<Test>,
  13. ) -> stake::NegativeImbalance<Test> {
  14. let default_account_id = 1;
  15. <Test as stake::Trait>::Currency::resolve_creating(&default_account_id, imbalance);
  16. stake::NegativeImbalance::<Test>::zero()
  17. }
  18. fn slashed(
  19. _id: &u64,
  20. _slash_id: Option<<Test as stake::Trait>::SlashId>,
  21. _slashed_amount: stake::BalanceOf<Test>,
  22. _remaining_stake: stake::BalanceOf<Test>,
  23. imbalance: stake::NegativeImbalance<Test>,
  24. ) -> stake::NegativeImbalance<Test> {
  25. imbalance
  26. }
  27. }