decentralized-identity / decentralized-identity/didwebvh-dart
Create with multiple update keys passed is not supported
- Dominant language
- Dart
- Stars
- 0
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
The create Dart/Java APIs only accepts a single Signer/key and provides no way to declare additional updateKeys at DID-creation time (as opposed to update, where multiple update keys can be added later). This means any test vector requiring more than one initial update key cannot be generated with the library as-is, forcing the compliance harness to skip create-time coverage for that scenario even though the did:webvh spec permits an arbitrary-length updateKeys list in the genesis log entry.
Test-suite pointers:
- [vectors/multiple-update-keys/script.yaml](https://github.com/decentralized-identity/didwebvh-test-suite/blob/0f03983c61ff3ed80d37239105d5b1a02e3f13dd/vectors/multiple-update-keys/script.yaml) — creates a DID with two updateKeys (key-0, key-1), then signs a later update with the second key;
- see the generator's skip in [implementations/java/src/main/java/org/didwebvh/compliance/GenerateVectors.java:184-192](https://github.com/decentralized-identity/didwebvh-test-suite/blob/0f03983c61ff3ed80d37239105d5b1a02e3f13dd/implementations/java/src/main/java/org/didwebvh/compliance/GenerateVectors.java#L184-L192) (Dart: [implementations/dart/bin/generate_vectors.dart:140-143](https://github.com/decentralized-identity/didwebvh-test-suite/blob/0f03983c61ff3ed80d37239105d5b1a02e3f13dd/implementations/dart/bin/generate_vectors.dart#L140-L143)).
- [vectors/witness-threshold/script.yaml](https://github.com/decentralized-identity/didwebvh-test-suite/blob/0f03983c61ff3ed80d37239105d5b1a02e3f13dd/vectors/witness-threshold/script.yaml) and [vectors/witness-update/script.yaml](https://github.com/decentralized-identity/didwebvh-test-suite/blob/0f03983c61ff3ed80d37239105d5b1a02e3f13dd/vectors/witness-update/script.yaml) are worth checking too — any scenario with multi-party authorization at genesis (multiple update keys, or witness configs with >1 party) is likely to hit the same signer-only create() constraint.
For contrast, EECC's independent didwebvh Java library handles this via a CreateConfig.Builder.updateKeys(List) method ([implementations/java-eecc/.../GenerateVectors.java:186](vscode-webview://136odu9rnpvt7bkc84i74vsishis3pajlduu33ilh1rsp96dqnvi/implementations/java-eecc/src/main/java/org/didwebvh/compliance/GenerateVectors.java#L186)), which could serve as a reference API shape.
Contributor guide
Assessment
This issue has not been assessed yet.