synor/Cargo.toml
Gulshan Yadav a7a4a7effc test: add comprehensive test suite (1,357 tests total)
Phase 1 - Test Writing (8 parallel agents):
- synord: Added 133 unit tests for node, config, services
- synor-rpc: Expanded to 207 tests for API endpoints
- synor-bridge: Added 144 tests for transfer lifecycle
- synor-zk: Added 279 tests for circuits, proofs, state
- synor-mining: Added 147 tests for kHeavyHash, miner
- synor-types: Added 146 tests for hash, amount, address
- cross-crate: Created 75 integration tests
- byzantine: Created 40+ fault scenario tests

Key additions:
- tests/cross_crate_integration.rs (new)
- apps/synord/tests/byzantine_fault_tests.rs (new)
- crates/synor-storage/src/cf.rs (new)
- src/lib.rs for workspace integration tests

Fixes during testing:
- synor-compute: Added Default impl for GpuVariant
- synor-bridge: Fixed replay protection in process_lock_event
- synor-storage: Added cf module and database exports

All 1,357 tests pass with 0 failures.
2026-01-20 06:35:28 +05:30

187 lines
4.9 KiB
TOML

[package]
name = "synor"
version = "0.1.0"
edition = "2021"
description = "Synor Blockchain - Quantum-secure decentralized cloud computing platform"
license = "MIT OR Apache-2.0"
repository = "https://github.com/synorcc/synor"
[workspace]
resolver = "2"
members = [
"crates/synor-types",
"crates/synor-crypto",
"crates/synor-dag",
"crates/synor-consensus",
"crates/synor-network",
"crates/synor-storage",
"crates/synor-hosting",
"crates/synor-database",
"crates/synor-compute",
"crates/synor-governance",
"crates/synor-rpc",
"crates/synor-vm",
"crates/synor-mining",
"crates/synor-zk",
"crates/synor-ibc",
"crates/synor-bridge",
"crates/synor-privacy",
"crates/synor-sharding",
"crates/synor-verifier",
"crates/synor-economics",
"crates/synor-sdk",
"crates/synor-contract-test",
"crates/synor-compiler",
"apps/synord",
"apps/cli",
"apps/faucet",
"apps/explorer",
]
exclude = [
"contracts/token",
"contracts/nft",
"contracts/dex",
"contracts/staking",
"contracts/confidential-token",
"contracts/perps",
"contracts/oracle",
"contracts/aggregator",
"contracts/ibc-bridge",
"crates/synor-crypto-wasm",
"apps/desktop-wallet/src-tauri",
]
# WASM modules are not part of workspace as they target wasm32
# Build crypto-wasm with: cd crates/synor-crypto-wasm && wasm-pack build --target web
# Contract examples are not part of workspace as they target wasm32
# Build them separately with:
# cargo build --manifest-path contracts/token/Cargo.toml --target wasm32-unknown-unknown --release
# cargo build --manifest-path contracts/nft/Cargo.toml --target wasm32-unknown-unknown --release
# Root package dependencies for integration tests
# Note: Some crates excluded due to external dependencies (rocksdb, etc.)
[dependencies]
synor-types = { path = "crates/synor-types" }
synor-mining = { path = "crates/synor-mining" }
synor-bridge = { path = "crates/synor-bridge" }
synor-crypto = { path = "crates/synor-crypto" }
synor-consensus = { path = "crates/synor-consensus" }
synor-dag = { path = "crates/synor-dag" }
synor-rpc = { path = "crates/synor-rpc" }
synor-vm = { path = "crates/synor-vm" }
serde = { version = "1.0", features = ["derive"] }
[dev-dependencies]
serde_json = "1.0"
[workspace.package]
version = "0.1.0"
edition = "2021"
authors = ["Synor Team <team@synor.cc>"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/synorcc/synor"
homepage = "https://synor.cc"
description = "Quantum-secure decentralized cloud computing platform"
rust-version = "1.75"
[workspace.dependencies]
# Async runtime
tokio = { version = "1.35", features = ["full"] }
async-trait = "0.1"
futures = "0.3"
# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
bincode = "1.3"
borsh = { version = "1.3", features = ["derive"] }
# Cryptography - Classical
ed25519-dalek = { version = "2.1", features = ["serde", "rand_core"] }
x25519-dalek = { version = "2.0", features = ["serde"] }
curve25519-dalek = { version = "4.1", features = ["alloc", "zeroize", "precomputed-tables"] }
sha3 = "0.10"
sha2 = "0.10"
blake3 = "1.5"
rand = "0.8"
rand_core = "0.6"
zeroize = { version = "1.7", features = ["derive"] }
# Privacy - Fiat-Shamir transcript
merlin = "3.0"
# Cryptography - Post-Quantum (NIST standards)
pqcrypto-dilithium = "0.5" # FIPS 204 (ML-DSA) - primary signatures
pqcrypto-kyber = "0.8" # FIPS 203 (ML-KEM) - key encapsulation
pqcrypto-sphincsplus = "0.7" # FIPS 205 (SLH-DSA) - hash-based backup
pqcrypto-falcon = "0.3" # FIPS 206 (FN-DSA) - compact lattice
pqcrypto-traits = "0.3"
# Hashing
tiny-keccak = { version = "2.0", features = ["sha3"] }
# Networking
libp2p = { version = "0.53", features = ["tokio", "gossipsub", "kad", "identify", "noise", "yamux", "tcp", "dns", "websocket", "macros"] }
# Storage
rocksdb = "0.22"
# CLI
clap = { version = "4.4", features = ["derive"] }
# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
# Error handling
thiserror = "1.0"
anyhow = "1.0"
# Utilities
hex = "0.4"
bs58 = "0.5"
bech32 = "0.11"
parking_lot = "0.12"
dashmap = "5.5"
once_cell = "1.19"
derive_more = "0.99"
smallvec = "1.13"
hashbrown = "0.14"
chrono = { version = "0.4", features = ["serde"] }
# WASM runtime (for smart contracts)
wasmtime = "17.0"
# RPC
jsonrpsee = { version = "0.21", features = ["server", "client", "macros"] }
tower = "0.4"
axum = "0.7"
# Testing
criterion = "0.5"
lru = "0.12"
proptest = "1.4"
tempfile = "3.9"
[profile.release]
lto = "thin"
codegen-units = 1
opt-level = 3
[profile.dev]
opt-level = 1
[profile.dev.package."*"]
opt-level = 3
# Profiling profile - optimized but with debug symbols for flamegraphs
[profile.profiling]
inherits = "release"
debug = true
strip = false
# Benchmark profile - maximum optimization
[profile.bench]
lto = "thin"
codegen-units = 1
opt-level = 3