From 3ec074095df20cf83d66d07ba92cffa5f3f3c5f5 Mon Sep 17 00:00:00 2001 From: Artem Gureev Date: Fri, 3 Jul 2026 13:55:50 +0000 Subject: [PATCH] feat(lee): add dummy account type for function-privacy padding --- lee/state_machine/core/src/circuit_io.rs | 14 ++++++++++++++ lee/state_machine/core/src/lib.rs | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/lee/state_machine/core/src/circuit_io.rs b/lee/state_machine/core/src/circuit_io.rs index 8db29342..1c74b227 100644 --- a/lee/state_machine/core/src/circuit_io.rs +++ b/lee/state_machine/core/src/circuit_io.rs @@ -93,6 +93,20 @@ pub enum InputAccountIdentity { }, } +/// A struct containing necessary data for dummy nullifier and +/// commitment generation. +#[derive(Serialize, Deserialize)] +pub struct DummyInput { + /// The seed used for generating the dummy nullifier. + pub nullifier_seed: [u8; 32], + /// The seed used for generating the dummy commitment. + pub commitment_seed: [u8; 32], + /// The dummy ciphertext, epk, and view tag. + pub note: EncryptedAccountData, + /// The dummy root. + pub commitment_root: CommitmentSetDigest, +} + impl InputAccountIdentity { #[must_use] pub const fn is_public(&self) -> bool { diff --git a/lee/state_machine/core/src/lib.rs b/lee/state_machine/core/src/lib.rs index 4bcb23a4..62dbd3cc 100644 --- a/lee/state_machine/core/src/lib.rs +++ b/lee/state_machine/core/src/lib.rs @@ -4,7 +4,7 @@ )] pub use circuit_io::{ - InputAccountIdentity, PrivacyPreservingCircuitInput, PrivacyPreservingCircuitOutput, + DummyInput, InputAccountIdentity, PrivacyPreservingCircuitInput, PrivacyPreservingCircuitOutput, }; pub use commitment::{ Commitment, CommitmentSetDigest, DUMMY_COMMITMENT, DUMMY_COMMITMENT_HASH, MembershipProof,