* babe: don't repeatedly lookup keys in authorship rpc function
Expose a new function `claim_slot_using_keypars` in Babe so that the `babe_epochAuthorship` can
lookup authorship for all slots in the epoch without repeatedly looking up keys in the keystore.
Time to run the `babe_epochAuthorship` RPC call goes from 7s to 25ms on a local dev chain on my
machine.
* babe: pass reference to slice instead of ref to Vec
* babe: fix bunch of clippy warnings
* babe: support online configuration upgrades
* Switch to use NextConfigDescriptor instead of changing runtime interface
* Fix tests
* epoch-changes: map function that allows converting with different epoch types
* Add migration script for the epoch config change
* Fix migration tests
* Fix migration: Epoch should be EpochV0
* Update client/consensus/babe/src/lib.rs
Co-Authored-By: André Silva <123550+andresilva@users.noreply.github.com>
* Fix new epochChanges version
* Fix unused imports
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
* fork-tree: prune returns all pruned node data
* epoch-changes: split EpochHeader vs epoch data
* EpochChanges::viable_epoch and add missing comments
* Incoperate the new epoch_changes interface for BABE
* Fix BABE tests
* Fix fork-tree pruning issue
* Fix tests
* Fix pruning algorithm
* fork-tree: implement map function for mapping one value type to another
* Add migration script for new epoch changes scheme
* Update utils/fork-tree/src/lib.rs
Co-Authored-By: André Silva <andre.beat@gmail.com>
* Update client/consensus/slots/src/lib.rs
Co-Authored-By: André Silva <andre.beat@gmail.com>
* Remove authorities_len.is_none check, which is duplicate of unwrap_or(false)
* Update client/consensus/epochs/src/lib.rs
Co-Authored-By: André Silva <andre.beat@gmail.com>
* Update client/consensus/epochs/src/lib.rs
Co-Authored-By: André Silva <andre.beat@gmail.com>
* No trailing ; for return statement
* Use VERSION_KEY for migration
* Fix issues that removed nodes are not properly added into removed list
* Add comments indicating end_slot is non-inclusive
* fork-tree: use &mut F for map type declaration
* Add tests for v0 epoch_changes migration
* Fix babe RPC tests
Co-authored-by: André Silva <andre.beat@gmail.com>
* Init epoch changes module
* Initial integration of new epoch changes module for BABE
* Fix all initial compile errors
* rename: digest -> digests
* Fix babe tests
* Bump impl_version
* Fix more test issues
* Remove test flag for tree
It unfortunately won't work for multiple crates.
* Update cargo lock
* Fix duplicate parking_lot version
* Add missing license header
* fork-tree: rebalance fork tree by maximum branch height
* fork-tree: add docs for tree rebalancing
* fork-tree: add test
* babe: rebalance epoch changes tree on deserialization
* fork-tree: fix doc
* fork-tree: fix test
* Adding script for rename, could be applicable for nodes on top of it, too
* add stderr and gitlab ci features
* apply script
* fix now minor details in expected stderr
* Update the Cargo.lock
* fix name: sc-transaction -> sc-tracing
* fix rename in script, too
* Move transaction pool to primitives
* move backend, errors into primitives
* remove unused client depencies
* Move rpc-api into primitives
* Move peerset back to client
* Move rpc/api back to client, move palette/support/rpc into utils
* move support-rpc into subfolder
* move system-rpc into utils
* move transaction-pool and -graph back into client
* fix broken imports
* Clean up test primitives
* Make support test utils independent of frame
* remove unnecessary node dependencies from service
* Reactivate dependency script:
- only enforce the now achieved status quo will remain
- allow for primitives to depend on /client for now without failing
- more discriptive error message so people understand, what it wants
- minor fix to differentiative between ../client and /client (which may be a subfolder)
- don't allow this to fail anylonger.
* fix doc comment
* 'Should not' rather than 'must not'.
* Revert unwanted dependency changes
* fix faulty import
* fixup derive_more version
* fix wrong import path
* Adding first rough ouline of the repository structure
* Remove old CI stuff
* add title
* formatting fixes
* move node-exits job's script to scripts dir
* Move docs into subdir
* move to bin
* move maintainence scripts, configs and helpers into its own dir
* add .local to ignore
* move core->client
* start up 'test' area
* move test client
* move test runtime
* make test move compile
* Add dependencies rule enforcement.
* Fix indexing.
* Update docs to reflect latest changes
* Moving /srml->/paint
* update docs
* move client/sr-* -> primitives/
* clean old readme
* remove old broken code in rhd
* update lock
* Step 1.
* starting to untangle client
* Fix after merge.
* start splitting out client interfaces
* move children and blockchain interfaces
* Move trie and state-machine to primitives.
* Fix WASM builds.
* fixing broken imports
* more interface moves
* move backend and light to interfaces
* move CallExecutor
* move cli off client
* moving around more interfaces
* re-add consensus crates into the mix
* fix subkey path
* relieve client from executor
* starting to pull out client from grandpa
* move is_decendent_of out of client
* grandpa still depends on client directly
* lemme tests pass
* rename srml->paint
* Make it compile.
* rename interfaces->client-api
* Move keyring to primitives.
* fixup libp2p dep
* fix broken use
* allow dependency enforcement to fail
* move fork-tree
* Moving wasm-builder
* make env
* move build-script-utils
* fixup broken crate depdencies and names
* fix imports for authority discovery
* fix typo
* update cargo.lock
* fixing imports
* Fix paths and add missing crates
* re-add missing crates