pub struct TransparencyInvocation {
pub invoker_did: String,
pub subject_did: String,
pub disclosed_commitments: Vec<PayloadCommitment>,
pub purpose: String,
pub invoked_unix: u64,
}Expand description
A transparency invocation — the person (or, during incapacity, their advocate) chooses to make a scoped set of prior-events records transparent, to counter discrediting by showing context. The counter to privacy-weaponisation: the person’s own durable, un-erasable record, disclosed on their terms.
It is the person’s choice (privacy is not forcibly lifted) and its value is honest-contingent — the system enables truthful transparency; it neither compels honesty nor can make a dishonest record true.
Fields§
§invoker_did: StringWho invoked it — the person, or their advocate during a validated incapacity.
subject_did: StringWhose record it is (the person).
disclosed_commitments: Vec<PayloadCommitment>The prior-events records (by commitment) being made transparent — a scoped selection the invoker chooses.
purpose: StringWhy (e.g. “counter discrediting after involuntary committal — show the retaliation timeline”).
invoked_unix: u64Implementations§
Source§impl TransparencyInvocation
impl TransparencyInvocation
Sourcepub fn advocate_may_invoke(&self, switch: &IncapacitySwitch) -> bool
pub fn advocate_may_invoke(&self, switch: &IncapacitySwitch) -> bool
Whether an advocate may invoke this on the subject’s behalf — only during a validated active incapacity for that subject (otherwise only the subject themselves may). Enforces “the advocate acts only while the person cannot”.
Trait Implementations§
Source§impl Clone for TransparencyInvocation
impl Clone for TransparencyInvocation
Source§fn clone(&self) -> TransparencyInvocation
fn clone(&self) -> TransparencyInvocation
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 TransparencyInvocation
impl Debug for TransparencyInvocation
Source§impl<'de> Deserialize<'de> for TransparencyInvocation
impl<'de> Deserialize<'de> for TransparencyInvocation
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 TransparencyInvocation
impl PartialEq for TransparencyInvocation
Source§fn eq(&self, other: &TransparencyInvocation) -> bool
fn eq(&self, other: &TransparencyInvocation) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for TransparencyInvocation
impl Serialize for TransparencyInvocation
impl Eq for TransparencyInvocation
impl StructuralPartialEq for TransparencyInvocation
Auto Trait Implementations§
impl Freeze for TransparencyInvocation
impl RefUnwindSafe for TransparencyInvocation
impl Send for TransparencyInvocation
impl Sync for TransparencyInvocation
impl Unpin for TransparencyInvocation
impl UnsafeUnpin for TransparencyInvocation
impl UnwindSafe for TransparencyInvocation
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