1#![cfg_attr(not(test), warn(unused_crate_dependencies))]
4#![cfg_attr(docsrs, feature(doc_cfg))]
5
6pub use tempo_payload_types::{TempoExecutionData, TempoPayloadTypes};
7pub use version::{init_version_metadata, version_metadata};
8
9use crate::node::TempoAddOns;
10pub use crate::node::{TempoNode, TempoNodeArgs, TempoPayloadBuilderBuilder, TempoPoolBuilder};
11use reth_ethereum::provider::db::DatabaseEnv;
12use reth_node_builder::{FullNode, NodeAdapter, RethFullAdapter};
13pub use reth_storage_api::AccountInfoReader;
14pub use reth_transaction_pool::{
15 PoolTransaction, StatefulValidationFn, StatelessValidationFn, TransactionOrigin,
16 error::{InvalidPoolTransactionError, PoolTransactionError},
17};
18pub use tempo_transaction_pool::{
19 transaction::{TempoPoolTransactionError, TempoPooledTransaction},
20 validator::DEFAULT_AA_VALID_AFTER_MAX_SECS,
21};
22
23pub mod engine;
24pub mod node;
25pub mod rpc;
26pub mod telemetry;
27pub use tempo_evm as evm;
28pub use tempo_evm::consensus;
29pub use tempo_primitives as primitives;
30
31mod version;
32
33type TempoFullNodeTypes = RethFullAdapter<DatabaseEnv, TempoNode>;
34type TempoNodeAdapter = NodeAdapter<TempoFullNodeTypes>;
35
36pub type TempoFullNode = FullNode<TempoNodeAdapter, TempoAddOns<TempoFullNodeTypes>>;