hdp_primitives/processed_types/
task.rs1use alloy::primitives::B256;
2use serde::{Deserialize, Serialize};
3
4use super::{datalake_compute::ProcessedDatalakeCompute, module::ProcessedModule};
5
6#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7#[serde(tag = "type", content = "context")]
8pub enum ProcessedTask {
9 #[serde(rename = "datalake_compute")]
10 DatalakeCompute(ProcessedDatalakeCompute),
11 #[serde(rename = "module")]
12 Module(ProcessedModule),
13}
14
15impl ProcessedTask {
16 pub fn get_task_commitment(&self) -> B256 {
17 match self {
18 ProcessedTask::DatalakeCompute(datalake_compute) => datalake_compute.task_commitment,
19 ProcessedTask::Module(module) => module.task_commitment,
20 }
21 }
22
23 pub fn get_task_proof(&self) -> Vec<B256> {
24 match self {
25 ProcessedTask::DatalakeCompute(datalake_compute) => datalake_compute.task_proof.clone(),
26 ProcessedTask::Module(module) => module.task_proof.clone(),
27 }
28 }
29}