//! This is different from `frame/pallet-staking` where delegators approval vote and run Phragmen.
//! Immediately following a round change, payments are made once-per-block until all payments have
//! been made. In each such block, one collator is chosen for a rewards payment and is paid along
/// Maximum number of accounts (delegators and candidates) that can be migrated at once in the `migrate_locks_to_freezes_batch` extrinsic.
/// If a collator doesn't produce any block on this number of rounds, it is notified as inactive.
/// Tracks how many delegators have at least one pending delegation request for a given collator.
/// The maximum number of accounts that can be migrated in one batch is MAX_ACCOUNTS_PER_MIGRATION_BATCH.
/// Returns `true` if migration was performed, `false` if already migrated or is not a collator/delegator
// set_freeze should be infallible as long as the runtime use pallet balance implementation and
/// Returns an account's stakable balance (including the reserved) which is not frozen in delegation staking
pub(crate) fn get_rewardable_delegators(collator: &T::AccountId) -> CountedDelegations<T> {