Struct pallet_referenda::pallet::Pallet  
source · pub struct Pallet<T, I = ()>(_);Expand description
The Pallet struct, the main type that implements traits and standalone
functions within the pallet.
Implementations§
source§impl<T: Config<I>, I: 'static> Pallet<T, I>
 
impl<T: Config<I>, I: 'static> Pallet<T, I>
sourcepub fn submit(
    origin: OriginFor<T>,
    proposal_origin: Box<PalletsOriginOf<T>>,
    proposal: BoundedCallOf<T, I>,
    enactment_moment: DispatchTime<BlockNumberFor<T>>
) -> DispatchResult
 
pub fn submit( origin: OriginFor<T>, proposal_origin: Box<PalletsOriginOf<T>>, proposal: BoundedCallOf<T, I>, enactment_moment: DispatchTime<BlockNumberFor<T>> ) -> DispatchResult
Propose a referendum on a privileged action.
origin: must beSubmitOriginand the account must haveSubmissionDepositfunds available.proposal_origin: The origin from which the proposal should be executed.proposal: The proposal.enactment_moment: The moment that the proposal should be enacted.
Emits Submitted.
sourcepub fn place_decision_deposit(
    origin: OriginFor<T>,
    index: ReferendumIndex
) -> DispatchResultWithPostInfo
 
pub fn place_decision_deposit( origin: OriginFor<T>, index: ReferendumIndex ) -> DispatchResultWithPostInfo
Post the Decision Deposit for a referendum.
origin: must beSignedand the account must have funds available for the referendum’s track’s Decision Deposit.index: The index of the submitted referendum whose Decision Deposit is yet to be posted.
Emits DecisionDepositPlaced.
sourcepub fn refund_decision_deposit(
    origin: OriginFor<T>,
    index: ReferendumIndex
) -> DispatchResult
 
pub fn refund_decision_deposit( origin: OriginFor<T>, index: ReferendumIndex ) -> DispatchResult
Refund the Decision Deposit for a closed referendum back to the depositor.
origin: must beSignedorRoot.index: The index of a closed referendum whose Decision Deposit has not yet been refunded.
Emits DecisionDepositRefunded.
sourcepub fn cancel(origin: OriginFor<T>, index: ReferendumIndex) -> DispatchResult
 
pub fn cancel(origin: OriginFor<T>, index: ReferendumIndex) -> DispatchResult
Cancel an ongoing referendum.
origin: must be theCancelOrigin.index: The index of the referendum to be cancelled.
Emits Cancelled.
sourcepub fn kill(origin: OriginFor<T>, index: ReferendumIndex) -> DispatchResult
 
pub fn kill(origin: OriginFor<T>, index: ReferendumIndex) -> DispatchResult
Cancel an ongoing referendum and slash the deposits.
origin: must be theKillOrigin.index: The index of the referendum to be cancelled.
Emits Killed and DepositSlashed.
sourcepub fn nudge_referendum(
    origin: OriginFor<T>,
    index: ReferendumIndex
) -> DispatchResultWithPostInfo
 
pub fn nudge_referendum( origin: OriginFor<T>, index: ReferendumIndex ) -> DispatchResultWithPostInfo
Advance a referendum onto its next logical state. Only used internally.
origin: must beRoot.index: the referendum to be advanced.
sourcepub fn one_fewer_deciding(
    origin: OriginFor<T>,
    track: TrackIdOf<T, I>
) -> DispatchResultWithPostInfo
 
pub fn one_fewer_deciding( origin: OriginFor<T>, track: TrackIdOf<T, I> ) -> DispatchResultWithPostInfo
Advance a track onto its next logical state. Only used internally.
origin: must beRoot.track: the track to be advanced.
Action item for when there is now one fewer referendum in the deciding phase and the
DecidingCount is not yet updated. This means that we should either:
- begin deciding another referendum (and leave 
DecidingCountalone); or - decrement 
DecidingCount. 
sourcepub fn refund_submission_deposit(
    origin: OriginFor<T>,
    index: ReferendumIndex
) -> DispatchResult
 
pub fn refund_submission_deposit( origin: OriginFor<T>, index: ReferendumIndex ) -> DispatchResult
Refund the Submission Deposit for a closed referendum back to the depositor.
origin: must beSignedorRoot.index: The index of a closed referendum whose Submission Deposit has not yet been refunded.
Emits SubmissionDepositRefunded.
sourcepub fn set_metadata(
    origin: OriginFor<T>,
    index: ReferendumIndex,
    maybe_hash: Option<PreimageHash>
) -> DispatchResult
 
pub fn set_metadata( origin: OriginFor<T>, index: ReferendumIndex, maybe_hash: Option<PreimageHash> ) -> DispatchResult
Set or clear metadata of a referendum.
Parameters:
origin: Must beSignedby a creator of a referendum or by anyone to clear a metadata of a finished referendum.index: The index of a referendum to set or clear metadata for.maybe_hash: The hash of an on-chain stored preimage.Noneto clear a metadata.
source§impl<T: Config<I>, I: 'static> Pallet<T, I>
 
impl<T: Config<I>, I: 'static> Pallet<T, I>
sourcepub fn ensure_ongoing(
    index: ReferendumIndex
) -> Result<ReferendumStatusOf<T, I>, DispatchError>
 
pub fn ensure_ongoing( index: ReferendumIndex ) -> Result<ReferendumStatusOf<T, I>, DispatchError>
Check that referendum index is in the Ongoing state and return the ReferendumStatus
value, or Err otherwise.
sourcepub fn is_referendum_passing(
    ref_index: ReferendumIndex
) -> Result<bool, DispatchError>
 
pub fn is_referendum_passing( ref_index: ReferendumIndex ) -> Result<bool, DispatchError>
Returns whether the referendum is passing. Referendum must be ongoing and its track must exist.
Trait Implementations§
source§impl<T, I: 'static> Benchmarking for Pallet<T, I>where
    T: Config + Config<I>,
 
impl<T, I: 'static> Benchmarking for Pallet<T, I>where T: Config + Config<I>,
source§fn benchmarks(extra: bool) -> Vec<BenchmarkMetadata>
 
fn benchmarks(extra: bool) -> Vec<BenchmarkMetadata>
source§fn run_benchmark(
    extrinsic: &[u8],
    c: &[(BenchmarkParameter, u32)],
    whitelist: &[TrackedStorageKey],
    verify: bool,
    internal_repeats: u32
) -> Result<Vec<BenchmarkResult>, BenchmarkError>
 
fn run_benchmark( extrinsic: &[u8], c: &[(BenchmarkParameter, u32)], whitelist: &[TrackedStorageKey], verify: bool, internal_repeats: u32 ) -> Result<Vec<BenchmarkResult>, BenchmarkError>
source§impl<T: Config<I>, I: 'static> GetStorageVersion for Pallet<T, I>
 
impl<T: Config<I>, I: 'static> GetStorageVersion for Pallet<T, I>
source§fn current_storage_version() -> Self::CurrentStorageVersion
 
fn current_storage_version() -> Self::CurrentStorageVersion
source§fn on_chain_storage_version() -> StorageVersion
 
fn on_chain_storage_version() -> StorageVersion
source§impl<T: Config<I>, I: 'static> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
 
impl<T: Config<I>, I: 'static> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
source§fn try_state(_n: BlockNumberFor<T>) -> Result<(), TryRuntimeError>
 
fn try_state(_n: BlockNumberFor<T>) -> Result<(), TryRuntimeError>
source§fn on_initialize(_n: BlockNumber) -> Weight
 
fn on_initialize(_n: BlockNumber) -> Weight
source§fn on_finalize(_n: BlockNumber)
 
fn on_finalize(_n: BlockNumber)
source§fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight
 
fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight
Hooks::on_finalize). Read moresource§fn on_runtime_upgrade() -> Weight
 
fn on_runtime_upgrade() -> Weight
source§fn pre_upgrade() -> Result<Vec<u8, Global>, DispatchError>
 
fn pre_upgrade() -> Result<Vec<u8, Global>, DispatchError>
source§fn post_upgrade(_state: Vec<u8, Global>) -> Result<(), DispatchError>
 
fn post_upgrade(_state: Vec<u8, Global>) -> Result<(), DispatchError>
source§fn offchain_worker(_n: BlockNumber)
 
fn offchain_worker(_n: BlockNumber)
source§fn integrity_test()
 
fn integrity_test()
source§impl<T: Config<I>, I: 'static> IntegrityTest for Pallet<T, I>
 
impl<T: Config<I>, I: 'static> IntegrityTest for Pallet<T, I>
source§impl<T: Config<I>, I: 'static> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
 
impl<T: Config<I>, I: 'static> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
source§fn offchain_worker(n: BlockNumberFor<T>)
 
fn offchain_worker(n: BlockNumberFor<T>)
source§impl<T: Config<I>, I: 'static> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
 
impl<T: Config<I>, I: 'static> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
source§fn on_finalize(n: BlockNumberFor<T>)
 
fn on_finalize(n: BlockNumberFor<T>)
Hooks::on_finalize.source§impl<T: Config<I>, I: 'static> OnGenesis for Pallet<T, I>
 
impl<T: Config<I>, I: 'static> OnGenesis for Pallet<T, I>
source§fn on_genesis()
 
fn on_genesis()
source§impl<T: Config<I>, I: 'static> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
 
impl<T: Config<I>, I: 'static> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
source§fn on_idle(n: BlockNumberFor<T>, remaining_weight: Weight) -> Weight
 
fn on_idle(n: BlockNumberFor<T>, remaining_weight: Weight) -> Weight
Hooks::on_idle.source§impl<T: Config<I>, I: 'static> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
 
impl<T: Config<I>, I: 'static> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
source§fn on_initialize(n: BlockNumberFor<T>) -> Weight
 
fn on_initialize(n: BlockNumberFor<T>) -> Weight
Hooks::on_initialize.source§impl<T: Config<I>, I: 'static> OnRuntimeUpgrade for Pallet<T, I>
 
impl<T: Config<I>, I: 'static> OnRuntimeUpgrade for Pallet<T, I>
source§fn on_runtime_upgrade() -> Weight
 
fn on_runtime_upgrade() -> Weight
source§fn pre_upgrade() -> Result<Vec<u8>, TryRuntimeError>
 
fn pre_upgrade() -> Result<Vec<u8>, TryRuntimeError>
Hooks::pre_upgrade.source§fn post_upgrade(state: Vec<u8>) -> Result<(), TryRuntimeError>
 
fn post_upgrade(state: Vec<u8>) -> Result<(), TryRuntimeError>
Hooks::post_upgrade.source§fn try_on_runtime_upgrade(checks: bool) -> Result<Weight, DispatchError>
 
fn try_on_runtime_upgrade(checks: bool) -> Result<Weight, DispatchError>
pre_upgrade ->
on_runtime_upgrade -> post_upgrade hooks for a migration. Read moresource§impl<T: Config<I>, I: 'static> PalletInfoAccess for Pallet<T, I>
 
impl<T: Config<I>, I: 'static> PalletInfoAccess for Pallet<T, I>
source§fn module_name() -> &'static str
 
fn module_name() -> &'static str
source§fn crate_version() -> CrateVersion
 
fn crate_version() -> CrateVersion
source§impl<T: Config<I>, I: 'static> PalletsInfoAccess for Pallet<T, I>
 
impl<T: Config<I>, I: 'static> PalletsInfoAccess for Pallet<T, I>
source§impl<T, I> PartialEq<Pallet<T, I>> for Pallet<T, I>
 
impl<T, I> PartialEq<Pallet<T, I>> for Pallet<T, I>
source§impl<T: Config<I>, I: 'static> Polling<<T as Config<I>>::Tally> for Pallet<T, I>
 
impl<T: Config<I>, I: 'static> Polling<<T as Config<I>>::Tally> for Pallet<T, I>
type Index = u32
type Votes = <T as Config<I>>::Votes
type Moment = <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number
type Class = <<T as Config<I>>::Tracks as TracksInfo<<<T as Config<I>>::Currency as Currency<<T as Config>::AccountId>>::Balance, <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>>::Id
fn access_poll<R>( index: Self::Index, f: impl FnOnce(PollStatus<&mut T::Tally, BlockNumberFor<T>, TrackIdOf<T, I>>) -> R ) -> R
fn try_access_poll<R>( index: Self::Index, f: impl FnOnce(PollStatus<&mut T::Tally, BlockNumberFor<T>, TrackIdOf<T, I>>) -> Result<R, DispatchError> ) -> Result<R, DispatchError>
source§fn as_ongoing(index: Self::Index) -> Option<(T::Tally, TrackIdOf<T, I>)>
 
fn as_ongoing(index: Self::Index) -> Option<(T::Tally, TrackIdOf<T, I>)>
Some if the referendum index can be voted on, along with the tally and class of
referendum. Read moresource§fn create_ongoing(class: Self::Class) -> Result<Self::Index, ()>
 
fn create_ongoing(class: Self::Class) -> Result<Self::Index, ()>
source§fn end_ongoing(index: Self::Index, approved: bool) -> Result<(), ()>
 
fn end_ongoing(index: Self::Index, approved: bool) -> Result<(), ()>
source§fn max_ongoing() -> (Self::Class, u32)
 
fn max_ongoing() -> (Self::Class, u32)
u32::max_value()).source§impl<T: Config<I>, I: 'static> StorageInfoTrait for Pallet<T, I>
 
impl<T: Config<I>, I: 'static> StorageInfoTrait for Pallet<T, I>
fn storage_info() -> Vec<StorageInfo>
source§impl<T: Config<I>, I: 'static> TryState<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
 
impl<T: Config<I>, I: 'static> TryState<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
source§fn try_state(
    n: BlockNumberFor<T>,
    _s: TryStateSelect
) -> Result<(), TryRuntimeError>
 
fn try_state( n: BlockNumberFor<T>, _s: TryStateSelect ) -> Result<(), TryRuntimeError>
source§impl<T: Config<I>, I: 'static> WhitelistedStorageKeys for Pallet<T, I>
 
impl<T: Config<I>, I: 'static> WhitelistedStorageKeys for Pallet<T, I>
source§fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>
 
fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>
Vec<TrackedStorageKey> indicating the storage keys that
should be whitelisted during benchmarking. This means that those keys
will be excluded from the benchmarking performance calculation.impl<T, I> Eq for Pallet<T, I>
Auto Trait Implementations§
impl<T, I> RefUnwindSafe for Pallet<T, I>where I: RefUnwindSafe, T: RefUnwindSafe,
impl<T, I> Send for Pallet<T, I>where I: Send, T: Send,
impl<T, I> Sync for Pallet<T, I>where I: Sync, T: Sync,
impl<T, I> Unpin for Pallet<T, I>where I: Unpin, T: Unpin,
impl<T, I> UnwindSafe for Pallet<T, I>where I: UnwindSafe, T: UnwindSafe,
Blanket Implementations§
source§impl<T> CheckedConversion for T
 
impl<T> CheckedConversion for T
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<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,
§fn equivalent(&self, key: &K) -> bool
 
fn equivalent(&self, key: &K) -> bool
source§impl<T> Instrument for T
 
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
 
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
 
fn in_current_span(self) -> Instrumented<Self>
source§impl<T, Outer> IsWrappedBy<Outer> for Twhere
    Outer: AsRef<T> + AsMut<T> + From<T>,
    T: From<Outer>,
 
impl<T, Outer> IsWrappedBy<Outer> for Twhere Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,
§impl<T> Pointable for T
 
impl<T> Pointable for T
source§impl<T> SaturatedConversion for T
 
impl<T> SaturatedConversion for T
source§fn saturated_from<T>(t: T) -> Selfwhere
    Self: UniqueSaturatedFrom<T>,
 
fn saturated_from<T>(t: T) -> Selfwhere Self: UniqueSaturatedFrom<T>,
source§fn saturated_into<T>(self) -> Twhere
    Self: UniqueSaturatedInto<T>,
 
fn saturated_into<T>(self) -> Twhere Self: UniqueSaturatedInto<T>,
T. Read more§impl<SS, SP> SupersetOf<SS> for SPwhere
    SS: SubsetOf<SP>,
 
impl<SS, SP> SupersetOf<SS> for SPwhere SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
 
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
 
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
 
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
 
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.source§impl<S, T> UncheckedInto<T> for Swhere
    T: UncheckedFrom<S>,
 
impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,
source§fn unchecked_into(self) -> T
 
fn unchecked_into(self) -> T
unchecked_from.source§impl<T, S> UniqueSaturatedInto<T> for Swhere
    T: Bounded,
    S: TryInto<T>,
 
impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,
source§fn unique_saturated_into(self) -> T
 
fn unique_saturated_into(self) -> T
T.