pub struct VerificationReport {
pub file_id: FileId,
pub version_count: u64,
pub structure_valid: bool,
pub integrity_hash_valid: bool,
pub hash_chain_valid: bool,
pub signatures_valid: bool,
pub is_valid: bool,
pub errors: Vec<String>,
pub temporal_warnings: Vec<TemporalWarning>,
}Expand description
Detailed verification report for an AION file
Fields§
§file_id: FileIdFile ID
version_count: u64Number of versions in the file
structure_valid: boolWhether the file structure is valid
integrity_hash_valid: boolWhether the file integrity hash matches
hash_chain_valid: boolWhether the hash chain is intact
signatures_valid: boolWhether all signatures are valid
is_valid: boolOverall verification result
errors: Vec<String>Errors encountered during verification (if any)
temporal_warnings: Vec<TemporalWarning>Temporal warnings (informational only, do not affect validity)
Implementations§
Source§impl VerificationReport
impl VerificationReport
Sourcepub fn has_temporal_warnings(&self) -> bool
pub fn has_temporal_warnings(&self) -> bool
Check if the report has any temporal warnings
Sourcepub const fn exit_code(&self) -> ExitCode
pub const fn exit_code(&self) -> ExitCode
Map this verdict to a process exit code.
This is the sole producer of a verify-path exit code in
the aion CLI. A valid report maps to
std::process::ExitCode::SUCCESS; anything else maps to
ExitCode::from(1). Callers must thread this through their
return type rather than branching on is_valid and calling
std::process::exit by hand — see issue #23.
Sourcepub fn mark_valid(&mut self)
pub fn mark_valid(&mut self)
Mark all checks as passed
Trait Implementations§
Source§impl Clone for VerificationReport
impl Clone for VerificationReport
Source§fn clone(&self) -> VerificationReport
fn clone(&self) -> VerificationReport
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for VerificationReport
impl Debug for VerificationReport
Source§impl<'de> Deserialize<'de> for VerificationReport
impl<'de> Deserialize<'de> for VerificationReport
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 VerificationReport
impl PartialEq for VerificationReport
Source§impl Serialize for VerificationReport
impl Serialize for VerificationReport
impl Eq for VerificationReport
impl StructuralPartialEq for VerificationReport
Auto Trait Implementations§
impl Freeze for VerificationReport
impl RefUnwindSafe for VerificationReport
impl Send for VerificationReport
impl Sync for VerificationReport
impl Unpin for VerificationReport
impl UnsafeUnpin for VerificationReport
impl UnwindSafe for VerificationReport
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more