///|
pub(all) enum PreservationKind {
BytePreservedKind
SemanticallyRewrittenKind
RemovedByPolicyKind
RegeneratedMetadataKind
} derive(Eq, Debug)
///|
impl ToJson for PreservationKind with fn to_json(self) -> Json {
(match self {
BytePreservedKind => "BytePreserved"
SemanticallyRewrittenKind => "SemanticallyRewritten"
RemovedByPolicyKind => "RemovedByPolicy"
RegeneratedMetadataKind => "RegeneratedMetadata"
}).to_json()
}
///|
pub(all) struct ContractDisposition {
part : String
classification : PreservationKind
before_hash : String
after_hash : String?
decision_id : String?
rule_id : String?
reason : String
} derive(ToJson, Eq, Debug)
///|
pub(all) struct VerificationCheck {
check_id : String
state : CheckState
result : ResultStatus?
detail : String
} derive(ToJson, Eq, Debug)
///|
pub(all) struct VerifiedReceipt {
schema : String
tool : String
rules : String
policy : String
profile : String
input_hash : String
output_hash : String
input_size : Int
output_size : Int
input_format : String
output_format : String
limits : Limits
input_coverage : Coverage
output_coverage : Coverage
findings : Array[CapabilityFinding]
output_findings : Array[CapabilityFinding]
decisions : Array[PolicyDecision]
allowed_capabilities : Array[CapabilityFinding]
plan : PreparedPlan
dispositions : Array[ContractDisposition]
checks : Array[VerificationCheck]
result : ResultStatus
independent_validation : CheckState
independent_tools : Array[String]
limitations : Array[String]
} derive(ToJson, Eq, Debug)
///|
pub(all) struct VerifiedRebuilt {
bytes : Bytes
receipt : VerifiedReceipt
}
///|
pub extend PreservationKind with ToJson::{to_json}
///|
pub extend PreservationKind with Eq::{equal, not_equal}
///|
pub extend PreservationKind with Debug::{to_repr}
///|
pub extend ContractDisposition with ToJson::{to_json}
///|
pub extend ContractDisposition with Eq::{equal, not_equal}
///|
pub extend ContractDisposition with Debug::{to_repr}
///|
pub extend VerificationCheck with ToJson::{to_json}
///|
pub extend VerificationCheck with Eq::{equal, not_equal}
///|
pub extend VerificationCheck with Debug::{to_repr}
///|
pub extend VerifiedReceipt with ToJson::{to_json}
///|
pub extend VerifiedReceipt with Eq::{equal, not_equal}
///|
pub extend VerifiedReceipt with Debug::{to_repr}