-
Notifications
You must be signed in to change notification settings - Fork 516
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
Add anoncreds issuance and presentation format #3331
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. The duplication is indeed a bit of a bummer but I agree that it's probably better than trying to get everything to line up cleanly and makes popping the indy implementation out of ACA-Py into a plugin in the future easier.
I approved but we have test failures that should be resolved before merging. |
bb4441a
to
7eacdfa
Compare
Added support for the demo but still need to fix the integration tests. Not sure why the scenario test is failing with github actions and the BDD tests need to be updated. The OATH tests should be updated with an askar-anoncreds wallet. These should be testable against a credo holder, and should work with a credo issuer and acapy holder as well if the objects are consistent with the indy format. |
e9a0785
to
e922f06
Compare
I removed the BDD tests for issuance and presentation after the anoncreds upgrade because the anoncreds check uses the agent context object which hasn't been updated. I'm going to try and figure out how to do that and add them back. The classes I moved and renamed from the indy module to the anoncreds module aren't unit tested. I don't think this is much of an issue because they are pretty much the same as the ones in the indy module that are unit tested. I might try and copy some tests as well as they would be good to have if they indy module gets pulled out. Don't think this should be required to get this merged though. |
Question regarding interoperability - should an agent using an "askar" wallet be able to send/receive a presentation request/presentation from a holder that has received an anoncreds credential? (And the other way - an "askar-anoncreds" agent asking an agent with an "askar" wallet for a proof?) Also what should happen if an "askar-anoncreds" agent issues to an "askar" holder and the other way around? |
Issuer (askar) --> Holder (askar-anoncreds): This issuer won't be able to issue or request a presentation using the Issuer (askar-anoncreds) --> Holder (askar): This works and is tested. The holder falls back to the Both issuer and holder need to be on the lastest version (have this code) for the anoncreds format to work regardless of wallet type. |
I just looked at Issuer (askar) --> Holder (askar-anoncreds) and it looks like there's a problem here with issuance. There was a test but it was only running on release. I'll try and fix this scenario. |
FYI @jamshale the "1a" was added to the demo to support this kind of interoperability testing. (Available to an I did a quick test and when I sent the Indy presentation request I got an error: We should probably setup a table with the various options to define what is supported or not (and also we need to confirm that other Aries wallets support the same scenarios.)
Maybe this is already defined somewhere? @swcurran ? Also I recall that we also assume that all Indy credentials are updated to Anoncreds format when the wallet is upgraded? (At least I think the Javascript framework does this, I don't recall if we implemented this for Aca-Py or not.) PS Regarding the |
That error was expected. I don't think it's possible for an askar-anoncreds agent to use the The original plan was to completely remove the Also, I don't believe the credentials need to be changed for an anoncreds upgrade. I'll take a closer look at the wallets, but I'm pretty sure they are consistent. |
I'll create a table with the compatibility matrix after I fix this issue of issuer (askar) --> holder (askar-anoncreds) |
Added an ugly commit. Will be working on further testing and refactoring still. Issuer (anoncreds) --> use |
Tested using the alice/faber demo, everything is looking good ... Question - is this a "breaking" change? (i.e. will the controller need to be updated if they are currently using the "old" indy format? |
It is a breaking change for anoncreds (wallet type askar-anoncreds) issuers. They will need to change their formats to Any other type of agent is unaffected. Although holders will need to be upgraded to the latest version to handle the |
Scenario test has been expanded. It won't pass currently because of a bug with tails upload. See #3346. |
Signed-off-by: jamshale <[email protected]>
Signed-off-by: jamshale <[email protected]>
Signed-off-by: jamshale <[email protected]>
Signed-off-by: jamshale <[email protected]>
Signed-off-by: jamshale <[email protected]>
Signed-off-by: jamshale <[email protected]>
Signed-off-by: jamshale <[email protected]>
Signed-off-by: jamshale <[email protected]>
Signed-off-by: jamshale <[email protected]>
Signed-off-by: jamshale <[email protected]>
Signed-off-by: jamshale <[email protected]>
Signed-off-by: jamshale <[email protected]>
Signed-off-by: jamshale <[email protected]>
Signed-off-by: jamshale <[email protected]>
Signed-off-by: jamshale <[email protected]>
Signed-off-by: jamshale <[email protected]>
Quality Gate failedFailed conditions |
@jamshale is this PR ready to go or are you still working on it? |
@ianco It should be good to go. It has pretty thorough testing now. I'll add some more documentation at some point but that can be a separate PR. |
Some of the stuff I had to do for compatibility is a bit ugly. But one day it can be removed. |
I agree we should make it easy to pull out the "indy" specific code. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
* ⬆️ Upgrade python-dateutil Resolves calling deprecated `datetime.utcfromtimestamp` method Signed-off-by: ff137 <[email protected]> * 🎨 Rename class to resolve PytestCollectionWarning Signed-off-by: ff137 <[email protected]> * 🎨 Replace deprecated `open_binary` method with `files` Signed-off-by: ff137 <[email protected]> * 🎨 Replace deprecated `scope` keyword with `loop_scope` Signed-off-by: ff137 <[email protected]> * 🎨 Filter Aries RFC 0160 DeprecationWarning in tests Signed-off-by: ff137 <[email protected]> * 🎨 Filter Pydantic UserWarning in test Signed-off-by: ff137 <[email protected]> * ⬆️ Upgrade aiohttp to latest release and update lock file Signed-off-by: ff137 <[email protected]> * 🎨 Remove unnecessary asyncio pytest markers Resolves unclosed event loop warnings. Signed-off-by: ff137 <[email protected]> * chore(deps-dev): Bump ruff from 0.7.3 to 0.7.4 (openwallet-foundation#3341) Bumps [ruff](https://github.com/astral-sh/ruff) from 0.7.3 to 0.7.4. - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](astral-sh/ruff@0.7.3...0.7.4) --- updated-dependencies: - dependency-name: ruff dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): Bump aiohttp from 3.11.0 to 3.11.2 (openwallet-foundation#3340) Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.11.0 to 3.11.2. - [Release notes](https://github.com/aio-libs/aiohttp/releases) - [Changelog](https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst) - [Commits](aio-libs/aiohttp@v3.11.0...v3.11.2) --- updated-dependencies: - dependency-name: aiohttp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): Bump pyjwt from 2.9.0 to 2.10.0 (openwallet-foundation#3339) Bumps [pyjwt](https://github.com/jpadilla/pyjwt) from 2.9.0 to 2.10.0. - [Release notes](https://github.com/jpadilla/pyjwt/releases) - [Changelog](https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst) - [Commits](jpadilla/pyjwt@2.9.0...2.10.0) --- updated-dependencies: - dependency-name: pyjwt dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * did:tdw resolver (openwallet-foundation#3237) * did:tdw resolver Signed-off-by: jamshale <[email protected]> * Update unit tests Signed-off-by: jamshale <[email protected]> * Update poetry.lock Signed-off-by: jamshale <[email protected]> --------- Signed-off-by: jamshale <[email protected]> * chore(deps): Bump aiohttp (openwallet-foundation#3342) Bumps the pip group with 1 update in the /scenarios directory: [aiohttp](https://github.com/aio-libs/aiohttp). Updates `aiohttp` from 3.10.5 to 3.10.11 - [Release notes](https://github.com/aio-libs/aiohttp/releases) - [Changelog](https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst) - [Commits](aio-libs/aiohttp@v3.10.5...v3.10.11) --- updated-dependencies: - dependency-name: aiohttp dependency-type: indirect dependency-group: pip ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: jamshale <[email protected]> * 🎨 Refactor `register_plugin` steps for maintainability Signed-off-by: ff137 <[email protected]> * 🎨 improve logging in register_package Signed-off-by: ff137 <[email protected]> * 🎨 Rename method and remove redundant main call Signed-off-by: ff137 <[email protected]> * 🎨 Signed-off-by: ff137 <[email protected]> * 🔊 Add debug logging to Context Builder Signed-off-by: ff137 <[email protected]> * 🎨 Deduplicate registering list of plugins Signed-off-by: ff137 <[email protected]> * 🎨 Signed-off-by: ff137 <[email protected]> * 🔊 Add debug logging to init_context Signed-off-by: ff137 <[email protected]> * 🔊 Add debug logging to load_protocol_version Signed-off-by: ff137 <[email protected]> * 🔊 Add debug logging to load_protocols Signed-off-by: ff137 <[email protected]> * 🔊 Add debug logging to register_admin_routes Signed-off-by: ff137 <[email protected]> * 🔊 Add debug logging to register_protocol_events Signed-off-by: ff137 <[email protected]> * 🔊 Add debug logging to post_process_routes Signed-off-by: ff137 <[email protected]> * 🎨 Replace print statements with info logs Signed-off-by: ff137 <[email protected]> * 🎨 Replace almost all print statements with info logs Signed-off-by: ff137 <[email protected]> * 🔊 Expand logging for Conductor setup Signed-off-by: ff137 <[email protected]> * 🎨 Correct to uphold previous "Module doesn't exist" log behaviour Signed-off-by: ff137 <[email protected]> * ✅ Fix test by using assertLogs instead of capturing stdout Signed-off-by: ff137 <[email protected]> * Revert "🎨 Rename method and remove redundant main call" This reverts commit 2f6526d. Signed-off-by: ff137 <[email protected]> * 🎨 Signed-off-by: ff137 <[email protected]> * ✅ Fix test by adding __name__ to mock object Signed-off-by: ff137 <[email protected]> * 🎨 Signed-off-by: ff137 <[email protected]> * ✨ Add custom trace log level Signed-off-by: ff137 <[email protected]> * 🎨 Ensure trace level can only be added once Signed-off-by: ff137 <[email protected]> * 🎨 Add Logger Signed-off-by: ff137 <[email protected]> * 🎨 Update newly added logs to be trace level instead of debug Signed-off-by: ff137 <[email protected]> * 🎨 Update newly added logs to be trace level instead of debug Signed-off-by: ff137 <[email protected]> * 🔊 Expand logging for Conductor start and stop Signed-off-by: ff137 <[email protected]> * ✅ Add unit tests for adding trace level functionality Signed-off-by: ff137 <[email protected]> * ✅ Reset the logging states before and after TestLoggingUtils is run Signed-off-by: ff137 <[email protected]> * 🎨 Signed-off-by: ff137 <[email protected]> * 🧪 Debug log assertion test failing sporadically Filter the logs being read by module name, and add short sleep to allow log handlers to flush Signed-off-by: ff137 <[email protected]> * ✅ Modify log assertion to be more robust Signed-off-by: ff137 <[email protected]> * 🎨 Signed-off-by: ff137 <[email protected]> * 🐛 Handle case that load_module return type is Optional Signed-off-by: ff137 <[email protected]> * 🔊 Expand logging for ClassLoader Signed-off-by: ff137 <[email protected]> * 🔊 Log a warning if resource not found, instead of passing Signed-off-by: ff137 <[email protected]> * 🎨 Signed-off-by: ff137 <[email protected]> * 🎨 Enable trace logs for remaining modules Signed-off-by: ff137 <[email protected]> * 🐛 Fix registering and loading of modules Signed-off-by: ff137 <[email protected]> * 🔊 Expand logging for Ledger Configuration Signed-off-by: ff137 <[email protected]> * Fix tails upload for anoncreds multitenancy Signed-off-by: jamshale <[email protected]> * Update unit test Signed-off-by: jamshale <[email protected]> * Make sonarcloud happy with https in test Signed-off-by: jamshale <[email protected]> * Add anoncreds issuance and presentation format (openwallet-foundation#3331) * Add anoncreds issuance and presentation formats Signed-off-by: jamshale <[email protected]> * Fix unit tests Signed-off-by: jamshale <[email protected]> * Fix error in _formats_attach Signed-off-by: jamshale <[email protected]> * Fix AnoncredsDID validation pattern Signed-off-by: jamshale <[email protected]> * Fix name Signed-off-by: jamshale <[email protected]> * Fix scenario test Signed-off-by: jamshale <[email protected]> * Update demo with anoncreds format Signed-off-by: jamshale <[email protected]> * Fix the scenario test and add better description Signed-off-by: jamshale <[email protected]> * Add service_healthy check for indy agent Signed-off-by: jamshale <[email protected]> * Fix/update BDD tests Signed-off-by: jamshale <[email protected]> * Add issuer askar to holder anoncreds support Signed-off-by: jamshale <[email protected]> * Update BDD tests Signed-off-by: jamshale <[email protected]> * Remove commented code Signed-off-by: jamshale <[email protected]> * Expand scenario test Signed-off-by: jamshale <[email protected]> * Add better comments for format compatibilty imports Signed-off-by: jamshale <[email protected]> * Add anocnreds compatibilty bdd test to PR workflow Signed-off-by: jamshale <[email protected]> --------- Signed-off-by: jamshale <[email protected]> * Fix handling of base_wallet_routes startup parameter in auth decorator Signed-off-by: Emiliano Suñé <[email protected]> * Restore --base-wallet-extra-routes argument functionality Signed-off-by: Emiliano Suñé <[email protected]> * Correctly handle null value for --base-wallet-routes Signed-off-by: Emiliano Suñé <[email protected]> * Fix typo Signed-off-by: Emiliano Suñé <[email protected]> * Fix subwallet anoncreds upgrade check (openwallet-foundation#3345) Signed-off-by: jamshale <[email protected]> * Fix/universal resolver (openwallet-foundation#3354) * Update universal resolver response handling Signed-off-by: jamshale <[email protected]> * Update universal resolver unit test Signed-off-by: jamshale <[email protected]> * Add reverse compatibility handling Signed-off-by: jamshale <[email protected]> --------- Signed-off-by: jamshale <[email protected]> * chore(deps-dev): Bump ruff from 0.7.4 to 0.8.0 (openwallet-foundation#3348) Bumps [ruff](https://github.com/astral-sh/ruff) from 0.7.4 to 0.8.0. - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](astral-sh/ruff@0.7.4...0.8.0) --- updated-dependencies: - dependency-name: ruff dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: jamshale <[email protected]> * chore(deps): Bump mkdocs-material from 9.5.44 to 9.5.46 (openwallet-foundation#3352) Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.44 to 9.5.46. - [Release notes](https://github.com/squidfunk/mkdocs-material/releases) - [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG) - [Commits](squidfunk/mkdocs-material@9.5.44...9.5.46) --- updated-dependencies: - dependency-name: mkdocs-material dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): Bump uuid-utils from 0.9.0 to 0.10.0 (openwallet-foundation#3351) Bumps [uuid-utils](https://github.com/aminalaee/uuid-utils) from 0.9.0 to 0.10.0. - [Release notes](https://github.com/aminalaee/uuid-utils/releases) - [Commits](aminalaee/uuid-utils@0.9.0...0.10.0) --- updated-dependencies: - dependency-name: uuid-utils dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps-dev): Bump debugpy from 1.8.8 to 1.8.9 (openwallet-foundation#3350) Bumps [debugpy](https://github.com/microsoft/debugpy) from 1.8.8 to 1.8.9. - [Release notes](https://github.com/microsoft/debugpy/releases) - [Commits](microsoft/debugpy@v1.8.8...v1.8.9) --- updated-dependencies: - dependency-name: debugpy dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): Bump aiohttp from 3.11.2 to 3.11.7 (openwallet-foundation#3349) Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.11.2 to 3.11.7. - [Release notes](https://github.com/aio-libs/aiohttp/releases) - [Changelog](https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst) - [Commits](aio-libs/aiohttp@v3.11.2...v3.11.7) --- updated-dependencies: - dependency-name: aiohttp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * ⏪ Revert `trace` log changes, and move to debug level Signed-off-by: ff137 <[email protected]> * ✨ Add caching to ClassLoader.load_module Signed-off-by: ff137 <[email protected]> * 🎨 Improve log Signed-off-by: ff137 <[email protected]> * 🎨 Sync Ruff version in configs and apply formatting (openwallet-foundation#3358) * ⬆️ Upgrade ruff version in pre-commit config and lint workflow Signed-off-by: ff137 <[email protected]> * 🎨 Apply ruff formatting Signed-off-by: ff137 <[email protected]> * ⬆️ Upgrade pre-commit hook version Signed-off-by: ff137 <[email protected]> --------- Signed-off-by: ff137 <[email protected]> * 🎨 Replace deprecated ABC decorators (openwallet-foundation#3357) Signed-off-by: ff137 <[email protected]> Co-authored-by: jamshale <[email protected]> * 🎨 Reduce log verbosity Signed-off-by: ff137 <[email protected]> * ✨ Add `lru_cache` to load_class and set maxsize Signed-off-by: ff137 <[email protected]> * ⚡ Add class caching to DeferLoad Resolves openwallet-foundation#3360 Signed-off-by: ff137 <[email protected]> * ⏪ Revert addition of lru caching Signed-off-by: ff137 <[email protected]> * 🎨 Update logs / reduce verbosity Signed-off-by: ff137 <[email protected]> * Revert "Don't pass rekey to sub_wallet_profile" This reverts commit e59d275. * Fixes openwallet-foundation#3202: new suppress banner and replace print by logging statements Signed-off-by: Ricky Ng-Adam <[email protected]> * 🎨 Print agent label and version even if banner suppressed Signed-off-by: ff137 <[email protected]> * ✅ Fix pagination assertions Signed-off-by: ff137 <[email protected]> * 👷 Upload Python Package to TestPyPI (#4) * 👷 Upload Python Package to TestPyPI Signed-off-by: ff137 <[email protected]> * 👷 Update project name and version for testpypi Signed-off-by: ff137 <[email protected]> * 🎨 Signed-off-by: ff137 <[email protected]> --------- Signed-off-by: ff137 <[email protected]> * Version 1.1.1-20241115 Signed-off-by: ff137 <[email protected]> * 🎨 Deprecate count/start query params and implement limit/offset (#6) * art: Modify count/start query params to be Integers, not Strings Signed-off-by: ff137 <[email protected]> * memo: Update openapi spec Signed-off-by: ff137 <[email protected]> * rewind: Revert start/count field to remain String type; mark as deprecated Signed-off-by: ff137 <[email protected]> * sparkles: Implement limit/offset alongside deprecated count/start Signed-off-by: ff137 <[email protected]> * art: Standardise naming convention from count/start to limit/offset Signed-off-by: ff137 <[email protected]> * rewind: Revert start/count field to remain String type; mark as deprecated Signed-off-by: ff137 <[email protected]> * sparkles: Implement limit/offset alongside deprecated count/start Signed-off-by: ff137 <[email protected]> * art: Remove unused query string schema from `w3c_creds_list` Signed-off-by: ff137 <[email protected]> * art: Rename args Signed-off-by: ff137 <[email protected]> * memo: Update openapi specs Signed-off-by: ff137 <[email protected]> * white_check_mark: Signed-off-by: ff137 <[email protected]> --------- Signed-off-by: ff137 <[email protected]> * sparkles: add `order_by` and `descending` options to query / scan and fetch_all methods Signed-off-by: ff137 <[email protected]> * sparkles: add `order_by` and `descending` options to PaginatedQuerySchema Signed-off-by: ff137 <[email protected]> * sparkles: modify `get_limit_offset` to `get_paginated_query_params` Signed-off-by: ff137 <[email protected]> * construction: test in-progress aries-askar PR: openwallet-foundation/askar#291 Signed-off-by: ff137 <[email protected]> * arrow_up: Update lock file Signed-off-by: ff137 <[email protected]> * art: fix ruff warning Signed-off-by: ff137 <[email protected]> * white_check_mark: fix assertions Signed-off-by: ff137 <[email protected]> * construction: test aries-askar with TestPyPI package Signed-off-by: ff137 <[email protected]> * construction: test latest askar testpypi package Signed-off-by: ff137 <[email protected]> * art: Update order_by description and default value. Include in schema Signed-off-by: ff137 <[email protected]> * bug: fix deserialisation of descending: bool parameter Signed-off-by: ff137 <[email protected]> * rewind: revert to testing 0.3.3b0 askar test package Signed-off-by: ff137 <[email protected]> * fire: remove unnecessary record sorts (now that askar sorts by id == sorting by created_at) Signed-off-by: ff137 <[email protected]> * white_check_mark: fix test assertions -- wallet_list and connections_list no longer does additional sorting Signed-off-by: ff137 <[email protected]> * arrow_up: Update lock file Signed-off-by: ff137 <[email protected]> * art: Modify count/start query params to be Integers, not Strings Signed-off-by: ff137 <[email protected]> * memo: Update openapi spec Signed-off-by: ff137 <[email protected]> * rewind: Revert start/count field to remain String type; mark as deprecated Signed-off-by: ff137 <[email protected]> * sparkles: Implement limit/offset alongside deprecated count/start Signed-off-by: ff137 <[email protected]> * art: Standardise naming convention from count/start to limit/offset Signed-off-by: ff137 <[email protected]> * rewind: Revert start/count field to remain String type; mark as deprecated Signed-off-by: ff137 <[email protected]> * sparkles: Implement limit/offset alongside deprecated count/start Signed-off-by: ff137 <[email protected]> * art: Remove unused query string schema from `w3c_creds_list` Signed-off-by: ff137 <[email protected]> * art: Rename args Signed-off-by: ff137 <[email protected]> * memo: Update openapi specs Signed-off-by: ff137 <[email protected]> * white_check_mark: Signed-off-by: ff137 <[email protected]> * art: Update start/count keywords to offset/limit Signed-off-by: ff137 <[email protected]> * 🐛 Fix IndyVdrLedgerPool RuntimeWarning Resolves openwallet-foundation#3328 Signed-off-by: ff137 <[email protected]> * 🧪 Update tests Signed-off-by: ff137 <[email protected]> * Revert "did:tdw resolver (openwallet-foundation#3237)" This reverts commit f5c49b0. Signed-off-by: ff137 <[email protected]> * 1.1.1b5 Signed-off-by: ff137 <[email protected]> * 🎨 Propagate the async changes Signed-off-by: ff137 <[email protected]> * 🎨 Propagate the async changes Signed-off-by: ff137 <[email protected]> * Add test wallet config option (openwallet-foundation#3355) * Add test wallet config option Signed-off-by: jamshale <[email protected]> * Change wallet test arg to store true / Fix tests Signed-off-by: jamshale <[email protected]> * Add unit test with test wallet config Signed-off-by: jamshale <[email protected]> --------- Signed-off-by: jamshale <[email protected]> * Week 49 Library upgrades (openwallet-foundation#3368) Signed-off-by: jamshale <[email protected]> * ⚡ Add class caching to DeferLoad (openwallet-foundation#3361) Resolves openwallet-foundation#3360 Signed-off-by: ff137 <[email protected]> Co-authored-by: jamshale <[email protected]> * fix: check routing keys on endpoint refresh Previously we were only checking if the endpoint value had changed but it is possible for the routing keys to update and not the endpoint. This resulted in new attrib txns not getting published when there were new routing keys. Signed-off-by: Daniel Bluhm <[email protected]> * 1.1.1rc0 Signed-off-by: Stephen Curran <[email protected]> * Make vc libraries mandatory (openwallet-foundation#3356) * Make vc libraries mandatory Signed-off-by: jamshale <[email protected]> * Make indy-vdr library required Signed-off-by: jamshale <[email protected]> * Update dockerfiles after removed extras Signed-off-by: jamshale <[email protected]> --------- Signed-off-by: jamshale <[email protected]> * Update the PR for release Signed-off-by: Stephen Curran <[email protected]> * Repair release bdd tests Signed-off-by: jamshale <[email protected]> * Add in PR to Changelog Signed-off-by: Stephen Curran <[email protected]> * 🎨 Reduce repetition Signed-off-by: ff137 <[email protected]> * Fix for demo initial cred_type override (openwallet-foundation#3378) Signed-off-by: Ian Costanzo <[email protected]> * chore(deps): Bump dawidd6/action-download-artifact (openwallet-foundation#3370) Bumps the all-actions group with 1 update: [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact). Updates `dawidd6/action-download-artifact` from 6 to 7 - [Release notes](https://github.com/dawidd6/action-download-artifact/releases) - [Commits](dawidd6/action-download-artifact@v6...v7) --- updated-dependencies: - dependency-name: dawidd6/action-download-artifact dependency-type: direct:production update-type: version-update:semver-major dependency-group: all-actions ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: jamshale <[email protected]> * 🎨 Log warning when StorageNotFoundError encountered, instead of exception stacktrace Signed-off-by: ff137 <[email protected]> * 🎨 Set Shutdown log level to fatal, with exc_info Signed-off-by: ff137 <[email protected]> * 🎨 Log warning for bad credential format, instead of always exception stacktrace Signed-off-by: ff137 <[email protected]> * 🚧 Add exc_info to error log for debugging Signed-off-by: ff137 <[email protected]> * 🎨 Make `ensure_supported_did` method public Signed-off-by: ff137 <[email protected]> * 🐛 Ensure supported DID before calling Rotate Resolves: openwallet-foundation#3379 Signed-off-by: ff137 <[email protected]> * ✅ Fix existing tests Signed-off-by: ff137 <[email protected]> * ✅ Test coverage for new DID validation Signed-off-by: ff137 <[email protected]> * 🎨 Shorten config key * 🎨 Fix lying method return type Signed-off-by: ff137 <[email protected]> * 🎨 Replace AskarError with ProfileError Signed-off-by: ff137 <[email protected]> * 🚧 Skip exception log for ProfileError Signed-off-by: ff137 <[email protected]> * 🐛 Fix message type class mapping Signed-off-by: ff137 <[email protected]> * 🚧 Debug message parse error Signed-off-by: ff137 <[email protected]> * 🚧 Log warning instead of error for MessageParseError Signed-off-by: ff137 <[email protected]> * ⬆️ Bump version Signed-off-by: ff137 <[email protected]> * ⬆️ Update lock file Signed-off-by: ff137 <[email protected]> * 🎨 Fix model name for consistency From Anoncred to Anoncreds Signed-off-by: ff137 <[email protected]> * 🎨 Set wallet upgrade exception log to warning Signed-off-by: ff137 <[email protected]> * Update anoncreds format names (openwallet-foundation#3374) * Update anoncreds format names Signed-off-by: jamshale <[email protected]> * Add a unit test Signed-off-by: jamshale <[email protected]> --------- Signed-off-by: jamshale <[email protected]> * 🎨 Fix model name for consistency (openwallet-foundation#3382) From Anoncred to Anoncreds Signed-off-by: ff137 <[email protected]> Co-authored-by: jamshale <[email protected]> --------- Signed-off-by: ff137 <[email protected]> Signed-off-by: dependabot[bot] <[email protected]> Signed-off-by: jamshale <[email protected]> Signed-off-by: Emiliano Suñé <[email protected]> Signed-off-by: Ricky Ng-Adam <[email protected]> Signed-off-by: Daniel Bluhm <[email protected]> Signed-off-by: Stephen Curran <[email protected]> Signed-off-by: Ian Costanzo <[email protected]> Co-authored-by: Daniel Bluhm <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: jamshale <[email protected]> Co-authored-by: jamshale <[email protected]> Co-authored-by: Stephen Curran <[email protected]> Co-authored-by: Emiliano Suñé <[email protected]> Co-authored-by: Ricky Ng-Adam <[email protected]> Co-authored-by: Ian Costanzo <[email protected]>
This adds issuance and presentation anoncreds formats which use the anoncreds registry.
Any anoncreds issuer must use this format as the anoncreds objects the format uses are saved in the wallet in the anoncreds way.
There is some backwards compatibility for a holder which isn't anoncreds capable. It will fall back to the indy handlers. Any holder that needs to use anoncreds objects which are not indy will need to use the askar-anoncreds profile. Any holder that uses the anoncreds format will need to be updated to a version of acapy which includes this PR.
There is a lot of duplication because I copied the Indy objects and added them to the anoncreds module and removed any indy references. I think this is better than trying to rename them and share them amongst indy and anoncreds modules. The indy module should be able to be pulled out as a plugin once depreciated.
The object examples have anoncreds examples now. They have there own validation, but it's not actually validating anoncreds objects. I'm not sure if there is validation patterns we can use for anoncreds schemas, cred defs and revocation objects or not.
There is a scenario test for anoncreds issuer doing issuance and presentation with a anoncreds and a non-anoncreds holder.
These will need to get interop OWL-ATH tests.