Implements comprehensive privacy primitives for confidential transactions: - synor-privacy crate: - Pedersen commitments for hidden amounts with homomorphic properties - Simplified range proofs (bit-wise) for value validity - Stealth addresses with ViewKey/SpendKey for receiver privacy - LSAG ring signatures for sender anonymity - Key images for double-spend prevention - Confidential transaction type combining all primitives - contracts/confidential-token: - WASM smart contract for privacy-preserving tokens - UTXO-based model (similar to Monero/Zcash) - Methods: mint, transfer, burn with ring signature verification 42 passing tests, 45KB WASM output.
50 lines
1.2 KiB
TOML
50 lines
1.2 KiB
TOML
[package]
|
|
name = "synor-privacy"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
description = "Privacy primitives for Synor blockchain - Pedersen commitments, Bulletproofs, stealth addresses, ring signatures"
|
|
authors = ["Synor Team <team@synor.cc>"]
|
|
license = "MIT OR Apache-2.0"
|
|
readme = "README.md"
|
|
keywords = ["privacy", "cryptography", "blockchain", "zero-knowledge", "bulletproofs"]
|
|
categories = ["cryptography", "no-std"]
|
|
|
|
[features]
|
|
default = ["std"]
|
|
std = []
|
|
|
|
[dependencies]
|
|
# Elliptic curve operations
|
|
curve25519-dalek = { workspace = true }
|
|
|
|
# Transcript for Fiat-Shamir (optional, for future use)
|
|
merlin = { workspace = true }
|
|
|
|
# Hashing
|
|
sha2 = { workspace = true }
|
|
blake3 = { workspace = true }
|
|
|
|
# Randomness
|
|
rand = { workspace = true }
|
|
rand_core = { workspace = true }
|
|
|
|
# Serialization
|
|
serde = { workspace = true, features = ["derive"] }
|
|
borsh = { workspace = true }
|
|
|
|
# Internal crates
|
|
synor-types = { path = "../synor-types" }
|
|
synor-crypto = { path = "../synor-crypto" }
|
|
|
|
# Error handling
|
|
thiserror = { workspace = true }
|
|
|
|
# Secure memory
|
|
zeroize = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
rand = { workspace = true }
|
|
hex = "0.4"
|
|
|
|
[package.metadata.docs.rs]
|
|
all-features = true
|