pub struct ProofBundle {
pub transition_dag: DAGSegment,
pub signatures: Vec<Vec<u8>>,
pub seal_ref: SealRef,
pub anchor_ref: AnchorRef,
pub inclusion_proof: InclusionProof,
pub finality_proof: FinalityProof,
}Expand description
Complete proof bundle for peer-to-peer verification
Fields§
§transition_dag: DAGSegmentState transition DAG segment
signatures: Vec<Vec<u8>>Authorizing signatures
seal_ref: SealRefSeal reference
anchor_ref: AnchorRefAnchor reference
inclusion_proof: InclusionProofInclusion proof
finality_proof: FinalityProofFinality proof
Implementations§
Source§impl ProofBundle
impl ProofBundle
Sourcepub fn new(
transition_dag: DAGSegment,
signatures: Vec<Vec<u8>>,
seal_ref: SealRef,
anchor_ref: AnchorRef,
inclusion_proof: InclusionProof,
finality_proof: FinalityProof,
) -> Result<Self, &'static str>
pub fn new( transition_dag: DAGSegment, signatures: Vec<Vec<u8>>, seal_ref: SealRef, anchor_ref: AnchorRef, inclusion_proof: InclusionProof, finality_proof: FinalityProof, ) -> Result<Self, &'static str>
Create a new proof bundle
§Arguments
transition_dag- State transition DAG segmentsignatures- Authorizing signatures (total max 1MB)seal_ref- Seal referenceanchor_ref- Anchor referenceinclusion_proof- Inclusion prooffinality_proof- Finality proof
§Errors
Returns an error if signatures exceed the maximum total size
Sourcepub fn new_unchecked(
transition_dag: DAGSegment,
signatures: Vec<Vec<u8>>,
seal_ref: SealRef,
anchor_ref: AnchorRef,
inclusion_proof: InclusionProof,
finality_proof: FinalityProof,
) -> Self
pub fn new_unchecked( transition_dag: DAGSegment, signatures: Vec<Vec<u8>>, seal_ref: SealRef, anchor_ref: AnchorRef, inclusion_proof: InclusionProof, finality_proof: FinalityProof, ) -> Self
Create a new $1 without validation.
§Safety
This bypasses validation. Use only for internal protocol conversions.
Sourcepub fn from_bytes(bytes: &[u8]) -> Result<Self, Error>
pub fn from_bytes(bytes: &[u8]) -> Result<Self, Error>
Deserialize the proof bundle with size limit (10MB max)
Trait Implementations§
Source§impl Clone for ProofBundle
impl Clone for ProofBundle
Source§fn clone(&self) -> ProofBundle
fn clone(&self) -> ProofBundle
Returns a duplicate of the value. Read more
1.0.0 · 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 ProofBundle
impl Debug for ProofBundle
Source§impl<'de> Deserialize<'de> for ProofBundle
impl<'de> Deserialize<'de> for ProofBundle
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 ProofBundle
impl PartialEq for ProofBundle
Source§impl Serialize for ProofBundle
impl Serialize for ProofBundle
impl Eq for ProofBundle
impl StructuralPartialEq for ProofBundle
Auto Trait Implementations§
impl Freeze for ProofBundle
impl RefUnwindSafe for ProofBundle
impl Send for ProofBundle
impl Sync for ProofBundle
impl Unpin for ProofBundle
impl UnsafeUnpin for ProofBundle
impl UnwindSafe for ProofBundle
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