From 9a3e93a3098f484d09069fc7d21b8ac92289f902 Mon Sep 17 00:00:00 2001 From: Stephen Curran Date: Mon, 2 Dec 2024 15:23:07 -0800 Subject: [PATCH 1/3] 1.1.1rc0 Signed-off-by: Stephen Curran --- CHANGELOG.md | 73 +++++ Managing-ACA-Py-Doc-Site.md | 4 +- PUBLISHING.md | 20 +- docs/UpdateRTD.md | 2 +- docs/features/SupportedRFCs.md | 2 +- docs/features/W3cCredentials.md | 86 +++-- .../acapy_agent.anoncreds.models.rst | 94 +++++- docs/generated/acapy_agent.config.logging.rst | 42 +++ docs/generated/acapy_agent.config.rst | 16 +- .../acapy_agent.core.in_memory.didcomm.rst | 26 -- docs/generated/acapy_agent.core.in_memory.rst | 26 -- docs/generated/acapy_agent.core.rst | 8 - ...ls.issue_credential.v2_0.models.detail.rst | 8 + .../acapy_agent.resolver.default.rst | 8 + docs/generated/acapy_agent.storage.rst | 8 - .../acapy_agent.storage.vc_holder.rst | 8 - docs/generated/acapy_agent.utils.rst | 16 + docs/generated/acapy_agent.wallet.rst | 8 - mkdocs.yml | 1 + open-api/openapi.json | 295 +++++++++++++++--- open-api/swagger.json | 291 ++++++++++++++--- pyproject.toml | 2 +- 22 files changed, 808 insertions(+), 236 deletions(-) create mode 100644 docs/generated/acapy_agent.config.logging.rst delete mode 100644 docs/generated/acapy_agent.core.in_memory.didcomm.rst delete mode 100644 docs/generated/acapy_agent.core.in_memory.rst diff --git a/CHANGELOG.md b/CHANGELOG.md index f4be55b250..c956437784 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,78 @@ # Aries Cloud Agent Python Changelog +## 1.1.1rc0 + +### December 2, 2024 + +Release 1.1.1 is a patch update to ACA-Py that contains a lengthy list of adjustments, improvements and fixes, with a focus on removing Technical Debt. The most visible change is the removal of the "in-memory wallet" implementation in favour of using the SQLite in-memory wallet (`sqlite://:memory:`), including removing the logic for handling that extra wallet type. While arguably a breaking change (and we mention it below), we're confident no one is using the in-memory wallet (right?!?) any where other than in tests. In removing the in-memory wallet, all of the unit and integration tests that used the in-memory wallet were updated to use SQLite's in-memory wallet. + +The first step to full support of [did:tdw](https://identity.foundation/trustdidweb/) (soon to be renamed to `did:webvh` for "`did:web` + Verifiable History") has been added to ACA-Py -- a resolver. We're working on adding new DID Registration for it and other DID Methods, enabling ACA-Py to be used easily with a variety of DID Methods. + +The move to the [OpenWallet Foundation](https://openwallet.foundation/) is now complete. For up to date details on what the repo move means for ACA-Py users, including steps for updating deployments, please see latest in [GitHub Issue #3250]. + +[GitHub Issue #3250]: https://github.com/hyperledger/aries-cloudagent-python/issues/3250 + +### 1.1.1 Deprecation Notices + +The same **[deprecation notices](#101-deprecation-notices)** from the [1.1.0](#110) release about AIP 1.0 protocols still apply. The protocols remain in the 1.1.1 release, but will be moved out of the core and into plugins soon. Please review these notifications carefully! + +### 1.1.1 Breaking Changes + +While there are no breaking changes in this release that might impact production deployments, the removal of the "in-memory" wallet implementation might be break some test scripts. Rather than using the in-memory wallet, tests should be updated to use SQLite's special `sqlite://:memory:` database instead. This results in a better alignment between tests and a production environment. + + +#### 1.1.1 Categorized List of Pull Requests + +- AnonCreds VC Issuance and Presentation Enhancement / Fixes + - Fix tails upload for anoncreds multitenancy [\#3346](https://github.com/openwallet-foundation/acapy/pull/3346) [jamshale](https://github.com/jamshale) + - Fix subwallet anoncreds upgrade check [\#3345](https://github.com/openwallet-foundation/acapy/pull/3345) [jamshale](https://github.com/jamshale) + - Add anoncreds issuance and presentation format [\#3331](https://github.com/openwallet-foundation/acapy/pull/3331) [jamshale](https://github.com/jamshale) + - Fix endorsement setup with existing connection [\#3309](https://github.com/openwallet-foundation/acapy/pull/3309) [jamshale](https://github.com/jamshale) + - Update accumulator value in wallet on repair [\#3299](https://github.com/openwallet-foundation/acapy/pull/3299) [jamshale](https://github.com/jamshale) + +- Middleware Handling and Multi-tenancy + - Restore `--base-wallet-routes` flag functionality [\#3344](https://github.com/openwallet-foundation/acapy/pull/3344) [esune](https://github.com/esune) + - :white_check_mark: Re-add ready_middleware unit tests [\#3330](https://github.com/openwallet-foundation/acapy/pull/3330) [ff137](https://github.com/ff137) + - :sparkles: Handle NotFound and UnprocessableEntity errors in middleware [\#3327](https://github.com/openwallet-foundation/acapy/pull/3327) [ff137](https://github.com/ff137) + - :art: Refactor Multitenant Manager errors and exception handling [\#3323](https://github.com/openwallet-foundation/acapy/pull/3323) [ff137](https://github.com/ff137) + - Don't pass rekey to sub_wallet_profile [\#3312](https://github.com/openwallet-foundation/acapy/pull/3312) [jamshale](https://github.com/jamshale) + +- DID Registration and Resolution + - fix: check routing keys on indy_vdr endpoint refresh [\#3371](https://github.com/openwallet-foundation/acapy/pull/3371) [dbluhm](https://github.com/dbluhm) + - Fix/universal resolver [\#3354](https://github.com/openwallet-foundation/acapy/pull/3354) [jamshale](https://github.com/jamshale) + - More robust verification method selection by did [\#3279](https://github.com/openwallet-foundation/acapy/pull/3279) [dbluhm](https://github.com/dbluhm) + - did:tdw resolver [\#3237](https://github.com/openwallet-foundation/acapy/pull/3237) [jamshale](https://github.com/jamshale) + +- DIDComm Updates and Enhancements + - :bug: Rearrange connection record deletion after hangup [\#3310](https://github.com/openwallet-foundation/acapy/pull/3310) [ff137](https://github.com/ff137) + - :bug: Handle failure to resolve DIDComm services in DIDXManager [\#3298](https://github.com/openwallet-foundation/acapy/pull/3298) [ff137](https://github.com/ff137) + +- Test Suite Updates and Artifact Publishing + - Add test wallet config option [\#3355](https://github.com/openwallet-foundation/acapy/pull/3355) [jamshale](https://github.com/jamshale) + - :art: Fix current test warnings [\#3338](https://github.com/openwallet-foundation/acapy/pull/3338) [ff137](https://github.com/ff137) + - :construction_worker: Fix Nightly Publish to not run on forks [\#3333](https://github.com/openwallet-foundation/acapy/pull/3333) [ff137](https://github.com/ff137) + +- Internal Improvements / Cleanups / Tech Debt Updates + - :zap: Add class caching to DeferLoad [\#3361](https://github.com/openwallet-foundation/acapy/pull/3361) [ff137](https://github.com/ff137 + - :art: Sync Ruff version in configs and apply formatting [\#3358](https://github.com/openwallet-foundation/acapy/pull/3358) [ff137](https://github.com/ff137) + - :art: Replace deprecated ABC decorators [\#3357](https://github.com/openwallet-foundation/acapy/pull/3357) [ff137](https://github.com/ff137) + - :art: Refactor the logging module monolith [\#3319](https://github.com/openwallet-foundation/acapy/pull/3319) [ff137](https://github.com/ff137) + - :wrench: set default fixture scope for pytest-asyncio [\#3318](https://github.com/openwallet-foundation/acapy/pull/3318) [ff137](https://github.com/ff137) + - Docs (devcontainer) Change folder names [\#3317](https://github.com/openwallet-foundation/acapy/pull/3317) [loneil](https://github.com/loneil) + - :art: Refactor string concatenation in model descriptions [\#3313](https://github.com/openwallet-foundation/acapy/pull/3313) [ff137](https://github.com/ff137) + - Remove in memory wallet [\#3311](https://github.com/openwallet-foundation/acapy/pull/3311) [jamshale](https://github.com/jamshale) + +- Consolidate Dependabot updates and other library/dependency updates + - Week 49 Library upgrades [\#3368](https://github.com/openwallet-foundation/acapy/pull/3368) [jamshale](https://github.com/jamshale) + - :arrow_up: Update lock file [\#3296](https://github.com/openwallet-foundation/acapy/pull/3296) [ff137](https://github.com/ff137) + +- Release management pull requests: + - 1.1.1rc0 [\#3372](https://github.com/openwallet-foundation/acapy/pull/3372) [swcurran](https://github.com/swcurran) + +- Dependabot PRs + - [Link to list of Dependabot PRs in this release](https://github.com/openwallet-foundation/acapy/pulls?q=is%3Apr+is%3Amerged+merged%3A2024-10-15..2024-12-02+author%3Aapp%2Fdependabot+) + + ## 1.1.0 ### October 15, 2024 diff --git a/Managing-ACA-Py-Doc-Site.md b/Managing-ACA-Py-Doc-Site.md index 8d6902bd9d..5bafc5ad87 100644 --- a/Managing-ACA-Py-Doc-Site.md +++ b/Managing-ACA-Py-Doc-Site.md @@ -20,7 +20,7 @@ and mkdocs configuration. When the GitHub Action fires, it runs a container that carries out the following steps: -- Checks out the triggering branch, either `main` or `docs-v` (e.g `docs-v1.1.0`). +- Checks out the triggering branch, either `main` or `docs-v` (e.g `docs-v1.1.1`). - Runs the script [scripts/prepmkdocs.sh], which moves and updates some of the markdown files so that they fit into the generated site. See the comments in the scripts for details about the copying and editing done via the script. In @@ -97,7 +97,7 @@ To delete the documentation version, do the following: - Check your `git status` and make sure there are no changes in the branch -- e.g., new files that shouldn't be added to the `gh-pages` branch. If there are any -- delete the files so they are not added. -- Remove the folder for the RC. For example `rm -rf 1.1.0` +- Remove the folder for the RC. For example `rm -rf 1.1.1rc0` - Edit the `versions.json` file and remove the reference to the RC release in the file. - Push the changes via a PR to the ACA-Py `gh-pages` branch (don't PR them into diff --git a/PUBLISHING.md b/PUBLISHING.md index 726557bedf..e7bd48af07 100644 --- a/PUBLISHING.md +++ b/PUBLISHING.md @@ -6,7 +6,7 @@ a major, minor or patch release, per [semver](https://semver.org/) rules. Once ready to do a release, create a local branch that includes the following updates: -1. Create a local PR branch from an updated `main` branch, e.g. "1.1.0". +1. Create a local PR branch from an updated `main` branch, e.g. "1.1.1". 2. See if there are any Document Site `mkdocs` changes needed. Run the script `./scripts/prepmkdocs.sh; mkdocs`. Watch the log, noting particularly if @@ -27,7 +27,7 @@ Once ready to do a release, create a local branch that includes the following up github account. Do not include `dependabot` PRs. For those, we put a live link for the date range of the release (guidance below). - To generate the list, run the script `genChangeLog.sh` command (requires you + To generate the list, run the `./scripts/genChangeLog.sh` scripts (requires you have [gh] and [jq] installed), with the date of the day before the last release. The day before is picked to make sure you get all of the changes. The script generates the list of all PRs, minus the dependabot ones, merged since @@ -78,9 +78,9 @@ Once you have the list of PRs: - Check the dates in the `dependabot` URL to make sure the full period between the previous non-RC release to the date of the non-RC release you are preparing. - Include a PR in the list for this soon-to-be PR, initially with the "next to be issued" number for PRs/Issues. At the end output of the script is the highest numbered PR and issue. Your PR will be one higher than the highest of those two numbers. Note that you still might have to correct the number after you create the PR if someone sneaks an issue or PR in before you submit your PR. -5. Check to see if there are any other PRs that should be included in the release. +1. Check to see if there are any other PRs that should be included in the release. -6. Update the ReadTheDocs in the `/docs` folder by following the instructions in +2. Update the ReadTheDocs in the `/docs` folder by following the instructions in the `docs/UpdateRTD.md` file. That will likely add a number of new and modified files to the PR. Eliminate all of the errors in the generation process, either by mocking external dependencies or by fixing ACA-Py code. If @@ -88,7 +88,7 @@ Once you have the list of PRs: developer. Experience has demonstrated to use that documentation generation errors should be fixed in the code. -7. Search across the repository for the previous version number and update it +3. Search across the repository for the previous version number and update it everywhere that makes sense. The CHANGELOG.md entry for the previous release is a likely exception, and the `pyproject.toml` in the root **MUST** be updated. You can skip (although it won't hurt) to update the files in the @@ -101,28 +101,28 @@ Once you have the list of PRs: have dropped the previously used `-` in the release candidate version string to better follow the semver rules. -8. Regenerate openapi.json and swagger.json by running +4. Regenerate openapi.json and swagger.json by running `scripts/generate-open-api-spec` from within the `acapy_agent` folder. Command: `cd acapy_agent;../scripts/generate-open-api-spec;cd ..` Folders may not be cleaned up by the script, so the following can be run, likely with `sudo` -- `rm -rf open-api/.build`. The folder is `.gitignore`d, so there is not a danger they will be pushed, even if they are not deleted. -9. Double check all of these steps above, and then submit a PR from the branch. +5. Double check all of these steps above, and then submit a PR from the branch. Add this new PR to CHANGELOG.md so that all the PRs are included. If there are still further changes to be merged, mark the PR as "Draft", repeat **ALL** of the steps again, and then mark this PR as ready and then wait until it is merged. It's embarrassing when you have to do a whole new release just because you missed something silly...I know! -10. Immediately after it is merged, create a new GitHub tag representing the +6. Immediately after it is merged, create a new GitHub tag representing the version. The tag name and title of the release should be the same as the version in [pyproject.toml](https://github.com/openwallet-foundation/acapy/tree/main/pyproject.toml). Use the "Generate Release Notes" capability to get a sequential listing of the PRs in the release, to complement the manually curated Changelog. Verify on PyPi that the version is published. -11. New images for the release are automatically published by the GitHubAction +7. New images for the release are automatically published by the GitHubAction Workflows: [publish.yml] and [publish-indy.yml]. The actions are triggered when a release is tagged, so no manual action is needed. The images are published in the [OpenWallet Foundation Package Repository under @@ -140,7 +140,7 @@ Once you have the list of PRs: [publish-indy.yml]: https://github.com/openwallet-foundation/acapy/blob/main/.github/workflows/publish-indy.yml 1. When a new release is tagged, create a new branch at the same commit with - the branch name in the format `docs-v`, for example, `docs-v1.1.0`. + the branch name in the format `docs-v`, for example, `docs-v1.1.1`. The creation of the branch triggers the execution of the [publish-docs] GitHub Action which generates the documentation for the new release, publishing it at [https://aca-py.org]. The GitHub Action also executes when diff --git a/docs/UpdateRTD.md b/docs/UpdateRTD.md index b37e028992..c9307936b2 100644 --- a/docs/UpdateRTD.md +++ b/docs/UpdateRTD.md @@ -17,7 +17,7 @@ and verify the installation on your system. To rebuild the project and settings from scratch: ``` bash -cd docs; rm -rf generated; sphinx-apidoc -f -M -o ./generated ../acapy_agent/ $(find ../acapy_agent/ -name '*tests*', cd ..) +cd docs; rm -rf generated; sphinx-apidoc -f -M -o ./generated ../acapy_agent/ $(find ../acapy_agent/ -name '*tests*'); cd .. ``` Note that the `find` command that is used to exclude any of the `test` python files from the RTD documentation. diff --git a/docs/features/SupportedRFCs.md b/docs/features/SupportedRFCs.md index 23b370c03b..8118b283c7 100644 --- a/docs/features/SupportedRFCs.md +++ b/docs/features/SupportedRFCs.md @@ -8,7 +8,7 @@ ACA-Py or the repository `main` branch. Reminders (and PRs!) to update this page welcome! If you have any questions, please contact us on the #aries channel on [OpenWallet Foundation Discord](https://discord.gg/openwallet-foundation) or through an issue in this repo. -**Last Update**: 2024-10-15, Release 1.1.0 +**Last Update**: 2024-12-02, Release 1.1.1 > The checklist version of this document was created as a joint effort > between [Northern Block](https://northernblock.io/), [Animo Solutions](https://animo.id/) and the Ontario government, on behalf of the Ontario government. diff --git a/docs/features/W3cCredentials.md b/docs/features/W3cCredentials.md index 72d871b7d9..02ddaa7d0c 100644 --- a/docs/features/W3cCredentials.md +++ b/docs/features/W3cCredentials.md @@ -1,62 +1,60 @@ -## Verifiable Credential Data Integrity (VC-DI) Credentials in ACA-Py +# Verifiable Credential Data Integrity (VC-DI) Credentials in ACA-Py This document outlines a new functionality within Aries Agent that facilitates the issuance of credentials and presentations in compliance with the W3C standard. -### Table of Contents - -- [Verifiable Credential Data Integrity (VC-DI) Credentials in ACA-Py](#verifiable-credential-data-integrity-vc-di-credentials-in-aca-py) - - [Table of Contents](#table-of-contents) - - [General Concept](#general-concept) - - [Prerequisites](#prerequisites) - - [Verifiable Credentials Data Model](#verifiable-credentials-data-model) - - [Verifiable Presentations Data Model](#verifiable-presentations-data-model) - - [DIF Presentation Format](#dif-presentation-format) - - [Preparing to Issue a Credential](#preparing-to-issue-a-credential) - - [VC-DI Context](#vc-di-context) - - [Signature Suite](#signature-suite) - - [DID Method](#did-method) - - [`did:key`](#didkey) - - [Issue a Credential](#issue-a-credential) - - [Verify a Credential](#verify-a-credential) - - [Present Proof](#present-proof) - - [Requesting Proof](#requesting-proof) - - [Presenting Proof](#presenting-proof) - - [Verifying Proof](#verifying-proof) - - [Appendix](#appendix) - - [Glossary of Terms](#glossary-of-terms) - - [References and Resources](#references-and-resources) - -### General Concept +## Table of Contents + +- [General Concept](#general-concept) +- [Prerequisites](#prerequisites) + - [Verifiable Credentials Data Model](#verifiable-credentials-data-model) + - [Verifiable Presentations Data Model](#verifiable-presentations-data-model) + - [DIF Presentation Format](#dif-presentation-format) +- [Preparing to Issue a Credential](#preparing-to-issue-a-credential) + - [VC-DI Context](#vc-di-context) + - [Signature Suite](#signature-suite) + - [DID Method](#did-method) + - [`did:key`](#didkey) +- [Issue a Credential](#issue-a-credential) +- [Verify a Credential](#verify-a-credential) +- [Present Proof](#present-proof) + - [Requesting Proof](#requesting-proof) + - [Presenting Proof](#presenting-proof) + - [Verifying Proof](#verifying-proof) +- [Appendix](#appendix) + - [Glossary of Terms](#glossary-of-terms) + - [References and Resources](#references-and-resources) + +## General Concept The introduction of VC-DI credentials in ACA-Py facilitates the issuance of credentials and presentations in adherence to the W3C standard. -### Prerequisites +## Prerequisites Before utilizing this feature, it is essential to have the following: -#### Verifiable Credentials Data Model +### Verifiable Credentials Data Model A basic understanding of the Verifiable Credentials Data Model is required. Resources for reference include: - [Verifiable Credentials Data Model](https://www.w3.org/TR/vc-data-model/) -#### Verifiable Presentations Data Model +### Verifiable Presentations Data Model Familiarity with the Verifiable Presentations Data Model is necessary. Relevant resources can be found at: - [Verifiable Presentations Data Model](https://www.w3.org/TR/vc-data-model/#presentations) -#### DIF Presentation Format +### DIF Presentation Format Understanding the DIF Presentation Format is recommended. Access resources at: - [DIF Presentation Format](https://identity.foundation/presentation-exchange/) -### Preparing to Issue a Credential +## Preparing to Issue a Credential To prepare for credential issuance, the following steps must be taken: -#### VC-DI Context +### VC-DI Context Ensure that every property key in the document is mappable to an IRI. This requires either the property key to be an IRI by default or to have the shorthand property mapped in the `@context` of the document. @@ -72,17 +70,17 @@ Ensure that every property key in the document is mappable to an IRI. This requi } ``` -#### Signature Suite +### Signature Suite Select a signature suite for use. VC-DI format currently supports EdDSA signature suites for issuing credentials. - [`Ed25519Signature2020`](https://w3c.github.io/vc-di-eddsa/#ed25519signature2020-0) -#### DID Method +### DID Method Choose a DID method for issuing the credential. VC-DI format currently supports the `did:key` method. -##### `did:key` +#### `did:key` A `did:key` did is not anchored to a ledger, but embeds the key directly in the identifier part of the did. See the [did:key Method Specification](https://w3c-ccg.github.io/did-method-key/) for more information. @@ -97,7 +95,7 @@ You can create a `did:key` using the `/wallet/did/create` endpoint with the foll } ``` -### Issue a Credential +## Issue a Credential The issuance of W3C credentials is facilitated through the `/issue-credential-2.0/send` endpoint. This process adheres to the formats described in [RFC 0809 VC-DI](https://github.com/hyperledger/aries-rfcs/blob/main/features/0809-w3c-data-integrity-credential-attachment/README.md) and utilizes `didcomm` for communication between agents. @@ -184,7 +182,7 @@ The response should confirm the credential issuance. ``` -### Verify a Credential +## Verify a Credential To verify a credential, follow these steps: @@ -303,9 +301,9 @@ The response should confirm the credential verification. ``` -### Present Proof +## Present Proof -#### Requesting Proof +### Requesting Proof To request proof, follow these steps: @@ -399,7 +397,7 @@ To request proof, follow these steps: ``` -#### Presenting Proof +### Presenting Proof To present proof, follow these steps: @@ -499,7 +497,7 @@ To present proof, follow these steps: ``` -#### Verifying Proof +### Verifying Proof To verify presented proof, follow these steps: @@ -621,9 +619,9 @@ To verify presented proof, follow these steps: ``` -### Appendix +## Appendix -#### Glossary of Terms +### Glossary of Terms - **VC-DI:** Verifiable Credential Data Integrity - **W3C:** World Wide Web Consortium @@ -631,7 +629,7 @@ To verify presented proof, follow these steps: - **EdDSA:** Edwards-curve Digital Signature Algorithm - **DIF:** Decentralized Identity Foundation -#### References and Resources +### References and Resources - [ACA-Py Documentation](https://aca-py.org) - [Verifiable Credentials Data Model](https://www.w3.org/TR/vc-data-model/) diff --git a/docs/generated/acapy_agent.anoncreds.models.rst b/docs/generated/acapy_agent.anoncreds.models.rst index 0539f9285a..58f7a28113 100644 --- a/docs/generated/acapy_agent.anoncreds.models.rst +++ b/docs/generated/acapy_agent.anoncreds.models.rst @@ -9,26 +9,106 @@ acapy\_agent.anoncreds.models package Submodules ---------- -acapy\_agent.anoncreds.models.anoncreds\_cred\_def module +acapy\_agent.anoncreds.models.credential module +----------------------------------------------- + +.. automodule:: acapy_agent.anoncreds.models.credential + :members: + :undoc-members: + :show-inheritance: + +acapy\_agent.anoncreds.models.credential\_definition module +----------------------------------------------------------- + +.. automodule:: acapy_agent.anoncreds.models.credential_definition + :members: + :undoc-members: + :show-inheritance: + +acapy\_agent.anoncreds.models.credential\_offer module +------------------------------------------------------ + +.. automodule:: acapy_agent.anoncreds.models.credential_offer + :members: + :undoc-members: + :show-inheritance: + +acapy\_agent.anoncreds.models.credential\_proposal module --------------------------------------------------------- -.. automodule:: acapy_agent.anoncreds.models.anoncreds_cred_def +.. automodule:: acapy_agent.anoncreds.models.credential_proposal + :members: + :undoc-members: + :show-inheritance: + +acapy\_agent.anoncreds.models.credential\_request module +-------------------------------------------------------- + +.. automodule:: acapy_agent.anoncreds.models.credential_request + :members: + :undoc-members: + :show-inheritance: + +acapy\_agent.anoncreds.models.non\_rev\_interval module +------------------------------------------------------- + +.. automodule:: acapy_agent.anoncreds.models.non_rev_interval :members: :undoc-members: :show-inheritance: -acapy\_agent.anoncreds.models.anoncreds\_revocation module +acapy\_agent.anoncreds.models.predicate module +---------------------------------------------- + +.. automodule:: acapy_agent.anoncreds.models.predicate + :members: + :undoc-members: + :show-inheritance: + +acapy\_agent.anoncreds.models.presentation\_request module ---------------------------------------------------------- -.. automodule:: acapy_agent.anoncreds.models.anoncreds_revocation +.. automodule:: acapy_agent.anoncreds.models.presentation_request :members: :undoc-members: :show-inheritance: -acapy\_agent.anoncreds.models.anoncreds\_schema module ------------------------------------------------------- +acapy\_agent.anoncreds.models.proof module +------------------------------------------ + +.. automodule:: acapy_agent.anoncreds.models.proof + :members: + :undoc-members: + :show-inheritance: + +acapy\_agent.anoncreds.models.requested\_credentials module +----------------------------------------------------------- + +.. automodule:: acapy_agent.anoncreds.models.requested_credentials + :members: + :undoc-members: + :show-inheritance: + +acapy\_agent.anoncreds.models.revocation module +----------------------------------------------- + +.. automodule:: acapy_agent.anoncreds.models.revocation + :members: + :undoc-members: + :show-inheritance: + +acapy\_agent.anoncreds.models.schema module +------------------------------------------- + +.. automodule:: acapy_agent.anoncreds.models.schema + :members: + :undoc-members: + :show-inheritance: + +acapy\_agent.anoncreds.models.utils module +------------------------------------------ -.. automodule:: acapy_agent.anoncreds.models.anoncreds_schema +.. automodule:: acapy_agent.anoncreds.models.utils :members: :undoc-members: :show-inheritance: diff --git a/docs/generated/acapy_agent.config.logging.rst b/docs/generated/acapy_agent.config.logging.rst new file mode 100644 index 0000000000..3db38f2b8b --- /dev/null +++ b/docs/generated/acapy_agent.config.logging.rst @@ -0,0 +1,42 @@ +acapy\_agent.config.logging package +=================================== + +.. automodule:: acapy_agent.config.logging + :members: + :undoc-members: + :show-inheritance: + +Submodules +---------- + +acapy\_agent.config.logging.base module +--------------------------------------- + +.. automodule:: acapy_agent.config.logging.base + :members: + :undoc-members: + :show-inheritance: + +acapy\_agent.config.logging.configurator module +----------------------------------------------- + +.. automodule:: acapy_agent.config.logging.configurator + :members: + :undoc-members: + :show-inheritance: + +acapy\_agent.config.logging.filters module +------------------------------------------ + +.. automodule:: acapy_agent.config.logging.filters + :members: + :undoc-members: + :show-inheritance: + +acapy\_agent.config.logging.timed\_rotating\_file\_multi\_process\_handler module +--------------------------------------------------------------------------------- + +.. automodule:: acapy_agent.config.logging.timed_rotating_file_multi_process_handler + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/generated/acapy_agent.config.rst b/docs/generated/acapy_agent.config.rst index ad606129b8..51d632e56b 100644 --- a/docs/generated/acapy_agent.config.rst +++ b/docs/generated/acapy_agent.config.rst @@ -6,6 +6,14 @@ acapy\_agent.config package :undoc-members: :show-inheritance: +Subpackages +----------- + +.. toctree:: + :maxdepth: 4 + + acapy_agent.config.logging + Submodules ---------- @@ -81,14 +89,6 @@ acapy\_agent.config.ledger module :undoc-members: :show-inheritance: -acapy\_agent.config.logging module ----------------------------------- - -.. automodule:: acapy_agent.config.logging - :members: - :undoc-members: - :show-inheritance: - acapy\_agent.config.plugin\_settings module ------------------------------------------- diff --git a/docs/generated/acapy_agent.core.in_memory.didcomm.rst b/docs/generated/acapy_agent.core.in_memory.didcomm.rst deleted file mode 100644 index 3842f254f3..0000000000 --- a/docs/generated/acapy_agent.core.in_memory.didcomm.rst +++ /dev/null @@ -1,26 +0,0 @@ -acapy\_agent.core.in\_memory.didcomm package -============================================ - -.. automodule:: acapy_agent.core.in_memory.didcomm - :members: - :undoc-members: - :show-inheritance: - -Submodules ----------- - -acapy\_agent.core.in\_memory.didcomm.derive\_1pu module -------------------------------------------------------- - -.. automodule:: acapy_agent.core.in_memory.didcomm.derive_1pu - :members: - :undoc-members: - :show-inheritance: - -acapy\_agent.core.in\_memory.didcomm.derive\_ecdh module --------------------------------------------------------- - -.. automodule:: acapy_agent.core.in_memory.didcomm.derive_ecdh - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/generated/acapy_agent.core.in_memory.rst b/docs/generated/acapy_agent.core.in_memory.rst deleted file mode 100644 index ea101cb0b9..0000000000 --- a/docs/generated/acapy_agent.core.in_memory.rst +++ /dev/null @@ -1,26 +0,0 @@ -acapy\_agent.core.in\_memory package -==================================== - -.. automodule:: acapy_agent.core.in_memory - :members: - :undoc-members: - :show-inheritance: - -Subpackages ------------ - -.. toctree:: - :maxdepth: 4 - - acapy_agent.core.in_memory.didcomm - -Submodules ----------- - -acapy\_agent.core.in\_memory.profile module -------------------------------------------- - -.. automodule:: acapy_agent.core.in_memory.profile - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/generated/acapy_agent.core.rst b/docs/generated/acapy_agent.core.rst index 6dbd9e3fb6..aea168d472 100644 --- a/docs/generated/acapy_agent.core.rst +++ b/docs/generated/acapy_agent.core.rst @@ -6,14 +6,6 @@ acapy\_agent.core package :undoc-members: :show-inheritance: -Subpackages ------------ - -.. toctree:: - :maxdepth: 4 - - acapy_agent.core.in_memory - Submodules ---------- diff --git a/docs/generated/acapy_agent.protocols.issue_credential.v2_0.models.detail.rst b/docs/generated/acapy_agent.protocols.issue_credential.v2_0.models.detail.rst index 52d5cd892d..464c0f5161 100644 --- a/docs/generated/acapy_agent.protocols.issue_credential.v2_0.models.detail.rst +++ b/docs/generated/acapy_agent.protocols.issue_credential.v2_0.models.detail.rst @@ -9,6 +9,14 @@ acapy\_agent.protocols.issue\_credential.v2\_0.models.detail package Submodules ---------- +acapy\_agent.protocols.issue\_credential.v2\_0.models.detail.anoncreds module +----------------------------------------------------------------------------- + +.. automodule:: acapy_agent.protocols.issue_credential.v2_0.models.detail.anoncreds + :members: + :undoc-members: + :show-inheritance: + acapy\_agent.protocols.issue\_credential.v2\_0.models.detail.indy module ------------------------------------------------------------------------ diff --git a/docs/generated/acapy_agent.resolver.default.rst b/docs/generated/acapy_agent.resolver.default.rst index 78165b9692..32a0f44cc9 100644 --- a/docs/generated/acapy_agent.resolver.default.rst +++ b/docs/generated/acapy_agent.resolver.default.rst @@ -73,6 +73,14 @@ acapy\_agent.resolver.default.peer4 module :undoc-members: :show-inheritance: +acapy\_agent.resolver.default.tdw module +---------------------------------------- + +.. automodule:: acapy_agent.resolver.default.tdw + :members: + :undoc-members: + :show-inheritance: + acapy\_agent.resolver.default.universal module ---------------------------------------------- diff --git a/docs/generated/acapy_agent.storage.rst b/docs/generated/acapy_agent.storage.rst index 95998a741d..8eda05694e 100644 --- a/docs/generated/acapy_agent.storage.rst +++ b/docs/generated/acapy_agent.storage.rst @@ -41,14 +41,6 @@ acapy\_agent.storage.error module :undoc-members: :show-inheritance: -acapy\_agent.storage.in\_memory module --------------------------------------- - -.. automodule:: acapy_agent.storage.in_memory - :members: - :undoc-members: - :show-inheritance: - acapy\_agent.storage.record module ---------------------------------- diff --git a/docs/generated/acapy_agent.storage.vc_holder.rst b/docs/generated/acapy_agent.storage.vc_holder.rst index ca74bd8aed..3a1b74eff5 100644 --- a/docs/generated/acapy_agent.storage.vc_holder.rst +++ b/docs/generated/acapy_agent.storage.vc_holder.rst @@ -25,14 +25,6 @@ acapy\_agent.storage.vc\_holder.base module :undoc-members: :show-inheritance: -acapy\_agent.storage.vc\_holder.in\_memory module -------------------------------------------------- - -.. automodule:: acapy_agent.storage.vc_holder.in_memory - :members: - :undoc-members: - :show-inheritance: - acapy\_agent.storage.vc\_holder.vc\_record module ------------------------------------------------- diff --git a/docs/generated/acapy_agent.utils.rst b/docs/generated/acapy_agent.utils.rst index 70c61f2d1a..4a8fd038e3 100644 --- a/docs/generated/acapy_agent.utils.rst +++ b/docs/generated/acapy_agent.utils.rst @@ -49,6 +49,14 @@ acapy\_agent.utils.env module :undoc-members: :show-inheritance: +acapy\_agent.utils.extract\_validation\_error module +---------------------------------------------------- + +.. automodule:: acapy_agent.utils.extract_validation_error + :members: + :undoc-members: + :show-inheritance: + acapy\_agent.utils.general module --------------------------------- @@ -121,6 +129,14 @@ acapy\_agent.utils.task\_queue module :undoc-members: :show-inheritance: +acapy\_agent.utils.testing module +--------------------------------- + +.. automodule:: acapy_agent.utils.testing + :members: + :undoc-members: + :show-inheritance: + acapy\_agent.utils.tracing module --------------------------------- diff --git a/docs/generated/acapy_agent.wallet.rst b/docs/generated/acapy_agent.wallet.rst index 9f075046ae..d09130188d 100644 --- a/docs/generated/acapy_agent.wallet.rst +++ b/docs/generated/acapy_agent.wallet.rst @@ -106,14 +106,6 @@ acapy\_agent.wallet.error module :undoc-members: :show-inheritance: -acapy\_agent.wallet.in\_memory module -------------------------------------- - -.. automodule:: acapy_agent.wallet.in_memory - :members: - :undoc-members: - :show-inheritance: - acapy\_agent.wallet.jwt module ------------------------------ diff --git a/mkdocs.yml b/mkdocs.yml index 0f8593cb94..cebeffcc7e 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -97,6 +97,7 @@ nav: - Configuring Multiple Indy Ledgers: features/Multiledger.md - Automatically Endorsing Indy Transations: features/Endorser.md - Using W3C JSON-LD Signed Credentials: features/JsonLdCredentials.md + - Issuing and Presenting W3C Data Integrity VCs: features/W3cCredentials.md - Using SD-JWTs: features/SelectiveDisclosureJWTs.md - AnonCreds Presentation Validation: features/AnoncredsProofValidation.md - Multiple Credential Types: features/Multicredentials.md diff --git a/open-api/openapi.json b/open-api/openapi.json index 444c97fbbe..97913e91f2 100644 --- a/open-api/openapi.json +++ b/open-api/openapi.json @@ -2,7 +2,7 @@ "openapi" : "3.0.1", "info" : { "title" : "Aries Cloud Agent", - "version" : "v1.1.0" + "version" : "v1.1.1" }, "servers" : [ { "url" : "/" @@ -390,7 +390,7 @@ "description" : "" } }, - "summary" : "Create a credential definition on the connected ledger", + "summary" : "Create a credential definition on the connected datastore", "tags" : [ "anoncreds - credential definitions" ], "x-codegen-request-body-name" : "body" } @@ -549,7 +549,7 @@ "description" : "" } }, - "summary" : "Create and publish a revocation status list on the connected ledger", + "summary" : "Create and publish a revocation status list on the connected datastore", "tags" : [ "anoncreds - revocation" ], "x-codegen-request-body-name" : "body" } @@ -578,7 +578,7 @@ "description" : "" } }, - "summary" : "Create and publish a registration revocation on the connected ledger", + "summary" : "Create and publish a registration revocation on the connected datastore", "tags" : [ "anoncreds - revocation" ], "x-codegen-request-body-name" : "body" } @@ -1012,7 +1012,7 @@ "description" : "" } }, - "summary" : "Create a schema on the connected ledger", + "summary" : "Create a schema on the connected datastore", "tags" : [ "anoncreds - schemas" ], "x-codegen-request-body-name" : "body" } @@ -7747,7 +7747,7 @@ }, "issuerId" : { "description" : "Issuer Identifier of the credential definition or schema", - "example" : "WgWxqztrNooG92RXvxSTWv", + "example" : "did:(method):WgWxqztrNooG92RXvxSTWv", "type" : "string" }, "name" : { @@ -7763,6 +7763,170 @@ }, "type" : "object" }, + "AnoncredPresentationRequestNonRevoked" : { + "properties" : { + "from" : { + "description" : "Earliest time of interest in non-revocation interval", + "example" : 1640995199, + "maximum" : 18446744073709551615, + "minimum" : 0, + "type" : "integer" + }, + "to" : { + "description" : "Latest time of interest in non-revocation interval", + "example" : 1640995199, + "maximum" : 18446744073709551615, + "minimum" : 0, + "type" : "integer" + } + }, + "type" : "object" + }, + "AnoncredsPresentationReqAttrSpec" : { + "properties" : { + "name" : { + "description" : "Attribute name", + "example" : "favouriteDrink", + "type" : "string" + }, + "names" : { + "description" : "Attribute name group", + "items" : { + "example" : "age", + "type" : "string" + }, + "type" : "array" + }, + "non_revoked" : { + "$ref" : "#/components/schemas/AnoncredsPresentationReqAttrSpecNonRevoked" + }, + "restrictions" : { + "description" : "If present, credential must satisfy one of given restrictions: specify schema_id, schema_issuer_did, schema_name, schema_version, issuer_did, cred_def_id, and/or attr::::value where represents a credential attribute name", + "items" : { + "additionalProperties" : { + "example" : "did:(method):3:CL:20:tag", + "type" : "string" + }, + "type" : "object" + }, + "type" : "array" + } + }, + "type" : "object" + }, + "AnoncredsPresentationReqAttrSpecNonRevoked" : { + "properties" : { + "from" : { + "description" : "Earliest time of interest in non-revocation interval", + "example" : 1640995199, + "maximum" : 18446744073709551615, + "minimum" : 0, + "type" : "integer" + }, + "to" : { + "description" : "Latest time of interest in non-revocation interval", + "example" : 1640995199, + "maximum" : 18446744073709551615, + "minimum" : 0, + "type" : "integer" + } + }, + "type" : "object" + }, + "AnoncredsPresentationReqPredSpec" : { + "properties" : { + "name" : { + "description" : "Attribute name", + "example" : "index", + "type" : "string" + }, + "non_revoked" : { + "$ref" : "#/components/schemas/AnoncredsPresentationReqPredSpecNonRevoked" + }, + "p_type" : { + "description" : "Predicate type ('<', '<=', '>=', or '>')", + "enum" : [ "<", "<=", ">=", ">" ], + "example" : ">=", + "type" : "string" + }, + "p_value" : { + "description" : "Threshold value", + "type" : "integer" + }, + "restrictions" : { + "description" : "If present, credential must satisfy one of given restrictions: specify schema_id, schema_issuer_did, schema_name, schema_version, issuer_did, cred_def_id, and/or attr::::value where represents a credential attribute name", + "items" : { + "additionalProperties" : { + "example" : "did:(method):3:CL:20:tag", + "type" : "string" + }, + "type" : "object" + }, + "type" : "array" + } + }, + "required" : [ "name", "p_type", "p_value" ], + "type" : "object" + }, + "AnoncredsPresentationReqPredSpecNonRevoked" : { + "properties" : { + "from" : { + "description" : "Earliest time of interest in non-revocation interval", + "example" : 1640995199, + "maximum" : 18446744073709551615, + "minimum" : 0, + "type" : "integer" + }, + "to" : { + "description" : "Latest time of interest in non-revocation interval", + "example" : 1640995199, + "maximum" : 18446744073709551615, + "minimum" : 0, + "type" : "integer" + } + }, + "type" : "object" + }, + "AnoncredsPresentationRequest" : { + "properties" : { + "name" : { + "description" : "Proof request name", + "example" : "Proof request", + "type" : "string" + }, + "non_revoked" : { + "$ref" : "#/components/schemas/AnoncredPresentationRequestNonRevoked" + }, + "nonce" : { + "description" : "Nonce", + "example" : "1", + "pattern" : "^[1-9][0-9]*$", + "type" : "string" + }, + "requested_attributes" : { + "additionalProperties" : { + "$ref" : "#/components/schemas/AnoncredsPresentationReqAttrSpec" + }, + "description" : "Requested attribute specifications of proof request", + "type" : "object" + }, + "requested_predicates" : { + "additionalProperties" : { + "$ref" : "#/components/schemas/AnoncredsPresentationReqPredSpec" + }, + "description" : "Requested predicate specifications of proof request", + "type" : "object" + }, + "version" : { + "description" : "Proof request version", + "example" : "1.0", + "pattern" : "^[0-9.]+$", + "type" : "string" + } + }, + "required" : [ "requested_attributes", "requested_predicates" ], + "type" : "object" + }, "AttachDecorator" : { "properties" : { "@id" : { @@ -8376,12 +8540,12 @@ "type" : "string" }, "kid" : { - "description" : "Optional kid to bind to the keypair, such as a verificationMethod.", + "description" : "Optional kid to bind to the keypair, such as a verificationMethod.", "example" : "did:web:example.com#key-01", "type" : "string" }, "seed" : { - "description" : "Optional seed to generate the key pair. Must enable insecure wallet mode.", + "description" : "Optional seed to generate the key pair. Must enable insecure wallet mode.", "example" : "00000000000000000000000000000000", "type" : "string" } @@ -8450,7 +8614,7 @@ }, "wallet_type" : { "description" : "Type of the wallet to create. Must be same as base wallet.", - "enum" : [ "askar", "askar-anoncreds", "in_memory" ], + "enum" : [ "askar", "askar-anoncreds" ], "example" : "askar", "type" : "string" }, @@ -8555,12 +8719,12 @@ "properties" : { "issuerId" : { "description" : "Issuer Identifier of the credential definition or schema", - "example" : "WgWxqztrNooG92RXvxSTWv", + "example" : "did:(method):WgWxqztrNooG92RXvxSTWv", "type" : "string" }, "schemaId" : { "description" : "Schema identifier", - "example" : "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0", + "example" : "did:(method):2:schema_name:1.0", "type" : "string" }, "tag" : { @@ -8643,7 +8807,7 @@ }, "credential_definition_id" : { "description" : "credential definition id", - "example" : "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", + "example" : "did:(method):3:CL:20:tag", "nullable" : true, "type" : "string" }, @@ -9322,7 +9486,7 @@ "type" : "string" }, "mediation_id" : { - "description" : "Medation ID to use for endpoint information.", + "description" : "Mediation ID to use for endpoint information.", "example" : "3fa85f64-5717-4562-b3fc-2c963f66afa6", "pattern" : "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "type" : "string" @@ -9553,47 +9717,47 @@ "additionalProperties" : true, "properties" : { "challenge" : { - "description" : "The value is used once for a particular domain and window of time. This value is used to mitigate replay attacks.", + "description" : "The value is used once for a particular domain and window of time. This value is used to mitigate replay attacks.", "example" : "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type" : "string" }, "created" : { - "description" : "The date and time the proof was created is OPTIONAL and, if included, MUST be specified as an [XMLSCHEMA11-2] dateTimeStamp string", + "description" : "The date and time the proof was created is OPTIONAL and, if included, MUST be specified as an [XMLSCHEMA11-2] dateTimeStamp string", "example" : "2010-01-01T19:23:24Z", "type" : "string" }, "cryptosuite" : { - "description" : "An identifier for the cryptographic suite that can be used to verify the proof.", + "description" : "An identifier for the cryptographic suite that can be used to verify the proof.", "example" : "eddsa-jcs-2022", "type" : "string" }, "domain" : { - "description" : "It conveys one or more security domains in which the proof is meant to be used.", + "description" : "It conveys one or more security domains in which the proof is meant to be used.", "example" : "example.com", "type" : "string" }, "expires" : { - "description" : "The expires property is OPTIONAL and, if present, specifies when the proof expires. If present, it MUST be an [XMLSCHEMA11-2] dateTimeStamp string", + "description" : "The expires property is OPTIONAL and, if present, specifies when the proof expires. If present, it MUST be an [XMLSCHEMA11-2] dateTimeStamp string", "example" : "2010-01-01T19:23:24Z", "type" : "string" }, "id" : { - "description" : "An optional identifier for the proof, which MUST be a URL [URL], such as a UUID as a URN", + "description" : "An optional identifier for the proof, which MUST be a URL [URL], such as a UUID as a URN", "example" : "urn:uuid:6a1676b8-b51f-11ed-937b-d76685a20ff5", "type" : "string" }, "nonce" : { - "description" : "One use of this field is to increase privacy by decreasing linkability that is the result of deterministically generated signatures.", + "description" : "One use of this field is to increase privacy by decreasing linkability that is the result of deterministically generated signatures.", "example" : "CF69iO3nfvqRsRBNElE8b4wO39SyJHPM7Gg1nExltW5vSfQA1lvDCR/zXX1To0/4NLo==", "type" : "string" }, "previousProof" : { - "description" : "Each value identifies another data integrity proof that MUST verify before the current proof is processed.", + "description" : "Each value identifies another data integrity proof that MUST verify before the current proof is processed.", "example" : "urn:uuid:6a1676b8-b51f-11ed-937b-d76685a20ff5", "type" : "string" }, "proofPurpose" : { - "description" : "The proof purpose acts as a safeguard to prevent the proof from being misused by being applied to a purpose other than the one that was intended.", + "description" : "The proof purpose acts as a safeguard to prevent the proof from being misused by being applied to a purpose other than the one that was intended.", "example" : "assertionMethod", "type" : "string" }, @@ -9603,12 +9767,12 @@ "type" : "string" }, "type" : { - "description" : "The specific type of proof MUST be specified as a string that maps to a URL [URL].", + "description" : "The specific type of proof MUST be specified as a string that maps to a URL [URL].", "example" : "DataIntegrityProof", "type" : "string" }, "verificationMethod" : { - "description" : "A verification method is the means and information needed to verify the proof. ", + "description" : "A verification method is the means and information needed to verify the proof.", "example" : "did:key:z6Mkgg342Ycpuk263R9d8Aq6MUaxPn1DDeHyGo38EefXmgDL#z6Mkgg342Ycpuk263R9d8Aq6MUaxPn1DDeHyGo38EefXmgDL", "pattern" : "\\w+:(\\/?\\/?)[^\\s]+", "type" : "string" @@ -9862,7 +10026,7 @@ }, "credential_definition_id" : { "description" : "credential definition id", - "example" : "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", + "example" : "did:(method):3:CL:20:tag", "type" : "string" }, "credential_definitions_metadata" : { @@ -9935,7 +10099,7 @@ }, "schema_id" : { "description" : "Schema identifier", - "example" : "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0", + "example" : "did:(method):2:schema_name:1.0", "type" : "string" }, "schema_metadata" : { @@ -9950,7 +10114,7 @@ "schema_ids" : { "items" : { "description" : "Schema identifiers", - "example" : "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0", + "example" : "did:(method):2:schema_name:1.0", "type" : "string" }, "type" : "array" @@ -11015,12 +11179,12 @@ "properties" : { "issuerId" : { "description" : "Issuer Identifier of the credential definition", - "example" : "WgWxqztrNooG92RXvxSTWv", + "example" : "did:(method):WgWxqztrNooG92RXvxSTWv", "type" : "string" }, "schemaId" : { "description" : "Schema identifier", - "example" : "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0", + "example" : "did:(method):2:schema_name:1.0", "type" : "string" }, "tag" : { @@ -11036,12 +11200,12 @@ "properties" : { "credDefId" : { "description" : "Credential definition identifier", - "example" : "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0", + "example" : "did:(method):2:schema_name:1.0", "type" : "string" }, "issuerId" : { "description" : "Issuer Identifier of the credential definition or schema", - "example" : "WgWxqztrNooG92RXvxSTWv", + "example" : "did:(method):WgWxqztrNooG92RXvxSTWv", "type" : "string" }, "maxCredNum" : { @@ -12813,12 +12977,12 @@ }, "issuerId" : { "description" : "Issuer Identifier of the credential definition or schema", - "example" : "WgWxqztrNooG92RXvxSTWv", + "example" : "did:(method):WgWxqztrNooG92RXvxSTWv", "type" : "string" }, "revRegDefId" : { "description" : "The ID of the revocation registry definition", - "example" : "WgWxqztrNooG92RXvxSTWv:4:WgWxqztrNooG92RXvxSTWv:3:CL:20:tag:CL_ACCUM:0", + "example" : "did:(method):4:did::3:CL:20:tag:CL_ACCUM:0", "type" : "string" }, "revocationList" : { @@ -12843,7 +13007,7 @@ }, "rev_reg_def_id" : { "description" : "Revocation registry definition identifier", - "example" : "WgWxqztrNooG92RXvxSTWv:4:WgWxqztrNooG92RXvxSTWv:3:CL:20:tag:CL_ACCUM:0", + "example" : "did:(method):4:did::3:CL:20:tag:CL_ACCUM:0", "type" : "string" } }, @@ -12932,12 +13096,12 @@ "properties" : { "credDefId" : { "description" : "Credential definition identifier", - "example" : "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", + "example" : "did:(method):3:CL:20:tag", "type" : "string" }, "issuerId" : { "description" : "Issuer Identifier of the credential definition or schema", - "example" : "WgWxqztrNooG92RXvxSTWv", + "example" : "did:(method):WgWxqztrNooG92RXvxSTWv", "type" : "string" }, "revocDefType" : { @@ -12999,7 +13163,7 @@ }, "revocation_registry_definition_id" : { "description" : "revocation registry definition id", - "example" : "WgWxqztrNooG92RXvxSTWv:4:WgWxqztrNooG92RXvxSTWv:3:CL:20:tag:CL_ACCUM:0", + "example" : "did:(method):4:did::3:CL:20:tag:CL_ACCUM:0", "type" : "string" }, "state" : { @@ -13559,7 +13723,7 @@ }, "schema_id" : { "description" : "Schema identifier", - "example" : "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0", + "example" : "did:(method):2:schema_name:1.0", "type" : "string" }, "state" : { @@ -14085,7 +14249,7 @@ "UpdateKeyRequest" : { "properties" : { "kid" : { - "description" : "New kid to bind to the key pair, such as a verificationMethod.", + "description" : "New kid to bind to the key pair, such as a verificationMethod.", "example" : "did:web:example.com#key-02", "type" : "string" }, @@ -15335,6 +15499,13 @@ }, "V20CredFilter" : { "properties" : { + "anoncreds" : { + "allOf" : [ { + "$ref" : "#/components/schemas/V20CredFilterAnoncreds" + } ], + "description" : "Credential filter for anoncreds", + "type" : "object" + }, "indy" : { "allOf" : [ { "$ref" : "#/components/schemas/V20CredFilterIndy" @@ -15359,6 +15530,31 @@ }, "type" : "object" }, + "V20CredFilterAnoncreds" : { + "properties" : { + "cred_def_id" : { + "description" : "Credential definition identifier", + "example" : "did:(method):WgWxqztrNooG92RXvxSTWv", + "type" : "string" + }, + "epoch" : { + "description" : "Credential epoch time", + "example" : "2021-08-24", + "type" : "string" + }, + "issuer_id" : { + "description" : "Credential issuer DID", + "example" : "did:(method):WgWxqztrNooG92RXvxSTWv", + "type" : "string" + }, + "schema_id" : { + "description" : "Schema identifier", + "example" : "did:(method):2:schema_name:1.0", + "type" : "string" + } + }, + "type" : "object" + }, "V20CredFilterIndy" : { "properties" : { "cred_def_id" : { @@ -16192,6 +16388,13 @@ }, "V20PresProposalByFormat" : { "properties" : { + "anoncreds" : { + "allOf" : [ { + "$ref" : "#/components/schemas/AnoncredsPresentationRequest" + } ], + "description" : "Presentation proposal for anoncreds", + "type" : "object" + }, "dif" : { "allOf" : [ { "$ref" : "#/components/schemas/DIFProofProposal" @@ -16281,6 +16484,13 @@ }, "V20PresRequestByFormat" : { "properties" : { + "anoncreds" : { + "allOf" : [ { + "$ref" : "#/components/schemas/AnoncredsPresentationRequest" + } ], + "description" : "Presentation proposal for anoncreds", + "type" : "object" + }, "dif" : { "allOf" : [ { "$ref" : "#/components/schemas/DIFProofRequest" @@ -16332,6 +16542,13 @@ }, "V20PresSpecByFormatRequest" : { "properties" : { + "anoncreds" : { + "allOf" : [ { + "$ref" : "#/components/schemas/IndyPresSpec" + } ], + "description" : "Presentation specification for anoncreds", + "type" : "object" + }, "auto_remove" : { "description" : "Whether to remove the presentation exchange record on completion (overrides --preserve-exchange-records configuration setting)", "type" : "boolean" diff --git a/open-api/swagger.json b/open-api/swagger.json index 3267ac846e..fd4823dd48 100644 --- a/open-api/swagger.json +++ b/open-api/swagger.json @@ -1,7 +1,7 @@ { "swagger" : "2.0", "info" : { - "version" : "v1.1.0", + "version" : "v1.1.1", "title" : "Aries Cloud Agent" }, "tags" : [ { @@ -333,7 +333,7 @@ "/anoncreds/credential-definition" : { "post" : { "tags" : [ "anoncreds - credential definitions" ], - "summary" : "Create a credential definition on the connected ledger", + "summary" : "Create a credential definition on the connected datastore", "produces" : [ "application/json" ], "parameters" : [ { "in" : "body", @@ -464,7 +464,7 @@ "/anoncreds/revocation-list" : { "post" : { "tags" : [ "anoncreds - revocation" ], - "summary" : "Create and publish a revocation status list on the connected ledger", + "summary" : "Create and publish a revocation status list on the connected datastore", "produces" : [ "application/json" ], "parameters" : [ { "in" : "body", @@ -487,7 +487,7 @@ "/anoncreds/revocation-registry-definition" : { "post" : { "tags" : [ "anoncreds - revocation" ], - "summary" : "Create and publish a registration revocation on the connected ledger", + "summary" : "Create and publish a registration revocation on the connected datastore", "produces" : [ "application/json" ], "parameters" : [ { "in" : "body", @@ -843,7 +843,7 @@ "/anoncreds/schema" : { "post" : { "tags" : [ "anoncreds - schemas" ], - "summary" : "Create a schema on the connected ledger", + "summary" : "Create a schema on the connected datastore", "produces" : [ "application/json" ], "parameters" : [ { "in" : "body", @@ -6381,7 +6381,7 @@ }, "issuerId" : { "type" : "string", - "example" : "WgWxqztrNooG92RXvxSTWv", + "example" : "did:(method):WgWxqztrNooG92RXvxSTWv", "description" : "Issuer Identifier of the credential definition or schema" }, "name" : { @@ -6396,6 +6396,170 @@ } } }, + "AnoncredPresentationRequestNonRevoked" : { + "type" : "object", + "properties" : { + "from" : { + "type" : "integer", + "example" : 1640995199, + "description" : "Earliest time of interest in non-revocation interval", + "minimum" : 0, + "maximum" : 18446744073709551615 + }, + "to" : { + "type" : "integer", + "example" : 1640995199, + "description" : "Latest time of interest in non-revocation interval", + "minimum" : 0, + "maximum" : 18446744073709551615 + } + } + }, + "AnoncredsPresentationReqAttrSpec" : { + "type" : "object", + "properties" : { + "name" : { + "type" : "string", + "example" : "favouriteDrink", + "description" : "Attribute name" + }, + "names" : { + "type" : "array", + "description" : "Attribute name group", + "items" : { + "type" : "string", + "example" : "age" + } + }, + "non_revoked" : { + "$ref" : "#/definitions/AnoncredsPresentationReqAttrSpecNonRevoked" + }, + "restrictions" : { + "type" : "array", + "description" : "If present, credential must satisfy one of given restrictions: specify schema_id, schema_issuer_did, schema_name, schema_version, issuer_did, cred_def_id, and/or attr::::value where represents a credential attribute name", + "items" : { + "type" : "object", + "additionalProperties" : { + "type" : "string", + "example" : "did:(method):3:CL:20:tag" + } + } + } + } + }, + "AnoncredsPresentationReqAttrSpecNonRevoked" : { + "type" : "object", + "properties" : { + "from" : { + "type" : "integer", + "example" : 1640995199, + "description" : "Earliest time of interest in non-revocation interval", + "minimum" : 0, + "maximum" : 18446744073709551615 + }, + "to" : { + "type" : "integer", + "example" : 1640995199, + "description" : "Latest time of interest in non-revocation interval", + "minimum" : 0, + "maximum" : 18446744073709551615 + } + } + }, + "AnoncredsPresentationReqPredSpec" : { + "type" : "object", + "required" : [ "name", "p_type", "p_value" ], + "properties" : { + "name" : { + "type" : "string", + "example" : "index", + "description" : "Attribute name" + }, + "non_revoked" : { + "$ref" : "#/definitions/AnoncredsPresentationReqPredSpecNonRevoked" + }, + "p_type" : { + "type" : "string", + "example" : ">=", + "description" : "Predicate type ('<', '<=', '>=', or '>')", + "enum" : [ "<", "<=", ">=", ">" ] + }, + "p_value" : { + "type" : "integer", + "description" : "Threshold value" + }, + "restrictions" : { + "type" : "array", + "description" : "If present, credential must satisfy one of given restrictions: specify schema_id, schema_issuer_did, schema_name, schema_version, issuer_did, cred_def_id, and/or attr::::value where represents a credential attribute name", + "items" : { + "type" : "object", + "additionalProperties" : { + "type" : "string", + "example" : "did:(method):3:CL:20:tag" + } + } + } + } + }, + "AnoncredsPresentationReqPredSpecNonRevoked" : { + "type" : "object", + "properties" : { + "from" : { + "type" : "integer", + "example" : 1640995199, + "description" : "Earliest time of interest in non-revocation interval", + "minimum" : 0, + "maximum" : 18446744073709551615 + }, + "to" : { + "type" : "integer", + "example" : 1640995199, + "description" : "Latest time of interest in non-revocation interval", + "minimum" : 0, + "maximum" : 18446744073709551615 + } + } + }, + "AnoncredsPresentationRequest" : { + "type" : "object", + "required" : [ "requested_attributes", "requested_predicates" ], + "properties" : { + "name" : { + "type" : "string", + "example" : "Proof request", + "description" : "Proof request name" + }, + "non_revoked" : { + "$ref" : "#/definitions/AnoncredPresentationRequestNonRevoked" + }, + "nonce" : { + "type" : "string", + "example" : "1", + "description" : "Nonce", + "pattern" : "^[1-9][0-9]*$" + }, + "requested_attributes" : { + "type" : "object", + "description" : "Requested attribute specifications of proof request", + "additionalProperties" : { + "$ref" : "#/definitions/AnoncredsPresentationReqAttrSpec" + } + }, + "requested_predicates" : { + "type" : "object", + "description" : "Requested predicate specifications of proof request", + "additionalProperties" : { + "$ref" : "#/definitions/AnoncredsPresentationReqPredSpec" + } + }, + "version" : { + "type" : "string", + "example" : "1.0", + "description" : "Proof request version", + "pattern" : "^[0-9.]+$" + } + } + }, "AttachDecorator" : { "type" : "object", "required" : [ "data" ], @@ -7007,12 +7171,12 @@ "kid" : { "type" : "string", "example" : "did:web:example.com#key-01", - "description" : "Optional kid to bind to the keypair, such as a verificationMethod." + "description" : "Optional kid to bind to the keypair, such as a verificationMethod." }, "seed" : { "type" : "string", "example" : "00000000000000000000000000000000", - "description" : "Optional seed to generate the key pair. Must enable insecure wallet mode." + "description" : "Optional seed to generate the key pair. Must enable insecure wallet mode." } } }, @@ -7081,7 +7245,7 @@ "type" : "string", "example" : "askar", "description" : "Type of the wallet to create. Must be same as base wallet.", - "enum" : [ "askar", "askar-anoncreds", "in_memory" ] + "enum" : [ "askar", "askar-anoncreds" ] }, "wallet_webhook_urls" : { "type" : "array", @@ -7184,12 +7348,12 @@ "properties" : { "issuerId" : { "type" : "string", - "example" : "WgWxqztrNooG92RXvxSTWv", + "example" : "did:(method):WgWxqztrNooG92RXvxSTWv", "description" : "Issuer Identifier of the credential definition or schema" }, "schemaId" : { "type" : "string", - "example" : "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0", + "example" : "did:(method):2:schema_name:1.0", "description" : "Schema identifier" }, "tag" : { @@ -7268,7 +7432,7 @@ }, "credential_definition_id" : { "type" : "string", - "example" : "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", + "example" : "did:(method):3:CL:20:tag", "description" : "credential definition id", "x-nullable" : true }, @@ -7909,7 +8073,7 @@ "mediation_id" : { "type" : "string", "example" : "3fa85f64-5717-4562-b3fc-2c963f66afa6", - "description" : "Medation ID to use for endpoint information.", + "description" : "Mediation ID to use for endpoint information.", "pattern" : "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}" } } @@ -8135,47 +8299,47 @@ "challenge" : { "type" : "string", "example" : "3fa85f64-5717-4562-b3fc-2c963f66afa6", - "description" : "The value is used once for a particular domain and window of time. This value is used to mitigate replay attacks." + "description" : "The value is used once for a particular domain and window of time. This value is used to mitigate replay attacks." }, "created" : { "type" : "string", "example" : "2010-01-01T19:23:24Z", - "description" : "The date and time the proof was created is OPTIONAL and, if included, MUST be specified as an [XMLSCHEMA11-2] dateTimeStamp string" + "description" : "The date and time the proof was created is OPTIONAL and, if included, MUST be specified as an [XMLSCHEMA11-2] dateTimeStamp string" }, "cryptosuite" : { "type" : "string", "example" : "eddsa-jcs-2022", - "description" : "An identifier for the cryptographic suite that can be used to verify the proof." + "description" : "An identifier for the cryptographic suite that can be used to verify the proof." }, "domain" : { "type" : "string", "example" : "example.com", - "description" : "It conveys one or more security domains in which the proof is meant to be used." + "description" : "It conveys one or more security domains in which the proof is meant to be used." }, "expires" : { "type" : "string", "example" : "2010-01-01T19:23:24Z", - "description" : "The expires property is OPTIONAL and, if present, specifies when the proof expires. If present, it MUST be an [XMLSCHEMA11-2] dateTimeStamp string" + "description" : "The expires property is OPTIONAL and, if present, specifies when the proof expires. If present, it MUST be an [XMLSCHEMA11-2] dateTimeStamp string" }, "id" : { "type" : "string", "example" : "urn:uuid:6a1676b8-b51f-11ed-937b-d76685a20ff5", - "description" : "An optional identifier for the proof, which MUST be a URL [URL], such as a UUID as a URN" + "description" : "An optional identifier for the proof, which MUST be a URL [URL], such as a UUID as a URN" }, "nonce" : { "type" : "string", "example" : "CF69iO3nfvqRsRBNElE8b4wO39SyJHPM7Gg1nExltW5vSfQA1lvDCR/zXX1To0/4NLo==", - "description" : "One use of this field is to increase privacy by decreasing linkability that is the result of deterministically generated signatures." + "description" : "One use of this field is to increase privacy by decreasing linkability that is the result of deterministically generated signatures." }, "previousProof" : { "type" : "string", "example" : "urn:uuid:6a1676b8-b51f-11ed-937b-d76685a20ff5", - "description" : "Each value identifies another data integrity proof that MUST verify before the current proof is processed." + "description" : "Each value identifies another data integrity proof that MUST verify before the current proof is processed." }, "proofPurpose" : { "type" : "string", "example" : "assertionMethod", - "description" : "The proof purpose acts as a safeguard to prevent the proof from being misused by being applied to a purpose other than the one that was intended." + "description" : "The proof purpose acts as a safeguard to prevent the proof from being misused by being applied to a purpose other than the one that was intended." }, "proofValue" : { "type" : "string", @@ -8185,12 +8349,12 @@ "type" : { "type" : "string", "example" : "DataIntegrityProof", - "description" : "The specific type of proof MUST be specified as a string that maps to a URL [URL]." + "description" : "The specific type of proof MUST be specified as a string that maps to a URL [URL]." }, "verificationMethod" : { "type" : "string", "example" : "did:key:z6Mkgg342Ycpuk263R9d8Aq6MUaxPn1DDeHyGo38EefXmgDL#z6Mkgg342Ycpuk263R9d8Aq6MUaxPn1DDeHyGo38EefXmgDL", - "description" : "A verification method is the means and information needed to verify the proof. ", + "description" : "A verification method is the means and information needed to verify the proof.", "pattern" : "\\w+:(\\/?\\/?)[^\\s]+" } }, @@ -8426,7 +8590,7 @@ }, "credential_definition_id" : { "type" : "string", - "example" : "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", + "example" : "did:(method):3:CL:20:tag", "description" : "credential definition id" }, "credential_definitions_metadata" : { @@ -8499,7 +8663,7 @@ }, "schema_id" : { "type" : "string", - "example" : "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0", + "example" : "did:(method):2:schema_name:1.0", "description" : "Schema identifier" }, "schema_metadata" : { @@ -8515,7 +8679,7 @@ "type" : "array", "items" : { "type" : "string", - "example" : "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0", + "example" : "did:(method):2:schema_name:1.0", "description" : "Schema identifiers" } } @@ -9530,12 +9694,12 @@ "properties" : { "issuerId" : { "type" : "string", - "example" : "WgWxqztrNooG92RXvxSTWv", + "example" : "did:(method):WgWxqztrNooG92RXvxSTWv", "description" : "Issuer Identifier of the credential definition" }, "schemaId" : { "type" : "string", - "example" : "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0", + "example" : "did:(method):2:schema_name:1.0", "description" : "Schema identifier" }, "tag" : { @@ -9550,12 +9714,12 @@ "properties" : { "credDefId" : { "type" : "string", - "example" : "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0", + "example" : "did:(method):2:schema_name:1.0", "description" : "Credential definition identifier" }, "issuerId" : { "type" : "string", - "example" : "WgWxqztrNooG92RXvxSTWv", + "example" : "did:(method):WgWxqztrNooG92RXvxSTWv", "description" : "Issuer Identifier of the credential definition or schema" }, "maxCredNum" : { @@ -11245,12 +11409,12 @@ }, "issuerId" : { "type" : "string", - "example" : "WgWxqztrNooG92RXvxSTWv", + "example" : "did:(method):WgWxqztrNooG92RXvxSTWv", "description" : "Issuer Identifier of the credential definition or schema" }, "revRegDefId" : { "type" : "string", - "example" : "WgWxqztrNooG92RXvxSTWv:4:WgWxqztrNooG92RXvxSTWv:3:CL:20:tag:CL_ACCUM:0", + "example" : "did:(method):4:did::3:CL:20:tag:CL_ACCUM:0", "description" : "The ID of the revocation registry definition" }, "revocationList" : { @@ -11276,7 +11440,7 @@ }, "rev_reg_def_id" : { "type" : "string", - "example" : "WgWxqztrNooG92RXvxSTWv:4:WgWxqztrNooG92RXvxSTWv:3:CL:20:tag:CL_ACCUM:0", + "example" : "did:(method):4:did::3:CL:20:tag:CL_ACCUM:0", "description" : "Revocation registry definition identifier" } } @@ -11361,12 +11525,12 @@ "properties" : { "credDefId" : { "type" : "string", - "example" : "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", + "example" : "did:(method):3:CL:20:tag", "description" : "Credential definition identifier" }, "issuerId" : { "type" : "string", - "example" : "WgWxqztrNooG92RXvxSTWv", + "example" : "did:(method):WgWxqztrNooG92RXvxSTWv", "description" : "Issuer Identifier of the credential definition or schema" }, "revocDefType" : { @@ -11424,7 +11588,7 @@ }, "revocation_registry_definition_id" : { "type" : "string", - "example" : "WgWxqztrNooG92RXvxSTWv:4:WgWxqztrNooG92RXvxSTWv:3:CL:20:tag:CL_ACCUM:0", + "example" : "did:(method):4:did::3:CL:20:tag:CL_ACCUM:0", "description" : "revocation registry definition id" }, "state" : { @@ -11978,7 +12142,7 @@ }, "schema_id" : { "type" : "string", - "example" : "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0", + "example" : "did:(method):2:schema_name:1.0", "description" : "Schema identifier" }, "state" : { @@ -12479,7 +12643,7 @@ "kid" : { "type" : "string", "example" : "did:web:example.com#key-02", - "description" : "New kid to bind to the key pair, such as a verificationMethod." + "description" : "New kid to bind to the key pair, such as a verificationMethod." }, "multikey" : { "type" : "string", @@ -13634,6 +13798,9 @@ "V20CredFilter" : { "type" : "object", "properties" : { + "anoncreds" : { + "$ref" : "#/definitions/V20CredFilter_anoncreds" + }, "indy" : { "$ref" : "#/definitions/V20CredFilter_indy" }, @@ -13645,6 +13812,31 @@ } } }, + "V20CredFilterAnoncreds" : { + "type" : "object", + "properties" : { + "cred_def_id" : { + "type" : "string", + "example" : "did:(method):WgWxqztrNooG92RXvxSTWv", + "description" : "Credential definition identifier" + }, + "epoch" : { + "type" : "string", + "example" : "2021-08-24", + "description" : "Credential epoch time" + }, + "issuer_id" : { + "type" : "string", + "example" : "did:(method):WgWxqztrNooG92RXvxSTWv", + "description" : "Credential issuer DID" + }, + "schema_id" : { + "type" : "string", + "example" : "did:(method):2:schema_name:1.0", + "description" : "Schema identifier" + } + } + }, "V20CredFilterIndy" : { "type" : "object", "properties" : { @@ -14427,6 +14619,9 @@ "V20PresProposalByFormat" : { "type" : "object", "properties" : { + "anoncreds" : { + "$ref" : "#/definitions/V20PresProposalByFormat_anoncreds" + }, "dif" : { "$ref" : "#/definitions/V20PresProposalByFormat_dif" }, @@ -14508,6 +14703,9 @@ "V20PresRequestByFormat" : { "type" : "object", "properties" : { + "anoncreds" : { + "$ref" : "#/definitions/V20PresProposalByFormat_anoncreds" + }, "dif" : { "$ref" : "#/definitions/V20PresRequestByFormat_dif" }, @@ -14551,6 +14749,9 @@ "V20PresSpecByFormatRequest" : { "type" : "object", "properties" : { + "anoncreds" : { + "$ref" : "#/definitions/V20PresSpecByFormatRequest_anoncreds" + }, "auto_remove" : { "type" : "boolean", "description" : "Whether to remove the presentation exchange record on completion (overrides --preserve-exchange-records configuration setting)" @@ -15245,6 +15446,10 @@ "type" : "object", "description" : "Credential exchange record" }, + "V20CredFilter_anoncreds" : { + "type" : "object", + "description" : "Credential filter for anoncreds" + }, "V20CredFilter_indy" : { "type" : "object", "description" : "Credential filter for indy" @@ -15281,6 +15486,10 @@ "type" : "object", "description" : "Presentation message" }, + "V20PresProposalByFormat_anoncreds" : { + "type" : "object", + "description" : "Presentation proposal for anoncreds" + }, "V20PresProposalByFormat_dif" : { "type" : "object", "description" : "Presentation proposal for DIF" @@ -15297,6 +15506,10 @@ "type" : "object", "description" : "Presentation request for indy" }, + "V20PresSpecByFormatRequest_anoncreds" : { + "type" : "object", + "description" : "Presentation specification for anoncreds" + }, "V20PresSpecByFormatRequest_dif" : { "type" : "object", "description" : "Optional Presentation specification for DIF, overrides the PresentationExchange record's PresRequest" diff --git a/pyproject.toml b/pyproject.toml index de8a3531bc..45983ccf3b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "acapy_agent" -version = "1.1.0" +version = "1.1.1" description = "(ACA-Py) A Cloud Agent Python is a foundation for building decentralized identity applications and services running in non-mobile environments. " authors = [] license = "Apache-2.0" From 4bb6edaf8f45e505275b504c56f3fc91532ac75c Mon Sep 17 00:00:00 2001 From: Stephen Curran Date: Tue, 3 Dec 2024 10:43:12 -0800 Subject: [PATCH 2/3] Update the PR for release Signed-off-by: Stephen Curran --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c956437784..a2b64dd82b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ ## 1.1.1rc0 -### December 2, 2024 +### December 3, 2024 Release 1.1.1 is a patch update to ACA-Py that contains a lengthy list of adjustments, improvements and fixes, with a focus on removing Technical Debt. The most visible change is the removal of the "in-memory wallet" implementation in favour of using the SQLite in-memory wallet (`sqlite://:memory:`), including removing the logic for handling that extra wallet type. While arguably a breaking change (and we mention it below), we're confident no one is using the in-memory wallet (right?!?) any where other than in tests. In removing the in-memory wallet, all of the unit and integration tests that used the in-memory wallet were updated to use SQLite's in-memory wallet. From 937ff584e1ec8b6082e14f7b88d3d2b4cd7f4461 Mon Sep 17 00:00:00 2001 From: Stephen Curran Date: Tue, 3 Dec 2024 14:43:34 -0800 Subject: [PATCH 3/3] Add in PR to Changelog Signed-off-by: Stephen Curran --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a2b64dd82b..a418c79077 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,7 @@ While there are no breaking changes in this release that might impact production #### 1.1.1 Categorized List of Pull Requests - AnonCreds VC Issuance and Presentation Enhancement / Fixes + - Repair release bdd tests [\#3376](https://github.com/openwallet-foundation/acapy/pull/3376) [jamshale](https://github.com/jamshale) - Fix tails upload for anoncreds multitenancy [\#3346](https://github.com/openwallet-foundation/acapy/pull/3346) [jamshale](https://github.com/jamshale) - Fix subwallet anoncreds upgrade check [\#3345](https://github.com/openwallet-foundation/acapy/pull/3345) [jamshale](https://github.com/jamshale) - Add anoncreds issuance and presentation format [\#3331](https://github.com/openwallet-foundation/acapy/pull/3331) [jamshale](https://github.com/jamshale) @@ -70,7 +71,7 @@ While there are no breaking changes in this release that might impact production - 1.1.1rc0 [\#3372](https://github.com/openwallet-foundation/acapy/pull/3372) [swcurran](https://github.com/swcurran) - Dependabot PRs - - [Link to list of Dependabot PRs in this release](https://github.com/openwallet-foundation/acapy/pulls?q=is%3Apr+is%3Amerged+merged%3A2024-10-15..2024-12-02+author%3Aapp%2Fdependabot+) + - [Link to list of Dependabot PRs in this release](https://github.com/openwallet-foundation/acapy/pulls?q=is%3Apr+is%3Amerged+merged%3A2024-10-15..2024-12-03+author%3Aapp%2Fdependabot+) ## 1.1.0