synor/Cargo.toml
Gulshan Yadav 78c226a098 feat(database): add Phase 10 Synor Database L2 foundation
Multi-model database layer for Synor blockchain:

- Key-Value Store: Redis-compatible API with TTL, INCR, MGET/MSET
- Document Store: MongoDB-compatible queries with filters
- Vector Store: AI/RAG optimized with cosine, euclidean, dot product similarity
- Time-Series Store: Metrics with downsampling and aggregations
- Query Engine: Unified queries across all data models
- Index Manager: B-tree, hash, unique, and compound indexes
- Schema Validator: Field validation with type checking
- Database Pricing: Pay-per-use model (0.1 SYNOR/GB/month)

Updates roadmap with Phase 10-12 milestones:
- Phase 10: Synor Database L2
- Phase 11: Economics & Billing
- Phase 12: Fiat Gateway (Ramp Network integration)

41 tests passing
2026-01-10 17:40:18 +05:30

142 lines
3.3 KiB
TOML

[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-governance",
"crates/synor-rpc",
"crates/synor-vm",
"crates/synor-mining",
"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",
"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
[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"] }
sha3 = "0.10"
blake3 = "1.5"
rand = "0.8"
rand_core = "0.6"
# Cryptography - Post-Quantum (NIST standards)
pqcrypto-dilithium = "0.5"
pqcrypto-kyber = "0.8"
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