diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 8051f5b0ed9..1e79538bade 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -3,4 +3,4 @@ crates/json-rpc @prestwich crates/transports @evalir @prestwich crates/networks @prestwich -crates/providers @evalir @prestwich +crates/provider @evalir @prestwich diff --git a/.github/ISSUE_TEMPLATE/BUG-FORM.yml b/.github/ISSUE_TEMPLATE/BUG-FORM.yml index 2ba64d97520..6468f5d3e48 100644 --- a/.github/ISSUE_TEMPLATE/BUG-FORM.yml +++ b/.github/ISSUE_TEMPLATE/BUG-FORM.yml @@ -19,7 +19,7 @@ body: - consensus, eips, genesis - network, json-rpc - nodes - - providers, pubsub + - provider, pubsub - rpc - signers - transports diff --git a/.github/ISSUE_TEMPLATE/FEATURE-FORM.yml b/.github/ISSUE_TEMPLATE/FEATURE-FORM.yml index 20b747021e1..dedc1b5dc7e 100644 --- a/.github/ISSUE_TEMPLATE/FEATURE-FORM.yml +++ b/.github/ISSUE_TEMPLATE/FEATURE-FORM.yml @@ -17,7 +17,7 @@ body: - consensus, eips, genesis - network, json-rpc - nodes - - providers, pubsub + - provider, pubsub - rpc - signers - transports diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a5d3f3a536d..514f106d17e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -82,7 +82,7 @@ jobs: --exclude alloy-contract \ --exclude alloy-network \ --exclude alloy-node-bindings \ - --exclude alloy-providers \ + --exclude alloy-provider \ --exclude alloy-signer \ --exclude alloy-signer-aws \ --exclude alloy-signer-gcp \ diff --git a/Cargo.toml b/Cargo.toml index 29f22163ac7..308ea620ef5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -24,7 +24,7 @@ alloy-genesis = { version = "0.1.0", default-features = false, path = "crates/ge alloy-json-rpc = { version = "0.1.0", default-features = false, path = "crates/json-rpc" } alloy-network = { version = "0.1.0", default-features = false, path = "crates/network" } alloy-node-bindings = { version = "0.1.0", default-features = false, path = "crates/node-bindings" } -alloy-providers = { version = "0.1.0", default-features = false, path = "crates/providers" } +alloy-provider = { version = "0.1.0", default-features = false, path = "crates/provider" } alloy-pubsub = { version = "0.1.0", default-features = false, path = "crates/pubsub" } alloy-rpc-client = { version = "0.1.0", default-features = false, path = "crates/rpc-client" } alloy-rpc-engine-types = { version = "0.1.0", default-features = false, path = "crates/rpc-engine-types" } diff --git a/README.md b/README.md index daf33a91787..20612d80553 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ This repository contains the following crates: - [`alloy-json-rpc`] - Core data types for JSON-RPC 2.0 clients - [`alloy-network`] - Network abstraction for RPC types - [`alloy-node-bindings`] - Ethereum execution-layer client bindings -- [`alloy-providers`] - Interface with an Ethereum blockchain +- [`alloy-provider`] - Interface with an Ethereum blockchain - [`alloy-pubsub`] - Ethereum JSON-RPC [publish-subscribe] tower service and type definitions - [`alloy-rpc-client`] - Low-level Ethereum JSON-RPC client implementation - [`alloy-rpc-types`] - Ethereum JSON-RPC types @@ -50,7 +50,7 @@ This repository contains the following crates: [`alloy-json-rpc`]: crates/json-rpc [`alloy-network`]: crates/network [`alloy-node-bindings`]: crates/node-bindings -[`alloy-providers`]: crates/providers +[`alloy-provider`]: crates/provider [`alloy-pubsub`]: crates/pubsub [`alloy-rpc-client`]: crates/rpc-client [`alloy-rpc-engine-types`]: crates/rpc-engine-types diff --git a/crates/alloy/Cargo.toml b/crates/alloy/Cargo.toml index 1588a33857a..629896e18c4 100644 --- a/crates/alloy/Cargo.toml +++ b/crates/alloy/Cargo.toml @@ -20,7 +20,7 @@ alloy-eips = { workspace = true, default-features = false, optional = true } alloy-genesis = { workspace = true, default-features = false, optional = true } alloy-network = { workspace = true, default-features = false, optional = true } alloy-node-bindings = { workspace = true, default-features = false, optional = true } -alloy-providers = { workspace = true, default-features = false, optional = true } +alloy-provider = { workspace = true, default-features = false, optional = true } alloy-pubsub = { workspace = true, default-features = false, optional = true } # rpc @@ -81,7 +81,10 @@ eip712 = [ # alloy default-tls = ["reqwest?/default-tls"] -jsonrpsee-types = ["alloy-rpc-types?/jsonrpsee-types", "alloy-rpc-engine-types?/jsonrpsee-types"] +jsonrpsee-types = [ + "alloy-rpc-types?/jsonrpsee-types", + "alloy-rpc-engine-types?/jsonrpsee-types", +] consensus = ["dep:alloy-consensus"] eips = ["dep:alloy-eips"] @@ -92,7 +95,7 @@ node-bindings = ["dep:alloy-node-bindings"] contract = ["dep:alloy-contract", "dyn-abi", "json-abi", "json", "sol-types"] ## providers -providers = ["dep:alloy-providers"] +providers = ["dep:alloy-provider"] provider-http = ["providers", "transport-http"] provider-ws = ["providers", "transport-ws"] provider-ipc = ["providers", "transport-ipc"] diff --git a/crates/alloy/src/lib.rs b/crates/alloy/src/lib.rs index b5e78402a78..2313c78225b 100644 --- a/crates/alloy/src/lib.rs +++ b/crates/alloy/src/lib.rs @@ -96,11 +96,11 @@ pub use alloy_node_bindings as node_bindings; /// Interface with an Ethereum blockchain. /// -/// See [`alloy_providers`] for more details. +/// See [`alloy_provider`] for more details. #[cfg(feature = "providers")] pub mod providers { #[doc(inline)] - pub use alloy_providers::*; + pub use alloy_provider::*; // TODO: provider type aliases // #[cfg(feature = "provider-http")] @@ -171,7 +171,7 @@ pub mod signers { #[cfg_attr(feature = "providers", doc = "[`providers`]: crate::providers")] #[cfg_attr( not(feature = "providers"), - doc = "[`providers`]: https://github.com/alloy-rs/alloy/tree/main/crates/providers" + doc = "[`providers`]: https://github.com/alloy-rs/alloy/tree/main/crates/provider" )] #[cfg(feature = "transports")] pub mod transports { @@ -199,7 +199,7 @@ pub mod transports { #[cfg_attr(feature = "providers", doc = "[`providers`]: crate::providers")] #[cfg_attr( not(feature = "providers"), - doc = "[`providers`]: https://github.com/alloy-rs/alloy/tree/main/crates/providers" + doc = "[`providers`]: https://github.com/alloy-rs/alloy/tree/main/crates/provider" )] #[cfg(feature = "pubsub")] pub mod pubsub { diff --git a/crates/contract/Cargo.toml b/crates/contract/Cargo.toml index f8963a965e6..14a8dc82f55 100644 --- a/crates/contract/Cargo.toml +++ b/crates/contract/Cargo.toml @@ -13,7 +13,7 @@ exclude.workspace = true [dependencies] alloy-network.workspace = true -alloy-providers.workspace = true +alloy-provider.workspace = true alloy-rpc-types.workspace = true alloy-transport.workspace = true diff --git a/crates/contract/src/call.rs b/crates/contract/src/call.rs index 65979fb3595..9fca81fe223 100644 --- a/crates/contract/src/call.rs +++ b/crates/contract/src/call.rs @@ -3,7 +3,7 @@ use alloy_dyn_abi::{DynSolValue, FunctionExt, JsonAbiExt}; use alloy_json_abi::Function; use alloy_network::{Network, ReceiptResponse, TransactionBuilder}; use alloy_primitives::{Address, Bytes, U256, U64}; -use alloy_providers::Provider; +use alloy_provider::Provider; use alloy_rpc_types::{state::StateOverride, BlockId}; use alloy_sol_types::SolCall; use alloy_transport::Transport; @@ -468,7 +468,7 @@ mod tests { use alloy_network::Ethereum; use alloy_node_bindings::{Anvil, AnvilInstance}; use alloy_primitives::{address, b256, bytes, hex}; - use alloy_providers::{HttpProvider, Provider, RootProvider}; + use alloy_provider::{HttpProvider, Provider, RootProvider}; use alloy_rpc_client::RpcClient; use alloy_sol_types::sol; use alloy_transport_http::Http; diff --git a/crates/contract/src/instance.rs b/crates/contract/src/instance.rs index 0382a9f9371..b3c22056499 100644 --- a/crates/contract/src/instance.rs +++ b/crates/contract/src/instance.rs @@ -3,7 +3,7 @@ use alloy_dyn_abi::DynSolValue; use alloy_json_abi::{Function, JsonAbi}; use alloy_network::Network; use alloy_primitives::{Address, Selector}; -use alloy_providers::Provider; +use alloy_provider::Provider; use alloy_transport::Transport; use std::marker::PhantomData; diff --git a/crates/contract/src/lib.rs b/crates/contract/src/lib.rs index a7c77710b46..f5d4c024be6 100644 --- a/crates/contract/src/lib.rs +++ b/crates/contract/src/lib.rs @@ -35,6 +35,6 @@ pub use call::*; #[doc(hidden)] pub mod private { pub use alloy_network::Network; - pub use alloy_providers::Provider; + pub use alloy_provider::Provider; pub use alloy_transport::Transport; } diff --git a/crates/network/README.md b/crates/network/README.md index e9ff1d6f6fe..c504858fb35 100644 --- a/crates/network/README.md +++ b/crates/network/README.md @@ -22,7 +22,7 @@ networking. The core model is as follows: ## Usage This crate is not intended to be used directly. It is used by the -[alloy-providers] library and reth to modify the input and output types of the +[alloy-provider] library and reth to modify the input and output types of the RPC methods. This crate will primarily be used by blockchain maintainers to add bespoke RPC @@ -61,4 +61,4 @@ trait FooProviderExt: Provider { } ``` -[alloy-providers]: ../providers +[alloy-provider]: ../provider diff --git a/crates/providers/Cargo.toml b/crates/provider/Cargo.toml similarity index 97% rename from crates/providers/Cargo.toml rename to crates/provider/Cargo.toml index 73405c4bd23..b1b38dca549 100644 --- a/crates/providers/Cargo.toml +++ b/crates/provider/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "alloy-providers" +name = "alloy-provider" description = "Interface with an Ethereum blockchain" version.workspace = true diff --git a/crates/providers/README.md b/crates/provider/README.md similarity index 98% rename from crates/providers/README.md rename to crates/provider/README.md index 53efa430fef..15a80efc64f 100644 --- a/crates/providers/README.md +++ b/crates/provider/README.md @@ -1,4 +1,4 @@ -# alloy-providers +# alloy-provider diff --git a/crates/providers/src/builder.rs b/crates/provider/src/builder.rs similarity index 100% rename from crates/providers/src/builder.rs rename to crates/provider/src/builder.rs diff --git a/crates/providers/src/chain.rs b/crates/provider/src/chain.rs similarity index 100% rename from crates/providers/src/chain.rs rename to crates/provider/src/chain.rs diff --git a/crates/providers/src/heart.rs b/crates/provider/src/heart.rs similarity index 100% rename from crates/providers/src/heart.rs rename to crates/provider/src/heart.rs diff --git a/crates/providers/src/lib.rs b/crates/provider/src/lib.rs similarity index 100% rename from crates/providers/src/lib.rs rename to crates/provider/src/lib.rs diff --git a/crates/providers/src/new.rs b/crates/provider/src/new.rs similarity index 100% rename from crates/providers/src/new.rs rename to crates/provider/src/new.rs diff --git a/crates/providers/src/signer.rs b/crates/provider/src/signer.rs similarity index 100% rename from crates/providers/src/signer.rs rename to crates/provider/src/signer.rs diff --git a/crates/providers/src/utils.rs b/crates/provider/src/utils.rs similarity index 100% rename from crates/providers/src/utils.rs rename to crates/provider/src/utils.rs diff --git a/crates/transport/README.md b/crates/transport/README.md index e74408027e3..03077191e34 100644 --- a/crates/transport/README.md +++ b/crates/transport/README.md @@ -9,7 +9,7 @@ This crate handles RPC connection and request management. It builds an futures for simple and batch RPC requests as well as a unified `TransportError` type. -[alloy-providers]: ../providers/ +[alloy-provider]: ../provider/ [tower `Service`]: https://docs.rs/tower/latest/tower/trait.Service.html ## Usage