1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize)]
6pub struct SignedPayload {
7 pub payload: Vec<u8>,
8 pub signature: Vec<u8>,
9 pub signer_id: String,
10}
11
12#[cfg(test)]
13mod tests {
14 use super::*;
15
16 #[test]
17 fn test_signed_payload_serialization() {
18 let sp = SignedPayload {
19 payload: b"test data".to_vec(),
20 signature: vec![0u8; 64],
21 signer_id: "test-signer".to_string(),
22 };
23 let json = serde_json::to_string(&sp).unwrap();
24 let parsed: SignedPayload = serde_json::from_str(&json).unwrap();
25 assert_eq!(parsed.payload, b"test data");
26 assert_eq!(parsed.signature.len(), 64);
27 assert_eq!(parsed.signer_id, "test-signer");
28 }
29}