* 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.
Create a place to collaborate on Prometheus alerting rules for
Substrate starting with a basic set of rules covering:
- Resource usage
- Block production
- Block finalization
- Transaction queue
- Networking
- ... Others
* Weight accounting for on_offence.
* Try to compute weight.
* Guesstimate upper bounds on db read/writes for slashing
* greater than or equal to
* add new trait
* Update mock.rs
* Add basic weight test
* one more test
* Update frame/staking/src/lib.rs
Co-authored-by: thiolliere <gui.thiolliere@gmail.com>
* Update frame/staking/src/lib.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* Add test for offences queue
Co-authored-by: Tomasz Drwięga <tomasz@parity.io>
Co-authored-by: thiolliere <gui.thiolliere@gmail.com>
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* 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>
* Emit a PaymentParameters event once per block
This contains per-block paramaters need to calculate
fees off-chain.
* Add WeightToFee trait
* Add documentation to polynomial types
* Ignore pseudo code snippet for doc tests
* Use `Mul` implementation of Perbill
* Add tests for WeightToFeePolynomial
* Revert "Emit a PaymentParameters event once per block"
This reverts commit 6c4763baff3d8179676a3c1660fe7063fd56a8ca.
Co-authored-by: Gavin Wood <gavin@parity.io>
* Only check single extrinsics weight limit in validate_transaction.
* Add missing parameter to all pallets.
* Add tests, fix default configuration.
* Bump spec version.
* Use AvailableBlockRation to calculate MaxExtrinsicWeight
* Hide internal structure of OverlayChanges
* Fix tests for OverlayChanges refactor
* Do not clone pending changes
Discarding prospective changes should be equivalent as a state machine
is not to be called with peding changes.
This will be replaced by a storage transaction that is rolled back before
executing the call the second time removing this constraint.
* Doc fixes
* Remove overlong line
* Revert "Do not clone pending changes"
This reverts commit 4799491f4ac16f8517287a0fcf4a3f84ad56f46e.
* Deduplicate chield tries returned from child_infos()
* Remove redundant type annotation
* Avoid changing the storage root in tests
* Preserve extrinsic indices in trie build test
* Swap order of comitted and prospective in fn child_infos
This is only for consistency and does not impact the result.
* Rename set_pending to replace_pending for clearity
* 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
* Include post dispatch corrected weight in extrinsic events
* Drop the 'Post' from ApplyExtrinsicResultWithPostInfo to make it less verbose
* Apply suggestions from code review
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* Use proper Event type in pallet_system tests
* Add test that the actual weight is returned by events
* Make fn extract_actual_weight cap at pre dispatch weight
* Bump spec version
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: Gavin Wood <gavin@parity.io>