alloy_transport/
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
9use alloy_primitives as _;
10
11mod boxed;
12pub use boxed::{BoxTransport, IntoBoxTransport};
13
14mod dual;
15pub use dual::*;
16
17mod connect;
18pub use connect::TransportConnect;
19
20mod common;
21pub use common::Authorization;
22
23pub mod mock;
24
25mod error;
26#[doc(hidden)]
27pub use error::TransportErrorKind;
28pub use error::{HttpError, TransportError, TransportResult};
29
30mod r#trait;
31pub use r#trait::Transport;
32
33pub use alloy_json_rpc::{RpcError, RpcResult};
34pub use futures_utils_wasm::{impl_future, BoxFuture};
35
36pub mod layers;
37
38/// Misc. utilities for building transports.
39pub mod utils;
40
41/// Pin-boxed future.
42pub type Pbf<'a, T, E> = futures_utils_wasm::BoxFuture<'a, Result<T, E>>;
43
44/// Future for transport-level requests.
45pub type TransportFut<'a, T = alloy_json_rpc::ResponsePacket, E = TransportError> = Pbf<'a, T, E>;
46
47/// Future for RPC-level requests.
48pub type RpcFut<'a, T> = futures_utils_wasm::BoxFuture<'a, TransportResult<T>>;