pub type MembershipRollup = Signed<MembershipRollupBody>;Aliased Type§
pub struct MembershipRollup { /* private fields */ }Implementations§
Source§impl MembershipRollup
impl MembershipRollup
pub fn signed( store_root_hash: ObjectHash, author_registration: StoreDeviceRegistrationRef, streams: Vec<MembershipRollupStream>, resolutions: Vec<MembershipRollupResolution>, device_signer: &UserKeypair, ) -> Result<Self, StoreProtocolError>
Sourcepub fn validate_shape(&self) -> Result<(), StoreProtocolError>
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.