Skip to main content

CircleAck

Type Alias CircleAck 

Source
pub type CircleAck = Signed<CircleAckBody>;

Aliased Type§

pub struct CircleAck { /* private fields */ }

Implementations§

Source§

impl CircleAck

Source

pub fn signed( store_root_hash: ObjectHash, circle_id: CircleId, registration: StoreDeviceRegistrationRef, sequence: u64, store_cut: CommitFrontier, control: CircleControlCoord, epoch_id: CircleEpochId, key_fingerprint: KeyFingerprint, seeded_from: Option<CircleBootstrapCoverageRef>, last_sync: String, successor: SuccessorLink, device_signer: &UserKeypair, ) -> Result<Self, StoreProtocolError>

Source

pub fn ack_hash(&self) -> ObjectHash

Source

pub fn parse_at( bytes: &[u8], expected_store_root: &StoreRootRef, expected: &CircleAckRef, author: &StoreDeviceRegistration, ) -> Result<Self, StoreProtocolError>

Verify one exact Circle acknowledgement against its expected reference and author registration. The successor’s stream activation is not recomputed here: a Circle-acknowledgement stream’s first slot is not carried by the author’s registration (unlike a Store-acknowledgement stream), so only the author that holds it can reproduce the activation. A reader trusts the Store commit that named this acknowledgement as the sole activation authority, and checks the predecessor/sequence chain for ordering.