From 1bead11abdb3f190daa252119925b7c43ec530ea Mon Sep 17 00:00:00 2001 From: zjb0807 Date: Wed, 10 Apr 2024 11:12:09 +0800 Subject: [PATCH] fix unbond_instant (#2735) --- modules/earning/src/lib.rs | 3 ++- modules/earning/src/tests.rs | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/earning/src/lib.rs b/modules/earning/src/lib.rs index bdbe6aa62..f156a04c3 100644 --- a/modules/earning/src/lib.rs +++ b/modules/earning/src/lib.rs @@ -193,7 +193,8 @@ pub mod module { T::Currency::withdraw(&who, fee, WithdrawReasons::TRANSFER, ExistenceRequirement::KeepAlive)?; T::OnUnstakeFee::on_unbalanced(unbalance); - T::OnUnbonded::happened(&(who.clone(), final_amount)); + // remove all shares of the change amount. + T::OnUnbonded::happened(&(who.clone(), amount)); Self::deposit_event(Event::InstantUnbonded { who, amount: final_amount, diff --git a/modules/earning/src/tests.rs b/modules/earning/src/tests.rs index b594b67b4..90e695a8c 100644 --- a/modules/earning/src/tests.rs +++ b/modules/earning/src/tests.rs @@ -173,7 +173,7 @@ fn unbonding_works() { } .into(), ); - OnUnbonded::assert_eq_and_clear(vec![(ALICE, 900)]); + OnUnbonded::assert_eq_and_clear(vec![(ALICE, 1000)]); OnUnstakeFee::assert_eq_and_clear(vec![100]); // takes instant unbonding fee assert_eq!(