The collation generation subsystem is the interface between polkadot and the collators.
Protocol
On every ActiveLeavesUpdate:
- If there is no collation generation config, ignore.
- Otherwise, for each
activatedhead in the update: - Determine if the para is scheduled on any core by fetching the
availability_coresRuntime API. - Use the Runtime API subsystem to fetch the full validation data.
- Invoke the
collator, and use its outputs to produce a [CandidateReceipt], signed with the configuration'skey. - Dispatch a [
CollatorProtocolMessage::DistributeCollation](receipt, pov).