babe: Introduce secondary slots (Aurababeous) (#3380)

* babe: initial implementation of secondary slots

* babe: validate secondary slot author

* babe: implement weight based fork choice

* babe: remove unused

* aura: cleanup unused imports

* babe: pass in parent weight when authoring and verifying

* babe: use epoch randomness for picking secondary slot authors

* babe: fix tests

* babe: fix wasm build

* babe: node-side code for disabling secondary slots

* babe: allow enabling/disabling secondary slots from runtime

* babe: fix test

* babe: use blake2_256 for secondary slot assignment

* babe: run block initialization in should_end_session

* node: increase slot duration to 6s

* babe: add docs

* node: bump spec_version

* Apply suggestions from code review

Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com>

* babe: simplify secondary slot assignment calculation

* babe: remove unnecessary comment

* node: bump spec_version

* babe: fix bad merge
This commit is contained in:
André Silva
2019-08-16 15:47:53 +02:00
committed by GitHub
parent f735d067c4
commit cb7527d2b2
12 changed files with 720 additions and 202 deletions
+2
View File
@@ -617,6 +617,7 @@ cfg_if! {
randomness: <srml_babe::Module<Runtime>>::randomness(),
epoch_index: <srml_babe::Module<Runtime>>::epoch_index(),
duration: EpochDuration::get(),
secondary_slots: <srml_babe::Module<Runtime>>::secondary_slots().0,
}
}
}
@@ -831,6 +832,7 @@ cfg_if! {
randomness: <srml_babe::Module<Runtime>>::randomness(),
epoch_index: <srml_babe::Module<Runtime>>::epoch_index(),
duration: EpochDuration::get(),
secondary_slots: <srml_babe::Module<Runtime>>::secondary_slots().0,
}
}
}