From ad6114972da403098b338ad19c15f70742501c7c Mon Sep 17 00:00:00 2001 From: cheme Date: Mon, 7 Nov 2022 23:20:23 +0100 Subject: [PATCH 1/5] update paritydb and remove dev deps on rocksdb --- Cargo.lock | 45 +++++++++-------------------- Cargo.toml | 1 - bin/node/bench/Cargo.toml | 2 +- bin/node/testing/Cargo.toml | 3 +- client/db/Cargo.toml | 3 +- client/db/src/lib.rs | 2 +- client/db/src/utils.rs | 10 +++++-- client/service/Cargo.toml | 2 +- scripts/ci/gitlab/pipeline/test.yml | 2 ++ 9 files changed, 27 insertions(+), 43 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 510161e225732..b68c4141af736 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -601,16 +601,6 @@ dependencies = [ "digest 0.10.3", ] -[[package]] -name = "blake2-rfc" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" -dependencies = [ - "arrayvec 0.4.12", - "constant_time_eq", -] - [[package]] name = "blake2b_simd" version = "1.0.0" @@ -1797,7 +1787,7 @@ checksum = "64fba5a42bd76a17cad4bfa00de168ee1cbfa06a5e8ce992ae880218c05641a9" dependencies = [ "byteorder", "dynasm", - "memmap2 0.5.0", + "memmap2", ] [[package]] @@ -4097,9 +4087,9 @@ dependencies = [ [[package]] name = "lz4" -version = "1.23.2" +version = "1.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aac20ed6991e01bf6a2e68cc73df2b389707403662a8ba89f68511fb340f724c" +checksum = "7e9e2dd86df36ce760a60f6ff6ad526f7ba1f14ba0356f8254fb6905e6494df1" dependencies = [ "libc", "lz4-sys", @@ -4107,9 +4097,9 @@ dependencies = [ [[package]] name = "lz4-sys" -version = "1.9.2" +version = "1.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dca79aa95d8b3226213ad454d328369853be3a1382d89532a854f4d69640acae" +checksum = "57d27b317e207b10f69f5e75494119e391a96f48861ae870d1da6edac98ca900" dependencies = [ "cc", "libc", @@ -4185,15 +4175,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "memmap2" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04e3e85b970d650e2ae6d70592474087051c11c54da7f7b4949725c5735fbcc6" -dependencies = [ - "libc", -] - [[package]] name = "memmap2" version = "0.5.0" @@ -6449,19 +6430,19 @@ dependencies = [ [[package]] name = "parity-db" -version = "0.3.16" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bb474d0ed0836e185cb998a6b140ed1073d1fbf27d690ecf9ede8030289382c" +checksum = "3a7511a0bec4a336b5929999d02b560d2439c993cccf98c26481484e811adc43" dependencies = [ - "blake2-rfc", + "blake2", "crc32fast", "fs2", "hex", "libc", "log", "lz4", - "memmap2 0.2.1", - "parking_lot 0.11.2", + "memmap2", + "parking_lot 0.12.1", "rand 0.8.5", "snap", ] @@ -7692,7 +7673,7 @@ name = "sc-chain-spec" version = "4.0.0-dev" dependencies = [ "impl-trait-for-tuples", - "memmap2 0.5.0", + "memmap2", "parity-scale-codec", "sc-chain-spec-derive", "sc-network-common", @@ -11165,7 +11146,7 @@ version = "1.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ - "cfg-if 0.1.10", + "cfg-if 1.0.0", "digest 0.10.3", "rand 0.8.5", "static_assertions", @@ -11613,7 +11594,7 @@ dependencies = [ "enumset", "lazy_static", "loupe", - "memmap2 0.5.0", + "memmap2", "more-asserts", "rustc-demangle", "serde", diff --git a/Cargo.toml b/Cargo.toml index d3c801fc2c7be..45aa5f9854d25 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -254,7 +254,6 @@ members = [ # This list is ordered alphabetically. [profile.dev.package] blake2 = { opt-level = 3 } -blake2-rfc = { opt-level = 3 } blake2b_simd = { opt-level = 3 } chacha20poly1305 = { opt-level = 3 } cranelift-codegen = { opt-level = 3 } diff --git a/bin/node/bench/Cargo.toml b/bin/node/bench/Cargo.toml index 54a1d4900c60b..e81f77a77941a 100644 --- a/bin/node/bench/Cargo.toml +++ b/bin/node/bench/Cargo.toml @@ -38,7 +38,7 @@ fs_extra = "1" rand = { version = "0.7.2", features = ["small_rng"] } lazy_static = "1.4.0" parity-util-mem = { version = "0.12.0", default-features = false, features = ["primitive-types"] } -parity-db = { version = "0.3" } +parity-db = { version = "0.4" } sc-transaction-pool = { version = "4.0.0-dev", path = "../../../client/transaction-pool" } sc-transaction-pool-api = { version = "4.0.0-dev", path = "../../../client/transaction-pool/api" } futures = { version = "0.3.21", features = ["thread-pool"] } diff --git a/bin/node/testing/Cargo.toml b/bin/node/testing/Cargo.toml index ed81301e45189..1ba852db9bb2c 100644 --- a/bin/node/testing/Cargo.toml +++ b/bin/node/testing/Cargo.toml @@ -26,14 +26,13 @@ pallet-asset-tx-payment = { version = "4.0.0-dev", path = "../../../frame/transa pallet-transaction-payment = { version = "4.0.0-dev", path = "../../../frame/transaction-payment" } sc-block-builder = { version = "0.10.0-dev", path = "../../../client/block-builder" } sc-client-api = { version = "4.0.0-dev", path = "../../../client/api" } -sc-client-db = { version = "0.10.0-dev", features = ["rocksdb"], path = "../../../client/db" } +sc-client-db = { version = "0.10.0-dev", features = [], path = "../../../client/db" } sc-consensus = { version = "0.10.0-dev", path = "../../../client/consensus/common" } sc-executor = { version = "0.10.0-dev", features = [ "wasmtime", ], path = "../../../client/executor" } sc-service = { version = "0.10.0-dev", features = [ "test-helpers", - "rocksdb", ], path = "../../../client/service" } sp-api = { version = "4.0.0-dev", path = "../../../primitives/api" } sp-block-builder = { version = "4.0.0-dev", path = "../../../primitives/block-builder" } diff --git a/client/db/Cargo.toml b/client/db/Cargo.toml index b21038b77564f..d20a6ed65276a 100644 --- a/client/db/Cargo.toml +++ b/client/db/Cargo.toml @@ -22,7 +22,7 @@ kvdb-memorydb = "0.12.0" kvdb-rocksdb = { version = "0.16.0", optional = true } linked-hash-map = "0.5.4" log = "0.4.17" -parity-db = "0.3.16" +parity-db = "0.4.2" parking_lot = "0.12.1" sc-client-api = { version = "4.0.0-dev", path = "../api" } sc-state-db = { version = "0.10.0-dev", path = "../state-db" } @@ -36,7 +36,6 @@ sp-trie = { version = "6.0.0", path = "../../primitives/trie" } [dev-dependencies] criterion = "0.3.3" -kvdb-rocksdb = "0.16.0" rand = "0.8.4" tempfile = "3.1.0" quickcheck = { version = "1.0.3", default-features = false } diff --git a/client/db/src/lib.rs b/client/db/src/lib.rs index 0138df36a38fb..7e4e73e4e8914 100644 --- a/client/db/src/lib.rs +++ b/client/db/src/lib.rs @@ -36,7 +36,7 @@ mod children; mod parity_db; mod record_stats_state; mod stats; -#[cfg(any(feature = "rocksdb", test))] +#[cfg(feature = "rocksdb")] mod upgrade; mod utils; diff --git a/client/db/src/utils.rs b/client/db/src/utils.rs index 567950d089e1b..32f34b00449f3 100644 --- a/client/db/src/utils.rs +++ b/client/db/src/utils.rs @@ -293,7 +293,7 @@ fn open_parity_db(path: &Path, db_type: DatabaseType, create: boo } } -#[cfg(any(feature = "rocksdb", test))] +#[cfg(feature = "rocksdb")] fn open_kvdb_rocksdb( path: &Path, db_type: DatabaseType, @@ -343,7 +343,7 @@ fn open_kvdb_rocksdb( Ok(sp_database::as_database(db)) } -#[cfg(not(any(feature = "rocksdb", test)))] +#[cfg(not(feature = "rocksdb"))] fn open_kvdb_rocksdb( _path: &Path, _db_type: DatabaseType, @@ -583,10 +583,11 @@ mod tests { use super::*; use codec::Input; use sp_runtime::testing::{Block as RawBlock, ExtrinsicWrapper}; + #[cfg(feature = "rocksdb")] use std::path::PathBuf; type Block = RawBlock>; - #[cfg(any(feature = "rocksdb", test))] + #[cfg(feature = "rocksdb")] #[test] fn database_type_subdir_migration() { type Block = RawBlock>; @@ -685,6 +686,7 @@ mod tests { assert_eq!(joined.remaining_len().unwrap(), Some(0)); } + #[cfg(feature = "rocksdb")] #[test] fn test_open_database_auto_new() { let db_dir = tempfile::TempDir::new().unwrap(); @@ -730,6 +732,7 @@ mod tests { } } + #[cfg(feature = "rocksdb")] #[test] fn test_open_database_rocksdb_new() { let db_dir = tempfile::TempDir::new().unwrap(); @@ -802,6 +805,7 @@ mod tests { } // it should fail to open existing pairtydb database + #[cfg(feature = "rocksdb")] { let db_res = open_database::( &DatabaseSource::RocksDb { path: rocksdb_path.clone(), cache_size: 128 }, diff --git a/client/service/Cargo.toml b/client/service/Cargo.toml index a0c8f21effec1..4ec1565155b69 100644 --- a/client/service/Cargo.toml +++ b/client/service/Cargo.toml @@ -13,7 +13,7 @@ readme = "README.md" targets = ["x86_64-unknown-linux-gnu"] [features] -default = ["rocksdb"] +default = [] # The RocksDB feature activates the RocksDB database backend. If it is not activated, and you pass # a path to a database, an error will be produced at runtime. rocksdb = ["sc-client-db/rocksdb"] diff --git a/scripts/ci/gitlab/pipeline/test.yml b/scripts/ci/gitlab/pipeline/test.yml index 4f523738b151c..bb3dc07162272 100644 --- a/scripts/ci/gitlab/pipeline/test.yml +++ b/scripts/ci/gitlab/pipeline/test.yml @@ -231,6 +231,8 @@ test-linux-stable: --release --verbose --features runtime-benchmarks + --features sc-cli/rocksdb + --features sc-client-db/rocksdb --manifest-path ./bin/node/cli/Cargo.toml --exclude node-cli --partition count:${CI_NODE_INDEX}/${CI_NODE_TOTAL} From 44375dfba6c6a32e5c3cacb95647eecfbd472045 Mon Sep 17 00:00:00 2001 From: cheme Date: Tue, 8 Nov 2022 10:48:18 +0100 Subject: [PATCH 2/5] feature rocksdb for node testing --- bin/node/testing/Cargo.toml | 3 +++ bin/node/testing/src/bench.rs | 2 ++ scripts/ci/gitlab/pipeline/test.yml | 1 + 3 files changed, 6 insertions(+) diff --git a/bin/node/testing/Cargo.toml b/bin/node/testing/Cargo.toml index 1ba852db9bb2c..85bcead11db34 100644 --- a/bin/node/testing/Cargo.toml +++ b/bin/node/testing/Cargo.toml @@ -45,3 +45,6 @@ sp-keyring = { version = "6.0.0", path = "../../../primitives/keyring" } sp-runtime = { version = "6.0.0", path = "../../../primitives/runtime" } sp-timestamp = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/timestamp" } substrate-test-client = { version = "2.0.0", path = "../../../test-utils/client" } + +[features] +rocksdb = ["sc-client-db/rocksdb"] diff --git a/bin/node/testing/src/bench.rs b/bin/node/testing/src/bench.rs index 59f1fa94c9b20..5a83933c3546f 100644 --- a/bin/node/testing/src/bench.rs +++ b/bin/node/testing/src/bench.rs @@ -213,6 +213,7 @@ pub struct BlockContent { /// Type of backend database. #[derive(Debug, PartialEq, Clone, Copy)] pub enum DatabaseType { + #[cfg(feature = "rocksdb")] /// RocksDb backend. RocksDb, /// Parity DB backend. @@ -222,6 +223,7 @@ pub enum DatabaseType { impl DatabaseType { fn into_settings(self, path: PathBuf) -> sc_client_db::DatabaseSource { match self { + #[cfg(feature = "rocksdb")] Self::RocksDb => sc_client_db::DatabaseSource::RocksDb { path, cache_size: 512 }, Self::ParityDb => sc_client_db::DatabaseSource::ParityDb { path }, } diff --git a/scripts/ci/gitlab/pipeline/test.yml b/scripts/ci/gitlab/pipeline/test.yml index bb3dc07162272..189ffbc119682 100644 --- a/scripts/ci/gitlab/pipeline/test.yml +++ b/scripts/ci/gitlab/pipeline/test.yml @@ -233,6 +233,7 @@ test-linux-stable: --features runtime-benchmarks --features sc-cli/rocksdb --features sc-client-db/rocksdb + --features node-testing/rocksdb --manifest-path ./bin/node/cli/Cargo.toml --exclude node-cli --partition count:${CI_NODE_INDEX}/${CI_NODE_TOTAL} From 4149006f2d149c784b0b53f3b67b1bb6ddb14e55 Mon Sep 17 00:00:00 2001 From: cheme Date: Tue, 8 Nov 2022 10:57:03 +0100 Subject: [PATCH 3/5] feature decl in node-bench --- bin/node/bench/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/node/bench/Cargo.toml b/bin/node/bench/Cargo.toml index e81f77a77941a..568e172bfce96 100644 --- a/bin/node/bench/Cargo.toml +++ b/bin/node/bench/Cargo.toml @@ -15,7 +15,7 @@ array-bytes = "4.1" clap = { version = "4.0.9", features = ["derive"] } log = "0.4.17" node-primitives = { version = "2.0.0", path = "../primitives" } -node-testing = { version = "3.0.0-dev", path = "../testing" } +node-testing = { version = "3.0.0-dev", features = ["rocksdb"], path = "../testing" } kitchensink-runtime = { version = "3.0.0-dev", path = "../runtime" } sc-client-api = { version = "4.0.0-dev", path = "../../../client/api/" } sp-runtime = { version = "6.0.0", path = "../../../primitives/runtime" } From 9ae4139d4631a0ae61a8ddac39e7533b328ed414 Mon Sep 17 00:00:00 2001 From: cheme Date: Tue, 8 Nov 2022 14:24:20 +0100 Subject: [PATCH 4/5] revert change to rocksdb inclusion logic --- bin/node/bench/Cargo.toml | 2 +- bin/node/testing/Cargo.toml | 6 ++---- bin/node/testing/src/bench.rs | 2 -- client/db/Cargo.toml | 1 + client/db/src/lib.rs | 2 +- client/db/src/utils.rs | 10 +++------- client/service/Cargo.toml | 2 +- scripts/ci/gitlab/pipeline/test.yml | 3 --- 8 files changed, 9 insertions(+), 19 deletions(-) diff --git a/bin/node/bench/Cargo.toml b/bin/node/bench/Cargo.toml index 568e172bfce96..e81f77a77941a 100644 --- a/bin/node/bench/Cargo.toml +++ b/bin/node/bench/Cargo.toml @@ -15,7 +15,7 @@ array-bytes = "4.1" clap = { version = "4.0.9", features = ["derive"] } log = "0.4.17" node-primitives = { version = "2.0.0", path = "../primitives" } -node-testing = { version = "3.0.0-dev", features = ["rocksdb"], path = "../testing" } +node-testing = { version = "3.0.0-dev", path = "../testing" } kitchensink-runtime = { version = "3.0.0-dev", path = "../runtime" } sc-client-api = { version = "4.0.0-dev", path = "../../../client/api/" } sp-runtime = { version = "6.0.0", path = "../../../primitives/runtime" } diff --git a/bin/node/testing/Cargo.toml b/bin/node/testing/Cargo.toml index 85bcead11db34..ed81301e45189 100644 --- a/bin/node/testing/Cargo.toml +++ b/bin/node/testing/Cargo.toml @@ -26,13 +26,14 @@ pallet-asset-tx-payment = { version = "4.0.0-dev", path = "../../../frame/transa pallet-transaction-payment = { version = "4.0.0-dev", path = "../../../frame/transaction-payment" } sc-block-builder = { version = "0.10.0-dev", path = "../../../client/block-builder" } sc-client-api = { version = "4.0.0-dev", path = "../../../client/api" } -sc-client-db = { version = "0.10.0-dev", features = [], path = "../../../client/db" } +sc-client-db = { version = "0.10.0-dev", features = ["rocksdb"], path = "../../../client/db" } sc-consensus = { version = "0.10.0-dev", path = "../../../client/consensus/common" } sc-executor = { version = "0.10.0-dev", features = [ "wasmtime", ], path = "../../../client/executor" } sc-service = { version = "0.10.0-dev", features = [ "test-helpers", + "rocksdb", ], path = "../../../client/service" } sp-api = { version = "4.0.0-dev", path = "../../../primitives/api" } sp-block-builder = { version = "4.0.0-dev", path = "../../../primitives/block-builder" } @@ -45,6 +46,3 @@ sp-keyring = { version = "6.0.0", path = "../../../primitives/keyring" } sp-runtime = { version = "6.0.0", path = "../../../primitives/runtime" } sp-timestamp = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/timestamp" } substrate-test-client = { version = "2.0.0", path = "../../../test-utils/client" } - -[features] -rocksdb = ["sc-client-db/rocksdb"] diff --git a/bin/node/testing/src/bench.rs b/bin/node/testing/src/bench.rs index 5a83933c3546f..59f1fa94c9b20 100644 --- a/bin/node/testing/src/bench.rs +++ b/bin/node/testing/src/bench.rs @@ -213,7 +213,6 @@ pub struct BlockContent { /// Type of backend database. #[derive(Debug, PartialEq, Clone, Copy)] pub enum DatabaseType { - #[cfg(feature = "rocksdb")] /// RocksDb backend. RocksDb, /// Parity DB backend. @@ -223,7 +222,6 @@ pub enum DatabaseType { impl DatabaseType { fn into_settings(self, path: PathBuf) -> sc_client_db::DatabaseSource { match self { - #[cfg(feature = "rocksdb")] Self::RocksDb => sc_client_db::DatabaseSource::RocksDb { path, cache_size: 512 }, Self::ParityDb => sc_client_db::DatabaseSource::ParityDb { path }, } diff --git a/client/db/Cargo.toml b/client/db/Cargo.toml index d20a6ed65276a..c12bf933f6bb1 100644 --- a/client/db/Cargo.toml +++ b/client/db/Cargo.toml @@ -36,6 +36,7 @@ sp-trie = { version = "6.0.0", path = "../../primitives/trie" } [dev-dependencies] criterion = "0.3.3" +kvdb-rocksdb = "0.16.0" rand = "0.8.4" tempfile = "3.1.0" quickcheck = { version = "1.0.3", default-features = false } diff --git a/client/db/src/lib.rs b/client/db/src/lib.rs index 7e4e73e4e8914..0138df36a38fb 100644 --- a/client/db/src/lib.rs +++ b/client/db/src/lib.rs @@ -36,7 +36,7 @@ mod children; mod parity_db; mod record_stats_state; mod stats; -#[cfg(feature = "rocksdb")] +#[cfg(any(feature = "rocksdb", test))] mod upgrade; mod utils; diff --git a/client/db/src/utils.rs b/client/db/src/utils.rs index 32f34b00449f3..567950d089e1b 100644 --- a/client/db/src/utils.rs +++ b/client/db/src/utils.rs @@ -293,7 +293,7 @@ fn open_parity_db(path: &Path, db_type: DatabaseType, create: boo } } -#[cfg(feature = "rocksdb")] +#[cfg(any(feature = "rocksdb", test))] fn open_kvdb_rocksdb( path: &Path, db_type: DatabaseType, @@ -343,7 +343,7 @@ fn open_kvdb_rocksdb( Ok(sp_database::as_database(db)) } -#[cfg(not(feature = "rocksdb"))] +#[cfg(not(any(feature = "rocksdb", test)))] fn open_kvdb_rocksdb( _path: &Path, _db_type: DatabaseType, @@ -583,11 +583,10 @@ mod tests { use super::*; use codec::Input; use sp_runtime::testing::{Block as RawBlock, ExtrinsicWrapper}; - #[cfg(feature = "rocksdb")] use std::path::PathBuf; type Block = RawBlock>; - #[cfg(feature = "rocksdb")] + #[cfg(any(feature = "rocksdb", test))] #[test] fn database_type_subdir_migration() { type Block = RawBlock>; @@ -686,7 +685,6 @@ mod tests { assert_eq!(joined.remaining_len().unwrap(), Some(0)); } - #[cfg(feature = "rocksdb")] #[test] fn test_open_database_auto_new() { let db_dir = tempfile::TempDir::new().unwrap(); @@ -732,7 +730,6 @@ mod tests { } } - #[cfg(feature = "rocksdb")] #[test] fn test_open_database_rocksdb_new() { let db_dir = tempfile::TempDir::new().unwrap(); @@ -805,7 +802,6 @@ mod tests { } // it should fail to open existing pairtydb database - #[cfg(feature = "rocksdb")] { let db_res = open_database::( &DatabaseSource::RocksDb { path: rocksdb_path.clone(), cache_size: 128 }, diff --git a/client/service/Cargo.toml b/client/service/Cargo.toml index 4ec1565155b69..a0c8f21effec1 100644 --- a/client/service/Cargo.toml +++ b/client/service/Cargo.toml @@ -13,7 +13,7 @@ readme = "README.md" targets = ["x86_64-unknown-linux-gnu"] [features] -default = [] +default = ["rocksdb"] # The RocksDB feature activates the RocksDB database backend. If it is not activated, and you pass # a path to a database, an error will be produced at runtime. rocksdb = ["sc-client-db/rocksdb"] diff --git a/scripts/ci/gitlab/pipeline/test.yml b/scripts/ci/gitlab/pipeline/test.yml index 189ffbc119682..4f523738b151c 100644 --- a/scripts/ci/gitlab/pipeline/test.yml +++ b/scripts/ci/gitlab/pipeline/test.yml @@ -231,9 +231,6 @@ test-linux-stable: --release --verbose --features runtime-benchmarks - --features sc-cli/rocksdb - --features sc-client-db/rocksdb - --features node-testing/rocksdb --manifest-path ./bin/node/cli/Cargo.toml --exclude node-cli --partition count:${CI_NODE_INDEX}/${CI_NODE_TOTAL} From 536a402d223aed81db113a7373415373421b355f Mon Sep 17 00:00:00 2001 From: cheme Date: Tue, 8 Nov 2022 19:08:15 +0100 Subject: [PATCH 5/5] Update bin/node/bench/Cargo.toml MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Bastian Köcher --- bin/node/bench/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/node/bench/Cargo.toml b/bin/node/bench/Cargo.toml index e81f77a77941a..5fb4c418e8ae8 100644 --- a/bin/node/bench/Cargo.toml +++ b/bin/node/bench/Cargo.toml @@ -38,7 +38,7 @@ fs_extra = "1" rand = { version = "0.7.2", features = ["small_rng"] } lazy_static = "1.4.0" parity-util-mem = { version = "0.12.0", default-features = false, features = ["primitive-types"] } -parity-db = { version = "0.4" } +parity-db = "0.4.2" sc-transaction-pool = { version = "4.0.0-dev", path = "../../../client/transaction-pool" } sc-transaction-pool-api = { version = "4.0.0-dev", path = "../../../client/transaction-pool/api" } futures = { version = "0.3.21", features = ["thread-pool"] }