1#![doc = include_str!("../README.md")]
2#![doc(
3 html_logo_url = "https://raw.githubusercontent.com/alloy-rs/core/main/assets/alloy.jpg",
4 html_favicon_url = "https://raw.githubusercontent.com/alloy-rs/core/main/assets/favicon.ico"
5)]
6#![cfg_attr(not(test), warn(unused_crate_dependencies))]
7#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
8#![cfg_attr(not(feature = "std"), no_std)]
9
10extern crate alloc;
11
12#[cfg(feature = "arbitrary")]
13use rand as _;
14
15use once_cell as _;
16
17pub use alloy_trie::TrieAccount;
18
19#[deprecated(since = "0.7.3", note = "use TrieAccount instead")]
20pub use alloy_trie::TrieAccount as Account;
21
22mod block;
23pub use block::{Block, BlockBody, BlockHeader, EthBlock, Header, HeaderInfo};
24
25pub mod constants;
26pub use constants::{EMPTY_OMMER_ROOT_HASH, EMPTY_ROOT_HASH};
27
28mod receipt;
29pub use receipt::{
30 Eip2718EncodableReceipt, Eip658Value, Receipt, ReceiptEnvelope, ReceiptWithBloom, Receipts,
31 RlpDecodableReceipt, RlpEncodableReceipt, TxReceipt,
32};
33
34pub mod conditional;
35pub mod proofs;
36
37pub mod transaction;
38#[cfg(feature = "kzg")]
39pub use transaction::BlobTransactionValidationError;
40pub use transaction::{
41 EthereumTxEnvelope, EthereumTypedTransaction, SignableTransaction, Transaction,
42 TransactionEnvelope, TxEip1559, TxEip2930, TxEip4844, TxEip4844Variant, TxEip4844WithSidecar,
43 TxEip7702, TxEnvelope, TxLegacy, TxType, TypedTransaction,
44};
45
46pub use alloy_eips::{
47 eip4844::{
48 builder::{SidecarBuilder, SidecarCoder, SimpleCoder},
49 utils, Blob, BlobTransactionSidecar, Bytes48,
50 },
51 Typed2718,
52};
53
54#[cfg(feature = "kzg")]
55pub use alloy_eips::eip4844::env_settings::EnvKzgSettings;
56
57pub use alloy_primitives::{Sealable, Sealed};
58
59mod signed;
60pub use signed::Signed;
61
62pub use alloy_tx_macros::TransactionEnvelope;
63
64pub mod crypto;
65pub mod error;
66
67pub mod extended;
68pub use extended::Extended;
69
70#[cfg(all(feature = "serde", feature = "serde-bincode-compat"))]
78pub mod serde_bincode_compat {
79 pub use super::{
80 block::serde_bincode_compat::*,
81 receipt::serde_bincode_compat::*,
82 transaction::{serde_bincode_compat as transaction, serde_bincode_compat::*},
83 };
84}
85
86#[doc(hidden)]
87pub mod private {
88 pub use alloy_eips;
89 pub use alloy_primitives;
90 pub use alloy_rlp;
91 #[cfg(feature = "arbitrary")]
92 pub use arbitrary;
93 #[cfg(feature = "serde")]
94 pub use serde;
95}