Transaction factory (#2481)

* Fix typos

* Add transaction factory

`cargo run -- purge-chain -y --chain dev && cargo run -- --dev --transaction-factory 10`

* Fix comment and remove build deps

* Move crate to test-utils

* Switch from flag to subcommand

`cargo run -- factory --dev --num 5`

* Decouple factory from node specifics

* Introduce different manufacturing modes

* Remove unrelated changes

* Update Cargo.lock

* Use SelectChain to fetch best block

* Improve expect proof

* Panic if factory executed with unsupported chain spec

* Link ToDo comments to follow-up ticket

* Address comments and improve style

* Remove unused dependencies

* Fix indent level

* Replace naked unwrap

* Update node/cli/src/factory_impl.rs

* Fix typo

* Use inherent_extrinsics instead of timestamp

* Generalize factory and remove saturated conversions

* Format imports

* Make it clearer that database needs to be empty

* Ensure factory settings

* Apply suggestions from code review

Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>

* Update test-utils/transaction-factory/src/lib.rs

Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>

* Fix match guard syntax

* Simplify import, remove empty line

* Update node/cli/Cargo.toml

* Update lockfile
This commit is contained in:
Michael Müller
2019-05-28 17:01:43 +02:00
committed by Gavin Wood
parent 811124234d
commit a706d994cb
14 changed files with 898 additions and 12 deletions
+20
View File
@@ -2020,8 +2020,12 @@ dependencies = [
"node-primitives 2.0.0",
"node-runtime 2.0.0",
"parity-codec 3.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
"rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
"sr-io 2.0.0",
"sr-primitives 2.0.0",
"srml-finality-tracker 2.0.0",
"srml-indices 2.0.0",
"srml-timestamp 2.0.0",
"structopt 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)",
"substrate-basic-authorship 2.0.0",
"substrate-cli 2.0.0",
@@ -2029,6 +2033,7 @@ dependencies = [
"substrate-consensus-aura 2.0.0",
"substrate-finality-grandpa 2.0.0",
"substrate-inherents 2.0.0",
"substrate-keyring 2.0.0",
"substrate-keystore 2.0.0",
"substrate-network 2.0.0",
"substrate-primitives 2.0.0",
@@ -2037,6 +2042,7 @@ dependencies = [
"substrate-telemetry 2.0.0",
"substrate-transaction-pool 2.0.0",
"tokio 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)",
"transaction-factory 0.0.1",
]
[[package]]
@@ -4918,6 +4924,20 @@ name = "traitobject"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "transaction-factory"
version = "0.0.1"
dependencies = [
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"parity-codec 3.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
"sr-primitives 2.0.0",
"substrate-cli 2.0.0",
"substrate-client 2.0.0",
"substrate-consensus-common 2.0.0",
"substrate-primitives 2.0.0",
"substrate-service 2.0.0",
]
[[package]]
name = "trie-bench"
version = "0.12.2"