Source code for aries_cloudagent.resolver

"""Interfaces and base classes for DID Resolution."""

import logging

from ..config.injection_context import InjectionContext
from ..config.provider import ClassProvider
from ..resolver.did_resolver import DIDResolver

LOGGER = logging.getLogger(__name__)


[docs]async def setup(context: InjectionContext): """Set up default resolvers.""" registry = context.inject_or(DIDResolver) if not registry: LOGGER.warning("No DID Resolver instance found in context") return legacy_resolver = ClassProvider( "aries_cloudagent.resolver.default.legacy_peer.LegacyPeerDIDResolver" ).provide(context.settings, context.injector) await legacy_resolver.setup(context) registry.register_resolver(legacy_resolver) key_resolver = ClassProvider( "aries_cloudagent.resolver.default.key.KeyDIDResolver" ).provide(context.settings, context.injector) await key_resolver.setup(context) registry.register_resolver(key_resolver) jwk_resolver = ClassProvider( "aries_cloudagent.resolver.default.jwk.JwkDIDResolver" ).provide(context.settings, context.injector) await jwk_resolver.setup(context) registry.register_resolver(jwk_resolver) if not context.settings.get("ledger.disabled"): indy_resolver = ClassProvider( "aries_cloudagent.resolver.default.indy.IndyDIDResolver" ).provide(context.settings, context.injector) await indy_resolver.setup(context) registry.register_resolver(indy_resolver) else: LOGGER.warning("Ledger is not configured, not loading IndyDIDResolver") web_resolver = ClassProvider( "aries_cloudagent.resolver.default.web.WebDIDResolver" ).provide(context.settings, context.injector) await web_resolver.setup(context) registry.register_resolver(web_resolver) if context.settings.get("resolver.universal"): universal_resolver = ClassProvider( "aries_cloudagent.resolver.default.universal.UniversalResolver" ).provide(context.settings, context.injector) await universal_resolver.setup(context) registry.register_resolver(universal_resolver) peer_did_1_resolver = ClassProvider( "aries_cloudagent.resolver.default.peer1.PeerDID1Resolver" ).provide(context.settings, context.injector) await peer_did_1_resolver.setup(context) registry.register_resolver(peer_did_1_resolver) peer_did_2_resolver = ClassProvider( "aries_cloudagent.resolver.default.peer2.PeerDID2Resolver" ).provide(context.settings, context.injector) await peer_did_2_resolver.setup(context) registry.register_resolver(peer_did_2_resolver) peer_did_3_resolver = ClassProvider( "aries_cloudagent.resolver.default.peer3.PeerDID3Resolver" ).provide(context.settings, context.injector) await peer_did_3_resolver.setup(context) registry.register_resolver(peer_did_3_resolver) peer_did_4_resolver = ClassProvider( "aries_cloudagent.resolver.default.peer4.PeerDID4Resolver" ).provide(context.settings, context.injector) await peer_did_4_resolver.setup(context) registry.register_resolver(peer_did_4_resolver)