From 23ec0af51de8c7d6e1ca4c91c52cffa5dd17a05d Mon Sep 17 00:00:00 2001 From: Emilia Hane Date: Sun, 10 Nov 2024 13:56:36 +0100 Subject: [PATCH] chore(sdk): auto trait bounds `NodePrimitives` (#12398) --- crates/ethereum/node/src/node.rs | 2 +- crates/node/types/src/lib.rs | 15 +++++++++------ crates/optimism/node/src/node.rs | 2 +- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/crates/ethereum/node/src/node.rs b/crates/ethereum/node/src/node.rs index e545a3c73..68ed879d2 100644 --- a/crates/ethereum/node/src/node.rs +++ b/crates/ethereum/node/src/node.rs @@ -38,7 +38,7 @@ use reth_trie_db::MerklePatriciaTrie; use crate::{EthEngineTypes, EthEvmConfig}; /// Ethereum primitive types. -#[derive(Debug)] +#[derive(Debug, Default, Clone)] pub struct EthPrimitives; impl NodePrimitives for EthPrimitives { diff --git a/crates/node/types/src/lib.rs b/crates/node/types/src/lib.rs index afb650ada..7f4bd4f57 100644 --- a/crates/node/types/src/lib.rs +++ b/crates/node/types/src/lib.rs @@ -8,24 +8,27 @@ #![cfg_attr(not(test), warn(unused_crate_dependencies))] #![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))] +pub use reth_primitives_traits::{Block, BlockBody}; + +use core::fmt; +use std::marker::PhantomData; + use reth_chainspec::EthChainSpec; use reth_db_api::{ database_metrics::{DatabaseMetadata, DatabaseMetrics}, Database, }; use reth_engine_primitives::EngineTypes; -pub use reth_primitives_traits::{Block, BlockBody}; use reth_trie_db::StateCommitment; -use std::marker::PhantomData; /// Configures all the primitive types of the node. -pub trait NodePrimitives { +pub trait NodePrimitives: Send + Sync + Unpin + Clone + Default + fmt::Debug { /// Block primitive. - type Block; + type Block: Send + Sync + Unpin + Clone + Default + fmt::Debug + 'static; /// Signed version of the transaction type. - type SignedTx; + type SignedTx: Send + Sync + Unpin + Clone + Default + fmt::Debug + 'static; /// A receipt. - type Receipt; + type Receipt: Send + Sync + Unpin + Clone + Default + fmt::Debug + 'static; } impl NodePrimitives for () { diff --git a/crates/optimism/node/src/node.rs b/crates/optimism/node/src/node.rs index 6edab570e..323148e27 100644 --- a/crates/optimism/node/src/node.rs +++ b/crates/optimism/node/src/node.rs @@ -41,7 +41,7 @@ use crate::{ }; /// Optimism primitive types. -#[derive(Debug)] +#[derive(Debug, Default, Clone)] pub struct OpPrimitives; impl NodePrimitives for OpPrimitives {