Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ members = [
"crates/aggregator",
"crates/bfv-client",
"crates/bfv-test-support",
"crates/ciphernode-builder",
"crates/ciphernode/builder",
"crates/cli",
"crates/committee",
"crates/committee-hash",
Expand All @@ -29,7 +29,7 @@ members = [
"crates/keyshare",
"crates/layout-lock",
"crates/logger",
"crates/multithread",
"crates/ciphernode/multithread",
"crates/net",
"crates/openvm-host",
"crates/openvm-types",
Expand All @@ -41,7 +41,7 @@ members = [
"crates/request",
"crates/safe",
"crates/sdk",
"crates/daemon-server",
"crates/ciphernode/daemon-server",
"crates/slashing",
"crates/sortition",
"crates/sync",
Expand Down Expand Up @@ -93,7 +93,7 @@ e3-committee = { version = "0.20.0-dev.3", path = "./crates/committee" }
e3-config = { version = "0.20.0-dev.3", path = "./crates/config" }
e3-console = { version = "0.20.0-dev.3", path = "./crates/console" }
e3-dashboard = { version = "0.20.0-dev.3", path = "./crates/dashboard" }
e3-ciphernode-builder = { version = "0.20.0-dev.3", path = "./crates/ciphernode-builder" }
e3-ciphernode-builder = { version = "0.20.0-dev.3", path = "./crates/ciphernode/builder" }
e3-crypto = { version = "0.20.0-dev.3", path = "./crates/crypto" }
e3-data = { version = "0.20.0-dev.3", path = "./crates/data" }
e3-data-availability = { version = "0.20.0-dev.3", path = "./crates/data-availability" }
Expand All @@ -113,15 +113,15 @@ e3-fhe = { version = "0.20.0-dev.3", path = "./crates/fhe" }
e3-fhe-params = { version = "0.20.0-dev.3", path = "./crates/fhe-params" }
e3-fs = { version = "0.20.0-dev.3", path = "./crates/fs" }
e3-indexer = { version = "0.20.0-dev.3", path = "./crates/evm/indexer" }
e3-multithread = { version = "0.20.0-dev.3", path = "./crates/multithread" }
e3-multithread = { version = "0.20.0-dev.3", path = "./crates/ciphernode/multithread" }
e3-keyshare = { version = "0.20.0-dev.3", path = "./crates/keyshare" }
e3-logger = { version = "0.20.0-dev.3", path = "./crates/logger" }
e3-net = { version = "0.20.0-dev.3", path = "./crates/net" }
e3-compute-provider = { version = "0.20.0-dev.3", path = "./crates/compute-provider" }
e3-openvm-host = { version = "0.20.0-dev.3", path = "./crates/openvm-host" }
e3-openvm-types = { version = "0.20.0-dev.3", path = "./crates/openvm-types" }
e3-sortition = { version = "0.20.0-dev.3", path = "./crates/sortition" }
e3-daemon-server = { version = "0.20.0-dev.3", path = "./crates/daemon-server" }
e3-daemon-server = { version = "0.20.0-dev.3", path = "./crates/ciphernode/daemon-server" }
e3-program-runner = { version = "0.20.0-dev.3", path = "./crates/program-runner" }
e3-program-server = { version = "0.20.0-dev.3", path = "./crates/program-server" }
e3-polynomial = { version = "0.20.0-dev.3", path = "./crates/polynomial" }
Expand Down
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -284,6 +284,13 @@ pnpm test:integration --no-prebuild
<sub><b>cryptam</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/zerozebrazone">
<img src="https://avatars.githubusercontent.com/u/274529094?v=4" width="100;" alt="zerozebrazone"/>
<br />
<sub><b>zerozebrazone</b></sub>
</a>
</td>
</tr>
</tbody>
</table>
Expand Down
6 changes: 3 additions & 3 deletions crates/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ COPY crates/aggregator/Cargo.toml ./aggregator/Cargo.toml
COPY crates/bfv-client/Cargo.toml ./bfv-client/Cargo.toml
COPY crates/bfv-test-support/Cargo.toml ./bfv-test-support/Cargo.toml
COPY crates/cli/Cargo.toml ./cli/Cargo.toml
COPY crates/ciphernode-builder/Cargo.toml ./ciphernode-builder/Cargo.toml
COPY crates/ciphernode/builder/Cargo.toml ./ciphernode/builder/Cargo.toml
COPY crates/compute-provider/Cargo.toml ./compute-provider/Cargo.toml
COPY crates/committee/Cargo.toml ./committee/Cargo.toml
COPY crates/committee-hash/Cargo.toml ./committee-hash/Cargo.toml
Expand All @@ -73,7 +73,7 @@ COPY crates/init/Cargo.toml ./init/Cargo.toml
COPY crates/keyshare/Cargo.toml ./keyshare/Cargo.toml
COPY crates/layout-lock/Cargo.toml ./layout-lock/Cargo.toml
COPY crates/logger/Cargo.toml ./logger/Cargo.toml
COPY crates/multithread/Cargo.toml ./multithread/Cargo.toml
COPY crates/ciphernode/multithread/Cargo.toml ./ciphernode/multithread/Cargo.toml
COPY crates/net/Cargo.toml ./net/Cargo.toml
COPY crates/openvm-host/Cargo.toml ./openvm-host/Cargo.toml
COPY crates/openvm-types/Cargo.toml ./openvm-types/Cargo.toml
Expand All @@ -89,7 +89,7 @@ COPY crates/sdk/Cargo.toml ./sdk/Cargo.toml
COPY crates/slashing/Cargo.toml ./slashing/Cargo.toml
COPY crates/sortition/Cargo.toml ./sortition/Cargo.toml
COPY crates/dashboard/Cargo.toml ./dashboard/Cargo.toml
COPY crates/daemon-server/Cargo.toml ./daemon-server/Cargo.toml
COPY crates/ciphernode/daemon-server/Cargo.toml ./ciphernode/daemon-server/Cargo.toml
COPY crates/sync/Cargo.toml ./sync/Cargo.toml
COPY crates/test-support/Cargo.toml ./test-support/Cargo.toml
COPY crates/task-pool/Cargo.toml ./task-pool/Cargo.toml
Expand Down
10 changes: 5 additions & 5 deletions crates/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,22 +33,22 @@ modes. Each generated project's separate `runner/` binary links its own program
library; the CLI owns compile/start orchestration.

CPU admission/cancellation primitives live in [e3-task-pool](task-pool/README.md). The ciphernode
[compute dispatcher](multithread/README.md) owns replay/retry policy and prover-memory sizing rather
than making those policies part of the executor.
[compute dispatcher](ciphernode/multithread/README.md) owns replay/retry policy and prover-memory
sizing rather than making those policies part of the executor.

## Find a component

| Capability | Entry points |
| ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Operator commands and assembly | [CLI](cli/README.md), [entrypoint](entrypoint/README.md), [ciphernode builder](ciphernode-builder/README.md), [configuration](config/README.md) |
| Operator commands and assembly | [CLI](cli/README.md), [entrypoint](entrypoint/README.md), [ciphernode composition and services](ciphernode/README.md) |
| Events and state | [event types/pipeline](events/README.md), [runtime assembly](event-system/README.md), [storage](data/README.md), [sync/replay](sync/README.md), [request routing](request/README.md) |
| Participation and key lifecycle | [sortition](sortition/Readme.md), [keyshare](keyshare/README.md), [aggregation](aggregator/README.md), [slashing](slashing/README.md) |
| Runtime adapters | [EVM](evm/README.md), [network](net/README.md), [shared compute workers](multithread/README.md), [task admission](task-pool/README.md), [FHE](fhe/README.md), [local crypto](crypto/README.md) |
| Runtime adapters | [EVM](evm/README.md), [network](net/README.md), [shared compute workers](ciphernode/multithread/README.md), [task admission](task-pool/README.md), [FHE](fhe/README.md), [local crypto](crypto/README.md) |
| Application computation | [Secure Process/provider](compute-provider/Readme.md), [OpenVM host](openvm-host/README.md), [guest/journal types](openvm-types/README.md), [program HTTP server](program-server/README.md), [DA clients](data-availability/README.md) |
| Client libraries | [Rust SDK](sdk/README.md), [BFV client](bfv-client/README.md), [WASM](wasm/README.md), [EVM client](evm/client/README.md), [indexer](evm/indexer/README.md) |
| Parameters, math, and proofs | [committee](committee/README.md), [committee hashes](committee-hash/README.md), [FHE presets](fhe-params/README.md), [TrBFV](trbfv/README.md), [SAFE](safe/README.md), [polynomials](polynomial/README.md), [parity matrices](parity-matrix/README.md), [ZK config](zk/config/README.md), [witnesses](zk/witness/README.md), [prover](zk/prover/README.md) |
| Project tooling and utilities | [initializer](init/README.md), [program runner](program-runner/README.md), [circuit builder](zk/build/README.md), [benchmarks](zk/benchmarks/README.md), [samples](zk/samples/README.md), [VFS](fs/README.md), [utilities](utils/README.md), [byte derive](utils-derive/README.md), [immutable map](hamt/README.md) |
| Diagnostics and tests | [logger](logger/README.md), [console](console/README.md), [local daemon](daemon-server/README.md), [dashboard](dashboard/README.md), [mechanical test support](test-support/README.md), [BFV ballots](bfv-test-support/README.md), [system tests](tests/README.md), [layout locks](layout-lock/README.md) |
| Diagnostics and tests | [logger](logger/README.md), [console](console/README.md), [local daemon](ciphernode/daemon-server/README.md), [dashboard](dashboard/README.md), [mechanical test support](test-support/README.md), [BFV ballots](bfv-test-support/README.md), [system tests](tests/README.md), [layout locks](layout-lock/README.md) |

For current public flows, see [committee selection](../docs/architecture/committee-selection.md),
[DKG](../docs/architecture/dkg.md), and
Expand Down
4 changes: 2 additions & 2 deletions crates/aggregator/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Use the extensions in `e3_aggregator::ext` with an `e3_request::E3RouterBuilder`
- `ThresholdPlaintextAggregatorExtension::create(...)` creates or hydrates `plaintext`, using the
bus, sortition actor, proof-aggregation setting, canonical keys, and sequence-history reader.

The [ciphernode wiring](../ciphernode-builder/src/builder/extensions.rs) shows registration through
The [ciphernode wiring](../ciphernode/builder/src/extensions.rs) shows registration through
`with_recipient`, including the FHE dependency. Consumers do not construct the private
public-key/plaintext actor modules directly. Committee formation is owned by
[sortition](../sortition/Readme.md#runtime-integration), not aggregation. Canonical-key inputs come
Expand All @@ -42,7 +42,7 @@ intents; confirmed contract events establish canonical completion.

## Using the capability

For a complete runtime use [CiphernodeBuilder](../ciphernode-builder/README.md). The crate also
For a complete runtime use [CiphernodeBuilder](../ciphernode/builder/README.md). The crate also
exports typed recovery states and repository factory traits for persistence integration. See
[DKG](../../docs/architecture/dkg.md) and
[threshold decryption](../../docs/architecture/threshold-decryption.md) for protocol boundaries.
Expand Down
12 changes: 0 additions & 12 deletions crates/ciphernode-builder/src/lib.rs

This file was deleted.

22 changes: 22 additions & 0 deletions crates/ciphernode/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Ciphernode composition and services

Ciphernode composition, compute dispatch, and local command transport share this family because they
assemble and operate a ciphernode. Each remains an independently importable package in the root
Cargo workspace; this directory is not a package or nested workspace.

- [builder](builder/README.md) composes full/bootstrap nodes and recovery.
- [daemon-server](daemon-server/README.md) provides loopback CLI control transport.
- [multithread](multithread/README.md) coordinates node compute admission and replay/retry policy.

The [configuration](../config/README.md), [CLI](../cli/README.md), CLI-owned
[initializer](../init/README.md), and process-fenced [entrypoint](../entrypoint/README.md) currently
remain at their flat locations. Generic [task-pool](../task-pool/README.md),
[console](../console/README.md), and [filesystem](../fs/README.md) capabilities remain separate
roots rather than becoming node-specific utilities.

Checkout-relative paths for this family's members now start with `crates/ciphernode/`; Cargo package
selection and downstream Git dependency names are unchanged. Use the
[workspace setup](../README.md#setup-and-checks) and each member's checks. Startup ordering and
dispatch recovery remain governed by
[persistence and replay](../../docs/architecture/persistence-and-replay.md);
[upgrades](../../docs/architecture/upgrades.md) owns compatibility and rollback decisions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

See [README.md](README.md) for profiles, configuration, and handle lifecycle. This is the ciphernode
composition root. Protocol decisions belong to their capability crates; attach them here without
copying their rules. `builder/startup.rs` documents the dependency order of Storage → Restart → Live
→ Protocol; preserve the prerequisites, not just the current line order.
copying their rules. `src/startup.rs` documents the dependency order of Storage → Restart → Live →
Protocol; preserve the prerequisites, not just the current line order.

- Keep the full/bootstrap profiles closed: bootstrap has only the Interfold reader and no protocol
extensions/writers or compute scheduler. Do not expose independent component switches that bypass
Expand All @@ -20,7 +20,8 @@ copying their rules. `builder/startup.rs` documents the dependency order of Stor
- Do not make shared test support depend on this crate: lower-level tests would pull the complete
stack and can cycle through event-system. Multi-node composition belongs in `crates/tests`.

[Persistence](../../docs/architecture/persistence-and-replay.md) owns startup and failure-signal
semantics; [slashing](../../docs/architecture/slashing.md) owns chain-specific manager resolution.
Use the [README test commands and prerequisites](README.md#tests). Recovery and profile changes need
the affected multi-node scenarios; in-memory construction alone is not restart coverage.
[Persistence](../../../docs/architecture/persistence-and-replay.md) owns startup and failure-signal
semantics; [slashing](../../../docs/architecture/slashing.md) owns chain-specific manager
resolution. Use the [README test commands and prerequisites](README.md#tests). Recovery and profile
changes need the affected multi-node scenarios; in-memory construction alone is not restart
coverage.
Loading
Loading