Skip to content

Commit 4065c78

Browse files
committed
move load did entry for registry injection
Signed-off-by: Adam Burdett <burdettadam@gmail.com>
1 parent 4764863 commit 4065c78

1 file changed

Lines changed: 18 additions & 17 deletions

File tree

aries_cloudagent/wallet/askar.py

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
)
3434
from .did_method import DIDMethod
3535
from .error import WalletError, WalletDuplicateError, WalletNotFoundError
36-
from .key_type import BLS12381G2, ED25519, KeyType
36+
from .key_type import BLS12381G2, ED25519, KeyType, KeyTypes
3737
from .util import b58_to_bytes, bytes_to_b58
3838

3939
CATEGORY_DID = "did"
@@ -257,7 +257,7 @@ async def get_local_dids(self) -> Sequence[DIDInfo]:
257257

258258
ret = []
259259
for item in await self._session.handle.fetch_all(CATEGORY_DID):
260-
ret.append(_load_did_entry(item))
260+
ret.append(self._load_did_entry(item))
261261
return ret
262262

263263
async def get_local_did(self, did: str) -> DIDInfo:
@@ -284,7 +284,7 @@ async def get_local_did(self, did: str) -> DIDInfo:
284284
raise WalletError("Error when fetching local DID") from err
285285
if not did:
286286
raise WalletNotFoundError("Unknown DID: {}".format(did))
287-
return _load_did_entry(did)
287+
return self._load_did_entry(did)
288288

289289
async def get_local_did_for_verkey(self, verkey: str) -> DIDInfo:
290290
"""
@@ -308,7 +308,7 @@ async def get_local_did_for_verkey(self, verkey: str) -> DIDInfo:
308308
except AskarError as err:
309309
raise WalletError("Error when fetching local DID for verkey") from err
310310
if dids:
311-
return _load_did_entry(dids[0])
311+
return self._load_did_entry(dids[0])
312312
raise WalletNotFoundError("No DID defined for verkey: {}".format(verkey))
313313

314314
async def replace_local_did_metadata(self, did: str, metadata: dict):
@@ -403,7 +403,7 @@ async def set_public_did(self, did: Union[str, DIDInfo]) -> DIDInfo:
403403
raise WalletError("Error when fetching local DID") from err
404404
if not item:
405405
raise WalletNotFoundError("Unknown DID: {}".format(did))
406-
info = _load_did_entry(item)
406+
info = self._load_did_entry(item)
407407
else:
408408
info = did
409409
item = None
@@ -727,6 +727,19 @@ async def unpack_message(self, enc_message: bytes) -> Tuple[str, str, str]:
727727
raise WalletError("Exception when unpacking message") from err
728728
return unpacked_json.decode("utf-8"), sender, recipient
729729

730+
def _load_did_entry(self, entry: Entry) -> DIDInfo:
731+
"""Convert a DID record into the expected DIDInfo format."""
732+
did_info = entry.value_json
733+
key_types: KeyTypes = self._session.inject(KeyTypes)
734+
return DIDInfo(
735+
did=did_info["did"],
736+
verkey=did_info["verkey"],
737+
metadata=did_info.get("metadata"),
738+
method=DIDMethod.from_method(did_info.get("method", "sov")),
739+
key_type=key_types.from_key_type(did_info.get("verkey_type", "ed25519"))
740+
or ED25519,
741+
)
742+
730743

731744
def _create_keypair(key_type: KeyType, seed: Union[str, bytes] = None) -> Key:
732745
"""Instantiate a new keypair with an optional seed value."""
@@ -755,15 +768,3 @@ def _create_keypair(key_type: KeyType, seed: Union[str, bytes] = None) -> Key:
755768
raise WalletError("Invalid seed for key generation") from None
756769
else:
757770
return Key.generate(alg)
758-
759-
760-
def _load_did_entry(entry: Entry) -> DIDInfo:
761-
"""Convert a DID record into the expected DIDInfo format."""
762-
did_info = entry.value_json
763-
return DIDInfo(
764-
did=did_info["did"],
765-
verkey=did_info["verkey"],
766-
metadata=did_info.get("metadata"),
767-
method=DIDMethod.from_method(did_info.get("method", "sov")),
768-
key_type=KeyType.from_key_type(did_info.get("verkey_type", "ed25519")),
769-
)

0 commit comments

Comments
 (0)