Restructure the workspace so golden-dkg is the single publishable crate
containing all library code:
- golden_dkg::threshold -- BLS12-381 threshold signing, vetKeys IBE, beacon
(moved from threshold_crypto/src/)
- golden_dkg::consensus -- Simplex BFT consensus state machine
(moved from simplex-consensus/src/)
Both modules are feature-gated (on by default):
[features]
threshold = ["dep:rand_chacha", "dep:rayon"]
consensus = ["threshold"]
Demo crates become thin wrappers (publish=false):
- threshold-demo: re-exports golden_dkg::threshold, keeps main.rs + examples
- simplex-demo: re-exports golden_dkg::consensus, keeps sim/ engine + bin/
Users now write:
use golden_dkg::threshold::signing;
use golden_dkg::threshold::ibe;
use golden_dkg::consensus::replica::Replica;
58 tests pass. make verify fully green (51 tests, 37 Lean, 18/18 F*, 6/6 specs).