From 514c2fe07f3d45db93629c7a13d1f4e13bc05c55 Mon Sep 17 00:00:00 2001 From: Benjamin Gallois <business@gallois.cc> Date: Thu, 21 Mar 2024 11:25:16 +0100 Subject: [PATCH] Fix #219 and #220 (nodes/rust/duniter-v2s!257) * regenerate metadata after rebase * refactor distance result * fix https://git.duniter.org/nodes/rust/duniter-v2s/-/issues/219 * fix https://git.duniter.org/nodes/rust/duniter-v2s/-/issues/220 --- pallets/distance/src/benchmarking.rs | 24 ++++++- pallets/distance/src/lib.rs | 80 +++++++++++++----------- pallets/smith-members/src/lib.rs | 12 ++-- resources/metadata.scale | Bin 113201 -> 113245 bytes runtime/common/src/providers.rs | 5 +- runtime/gdev/tests/integration_tests.rs | 5 +- 6 files changed, 79 insertions(+), 47 deletions(-) diff --git a/pallets/distance/src/benchmarking.rs b/pallets/distance/src/benchmarking.rs index 7b8d7c850..cf11d85e3 100644 --- a/pallets/distance/src/benchmarking.rs +++ b/pallets/distance/src/benchmarking.rs @@ -163,7 +163,13 @@ mod benchmarks { #[extrinsic_call] _(RawOrigin::Root, idty); - assert_has_event::<T>(Event::<T>::EvaluatedValid { idty_index: idty }.into()); + assert_has_event::<T>( + Event::<T>::EvaluatedValid { + idty_index: idty, + distance: Perbill::one(), + } + .into(), + ); } #[benchmark] @@ -211,7 +217,13 @@ mod benchmarks { Pallet::<T>::do_evaluation(0); } - assert_has_event::<T>(Event::<T>::EvaluatedValid { idty_index: idty }.into()); + assert_has_event::<T>( + Event::<T>::EvaluatedValid { + idty_index: idty, + distance: Perbill::one(), + } + .into(), + ); Ok(()) } @@ -249,7 +261,13 @@ mod benchmarks { Pallet::<T>::do_evaluation(0); } - assert_has_event::<T>(Event::<T>::EvaluatedInvalid { idty_index: idty }.into()); + assert_has_event::<T>( + Event::<T>::EvaluatedInvalid { + idty_index: idty, + distance: Perbill::zero(), + } + .into(), + ); Ok(()) } diff --git a/pallets/distance/src/lib.rs b/pallets/distance/src/lib.rs index f42651850..76d580b2d 100644 --- a/pallets/distance/src/lib.rs +++ b/pallets/distance/src/lib.rs @@ -172,9 +172,15 @@ pub mod pallet { who: T::AccountId, }, /// Distance rule was found valid. - EvaluatedValid { idty_index: T::IdtyIndex }, + EvaluatedValid { + idty_index: T::IdtyIndex, + distance: Perbill, + }, /// Distance rule was found invalid. - EvaluatedInvalid { idty_index: T::IdtyIndex }, + EvaluatedInvalid { + idty_index: T::IdtyIndex, + distance: Perbill, + }, } // ERRORS // @@ -313,7 +319,7 @@ pub mod pallet { ) -> DispatchResult { ensure_root(origin)?; - Self::do_valid_distance_status(identity); + Self::do_valid_distance_status(identity, Perbill::one()); Ok(()) } } @@ -509,11 +515,17 @@ pub mod pallet { } /// Set the distance status using IdtyIndex and AccountId - pub fn do_valid_distance_status(idty: <T as pallet_identity::Config>::IdtyIndex) { + pub fn do_valid_distance_status( + idty: <T as pallet_identity::Config>::IdtyIndex, + distance: Perbill, + ) { // callback T::OnValidDistanceStatus::on_valid_distance_status(idty); // deposit event - Self::deposit_event(Event::EvaluatedValid { idty_index: idty }); + Self::deposit_event(Event::EvaluatedValid { + idty_index: idty, + distance, + }); } pub fn do_evaluation(index: u32) -> Weight { @@ -530,57 +542,44 @@ pub mod pallet { > = Pallet::<T>::take_current_pool(index); for (idty, median_acc) in current_pool.evaluations.into_iter() { - // distance result - let mut distance_result: Option<bool> = None; - - // get result of the computation + let mut distance_result: Option<Perbill> = None; + // Retrieve the result of the computation from the median accumulator if let Some(median_result) = median_acc.get_median() { - let median = match median_result { + let distance = match median_result { MedianResult::One(m) => m, MedianResult::Two(m1, m2) => m1 + (m2 - m1) / 2, // Avoid overflow (since max is 1) }; - // update distance result - distance_result = Some(median >= T::MinAccessibleReferees::get()); + // Update distance result + distance_result = Some(distance); } - // take requester and perform unreserve or slash - + // If there's a pending evaluation request with the provided identity if let Some(requester) = PendingEvaluationRequest::<T>::take(idty) { - match distance_result { - None => { - // no result, unreserve - T::Currency::unreserve( - &requester, - <T as Config>::EvaluationPrice::get(), - ); - weight = weight.saturating_add( - <T as pallet::Config>::WeightInfo::do_evaluation_failure() - .saturating_sub( - <T as pallet::Config>::WeightInfo::do_evaluation_overhead(), - ), - ); - } - Some(true) => { - // positive result, unreserve and apply + // If distance_result is available + if let Some(distance) = distance_result { + if distance >= T::MinAccessibleReferees::get() { + // Positive result, unreserve and apply T::Currency::unreserve( &requester, <T as Config>::EvaluationPrice::get(), ); - Self::do_valid_distance_status(idty); + Self::do_valid_distance_status(idty, distance); weight = weight.saturating_add( <T as pallet::Config>::WeightInfo::do_evaluation_success() .saturating_sub( <T as pallet::Config>::WeightInfo::do_evaluation_overhead(), ), ); - } - Some(false) => { - // negative result, slash and deposit event + } else { + // Negative result, slash and deposit event let _ = T::Currency::slash_reserved( &requester, <T as Config>::EvaluationPrice::get(), ); - Self::deposit_event(Event::EvaluatedInvalid { idty_index: idty }); + Self::deposit_event(Event::EvaluatedInvalid { + idty_index: idty, + distance, + }); weight = weight.saturating_add( <T as pallet::Config>::WeightInfo::do_evaluation_failure() .saturating_sub( @@ -588,9 +587,18 @@ pub mod pallet { ), ); } + } else { + // No result, unreserve + T::Currency::unreserve(&requester, <T as Config>::EvaluationPrice::get()); + weight = weight.saturating_add( + <T as pallet::Config>::WeightInfo::do_evaluation_failure() + .saturating_sub( + <T as pallet::Config>::WeightInfo::do_evaluation_overhead(), + ), + ); } } - // if evaluation happened without request, it's ok to do nothing + // If evaluation happened without request, it's ok to do nothing } weight } diff --git a/pallets/smith-members/src/lib.rs b/pallets/smith-members/src/lib.rs index b62b99ccc..9b33a6b56 100644 --- a/pallets/smith-members/src/lib.rs +++ b/pallets/smith-members/src/lib.rs @@ -133,20 +133,20 @@ pub mod pallet { pub enum Event<T: Config> { /// An identity is being inivited to become a smith. InvitationSent { - receiver: T::IdtyIndex, issuer: T::IdtyIndex, + receiver: T::IdtyIndex, }, /// The invitation has been accepted. InvitationAccepted { idty_index: T::IdtyIndex }, /// Certification received SmithCertAdded { - receiver: T::IdtyIndex, issuer: T::IdtyIndex, + receiver: T::IdtyIndex, }, /// Certification lost SmithCertRemoved { - receiver: T::IdtyIndex, issuer: T::IdtyIndex, + receiver: T::IdtyIndex, }, /// A smith gathered enough certifications to become an authority (can call `go_online()`). SmithMembershipAdded { idty_index: T::IdtyIndex }, @@ -362,7 +362,7 @@ impl<T: Config> Pallet<T> { existing.received_certs = vec![]; Smiths::<T>::insert(receiver, existing); ExpiresOn::<T>::append(new_expires_on, receiver); - Self::deposit_event(Event::<T>::InvitationSent { receiver, issuer }); + Self::deposit_event(Event::<T>::InvitationSent { issuer, receiver }); } fn check_accept_invitation(receiver: T::IdtyIndex) -> DispatchResultWithPostInfo { @@ -444,7 +444,7 @@ impl<T: Config> Pallet<T> { // - adds a certification in receiver received list smith_meta.received_certs.push(issuer); smith_meta.received_certs.sort(); - Self::deposit_event(Event::<T>::SmithCertAdded { receiver, issuer }); + Self::deposit_event(Event::<T>::SmithCertAdded { issuer, receiver }); // - receiving a certification either lead us to Pending or Smith status let previous_status = smith_meta.status; @@ -521,8 +521,8 @@ impl<T: Config> Pallet<T> { if let Ok(index) = smith_meta.issued_certs.binary_search(&receiver) { smith_meta.issued_certs.remove(index); Self::deposit_event(Event::<T>::SmithCertRemoved { - receiver, issuer: lost_cert_issuer, + receiver, }); } } diff --git a/resources/metadata.scale b/resources/metadata.scale index 09d2d0c332f4be6fb1e2059bd328b2aadc812988..c98d5a3d9e7f0de953152c86bcc286c8a0e08255 100644 GIT binary patch delta 3777 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 H^Ar9H#Fgfd delta 3698 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 UIqZm0_a8-TPxtGXy~9oTKcEEWy#N3J diff --git a/runtime/common/src/providers.rs b/runtime/common/src/providers.rs index c947ce588..829be1a07 100644 --- a/runtime/common/src/providers.rs +++ b/runtime/common/src/providers.rs @@ -97,7 +97,10 @@ macro_rules! impl_benchmark_setup_handler { <T as pallet_certification::Config>::IdtyIndex: From<u32>, { fn force_valid_distance_status(idty_id: &IdtyIndex) -> () { - let _ = pallet_distance::Pallet::<T>::do_valid_distance_status(*idty_id); + let _ = pallet_distance::Pallet::<T>::do_valid_distance_status( + *idty_id, + sp_runtime::Perbill::one(), + ); } fn add_cert(issuer: &IdtyIndex, receiver: &IdtyIndex) { diff --git a/runtime/gdev/tests/integration_tests.rs b/runtime/gdev/tests/integration_tests.rs index b91e0ee90..b4ed381a4 100644 --- a/runtime/gdev/tests/integration_tests.rs +++ b/runtime/gdev/tests/integration_tests.rs @@ -373,7 +373,10 @@ fn test_validate_identity_when_claim() { // Pass 3rd evaluation period run_to_block(3 * eval_period); System::assert_has_event(RuntimeEvent::Distance( - pallet_distance::Event::EvaluatedValid { idty_index: 5 }, + pallet_distance::Event::EvaluatedValid { + idty_index: 5, + distance: Perbill::one(), + }, )); // eve can not claim her membership manually because it is done automatically -- GitLab