Skip to main content

reth_codecs/alloy/
mod.rs

1//! Implements Compact for alloy types.
2
3/// Will make it a pub mod if test-utils is enabled
4macro_rules! cond_mod {
5    ($($mod_name:ident),*) => {
6        $(
7            #[cfg(feature = "test-utils")]
8            pub mod $mod_name;
9            #[cfg(not(feature = "test-utils"))]
10            pub(crate) mod $mod_name;
11        )*
12    };
13}
14
15cond_mod!(
16    access_list,
17    authorization_list,
18    genesis_account,
19    header,
20    log,
21    receipt,
22    signature,
23    trie,
24    txkind,
25    withdrawal
26);
27
28#[cfg(all(feature = "op", feature = "std"))]
29pub mod optimism;
30
31pub mod transaction;
32
33#[cfg(test)]
34mod tests {
35    use crate::{
36        alloy::{
37            genesis_account::{GenesisAccount, GenesisAccountRef, StorageEntries, StorageEntry},
38            header::{Header, HeaderExt},
39            transaction::{
40                eip1559::TxEip1559, eip2930::TxEip2930, eip4844::TxEip4844, eip7702::TxEip7702,
41                legacy::TxLegacy,
42            },
43            withdrawal::Withdrawal,
44        },
45        test_utils::UnusedBits,
46        validate_bitflag_backwards_compat,
47    };
48
49    #[test]
50    fn validate_bitflag_backwards_compat() {
51        // In case of failure, refer to the documentation of the
52        // [`validate_bitflag_backwards_compat`] macro for detailed instructions on handling
53        // it.
54        validate_bitflag_backwards_compat!(Header, UnusedBits::Zero);
55        validate_bitflag_backwards_compat!(HeaderExt, UnusedBits::NotZero);
56        validate_bitflag_backwards_compat!(TxEip2930, UnusedBits::Zero);
57        validate_bitflag_backwards_compat!(StorageEntries, UnusedBits::Zero);
58        validate_bitflag_backwards_compat!(StorageEntry, UnusedBits::Zero);
59
60        validate_bitflag_backwards_compat!(GenesisAccountRef<'_>, UnusedBits::NotZero);
61        validate_bitflag_backwards_compat!(GenesisAccount, UnusedBits::NotZero);
62        validate_bitflag_backwards_compat!(TxEip1559, UnusedBits::NotZero);
63        validate_bitflag_backwards_compat!(TxEip4844, UnusedBits::NotZero);
64        validate_bitflag_backwards_compat!(TxEip7702, UnusedBits::NotZero);
65        validate_bitflag_backwards_compat!(TxLegacy, UnusedBits::NotZero);
66        validate_bitflag_backwards_compat!(Withdrawal, UnusedBits::NotZero);
67    }
68}