pub struct EntryVerdict {Show 19 fields
pub id: GovernanceLogId,
pub chain_seq: u64,
pub signature_valid: bool,
pub link_valid: bool,
pub content_matches: Option<bool>,
pub retroactive: bool,
pub out_of_order: bool,
pub amended_by: Vec<GovernanceLogId>,
pub signed_by: Option<PublicKeyHex>,
pub redacted: bool,
pub redacted_data_hash: Option<Sha256Hex>,
pub revisions: Vec<GovernanceLogId>,
pub latest_data_hash: Option<Sha256Hex>,
pub superseded_revisions: Vec<GovernanceLogId>,
pub history: RevisionHistory,
pub repudiated: bool,
pub reattested_by: Vec<GovernanceLogId>,
pub texts: Option<AmendmentTextStatus>,
pub problem: Option<String>,
}Expand description
The verdict on one entry
Fields§
§id: GovernanceLogId§chain_seq: u64§signature_valid: boolThe signature verifies over entry_hash and signed_at under the
published key
link_valid: boolentry_hash recomputes from the envelope fields, prev_hash is the
previous entry’s entry_hash, and chain_seq is contiguous
content_matches: Option<bool>The entry’s stored data hashes to the attested data_hash — or,
when a redaction names the entry, to the redaction’s
resulting_data_hash — or data is the entry’s
latest version. null when the
verifier did not read data. false with a clean chain means the
content was changed after attestation and no amendment says so.
retroactive: bool§out_of_order: boolcreated_at is earlier than the previous link’s. Informational:
chain order is what is attested, and a clock step does not break it.
amended_by: Vec<GovernanceLogId>Amendment entries that name this one
signed_by: Option<PublicKeyHex>The key the signature was checked under — the one in force at this position, or for a compromise declaration the certified new key
redacted: boolA redaction amendment names this entry, so its data has lawfully
changed since it was attested
redacted_data_hash: Option<Sha256Hex>What the entry’s data must hash to now, when it has been redacted
revisions: Vec<GovernanceLogId>Revision amendments naming this entry, in chain order: its latest
version is its stored data with each one’s patch applied (0.43)
latest_data_hash: Option<Sha256Hex>What the entry’s latest version hashes to: the last revision’s
resulting_data_hash, or a later redaction’s
resulting_latest_hash (0.43)
superseded_revisions: Vec<GovernanceLogId>Revisions whose own resulting_data_hash a later redaction
superseded: they describe the unredacted history, and the
redaction’s resulting_latest_hash is checked instead. Reported,
not a failure. (0.43)
history: RevisionHistoryWhat check_content
folds. Not on the wire: the amendments carry it.
repudiated: boolSigned inside a compromise window and not reattested: the key holder of record disclaims it
reattested_by: Vec<GovernanceLogId>AmendmentKind::Reattested amendments vouching for this entry
under a later, trusted key
texts: Option<AmendmentTextStatus>A version 2 amendment’s texts: each beside the entry and matching
what it committed to, or withheld. A text that does not match is a
problem.
problem: Option<String>What failed, when something did
Trait Implementations§
Source§impl Clone for EntryVerdict
impl Clone for EntryVerdict
Source§impl Debug for EntryVerdict
impl Debug for EntryVerdict
Source§impl<'de> Deserialize<'de> for EntryVerdict
impl<'de> Deserialize<'de> for EntryVerdict
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>,
impl Eq for EntryVerdict
Source§impl PartialEq for EntryVerdict
impl PartialEq for EntryVerdict
Source§impl Serialize for EntryVerdict
impl Serialize for EntryVerdict
impl StructuralPartialEq for EntryVerdict
Auto Trait Implementations§
impl Freeze for EntryVerdict
impl RefUnwindSafe for EntryVerdict
impl Send for EntryVerdict
impl Sync for EntryVerdict
impl Unpin for EntryVerdict
impl UnsafeUnpin for EntryVerdict
impl UnwindSafe for EntryVerdict
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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.