Object contract kernel for Isochronon
Dependencies
///|
test "axis contracts lint" {
let registry = axis_authority_contracts()
assert_true(registry.lint().passes())
}pub(all) suberror ContractIngestError {
ParseFailed(String)
MissingField(String)
InvalidField(String, String)
} derive(Debug)fn ContractRegistry::with_object(self : ContractRegistry, contract : ObjectContract) -> ContractRegistrypub(all) struct ObjectBinding {
object_id : String
binding_id : String
medium_id : String
label : String
direction : TraceDirection?
kind : BindingKind
index : UInt?
subindex : Byte?
channel : String
key : String
authority : Authority
} derive(Eq, Debug)fn ObjectBinding::make(object_id~ : String, binding_id~ : String, medium_id? : String, label~ : String, direction? : TraceDirection, kind? : BindingKind, index? : UInt, subindex? : Byte, channel? : String, key? : String, authority? : Authority) -> ObjectBindingpub(all) struct ObjectContract {
id : String
kind : ObjectKind
schema : Schema
timing : TimingContract
safety : SafetyContract
bindings : Array[ObjectBinding]
} derive(Eq, Debug)fn ObjectContract::make(id~ : String, kind~ : ObjectKind, schema~ : Schema, timing~ : TimingContract, safety~ : SafetyContract) -> ObjectContractfn ObjectMonitor::assess_trace(self : ObjectMonitor, log : TraceLog, timeout_actions : ArrayView[ObjectTimeoutActionObservation]) -> ObjectMonitorAssessmentpub(all) struct ObjectMonitorAssessment {
object_report : ObjectMonitorReport
timeout_action_observation_count : Int
timeout_action_evaluations : Array[ObjectTimeoutActionEvaluation]
timeout_action_matched_count : Int
timeout_action_missing_count : Int
timeout_action_mismatch_count : Int
timeout_action_duplicate_count : Int
timeout_action_orphan_count : Int
} derive(Eq, Debug)pub(all) struct ObjectMonitorReport {
checked_events : Int
violations : Array[ObjectViolation]
} derive(Eq, Debug)pub(all) struct ObjectTimeoutActionEvaluation {
object_id : String
trigger_event_id : Int
expected_action : String
observed_action : String
observation_count : Int
status : ObjectTimeoutActionStatus
} derive(Eq, Debug)fn ObjectTimeoutActionObservation::make(object_id~ : String, trigger_event_id~ : Int, action~ : String) -> ObjectTimeoutActionObservationpub(all) struct ObjectViolation {
kind : ObjectViolationKind
object_id : String
event_id : Int?
reason : String
} derive(Eq, Debug)fn SafetyContract::make(authority? : Authority, min_payload_digest? : Int, max_payload_digest? : Int, timeout_action? : String) -> SafetyContractpub(all) struct TimingContract {
period_ns : Int64?
max_age_ns : Int64?
deadline_ns : Int64?
valid_for_ns : Int64?
clock_requirement : ObjectClockRequirement
} derive(Eq, Debug)fn TimingContract::make(period_ns? : Int64, max_age_ns? : Int64, deadline_ns? : Int64, valid_for_ns? : Int64, clock_requirement? : ObjectClockRequirement) -> TimingContractObject contract kernel for Isochronon
Dependencies