//! Upon new session, this pallet takes whatever assignation was in the PendingCollatorContainerChain
//! storage, and assigns it as the current CollatorContainerChain. In addition, it takes the next
//! queued set of parachains and collators and calculates the assignment for the next session, storing
//! The reason for the collator-assignment pallet to work with a one-session delay assignment is because
//! we want collators to know at least one session in advance the container chain/orchestrator that they
/// Should only be set on the last block of each session and should be killed on the on_initialize of the next block.
// which means even when we have some parathread cores empty we cannot schedule parachain there.
// TODO: parathreads should be treated a bit differently, they don't need to have the same amount of credits
// The order means priority: the first chain in the list will be the first one to get assigned collators.
// First all chains will be assigned `min_collators`, and then the first one will be assigned up to `max`,