Skip to main content

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}