From a627dcd9bf0a5cc0e69a269383bd95deeffc743e Mon Sep 17 00:00:00 2001 From: nk_ysg Date: Thu, 18 Jul 2024 01:24:06 +0800 Subject: [PATCH] chore: no_std in reth-codec (#9587) --- Cargo.toml | 2 +- crates/storage/codecs/Cargo.toml | 7 ++++--- crates/storage/codecs/src/lib.rs | 5 +++++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index cd2a01927..ba77ba269 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -390,7 +390,7 @@ alloy-primitives = "0.7.2" alloy-dyn-abi = "0.7.2" alloy-sol-types = "0.7.2" alloy-rlp = "0.3.4" -alloy-trie = "0.4" +alloy-trie = { version = "0.4", default-features = false } alloy-rpc-types = { version = "0.2", default-features = false, features = [ "eth", ] } diff --git a/crates/storage/codecs/Cargo.toml b/crates/storage/codecs/Cargo.toml index 63fcc004a..224f919f1 100644 --- a/crates/storage/codecs/Cargo.toml +++ b/crates/storage/codecs/Cargo.toml @@ -19,12 +19,12 @@ alloy-consensus = { workspace = true, optional = true } alloy-eips = { workspace = true, optional = true } alloy-genesis = { workspace = true, optional = true } alloy-primitives.workspace = true -alloy-trie.workspace = true +alloy-trie = { workspace = true, optional = true } # misc bytes.workspace = true modular-bitfield = { workspace = true, optional = true } -serde.workspace = true +serde = { workspace = true, optional = true } [dev-dependencies] alloy-eips = { workspace = true, default-features = false, features = [ @@ -43,10 +43,11 @@ proptest-arbitrary-interop.workspace = true [features] default = ["std", "alloy"] -std = ["alloy-primitives/std", "bytes/std"] +std = ["alloy-primitives/std", "bytes/std", "serde/std"] alloy = [ "dep:alloy-consensus", "dep:alloy-eips", "dep:alloy-genesis", "dep:modular-bitfield", + "dep:alloy-trie", ] diff --git a/crates/storage/codecs/src/lib.rs b/crates/storage/codecs/src/lib.rs index afee5f6cc..56c33509f 100644 --- a/crates/storage/codecs/src/lib.rs +++ b/crates/storage/codecs/src/lib.rs @@ -22,6 +22,11 @@ pub use reth_codecs_derive::*; use alloy_primitives::{Address, Bloom, Bytes, FixedBytes, U256}; use bytes::Buf; +#[cfg(not(feature = "std"))] +extern crate alloc; +#[cfg(not(feature = "std"))] +use alloc::vec::Vec; + #[cfg(any(test, feature = "alloy"))] mod alloy;