// Separate import as rustfmt wrongly change it to `sp_std::vec::self`, which is the module instead
fn prepare_worst_case_for_bench(author: &AccountId, block_number: BlockNumber, para_id: ParaId);
fn distribute_rewards(_rewarded: AccountId, _amount: Imbalance) -> DispatchResultWithPostInfo {
/// How often should a parathread collator propose blocks. The units are "1 out of n slots", where the slot time is the
/// The parathread will produce at most 1 block every x slots. min=10 means that collators can produce 1 block
/// every `x >= 10` slots, but they are not enforced to. If collators produce a block after less than 10
/// The parathread will produce at least 1 block every x slots. max=10 means that collators are forced to
/// produce 1 block every `x <= 10` slots. Collators can produce a block sooner than that if the `min` allows it, but
/// Helper trait for pallet_collator_assignment to be able to not assign collators to container chains with no credits
/// Remove para ids with not enough credits. The resulting order will affect priority: the first para id in the list
/// Trait to abstract away relay storage proofs, and allow the same logic to work on both parachains and solochains.
/// Parachains should use relay storage proofs, while solochains should read from storage directly.
fn read_entry<T: Decode>(&self, key: &[u8], fallback: Option<T>) -> Result<T, ReadEntryErr> {
fn read_entry<T: Decode>(&self, key: &[u8], fallback: Option<T>) -> Result<T, ReadEntryErr> {
/// Strategy to use when rotating collators. Default: rotate all of them. Allows to rotate only a random subset.
/// Keep all collators assigned to their current chain if possible. This is equivalent to disabling rotation.