Skip to content

feat: normalize master key ID to "master" for deterministic PRISM DID#1735

Draft
yshyn-iohk wants to merge 3 commits intomainfrom
feat/deterministic-prism-did
Draft

feat: normalize master key ID to "master" for deterministic PRISM DID#1735
yshyn-iohk wants to merge 3 commits intomainfrom
feat/deterministic-prism-did

Conversation

@yshyn-iohk
Copy link
Copy Markdown
Contributor

Summary

  • Changed DEFAULT_MASTER_KEY_ID from "master0" to "master" per deterministic DID creation spec
  • Cloud Agent already uses CompressedECKeyData for secp256k1, so only key ID normalization was needed
  • Updated all test references to use the new master key ID

Test plan

  • All 7 OperationFactorySpec tests pass
  • Compilation succeeds for wallet-api module and tests
  • Reserved key ID validation test updated to use "master"

Closes #1732

🤖 Generated with Claude Code

Change DEFAULT_MASTER_KEY_ID from "master0" to "master" per the
deterministic DID creation spec. The cloud-agent already uses
CompressedECKeyData for secp256k1, so only the key ID normalization
is needed for cross-platform DID determinism.

Closes #1732

Signed-off-by: Yurii Shynbuiev <yurii.shynbuiev@iohk.io>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Yurii Shynbuiev <yurii.shynbuiev@iohk.io>
@yshyn-iohk yshyn-iohk requested a review from a team as a code owner March 16, 2026 07:59
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 16, 2026

Unit Test Results

0 files   - 113  0 suites   - 113   0s ⏱️ - 24m 11s
0 tests  - 927  0 ✅  - 919  0 💤  - 8  0 ❌ ±0 
0 runs   - 934  0 ✅  - 926  0 💤  - 8  0 ❌ ±0 

Results for commit 86db4f3. ± Comparison against base commit 1224017.

♻️ This comment has been updated with latest results.

yshyn-iohk and others added 2 commits March 16, 2026 17:13
CreateDIDOperation now includes only the master key with
CompressedECKeyData. All other keys, services, and contexts
must be added via subsequent UpdateDIDOperation.

Keys are still derived and stored during createAndStoreDID for
use in subsequent UpdateDID operations.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Yurii Shynbuiev <yurii.shynbuiev@iohk.io>
Verify that raw spec seed produces:
- Compressed pubkey: 023f7c75c9e5fba08fea1640d6faa3f8dc0151261d2b56026d46ddcbe1fc5a5bbb
- Canonical DID: did:prism:35fbaf7f8a68e927feb89dc897f4edc24ca8d7510261829e4834d931e947e6ca

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Yurii Shynbuiev <yurii.shynbuiev@iohk.io>
@sonarqubecloud
Copy link
Copy Markdown

@yshyn-iohk
Copy link
Copy Markdown
Contributor Author

We need to clarify the behavior of the deterministic PRISM DID specification for the long-form DID

@yshyn-iohk yshyn-iohk marked this pull request as draft March 16, 2026 12:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: Deterministic PRISM DID creation from mnemonic

1 participant