Skip to main content

Module provider

Module provider 

Source
Expand description

Provider-related instantiation and usage utilities.

Re-exportsΒ§

use crate::ALCHEMY_FREE_TIER_CUPS; πŸ”’
use crate::REQUEST_TIMEOUT; πŸ”’
use crate::provider::curl_transport::CurlTransport; πŸ”’
use crate::provider::runtime_transport::RuntimeTransportBuilder; πŸ”’
use alloy_chains::NamedChain; πŸ”’
use alloy_json_rpc::RequestPacket; πŸ”’
use alloy_json_rpc::ResponsePacket; πŸ”’
use alloy_network::Network; πŸ”’
use alloy_network::NetworkWallet; πŸ”’
use alloy_provider::Identity; πŸ”’
use alloy_provider::ProviderBuilder as AlloyProviderBuilder; πŸ”’
use alloy_provider::RootProvider; πŸ”’
use alloy_provider::fillers::FillProvider; πŸ”’
use alloy_provider::fillers::JoinFill; πŸ”’
use alloy_provider::fillers::RecommendedFillers; πŸ”’
use alloy_provider::fillers::WalletFiller; πŸ”’
use alloy_provider::network::AnyNetwork; πŸ”’
use alloy_provider::network::EthereumWallet; πŸ”’
use alloy_rpc_client::ClientBuilder; πŸ”’
use alloy_rpc_client::RpcClient; πŸ”’
use alloy_transport::TransportError; πŸ”’
use alloy_transport::TransportFut; πŸ”’
use alloy_transport::layers::RetryBackoffLayer; πŸ”’
use alloy_transport::utils::guess_local_url; πŸ”’
use eyre::Result; πŸ”’
use eyre::WrapErr; πŸ”’
use foundry_config::Config; πŸ”’
use reqwest::Url; πŸ”’
use std::marker::PhantomData; πŸ”’
use std::net::SocketAddr; πŸ”’
use std::path::Path; πŸ”’
use std::path::PathBuf; πŸ”’
use std::str::FromStr; πŸ”’
use std::sync::Arc; πŸ”’
use std::sync::atomic::AtomicUsize; πŸ”’
use std::sync::atomic::Ordering; πŸ”’
use std::task::Context; πŸ”’
use std::task::Poll; πŸ”’
use std::time::Duration; πŸ”’
use tower::Service; πŸ”’
use url::ParseError; πŸ”’

ModulesΒ§

curl_transport
Transport that outputs equivalent curl commands instead of making RPC requests.
fee
EIP-1559 fee estimation with configurable presets.
mpp
MPP (Machine Payments Protocol) support for 402-gated RPC endpoints.
runtime_transport
Runtime transport that connects on first request, which can take either of an HTTP, WebSocket, or IPC transport. Retries are handled by a client layer (e.g., RetryBackoffLayer) when used.

StructsΒ§

ProviderBuilder
Helper type to construct a RetryProvider
RoundRobinService
A round-robin transport that distributes requests across multiple transports.

ConstantsΒ§

DEFAULT_UNKNOWN_CHAIN_BLOCK_TIME πŸ”’
The assumed block time for unknown chains. We assume that these are chains have a faster block time.
POLL_INTERVAL_BLOCK_TIME_SCALE_FACTOR πŸ”’
The factor to scale the block time by to get the poll interval.

FunctionsΒ§

get_http_provider
Constructs a provider using try_get_http_provider.
is_rpc_method_not_found
Returns whether an RPC transport error reports JSON-RPC method-not-found.
redact_url
Returns an RPC URL safe for display by retaining only its scheme, host, and port.
resolve_path πŸ”’ Non-Windows
rpc_error_code πŸ”’
rpc_error_code_from_body πŸ”’
try_get_http_provider
Constructs a provider, retaining Alloy’s default polling interval for local URLs.

Type AliasesΒ§

RetryProvider
Helper type alias for a retry provider
RetryProviderWithSigner
Helper type alias for a retry provider with a signer