Enum pallet_democracy::pallet::Call [−][src]
pub enum Call<T: Config> {}Show variants
propose(T::Hash, <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance), second(PropIndex, u32), vote(ReferendumIndex, AccountVote<<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance>), emergency_cancel(ReferendumIndex), external_propose(T::Hash), external_propose_majority(T::Hash), external_propose_default(T::Hash), fast_track(T::Hash, T::BlockNumber, T::BlockNumber), veto_external(T::Hash), cancel_referendum(ReferendumIndex), cancel_queued(ReferendumIndex), delegate(T::AccountId, Conviction, <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance), undelegate(), clear_public_proposals(), note_preimage(Vec<u8>), note_preimage_operational(Vec<u8>), note_imminent_preimage(Vec<u8>), note_imminent_preimage_operational(Vec<u8>), reap_preimage(T::Hash, u32), unlock(T::AccountId), remove_vote(ReferendumIndex), remove_other_vote(T::AccountId, ReferendumIndex), enact_proposal(T::Hash, ReferendumIndex), blacklist(T::Hash, Option<ReferendumIndex>), cancel_proposal(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)
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(ReferendumIndex, AccountVote<<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance>)
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.
emergency_cancel(ReferendumIndex)
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)
.
external_propose(T::Hash)
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
external_propose_majority(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)
external_propose_default(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)
fast_track(T::Hash, T::BlockNumber, T::BlockNumber)
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)
veto_external(T::Hash)
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
cancel_referendum(ReferendumIndex)
Remove a referendum.
The dispatch origin of this call must be Root.
ref_index
: The index of the referendum to cancel.
Weight: O(1)
.
cancel_queued(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
.
delegate(T::AccountId, Conviction, <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance)
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.
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.
Clears all public proposals.
The dispatch origin of this call must be Root.
Weight: O(1)
.
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(T::AccountId)
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.
remove_vote(ReferendumIndex)
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.
remove_other_vote(T::AccountId, 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.
enact_proposal(T::Hash, ReferendumIndex)
Enact a proposal from a referendum. For now we just make the weight be the maximum.
blacklist(T::Hash, Option<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).
cancel_proposal(PropIndex)
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()
Trait Implementations
Attempt to deserialise the value from input.
Attempt to skip the encoded value from input. Read more
fn encoded_fixed_size() -> Option<usize>
fn encoded_fixed_size() -> Option<usize>
Returns the fixed encoded size of the type. Read more
Convert self to a slice and append it to the destination.
fn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R,
fn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R,
Convert self to a slice and then invoke the given closure with it.
fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Calculates the encoded size. Read more
Return the function name of the Call.
Return all function names.
Return a DispatchInfo
, containing relevant information of this dispatch. Read more
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
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
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
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
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
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
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
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
type Output = T
type Output = T
Should always be Self
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
pub fn is_in_subset(&self) -> bool
pub fn is_in_subset(&self) -> bool
Checks if self
is actually part of its subset T
(and can be converted to it).
pub fn to_subset_unchecked(&self) -> SS
pub fn to_subset_unchecked(&self) -> SS
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
pub fn from_subset(element: &SS) -> SP
pub fn from_subset(element: &SS) -> SP
The inclusion map: converts self
to the equivalent element of its superset.
The counterpart to unchecked_from
.
Consume self to return an equivalent value of T
.
pub fn vzip(self) -> V
impl<'_, '_, T> EncodeLike<&'_ &'_ T> for T where
T: Encode,
impl<'_, T> EncodeLike<&'_ T> for T where
T: Encode,
impl<'_, T> EncodeLike<&'_ mut T> for T where
T: Encode,
impl<T> EncodeLike<Arc<T>> for T where
T: Encode,
impl<T> EncodeLike<Rc<T>> for T where
T: Encode,
impl<T> MaybeDebug for T where
T: Debug,
impl<T> MaybeDebug for T where
T: Debug,