alloy_eip7702/
lib.rs

1//! [EIP-7702] constants, helpers, and types.
2//!
3//! [EIP-7702]: https://eips.ethereum.org/EIPS/eip-7702
4#![cfg_attr(not(feature = "std"), no_std)]
5
6#[allow(unused_imports)]
7#[macro_use]
8extern crate alloc;
9
10mod auth_list;
11pub use auth_list::*;
12
13pub mod constants;
14
15mod error;
16pub use error::Eip7702Error;
17
18/// Bincode-compatible serde implementations for EIP-7702 types.
19///
20/// `bincode` crate doesn't work with `#[serde(flatten)]` attribute, but some of the EIP-7702 types
21/// require flattenning for RPC compatibility. This module makes so that all fields are
22/// non-flattenned.
23///
24/// Read more: <https://github.com/bincode-org/bincode/issues/167#issuecomment-897629039>
25#[cfg(all(feature = "serde", feature = "serde-bincode-compat"))]
26pub mod serde_bincode_compat {
27    pub use super::auth_list::serde_bincode_compat::*;
28}