From 6aa4acac4ae69353c5f797dd5de0ca22f7256d14 Mon Sep 17 00:00:00 2001 From: Rob Knight Date: Sat, 28 Jun 2025 07:53:31 +0200 Subject: [PATCH] Restore typed data to serialized PODs (#318) --- src/frontend/serialization.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/frontend/serialization.rs b/src/frontend/serialization.rs index fa3cd63..05d5de4 100644 --- a/src/frontend/serialization.rs +++ b/src/frontend/serialization.rs @@ -1,10 +1,14 @@ +use std::collections::HashMap; + use schemars::JsonSchema; use serde::{Deserialize, Serialize}; use super::Error; use crate::{ frontend::{MainPod, SignedPod}, - middleware::{deserialize_pod, deserialize_signed_pod, Params, PodId, VDSet}, + middleware::{ + deserialize_pod, deserialize_signed_pod, Key, Params, PodId, Statement, VDSet, Value, + }, }; #[derive(Serialize, Deserialize, JsonSchema)] @@ -19,6 +23,7 @@ pub enum SignedPodType { pub struct SerializedSignedPod { pod_type: (usize, String), id: PodId, + entries: HashMap, data: serde_json::Value, } @@ -30,6 +35,7 @@ pub struct SerializedMainPod { pod_type: (usize, String), id: PodId, vd_set: VDSet, + public_statements: Vec, data: serde_json::Value, } @@ -40,6 +46,7 @@ impl From for SerializedSignedPod { SerializedSignedPod { pod_type: (pod_type, pod_type_name_str.to_string()), id: pod.id(), + entries: pod.kvs().clone(), data, } } @@ -64,6 +71,7 @@ impl From for SerializedMainPod { id: pod.id(), vd_set: pod.pod.vd_set().clone(), params: pod.params.clone(), + public_statements: pod.pod.pub_statements(), data, } }