Skip to content
Snippets Groups Projects
Unverified Commit b3a2abaa authored by bgallois's avatar bgallois
Browse files

refactor events and errors pallet-authority-members

parent cca16dbb
No related branches found
No related tags found
No related merge requests found
......@@ -70,12 +70,12 @@ benchmarks! {
}
remove_member_from_blacklist {
let id: T::MemberId = OnlineAuthorities::<T>::get()[0];
BlackList::<T>::mutate(|blacklist| {
Blacklist::<T>::mutate(|blacklist| {
blacklist.push(id);
});
}: _<T::RuntimeOrigin>(RawOrigin::Root.into(), id)
verify {
assert_has_event::<T>(Event::<T>::MemberRemovedFromBlackList(id).into());
assert_has_event::<T>(Event::<T>::MemberRemovedFromBlacklist(id).into());
}
impl_benchmark_test_suite!(
......
......@@ -52,9 +52,9 @@ where
};
match strategy {
SlashStrategy::BlackList => {
SlashStrategy::Blacklist => {
for offender in offenders {
BlackList::<T>::mutate(|blacklist| {
Blacklist::<T>::mutate(|blacklist| {
if let Some(member_id) = T::MemberIdOf::convert(offender.offender.0.clone())
{
if !blacklist.contains(&member_id) {
......
......@@ -158,7 +158,7 @@ pub mod pallet {
// Blacklist.
#[pallet::storage]
#[pallet::getter(fn blacklist)]
pub type BlackList<T: Config> = StorageValue<_, Vec<T::MemberId>, ValueQuery>;
pub type Blacklist<T: Config> = StorageValue<_, Vec<T::MemberId>, ValueQuery>;
// HOOKS //
......@@ -185,7 +185,7 @@ pub mod pallet {
MemberRemoved(T::MemberId),
/// A member has been removed from the blacklist.
/// [member_id]
MemberRemovedFromBlackList(T::MemberId),
MemberRemovedFromBlacklist(T::MemberId),
}
// ERRORS //
......@@ -198,18 +198,16 @@ pub mod pallet {
AlreadyOnline,
/// Already outgoing
AlreadyOutgoing,
/// Not found owner key
/// Owner key has no valid member id
MemberIdNotFound,
/// Member is blacklisted
MemberIdBlackListed,
MemberBlacklisted,
/// Member is not blacklisted
MemberNotBlackListed,
MemberNotBlacklisted,
/// Member not found
MemberNotFound,
/// Neither online nor scheduled
NotOnlineNorIncoming,
/// Not owner
NotOwner,
/// Not member
NotMember,
/// Session keys not provided
......@@ -259,7 +257,7 @@ pub mod pallet {
let member_id = Self::verify_ownership_and_membership(&who)?;
if Self::is_blacklisted(member_id) {
return Err(Error::<T>::MemberIdBlackListed.into());
return Err(Error::<T>::MemberBlacklisted.into());
}
if !Members::<T>::contains_key(member_id) {
return Err(Error::<T>::MemberNotFound.into());
......@@ -317,7 +315,7 @@ pub mod pallet {
) -> DispatchResultWithPostInfo {
T::RemoveMemberOrigin::ensure_origin(origin)?;
let member_data = Members::<T>::get(member_id).ok_or(Error::<T>::NotMember)?;
let member_data = Members::<T>::get(member_id).ok_or(Error::<T>::MemberNotFound)?;
Self::do_remove_member(member_id, member_data.owner_key);
Ok(().into())
......@@ -330,13 +328,13 @@ pub mod pallet {
member_id: T::MemberId,
) -> DispatchResultWithPostInfo {
T::RemoveMemberOrigin::ensure_origin(origin)?;
BlackList::<T>::mutate(|members_ids| {
Blacklist::<T>::mutate(|members_ids| {
if let Ok(index) = members_ids.binary_search(&member_id) {
members_ids.remove(index);
Self::deposit_event(Event::MemberRemovedFromBlackList(member_id));
Self::deposit_event(Event::MemberRemovedFromBlacklist(member_id));
Ok(().into())
} else {
Err(Error::<T>::MemberNotBlackListed.into())
Err(Error::<T>::MemberNotBlacklisted.into())
}
})
}
......@@ -367,7 +365,7 @@ pub mod pallet {
})?;
let validator_id = T::ValidatorIdOf::convert(old_owner_key.clone())
.ok_or(Error::<T>::MemberNotFound)?;
.ok_or(pallet_session::Error::<T>::NoAssociatedValidatorId)?;
let session_keys = pallet_session::NextKeys::<T>::get(validator_id)
.ok_or(Error::<T>::SessionKeysNotProvided)?;
......@@ -472,7 +470,7 @@ pub mod pallet {
}
/// check if member is blacklisted
fn is_blacklisted(member_id: T::MemberId) -> bool {
BlackList::<T>::get().contains(&member_id)
Blacklist::<T>::get().contains(&member_id)
}
/// perform removal from incoming authorities
fn remove_in(member_id: T::MemberId) {
......
......@@ -325,7 +325,7 @@ fn test_offence_black_list() {
offender: (9, ()),
reporters: vec![],
}],
pallet_offences::SlashStrategy::BlackList,
pallet_offences::SlashStrategy::Blacklist,
);
// Verify state
......@@ -359,7 +359,7 @@ fn test_offence_black_list_prevent_from_going_online() {
offender: (9, ()),
reporters: vec![],
}],
pallet_offences::SlashStrategy::BlackList,
pallet_offences::SlashStrategy::Blacklist,
);
// Verify state
......@@ -385,7 +385,7 @@ fn test_offence_black_list_prevent_from_going_online() {
));
assert_err!(
AuthorityMembers::go_online(RuntimeOrigin::signed(9)),
Error::<Test>::MemberIdBlackListed
Error::<Test>::MemberBlacklisted
);
// Should not be able to auto remove from blacklist
......@@ -401,12 +401,12 @@ fn test_offence_black_list_prevent_from_going_online() {
9
));
assert_eq!(AuthorityMembers::blacklist(), EMPTY);
System::assert_last_event(Event::MemberRemovedFromBlackList(9).into());
System::assert_last_event(Event::MemberRemovedFromBlacklist(9).into());
// Authorized should not be able to remove a non-existing member from blacklist
assert_err!(
AuthorityMembers::remove_member_from_blacklist(RawOrigin::Root.into(), 9),
Error::<Test>::MemberNotBlackListed
Error::<Test>::MemberNotBlacklisted
);
});
}
......@@ -43,7 +43,7 @@ type ReportIdOf<T> = <T as frame_system::Config>::Hash;
pub enum SlashStrategy {
Disconnect,
BlackList,
Blacklist,
}
#[frame_support::pallet]
......@@ -127,7 +127,7 @@ where
let slash_strategy = if O::ID == *b"im-online:offlin" {
SlashStrategy::Disconnect
} else {
SlashStrategy::BlackList
SlashStrategy::Blacklist
};
T::OnOffenceHandler::on_offence(
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment