Bastian Köcher
821e018d75
Ensure we spawn the block import worker as an essential task ( #8155 )
...
* Ensure we spawn the block import worker as an essential task
This pr ensures that we spawn the block import worker as an essential
task. This is quite important as we need to bring down the node when the
block import is done. Besides that it adds some debug output to the
block import worker.
* Don't be stupid :D
2021-02-19 16:31:03 +00:00
André Silva
54def5f3d3
transaction-pool: drop unpropagable txs if local node cant author blocks ( #8048 )
...
* transaction-pool: drop unpropagable txs if local node cant author blocks
* fix test compilation
* transaction-pool: remove unnecessary static bound on CanAuthor
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* rpc-api: add translation for PoolError::Unactionable
* transaction-pool: add test for rejecting unactionable transactions
* basic-authorship: fix doc test
* transaction-pool: fix benchmark compilation
* transaction-pool: rename CanAuthor to IsValidator
* transaction-pool: nit in error message
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
2021-02-04 20:18:44 +01:00
Bastian Köcher
e3e651f72c
Happy new year ( #7814 )
...
* Happy new year
Updates the copyright years and fixes wrong license headers.
* Fix the template
* Split HEADER into HEADER-APACHE & HEADER-GPL
2021-01-04 09:03:13 +00:00
Bastian Köcher
6722a83ba6
Forward storage changes in manual seal ( #7614 )
...
This prevents nodes from executing the same block 2 times.
2020-11-27 17:36:58 +01:00
André Silva
1871a95088
grandpa: remove light-client specific block import pipeline ( #7546 )
...
* grandpa: remove light-client specific block import
* consensus, network: remove finality proofs
2020-11-23 14:28:55 +00:00
Cecile Tonglet
8cebbd142d
Add node name to the log lines ( #7328 )
...
* Initial commit
Forked at: 601e2fa139
Parent branch: origin/master
* WIP
Forked at: 601e2fa139
Parent branch: origin/master
* WIP
Forked at: 601e2fa139
Parent branch: origin/master
* WIP
Forked at: 601e2fa139
Parent branch: origin/master
* WIP
Forked at: 601e2fa139
Parent branch: origin/master
* WIP
Forked at: 601e2fa139
Parent branch: origin/master
* CLEANUP
Forked at: 601e2fa139
Parent branch: origin/master
* Add notes to original source code
* CLEANUP
Forked at: 601e2fa139
Parent branch: origin/master
* CLEANUP
Forked at: 601e2fa139
Parent branch: origin/master
* WIP
Forked at: 601e2fa139
Parent branch: origin/master
* WIP
Forked at: 601e2fa139
Parent branch: origin/master
* WIP
Forked at: 601e2fa139
Parent branch: origin/master
* CLEANUP
Forked at: 601e2fa139
Parent branch: origin/master
* WIP
Forked at: 601e2fa139
Parent branch: origin/master
* Some doc
* Test with trybuild
* Revert "Test with trybuild" (issue with trybuild atm)
This reverts commit 9055ec2206808ba3ddce6e3d87eb358907fa5e42.
https://github.com/dtolnay/trybuild/issues/53
* Apply suggestions
* Rename derive to proc-macro
* Remove "prefix" feature from informant
* Blocking task should use SpawnHandle::spawn_blocking
* Improve doc as suggested
* Fixes
Forked at: 601e2fa139
Parent branch: origin/master
* Apply suggestion
* Update client/cli/proc-macro/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* More suggestions
* CLEANUP
Forked at: 601e2fa139
Parent branch: origin/master
* Improve error message
* CLEANUP
Forked at: 601e2fa139
Parent branch: origin/master
* Fix async issue
* CLEANUP
Forked at: 601e2fa139
Parent branch: origin/master
* CLEANUP
Forked at: 601e2fa139
Parent branch: origin/master
* Add test
* fix doc test
* Update client/cli/src/logging.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/basic-authorship/src/basic_authorship.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/basic-authorship/src/basic_authorship.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Apply suggestions
* Suggestions
* Clarify doc
* WIP
Forked at: 601e2fa139
Parent branch: origin/master
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2020-10-21 15:13:07 +00:00
Seun Lanlege
b0ff817ba0
manual seal is now consensus agnostic ( #7010 )
...
* manual seal is now consensus agnostic
* pr grumbles
2020-09-03 12:55:12 +00:00
Bastian Köcher
cde60b871e
Revalidate transactions only on latest best block ( #6824 )
...
* Revalidate transactions only on latest best block
We should revalidate transactions only on the latest best block and not
on any arbitrary block. The revalidation before failed when there were
multiple blocks on the height given to the revalidation function, but no
block was imported as best block.
* Update test-utils/runtime/transaction-pool/src/lib.rs
Co-authored-by: Jaco Greeff <jacogr@gmail.com >
* Fix tests
* Only process best blocks in the transaction pool
Co-authored-by: Jaco Greeff <jacogr@gmail.com >
2020-08-07 13:58:51 +02:00
Bastian Köcher
9310f15ac2
Name all the tasks! ( #6726 )
...
* Remove any implementation of `Spawn` or `Executor` from our task executors
* Fix compilation
* Rename `SpawnBlockingExecutor`
* Update primitives/core/src/traits.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Fix tests
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
2020-07-26 12:56:17 +00:00
Ashley
234e7d0c3d
Simplify a few chain components creation APIs related to the service ( #6611 )
...
* Simplify a few chain components creation APIs related to the service
* Fix basic-authorship doc tests
* Remove DefaultQueue
* Update client/service/src/builder.rs
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com >
* Move ExecutionExtensions comment around
* Remove unused BlakeTwo256
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com >
2020-07-09 15:43:04 +02:00
Ashley
761dbd7dcc
Split the service initialisation up into seperate functions ( #6332 )
...
* Seperate out the complexity in ServiceBuilder::build_common into seperate functions
* Fix line widths
* Move some functions to their respective crates
2020-06-16 15:50:21 +02:00
Bastian Köcher
663cd09be9
Fix transaction pruning in tx-pool ( #6276 )
...
The `tree_route` generated by the import notification is only from the
old best block to the new best parent. This means, it does not contain
the new best block in `enacted()`. We need to prune the transactions of
the new best block "manually" to fix this bug.
Besides that, this pr also changed the `id` parameter of the `NewBlock`
chain event to `hash`. The hash of a block is unique in contrast to the
block number. (Block id can either be number or hash)
2020-06-08 12:38:19 +02:00
Bastian Köcher
d2846e2b9a
Make transaction pool prune transactions only of canonical blocks ( #6123 )
...
* Make tx pool aware of retracted fork blocks
* Make it compile
* Update client/transaction-pool/src/lib.rs
Co-authored-by: Nikolay Volf <nikvolf@gmail.com >
* Fix doc test
* Simplify the implementation
* Send tree route as arc to prevent heavy clones
* Switch to use `ExtrinsicHash` to make it more clear
* Fix benchmark
Co-authored-by: Nikolay Volf <nikvolf@gmail.com >
2020-06-05 23:12:00 +02:00
Pierre Krieger
717fa95bc7
Restore the empty line after the license ( #6088 )
2020-05-20 13:08:27 +00:00
Nikolay Volf
dd573374e0
Add block construction prometheus metrics ( #6030 )
...
* Add basic authorship metrics
* fixes
* no arc
* move to crate
* Update client/proposer-metrics/Cargo.toml
Co-authored-by: Max Inden <mail@max-inden.de >
* remove prefix
* use HistogramTimer
* Update client/proposer-metrics/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/basic-authorship/src/basic_authorship.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/basic-authorship/src/basic_authorship.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/basic-authorship/src/basic_authorship.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/basic-authorship/src/basic_authorship.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/basic-authorship/src/basic_authorship.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/proposer-metrics/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/proposer-metrics/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Max Inden <mail@max-inden.de >
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2020-05-18 13:48:44 +00:00
Nikolay Volf
d5411969ac
fix whitespace ( #6062 )
2020-05-18 13:51:28 +02:00
Benjamin Kampmann
efc4849f1a
Meter block import results via prometheus ( #6025 )
2020-05-15 17:25:51 +02:00
Benjamin Kampmann
be8c96adec
Relax substrate licensing scheme ( #5947 )
2020-05-15 13:21:56 +02:00
Joshy Orndorff
2ae3fe121c
Fix light clients in manual seal nodes ( #5955 )
...
* WIP
* WIP
2020-05-08 11:18:32 +02:00
Bastian Köcher
9c5536e01a
Expose that BasicQueue expects blocking spawn ( #5860 )
...
* Expose that `BasicQueue` expects blocking spawn
Up to now `BasicQueue` expected a closure that to spawn a `Future`.
This was expected to be a closure that spawns a blocking future.
However, this wasn't documented anywhere. This pr introduces a new trait
`SpawnBlocking` that exposes this requirement to the outside.
* Feedback
2020-05-04 19:40:29 +02:00
Nikolay Volf
c09bb1f350
Use mem::take instead of mem::replace where appropriate ( #5846 )
...
* replace replace with take
* Update client/api/src/cht.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/api/src/cht.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2020-04-30 12:53:36 +00:00
pscott
0f401e4699
Move spawning tasks from thread pools to Service's TaskManager for block importing ( #5647 )
...
Co-Authored-By: Pierre Krieger <pierre.krieger1708@gmail.com >
2020-04-29 18:46:39 +02:00
Nikolay Volf
fea626ca84
Add prometheus registry to transaction pool, with couple of initial metrics ( #5657 )
...
* make new contructor
* add metrics to txpool
* fix review
* fix doc comment
* change to counters
* Update client/transaction-pool/src/metrics.rs
Co-Authored-By: Max Inden <mail@max-inden.de >
* Update client/transaction-pool/src/metrics.rs
Co-Authored-By: Max Inden <mail@max-inden.de >
* Update client/transaction-pool/src/metrics.rs
Co-Authored-By: Max Inden <mail@max-inden.de >
* Update client/transaction-pool/src/lib.rs
Co-Authored-By: Max Inden <mail@max-inden.de >
* Update client/transaction-pool/src/lib.rs
Co-Authored-By: Max Inden <mail@max-inden.de >
* use dedicated wrapper
Co-authored-by: Max Inden <mail@max-inden.de >
2020-04-17 11:02:45 +02:00
Seun Lanlege
6a87e1d1af
sc-consensus-manual-seal uses Finalizer trait for finalization instead of Backend. ( #5469 )
...
* manual-seal uses Finalizer trait for finalization instead of Backend
* fix tests
* use Transaction type
* refactor import_queue
* ugh
* line-width
* Update client/consensus/manual-seal/src/lib.rs
Co-Authored-By: Joshy Orndorff <JoshOrndorff@users.noreply.github.com >
* fix tests
* update docs
* Update client/consensus/manual-seal/src/seal_new_block.rs
Co-Authored-By: André Silva <123550+andresilva@users.noreply.github.com >
* Don't auto-finalize on verification
* Explicity don't finalize on import.
Co-authored-by: Joshy Orndorff <JoshOrndorff@users.noreply.github.com >
Co-authored-by: Joshy Orndorff <admin@joshyorndorff.com >
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com >
2020-04-07 20:08:54 +02:00
Tomasz Drwięga
04ccb179e9
Pass transaction source to validate_transaction ( #5366 )
...
* WiP
* Support source in the runtime API.
* Finish implementation in txpool.
* Fix warning.
* Fix tests.
* Apply suggestions from code review
Co-Authored-By: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
Co-Authored-By: Nikolay Volf <nikvolf@gmail.com >
* Extra changes.
* Fix test and benches.
* fix test
* Fix test & benches again.
* Fix tests.
* Update bumpalo
* Fix doc test.
* Fix doctest.
* Fix doctest.
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
Co-authored-by: Nikolay Volf <nikvolf@gmail.com >
2020-03-25 14:09:23 +01:00
Nikolay Volf
db86094b03
Produce block always on updated transaction pool state ( #5227 )
...
* make sure return ready iterator once state is updated
* update sc_basic_authorship tests
* update node tests
* fix manual seal
* actually fix service test
* add tests
* Update client/basic-authorship/src/basic_authorship.rs
Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* helper function
* review suggestions
* warning and continue
* add debug log
* use futures::chennel::oneshot
* use declaration bound
* no option for updated_at
* no allocation
* ready_at / ready
* Update client/transaction-pool/src/lib.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/transaction-pool/src/lib.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/transaction-pool/src/lib.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/transaction-pool/src/lib.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/transaction-pool/src/lib.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/transaction-pool/src/lib.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2020-03-17 16:24:04 +01:00
Seun Lanlege
f26f703ad4
removes use of sc_client::Client from sc_basic_authorship ( #5050 )
...
* removes use of sc-client from sc-basic-authorship
* refactor use of ProposerFactory
* correct dep path
2020-02-27 17:12:00 +01:00
Nikolay Volf
86ab0cb4d9
Revalidation queue for transaction pool ( #4781 )
...
* Revalidation queeue.
* add docs and license
* move test
* refactor worker to async/await
* address review
* fix warnings
* update Cargo.lock
* move background task to service
* use tomusdrw loop
* naming
* return From::from
* add doc comment
* add more doc comments
* fix merge bug
* add doc comment for test function
* Update client/transaction-pool/src/testing/pool.rs
Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* more review fixes
* refactor to allow service keep background tasks from isntantiated subsystems
* use const delay
* fix fallout
* remove fallout
* remove already moved test
* fix doc test
* add valid_at helper
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
2020-02-17 16:48:24 +03:00
Wei Tang
c7b09b642a
Refactor BlockImportParams to be non_exhaustive ( #4936 )
...
* Refactor BlockImportParams to be non_exhaustive
* Fix cargo check compile
2020-02-17 10:18:53 +01:00
Seun Lanlege
d3a3e288b6
Adds fork-awareness and finalization notifications to transaction pool watchers. ( #4740 )
...
* adds finalization support to sc-transaction-pool using MaintainedTransactionPool for finalization events
* adds TransactionStatus::Retracted, notify watchers of retracted blocks, finalized now finalizes, transactions for current finalized -> last finalized block
* adds last_finalized to ChainApi, use generic BlockT for ChainEvent
* fix tests
* Apply suggestions from code review
Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* tests
* fix tests, docs, lazily dedupe pruned hashes
* fix tests, Cargo.lock
* Apply suggestions from code review
Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* remove tree_route, last_finalized from ChainApi, add block hash to Finalization and Retracted events
* prune finality watchers
* fix tests
* remove HeaderBackend bound from FullChainApi
* code style nits, terminate stream in finality_timeout
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
2020-02-14 14:44:58 +01:00
Bastian Köcher
709a899f9d
Cleanup transaction pool deps ( #4782 )
...
* Cleanup transaction pool deps
* Fix it properly
* Fix doc test
2020-01-31 12:40:32 +01:00
Nikolay Volf
94a187f291
Transaction queue tests update ( #4734 )
...
* shuffle tests
* update tests
* inc_nonce -> increment_nonce
2020-01-27 04:22:04 -08:00
Seun LanLege
9cea98e950
Manual Seal ( #4143 )
...
* instant/manual seal
unbounded queues are evil
Apply suggestions from code review
Co-Authored-By: Robert Habermeier <rphmeier@gmail.com >
add fork tests, docs, remove todos
moar docs
Update client/consensus/manual-seal/src/rpc.rs
Co-Authored-By: Robert Habermeier <rphmeier@gmail.com >
remove unbound generic, parameter, docs, deps, code style changes
Apply suggestions from code review
Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
code style chnges
remove unused deps, remove dep renames, check if block is empty before importing, use ? for error propagation
fix tests
log errors for instant seal
use debug
code style changes, updated copyright dates
use txpool::Pool instead of BasicPool, code style changes
fixed tests
* fix tests
* requested changes from review
* check inherents len
* rebase
2020-01-27 10:59:40 +01:00