From f447db1eee20c04f76d30e32e027179e4f59a416 Mon Sep 17 00:00:00 2001 From: Matthias Seitz Date: Thu, 23 May 2024 13:39:11 +0200 Subject: [PATCH] feat: add static-file-types (#8361) --- Cargo.lock | 14 +++++++++-- Cargo.toml | 2 ++ crates/primitives/Cargo.toml | 5 ++-- crates/primitives/src/lib.rs | 2 +- crates/static-file-types/Cargo.toml | 23 +++++++++++++++++++ .../src}/compression.rs | 0 .../src}/filters.rs | 0 .../mod.rs => static-file-types/src/lib.rs} | 10 +++++++- .../src}/segment.rs | 12 ++++------ 9 files changed, 54 insertions(+), 14 deletions(-) create mode 100644 crates/static-file-types/Cargo.toml rename crates/{primitives/src/static_file => static-file-types/src}/compression.rs (100%) rename crates/{primitives/src/static_file => static-file-types/src}/filters.rs (100%) rename crates/{primitives/src/static_file/mod.rs => static-file-types/src/lib.rs} (84%) rename crates/{primitives/src/static_file => static-file-types/src}/segment.rs (97%) diff --git a/Cargo.lock b/Cargo.lock index ce125ced72..413d83fc9f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -7548,7 +7548,6 @@ dependencies = [ "byteorder", "bytes", "c-kzg", - "clap", "criterion", "derive_more", "hash-db", @@ -7565,13 +7564,13 @@ dependencies = [ "reth-codecs", "reth-ethereum-forks", "reth-network-types", + "reth-static-file-types", "revm", "revm-primitives", "roaring", "secp256k1 0.28.2", "serde", "serde_json", - "strum", "sucds", "tempfile", "test-fuzz", @@ -7932,6 +7931,17 @@ dependencies = [ "tracing", ] +[[package]] +name = "reth-static-file-types" +version = "0.2.0-beta.7" +dependencies = [ + "alloy-primitives", + "clap", + "derive_more", + "serde", + "strum", +] + [[package]] name = "reth-tasks" version = "0.2.0-beta.7" diff --git a/Cargo.toml b/Cargo.toml index a44a474e09..a779905e69 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -60,6 +60,7 @@ members = [ "crates/stages/", "crates/stages-api", "crates/static-file/", + "crates/static-file-types/", "crates/storage/codecs/", "crates/storage/codecs/derive/", "crates/storage/db/", @@ -271,6 +272,7 @@ reth-rpc-layer = { path = "crates/rpc/rpc-layer" } reth-stages = { path = "crates/stages" } reth-stages-api = { path = "crates/stages-api" } reth-static-file = { path = "crates/static-file" } +reth-static-file-types = { path = "crates/static-file-types" } reth-tasks = { path = "crates/tasks" } reth-tokio-util = { path = "crates/tokio-util" } reth-tracing = { path = "crates/tracing" } diff --git a/crates/primitives/Cargo.toml b/crates/primitives/Cargo.toml index 34100b24b7..f44db3cae1 100644 --- a/crates/primitives/Cargo.toml +++ b/crates/primitives/Cargo.toml @@ -16,6 +16,7 @@ workspace = true reth-codecs.workspace = true reth-ethereum-forks.workspace = true reth-network-types.workspace = true +reth-static-file-types.workspace = true revm.workspace = true revm-primitives = { workspace = true, features = ["serde"] } @@ -41,7 +42,6 @@ c-kzg = { workspace = true, features = ["serde"], optional = true } # misc bytes.workspace = true byteorder = "1" -clap = { workspace = true, features = ["derive"], optional = true } derive_more.workspace = true itertools.workspace = true modular-bitfield.workspace = true @@ -62,7 +62,6 @@ plain_hasher = { version = "0.2", optional = true } arbitrary = { workspace = true, features = ["derive"], optional = true } proptest = { workspace = true, optional = true } proptest-derive = { workspace = true, optional = true } -strum = { workspace = true, features = ["derive"] } [dev-dependencies] # eth @@ -116,7 +115,7 @@ c-kzg = [ "alloy-eips/kzg", ] zstd-codec = ["dep:zstd"] -clap = ["dep:clap"] +clap = ["reth-static-file-types/clap"] optimism = [ "reth-codecs/optimism", "reth-ethereum-forks/optimism", diff --git a/crates/primitives/src/lib.rs b/crates/primitives/src/lib.rs index 35dfc14915..b10582cf9e 100644 --- a/crates/primitives/src/lib.rs +++ b/crates/primitives/src/lib.rs @@ -42,7 +42,7 @@ mod receipt; /// Helpers for working with revm pub mod revm; pub mod stage; -pub mod static_file; +pub use reth_static_file_types as static_file; mod storage; /// Helpers for working with transactions pub mod transaction; diff --git a/crates/static-file-types/Cargo.toml b/crates/static-file-types/Cargo.toml new file mode 100644 index 0000000000..63ba40c8f5 --- /dev/null +++ b/crates/static-file-types/Cargo.toml @@ -0,0 +1,23 @@ +[package] +name = "reth-static-file-types" +version.workspace = true +edition.workspace = true +homepage.workspace = true +license.workspace = true +repository.workspace = true +rust-version.workspace = true +description = "Commonly used types for static file usage in reth." + +[lints] +workspace = true + +[dependencies] +alloy-primitives.workspace = true + +clap = { workspace = true, features = ["derive"], optional = true } +derive_more.workspace = true +serde = { workspace = true, features = ["derive"] } +strum = { workspace = true, features = ["derive"] } + +[features] +clap = ["dep:clap"] \ No newline at end of file diff --git a/crates/primitives/src/static_file/compression.rs b/crates/static-file-types/src/compression.rs similarity index 100% rename from crates/primitives/src/static_file/compression.rs rename to crates/static-file-types/src/compression.rs diff --git a/crates/primitives/src/static_file/filters.rs b/crates/static-file-types/src/filters.rs similarity index 100% rename from crates/primitives/src/static_file/filters.rs rename to crates/static-file-types/src/filters.rs diff --git a/crates/primitives/src/static_file/mod.rs b/crates/static-file-types/src/lib.rs similarity index 84% rename from crates/primitives/src/static_file/mod.rs rename to crates/static-file-types/src/lib.rs index e7e9e47fd2..26d2496948 100644 --- a/crates/primitives/src/static_file/mod.rs +++ b/crates/static-file-types/src/lib.rs @@ -1,4 +1,12 @@ -//! StaticFile primitives. +//! Commonly used types for static file usage. + +#![doc( + html_logo_url = "https://raw.githubusercontent.com/paradigmxyz/reth/main/assets/reth-docs.png", + html_favicon_url = "https://avatars0.githubusercontent.com/u/97369466?s=256", + issue_tracker_base_url = "https://github.com/paradigmxyz/reth/issues/" +)] +#![cfg_attr(not(test), warn(unused_crate_dependencies))] +#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))] mod compression; mod filters; diff --git a/crates/primitives/src/static_file/segment.rs b/crates/static-file-types/src/segment.rs similarity index 97% rename from crates/primitives/src/static_file/segment.rs rename to crates/static-file-types/src/segment.rs index a9ad2a075f..82b937f294 100644 --- a/crates/primitives/src/static_file/segment.rs +++ b/crates/static-file-types/src/segment.rs @@ -1,7 +1,5 @@ -use crate::{ - static_file::{Compression, Filters, InclusionFilter}, - BlockNumber, TxNumber, -}; +use crate::{BlockNumber, Compression, Filters, InclusionFilter}; +use alloy_primitives::TxNumber; use derive_more::Display; use serde::{Deserialize, Serialize}; use std::{ops::RangeInclusive, str::FromStr}; @@ -385,7 +383,7 @@ mod tests { Compression::Lz4, Filters::WithFilters( InclusionFilter::Cuckoo, - crate::static_file::PerfectHashingFunction::Fmph, + crate::PerfectHashingFunction::Fmph, ), )), ), @@ -397,7 +395,7 @@ mod tests { Compression::Zstd, Filters::WithFilters( InclusionFilter::Cuckoo, - crate::static_file::PerfectHashingFunction::Fmph, + crate::PerfectHashingFunction::Fmph, ), )), ), @@ -409,7 +407,7 @@ mod tests { Compression::ZstdWithDictionary, Filters::WithFilters( InclusionFilter::Cuckoo, - crate::static_file::PerfectHashingFunction::Fmph, + crate::PerfectHashingFunction::Fmph, ), )), ),