From d1546036ea7ab5c37c1b20bdc3f556849e658532 Mon Sep 17 00:00:00 2001 From: bgallois <benjamin@gallois.cc> Date: Thu, 7 Dec 2023 18:22:19 +0100 Subject: [PATCH] fix events pallet-membership --- pallets/duniter-wot/src/lib.rs | 4 +-- pallets/duniter-wot/src/tests.rs | 30 +++++++++---------- pallets/membership/src/benchmarking.rs | 6 ++-- pallets/membership/src/lib.rs | 28 +++++++++--------- pallets/membership/src/tests.rs | 22 +++++++------- primitives/membership/src/lib.rs | 4 +-- runtime/common/src/handlers.rs | 10 +++---- runtime/gdev/tests/fixme_tests.rs | 6 ++-- runtime/gdev/tests/integration_tests.rs | 38 ++++++++++++------------- 9 files changed, 74 insertions(+), 74 deletions(-) diff --git a/pallets/duniter-wot/src/lib.rs b/pallets/duniter-wot/src/lib.rs index 9f8d6b7c4..25a8a37b8 100644 --- a/pallets/duniter-wot/src/lib.rs +++ b/pallets/duniter-wot/src/lib.rs @@ -328,14 +328,14 @@ where { fn on_event(membership_event: &sp_membership::Event<IdtyIndex>) { match membership_event { - sp_membership::Event::<IdtyIndex>::MembershipAcquired(idty_index) => { + sp_membership::Event::<IdtyIndex>::MembershipAdded(idty_index) => { if !T::IsSubWot::get() { // when membership is acquired, validate identity // (only used on first membership acquiry) pallet_identity::Pallet::<T>::try_validate_identity(*idty_index); } } - sp_membership::Event::<IdtyIndex>::MembershipTerminated(_) => {} + sp_membership::Event::<IdtyIndex>::MembershipRemoved(_) => {} sp_membership::Event::<IdtyIndex>::MembershipRenewed(_) => {} sp_membership::Event::<IdtyIndex>::PendingMembershipAdded(_) => {} sp_membership::Event::<IdtyIndex>::PendingMembershipExpired(idty_index) => { diff --git a/pallets/duniter-wot/src/tests.rs b/pallets/duniter-wot/src/tests.rs index 020b71064..71a58f5e4 100644 --- a/pallets/duniter-wot/src/tests.rs +++ b/pallets/duniter-wot/src/tests.rs @@ -24,7 +24,7 @@ use pallet_identity::{ IdtyIndexAccountIdPayload, IdtyName, IdtyStatus, RevocationPayload, NEW_OWNER_KEY_PAYLOAD_PREFIX, REVOCATION_PAYLOAD_PREFIX, }; -use pallet_membership::MembershipTerminationReason; +use pallet_membership::MembershipRemovalReason; use sp_runtime::testing::TestSignature; /// test that genesis builder creates the good number of identities @@ -104,7 +104,7 @@ fn test_join_smiths() { run_to_block(4); assert_ok!(SmithMembership::claim_membership(RuntimeOrigin::signed(4),)); System::assert_has_event(RuntimeEvent::SmithMembership( - pallet_membership::Event::MembershipAcquired { + pallet_membership::Event::MembershipAdded { member: 4, expire_on: 4 + <Test as pallet_membership::Config<Instance2>>::MembershipPeriod::get(), @@ -120,9 +120,9 @@ fn test_smith_certs_expirations_should_expire_smith_membership() { // After block #10, alice membership should be revoked due to smith certs expiration run_to_block(10); System::assert_has_event(RuntimeEvent::SmithMembership( - pallet_membership::Event::MembershipTerminated { + pallet_membership::Event::MembershipRemoved { member: 1, - reason: MembershipTerminationReason::Expired, + reason: MembershipRemovalReason::Expired, }, )); }); @@ -235,7 +235,7 @@ fn test_new_idty_validation() { run_to_block(5); assert_ok!(Identity::validate_identity(RuntimeOrigin::signed(42), 6)); System::assert_has_event(RuntimeEvent::Membership( - pallet_membership::Event::MembershipAcquired { + pallet_membership::Event::MembershipAdded { member: 6, expire_on: 5 + <Test as pallet_membership::Config<Instance1>>::MembershipPeriod::get(), @@ -367,9 +367,9 @@ fn test_idty_membership_expire() { assert!(Membership::membership(3).is_none()); System::assert_has_event(RuntimeEvent::Membership( - pallet_membership::Event::MembershipTerminated { + pallet_membership::Event::MembershipRemoved { member: 3, - reason: MembershipTerminationReason::Expired, + reason: MembershipRemovalReason::Expired, }, )); // membership expiry should not trigger identity removal @@ -472,9 +472,9 @@ fn test_certification_expire() { )); // in consequence, since Alice has only 1/2 smith certification remaining, she looses smith membership System::assert_has_event(RuntimeEvent::SmithMembership( - pallet_membership::Event::MembershipTerminated { + pallet_membership::Event::MembershipRemoved { member: 1, - reason: MembershipTerminationReason::Expired, + reason: MembershipRemovalReason::Expired, }, )); @@ -496,9 +496,9 @@ fn test_certification_expire() { )); // in consequence, since Alice has only 1/2 normal certification remaining, she looses normal membership System::assert_has_event(RuntimeEvent::Membership( - pallet_membership::Event::MembershipTerminated { + pallet_membership::Event::MembershipRemoved { member: 1, - reason: MembershipTerminationReason::Expired, + reason: MembershipRemovalReason::Expired, }, )); @@ -586,9 +586,9 @@ fn test_cert_can_not_be_issued() { )); // in consequence, since Alice has only 1/2 smith certification remaining, she looses smith membership System::assert_has_event(RuntimeEvent::SmithMembership( - pallet_membership::Event::MembershipTerminated { + pallet_membership::Event::MembershipRemoved { member: 1, - reason: MembershipTerminationReason::Expired, + reason: MembershipRemovalReason::Expired, }, )); @@ -635,9 +635,9 @@ fn test_cert_can_not_be_issued() { // other certifications expire, but not Dave → Alice // in consequence, since Alice has only 1/2 certification remaining, she looses membership System::assert_has_event(RuntimeEvent::Membership( - pallet_membership::Event::MembershipTerminated { + pallet_membership::Event::MembershipRemoved { member: 1, - reason: MembershipTerminationReason::Expired, + reason: MembershipRemovalReason::Expired, }, // pending membership expires at 23 )); diff --git a/pallets/membership/src/benchmarking.rs b/pallets/membership/src/benchmarking.rs index 424861dd7..f389dd596 100644 --- a/pallets/membership/src/benchmarking.rs +++ b/pallets/membership/src/benchmarking.rs @@ -65,7 +65,7 @@ benchmarks_instance_pallet! { T::BenchmarkSetupHandler::force_status_ok(&idty, &caller); }: _<T::RuntimeOrigin>(caller_origin) verify { - assert_has_event::<T, I>(Event::<T, I>::MembershipAcquired{member: idty, expire_on: BlockNumberFor::<T>::one() + T::MembershipPeriod::get()}.into()); + assert_has_event::<T, I>(Event::<T, I>::MembershipAdded{member: idty, expire_on: BlockNumberFor::<T>::one() + T::MembershipPeriod::get()}.into()); } renew_membership { let idty: T::IdtyId = 3.into(); @@ -74,7 +74,7 @@ benchmarks_instance_pallet! { T::BenchmarkSetupHandler::force_status_ok(&idty, &caller); }: _<T::RuntimeOrigin>(caller_origin) verify { - assert_has_event::<T, I>(Event::<T, I>::MembershipAcquired{member: idty, expire_on: BlockNumberFor::<T>::one() + T::MembershipPeriod::get()}.into()); + assert_has_event::<T, I>(Event::<T, I>::MembershipAdded{member: idty, expire_on: BlockNumberFor::<T>::one() + T::MembershipPeriod::get()}.into()); } revoke_membership { let idty: T::IdtyId = 3.into(); @@ -82,7 +82,7 @@ benchmarks_instance_pallet! { let caller_origin: <T as frame_system::Config>::RuntimeOrigin = RawOrigin::Signed(caller.clone()).into(); }: _<T::RuntimeOrigin>(caller_origin) verify { - assert_has_event::<T, I>(Event::<T, I>::MembershipTerminated{member: idty, reason: MembershipTerminationReason::Revoked}.into()); + assert_has_event::<T, I>(Event::<T, I>::MembershipRemoved{member: idty, reason: MembershipRemovalReason::Revoked}.into()); } // Base weight of an empty initialize on_initialize { diff --git a/pallets/membership/src/lib.rs b/pallets/membership/src/lib.rs index 1fcd8ce74..d58257699 100644 --- a/pallets/membership/src/lib.rs +++ b/pallets/membership/src/lib.rs @@ -55,7 +55,7 @@ impl<IdtyId, AccountId> SetupBenchmark<IdtyId, AccountId> for () { } #[derive(Encode, Decode, Clone, PartialEq, Eq, RuntimeDebug, TypeInfo)] -pub enum MembershipTerminationReason { +pub enum MembershipRemovalReason { Expired, Revoked, } @@ -161,15 +161,15 @@ pub mod pallet { #[pallet::event] #[pallet::generate_deposit(pub(super) fn deposit_event)] pub enum Event<T: Config<I>, I: 'static = ()> { - /// A membership was acquired. - MembershipAcquired { + /// A membership was added. + MembershipAdded { member: T::IdtyId, expire_on: BlockNumberFor<T>, }, - /// A membership was terminated. - MembershipTerminated { + /// A membership was removed. + MembershipRemoved { member: T::IdtyId, - reason: MembershipTerminationReason, + reason: MembershipRemovalReason, }, /// A pending membership was added. PendingMembershipAdded { @@ -325,7 +325,7 @@ pub mod pallet { Membership::<T, I>::insert(idty_id, MembershipData { expire_on }); MembershipsExpireOn::<T, I>::append(expire_on, idty_id); - Self::deposit_event(Event::MembershipAcquired { + Self::deposit_event(Event::MembershipAdded { member: idty_id, expire_on, }); @@ -369,7 +369,7 @@ pub mod pallet { fn do_claim_membership(idty_id: T::IdtyId) { if PendingMembership::<T, I>::take(idty_id).is_some() { Self::insert_membership_and_schedule_expiry(idty_id); - T::OnEvent::on_event(&sp_membership::Event::MembershipAcquired(idty_id)); + T::OnEvent::on_event(&sp_membership::Event::MembershipAdded(idty_id)); } // else { unreachable if check_allowed_to_claim called before } } @@ -378,11 +378,11 @@ pub mod pallet { fn do_revoke_membership(idty_id: T::IdtyId) { if let Some(membership_data) = Membership::<T, I>::take(idty_id) { Self::unschedule_membership_expiry(idty_id, membership_data.expire_on); - Self::deposit_event(Event::MembershipTerminated { + Self::deposit_event(Event::MembershipRemoved { member: idty_id, - reason: MembershipTerminationReason::Revoked, + reason: MembershipRemovalReason::Revoked, }); - T::OnEvent::on_event(&sp_membership::Event::MembershipTerminated(idty_id)); + T::OnEvent::on_event(&sp_membership::Event::MembershipRemoved(idty_id)); } } @@ -394,11 +394,11 @@ pub mod pallet { PendingMembershipsExpireOn::<T, I>::append(expire_on, idty_id); } // else should not happen - Self::deposit_event(Event::MembershipTerminated { + Self::deposit_event(Event::MembershipRemoved { member: idty_id, - reason: MembershipTerminationReason::Expired, + reason: MembershipRemovalReason::Expired, }); - T::OnEvent::on_event(&sp_membership::Event::MembershipTerminated(idty_id)); + T::OnEvent::on_event(&sp_membership::Event::MembershipRemoved(idty_id)); } /// check the origin and get identity id if valid diff --git a/pallets/membership/src/tests.rs b/pallets/membership/src/tests.rs index 46692362e..dfdd12bc3 100644 --- a/pallets/membership/src/tests.rs +++ b/pallets/membership/src/tests.rs @@ -15,7 +15,7 @@ // along with Duniter-v2S. If not, see <https://www.gnu.org/licenses/>. use crate::mock::*; -use crate::MembershipTerminationReason; +use crate::MembershipRemovalReason; use crate::{Error, Event}; use frame_support::{assert_noop, assert_ok}; use maplit::btreemap; @@ -84,9 +84,9 @@ fn test_membership_expiration() { // Membership 0 should expire on block #3 run_to_block(3); assert!(!DefaultMembership::is_member(&0)); - System::assert_has_event(RtEvent::DefaultMembership(Event::MembershipTerminated { + System::assert_has_event(RtEvent::DefaultMembership(Event::MembershipRemoved { member: 0, - reason: MembershipTerminationReason::Expired, + reason: MembershipRemovalReason::Expired, })); // it should be added to pending membership and expire on block #6 run_to_block(6); @@ -108,7 +108,7 @@ fn test_membership_renewal() { assert_ok!(DefaultMembership::renew_membership(RuntimeOrigin::signed( 0 ),)); - System::assert_has_event(RtEvent::DefaultMembership(Event::MembershipAcquired { + System::assert_has_event(RtEvent::DefaultMembership(Event::MembershipAdded { member: 0, expire_on: 2 + <Test as crate::Config>::MembershipPeriod::get(), })); @@ -120,9 +120,9 @@ fn test_membership_renewal() { // membership should expire at block 7 (2+5) run_to_block(7); assert!(!DefaultMembership::is_member(&0)); - System::assert_has_event(RtEvent::DefaultMembership(Event::MembershipTerminated { + System::assert_has_event(RtEvent::DefaultMembership(Event::MembershipRemoved { member: 0, - reason: MembershipTerminationReason::Expired, + reason: MembershipRemovalReason::Expired, })); }); } @@ -152,9 +152,9 @@ fn test_membership_revocation() { assert_ok!(DefaultMembership::revoke_membership(RuntimeOrigin::signed( 0 ),)); - System::assert_has_event(RtEvent::DefaultMembership(Event::MembershipTerminated { + System::assert_has_event(RtEvent::DefaultMembership(Event::MembershipRemoved { member: 0, - reason: MembershipTerminationReason::Revoked, + reason: MembershipRemovalReason::Revoked, })); // Membership 0 can re-request membership @@ -219,7 +219,7 @@ fn test_membership_workflow() { assert_ok!(DefaultMembership::claim_membership(RuntimeOrigin::signed( 0 ),)); - System::assert_has_event(RtEvent::DefaultMembership(Event::MembershipAcquired { + System::assert_has_event(RtEvent::DefaultMembership(Event::MembershipAdded { member: 0, expire_on: 2 + <Test as crate::Config>::MembershipPeriod::get(), })); @@ -237,9 +237,9 @@ fn test_membership_workflow() { // - Then, idty 0 should expire after membership period run_to_block(7); // 2 + 5 assert!(!DefaultMembership::is_member(&0)); - System::assert_has_event(RtEvent::DefaultMembership(Event::MembershipTerminated { + System::assert_has_event(RtEvent::DefaultMembership(Event::MembershipRemoved { member: 0, - reason: MembershipTerminationReason::Expired, + reason: MembershipRemovalReason::Expired, })); }); } diff --git a/primitives/membership/src/lib.rs b/primitives/membership/src/lib.rs index e362219e4..fa5b992f9 100644 --- a/primitives/membership/src/lib.rs +++ b/primitives/membership/src/lib.rs @@ -29,9 +29,9 @@ use serde::{Deserialize, Serialize}; pub enum Event<IdtyId> { /// A membership was acquired. - MembershipAcquired(IdtyId), + MembershipAdded(IdtyId), /// A membership was terminated. - MembershipTerminated(IdtyId), + MembershipRemoved(IdtyId), /// A membership was renewed. MembershipRenewed(IdtyId), /// A pending membership request was added. diff --git a/runtime/common/src/handlers.rs b/runtime/common/src/handlers.rs index 89263be44..194a9f3ac 100644 --- a/runtime/common/src/handlers.rs +++ b/runtime/common/src/handlers.rs @@ -48,7 +48,7 @@ where match idty_event { IdtyEvent::Validated => { // when identity is validated, it starts getting right to UD - // but this is handeled by membership event handler (MembershipAcquired) + // but this is handeled by membership event handler (MembershipAdded) } IdtyEvent::ChangedOwnerKey { new_owner_key } => { if let Err(e) = pallet_authority_members::Pallet::<T>::change_owner_key( @@ -79,7 +79,7 @@ impl< fn on_event(membership_event: &sp_membership::Event<IdtyIndex>) { (match membership_event { // when membership is removed, call on_removed_member handler which auto claims UD - sp_membership::Event::MembershipTerminated(idty_index) => { + sp_membership::Event::MembershipRemoved(idty_index) => { if let Some(idty_value) = pallet_identity::Identities::<Runtime>::get(idty_index) { if let Some(first_ud_index) = idty_value.data.first_eligible_ud.into() { pallet_universal_dividend::Pallet::<Runtime>::on_removed_member( @@ -90,7 +90,7 @@ impl< } } // when main membership is acquired, it starts getting right to UD - sp_membership::Event::MembershipAcquired(idty_index) => { + sp_membership::Event::MembershipAdded(idty_index) => { pallet_identity::Identities::<Runtime>::mutate_exists(idty_index, |idty_val_opt| { if let Some(ref mut idty_val) = idty_val_opt { idty_val.data = IdtyData { @@ -125,11 +125,11 @@ impl< { fn on_event(membership_event: &sp_membership::Event<IdtyIndex>) { (match membership_event { - sp_membership::Event::MembershipAcquired(_idty_index) => { + sp_membership::Event::MembershipAdded(_idty_index) => { // nothing when smith membership acquired // user will have to claim authority membership } - sp_membership::Event::MembershipTerminated(idty_index) => { + sp_membership::Event::MembershipRemoved(idty_index) => { let call = pallet_authority_members::Call::<Runtime>::remove_member { member_id: *idty_index, }; diff --git a/runtime/gdev/tests/fixme_tests.rs b/runtime/gdev/tests/fixme_tests.rs index 6feabb630..2f4d55aac 100644 --- a/runtime/gdev/tests/fixme_tests.rs +++ b/runtime/gdev/tests/fixme_tests.rs @@ -22,7 +22,7 @@ mod common; use common::*; use frame_support::assert_ok; use gdev_runtime::*; -use pallet_membership::MembershipTerminationReason; +use pallet_membership::MembershipRemovalReason; use sp_keyring::AccountKeyring; /// issue #136 @@ -57,9 +57,9 @@ fn can_still_issue_cert_when_membership_lost() { 2, // Bob )); System::assert_has_event(RuntimeEvent::Membership( - pallet_membership::Event::MembershipTerminated { + pallet_membership::Event::MembershipRemoved { member: 2, - reason: MembershipTerminationReason::Expired, + reason: MembershipRemovalReason::Expired, }, )); diff --git a/runtime/gdev/tests/integration_tests.rs b/runtime/gdev/tests/integration_tests.rs index ca2fc3bc5..cb3819c84 100644 --- a/runtime/gdev/tests/integration_tests.rs +++ b/runtime/gdev/tests/integration_tests.rs @@ -24,7 +24,7 @@ use frame_support::{assert_noop, assert_ok}; use frame_support::{StorageHasher, Twox128}; use gdev_runtime::*; use pallet_duniter_wot::IdtyRemovalWotReason; -use pallet_membership::MembershipTerminationReason; +use pallet_membership::MembershipRemovalReason; use sp_core::Encode; use sp_keyring::AccountKeyring; use sp_runtime::MultiAddress; @@ -297,9 +297,9 @@ fn test_force_remove_identity() { pallet_identity::IdtyRemovalReason::Manual )); System::assert_has_event(RuntimeEvent::Membership( - pallet_membership::Event::MembershipTerminated { + pallet_membership::Event::MembershipRemoved { member: 4, - reason: MembershipTerminationReason::Revoked, + reason: MembershipRemovalReason::Revoked, }, )); System::assert_has_event(RuntimeEvent::Identity( @@ -370,7 +370,7 @@ fn test_validate_identity_when_claim() { )); System::assert_has_event(RuntimeEvent::Membership( - pallet_membership::Event::MembershipAcquired { + pallet_membership::Event::MembershipAdded { member: 5, expire_on: 76 + <Runtime as pallet_membership::Config<Instance1>>::MembershipPeriod::get( @@ -395,9 +395,9 @@ fn test_membership_expiry() { ExtBuilder::new(1, 3, 4).build().execute_with(|| { run_to_block(100); System::assert_has_event(RuntimeEvent::Membership( - pallet_membership::Event::MembershipTerminated { + pallet_membership::Event::MembershipRemoved { member: 1, - reason: MembershipTerminationReason::Expired, + reason: MembershipRemovalReason::Expired, }, )); // membership expiry should not trigger identity removal @@ -415,9 +415,9 @@ fn test_membership_expiry_with_identity_removal() { run_to_block(100); System::assert_has_event(RuntimeEvent::Membership( - pallet_membership::Event::MembershipTerminated { + pallet_membership::Event::MembershipRemoved { member: 4, - reason: MembershipTerminationReason::Expired, + reason: MembershipRemovalReason::Expired, }, )); @@ -463,7 +463,7 @@ fn test_membership_renewal() { frame_system::RawOrigin::Signed(AccountKeyring::Alice.to_account_id()).into(), )); System::assert_has_event(RuntimeEvent::Membership( - pallet_membership::Event::MembershipAcquired { + pallet_membership::Event::MembershipAdded { member: 1, expire_on: 76 + <Runtime as pallet_membership::Config<Instance1>>::MembershipPeriod::get( @@ -477,7 +477,7 @@ fn test_membership_renewal() { frame_system::RawOrigin::Signed(AccountKeyring::Alice.to_account_id()).into(), )); System::assert_has_event(RuntimeEvent::Membership( - pallet_membership::Event::MembershipAcquired { + pallet_membership::Event::MembershipAdded { member: 1, expire_on: 77 + <Runtime as pallet_membership::Config<Instance1>>::MembershipPeriod::get( @@ -488,9 +488,9 @@ fn test_membership_renewal() { // should expire at block 177 = 77+100 run_to_block(177); System::assert_has_event(RuntimeEvent::Membership( - pallet_membership::Event::MembershipTerminated { + pallet_membership::Event::MembershipRemoved { member: 1, - reason: MembershipTerminationReason::Expired, + reason: MembershipRemovalReason::Expired, }, )); }); @@ -544,9 +544,9 @@ fn test_remove_identity_after_one_ud() { })); // membership and identity were actually removed System::assert_has_event(RuntimeEvent::Membership( - pallet_membership::Event::MembershipTerminated { + pallet_membership::Event::MembershipRemoved { member: 4, - reason: MembershipTerminationReason::Revoked, + reason: MembershipRemovalReason::Revoked, }, )); System::assert_has_event(RuntimeEvent::Identity( @@ -626,7 +626,7 @@ fn test_ud_claimed_membership_on_and_off() { frame_system::RawOrigin::Signed(AccountKeyring::Alice.to_account_id()).into() )); System::assert_has_event(RuntimeEvent::Membership( - pallet_membership::Event::MembershipAcquired { + pallet_membership::Event::MembershipAdded { member: 1, expire_on: 14 + <Runtime as pallet_membership::Config<Instance1>>::MembershipPeriod::get(), @@ -679,18 +679,18 @@ fn test_remove_smith_identity() { )); // Verify events System::assert_has_event(RuntimeEvent::SmithMembership( - pallet_membership::Event::MembershipTerminated { + pallet_membership::Event::MembershipRemoved { member: 3, - reason: MembershipTerminationReason::Revoked, + reason: MembershipRemovalReason::Revoked, }, )); System::assert_has_event(RuntimeEvent::AuthorityMembers( pallet_authority_members::Event::MemberRemoved { member: 3 }, )); System::assert_has_event(RuntimeEvent::Membership( - pallet_membership::Event::MembershipTerminated { + pallet_membership::Event::MembershipRemoved { member: 3, - reason: MembershipTerminationReason::Revoked, + reason: MembershipRemovalReason::Revoked, }, )); System::assert_has_event(RuntimeEvent::Identity( -- GitLab