function to trigger nullification period, tests for the new functionality and expansion of NetworkData trait

Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
This commit is contained in:
Uncle Stretch 2025-06-04 15:35:48 +03:00
parent c55d9a05d9
commit 1e4abbfe69
Signed by: str3tch
GPG Key ID: 84F3190747EE79AA
5 changed files with 24 additions and 2 deletions

View File

@ -1,6 +1,6 @@
[package] [package]
name = "ghost-networks" name = "ghost-networks"
version = "0.1.4" version = "0.1.5"
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
edition.workspace = true edition.workspace = true

View File

@ -697,4 +697,13 @@ impl<T: Config> NetworkDataMutateHandler<NetworkData, BalanceOf<T>> for Pallet<T
fn nullify_commission() { fn nullify_commission() {
AccumulatedCommission::<T>::set(Default::default()); AccumulatedCommission::<T>::set(Default::default());
} }
fn trigger_nullification() {
if NullifyNeeded::<T>::get() {
Self::nullify_commission();
NullifyNeeded::<T>::put(false);
} else {
NullifyNeeded::<T>::put(true);
}
}
} }

View File

@ -935,3 +935,15 @@ fn bridged_inflation_era_payout_triggers_need_of_nullification() {
assert_eq!(NullifyNeeded::<Test>::get(), false); assert_eq!(NullifyNeeded::<Test>::get(), false);
}); });
} }
#[test]
fn trigger_nullification_works_as_expected() {
ExtBuilder::build()
.execute_with(|| {
assert_eq!(NullifyNeeded::<Test>::get(), false);
GhostNetworks::trigger_nullification();
assert_eq!(NullifyNeeded::<Test>::get(), true);
GhostNetworks::trigger_nullification();
assert_eq!(NullifyNeeded::<Test>::get(), false);
});
}

View File

@ -1,6 +1,6 @@
[package] [package]
name = "ghost-traits" name = "ghost-traits"
version = "0.3.20" version = "0.3.21"
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
edition.workspace = true edition.workspace = true

View File

@ -38,4 +38,5 @@ pub trait NetworkDataMutateHandler<Network, Balance>: NetworkDataInspectHandler<
) -> Result<(Balance, Balance), ()>; ) -> Result<(Balance, Balance), ()>;
fn accumulate_commission(commission: &Balance) -> Result<Balance, ()>; fn accumulate_commission(commission: &Balance) -> Result<Balance, ()>;
fn nullify_commission(); fn nullify_commission();
fn trigger_nullification();
} }