Enum pallet_democracy::pallet::Call [−][src]
pub enum Call<T: Config> {
Show 25 variants
propose {
proposal_hash: T::Hash,
value: <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance,
},
second {
proposal: PropIndex,
seconds_upper_bound: u32,
},
vote {
ref_index: ReferendumIndex,
vote: AccountVote<<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance>,
},
emergency_cancel {
ref_index: ReferendumIndex,
},
external_propose {
proposal_hash: T::Hash,
},
external_propose_majority {
proposal_hash: T::Hash,
},
external_propose_default {
proposal_hash: T::Hash,
},
fast_track {
proposal_hash: T::Hash,
voting_period: T::BlockNumber,
delay: T::BlockNumber,
},
veto_external {
proposal_hash: T::Hash,
},
cancel_referendum {
ref_index: ReferendumIndex,
},
cancel_queued {
which: ReferendumIndex,
},
delegate {
to: T::AccountId,
conviction: Conviction,
balance: <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance,
},
undelegate {},
clear_public_proposals {},
note_preimage {
encoded_proposal: Vec<u8>,
},
note_preimage_operational {
encoded_proposal: Vec<u8>,
},
note_imminent_preimage {
encoded_proposal: Vec<u8>,
},
note_imminent_preimage_operational {
encoded_proposal: Vec<u8>,
},
reap_preimage {
proposal_hash: T::Hash,
proposal_len_upper_bound: u32,
},
unlock {
target: T::AccountId,
},
remove_vote {
index: ReferendumIndex,
},
remove_other_vote {
target: T::AccountId,
index: ReferendumIndex,
},
enact_proposal {
proposal_hash: T::Hash,
index: ReferendumIndex,
},
blacklist {
proposal_hash: T::Hash,
maybe_ref_index: Option<ReferendumIndex>,
},
cancel_proposal {
prop_index: PropIndex,
},
// some variants omitted
}
Expand description
Contains one variant per dispatchable that can be called by an extrinsic.
Variants
Propose a sensitive action to be taken.
The dispatch origin of this call must be Signed and the sender must have funds to cover the deposit.
proposal_hash
: The hash of the proposal preimage.value
: The amount of deposit (must be at leastMinimumDeposit
).
Emits Proposed
.
Weight: O(p)
Fields of propose
Signals agreement with a particular proposal.
The dispatch origin of this call must be Signed and the sender must have funds to cover the deposit, equal to the original deposit.
proposal
: The index of the proposal to second.seconds_upper_bound
: an upper bound on the current number of seconds on this proposal. Extrinsic is weighted according to this value with no refund.
Weight: O(S)
where S is the number of seconds a proposal already has.
Vote in a referendum. If vote.is_aye()
, the vote is to enact the proposal;
otherwise it is a vote to keep the status quo.
The dispatch origin of this call must be Signed.
ref_index
: The index of the referendum to vote for.vote
: The vote configuration.
Weight: O(R)
where R is the number of referendums the voter has voted on.
Fields of vote
ref_index: ReferendumIndex
vote: AccountVote<<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance>
Schedule an emergency cancellation of a referendum. Cannot happen twice to the same referendum.
The dispatch origin of this call must be CancellationOrigin
.
-ref_index
: The index of the referendum to cancel.
Weight: O(1)
.
Fields of emergency_cancel
ref_index: ReferendumIndex
Schedule a referendum to be tabled once it is legal to schedule an external referendum.
The dispatch origin of this call must be ExternalOrigin
.
proposal_hash
: The preimage hash of the proposal.
Weight: O(V)
with V number of vetoers in the blacklist of proposal.
Decoding vec of length V. Charged as maximum
Fields of external_propose
proposal_hash: T::Hash
Schedule a majority-carries referendum to be tabled next once it is legal to schedule an external referendum.
The dispatch of this call must be ExternalMajorityOrigin
.
proposal_hash
: The preimage hash of the proposal.
Unlike external_propose
, blacklisting has no effect on this and it may replace a
pre-scheduled external_propose
call.
Weight: O(1)
Fields of external_propose_majority
proposal_hash: T::Hash
Schedule a negative-turnout-bias referendum to be tabled next once it is legal to schedule an external referendum.
The dispatch of this call must be ExternalDefaultOrigin
.
proposal_hash
: The preimage hash of the proposal.
Unlike external_propose
, blacklisting has no effect on this and it may replace a
pre-scheduled external_propose
call.
Weight: O(1)
Fields of external_propose_default
proposal_hash: T::Hash
Schedule the currently externally-proposed majority-carries referendum to be tabled immediately. If there is no externally-proposed referendum currently, or if there is one but it is not a majority-carries referendum then it fails.
The dispatch of this call must be FastTrackOrigin
.
proposal_hash
: The hash of the current external proposal.voting_period
: The period that is allowed for voting on this proposal. Increased toFastTrackVotingPeriod
if too low.delay
: The number of block after voting has ended in approval and this should be enacted. This doesn’t have a minimum amount.
Emits Started
.
Weight: O(1)
Fields of fast_track
Veto and blacklist the external proposal hash.
The dispatch origin of this call must be VetoOrigin
.
proposal_hash
: The preimage hash of the proposal to veto and blacklist.
Emits Vetoed
.
Weight: O(V + log(V))
where V is number of existing vetoers
Fields of veto_external
proposal_hash: T::Hash
Remove a referendum.
The dispatch origin of this call must be Root.
ref_index
: The index of the referendum to cancel.
Weight: O(1)
.
Fields of cancel_referendum
ref_index: ReferendumIndex
Cancel a proposal queued for enactment.
The dispatch origin of this call must be Root.
which
: The index of the referendum to cancel.
Weight: O(D)
where D
is the items in the dispatch queue. Weighted as D = 10
.
Fields of cancel_queued
which: ReferendumIndex
Delegate the voting power (with some given conviction) of the sending account.
The balance delegated is locked for as long as it’s delegated, and thereafter for the time appropriate for the conviction’s lock period.
The dispatch origin of this call must be Signed, and the signing account must either:
-
be delegating already; or
-
have no voting activity (if there is, then it will need to be removed/consolidated through
reap_vote
orunvote
). -
to
: The account whose voting thetarget
account’s voting power will follow. -
conviction
: The conviction that will be attached to the delegated votes. When the account is undelegated, the funds will be locked for the corresponding period. -
balance
: The amount of the account’s balance to be used in delegating. This must not be more than the account’s current balance.
Emits Delegated
.
Weight: O(R)
where R is the number of referendums the voter delegating to has
voted on. Weight is charged as if maximum votes.
Fields of delegate
Undelegate the voting power of the sending account.
Tokens may be unlocked following once an amount of time consistent with the lock period of the conviction with which the delegation was issued.
The dispatch origin of this call must be Signed and the signing account must be currently delegating.
Emits Undelegated
.
Weight: O(R)
where R is the number of referendums the voter delegating to has
voted on. Weight is charged as if maximum votes.
Fields of undelegate
Clears all public proposals.
The dispatch origin of this call must be Root.
Weight: O(1)
.
Fields of clear_public_proposals
Register the preimage for an upcoming proposal. This doesn’t require the proposal to be in the dispatch queue but does require a deposit, returned once enacted.
The dispatch origin of this call must be Signed.
encoded_proposal
: The preimage of a proposal.
Emits PreimageNoted
.
Weight: O(E)
with E size of encoded_proposal
(protected by a required deposit).
Same as note_preimage
but origin is OperationalPreimageOrigin
.
Register the preimage for an upcoming proposal. This requires the proposal to be in the dispatch queue. No deposit is needed. When this call is successful, i.e. the preimage has not been uploaded before and matches some imminent proposal, no fee is paid.
The dispatch origin of this call must be Signed.
encoded_proposal
: The preimage of a proposal.
Emits PreimageNoted
.
Weight: O(E)
with E size of encoded_proposal
(protected by a required deposit).
Same as note_imminent_preimage
but origin is OperationalPreimageOrigin
.
Remove an expired proposal preimage and collect the deposit.
The dispatch origin of this call must be Signed.
proposal_hash
: The preimage hash of a proposal.proposal_length_upper_bound
: an upper bound on length of the proposal. Extrinsic is weighted according to this value with no refund.
This will only work after VotingPeriod
blocks from the time that the preimage was
noted, if it’s the same account doing it. If it’s a different account, then it’ll only
work an additional EnactmentPeriod
later.
Emits PreimageReaped
.
Weight: O(D)
where D is length of proposal.
Unlock tokens that have an expired lock.
The dispatch origin of this call must be Signed.
target
: The account to remove the lock on.
Weight: O(R)
with R number of vote of target.
Fields of unlock
target: T::AccountId
Remove a vote for a referendum.
If:
- the referendum was cancelled, or
- the referendum is ongoing, or
- the referendum has ended such that
- the vote of the account was in opposition to the result; or
- there was no conviction to the account’s vote; or
- the account made a split vote
…then the vote is removed cleanly and a following call to
unlock
may result in more funds being available.
If, however, the referendum has ended and:
- it finished corresponding to the vote of the account, and
- the account made a standard vote with conviction, and
- the lock period of the conviction is not over …then the lock will be aggregated into the overall account’s lock, which may involve overlocking (where the two locks are combined into a single lock that is the maximum of both the amount locked and the time is it locked for).
The dispatch origin of this call must be Signed, and the signer must have a vote
registered for referendum index
.
index
: The index of referendum of the vote to be removed.
Weight: O(R + log R)
where R is the number of referenda that target
has voted on.
Weight is calculated for the maximum number of vote.
Fields of remove_vote
index: ReferendumIndex
Remove a vote for a referendum.
If the target
is equal to the signer, then this function is exactly equivalent to
remove_vote
. If not equal to the signer, then the vote must have expired,
either because the referendum was cancelled, because the voter lost the referendum or
because the conviction period is over.
The dispatch origin of this call must be Signed.
target
: The account of the vote to be removed; this account must have voted for referendumindex
.index
: The index of referendum of the vote to be removed.
Weight: O(R + log R)
where R is the number of referenda that target
has voted on.
Weight is calculated for the maximum number of vote.
Fields of remove_other_vote
target: T::AccountId
index: ReferendumIndex
Enact a proposal from a referendum. For now we just make the weight be the maximum.
Fields of enact_proposal
proposal_hash: T::Hash
index: ReferendumIndex
Permanently place a proposal into the blacklist. This prevents it from ever being proposed again.
If called on a queued public or external proposal, then this will result in it being
removed. If the ref_index
supplied is an active referendum with the proposal hash,
then it will be cancelled.
The dispatch origin of this call must be BlacklistOrigin
.
proposal_hash
: The proposal hash to blacklist permanently.ref_index
: An ongoing referendum whose hash isproposal_hash
, which will be cancelled.
Weight: O(p)
(though as this is an high-privilege dispatch, we assume it has a
reasonable value).
Fields of blacklist
proposal_hash: T::Hash
maybe_ref_index: Option<ReferendumIndex>
Remove a proposal.
The dispatch origin of this call must be CancelProposalOrigin
.
prop_index
: The index of the proposal to cancel.
Weight: O(p)
where p = PublicProps::<T>::decode_len()
Fields of cancel_proposal
prop_index: PropIndex
Implementations
Create a call with the variant propose
.
Create a call with the variant second
.
pub fn new_call_variant_vote(
ref_index: ReferendumIndex,
vote: AccountVote<<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance>
) -> Self
pub fn new_call_variant_vote(
ref_index: ReferendumIndex,
vote: AccountVote<<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance>
) -> Self
Create a call with the variant vote
.
Create a call with the variant emergency_cancel
.
Create a call with the variant external_propose
.
Create a call with the variant external_propose_majority
.
Create a call with the variant external_propose_default
.
pub fn new_call_variant_fast_track(
proposal_hash: T::Hash,
voting_period: T::BlockNumber,
delay: T::BlockNumber
) -> Self
pub fn new_call_variant_fast_track(
proposal_hash: T::Hash,
voting_period: T::BlockNumber,
delay: T::BlockNumber
) -> Self
Create a call with the variant fast_track
.
Create a call with the variant veto_external
.
Create a call with the variant cancel_referendum
.
Create a call with the variant cancel_queued
.
pub fn new_call_variant_delegate(
to: T::AccountId,
conviction: Conviction,
balance: <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance
) -> Self
pub fn new_call_variant_delegate(
to: T::AccountId,
conviction: Conviction,
balance: <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance
) -> Self
Create a call with the variant delegate
.
Create a call with the variant undelegate
.
Create a call with the variant clear_public_proposals
.
Create a call with the variant note_preimage
.
Create a call with the variant note_preimage_operational
.
Create a call with the variant note_imminent_preimage
.
Create a call with the variant note_imminent_preimage_operational
.
pub fn new_call_variant_reap_preimage(
proposal_hash: T::Hash,
proposal_len_upper_bound: u32
) -> Self
pub fn new_call_variant_reap_preimage(
proposal_hash: T::Hash,
proposal_len_upper_bound: u32
) -> Self
Create a call with the variant reap_preimage
.
Create a call with the variant unlock
.
Create a call with the variant remove_vote
.
pub fn new_call_variant_remove_other_vote(
target: T::AccountId,
index: ReferendumIndex
) -> Self
pub fn new_call_variant_remove_other_vote(
target: T::AccountId,
index: ReferendumIndex
) -> Self
Create a call with the variant remove_other_vote
.
pub fn new_call_variant_enact_proposal(
proposal_hash: T::Hash,
index: ReferendumIndex
) -> Self
pub fn new_call_variant_enact_proposal(
proposal_hash: T::Hash,
index: ReferendumIndex
) -> Self
Create a call with the variant enact_proposal
.
pub fn new_call_variant_blacklist(
proposal_hash: T::Hash,
maybe_ref_index: Option<ReferendumIndex>
) -> Self
pub fn new_call_variant_blacklist(
proposal_hash: T::Hash,
maybe_ref_index: Option<ReferendumIndex>
) -> Self
Create a call with the variant blacklist
.
Create a call with the variant cancel_proposal
.
Trait Implementations
Return the function name of the Call.
Return all function names.
Return a DispatchInfo
, containing relevant information of this dispatch. Read more
impl<T: Config> TypeInfo for Call<T> where
PhantomData<(T,)>: TypeInfo + 'static,
T::Hash: TypeInfo + 'static,
<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: HasCompact,
AccountVote<<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance>: TypeInfo + 'static,
T::Hash: TypeInfo + 'static,
T::Hash: TypeInfo + 'static,
T::Hash: TypeInfo + 'static,
T::Hash: TypeInfo + 'static,
T::BlockNumber: TypeInfo + 'static,
T::BlockNumber: TypeInfo + 'static,
T::Hash: TypeInfo + 'static,
T::AccountId: TypeInfo + 'static,
<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: TypeInfo + 'static,
T::Hash: TypeInfo + 'static,
T::AccountId: TypeInfo + 'static,
T::AccountId: TypeInfo + 'static,
T::Hash: TypeInfo + 'static,
T::Hash: TypeInfo + 'static,
T: Config + 'static,
impl<T: Config> TypeInfo for Call<T> where
PhantomData<(T,)>: TypeInfo + 'static,
T::Hash: TypeInfo + 'static,
<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: HasCompact,
AccountVote<<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance>: TypeInfo + 'static,
T::Hash: TypeInfo + 'static,
T::Hash: TypeInfo + 'static,
T::Hash: TypeInfo + 'static,
T::Hash: TypeInfo + 'static,
T::BlockNumber: TypeInfo + 'static,
T::BlockNumber: TypeInfo + 'static,
T::Hash: TypeInfo + 'static,
T::AccountId: TypeInfo + 'static,
<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: TypeInfo + 'static,
T::Hash: TypeInfo + 'static,
T::AccountId: TypeInfo + 'static,
T::AccountId: TypeInfo + 'static,
T::Hash: TypeInfo + 'static,
T::Hash: TypeInfo + 'static,
T: Config + 'static,
Dispatch this call but do not check the filter in origin.
Auto Trait Implementations
impl<T> RefUnwindSafe for Call<T> where
T: RefUnwindSafe,
<T as Config>::AccountId: RefUnwindSafe,
<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: RefUnwindSafe,
<T as Config>::BlockNumber: RefUnwindSafe,
<T as Config>::Hash: RefUnwindSafe,
impl<T> Send for Call<T> where
T: Send,
<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Send,
impl<T> Sync for Call<T> where
T: Sync,
<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Sync,
impl<T> Unpin for Call<T> where
T: Unpin,
<T as Config>::AccountId: Unpin,
<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Unpin,
<T as Config>::BlockNumber: Unpin,
<T as Config>::Hash: Unpin,
impl<T> UnwindSafe for Call<T> where
T: UnwindSafe,
<T as Config>::AccountId: UnwindSafe,
<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: UnwindSafe,
<T as Config>::BlockNumber: UnwindSafe,
<T as Config>::Hash: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
Convert 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
. Read more
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
Compare self to key
and return true
if they are equal.
Causes self
to use its Binary
implementation when Debug
-formatted.
Causes self
to use its Display
implementation when
Debug
-formatted. Read more
Causes self
to use its LowerExp
implementation when
Debug
-formatted. Read more
Causes self
to use its LowerHex
implementation when
Debug
-formatted. Read more
Causes self
to use its Octal
implementation when Debug
-formatted.
Causes self
to use its Pointer
implementation when
Debug
-formatted. Read more
Causes self
to use its UpperExp
implementation when
Debug
-formatted. Read more
Causes self
to use its UpperHex
implementation when
Debug
-formatted. Read more
Pipes by value. This is generally the method you want to use. Read more
Borrows self
and passes that borrow into the pipe function. Read more
Mutably borrows self
and passes that borrow into the pipe function. Read more
Borrows self
, then passes self.borrow()
into the pipe function. Read more
Mutably borrows self
, then passes self.borrow_mut()
into the pipe
function. Read more
Borrows self
, then passes self.as_ref()
into the pipe function.
Mutably borrows self
, then passes self.as_mut()
into the pipe
function. Read more
Borrows self
, then passes self.deref()
into the pipe function.
fn pipe_as_ref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: AsRef<T>,
T: 'a,
R: 'a,
fn pipe_as_ref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: AsRef<T>,
T: 'a,
R: 'a,
Pipes a trait borrow into a function that cannot normally be called in suffix position. Read more
fn pipe_borrow<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: Borrow<T>,
T: 'a,
R: 'a,
fn pipe_borrow<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: Borrow<T>,
T: 'a,
R: 'a,
Pipes a trait borrow into a function that cannot normally be called in suffix position. Read more
fn pipe_deref<'a, R>(&'a self, func: impl FnOnce(&'a Self::Target) -> R) -> R where
Self: Deref,
R: 'a,
fn pipe_deref<'a, R>(&'a self, func: impl FnOnce(&'a Self::Target) -> R) -> R where
Self: Deref,
R: 'a,
Pipes a dereference into a function that cannot normally be called in suffix position. Read more
Pipes a reference into a function that cannot ordinarily be called in suffix position. Read more
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
Checks if self
is actually part of its subset T
(and can be converted to it).
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
The inclusion map: converts self
to the equivalent element of its superset.
Immutable access to the Borrow<B>
of a value. Read more
Mutable access to the BorrowMut<B>
of a value. Read more
Immutable access to the AsRef<R>
view of a value. Read more
Mutable access to the AsMut<R>
view of a value. Read more
Immutable access to the Deref::Target
of a value. Read more
Mutable access to the Deref::Target
of a value. Read more
Calls .tap()
only in debug builds, and is erased in release builds.
Calls .tap_mut()
only in debug builds, and is erased in release
builds. Read more
Calls .tap_borrow()
only in debug builds, and is erased in release
builds. Read more
Calls .tap_borrow_mut()
only in debug builds, and is erased in release
builds. Read more
Calls .tap_ref()
only in debug builds, and is erased in release
builds. Read more
Calls .tap_ref_mut()
only in debug builds, and is erased in release
builds. Read more
Calls .tap_deref()
only in debug builds, and is erased in release
builds. Read more
Provides immutable access to the reference for inspection.
Calls tap_ref
in debug builds, and does nothing in release builds.
Provides mutable access to the reference for modification.
Calls tap_ref_mut
in debug builds, and does nothing in release builds.
Provides immutable access to the borrow for inspection. Read more
Calls tap_borrow
in debug builds, and does nothing in release builds.
fn tap_borrow_mut<F, R>(self, func: F) -> Self where
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
fn tap_borrow_mut<F, R>(self, func: F) -> Self where
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
Provides mutable access to the borrow for modification.
Immutably dereferences self
for inspection.
fn tap_deref_dbg<F, R>(self, func: F) -> Self where
Self: Deref,
F: FnOnce(&Self::Target) -> R,
fn tap_deref_dbg<F, R>(self, func: F) -> Self where
Self: Deref,
F: FnOnce(&Self::Target) -> R,
Calls tap_deref
in debug builds, and does nothing in release builds.
fn tap_deref_mut<F, R>(self, func: F) -> Self where
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
fn tap_deref_mut<F, R>(self, func: F) -> Self where
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
Mutably dereferences self
for modification.
The counterpart to unchecked_from
.
Consume self to return an equivalent value of T
.
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more