Skip to main content

MembershipRollup

Type Alias MembershipRollup 

Source
pub type MembershipRollup = Signed<MembershipRollupBody>;

Aliased Type§

pub struct MembershipRollup { /* private fields */ }

Implementations§

Source§

impl MembershipRollup

Source

pub fn signed( store_root_hash: ObjectHash, author_registration: StoreDeviceRegistrationRef, streams: Vec<MembershipRollupStream>, resolutions: Vec<MembershipRollupResolution>, device_signer: &UserKeypair, ) -> Result<Self, StoreProtocolError>

Source

pub fn validate_shape(&self) -> Result<(), StoreProtocolError>

Everything about a rollup that can be checked without the chain: each carried object hashes to the reference that names it, carries its own author’s signature, and sits at the coordinate its stream claims.

This is deliberately not the whole of membership verification — grant authority, predecessor linkage across a conflict layer, and Store-commit activation are decided by the walk that consumes these bytes, over the same code path that decides them for bytes read off the provider. What this establishes is that the rollup is a faithful carrier: every object in it is the object its reference names.

Source

pub fn parse_at( bytes: &[u8], expected_store_root_hash: ObjectHash, expected: &MembershipRollupRef, author: &StoreDeviceRegistration, ) -> Result<Self, StoreProtocolError>