Type Alias moonbeam_runtime::Referenda
source · pub type Referenda = Pallet<Runtime>;
Aliased Type§
struct Referenda(/* private fields */);
Implementations
§impl<T, I> Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> Pallet<T, I>where
T: Config<I>,
I: 'static,
pub fn submit(
origin: <T as Config>::RuntimeOrigin,
proposal_origin: Box<<<T as Config>::RuntimeOrigin as OriginTrait>::PalletsOrigin>,
proposal: Bounded<<T as Config<I>>::RuntimeCall, <T as Config>::Hashing>,
enactment_moment: DispatchTime<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>
) -> Result<(), DispatchError>
pub fn submit( origin: <T as Config>::RuntimeOrigin, proposal_origin: Box<<<T as Config>::RuntimeOrigin as OriginTrait>::PalletsOrigin>, proposal: Bounded<<T as Config<I>>::RuntimeCall, <T as Config>::Hashing>, enactment_moment: DispatchTime<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> ) -> Result<(), DispatchError>
Propose a referendum on a privileged action.
origin
: must beSubmitOrigin
and the account must haveSubmissionDeposit
funds 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
.
pub fn place_decision_deposit(
origin: <T as Config>::RuntimeOrigin,
index: u32
) -> Result<PostDispatchInfo, DispatchErrorWithPostInfo<PostDispatchInfo>>
pub fn place_decision_deposit( origin: <T as Config>::RuntimeOrigin, index: u32 ) -> Result<PostDispatchInfo, DispatchErrorWithPostInfo<PostDispatchInfo>>
Post the Decision Deposit for a referendum.
origin
: must beSigned
and 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
.
pub fn refund_decision_deposit(
origin: <T as Config>::RuntimeOrigin,
index: u32
) -> Result<(), DispatchError>
pub fn refund_decision_deposit( origin: <T as Config>::RuntimeOrigin, index: u32 ) -> Result<(), DispatchError>
Refund the Decision Deposit for a closed referendum back to the depositor.
origin
: must beSigned
orRoot
.index
: The index of a closed referendum whose Decision Deposit has not yet been refunded.
Emits DecisionDepositRefunded
.
pub fn cancel(
origin: <T as Config>::RuntimeOrigin,
index: u32
) -> Result<(), DispatchError>
pub fn cancel( origin: <T as Config>::RuntimeOrigin, index: u32 ) -> Result<(), DispatchError>
Cancel an ongoing referendum.
origin
: must be theCancelOrigin
.index
: The index of the referendum to be cancelled.
Emits Cancelled
.
pub fn kill(
origin: <T as Config>::RuntimeOrigin,
index: u32
) -> Result<(), DispatchError>
pub fn kill( origin: <T as Config>::RuntimeOrigin, index: u32 ) -> Result<(), DispatchError>
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
.
pub fn nudge_referendum(
origin: <T as Config>::RuntimeOrigin,
index: u32
) -> Result<PostDispatchInfo, DispatchErrorWithPostInfo<PostDispatchInfo>>
pub fn nudge_referendum( origin: <T as Config>::RuntimeOrigin, index: u32 ) -> Result<PostDispatchInfo, DispatchErrorWithPostInfo<PostDispatchInfo>>
Advance a referendum onto its next logical state. Only used internally.
origin
: must beRoot
.index
: the referendum to be advanced.
pub fn one_fewer_deciding(
origin: <T as Config>::RuntimeOrigin,
track: <<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
) -> Result<PostDispatchInfo, DispatchErrorWithPostInfo<PostDispatchInfo>>
pub fn one_fewer_deciding( origin: <T as Config>::RuntimeOrigin, track: <<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 ) -> Result<PostDispatchInfo, DispatchErrorWithPostInfo<PostDispatchInfo>>
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
DecidingCount
alone); or - decrement
DecidingCount
.
pub fn refund_submission_deposit(
origin: <T as Config>::RuntimeOrigin,
index: u32
) -> Result<(), DispatchError>
pub fn refund_submission_deposit( origin: <T as Config>::RuntimeOrigin, index: u32 ) -> Result<(), DispatchError>
Refund the Submission Deposit for a closed referendum back to the depositor.
origin
: must beSigned
orRoot
.index
: The index of a closed referendum whose Submission Deposit has not yet been refunded.
Emits SubmissionDepositRefunded
.
pub fn set_metadata(
origin: <T as Config>::RuntimeOrigin,
index: u32,
maybe_hash: Option<<T as Config>::Hash>
) -> Result<(), DispatchError>
pub fn set_metadata( origin: <T as Config>::RuntimeOrigin, index: u32, maybe_hash: Option<<T as Config>::Hash> ) -> Result<(), DispatchError>
Set or clear metadata of a referendum.
Parameters:
origin
: Must beSigned
by 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.None
to clear a metadata.
§impl<T, I> Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> Pallet<T, I>where
T: Config<I>,
I: 'static,
pub fn ensure_ongoing(
index: u32
) -> Result<ReferendumStatus<<<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, <<T as Config>::RuntimeOrigin as OriginTrait>::PalletsOrigin, <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, Bounded<<T as Config<I>>::RuntimeCall, <T as Config>::Hashing>, <<T as Config<I>>::Currency as Currency<<T as Config>::AccountId>>::Balance, <T as Config<I>>::Tally, <T as Config>::AccountId, <<T as Config<I>>::Scheduler as Anon<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, <T as Config<I>>::RuntimeCall, <<T as Config>::RuntimeOrigin as OriginTrait>::PalletsOrigin>>::Address>, DispatchError>
pub fn ensure_ongoing( index: u32 ) -> Result<ReferendumStatus<<<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, <<T as Config>::RuntimeOrigin as OriginTrait>::PalletsOrigin, <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, Bounded<<T as Config<I>>::RuntimeCall, <T as Config>::Hashing>, <<T as Config<I>>::Currency as Currency<<T as Config>::AccountId>>::Balance, <T as Config<I>>::Tally, <T as Config>::AccountId, <<T as Config<I>>::Scheduler as Anon<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, <T as Config<I>>::RuntimeCall, <<T as Config>::RuntimeOrigin as OriginTrait>::PalletsOrigin>>::Address>, DispatchError>
Check that referendum index
is in the Ongoing
state and return the ReferendumStatus
value, or Err
otherwise.
pub fn is_referendum_passing(ref_index: u32) -> Result<bool, DispatchError>
pub fn is_referendum_passing(ref_index: u32) -> Result<bool, DispatchError>
Returns whether the referendum is passing. Referendum must be ongoing and its track must exist.
Trait Implementations
§impl<T, I> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>where
T: Config<I>,
I: 'static,
§fn integrity_test()
fn integrity_test()
§fn on_initialize(_n: BlockNumber) -> Weight
fn on_initialize(_n: BlockNumber) -> Weight
§fn on_finalize(_n: BlockNumber)
fn on_finalize(_n: BlockNumber)
§fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight
fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight
Hooks::on_finalize
]). Read more§fn on_poll(_n: BlockNumber, _weight: &mut WeightMeter)
fn on_poll(_n: BlockNumber, _weight: &mut WeightMeter)
§fn on_runtime_upgrade() -> Weight
fn on_runtime_upgrade() -> Weight
Executive
pallet. Read more§fn offchain_worker(_n: BlockNumber)
fn offchain_worker(_n: BlockNumber)
§impl<T, I> IntegrityTest for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> IntegrityTest for Pallet<T, I>where
T: Config<I>,
I: 'static,
§fn integrity_test()
fn integrity_test()
Hooks::integrity_test
].§impl<T, I> BeforeAllRuntimeMigrations for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> BeforeAllRuntimeMigrations for Pallet<T, I>where
T: Config<I>,
I: 'static,
§fn before_all_runtime_migrations() -> Weight
fn before_all_runtime_migrations() -> Weight
§impl<T, I> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>where
T: Config<I>,
I: 'static,
§impl<T, I> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>where
T: Config<I>,
I: 'static,
§fn offchain_worker(
n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number
)
fn offchain_worker( n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number )
§impl<T, I> OnGenesis for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> OnGenesis for Pallet<T, I>where
T: Config<I>,
I: 'static,
§fn on_genesis()
fn on_genesis()
§impl<T, I> Polling<<T as Config<I>>::Tally> for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> Polling<<T as Config<I>>::Tally> for Pallet<T, I>where
T: Config<I>,
I: 'static,
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 classes() -> Vec<<Pallet<T, I> as Polling<<T as Config<I>>::Tally>>::Class>
fn classes() -> Vec<<Pallet<T, I> as Polling<<T as Config<I>>::Tally>>::Class>
T
may take.fn access_poll<R>( index: <Pallet<T, I> as Polling<<T as Config<I>>::Tally>>::Index, f: impl FnOnce(PollStatus<&mut <T as Config<I>>::Tally, <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, <<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>) -> R ) -> R
fn try_access_poll<R>( index: <Pallet<T, I> as Polling<<T as Config<I>>::Tally>>::Index, f: impl FnOnce(PollStatus<&mut <T as Config<I>>::Tally, <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, <<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>) -> Result<R, DispatchError> ) -> Result<R, DispatchError>
§fn as_ongoing(
index: <Pallet<T, I> as Polling<<T as Config<I>>::Tally>>::Index
) -> Option<(<T as Config<I>>::Tally, <<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 as_ongoing( index: <Pallet<T, I> as Polling<<T as Config<I>>::Tally>>::Index ) -> Option<(<T as Config<I>>::Tally, <<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)>
Some
if the referendum index
can be voted on, along with the tally and class of
referendum. Read more§impl<T, I> StorageInfoTrait for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> StorageInfoTrait for Pallet<T, I>where
T: Config<I>,
I: 'static,
fn storage_info() -> Vec<StorageInfo>
§impl<T, I> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>where
T: Config<I>,
I: 'static,
§fn on_initialize(
n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number
) -> Weight
fn on_initialize( n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number ) -> Weight
Hooks::on_initialize
].§impl<T, I> PalletsInfoAccess for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> PalletsInfoAccess for Pallet<T, I>where
T: Config<I>,
I: 'static,
§impl<T, I> OnRuntimeUpgrade for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> OnRuntimeUpgrade for Pallet<T, I>where
T: Config<I>,
I: 'static,
§fn on_runtime_upgrade() -> Weight
fn on_runtime_upgrade() -> Weight
Hooks::on_runtime_upgrade
].§impl<T, I> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>where
T: Config<I>,
I: 'static,
§fn on_finalize(
n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number
)
fn on_finalize( n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number )
Hooks::on_finalize
].§impl<T, I> Callable<T> for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> Callable<T> for Pallet<T, I>where
T: Config<I>,
I: 'static,
type RuntimeCall = Call<T, I>
§impl<T, I> OnPoll<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> OnPoll<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>where
T: Config<I>,
I: 'static,
§impl<T, I> WhitelistedStorageKeys for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> WhitelistedStorageKeys for Pallet<T, I>where
T: Config<I>,
I: 'static,
§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> GetStorageVersion for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> GetStorageVersion for Pallet<T, I>where
T: Config<I>,
I: 'static,
§type InCodeStorageVersion = StorageVersion
type InCodeStorageVersion = StorageVersion
§fn in_code_storage_version(
) -> <Pallet<T, I> as GetStorageVersion>::InCodeStorageVersion
fn in_code_storage_version( ) -> <Pallet<T, I> as GetStorageVersion>::InCodeStorageVersion
storage_version
attribute, or
[NoStorageVersionSet
] if the attribute is missing.§fn on_chain_storage_version() -> StorageVersion
fn on_chain_storage_version() -> StorageVersion
§fn current_storage_version() -> Self::InCodeStorageVersion
fn current_storage_version() -> Self::InCodeStorageVersion
in_code_storage_version
and will be removed after March 2024.Self::current_storage_version
] instead. Read more