mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 10:59:55 +00:00
feat: move mev rpc types to alloy (#9108)
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
This commit is contained in:
14
Cargo.lock
generated
14
Cargo.lock
generated
@ -465,6 +465,19 @@ dependencies = [
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "alloy-rpc-types-mev"
|
||||
version = "0.1.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5dd8624e01721deacad6bc9af75abdf2e99d248df0e1ad5f3f0bda0b3c1d50fd"
|
||||
dependencies = [
|
||||
"alloy-eips",
|
||||
"alloy-primitives",
|
||||
"alloy-serde",
|
||||
"serde",
|
||||
"serde_json",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "alloy-rpc-types-trace"
|
||||
version = "0.1.4"
|
||||
@ -8474,6 +8487,7 @@ dependencies = [
|
||||
"alloy-rpc-types-anvil",
|
||||
"alloy-rpc-types-beacon",
|
||||
"alloy-rpc-types-engine",
|
||||
"alloy-rpc-types-mev",
|
||||
"alloy-rpc-types-trace",
|
||||
"alloy-rpc-types-txpool",
|
||||
"alloy-serde",
|
||||
|
||||
@ -402,6 +402,7 @@ alloy-rpc-types-txpool = { version = "0.1", default-features = false }
|
||||
alloy-serde = { version = "0.1", default-features = false }
|
||||
alloy-rpc-types-engine = { version = "0.1", default-features = false }
|
||||
alloy-rpc-types-eth = { version = "0.1", default-features = false }
|
||||
alloy-rpc-types-mev = { version = "0.1", default-features = false }
|
||||
alloy-rpc-types-trace = { version = "0.1", default-features = false }
|
||||
alloy-genesis = { version = "0.1", default-features = false }
|
||||
alloy-node-bindings = { version = "0.1", default-features = false }
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
use jsonrpsee::proc_macros::rpc;
|
||||
use reth_rpc_types::{
|
||||
use reth_rpc_types::mev::{
|
||||
SendBundleRequest, SendBundleResponse, SimBundleOverrides, SimBundleResponse,
|
||||
};
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
|
||||
use jsonrpsee::proc_macros::rpc;
|
||||
use reth_primitives::{Bytes, B256};
|
||||
use reth_rpc_types::{
|
||||
use reth_rpc_types::mev::{
|
||||
CancelBundleRequest, CancelPrivateTransactionRequest, EthBundleHash, EthCallBundle,
|
||||
EthCallBundleResponse, EthSendBundle, PrivateTransactionRequest,
|
||||
};
|
||||
|
||||
@ -16,17 +16,17 @@ workspace = true
|
||||
# ethereum
|
||||
alloy-primitives = { workspace = true, features = ["rand", "rlp", "serde"] }
|
||||
alloy-rpc-types = { workspace = true, features = ["jsonrpsee-types"] }
|
||||
alloy-rpc-types-anvil.workspace = true
|
||||
alloy-rpc-types-trace.workspace = true
|
||||
alloy-rpc-types-beacon.workspace = true
|
||||
alloy-rpc-types-admin.workspace = true
|
||||
alloy-rpc-types-anvil.workspace = true
|
||||
alloy-rpc-types-beacon.workspace = true
|
||||
alloy-rpc-types-mev.workspace = true
|
||||
alloy-rpc-types-trace.workspace = true
|
||||
alloy-rpc-types-txpool.workspace = true
|
||||
alloy-serde.workspace = true
|
||||
alloy-rpc-types-engine = { workspace = true, features = ["jsonrpsee-types"] }
|
||||
|
||||
# misc
|
||||
serde = { workspace = true, features = ["derive"] }
|
||||
serde_json.workspace = true
|
||||
jsonrpsee-types = { workspace = true, optional = true }
|
||||
|
||||
[dev-dependencies]
|
||||
@ -38,6 +38,7 @@ proptest-derive.workspace = true
|
||||
rand.workspace = true
|
||||
similar-asserts.workspace = true
|
||||
bytes.workspace = true
|
||||
serde_json.workspace = true
|
||||
|
||||
[features]
|
||||
default = ["jsonrpsee-types"]
|
||||
|
||||
@ -11,7 +11,6 @@
|
||||
#![cfg_attr(not(test), warn(unused_crate_dependencies))]
|
||||
#[allow(hidden_glob_reexports)]
|
||||
mod eth;
|
||||
mod mev;
|
||||
mod peer;
|
||||
mod rpc;
|
||||
|
||||
@ -29,15 +28,18 @@ pub mod trace {
|
||||
pub use alloy_rpc_types_trace::*;
|
||||
}
|
||||
|
||||
// re-export admin
|
||||
pub use alloy_rpc_types_admin as admin;
|
||||
|
||||
// Anvil specific rpc types coming from alloy.
|
||||
pub use alloy_rpc_types_anvil as anvil;
|
||||
|
||||
// re-export mev
|
||||
pub use alloy_rpc_types_mev as mev;
|
||||
|
||||
// re-export beacon
|
||||
pub use alloy_rpc_types_beacon as beacon;
|
||||
|
||||
// re-export admin
|
||||
pub use alloy_rpc_types_admin as admin;
|
||||
|
||||
// re-export txpool
|
||||
pub use alloy_rpc_types_txpool as txpool;
|
||||
|
||||
@ -51,6 +53,5 @@ pub use eth::{
|
||||
transaction::{self, TransactionRequest, TypedTransactionRequest},
|
||||
};
|
||||
|
||||
pub use mev::*;
|
||||
pub use peer::*;
|
||||
pub use rpc::*;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -24,6 +24,7 @@ impl RpcModules {
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn test_parse_module_versions_roundtrip() {
|
||||
let s = r#"{"txpool":"1.0","trace":"1.0","eth":"1.0","web3":"1.0","net":"1.0"}"#;
|
||||
|
||||
@ -10,7 +10,7 @@ use reth_primitives::{
|
||||
PooledTransactionsElement, U256,
|
||||
};
|
||||
use reth_revm::database::StateProviderDatabase;
|
||||
use reth_rpc_types::{EthCallBundle, EthCallBundleResponse, EthCallBundleTransactionResult};
|
||||
use reth_rpc_types::mev::{EthCallBundle, EthCallBundleResponse, EthCallBundleTransactionResult};
|
||||
use reth_tasks::pool::BlockingTaskGuard;
|
||||
use revm::{
|
||||
db::CacheDB,
|
||||
@ -48,7 +48,7 @@ where
|
||||
/// state, or it can be used to simulate a past block. The sender is responsible for signing the
|
||||
/// transactions and using the correct nonce and ensuring validity
|
||||
pub async fn call_bundle(&self, bundle: EthCallBundle) -> EthResult<EthCallBundleResponse> {
|
||||
let EthCallBundle { txs, block_number, state_block_number, timestamp } = bundle;
|
||||
let EthCallBundle { txs, block_number, state_block_number, timestamp, .. } = bundle;
|
||||
if txs.is_empty() {
|
||||
return Err(EthApiError::InvalidParams(
|
||||
EthBundleError::EmptyBundleTransactions.to_string(),
|
||||
|
||||
Reference in New Issue
Block a user