diff --git a/book/cli/reth/node.md b/book/cli/reth/node.md index d8b665880..cf05ae66e 100644 --- a/book/cli/reth/node.md +++ b/book/cli/reth/node.md @@ -245,7 +245,7 @@ RPC: --http.api Rpc Modules to be configured for the HTTP server - [possible values: admin, debug, eth, net, trace, txpool, web3, rpc, reth, ots, flashbots] + [possible values: admin, debug, eth, net, trace, txpool, web3, rpc, reth, ots, flashbots, miner] --http.corsdomain Http Corsdomain to allow request from @@ -269,7 +269,7 @@ RPC: --ws.api Rpc Modules to be configured for the WS server - [possible values: admin, debug, eth, net, trace, txpool, web3, rpc, reth, ots, flashbots] + [possible values: admin, debug, eth, net, trace, txpool, web3, rpc, reth, ots, flashbots, miner] --ipcdisable Disable the IPC-RPC server diff --git a/crates/rpc/rpc-builder/src/lib.rs b/crates/rpc/rpc-builder/src/lib.rs index 99912eddf..0b9a84a5b 100644 --- a/crates/rpc/rpc-builder/src/lib.rs +++ b/crates/rpc/rpc-builder/src/lib.rs @@ -210,8 +210,8 @@ use reth_provider::{ EvmEnvProvider, FullRpcProvider, HeaderProvider, ReceiptProvider, StateProviderFactory, }; use reth_rpc::{ - AdminApi, DebugApi, EngineEthApi, EthBundle, NetApi, OtterscanApi, RPCApi, RethApi, TraceApi, - TxPoolApi, ValidationApi, ValidationApiConfig, Web3Api, + AdminApi, DebugApi, EngineEthApi, EthBundle, MinerApi, NetApi, OtterscanApi, RPCApi, RethApi, + TraceApi, TxPoolApi, ValidationApi, ValidationApiConfig, Web3Api, }; use reth_rpc_api::servers::*; use reth_rpc_eth_api::{ @@ -1499,6 +1499,7 @@ where ) .into_rpc() .into(), + RethRpcModule::Miner => MinerApi::default().into_rpc().into(), }) .clone() }) diff --git a/crates/rpc/rpc-server-types/src/module.rs b/crates/rpc/rpc-server-types/src/module.rs index 43e4a9374..3eb34b34a 100644 --- a/crates/rpc/rpc-server-types/src/module.rs +++ b/crates/rpc/rpc-server-types/src/module.rs @@ -269,6 +269,8 @@ pub enum RethRpcModule { Ots, /// `flashbots_` module Flashbots, + /// `miner_` module + Miner, } // === impl RethRpcModule === diff --git a/crates/rpc/rpc/src/lib.rs b/crates/rpc/rpc/src/lib.rs index 76fb96f91..d957913df 100644 --- a/crates/rpc/rpc/src/lib.rs +++ b/crates/rpc/rpc/src/lib.rs @@ -36,6 +36,7 @@ mod admin; mod debug; mod engine; pub mod eth; +mod miner; mod net; mod otterscan; mod reth; @@ -49,6 +50,7 @@ pub use admin::AdminApi; pub use debug::DebugApi; pub use engine::{EngineApi, EngineEthApi}; pub use eth::{EthApi, EthBundle, EthFilter, EthPubSub}; +pub use miner::MinerApi; pub use net::NetApi; pub use otterscan::OtterscanApi; pub use reth::RethApi; diff --git a/crates/rpc/rpc/src/miner.rs b/crates/rpc/rpc/src/miner.rs new file mode 100644 index 000000000..ab8fa5e0c --- /dev/null +++ b/crates/rpc/rpc/src/miner.rs @@ -0,0 +1,25 @@ +use alloy_primitives::{Bytes, U128}; +use async_trait::async_trait; +use jsonrpsee::core::RpcResult; +use reth_rpc_api::MinerApiServer; + +/// `miner` API implementation. +/// +/// This type provides the functionality for handling `miner` related requests. +#[derive(Clone, Debug, Default)] +pub struct MinerApi {} + +#[async_trait] +impl MinerApiServer for MinerApi { + fn set_extra(&self, _record: Bytes) -> RpcResult { + Ok(false) + } + + fn set_gas_price(&self, _gas_price: U128) -> RpcResult { + Ok(false) + } + + fn set_gas_limit(&self, _gas_price: U128) -> RpcResult { + Ok(false) + } +}