Trait frame_support::traits::ChangeMembers
source · pub trait ChangeMembers<AccountId: Clone + Ord> {
fn change_members_sorted(
incoming: &[AccountId],
outgoing: &[AccountId],
sorted_new: &[AccountId]
);
fn change_members(
incoming: &[AccountId],
outgoing: &[AccountId],
new: Vec<AccountId>
) { ... }
fn set_members_sorted(new_members: &[AccountId], old_members: &[AccountId]) { ... }
fn compute_members_diff_sorted(
new_members: &[AccountId],
old_members: &[AccountId]
) -> (Vec<AccountId>, Vec<AccountId>) { ... }
fn set_prime(_prime: Option<AccountId>) { ... }
fn get_prime() -> Option<AccountId> { ... }
}
Expand description
Trait for type that can handle incremental changes to a set of account IDs.
Required Methods§
sourcefn change_members_sorted(
incoming: &[AccountId],
outgoing: &[AccountId],
sorted_new: &[AccountId]
)
fn change_members_sorted(
incoming: &[AccountId],
outgoing: &[AccountId],
sorted_new: &[AccountId]
)
A number of members _incoming
just joined the set and replaced some _outgoing
ones. The
new set is thus given by sorted_new
and must be sorted.
NOTE: This is the only function that needs to be implemented in ChangeMembers
.
This resets any previous value of prime.
Provided Methods§
sourcefn change_members(
incoming: &[AccountId],
outgoing: &[AccountId],
new: Vec<AccountId>
)
fn change_members(
incoming: &[AccountId],
outgoing: &[AccountId],
new: Vec<AccountId>
)
A number of members incoming
just joined the set and replaced some outgoing
ones. The
new set is given by new
, and need not be sorted.
This resets any previous value of prime.
sourcefn set_members_sorted(new_members: &[AccountId], old_members: &[AccountId])
fn set_members_sorted(new_members: &[AccountId], old_members: &[AccountId])
Set the new members; they must already be sorted. This will compute the diff and use it
to call change_members_sorted
.
This resets any previous value of prime.
sourcefn compute_members_diff_sorted(
new_members: &[AccountId],
old_members: &[AccountId]
) -> (Vec<AccountId>, Vec<AccountId>)
fn compute_members_diff_sorted(
new_members: &[AccountId],
old_members: &[AccountId]
) -> (Vec<AccountId>, Vec<AccountId>)
Compute diff between new and old members; they must already be sorted.
Returns incoming and outgoing members.