[workspace] members = [ ".", "crates/bindings/python", "crates/bindings/wasm-runtime", "crates/simulation", "crates/dashboard", "crates/process", "crates/transport", "crates/distribution", "crates/datastore", "crates/node", "tests/docker", "tests/integration", "xtask", ] # Stage 6 iteration 8: all production crates and integration # tests are back in the workspace. The vendored # `ed25519-dalek 3.0.0-pre.1` patch below unblocks the iroh # umbrella crate, which datastore/node/tests-integration pull # in via `iroh = "0.96"` (datastore/node) and # `distribution/iroh,relay` (tests-integration). exclude = ["crates/bindings/wasm-crypto", "examples"] [package] name = "swactor" version = "0.1.0" edition = "2024" autobenches = false [profile.bench] debug = true strip = false [lib] crate-type = ["rlib"] [features] default = ["getrandom", "std"] std = [] # OTP patterns: supervisors, registries, timers, routers getrandom = ["dep:getrandom"] serde = ["dep:serde"] tracing = ["dep:tracing"] no_random = [] # compile without access to a source of randomness transport = [ ] # transport-agnostic messaging (no mandatory deps; codec is user-provided) wasm = ["no_random", "dep:web-time"] # browser/wasm32 target support [dependencies] getrandom = { version = "0.2", optional = true } serde = { version = "1", features = ["derive"], optional = true } tracing = { version = "0.1", optional = true } web-time = { version = "0.2", optional = true } crossbeam-queue = "0.3.12" crossbeam-utils = "0.8.21" [lints.rust] unexpected_cfgs = { level = "allow", check-cfg = ['cfg(kani)'] } [dev-dependencies] criterion = { version = "0.5", features = ["html_reports"] } proptest = "1" proptest-state-machine = "0.3" [[bench]] name = "runtime_benchmarks" harness = false [[bench]] name = "mt_benchmarks" harness = false [[bench]] name = "hasher_benchmarks" harness = false # Vendored `ed25519-dalek 3.0.0-pre.1` to fix two upstream # compile errors (E0277, E0308) at `src/signing.rs:714,717`. # Upstream encodes `pkcs8::Error::KeyMalformed` as a unit # variant, but the resolved `pkcs8 0.11.0` re-exports it as # `KeyMalformed(KeyError)`. The strict `=3.0.0-pre.1` pin # from `iroh-base 0.96.1` forbids using a newer prerelease, # so we vendor the published 3.0.0-pre.1 and apply a 2-line # tuple-variant fix. See `.loop/notes.md` (Stage 6 iteration 8). [patch.crates-io] ed25519-dalek = { path = "vendor/ed25519-dalek" }