Skip to content

Commit

Permalink
chore: clippy cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
prestwich committed Aug 9, 2023
1 parent ceda9f7 commit b7a8d1e
Show file tree
Hide file tree
Showing 6 changed files with 61 additions and 63 deletions.
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ rustdoc-args = ["--cfg", "docsrs"]

alloy-json-rpc = { path = "crates/json-rpc" }
alloy-transports = { path = "crates/transports" }
alloy-networks = { path = "crates/network" }
alloy-networks = { path = "crates/networks" }

alloy-primitives = { version = "0.2.0", features = ["serde"] }
alloy-rlp = "0.3.0"
Expand Down
4 changes: 3 additions & 1 deletion crates/middleware/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,6 @@ exclude.workspace = true
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
alloy-network.workspace = true
alloy-json-rpc.workspace = true
alloy-networks.workspace = true
alloy-transports.workspace = true
109 changes: 54 additions & 55 deletions crates/middleware/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
use alloy_network::Network;
use alloy_transport::{BoxTransport, RpcCall, RpcClient, Transport, TransportError};
use alloy_networks::Network;
use alloy_transports::{BoxTransport, RpcClient, Transport};

pub trait Middleware<N: Network, T: Transport = BoxTransport> {
fn client(&self) -> &RpcClient<T>;

fn inner(&self) -> &dyn Middleware<N, T>;

fn send_transaction(&self, tx: N::Transaction) -> MwareCall<T, N, N::Transaction, N::Receipt> {
self.inner().send_transaction(tx)
}
// fn send_transaction(&self, tx: N::Transaction) -> MwareCall<T, N, N::Transaction, N::Receipt> {
// self.inner().send_transaction(tx)
// }
}

impl<N: Network, T: Transport> Middleware<N, T> for RpcClient<T> {
Expand All @@ -20,57 +20,56 @@ impl<N: Network, T: Transport> Middleware<N, T> for RpcClient<T> {
panic!("called inner on <RpcClient as Middleware>")
}

fn send_transaction(&self, tx: N::Transaction) -> MwareCall<T, N, N::Transaction, N::Receipt> {
self.prepare("eth_sendTransaction", tx).into()
}
}

pub struct MwareCall<T, N, Params, Resp>
where
T: Transport,
N: Network,
Params: RpcParam,
Resp: RpcReturn,
{
pub(crate) inner: RpcCall<T, Params, Resp>,
pub(crate) pre: Option<
Box<
dyn FnOnce(
Params,
)
-> Box<dyn std::future::Future<Output = Result<Params, TransportError>>>,
>,
>,
pub(crate) post: Option<
Box<
dyn FnOnce(Resp) -> Box<dyn std::future::Future<Output = Result<Resp, TransportError>>>,
>,
>,
_pd: PhantomData<fn() -> N>,
// fn send_transaction(&self, tx: N::Transaction) -> MwareCall<T, N, N::Transaction, N::Receipt> {
// self.prepare("eth_sendTransaction", tx).into()
// }
}
// pub struct MwareCall<T, N, Params, Resp>
// where
// T: Transport,
// N: Network,
// Params: RpcParam,
// Resp: RpcReturn,
// {
// pub(crate) inner: RpcCall<T, Params, Resp>,
// pub(crate) pre: Option<
// Box<
// dyn FnOnce(
// Params,
// )
// -> Box<dyn std::future::Future<Output = Result<Params, TransportError>>>,
// >,
// >,
// pub(crate) post: Option<
// Box<
// dyn FnOnce(Resp) -> Box<dyn std::future::Future<Output = Result<Resp, TransportError>>>,
// >,
// >,
// _pd: PhantomData<fn() -> N>,
// }

impl<T, N, Params, Resp> From<RpcCall<T, Params, Resp>> for MwareCall<T, N, Params, Resp>
where
T: Transport,
N: Network,
Params: RpcParam,
Resp: RpcReturn,
{
fn from(value: RpcCall<T, Params, Resp>) -> Self {
Self {
inner: value,
pre: None,
post: None,
_pd: PhantomData,
}
}
}
// impl<T, N, Params, Resp> From<RpcCall<T, Params, Resp>> for MwareCall<T, N, Params, Resp>
// where
// T: Transport,
// N: Network,
// Params: RpcParam,
// Resp: RpcReturn,
// {
// fn from(value: RpcCall<T, Params, Resp>) -> Self {
// Self {
// inner: value,
// pre: None,
// post: None,
// _pd: PhantomData,
// }
// }
// }

#[cfg(test)]
mod test {
use super::Middleware;
// #[cfg(test)]
// mod test {
// use super::Middleware;

fn _compile_check<N>() -> Box<dyn Middleware<N>> {
todo!()
}
}
// fn _compile_check<N>() -> Box<dyn Middleware<N>> {
// todo!()
// }
// }
2 changes: 1 addition & 1 deletion crates/networks/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[package]
name = "alloy-network"
name = "alloy-networks"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
Expand Down
5 changes: 1 addition & 4 deletions crates/networks/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
use std::marker::PhantomData;

use alloy_json_rpc::{RpcObject, RpcParam, RpcReturn};
use alloy_transports::{BoxTransport, RpcCall, RpcClient, Transport, TransportError};
use alloy_json_rpc::RpcObject;

pub trait Network {
type Transaction: Transaction;
Expand Down
2 changes: 1 addition & 1 deletion crates/transports/src/transports/http.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ where
Self {
transport,
is_local,
id: AtomicU64::new(0).into(),
id: AtomicU64::new(0),
}
}
}
Expand Down

0 comments on commit b7a8d1e

Please sign in to comment.