pub type Module<T> = Pallet<T>;
Pallet
insteadExpand description
Type alias to Pallet
, to be used by construct_runtime
.
Generated by pallet
attribute macro.
Aliased Type§
struct Module<T>(/* private fields */);
Implementations
Source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
Sourcepub fn epoch_index() -> u64
pub fn epoch_index() -> u64
An auto-generated getter for EpochIndex
.
Source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
An auto-generated getter for Authorities
.
Source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
An auto-generated getter for NextAuthorities
.
Source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
Sourcepub fn genesis_slot() -> Slot
pub fn genesis_slot() -> Slot
An auto-generated getter for GenesisSlot
.
Source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
Sourcepub fn current_slot() -> Slot
pub fn current_slot() -> Slot
An auto-generated getter for CurrentSlot
.
Source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
Sourcepub fn randomness() -> Randomness
pub fn randomness() -> Randomness
An auto-generated getter for CurrentRandomness
.
Source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
Sourcepub fn next_randomness() -> Randomness
pub fn next_randomness() -> Randomness
An auto-generated getter for NextRandomness
.
Source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
Sourcepub fn randomness_accumulator() -> Randomness
pub fn randomness_accumulator() -> Randomness
An auto-generated getter for RandomnessAccumulator
.
Source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
Sourcepub fn config() -> EpochConfiguration
pub fn config() -> EpochConfiguration
An auto-generated getter for EpochConfig
.
Source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
Sourcepub fn next_config() -> Option<EpochConfiguration>
pub fn next_config() -> Option<EpochConfiguration>
An auto-generated getter for NextEpochConfig
.
Source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
Sourcepub fn ring_context() -> Option<RingContext>
pub fn ring_context() -> Option<RingContext>
An auto-generated getter for RingContext
.
Source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
Sourcepub fn submit_tickets(
origin: OriginFor<T>,
tickets: BoundedVec<TicketEnvelope, EpochLengthFor<T>>,
) -> DispatchResultWithPostInfo
pub fn submit_tickets( origin: OriginFor<T>, tickets: BoundedVec<TicketEnvelope, EpochLengthFor<T>>, ) -> DispatchResultWithPostInfo
Submit next epoch tickets candidates.
The number of tickets allowed to be submitted in one call is equal to the epoch length.
Sourcepub fn plan_config_change(
origin: OriginFor<T>,
config: EpochConfiguration,
) -> DispatchResult
pub fn plan_config_change( origin: OriginFor<T>, config: EpochConfiguration, ) -> DispatchResult
Plan an epoch configuration change.
The epoch configuration change is recorded and will be announced at the beginning of the next epoch together with next epoch authorities information. In other words, the configuration will be enacted one epoch later.
Multiple calls to this method will replace any existing planned config change that has not been enacted yet.
Source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
Sourcepub fn current_epoch() -> Epoch
pub fn current_epoch() -> Epoch
Current epoch information.
Sourcepub fn next_epoch() -> Epoch
pub fn next_epoch() -> Epoch
Next epoch information.
Sourcepub fn slot_ticket_id(slot: Slot) -> Option<TicketId>
pub fn slot_ticket_id(slot: Slot) -> Option<TicketId>
Fetch expected ticket-id for the given slot according to an “outside-in” sorting strategy.
Given an ordered sequence of tickets [t0, t1, t2, …, tk] to be assigned to n slots, with n >= k, then the tickets are assigned to the slots according to the following strategy:
slot-index : [ 0, 1, 2, ………… , n ] tickets : [ t1, t3, t5, … , t4, t2, t0 ].
With slot-index computed as epoch_start() - slot
.
If slot
value falls within the current epoch then we fetch tickets from the current epoch
tickets list.
If slot
value falls within the next epoch then we fetch tickets from the next epoch
tickets ids list. Note that in this case we may have not finished receiving all the tickets
for that epoch yet. The next epoch tickets should be considered “stable” only after the
current epoch first half slots were elapsed (see submit_tickets_unsigned_extrinsic
).
Returns None
if, according to the sorting strategy, there is no ticket associated to the
specified slot-index (happens if a ticket falls in the middle of an epoch and n > k),
or if the slot falls beyond the next epoch.
Before importing the first block this returns None
.
Sourcepub fn slot_ticket(slot: Slot) -> Option<(TicketId, TicketBody)>
pub fn slot_ticket(slot: Slot) -> Option<(TicketId, TicketBody)>
Returns ticket id and data associated with the given slot
.
Refer to the slot_ticket_id
documentation for the slot-ticket association
criteria.
Sourcepub fn submit_tickets_unsigned_extrinsic(tickets: Vec<TicketEnvelope>) -> bool
pub fn submit_tickets_unsigned_extrinsic(tickets: Vec<TicketEnvelope>) -> bool
Submit next epoch validator tickets via an unsigned extrinsic constructed with a call to
submit_unsigned_transaction
.
The submitted tickets are added to the next epoch outstanding tickets as long as the extrinsic is called within the first half of the epoch. Tickets received during the second half are dropped.
Sourcepub fn epoch_length() -> u32
pub fn epoch_length() -> u32
Epoch length
Trait Implementations
Source§impl<T: Config> BeforeAllRuntimeMigrations for Pallet<T>
impl<T: Config> BeforeAllRuntimeMigrations for Pallet<T>
Source§fn before_all_runtime_migrations() -> Weight
fn before_all_runtime_migrations() -> Weight
Source§impl<T> Benchmarking for Pallet<T>where
T: Config + Config,
impl<T> Benchmarking for Pallet<T>where
T: Config + Config,
Source§impl<T: Config> GetStorageVersion for Pallet<T>
impl<T: Config> GetStorageVersion for Pallet<T>
Source§type InCodeStorageVersion = NoStorageVersionSet
type InCodeStorageVersion = NoStorageVersionSet
Source§fn in_code_storage_version() -> Self::InCodeStorageVersion
fn in_code_storage_version() -> Self::InCodeStorageVersion
storage_version
attribute, or
[NoStorageVersionSet
] if the attribute is missing.Source§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 moreSource§impl<T: Config> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
Source§fn on_initialize(block_num: BlockNumberFor<T>) -> Weight
fn on_initialize(block_num: BlockNumberFor<T>) -> Weight
Source§fn on_finalize(_: BlockNumberFor<T>)
fn on_finalize(_: BlockNumberFor<T>)
§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 try_state(_n: BlockNumber) -> Result<(), DispatchError>
fn try_state(_n: BlockNumber) -> Result<(), DispatchError>
§fn pre_upgrade() -> Result<Vec<u8>, DispatchError>
fn pre_upgrade() -> Result<Vec<u8>, DispatchError>
§fn post_upgrade(_state: Vec<u8>) -> Result<(), DispatchError>
fn post_upgrade(_state: Vec<u8>) -> Result<(), DispatchError>
§fn offchain_worker(_n: BlockNumber)
fn offchain_worker(_n: BlockNumber)
§fn integrity_test()
fn integrity_test()
Source§impl<T: Config> IntegrityTest for Pallet<T>
impl<T: Config> IntegrityTest for Pallet<T>
Source§fn integrity_test()
fn integrity_test()
Hooks::integrity_test
].Source§impl<T: Config> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
Source§fn offchain_worker(n: BlockNumberFor<T>)
fn offchain_worker(n: BlockNumberFor<T>)
Source§impl<T: Config> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
Source§fn on_finalize(n: BlockNumberFor<T>)
fn on_finalize(n: BlockNumberFor<T>)
Hooks::on_finalize
].Source§impl<T: Config> OnGenesis for Pallet<T>
impl<T: Config> OnGenesis for Pallet<T>
Source§fn on_genesis()
fn on_genesis()
Source§impl<T: Config> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
Source§impl<T: Config> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
Source§fn on_initialize(n: BlockNumberFor<T>) -> Weight
fn on_initialize(n: BlockNumberFor<T>) -> Weight
Hooks::on_initialize
].Source§impl<T: Config> OnPoll<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> OnPoll<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
Source§impl<T: Config> OnRuntimeUpgrade for Pallet<T>
impl<T: Config> OnRuntimeUpgrade for Pallet<T>
Source§fn on_runtime_upgrade() -> Weight
fn on_runtime_upgrade() -> Weight
Hooks::on_runtime_upgrade
].§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> PalletInfoAccess for Pallet<T>
impl<T: Config> PalletInfoAccess for Pallet<T>
Source§fn module_name() -> &'static str
fn module_name() -> &'static str
Source§fn crate_version() -> CrateVersion
fn crate_version() -> CrateVersion
Source§impl<T: Config> TryState<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> TryState<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
Source§impl<T: Config> ValidateUnsigned for Pallet<T>
impl<T: Config> ValidateUnsigned for Pallet<T>
Source§fn validate_unsigned(
source: TransactionSource,
call: &Self::Call,
) -> TransactionValidity
fn validate_unsigned( source: TransactionSource, call: &Self::Call, ) -> TransactionValidity
§fn pre_dispatch(call: &Self::Call) -> Result<(), TransactionValidityError>
fn pre_dispatch(call: &Self::Call) -> Result<(), TransactionValidityError>
Source§impl<T: Config> WhitelistedStorageKeys for Pallet<T>
impl<T: Config> WhitelistedStorageKeys for Pallet<T>
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.