hdp_primitives/processed_types/
module.rs1use alloy::primitives::{Bytes, B256};
2use cairo_lang_starknet_classes::casm_contract_class::CasmContractClass;
3use serde::{Deserialize, Serialize};
4use serde_with::serde_as;
5use starknet::core::serde::unsigned_field_element::UfeHex;
6use starknet_crypto::FieldElement;
7
8#[serde_as]
9#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
10pub struct ProcessedModule {
11 pub encoded_task: Bytes,
13 pub task_commitment: B256,
14 pub result_commitment: B256,
15 pub task_proof: Vec<B256>,
16 pub result_proof: Vec<B256>,
17
18 #[serde_as(as = "Vec<UfeHex>")]
19 pub inputs: Vec<FieldElement>,
20 pub module_class: CasmContractClass,
23}
24
25impl ProcessedModule {
26 pub fn new(
27 encoded_task: Bytes,
28 task_commitment: B256,
29 result_commitment: B256,
30 task_proof: Vec<B256>,
31 result_proof: Vec<B256>,
32 inputs: Vec<FieldElement>,
33 module_class: CasmContractClass,
34 ) -> Self {
35 ProcessedModule {
36 encoded_task,
37 task_commitment,
38 result_commitment,
39 task_proof,
40 result_proof,
41 inputs,
42 module_class,
43 }
44 }
45}