Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🐛 Fix runtime warning #7

Open
wants to merge 101 commits into
base: development
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
101 commits
Select commit Hold shift + click to select a range
02019c3
:arrow_up: Upgrade python-dateutil
ff137 Nov 14, 2024
d8632ee
:art: Rename class to resolve PytestCollectionWarning
ff137 Nov 14, 2024
36e47ce
:art: Replace deprecated `open_binary` method with `files`
ff137 Nov 14, 2024
573c208
:art: Replace deprecated `scope` keyword with `loop_scope`
ff137 Nov 14, 2024
70364a4
:art: Filter Aries RFC 0160 DeprecationWarning in tests
ff137 Nov 14, 2024
6f967c6
:art: Filter Pydantic UserWarning in test
ff137 Nov 14, 2024
c65f6ce
:arrow_up: Upgrade aiohttp to latest release and update lock file
ff137 Nov 14, 2024
d84a384
:art: Remove unnecessary asyncio pytest markers
ff137 Nov 14, 2024
a41b4fb
Merge pull request #3338 from didx-xyz/fix-deprecations
dbluhm Nov 14, 2024
1d07ede
chore(deps-dev): Bump ruff from 0.7.3 to 0.7.4 (#3341)
dependabot[bot] Nov 18, 2024
2522877
chore(deps): Bump aiohttp from 3.11.0 to 3.11.2 (#3340)
dependabot[bot] Nov 18, 2024
c18f6d1
chore(deps): Bump pyjwt from 2.9.0 to 2.10.0 (#3339)
dependabot[bot] Nov 18, 2024
f5c49b0
did:tdw resolver (#3237)
jamshale Nov 18, 2024
3c7dee8
chore(deps): Bump aiohttp (#3342)
dependabot[bot] Nov 20, 2024
815a0f3
:art: Refactor `register_plugin` steps for maintainability
ff137 Nov 6, 2024
ce9f8b7
:art: improve logging in register_package
ff137 Nov 6, 2024
3e5088e
:art: Rename method and remove redundant main call
ff137 Nov 6, 2024
59e4951
:art:
ff137 Nov 6, 2024
02011a8
:loud_sound: Add debug logging to Context Builder
ff137 Nov 7, 2024
1263191
:art: Deduplicate registering list of plugins
ff137 Nov 7, 2024
24c1426
:art:
ff137 Nov 7, 2024
8264688
:loud_sound: Add debug logging to init_context
ff137 Nov 7, 2024
b539ab0
:loud_sound: Add debug logging to load_protocol_version
ff137 Nov 7, 2024
595d391
:loud_sound: Add debug logging to load_protocols
ff137 Nov 7, 2024
b1a73a0
:loud_sound: Add debug logging to register_admin_routes
ff137 Nov 7, 2024
5e199d1
:loud_sound: Add debug logging to register_protocol_events
ff137 Nov 7, 2024
9cf03f6
:loud_sound: Add debug logging to post_process_routes
ff137 Nov 7, 2024
6330701
:art: Replace print statements with info logs
ff137 Nov 7, 2024
6a8febd
:art: Replace almost all print statements with info logs
ff137 Nov 7, 2024
8f46fdb
:loud_sound: Expand logging for Conductor setup
ff137 Nov 7, 2024
edde403
:art: Correct to uphold previous "Module doesn't exist" log behaviour
ff137 Nov 7, 2024
cc5ceab
:white_check_mark: Fix test by using assertLogs instead of capturing …
ff137 Nov 7, 2024
44e9807
Revert ":art: Rename method and remove redundant main call"
ff137 Nov 7, 2024
cfec6a6
:art:
ff137 Nov 7, 2024
500e4b2
:white_check_mark: Fix test by adding __name__ to mock object
ff137 Nov 7, 2024
5134d16
:art:
ff137 Nov 7, 2024
aa0765a
:sparkles: Add custom trace log level
ff137 Nov 7, 2024
190cc28
:art: Ensure trace level can only be added once
ff137 Nov 7, 2024
63ca170
:art: Add Logger
ff137 Nov 7, 2024
3641e2f
:art: Update newly added logs to be trace level instead of debug
ff137 Nov 7, 2024
bf1295f
:art: Update newly added logs to be trace level instead of debug
ff137 Nov 7, 2024
926eab1
:loud_sound: Expand logging for Conductor start and stop
ff137 Nov 7, 2024
32bb6b4
:white_check_mark: Add unit tests for adding trace level functionality
ff137 Nov 7, 2024
9d0275a
:white_check_mark: Reset the logging states before and after TestLogg…
ff137 Nov 7, 2024
a53b949
:art:
ff137 Nov 7, 2024
e77cf3f
:test_tube: Debug log assertion test failing sporadically
ff137 Nov 7, 2024
4f63240
:white_check_mark: Modify log assertion to be more robust
ff137 Nov 7, 2024
0ff9da4
:art:
ff137 Nov 7, 2024
9058784
:bug: Handle case that load_module return type is Optional
ff137 Nov 7, 2024
ebfbaaf
:loud_sound: Expand logging for ClassLoader
ff137 Nov 7, 2024
4312905
:loud_sound: Log a warning if resource not found, instead of passing
ff137 Nov 11, 2024
9d347bb
:art:
ff137 Nov 11, 2024
06ceea9
:art: Enable trace logs for remaining modules
ff137 Nov 11, 2024
838adcd
:bug: Fix registering and loading of modules
ff137 Nov 12, 2024
f342646
:loud_sound: Expand logging for Ledger Configuration
ff137 Nov 12, 2024
008fc18
Squashed commit of the following:
ff137 Nov 21, 2024
647c36a
:sparkles: Modify IndyVdrLedgerPool with singleton behaviour
ff137 Nov 6, 2024
5d55486
:art: make `name` a required kwarg
ff137 Nov 6, 2024
cae019c
:art:
ff137 Nov 21, 2024
fa8af8b
1.1.1a5
ff137 Nov 21, 2024
5ec73ac
Fix tails upload for anoncreds multitenancy
jamshale Nov 21, 2024
8a3ad2e
Update unit test
jamshale Nov 21, 2024
8e704bb
Make sonarcloud happy with https in test
jamshale Nov 21, 2024
e27598d
Merge pull request #3346 from jamshale/fix/multitenancy-anoncreds-tai…
swcurran Nov 22, 2024
a00b5f5
Add anoncreds issuance and presentation format (#3331)
jamshale Nov 22, 2024
ddfcfdc
Fix handling of base_wallet_routes startup parameter in auth decorator
esune Nov 20, 2024
84a9f33
Restore --base-wallet-extra-routes argument functionality
esune Nov 21, 2024
0257d78
Correctly handle null value for --base-wallet-routes
esune Nov 21, 2024
88be790
Fix typo
esune Nov 21, 2024
fc6f35d
Merge pull request #3344 from esune/fix/base-wallet-extra-routes
dbluhm Nov 22, 2024
2d4212a
Fix subwallet anoncreds upgrade check (#3345)
jamshale Nov 22, 2024
799cd64
Fix/universal resolver (#3354)
jamshale Nov 25, 2024
f72e22d
:sparkles: Make AskarProfile and AskarAnoncredsProfile instantiation …
ff137 Nov 26, 2024
02d0745
:construction: Expand debug logging
ff137 Nov 26, 2024
b0a1e67
chore(deps-dev): Bump ruff from 0.7.4 to 0.8.0 (#3348)
dependabot[bot] Nov 26, 2024
b5e79fb
chore(deps): Bump mkdocs-material from 9.5.44 to 9.5.46 (#3352)
dependabot[bot] Nov 26, 2024
1613ed0
chore(deps): Bump uuid-utils from 0.9.0 to 0.10.0 (#3351)
dependabot[bot] Nov 26, 2024
797e501
:bug: Replace async __init__ with create method
ff137 Nov 26, 2024
4d51cf5
:bug: Fix `get_or_create` method for IndyVdrLedgerPool
ff137 Nov 26, 2024
b8283d7
chore(deps-dev): Bump debugpy from 1.8.8 to 1.8.9 (#3350)
dependabot[bot] Nov 26, 2024
249ac73
chore(deps): Bump aiohttp from 3.11.2 to 3.11.7 (#3349)
dependabot[bot] Nov 26, 2024
1adbd1e
:heavy_minus_sign: Remove did-tdw dependency (as it requires askar an…
ff137 Nov 26, 2024
081e62c
:construction: Remove TdwDIDResolver capability
ff137 Nov 26, 2024
683c1c7
Merge branch 'main' into improve-logging
ff137 Nov 27, 2024
51ba3e7
:rewind: Revert `trace` log changes, and move to debug level
ff137 Nov 27, 2024
523d429
:sparkles: Add caching to ClassLoader.load_module
ff137 Nov 27, 2024
a2b32ce
:art: Improve log
ff137 Nov 27, 2024
e6d54c5
Merge branch 'improve-logging' into test-fix-runtime-warning
ff137 Nov 27, 2024
1ca5f26
:art: Fix merge conflicts
ff137 Nov 27, 2024
205d873
:construction: Test debug logs (review/remove later)
ff137 Nov 27, 2024
2d22faf
:art: Fix merge conflict
ff137 Nov 27, 2024
d80830a
:construction: Test debug logs (review/remove later)
ff137 Nov 27, 2024
41164e0
:art: Sync Ruff version in configs and apply formatting (#3358)
ff137 Nov 27, 2024
9f20814
:art: Replace deprecated ABC decorators (#3357)
ff137 Nov 27, 2024
514259c
:arrow_up: Update lock file
ff137 Nov 27, 2024
1131bd9
:art: Reduce log verbosity
ff137 Nov 27, 2024
c13e645
:sparkles: Add `lru_cache` to load_class and set maxsize
ff137 Nov 27, 2024
13e5a38
:zap: Add class caching to DeferLoad
ff137 Nov 28, 2024
e7ba26f
:construction: Test caching in ClassLoader
ff137 Nov 28, 2024
3a28f5a
:art: Reduce log verbosity
ff137 Nov 28, 2024
4520e81
:art: Cleanup logs to be removed
ff137 Dec 2, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,5 @@ jobs:
- name: Ruff Format and Lint Check
uses: chartboost/ruff-action@v1
with:
version: 0.5.7
version: 0.8.0
args: "format --check"
4 changes: 2 additions & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
repos:
- repo: https://github.com/alessandrojcm/commitlint-pre-commit-hook
rev: v9.16.0
rev: v9.18.0
hooks:
- id: commitlint
stages: [commit-msg]
args: ["--config", ".commitlint.config.js"]
additional_dependencies: ['@commitlint/config-conventional']
- repo: https://github.com/astral-sh/ruff-pre-commit
# Ensure this is synced with pyproject.toml
rev: v0.5.7
rev: v0.8.0
hooks:
# Run the linter
- id: ruff
Expand Down
13 changes: 9 additions & 4 deletions acapy_agent/__main__.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
"""acapy_agent package entry point."""

import logging
import os
import sys

LOGGER = logging.getLogger(__name__)


def init_debug(args):
"""Initialize debugging environment."""
Expand All @@ -26,16 +29,18 @@ def init_debug(args):
import debugpy

debugpy.listen((DAP_HOST, DAP_PORT))
print(f"=== Waiting for debugger to attach to {DAP_HOST}:{DAP_PORT} ===")
LOGGER.info(
f"=== Waiting for debugger to attach to {DAP_HOST}:{DAP_PORT} ==="
)
debugpy.wait_for_client()
except ImportError:
print("debugpy library was not found")
LOGGER.error("debugpy library was not found")

if ENABLE_PYDEVD_PYCHARM or "--debug-pycharm" in args:
try:
import pydevd_pycharm

print(
LOGGER.info(
"aca-py remote debugging to "
f"{PYDEVD_PYCHARM_HOST}:{PYDEVD_PYCHARM_AGENT_PORT}"
)
Expand All @@ -47,7 +52,7 @@ def init_debug(args):
suspend=False,
)
except ImportError:
print("pydevd_pycharm library was not found")
LOGGER.error("pydevd_pycharm library was not found")


def run(args):
Expand Down
30 changes: 30 additions & 0 deletions acapy_agent/admin/decorators/auth.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
"""Authentication decorators for the admin API."""

import functools
import re
from typing import Optional, Pattern

from aiohttp import web

Expand Down Expand Up @@ -48,6 +50,8 @@ def tenant_authentication(handler):
- check for a valid bearer token in the Autorization header if running
in multi-tenant mode
- check for a valid x-api-key header if running in single-tenant mode
- check if the base wallet has access to the requested path if running
in multi-tenant mode
"""

@functools.wraps(handler)
Expand All @@ -61,11 +65,15 @@ async def tenant_auth(request):
)
insecure_mode = bool(profile.settings.get("admin.admin_insecure_mode"))
multitenant_enabled = profile.settings.get("multitenant.enabled")
base_wallet_allowed_route = _base_wallet_route_access(
profile.settings.get("multitenant.base_wallet_routes"), request.path
)

# CORS fix: allow OPTIONS method access to paths without a token
if (
(multitenant_enabled and authorization_header)
or (not multitenant_enabled and valid_key)
or (multitenant_enabled and valid_key and base_wallet_allowed_route)
or insecure_mode
or request.method == "OPTIONS"
):
Expand All @@ -78,3 +86,25 @@ async def tenant_auth(request):
)

return tenant_auth


def _base_wallet_route_access(additional_routes: str, request_path: str) -> bool:
"""Check if request path matches additional routes."""
additional_routes_pattern = _build_additional_routes_pattern(additional_routes)
return _matches_additional_routes(additional_routes_pattern, request_path)


def _build_additional_routes_pattern(pattern_string: str) -> Optional[Pattern]:
"""Build pattern from space delimited list of paths."""
# create array and add word boundary to avoid false positives
if pattern_string:
paths = pattern_string.split(" ")
return re.compile("^((?:)" + "|".join(paths) + ")$")
return None


def _matches_additional_routes(pattern: Pattern, path: str) -> bool:
"""Matches request path to provided pattern."""
if pattern and path:
return bool(pattern.match(path))
return False
25 changes: 1 addition & 24 deletions acapy_agent/admin/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import re
import warnings
import weakref
from typing import Callable, Coroutine, Optional, Pattern, Sequence, cast
from typing import Callable, Coroutine, Optional

import aiohttp_cors
import jwt
Expand Down Expand Up @@ -280,29 +280,6 @@ def __init__(
self.websocket_queues = {}
self.site = None
self.multitenant_manager = context.inject_or(BaseMultitenantManager)
self._additional_route_pattern: Optional[Pattern] = None

@property
def additional_routes_pattern(self) -> Optional[Pattern]:
"""Pattern for configured additional routes to permit base wallet to access."""
if self._additional_route_pattern:
return self._additional_route_pattern

base_wallet_routes = self.context.settings.get("multitenant.base_wallet_routes")
base_wallet_routes = cast(Sequence[str], base_wallet_routes)
if base_wallet_routes:
self._additional_route_pattern = re.compile(
"^(?:" + "|".join(base_wallet_routes) + ")"
)
return None

def _matches_additional_routes(self, path: str) -> bool:
"""Path matches additional_routes_pattern."""
pattern = self.additional_routes_pattern
if pattern:
return bool(pattern.match(path))

return False

async def make_application(self) -> web.Application:
"""Get the aiohttp application instance."""
Expand Down
24 changes: 24 additions & 0 deletions acapy_agent/admin/tests/test_auth.py
Original file line number Diff line number Diff line change
Expand Up @@ -133,3 +133,27 @@ async def test_multi_tenant_valid_auth_header(self):
decor_func = tenant_authentication(self.decorated_handler)
await decor_func(self.request)
self.decorated_handler.assert_called_once_with(self.request)

async def test_base_wallet_additional_route_allowed(self):
self.profile.settings["multitenant.base_wallet_routes"] = "/extra-route"
self.request = mock.MagicMock(
__getitem__=lambda _, k: self.request_dict[k],
headers={"x-api-key": "admin_api_key"},
method="POST",
path="/extra-route",
)
decor_func = tenant_authentication(self.decorated_handler)
await decor_func(self.request)
self.decorated_handler.assert_called_once_with(self.request)

async def test_base_wallet_additional_route_denied(self):
self.profile.settings["multitenant.base_wallet_routes"] = "/extra-route"
self.request = mock.MagicMock(
__getitem__=lambda _, k: self.request_dict[k],
headers={"x-api-key": "admin_api_key"},
method="POST",
path="/extra-route-wrong",
)
decor_func = tenant_authentication(self.decorated_handler)
with self.assertRaises(web.HTTPUnauthorized):
await decor_func(self.request)
6 changes: 3 additions & 3 deletions acapy_agent/anoncreds/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,16 @@
from ..config.injection_context import InjectionContext
from ..core.error import BaseError
from ..core.profile import Profile
from .models.anoncreds_cred_def import CredDef, CredDefResult, GetCredDefResult
from .models.anoncreds_revocation import (
from .models.credential_definition import CredDef, CredDefResult, GetCredDefResult
from .models.revocation import (
GetRevListResult,
GetRevRegDefResult,
RevList,
RevListResult,
RevRegDef,
RevRegDefResult,
)
from .models.anoncreds_schema import AnonCredsSchema, GetSchemaResult, SchemaResult
from .models.schema import AnonCredsSchema, GetSchemaResult, SchemaResult

T = TypeVar("T")

Expand Down
6 changes: 3 additions & 3 deletions acapy_agent/anoncreds/default/did_indy/registry.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,16 @@
from ....config.injection_context import InjectionContext
from ....core.profile import Profile
from ...base import BaseAnonCredsRegistrar, BaseAnonCredsResolver
from ...models.anoncreds_cred_def import CredDef, CredDefResult, GetCredDefResult
from ...models.anoncreds_revocation import (
from ...models.credential_definition import CredDef, CredDefResult, GetCredDefResult
from ...models.revocation import (
GetRevListResult,
GetRevRegDefResult,
RevList,
RevListResult,
RevRegDef,
RevRegDefResult,
)
from ...models.anoncreds_schema import AnonCredsSchema, GetSchemaResult, SchemaResult
from ...models.schema import AnonCredsSchema, GetSchemaResult, SchemaResult

LOGGER = logging.getLogger(__name__)

Expand Down
8 changes: 5 additions & 3 deletions acapy_agent/anoncreds/default/did_web/registry.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,18 @@
from ....config.injection_context import InjectionContext
from ....core.profile import Profile
from ...base import BaseAnonCredsRegistrar, BaseAnonCredsResolver
from ...models.anoncreds_cred_def import CredDef, CredDefResult, GetCredDefResult
from ...models.anoncreds_revocation import (
from ...models.credential_definition import CredDef, CredDefResult, GetCredDefResult
from ...models.revocation import (
GetRevListResult,
GetRevRegDefResult,
RevList,
RevListResult,
RevRegDef,
RevRegDefResult,
)
from ...models.anoncreds_schema import AnonCredsSchema, GetSchemaResult, SchemaResult
from ...models.schema import AnonCredsSchema, GetSchemaResult, SchemaResult

LOGGER = logging.getLogger(__name__)

LOGGER = logging.getLogger(__name__)

Expand Down
2 changes: 1 addition & 1 deletion acapy_agent/anoncreds/default/legacy_indy/recover.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import indy_vdr
from anoncreds import RevocationRegistry, RevocationRegistryDefinition

from ...models.anoncreds_revocation import RevList
from ...models.revocation import RevList

LOGGER = logging.getLogger(__name__)

Expand Down
6 changes: 3 additions & 3 deletions acapy_agent/anoncreds/default/legacy_indy/registry.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,14 +56,14 @@
)
from ...events import RevListFinishedEvent
from ...issuer import CATEGORY_CRED_DEF, AnonCredsIssuer, AnonCredsIssuerError
from ...models.anoncreds_cred_def import (
from ...models.credential_definition import (
CredDef,
CredDefResult,
CredDefState,
CredDefValue,
GetCredDefResult,
)
from ...models.anoncreds_revocation import (
from ...models.revocation import (
GetRevListResult,
GetRevRegDefResult,
RevList,
Expand All @@ -74,7 +74,7 @@
RevRegDefState,
RevRegDefValue,
)
from ...models.anoncreds_schema import (
from ...models.schema import (
AnonCredsSchema,
GetSchemaResult,
SchemaResult,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,8 @@
import pytest
from anoncreds import RevocationRegistryDefinition

from acapy_agent.tests import mock

from ....models.anoncreds_revocation import RevList, RevRegDef, RevRegDefValue
from .....tests import mock
from ....models.revocation import RevList, RevRegDef, RevRegDefValue
from ..recover import (
RevocRecoveryException,
_check_tails_hash_for_inconsistency,
Expand Down
34 changes: 15 additions & 19 deletions acapy_agent/anoncreds/default/legacy_indy/tests/test_registry.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,25 +16,6 @@
from .....anoncreds.base import AnonCredsSchemaAlreadyExists
from .....anoncreds.default.legacy_indy import registry as test_module
from .....anoncreds.issuer import AnonCredsIssuer
from .....anoncreds.models.anoncreds_cred_def import (
CredDef,
CredDefResult,
CredDefValue,
CredDefValuePrimary,
)
from .....anoncreds.models.anoncreds_revocation import (
RevList,
RevListResult,
RevRegDef,
RevRegDefResult,
RevRegDefState,
RevRegDefValue,
)
from .....anoncreds.models.anoncreds_schema import (
AnonCredsSchema,
GetSchemaResult,
SchemaResult,
)
from .....askar.profile_anon import (
AskarAnoncredsProfileSession,
)
Expand All @@ -55,6 +36,21 @@
)
from .....tests import mock
from .....utils.testing import create_test_profile
from ....models.credential_definition import (
CredDef,
CredDefResult,
CredDefValue,
CredDefValuePrimary,
)
from ....models.revocation import (
RevList,
RevListResult,
RevRegDef,
RevRegDefResult,
RevRegDefState,
RevRegDefValue,
)
from ....models.schema import AnonCredsSchema, GetSchemaResult, SchemaResult

B58 = alphabet if isinstance(alphabet, str) else alphabet.decode("ascii")
INDY_DID = rf"^(did:sov:)?[{B58}]{{21,22}}$"
Expand Down
2 changes: 1 addition & 1 deletion acapy_agent/anoncreds/events.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from typing import NamedTuple, Optional

from ..core.event_bus import Event
from .models.anoncreds_revocation import RevRegDef
from .models.revocation import RevRegDef

CRED_DEF_FINISHED_EVENT = "anoncreds::credential-definition::finished"
REV_REG_DEF_FINISHED_EVENT = "anoncreds::revocation-registry-definition::finished"
Expand Down
4 changes: 2 additions & 2 deletions acapy_agent/anoncreds/holder.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
from pyld.jsonld import JsonLdProcessor
from uuid_utils import uuid4

from ..anoncreds.models.anoncreds_schema import AnonCredsSchema
from ..askar.profile_anon import AskarAnoncredsProfile
from ..core.error import BaseError
from ..core.profile import Profile
Expand All @@ -33,7 +32,8 @@
from ..vc.vc_ld import VerifiableCredential
from ..wallet.error import WalletNotFoundError
from .error_messages import ANONCREDS_PROFILE_REQUIRED_MSG
from .models.anoncreds_cred_def import CredDef
from .models.credential_definition import CredDef
from .models.schema import AnonCredsSchema
from .registry import AnonCredsRegistry

LOGGER = logging.getLogger(__name__)
Expand Down
4 changes: 2 additions & 2 deletions acapy_agent/anoncreds/issuer.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@
from .base import AnonCredsSchemaAlreadyExists, BaseAnonCredsError
from .error_messages import ANONCREDS_PROFILE_REQUIRED_MSG
from .events import CredDefFinishedEvent
from .models.anoncreds_cred_def import CredDef, CredDefResult
from .models.anoncreds_schema import AnonCredsSchema, SchemaResult, SchemaState
from .models.credential_definition import CredDef, CredDefResult
from .models.schema import AnonCredsSchema, SchemaResult, SchemaState
from .registry import AnonCredsRegistry

LOGGER = logging.getLogger(__name__)
Expand Down
Loading
Loading