pub struct DisclosureEvent {
pub id: String,
pub payload_commitment: PayloadCommitment,
pub credential_id: String,
pub recipient_did: String,
pub acting_delegate_did: Option<String>,
pub time_unix: u64,
pub fingerprint: DisclosureFingerprint,
pub kind: DisclosureKind,
}Expand description
One traced access / disclosure event — durable and tamper-evident (of the commons payload; a person revoking access, or a betrayer, cannot erase it). Says who was given/took access to what, when, under which credential, and by whom (including a delegate).
Fields§
§id: String§payload_commitment: PayloadCommitmentThe commons payload disclosed (by commitment).
credential_id: StringUnder which consent / transparency credential the disclosure occurred.
recipient_did: StringThe party the disclosure was to / who holds the credential (e.g. the MP / minister).
acting_delegate_did: Option<String>If a delegate actually acted under the credential (e.g. the MP’s staffer), their identifier.
None = the recipient themselves acted. This is what makes a staff leak attributable.
time_unix: u64§fingerprint: DisclosureFingerprintThe per-recipient tracing fingerprint bound to this disclosure.
kind: DisclosureKindImplementations§
Source§impl DisclosureEvent
impl DisclosureEvent
Sourcepub fn accountable_actor(&self) -> &str
pub fn accountable_actor(&self) -> &str
The actor accountable for this disclosure: the acting delegate (a staffer) if one acted, else the recipient (the authority) themselves. A leak traced to this event is attributable to this actor.
Trait Implementations§
Source§impl Clone for DisclosureEvent
impl Clone for DisclosureEvent
Source§fn clone(&self) -> DisclosureEvent
fn clone(&self) -> DisclosureEvent
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DisclosureEvent
impl Debug for DisclosureEvent
Source§impl<'de> Deserialize<'de> for DisclosureEvent
impl<'de> Deserialize<'de> for DisclosureEvent
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 DisclosureEvent
impl PartialEq for DisclosureEvent
Source§fn eq(&self, other: &DisclosureEvent) -> bool
fn eq(&self, other: &DisclosureEvent) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for DisclosureEvent
impl Serialize for DisclosureEvent
impl Eq for DisclosureEvent
impl StructuralPartialEq for DisclosureEvent
Auto Trait Implementations§
impl Freeze for DisclosureEvent
impl RefUnwindSafe for DisclosureEvent
impl Send for DisclosureEvent
impl Sync for DisclosureEvent
impl Unpin for DisclosureEvent
impl UnsafeUnpin for DisclosureEvent
impl UnwindSafe for DisclosureEvent
Blanket Implementations§
§impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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