pub enum StorageMetadataOperationV2 {
RegisterFilePendingV2 {
merkle_root: Hash,
plaintext_size_bytes: u64,
stored_size_bytes: u64,
chunk_count: u32,
fee_deposit: u64,
visibility: u8,
initial_access: Vec<AccessEntryV2>,
},
ActivateFileV2 {
merkle_root: Hash,
},
AbandonFileV2 {
merkle_root: Hash,
},
AcceptAssignmentV2 {
merkle_root: Hash,
chunk_indices: Vec<u32>,
},
AddAccessV2 {
merkle_root: Hash,
entry: AccessEntryV2,
},
RemoveAccessV2 {
merkle_root: Hash,
address: Address,
},
UpdateAccessV2 {
merkle_root: Hash,
address: Address,
new_entry: AccessEntryV2,
},
}Expand description
V2 storage operations. Additive — V1 StorageMetadataOperation unchanged.
Plan §3.1, §3.6 (AcceptAssignmentV2 added at v3).
Variants§
RegisterFilePendingV2
Register a file in the Pending state. Locks fee_deposit into
fee_pool, captures the active-archive snapshot at this block height,
and stages the file for owner-driven push fanout.
Plan §3.5 RegisterFilePendingV2.
Fields
visibility: u80 = Public, 1 = Private. Validation in the executor decodes via
FileVisibilityV2::from_byte and rejects other values.
initial_access: Vec<AccessEntryV2>ActivateFileV2
Transition a file from Pending → Active. Validity precondition lives
in checkpoint 1b (every chunk index must have an AcceptAssignmentV2).
AbandonFileV2
Refund deposit (minus abandonment_fee_percent) for a Pending file
that the owner can’t activate. Anti-grief: only valid after
created_at + activation_grace_blocks. Plan §3.5 AbandonFileV2.
AcceptAssignmentV2
Per-archive attestation that this archive has received and stored the
listed chunks. Required before ActivateFileV2. Implemented in 1b.
AddAccessV2
Add one access entry to an Active file’s access list. Implemented in 1c.
RemoveAccessV2
Remove one access entry from an Active file’s access list. Implemented in 1c.
UpdateAccessV2
Replace one access entry’s bundle/expiry on an Active file (rotation). Implemented in 1c.
Trait Implementations§
Source§impl Clone for StorageMetadataOperationV2
impl Clone for StorageMetadataOperationV2
Source§fn clone(&self) -> StorageMetadataOperationV2
fn clone(&self) -> StorageMetadataOperationV2
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for StorageMetadataOperationV2
impl Debug for StorageMetadataOperationV2
Source§impl<'de> Deserialize<'de> for StorageMetadataOperationV2
impl<'de> Deserialize<'de> for StorageMetadataOperationV2
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for StorageMetadataOperationV2
impl PartialEq for StorageMetadataOperationV2
Source§fn eq(&self, other: &StorageMetadataOperationV2) -> bool
fn eq(&self, other: &StorageMetadataOperationV2) -> bool
self and other values to be equal, and is used by ==.