reth_seismic_primitives/
lib.rs1#![doc(
4 html_logo_url = "https://raw.githubusercontent.com/paradigmxyz/reth/main/assets/reth-docs.png",
5 html_favicon_url = "https://avatars0.githubusercontent.com/u/97369466?s=256",
6 issue_tracker_base_url = "https://github.com/SeismicSystems/seismic-reth/issues/"
7)]
8#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
9#![cfg_attr(not(test), warn(unused_crate_dependencies))]
10#![cfg_attr(not(feature = "std"), no_std)]
11
12extern crate alloc;
13
14#[cfg(feature = "alloy-compat")]
15mod alloy_compat;
16
17pub mod transaction;
18pub use transaction::{signed::SeismicTransactionSigned, tx_type::SeismicTxType};
19
20mod receipt;
21pub use receipt::SeismicReceipt;
22pub mod test_utils;
23
24pub type SeismicBlock = alloy_consensus::Block<SeismicTransactionSigned>;
26
27pub type SeismicBlockBody = <SeismicBlock as reth_primitives_traits::Block>::Body;
29
30#[derive(Debug, Default, Clone, PartialEq, Eq)]
32#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
33pub struct SeismicPrimitives;
34
35impl reth_primitives_traits::NodePrimitives for SeismicPrimitives {
36 type Block = SeismicBlock;
37 type BlockHeader = alloy_consensus::Header;
38 type BlockBody = SeismicBlockBody;
39 type SignedTx = SeismicTransactionSigned;
40 type Receipt = SeismicReceipt;
41}
42
43#[cfg(feature = "serde-bincode-compat")]
45pub mod serde_bincode_compat {
46 pub use super::{
47 receipt::serde_bincode_compat::*, transaction::signed::serde_bincode_compat::*,
48 };
49}