* refactor import reporting and add time
* Update primitives/consensus/common/src/metrics.rs
Co-authored-by: Max Inden <mail@max-inden.de>
* remove (crate)
* fix longer lines
* swap names to avoid api breaking
Co-authored-by: Max Inden <mail@max-inden.de>
* Make `Proposer` consume its reference on `propose`
A proposer must be created per new round, so it makes sense to have the
proposer consume its own reference.
* Remove `ProposerInner`
* Enable the `runtime-wasm` for wasm builds
This enables the `runtime-wasm` feature for wasm builds. The feature is
not mandatory and will only be activated if it exists in the
`Cargo.toml`.
* Fix compilation
* Update docs
* Uprgade version
* Apply suggestions from code review
* feat/offchain/storage: add remove interface method
* feat/offchain/storeage: add remote to StorageValueRef
* feat/offchain/storage: add storage lock
* fix/review: Apply suggestions from code review
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
Co-authored-by: Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>
* refactor/offchain/storage/lock: introduce `Lockable` trait part 1 of 2
* chore/offchain/rename: _remove -> clean
* feat/offchain/storage/lock: add TimeAndBlock based part 2 of 2
* fix/offchain/storage/lock: block and time expiry must be && not ||
* chore/offchain/storage: minor fmt doc comments
* doc/comment: prefer markdown emphasis over CAPS
* doc/comment: rewrap multiline module level docs
* doc/comment: rephrase
* impl sleep_until and use the actual time for the test env
* feat/test: add more tests, ignore some sample impl doctests
* fix/review: Apply suggestions from code review
Co-authored-by: Nikolay Volf <nikvolf@gmail.com>
* doc/comment: better description
* fix/review: Apply suggestions from code review
Co-authored-by: Nikolay Volf <nikvolf@gmail.com>
* chore/storage: lifetime cleanup
* fix/cleanup: trait bounds, cargo-spellcheck + extra explanations
* fix/doc: periods +-
* fix/review: Apply suggestions from code review
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
* cleanup: remove explicit lifetime bound, copy -> clone
* fix/review: make trait Lockable contain only static, try_lock should not return Err(Option<L>),
* chore/lifetimes: remove a couple of lifetime bounds which the compiler can figure out
* refactor: migrate to an instant based
* fix/feedback: fix, reduce, rename, docs update pending
* docs/reword: adjust to changed code
* fix/offchain/testing: timestamp and sleep_until shall not block
* chore/lines: lines must < 100 chars
* fix/docs: add missing pub field doc comments
* refactor/x: try_lock does not need to return an Option<_>
* refactor/simplify: a better way of waiting for a lock to resolve
* docs: consistency
* fix/line: < 100
* fix/doctest/use: avoid crate::
* fix/doctest: *
* fix/review: remove unused trait bound
* fix/review: pretty by const fn
* fix/review: reduce default timeout to 20s
* docs: grammar
* fix/review: add with_block_deadline
* doc: revamp BlockNumberProvider documentation to be less frame centric
* chore: fmt
* docs: add missing doc comment
Co-authored-by: Bernhard Schuster <bernhard@parity.io>
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
Co-authored-by: Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>
Co-authored-by: Nikolay Volf <nikvolf@gmail.com>
* Move methods from Peerset to peers structs
* Remove priority_only from peersstate
* Refactor PSM
* Don't test private fields
* Update sc_network
* Remove wrong comment
* Also fix small stupidity when setting reserved_only
* Put back priority_group
* Restore priority groups as before
* Apply suggestions from code review
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
* Do the reserved only change
* Update client/peerset/src/lib.rs
Co-authored-by: Arkadiy Paronyan <arkady.paronyan@gmail.com>
* Use HashSet::difference
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
Co-authored-by: Arkadiy Paronyan <arkady.paronyan@gmail.com>
If we are running `--dev` chain, we should forbid the `--chain`
argument. The `--dev` chain is always special by only having one
authority etc and some other chain spec is probably not setup for this
correctly. In the end `--dev` is just a shortcut for `--validator --alice`.
* Add Delay and info logging
* Switch from Duration to Delay in enum declaration
* Remove sleep from import_blocks fn
* Set back constans and remove unnecessary code
* Fix hot loop
* Reset timer once poll is ready, not when it's pending
* Don't clone values when calculating storage root
Instead of cloning all the keys and values of the overlay when
calculating the storage root, we pass all the values by reference. This
should probably bring some performance improvements when calculating the
storage root.
* no cow version (#6113)
Co-authored-by: cheme <emericchevalier.pro@gmail.com>
* Add BlockStream Enum and utility fn
* WIP: Modify import closure to work with BlockStream
* Fix trait bounds
* Working prototype
* Revamp block importing
* Add export_import_flow tests
* Add comments and clean code
* Add more comments in the import fn
* Add link code to import function
* Add condition when returning Ready(Ok(()) to make sure we've imported every block
* Add check for imported blocks in JSON case
* Use rest pattern
* Fix compilation error for undeclared variable
* Add polling and waker before pending
* Print read_block_count instead of count
* Simplify binary cli option with structopt
* Update test to reflect changes in CLI api
* Change Stream to take SignedBlock<B> instead of B
* Add comments to BlockStream
* Move out logic to smaller functions for clearer code
* Remove result over import_blocks return type
* Check for error in command output rather than simply checking command exit status
* Revamp export/import/revert testing
* Fix minor typos and formatting errors
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* Remove unnecessary if condition in terminating condition
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* Explicit error instead of returning it as a string
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* Pass BlockStream to log_importing_status_updates and simplify matching arms for block stream
* Use .contains() instead of regex match
* Line break in match block; return future::ready instead of poll_fn
* Update Cargo.lock
* Add check so that queue doesn't grow too big
* Use Iterator instead of Stream
* Remove allow dead_code
* Remove outdated comments
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* Return Errors instead of logging them
* Simplify match arms
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* Remove check before terminating block import
* Apply suggestions from code review
* Check that queue is not full BEFORE calling
* Revert "Remove check before terminating block import"
This reverts commit 377823c0a648a3eb2e61185a257a61023067893d.
* Improve unit tests to make sure we actually import blocks
* Remove Unpin implementation for BlockIter
* Add prototype of enum for ImportStates
* Add working prototype for StateMachine
* Add comments for clearer code
* Add sleep before calling Waker when waiting for import queue
* Add Speedometer
* add dbg!(&log) for test debugging
* Fix lines with more than 100 cols
* Fix regex capture for test
* Update regexes to take to capture the whole number
* Rename Cmd to Command
Co-authored-by: Gavin Wood <gavin@parity.io>
* Actually rename Cmd to Command
* Apply suggestions from code review
Co-authored-by: Gavin Wood <gavin@parity.io>
* Fix compilation errors for tests
* Fix compilation errors from code review suggestion
* Update bin/node/cli/tests/export_import_flow.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: Gavin Wood <gavin@parity.io>
Co-authored-by: Benjamin Kampmann <ben@gnunicorn.org>
* http: Use assert_eq in tests for better debuggability
* http: Use matches! macro instead of if let ...
* http: Simplify some bits and pieces
* http: Don't answer immediately in HTTP test server
Sometimes it can happen that we receive the response immediately
when testing the HTTP api due to kernel scheduling. Because of it, we
add a marginal 10ms async-friendly delay to minimize the risk.
* http: Use the same async runtime when testing HTTP API/worker
* http: Return a future Delay only for non-zero Duration
This allows to short-circuit in the response_wait logic and only
send/not wait for response.
* Handle piping error for commands that output to stdout
* Apply suggestions from code review
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* Upgrade to libp2p v0.19
* Listen on IPv6 by default
* Increase channels sizes
* Use spec-compliant noise protocol
* Show legacy PeerId
* Switch order of Noise protocols
* Switch to crates.io version
* Fix subkey's version
* Fix line width and Wasm build
* I think Wasm is fixed for real this time
* Add derive_more to sp_core
* Convert Vec to Signature
* Use sign_with in AURA and BABE
* Signing errors
* Update slots to return consensus result
* Fix use
* Clone public key
* Match block_params
* WIP
* Use to_public_crypto_pair
* Pass public key only to block import params
* Address PR review
* Fix consensus RPC
* Fix babe tests
* adjust uses
* Fix line widths