diff --git a/pallets/certification/src/benchmarking.rs b/pallets/certification/src/benchmarking.rs index 7084dc11df8e9c979532c77bf63c282838110632..3e47370a09a946b4bbd4ef7c4a95559fc93ee1c3 100644 --- a/pallets/certification/src/benchmarking.rs +++ b/pallets/certification/src/benchmarking.rs @@ -38,7 +38,7 @@ mod benchmarks { fn add_certs<T: Config>(i: u32, receiver: T::IdtyIndex) -> Result<(), &'static str> { Pallet::<T>::remove_all_certs_received_by(RawOrigin::Root.into(), receiver)?; for j in 1..i { - Pallet::<T>::do_add_cert_checked(j.into(), receiver, false); + Pallet::<T>::do_add_cert_checked(j.into(), receiver, false)?; } assert!( CertsByReceiver::<T>::get(receiver).len() as u32 == i - 1, @@ -56,7 +56,7 @@ mod benchmarks { #[block] { - Pallet::<T>::do_add_cert_checked(issuer, receiver, true); + Pallet::<T>::do_add_cert_checked(issuer, receiver, true)?; } assert_has_event::<T>(Event::<T>::CertAdded { issuer, receiver }.into()); @@ -98,12 +98,12 @@ mod benchmarks { } #[benchmark] - fn del_cert() -> Result<(), BenchmarkError> { + fn del_cert() { let issuer: T::IdtyIndex = 1.into(); let receiver: T::IdtyIndex = 2.into(); // try to add cert if missing, else ignore // this depends on initial data - Pallet::<T>::do_add_cert_checked(issuer, receiver, false); + let _ = Pallet::<T>::do_add_cert_checked(issuer, receiver, false); #[extrinsic_call] _(RawOrigin::Root, issuer, receiver); @@ -116,7 +116,6 @@ mod benchmarks { } .into(), ); - Ok(()) } #[benchmark] @@ -150,11 +149,11 @@ mod benchmarks { } #[benchmark] - fn do_remove_cert() { + fn do_remove_cert() -> Result<(), BenchmarkError> { let issuer: T::IdtyIndex = 1.into(); let receiver: T::IdtyIndex = 0.into(); Pallet::<T>::do_remove_cert(issuer, receiver, None); - Pallet::<T>::do_add_cert_checked(issuer, receiver, false); + Pallet::<T>::do_add_cert_checked(issuer, receiver, false)?; let block_number = T::ValidityPeriod::get(); frame_system::pallet::Pallet::<T>::set_block_number(block_number); @@ -171,6 +170,7 @@ mod benchmarks { } .into(), ); + Ok(()) } impl_benchmark_test_suite!( diff --git a/pallets/certification/src/lib.rs b/pallets/certification/src/lib.rs index 56bf87f5ea301b9878f650179baf0e10ee2bd39e..b2061d396db5ddaa71c2fd01e951e2490cada2ce 100644 --- a/pallets/certification/src/lib.rs +++ b/pallets/certification/src/lib.rs @@ -360,19 +360,16 @@ pub mod pallet { issuer: T::IdtyIndex, receiver: T::IdtyIndex, verify_rules: bool, - ) { + ) -> DispatchResultWithPostInfo { let block_number = frame_system::pallet::Pallet::<T>::block_number(); if verify_rules { // only verify internal rules if asked - if let Err(e) = Self::check_add_cert_internal(issuer, receiver, block_number) { - sp_std::if_std! {println!("fail to force add cert: {:?}", e)} - } - } + Self::check_add_cert_internal(issuer, receiver, block_number)?; + }; - if let Err(e) = Self::try_add_cert(block_number, issuer, receiver) { - sp_std::if_std! {println!("fail to force add cert: {:?}", e)} - } + Self::try_add_cert(block_number, issuer, receiver)?; + Ok(().into()) } /// perform cert addition if not existing, else CertAlreadyExists diff --git a/pallets/duniter-wot/src/lib.rs b/pallets/duniter-wot/src/lib.rs index bf79348ae58d531ed00c792f585e1da1361ddf1b..0abf864d596aca0f4e9b26a882f3e96d6e085c53 100644 --- a/pallets/duniter-wot/src/lib.rs +++ b/pallets/duniter-wot/src/lib.rs @@ -240,7 +240,13 @@ where impl<T: Config> pallet_identity::traits::OnNewIdty<T> for Pallet<T> { /// This implementation adds a certificate when a new identity is created. fn on_created(idty_index: &IdtyIndex, creator: &IdtyIndex) { - <pallet_certification::Pallet<T>>::do_add_cert_checked(*creator, *idty_index, true); + if let Err(e) = + <pallet_certification::Pallet<T>>::do_add_cert_checked(*creator, *idty_index, true) + { + sp_std::if_std! { + println!("fail to force add cert: {:?}", e) + } + } } }