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)
This commit is contained in:
Bastian Köcher
2020-06-08 12:38:19 +02:00
committed by GitHub
parent 84cdb02963
commit 663cd09be9
11 changed files with 134 additions and 81 deletions
@@ -36,5 +36,7 @@ wasm-timer = "0.2"
assert_matches = "1.3.0"
hex = "0.4"
sp-keyring = { version = "2.0.0-rc2", path = "../../primitives/keyring" }
sp-consensus = { version = "0.8.0-rc2", path = "../../primitives/consensus/common" }
substrate-test-runtime-transaction-pool = { version = "2.0.0-rc2", path = "../../test-utils/runtime/transaction-pool" }
substrate-test-runtime-client = { version = "2.0.0-rc2", path = "../../test-utils/runtime/client" }
sc-block-builder = { version = "0.8.0-rc2", path = "../block-builder" }