2021-11-23 19:23:12 +00:00
|
|
|
#![doc = include_str!("../README.md")]
|
2022-03-19 17:05:39 +00:00
|
|
|
#![deny(unsafe_code)]
|
|
|
|
#![deny(rustdoc::broken_intra_doc_links)]
|
2020-10-08 15:56:36 +00:00
|
|
|
|
2020-12-31 19:08:12 +00:00
|
|
|
/// The [Gas Escalator middleware](crate::gas_escalator::GasEscalatorMiddleware)
|
|
|
|
/// is used to re-broadcast transactions with an increasing gas price to guarantee
|
|
|
|
/// their timely inclusion.
|
2020-10-08 15:56:36 +00:00
|
|
|
pub mod gas_escalator;
|
|
|
|
|
|
|
|
/// The gas oracle middleware is used to get the gas price from a list of gas oracles
|
2020-12-31 19:08:12 +00:00
|
|
|
/// instead of using eth_gasPrice. For usage examples, refer to the
|
|
|
|
/// [`GasOracle`](crate::gas_oracle::GasOracle) trait.
|
2020-09-24 21:33:09 +00:00
|
|
|
pub mod gas_oracle;
|
|
|
|
|
2021-10-29 12:29:35 +00:00
|
|
|
/// The [Nonce Manager](crate::NonceManagerMiddleware) is used to locally calculate nonces instead
|
|
|
|
/// of using eth_getTransactionCount
|
2020-10-08 15:56:36 +00:00
|
|
|
pub mod nonce_manager;
|
2020-12-31 19:08:12 +00:00
|
|
|
pub use nonce_manager::NonceManagerMiddleware;
|
2020-09-24 21:33:09 +00:00
|
|
|
|
2022-03-19 17:05:39 +00:00
|
|
|
/// The [Transformer](crate::transformer::TransformerMiddleware) is used to intercept transactions
|
|
|
|
/// and transform them to be sent via various supported transformers, e.g.,
|
|
|
|
/// [DSProxy](crate::transformer::DsProxy)
|
2021-01-22 09:25:22 +00:00
|
|
|
pub mod transformer;
|
|
|
|
|
2020-12-31 19:08:12 +00:00
|
|
|
/// The [Signer](crate::SignerMiddleware) is used to locally sign transactions and messages
|
2020-10-08 15:56:36 +00:00
|
|
|
/// instead of using eth_sendTransaction and eth_sign
|
|
|
|
pub mod signer;
|
|
|
|
pub use signer::SignerMiddleware;
|
2021-08-23 08:30:26 +00:00
|
|
|
|
|
|
|
/// The [Policy](crate::PolicyMiddleware) is used to ensure transactions comply with the rules
|
|
|
|
/// configured in the `PolicyMiddleware` before sending them.
|
|
|
|
pub mod policy;
|
|
|
|
pub use policy::PolicyMiddleware;
|
2021-09-17 17:38:35 +00:00
|
|
|
|
|
|
|
/// The [TimeLag](crate::TimeLag) provides safety against reorgs by querying state N blocks
|
|
|
|
/// before the chain tip
|
|
|
|
pub mod timelag;
|
|
|
|
pub use timelag::TimeLag;
|
2022-11-28 20:16:21 +00:00
|
|
|
|
|
|
|
/// The [MiddlewareBuilder](crate::MiddlewareBuilder) provides a way to compose many
|
|
|
|
/// [`Middleware`](ethers_providers::Middleware) in a concise way
|
|
|
|
pub mod builder;
|
|
|
|
pub use builder::MiddlewareBuilder;
|