From 8523e9c67e375747147a0b05ec191ad81ce2e318 Mon Sep 17 00:00:00 2001 From: tv Date: Sat, 7 Nov 2026 22:35:21 +0100 Subject: signatures: changes signed by their node Every node signs the changes it commits with its node key, an Ed25519 signature over the change's hash, kept beside the document. One signature on an actor's latest change vouches for its earlier ones. Protocol data and paths listed in _continuum/access/signed are signed, and writes with ?signed=true. Auth plan M5. --- src/document/replica.rs | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/document/replica.rs') diff --git a/src/document/replica.rs b/src/document/replica.rs index 03325eb..ead42f6 100644 --- a/src/document/replica.rs +++ b/src/document/replica.rs @@ -124,6 +124,8 @@ pub(crate) struct Replica { /// What local writes and sync changed since the change publisher last looked /// (`changed_since`), so it needn't diff the document for it. log: std::sync::Mutex, + /// The signatures of the document's changes this node has (`document::signatures`). + pub(crate) signatures: super::signatures::Signatures, } /// The patches of the changes from `from` to `to` (sorted heads) of the document of @@ -180,6 +182,7 @@ impl Replica { heads: Vec::new(), stamp, log, + signatures: Default::default(), }; replica.refresh_heads(); replica -- cgit v1.3.1