Asynchronous-backing compatible Aura, not plugged in (#2573)

* rough draft of potential parent search

* get things compiling

* fmt

* add new function to all RelayChainInterface implementations

* fix compilation

* set slot and timestamp based on relay parent, prepare for find-parent

* skeleton of new aura logic

* fmt

* introduce a collator module in the Aura crate

* extract different implementations into own modules

* make interface more convenient

* docs and todos for lookahead

* refactor basic collator to use new collator utility

* some more refactoring

* finish most of the control flow for new aura

* introduce backend as parameter

* fix compilation

* fix a couple more TODOs

* add an `announce_block` function to collator service

* announce with barrier

* rename block announcement validator to be more specific

* fmt

* clean up unused import errors

* update references to BlockAnnounceValidator

* rename unstable_reimpl

* add AuraUnincludedSegmentApi

* finish rename

* integrate AuraUnincludedSegmentApi

* add a new block announcement validator for backwards compatibility

* add some naive equivocation defenses

* rustfmt

* clean up remaining TODO [now]s

* fmt

* try to fix inprocess-interface

* actually fix compilation

* ignored -> rejected rephrase

* fix test compilation

* fmt

* clippy
This commit is contained in:
asynchronous rob
2023-07-11 13:56:09 +02:00
committed by GitHub
parent cc5e0ae9ab
commit 406f92ad90
20 changed files with 1588 additions and 548 deletions
+19
View File
@@ -2584,10 +2584,12 @@ dependencies = [
"cumulus-client-collator",
"cumulus-client-consensus-common",
"cumulus-client-consensus-proposer",
"cumulus-primitives-aura",
"cumulus-primitives-core",
"cumulus-primitives-parachain-inherent",
"cumulus-relay-chain-interface",
"futures",
"lru 0.10.0",
"parity-scale-codec",
"polkadot-node-primitives",
"polkadot-overseer",
@@ -2595,6 +2597,7 @@ dependencies = [
"sc-client-api",
"sc-consensus",
"sc-consensus-aura",
"sc-consensus-babe",
"sc-consensus-slots",
"sc-telemetry",
"sp-api",
@@ -2630,11 +2633,14 @@ dependencies = [
"polkadot-primitives",
"sc-client-api",
"sc-consensus",
"sc-consensus-babe",
"schnellru",
"sp-blockchain",
"sp-consensus",
"sp-consensus-slots",
"sp-core",
"sp-runtime",
"sp-timestamp",
"sp-tracing",
"sp-trie",
"substrate-prometheus-endpoint",
@@ -2933,6 +2939,19 @@ dependencies = [
"xcm",
]
[[package]]
name = "cumulus-primitives-aura"
version = "0.1.0"
dependencies = [
"parity-scale-codec",
"polkadot-core-primitives",
"polkadot-primitives",
"sp-api",
"sp-consensus-aura",
"sp-runtime",
"sp-std",
]
[[package]]
name = "cumulus-primitives-core"
version = "0.1.0"