pub type Slots = Pallet<Runtime>;
Aliased Type§
struct Slots(/* private fields */);
Implementations
Source§impl<T> Pallet<T>where
T: Config,
impl<T> Pallet<T>where
T: Config,
Sourcepub fn force_lease(
origin: <T as Config>::RuntimeOrigin,
para: Id,
leaser: <T as Config>::AccountId,
amount: <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance,
period_begin: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number,
period_count: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number,
) -> Result<(), DispatchError>
pub fn force_lease( origin: <T as Config>::RuntimeOrigin, para: Id, leaser: <T as Config>::AccountId, amount: <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance, period_begin: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, period_count: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, ) -> Result<(), DispatchError>
Just a connect into the lease_out
call, in case Root wants to force some lease to
happen independently of any other on-chain mechanism to use it.
The dispatch origin for this call must match T::ForceOrigin
.
Sourcepub fn clear_all_leases(
origin: <T as Config>::RuntimeOrigin,
para: Id,
) -> Result<(), DispatchError>
pub fn clear_all_leases( origin: <T as Config>::RuntimeOrigin, para: Id, ) -> Result<(), DispatchError>
Clear all leases for a Para Id, refunding any deposits back to the original owners.
The dispatch origin for this call must match T::ForceOrigin
.
Sourcepub fn trigger_onboard(
origin: <T as Config>::RuntimeOrigin,
para: Id,
) -> Result<(), DispatchError>
pub fn trigger_onboard( origin: <T as Config>::RuntimeOrigin, para: Id, ) -> Result<(), DispatchError>
Try to onboard a parachain that has a lease for the current lease period.
This function can be useful if there was some state issue with a para that should have onboarded, but was unable to. As long as they have a lease period, we can let them onboard from here.
Origin must be signed, but can be called by anyone.
Trait Implementations
Source§impl<T> BeforeAllRuntimeMigrations for Pallet<T>where
T: Config,
impl<T> BeforeAllRuntimeMigrations for Pallet<T>where
T: Config,
Source§fn before_all_runtime_migrations() -> Weight
fn before_all_runtime_migrations() -> Weight
Something that should happen before runtime migrations are executed.
Source§impl<T> Benchmarking for Pallet<T>
impl<T> Benchmarking for Pallet<T>
Source§fn benchmarks(extra: bool) -> Vec<BenchmarkMetadata>
fn benchmarks(extra: bool) -> Vec<BenchmarkMetadata>
Get the benchmarks available for this pallet. Generally there is one benchmark per
extrinsic, so these are sometimes just called “extrinsics”. Read more
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>
Run the benchmarks for this pallet.
Source§impl<T> DispatchViewFunction for Pallet<T>where
T: Config,
impl<T> DispatchViewFunction for Pallet<T>where
T: Config,
fn dispatch_view_function<O>(
id: &ViewFunctionId,
input: &mut &[u8],
output: &mut O,
) -> Result<(), ViewFunctionDispatchError>where
O: Output,
Source§impl<T> GetStorageVersion for Pallet<T>where
T: Config,
impl<T> GetStorageVersion for Pallet<T>where
T: Config,
Source§fn in_code_storage_version() -> <Pallet<T> as GetStorageVersion>::InCodeStorageVersion
fn in_code_storage_version() -> <Pallet<T> as GetStorageVersion>::InCodeStorageVersion
Returns the in-code storage version as specified in the
storage_version
attribute, or
NoStorageVersionSet
if the attribute is missing.Source§fn on_chain_storage_version() -> StorageVersion
fn on_chain_storage_version() -> StorageVersion
Returns the storage version of the pallet as last set in the actual on-chain storage.
Source§fn current_storage_version() -> Self::InCodeStorageVersion
fn current_storage_version() -> Self::InCodeStorageVersion
👎Deprecated: This method has been renamed to
in_code_storage_version
and will be removed after March 2024.DEPRECATED: Use
Self::current_storage_version
instead. Read moreSource§impl<T> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
impl<T> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
Source§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
Block initialization hook. This is called at the very beginning of block execution. Read more
Source§fn on_finalize(_n: BlockNumber)
fn on_finalize(_n: BlockNumber)
Block finalization hook. This is called at the very end of block execution. Read more
Source§fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight
fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight
Hook to consume a block’s idle time. This will run when the block is being finalized (before
Hooks::on_finalize
). Read moreSource§fn on_poll(_n: BlockNumber, _weight: &mut WeightMeter)
fn on_poll(_n: BlockNumber, _weight: &mut WeightMeter)
A hook to run logic after inherent application. Read more
Source§fn on_runtime_upgrade() -> Weight
fn on_runtime_upgrade() -> Weight
Hook executed when a code change (aka. a “runtime upgrade”) is detected by the FRAME
Executive
pallet. Read moreSource§fn try_state(_n: BlockNumber) -> Result<(), DispatchError>
fn try_state(_n: BlockNumber) -> Result<(), DispatchError>
Execute the sanity checks of this pallet, per block. Read more
Source§fn pre_upgrade() -> Result<Vec<u8>, DispatchError>
fn pre_upgrade() -> Result<Vec<u8>, DispatchError>
Execute some pre-checks prior to a runtime upgrade. Read more
Source§fn post_upgrade(_state: Vec<u8>) -> Result<(), DispatchError>
fn post_upgrade(_state: Vec<u8>) -> Result<(), DispatchError>
Execute some post-checks after a runtime upgrade. Read more
Source§fn offchain_worker(_n: BlockNumber)
fn offchain_worker(_n: BlockNumber)
Implementing this function on a pallet allows you to perform long-running tasks that are
dispatched as separate threads, and entirely independent of the main blockchain execution. Read more
Source§fn integrity_test()
fn integrity_test()
Check the integrity of this pallet’s configuration. Read more
Source§impl<T> IntegrityTest for Pallet<T>where
T: Config,
impl<T> IntegrityTest for Pallet<T>where
T: Config,
Source§impl<T> Leaser<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
impl<T> Leaser<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
Source§type LeasePeriod = <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number
type LeasePeriod = <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number
The measurement type for counting lease periods (generally just a
BlockNumber
).Source§fn lease_out(
para: Id,
leaser: &<Pallet<T> as Leaser<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>>::AccountId,
amount: <<Pallet<T> as Leaser<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>>::Currency as Currency<<Pallet<T> as Leaser<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>>::AccountId>>::Balance,
period_begin: <Pallet<T> as Leaser<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>>::LeasePeriod,
period_count: <Pallet<T> as Leaser<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>>::LeasePeriod,
) -> Result<(), LeaseError>
fn lease_out( para: Id, leaser: &<Pallet<T> as Leaser<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>>::AccountId, amount: <<Pallet<T> as Leaser<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>>::Currency as Currency<<Pallet<T> as Leaser<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>>::AccountId>>::Balance, period_begin: <Pallet<T> as Leaser<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>>::LeasePeriod, period_count: <Pallet<T> as Leaser<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>>::LeasePeriod, ) -> Result<(), LeaseError>
Lease a new parachain slot for
para
. Read moreSource§fn deposit_held(
para: Id,
leaser: &<Pallet<T> as Leaser<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>>::AccountId,
) -> <<Pallet<T> as Leaser<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>>::Currency as Currency<<Pallet<T> as Leaser<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>>::AccountId>>::Balance
fn deposit_held( para: Id, leaser: &<Pallet<T> as Leaser<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>>::AccountId, ) -> <<Pallet<T> as Leaser<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>>::Currency as Currency<<Pallet<T> as Leaser<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>>::AccountId>>::Balance
Return the amount of balance currently held in reserve on
leaser
’s account for leasing
para
. This won’t go down outside a lease period.Source§fn lease_period_length() -> (<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number)
fn lease_period_length() -> (<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number)
The length of a lease period, and any offset which may be introduced.
This is only used in benchmarking to automate certain calls.
Source§fn lease_period_index(
b: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number,
) -> Option<(<Pallet<T> as Leaser<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>>::LeasePeriod, bool)>
fn lease_period_index( b: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, ) -> Option<(<Pallet<T> as Leaser<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>>::LeasePeriod, bool)>
Returns the lease period at
block
, and if this is the first block of a new lease period. Read moreSource§fn already_leased(
para_id: Id,
first_period: <Pallet<T> as Leaser<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>>::LeasePeriod,
last_period: <Pallet<T> as Leaser<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>>::LeasePeriod,
) -> bool
fn already_leased( para_id: Id, first_period: <Pallet<T> as Leaser<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>>::LeasePeriod, last_period: <Pallet<T> as Leaser<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>>::LeasePeriod, ) -> bool
Returns true if the parachain already has a lease in any of lease periods in the inclusive
range
[first_period, last_period]
, intersected with the unbounded range
[current_lease_period
..] .Source§impl<T> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
impl<T> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
Source§impl<T> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
impl<T> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
Source§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, )
See
Hooks::on_finalize
.Source§impl<T> OnGenesis for Pallet<T>where
T: Config,
impl<T> OnGenesis for Pallet<T>where
T: Config,
Source§fn on_genesis()
fn on_genesis()
Something that should happen at genesis.
Source§impl<T> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
impl<T> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
Source§impl<T> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
impl<T> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
Source§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
See
Hooks::on_initialize
.Source§impl<T> OnPoll<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
impl<T> OnPoll<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
Source§impl<T> OnRuntimeUpgrade for Pallet<T>where
T: Config,
impl<T> OnRuntimeUpgrade for Pallet<T>where
T: Config,
Source§fn on_runtime_upgrade() -> Weight
fn on_runtime_upgrade() -> Weight
Source§fn pre_upgrade() -> Result<Vec<u8>, DispatchError>
fn pre_upgrade() -> Result<Vec<u8>, DispatchError>
See
Hooks::pre_upgrade
.Source§fn post_upgrade(state: Vec<u8>) -> Result<(), DispatchError>
fn post_upgrade(state: Vec<u8>) -> Result<(), DispatchError>
See
Hooks::post_upgrade
.Source§fn try_on_runtime_upgrade(checks: bool) -> Result<Weight, DispatchError>
fn try_on_runtime_upgrade(checks: bool) -> Result<Weight, DispatchError>
The expected and default behavior of this method is to handle executing
pre_upgrade
->
on_runtime_upgrade
-> post_upgrade
hooks for a migration. Read moreSource§impl<T> PalletInfoAccess for Pallet<T>where
T: Config,
impl<T> PalletInfoAccess for Pallet<T>where
T: Config,
Source§fn module_name() -> &'static str
fn module_name() -> &'static str
Name of the Rust module containing the pallet.
Source§fn crate_version() -> CrateVersion
fn crate_version() -> CrateVersion
Version of the crate containing the pallet.
Source§impl<T> PalletsInfoAccess for Pallet<T>where
T: Config,
impl<T> PalletsInfoAccess for Pallet<T>where
T: Config,
Source§impl<T> StorageInfoTrait for Pallet<T>where
T: Config,
impl<T> StorageInfoTrait for Pallet<T>where
T: Config,
fn storage_info() -> Vec<StorageInfo>
Source§impl<T> TryDecodeEntireStorage for Pallet<T>where
T: Config,
impl<T> TryDecodeEntireStorage for Pallet<T>where
T: Config,
Source§fn try_decode_entire_state() -> Result<usize, Vec<TryDecodeEntireStorageError>>
fn try_decode_entire_state() -> Result<usize, Vec<TryDecodeEntireStorageError>>
Decode the entire data under the given storage, returning
Ok(bytes_decoded)
if success.Source§impl<T> TryState<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
impl<T> TryState<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
Source§impl<T> WhitelistedStorageKeys for Pallet<T>where
T: Config,
impl<T> WhitelistedStorageKeys for Pallet<T>where
T: Config,
Source§fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>
fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>
Returns a
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.