pub struct StorageChallenge {
pub challenge_id: Hash,
pub merkle_root: Hash,
pub chunk_index: u32,
pub target_node: Address,
pub created_at_height: u64,
pub expires_at_height: u64,
}Expand description
An open cryptographic challenge issued by the L1 to an ArchiveNode.
The node must submit a valid Merkle proof before expires_at_height
or face slashing.
Fields§
§challenge_id: HashDeterministic ID: Blake3(merkle_root ++ chunk_index ++ created_at_height)
merkle_root: HashWhich file is being challenged
chunk_index: u32Which 1 MB chunk to prove (0-indexed)
target_node: AddressWhich ArchiveNode must respond
created_at_height: u64Block height the challenge was issued
expires_at_height: u64Deadline: must respond before this height
Trait Implementations§
Source§impl Clone for StorageChallenge
impl Clone for StorageChallenge
Source§fn clone(&self) -> StorageChallenge
fn clone(&self) -> StorageChallenge
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for StorageChallenge
impl Debug for StorageChallenge
Source§impl<'de> Deserialize<'de> for StorageChallenge
impl<'de> Deserialize<'de> for StorageChallenge
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for StorageChallenge
impl PartialEq for StorageChallenge
Source§fn eq(&self, other: &StorageChallenge) -> bool
fn eq(&self, other: &StorageChallenge) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for StorageChallenge
impl Serialize for StorageChallenge
impl Eq for StorageChallenge
impl StructuralPartialEq for StorageChallenge
Auto Trait Implementations§
impl Freeze for StorageChallenge
impl RefUnwindSafe for StorageChallenge
impl Send for StorageChallenge
impl Sync for StorageChallenge
impl Unpin for StorageChallenge
impl UnsafeUnpin for StorageChallenge
impl UnwindSafe for StorageChallenge
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more