pub mod address; pub mod error; mod merkle_tree; mod privacy_preserving_transaction; pub mod program; pub mod public_transaction; mod signature; mod state; pub use address::Address; pub use privacy_preserving_transaction::{ PrivacyPreservingTransaction, circuit::execute_and_prove, }; pub use public_transaction::PublicTransaction; pub use signature::PrivateKey; pub use signature::PublicKey; pub use signature::Signature; pub use state::V01State; #[derive(Debug, Clone, PartialEq, Eq)] pub enum NSSATransaction { Public(PublicTransaction), PrivacyPreserving(PrivacyPreservingTransaction), } impl From for NSSATransaction { fn from(value: PublicTransaction) -> Self { Self::Public(value) } } impl From for NSSATransaction { fn from(value: PrivacyPreservingTransaction) -> Self { Self::PrivacyPreserving(value) } }