roles_integrity::all_role_claims_deleted_proof

Struct AllRoleClaimsDeletedProof

Source
pub struct AllRoleClaimsDeletedProof {
    pub assign_role_create_link_hash: ActionHash,
    pub pending_unassignment_create_link_hash: ActionHash,
    pub role_claims_delete_links_hashes: BTreeMap<AgentPubKeyB64, ActionHash>,
    pub lost_agents: Vec<AgentPubKey>,
}
Expand description

AllRoleClaimsDeletedProof struct

This is only created to allow for the validation of the PendingUnassignment link to pass. When an assignee is requested to have a certain role unassigned, a PendingUnassignment link gets created targetting the initial RoleToAssignee create link hash, with a list of all the linked devices agents for the assignee in the tag. This is to make it visible to everyone that those agents have not completed the request and still have the RoleClaims in their source chain which enable them to perform actions for that role.

To delete the RoleToAssignee and PendingUnassignment link, the assignee has to proof to validators that they have deleted the AssigneeRoleClaims for the given role for all their devices. In practice this means they have to start their conductor and have it automatically perform that DeleteLink for them.

If the assignee has lost control of any of their devices, they have to declare them as lost here. With this, their are promising they won’t commit any further action with them in the future.

In the future, we’d like to be able to use key_state() from DPKI to validate that the status of the lost agents keys is Invalid, which means the assignee has revoked those keys in DPKI. Since that’s not available, for now all agents in this DHT will automatically block the lost agents.

Fields§

§assign_role_create_link_hash: ActionHash§pending_unassignment_create_link_hash: ActionHash§role_claims_delete_links_hashes: BTreeMap<AgentPubKeyB64, ActionHash>§lost_agents: Vec<AgentPubKey>

Trait Implementations§

Source§

impl Clone for AllRoleClaimsDeletedProof

Source§

fn clone(&self) -> AllRoleClaimsDeletedProof

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for AllRoleClaimsDeletedProof

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for AllRoleClaimsDeletedProof

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for AllRoleClaimsDeletedProof

Source§

fn eq(&self, other: &AllRoleClaimsDeletedProof) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for AllRoleClaimsDeletedProof

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl TryFrom<&AllRoleClaimsDeletedProof> for AppEntryBytes

Source§

type Error = WasmError

The type returned in the event of a conversion error.
Source§

fn try_from(t: &AllRoleClaimsDeletedProof) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&AllRoleClaimsDeletedProof> for Entry

Source§

type Error = WasmError

The type returned in the event of a conversion error.
Source§

fn try_from(t: &AllRoleClaimsDeletedProof) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&AllRoleClaimsDeletedProof> for SerializedBytes

Source§

type Error = SerializedBytesError

The type returned in the event of a conversion error.
Source§

fn try_from( t: &AllRoleClaimsDeletedProof, ) -> Result<SerializedBytes, SerializedBytesError>

Performs the conversion.
Source§

impl TryFrom<&Entry> for AllRoleClaimsDeletedProof

Source§

type Error = WasmError

The type returned in the event of a conversion error.
Source§

fn try_from(entry: &Entry) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Record> for AllRoleClaimsDeletedProof

Source§

type Error = WasmError

The type returned in the event of a conversion error.
Source§

fn try_from(record: &Record) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<AllRoleClaimsDeletedProof> for AppEntryBytes

Source§

type Error = WasmError

The type returned in the event of a conversion error.
Source§

fn try_from(t: AllRoleClaimsDeletedProof) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<AllRoleClaimsDeletedProof> for Entry

Source§

type Error = WasmError

The type returned in the event of a conversion error.
Source§

fn try_from(t: AllRoleClaimsDeletedProof) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<AllRoleClaimsDeletedProof> for SerializedBytes

Source§

type Error = SerializedBytesError

The type returned in the event of a conversion error.
Source§

fn try_from( t: AllRoleClaimsDeletedProof, ) -> Result<SerializedBytes, SerializedBytesError>

Performs the conversion.
Source§

impl TryFrom<Entry> for AllRoleClaimsDeletedProof

Source§

type Error = WasmError

The type returned in the event of a conversion error.
Source§

fn try_from(entry: Entry) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<HoloHashed<Entry>> for AllRoleClaimsDeletedProof

Source§

type Error = WasmError

The type returned in the event of a conversion error.
Source§

fn try_from(entry_hashed: EntryHashed) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Record> for AllRoleClaimsDeletedProof

Source§

type Error = WasmError

The type returned in the event of a conversion error.
Source§

fn try_from(record: Record) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<SerializedBytes> for AllRoleClaimsDeletedProof

Source§

type Error = SerializedBytesError

The type returned in the event of a conversion error.
Source§

fn try_from( sb: SerializedBytes, ) -> Result<AllRoleClaimsDeletedProof, SerializedBytesError>

Performs the conversion.
Source§

impl StructuralPartialEq for AllRoleClaimsDeletedProof

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,