alloy_core/
lib.rs

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(not(feature = "std"), no_std)]
8#![cfg_attr(docsrs, feature(doc_cfg))]
9
10#[doc(inline)]
11pub use alloy_primitives as primitives;
12#[doc(no_inline)]
13pub use primitives::{hex, uint};
14
15#[cfg(feature = "dyn-abi")]
16#[doc(inline)]
17pub use alloy_dyn_abi as dyn_abi;
18
19#[cfg(feature = "json-abi")]
20#[doc(inline)]
21pub use alloy_json_abi as json_abi;
22
23#[cfg(feature = "sol-types")]
24#[doc(inline)]
25pub use alloy_sol_types as sol_types;
26#[cfg(all(feature = "sol-types", doc))] // Show this re-export in docs instead of the wrapper below.
27#[doc(no_inline)]
28pub use sol_types::sol;
29
30#[cfg(feature = "rlp")]
31#[doc(inline)]
32pub use alloy_rlp as rlp;
33
34/// [`sol!`](sol_types::sol!) `macro_rules!` wrapper to set import attributes.
35///
36/// See [`sol!`](sol_types::sol!) for the actual macro documentation.
37#[cfg(all(feature = "sol-types", not(doc)))] // Show the actual macro in docs.
38#[macro_export]
39macro_rules! sol {
40    ($($t:tt)*) => {
41        $crate::sol_types::sol! {
42            #![sol(alloy_sol_types = $crate::sol_types)]
43            $($t)*
44        }
45    };
46}