use hdp_primitives::processed_types::{
block_proofs::ProcessedBlockProofs, cairo_format, module::ProcessedModule,
};
use serde::Serialize;
#[derive(Serialize)]
pub struct RunnerInput {
pub task_root: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub result_root: Option<String>,
pub proofs: ProcessedBlockProofs,
pub tasks: Vec<InputTask>,
}
#[derive(Serialize)]
pub enum InputTask {
#[serde(rename = "datalake_compute")]
DatalakeCompute(cairo_format::ProcessedDatalakeCompute),
#[serde(rename = "module")]
Module(ProcessedModule),
}
impl RunnerInput {
pub fn new(proofs: ProcessedBlockProofs, task_root: String, tasks: Vec<InputTask>) -> Self {
Self {
task_root,
result_root: None,
tasks,
proofs,
}
}
}