[workspace] resolver = "3" members = [ "crates/smart-byte-core", "crates/smart-byte-net", "crates/smart-byte-lockstep", "crates/smart-byte-state", "crates/smart-byte", "crates/smart-byte-vc", "crates/smart-byte-did", "crates/smart-byte-pq", "crates/smart-byte-didcomm", "crates/smart-byte-mdl", "crates/smart-byte-bbs", "crates/smart-byte-crdt", "crates/smart-byte-keri-witness", "crates/smart-byte-libp2p", "crates/smart-byte-edv", "crates/smart-byte-zk", "crates/smart-byte-atproto", "crates/smart-byte-nostr", "crates/smart-byte-activitypub", "crates/smart-byte-ilp", "crates/smart-byte-tendermint", "crates/smart-byte-acdc", "crates/smart-byte-oidc4vc", "crates/smart-byte-conformance", ] [workspace.package] version = "0.1.0" edition = "2024" rust-version = "1.97" license = "Apache-2.0" repository = "https://github.com/Transaction-Science/open-standards" authors = ["Smart Byte Contributors"] description = "Smart Byte substrate — Apache-2.0 Rust reference implementation." [workspace.dependencies] # Core crypto + serialization blake3 = "1" ed25519-dalek = { version = "2", features = ["rand_core"] } serde = { version = "1", features = ["derive"] } serde_bytes = "0.11" serde_cbor = "0.11" chrono = { version = "0.4", default-features = false, features = ["clock", "serde", "std"] } thiserror = "2" uuid = { version = "1", features = ["v4", "serde"] } data-encoding = "2" # rand is pinned to 0.8, NOT "latest". rand 0.10 dropped `rand::RngCore` and # `rand::rngs::OsRng` (rand_core 0.10 renamed them Rng/TryRng), and more importantly # it ships rand_core 0.10 -- while every signature crate here (ed25519-dalek 2.x, # bls12_381, k256/p256) is built on rand_core 0.6, so a 0.10 RNG is not even the # right TYPE to hand to `SigningKey::generate`. rand 0.8 re-exports rand_core 0.6, # which is exactly what those crates want. The RNG generation is pinned by the # crypto ecosystem, not by recency. rand = "0.8" # Networking iroh = "1.0.0-rc.0" iroh-blobs = "0.101" # Runtime tokio = { version = "1", features = ["rt-multi-thread", "macros", "sync", "io-util", "net"] } anyhow = "1" futures = "0.3" # Workspace internals smart-byte-core = { path = "crates/smart-byte-core" } smart-byte-net = { path = "crates/smart-byte-net" } smart-byte-lockstep = { path = "crates/smart-byte-lockstep" } smart-byte-state = { path = "crates/smart-byte-state" } smart-byte-keri-witness = { path = "crates/smart-byte-keri-witness" } smart-byte-vc = { path = "crates/smart-byte-vc" } smart-byte-pq = { path = "crates/smart-byte-pq" } smart-byte-crdt = { path = "crates/smart-byte-crdt" } smart-byte-bbs = { path = "crates/smart-byte-bbs" } # CLI clap = { version = "4", features = ["derive"] } [profile.release] opt-level = 3 lto = "thin" codegen-units = 1 panic = "abort" strip = "symbols"