Home / Input Output / atala-prism-wallet-sdk-swift
Mar 10, 2-3 AM (0)
Mar 10, 3-4 AM (0)
Mar 10, 4-5 AM (0)
Mar 10, 5-6 AM (0)
Mar 10, 6-7 AM (0)
Mar 10, 7-8 AM (0)
Mar 10, 8-9 AM (0)
Mar 10, 9-10 AM (0)
Mar 10, 10-11 AM (0)
Mar 10, 11-12 PM (0)
Mar 10, 12-1 PM (0)
Mar 10, 1-2 PM (0)
Mar 10, 2-3 PM (0)
Mar 10, 3-4 PM (0)
Mar 10, 4-5 PM (0)
Mar 10, 5-6 PM (0)
Mar 10, 6-7 PM (0)
Mar 10, 7-8 PM (0)
Mar 10, 8-9 PM (0)
Mar 10, 9-10 PM (0)
Mar 10, 10-11 PM (0)
Mar 10, 11-12 AM (0)
Mar 11, 12-1 AM (0)
Mar 11, 1-2 AM (0)
Mar 11, 2-3 AM (0)
Mar 11, 3-4 AM (0)
Mar 11, 4-5 AM (0)
Mar 11, 5-6 AM (0)
Mar 11, 6-7 AM (0)
Mar 11, 7-8 AM (0)
Mar 11, 8-9 AM (0)
Mar 11, 9-10 AM (0)
Mar 11, 10-11 AM (0)
Mar 11, 11-12 PM (0)
Mar 11, 12-1 PM (0)
Mar 11, 1-2 PM (0)
Mar 11, 2-3 PM (0)
Mar 11, 3-4 PM (0)
Mar 11, 4-5 PM (0)
Mar 11, 5-6 PM (0)
Mar 11, 6-7 PM (0)
Mar 11, 7-8 PM (0)
Mar 11, 8-9 PM (0)
Mar 11, 9-10 PM (0)
Mar 11, 10-11 PM (0)
Mar 11, 11-12 AM (0)
Mar 12, 12-1 AM (0)
Mar 12, 1-2 AM (0)
Mar 12, 2-3 AM (0)
Mar 12, 3-4 AM (0)
Mar 12, 4-5 AM (0)
Mar 12, 5-6 AM (0)
Mar 12, 6-7 AM (0)
Mar 12, 7-8 AM (0)
Mar 12, 8-9 AM (0)
Mar 12, 9-10 AM (0)
Mar 12, 10-11 AM (0)
Mar 12, 11-12 PM (0)
Mar 12, 12-1 PM (0)
Mar 12, 1-2 PM (0)
Mar 12, 2-3 PM (0)
Mar 12, 3-4 PM (0)
Mar 12, 4-5 PM (0)
Mar 12, 5-6 PM (0)
Mar 12, 6-7 PM (0)
Mar 12, 7-8 PM (0)
Mar 12, 8-9 PM (0)
Mar 12, 9-10 PM (0)
Mar 12, 10-11 PM (0)
Mar 12, 11-12 AM (0)
Mar 13, 12-1 AM (0)
Mar 13, 1-2 AM (0)
Mar 13, 2-3 AM (0)
Mar 13, 3-4 AM (0)
Mar 13, 4-5 AM (0)
Mar 13, 5-6 AM (0)
Mar 13, 6-7 AM (0)
Mar 13, 7-8 AM (0)
Mar 13, 8-9 AM (0)
Mar 13, 9-10 AM (0)
Mar 13, 10-11 AM (0)
Mar 13, 11-12 PM (0)
Mar 13, 12-1 PM (0)
Mar 13, 1-2 PM (0)
Mar 13, 2-3 PM (0)
Mar 13, 3-4 PM (0)
Mar 13, 4-5 PM (0)
Mar 13, 5-6 PM (0)
Mar 13, 6-7 PM (0)
Mar 13, 7-8 PM (0)
Mar 13, 8-9 PM (0)
Mar 13, 9-10 PM (0)
Mar 13, 10-11 PM (0)
Mar 13, 11-12 AM (0)
Mar 14, 12-1 AM (0)
Mar 14, 1-2 AM (0)
Mar 14, 2-3 AM (0)
Mar 14, 3-4 AM (0)
Mar 14, 4-5 AM (0)
Mar 14, 5-6 AM (0)
Mar 14, 6-7 AM (0)
Mar 14, 7-8 AM (0)
Mar 14, 8-9 AM (0)
Mar 14, 9-10 AM (0)
Mar 14, 10-11 AM (0)
Mar 14, 11-12 PM (0)
Mar 14, 12-1 PM (0)
Mar 14, 1-2 PM (0)
Mar 14, 2-3 PM (0)
Mar 14, 3-4 PM (0)
Mar 14, 4-5 PM (0)
Mar 14, 5-6 PM (0)
Mar 14, 6-7 PM (0)
Mar 14, 7-8 PM (0)
Mar 14, 8-9 PM (0)
Mar 14, 9-10 PM (0)
Mar 14, 10-11 PM (0)
Mar 14, 11-12 AM (0)
Mar 15, 12-1 AM (0)
Mar 15, 1-2 AM (0)
Mar 15, 2-3 AM (0)
Mar 15, 3-4 AM (0)
Mar 15, 4-5 AM (0)
Mar 15, 5-6 AM (0)
Mar 15, 6-7 AM (0)
Mar 15, 7-8 AM (0)
Mar 15, 8-9 AM (0)
Mar 15, 9-10 AM (0)
Mar 15, 10-11 AM (0)
Mar 15, 11-12 PM (0)
Mar 15, 12-1 PM (0)
Mar 15, 1-2 PM (0)
Mar 15, 2-3 PM (0)
Mar 15, 3-4 PM (0)
Mar 15, 4-5 PM (0)
Mar 15, 5-6 PM (0)
Mar 15, 6-7 PM (0)
Mar 15, 7-8 PM (0)
Mar 15, 8-9 PM (0)
Mar 15, 9-10 PM (0)
Mar 15, 10-11 PM (0)
Mar 15, 11-12 AM (0)
Mar 16, 12-1 AM (0)
Mar 16, 1-2 AM (0)
Mar 16, 2-3 AM (0)
Mar 16, 3-4 AM (0)
Mar 16, 4-5 AM (0)
Mar 16, 5-6 AM (0)
Mar 16, 6-7 AM (1)
Mar 16, 7-8 AM (0)
Mar 16, 8-9 AM (1)
Mar 16, 9-10 AM (1)
Mar 16, 10-11 AM (0)
Mar 16, 11-12 PM (0)
Mar 16, 12-1 PM (0)
Mar 16, 1-2 PM (0)
Mar 16, 2-3 PM (0)
Mar 16, 3-4 PM (0)
Mar 16, 4-5 PM (0)
Mar 16, 5-6 PM (0)
Mar 16, 6-7 PM (0)
Mar 16, 7-8 PM (0)
Mar 16, 8-9 PM (0)
Mar 16, 9-10 PM (0)
Mar 16, 10-11 PM (0)
Mar 16, 11-12 AM (0)
Mar 17, 12-1 AM (0)
Mar 17, 1-2 AM (0)
Mar 17, 2-3 AM (0)
3 commits this week Mar 10, 2026 - Mar 17, 2026
fix: use compressed key bytes in CompressedECKeyData + add spec test vector
PrismDIDPublicKey.toProto() was incorrectly using uncompressed public
key bytes (65 bytes) in the CompressedECKeyData protobuf field.
Now correctly uses the 33-byte compressed representation.

Added spec test vector that verifies:
- Compressed pubkey: 023f7c75c9e5fba08fea1640d6faa3f8dc0151261d2b56026d46ddcbe1fc5a5bbb
- Canonical DID: did:prism:35fbaf7f8a68e927feb89dc897f4edc24ca8d7510261829e4834d931e947e6ca

Co-Authored-By: Claude Opus 4.6 <[email protected]>
Signed-off-by: Yurii Shynbuiev <[email protected]>
refactor: CreateDID operation contains only master key
CreateDIDOperation now includes only the master key with
CompressedECKeyData. All other keys (authentication, issuance),
services, and context must be added via subsequent UpdateDIDOperation.

Removed createDeterministicPrismDID from EdgeAgent and DIDCommAgent
as DID creation belongs in Castor, not at the Agent level.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
Signed-off-by: Yurii Shynbuiev <[email protected]>
feat: deterministic PRISM DID creation with CompressedECKeyData
- Master key ID now returns "master" (no index suffix) per spec normalization
- secp256k1 toProto() uses CompressedECKeyData instead of ECKeyData
- Add createDeterministicPrismDID method to EdgeAgent and DIDCommAgent
- Add tests for master key ID, CompressedECKeyData, and backward compat
  with legacy ECKeyData format

Closes hyperledger-identus/sdk-swift#229

Signed-off-by: Yurii Shynbuiev <[email protected]>
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Signed-off-by: Yurii Shynbuiev <[email protected]>