ethrex_rpc/debug/
chain_config.rs1use serde_json::Value;
2
3use crate::{RpcApiContext, RpcErr, RpcHandler};
4
5pub struct ChainConfigRequest;
6
7impl RpcHandler for ChainConfigRequest {
8 fn parse(params: &Option<Vec<Value>>) -> Result<Self, RpcErr> {
9 if let Some(params) = params
10 && !params.is_empty()
11 {
12 return Err(RpcErr::BadParams(format!(
13 "Expected no params and {} were provided",
14 params.len()
15 )));
16 }
17 Ok(ChainConfigRequest)
18 }
19
20 async fn handle(&self, context: RpcApiContext) -> Result<Value, RpcErr> {
21 let chain_config = context.storage.get_chain_config();
22 serde_json::to_value(chain_config).map_err(|e| RpcErr::Internal(e.to_string()))
23 }
24}