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    signature,
22    trie,
23    txkind,
24    withdrawal
25);
26
27#[cfg(all(feature = "op", feature = "std"))]
28pub mod optimism;
29
30pub mod transaction;
31
32#[cfg(test)]
33mod tests {
34    use crate::{
35        alloy::{
36            genesis_account::{GenesisAccount, GenesisAccountRef, StorageEntries, StorageEntry},
37            header::{Header, HeaderExt},
38            transaction::{
39                eip1559::TxEip1559, eip2930::TxEip2930, eip4844::TxEip4844, eip7702::TxEip7702,
40                legacy::TxLegacy,
41            },
42            withdrawal::Withdrawal,
43        },
44        test_utils::UnusedBits,
45        validate_bitflag_backwards_compat,
46    };
47
48    #[test]
49    fn validate_bitflag_backwards_compat() {
50        // In case of failure, refer to the documentation of the
51        // [`validate_bitflag_backwards_compat`] macro for detailed instructions on handling
52        // it.
53        validate_bitflag_backwards_compat!(Header, UnusedBits::Zero);
54        validate_bitflag_backwards_compat!(HeaderExt, UnusedBits::NotZero);
55        validate_bitflag_backwards_compat!(TxEip2930, UnusedBits::Zero);
56        validate_bitflag_backwards_compat!(StorageEntries, UnusedBits::Zero);
57        validate_bitflag_backwards_compat!(StorageEntry, UnusedBits::Zero);
58
59        validate_bitflag_backwards_compat!(GenesisAccountRef<'_>, UnusedBits::NotZero);
60        validate_bitflag_backwards_compat!(GenesisAccount, UnusedBits::NotZero);
61        validate_bitflag_backwards_compat!(TxEip1559, UnusedBits::NotZero);
62        validate_bitflag_backwards_compat!(TxEip4844, UnusedBits::NotZero);
63        validate_bitflag_backwards_compat!(TxEip7702, UnusedBits::NotZero);
64        validate_bitflag_backwards_compat!(TxLegacy, UnusedBits::NotZero);
65        validate_bitflag_backwards_compat!(Withdrawal, UnusedBits::NotZero);
66    }
67}