pub struct DidRotatedData {
pub old_did: String,
pub new_did: String,
pub method: String,
pub vmc_id: Option<String>,
pub role_vec_id: Option<String>,
pub prior_role: Option<String>,
pub rotation_reason: Option<DidRotationReason>,
}Expand description
Payload for AuditEvent::DidRotated. Phase 2 M2.15.
Fields§
§old_did: String§new_did: String§method: StringDID method of the new DID — "did:key" /
"did:webvh". Spec §10.5 keeps the two paths
cryptographically distinct so SIEM rules can target
each.
vmc_id: Option<String>New VMC id minted in the same transaction (status-list
slot reused). None if issuance was skipped (e.g.
daemon misconfiguration).
role_vec_id: Option<String>New role VEC id minted in the same transaction.
prior_role: Option<String>Role the rotating member held before the rotation, carried
across unchanged. Lets a reviewer see the privilege level a
rotated key inherits. None on pre-enrichment rows.
rotation_reason: Option<DidRotationReason>Why the member rotated, as declared when they requested the
rotation challenge. None on pre-enrichment rows and whenever
the member declined to say.
Self-asserted, not proven. The rotation signatures cover
{rotationId, oldDid, newDid, expiresAt} and nothing else, so
this value is the member’s own claim about their motive. It is
bound to the authenticated session that opened the ceremony and
cannot be altered by whoever submits the finish request, but a
member who lies about why they rotated will be recorded
faithfully lying. Treat it as intent, never as evidence.
Trait Implementations§
Source§impl Clone for DidRotatedData
impl Clone for DidRotatedData
Source§fn clone(&self) -> DidRotatedData
fn clone(&self) -> DidRotatedData
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 DidRotatedData
impl Debug for DidRotatedData
Source§impl<'de> Deserialize<'de> for DidRotatedData
impl<'de> Deserialize<'de> for DidRotatedData
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 DidRotatedData
Source§impl PartialEq for DidRotatedData
impl PartialEq for DidRotatedData
Source§impl Serialize for DidRotatedData
impl Serialize for DidRotatedData
impl StructuralPartialEq for DidRotatedData
Auto Trait Implementations§
impl Freeze for DidRotatedData
impl RefUnwindSafe for DidRotatedData
impl Send for DidRotatedData
impl Sync for DidRotatedData
impl Unpin for DidRotatedData
impl UnsafeUnpin for DidRotatedData
impl UnwindSafe for DidRotatedData
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
Source§impl<T> BorrowUnordered for T
impl<T> BorrowUnordered for T
fn as_unordered(&self) -> &Unordered<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<'de, T, C> DeserializeTyped<'de, C> for Twhere
T: Deserialize<'de>,
impl<'de, T, C> DeserializeTyped<'de, C> for Twhere
T: Deserialize<'de>,
fn deserialize_typed<S>(
_: &C,
deserializer: S,
) -> Result<T, <S as Deserializer<'de>>::Error>where
S: Deserializer<'de>,
impl<T, U> DeserializeTypedOwned<T> for Uwhere
U: for<'de> DeserializeTyped<'de, T>,
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.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
fn equivalent(&self, key: &K) -> bool
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T, U, C> IntoWithContext<U, C> for Twhere
U: FromWithContext<T, C>,
impl<T, U, C> IntoWithContext<U, C> for Twhere
U: FromWithContext<T, C>,
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> ResourceProvider<()> for T
impl<T> ResourceProvider<()> for T
Source§fn get_resource(&self) -> &()
fn get_resource(&self) -> &()
T.