pub struct BundleVerificationReport {
pub signature: SignatureStatus,
pub inclusion: InclusionStatus,
pub checkpoint: CheckpointStatus,
pub witnesses: WitnessStatus,
pub namespace: NamespaceStatus,
pub delegation: DelegationStatus,
pub warnings: Vec<String>,
}Expand description
Result of verifying an OfflineBundle.
Reports the outcome of each verification dimension independently, allowing consumers to make nuanced trust decisions.
Args:
signature— Whether the entry’s actor signature verified.inclusion— Whether the Merkle inclusion proof verified.checkpoint— Whether the signed checkpoint verified.witnesses— Witness cosignature quorum status.namespace— Whether the actor is authorized for the namespace.delegation— Delegation chain verification status.warnings— Non-fatal issues encountered during verification.
Usage:
ⓘ
let report = BundleVerificationReport {
signature: SignatureStatus::Verified,
inclusion: InclusionStatus::Verified,
checkpoint: CheckpointStatus::Verified,
witnesses: WitnessStatus::NotProvided,
namespace: NamespaceStatus::Authorized,
delegation: DelegationStatus::NoDelegationData,
warnings: vec![],
};
assert!(report.is_valid());Fields§
§signature: SignatureStatus§inclusion: InclusionStatus§checkpoint: CheckpointStatus§witnesses: WitnessStatus§namespace: NamespaceStatus§delegation: DelegationStatus§warnings: Vec<String>Implementations§
Source§impl BundleVerificationReport
impl BundleVerificationReport
Sourcepub fn is_valid(&self) -> bool
pub fn is_valid(&self) -> bool
Whether the bundle passed all verification checks.
Returns true when signature, inclusion, and checkpoint are all verified,
witnesses meet quorum (or are not provided), namespace is authorized or owned,
and delegation is not broken.
Trust note: NoDelegationData is accepted as valid because many bundles
(e.g., direct-signing, early Epic 1 bundles) lack delegation chains. This is
a weaker trust signal than ChainVerified — callers needing full provenance
should check delegation explicitly rather than relying solely on is_valid().
Trait Implementations§
Source§impl Clone for BundleVerificationReport
impl Clone for BundleVerificationReport
Source§fn clone(&self) -> BundleVerificationReport
fn clone(&self) -> BundleVerificationReport
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 BundleVerificationReport
impl Debug for BundleVerificationReport
Source§impl<'de> Deserialize<'de> for BundleVerificationReport
impl<'de> Deserialize<'de> for BundleVerificationReport
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 BundleVerificationReport
impl PartialEq for BundleVerificationReport
Source§fn eq(&self, other: &BundleVerificationReport) -> bool
fn eq(&self, other: &BundleVerificationReport) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for BundleVerificationReport
impl Serialize for BundleVerificationReport
impl StructuralPartialEq for BundleVerificationReport
Auto Trait Implementations§
impl Freeze for BundleVerificationReport
impl RefUnwindSafe for BundleVerificationReport
impl Send for BundleVerificationReport
impl Sync for BundleVerificationReport
impl Unpin for BundleVerificationReport
impl UnsafeUnpin for BundleVerificationReport
impl UnwindSafe for BundleVerificationReport
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