espresso_api/v1/config.rs
1//! V1 config API.
2//!
3//! Mirrors the tide-disco endpoints defined in `crates/espresso/node/api/config.toml`.
4
5use async_trait::async_trait;
6use serde::Serialize;
7
8#[async_trait]
9pub trait ConfigApi {
10 type HotShotConfig: Serialize + Send + Sync + 'static;
11 type RuntimeConfig: Serialize + Send + Sync + 'static;
12
13 async fn hotshot_config(&self) -> anyhow::Result<Self::HotShotConfig>;
14
15 async fn env(&self) -> anyhow::Result<Vec<String>>;
16
17 async fn runtime_config(&self) -> anyhow::Result<Self::RuntimeConfig>;
18}