* Adds an offchain call to submit double vote reports
* Some tweaks
* Remove unnecessary IdentifyAccount impls
* Adds ValidateDoubleVoteReports to test runtime
* sp-application-crypto is only a dev dependency
* upgrade primitives to allow changing validation function
* set up storage schema for old parachains code
* fix compilation errors
* fix test compilation
* add some tests for past code meta
* most of the runtime logic for code upgrades
* implement old-code pruning
* add a couple tests
* clean up remaining TODOs
* add a whole bunch of tests for runtime functionality
* remove unused function
* fix runtime compilation
* extract some primitives to parachain crate
* add validation-code upgrades to validation params and result
* extend validation params with code upgrade fields
* provide maximums to validation params
* port test-parachains
* add a code-upgrader test-parachain and tests
* fix collator tests
* move test-parachains to own folder to work around compilation errors
* fix test compilation
* update the Cargo.lock
* fix parachains tests
* remove dbg! invocation
* use new pool in code-upgrader
* bump lockfile
* link TODO to issue
* Ensure that table router is always build
This pr ensures that the table router is always build, aka the future is
resolved. This is important, as the table router internally spawns tasks
to handle gossip messages. Handling gossip messages is not only required
on parachain validators, but also on relay chain validators to receive collations.
Tests are added to ensure that the assumptions hold.
* Fix compilation
* Switch to closures
* Remove empty line
* Revert "Remove empty line"
This reverts commit 0d4aaba1780aec1c8d61e1d5dcf7768918af02d9.
* Revert "Switch to closures"
This reverts commit d128c4ecc02c911552a3bfd2142b5a4f7b1338ba.
* Hybrid approach
* Rename test
* Make trait crate local
* Use `add_benchmark` macro
* Return error if `batches` is empty
* Update Cargo.lock
* Companion for #5463 (#953)
* Fix test with genesis block 0
* Update Cargo.lock
* Adds a SigningContext type
* Bump spec versions
* Fixes requested changes
* Bump ParachainHost api_version and guard signing_context call
* Improve error message
* If there is no signing_context api use default value
Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
* Parachains double vote handler initial implementation.
* Make tests test the actual slashing.
* Implement SignedExtension validation of double vote reports.
* Fixes build after merge
* Review fixes
* Adds historical session proofs
* Review fixes.
* Bump runtime spec_version
* Get the session number from the proof
* Check that proof matches session
* Change signature type on DoubleVoteReport
* Adds docs and removes blank lines
* Removes leftover code
* Fix build
* Fix build after a merge
* Apply suggestions from code review
Co-Authored-By: Robert Habermeier <rphmeier@gmail.com>
* Prune ParentToSessionIndex
* Remove a clone and a warning
Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
Co-authored-by: Gavin Wood <gavin@parity.io>
* Updates for the new democracy
* Introduce progressive democracy
Also move to "master" branch of Substrate ready for continuous
sync with Substrate master.