Skip to content
Snippets Groups Projects

fix(smith-wot): smith certs expiration should revoke smith membership

Merged Éloïs requested to merge elois-fix-smith-certs into master
3 files
+ 47
15
Compare changes
  • Side-by-side
  • Inline
Files
3
@@ -32,6 +32,7 @@ mod benchmarking;*/
@@ -32,6 +32,7 @@ mod benchmarking;*/
pub use pallet::*;
pub use pallet::*;
pub use types::*;
pub use types::*;
 
use frame_support::dispatch::UnfilteredDispatchable;
use frame_support::pallet_prelude::*;
use frame_support::pallet_prelude::*;
use frame_system::RawOrigin;
use frame_system::RawOrigin;
use pallet_certification::traits::SetNextIssuableOn;
use pallet_certification::traits::SetNextIssuableOn;
@@ -44,7 +45,6 @@ type IdtyIndex = u32;
@@ -44,7 +45,6 @@ type IdtyIndex = u32;
#[frame_support::pallet]
#[frame_support::pallet]
pub mod pallet {
pub mod pallet {
use super::*;
use super::*;
use frame_support::dispatch::UnfilteredDispatchable;
use frame_support::traits::StorageVersion;
use frame_support::traits::StorageVersion;
/// The current storage version.
/// The current storage version.
@@ -288,7 +288,7 @@ impl<T: Config<I>, I: 'static> pallet_certification::traits::OnNewcert<IdtyIndex
@@ -288,7 +288,7 @@ impl<T: Config<I>, I: 'static> pallet_certification::traits::OnNewcert<IdtyIndex
Some(receiver),
Some(receiver),
) {
) {
sp_std::if_std! {
sp_std::if_std! {
println!("fail to claim membership: {:?}", e)
println!("fail to claim membership: {:?}", e)
}
}
}
}
} else {
} else {
@@ -319,11 +319,23 @@ impl<T: Config<I>, I: 'static> pallet_certification::traits::OnRemovedCert<IdtyI
@@ -319,11 +319,23 @@ impl<T: Config<I>, I: 'static> pallet_certification::traits::OnRemovedCert<IdtyI
if receiver_received_count < T::MinCertForMembership::get()
if receiver_received_count < T::MinCertForMembership::get()
&& pallet_membership::Pallet::<T, I>::is_member(&receiver)
&& pallet_membership::Pallet::<T, I>::is_member(&receiver)
{
{
// Revoke receiver membership and disable their identity
if T::IsSubWot::get() {
Self::dispath_idty_call(pallet_identity::Call::remove_identity {
// Revoke receiver membership
idty_index: receiver,
let call = pallet_membership::Call::<T, I>::revoke_membership {
idty_name: None,
maybe_idty_id: Some(receiver),
});
};
 
if let Err(e) = call.dispatch_bypass_filter(RawOrigin::Root.into()) {
 
sp_std::if_std! {
 
println!("fail to dispatch membership call: {:?}", e)
 
}
 
}
 
} else {
 
// Revoke receiver membership and disable his identity
 
Self::dispath_idty_call(pallet_identity::Call::remove_identity {
 
idty_index: receiver,
 
idty_name: None,
 
});
 
}
}
}
0
0
}
}
Loading