aries_cloudagent.resolver package

Interfaces and base classes for DID Resolution.

async aries_cloudagent.resolver.setup(context: aries_cloudagent.config.injection_context.InjectionContext)[source]

Set up default resolvers.

Subpackages

Submodules

aries_cloudagent.resolver.base module

Base Class for DID Resolvers.

class aries_cloudagent.resolver.base.BaseDIDResolver(type_: Optional[aries_cloudagent.resolver.base.ResolverType] = None)[source]

Bases: abc.ABC

Base Class for DID Resolvers.

property native

Return if this resolver is native.

async resolve(profile: aries_cloudagent.core.profile.Profile, did: Union[str, pydid.DID], service_accept: Optional[Sequence[str]] = None) dict[source]

Resolve a DID using this resolver.

abstract async setup(context: aries_cloudagent.config.injection_context.InjectionContext)[source]

Do asynchronous resolver setup.

property supported_did_regex: Pattern

Supported DID regex for matching this resolver to DIDs it can resolve.

Override this property with a class var or similar to use regex matching on DIDs to determine if this resolver supports a given DID.

property supported_methods: Sequence[str]

Return supported methods.

DEPRECATED: Use supported_did_regex instead.

async supports(profile: aries_cloudagent.core.profile.Profile, did: str) bool[source]

Return if this resolver supports the given DID.

Override this method to determine if this resolver supports a DID based on information other than just a regular expression; i.e. check a value in storage, query a resolver connection record, etc.

exception aries_cloudagent.resolver.base.DIDMethodNotSupported(*args, error_code: Optional[str] = None, **kwargs)[source]

Bases: aries_cloudagent.resolver.base.ResolverError

Raised when no resolver is registered for a given did method.

exception aries_cloudagent.resolver.base.DIDNotFound(*args, error_code: Optional[str] = None, **kwargs)[source]

Bases: aries_cloudagent.resolver.base.ResolverError

Raised when DID is not found in verifiable data registry.

class aries_cloudagent.resolver.base.ResolutionMetadata(resolver_type: aries_cloudagent.resolver.base.ResolverType, resolver: str, retrieved_time: str, duration: int)[source]

Bases: tuple

Resolution Metadata.

property duration

Alias for field number 3

property resolver

Alias for field number 1

property resolver_type

Alias for field number 0

property retrieved_time

Alias for field number 2

serialize() dict[source]

Return serialized resolution metadata.

class aries_cloudagent.resolver.base.ResolutionResult(did_document: dict, metadata: aries_cloudagent.resolver.base.ResolutionMetadata)[source]

Bases: object

Resolution Class to pack the DID Doc and the resolution information.

serialize() dict[source]

Return serialized resolution result.

exception aries_cloudagent.resolver.base.ResolverError(*args, error_code: Optional[str] = None, **kwargs)[source]

Bases: aries_cloudagent.core.error.BaseError

Base class for resolver exceptions.

class aries_cloudagent.resolver.base.ResolverType(value)[source]

Bases: enum.Enum

Resolver Type declarations.

NATIVE = 'native'
NON_NATIVE = 'non-native'

aries_cloudagent.resolver.did_resolver module

the did resolver.

responsible for keeping track of all resolvers. more importantly retrieving did’s from different sources provided by the method type.

class aries_cloudagent.resolver.did_resolver.DIDResolver(resolvers: Optional[List[aries_cloudagent.resolver.base.BaseDIDResolver]] = None)[source]

Bases: object

did resolver singleton.

async dereference(profile: aries_cloudagent.core.profile.Profile, did_url: str, *, cls: Type[aries_cloudagent.resolver.did_resolver.ResourceType] = pydid.Resource) aries_cloudagent.resolver.did_resolver.ResourceType[source]

Dereference a DID URL to its corresponding DID Doc object.

register_resolver(resolver: aries_cloudagent.resolver.base.BaseDIDResolver)[source]

Register a new resolver.

async resolve(profile: aries_cloudagent.core.profile.Profile, did: Union[str, pydid.DID], service_accept: Optional[Sequence[str]] = None) dict[source]

Resolve a DID.

async resolve_with_metadata(profile: aries_cloudagent.core.profile.Profile, did: Union[str, pydid.DID]) aries_cloudagent.resolver.base.ResolutionResult[source]

Resolve a DID and return the ResolutionResult.

aries_cloudagent.resolver.routes module