pub enum Call<T: Config> {
    execute {
        proposal: Box<<T as Config>::Call>,
        auth: Vec<WithNonce<T, DidSignature<Master>>>,
    },
    execute_unchecked_weight {
        proposal: Box<<T as Config>::Call>,
        auth: Vec<WithNonce<T, DidSignature<Master>>>,
        weight: Weight,
    },
    set_members {
        membership: Membership<T>,
    },
    // some variants omitted
}Expand description
Contains one variant per dispatchable that can be called by an extrinsic.
Variants§
execute
Execute a proposal that has received enough votes. The proposal is a serialized Call. This function can be called by anyone, even someone who is not a member of Master.
After a successful execution, the round number is increased.
execute_unchecked_weight
Does the same job as execute dispatchable but does not inherit the weight of the
Call its wrapping but expects the caller to provide it
set_members
Fields
membership: Membership<T>Root-only. Sets the members and vote requirement for master. Increases the round number and removes the votes for the previous round.
Since as a group members of master have root access, they will be able to call this function.
A vote requirement of zero is not allowed and will result in an error. A vote requirement larger than the size of the member list is not allowed and will result in an error.
Implementations§
source§impl<T: Config> Call<T>
 
impl<T: Config> Call<T>
sourcepub fn new_call_variant_execute(
    proposal: Box<<T as Config>::Call>,
    auth: Vec<WithNonce<T, DidSignature<Master>>>
) -> Self
 
pub fn new_call_variant_execute( proposal: Box<<T as Config>::Call>, auth: Vec<WithNonce<T, DidSignature<Master>>> ) -> Self
Create a call with the variant execute.
sourcepub fn new_call_variant_execute_unchecked_weight(
    proposal: Box<<T as Config>::Call>,
    auth: Vec<WithNonce<T, DidSignature<Master>>>,
    weight: Weight
) -> Self
 
pub fn new_call_variant_execute_unchecked_weight( proposal: Box<<T as Config>::Call>, auth: Vec<WithNonce<T, DidSignature<Master>>>, weight: Weight ) -> Self
Create a call with the variant execute_unchecked_weight.
sourcepub fn new_call_variant_set_members(membership: Membership<T>) -> Self
 
pub fn new_call_variant_set_members(membership: Membership<T>) -> Self
Create a call with the variant set_members.
Trait Implementations§
source§impl<T: Config> Decode for Call<T>
 
impl<T: Config> Decode for Call<T>
source§fn decode<__CodecInputEdqy: Input>(
    __codec_input_edqy: &mut __CodecInputEdqy
) -> Result<Self, Error>
 
fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>
§fn decode_into<I>(
    input: &mut I,
    dst: &mut MaybeUninit<Self>
) -> Result<DecodeFinished, Error>where
    I: Input,
 
fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>where I: Input,
§fn skip<I>(input: &mut I) -> Result<(), Error>where
    I: Input,
 
fn skip<I>(input: &mut I) -> Result<(), Error>where I: Input,
§fn encoded_fixed_size() -> Option<usize>
 
fn encoded_fixed_size() -> Option<usize>
source§impl<T: Config> Encode for Call<T>
 
impl<T: Config> Encode for Call<T>
source§fn size_hint(&self) -> usize
 
fn size_hint(&self) -> usize
source§fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
    &self,
    __codec_dest_edqy: &mut __CodecOutputEdqy
)
 
fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )
§fn using_encoded<R, F>(&self, f: F) -> Rwhere
    F: FnOnce(&[u8]) -> R,
 
fn using_encoded<R, F>(&self, f: F) -> Rwhere F: FnOnce(&[u8]) -> R,
§fn encoded_size(&self) -> usize
 
fn encoded_size(&self) -> usize
source§impl<T: Config> GetCallName for Call<T>
 
impl<T: Config> GetCallName for Call<T>
source§fn get_call_name(&self) -> &'static str
 
fn get_call_name(&self) -> &'static str
source§fn get_call_names() -> &'static [&'static str]
 
fn get_call_names() -> &'static [&'static str]
source§impl<T: Config> GetDispatchInfo for Call<T>
 
impl<T: Config> GetDispatchInfo for Call<T>
source§fn get_dispatch_info(&self) -> DispatchInfo
 
fn get_dispatch_info(&self) -> DispatchInfo
DispatchInfo, containing relevant information of this dispatch. Read moresource§impl<T: Config> PartialEq<Call<T>> for Call<T>
 
impl<T: Config> PartialEq<Call<T>> for Call<T>
source§impl<T> TypeInfo for Call<T>where
    PhantomData<(T,)>: TypeInfo + 'static,
    Box<<T as Config>::Call>: TypeInfo + 'static,
    Vec<WithNonce<T, DidSignature<Master>>>: TypeInfo + 'static,
    Membership<T>: TypeInfo + 'static,
    T: Config + 'static,
 
impl<T> TypeInfo for Call<T>where PhantomData<(T,)>: TypeInfo + 'static, Box<<T as Config>::Call>: TypeInfo + 'static, Vec<WithNonce<T, DidSignature<Master>>>: TypeInfo + 'static, Membership<T>: TypeInfo + 'static, T: Config + 'static,
source§impl<T: Config> UnfilteredDispatchable for Call<T>
 
impl<T: Config> UnfilteredDispatchable for Call<T>
§type Origin = <T as Config>::Origin
 
type Origin = <T as Config>::Origin
frame_system::Config::Origin).source§fn dispatch_bypass_filter(
    self,
    origin: Self::Origin
) -> DispatchResultWithPostInfo
 
fn dispatch_bypass_filter( self, origin: Self::Origin ) -> DispatchResultWithPostInfo
impl<T: Config> EncodeLike<Call<T>> for Call<T>
impl<T: Config> Eq for Call<T>
Auto Trait Implementations§
impl<T> RefUnwindSafe for Call<T>where T: RefUnwindSafe, <T as Config>::BlockNumber: RefUnwindSafe, <T as Config>::Call: RefUnwindSafe, <T as Limits>::MaxMasterMembers: RefUnwindSafe,
impl<T> Send for Call<T>where T: Send, <T as Config>::Call: Send,
impl<T> Sync for Call<T>where T: Sync, <T as Config>::Call: Sync,
impl<T> Unpin for Call<T>where T: Unpin, <T as Config>::BlockNumber: Unpin, <T as Limits>::MaxMasterMembers: Unpin,
impl<T> UnwindSafe for Call<T>where T: UnwindSafe, <T as Config>::BlockNumber: UnwindSafe, <T as Config>::Call: UnwindSafe, <T as Limits>::MaxMasterMembers: UnwindSafe,
Blanket Implementations§
source§impl<T> CanUpdate<()> for T
 
impl<T> CanUpdate<()> for T
source§fn can_remove(&self, _entity: &()) -> bool
 
fn can_remove(&self, _entity: &()) -> bool
§impl<T> CheckedConversion for T
 
impl<T> CheckedConversion for T
§fn checked_from<T>(t: T) -> Option<Self>where
    Self: TryFrom<T>,
 
fn checked_from<T>(t: T) -> Option<Self>where Self: TryFrom<T>,
§fn checked_into<T>(self) -> Option<T>where
    Self: TryInto<T>,
 
fn checked_into<T>(self) -> Option<T>where Self: TryInto<T>,
§impl<T> DecodeAll for Twhere
    T: Decode,
 
impl<T> DecodeAll for Twhere T: Decode,
§fn decode_all(input: &mut &[u8]) -> Result<T, Error>
 
fn decode_all(input: &mut &[u8]) -> Result<T, Error>
Self and consume all of the given input data. Read more§impl<T> DecodeLimit for Twhere
    T: Decode,
 
impl<T> DecodeLimit for Twhere T: Decode,
§impl<T> Downcast for Twhere
    T: Any,
 
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
 
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
 
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
 
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
 
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.source§impl<Q, K> Equivalent<K> for Qwhere
    Q: Eq + ?Sized,
    K: Borrow<Q> + ?Sized,
 
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
 
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<T> Hashable for Twhere
    T: Codec,
 
impl<T> Hashable for Twhere T: Codec,
§impl<T> Instrument for T
 
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
 
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
 
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IsType<T> for T
 
impl<T> IsType<T> for T
§impl<T> KeyedVec for Twhere
    T: Codec,
 
impl<T> KeyedVec for Twhere T: Codec,
§impl<T> Pointable for T
 
impl<T> Pointable for T
§impl<T> SaturatedConversion for T
 
impl<T> SaturatedConversion for T
§fn saturated_from<T>(t: T) -> Selfwhere
    Self: UniqueSaturatedFrom<T>,
 
fn saturated_from<T>(t: T) -> Selfwhere Self: UniqueSaturatedFrom<T>,
§fn saturated_into<T>(self) -> Twhere
    Self: UniqueSaturatedInto<T>,
 
fn saturated_into<T>(self) -> Twhere Self: UniqueSaturatedInto<T>,
T. Read more§impl<S, T> UncheckedInto<T> for Swhere
    T: UncheckedFrom<S>,
 
impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,
§fn unchecked_into(self) -> T
 
fn unchecked_into(self) -> T
unchecked_from.§impl<T, S> UniqueSaturatedInto<T> for Swhere
    T: Bounded,
    S: TryInto<T>,
 
impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,
§fn unique_saturated_into(self) -> T
 
fn unique_saturated_into(self) -> T
T.