alloy_contract/
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(docsrs, feature(doc_cfg, doc_auto_cfg))]
8
9#[cfg(test)]
10extern crate self as alloy_contract;
11
12mod eth_call;
13pub use eth_call::{CallDecoder, EthCall};
14
15mod storage_slot;
16pub use storage_slot::*;
17
18mod error;
19pub use error::{Error, Result, TransportErrorExt, TryParseTransportErrorResult};
20
21mod event;
22pub use event::{Event, EventPoller};
23
24#[cfg(feature = "pubsub")]
25pub use event::subscription::EventSubscription;
26
27mod interface;
28pub use interface::*;
29
30mod instance;
31pub use instance::*;
32
33mod call;
34pub use call::*;
35
36mod multicall;
37
38// Not public API.
39// NOTE: please avoid changing the API of this module due to its use in the `sol!` macro.
40#[doc(hidden)]
41pub mod private {
42    pub use alloy_network::{Ethereum, Network};
43    pub use alloy_provider::Provider;
44}