iotaledger / iotaledger/identity

[Task] Implement all `controller` features from the DID Spec

Open
#306 2 comments 0 reactions 0 assignees View on GitHub
Enhancement
Dominant language
Rust
Stars
346
Forks
100
Avg merge
13h 41m
Merged PRs (30d)
2

Description

## Description

Add all controller features to the framework as they are mentioned in the DID specification. This includes the DID Document controller field and the controller fields inside of verification methods / relationships.

## Motivation

Allows the creation of identities that are managed by other identities.

## Resources
Link to any resources relevant for the task such as Issues, PRs, reference implementations, or specifications.

* [DID Controller field](https://www.w3.org/TR/did-core/#did-controller)
* [DID Controller inside verification methods](https://www.w3.org/TR/did-core/#verification-methods)
* [DID Controller discussions](https://www.w3.org/TR/did-core/#the-relationship-between-did-controllers-and-did-subjects)

## Change checklist
Add an `x` to the boxes that are relevant to your changes, and delete any items that are not.

- [ ] The feature or fix is implemented in Rust and across all bindings whereas possible.
- [ ] The feature or fix has sufficient testing coverage
- [ ] All tests and examples build and run locally as expected
- [ ] Every piece of code has been document according to the documentation guidelines.
- [ ] If conceptual documentation (mdbook) and examples highlighting the feature exist, they are properly updated.
- [ ] If the feature is not currently documented, a documentation task Issue has been opened to address this.

```[tasklist]
### Tasks
- [ ] https://github.com/iotaledger/identity.rs/issues/1315
- [ ] Allow arbitrary Identifiers as controllers
- [ ] Research how to deal with circular DID Controllers (a controls b, b control a).
- [ ] Consider controlled verification methods
- [ ] Consider controller updates/authentication
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.