fix: harden ciphernode runtime and Rust architecture [skip-line-limit]#1691
Draft
hmzakhalid wants to merge 84 commits into
Draft
fix: harden ciphernode runtime and Rust architecture [skip-line-limit]#1691hmzakhalid wants to merge 84 commits into
hmzakhalid wants to merge 84 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This draft PR carries the production-readiness and Rust architecture pass for the ciphernode and its protocol-critical dependencies.
No Solidity public ABI, deployed storage layout, Noir circuit source, circuit semantics, wire format, production deployment, key, secret, fund, release, or publication action is included.
Validation
Docker-backed disk-full/partition fault injection was not run because the Docker daemon is unavailable. The standalone crates/support-scripts/dev manifest remains blocked by its pre-existing workspace-membership error.
Fixed issues
Closes Bind C0 proofs to the canonical E3 request and committee slot #1645 — Bind C0 proofs to the canonical E3 request and committee slot
Closes Use the honest-party quorum for accusation voting #1646 — Use the honest-party quorum for accusation voting
Closes Fail closed on corrupt event logs and reconcile indexes in bounded pages #1647 — Fail closed on corrupt event logs and reconcile indexes in bounded pages
Closes Keep network broadcast consumers alive after receiver lag #1648 — Keep network broadcast consumers alive after receiver lag
Closes Make startup replay end-to-end backpressured #1649 — Make startup replay end-to-end backpressured
Closes Validate canonical H-of-N shapes before DKG aggregation #1650 — Validate canonical H-of-N shapes before DKG aggregation
Closes Match the SDK finalized-committee event to the contract ABI #1651 — Match the SDK finalized-committee event to the contract ABI
Closes Bound ciphernode startup with a configurable readiness deadline #1652 — Bound ciphernode startup with a configurable readiness deadline
Closes Serialize pending nonce allocation for each chain signer #1653 — Serialize pending nonce allocation for each chain signer
Closes Replace probabilistic event deduplication and reject timestamp conflicts #1654 — Replace probabilistic event deduplication and reject timestamp conflicts
Closes Redact and bound sensitive structured tracing fields #1655 — Redact and bound sensitive structured tracing fields
Closes Bound historical peer synchronization and require cursor progress #1656 — Bound historical peer synchronization and require cursor progress
Closes Fail DAppNode startup closed on invalid credentials and false health #1657 — Fail DAppNode startup closed on invalid credentials and false health
Closes Bind share proof bundles to canonical signers phases and multiplicity #1658 — Bind share proof bundles to canonical signers phases and multiplicity
Closes Bind aggregation shares to canonical committee party slots #1659 — Bind aggregation shares to canonical committee party slots
Closes Fail startup closed when EVM event buffers exceed their limit #1660 — Fail startup closed when EVM event buffers exceed their limit
Closes Defer live EVM logs until confirmed canonical backfill #1661 — Defer live EVM logs until confirmed canonical backfill
Closes Bound network startup buffering by event count and bytes #1662 — Bound network startup buffering by event count and bytes
Closes Drain event snapshot and database state during graceful shutdown #1663 — Drain event snapshot and database state during graceful shutdown
Closes Preserve large chain finalization delays without integer overflow #1664 — Preserve large chain finalization delays without integer overflow
Closes Reject internal-only events received through protocol gossip #1665 — Reject internal-only events received through protocol gossip
Closes Make multi-key snapshot writes atomic and acknowledged #1666 — Make multi-key snapshot writes atomic and acknowledged
Closes Preserve existing node identities during autowallet startup #1667 — Preserve existing node identities during autowallet startup
Closes Isolate snapshot batches by aggregate and await final persistence #1668 — Isolate snapshot batches by aggregate and await final persistence
Closes Restore the full logical clock from durable replay history #1669 — Restore the full logical clock from durable replay history
Closes Reject incomplete multi-chain EVM history during startup #1670 — Reject incomplete multi-chain EVM history during startup
Closes Reject incompatible storage schemas before actors write state #1671 — Reject incompatible storage schemas before actors write state
Closes Bound and exactly consume external bincode payloads #1672 — Bound and exactly consume external bincode payloads
Closes Reject already-expired DHT documents #1673 — Reject already-expired DHT documents
Closes Bind BFV proofs to exact supported parameter presets #1674 — Bind BFV proofs to exact supported parameter presets
Closes Reject malformed EVM logs before dispatch or checkpointing #1675 — Reject malformed EVM logs before dispatch or checkpointing
Closes Reject reverted EVM transaction receipts across all writer paths #1676 — Reject reverted EVM transaction receipts across all writer paths
Closes Replay aggregates in global timestamp order #1677 — Replay aggregates in global timestamp order
Closes Bind DHT notification metadata to decoded document payloads #1678 — Bind DHT notification metadata to decoded document payloads
Closes Backpressure remote network-to-actor ingress #1679 — Backpressure remote network-to-actor ingress
Closes Defer and coalesce slashing submissions during replay #1680 — Defer and coalesce slashing submissions during replay
Closes Constrain program-server callbacks and concurrency #1681 — Constrain program-server callbacks and concurrency
Closes Report supervised child exits and prevent orphaned ciphernodes #1682 — Report supervised child exits and prevent orphaned ciphernodes
Closes Preserve buffered request-event order and clean terminal state #1683 — Preserve buffered request-event order and clean terminal state
Closes Fence startup recovery phases before entering live mode #1684 — Fence startup recovery phases before entering live mode
Closes Count C3 share-encryption proofs by threshold share rows #1685 — Count C3 share-encryption proofs by threshold share rows
Closes Use committee-scoped artifacts in the correlated NodeFold E2E test #1686 — Use committee-scoped artifacts in the correlated NodeFold E2E test
Closes Apply compatible RustSec patches to locked runtime dependencies #1687 — Apply compatible RustSec patches to locked runtime dependencies
Closes Upgrade tracing-subscriber to prevent ANSI log injection #1688 — Upgrade tracing-subscriber to prevent ANSI log injection
Closes Upgrade Alloy ABI crates to fix typed-data hashing denial of service #1689 — Upgrade Alloy ABI crates to fix typed-data hashing denial of service
Closes Synchronize independent Rust consumer lockfiles after Alloy upgrade #1692 — Synchronize independent Rust consumer lockfiles after Alloy upgrade
Follow-up risk
CI follow-up fixes