From 13d8c72a82d09770c6aca2635275010e1b143812 Mon Sep 17 00:00:00 2001 From: Rostyslav Tyshko Date: Fri, 30 May 2025 15:20:52 -0400 Subject: [PATCH] serialize/deserialize `TopSecretKeyHolder` and `UTXOSecretKeyHolder` --- accounts/src/key_management/secret_holders.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/accounts/src/key_management/secret_holders.rs b/accounts/src/key_management/secret_holders.rs index 399ef44..45fd792 100644 --- a/accounts/src/key_management/secret_holders.rs +++ b/accounts/src/key_management/secret_holders.rs @@ -2,6 +2,7 @@ use common::merkle_tree_public::TreeHashType; use elliptic_curve::PrimeField; use k256::{AffinePoint, FieldBytes, Scalar}; use rand::{rngs::OsRng, RngCore}; +use serde::{Deserialize, Serialize}; use sha2::{digest::FixedOutput, Digest}; use super::constants_types::{NULLIFIER_SECRET_CONST, VIEWING_SECRET_CONST}; @@ -13,13 +14,13 @@ pub struct SeedHolder { seed: Scalar, } -#[derive(Debug, Clone)] +#[derive(Serialize, Deserialize, Debug, Clone)] ///Secret spending key holder. Produces `UTXOSecretKeyHolder` objects. pub struct TopSecretKeyHolder { pub secret_spending_key: Scalar, } -#[derive(Debug, Clone)] +#[derive(Serialize, Deserialize, Debug, Clone)] ///Nullifier secret key and viewing secret key holder. Produces public keys. Can produce address. Can produce shared secret for recepient. pub struct UTXOSecretKeyHolder { pub nullifier_secret_key: Scalar,