1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#![cfg_attr(not(feature = "std"), no_std)]
use frame_support::{
Parameter,
dispatch::{Weight, GetDispatchInfo},
traits::{UnfilteredDispatchable, Vec}
};
pub trait CreateRecoveryCallFactory<Origin, AccountId, BlockNumber> {
type Call: Parameter + UnfilteredDispatchable<Origin = Origin> + GetDispatchInfo;
fn build_create_recovery_call(legal_officers: Vec<AccountId>, threshold: u16, delay_period: BlockNumber) -> Self::Call;
}
pub trait LocQuery<AccountId> {
fn has_closed_identity_locs(account: &AccountId, legal_officer: &Vec<AccountId>) -> bool;
}
pub trait MultisigApproveAsMultiCallFactory<Origin, AccountId, Timepoint> {
type Call: Parameter + UnfilteredDispatchable<Origin = Origin> + GetDispatchInfo;
fn build_approve_as_multi_call(
threshold: u16,
other_signatories: Vec<AccountId>,
maybe_timepoint: Option<Timepoint>,
call_hash: [u8; 32],
max_weight: Weight,
) -> Self::Call;
}
pub trait MultisigAsMultiCallFactory<Origin, AccountId, Timepoint> {
type Call: Parameter + UnfilteredDispatchable<Origin = Origin> + GetDispatchInfo;
fn build_as_multi_call(
threshold: u16,
other_signatories: Vec<AccountId>,
maybe_timepoint: Option<Timepoint>,
call: Vec<u8>,
store_call: bool,
max_weight: Weight,
) -> Self::Call;
}
pub trait IsLegalOfficer<AccountId> {
fn is_legal_officer(account: &AccountId) -> bool;
}