* Add basic BABE consensus type
* Update core/consensus/babe/slots/Cargo.toml
Co-Authored-By: DemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com>
* Fix parameterization and run `rustfmt`
* Respond to review comments
* Update various Cargo.lock files
* Revert "Update various Cargo.lock files"
This reverts commit af53d7624752a744320e9cbb25749fdd8e6f46d2.
* `BabeSealSignature` → `BabeSeal`
* Move slot code to its own crate
This was highly non-trivial, due to cyclic dependencies.
* Remove redundancy between AuRa and BABE
Some of the code duplication was removed using a macro.
* Fix build error
* Avoid non-`#[doc(hidden)]` re-exports
Also, bump some library versions in `Cargo.toml`.
* Remove dead code in AuRa
* Remove impl_slot macro
It was more trouble than it was worth.
Also, delete useless dependencies on Serde.
* AuRa and BABE need different DB keys
* Bring back `aura::Network`, but deprecate it.
* Improve docs and add `slot_duration` inherent method
* Add docs to `substrate_consensus_aura::SlotDuration`
* Add missing documentation and #![forbid(missing_docs, unsafe_code)]
* Add a #![forbid(missing_docs)]
* Remove dependency of `test-runtime` on `slots`
* Update core/consensus/babe/src/lib.rs
Co-Authored-By: DemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com>
* Remove wrongly added file
* Fix copyright notice
Co-Authored-By: DemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com>
* Bump `impl_version` and `spec_version`
* Add more code to BABE
Most of it is copied from AuRa code, but at least the initial core is
there.
* Stuck on horrible compiler error message
* add missing files
* Spaces → tabs
* Simplify code
* Fix compilation
This involved fixing dependencies and adding a `Mutex`.
* More work on BABE
* Fix deprecation version
* Fix deprecation version; remove spurious carets
* Fix Cargo.toml
* Implement VRF signing logic
* The import queue code compiles, though it probably doesn’t work.
* Add VRF verification
* Update Cargo.lock
* Update dependencies
* Move test network to sr25519 authority keys
* Fix accidental build bustage
* Trying to get the tests to work
* Add logging messages and remove dead code
There seems to be a problem with the test network. Since AuRa and BABE
are both affected, this is most likely due to the switch from ed25519 to
sr25519.
* Trying to get the tests to work
* Add logging messages and remove dead code
There seems to be a problem with the test network. Since AuRa and BABE
are both affected, this is most likely due to the switch from ed25519 to
sr25519.
* Working testsuite at last!
The problem was with serialization and deserialization. Normally,
those functions are generated automatically, but those for `BabeSeal`
had to be written manually. The hand-written versions were not
correct, however, as shown by the decoder not being able to decode the
output of the encoder.
* Enable BabeSeal::Encode asserts in --release tests
* Bump runtime and dependency versions
* Fix wasm compilation
The wasm build was broken because of a typo in
`core/test-runtime/src/lib.rs`, and missing gates on the `std` feature
in `core/consensus/{aura,babe}/primitives/Cargo.toml`. Additionally,
improve the quotation in the build scripts.
* Merge Cargo.lock
* Change expected JSON string
The test was also broken on `master`, so I suspect that the test was
incorrect.
* Responded to review
* Remove hard-coded threshold from production code
A hard-coded threshold is now only used in tests.
* Fix swapped doc comments
* Fix unused import warnings
* fix ci error
* fix typo
* Fix spacing in docs
* Minor changes suggested by @joepetrowski
on https://github.com/paritytech/substrate/pull/2372
* Remove unnecessary getters
* fix compile error
* Fix silly unused-variable error
* Improve documentation formatting
Co-Authored-By: DemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com>
* Add issue links
* Revert excess verbosity and #![forbid(warnings)]
* Apply suggestions from code review
Co-Authored-By: DemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com>
* Reformat some comments
* Threshold should depend on number of validators
Also, respond to code review
* Fix silly compilation errors
* Reduce logging verbosity
* Fix missing import
* Make use of parity-codec "derive" crate feature
* Bump impl_version
* Update wasm files and Cargo.lock files
* Transferred to parity_codec derive feature for the rest of the crates
* Update wasm binaries and lock files
* Update core and node wasm binaries
* BlockAuthorityId convenience type
* Rename AuthorityId -> Ed25519AuthorityId to make it more precise
* Generalize AuthorityId up to substrate-client
* Fix in client-db
* rename: BlockAuthorityId -> AuthorityIdFor
* typo: should be digest item
* Fix test-runtime authorityId mismatch
One states that AuthorityId is u64 while the other states that it's Ed25519AuthorityId.
* Fix more u64 - Ed25519AuthorityId mismatch
* Fix compile of most of the srml modules
* Continue to pin aura and grandpa with ed25519 and fix compile
* Add MaybeHash trait
* Fix node-runtime compile
* Fix network tests
* add beginnings of SRML grandpa library
* get srml-grandpa compiling
* tests for srml-grandpa
* add optional session integration to grandpa SRML
* start integration into node runtime
* Allow extracting pending change from header digest
* Make it compile on wasm
* make tests compile again
* Move Authority Key fetching into service, simplify service factory construction
* Generalize Authority Consensus Setup system
* Add Authority Setup Docs
* Allow CLI params to be extensible
- move params to structopts
- split parsing and default command execution
- add custom config to node
- extended parsing of custom config
- extending params via structop's flatten
* Minor fixes on cli extension params:
- added docs
- re-add actual app name, rather than node-name
- make strategy and subcommand optional
* better cli params
* synchronize GRANDPA and normal node authorities
* Implement grandpa::network for gossip consensus
* run_grandpa in Node
* Fix missed merge error
* Integrate grandpa import queue
* more specific type def
* link up linkhalf and import block
* make grandpa future send
* get compiling
* Fix new params convention and license header
* get it running
* rebuild node runtime WASM
* change logging level
* Update node/cli/src/params.rs
Co-Authored-By: rphmeier <rphmeier@gmail.com>
* Update node/cli/src/params.rs
Co-Authored-By: rphmeier <rphmeier@gmail.com>
* Update node/cli/src/lib.rs
Co-Authored-By: rphmeier <rphmeier@gmail.com>
* Update node/runtime/src/lib.rs
Co-Authored-By: rphmeier <rphmeier@gmail.com>
* Update node/cli/src/lib.rs
Co-Authored-By: rphmeier <rphmeier@gmail.com>
* Clean up and Fixme for mutable config
* Move GrandpaService Integration into grandpa, feature gated but on per default
* Fixing grandpa runtime module test
* Update wasm runtime hashes for tests
* GRANDPA: use post-header hash when logging scheduled changes
* add an extra bit of logging to authorities
* fixing missing constrain
* remove old code
* move `NewAuthorities` to an event in srml-grandpa
* fix node-executor tests to use grandpa log
* Remove GossipConsensus from tests, use newly provided sync-feature, fixes tests
* Update to latest wasm runtimes
* address grumbles
* address grumbles
* only derive deserialize when using std
* Clean up use of Deserialize
* Generalize BlockImport
- move ImportBlock, BlockOrigin, ImportResult into shared sr-primitives
- let Consensus provide and traits again
- update consensus traits to latest development
- implement traits on client::Client, test_client::TestClient
- update RHD to use the new import_block API
* Move ImportBlock into consensus-common
* Send import notification in aura tests
* Integrating aura into service
* Make Signatures more generic
* Aura Block Production with the given key
* run aura on the thread pool
* start at exact step start in aura
* Add needed wasm blob, in leiu of better solutions.
* Make API ids consistent with traits and bring upstream for sharing.
* Add decrease_free_balance to Balances module
* Encode `Metadata` once instead of two times
* Bitops include xor
* Upgrade key module.
* Default pages to somewhat bigger.
* Introduce upgrade key into node
* Add `Created` event
* Adds new `ProvideInherent` trait
Also implements the new trait for `srml/consensus` and `srml/timestamp`.
* Adds `impl_outer_inherent!` macro
* Reexport macros from `alloc`
* Introduce `RuntimeString` and fix `ProvideInherent` on `no_std`
* Replace `VersionString` with `RuntimeString`
* Improvements for `impl_outer_inherent!`
* Make `construct_runtime!` support `impl_outer_inherent!`
* Fixes after rebase
* Whitespace
* Remove unneeded script
* Rename Substrate Demo -> Substrate
* Rename demo -> node
* Build wasm from last rename.
* Merge ed25519 into substrate-primitives
* Minor tweak
* Rename substrate -> core
* Move substrate-runtime-support to core/runtime/support
* Rename/move substrate-runtime-version
* Move codec up a level
* Rename substrate-codec -> parity-codec
* Move environmental up a level
* Move pwasm-* up to top, ready for removal
* Remove requirement of s-r-support from s-r-primitives
* Move core/runtime/primitives into core/runtime-primitives
* Remove s-r-support dep from s-r-version
* Remove dep of s-r-support from bft
* Remove dep of s-r-support from node/consensus
* Sever all other core deps from s-r-support
* Forgot the no_std directive
* Rename non-SRML modules to sr-* to avoid match clashes
* Move runtime/* to srml/*
* Rename substrate-runtime-* -> srml-*
* Move srml to top-level