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
impl Clone for AllRoleClaimsDeletedProof
Source§fn clone(&self) -> AllRoleClaimsDeletedProof
fn clone(&self) -> AllRoleClaimsDeletedProof
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more